/* ============================================================
   SOURCE DIGITAL: light theme (draft, Nov 2026)
   Loaded after site.css. Pages opt in with html.sd-light.
   ============================================================ */
html.sd-light{
  /* page + surfaces */
  --black:#F6F5F1;        /* page background, warm off white */
  --bg:#F6F5F1;
  --surface:#FFFFFF;      /* cards */
  --surface-2:#EFF1F5;    /* alt sections, inputs */
  --border:#E3E5EA;
  --border-2:#D3D7DF;
  /* text */
  --ink:#121826;          /* headings */
  --text:#121826;
  --muted:#3B4256;        /* body copy */
  --muted-2:#6B7286;      /* small labels */
  /* brand */
  --blue:#1638E8;
  --blue-mid:#2B4CFF;
  --blue-dark:#0B1B5E;    /* navy for dark bands */
  --blue-text:#1638E8;
  --blue-text-hover:#0B1B5E;
  --blue-glow:rgba(22,56,232,.18);
  --blue-subtle:rgba(22,56,232,.06);
  --blue-subtle2:rgba(22,56,232,.10);
  /* tokens used by the ad landing page templates */
  --dark-card:#FFFFFF;
  --dark-border:#E3E5EA;
  --grey:#5A6275;
  --grey-light:#3B4256;
  --text-light:#3B4256;
  --accent-text:#1638E8;
  --accent:#1638E8;
  --accent-hover:#2B4CFF;
  --accent-dark:#0B1B5E;
  --mint:#1638E8;
  --orange:#1638E8;
  --green:#15803d;
  --green-mid:#15803d;
  --bg-card:#FFFFFF;
  --bg-card-hover:#EFF1F5;
  --radius:14px;
  --radius-sm:10px;
  --shadow:0 1px 2px rgba(18,24,38,.04),0 8px 24px rgba(18,24,38,.06);
}
html.sd-light body{ background:var(--black); color:var(--muted); font-size:18px; }
html.sd-light h1,html.sd-light h2,html.sd-light h3,html.sd-light h4{ color:var(--ink); }
html.sd-light p{ color:var(--muted); font-size:17px; line-height:1.7; }

