/* ═══════════════════════════════════════════════════════════════
   SCIREVANCE — MASTER STYLESHEET  style.css
   Shared across all pages. Page-specific overrides in <style> tags.
   ═══════════════════════════════════════════════════════════════ */

/* ── TOKENS ──────────────────────────────────────────────────── */
:root {
  --cream:   #f9f7f2;
  --paper:   #f2efe6;
  --paper2:  #e9e5da;
  --rule:    rgba(0,0,0,0.08);
  --rule2:   rgba(0,0,0,0.13);
  --ink:     #111009;
  --ink2:    #2a2720;
  --mid:     #6b6760;
  --muted:   #9d9990;
  --ghost:   rgba(17,16,9,0.04);
  --g:       #276ad4;
  --g2:      #1a4fa0;
  --g-lt:    #deeafc;
  --serif:   'Fraunces', Georgia, serif;
  --sans:    'Geist', 'Helvetica Neue', sans-serif;
  --mono:    'Geist Mono', monospace;
  --ease:    cubic-bezier(0.16,1,0.3,1);
  --nav-h:   88px;
}

/* ── RESET ───────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { font-size:16px; scroll-behavior:smooth }
body {
  font-family: var(--sans);
  background: var(--cream);
  color: var(--ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { text-decoration:none; color:inherit }

/* ── FOCUS VISIBLE ──────────────────────────────────────────── */
:focus-visible { outline: 2px solid var(--g); outline-offset: 3px; border-radius: 2px; }
:focus:not(:focus-visible) { outline: none; }

