/* ==========================================================================
   theme-light.css — light theme (2026-09). Loaded LAST on every page.
   Cosmetic only: no markup, copy, link, GTM or CSP changes depend on it.
   One dark band is kept: the footer (+ the home page's final CTA, .qa-dark-band).
   ========================================================================== */

:root {
  --bg: #F8FAFC;
  --surface: #FFFFFF;
  --text: #0F172A;
  --muted: #475569;
  --border: #E2E8F0;
  --brand: #2B5CF5;
  --brand-dark: #1E40AF;
  --band: #0F172A;
  --shadow: 0 8px 24px rgba(15, 23, 42, 0.08), 0 2px 6px rgba(15, 23, 42, 0.05);
}

/* ---------- 1. Palette: always the theme's light palette (it used to follow the OS dark mode) ---------- */
html body, html body .is-style-light { --wp--preset--color--primary-950:#172554;--wp--preset--color--primary-900:#1e3a8a;--wp--preset--color--primary-800:#1e40af;--wp--preset--color--primary-700:#1d4ed8;--wp--preset--color--primary-600:#2563eb;--wp--preset--color--primary-500:#3b82f6;--wp--preset--color--primary-400:#60a5fa;--wp--preset--color--primary-300:#93c5fd;--wp--preset--color--primary-200:#bfdbfe;--wp--preset--color--primary-100:#dbeafe;--wp--preset--color--primary-50:#eff6ff;--wp--preset--color--primary-25:#f8faff;--wp--preset--color--neutral-950:#030712;--wp--preset--color--neutral-900:#111827;--wp--preset--color--neutral-800:#1f2937;--wp--preset--color--neutral-700:#374151;--wp--preset--color--neutral-600:#4b5563;--wp--preset--color--neutral-500:#6b7280;--wp--preset--color--neutral-400:#9ca3af;--wp--preset--color--neutral-300:#d1d5db;--wp--preset--color--neutral-200:#e5e7eb;--wp--preset--color--neutral-100:#f3f4f6;--wp--preset--color--neutral-50:#f9fafb;--wp--preset--color--neutral-0:#ffffff;--wp--preset--color--success-600:#059669;--wp--preset--color--success-500:#10b981;--wp--preset--color--success-100:#d1fae5;--wp--preset--color--warning-600:#d97706;--wp--preset--color--warning-500:#f59e0b;--wp--preset--color--warning-100:#feeac7;--wp--preset--color--error-600:#e11d48;--wp--preset--color--error-500:#f43f5e;--wp--preset--color--error-100:#ffe4e6; }
html body { background: var(--bg) !important; color: var(--text); --wp--custom--body--background: var(--bg); }

/* Hard-coded dark section / card backgrounds -> light tokens */
.has-neutral-950-background-color,
.has-custom-fondo-background-color,
.util-10e715a2 { background: var(--bg) !important; }
.has-custom-00020-f-background-color,
.has-custom-00041-f-background-color { background: var(--surface) !important; }
.has-dark-gradient-background,
.has-light-gradient-background,
.has-primary-transparent-gradient-background { background: var(--surface) !important; }
.has-dark-gradient-background:not(.alignfull):not(.alignwide),
.is-style-surface.has-dark-gradient-background { border: 1px solid var(--border); box-shadow: var(--shadow); }

/* Grid-line background images: removed */
.util-bc9a58ad, .util-ff71a0b8, .has-custom-azul-brillante-background-color { background-image: none !important; }

/* Text that was written as white-on-dark -> dark text on the light theme */
.has-neutral-0-color, .has-neutral-50-color, .has-neutral-100-color, .has-primary-200-color { color: var(--text) !important; }
.has-neutral-400-color, .has-neutral-500-color, .has-neutral-600-color { color: var(--muted) !important; }
p, li { color: inherit; }

/* Blue brand panels keep white text */
.has-custom-azul-brillante-background-color,
.has-custom-azul-brillante-background-color :is(p, li, span, strong, em, h1, h2, h3, h4, small, a:not(.wp-block-button__link)),
.has-custom-azul-brillante-background-color .has-neutral-0-color,
.has-primary-500-300-gradient-background, .has-primary-500-300-gradient-background * { color: #fff !important; }

/* ---------- Header: white with a bottom border ---------- */
header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group { background: var(--surface) !important; }
header.wp-block-template-part { border-bottom: 1px solid var(--border); }
header.wp-block-template-part .wp-block-navigation-item__content,
header.wp-block-template-part .wp-block-site-title a,
header.wp-block-template-part .wp-block-navigation__responsive-container-open,
header.wp-block-template-part .wp-block-button__link.has-transparent-background-color { color: var(--text) !important; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--surface) !important; color: var(--text) !important; }
.wp-block-navigation__submenu-container { background: var(--surface) !important; border: 1px solid var(--border) !important; box-shadow: var(--shadow); }
.wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--text) !important; }

