/* ============================================================
   Dark glass theme — carries the landing page look through the
   Advisory and Digital pages (body.theme-dark, set in header.php).
   Orange accents on Advisory, blue/teal on Digital.
   ============================================================ */

body.theme-dark {
  --td-bg: #05070D;
  --td-bg-2: #080B14;
  --td-glass: rgba(16, 21, 34, 0.55);
  --td-glass-strong: rgba(14, 18, 30, 0.82);
  --td-line: rgba(255, 255, 255, 0.08);
  --td-line-2: rgba(255, 255, 255, 0.14);
  --td-text: #F4F6FB;
  --td-muted: rgba(244, 246, 251, 0.64);
  --td-acc: #5AA2FF;
  --td-acc-deep: #2F6BFF;
  --td-acc-2: #2CE0BE;
  --td-acc-light: #A9CCFF;
  --td-ink-on-acc: #06101F;

  background: var(--td-bg);
  color: var(--td-text);
}
body.theme-dark.page-advisory {
  --td-acc: #FF9A4D;
  --td-acc-deep: #E2711D;
  --td-acc-2: #FFC46B;
  --td-acc-light: #FFD3AE;
  --td-ink-on-acc: #2A1404;
}

/* fixed ambient aurora behind the whole page */
body.theme-dark::before,
body.theme-dark::after {
  content: '';
  position: fixed;
  z-index: -1;
  width: 60vw;
  height: 60vw;
  border-radius: 50%;
  filter: blur(120px);
  pointer-events: none;
  opacity: 0.16;
  will-change: transform;
}
body.theme-dark::before { left: -20vw; top: 10vh; background: var(--td-acc-deep); animation: tdDriftA 30s ease-in-out infinite alternate; }
body.theme-dark::after { right: -24vw; bottom: -20vh; background: var(--td-acc-2); opacity: 0.10; animation: tdDriftB 36s ease-in-out infinite alternate; }
.theme-dark main { position: relative; }

