:root{
  --deep:#0E2A35; --deep-2:#14394A; --sea:#2E6B7A;
  --bread:#C8923F; --bread-soft:#E9CF9C;
  --paper:#F6F1E7; --paper-2:#EDE5D4; --ink:#1A2226; --muted:#5B6668;
  --line:rgba(14,42,53,.14);
  --serif:"Fraunces",Georgia,serif; --sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.eyebrow{font:600 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--bread)}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;line-height:1.05}
h2{font-size:clamp(36px,5vw,64px)}
h3{font-size:28px;line-height:1.15}
.lede{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:620px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:999px;font:600 15px/1 var(--sans);text-decoration:none;transition:transform .2s,background .2s,color .2s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--bread);color:var(--deep)}
.btn-gold:hover{background:var(--bread-soft)}
.btn-ghost{border:1px solid rgba(246,241,231,.35);color:var(--paper)}
.btn-ghost:hover{background:rgba(246,241,231,.08)}
.btn-dark{background:var(--deep);color:var(--paper)}

/* nav */
nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s,box-shadow .3s}
nav.solid{background:rgba(14,42,53,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--paper);font:400 26px/1 var(--serif);letter-spacing:-.02em}
.brand svg{width:38px;height:38px;color:var(--paper)}
.navlinks{display:flex;gap:30px;align-items:center}
.navlinks a{color:rgba(246,241,231,.82);text-decoration:none;font-size:14px;font-weight:500}
.navlinks a:hover{color:var(--paper)}
.navlinks .btn{padding:11px 20px;font-size:14px;color:var(--deep)}
@media(max-width:860px){.navlinks a:not(.btn){display:none}}

/* hero */
.hero{position:relative;background:radial-gradient(1200px 600px at 75% 20%,#1d4c5d 0%,transparent 60%),var(--deep);color:var(--paper);min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:140px 0 100px}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:center}
.hero h1{font-size:clamp(52px,8.4vw,124px);font-weight:300}
.hero h1 em{font-style:italic;color:var(--bread-soft)}
.hero p{color:rgba(246,241,231,.78);font-size:clamp(18px,1.7vw,22px);max-width:560px;margin:28px 0 40px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-mark{position:relative;aspect-ratio:1;max-width:420px;justify-self:end;width:100%}
.hero-mark svg{width:100%;height:100%;color:var(--bread-soft)}
.hero-mark .ring{position:absolute;inset:-14%;border:1px solid rgba(233,207,156,.18);border-radius:50%;animation:spin 60s linear infinite}
.hero-mark .ring:after{content:"";position:absolute;top:50%;left:-5px;width:9px;height:9px;border-radius:50%;background:var(--bread)}
@keyframes spin{to{transform:rotate(360deg)}}
.waves{position:absolute;left:0;right:0;bottom:0;height:160px;z-index:1;opacity:.5}
.scripture{position:absolute;bottom:34px;left:0;right:0;z-index:2}
.scripture .wrap{display:block}
.scripture p{font:italic 300 15px/1.5 var(--serif);color:rgba(246,241,231,.55);margin:0;max-width:none}
@media(max-width:860px){.hero{flex-direction:column;align-items:stretch}.hero-mark .ring{inset:-8%}.hero .wrap{grid-template-columns:1fr}.hero-mark{max-width:220px;justify-self:start;order:-1}.scripture{position:static;margin-top:40px}}

/* sections */
section{padding:clamp(80px,11vw,140px) 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:start}
@media(max-width:860px){.split{grid-template-columns:1fr}}

/* problem */
.problem h2 em{font-style:italic;color:var(--sea)}
.hats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:8px}
.hats div{background:var(--paper);padding:22px 22px 20px}
.hats b{display:block;font:400 34px/1 var(--serif);color:var(--deep);margin-bottom:6px}
.hats span{font-size:14px;color:var(--muted)}
.problem .closer{margin-top:28px;font:italic 400 22px/1.4 var(--serif);color:var(--deep)}

/* voices */
.voices{background:var(--paper-2)}
.voices header{display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap;margin-bottom:56px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:960px){.cards{grid-template-columns:1fr}}
.card{background:var(--paper);border-radius:22px;padding:34px 30px 30px;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(14,42,53,.45)}
.avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font:400 30px/1 var(--serif);color:var(--paper);margin-bottom:24px}
.card .role{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:6px 0 16px}
.card p{color:var(--muted);font-size:16px}
.card ul{list-style:none;margin-top:22px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:10px}
.card li{font-size:15px;padding-left:22px;position:relative}
.card li:before{content:"";position:absolute;left:0;top:10px;width:10px;height:2px;background:var(--bread)}
.card .for{margin-top:auto;padding-top:22px;font:italic 400 17px/1.4 var(--serif);color:var(--deep)}

/* kit */
.kit{background:var(--deep);color:var(--paper)}
.kit .lede{color:rgba(246,241,231,.7)}
.kitgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:64px;border-top:1px solid rgba(246,241,231,.15)}
@media(max-width:960px){.kitgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.kitgrid{grid-template-columns:1fr}}
.kitgrid div{padding:32px 26px 10px 0}
.kitgrid .n{font:300 15px/1 var(--serif);color:var(--bread);margin-bottom:18px}
.kitgrid h3{font-size:24px;margin-bottom:10px}
.kitgrid p{font-size:15px;color:rgba(246,241,231,.66)}

