:root{
  --bg:#f4f1e8; --surface:#faf8f2; --alt:#e8e3d2; --line:#c7c1ae; --line-soft:#ddd7c6;
  --ink:#1a1a1a; --muted:#4a4842; --faint:#7a776d;
  --forest:#1f3a2e; --forest-dark:#152821; --moss:#3f5d4a; --sage:#7a8f7a;
  --clay:#1f3a2e; --clay-deep:#152821; --clay-tint:#dfe5dc;
  --teal:#3f5d4a; --teal-deep:#2c4536; --teal-tint:#dde4d8;
  --gold:#b8923a; --gold-text:#7d6020; --gold-light:#d9bd78; --gold-tint:#efe4c6;
  --on-dark:#f4f1e8; --on-dark-muted:#c9cfc3;
  --font-d:'Instrument Serif',Georgia,serif; --font-b:'DM Sans',-apple-system,'Segoe UI',sans-serif;
  --text-xs:clamp(.78rem,.75rem + .15vw,.86rem);
  --text-sm:clamp(.9rem,.86rem + .15vw,.97rem);
  --text-base:clamp(1rem,.96rem + .2vw,1.075rem);
  --text-lg:clamp(1.15rem,1.05rem + .4vw,1.35rem);
  --text-xl:clamp(2rem,1.5rem + 1.8vw,3rem);
  --text-hero:clamp(2.8rem,1.8rem + 3.8vw,5.2rem);
  --wrap:1180px; --radius:14px;
  --shadow:0 1px 2px rgba(21,40,33,.06),0 10px 30px rgba(21,40,33,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--font-b);font-size:var(--text-base);line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1.15rem,4vw,2.5rem)}
.serif{font-family:var(--font-d)}
.eyebrow{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text);font-weight:500}
h1,h2,h3{font-family:var(--font-d);font-weight:400;line-height:1.05;letter-spacing:-.005em}
h2{font-size:var(--text-xl)}
h3{font-size:clamp(1.3rem,1.15rem + .5vw,1.6rem);font-weight:400;line-height:1.2}
p{max-width:64ch}
.muted{color:var(--muted)}

/* preview bar */
.mockbar{background:var(--forest-dark);color:var(--on-dark);font-size:var(--text-xs);text-align:center;padding:.5rem 1rem;letter-spacing:.02em}
.mockbar b{color:var(--gold-tint);font-weight:600}

/* header */
header.site{position:sticky;top:0;z-index:20;background:rgba(244,241,232,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand svg{width:28px;height:28px;color:var(--clay)}
.brand span{font-family:var(--font-d);font-size:1.35rem;color:var(--forest);letter-spacing:.005em}
nav.main{display:flex;gap:1.6rem;align-items:center}
nav.main a{font-size:var(--text-sm);text-decoration:none;color:var(--muted)}
nav.main a:hover{color:var(--ink)}
nav.main a.btn-primary,nav.main a.btn-primary:hover{color:#fff}
@media (max-width:860px){nav.main a:not(.btn){display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-b);font-size:var(--text-sm);font-weight:500;padding:.85rem 1.4rem;border-radius:999px;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s;line-height:1.1;min-height:44px}
.btn-primary{background:var(--clay);color:#fff}
.btn-primary:hover{background:var(--clay-deep)}
.btn-ghost{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--bg)}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-deep)}
.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;pointer-events:none}
.btn-sm{padding:.6rem 1rem;min-height:40px}

/* hero */
.hero{padding:clamp(3rem,7vw,6rem) 0 clamp(3rem,6vw,5rem);background:var(--forest);color:var(--on-dark)}
.hero .eyebrow{color:var(--gold-light)}
.hero .btn-primary{background:var(--gold);color:var(--forest-dark)}
.hero .btn-primary:hover{background:var(--gold-light)}
.hero .btn-ghost{border-color:rgba(244,241,232,.7);color:var(--on-dark)}
.hero .btn-ghost:hover{background:var(--on-dark);color:var(--forest)}
.hero .textlink{display:inline-block;margin-top:1.1rem;font-size:var(--text-sm);color:var(--gold-light);text-underline-offset:4px}
.hero .textlink:hover{color:var(--on-dark)}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero h1{font-size:var(--text-hero);margin:1rem 0 1.4rem}
.hero h1 em{font-style:italic;color:var(--gold-light)}
.hero .lede{font-size:var(--text-lg);color:var(--on-dark-muted);line-height:1.5;max-width:34ch}
.hero .ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.hero .note{margin-top:1rem;font-size:var(--text-xs);color:var(--on-dark-muted)}
.hero figure{position:relative}
.hero figure img{border-radius:var(--radius);aspect-ratio:4/5;height:auto;max-height:640px;object-fit:cover;width:100%;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.hero figure figcaption{position:absolute;left:-1.25rem;bottom:1.5rem;background:var(--bg);color:var(--ink);border:1px solid var(--gold);border-radius:12px;padding:.9rem 1.1rem;box-shadow:var(--shadow);max-width:250px}
.hero figure figcaption .t{font-family:var(--font-d);font-size:1.2rem;color:var(--forest);line-height:1.25}
.hero figure figcaption .s{font-size:var(--text-xs);color:var(--muted);margin-top:.25rem}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.hero figure figcaption{left:1rem}}