/* ---------- base type ---------- */
.theme-dark h1, .theme-dark h2, .theme-dark h3, .theme-dark h4 { color: #fff; }
.theme-dark p { color: var(--td-muted); }
.theme-dark .eyebrow { color: var(--td-acc); }
.theme-dark .section-sub { color: var(--td-muted); }
.theme-dark ::selection { background: var(--td-acc); color: var(--td-ink-on-acc); }

/* ---------- sections: transparent over the aurora, hairline dividers ---------- */
.theme-dark .process,
.theme-dark .capabilities,
.theme-dark .capabilities.alt,
.theme-dark .industries,
.theme-dark .about,
.theme-dark .insights,
.theme-dark .clients-band,
.theme-dark .reviews,
.theme-dark .cta,
.theme-dark .faq,
.theme-dark .pillars,
.theme-dark .b2b {
  background: transparent;
  border-color: var(--td-line);
}
/* one continuous background for the whole page — no per-section tints or patterns */
.theme-dark .blueprint-grid { display: none; }

/* hero melts into the page instead of ending in a hard edge */
.theme-dark .page-intro::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 180px;
  z-index: 1;
  background: linear-gradient(180deg, transparent, var(--td-bg));
  pointer-events: none;
}
.theme-dark .track-advisory-band { background: linear-gradient(160deg, #6E3407 0%, #1A0F08 45%, var(--td-bg) 75%); }
.theme-dark .track-digital-band { background: linear-gradient(160deg, #0B3A86 0%, #0A1428 45%, var(--td-bg) 75%); }
.theme-dark .mo-marquee { background: rgba(7, 10, 18, 0.85); backdrop-filter: blur(8px); }

/* ---------- buttons ---------- */
.theme-dark .btn-primary {
  background: linear-gradient(135deg, var(--td-acc-light), var(--td-acc));
  border: 1px solid transparent;
  color: var(--td-ink-on-acc);
  font-weight: 700;
  box-shadow: 0 12px 32px -10px color-mix(in srgb, var(--td-acc) 75%, transparent);
}
.theme-dark .btn-primary:hover {
  background: linear-gradient(135deg, #fff, var(--td-acc-light));
  border-color: transparent;
  color: var(--td-ink-on-acc);
  box-shadow: 0 16px 40px -10px color-mix(in srgb, var(--td-acc) 95%, transparent);
}
.theme-dark .btn-ghost {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--td-line-2);
  color: #fff;
  backdrop-filter: blur(8px);
}
.theme-dark .btn-ghost:hover { border-color: var(--td-acc); color: #fff; background: color-mix(in srgb, var(--td-acc) 12%, transparent); }

/* ---------- header ---------- */
body.theme-dark .site-header.scrolled {
  background: rgba(6, 8, 15, 0.72);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  border-bottom: 1px solid var(--td-line);
  box-shadow: 0 10px 30px -12px rgba(0, 0, 0, 0.6);
}
body.theme-dark .site-header .nav-link::after,
body.theme-dark .site-header.scrolled .nav-link::after { background: var(--td-acc); }
body.theme-dark .nav-item.has-dropdown:hover .nav-caret,
body.theme-dark .nav-item.has-dropdown.open .nav-caret { color: var(--td-acc); }
body.theme-dark .header-row > .btn-primary,
body.theme-dark .site-header.scrolled .header-row > .btn-primary {
  background: linear-gradient(135deg, var(--td-acc-light), var(--td-acc));
  border-color: transparent;
  color: var(--td-ink-on-acc);
}
body.theme-dark .site-header.scrolled .header-row > .btn-primary:hover { background: #fff; color: var(--td-ink-on-acc); }
.theme-dark .logo-mark { background: rgba(255, 255, 255, 0.08); border: 1px solid var(--td-line-2); box-shadow: none; }
.theme-dark .logo-mark img { filter: brightness(0) invert(1); }

.theme-dark .dropdown {
  background: rgba(12, 16, 28, 0.94);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--td-line-2);
  border-radius: 16px;
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.8);
}
.theme-dark .dropdown-link { border-radius: 10px; }
.theme-dark .dropdown-link:hover { background: rgba(255, 255, 255, 0.06); }
.theme-dark .dropdown-link-icon { background: color-mix(in srgb, var(--td-acc) 14%, transparent); color: var(--td-acc); border-radius: 9px; }
.theme-dark .dropdown-link-label { color: #fff; }
.theme-dark .dropdown-link-desc { color: var(--td-muted); }

@media (max-width: 860px) {
  .theme-dark .mobile-nav.open { background: rgba(6, 8, 15, 0.97); border-top: 1px solid var(--td-line); }
  .theme-dark .mobile-nav-item { border-bottom-color: var(--td-line); }
  .theme-dark .mobile-nav-row a { color: #fff; }
  .theme-dark .mobile-expand { color: var(--td-muted); }
  .theme-dark .mobile-nav-item.expanded .mobile-expand svg { color: var(--td-acc); }
  .theme-dark .mobile-submenu a { color: var(--td-muted); }
  body.theme-dark .site-header.scrolled .nav-toggle span { background: #fff; }
}

/* ---------- glass cards ---------- */
.theme-dark .fill-card {
  background: var(--td-glass);
  border: 1px solid var(--td-line);
  border-radius: 20px;
  backdrop-filter: blur(14px) saturate(130%);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.theme-dark .fill-card .icon-badge { color: var(--td-acc); background: none; }
.theme-dark .fill-card .fill-ghost-num {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.04));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.theme-dark .fill-card h3 { color: #fff; }
.theme-dark .fill-card p { color: var(--td-muted); }
.theme-dark .fill-card .fill-dot { background: var(--td-acc); box-shadow: 0 0 12px var(--td-acc); }

.theme-dark .fill-card.fill-advisory:hover,
.theme-dark .fill-card.fill-digital:hover {
  background: linear-gradient(160deg, color-mix(in srgb, var(--td-acc) 26%, transparent), rgba(14, 18, 30, 0.7) 70%);
  border-color: color-mix(in srgb, var(--td-acc) 45%, transparent);
  box-shadow: 0 30px 60px -24px color-mix(in srgb, var(--td-acc) 70%, transparent);
}
.theme-dark .fill-card:hover .icon-badge { color: #fff; background: none; }
.theme-dark .fill-card:hover .fill-ghost-num { background-image: linear-gradient(180deg, var(--td-acc-light), color-mix(in srgb, var(--td-acc) 20%, transparent)); }
.theme-dark .fill-card:hover h3 { color: #fff; }
.theme-dark .fill-card:hover p { color: rgba(255, 255, 255, 0.82); }
/* running border + spotlight use the page accent instead of white */
.theme-dark .fill-card::after,
.theme-dark .insight-card::after {
  background: conic-gradient(from var(--mo-angle), transparent 0%, var(--td-acc) 12%, transparent 26%, transparent 50%, var(--td-acc-2) 62%, transparent 76%);
}
.theme-dark .fill-card::before,
.theme-dark .insight-card::before {
  background: radial-gradient(380px circle at var(--mx) var(--my), color-mix(in srgb, var(--td-acc) 22%, transparent), transparent 60%);
}

/* clients */
.theme-dark .client-chip {
  background: var(--td-glass);
  border: 1px solid var(--td-line);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(10px);
  transition: border-color 0.3s ease, transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.theme-dark .client-chip:hover {
  border-color: color-mix(in srgb, var(--td-acc) 55%, transparent);
  background: color-mix(in srgb, var(--td-acc) 10%, rgba(16, 21, 34, 0.6));
  box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--td-acc) 70%, transparent);
  transform: translateY(-3px);
}

/* "Why one structure" becomes a glowing glass panel */
.theme-dark .why-band-page { background: transparent; padding: 90px 0; }
.theme-dark .why-band-page .wrap {
  position: relative;
  max-width: 920px;
  padding: 60px clamp(24px, 5vw, 64px);
  border-radius: 28px;
  background:
    radial-gradient(120% 140% at 50% 0%, color-mix(in srgb, var(--td-acc) 20%, transparent), transparent 60%),
    var(--td-glass-strong);
  border: 1px solid color-mix(in srgb, var(--td-acc) 30%, transparent);
  box-shadow: 0 40px 80px -40px color-mix(in srgb, var(--td-acc) 60%, transparent);
}
.theme-dark .why-band-page .eyebrow { color: var(--td-acc) !important; }

/* about */
.theme-dark .about-subhead { color: #fff; }
.theme-dark .about-eyebrow-underline { border-bottom-color: var(--td-acc); }
.theme-dark .about-dot-accent { background: var(--td-acc); box-shadow: 0 0 0 6px color-mix(in srgb, var(--td-acc) 18%, transparent), 0 0 24px var(--td-acc); }
.theme-dark .about-diagram-rich {
  max-width: 440px;
  padding: 18px;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 0 0 1px var(--td-line-2), 0 40px 90px -30px color-mix(in srgb, var(--td-acc) 70%, transparent);
  animation: tdFloat 6s ease-in-out infinite;
}
.theme-dark .about-diagram-rich img { border-radius: 16px; }

/* b2b */
.theme-dark .b2b-list { background: var(--td-line); border: 1px solid var(--td-line); border-radius: 18px; overflow: hidden; }
.theme-dark .b2b-list li { background: rgba(12, 16, 28, 0.75); }
.theme-dark .b2b-list li:hover { background: color-mix(in srgb, var(--td-acc) 12%, rgba(12, 16, 28, 0.85)); }
.theme-dark .b2b-index { color: var(--td-acc); }
.theme-dark .section-sub-dark { color: var(--td-muted); }

/* testimonials */
.theme-dark .review-card { background: var(--td-glass); border: 1px solid var(--td-line); backdrop-filter: blur(12px); }
.theme-dark .review-card.active {
  background: linear-gradient(160deg, color-mix(in srgb, var(--td-acc) 22%, transparent), rgba(14, 18, 30, 0.85) 70%);
  border-color: color-mix(in srgb, var(--td-acc) 45%, transparent);
  box-shadow: 0 30px 70px -26px color-mix(in srgb, var(--td-acc) 70%, transparent);
}
.theme-dark .review-card.active p { color: rgba(255, 255, 255, 0.85); }
.theme-dark .review-card.active .review-name { color: #fff; }
.theme-dark .review-card.active .review-role { color: var(--td-muted); }
.theme-dark .review-card.active .review-avatar { background: linear-gradient(135deg, var(--td-acc-light), var(--td-acc)); color: var(--td-ink-on-acc); }
.theme-dark .review-avatar { background: color-mix(in srgb, var(--td-acc) 16%, transparent); color: var(--td-acc); }
.theme-dark .reviews .eyebrow { color: var(--td-acc); }
.theme-dark .review-dot.active { background: var(--td-acc); }
.theme-dark .slider-btn:hover { background: var(--td-acc); border-color: var(--td-acc); color: var(--td-ink-on-acc); }
@media (max-width: 900px) {
  .theme-dark .review-card { background: linear-gradient(160deg, color-mix(in srgb, var(--td-acc) 18%, transparent), rgba(14, 18, 30, 0.85) 70%); }
  .theme-dark .review-card p { color: rgba(255, 255, 255, 0.85); }
  .theme-dark .review-name { color: #fff; }
  .theme-dark .review-role { color: var(--td-muted); }
}

/* insights */
.theme-dark .insight-card {
  background: var(--td-glass);
  border: 1px solid var(--td-line);
  border-radius: 20px;
  backdrop-filter: blur(14px);
}
.theme-dark .insight-card:hover { border-color: color-mix(in srgb, var(--td-acc) 45%, transparent); box-shadow: 0 30px 60px -26px color-mix(in srgb, var(--td-acc) 65%, transparent); }
.theme-dark .insight-tag { color: var(--td-acc); font-weight: 700; letter-spacing: 0.14em; }
.theme-dark .insight-arrow { color: rgba(255, 255, 255, 0.7); }
.theme-dark .insight-card:hover .insight-arrow { color: var(--td-acc); }

/* closing call-to-action becomes a glowing panel */
.theme-dark .cta { padding: 80px 0 110px; }
.theme-dark .cta-inner {
  max-width: 900px;
  padding: 64px clamp(24px, 5vw, 64px);
  border-radius: 32px;
  background:
    radial-gradient(90% 120% at 50% 100%, color-mix(in srgb, var(--td-acc) 30%, transparent), transparent 65%),
    var(--td-glass-strong);
  border: 1px solid color-mix(in srgb, var(--td-acc) 35%, transparent);
  box-shadow: 0 50px 100px -40px color-mix(in srgb, var(--td-acc) 70%, transparent);
  overflow: hidden;
  position: relative;
}
.theme-dark .cta h2 { font-size: clamp(28px, 3.8vw, 44px); }
.theme-dark .cta-inner a[href="digital"],
.theme-dark .cta-inner a[href="advisory"] { color: var(--td-acc-light) !important; }

/* faq (if used) */
.theme-dark .faq-item { border-bottom-color: var(--td-line); }
.theme-dark .faq-trigger { color: #fff; }
.theme-dark .faq-icon::before, .theme-dark .faq-icon::after { background: #fff; }
.theme-dark .faq-item.open .faq-icon::before { background: var(--td-acc); }

/* ---------- footer ---------- */
.theme-dark .site-footer {
  background: linear-gradient(180deg, transparent, #030409 30%);
  border-top: 1px solid var(--td-line);
}
.theme-dark .footer-grid { border-bottom-color: var(--td-line); }
.theme-dark .footer-col a:hover { color: var(--td-acc); }
.theme-dark .footer-form input,
.theme-dark .footer-form select {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--td-line-2);
  border-radius: 10px;
  padding: 11px 14px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.theme-dark .footer-form input:focus,
.theme-dark .footer-form select:focus {
  outline: none;
  border-color: var(--td-acc);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--td-acc) 25%, transparent);
}
.theme-dark .footer-form select option, .theme-dark .footer-form select optgroup { background: #0C1020; color: #fff; }
.theme-dark .footer-form .btn-primary { background: linear-gradient(135deg, var(--td-acc-light), var(--td-acc)); color: var(--td-ink-on-acc); }

@keyframes tdDriftA { to { transform: translate(14vw, 20vh) scale(1.2); } }
@keyframes tdDriftB { to { transform: translate(-12vw, -24vh) scale(0.9); } }
@keyframes tdFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

@media (prefers-reduced-motion: reduce) {
  body.theme-dark::before, body.theme-dark::after, .theme-dark .about-diagram-rich { animation: none !important; }
}

/* italic accent word at the end of each section heading (added by motion.js) */
.theme-dark .mo-h2 .mo-accent { animation: moShine 7s linear infinite; }
