/**
 * Spectrum Worldwide — Day design layer.
 *
 * The Day version (Claude Design export, Oct 2026) is the approved final
 * design and replaces the original navy "night" look. This file is
 * loaded after main.css (see inc/enqueue.php) and only overrides what
 * the Day export changed, so main.css keeps documenting the original
 * port. The night design stays available as a reference in the repo's
 * "Night Version/" folder; there is no theme switcher.
 *
 * Sources (repo root, Day export):
 *   - shared <style> block of every page: red 5px edge stripe, .sky /
 *     .sky-soft atmospheres, "SPECTRUM DAYLIGHT" responsive system,
 *     "EDITORIAL TYPE SCALE v4" (Oswald h1) — ported verbatim below.
 *   - inline styles of Spectrum Homepage.dc.html, Transporte.dc.html,
 *     C-TPAT.dc.html, Insight *.dc.html, Insights.dc.html, Aviso de
 *     Privacidad.dc.html — cited per block.
 */

/* =========================================================
 * Shared Day tokens (verbatim from every page's <style> block)
 * ========================================================= */

html,
body {
	overflow-x: clip;
	max-width: 100%;
}
img,
video {
	max-width: 100%;
}
input,
select,
textarea {
	max-width: 100%;
	min-width: 0;
}
h1,
h2,
h3 {
	overflow-wrap: break-word;
	hyphens: auto;
	text-wrap: balance;
}
p {
	text-wrap: pretty;
}

/* SWW Presentation 2026 — red edge stripe */
body::before {
	content: '';
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	width: 5px;
	background: #E10600;
	z-index: 70;
	pointer-events: none;
}
@media (max-width: 1000px) {
	body::before {
		width: 3px;
	}
}

/* Atmospheres: .sky (hero / feature bands — pale sky gradient with a
   faint route grid) and .sky-soft (white → pale sky). Also applied by
   selector to the theme's hero/section classes that carry .sky in the
   Day export. */
