:root { color-scheme: light; --paper:#f5f1e7; --ink:#163c3a; --acid:#d4ed59; --muted:#526460; }
* { box-sizing:border-box; }
html { background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
body { margin:0; min-height:100svh; padding:22px clamp(20px,4.5vw,76px) 24px; display:flex; flex-direction:column; }
.masthead,footer { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.chapter,footer,.handle { font-family:"Courier New",monospace; font-size:11px; letter-spacing:.1em; line-height:1.5; }
.chapter { font-weight:bold; }
nav { display:flex; align-items:center; gap:2px; }
nav a { display:grid; place-items:center; min-width:44px; min-height:44px; color:var(--ink); font-size:12px; text-decoration:none; }
nav a[aria-current] { text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:2px; }
nav span { font-size:12px; color:var(--muted); }
main { flex:1; width:100%; max-width:1300px; margin:auto; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:75px 0 70px; }
.brand { position:relative; width:fit-content; max-width:100%; }
h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(78px,18.5vw,270px); font-weight:normal; letter-spacing:-.075em; line-height:.86; padding-right:.035em; }
.dot { color:var(--ink); }
.soon { position:absolute; top:-35px; right:3%; margin:0; padding:8px 14px; background:var(--acid); font-family:"Courier New",monospace; font-size:11px; font-weight:bold; letter-spacing:.08em; transform:rotate(6deg); }
.line { margin:27px 0 0; font-size:clamp(17px,2vw,27px); letter-spacing:-.025em; }
.invitation { margin-top:clamp(48px,8vh,80px); width:100%; }
.invitation p { margin:0 0 15px; font-size:14px; line-height:1.5; color:var(--muted); }
.social { display:inline-flex; justify-content:center; align-items:center; gap:15px; min-height:48px; max-width:100%; padding:10px 2px; border-bottom:1px solid var(--ink); color:var(--ink); font-size:16px; line-height:1.4; text-decoration:none; font-weight:bold; }
.social span[aria-hidden] { font-size:24px; font-weight:normal; }
.social:hover { border-bottom-width:3px; padding-bottom:8px; }
.handle { display:block; margin-top:15px; font-size:9px; letter-spacing:.08em; color:var(--muted); }
footer { color:var(--muted); font-size:10px; }
footer > span:last-child { white-space:nowrap; }
.legal-link { color:var(--muted); display:inline-flex; align-items:center; justify-content:flex-end; min-height:44px; min-width:44px; line-height:1.5; text-underline-offset:3px; text-align:right; }
.legal-page main { display:block; max-width:760px; text-align:left; padding:36px 0 60px; }
.legal-page h1 { font-size:clamp(36px,7vw,60px); letter-spacing:-.04em; line-height:1.1; }
.legal-page h2 { font-size:25px; line-height:1.3; margin-top:38px; }
.legal-page h3 { font-size:17px; margin-top:26px; }
.legal-page p,.legal-page address { font-size:15px; line-height:1.65; font-style:normal; }
.legal-page a { color:var(--ink); text-underline-offset:3px; overflow-wrap:anywhere; }
.legal-page main a { min-height:44px; display:inline-flex; align-items:center; }
.legal-page section + section { border-top:1px solid var(--muted); margin-top:40px; padding-top:10px; }
.legal-page .legal-note { color:var(--muted); font-size:13px; }
a:focus-visible { outline:3px solid var(--ink); outline-offset:5px; border-radius:1px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:480px) {
  body { padding-top:14px; padding-bottom:20px; }
  .chapter { font-size:9px; letter-spacing:.07em; }
  main { padding:70px 0 65px; }
  h1 { font-size:24vw; }
  .soon { right:0; font-size:9px; top:-34px; }
  .line { margin-top:24px; }
  .invitation { margin-top:54px; }
  .invitation p { font-size:12px; }
  .social { font-size:14px; gap:10px; }
  footer { font-size:8px; gap:12px; letter-spacing:.05em; }
  footer > span { max-width:58%; }
  .legal-link { max-width:42%; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