section{padding:clamp(3.5rem,8vw,6.5rem) 0}
.section-head{max-width:720px;margin-bottom:clamp(2rem,4vw,3rem)}
.section-head h2{margin:.7rem 0 .9rem}
.section-head p{color:var(--muted)}
.band{background:var(--alt);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.pillar{background:var(--surface);padding:1.7rem 1.5rem}
.pillar .n{font-family:var(--font-d);font-style:italic;color:var(--gold-text);font-size:1.3rem}
.pillar h3{margin:.6rem 0 .5rem}
.pillar p{font-size:var(--text-sm);color:var(--muted)}
@media (max-width:960px){.pillars{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pillars{grid-template-columns:1fr}}

/* build */
.build .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.build img{border-radius:var(--radius);aspect-ratio:4/5;height:auto;max-height:620px;object-fit:cover;width:100%}
.ventures{display:grid;gap:1rem;margin-top:1.8rem}
.venture{border-left:3px solid var(--gold);padding:.2rem 0 .2rem 1.1rem}
.venture h3{font-size:1.45rem;color:var(--forest)}
.venture p{font-size:var(--text-sm);color:var(--muted);margin-top:.25rem}
.fineprint{font-size:var(--text-xs);color:var(--muted);margin-top:1.4rem;max-width:60ch}
@media (max-width:860px){.build .wrap{grid-template-columns:1fr}.build img{aspect-ratio:16/10}}

/* included */
.included{display:grid;grid-template-columns:repeat(12,1fr);gap:1.1rem}
.item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;display:flex;flex-direction:column;gap:.6rem}
.item.book{grid-column:span 6;grid-row:span 2;background:var(--forest);color:var(--on-dark);border-color:var(--forest);padding:2rem;justify-content:space-between}
.item.book .eyebrow{color:var(--gold-light)}
.item.book h3{font-size:clamp(1.8rem,1.4rem + 1.2vw,2.5rem);color:var(--on-dark)}
.item.book p{color:var(--on-dark-muted);font-size:var(--text-sm)}
.item:not(.book){grid-column:span 3}
.item .tag{align-self:flex-start;font-size:var(--text-xs);font-weight:600;padding:.2rem .6rem;border-radius:999px;background:var(--teal-tint);color:var(--teal-deep)}
.item .tag.gold{background:var(--gold-tint);color:#5e4816}
.item p{font-size:var(--text-sm);color:var(--muted)}
.bookobj{display:flex;gap:1.4rem;align-items:flex-end;margin-top:1.2rem}
.cover{width:132px;flex:none;aspect-ratio:2/3;background:linear-gradient(160deg,#f8f5f0,#ece4d6);border-radius:3px 6px 6px 3px;box-shadow:inset 6px 0 0 rgba(0,0,0,.06),0 18px 36px rgba(0,0,0,.35);padding:14px 12px;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink)}
.cover .ct{font-family:var(--font-d);font-size:.92rem;line-height:1.08}
.cover .cs{font-size:.5rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.cover .ca{font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);font-weight:600}
@media (max-width:960px){.item.book{grid-column:span 12}.item:not(.book){grid-column:span 6}}
@media (max-width:560px){.item:not(.book){grid-column:span 12}}

/* pricing */
.pricing{display:grid;grid-template-columns:1.15fr .85fr;gap:1.2rem;align-items:stretch}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.6rem,3vw,2.4rem);display:flex;flex-direction:column;gap:1rem}
.plan.main{border:1.5px solid var(--gold);box-shadow:var(--shadow)}
.price{display:flex;align-items:baseline;gap:.4rem;font-family:var(--font-d)}
.price .amt{font-size:clamp(2.6rem,2rem + 2vw,3.6rem);line-height:1}
.price .per{font-family:var(--font-b);color:var(--muted);font-size:var(--text-sm)}
ul.checks{list-style:none;display:grid;gap:.55rem}
ul.checks li{position:relative;padding-left:1.6rem;font-size:var(--text-sm)}
ul.checks li::before{content:"";position:absolute;left:0;top:.42em;width:.85rem;height:.5rem;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.terms{background:var(--alt);border-radius:10px;padding:1rem 1.1rem;font-size:var(--text-xs);color:var(--ink);line-height:1.55}
.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:var(--text-xs);cursor:pointer;line-height:1.5}
.consent input{width:20px;height:20px;flex:none;margin-top:.1rem;accent-color:var(--clay)}
.pending{display:none;font-size:var(--text-xs);color:var(--clay-deep);background:var(--clay-tint);border-radius:8px;padding:.6rem .8rem}
.pending.show{display:block}
.plan.side{background:var(--moss);color:var(--on-dark);border-color:var(--moss)}
.plan.side h3{color:var(--on-dark)}
.plan.side p{color:#dfe5da;font-size:var(--text-sm)}
.plan.side .btn{background:var(--bg);color:var(--forest);align-self:flex-start}
.plan.side .btn:hover{background:#fff}
@media (max-width:860px){.pricing{grid-template-columns:1fr}}

/* vip */
.vip{background:var(--forest-dark);color:var(--on-dark)}
.vip .wrap{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:clamp(2rem,5vw,4rem)}
.vip h2{color:var(--on-dark)}
.vip .eyebrow{color:var(--gold-light)}
.vip p{color:var(--on-dark-muted)}
.vip dl{display:grid;grid-template-columns:auto 1fr;gap:.9rem 1.4rem;border-top:1px solid rgba(184,146,58,.4);padding-top:1.4rem;margin-top:.2rem}
.vip dt{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light);padding-top:.15rem}
.vip dd{font-size:var(--text-sm);color:var(--on-dark)}
.vip .seats{display:flex;gap:.5rem;margin-top:.4rem}
.vip .seat{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--gold);display:grid;place-items:center;font-size:.75rem;color:var(--gold-light)}
.vip .btn-primary{margin-top:1.6rem;background:var(--gold);color:var(--forest-dark)}
.vip .btn-primary:hover{background:var(--gold-light)}
.vip .portrait{border-radius:var(--radius);width:100%;height:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.vip .terms{background:rgba(244,241,232,.07);color:var(--on-dark-muted)}
@media (max-width:1000px){.vip .wrap{grid-template-columns:1fr 1fr}.vip .portrait{display:none}}
@media (max-width:860px){.vip .wrap{grid-template-columns:1fr}}

/* faq */
.faq{max-width:820px}
details{border-bottom:1px solid var(--line);padding:1.15rem 0}
summary{cursor:pointer;list-style:none;font-family:var(--font-d);font-size:1.4rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--font-b);color:var(--gold-text);font-size:1.4rem;line-height:1;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:.7rem;color:var(--muted);font-size:var(--text-sm)}

footer{padding:2.6rem 0 3rem;font-size:var(--text-xs)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.2rem}
footer .links{display:flex;gap:1.2rem;flex-wrap:wrap}

/* founders page */
.f-hero{padding:clamp(3rem,7vw,5.5rem) 0 2rem}
.f-grid{display:grid;grid-template-columns:1fr 420px;gap:clamp(2rem,5vw,4rem);align-items:start}
.f-grid h1{font-size:clamp(2.2rem,1.5rem + 3vw,3.8rem);margin:.9rem 0 1.2rem}
.timeline{list-style:none;display:grid;gap:0;margin-top:2rem;border-left:2px solid var(--line);padding-left:1.4rem}
.timeline li{position:relative;padding:0 0 1.4rem}
.timeline li::before{content:"";position:absolute;left:calc(-1.4rem - 7px);top:.35rem;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--clay)}
.timeline .d{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--clay);font-weight:600}
.timeline .w{font-size:var(--text-sm);margin-top:.15rem}
.sticky{position:sticky;top:90px}
@media (max-width:960px){.f-grid{grid-template-columns:1fr}.sticky{position:static}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.brand img{width:40px;height:40px;border-radius:50%;flex:none;display:block;box-shadow:0 0 0 1px rgba(184,146,58,.5)}
.item.book .book-sub{font-family:var(--font-d);font-size:clamp(1.15rem,1rem + .5vw,1.4rem);line-height:1.25;color:var(--on-dark-muted);margin-top:.5rem;max-width:30ch}
.cover-img{width:150px;height:auto;flex:none;aspect-ratio:2/3;object-fit:cover;border-radius:2px 5px 5px 2px;box-shadow:inset 6px 0 0 rgba(0,0,0,.06),0 18px 36px rgba(0,0,0,.4);display:block}
.nowrap{white-space:nowrap}

/* complimentary preview */
.preview{background:var(--alt);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.preview .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.preview img{border-radius:var(--radius);width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.preview h2{margin:.7rem 0 .9rem;color:var(--forest)}
.preview .muted{max-width:48ch}
.kit-form{margin-top:1.6rem;display:grid;gap:.9rem;max-width:460px}
.kit-form .row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.kit-form label{display:grid;gap:.35rem;font-size:var(--text-xs);font-weight:500;color:var(--ink)}
.kit-form input[type=text],.kit-form input[type=email]{font:inherit;font-size:var(--text-base);padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);min-height:46px;width:100%}
.kit-form input:focus{outline:2px solid var(--forest);outline-offset:1px;border-color:var(--forest)}
.kit-form .btn{justify-self:start}
.kit-form .small{font-size:var(--text-xs);color:var(--muted);max-width:52ch}
.kit-status{display:none;font-size:var(--text-sm);border-radius:10px;padding:.8rem 1rem;background:var(--clay-tint);color:var(--forest-dark)}
.kit-status.show{display:block}
.kit-status.err{background:#f3dfd6;color:#6b2a14}
@media (max-width:860px){.preview .wrap{grid-template-columns:1fr}}
@media (max-width:480px){.kit-form .row{grid-template-columns:1fr}}
footer{background:var(--forest-dark);color:var(--on-dark-muted);border-top:0}
footer a{color:var(--on-dark-muted)}