.sky,
.sw-hero,
.sw-hero-split,
.sw-single-insight__hero,
.sw-page-privacy__consent,
.sw-front-page__resources,
.sw-cta-band:not(.sw-cta-band--dim) {
	background-color: #EEF5FB;
	background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22900%22%20height%3D%22520%22%20viewBox%3D%220%200%20900%20520%22%20fill%3D%22none%22%3E%0A%3Cg%20stroke%3D%22%23001D3A%22%20stroke-opacity%3D%220.07%22%20stroke-width%3D%221%22%3E%0A%3Cpath%20d%3D%22M0%20130H900M0%20260H900M0%20390H900M150%200V520M300%200V520M450%200V520M600%200V520M750%200V520%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20stroke%3D%22%23001D3A%22%20stroke-opacity%3D%220.16%22%20stroke-width%3D%221.2%22%20stroke-dasharray%3D%224%207%22%3E%0A%3Cpath%20d%3D%22M150%20390C290%20210%20470%20150%20750%20130%22%2F%3E%0A%3Cpath%20d%3D%22M300%20390C420%20300%20560%20280%20750%20260%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%22%23E10600%22%20fill-opacity%3D%220.55%22%3E%3Ccircle%20cx%3D%22150%22%20cy%3D%22390%22%20r%3D%223.5%22%2F%3E%3Ccircle%20cx%3D%22300%22%20cy%3D%22390%22%20r%3D%223.5%22%2F%3E%3Ccircle%20cx%3D%22750%22%20cy%3D%22130%22%20r%3D%223.5%22%2F%3E%3Ccircle%20cx%3D%22750%22%20cy%3D%22260%22%20r%3D%223.5%22%2F%3E%3C%2Fg%3E%0A%3Cg%20fill%3D%22%23001D3A%22%20fill-opacity%3D%220.22%22%20font-family%3D%22monospace%22%20font-size%3D%2210%22%20letter-spacing%3D%221%22%3E%3Ctext%20x%3D%22158%22%20y%3D%22410%22%3E19.43N%2099.13W%3C%2Ftext%3E%3Ctext%20x%3D%22680%22%20y%3D%22120%22%3E27.50N%2099.50W%3C%2Ftext%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E"), linear-gradient(180deg, #E4F0F9 0%, #F3F8FC 70%, #F7FAFD 100%);
	background-repeat: no-repeat, no-repeat;
	background-position: right -120px top 40px, 0 0;
	background-size: 900px auto, 100% 100%;
}
.sky-soft,
.sw-services-showcase,
.sw-contact-teaser-section,
.sw-single-insight__lead-image {
	background-color: #EEF5FB;
	background-image: linear-gradient(180deg, #FFFFFF 0%, #EEF5FB 100%);
}
@media (max-width: 1000px) {
	.sky,
	.sw-hero,
	.sw-hero-split,
	.sw-single-insight__hero,
	.sw-page-privacy__consent,
	.sw-front-page__resources,
	.sw-cta-band:not(.sw-cta-band--dim) {
		background-position: right -260px top 20px, 0 0;
		background-size: 700px auto, 100% 100%;
	}
}

/* =========================================================
 * EDITORIAL TYPE SCALE v4 (verbatim). Condensed Oswald is reserved for
 * real page titles (h1); every other .h1/.h2 uses Plus Jakarta Sans,
 * sentence case. data-len is set by assets/js/type-scale.js.
 * ========================================================= */
.h1, .h2, h1, h2 { font-family: 'Plus Jakarta Sans', sans-serif !important; text-transform: none !important; letter-spacing: -0.012em !important; font-weight: 700 !important; overflow-wrap: break-word; }
h1, h1.h1 { font-family: 'Oswald', 'Plus Jakarta Sans', sans-serif !important; text-transform: uppercase !important; letter-spacing: 0.01em !important; font-weight: 600 !important; font-size: 56px !important; line-height: 1.06 !important; max-width: 20em; }
h2, h2.h2, .h2 { font-size: 36px !important; line-height: 1.16 !important; max-width: 24em; }
h3.h1, h3.h2, div.h1, div.h2 { font-size: 26px !important; line-height: 1.22 !important; }
p.h1, p.h2 { font-size: 34px !important; line-height: 1.28 !important; font-weight: 600 !important; max-width: 960px !important; }
h1[data-len="l"] { font-size: 46px !important; line-height: 1.1 !important; }
h1[data-len="xl"] { font-size: 40px !important; line-height: 1.14 !important; }
h2[data-len="xl"] { font-size: 30px !important; line-height: 1.25 !important; }
@media (max-width: 1280px) {
	h1, h1.h1 { font-size: 50px !important; }
	h1[data-len="l"] { font-size: 42px !important; }
	h1[data-len="xl"] { font-size: 36px !important; }
	h2, h2.h2, .h2 { font-size: 33px !important; }
	p.h1, p.h2 { font-size: 31px !important; }
}
@media (max-width: 1000px) {
	h1, h1.h1 { font-size: 42px !important; line-height: 1.08 !important; }
	h1[data-len="l"] { font-size: 36px !important; }
	h1[data-len="xl"] { font-size: 32px !important; }
	h2, h2.h2, .h2 { font-size: 30px !important; }
	h2[data-len="xl"] { font-size: 27px !important; }
	p.h1, p.h2 { font-size: 28px !important; line-height: 1.3 !important; }
	h3.h1, h3.h2, div.h1, div.h2 { font-size: 23px !important; }
}
@media (max-width: 640px) {
	h1, h1.h1 { font-size: 34px !important; line-height: 1.1 !important; letter-spacing: 0.005em !important; }
	h1[data-len="l"] { font-size: 30px !important; }
	h1[data-len="xl"] { font-size: 28px !important; line-height: 1.16 !important; }
	h2, h2.h2, .h2 { font-size: 27px !important; line-height: 1.2 !important; }
	h2[data-len="xl"] { font-size: 24px !important; }
	p.h1, p.h2 { font-size: 24px !important; line-height: 1.34 !important; max-width: 100% !important; }
	h3.h1, h3.h2, div.h1, div.h2 { font-size: 21px !important; }
}
/* lead statements: h2 carrying .h1 (IMMEX, C-TPAT, Política Integral…) */
h2.h1 { font-size: 32px !important; line-height: 1.3 !important; font-weight: 600 !important; max-width: 900px !important; }
@media (max-width: 1280px) { h2.h1 { font-size: 30px !important; } }
@media (max-width: 1000px) { h2.h1 { font-size: 27px !important; line-height: 1.32 !important; } }
@media (max-width: 640px) { h2.h1 { font-size: 23px !important; line-height: 1.36 !important; max-width: 100% !important; } }

/* =========================================================
 * Buttons on light backgrounds — Day .btn-2 is white with a navy
 * border everywhere it previously sat on navy (Spectrum
 * Homepage.dc.html:284/578, Transporte.dc.html:277/477).
 * ========================================================= */
.sw-hero--home .btn-2,
.sw-hero .btn-2,
.sw-hero-split .btn-2,
.sw-library-section .btn-2,
.sw-cta-band .btn-2 {
	background: #FFFFFF;
	border-color: #001D3A;
	color: #001D3A;
}
.sw-library-section .btn-2 span {
	color: #E10600;
}
.btn-2:hover {
	border-color: #E10600;
}

/* =========================================================
 * Header / navigation (Spectrum Homepage.dc.html:176-261)
 * ========================================================= */
.sw-header {
	background: #FFFFFF;
	border-bottom: 1px solid #E6E9ED;
}
.sw-header__logo img {
	filter: none;
}
.sw-header__link,
.sw-header__trigger {
	color: #001D3A;
}
.sw-header__link:hover,
.sw-header__trigger:hover,
.sw-header__trigger[aria-expanded="true"] {
	color: #E10600;
}
/* Portal Spectrum is the one muted top-level item (navDefs color rule) */
.sw-header__link[target="_blank"] {
	color: #5F6B80;
}
.sw-header__link[target="_blank"]:hover {
	color: #E10600;
}
.sw-header__hamburger-bar {
	background: #001D3A;
}
.sw-lang-switcher {
	border-left-color: #E6E9ED;
}
.sw-lang-switcher__link {
	color: #8892A3;
}
.sw-lang-switcher__link.is-active {
	color: #001D3A;
}
.panel-row,
.sw-header .panel-row {
	border-top-color: #DDE3EA;
}

/* Mega-panel rows: title stacked over description (Spectrum
   Homepage.dc.html:206-212). BUG FIX: main.css's `.arrow-link span
   { display: inline-block }` outranked `.panel-row__body { display:
   flex }`, so title and description ran together on one line, and the
   arrow-link hover nudge moved the whole text block, not just the arrow. */
.panel-row .panel-row__body {
	display: flex;
	flex-direction: column;
}
.arrow-link.panel-row:hover span:not(.panel-row__arrow) {
	transform: none;
}

/* Mobile drawer (Spectrum Homepage.dc.html:246-261).
   BUG FIX: main.css forces `.mobile-only { display: block !important }`
   under 1000px, which overrode the drawer's `hidden` attribute — the
   menu rendered permanently open on phones and the hamburger toggle had
   no visible effect. The source only mounts the drawer while open. */
.mobile-only[hidden] {
	display: none !important;
}

.sw-header__mobile-menu {
	background: #FFFFFF;
	border-top: 1px solid #E6E9ED;
}
.sw-mobile-nav__item,
.sw-mobile-nav__link {
	border-bottom-color: #E6E9ED;
}
.sw-mobile-nav__toggle,
.sw-mobile-nav__link {
	color: #001D3A;
}
.sw-mobile-nav__item > div[id] a {
	color: #4A5568;
}

/* =========================================================
 * Heroes — light sky + white scrim, navy type
 * (Spectrum Homepage.dc.html:270-286, Transporte.dc.html:261-279)
 * ========================================================= */
.sw-hero {
	isolation: isolate;
	overflow: hidden;
}
.sw-hero__image::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(100deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.86) 42%, rgba(255, 255, 255, 0.3) 60%, rgba(255, 255, 255, 0) 74%);
}
.sw-hero--home .sw-hero__content,
.sw-hero__content {
	color: #001D3A;
}
.sw-hero__body {
	color: #3C4757;
}
.sw-hero__subtext {
	color: #4A5568;
	font-size: 19px;
	line-height: 1.6;
	max-width: 560px;
	margin: 0;
}
.sw-hero--home {
	padding-bottom: 84px; /* room for the overlapping stat card */
}
@media (max-width: 1000px) {
	.sw-hero__image::after {
		background: rgba(255, 255, 255, 0.9);
	}
}
@media (max-width: 640px) {
	.sw-hero__image::after {
		background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.82) 60%, rgba(255, 255, 255, 0.55) 100%);
	}
}