/* nav: white bar */
html.sd-light .nav,html.sd-light .nav.scrolled{
  background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
html.sd-light .nav a:not([class*="btn"]):not([class*="cta"]),html.sd-light .nav-links a:not([class*="btn"]):not([class*="cta"]){ color:var(--ink); }
html.sd-light .nav a:is([class*="btn-blue"],[class*="cta"]){ color:#fff; }
html.sd-light .dropdown,html.sd-light .dropdown.mega{ background:#fff; border:1px solid var(--border); box-shadow:var(--shadow); }
html.sd-light .dropdown a{ color:var(--ink); }
html.sd-light .mob-menu{ background:#fff; }
html.sd-light .mob-menu a{ color:var(--ink); }
html.sd-light .nav-logo img{ filter:invert(1) hue-rotate(180deg); }

/* hero: light, soft blue wash instead of the dark city photo */
html.sd-light .hero{ background:var(--black); }
html.sd-light .hero-bg img{ opacity:1; filter:none; }
/* photo stays visible: light fade only behind the headline on the left */
html.sd-light .hero-bg::after{ background:linear-gradient(to right,rgba(246,245,241,.96) 0%,rgba(246,245,241,.9) 34%,rgba(246,245,241,.45) 52%,rgba(246,245,241,0) 68%),linear-gradient(to top,rgba(246,245,241,1) 0%,rgba(246,245,241,0) 22%); }
@media (max-width:900px){ html.sd-light .hero-bg::after{ background:linear-gradient(to bottom,rgba(246,245,241,.55) 0%,rgba(246,245,241,.9) 45%,rgba(246,245,241,1) 100%); } }
html.sd-light .hero .blue-line,html.sd-light h1 em,html.sd-light h2 em{ color:var(--blue); }

/* cards + panels get white, rounded, soft shadow.
   Only class names that END in "card" (service-card, cs-card, card). Never their children
   (card-title, cs-card-desc, card-grid), which is what [class*="card"] used to catch. */
html.sd-light .hero-form,html.sd-light .hf,html.sd-light :is([class$="card"],[class*="card "]):not(.svc-card):not(.mp-case),
html.sd-light .faq-item,html.sd-light .testi{
  background:var(--surface); border-color:var(--border); border-radius:var(--radius);
}
html.sd-light :is([class$="card"],[class*="card "]):not(.svc-card):not(.mp-case){ box-shadow:var(--shadow); }
html.sd-light input,html.sd-light select,html.sd-light textarea{
  background:#fff !important; color:#121826 !important; border:1px solid #D3D7DF !important; border-radius:10px !important;
}
html.sd-light input::placeholder,html.sd-light textarea::placeholder{ color:#9AA1B2; }

/* buttons: rounded, blue */
html.sd-light .btn,html.sd-light [class*="btn-"],html.sd-light .hf-btn{ border-radius:999px; }
html.sd-light .btn-blue,html.sd-light .hf-btn{ background:var(--blue); color:#fff; box-shadow:0 6px 18px rgba(22,56,232,.25); }
html.sd-light [class*="btn-outline"],html.sd-light .btn-ghost{ color:var(--ink); border-color:var(--border-2); background:transparent; }

/* alternate section tint so long pages read in chunks */
html.sd-light section.section:nth-of-type(even){ background:#fff; }
html.sd-light .trust-bar,html.sd-light .logo-scroller,html.sd-light .partner-strip{ background:#fff; border-color:var(--border); }
html.sd-light .logo-scroller img{ filter:none; opacity:.8; }

/* dark bands that stay dark: keep white text inside */
html.sd-light .ticker{ background:var(--blue); }
html.sd-light .mp-cases{ background:var(--blue-dark) !important; }
html.sd-light .cta-section{ background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%) !important; }
html.sd-light footer,html.sd-light .footer{ background:#0E1424; }
html.sd-light :is(.ticker,.mp-cases,.mp-case,.cta-section,.cta-box,footer,.footer){
  --ink:#fff; --text:#fff; --muted:rgba(255,255,255,.78); --muted-2:rgba(255,255,255,.55);
  --blue-text:#9fb2ff; --accent-text:#9fb2ff; --grey:#b9bfd6; --grey-light:#e8ebf7; --text-light:#f4f6ff;
  --border:rgba(255,255,255,.14); --border-2:rgba(255,255,255,.22); --surface:rgba(255,255,255,.06);
}
html.sd-light :is(.ticker,.mp-cases,.cta-section,.cta-box,footer,.footer) :is(h1,h2,h3,h4){ color:#fff; }
html.sd-light :is(.ticker,.mp-cases,.cta-section,footer,.footer) p{ color:rgba(255,255,255,.8); }
html.sd-light .cta-section [class*="btn-outline"]{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
html.sd-light .footer-copy{ color:rgba(255,255,255,.6); }

/* in-content links */
html.sd-light p a:not([class*="btn"]),html.sd-light .faq-a a{ color:var(--blue-text) !important; }

/* image cards keep white text over the photo */
html.sd-light .svc-content,html.sd-light .svc-content :is(h2,h3,h4,div,span,p){ color:#fff; }
html.sd-light .svc-price{ color:rgba(255,255,255,.8); }

/* the italic second line of headings: brand blue, full strength */
html.sd-light :is(h1,h2,h3) em,html.sd-light .section-title em,html.sd-light .hero-title .italic{ color:var(--blue) !important; opacity:1 !important; }
html.sd-light :is(.ticker,.mp-cases,.cta-section,footer,.footer) :is(h1,h2,h3) em,
html.sd-light .cta-title em{ color:rgba(255,255,255,.7) !important; opacity:1 !important; }

/* white logos become dark on the light nav */
html.sd-light .nav-logo img{ filter:brightness(0) saturate(100%); }
html.sd-light footer img[src*="logo"],html.sd-light .footer img[src*="logo"]{ filter:none; }
html.sd-light footer img[src*="logo"],html.sd-light .footer img[src*="logo"]{ filter:brightness(0) invert(1) !important; }

/* service photo cards: brighter photos, gaps, rounded corners */
html.sd-light .services-grid{ gap:16px; padding:0 clamp(16px,4vw,48px); }
html.sd-light .svc-card{ border-radius:18px; box-shadow:var(--shadow); }
html.sd-light .svc-card img{ filter:grayscale(1) brightness(.9); }
html.sd-light .svc-card:hover img,html.sd-light .svc-card:focus-visible img{ filter:grayscale(0) brightness(.95); }
html.sd-light .svc-overlay{ background:linear-gradient(to top,rgba(10,14,28,.88) 0%,rgba(10,14,28,.35) 50%,rgba(10,14,28,0) 100%); }

/* FAQ: padded rows */
html.sd-light .faq-item{ margin-bottom:10px; border:1px solid var(--border); }
html.sd-light .faq-q{ padding:22px 24px; color:var(--ink); }
html.sd-light .faq-a{ padding-left:24px; padding-right:24px; }

/* process step numbers: visible blue */
html.sd-light :is(.process-num,.why-num,.phase-num,.build-num,.step-num,.why-number,.step-number){ color:var(--blue) !important; opacity:1 !important; -webkit-text-fill-color:var(--blue) !important; }

/* globe labels: white text on navy pills */
html.sd-light .sdg-label{ color:#fff !important; background:rgba(11,27,94,.88) !important; border-color:rgba(255,255,255,.25) !important; }
html.sd-light .sdg-label.sdg-hq{ background:var(--blue) !important; }
html.sd-light .sdg-label em{ color:rgba(255,255,255,.85) !important; }

/* body copy: a touch heavier and darker so it reads easily */
html.sd-light body{ font-weight:500; }
html.sd-light p,html.sd-light li,html.sd-light .hero-sub,html.sd-light .section-desc,html.sd-light .faq-a{ font-weight:500; }
html.sd-light :is(.ticker,.mp-cases,.cta-section,footer,.footer) :is(p,li){ font-weight:400; }
/* keep the hero copy inside the light fade */
html.sd-light .hero-sub{ max-width:560px; }

html.sd-light .logo-scroller-label{ color:var(--muted-2); }

/* forms sit on white cards */
html.sd-light :is(.hero-form,.quote-form,.hf-card,.contact-form):not(:is(.cta-section,.mp-cases,.cta-box,.stats-bar,footer) *){ background:#fff !important; border:1px solid var(--border) !important; border-radius:var(--radius) !important; box-shadow:var(--shadow); }
/* links inside tables */
html.sd-light td a:not([class*="btn"]){ color:var(--blue-text) !important; }

/* ── automatic readability fixes (added by the contrast check) ── */
html.sd-light .sd-on-dark{ --ink:#fff; --text:#fff; --muted:rgba(255,255,255,.85); --muted-2:rgba(255,255,255,.7); --blue-text:#c6d1ff; --accent-text:#c6d1ff; --grey:#d5d9ea; --grey-light:#eef0f8; color:#fff; }
html.sd-light .sd-on-dark :is(h1,h2,h3,h4,h5,h6){ color:#fff; }
html.sd-light .sd-ink{ color:#121826 !important; -webkit-text-fill-color:#121826 !important; }
html.sd-light .sd-white{ color:#fff !important; -webkit-text-fill-color:#fff !important; }
html.sd-light .sd-faint-fix{ color:var(--blue) !important; -webkit-text-fill-color:var(--blue) !important; opacity:1 !important; }
html.sd-light .sd-btn-fix{ background:var(--blue) !important; color:#fff !important; -webkit-text-fill-color:#fff !important; border-color:var(--blue) !important; }
html.sd-light .sd-lightblue{ color:#c6d1ff !important; -webkit-text-fill-color:#c6d1ff !important; }

/* inner page heroes: photo visible, fade on the left, form above the photo layer */
html.sd-light .page-hero-bg img{ opacity:1; filter:none; }
html.sd-light .page-hero-bg::after{ background:linear-gradient(to right,rgba(246,245,241,.96) 0%,rgba(246,245,241,.9) 34%,rgba(246,245,241,.45) 52%,rgba(246,245,241,0) 68%),linear-gradient(to top,rgba(246,245,241,1) 0%,rgba(246,245,241,0) 22%) !important; }
@media (max-width:900px){ html.sd-light .page-hero-bg::after{ background:linear-gradient(to bottom,rgba(246,245,241,.6) 0%,rgba(246,245,241,.92) 45%,rgba(246,245,241,1) 100%) !important; } }
html.sd-light :is(.hero-grid,.hero-form,.page-hero .container){ position:relative; z-index:1; }
html.sd-light .sd-btnwhite-fix{ background:#fff !important; color:var(--blue-dark,#0B1B5E) !important; -webkit-text-fill-color:#0B1B5E !important; border-color:#fff !important; }
html.sd-light .btn-next:disabled{ opacity:.75 !important; }

/* case study hero facts sit on a white panel so they read over any photo, desktop or phone */
html.sd-light .hero-meta{ background:rgba(255,255,255,.94); border:1px solid var(--border) !important; border-radius:14px; padding:20px 24px !important; box-shadow:var(--shadow); position:relative; z-index:2; }
html.sd-light .hero-meta .hero-meta-label{ color:#4A5266 !important; -webkit-text-fill-color:#4A5266 !important; }
html.sd-light .hero-meta .hero-meta-value{ color:#121826 !important; -webkit-text-fill-color:#121826 !important; }
html.sd-light .blog-hero-img-caption{ background:rgba(255,255,255,.92); color:#3B4256 !important; padding:8px 12px; border-radius:8px; }
@media (max-width:900px){ html.sd-light .page-hero-bg::after{ background:linear-gradient(to bottom,rgba(246,245,241,.82) 0%,rgba(246,245,241,.94) 45%,rgba(246,245,241,1) 100%) !important; } }

/* Nov 2026 review fixes */
/* hero stats: sit on a light panel on desktop so they stay readable where the row runs past the fade onto the photo */
@media (min-width:901px){
  html.sd-light .hero .hero-proof{ background:rgba(255,255,255,.92); border:1px solid var(--border); border-radius:14px; padding:18px 22px; margin-top:48px; width:fit-content; max-width:100%; box-shadow:var(--shadow); position:relative; z-index:1; flex-wrap:wrap; gap:14px 18px; }
  html.sd-light .hero .hero-proof .hero-divider{ display:none; }
}
/* where the hero column is too narrow for four stats in a row, show a tidy two by two */
@media (min-width:1101px){
  html.sd-light .hero .hero-proof{ display:grid; grid-template-columns:auto auto; justify-content:start; align-items:end; gap:16px 36px; }
}
/* chat mock timestamps: readable small print */
html.sd-light .wp-bub small{ opacity:1; }
html.sd-light .wp-bub.in small{ color:#5A6275; }
html.sd-light .wp-bub.out small{ color:#E3E8FF; }
/* small hint labels: readable contrast */
html.sd-light .hero-scroll-label{ color:#5A6275; }
html.sd-light #vslUnmute{ color:#fff; }
