@font-face{font-family:Caslon;src:url(/assets/caslon-700.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/inter-400.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/inter-500.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/inter-600.ttf) format("truetype");font-weight:600;font-display:swap}
:root{--ink:#0b0b0b;--paper:#fafaf8;--mute:#6b6b66;--line:#e4e3de;--card:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 Inter,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:700}
.in{max-width:1180px;margin:0 auto;padding:0 28px}
.nav{position:sticky;top:0;z-index:10;background:rgba(250,250,248,.86);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.nav .in{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:center;gap:12px}.mk{width:30px;height:35px;fill:currentColor;flex:0 0 auto}.mk path{fill:currentColor}
.brand span{font-family:Caslon,Georgia,serif;font-size:14px;letter-spacing:2.6px;line-height:17px}
nav{display:flex;gap:30px;align-items:center;font-size:15px;font-weight:500}nav a{color:#3a3a37}nav a:hover{color:var(--ink)}
nav .cta{white-space:nowrap;background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px}nav .cta:hover{color:#fff;opacity:.88}
.eyebrow{font-size:12.5px;font-weight:600;letter-spacing:2.4px;text-transform:uppercase;color:var(--mute);margin:0 0 18px}
.hero{padding:112px 0 96px;border-bottom:1px solid var(--line)}
.hero h1{font-family:Caslon,Georgia,serif;font-size:clamp(40px,6.4vw,82px);line-height:1.04;letter-spacing:-1.2px;max-width:15ch}
.lead{font-size:clamp(17px,1.6vw,20px);color:#45453f;max-width:62ch;margin:28px 0 0}.lead.sm{font-size:17px;margin-top:20px}
.acts{display:flex;gap:26px;align-items:center;margin-top:40px;flex-wrap:wrap}
.btn{white-space:nowrap;display:inline-block;background:var(--ink);color:#fff;padding:15px 26px;border-radius:999px;font-weight:600;font-size:15.5px;transition:transform .15s,opacity .15s}.btn:hover{opacity:.9;transform:translateY(-1px)}
.ln{font-weight:600;font-size:15.5px;border-bottom:1.5px solid var(--ink);padding-bottom:2px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:84px 0 0;border-top:1px solid var(--line)}
.stats div{padding:26px 22px 0 0}.stats dt{font-family:Caslon,Georgia,serif;font-size:clamp(30px,3.6vw,44px)}.stats dd{margin:4px 0 0;color:var(--mute);font-size:14.5px}
.sec{padding:110px 0;border-bottom:1px solid var(--line)}
.hd h2{font-family:Caslon,Georgia,serif;font-size:clamp(30px,4vw,50px);line-height:1.1;letter-spacing:-.6px;max-width:24ch;text-wrap:balance}
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:64px;border-top:1px solid var(--ink)}
.s{padding:30px 26px 0 0}.sn{font-size:13px;font-weight:600;color:var(--mute);margin-bottom:28px}.s h3{font-family:Caslon,Georgia,serif;font-size:23px;margin-bottom:12px}.s p{color:#4c4c46;font-size:15.5px;margin:0}
.dark{background:var(--ink);color:#f2f2ee;border-color:#000}.dark .eyebrow{color:#8e8e88}.dark .lead{color:#bdbdb6}
.wg{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:64px;background:#262624;border:1px solid #262624}
.w{background:var(--ink);padding:30px 26px 34px;min-height:250px;transition:background .2s}.w:hover{background:#151514}
.wt{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:#8e8e88;margin-bottom:34px}.w h3{font-family:Caslon,Georgia,serif;font-size:22px;min-height:2.3em;margin-bottom:12px}.w p{margin:0;font-size:15px;color:#b9b9b2}
.two{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}.steps li{display:flex;gap:26px;padding:26px 0;border-bottom:1px solid var(--line)}
.steps span{font-size:13px;font-weight:600;color:var(--mute);padding-top:5px;min-width:24px}.steps h4{font-family:Caslon,Georgia,serif;font-size:22px;margin-bottom:6px}.steps p{margin:0;color:#4c4c46;font-size:15.5px}
.quote{padding:120px 0;border-bottom:1px solid var(--line);text-align:center}.quote p{font-family:Caslon,Georgia,serif;font-size:clamp(28px,4.2vw,52px);line-height:1.18;margin:0 auto;max-width:22ch;letter-spacing:-.5px}
.cc{display:flex;flex-direction:column;border-top:1px solid var(--ink)}.cl{display:block;padding:20px 0;border-bottom:1px solid var(--line);font-size:18px;font-weight:500}
.cl span{display:block;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--mute);font-weight:600;margin-bottom:4px}a.cl:hover{color:#555}.cc .btn{align-self:flex-start;margin-top:30px}
footer{background:var(--ink);color:#d8d8d2;padding:72px 0 40px}footer .in{display:grid;grid-template-columns:1fr auto;gap:30px 40px}
.fb p{margin:16px 0 0;color:#b4b4ad;font-size:15px}.brand.inv{color:#fff}.fl{display:flex;gap:28px;font-size:15px;align-self:start;flex-wrap:wrap}.fl a:hover{color:#fff}
.legal{grid-column:1/-1;margin:34px 0 0;padding-top:24px;border-top:1px solid #262624;font-size:13px;color:#a3a39c}
@media(max-width:960px){.sg,.wg{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr;gap:48px}.stats{grid-template-columns:1fr 1fr}.s{padding-bottom:34px}}
@media(max-width:640px){.in{padding:0 20px}.nav .in{height:auto;padding-top:14px;padding-bottom:12px;flex-wrap:wrap;row-gap:10px}nav{width:100%;justify-content:space-between;gap:0;font-size:14px}nav .cta{padding:8px 14px}
.hero h1{font-size:38px;letter-spacing:-.6px}.sg,.wg{grid-template-columns:1fr}.hero{padding:56px 0 52px}.sec{padding:60px 0}.quote{padding:64px 0}.stats{margin-top:44px}.stats dd{font-size:13.5px}
.w{min-height:0;padding:22px 20px 24px}.wt{margin-bottom:14px;color:#a3a39c}.sn{margin-bottom:12px}.s{padding:22px 0 18px}.steps li{gap:14px;padding:20px 0}.steps span{min-width:20px}
footer{padding:52px 0 32px}footer .in{grid-template-columns:1fr}.fl{gap:10px 22px}.fl a{padding:6px 0}.legal{font-size:12.5px;line-height:1.7}}