/* Split hero (resource pages — C-TPAT.dc.html) */
.sw-hero-split .h1 {
	color: #001D3A;
}
.sw-hero-split__crumbs,
.sw-hero-split__crumbs a,
.sw-hero-split__subtitle,
.sw-page-privacy__crumbs,
.sw-page-privacy__crumbs a {
	color: #4A5568;
}
.sw-hero-split__crumbs .is-current {
	color: #001D3A;
}
.sw-hero-split__intro {
	color: #4A5568;
}

/* =========================================================
 * Homepage — stat card overlapping the hero
 * (Spectrum Homepage.dc.html:290-311)
 * ========================================================= */
.sw-stat-band {
	position: relative;
	z-index: 2;
	max-width: 1328px;
	margin: -84px auto 0;
	background: #FFFFFF;
	border-top: 3px solid #E10600;
	border-radius: 12px;
	padding: 44px 48px;
	box-shadow: 0 24px 60px rgba(0, 29, 58, 0.14);
}
.sw-stat-band__item {
	border-right-color: #E6E9ED;
}
.sw-stat-band__item::before {
	content: '';
	display: block;
	width: 24px;
	height: 2px;
	background: #E10600;
	margin-bottom: 16px;
}
.sw-stat-band__value {
	color: #001D3A;
	font-size: 42px;
}
.sw-stat-band__label {
	color: #4A5568;
}
@media (max-width: 1000px) {
	.sw-stat-band.pad {
		margin: -60px 16px 0;
		padding: 28px 22px !important;
	}
}

