/* Tarvora brand layer. Loaded last on every page.
   Deep green surfaces with a grid-paper texture, light Manrope display type, DM Sans body,
   near-square corners, Tarvora navy for headings and closing panels, orange as the spark. */
:root{
  --green:#173D33; --green-2:#254F43; --sage:#C7DDB6; --ink:#183431; --ink-2:#586B65; --ink-3:#7E8F88;
  --navy:#0C447C; --navy-deep:#042C53; --on-navy:#B9C8DA;
  --cream:#F8F8F3; --paper:#FDFDF9; --tint:#EDF1E9; --muted:#586B65; --line:rgba(24,52,49,.14);
  --display:Manrope,'DM Sans',Arial,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --grid-green:rgba(199,221,182,.09); --grid-navy:rgba(185,200,218,.08); --grid-light:rgba(24,52,49,.05);
}
body{font-family:'DM Sans',-apple-system,'Segoe UI',Arial,sans-serif;background:var(--cream);color:var(--ink)}

/* Type */
h1,h2,h3,.stat-num,.hub-head h1,.article h1,.section-title{font-family:var(--display)}
h1,.hub-head h1,.article h1{font-weight:400 !important;letter-spacing:-.045em !important}
h2{font-weight:400;letter-spacing:-.035em;color:var(--navy-deep)}
h3{font-weight:500;letter-spacing:-.015em}
.prose h2,.hub-sec h2,.related h2{font-weight:400}
.eyebrow{color:var(--ink-2);font-weight:500;letter-spacing:.22em;font-size:11.5px}
.card .tag,.post .tag,.answer .label,.chip-label{color:var(--ink-2);font-weight:500;letter-spacing:.18em}
.step-num,.fit-num,.section-num,.n{font-family:var(--mono);font-weight:500;letter-spacing:.06em}
.lead,.sub,.dek,.hub-head p{color:var(--ink-2)}
.prose p,.prose li,.terms dd{color:#2E3D39}

/* Navigation: green bar, white logo */
nav,nav.site,.topbar{background:rgba(23,61,51,.97) !important;border-bottom:1px solid rgba(199,221,182,.18) !important;backdrop-filter:none !important}
nav .logo svg rect,.topbar .logo svg rect,nav.site .logo svg rect{fill:#fff}
nav .logo span,.topbar .logo span,.logo-word,nav.site .logo span{color:#fff !important}
.nav-links,.top-nav{color:var(--sage) !important}
.nav-links a,.top-nav a{color:var(--sage)}
.nav-links a:hover,.nav-links a[aria-current],.top-nav a:hover{color:#fff !important}
nav .btn-ghost,.topbar .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}

/* Hero bands: green with grid paper */
.hero,.hero-zone{background-color:var(--green);background-image:linear-gradient(var(--grid-green) 1px,transparent 1px),linear-gradient(90deg,var(--grid-green) 1px,transparent 1px);background-size:32px 32px;color:#fff}
.hero h1,.hero-zone h1{color:#fff}
.hero h1 .accent,.hero-zone h1 .accent{color:var(--sage)}
.hero .eyebrow,.hero-zone .eyebrow{color:var(--sage)}
.hero p,.hero .lead,.hero-zone p,.hero-zone .lead{color:var(--sage)}
.hero .chip{background:transparent;color:#fff;border-color:rgba(199,221,182,.35)}
.hero .chip-label{color:var(--sage)}
.hero .btn-ghost,.hero-zone .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.hero .btn-ghost:hover,.hero-zone .btn-ghost:hover{border-color:#fff}
.hero .panel,.hero-zone .panel,.hero-zone .formcard{color:var(--ink)}
.hero .panel p,.hero-zone .formcard p{color:var(--ink-2)}
.blob,.blob-1,.blob-2{display:none !important}

/* Stat strip */
.strip{background-color:var(--green);background-image:linear-gradient(var(--grid-green) 1px,transparent 1px),linear-gradient(90deg,var(--grid-green) 1px,transparent 1px);background-size:32px 32px;border-top:1px solid rgba(199,221,182,.18)}
.stat-num{font-weight:400;letter-spacing:-.03em}
.stat-num span{color:var(--sage)}
.stat-label{color:var(--sage)}

/* Closing and highlight panels: Tarvora navy with grid paper */
.cta-final,.cta-box,.takeaways{background-color:var(--navy-deep);background-image:linear-gradient(var(--grid-navy) 1px,transparent 1px),linear-gradient(90deg,var(--grid-navy) 1px,transparent 1px);background-size:32px 32px}
.cta-final p,.cta-box p,.form-field label{color:var(--on-navy) !important}
.cta-bars{opacity:.25}

/* Surfaces */
.card,.step,.panel,.trust,.agent,.post,.answer,.toc,.formcard,.task{background:var(--paper)}
.task{background:var(--tint)}
.card:hover,.post:hover,.agent:hover{box-shadow:none;border-color:var(--navy)}
.panel{box-shadow:0 24px 60px -34px rgba(4,30,24,.45)}
.answer{border-left-color:var(--navy)}
.note{background:var(--tint)}
.prose th{background:var(--tint)}
.prose a,.terms dd a{text-decoration-color:rgba(12,68,124,.45)}
.agent-dot{border-radius:2px}
.btn{font-weight:500;letter-spacing:.01em}
.btn-ghost{border-color:var(--line)}
footer,footer.site{border-top-color:var(--line)}
@media (prefers-reduced-motion: reduce){.card:hover,.post:hover,.agent:hover{transform:none}}

/* Fixes for page-specific templates */
nav.crumbs{background:none !important;border:0 !important}
nav.crumbs a{color:var(--navy)}
.hero p.lead,.hero .lead,.hero-zone .lead{color:var(--sage) !important}
.hero .btn-ghost,.hero-zone .btn-ghost{background:transparent !important}

nav .nav-inner > a:not(.logo):not(.btn){color:var(--sage)}
nav .nav-inner > a:not(.logo):not(.btn):hover{color:#fff}
