:root{--sign-white:#f6f7f5;--paper:#fff;--asphalt:#1f2226;--asphalt-soft:#4a5057;--kerb:#cdd1d5;--motorway:#0a6a4e;--motorway-deep:#07543d;--reflect:#f3c326;--steel:#8b9198;--error:#b3261e;--bg:var(--sign-white);--surface:var(--paper);--text:var(--asphalt);--muted:var(--asphalt-soft);--line:var(--kerb);--link:var(--motorway);--font-display:"Overpass", "Arial Narrow", sans-serif;--font-body:"Atkinson Hyperlegible", "Segoe UI", sans-serif;--font-mono:"Overpass Mono", ui-monospace, monospace;--step-hero:clamp(2.5rem, 1.6rem + 4.2vw, 4.75rem);--step-2:clamp(1.75rem, 1.35rem + 1.8vw, 2.6rem);--step-1:clamp(1.2rem, 1.1rem + .5vw, 1.45rem);--gutter:clamp(1rem, .5rem + 2.5vw, 2.5rem);--max:72rem;--radius:10px}@media (prefers-color-scheme:dark){:root{--bg:#16191c;--surface:#1f2327;--text:#eceeec;--muted:#a9afb5;--line:#343a40;--link:#4fc79c}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6}img,svg{max-width:100%;display:block}a{color:var(--link);text-underline-offset:.18em}:focus-visible{outline:3px solid var(--reflect);outline-offset:3px;border-radius:4px}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.skip{background:var(--reflect);color:var(--asphalt);z-index:10;padding:.5rem 1rem;position:absolute;top:.5rem;left:-999px}.skip:focus{left:.5rem}.site-header{border-bottom:1px solid var(--line)}.site-header .wrap{justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);align-items:center;gap:.6rem;font-size:1.15rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--motorway);width:1.75rem;height:1.75rem;box-shadow:inset 0 0 0 2px var(--motorway), inset 0 0 0 4px #fff;color:#fff;border-radius:6px;place-items:center;display:grid}.site-nav{align-items:center;gap:1.25rem;display:flex}.site-nav a{color:var(--muted);font-size:.95rem;text-decoration:none}.site-nav a:hover{color:var(--text)}@media (width<=40rem){.site-nav a:not(.btn){display:none}}.btn{font-family:var(--font-display);cursor:pointer;border:2px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.25rem .7rem;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .12s,background-color .12s;display:inline-flex}.btn-primary{background:var(--motorway);color:#fff}.btn-primary:hover{background:var(--motorway-deep)}.btn-quiet{border-color:var(--line);color:var(--text);background:0 0}.btn-quiet:hover{border-color:var(--text)}.btn:active{transform:translateY(1px)}.site-nav .btn{color:#fff;padding:.5rem 1rem .4rem;font-size:.95rem}.hero{padding-block:clamp(2.5rem,6vw,5.5rem) clamp(3rem,7vw,6rem)}.hero .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);display:grid}@media (width<=56rem){.hero .wrap{grid-template-columns:1fr}}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 1rem;font-size:.8rem}.hero h1{font-family:var(--font-display);font-weight:900;font-size:var(--step-hero);letter-spacing:-.025em;text-wrap:balance;margin:0 0 1.25rem;line-height:.98}.hero .lede{font-size:var(--step-1);color:var(--muted);max-width:34rem;margin:0 0 2rem;line-height:1.5}.actions{flex-wrap:wrap;gap:.75rem;display:flex}.gantry{padding-top:1.1rem;position:relative}.gantry:before{content:"";border-block:3px solid var(--steel);background:repeating-linear-gradient(60deg, transparent 0 9px, var(--steel) 9px 12px), repeating-linear-gradient(-60deg, transparent 0 9px, var(--steel) 9px 12px);opacity:.85;height:1.1rem;position:absolute;inset:0 -.5rem auto}.gantry-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}@media (width<=28rem){.gantry-panels{grid-template-columns:1fr}}.sign{background:var(--motorway);color:#fff;border-radius:var(--radius);min-height:8.5rem;box-shadow:inset 0 0 0 4px var(--motorway), inset 0 0 0 6px #fff, 0 10px 24px -14px #0000008c;grid-template-columns:1fr auto;align-items:end;gap:.75rem;padding:1rem 1.1rem;text-decoration:none;transition:transform .16s;animation:.6s cubic-bezier(.2,.8,.2,1) both hang;display:grid;position:relative}.gantry-panels li:nth-child(2) .sign{animation-delay:80ms}.gantry-panels li:nth-child(3) .sign{animation-delay:.16s}.gantry-panels li:nth-child(4) .sign{animation-delay:.24s}.sign:hover{transform:translateY(-2px)}.sign:hover .sign-arrow{transform:translate(var(--nudge-x,0), var(--nudge-y,-3px)) rotate(var(--turn))}@keyframes hang{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.sign-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.25rem,1.05rem + .8vw,1.6rem);font-weight:800;line-height:1.05}.sign-status{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1.5px solid #fff;border-radius:4px;margin-top:.55rem;padding:.2rem .45rem .1rem;font-size:.72rem;font-weight:600;display:inline-block}.sign[data-status=later] .sign-status,.sign[data-status=next] .sign-status{background:var(--reflect);border-color:var(--reflect);color:var(--asphalt)}.sign-arrow{width:2.6rem;height:2.6rem;transform:rotate(var(--turn));transition:transform .16s}.sign[data-status=now]{--turn:0deg}.sign[data-status=next]{--turn:45deg;--nudge-x:2px;--nudge-y:-2px}.sign[data-status=later]{--turn:90deg;--nudge-x:3px;--nudge-y:0}.gantry-key{color:var(--muted);margin:.9rem 0 0;font-size:.85rem}.section{border-top:1px solid var(--line);padding-block:clamp(3rem,7vw,5.5rem)}.section-head{max-width:40rem;margin-bottom:clamp(1.75rem,4vw,2.75rem)}.section h2{font-family:var(--font-display);font-weight:800;font-size:var(--step-2);letter-spacing:-.02em;text-wrap:balance;margin:0 0 .75rem;line-height:1.08}.section-head p{color:var(--muted);margin:0;font-size:1.1rem}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.4rem 1.5rem}.card h3{font-family:var(--font-display);margin:0 0 .4rem;font-size:1.2rem;font-weight:800}.card p{color:var(--muted);margin:0}.tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--motorway);color:var(--link);border-radius:4px;margin-bottom:.8rem;padding:.15rem .45rem .05rem;font-size:.7rem;display:inline-block}.tag-coming{background:var(--reflect);border-color:var(--reflect);color:var(--asphalt)}.shelves{grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));gap:1rem;display:grid}.shelf{background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--motorway);border-radius:var(--radius);padding:1.3rem 1.4rem .6rem;scroll-margin-top:1.5rem}.shelf h3{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.3rem;font-weight:800}.shelf>p{color:var(--muted);margin:0 0 .9rem}.shelf ul{margin:0;padding:0;list-style:none}.shelf li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 0;font-weight:700;display:flex}.shelf li .tag{white-space:nowrap;margin:0}.shelf-note{color:var(--muted);max-width:46rem;margin:1.25rem 0 0;font-size:.95rem}.vehicles{gap:.6rem;max-width:44rem;display:grid}.vehicle{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr auto;align-items:baseline;gap:1rem;padding:1rem 1.2rem;display:grid}.vehicle strong{font-family:var(--font-display);font-size:1.15rem}.vehicle span{color:var(--muted);font-size:.95rem}.vehicle small{color:var(--muted);margin-top:.2rem;font-size:.9rem;display:block}.logbook .wrap{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}@media (width<=56rem){.logbook .wrap{grid-template-columns:1fr}}.logbook ul{color:var(--muted);margin:1.25rem 0 0;padding-left:1.2rem}.logbook li{margin-bottom:.4rem}.ledger{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-mono);font-size:.82rem;overflow-x:auto}.ledger table{border-collapse:collapse;width:100%;min-width:34rem}.ledger caption{text-align:left;font-family:var(--font-body);color:var(--muted);padding:.9rem 1rem .5rem;font-size:.85rem}.ledger th,.ledger td{text-align:left;white-space:nowrap;padding:.55rem .75rem}.ledger th:first-child,.ledger td:first-child{padding-left:1rem}.ledger th{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);font-size:.7rem;font-weight:600}.ledger td.num{text-align:right;font-variant-numeric:tabular-nums}.ledger tr+tr td{border-top:1px dashed var(--line)}.purpose-biz{color:var(--link);font-weight:600}.steps{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;border-top:4px solid var(--motorway);padding-top:1rem}.steps li:before{content:counter(step);font-family:var(--font-display);color:var(--link);margin-bottom:.5rem;font-size:2rem;font-weight:900;line-height:1;display:block}.steps h3{font-family:var(--font-display);margin:0 0 .3rem;font-size:1.15rem;font-weight:800}.steps p{color:var(--muted);margin:0}.faq details{border-bottom:1px solid var(--line);max-width:46rem}.faq summary{cursor:pointer;font-family:var(--font-display);padding:1.1rem 2rem 1.1rem 0;font-size:1.12rem;font-weight:700;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--link);font-size:1.4rem;position:absolute;top:.95rem;right:.25rem}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);margin:0 0 1.2rem}.register .wrap{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4rem);display:grid}@media (width<=56rem){.register .wrap{grid-template-columns:1fr}}.form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:1.1rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.field{gap:.35rem;display:grid}.field-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=34rem){.field-row{grid-template-columns:1fr}}label,legend{font-size:.95rem;font-weight:700}.hint{color:var(--muted);font-weight:400}input[type=text],input[type=email],select,textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1.5px solid var(--line);border-radius:8px;padding:.65rem .8rem}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--motorway)}textarea{resize:vertical;min-height:6rem}fieldset{border:0;margin:0;padding:0}.checks{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.4rem 1rem;margin-top:.5rem;display:grid}.check{align-items:flex-start;gap:.55rem;font-weight:400;display:flex}.check input{accent-color:var(--motorway);width:1.05rem;height:1.05rem;margin-top:.3rem}.field-error{color:var(--error);margin:0;font-size:.9rem}@media (prefers-color-scheme:dark){.field-error{color:#ff8a80}}.notice{color:var(--muted);margin:0;font-size:.85rem}.trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.success{border-left:6px solid var(--motorway);background:var(--surface);border-radius:var(--radius);padding:1.25rem 1.4rem}.success h3{font-family:var(--font-display);margin:0 0 .3rem;font-size:1.25rem}.success p{color:var(--muted);margin:0}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding-block:2rem 3rem;font-size:.9rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.site-footer p{max-width:40rem;margin:0}.prose{max-width:42rem;padding-block:clamp(2.5rem,6vw,4.5rem)}.prose h1{font-family:var(--font-display);font-weight:900;font-size:var(--step-2);margin:0 0 1rem;line-height:1.05}.prose h2{font-family:var(--font-display);margin:2rem 0 .5rem;font-size:1.3rem;font-weight:800}.prose p,.prose li{color:var(--muted)}.draft-banner{background:var(--reflect);color:var(--asphalt);border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.95rem}