/* Services showcase — white caption card (Spectrum Homepage.dc.html:326-341) */
.sw-services-showcase__grid {
	border-top-color: #DDE3EA;
}
.sw-services-showcase__tab {
	border-bottom-color: #DDE3EA;
}
.sw-services-showcase__tab.is-active {
	background: #FFFFFF;
}
.sw-services-showcase__panels {
	border-bottom-color: #DDE3EA;
}
.sw-services-showcase__panel::after {
	background: linear-gradient(0deg, rgba(0, 29, 58, 0.16) 0%, rgba(0, 29, 58, 0) 45%);
}
.sw-services-showcase__overlay {
	left: 28px;
	right: auto;
	bottom: 28px;
	max-width: 480px;
	color: #001D3A;
	background: #FFFFFF;
	padding: 28px 30px;
	border-radius: 8px;
	border-left: 3px solid #E10600;
	box-shadow: 0 12px 32px rgba(0, 29, 58, 0.12);
}
.sw-services-showcase__overlay p {
	color: #4A5568;
}
.sw-services-showcase__overlay a {
	color: #E10600;
}

/* Certifications — the one navy band on the Day homepage
   (Spectrum Homepage.dc.html:414-421) */
.sw-certifications-section {
	background: #001D3A;
	padding-top: 96px;
	padding-bottom: 96px;
}
.sw-certifications-section__intro .h2 {
	color: #FFFFFF;
}

/* Clients — white band, dark logos (Spectrum Homepage.dc.html:472-495) */
.sw-clients-section {
	background: #FFFFFF;
}
.sw-clients-section__intro .h2 {
	color: #001D3A;
}
.sw-clients-section__intro p {
	color: #4A5568;
}
.sw-clients-section__marquee-viewport {
	padding: 36px 0;
	border-top: 1px solid #E6E9ED;
	border-bottom: 1px solid #E6E9ED;
}
.sw-clients-section__logo-row img {
	filter: brightness(0);
	opacity: 0.62;
	transition: opacity 0.3s ease;
}
.sw-clients-section__logo-row img:hover {
	opacity: 1;
}
.logo-marquee {
	animation-duration: 26s;
}

/* Featured insight — white caption card (Spectrum Homepage.dc.html:520-524) */
.sw-insight-featured::after {
	background: linear-gradient(180deg, rgba(0, 29, 58, 0) 45%, rgba(0, 29, 58, 0.18) 100%);
}
.sw-insight-featured--empty::after {
	content: none;
}
.sw-insight-featured__overlay {
	left: 40px;
	right: auto;
	bottom: 40px;
	max-width: 620px;
	color: #001D3A;
	background: #FFFFFF;
	padding: 32px 36px;
	border-radius: 8px;
	border-left: 3px solid #E10600;
	box-shadow: 0 14px 40px rgba(0, 29, 58, 0.14);
}
.sw-insight-featured__cat,
.sw-insight-featured__cta {
	color: #E10600;
}

/* Category filter row is an .insight-rail: let it scroll sideways on
   narrow screens instead of running off the page. */
.sw-insights-showcase__cats {
	overflow-x: auto;
}

/* Homepage resources on .sky (Spectrum Homepage.dc.html:547-548) */
.sw-front-page__resources {
	margin-top: 120px;
	padding-top: 110px;
	padding-bottom: 120px;
}

@media (max-width: 1000px) {
	.sw-services-showcase__overlay,
	.sw-insight-featured__overlay {
		left: 16px;
		right: 16px;
		bottom: 16px;
		max-width: none;
		padding: 22px;
	}
}

