@font-face { font-family: "DM Sans"; src: url("assets/fonts/dm-sans-1.woff2") format("woff2"); font-weight: 100 1000; font-style: normal; font-display: swap; }
:root {
  --paper: #e5ded1; --paper-deep: #d7cdbd; --ink: #302922; --muted: #655d54;
  --line: rgba(48, 41, 34, .18); --line-strong: rgba(48, 41, 34, .32);
  --paper-glass: rgba(229, 222, 209, .9); --nav-scrolled: var(--paper-glass); --menu-bg: #e5ded1;
  --row-hover: rgba(255,255,255,.24); --selection: rgba(64, 144, 118, .28);
  --accent: #4e7890; --accent-soft: rgba(78,120,144,.14); --max: 1180px;
}
html[data-theme="dark"] { --paper:#12171a; --paper-deep:#1b252a; --ink:#e8edf0; --muted:#b6c0c5; --line:rgba(232,237,240,.16); --line-strong:rgba(232,237,240,.34); --paper-glass:rgba(18,23,26,.9); --menu-bg:#12171a; --row-hover:rgba(255,255,255,.04); --selection:rgba(128,196,231,.24); --accent:#8bc4df; --accent-soft:rgba(139,196,223,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); color:var(--ink); font-family:"DM Sans",sans-serif; }
body { margin:0; min-height:100vh; background:var(--paper); color:var(--ink); font-size:15px; line-height:1.65; }
body::before { content:""; position:fixed; inset:0; z-index:-1; background:radial-gradient(circle at 82% 8%, var(--accent-soft), transparent 32%), linear-gradient(180deg,var(--paper),var(--paper-deep)); }
::selection { background:var(--selection); } a { color:inherit; text-underline-offset:.18em; }
.skip { position:fixed; left:1rem; top:-5rem; z-index:99; padding:.7rem 1rem; background:var(--ink); color:var(--paper); } .skip:focus { top:1rem; }
.topbar { position:sticky; top:0; z-index:20; height:72px; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:0 max(24px,calc((100vw - var(--max))/2)); border-bottom:1px solid var(--line); background:var(--paper-glass); backdrop-filter:blur(18px); }
.brand { font-size:1.25rem; font-weight:640; text-decoration:none; letter-spacing:-.025em; } .nav { display:flex; align-items:center; gap:1.4rem; } .nav a { text-decoration:none; color:var(--muted); } .nav a:hover,.nav a:focus-visible { color:var(--ink); }
.theme,.menu-button { border:1px solid var(--line); color:var(--ink); background:transparent; min-width:42px; min-height:42px; border-radius:50%; cursor:pointer; } .menu-button { display:none; }
main { overflow:hidden; } section,.legal { width:min(var(--max),calc(100% - 48px)); margin:0 auto; }
.hero { min-height:calc(100svh - 72px); display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:clamp(2rem,7vw,7rem); padding:8vh 0; }
.eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:.73rem; color:var(--accent); font-weight:700; }
h1 { font-size:clamp(2.7rem,7vw,6.4rem); line-height:.94; letter-spacing:-.055em; max-width:10ch; margin:.25em 0; font-weight:620; } h2 { font-size:clamp(1.7rem,3.2vw,2.7rem); line-height:1.08; letter-spacing:-.035em; margin:.2em 0 .7em; } h3 { font-size:1.1rem; }
.lead { max-width:58ch; color:var(--muted); font-size:1.08rem; } .hero-mark { min-height:420px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:var(--accent-soft); } .hero-mark img { width:min(80%,410px); }
.button { display:inline-flex; margin-top:1.2rem; padding:.8rem 1.1rem; border:1px solid var(--line-strong); border-radius:999px; text-decoration:none; font-weight:650; }
.split { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,8vw,8rem); padding:8rem 0; border-top:1px solid var(--line); } .copy { max-width:62ch; color:var(--muted); }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem; } .card { padding:1.6rem; border:1px solid var(--line); border-radius:1rem; background:rgba(255,255,255,.025); } .card p { color:var(--muted); }
.note { padding:3rem; margin-block:5rem 8rem; border:1px solid var(--line); border-radius:1.25rem; background:var(--accent-soft); }
.related { display:flex; flex-wrap:wrap; gap:1rem; } .related a { padding:.65rem .9rem; border:1px solid var(--line); border-radius:999px; text-decoration:none; }
.footer { border-top:1px solid var(--line); padding:2.5rem max(24px,calc((100vw - var(--max))/2)); display:flex; justify-content:space-between; gap:2rem; color:var(--muted); } .footer img { width:90px; } .footer-links { display:flex; flex-wrap:wrap; gap:1rem; }
.legal { max-width:780px; padding:5rem 0 8rem; } .legal h1 { font-size:clamp(2.5rem,6vw,4.8rem); max-width:none; } .legal h2 { margin-top:2rem; font-size:1.3rem; } .legal p,.legal li { color:var(--muted); }
[data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .7s ease,transform .7s ease; } [data-reveal].is-visible { opacity:1; transform:none; }
@media (max-width:760px) { .menu-button{display:block}.nav{position:fixed;z-index:25;inset:72px 0 auto;background:var(--paper);padding:1.5rem 24px;border-bottom:1px solid var(--line);box-shadow:0 18px 36px rgba(0,0,0,.12);display:none;flex-direction:column;align-items:flex-start}.nav[data-open="true"]{display:flex}.hero{grid-template-columns:1fr;min-height:auto;padding:5rem 0}.hero-mark{min-height:280px}.split{grid-template-columns:1fr;padding:5rem 0}.cards{grid-template-columns:1fr}.footer{flex-direction:column}.topbar{padding-inline:24px}.brand img{width:142px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transform:none;transition:none}}
