/* base.css: layout for every ARC Street. Colors come from blueprint.css and skyline.css. System fonts only. */
*{box-sizing:border-box}
html{background:var(--paper);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,"Segoe UI",Roboto,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration-color:var(--accent);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.mono,.stamp,.sheet-no,.card-k,.tile-rec,.elev-n,.demo-stamp,.kicker{font-family:ui-monospace,Consolas,"Cascadia Mono",monospace}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:16px;top:8px;background:var(--panel);padding:8px 12px;z-index:9}
.topline{display:block;width:100%;height:14px}
.topline path{stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}
.mast,main,.foot{max-width:1120px;margin:0 auto;padding-inline:16px}
.mast{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding-block:6px 14px;border-bottom:1px solid var(--rule)}
.brand{display:inline-flex;align-items:baseline;gap:8px;text-decoration:none;font-weight:700;letter-spacing:.02em;min-height:44px;align-items:center}
.mark{color:var(--accent);font-size:28px;line-height:1}
.nav{display:flex;flex-wrap:wrap;gap:2px 4px}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
main{padding-block:24px 48px}
.sheet-head{margin-bottom:24px}
.sheet-no{font-size:12px;letter-spacing:.14em;color:var(--muted)}
h1{font-size:clamp(30px,5.4vw,52px);line-height:1.05;margin:6px 0 10px;letter-spacing:-.01em;text-wrap:balance}
h2{font-size:clamp(21px,2.8vw,28px);line-height:1.2;margin:0 0 12px;text-wrap:balance}
h3{font-size:18px;margin:16px 0 6px}
h4{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:16px 0 6px}
p{margin:0 0 12px;max-width:68ch}
.lede{font-size:19px;color:var(--muted)}
.blk{margin:0 0 40px}
.stamp{font-size:11.5px;letter-spacing:.06em;color:var(--muted);border-top:1px solid var(--rule);padding-top:6px;margin-top:12px;max-width:none}
.btn{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:600;border:0;border-radius:3px;font:inherit;font-weight:600;cursor:pointer}
.btn.is-off{opacity:.55;cursor:default}
.btn-ghost{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:3px;font:inherit;cursor:pointer;text-align:left}
.btn-ghost:hover{border-color:var(--accent)}
.note,.empty{color:var(--muted);font-size:14px}
.tag{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;color:var(--tag);padding:2px 6px;border-radius:2px;margin-top:6px;align-self:flex-start}
/* hero */
.hero-line{font-size:clamp(28px,5vw,48px);font-weight:700;line-height:1.08;margin:0 0 10px;max-width:22ch;text-wrap:balance}
.hero-sub{font-size:19px;color:var(--muted)}
.kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
/* cards */
.cards{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.card{background:var(--panel);border:1px solid var(--rule);border-radius:4px}
.card>a,.card>span:first-child{display:flex}
.card>a,.card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;min-height:44px}
.card>a{padding:0}
.card:hover{border-color:var(--line)}
.card-k{font-size:11.5px;letter-spacing:.06em;color:var(--muted)}
.card-t{font-weight:650;font-size:17px}
.card-d{color:var(--muted);font-size:15px}
.card-m{font-size:13px;color:var(--muted)}
/* the building */
.blk-building{position:relative}
.bldg-wrap{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:20px;align-items:start}
.bldg-draw{position:sticky;top:16px;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;border:1px solid var(--rule);border-radius:4px}
.bldg{display:block;width:100%;height:auto}
.bldg-sky{fill:transparent}
.bldg-arc{stroke:var(--accent);stroke-width:2.5}
.bldg-mast{stroke:var(--line);stroke-width:2}
.fl-box{fill:var(--panel);stroke:var(--line);stroke-width:1.4}
.win{fill:var(--win);stroke:var(--win-line);stroke-width:1}
.fl:hover .win,.fl:focus .win{fill:var(--dc)}
.fl-n{fill:var(--muted);font:12px ui-monospace,Consolas,monospace;text-anchor:end}
.fl-name{fill:var(--ink);font:600 13px system-ui,"Segoe UI",sans-serif}
.bldg-ground{stroke:var(--ink);stroke-width:2}
.bldg-door{fill:var(--accent)}
.elevator ol{list-style:none;margin:0;padding:0;border:1px solid var(--rule);border-radius:4px;background:var(--panel)}
.elevator li+li{border-top:1px solid var(--rule)}
.elevator a{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;min-height:44px;text-decoration:none}
.elevator a:hover,.elevator a:focus-visible{background:color-mix(in srgb,var(--dc) 12%,transparent)}
.elev-head{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.elev-n{flex:none;width:28px;height:28px;display:inline-grid;place-items:center;border:1.5px solid var(--dc);border-radius:50%;font-size:13px}
.elev-t{display:flex;flex-direction:column}
.elev-name{font-weight:650}
.elev-sum{font-size:14px;color:var(--muted)}
/* Skyline: a faint star field behind the drawing, windows lit in each floor's color */
:root[data-theme="skyline"] .bldg-draw{background-image:radial-gradient(1px 1px at 12% 18%,var(--grid),transparent 60%),radial-gradient(1px 1px at 38% 8%,var(--grid),transparent 60%),radial-gradient(1px 1px at 72% 14%,var(--grid),transparent 60%),radial-gradient(1px 1px at 88% 30%,var(--grid),transparent 60%),radial-gradient(1px 1px at 22% 40%,var(--grid),transparent 60%),radial-gradient(1px 1px at 60% 26%,var(--grid),transparent 60%);background-size:auto}
:root[data-theme="skyline"] .fl.lit .win{fill:color-mix(in srgb,var(--dcd) 42%,transparent);stroke:color-mix(in srgb,var(--dcd) 80%,transparent);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--dcd) 55%,transparent))}
:root[data-theme="skyline"] .elevator a:hover{background:color-mix(in srgb,var(--dcd) 16%,transparent)}
:root[data-theme="skyline"] .elev-n{border-color:var(--dcd)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="blueprint"]) .bldg-draw{background-image:radial-gradient(1px 1px at 12% 18%,var(--grid),transparent 60%),radial-gradient(1px 1px at 38% 8%,var(--grid),transparent 60%),radial-gradient(1px 1px at 72% 14%,var(--grid),transparent 60%),radial-gradient(1px 1px at 88% 30%,var(--grid),transparent 60%),radial-gradient(1px 1px at 22% 40%,var(--grid),transparent 60%),radial-gradient(1px 1px at 60% 26%,var(--grid),transparent 60%);background-size:auto}
  :root:not([data-theme="blueprint"]) .fl.lit .win{fill:color-mix(in srgb,var(--dcd) 42%,transparent);stroke:color-mix(in srgb,var(--dcd) 80%,transparent);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--dcd) 55%,transparent))}
  :root:not([data-theme="blueprint"]) .elev-n{border-color:var(--dcd)}
}
@media (prefers-reduced-motion: no-preference){
  .win{transition:fill .5s ease calc(var(--i) * 70ms),stroke .5s ease calc(var(--i) * 70ms)}
}
/* tables, chips, lists */
.tscroll{overflow-x:auto;max-width:100%}
table{border-collapse:collapse;width:100%;font-size:15px}
caption{text-align:left;font-size:13px;color:var(--muted);padding-bottom:6px}
th,td{text-align:left;vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--rule)}
th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
td ul{margin:0;padding-left:18px}
.chips{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:6px}
.chips li{border:1px solid var(--rule);background:var(--panel);padding:4px 10px;border-radius:99px;font-size:14px}
.promises{margin:0;padding-left:22px;display:grid;gap:10px}
.promises strong{display:block}
.promises span{color:var(--muted)}
.guides{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.guide{background:var(--panel);border:1px solid var(--rule);border-radius:4px;padding:14px 16px}
.guide h3{margin-top:4px}
.guide p{font-size:15px;color:var(--muted);margin:0}
.sheets td{padding:6px 10px}
.sheet-sum{display:block;font-size:13.5px;color:var(--muted)}
.events,.badges{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.badge{border:1px solid var(--tag);color:var(--ink);padding:8px 12px;border-radius:4px;background:var(--panel)}
.door{background:var(--panel);border:1px solid var(--rule);border-radius:4px;padding:20px}
.door-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.door-key{color:var(--muted)}
.trailer video{width:100%;height:auto;border-radius:4px;background:#000}
/* Pick a chair */
.chair-groups{display:grid;gap:10px}
.chair-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chair-ind{margin:0;min-width:200px;font-weight:650}
.chair-btn{min-height:44px;padding:0 14px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:3px;font:inherit;cursor:pointer}
.chair-btn[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chair-screen{margin-top:16px;background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:16px;outline:none}
.chair-screen:empty{display:none}
.chair-head h3{margin:6px 0 2px}
.chair-where{color:var(--muted);font-size:14px}
.demo-stamp{display:inline-block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1.5px solid var(--accent);padding:2px 8px;transform:rotate(-2deg)}
.no-signal{background:var(--ink);color:var(--paper);padding:6px 10px;border-radius:3px;font-weight:600;max-width:none}
.tiles{list-style:none;padding:0;margin:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.tile{border:1px solid var(--rule);border-radius:4px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.tile-t{font-weight:600}
.tile-d{color:var(--muted);font-size:14px}
.tile-rec{font-size:12px;color:var(--muted)}
.checklist{list-style:none;padding:0;margin:0}
.checklist li{min-height:44px;display:flex;align-items:center;gap:8px}
.checklist input{width:22px;height:22px}
.tap-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.waiting{font-family:ui-monospace,Consolas,monospace;font-size:13px;color:var(--muted)}
.calls,.expiring{margin:0;padding-left:18px}
.chair-pairs{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.pair-drawer{display:block;font-size:13px;color:var(--muted);margin-top:2px}
/* footer */
.foot{border-top:1px solid var(--rule);padding-block:20px 40px;color:var(--muted);font-size:14px}
.foot-line{color:var(--ink)}
.foot-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.theme-toggle{min-height:44px;padding:0 14px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:3px;font:inherit;cursor:pointer}
.foot-tools a{display:inline-flex;align-items:center;min-height:44px}
.foot-credit{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-underline-offset:3px}
.foot-credit:hover,.foot-credit:focus-visible{color:var(--ink)}
.foot-mark{display:inline-flex;align-items:center;justify-content:center;width:84px;height:30px;margin-right:10px;border-radius:6px;background:#0d1015;box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.foot-mark img{width:70px;height:auto;display:block}
/* phones: the building becomes the elevator */
@media (max-width:640px){
  .bldg-wrap{grid-template-columns:1fr}
  .bldg-draw{display:none}
  .chair-ind{min-width:0;width:100%}
  .lede,.hero-sub{font-size:17px}
  .depths thead{position:absolute;left:-9999px}
  .depths td{display:block;border-bottom:0;padding:8px 0}
  .depths td::before{content:attr(data-label);display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:4px}
  .depths tr{display:block;border-bottom:1px solid var(--rule)}
}

/* phone nav: the first items and a More menu that opens over the page (nothing below moves) */
.nav-more{display:none;position:relative}
.nav-more summary{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--muted);cursor:pointer;list-style:none;border-bottom:2px solid transparent}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary::after{content:"";width:6px;height:6px;margin-left:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.nav-more[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.nav-more.here summary{color:var(--ink);border-bottom-color:var(--accent)}
.nav-more-list{position:absolute;right:0;top:100%;z-index:20;display:flex;flex-direction:column;min-width:220px;padding:6px;background:var(--panel);border:1px solid var(--rule);border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.nav-more-list a{border-bottom:0;padding:0 12px}
.nav-more-list a[aria-current="page"]{color:var(--ink);font-weight:600}
@media (max-width:639px){.nav .nav-x{display:none}.nav-more{display:block}}
/* the founding line, set as proof under the hero */
.proof{margin:14px 0 0;padding-left:12px;border-left:2px solid var(--accent);font-style:italic;color:var(--muted);max-width:60ch}
/* Coming is not done: a muted, dashed chip; Network keeps the color */
.tag-coming{color:var(--muted);border-style:dashed}
