:root {
  color-scheme: light;
  --ink:#102932;
  --ink-deep:#0d2027;
  --text:#17313a;
  --muted:#486067;
  --paper:#f5f1e8;
  --card:#fffdf8;
  --line:#d9ded8;
  --accent:#ffba60;
  --accent-hot:#ffd08c;
  --font:system-ui,-apple-system,"Segoe UI",sans-serif;
  --display:Georgia,"Times New Roman",serif;
  --shell:min(1120px, calc(100% - 40px));
  --dock:76px;
}
*,*::before,*::after { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:22px }
body { margin:0; background:var(--paper); color:var(--text); font:16px/1.5 var(--font) }
body:has(dialog[open]) { overflow:hidden }
a { color:inherit; text-decoration:none }
button,input,select,textarea { font:inherit }
button { cursor:pointer }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #177b8b; outline-offset:4px }
svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle }
.svg-library { width:0; height:0; position:absolute; pointer-events:none }
[hidden] { display:none!important }
h1,h2,h3,p,figure { margin:0 }
h2 { font-family:var(--display); font-size:clamp(2rem,4.4vw,3.4rem); line-height:1.05; letter-spacing:-.045em }
img { max-width:100%; display:block }
.shell { width:var(--shell); margin-inline:auto }
.skip { position:fixed; inset:10px auto auto 10px; transform:translateY(-140%); background:var(--card); padding:10px; z-index:20 }
.skip:focus { transform:none }
.eyebrow { color:#35646b; font-size:.69rem; font-weight:800; letter-spacing:.16em }
.button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:10px 16px; border:0; border-radius:10px; font-size:.875rem; font-weight:800; white-space:normal; text-align:center }
.button svg { width:17px; height:17px; flex:none }
.accent { background:var(--accent); color:var(--ink-deep) }
.accent:hover { background:var(--accent-hot) }
.outline { background:var(--card); border:1px solid #82989a; color:var(--ink) }
.icon-button { display:grid; place-items:center; width:44px; height:44px; flex:none; color:var(--ink); border:1px solid var(--line); background:var(--card); border-radius:11px }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important } }