/* ── SKIP LINK ───────────────────────────────────────────────── */
.skip-link { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; z-index:9999; padding:14px 20px; background:var(--g); color:#fff; font-family:var(--sans); font-size:0.82rem; font-weight:400; border-radius:0 0 3px 3px; text-decoration:none; }
.skip-link:focus { position:fixed; left:50%; transform:translateX(-50%); top:0; width:auto; height:auto; }

/* ── NAV ─────────────────────────────────────────────────────── */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  height: var(--nav-h);
  display:flex; align-items:center;
  padding: 0 56px;
  transition: background .5s, border-color .5s, backdrop-filter .5s;
  border-bottom: 1px solid transparent;
}
.nav.s {
  background: rgba(249,247,242,0.95);
  backdrop-filter: blur(24px) saturate(180%);
  border-bottom-color: var(--rule);
}
/* Interior pages: always frosted */
.nav.interior {
  background: rgba(249,247,242,0.95);
  backdrop-filter: blur(24px) saturate(180%);
  border-bottom-color: var(--rule);
}
/* Home hero-mode: transparent over dark video */
.nav.hero-mode .nav__logo { color:#fff }
.nav.hero-mode .nav__links a { color:rgba(255,255,255,0.65) }
.nav.hero-mode .nav__cta { background:rgba(255,255,255,0.15); color:#fff; border:1px solid rgba(255,255,255,0.3) }
.nav.hero-mode.s .nav__logo { color:var(--ink) }
.nav.hero-mode.s .nav__links a { color:var(--mid) }
.nav.hero-mode.s .nav__cta { background:var(--ink); color:var(--cream); border-color:transparent }

.nav__logo {
  font-family: var(--serif); font-size:1.2rem; font-weight:300;
  letter-spacing:-0.01em; color:var(--ink); transition:color .4s;
}
.nav__logo em { font-style:italic; color:var(--g) }
.nav.hero-mode .nav__logo em { color:#a8c4f0 }
.nav.hero-mode.s .nav__logo em { color:var(--g) }

.nav__links { list-style:none; display:flex; gap:0; margin-left:auto; margin-right:14px }
.nav__links a {
  font-size:0.8125rem; font-weight:300; color:var(--mid);
  padding:7px 13px; border-radius:3px;
  transition:color .2s, background .2s;
}
.nav__links a:hover { color:var(--ink); background:var(--ghost) }
.nav__links a.active { color:var(--ink); font-weight:400 }

.nav__cta {
  font-size:0.8125rem; font-weight:400; letter-spacing:.03em;
  padding:9px 22px; border-radius:2px;
  background:var(--ink); color:var(--cream);
  transition:background .22s, color .22s, border-color .22s;
  border:1px solid transparent;
}
.nav__cta:hover { background:var(--g) !important; color:var(--cream) !important; border-color:transparent !important }

/* ── NAV AUTH ────────────────────────────────────────────────── */
/* Hide sign-in until auth state is known — prevents flash for logged-in users.
   auth.js adds 'scv-no-user' to <html> only when confirmed signed out. */
#nav-signin,
.mob-nav__signin { visibility: hidden; }
html.scv-no-user #nav-signin,
html.scv-no-user .mob-nav__signin { visibility: visible; }

.nav__signin {
  font-size:0.8125rem; font-weight:300; color:var(--mid);
  padding:7px 13px; border-radius:3px; margin-left:50px; margin-right:6px;
  transition:color .2s, background .2s;
  white-space:nowrap;
}
.nav__signin:hover { color:var(--ink); background:var(--ghost) }
.nav__user-av {
  width:32px; height:32px; border-radius:50%;
  background:var(--g); color:#fff;
  font-family:var(--serif); font-size:0.72rem; font-weight:400;
  display:inline-flex; align-items:center; justify-content:center;
  margin-right:10px; flex-shrink:0; overflow:hidden;
  border:2px solid transparent;
  transition:border-color .22s, box-shadow .22s;
  text-decoration:none; vertical-align:middle; cursor:pointer;
}
.nav__user-av:hover { border-color:var(--g); box-shadow:0 0 0 3px rgba(39,106,212,0.15) }
/* Hero-mode (home page dark transparent nav) */
.nav.hero-mode .nav__signin { color:rgba(255,255,255,0.65) }
.nav.hero-mode .nav__signin:hover { color:#fff; background:rgba(255,255,255,0.08) }
.nav.hero-mode.s .nav__signin { color:var(--mid) }
.nav.hero-mode.s .nav__signin:hover { color:var(--ink); background:var(--ghost) }

/* ── NAV DROPDOWN ────────────────────────────────────────────────── */
.nav__dd { position:relative }
.nav__dd-trigger {
  display:inline-flex; align-items:center; gap:5px;
}
.nav__dd-caret {
  width:8px; height:5px; flex-shrink:0;
  transition:transform .2s; opacity:.5;
}
.nav__dd:hover .nav__dd-caret { transform:rotate(180deg); opacity:1 }
.nav__dd-menu {
  position:absolute; top:100%; left:50%;
  transform:translateX(-50%) translateY(4px);
  background:rgba(249,247,242,0.97);
  backdrop-filter:blur(20px) saturate(180%);
  border:1px solid var(--rule2); border-radius:3px;
  list-style:none; min-width:186px;
  padding:6px 0; padding-top:12px;
  margin-top:0;
  opacity:0; pointer-events:none;
  transition:opacity .18s var(--ease), transform .18s var(--ease);
  box-shadow:0 8px 28px rgba(17,16,9,0.10);
  z-index:10;
}
/* Invisible bridge fills the gap between trigger and menu so the
   mouse can travel down without the hover chain breaking */
.nav__dd-menu::before {
  content:''; position:absolute; top:-10px; left:0; right:0; height:10px;
}
.nav__dd:hover .nav__dd-menu {
  opacity:1; pointer-events:all;
  transform:translateX(-50%) translateY(0);
}
.nav__dd-menu li { display:block }
.nav__dd-menu a {
  display:block; padding:9px 16px;
  font-size:0.8125rem; font-weight:300; color:var(--mid);
  transition:color .15s, background .15s; white-space:nowrap;
}
.nav__dd-menu a:hover { color:var(--ink); background:var(--ghost) }
.nav__dd-menu a.active { color:var(--g); font-weight:400 }
/* Separator between sub-items */
.nav__dd-menu li:first-child a {
  border-bottom:1px solid var(--rule);
}
/* Hero-mode (dark transparent nav — home page only) */
.nav.hero-mode .nav__dd-menu {
  background:rgba(10,16,44,0.96);
  border-color:rgba(255,255,255,0.1);
  box-shadow:0 8px 32px rgba(0,0,0,0.38);
}
.nav.hero-mode .nav__dd-menu a { color:rgba(255,255,255,0.52) }
.nav.hero-mode .nav__dd-menu a:hover { color:#fff; background:rgba(255,255,255,0.07) }
.nav.hero-mode .nav__dd-menu a.active { color:#a8c4f0 }
.nav.hero-mode .nav__dd-menu li:first-child a { border-bottom-color:rgba(255,255,255,0.07) }
/* Hero-mode scrolled (becomes frosted) */
.nav.hero-mode.s .nav__dd-menu {
  background:rgba(249,247,242,0.97);
  border-color:var(--rule2);
  box-shadow:0 8px 28px rgba(17,16,9,0.10);
}
.nav.hero-mode.s .nav__dd-menu a { color:var(--mid) }
.nav.hero-mode.s .nav__dd-menu a:hover { color:var(--ink); background:var(--ghost) }
.nav.hero-mode.s .nav__dd-menu a.active { color:var(--g) }
.nav.hero-mode.s .nav__dd-menu li:first-child a { border-bottom-color:var(--rule) }

/* ── LAYOUT HELPERS ──────────────────────────────────────────── */
.wrap { max-width:1320px; margin:0 auto }
.pad  { padding: clamp(80px,10vw,140px) 56px }
.pad-sm { padding: clamp(56px,7vw,96px) 56px }

/* ── PAGE HERO — INTERIOR (blue gradient) ────────────────────── */
.page-hero {
  padding: calc(var(--nav-h) + clamp(60px,9vw,110px)) 56px clamp(60px,8vw,100px);
  background: linear-gradient(160deg, #0d1535 0%, #142660 50%, #0d1a38 100%);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  position:relative; overflow:hidden;
  min-height: 650px;
}
.page-hero::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 90% at 85% 40%, rgba(39,106,212,0.35) 0%, transparent 65%),
    radial-gradient(ellipse 50% 70% at 10% 90%, rgba(39,106,212,0.18) 0%, transparent 60%);
}
.page-hero::after {
  content:''; position:absolute; right:0; top:0; bottom:0; width:50%;
  background: radial-gradient(ellipse 80% 80% at 80% 50%, rgba(39,106,212,0.2) 0%, transparent 70%);
  pointer-events:none;
}
.phi { max-width:1320px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; position:relative; z-index:1 }

/* Hero typography — white on dark hero */
.phi-eyebrow {
  font-family:var(--mono); font-size:0.6rem; font-weight:200;
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(168,196,240,0.8);
  display:flex; align-items:center; gap:12px; margin-bottom:22px;
  opacity:0; animation:fadeUp .9s var(--ease) .1s forwards;
}
.phi-eyebrow::before { content:''; width:20px; height:1px; background:rgba(168,196,240,0.5) }
.phi h1 {
  font-family:var(--serif); font-size:clamp(3rem,6vw,6rem);
  font-weight:300; line-height:1.02; letter-spacing:-0.035em;
  color:#fff;
  opacity:0; animation:fadeUp 1s var(--ease) .25s forwards;
}
.phi h1 em { font-style:italic; color:#a8c4f0 }
.phi-right {
  opacity:0; animation:fadeUp .9s var(--ease) .4s forwards;
}
.phi-lead {
  font-size:clamp(0.9rem,1.2vw,1.05rem); font-weight:300;
  line-height:1.8; color:rgba(249,247,242,0.6); margin-bottom:32px;
}
/* Legal pages — full-width single col hero */
.phi.phi-legal { grid-template-columns:1fr; max-width:900px }

/* ── EYEBROW ─────────────────────────────────────────────────── */
.eyebrow {
  font-family:var(--mono); font-size:0.6rem; font-weight:200;
  letter-spacing:.18em; text-transform:uppercase; color:var(--g);
  display:flex; align-items:center; gap:12px; margin-bottom:22px;
}
.eyebrow::before { content:''; width:20px; height:1px; background:var(--g); opacity:.6 }
.eyebrow.light { color:rgba(168,196,240,0.8) }
.eyebrow.light::before { background:rgba(168,196,240,0.5); opacity:1 }

/* ── TYPOGRAPHY ──────────────────────────────────────────────── */
h2.sh {
  font-family:var(--serif); font-size:clamp(2.2rem,4vw,3.8rem);
  font-weight:300; line-height:1.08; letter-spacing:-0.03em; color:var(--ink);
}
h2.sh em { font-style:italic; color:var(--g) }
h2.sh.light { color:#fff }
h2.sh.light em { color:#a8c4f0 }

/* ── BUTTONS ─────────────────────────────────────────────────── */
.btn-a {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-size:0.78rem; font-weight:400; letter-spacing:.04em;
  padding:13px 26px; border-radius:2px;
  background:var(--ink); color:var(--cream);
  transition:background .22s; cursor:pointer; border:none;
}
.btn-a:hover { background:var(--g) }
.btn-a svg { width:12px; height:12px; transition:transform .2s; flex-shrink:0 }
.btn-a:hover svg { transform:translateX(3px) }

.btn-a.on-dark {
  background:rgba(255,255,255,0.12); color:#fff;
  border:1px solid rgba(255,255,255,0.25);
}
.btn-a.on-dark:hover { background:var(--g); border-color:var(--g) }

.btn-b {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-size:0.78rem; font-weight:300; letter-spacing:.04em;
  padding:13px 26px; border-radius:2px;
  border:1px solid var(--rule2); color:var(--mid);
  transition:all .22s; cursor:pointer; background:transparent;
}
.btn-b:hover { border-color:var(--ink); color:var(--ink) }

.btn-b.on-dark {
  border-color:rgba(255,255,255,0.2); color:rgba(255,255,255,0.65);
}
.btn-b.on-dark:hover { border-color:rgba(255,255,255,0.6); color:#fff }

.btn-white {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-size:0.78rem; font-weight:400; letter-spacing:.04em;
  padding:13px 26px; border-radius:2px;
  background:#fff; color:var(--ink);
  transition:background .22s, color .22s; cursor:pointer;
}
.btn-white:hover { background:var(--g); color:#fff }
.btn-white svg { width:12px; height:12px; transition:transform .2s }
.btn-white:hover svg { transform:translateX(3px) }

/* ── MARQUEE / TICKER ────────────────────────────────────────── */
.marquee {
  overflow:hidden; padding:15px 0;
  background:var(--ink);
  border-bottom:1px solid rgba(255,255,255,0.05);
}
.marquee__track { display:flex; width:max-content; animation:marquee 36s linear infinite }
.marquee__item {
  display:flex; align-items:center; gap:44px; padding:0 44px;
  white-space:nowrap;
  font-family:var(--mono); font-size:0.6rem; letter-spacing:.13em; text-transform:uppercase;
  color:rgba(39,106,212,0.65);
}
.msep { width:3px; height:3px; border-radius:50%; background:var(--g); opacity:.7 }

/* ── SCROLL INDICATOR ────────────────────────────────────────── */
.hero__scroll {
  position:absolute; bottom:64px; left:50%; transform:translateX(-50%); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  opacity:0; animation:fadeIn .8s ease 1.4s forwards;
}
.hero__scroll-label {
  font-family:var(--mono); font-size:0.55rem; letter-spacing:.18em;
  text-transform:uppercase; color:rgba(255,255,255,0.45);
  animation:scrollPulse 3s ease-in-out 2s infinite;
}
.hero__scroll-line {
  width:1px; height:36px;
  background:linear-gradient(to bottom,rgba(255,255,255,0.35),transparent);
}

/* ── DARK GRADIENT BAND ──────────────────────────────────────── */
.dark-band {
  background: linear-gradient(160deg,#0d1535 0%,#142660 50%,#0d1a38 100%);
  position:relative; overflow:hidden;
}
.dark-band::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 80% at 80% 50%, rgba(39,106,212,0.18) 0%, transparent 65%),
    radial-gradient(ellipse 40% 60% at 15% 80%, rgba(39,106,212,0.1) 0%, transparent 60%);
}
.dark-band > * { position:relative; z-index:1 }
.dark-band .wrap { position:relative; z-index:1 }

/* ── STATS BAND ──────────────────────────────────────────────── */
.stats-band {
  padding: 0 56px;
  background: linear-gradient(135deg,#f9f7f2 0%,#edf2fd 40%,#deeafc 70%,#edf2fd 100%);
  border-top: 1px solid rgba(39,106,212,0.12);
  border-bottom: 1px solid rgba(39,106,212,0.12);
}
.stats-band__inner { display:grid; grid-template-columns:repeat(3,1fr) }
.stat-item {
  padding:68px 0 68px 56px;
  border-right:1px solid rgba(39,106,212,0.1);
  cursor:default; transition:background .25s;
}
.stat-item:first-child { padding-left:0 }
.stat-item:last-child { border-right:none }
.stat-item:hover { background:rgba(39,106,212,0.04) }
.stat-item__val {
  font-family:var(--serif); font-size:clamp(3.2rem,5vw,5rem);
  font-weight:200; letter-spacing:-0.05em; line-height:1;
  color:var(--ink); margin-bottom:12px;
}
.stat-item__val em { font-style:italic; color:var(--g) }
.stat-item__lbl { font-size:0.78rem; font-weight:300; color:var(--mid); line-height:1.6; max-width:200px }

/* ── CTA BAND ────────────────────────────────────────────────── */
.cta-band {
  background: linear-gradient(135deg,#f9f7f2 0%,#f0f4fd 50%,#e8effc 100%);
  border-top: 1px solid rgba(39,106,212,0.1);
}
.cta-band__inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start }
.cta-band h2 {
  font-family:var(--serif); font-size:clamp(2rem,3.2vw,3rem);
  font-weight:300; letter-spacing:-0.025em; line-height:1.12; color:var(--ink);
  margin-bottom:18px;
}
.cta-band h2 em { font-style:italic; color:var(--g) }
.cta-band p { font-size:0.88rem; font-weight:300; color:var(--mid); line-height:1.8; margin-bottom:32px; max-width:360px }
.cta-band__btns { display:flex; gap:12px; flex-wrap:wrap }

/* CTA inline flex variant */
.cta-flex { display:flex; align-items:center; justify-content:space-between; gap:48px; flex-wrap:wrap }
.cta-flex h2 { font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.8rem); font-weight:300; letter-spacing:-0.025em; line-height:1.15; color:var(--ink) }
.cta-flex h2 em { font-style:italic; color:var(--g) }
.cta-flex p { font-size:0.85rem; font-weight:300; color:var(--mid); margin-top:8px; max-width:380px }
.cta-flex__btns { display:flex; gap:12px; flex-wrap:wrap; flex-shrink:0 }

/* ── CONTACT FORM ELEMENTS ───────────────────────────────────── */
.ff { margin-bottom:12px }
.fl {
  display:block; font-family:var(--mono); font-size:0.58rem;
  font-weight:200; letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted); margin-bottom:5px;
}
.fi,.fsel,.fta {
  width:100%; padding:11px 14px;
  background:rgba(255,255,255,0.9); border:1px solid var(--rule2);
  font-family:var(--sans); font-size:0.84rem; font-weight:300; color:var(--ink);
  border-radius:2px; outline:none; appearance:none;
  transition:border-color .2s, background .2s;
}
.fi::placeholder,.fta::placeholder { color:var(--muted) }
.fi:focus,.fsel:focus,.fta:focus {
  border-color:var(--g); background:#fff;
  box-shadow: 0 0 0 3px rgba(39,106,212,0.08);
}
.fsel {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%239d9990' stroke-width='1.3' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 13px center;
  padding-right:36px; cursor:pointer;
}
.fta { min-height:130px; resize:vertical }
.fsub {
  width:100%; padding:13px;
  background:var(--ink); color:var(--cream);
  font-family:var(--sans); font-size:0.82rem; font-weight:400; letter-spacing:.04em;
  border:none; border-radius:2px; cursor:pointer; transition:background .2s;
  display:flex; align-items:center; justify-content:center; gap:10px;
}
.fsub:hover { background:var(--g) }
.fsub svg { width:12px; height:12px; transition:transform .2s }
.fsub:hover svg { transform:translateX(3px) }

/* ── TESTIMONIALS ────────────────────────────────────────────── */
.testi { background: var(--cream); }
.testi__inner { text-align: center; margin-bottom: clamp(40px,6vw,64px); }
.testi__h2 {
  font-family: var(--serif);
  font-size: clamp(2rem,4vw,3.2rem);
  font-weight: 300;
  letter-spacing: -0.03em;
  color: var(--ink);
  margin: 0;
  line-height: 1.15;
}
.testi__h2 em { font-style: italic; }
.testi__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.testi__card {
  background: var(--paper);
  border: 1px solid var(--rule2);
  border-radius: 2px;
  padding: 36px 32px;
  box-shadow: 0 2px 16px rgba(17,16,9,0.05);
  display: flex;
  flex-direction: column;
  gap: 0;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.testi__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(17,16,9,0.10);
}
.testi__quote-mark {
  font-family: var(--serif);
  font-style: italic;
  font-size: 4.5rem;
  line-height: 1;
  color: var(--g);
  margin-bottom: 8px;
  user-select: none;
}
.testi__body {
  font-family: var(--sans);
  font-size: 0.9rem;
  font-weight: 300;
  color: var(--ink);
  line-height: 1.75;
  margin: 0 0 28px;
  flex: 1;
}
.testi__rule {
  height: 1px;
  background: var(--rule2);
  margin-bottom: 20px;
}
.testi__person {
  display: flex;
  align-items: center;
  gap: 14px;
}
.testi__av {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--ink);
  color: var(--cream);
  font-family: var(--serif);
  font-style: italic;
  font-size: 0.78rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  letter-spacing: 0.02em;
}
.testi__name {
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--ink);
  margin-bottom: 3px;
}
.testi__role {
  font-family: var(--mono);
  font-size: 0.6rem;
  font-weight: 200;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
@media (max-width: 900px) {
  .testi__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 580px) {
  .testi__grid { grid-template-columns: 1fr; }
}

/* ── NEWSLETTER ────────────────────────────────────────────────── */
.newsletter {
  background: linear-gradient(160deg, #0d1535 0%, #142660 55%, #0d1a38 100%);
  padding: clamp(64px,9vw,100px) 56px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.newsletter::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 80% 20%, rgba(39,106,212,0.18) 0%, transparent 60%),
    radial-gradient(ellipse 50% 70% at 10% 90%, rgba(26,79,160,0.14) 0%, transparent 55%);
  pointer-events: none;
}
.newsletter__inner {
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 0 auto;
}
.newsletter__eyebrow {
  font-family: 'Geist Mono', monospace;
  font-size: 0.58rem;
  font-weight: 200;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(168,196,240,0.8);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.newsletter__eyebrow::before,
.newsletter__eyebrow::after {
  content: '';
  width: 24px;
  height: 1px;
  background: rgba(168,196,240,0.4);
}
.newsletter__heading {
  font-family: 'Fraunces', Georgia, serif;
  font-size: clamp(1.9rem, 3.5vw, 2.8rem);
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: #fff;
  margin-bottom: 16px;
}
.newsletter__heading em {
  font-style: italic;
  color: #a8c4f0;
}
.newsletter__sub {
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.75;
  color: rgba(249,247,242,0.6);
  margin-bottom: 36px;
}
.newsletter__form {
  display: flex;
  gap: 10px;
  max-width: 440px;
  margin: 0 auto 14px;
}
.newsletter__input {
  flex: 1;
  padding: 13px 18px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 2px;
  background: rgba(255,255,255,0.07);
  color: #fff;
  font-family: 'Geist', sans-serif;
  font-size: 0.82rem;
  font-weight: 300;
  outline: none;
  transition: border-color .2s;
  min-width: 0;
}
.newsletter__input::placeholder { color: rgba(255,255,255,0.35); }
.newsletter__input:focus { border-color: rgba(168,196,240,0.6); }
.newsletter__btn {
  padding: 13px 26px;
  border: none;
  border-radius: 2px;
  background: #fff;
  color: #111009;
  font-family: 'Geist', sans-serif;
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: .04em;
  cursor: pointer;
  white-space: nowrap;
  transition: background .2s, color .2s;
  flex-shrink: 0;
}
.newsletter__btn:hover { background: #276ad4; color: #fff; }
.newsletter__btn.sent  { background: #16a34a; color: #fff; cursor: default; }
.newsletter__note {
  font-family: 'Geist Mono', monospace;
  font-size: 0.62rem;
  font-weight: 200;
  letter-spacing: .04em;
  color: rgba(255,255,255,0.4);
  min-height: 1em;
  transition: color .3s;
}
.newsletter__note.success { color: #86efac; }
.newsletter__note.error   { color: #fca5a5; }
@media (max-width: 600px) {
  .newsletter { padding: clamp(48px,8vw,72px) 28px; }
  .newsletter__form { flex-direction: column; }
  .newsletter__btn { width: 100%; }
}

/* ── FOOTER ──────────────────────────────────────────────────── */
footer { background:var(--ink); padding:72px 56px 240px }
.ft {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px;
  padding-bottom:52px;
  border-bottom:1px solid rgba(255,255,255,0.07); margin-bottom:28px;
}
.fl2 { font-family:var(--serif); font-size:1.2rem; font-weight:300; color:#f9f7f2; margin-bottom:14px; letter-spacing:-.01em }
.fl2 em { font-style:italic; color:#a8c4f0 }
.fd { font-size:0.78rem; font-weight:200; color:rgba(249,247,242,0.3); line-height:1.8; max-width:240px; margin-bottom:18px }
.fct { font-family:var(--mono); font-size:0.58rem; font-weight:200; letter-spacing:.15em; text-transform:uppercase; color:rgba(249,247,242,0.2); margin-bottom:16px }
.fc a { display:block; font-size:0.78rem; font-weight:200; color:rgba(249,247,242,0.38); margin-bottom:10px; transition:color .2s }
.fc a:hover { color:#a8c4f0 }
.fb { display:flex; align-items:center; justify-content:space-between }
.fc2 { font-size:0.68rem; color:rgba(249,247,242,0.18) }
.fleg { display:flex; gap:18px }
.fleg a { font-size:0.68rem; color:rgba(249,247,242,0.18); transition:color .2s }
.fleg a:hover { color:#a8c4f0 }

/* Social icons in footer */
.f-social { display:flex; gap:12px; margin-top:4px }
.f-social a {
  width:30px; height:30px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.12);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,0.3);
  transition:border-color .2s, color .2s, background .2s;
}
.f-social a:hover { border-color:#a8c4f0; color:#a8c4f0; background:rgba(168,196,240,0.08) }
.f-social svg { width:13px; height:13px }

/* ── POLICY PAGES ────────────────────────────────────────────── */
.policy-wrap {
  max-width:1320px; margin:0 auto; padding:0 56px;
  display:grid; grid-template-columns:240px 1fr; gap:72px;
  padding-top:clamp(56px,7vw,88px); padding-bottom:clamp(72px,9vw,120px);
}
.policy-nav { position:sticky; top:calc(var(--nav-h) + 32px); height:fit-content }
.policy-nav__title { font-family:var(--mono); font-size:0.58rem; font-weight:200; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); margin-bottom:16px }
.policy-nav a { display:block; font-size:0.78rem; font-weight:300; color:var(--mid); padding:7px 0; border-bottom:1px solid var(--rule); transition:color .2s }
.policy-nav a:last-child { border-bottom:none }
.policy-nav a:hover { color:var(--ink) }
.policy-content h2 { font-family:var(--serif); font-size:clamp(1.3rem,2vw,1.8rem); font-weight:300; letter-spacing:-0.02em; color:var(--ink); margin-top:52px; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--rule2) }
.policy-content h2:first-child { margin-top:0 }
.policy-content h3 { font-family:var(--serif); font-size:1.05rem; font-weight:300; color:var(--ink2); margin-top:28px; margin-bottom:10px; letter-spacing:-0.01em }
.policy-content p { font-size:0.86rem; font-weight:300; color:var(--mid); line-height:1.85; margin-bottom:14px }
.policy-content ul,.policy-content ol { padding-left:20px; margin-bottom:14px }
.policy-content li { font-size:0.86rem; font-weight:300; color:var(--mid); line-height:1.85; margin-bottom:6px }
.policy-content a { color:var(--g); border-bottom:1px solid rgba(39,106,212,0.25); transition:border-color .2s }
.policy-content a:hover { border-bottom-color:var(--g) }
.policy-content strong { font-weight:500; color:var(--ink2) }
.policy-highlight { background:var(--paper); border-left:3px solid var(--g); padding:18px 22px; margin:24px 0; border-radius:0 2px 2px 0 }
.policy-highlight p { margin-bottom:0; color:var(--ink2) }
/* Legal hero: single-col, white text on blue */
.page-hero.legal-hero .phi { grid-template-columns:1fr; max-width:900px }
.phi-meta { display:flex; gap:24px; flex-wrap:wrap; margin-top:28px; padding-top:28px; border-top:1px solid rgba(255,255,255,0.12) }
.phi-meta-item { font-family:var(--mono); font-size:0.6rem; font-weight:200; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,0.28) }
.phi-meta-item span { color:rgba(255,255,255,0.5); margin-left:4px }

/* ── ANIMATIONS ──────────────────────────────────────────────── */
@keyframes fadeUp   { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:none} }
@keyframes fadeIn   { from{opacity:0} to{opacity:1} }
@keyframes marquee  { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes scrollPulse {
  0%,100% { opacity:.45; text-shadow:none }
  50%      { opacity:.9;  text-shadow: 0 0 12px rgba(255,255,255,0.55), 0 0 28px rgba(255,255,255,0.25) }
}

/* Reveal */
[data-r]        { opacity:0; transform:translateY(22px); transition:opacity .85s var(--ease),transform .85s var(--ease) }
[data-r].on     { opacity:1; transform:none }
[data-r=left]   { transform:translateX(-18px) }
[data-r=left].on{ transform:none }
[data-r=fade]   { transform:none }
[data-r=fade].on{ opacity:1 }
[data-r=scale]  { transform:scale(0.97) }
[data-r=scale].on{ transform:none }
[dd="1"] { transition-delay:.08s } [dd="2"] { transition-delay:.16s }
[dd="3"] { transition-delay:.24s } [dd="4"] { transition-delay:.32s }
[dd="5"] { transition-delay:.40s }

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media(max-width:1100px) {
  .nav { padding:0 28px }
  .nav__links { display:none }
  .pad  { padding:clamp(56px,8vw,96px) 28px }
  .pad-sm { padding:clamp(40px,6vw,72px) 28px }
  .page-hero { padding-left:28px; padding-right:28px }
  .phi { grid-template-columns:1fr; gap:40px }
  .stats-band { padding:0 28px }
  .stats-band__inner { grid-template-columns:1fr }
  .stat-item { border-right:none; border-bottom:1px solid rgba(39,106,212,0.1); padding-left:0; padding-top:44px; padding-bottom:44px }
  .stat-item:last-child { border-bottom:none }
  .cta-band__inner { grid-template-columns:1fr; gap:48px }
  .cta-flex { flex-direction:column; align-items:flex-start }
  footer { padding:56px 28px 232px }
  .ft { grid-template-columns:1fr 1fr }
  .fb { flex-direction:column; gap:14px; text-align:center }
  .policy-wrap { grid-template-columns:1fr; padding-left:28px; padding-right:28px }
  .policy-nav { display:none }
}
@media(max-width:640px) {
  .ft { grid-template-columns:1fr }
}

/* ── SCROLLBARS (site-wide) ─────────────────────────────────── */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--ink);border-left:1px solid rgba(255,255,255,0.04)}
::-webkit-scrollbar-thumb{background:rgba(39,106,212,0.45);border-radius:4px;border:2px solid var(--ink)}
::-webkit-scrollbar-thumb:hover{background:rgba(39,106,212,0.75)}
::-webkit-scrollbar-corner{background:var(--ink)}
html{scrollbar-color:rgba(39,106,212,0.45) var(--ink);scrollbar-width:thin}

/* ── TICKER / MARQUEE ────────────────────────────────────────── */
/* bg: #276ad4 | border: #5590e4 (2 shades lighter) | text: #ccdff8 (matches border) */
.marquee{overflow:hidden;padding:15px 0;background:#276ad4;border-top:1px solid #5590e4;border-bottom:1px solid #5590e4}
.marquee__track{display:flex;width:max-content;animation:marquee 36s linear infinite}
.marquee__item{display:flex;align-items:center;gap:44px;padding:0 44px;white-space:nowrap;font-family:var(--mono);font-size:0.6rem;letter-spacing:.13em;text-transform:uppercase;color:#ccdff8}
.msep{width:3px;height:3px;border-radius:50%;background:#ccdff8;opacity:.8}

/* ── HERO BUTTONS (interior pages, dark hero bg) ─────────────── */
.btn-hero-primary{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:0.78rem;font-weight:400;letter-spacing:.04em;padding:14px 26px;border-radius:2px;background:#fff;color:var(--ink);transition:background .22s,color .22s;cursor:pointer;text-decoration:none;border:none}
.btn-hero-primary:hover{background:var(--g);color:#fff}
.btn-hero-primary svg{width:12px;height:12px;transition:transform .2s;flex-shrink:0}
.btn-hero-primary:hover svg{transform:translateX(3px)}
.btn-hero-secondary{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:0.78rem;font-weight:300;letter-spacing:.04em;padding:14px 26px;border-radius:2px;border:1px solid rgba(255,255,255,0.3);color:rgba(255,255,255,0.75);transition:border-color .22s,color .22s;cursor:pointer;text-decoration:none;background:transparent}
.btn-hero-secondary:hover{border-color:rgba(255,255,255,0.7);color:#fff}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}

/* ── FOOTER LINKS — hover: light blue, active: white ─────────── */
.fc a:hover{color:#a8c4f0 !important}
.fc a:active{color:#fff !important}
.fleg a:hover{color:#a8c4f0 !important}
.fleg a:active{color:#fff !important}

/* ── SOCIAL ICONS (footer, dark bg) ─────────────────────────── */
.f-social{display:flex;gap:12px;margin-top:16px}
.f-social a{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.3);transition:border-color .2s,color .2s,background .2s;text-decoration:none}
.f-social a:hover{border-color:#a8c4f0;color:#a8c4f0;background:rgba(168,196,240,0.08)}
.f-social svg{width:13px;height:13px;flex-shrink:0}

/* ── LEGAL HERO ───────────────────────────────────────────────── */
.legal-phi{grid-template-columns:1fr !important;max-width:900px;text-align:left}
.phi-label-legal{font-family:var(--mono);font-size:0.58rem;font-weight:200;letter-spacing:.18em;text-transform:uppercase;color:rgba(168,196,240,0.7);display:flex;align-items:center;gap:12px;margin-bottom:22px;opacity:0;animation:fadeUp .8s var(--ease) .08s forwards}
.phi-label-legal::before{content:'';width:20px;height:1px;background:rgba(168,196,240,0.5)}
.legal-h1{font-family:var(--serif);font-size:clamp(2.4rem,5vw,5rem);font-weight:300;line-height:1.05;letter-spacing:-0.03em;color:#fff;text-align:left;opacity:0;animation:fadeUp 1s var(--ease) .18s forwards;margin-bottom:24px}
.phi-meta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:24px;border-top:1px solid rgba(255,255,255,0.12);opacity:0;animation:fadeUp .9s var(--ease) .3s forwards}
.phi-meta-pill{font-family:var(--mono);font-size:0.6rem;font-weight:200;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,0.28)}
.phi-meta-pill strong{color:rgba(255,255,255,0.5);font-weight:300}
.phi-meta-sep{color:rgba(255,255,255,0.15);font-size:0.9rem}

/* ── video HERO ───────────────────────────────────────────────── */

/*
.phi {
  z-index: 3;
}

.video-package {
    z-index: 0;
}
*/
.video-package { position: absolute; inset: 0; overflow: hidden; z-index: 0; background: linear-gradient(135deg, #0d1f3c 0%, #112249 50%, #0a1628 100%); }

.hero-bg-layer {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(160deg, #0d1535 0%, #142660 50%, #0d1a38 100%);
  transition: background 0.5s ease;
}

.bg-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  /*transform: rotate(10deg); */     /* rotate the video */
  /*transform-origin: center; */    /* pivot around center */
      
/* Optional: reduce video opacity */
  opacity: 0.45; /* 0–1 */
}

.bg-video2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  transform: rotate(180deg);      /* rotate the video */
  transform-origin: center;     /* pivot around center */
      
/* Optional: reduce video opacity */
  opacity: 0.2; /* 0–1 */
}

.color-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #0d1f3c 0%, #112249 50%, #0a1628 100%);
  z-index: 2;
  mix-blend-mode: multiply;
}

.content {
     z-index: 5;
}

.content.hero-btns {
       z-index: 5;
}

.content.btn-hero-primary {
    z-index: 5;
}
.content.btn-hero-secondary {
    z-index: 5;
}



#myDiv {
background-image: url('./images/elevation.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

#myDiv2 {
background-image: url('./images/image_block.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

#myDiv3 {
background-image: url('./images/image_block1.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

#myDiv4 {
background-image: url('./images/image_block2.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

#myDiv5 {
background-image: url('./images/image_block3.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

#myDiv6 {
background-image: url('./images/image_block4.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

#myDiv7 {
background-image: url('./images/image_block7.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
      /* Choose one blend mode */
  mix-blend-mode: overlay;   /* or: multiply, screen, color, lighten, darken, etc. */
    opacity: 0.5; /* 0–1 */
}

#myDiv8 {
background-image: url('./images/image_block6.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
      /* Choose one blend mode */
  mix-blend-mode: overlay;   /* or: multiply, screen, color, lighten, darken, etc. */
    opacity: 0.5; /* 0–1 */
}

#myDiv9 {
background-image: url('./images/image_block8.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
      /* Choose one blend mode */
  mix-blend-mode: overlay;   /* or: multiply, screen, color, lighten, darken, etc. */
    opacity: 0.5; /* 0–1 */
}

#myDiv10 {
background-image: url('./images/image_block9.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
      /* Choose one blend mode */
  mix-blend-mode: overlay;   /* or: multiply, screen, color, lighten, darken, etc. */
    opacity: 0.5; /* 0–1 */
}

#myDiv11 {
background-image: url('./images/image_block10.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
      /* Choose one blend mode */
  /*mix-blend-mode: overlay;   /* or: multiply, screen, color, lighten, darken, etc. */
    opacity: 1.0; /* 0–1 */
}

#myDiv12 {
background-image: url('./images/image_block11.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
      /* Choose one blend mode */
  /*mix-blend-mode: overlay;   /* or: multiply, screen, color, lighten, darken, etc. */
    opacity: 1.0; /* 0–1 */
}

#myDiv13 {
background-image: url('./images/image_block12.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
      /* Choose one blend mode */
  /*mix-blend-mode: overlay;   /* or: multiply, screen, color, lighten, darken, etc. */
    opacity: 1.0; /* 0–1 */
}

#myDiv14 {
background-image: url('./images/image_block14.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
      /* Choose one blend mode */
  /*mix-blend-mode: overlay;   /* or: multiply, screen, color, lighten, darken, etc. */
    opacity: 1.0; /* 0–1 */
}


#myDiv15 {
background-image: url('./images/image_block15.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
      /* Choose one blend mode */
  /*mix-blend-mode: overlay;   /* or: multiply, screen, color, lighten, darken, etc. */
    opacity: 1.0; /* 0–1 */
}

/* ── MOBILE NAV ──────────────────────────────────────────────── */
.nav__hamburger {
  display: none;
  margin-left: 12px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: var(--ink);
  transition: color .2s;
  flex-shrink: 0;
}
.nav__hamburger:hover { color: var(--g) }
.nav__hamburger svg { display: block; width: 22px; height: 22px }

/* hero-mode: white icons */
.nav.hero-mode .nav__hamburger { color: rgba(255,255,255,0.85) }
.nav.hero-mode.s .nav__hamburger { color: var(--ink) }
/* nav open: fade hamburger to brand navy + logo to light-bg version */
body.mob-open .nav .nav__hamburger { color: var(--g2) }
body.mob-open .nav .nav__logo { color: var(--ink) }
body.mob-open .nav .nav__logo em { color: var(--g) }

.mob-nav {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 190;
  background: var(--cream);
  flex-direction: column;
  padding: calc(var(--nav-h) + 28px) 28px 48px;
  overflow-y: auto;
}
.mob-nav.open { display: flex }
.mob-nav__links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1;
}
.mob-nav__links > li > a {
  display: block;
  font-family: var(--sans);
  font-size: 1rem;
  font-weight: 300;
  color: var(--ink);
  padding: 14px 0;
  border-bottom: 1px solid var(--rule);
  transition: color .2s, padding-left .2s;
}
.mob-nav__links > li > a:hover,
.mob-nav__links > li > a.active { color: var(--g) }

/* Sub-items (dropdown children) */
.mob-nav__sub {
  list-style: none;
  padding: 4px 0 8px 16px;
  border-bottom: 1px solid var(--rule);
}
.mob-nav__sub a {
  display: block;
  font-size: 0.82rem;
  font-weight: 300;
  color: var(--mid);
  padding: 7px 0;
  transition: color .15s;
}
.mob-nav__sub a:hover { color: var(--g) }

.mob-nav__cta {
  margin-top: 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mob-nav__cta .btn-a {
  justify-content: center;
  font-size: 0.85rem;
  padding: 15px 24px;
}
.mob-nav__signin {
  display: block;
  text-align: center;
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 300;
  color: var(--mid);
  padding: 12px;
  border: 1px solid var(--rule2);
  border-radius: 2px;
  transition: color .2s, border-color .2s;
}
.mob-nav__signin:hover { color: var(--ink); border-color: var(--ink) }
body.mob-open { overflow: hidden }

@media(max-width:1100px) {
  .nav__logo { flex: 1 }
  .nav__hamburger { display: flex; align-items: center; justify-content: center; margin-left: 8px }
  .nav__cta { display: none }
  .nav__signin { display: none }
}

/* ── VIDEO PAUSE CONTROL ─────────────────────────── */
.video-pause-btn { position:absolute; bottom:1rem; right:1rem; z-index:10; background:rgba(0,0,0,0.55); color:#fff; border:1px solid rgba(255,255,255,0.3); border-radius:50%; width:2.5rem; height:2.5rem; font-size:1rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background 0.2s; }
.video-pause-btn:hover { background:rgba(0,0,0,0.8); }
.video-pause-btn:focus-visible { outline:2px solid #fff; outline-offset:2px; }

/* ── REDUCED MOTION ──────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── BREADCRUMB NAV ──────────────────────────────────────────────── */
.breadcrumb-nav { padding: 0.5rem var(--gutter, 1.5rem); font-size: 0.72rem; letter-spacing: 0.02em; }
.breadcrumb-nav ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 0.2rem; margin: 0; padding: 0; }
.breadcrumb-nav li { display: flex; align-items: center; }
.breadcrumb-nav li + li::before { content: '/'; margin-right: 0.2rem; opacity: 0.35; }
.breadcrumb-nav a { color: inherit; text-decoration: none; opacity: 0.55; transition: opacity 0.15s; }
.breadcrumb-nav a:hover { opacity: 1; text-decoration: underline; }
.breadcrumb-nav [aria-current="page"] { opacity: 0.35; }

/* ── 404 PAGE ─────────────────────────────────────────────────── */
.not-found { min-height: 60vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 4rem var(--gutter, 1.5rem); gap: 1.5rem; }
.not-found__code { font-size: clamp(5rem, 15vw, 10rem); font-weight: 700; line-height: 1; opacity: 0.08; }
.not-found__title { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 600; margin-top: -3rem; }
.not-found__body { font-size: 0.95rem; line-height: 1.7; opacity: 0.6; max-width: 420px; }
.not-found__links { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; margin-top: 0.5rem; }
.not-found__links a { padding: 0.55rem 1.25rem; border-radius: 3px; font-size: 0.85rem; font-weight: 500; text-decoration: none; border: 1px solid currentColor; opacity: 0.7; transition: opacity 0.15s; }
.not-found__links a:hover { opacity: 1; }
.not-found__links a.primary { background: var(--g, #2d7d46); color: #fff; border-color: transparent; opacity: 1; }





























