/* ============ TRAILHEAD MEDIA — bespoke build (Sequel × Goat Rodeo × Oddarts synthesis) ============ */
@font-face{font-family:'Oswald';font-weight:400;font-display:swap;src:url('assets/fonts/oswald-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Oswald';font-weight:500;font-display:swap;src:url('assets/fonts/oswald-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Oswald';font-weight:600;font-display:swap;src:url('assets/fonts/oswald-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Oswald';font-weight:700;font-display:swap;src:url('assets/fonts/oswald-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url('assets/fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;src:url('assets/fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url('assets/fonts/inter-latin-600-normal.woff2') format('woff2')}

:root{
  --forest:#16271b;--forest2:#1f3527;--forest3:#0f1d14;--line:#2c4634;
  --cream:#f4ebd8;--cream2:#ebe1ca;--ink:#14231c;--ink2:#44564b;
  --amber:#e0922e;--amber2:#e8a850;--pine:#2e5d4e;--sage:#7d9c86;
  --disp:'Oswald',system-ui,sans-serif;--body:'Inter',system-ui,sans-serif;
  --hand:Georgia,'Times New Roman',serif; /* the human voice */
  --max:1150px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--cream);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 34px;position:relative;z-index:2}
.eyebrow{font-family:var(--disp);font-weight:600;letter-spacing:.32em;text-transform:uppercase;font-size:12.5px;color:var(--amber);margin-bottom:20px}
h1,h2,h3{font-family:var(--disp);font-weight:700;letter-spacing:-.5px;line-height:1.03}
.h-lg{font-size:clamp(30px,4.6vw,54px)}
.em{color:var(--amber)}
.lead{font-size:clamp(16.5px,1.7vw,19.5px);max-width:62ch}
.muted{color:var(--ink2)}
.sec{padding:100px 0;position:relative;overflow:hidden}
.dark{background:var(--forest);color:var(--cream)}
.dark .muted{color:#c3d3c7}
.dark2{background:var(--forest3);color:var(--cream)}

/* the human voice — italic serif marginalia (Goat Rodeo cheek, Sequel warmth) */
.note-hand{font-family:var(--hand);font-style:italic;font-size:15.5px;color:var(--ink2)}
.dark .note-hand,.dark2 .note-hand{color:#a9bfae}
.margin-note{font-family:var(--hand);font-style:italic;font-size:14.5px;color:var(--amber);margin-top:14px}

/* topo texture */
.topo{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.5;pointer-events:none}
.topo path{fill:none;stroke:var(--amber);stroke-width:1;opacity:.13}

/* ridge dividers — the "torn paper" of the outdoors */
.ridge{display:block;width:100%;height:44px;margin:0;position:relative;z-index:3}
.ridge svg{display:block;width:100%;height:100%}

/* nav */
.nav{position:sticky;top:0;z-index:60;background:rgba(22,39,27,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:15px;padding-bottom:15px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--disp);font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:18px;color:var(--cream)}
.brand svg{width:25px;height:25px;flex:none}
.nav-links{display:flex;gap:26px;align-items:center;font-size:14px}
.nav-links a{color:#cfe0d3;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--amber)}
.btn{font-family:var(--disp);font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:14px;padding:13px 26px;border-radius:2px;display:inline-block;transition:.2s;border:1px solid transparent;cursor:pointer}
.btn-amber{background:var(--amber);color:#1a1207}.btn-amber:hover{background:var(--amber2)}
.btn-ghost{border-color:rgba(207,224,211,.42);color:var(--cream)}.btn-ghost:hover{border-color:var(--amber);color:var(--amber)}
.btn-ink{border-color:rgba(20,35,28,.3);color:var(--ink)}.btn-ink:hover{border-color:var(--amber);color:var(--amber)}
.navtoggle{display:none;background:none;border:0;color:var(--cream);font-size:24px;cursor:pointer}

/* hero */
.hero{background:radial-gradient(130% 100% at 78% -20%,#22392a,var(--forest) 60%);color:var(--cream);padding:112px 0 84px;position:relative;overflow:hidden}
.hero .cat{font-family:var(--disp);letter-spacing:.3em;text-transform:uppercase;font-size:12.5px;color:var(--sage);margin-bottom:26px}
.hero h1{font-size:clamp(38px,6.4vw,78px);max-width:17ch;text-transform:none;letter-spacing:-1px;line-height:1}
.hero .sub{margin-top:26px;color:#cfe0d3;max-width:56ch;font-size:clamp(17px,1.8vw,20px)}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;align-items:center}
.hero .tagline{margin-top:52px;padding-top:24px;border-top:1px solid var(--line);font-family:var(--disp);letter-spacing:.04em;font-size:clamp(15px,1.7vw,18px);color:#aebfb2;text-transform:uppercase}
.hero .tagline b{color:var(--cream)}

/* founder's note — the trust anchor */
.founder-note{background:var(--cream2)}
.fnote{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start}
.fnote .portrait{border-radius:8px;min-height:340px;background:linear-gradient(155deg,#1f3527,#0f1d14 70%);border:1px solid var(--line);display:flex;align-items:flex-end;justify-content:center;padding:18px;position:relative;overflow:hidden}
.fnote .portrait::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(115deg,transparent 0 26px,rgba(224,146,46,.05) 26px 27px)}
.fnote .portrait .cap{position:relative;font-family:var(--disp);letter-spacing:.22em;text-transform:uppercase;font-size:10.5px;color:var(--sage);border:1px solid var(--line);padding:8px 14px;border-radius:2px}
.fnote .body p{font-size:16.5px;color:var(--ink);max-width:60ch}
.fnote .body p+p{margin-top:16px}
.fnote .quote{font-family:var(--hand);font-style:italic;font-size:clamp(19px,2.2vw,24px);color:var(--pine);border-left:3px solid var(--amber);padding-left:20px;margin:24px 0;line-height:1.5}
.fnote .quote .attr{display:block;font-size:14px;color:var(--ink2);margin-top:8px;font-style:normal;font-family:var(--body)}
.fnote .sig{margin-top:26px}
.fnote .sig .name{font-family:var(--hand);font-style:italic;font-size:30px;color:var(--ink)}
.fnote .sig .role{font-family:var(--disp);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:11.5px;color:var(--pine);margin-top:4px}

/* ethos pull */
.punch{font-family:var(--disp);font-weight:600;font-size:clamp(21px,2.5vw,29px);line-height:1.2}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}

/* formats — editorial rows */
.fmt{margin-top:50px;border-top:1px solid var(--line)}
.frow{display:grid;grid-template-columns:64px 1fr 1.6fr auto;gap:26px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);transition:.22s}
.frow:hover{padding-left:14px}
.frow:hover .fname{color:var(--amber)}
.fnum{font-family:var(--disp);font-weight:700;font-size:26px;color:var(--amber)}
.fname{font-family:var(--disp);font-weight:700;font-size:clamp(21px,2.4vw,30px);letter-spacing:-.3px;text-transform:uppercase;transition:.2s}
.fdesc{color:#bccfc1;font-size:15px;line-height:1.55}
.ftag{font-family:var(--disp);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--sage);text-align:right;white-space:nowrap}

/* model steps */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px}
.step3{border-top:2px solid var(--amber);padding-top:22px}
.step3 .n{font-family:var(--disp);font-weight:700;font-size:26px;color:var(--amber)}
.step3 h3{font-size:20px;text-transform:uppercase;margin:10px 0 10px}
.step3 p{color:var(--ink2);font-size:15px}
.dark .step3 p,.dark2 .step3 p{color:#bccfc1}

/* compounds cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px}
.card{background:#fff;border:1px solid #e0d8c5;border-radius:8px;padding:32px 28px;transition:.25s;position:relative}
.card:hover{transform:translateY(-4px);border-color:var(--amber)}
.card .ic{width:46px;height:46px;border:1.5px solid var(--amber);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.card .ic svg{width:21px;height:21px;stroke:var(--amber);fill:none;stroke-width:1.7}
.card h3{font-size:17.5px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.card p{color:var(--ink2);font-size:14.5px}
.card .fmt-link{display:block;margin-top:16px;font-family:var(--disp);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:11px;color:var(--pine)}
.dark .card,.dark2 .card{background:var(--forest2);border-color:var(--line)}
.dark .card h3,.dark2 .card h3{color:var(--cream)}
.dark .card p,.dark2 .card p{color:#bccfc1}

/* platform / lineage wall */
.prow{display:grid;grid-template-columns:1fr 2fr;gap:28px;align-items:center;background:var(--forest2);border:1px solid var(--line);border-radius:7px;padding:28px 32px;margin-top:14px}
.prow.parent{background:#0c1810}
.prow .ptitle{font-family:var(--disp);font-weight:700;font-size:22px;letter-spacing:.03em;text-transform:uppercase;color:var(--cream)}
.prow .plabel{font-family:var(--disp);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:10.5px;color:var(--amber);margin-top:5px}
.prow p{color:#bccfc1;font-size:14.5px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.stat{border-top:2px solid var(--amber);padding-top:16px}
.stat .big{font-family:var(--disp);font-weight:700;font-size:27px;color:var(--cream)}
.stat p{color:#a9bfae;font-size:14px;margin-top:6px}
.wall{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:38px}
.wall .cell{background:var(--forest);padding:26px 18px;text-align:center}
.wall .nm{font-family:var(--disp);font-weight:700;font-size:clamp(15px,1.7vw,20px);color:var(--cream)}
.wall .role{font-size:11px;color:var(--sage);margin-top:4px;letter-spacing:.05em;text-transform:uppercase}

/* pricing */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px}
.tier{background:var(--forest2);border:1px solid var(--line);border-radius:7px;padding:34px 28px;display:flex;flex-direction:column;transition:.25s}
.tier:hover{border-color:var(--amber);transform:translateY(-4px)}
.tier.feat{background:linear-gradient(180deg,#243f2d,#1c3324);border-color:var(--amber)}
.tier .tn{font-family:var(--disp);font-weight:700;font-size:30px;color:var(--amber);margin-bottom:12px}
.tier h3{font-size:18px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;color:var(--cream)}
.tier p{color:#bccfc1;font-size:14.5px;flex:1}
.tier .price{margin-top:22px;font-family:var(--disp);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:14.5px;color:var(--cream)}
.tier .price .sub{display:block;font-family:var(--hand);font-style:italic;font-weight:400;letter-spacing:0;text-transform:none;font-size:13px;color:var(--sage);margin-top:5px}
.billing{margin-top:26px;color:var(--sage);font-size:14px;font-style:italic;font-family:var(--hand);text-align:center}

/* contact */
.contact{background:var(--cream);text-align:center;padding:110px 0}
.contact h2{margin:0 auto}
.contact .who{margin-top:30px;font-family:var(--disp);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:14.5px;color:var(--pine)}
.contact .mail{display:inline-block;margin-top:6px;font-size:16px;color:var(--ink2);border-bottom:1px solid transparent}
.contact .mail:hover{color:var(--amber);border-color:var(--amber)}
.contact .selective{max-width:52ch;margin:22px auto 0}

/* footer */
.foot{background:var(--forest3);color:var(--sage);padding:42px 0;font-size:13.5px;border-top:1px solid var(--line)}
.foot .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.foot a{color:#cfe0d3;border-bottom:1px solid transparent}.foot a:hover{color:var(--amber);border-color:var(--amber)}
.foot .brand{font-size:15px}
.foot .human{font-family:var(--hand);font-style:italic;color:var(--sage)}

/* reveal + focus */
.rev{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.rev.in{opacity:1;transform:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--amber);outline-offset:3px}

@media(max-width:900px){
  .nav-links{position:fixed;inset:58px 0 auto 0;flex-direction:column;background:var(--forest);padding:22px 34px;gap:18px;border-bottom:1px solid var(--line);display:none}
  .nav-links.open{display:flex}
  .navtoggle{display:block}
  .split,.fnote{grid-template-columns:1fr;gap:30px}
  .fnote .portrait{min-height:240px}
  .cards,.tiers,.steps3,.stats{grid-template-columns:1fr}
  .wall{grid-template-columns:1fr 1fr}
  .prow{grid-template-columns:1fr;gap:12px}
  .frow{grid-template-columns:auto 1fr;gap:8px 18px}
  .frow .fdesc,.frow .ftag{grid-column:1/-1;text-align:left}
  .sec{padding:70px 0}
}
@media(prefers-reduced-motion:reduce){.rev{transition:none;opacity:1;transform:none}.card:hover,.tier:hover,.frow:hover{transform:none}}

/* ---- revision round additions ---- */
.brand .mark{width:30px;height:30px;border-radius:6px;display:block}
.brk{display:block}
.fnote .portrait{padding:0}
.fnote .portrait::before{display:none}
.fnote .portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;display:block;border-radius:8px;min-height:340px}
.denim-link{border-bottom:1px solid rgba(224,146,46,.5);transition:.2s}
.denim-link:hover{color:var(--amber);border-color:var(--amber)}
.denim-link strong{font-weight:600}
.foot .iglink{display:flex;align-items:center;gap:8px;color:#cfe0d3;border-bottom:1px solid transparent}
.foot .iglink:hover{color:var(--amber)}
.foot .ig{width:17px;height:17px;flex:none}

/* ---- round 2 additions ---- */
.fnote{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start}
.fnote .credit{font-size:11.5px;color:var(--ink2);letter-spacing:.05em;margin-top:8px;text-align:right}
.fmt-heading{font-family:var(--disp);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--sage);margin-top:36px}

/* how it works */
.hiw{margin-top:44px;border-top:1px solid var(--line)}
.hiwrow{display:grid;grid-template-columns:70px 1fr;gap:26px;padding:28px 0;border-bottom:1px solid var(--line)}
.hn{font-family:var(--disp);font-weight:700;font-size:26px;color:var(--amber)}
.hiwrow h3{font-size:21px;text-transform:uppercase;letter-spacing:-.2px;margin-bottom:8px}
.hiwrow p{color:#bccfc1;font-size:15px;max-width:66ch}
.deliv{margin-top:14px;font-size:13.5px;color:#9fb3a4;max-width:70ch;line-height:1.6}
.deliv .dlabel{font-family:var(--disp);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:11px;color:var(--amber);display:block;margin-bottom:6px}

/* contact form */
.cform{max-width:560px;margin:40px auto 0;text-align:left}
.cform .hp{position:absolute;left:-9999px}
.frow2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fgroup{margin-bottom:18px}
.fgroup label{display:block;font-family:var(--disp);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:11.5px;color:var(--pine);margin-bottom:7px}
.fgroup input,.fgroup textarea{width:100%;font-family:var(--body);font-size:15px;padding:12px 14px;border:1px solid #d6cfbd;border-radius:4px;background:#fff;color:var(--ink);resize:vertical}
.fgroup input:focus,.fgroup textarea:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:var(--amber)}
.cform .btn{width:100%;margin-top:6px;border:0}
.cform .fallback{margin-top:18px;font-size:13.5px;color:var(--ink2);text-align:center}
.cform .fallback a{color:var(--pine);border-bottom:1px solid rgba(46,93,78,.4)}
.cform .fallback a:hover{color:var(--amber);border-color:var(--amber)}
.formok{max-width:560px;margin:24px auto 0;text-align:center;font-family:var(--disp);font-weight:500;color:var(--pine);font-size:16px}

@media(max-width:640px){.frow2{grid-template-columns:1fr}}

/* ---- round 3 additions (notes 32,33,39) ---- */
.wwsmall{font-size:clamp(27px,3.9vw,44px)}
.fmt-link .rfc{display:block;font-family:var(--disp);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:10px;color:var(--sage);margin-bottom:5px}
.foot-min .wrap{justify-content:center}

/* ---- adopted from your form update ---- */
.formerr{max-width:560px;margin:24px auto 0;text-align:center;font-family:var(--body);font-weight:500;color:#8a2f1f;font-size:15px}
.formerr a{color:var(--pine);border-bottom:1px solid rgba(46,93,78,.4)}
.formerr a:hover{color:var(--amber);border-color:var(--amber)}
.cform button[disabled]{opacity:.68;cursor:wait}

/* ---- pillars reframe + how-it-works kicker ---- */
.fmt-sub{font-size:15px;color:#a9bfae;max-width:64ch;margin-top:8px;font-style:italic;font-family:var(--hand)}
.hiw-kicker{font-family:var(--disp);font-weight:600;text-transform:uppercase;letter-spacing:-.2px;font-size:clamp(17px,1.9vw,22px);color:var(--cream);margin-top:14px}
