:root{
  --paper:#F3F5F7;--ink:#0E1A2B;--muted:#5C6878;--rule:#D5DBE2;--line:#2257E6;--white:#FFFFFF;
  --wide:"Archivo","Helvetica Neue",Arial,sans-serif;--read:"Newsreader",Georgia,serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.55 var(--wide);font-variation-settings:"wdth" 100}
a{color:var(--ink);text-decoration-color:var(--line);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--line)}
:focus-visible{outline:3px solid var(--line);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:var(--white);padding:8px 12px}
.bar{display:flex;justify-content:space-between;align-items:center;padding-block:22px;font-size:.9375rem}
.bar .mark{display:inline-flex;align-items:center;gap:10px;font-weight:900;text-transform:uppercase;letter-spacing:.01em;text-decoration:none;font-variation-settings:"wdth" 112}
.logo{width:34px;height:34px;flex:none}
body.home .bar .logo .bg{fill:#fff}
body.home .bar .logo .lt{fill:#0E1A2B}
.bar nav a{margin-left:22px;text-decoration:none;color:var(--muted)}
.bar nav a:hover{color:var(--ink)}
.mail{display:block;font-weight:700;font-size:clamp(1.5rem,3.4vw,2.5rem);line-height:1.1;font-variation-settings:"wdth" 75;word-break:break-word}
footer{border-top:1px solid var(--rule);padding:28px 0 40px;font-size:.875rem;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
footer .fmark{display:flex;align-items:center;gap:10px}
footer .logo{width:26px;height:26px}
footer a{color:var(--muted);text-decoration:none;margin-right:18px}
footer a:hover{color:var(--ink);text-decoration:underline}
.doc{padding-block:56px 96px}
.doc .wrap{max-width:760px}
.doc h1{margin:0;font-size:clamp(2.5rem,6vw,4rem);line-height:.95;font-weight:800;font-variation-settings:"wdth" 62}
.doc .updated{margin:14px 0 40px;color:var(--muted);font-size:.9375rem}
.doc .prose{font-family:var(--read);font-size:1.1875rem;line-height:1.65}
.doc .prose h2{font-family:var(--wide);font-size:1.25rem;line-height:1.3;margin:40px 0 8px;font-variation-settings:"wdth" 100}
.doc .prose p,.doc .prose li{max-width:68ch}
.doc .prose ul{padding-left:1.2em}
.doc .prose li{margin:6px 0}
@keyframes run{to{stroke-dashoffset:0}}
@keyframes show{to{opacity:1}}
@media (max-width:760px){.bar nav a{margin-left:14px}.bar nav .hide-sm{display:none}}
@media (max-width:560px){.bar nav a{white-space:nowrap}.bar nav a:first-child{display:none}.bar .mark{font-size:.875rem;white-space:nowrap}}

/* ===== homepage ===== */
body.home header.bar{color:#fff}
body.home .bar{position:relative;z-index:2}
.night{background:var(--ink);color:#fff;margin-top:-76px;padding-top:76px;overflow:hidden}
body.home .bar nav a{color:#C9D3E0}
body.home .bar .mark{color:#fff}
body.home .bar nav a:hover{color:#fff}
.hero2{padding-block:7vh 0}
.hero2 h1{margin:0;color:#fff;font-weight:900;text-transform:uppercase;font-size:clamp(3rem,10.4vw,8.75rem);line-height:.86;letter-spacing:-.02em;font-variation-settings:"wdth" 112}
.hero2 p{margin:28px 0 0;max-width:44ch;font-size:clamp(1.125rem,1.9vw,1.5rem);line-height:1.4;color:#C9D3E0}
.routemap{max-width:1240px;margin:28px auto 0;padding:0 20px 36px}
.routemap svg{display:block;width:100%;height:auto;overflow:visible}
.routemap path{fill:none;stroke:var(--line);stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.routemap circle{fill:var(--ink);stroke:#fff;stroke-width:4}
.routemap .soon circle{stroke:#5C6E88}
.routemap text{fill:#fff;font:600 17px var(--wide);text-anchor:middle}
.routemap .soon text{fill:#8796AD}
@media (prefers-reduced-motion:no-preference){
  .routemap path.run{stroke-dashoffset:1;animation:run 2.2s cubic-bezier(.45,.05,.2,1) .2s forwards}
  .routemap .pin{opacity:0;animation:show .35s ease forwards}
  .routemap .p1{animation-delay:.75s}.routemap .p2{animation-delay:1.15s}.routemap .p3{animation-delay:1.6s}.routemap .p4{animation-delay:1.95s}
}
.pubs{padding-block:88px 96px}
.pubs h2{margin:0 0 32px;font-size:1.0625rem;font-weight:600;color:var(--muted)}
.grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:20px}
.pub{position:relative;padding:36px 36px 34px;display:flex;flex-direction:column}
.pub .what{margin:0 0 18px;font-size:.9375rem;font-weight:600}
.pub h3{margin:0;font-size:clamp(2.5rem,4.4vw,3.5rem)!important;line-height:.95!important;min-height:1.9em;display:flex;align-items:flex-end}
.pub .dek{margin:16px 0 0;max-width:46ch;min-height:4.65em}
.pub ul{list-style:none;margin:26px 0 28px;padding:0}
.pub li{padding:12px 0;border-top:1px solid rgba(0,0,0,.18)}
.pub .visit{margin-top:auto;font-weight:700;text-decoration:none;align-self:flex-start;padding:12px 18px}
.pub .soonline{margin-top:auto;font-weight:600}
.mbl{background:#0E7C86;color:#fff}
.mbl h3{font:800 clamp(3rem,6vw,5.25rem)/.9 "Barlow Condensed",var(--wide)}
.mbl .what{color:#BFE6E8}
.mbl li{border-color:rgba(255,255,255,.35)}
.mbl .heads a{color:#fff}
.mbl .visit{background:#fff;color:#102A43}
.mbl .cities{margin:auto 0 28px;font:800 clamp(2.25rem,5.4vw,4.6rem)/.95 "Barlow Condensed",var(--wide);color:rgba(255,255,255,.28);word-spacing:.12em}
.mbl .cities + .visit{margin-top:0}
.mbl .visit:hover{background:#102A43;color:#fff}
.eat{background:#F2B705;color:#111}
.eat h3{font:400 clamp(2.75rem,5vw,4.25rem)/.95 Anton,Impact,var(--wide);letter-spacing:.005em}
.pub .heads span{display:block;font-size:.8125rem;font-weight:700;margin-bottom:3px;opacity:.7}
.pub .heads a{display:block;text-decoration:none;font-weight:600;line-height:1.3}
.pub .heads a:hover{text-decoration:underline}
.eat .heads a{color:#111}
.pub .heads span{display:block;font-size:.8125rem;font-weight:700;margin-bottom:3px;opacity:.7}
.eat .visit{background:#111;color:#F2B705}
.eat .visit:hover{background:#fff;color:#111}
.endu{background:#0F1A16;color:#E7ECE9}
.endu .what{color:#F4A27E}
.endu h3{font:800 clamp(2.75rem,5vw,4.25rem)/.92 "Barlow Condensed",var(--wide);color:#fff}
.endu .tape{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0 6px}
.endu .tape div{border-top:3px solid #C2410C;padding-top:10px}
.endu dt{font:600 clamp(1.75rem,3vw,2.375rem)/1 "IBM Plex Mono",ui-monospace,monospace;color:#fff}
.endu dd{margin:6px 0 0;font-size:.875rem;line-height:1.35;color:#AAB7B1}
.endu .heads{margin:18px 0 22px}
.endu .heads li{border-color:#2A3833}
.endu .heads a{color:#fff}
.endu .visit{background:#C2410C;color:#fff}
.endu .visit:hover{background:#fff;color:#0F1A16}
.ebl{background:#F2541B;color:#120A06}
.ebl h3{font-weight:900;font-variation-settings:"wdth" 100;letter-spacing:-.01em}
.ebl .what{color:#3A1A0E}
.ebl .heads li{border-color:rgba(18,10,6,.25)}
.ebl .heads a{color:#120A06}
.ebl .visit{background:#120A06;color:#fff}
.ebl .visit:hover{background:#fff;color:#120A06}
.band{background:var(--line);color:#fff}
.bandin{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:end;padding-block:72px 76px}
.band h2{margin:0 0 14px;font-size:clamp(2rem,4vw,3rem);line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;font-variation-settings:"wdth" 112}
.band p{margin:0;max-width:50ch;color:#DCE6FF}
.band .mail{color:#fff;text-decoration-color:#fff}
.band .mail:hover{color:var(--ink)}
.band .note{margin-top:12px;color:#DCE6FF;font-size:.9375rem}
body.home footer{border-top:0}
@media (max-width:860px){
  .grid{grid-auto-rows:auto}
  .pub h3{min-height:0}
  .grid{grid-template-columns:1fr}
  .pub{min-height:0;padding:28px 24px}
  .bandin{grid-template-columns:1fr;gap:28px}
  .routemap text{font-size:22px}
  .routemap{padding-bottom:20px}
}
@media (max-width:560px){.routemap text{display:none}}