/* ---------- The one dark band: footer + home final CTA ---------- */
footer.wp-block-template-part, .qa-dark-band { --wp--preset--color--primary-950:#eff6ff;--wp--preset--color--primary-900:#dbeafe;--wp--preset--color--primary-800:#bfdbfe;--wp--preset--color--primary-700:#93c5fd;--wp--preset--color--primary-600:#60a5fa;--wp--preset--color--primary-500:#3b82f6;--wp--preset--color--primary-400:#2563eb;--wp--preset--color--primary-300:#1d4ed8;--wp--preset--color--primary-200:#1e40af;--wp--preset--color--primary-100:#1e3a8a;--wp--preset--color--primary-50:#172554;--wp--preset--color--primary-25:#0c132a;--wp--preset--color--neutral-950:#ffffff;--wp--preset--color--neutral-900:#f9fafb;--wp--preset--color--neutral-800:#f3f4f6;--wp--preset--color--neutral-700:#e5e7eb;--wp--preset--color--neutral-600:#d1d5db;--wp--preset--color--neutral-500:#9ca3af;--wp--preset--color--neutral-400:#6b7280;--wp--preset--color--neutral-300:#4b5563;--wp--preset--color--neutral-200:#374151;--wp--preset--color--neutral-100:#1f2937;--wp--preset--color--neutral-50:#111827;--wp--preset--color--neutral-0:#030712;--wp--preset--color--success-600:#d1fae5;--wp--preset--color--success-500:#10b981;--wp--preset--color--success-100:#059669;--wp--preset--color--warning-600:#feeac7;--wp--preset--color--warning-500:#f59e0b;--wp--preset--color--warning-100:#d97706;--wp--preset--color--error-600:#ffe4e6;--wp--preset--color--error-500:#f43f5e;--wp--preset--color--error-100:#e11d48; }
footer.wp-block-template-part > .wp-block-group,
footer.wp-block-template-part .has-dark-gradient-background,
.qa-dark-band, .qa-dark-band .has-custom-azul-brillante-background-color {
  background: var(--band) !important; border: 0; box-shadow: none;
}
.qa-dark-band { padding-bottom: 0 !important; }
footer.wp-block-template-part, footer.wp-block-template-part :is(p, a, li, span, strong),
.qa-dark-band :is(p, h1, h2, h3, span, strong) { color: #E2E8F0 !important; }
footer.wp-block-template-part :is(h2, h3, strong), footer.wp-block-template-part p > strong,
.qa-dark-band :is(h1, h2, h3) { color: #FFFFFF !important; }
footer.wp-block-template-part a:hover { color: #FFFFFF !important; }

/* ---------- 2. Scroll reveals: kept (theme default fade / fade-up on scroll). Hero content is not animated. ---------- */

/* ---------- 3. Demo video: never an empty dark box ---------- */
figure.wp-block-video video { background: #FFFFFF; border-radius: 12px; box-shadow: var(--shadow); }

/* ---------- 5. Buttons ---------- */
/* Primary: solid brand, white text, 10px radius */
.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-transparent-background-color):not(.qa-textlink),
.wp-block-button.is-style-fill .wp-block-button__link:not(.has-transparent-background-color):not(.qa-textlink) {
  background: var(--brand) !important; color: #FFFFFF !important; border: 1px solid var(--brand) !important;
  border-radius: 10px !important; box-shadow: none !important; filter: none !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-transparent-background-color):not(.qa-textlink):hover {
  background: var(--brand-dark) !important; border-color: var(--brand-dark) !important;
}
.wp-block-button__link svg { display: none; }
/* Secondary: outline (Create Account, See pricing) */
.wp-block-button.is-style-outline .wp-block-button__link:not(.qa-textlink),
.qa-cta-row .is-style-outline .wp-block-button__link, .qa-hero-ctas .is-style-outline .wp-block-button__link {
  background: transparent !important; color: var(--brand-dark) !important;
  border: 1.5px solid var(--brand) !important; border-radius: 10px !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:not(.qa-textlink):hover { background: rgba(43, 92, 245, 0.06) !important; }
/* Header "Login": plain text link */
header .wp-block-button__link.has-transparent-background-color { background: transparent !important; border: 0 !important; }
/* "Learn More": text link with an arrow */
.wp-block-button.wp-block-button .wp-block-button__link.wp-block-button__link.qa-textlink.qa-textlink {
  background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
  padding: 0 !important; min-height: 44px; color: var(--brand) !important; font-weight: 600; filter: none !important;
}
.wp-block-button.wp-block-button .wp-block-button__link.wp-block-button__link.qa-textlink.qa-textlink::after { content: "\2192"; margin-left: 6px; transition: transform .15s ease; }
.wp-block-button.wp-block-button .wp-block-button__link.wp-block-button__link.qa-textlink.qa-textlink:hover { color: var(--brand-dark) !important; text-decoration: underline; text-underline-offset: 4px; }
.wp-block-button.wp-block-button .wp-block-button__link.wp-block-button__link.qa-textlink.qa-textlink:hover::after { transform: translateX(3px); }
.has-custom-azul-brillante-background-color .wp-block-button.wp-block-button .wp-block-button__link.qa-textlink.qa-textlink { color: #FFFFFF !important; }
/* Buttons inside the dark band and the hero */
.qa-dark-band .wp-block-button__link:not(.qa-textlink), footer .wp-block-button__link { background: var(--brand) !important; color: #FFFFFF !important; }

/* ---------- 6. Image frames: 12px radius + soft shadow (decorations cropped out of the images) ---------- */
figure.wp-block-image img:not([src*="Logo"]):not([src*="Favicon"]):not([src*="BBB"]),
.entry-content figure img { border-radius: 12px !important; box-shadow: var(--shadow); }
figure.wp-block-image.has-custom-border { border: 0 !important; }

/* ---------- 7. Hero: dark scrim behind the headline; headline max 3 lines on desktop ---------- */
.util-76615153 {
  background-image: linear-gradient(90deg, rgba(15, 23, 42, 0.92) 0%, rgba(15, 23, 42, 0.80) 45%, rgba(15, 23, 42, 0.35) 72%, rgba(15, 23, 42, 0.05) 100%),
                    url('/assets/img/Hero-v2410-02.webp') !important;
  background-size: cover !important; background-position: 60% 60% !important;
}
.util-76615153 :is(h1, p, .hero-title, .hero-subtitle, .has-neutral-0-color) { color: #FFFFFF !important; }
.util-76615153 .qa-hero-ctas .is-style-outline .wp-block-button__link { color: #FFFFFF !important; border-color: rgba(255, 255, 255, 0.75) !important; }
.util-e1749c53 { flex-basis: 72% !important; }
.hero-title { max-width: 820px; } /* wraps to 3 lines at desktop widths */
@media (max-width: 781px) {
  .util-76615153 {
    background-image: linear-gradient(180deg, rgba(15, 23, 42, 0.86) 0%, rgba(15, 23, 42, 0.78) 100%), url('/assets/img/Hero-v2410-02.webp') !important;
    background-color: var(--band) !important;
  }
}

/* ---------- Links & focus on light backgrounds ---------- */
.entry-content a:not(.wp-block-button__link) { color: var(--brand-dark); }
.entry-content a:not(.wp-block-button__link):hover { color: var(--brand); }
a:focus-visible, button:focus-visible, summary:focus-visible, .wp-block-button__link:focus-visible { outline-color: var(--brand) !important; }
.entry-content > hr { border-color: var(--border); }

/* ---------- Colors that are near-white in the light palette but were used as text on light cards ---------- */
.has-primary-25-color, .has-primary-50-color { color: var(--text) !important; }
/* Blue labels (were brightened for the dark theme): brand-dark on light = 8.6:1 */
.has-primary-500-color,
.has-light-gradient-background .has-primary-500-color,
.has-primary-transparent-gradient-background p.util-38e8281d,
.has-light-gradient-background p.util-38e8281d,
.has-light-gradient-background .is-style-sub-heading { color: var(--brand-dark) !important; }
/* Button wrappers had an 8px glow ring */
.wp-block-buttons.has-box-shadow, .wp-block-button.has-box-shadow { box-shadow: none !important; }
/* Rating stars: amber #F59E0B is 2.2:1 on white -> #B45309 is 5.0:1 */
.has-warning-500-color { color: #B45309 !important; }

/* Eyebrow / sub-heading labels on light backgrounds */
.is-style-sub-heading { color: var(--brand-dark) !important; }
.has-custom-azul-brillante-background-color .is-style-sub-heading, .qa-dark-band .is-style-sub-heading { color: #FFFFFF !important; }
/* Testimonial avatars: white initials on the colored circles (large text, >= 3.2:1) */
:is(.has-primary-500-background-color, .has-primary-800-background-color, .has-success-600-background-color, .has-warning-600-background-color).has-neutral-0-color,
:is(.has-primary-500-background-color, .has-primary-800-background-color, .has-success-600-background-color, .has-warning-600-background-color).has-neutral-0-color * { color: #FFFFFF !important; }

/* ---------- No decorative gradients anywhere (the hero photo overlay is the only exception: it keeps the headline readable) ---------- */
:root {
  --wp--preset--gradient--midnight: linear-gradient(var(--brand), var(--brand));
  --wp--preset--gradient--primary-500-300: linear-gradient(var(--brand), var(--brand));
}
.has-midnight-gradient-background,
.has-primary-500-300-gradient-background { background: var(--brand) !important; }
.has-custom-theme-gradient-background,
.has-background-transparent-blur-gradient-background,
.has-light-gradient-background,
.has-primary-transparent-gradient-background { background: var(--surface) !important; }
.has-dark-gradient-background { background: var(--surface) !important; }
footer.wp-block-template-part .has-dark-gradient-background,
footer.wp-block-template-part > .wp-block-group { background: var(--band) !important; }
/* /pricing "$" feature icon: was gradient-clipped text; match its three siblings (white icon on a solid blue circle) */
.util-d62c9cc5 { background: var(--brand) !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; -webkit-text-fill-color: #FFFFFF !important; color: #FFFFFF !important; padding: 4px !important; border-radius: 100px !important; }

/* /product "What We Do" section: text over a dark photo (theme's is-style-dark) -> keep it light-on-dark */
html body .is-style-dark { --wp--preset--color--primary-950:#eff6ff;--wp--preset--color--primary-900:#dbeafe;--wp--preset--color--primary-800:#bfdbfe;--wp--preset--color--primary-700:#93c5fd;--wp--preset--color--primary-600:#60a5fa;--wp--preset--color--primary-500:#3b82f6;--wp--preset--color--primary-400:#2563eb;--wp--preset--color--primary-300:#1d4ed8;--wp--preset--color--primary-200:#1e40af;--wp--preset--color--primary-100:#1e3a8a;--wp--preset--color--primary-50:#172554;--wp--preset--color--primary-25:#0c132a;--wp--preset--color--neutral-950:#ffffff;--wp--preset--color--neutral-900:#f9fafb;--wp--preset--color--neutral-800:#f3f4f6;--wp--preset--color--neutral-700:#e5e7eb;--wp--preset--color--neutral-600:#d1d5db;--wp--preset--color--neutral-500:#9ca3af;--wp--preset--color--neutral-400:#6b7280;--wp--preset--color--neutral-300:#4b5563;--wp--preset--color--neutral-200:#374151;--wp--preset--color--neutral-100:#1f2937;--wp--preset--color--neutral-50:#111827;--wp--preset--color--neutral-0:#030712; }
.is-style-dark, .is-style-dark :is(h1, h2, h3, h4, p, li, span, strong, em) { color: #FFFFFF !important; }
.is-style-dark p.util-38e8281d, .is-style-dark .is-style-sub-heading { color: #93C5FD !important; }

@media (max-width: 781px) {
  /* Home final CTA: 80px side padding left a 186px column and broke words mid-way */
  .qa-dark-band .has-custom-azul-brillante-background-color { padding-left: 24px !important; padding-right: 24px !important; }
  .qa-dark-band h2 { font-size: 32px !important; line-height: 1.2 !important; overflow-wrap: normal; word-break: normal; hyphens: manual; }
  /* Testimonials: avatar above the review instead of squeezing the card to ~200px */
  .wp-block-group.is-nowrap:has(> .is-style-surface.has-neutral-0-color) { flex-wrap: wrap !important; gap: 12px !important; }
  .wp-block-group.is-nowrap:has(> .is-style-surface.has-neutral-0-color) > :not(.is-style-surface) { flex-basis: 100% !important; width: 100% !important; }
}

/* ---------- Home stats band: static row instead of a clipped scrolling ticker ---------- */
/* The ticker repeats the same five stats three times; show one set, centered, wrapping on small screens. */
.is-marquee:has(.util-f951a44d) { overflow: visible !important; justify-content: center !important; }
.is-marquee:has(.util-f951a44d) > * { animation: none !important; transform: none !important; flex-wrap: wrap !important; justify-content: center !important; row-gap: 16px; flex: 1 1 100% !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
.fade-horizontal:has(.util-f951a44d) { -webkit-mask-image: none !important; mask-image: none !important; }
.is-marquee:has(.util-f951a44d) > * + * { display: none !important; }
.is-marquee:has(.util-f951a44d) > :first-child {
  display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px !important;
  max-width: 1240px !important; margin: 0 auto !important; padding: 0 20px !important; box-sizing: border-box;
}
.is-marquee:has(.util-f951a44d) > :first-child > * { width: auto !important; min-width: 0 !important; margin: 0 !important; }
@media (max-width: 1024px) { .is-marquee:has(.util-f951a44d) > :first-child { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .is-marquee:has(.util-f951a44d) > :first-child { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px !important; }
  .is-marquee:has(.util-f951a44d) > :first-child > :last-child { grid-column: 1 / -1; }
}
.is-marquee:has(.util-f951a44d) p { white-space: normal !important; }
.is-marquee:has(.util-f951a44d) .util-f951a44d { font-size: clamp(36px, 4.2vw, 64px) !important; line-height: 1.05 !important; }
.is-marquee:has(.util-f951a44d) > :first-child > * { padding: 20px 12px !important; box-sizing: border-box; text-align: center; }
.is-marquee:has(.util-f951a44d) > :first-child { align-items: stretch !important; }
.is-marquee:has(.util-f951a44d) > :first-child > * { align-self: stretch !important; height: auto !important; justify-content: center !important; }

/* ---------- Tablet header (600-781px): WordPress rendered the phone menu inline (a ~400px column of links).
   Keep it collapsed behind the menu button, like on phones. ---------- */
@media (min-width: 600px) and (max-width: 781px) {
  .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
  .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important; position: fixed !important; inset: 0 !important; z-index: 100000 !important;
    background: var(--surface) !important; padding: 72px 24px 24px !important; overflow: auto !important;
  }
}

/* ---------- Header on small laptops (782-1180px): nothing wraps ("Lo/gi/n", two-line buttons) ---------- */
header .wp-block-navigation-item__content, header .wp-block-button__link, header .wp-block-site-title, header .wp-block-site-title a { white-space: nowrap !important; }
@media (min-width: 782px) and (max-width: 1180px) {
  header .wp-block-navigation .wp-block-navigation__container { gap: 14px !important; }
  header .wp-block-navigation-item__content { font-size: 13px !important; }
  header .wp-block-button__link { padding: 8px 12px !important; font-size: 13px !important; }
  header .wp-block-buttons { gap: 8px !important; }
}
/* The header wordmark is a plain paragraph next to the logo: keep it on one line and never let the logo shrink */
header .wp-block-site-logo, header .custom-logo-link, header .custom-logo { flex-shrink: 0 !important; }
header .wp-block-site-logo + p { white-space: nowrap !important; }
@media (min-width: 782px) and (max-width: 960px) {
  header .wp-block-site-logo + p { display: none !important; } /* logo mark only; the wordmark returns above 960px */
}
