:root{
--paper:#F3ECE3;--white:#FFF;--sand:#B9A38C;--clay:#8C6F58;--ink:#3E342B;
--body:#5A5048;--muted:#A8917A;--line:#C2AB91;--rule:#EBE2D4;--tile:#F6F0E8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Mulish,system-ui,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}
::selection{background:var(--clay);color:var(--paper)}
img{max-width:100%}
p{text-wrap:pretty;line-height:1.8;color:var(--body)}
a{color:var(--clay);text-decoration:none}
a:hover{color:var(--ink)}
a:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;margin:0;line-height:1.1}
h1{font-size:clamp(42px,7.2vw,88px);line-height:1.02}
h2{font-size:clamp(32px,4.6vw,50px)}
h3{font-size:clamp(24px,2.6vw,30px);font-weight:400}
em{font-style:italic}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.wrap-m{max-width:1100px;margin:0 auto;padding:0 24px}
.wrap-s{max-width:1000px;margin:0 auto;padding:0 24px}
.wrap-xs{max-width:880px;margin:0 auto;padding:0 24px}
section{padding:clamp(44px,5.6vw,74px) 0}
.bg-white{background:var(--white)}
.bg-ink{background:var(--ink);color:var(--paper)}
.bg-clay{background:var(--clay);color:var(--paper)}
.bg-ink p{color:#CBBEAE}
.bg-clay p{color:#FFF}
.center{text-align:center}
.kicker{font-family:Marcellus,Georgia,serif;text-transform:uppercase;font-size:12px;letter-spacing:.28em;padding-left:.28em;color:var(--muted);margin:0}
.kicker-lg{font-size:clamp(11px,1.2vw,12.5px);letter-spacing:.32em;padding-left:.32em}
.bg-ink .kicker,.bg-clay .kicker{color:#E4D5C4}
.tagline{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-style:italic;font-size:clamp(22px,3vw,30px);color:var(--clay);margin:20px 0 0}
.lede{font-size:clamp(16px,1.6vw,18.5px);max-width:660px;margin:22px auto 0}
.btn{display:inline-block;font-family:Marcellus,Georgia,serif;text-transform:uppercase;font-size:12.5px;letter-spacing:.14em;padding:16px 30px 16px calc(30px + .14em);border-radius:1px;white-space:nowrap;border:1px solid var(--ink);transition:background .2s,color .2s}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:#2E261F;color:var(--paper)}
.btn-ghost{color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-paper{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn-paper:hover{background:#fff;color:var(--ink)}
.btn-outline-paper{color:#FFF;border-color:#FFF;background:transparent}
.btn-outline-paper:hover{background:var(--paper);color:var(--clay)}
.btns{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:36px}
header.site{position:sticky;top:0;z-index:50;background:rgba(243,236,227,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px}
.brand{display:block;color:var(--ink)}
.brand b{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;font-size:clamp(22px,2.4vw,27px);letter-spacing:.04em;line-height:1;white-space:nowrap}
.brand span{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-style:italic;font-size:13px;color:var(--clay);margin-top:5px}
nav.site{display:flex;align-items:center;gap:20px}
nav.site a{font-family:Marcellus,Georgia,serif;text-transform:uppercase;font-size:11.5px;letter-spacing:.12em;padding-left:.12em;white-space:nowrap;color:var(--body);border-bottom:1px solid transparent;padding-bottom:3px}
nav.site a:hover{color:var(--ink);border-bottom-color:var(--clay)}
nav.site a.btn{border:0;background:var(--ink);color:var(--paper);padding:13px 20px 13px calc(20px + .12em);font-size:12px}
nav.site a.btn:hover{background:#2E261F;color:var(--paper);border:0}
.hero-img{display:block;width:100%;height:clamp(300px,42vw,520px);object-fit:cover;object-position:center 35%}
.hero-figure{position:relative;margin-top:clamp(36px,5vw,64px);padding-bottom:56px}
.trust{position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:min(940px,92%);background:var(--paper);border:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
.trust div{padding:22px 12px;text-align:center;border-right:1px solid var(--rule)}
.trust div:last-child{border-right:0}
.stat{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;font-size:clamp(26px,3vw,38px);line-height:1;font-feature-settings:'tnum'}
.stat-label{font-family:Marcellus,Georgia,serif;text-transform:uppercase;font-size:10.5px;letter-spacing:.18em;padding-left:.18em;color:var(--muted);margin-top:9px}
.lattice{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:36px}
.lattice div{background:var(--paper);padding:26px 20px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(20px,2.2vw,25px)}
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3.4vw,48px);margin-top:42px}
.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,80px);align-items:start}
.step .kicker{font-feature-settings:'tnum'}
.hr{height:1px;background:var(--rule);margin:18px 0 22px}
.list{margin-top:32px;border-top:1px solid var(--rule)}
.list div{padding:17px 0;border-bottom:1px solid var(--rule);font-size:16.5px;line-height:1.7;color:var(--ink)}
.card{border:1px solid var(--line);background:var(--tile);padding:clamp(28px,4vw,46px)}
.price{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;font-size:clamp(44px,6vw,60px);line-height:1;font-feature-settings:'tnum'}
.price-row{display:flex;align-items:baseline;gap:12px;margin-top:14px;flex-wrap:wrap}
.price-note{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:21px;color:var(--body)}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.tiles div{background:var(--white);padding:22px 18px}
.tiles .stat{font-size:clamp(28px,3.4vw,36px)}
.fine{font-size:13.5px;line-height:1.7;color:var(--body);margin:20px 0 0}
.about{display:grid;grid-template-columns:5fr 6fr;gap:clamp(36px,5vw,72px);align-items:center}
.portrait{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center}
.stats-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;border-top:1px solid var(--rule);padding-top:24px}
.pillar h3{color:#D8B79B}
.bg-ink .pillar p{color:#CBBEAE}
.faq{margin-top:36px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:28px 0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(21px,2.3vw,26px);display:flex;justify-content:space-between;gap:20px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-weight:300;color:var(--clay);font-size:26px;line-height:1}
.faq details[open] summary::after{content:'\2013'}
.faq p{margin:0 0 28px;font-size:16.5px;max-width:70ch}
.embed{border:1px solid var(--line);background:var(--white);padding:8px;margin-top:30px}
.embed iframe{display:block;width:100%;height:1000px;border:0}
.embed-note{border:1px dashed var(--line);background:var(--tile);padding:48px 24px;text-align:center;margin-top:30px}
footer.site{background:var(--ink);color:#CBBEAE;padding:clamp(44px,5.6vw,68px) 0 36px}
footer.site a{color:#CBBEAE}
footer.site a:hover{color:var(--paper)}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(32px,5vw,64px)}
.foot b{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;font-size:30px;letter-spacing:.04em;color:var(--paper);white-space:nowrap}
.foot .rule{width:62px;height:1px;background:#D2C3AF;margin:14px 0}
.foot .entity{font-family:Marcellus,Georgia,serif;text-transform:uppercase;font-size:11px;letter-spacing:.3em;padding-left:.3em;color:var(--sand)}
.foot p{font-size:15px;color:#CBBEAE;margin:18px 0 0}
.foot .col-title{font-family:Marcellus,Georgia,serif;text-transform:uppercase;font-size:11px;letter-spacing:.22em;padding-left:.22em;color:var(--sand)}
.foot .links{display:flex;flex-direction:column;gap:12px;margin-top:18px;font-size:15px}
.legal{margin-top:36px;border-top:1px solid #5A5048;padding-top:20px;font-size:13px;line-height:1.8;color:var(--sand)}
.states{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}
.state-card{border:1px solid var(--line);background:var(--white);padding:clamp(28px,4vw,44px);display:block;color:var(--ink);transition:background .2s}
.state-card:hover{background:var(--tile);color:var(--ink)}
.state-card h2{font-size:clamp(30px,3.6vw,42px)}
.state-card p{margin:14px 0 0;font-size:16px}
.state-card .go{display:inline-block;margin-top:22px;font-family:Marcellus,Georgia,serif;text-transform:uppercase;font-size:11.5px;letter-spacing:.16em;color:var(--clay);border-bottom:1px solid var(--line);padding-bottom:4px}
@media(max-width:900px){
 nav.site a:not(.btn){display:none}
 nav.site.states a:not(.btn){display:inline-block;font-size:11px;letter-spacing:.1em}
 nav.site.states{gap:14px}
 .cols-3,.cols-2,.about,.states{grid-template-columns:1fr}
 .lattice{grid-template-columns:repeat(2,1fr)}
 .foot{grid-template-columns:1fr 1fr}
 .about img{order:-1}
 .embed iframe{height:820px}
}
@media(max-width:640px){
 .trust{position:static;transform:none;width:100%;grid-template-columns:1fr 1fr;margin-top:-1px}
 .hero-figure{padding-bottom:0}
 .stats-3{grid-template-columns:1fr;gap:20px}
 .tiles{grid-template-columns:1fr}
 .foot{grid-template-columns:1fr}
 .btn{width:100%;text-align:center;white-space:normal}
 .embed iframe{height:760px}
}
.hero-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4.5vw,64px);align-items:center}
.hero-split .lede{margin-left:0;margin-right:0;max-width:52ch}
.hero-side{display:block;width:100%;aspect-ratio:4/5;max-height:600px;object-fit:cover;object-position:center 40%}
@media(max-width:900px){.hero-split{grid-template-columns:1fr;gap:28px}.hero-side{aspect-ratio:16/10;max-height:340px}}

.hero-banner{display:block;width:100%;height:clamp(150px,22vh,260px);object-fit:cover;object-position:center 55%;margin-top:clamp(40px,6vh,76px)}

.plans{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:42px;align-items:stretch}
.plan{display:flex;flex-direction:column;position:relative}
.plan .list{flex:1}
.badge{position:absolute;top:-1px;right:-1px;background:var(--clay);color:var(--paper);font-family:Marcellus,Georgia,serif;text-transform:uppercase;font-size:10.5px;letter-spacing:.18em;padding:9px 14px 9px calc(14px + .18em)}
.stepdown{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}
.stepdown b{font-size:16.5px;color:var(--ink);font-weight:600}
.stepdown p{margin:8px 0 0;font-size:14.5px}
.quiet{max-width:760px;margin:0 auto;text-align:center}
.quiet h3{font-size:clamp(22px,2.4vw,28px);color:var(--clay)}
.quiet p{font-size:15px;margin-top:16px}
@media(max-width:900px){.plans{grid-template-columns:1fr}}

.bleed-figure{display:block;width:100%;line-height:0}
.bleed-figure .hero-img{height:clamp(280px,38vw,480px);object-position:center 58%}

.bg-white .lattice div{background:var(--white)}

#membership .plan{background:var(--white)}

.prose h2{font-size:clamp(23px,2.6vw,30px);margin:44px 0 14px}
.prose h2:first-child{margin-top:0}
.prose p{font-size:16.5px;margin:0 0 16px}
.prose .list{margin:18px 0 22px}
.prose .list div{font-size:16px}
.prose b{font-weight:600}