/* =========================================================
 * Day bands — daylight photograph + white panel. Used by the homepage
 * differentiators and library bands and by every internal page's
 * day-cta-* band (template: sw_day_band_media() in inc/image-map.php).
 * ========================================================= */
.sw-day-band {
	position: relative;
	overflow: hidden;
	background: #DCE8F2;
	padding-top: 140px;
	padding-bottom: 140px;
}
.sw-day-band__media {
	position: absolute;
	inset: 0;
}
.sw-day-band__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.sw-day-band__tint {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(0, 29, 58, 0.22) 0%, rgba(0, 29, 58, 0) 55%);
}
.sw-day-panel {
	position: relative;
	background: #FFFFFF;
	border-radius: 12px;
	border-top: 3px solid #E10600;
	padding: 52px;
	box-shadow: 0 24px 60px rgba(0, 29, 58, 0.18);
}
@media (max-width: 1000px) {
	.sw-day-band.pad {
		padding: 72px 16px !important;
	}
	.sw-day-panel {
		padding: 32px 22px;
		margin: 0;
	}
}
@media (max-width: 640px) {
	.sw-day-band.pad {
		padding: 56px 12px !important;
	}
	.sw-day-panel {
		padding: 28px 20px;
	}
}

/* Differentiators (Spectrum Homepage.dc.html:351-370) */
.sw-differentiators-section.sw-day-band {
	background: #DCE8F2;
}
.sw-differentiators-section .sw-day-panel {
	max-width: 980px;
	padding: 56px 56px 48px;
}
.sw-differentiators-section .h2 {
	color: #001D3A;
}
.sw-differentiators-section__tabs {
	border-bottom-color: #E6E9ED;
}
.sw-differentiators-section__tab-title {
	color: #8892A3;
}
.sw-differentiators-section__tab.is-active .sw-differentiators-section__tab-title {
	color: #001D3A;
}
.sw-differentiators-section__desc {
	color: #001D3A;
}

/* Library / knowledge band (Spectrum Homepage.dc.html:568-585) */
.sw-library-section {
	display: block;
	margin-top: 0;
	padding-left: 56px;
	padding-right: 56px;
}
.sw-library-section__panel {
	max-width: 1040px;
	margin: 0 0 0 auto;
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 56px;
	align-items: center;
	padding: 56px;
}
.sw-library-section .h2,
.sw-library-section__portal-title,
.sw-library-section__portal a {
	color: #001D3A;
}
.sw-library-section__main p {
	color: #4A5568;
}
.sw-library-section__portal {
	border-left-color: #D9DFE7;
}
@media (max-width: 1000px) {
	.sw-library-section__portal {
		border-left: none;
		padding-left: 0;
	}
}

/* Expert CTA (homepage plain; internal pages as a day band —
   C-TPAT.dc.html / Aviso de Privacidad.dc.html / Todos los Insights.dc.html) */
.sw-expert-support-section,
.sw-page-about__expert-cta,
.sw-single-insight__cta {
	display: block;
}
.sw-expert-support-section__inner,
.sw-page-about__expert-panel,
.sw-single-insight__cta-panel {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}
.sw-expert-support-section.sw-day-band .sw-expert-support-section__inner {
	gap: 80px;
}
.sw-page-about__expert-panel {
	gap: 80px;
}
/* Insight article CTA (Insight *.dc.html: max-width 1080, 1.2fr/1fr) */
.sw-single-insight__cta {
	background: #DCE8F2;
	padding-top: 140px;
	padding-bottom: 140px;
}
.sw-single-insight__cta-panel {
	max-width: 1080px;
	margin: 0 auto;
	grid-template-columns: 1.2fr 1fr;
	gap: 56px;
}

/* =========================================================
 * Service pages — CTA band becomes a photo band with a white panel
 * (Transporte.dc.html:462-477); About CTA band keeps the photo under a
 * white scrim (Insights.dc.html, .day-scrim).
 * ========================================================= */
