
@font-face{font-family:'Source Serif';font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/ss-400.woff2) format('woff2')}
@font-face{font-family:'Source Serif';font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/ss-500.woff2) format('woff2')}
@font-face{font-family:'Source Serif';font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/ss-400i.woff2) format('woff2')}
:root{--ink:#0b120e;--forest:#16261d;--paper:#f3f4f2;--paper2:#eceeec;--text:#16261d;--mute:#56605a;--rule:rgba(22,38,29,.16);--rule-d:rgba(242,243,241,.16);--onDark:#f2f3f1;--muteD:rgba(242,243,241,.66);--accent:#e6e9e6;--accentL:#16261d;
--serif:'Source Serif',Georgia,'Times New Roman',serif;--sans:Inter,system-ui,-apple-system,sans-serif;--gut:40px;--max:1200px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:18px;line-height:1.6;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.pv{background:#dfe3e0;color:var(--ink);font-size:12px;letter-spacing:.04em;text-align:center;padding:6px 16px}
/* header */
.top{background:var(--ink);color:var(--onDark);border-bottom:1px solid var(--rule-d)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:32px}
.top .logo img{height:20px;display:block}
.top nav{display:flex;align-items:center;gap:30px}
.top nav a{font-size:14px;text-decoration:none;color:var(--muteD);letter-spacing:.01em}
.top nav a:hover,.top nav a.on{color:var(--onDark)}
.top nav a.on{box-shadow:inset 0 -1px 0 var(--onDark)}
.top nav a.btn{color:var(--ink);background:var(--accent);border-color:var(--accent);box-shadow:none}.top nav a.btn:hover{background:var(--onDark)}
.mnav{display:none}
/* type */
.label{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accentL);margin:0 0 24px}
.dk .label{color:var(--accent)}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;margin:0;text-wrap:balance}
h1{font-size:clamp(38px,5.2vw,64px);line-height:1.08;max-width:17em}
h2{font-size:clamp(30px,3.4vw,44px);line-height:1.14;max-width:20em}
h3{font-size:24px;line-height:1.25}
.sub{font-size:20px;line-height:1.55;color:var(--mute);max-width:36em;margin:28px 0 0;text-wrap:pretty}
.dk .sub{color:var(--muteD)}
p,li,dd{text-wrap:pretty}
.measure{max-width:38em}
.small{font-size:14px;line-height:1.6;color:var(--mute)}
.dk .small{color:var(--muteD)}
/* sections */
section{padding:120px 0}
section+section:not(.dk):not(.alt){border-top:1px solid var(--rule)}
.dk{background:var(--forest);color:var(--onDark)}
.dk.ink{background:var(--ink)}
.alt{background:var(--paper2)}
.hero{padding:112px 0 104px}
.shead{margin-bottom:56px}
.shead .sub{margin-top:20px}
/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:16px;margin-top:48px;align-items:center}
.btn{display:inline-block;font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.01em;text-decoration:none;padding:15px 26px;border:1px solid var(--forest);background:var(--forest);color:var(--onDark);border-radius:0;line-height:1.2}
.btn.s{background:transparent;color:var(--forest)}
.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--onDark)}
.dk .btn{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.dk .btn.s{background:transparent;color:var(--onDark);border-color:rgba(242,243,241,.45)}
.dk .btn:hover{background:var(--onDark);border-color:var(--onDark);color:var(--ink)}
.btn.sm{padding:10px 18px;font-size:14px}
.tl{font-size:16px;font-weight:600;text-decoration:none;color:var(--accentL);border-bottom:1px solid currentColor;padding-bottom:2px}
.dk .tl{color:var(--accent)}
.tl:after{content:" \2192"}
/* definition rows: label | text */
.def{margin:0;border-top:1px solid var(--rule)}
.dk .def{border-color:var(--rule-d)}
.def>div{display:grid;grid-template-columns:4fr 8fr;gap:var(--gut);padding:22px 0;border-bottom:1px solid var(--rule)}
.dk .def>div{border-color:var(--rule-d)}
.def dt{font-weight:600;font-size:16px;padding-top:2px}
.def dd{margin:0}
.def.serif dt{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.3;padding-top:0}
.def.caps dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding-top:6px}
.hero .def{margin-top:56px}
.hero .def>div{padding:16px 0}
.hero .def dd{font-size:17px;color:var(--onDark)}
/* numbered rows */
.rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.dk .rows{border-color:var(--rule-d)}
.rows li{display:grid;grid-template-columns:4fr 8fr;gap:var(--gut);padding:26px 0;border-bottom:1px solid var(--rule)}
.dk .rows li{border-color:var(--rule-d)}
.rows .h{display:grid;grid-template-columns:56px 1fr;align-items:baseline}
.rows .n{font-family:var(--serif);font-size:18px;color:var(--accentL);font-variant-numeric:lining-nums tabular-nums;padding-top:2px}
.dk .rows .n{color:var(--accent)}
.rows .t{font-family:var(--serif);font-size:22px;line-height:1.3}
.rows .d{margin:0}
.rows.big .h{grid-template-columns:72px 1fr}.rows.big .n{font-size:40px;line-height:1}
.rows.big .t{font-size:26px}
/* compact numbered list (home sec 4) */
.split{display:grid;grid-template-columns:5fr 7fr;gap:calc(var(--gut)*2);align-items:start}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:0}
.cols2>div{padding-right:56px}
.cols2>div+div{padding-left:56px;padding-right:0;border-left:1px solid var(--rule)}
.dk .cols2>div+div{border-color:var(--rule-d)}
.cols2 h2{font-size:36px;margin:0 0 6px}
.cols2 .for{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--mute);margin:0 0 24px}
.cols2 p{margin-bottom:28px}
.price{font-family:var(--serif);font-size:56px;line-height:1;margin:16px 0 20px;font-variant-numeric:lining-nums}
.pricing{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:48px 0}
.pricing .btns{margin-top:28px}
/* statement */
.statement{font-family:var(--serif);font-size:clamp(32px,4.2vw,54px);line-height:1.12;max-width:18em;margin:0 0 72px;text-wrap:balance}
.inline-list{font-family:var(--serif);font-size:clamp(24px,2.6vw,32px);line-height:1.55;max-width:30em;margin:0}
.inline-list a{text-decoration:none;border-bottom:1px solid var(--rule)}
.inline-list a:hover{border-color:var(--forest)}
.inline-list .dot{color:var(--accentL);padding:0 .35em}
/* index rows */
.index{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.index a{display:grid;grid-template-columns:56px calc(33.333% - 56px - var(--gut)) 1fr auto;gap:var(--gut);padding:30px 0;border-bottom:1px solid var(--rule);text-decoration:none;align-items:baseline}
.index a:hover .t{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.index .n{font-family:var(--serif);color:var(--accentL);font-size:18px}
.index .t{font-family:var(--serif);font-size:26px;line-height:1.25}
.index .d{color:var(--mute);font-size:17px}
.index .p{text-align:right;font-size:15px;font-weight:600;white-space:nowrap}
/* publication */
.pub{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:40px 0;display:grid;grid-template-columns:4fr 8fr;gap:var(--gut)}
.pub .meta{font-size:14px;color:var(--mute);padding-top:8px}
.pub h3{font-size:30px;line-height:1.2;margin-bottom:16px}
/* faq */
.faq{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;padding:26px 48px 26px 0;font-family:var(--serif);font-size:22px;line-height:1.35;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:4px;top:22px;font-family:var(--sans);font-weight:400;font-size:26px;color:var(--accentL)}
.faq details[open] summary:after{content:"\2013"}
.faq details p{margin:0 0 28px;max-width:44em;color:var(--mute)}
/* fact */
.fact{font-family:var(--serif);font-size:clamp(28px,3.4vw,42px);line-height:1.3;max-width:24em;margin:0}
.src{margin-top:24px}
/* forms */
form.f{display:grid;gap:20px}
form.f label{display:grid;gap:8px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
form.f input,form.f select,form.f textarea{font:inherit;font-size:17px;text-transform:none;letter-spacing:0;color:var(--text);background:transparent;border:0;border-bottom:1px solid rgba(22,38,29,.4);border-radius:0;padding:10px 0;width:100%}
form.f textarea{min-height:110px;resize:vertical;border:1px solid rgba(22,38,29,.4);padding:10px 12px}
form.f button{justify-self:start;cursor:not-allowed;opacity:.7}
.cal{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:40px 0;color:var(--mute)}
/* bio */
.bio{display:grid;grid-template-columns:4fr 8fr;gap:var(--gut)}
.bio h3{font-size:28px}
.bio .role{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--accentL);font-weight:600;margin-top:10px}
/* footer */
footer{background:var(--ink);color:var(--onDark);padding:88px 0 40px;font-size:15px}
footer .grid{display:grid;grid-template-columns:5fr 2fr 2fr 3fr;gap:var(--gut)}
footer .tag{font-family:var(--serif);font-size:22px;line-height:1.4;max-width:14em;margin:24px 0 0}
footer h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 18px;font-weight:600}
footer ul{list-style:none;margin:0;padding:0}footer li{margin:0 0 10px}
footer a{text-decoration:none;color:var(--muteD)}footer a:hover{color:var(--onDark)}
footer .fine{border-top:1px solid var(--rule-d);margin-top:72px;padding-top:28px;font-size:13px;line-height:1.65;color:var(--muteD);max-width:none}
footer .fine p{max-width:60em}
footer img{height:20px;display:block}
.legal h2{font-size:28px;margin:56px 0 16px}
/* true hero */
.truehero{min-height:calc(85vh - 104px);display:flex;align-items:center;padding:96px 0}
.truehero .wrap{width:100%}
.truehero h1{font-size:clamp(42px,6.6vw,92px);line-height:1.04;letter-spacing:-.015em;max-width:12.5em}
.truehero .sub{font-size:clamp(19px,1.7vw,23px);max-width:34em;margin-top:36px}
.truehero .label{margin-bottom:32px}
.truehero .btns{margin-top:56px}
/* responsive */
@media (max-width:1020px){
 .top nav{display:none}
 .mnav{display:block;position:relative}
 .mnav summary{list-style:none;cursor:pointer;font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:8px 0}
 .mnav summary::-webkit-details-marker{display:none}
 .mnav[open] summary{color:var(--accent)}
 .mnav .menu{position:absolute;right:calc(-1*var(--gut));top:52px;background:var(--ink);width:100vw;max-width:420px;padding:12px var(--gut) 28px;border-top:1px solid var(--rule-d);z-index:20}
 .mnav .menu a{display:block;padding:14px 0;border-bottom:1px solid var(--rule-d);text-decoration:none;font-size:17px}
 .mnav .menu a.btn{border:0;margin-top:20px;text-align:center}
 .index a{grid-template-columns:1fr 5fr 2fr}
 .index .d{grid-column:2/3}
 .index .p{grid-row:1;grid-column:3}
 footer .grid{grid-template-columns:1fr 1fr}
 footer .grid>div:first-child{grid-column:1/-1}
}
@media (max-width:760px){
 :root{--gut:22px}
 body{font-size:17px}
 section{padding:72px 0}
 .hero{padding:64px 0 64px}
 .truehero{min-height:calc(85vh - 100px);padding:64px 0}
 .truehero .btns{margin-top:40px}
 .top .wrap{height:64px}
 .shead{margin-bottom:36px}
 .sub{font-size:18px}
 .def>div,.hero .def>div{grid-template-columns:1fr;gap:6px;padding:18px 0}
 .hero .def{margin-top:40px}
 .rows li{grid-template-columns:1fr;gap:8px;padding:22px 0}
 .rows .h{grid-template-columns:44px 1fr}
 .rows .d{padding-left:44px}
 .rows.big .n{font-size:28px}
 .rows.big .h{grid-template-columns:52px 1fr}.rows.big .d{padding-left:52px}
 .split,.bio,.pub{grid-template-columns:1fr;gap:28px}
 .pub{gap:8px}
 .cols2{grid-template-columns:1fr}
 .cols2>div,.cols2>div+div{padding:0}
 .cols2>div+div{border-left:0;border-top:1px solid var(--rule);padding-top:48px;margin-top:48px}
 .index a{grid-template-columns:44px 1fr;gap:6px 14px;padding:24px 0}
 .index .d{grid-column:2}.index .p{grid-row:auto;grid-column:2;text-align:left}
 .statement{margin-bottom:48px}
 .btns{margin-top:36px;gap:12px}
 .btn{width:100%;text-align:center}
 .price{font-size:44px}
 footer .grid{grid-template-columns:1fr 1fr;gap:40px 22px}
 .faq summary{font-size:20px}
}
