:root{--paper: #eef1f4;--surface: #ffffff;--ink: #14213d;--ink-soft: #4a5671;--cobalt: #2f4bdb;--cobalt-dark: #2339a8;--mint: #bfe8d4;--line: #cdd5e0;--danger: #b3261e;--font-display: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;--font-body: "Newsreader", Georgia, "Times New Roman", serif;--measure: 62ch;--gutter: clamp(1.25rem, 5vw, 4rem)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1.1875rem;line-height:1.6}h1,h2,h3{font-family:var(--font-display);line-height:1.1;margin:0 0 .5em;letter-spacing:-.02em}h1{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800}h2{font-size:clamp(1.6rem,3vw,2.25rem);font-weight:800}h3{font-size:1.15rem;font-weight:500;letter-spacing:-.01em;margin-bottom:.15em}p{margin:0 0 1em;max-width:var(--measure)}a{color:inherit}:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}.skip-link{position:absolute;left:-999px;top:.5rem;background:var(--ink);color:#fff;padding:.5rem 1rem;z-index:10}.skip-link:focus{left:.5rem}.site-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 2rem;padding:1.25rem var(--gutter)}.brand{font-family:var(--font-display);font-weight:800;font-size:1.35rem;letter-spacing:-.02em;text-decoration:none}.nav-list{display:flex;gap:.25rem;list-style:none;margin:0;padding:0}.nav-link{display:inline-block;font-family:var(--font-display);font-weight:500;font-size:1rem;text-decoration:none;padding:.4rem .8rem;border-radius:999px}.nav-link:hover{background:var(--mint)}.nav-link.active{background:var(--ink);color:#fff}.site-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 2rem;padding:2rem var(--gutter);border-top:1px solid var(--line);color:var(--ink-soft);font-size:1rem}.site-footer p{margin:0}.page{padding:clamp(2.5rem,6vw,5rem) var(--gutter);max-width:62rem}.page.narrow{max-width:40rem}.lede{font-size:1.35rem;color:var(--ink-soft)}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);padding:clamp(1.5rem,5vw,4rem) var(--gutter) clamp(2.5rem,6vw,5rem)}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.band{background:var(--mint);padding:clamp(2.5rem,6vw,4.5rem) var(--gutter)}.band-inner{max-width:62rem}.btn{display:inline-block;font-family:var(--font-display);font-weight:500;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;padding:.8rem 1.4rem;border-radius:999px;border:2px solid var(--ink);transition:background-color .15s,color .15s}.btn-primary{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.btn-primary:hover{background:var(--cobalt-dark);border-color:var(--cobalt-dark)}.btn-quiet{background:transparent;color:var(--ink)}.btn-quiet:hover{background:var(--ink);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}.text-link{font-family:var(--font-display);font-weight:500}.session-list{list-style:none;margin:1.5rem 0;padding:0;border-top:2px solid var(--ink)}.session-row{display:grid;grid-template-columns:9rem minmax(0,1fr) auto;align-items:center;gap:1rem 1.5rem;padding:1rem 0;border-bottom:1px solid var(--ink)}.session-when{display:flex;flex-direction:column;font-family:var(--font-display)}.session-when span{color:var(--ink-soft);font-size:.95rem}.session-what p{margin:0;color:var(--ink-soft);font-size:1rem}.session-action{display:flex;align-items:center;gap:1rem;justify-content:flex-end;flex-wrap:wrap}.spots{font-family:var(--font-display);font-size:.95rem}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 1rem}.chip{font-family:var(--font-display);font-weight:500;font-size:1rem;cursor:pointer;padding:.4rem 1rem;border-radius:999px;border:2px solid var(--ink);background:transparent;color:var(--ink)}.chip:hover{background:var(--mint)}.chip-on,.chip-on:hover{background:var(--ink);color:#fff}.status{color:var(--ink-soft);font-size:1rem}.steps{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1.5rem}.steps li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;align-items:start}.steps p{margin:0}.step-num{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--font-display);font-weight:800}.field{margin-bottom:1.25rem}.field label{display:block;font-family:var(--font-display);font-weight:500;margin-bottom:.3rem}.field input,.field textarea{width:100%;font:inherit;padding:.7rem .9rem;border:2px solid var(--ink);border-radius:8px;background:var(--surface);color:var(--ink)}.field [aria-invalid=true]{border-color:var(--danger)}.error{color:var(--danger);font-size:1rem;margin:.35rem 0 0}.wheel{width:100%;max-width:26rem;justify-self:center;overflow:visible}.wheel-tyre{fill:none;stroke:var(--ink);stroke-width:24}.wheel-rim{fill:none;stroke:var(--cobalt);stroke-width:6}.wheel-spokes{stroke:var(--ink);stroke-width:1.5;transform-origin:200px 200px;transition:transform 1.2s ease-out}.wheel:hover .wheel-spokes,.wheel:focus .wheel-spokes{transform:rotate(60deg)}.wheel-hub{fill:var(--mint);stroke:var(--ink);stroke-width:4}.wheel-axle{fill:var(--ink)}@media (max-width: 760px){.hero{grid-template-columns:1fr}.wheel{max-width:16rem;justify-self:start}.session-row{grid-template-columns:1fr;gap:.5rem}.session-action{justify-content:flex-start}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