.sw-cta-band--dim {
	background: #EEF5FB;
}
.sw-cta-band--dim .sw-cta-band__image {
	opacity: 1;
}
.sw-cta-band--dim .sw-cta-band__scrim {
	background: linear-gradient(90deg, rgba(0, 29, 58, 0.22) 0%, rgba(0, 29, 58, 0) 55%);
}
.sw-cta-band--dim .sw-cta-band__content.pad {
	max-width: 760px;
	margin: 140px auto 140px max(56px, calc((100% - 1328px) / 2));
	padding: 52px 52px 48px;
	background: #FFFFFF;
	border-radius: 12px;
	border-top: 3px solid #E10600;
	box-shadow: 0 24px 60px rgba(0, 29, 58, 0.18);
}
.sw-cta-band:not(.sw-cta-band--dim) .sw-cta-band__scrim {
	background: linear-gradient(100deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.93) 52%, rgba(255, 255, 255, 0.55) 70%, rgba(255, 255, 255, 0) 90%);
}
.sw-cta-band__content .h1 {
	color: #001D3A;
}
.sw-cta-band__body {
	color: #4A5568;
}
@media (max-width: 1000px) {
	.sw-cta-band--dim .sw-cta-band__content.pad {
		margin: 56px 16px;
		padding: 32px 22px !important;
	}
	.sw-cta-band:not(.sw-cta-band--dim) .sw-cta-band__scrim {
		background: rgba(255, 255, 255, 0.9);
	}
}

/* "Why Spectrum" stays navy; certificate cards turn white
   (Transporte.dc.html:384-400) */
.sw-why-spectrum-section .h1 {
	color: #FFFFFF;
}
.sw-why-spectrum-section__cert-grid a {
	background: #FFFFFF;
	border-color: #FFFFFF;
}
.sw-why-spectrum-section__cert-grid span {
	color: #001D3A;
}
.sw-why-spectrum-section__cert-grid p {
	color: #4A5568;
}
.sw-why-spectrum-section__advantage {
	border-top-color: rgba(255, 255, 255, 0.16);
}
.sw-why-spectrum-section__advantage p {
	color: #C5CFDC;
}

/* =========================================================
 * Insight article + privacy (Insight *.dc.html, Aviso de Privacidad.dc.html)
 * ========================================================= */
.sw-single-insight__crumbs,
.sw-single-insight__crumbs a {
	color: #4A5568;
}
.sw-single-insight__hero .h1 {
	color: #001D3A;
}
.sw-single-insight__lead {
	color: #4A5568;
}
/* Privacy hero has no .sw-hero__content wrapper, so `.sw-hero
   { padding: 0 }` left its text flush against the viewport edge — now
   visible on the light background. Day spacing: Aviso de
   Privacidad.dc.html:257 (padding 104px 56px). */
.sw-page-privacy > .sw-hero {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 104px 56px;
}
.sw-page-privacy__crumbs {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
}
@media (max-width: 1000px) {
	.sw-page-privacy > .sw-hero {
		padding-top: 72px;
		padding-bottom: 72px;
	}
}
.sw-page-privacy__consent,
.sw-page-privacy__consent .h2 {
	color: #001D3A;
}
.sw-page-privacy__updated {
	color: #4A5568;
}

/* =========================================================
 * Newsletter — navy card on white (Spectrum Homepage.dc.html:609-621)
 * ========================================================= */
.sw-newsletter-wrap {
	padding-top: 24px;
	padding-bottom: 120px;
}
.sw-newsletter-section.nl-card {
	background: #001D3A;
	border-radius: 14px;
	padding: 56px 64px;
	box-shadow: 0 24px 60px rgba(0, 29, 58, 0.16);
}
@media (max-width: 1000px) {
	.sw-newsletter-section.nl-card {
		padding: 36px 26px;
	}
}
@media (max-width: 640px) {
	.sw-newsletter-section.nl-card {
		padding: 28px 20px;
	}
}

/* =========================================================
 * Forms rendered by Contact Form 7 / the newsletter plugin
 * (inc/forms.php). Field look follows the design's .field-in inputs
 * (Contacto.dc.html, Spectrum Homepage.dc.html:620): 6px radius,
 * #D3D9E2 border, red focus ring, uppercase 12px labels.
 * ========================================================= */
