@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/fonts/Fraunces-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/fonts/Fraunces-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/fonts/Inter-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/fonts/Inter-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url(/fonts/SourceSerif4-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url(/fonts/SourceSerif4-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/fonts/SourceSerif4-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/fonts/SourceSerif4-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root { --paper:#f6f3ec; --ink:#1f2a33; --muted:#4a5560; --glacier:#2e5f7a; --rule:#ddd6c8; --brass:#b5813a; }
@media (prefers-color-scheme: dark) {
  :root { --paper:#15191d; --ink:#e6e1d6; --muted:#a7afb7; --glacier:#86b6d1; --rule:#2b3238; --brass:#d3a35f; }
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--paper); color:var(--ink); font:18px/1.6 'Source Serif 4', Georgia, serif; }
a { color:var(--glacier); }
.skip { position:absolute; left:-999px; } .skip:focus { left:16px; top:8px; background:var(--paper); padding:6px 10px; }
.wrap { max-width:1080px; margin:0 auto; padding:0 16px; }
header { border-bottom:1px solid var(--rule); }
header .wrap { display:flex; align-items:center; gap:12px; padding-top:16px; padding-bottom:16px; }
.brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.mark { width:44px; height:auto; color:var(--ink); }
.wordmark { font-family:Fraunces, Georgia, serif; font-weight:600; font-size:16px; line-height:1.15; }
.wordmark small { display:block; font-family:Inter, system-ui, sans-serif; font-weight:400; font-size:11px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-top:2px; }
.hero { position:relative; overflow:hidden; }
.hero .topo { position:absolute; inset:0; width:100%; height:100%; color:var(--glacier); opacity:.55; pointer-events:none; }
.hero .wrap { position:relative; padding-top:clamp(56px,9vw,112px); padding-bottom:clamp(48px,7vw,88px); }
.kicker { font-family:Inter, system-ui, sans-serif; font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--glacier); margin:0 0 18px; }
h1 { font-family:Fraunces, Georgia, serif; font-weight:400; font-size:clamp(34px,5.4vw,62px); line-height:1.06;
  margin:0 0 20px; max-width:15ch; letter-spacing:-.01em; }
.lede { font-size:clamp(18px,2vw,21px); max-width:54ch; color:var(--muted); margin:0; }
.cs { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.cs div { padding:22px 20px; border-right:1px solid var(--rule); font-size:15px; color:var(--muted); }
.cs div:last-child { border-right:0; }
.cs h2 { font-family:Fraunces, Georgia, serif; font-weight:600; font-size:19px; color:var(--glacier); margin:0 0 4px; }
@media (max-width:760px) { .cs { grid-template-columns:1fr 1fr; } .cs div:nth-child(2) { border-right:0; }
  .cs div:nth-child(-n+2) { border-bottom:1px solid var(--rule); } }
@media (max-width:420px) { .cs { grid-template-columns:1fr; } .cs div { border-right:0; border-bottom:1px solid var(--rule); } }
.note { padding-top:40px; padding-bottom:64px; font-size:16px; color:var(--muted); }
html { scroll-behavior:smooth; }
header .wrap { flex-wrap:wrap; justify-content:space-between; }
.nav { display:flex; gap:18px; flex-wrap:wrap; font:14px Inter, system-ui, sans-serif; }
.nav a { color:var(--muted); text-decoration:none; } .nav a:hover { color:var(--glacier); }
h1 { max-width:18ch; }
.tagline { font-family:Inter, system-ui, sans-serif; font-size:13px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); margin:-6px 0 22px; }
.block { padding-top:56px; padding-bottom:8px; scroll-margin-top:16px; }
.block h2 { font-family:Inter, system-ui, sans-serif; font-weight:600; font-size:12px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--glacier); margin:0 0 18px; }
.cs h3, .cards h3 { font-family:Fraunces, Georgia, serif; font-weight:600; font-size:19px; color:var(--ink); margin:0 0 6px; }
.cs h3 { color:var(--glacier); }
.cs p { margin:0 0 8px; } .cs .sub { font-style:italic; color:var(--ink); }
.principles h3 { color:var(--ink); }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:0 40px; }
.cards div { border-top:1px solid var(--rule); padding:18px 0 22px; }
.cards p { margin:0; color:var(--muted); font-size:17px; }
.split { display:grid; grid-template-columns:3fr 2fr; gap:48px; }
@media (max-width:760px) { .split { grid-template-columns:1fr; gap:8px; } }
.split p { color:var(--muted); }
.plans { margin:0; padding-left:20px; color:var(--muted); } .plans li { margin:0 0 8px; }
.lead-p { max-width:62ch; color:var(--muted); }
.waitlist { max-width:560px; margin-top:22px; }
.waitlist label { display:block; font:13px Inter, system-ui, sans-serif; color:var(--muted); margin-bottom:6px; }
.waitlist .row { display:flex; gap:10px; flex-wrap:wrap; }
.waitlist input[type=email] { flex:1 1 240px; font:17px 'Source Serif 4', Georgia, serif; padding:10px 12px;
  border:1px solid var(--rule); border-radius:2px; background:transparent; color:var(--ink); }
.waitlist input[type=email]:focus { outline:2px solid var(--glacier); outline-offset:1px; }
button { font:14px Inter, system-ui, sans-serif; padding:11px 18px; border:1px solid var(--ink); border-radius:2px;
  background:var(--ink); color:var(--paper); cursor:pointer; }
button:hover { background:var(--glacier); border-color:var(--glacier); }
.consent { font-size:14px; color:var(--muted); margin-top:12px; }
.hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.prose { max-width:760px; } .prose h1 { font-size:clamp(30px,4vw,44px); } .prose p, .prose li { color:var(--ink); }
#contact { padding-bottom:64px; } #contact p { font-size:20px; }
.langs { display:flex; gap:12px; font:13px Inter, system-ui, sans-serif; width:100%; justify-content:flex-end; }
.langs a { color:var(--muted); text-decoration:none; } .langs a[aria-current] { color:var(--ink); font-weight:600; }
.langs a:hover { color:var(--glacier); }
footer { border-top:1px solid var(--rule); font:13px/1.5 Inter, system-ui, sans-serif; color:var(--muted); }
footer .wrap { padding-top:18px; padding-bottom:28px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
