:root{--bg:#f6f1e7;--bg2:#efe8da;--ink:#17202b;--text:#3a3a38;--soft:#6a665e;--line:rgba(23,32,43,.14);--line2:rgba(23,32,43,.24);--gold:#b4701f;--dark:#17212b;--paper:#fbf8f1;
--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Jost','Helvetica Neue',Arial,sans-serif;--hand:'Caveat','Bradley Hand',cursive;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:400 16.5px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{color:var(--ink);font-family:var(--serif);font-weight:500;letter-spacing:-.01em;text-wrap:balance}
a{color:var(--ink);text-underline-offset:3px}a:hover{color:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px}
.skip{position:fixed;left:8px;top:-70px;z-index:100;background:var(--dark);color:#fff;padding:10px 16px;border-radius:99px}.skip:focus{top:8px;color:#fff}
.ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* header */
.hd{position:sticky;top:0;z-index:50;background:rgba(246,241,231,.94);backdrop-filter:blur(10px)}
.hd-in{display:flex;align-items:center;gap:24px;max-width:1280px;margin:auto;padding:16px max(20px,3.4vw)}
.brand{display:inline-flex;flex-direction:column;text-decoration:none;color:var(--ink);line-height:1;font-family:var(--serif)}
.brand b{font-size:30px;font-weight:500;letter-spacing:.2em}.brand span{font:500 9px/1 var(--sans);letter-spacing:.5em;margin:6px 0 0 3px;color:var(--soft)}
#menu{display:flex;align-items:center;gap:20px;margin-left:auto}
.pn{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.pn>li{position:relative;display:flex;align-items:center}
.pn a{color:var(--ink);text-decoration:none;font:400 13.5px/1.2 var(--sans);padding:10px 9px;display:block;white-space:nowrap;border-bottom:1px solid transparent}
.pn a:hover{color:var(--gold)}.pn a[aria-current]{border-bottom-color:var(--ink)}
.sub{width:20px;height:34px;display:grid;place-items:center;color:var(--soft);background:none;border:0;cursor:pointer;margin-left:-8px}.sub .ic{width:14px;height:14px}.sub:hover{color:var(--ink)}
.dd{display:none;position:absolute;left:0;top:100%;min-width:250px;margin:0;padding:8px;list-style:none;background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 40px -20px rgba(23,32,43,.35)}
.has:hover>.dd,.has:focus-within>.dd,.has.open>.dd{display:block}
.dd a{padding:10px 12px;border:0}.dd a:hover{background:var(--bg2)}
.pill,.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:12px 24px;background:var(--dark);color:#fff;font:500 14px/1 var(--sans);letter-spacing:.02em;text-decoration:none;border:0;border-radius:99px;cursor:pointer;transition:background .2s;white-space:nowrap}
.pill:hover,.btn:hover{background:#000;color:#fff}.btn[disabled]{opacity:.55;cursor:wait}.pill .ic,.btn .ic{width:16px;height:16px}
.lnk{font-size:14px;padding:6px 0;border-bottom:1px solid var(--ink);text-decoration:none}
.burger{display:none;margin-left:auto;min-height:44px;padding:0 18px;border:1px solid var(--ink);border-radius:99px;background:none;color:var(--ink);font:500 14px/1 var(--sans);cursor:pointer}
/* page hero + tabs */
.ph-in{display:grid;grid-template-columns:1fr;max-width:1280px;margin:auto;padding:28px max(20px,3.4vw) 40px;gap:32px}
.ph-in.has-art{grid-template-columns:1fr minmax(0,1.05fr);align-items:center}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 28px;padding:0;font-size:13.5px;color:var(--soft)}
.crumbs li+li::before{content:"/";margin-right:6px}.crumbs a{color:var(--text)}
.ph h1{margin:0;font-size:clamp(46px,6.4vw,88px);line-height:.98}
.lede{max-width:46ch;margin:20px 0 0;font-size:clamp(16px,1.5vw,19px);color:var(--text)}
.ph .bd{margin-top:20px}.ph .cta-row{margin:26px 0 0}
.script{margin:26px 0 0;font:500 clamp(24px,2.6vw,32px)/1.1 var(--hand);color:var(--soft);transform:rotate(-2deg);max-width:16ch}
.ph-art{width:100%;height:clamp(240px,32vw,420px);object-fit:cover;display:block;border-radius:0 0 0 0;border-top-left-radius:40% 30%}
.tabs{max-width:1280px;margin:auto;padding:0 max(20px,3.4vw)}
.tabs ul{display:flex;gap:6px 28px;flex-wrap:wrap;list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.tabs a{display:block;padding:12px 0;font-size:14px;color:var(--soft);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a:hover{color:var(--ink)}.tabs a[aria-current]{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}
.wrap{max-width:1280px;margin:auto;padding:48px max(20px,3.4vw) 88px}
.content{max-width:760px;min-width:0}.content:has(.cells){max-width:none}
.blk{margin:0 0 48px}.blk h2,.fh{margin:0 0 14px;font-size:clamp(30px,3.4vw,44px);line-height:1.05}
.content p{margin:0 0 16px;max-width:64ch}.content ul:not(.cells):not(.entries){padding-left:22px;max-width:64ch}.content li{margin:7px 0}.content li::marker{color:var(--gold)}
.small{font-size:14px;color:var(--soft)}
.cta-row{margin:26px 0}
/* status */
.bd{display:inline-block;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:6px 9px;border:1px solid;border-radius:2px;background:transparent}
.bd.conf{color:#2e6b3a;border-color:#2e6b3a}.bd.dev{color:#8a5a12;border-color:#b4701f}.bd.fut{color:#8a3a55;border-color:#a2506b}
.note{border-left:2px solid var(--gold);background:var(--bg2);padding:16px 20px;margin:0 0 32px}
.note.future{border-color:#a2506b}.note.draft{border-color:#c46a3c}.note.info{border-color:var(--soft)}
.note b{font:500 11px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}.note p{margin:6px 0 0;color:var(--ink);max-width:none}
/* hairline cells */
.cells{list-style:none;margin:18px 0 0;padding:0!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);max-width:none!important}
.cells.c4{grid-template-columns:repeat(4,1fr)}
.cells li{margin:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.cell{position:relative;display:flex;flex-direction:column;gap:8px;height:100%;min-height:210px;padding:24px 24px 64px;text-decoration:none;color:var(--text);transition:background .2s}
.cell:hover{background:var(--paper);color:var(--text)}
.cell .ic{color:var(--ink);margin-bottom:10px}.cell .n{font:500 12px/1 var(--sans);color:var(--soft);letter-spacing:.1em;margin-bottom:14px}
.cell h3{margin:0;font-size:27px;line-height:1.1}.cell p{margin:0;font-size:14.5px;color:var(--soft);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.cell .dur{color:var(--soft);font-size:14.5px}
.cell .meta{margin-top:6px;display:block}.cell .go{position:absolute;right:20px;bottom:20px}
.cell.dark{background:var(--dark);color:#d9d6cd}.cell.dark h3,.cell.dark .ic{color:#fff}.cell.dark p{color:#c9c6bd}.cell.dark:hover{background:#0d151d;color:#d9d6cd}
.go{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line2);border-radius:50%;flex:none;color:var(--ink);transition:background .2s,color .2s}.go .ic{width:13px;height:13px;margin:0}
.cell:hover .go,.float a:hover .go,.feat a:hover .go,.entries a:hover .go{background:var(--ink);color:#fff;border-color:var(--ink)}.cell.dark .go{border-color:rgba(255,255,255,.5);color:#fff}
.entries{list-style:none;padding:0!important;display:grid;gap:0;border-top:1px solid var(--line)}.entries li{margin:0}.entries a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:18px}.entries a:hover{background:var(--paper);color:var(--ink)}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:10px 28px;margin:0 0 40px;padding:20px 24px;border:1px solid var(--line)}.facts dt{color:var(--soft)}.facts dd{margin:0;color:var(--ink);font-weight:500}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:15.5px}caption{text-align:left;font:500 30px/1.1 var(--serif);color:var(--ink);padding-bottom:12px}
th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line)}thead th{font:500 11px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.fig{margin:0 0 32px}.fig img{width:100%;height:auto;display:block}.fig figcaption{font-size:13.5px;color:var(--soft);margin-top:10px}
.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;padding:20px 0;font:500 26px/1.15 var(--serif);color:var(--ink)}.faq details p{padding:0 0 18px}
/* forms */
.fm{margin:40px 0 0;padding:34px;border:1px solid var(--line);background:var(--paper)}
.field{margin:0 0 20px}.field[hidden]{display:none}
.field label{display:block;margin-bottom:7px;font:500 15px/1.35 var(--sans);color:var(--ink)}.opt{color:var(--soft);font-weight:400}
.hint{margin:0 0 7px!important;font-size:13.5px;color:var(--soft)}
input[type=text],input[type=email],select,textarea{width:100%;background:#fff;border:1px solid var(--line2);border-radius:4px;color:var(--ink);font:400 16.5px/1.5 var(--sans);padding:12px 14px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
[aria-invalid=true]{border-color:#b3261e!important}
.ferr{min-height:0;margin:6px 0 0!important;font-size:14px;color:#b3261e}
.cb{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.cb input{width:20px;height:20px;margin-top:2px;accent-color:var(--dark);flex:none}.cb span{font-weight:400;color:var(--text)}
.esum{margin:0 0 22px;padding:16px 20px;border-left:2px solid #b3261e;background:#f8e4df;color:var(--ink)}.esum:focus{outline:2px solid var(--gold)}.esum a{color:#8a1a10}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.frow{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:8px}.fstat{margin:0!important;font-size:14.5px}
.rec{margin:8px 0 24px;padding:20px 24px;border:1px solid rgba(180,112,31,.5);background:#f7ecd6}
.rec h3{margin:0 0 6px;font-size:28px}.rec p{color:var(--ink)}.rec .k{font:500 11px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 6px}
.ok{padding:26px;border:1px solid #2e6b3a;background:#e5efe2}.ok h3{margin:0 0 6px;font-size:30px}.ok:focus{outline:2px solid var(--gold)}
.fail{color:#b3261e}
/* homepage */
.h-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;max-width:1280px;margin:auto;padding:36px max(20px,3.4vw) 0;align-items:end}
.h-copy{padding-bottom:56px}
.nw{white-space:nowrap}.h-hero h1{margin:0;font-size:clamp(54px,7.6vw,112px);line-height:.92;font-weight:500}.h-hero h1 em{font-style:italic}
.h-copy p{max-width:36ch;margin:26px 0 0;font-size:clamp(16px,1.5vw,19px)}
.h-copy .row{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}
.h-art{position:relative}.h-art>img{display:block;width:100%;height:min(66vh,640px);object-fit:cover;border-top-left-radius:45% 36%}
.float{position:absolute;right:0;top:12%;width:min(290px,60%);background:var(--paper);box-shadow:0 24px 50px -28px rgba(23,32,43,.45)}
.float ul{list-style:none;margin:0;padding:0 20px}.float li{border-bottom:1px solid var(--line)}.float li:last-child{border:0}
.float a{display:flex;align-items:center;gap:14px;padding:16px 0;text-decoration:none}.float a>span:not(.go){flex:1}.float b{display:block;font:500 15px/1.2 var(--sans);color:var(--ink)}.float i{display:block;font-style:normal;font-size:12.5px;color:var(--soft);margin-top:2px}
.feat{max-width:1280px;margin:0 auto;padding:36px max(20px,3.4vw) 0;border-top:1px solid var(--line)}
.lab{margin:0 0 18px;font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--soft)}
.feat ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}
.feat li{border-left:1px solid var(--line);padding:0 24px}.feat li:first-child{border:0;padding-left:0}
.feat a{display:flex;align-items:center;gap:18px;text-decoration:none;padding:6px 0 16px}.feat .fn{font:500 11px/1 var(--sans);color:var(--soft);align-self:flex-start;margin-top:4px}
.feat img{width:88px;height:60px;object-fit:cover;flex:none}.feat b{flex:1;font:500 16px/1.25 var(--serif);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.sec{max-width:1280px;margin:auto;padding:96px max(20px,3.4vw) 0}
.sec>h2{margin:0;font-size:clamp(38px,5vw,66px);line-height:1;max-width:18ch}.sec>.sub-l{margin:16px 0 0;max-width:54ch;font-size:18px}
.steps{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);counter-reset:s}
.steps li{counter-increment:s;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.steps li::before{content:"0" counter(s);display:block;font:500 12px/1 var(--sans);letter-spacing:.1em;color:var(--soft);margin-bottom:18px}
.steps h3{margin:0 0 8px;font-size:28px;line-height:1.1}.steps p{margin:0}
.keepb{margin:96px auto 0;padding:56px max(24px,5vw);background:var(--bg2);display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;max-width:1280px}
.keepb h2{margin:14px 0;font-size:clamp(34px,4.4vw,56px);line-height:1}.keepb p{margin:0 0 24px;color:var(--ink);max-width:48ch}.keepb img{width:100%;height:auto;display:block;border-top-left-radius:40% 30%}
.vals{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:34px;margin-top:34px}.vals h3{font-size:28px;margin:0 0 6px}.vals p{margin:0}
.band{max-width:1280px;margin:96px auto 0;padding:80px max(24px,5vw);background:var(--dark);text-align:center}
.band h2{color:#fff;margin:0;font-size:clamp(38px,5.4vw,72px);line-height:1}.band p{margin:16px auto 28px;max-width:40ch;color:#d9d6cd}.band .btn{background:var(--bg);color:var(--ink)}.band .btn:hover{background:#fff;color:var(--ink)}
/* footer + consent */
.ft{margin-top:96px;background:var(--bg2)}
.ft-in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;max-width:1280px;margin:auto;padding:56px max(20px,3.4vw) calc(48px + env(safe-area-inset-bottom,0))}
.ft h2{margin:0 0 12px;font:500 11px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--soft)}.ft ul{list-style:none;margin:0;padding:0}.ft li{margin:7px 0}.ft a{text-decoration:none}.ft a:hover{text-decoration:underline}.ft p{margin:14px 0 0;max-width:42ch}.ft .tag{font:italic 500 24px/1.2 var(--serif);color:var(--ink)}
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;padding:20px 22px;background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 50px -12px rgba(23,32,43,.4)}.consent p{margin:0 0 14px}.consent .btn+.btn{margin-left:8px;background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
@media (max-width:1120px){
 .burger{display:inline-flex;align-items:center}.hd{backdrop-filter:none;background:var(--bg)}
 #menu{display:none;position:fixed;inset:0;top:0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:84px max(24px,5vw) 28px;background:var(--bg);overflow:auto;z-index:-1}
 #menu.open{display:flex}.hd{z-index:60}.pn{flex-direction:column}.pn>li{flex-wrap:wrap;border-bottom:1px solid var(--line)}.pn>li>a:first-child{flex:1;padding:16px 0;font:500 28px/1.1 var(--serif);border:0}.sub{width:44px;height:44px}.sub .ic{width:18px;height:18px}
 .dd{position:static;display:none;width:100%;border:0;box-shadow:none;background:none;padding:0 0 10px 12px}.has:hover>.dd,.has:focus-within>.dd{display:none}.has.open>.dd{display:block}
 .pill{align-self:flex-start;margin-top:24px}
 .ph-in.has-art{grid-template-columns:1fr}
 .h-hero{grid-template-columns:1fr}.h-copy{padding-bottom:20px}.h-art>img{height:min(56vh,460px)}.float{position:static;width:100%;box-shadow:none;background:none}.float ul{padding:0}
 .feat ol{grid-template-columns:1fr}.feat li{border:0;padding:0;border-bottom:1px solid var(--line)}
 .cells.c4{grid-template-columns:repeat(2,1fr)}
 .ft-in{grid-template-columns:1fr}.keepb{grid-template-columns:1fr;margin-inline:max(20px,3.4vw)}.band{margin-inline:max(20px,3.4vw)}
}
@media (max-width:560px){.fm{padding:22px}.facts{grid-template-columns:1fr}.cells.c4{grid-template-columns:1fr}.sec{padding-top:64px}.band{padding-block:56px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.vh{position:absolute;left:-9999px}.ph-in.has-script{grid-template-columns:1fr 1fr;align-items:center}.script.side{justify-self:center;font-size:clamp(28px,3.4vw,44px);max-width:14ch;margin:0}@media (max-width:1120px){.ph-in.has-script{grid-template-columns:1fr}.script.side{justify-self:start}}