.sw-cf7 p {
	margin: 0 0 18px;
}
.sw-cf7 label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: #001D3A;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.sw-cf7 label br {
	display: none;
}
.sw-cf7 .wpcf7-form-control-wrap {
	display: block;
	margin-top: 8px;
	text-transform: none;
	letter-spacing: normal;
}
.sw-cf7 input[type="text"],
.sw-cf7 input[type="email"],
.sw-cf7 input[type="tel"],
.sw-cf7 select,
.sw-cf7 textarea {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid #D3D9E2;
	border-radius: 6px;
	background: #FFFFFF;
	color: #001D3A;
	font: 400 15px/1.4 'Plus Jakarta Sans', sans-serif;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.sw-cf7 textarea {
	min-height: 120px;
	resize: vertical;
}
.sw-cf7 input:focus,
.sw-cf7 select:focus,
.sw-cf7 textarea:focus {
	border-color: #E10600;
	box-shadow: 0 0 0 3px rgba(225, 6, 0, 0.12);
	outline: none;
}
.sw-cf7 .sw-cf7-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 20px;
}
/* CF7's auto-paragraphing wraps all grid labels in ONE <p> separated by
   <br>: let the labels themselves be the grid cells. Done in CSS rather
   than by disabling autop, which is global and would alter the site's
   other CF7 forms. */