/* guardrails */
.guard .people{display:grid;gap:0;border-top:1px solid var(--line)}
.guard .people div{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
.guard .people b{font:400 22px/1.3 var(--serif);color:var(--deep)}
.guard .people span{font-size:14px;color:var(--muted);text-align:right}
.quote{font:300 clamp(26px,3vw,36px)/1.3 var(--serif);color:var(--deep);margin:28px 0}
.quote em{color:var(--sea)}

/* roots */
.roots{background:var(--paper-2)}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);margin-top:60px;position:relative}
.timeline:before{content:"";position:absolute;top:9px;left:0;right:0;height:1px;background:var(--deep);opacity:.25}
@media(max-width:860px){.timeline{grid-template-columns:1fr 1fr;row-gap:40px}.timeline:before{display:none}}
.timeline div{padding-right:22px;position:relative}
.timeline i{display:block;width:19px;height:19px;border-radius:50%;background:var(--paper-2);border:2px solid var(--bread);margin-bottom:22px}
.timeline small{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bread)}
.timeline h3{font-size:22px;margin:8px 0}
.timeline p{font-size:14.5px;color:var(--muted)}

/* vision */
.vision{background:linear-gradient(180deg,var(--deep) 0%,#0a2029 100%);color:var(--paper);text-align:center;overflow:hidden;position:relative}
.vision .big{display:flex;justify-content:center;gap:clamp(30px,8vw,120px);margin:60px 0 40px;flex-wrap:wrap}
.vision .big b{display:block;font:300 clamp(64px,11vw,150px)/.9 var(--serif);color:var(--bread-soft);letter-spacing:-.04em}
.vision .big span{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,241,231,.6)}
.vision .lede{margin:0 auto;color:rgba(246,241,231,.72)}
.vision h2 em{font-style:italic;color:var(--bread-soft)}

/* pricing */
.price-card{background:var(--deep);color:var(--paper);border-radius:28px;padding:clamp(36px,5vw,64px);display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
@media(max-width:860px){.price-card{grid-template-columns:1fr}}
.price-card .amt{font:300 clamp(80px,10vw,128px)/1 var(--serif);letter-spacing:-.04em;color:var(--bread-soft)}
.price-card .amt sup{font-size:.35em;vertical-align:top;position:relative;top:.35em;margin-right:4px}
.price-card .per{color:rgba(246,241,231,.7);margin:6px 0 28px}
.price-card ul{list-style:none;display:grid;gap:14px}
.price-card li{display:flex;gap:14px;font-size:16px;color:rgba(246,241,231,.86)}
.price-card li svg{flex:none;width:20px;height:20px;color:var(--bread);margin-top:3px}

/* faq */
details{border-bottom:1px solid var(--line);padding:24px 0}
details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font:400 22px/1.3 var(--serif);color:var(--deep)}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";font:300 28px/1 var(--sans);color:var(--bread);transition:transform .2s}
details[open] summary:after{transform:rotate(45deg)}
details p{margin-top:14px;color:var(--muted);max-width:640px}

/* cta + footer */
.final{text-align:center;padding-bottom:120px}
.final h2{max-width:820px;margin:0 auto 22px}
.final .lede{margin:0 auto 38px}
footer{background:var(--deep);color:rgba(246,241,231,.6);padding:60px 0 40px;font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:center}
footer a{text-decoration:none}
footer a:hover{color:var(--paper)}

/* reveal */
.r{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.r.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.r{opacity:1;transform:none}.hero-mark .ring{animation:none}html{scroll-behavior:auto}}

/* beliefs page */
.page-hero{background:var(--deep);color:var(--paper);padding:170px 0 90px}
.page-hero h1{font-size:clamp(48px,7vw,96px);font-weight:300}
.page-hero h1 em{font-style:italic;color:var(--bread-soft)}
.page-hero p{color:rgba(246,241,231,.78);font-size:clamp(18px,1.6vw,21px);max-width:680px;margin-top:26px}
.toc{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}
.toc a{border:1px solid rgba(246,241,231,.3);color:var(--paper);border-radius:999px;padding:9px 16px;font-size:14px;text-decoration:none}
.toc a:hover{background:rgba(246,241,231,.08)}
.prose{max-width:760px}
.beliefs{list-style:none;counter-reset:b;border-top:1px solid var(--line)}
.beliefs li{counter-increment:b;display:grid;grid-template-columns:56px 1fr;gap:10px;padding:26px 0;border-bottom:1px solid var(--line)}
.beliefs li:before{content:counter(b,decimal-leading-zero);font:300 16px/1.6 var(--serif);color:var(--bread)}
.beliefs h3{font-size:24px;margin-bottom:6px}
.beliefs p{color:var(--ink)}
.ref{display:block;margin-top:8px;font-size:14px;color:var(--muted)}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}
.pills span{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-size:15px}
.motto{font:italic 400 clamp(24px,2.6vw,32px)/1.35 var(--serif);color:var(--deep);margin-top:20px}
.commit{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media(max-width:760px){.commit{grid-template-columns:1fr}}
.commit div{background:var(--paper-2);border-radius:18px;padding:28px}
.commit h3{font-size:22px;margin-bottom:8px}
.commit p{color:var(--muted);font-size:16px}
.creed{background:var(--paper-2)}
.creed-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);margin-top:50px}
@media(max-width:860px){.creed-grid{grid-template-columns:1fr}}
.creed-grid h3{font-size:30px;margin-bottom:18px}
.creed-grid p{font:300 19px/1.65 var(--serif);color:var(--ink);margin-bottom:16px}
.small{font-size:13px;color:var(--muted);margin-top:30px}