.sw-cf7 .sw-cf7-grid > p {
	display: contents;
}
.sw-cf7 .sw-cf7-grid br {
	display: none;
}
.sw-cf7 .sw-cf7-grid label {
	margin-bottom: 18px;
}
.sw-cf7 .wpcf7-acceptance label,
.sw-cf7 .wpcf7-list-item-label {
	text-transform: none;
	letter-spacing: normal;
	font-size: 14px;
	font-weight: 500;
	color: #4A5568;
}
.sw-cf7 .wpcf7-list-item {
	margin: 0;
}
.sw-cf7 .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	padding: 16px 30px;
	border: 0;
	border-radius: 6px;
	background: #E10600;
	color: #FFFFFF;
	font: 700 16px 'Plus Jakarta Sans', sans-serif;
	cursor: pointer;
	transition: box-shadow 0.25s ease;
}
.sw-cf7 .wpcf7-submit:hover {
	box-shadow: 0 6px 18px rgba(225, 6, 0, 0.28);
}
.sw-cf7 .wpcf7-submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}
.sw-cf7 .wpcf7-not-valid {
	border-color: #E10600;
	background: #FFF7F6;
}
.sw-cf7 .wpcf7-not-valid-tip {
	display: block;
	margin-top: 7px;
	font-size: 12px;
	font-weight: 600;
	color: #E10600;
	text-transform: none;
	letter-spacing: normal;
}
.sw-cf7 .wpcf7 form .wpcf7-response-output {
	margin: 18px 0 0;
	padding: 14px 16px;
	border: 0;
	border-left: 2px solid #E10600;
	border-radius: 6px;
	background: #F2F4F7;
	color: #001D3A;
	font-size: 14px;
}
.sw-cf7 .wpcf7 form.sent .wpcf7-response-output {
	border-left-color: #1E8E3E;
}
/* Contact teaser: the form sits inside the white card */
.sw-contact-teaser-section__form-col .sw-cf7,
.sw-contact-teaser-section__form-col .sw-form-fallback,
.sw-page-contact__form .sw-cf7 {
	background: #FFFFFF;
	border: 1px solid #E5E9EF;
	border-radius: 10px;
	padding: 36px;
}
/* Newsletter: light-on-navy fields inside the navy card */
.sw-newsletter-section .sw-cf7 label {
	color: #FFFFFF;
}
.sw-newsletter-section .sw-cf7 input[type="email"],
.sw-newsletter-section .sw-cf7 input[type="text"] {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.25);
	color: #FFFFFF;
}
.sw-newsletter-section .sw-cf7 .wpcf7-list-item-label,
.sw-newsletter-section .sw-cf7 .wpcf7-acceptance label {
	color: #AEB9CB;
}
.sw-newsletter-section .sw-cf7 .wpcf7 form .wpcf7-response-output {
	background: rgba(255, 255, 255, 0.08);
	color: #FFFFFF;
}
.sw-newsletter-form {
	flex: 1 1 280px;
	max-width: 480px;
}
/* No form configured: mailto fallback (inc/forms.php) */
.sw-form-fallback {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.sw-form-fallback__email {
	margin: 0;
	color: #4A5568;
	font-size: 14px;
}
@media (max-width: 640px) {
	.sw-cf7 .sw-cf7-grid {
		grid-template-columns: 1fr;
	}
	.sw-contact-teaser-section__form-col .sw-cf7,
	.sw-contact-teaser-section__form-col .sw-form-fallback,
	.sw-page-contact__form .sw-cf7 {
		padding: 24px 18px;
	}
}

/* =========================================================
 * Footer — white (Spectrum Homepage.dc.html:701-735)
 * ========================================================= */
.sw-footer {
	background: #FFFFFF;
	border-top: 1px solid #E6E9ED;
	padding-top: 72px;
	color: #4A5568;
}
.sw-footer a {
	color: #4A5568;
}
.sw-footer a:hover {
	color: #E10600;
}
.sw-footer img {
	filter: none;
}
.sw-footer__offices-label {
	color: #001D3A;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	flex-basis: 100%;
}
.sw-footer__office-location {
	color: #001D3A;
	font-weight: 600;
}

/* =========================================================
 * SPECTRUM DAYLIGHT — small-screen responsive system (verbatim intent;
 * the export's [style*=...] selectors target its inline styles and have
 * no theme equivalent, the class-based rules are ported here).
 * ========================================================= */
@media (max-width: 640px) {
	h3 {
		font-size: min(1em, 20px);
	}
	.pad {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	.tall {
		padding-top: 60px !important;
		padding-bottom: 60px !important;
	}
	.btn {
		max-width: 100%;
		white-space: normal;
	}
	.sw-stat-band.pad {
		grid-template-columns: 1fr 1fr !important;
	}
	.sw-library-section__panel,
	.sw-expert-support-section__inner,
	.sw-page-about__expert-panel,
	.sw-single-insight__cta-panel {
		gap: 28px;
	}
}

/* Multi-column section grids collapse on small screens — the Day
   export's DAYLIGHT system collapses every 2/3/4-column grid
   ([style*="grid-template-columns:…"]); these are the theme's class-based
   equivalents, which previously stayed multi-column on phones. */
.sw-certifications-section > *,
.sw-why-spectrum-section > *,
.sw-contact-teaser-section > *,
.sw-other-resources-section > *,
.sw-page-service__intro > *,
.sw-page-privacy__consent > * {
	min-width: 0;
}
@media (max-width: 1000px) {
	.sw-certifications-section,
	.sw-why-spectrum-section,
	.sw-contact-teaser-section,
	.sw-other-resources-section,
	.sw-page-service__intro,
	.sw-page-privacy__consent,
	.sw-services-showcase__grid,
	.sw-visual-explanation-section,
	.sw-insights-showcase__intro,
	.sw-about-experience-section__intro,
	.sw-mega-panel__row {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}
	.sw-why-spectrum-section.pad {
		padding-top: 72px;
		padding-bottom: 72px;
	}
}
@media (max-width: 640px) {
	.sw-certifications-section__grid,
	.sw-why-spectrum-section__cert-grid,
	.sw-other-resources-section__list,
	.sw-contact-teaser-form__grid,
	.sw-page-privacy__list,
	.sw-mega-panel__grid--2col,
	.sw-about-experience-section__pillars {
		grid-template-columns: 1fr !important;
	}
	.sw-page-privacy__section {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.sw-newsletter-form__row {
		flex-wrap: wrap;
	}
	.sw-newsletter-form__row input {
		min-width: 0;
	}
	.sw-newsletter-form__row .btn {
		flex: 1 1 100%;
		justify-content: center;
	}
}

/* Panel padding on small screens — declared last (two-class selector)
   so it beats the desktop paddings of the specific panels above. */
@media (max-width: 1000px) {
	.sw-day-band .sw-day-panel {
		padding: 32px 22px;
	}
}
@media (max-width: 640px) {
	.sw-day-band .sw-day-panel {
		padding: 28px 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.logo-marquee {
		animation-duration: 300s;
	}
}

/* =========================================================
 * Generic page / post (page.php, single.php) — legacy content that has
 * no Spectrum template yet keeps a readable Day layout.
 * ========================================================= */
.sw-generic__hero {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding-top: 96px;
	padding-bottom: 72px;
}
.sw-prose {
	max-width: 960px;
	padding-top: 72px;
	padding-bottom: 96px;
	font-size: 16px;
	line-height: 1.75;
	color: #4A5568;
}
.sw-prose h2,
.sw-prose h3 {
	color: #001D3A;
	margin: 40px 0 16px;
}
.sw-prose img {
	height: auto;
	border-radius: 8px;
}
.sw-prose a {
	text-decoration: underline;
}
@media (max-width: 1000px) {
	.sw-generic__hero {
		padding-top: 64px;
		padding-bottom: 48px;
	}
	.sw-prose {
		padding-top: 48px;
		padding-bottom: 64px;
	}
}

/* Customizer live preview: WordPress styles off-site links as disabled
   (cursor: not-allowed); main.js opens them in a new window there. */
a[target="_blank"].customize-unpreviewable { cursor: pointer !important; }
