:root { --night:#141A16; --bone:#F1EEE4; --ink:#0B0D0A; --paper:#141A16; --paper-deep:#1A211C; --band:#1A211C; --surface:#222A25; --line:rgba(167,176,169,.34); --rule:rgba(167,176,169,.42); --lime:#D4F22E; --coral:#FF4C2E; --blue:#123EBB; --mineral:#A7B0A9; --white:#F1EEE4; --muted:#A7B0A9; }
* { box-sizing:border-box; }
/* The base .button/.featured-picker/.account-body rules (and any future one) set an explicit
   display, which beats the UA stylesheet's [hidden]{display:none} at equal specificity — so a
   toggled-hidden button/panel/section stayed visible site-wide. One global override, highest in
   the cascade for this exact case, fixes the whole class of bug instead of one class at a time. */
[hidden] { display:none !important; }
.hero-controlled-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; pointer-events:none; }
.hero-controlled-video.on { opacity:1; }
.hero-video-toggle { position:absolute; right:14px; bottom:12px; z-index:3; min-width:126px; min-height:44px; padding:10px 14px; background:#0B0D0A; color:#F1EEE4; border:1px solid #F1EEE4; border-radius:3px; font:600 13px "DM Sans",sans-serif; }
.hero-video-toggle:focus-visible { outline:3px solid #D4F22E; outline-offset:3px; }
html { scroll-behavior:smooth; }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
body { margin:0; background:var(--paper); color:var(--foreground,var(--bone)); font-family:"DM Sans",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; } button,input { font:inherit; } button { cursor:pointer; } img { display:block; max-width:100%; }
.container { margin:0 auto; width:min(1180px,calc(100% - 80px)); }
.eyebrow { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.14em; line-height:1.15; margin:0; text-transform:uppercase; }
.wordmark { align-items:center; color:var(--foreground,var(--bone)); display:inline-flex; font-family:Anton,Impact,sans-serif; font-size:20px; font-weight:900; gap:.24em; letter-spacing:0; line-height:1; text-transform:uppercase; white-space:nowrap; }
.wordmark span { align-items:center; background:var(--coral); color:var(--foreground,var(--bone)); display:inline-flex; font-family:"JetBrains Mono",monospace; font-size:.48em; font-weight:600; letter-spacing:.12em; line-height:1; padding:.37em .43em .31em; transform:translateY(-.04em); }.wordmark i { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:.75em; font-style:normal; letter-spacing:-.17em; margin-left:.03em; transform:translateY(-.02em); }
.hero .wordmark,.event-header .wordmark,.dashboard-header .wordmark { color:var(--white); }.site-header .wordmark,.stories-header .wordmark,.business-header .wordmark,.page-nav .wordmark { color:var(--foreground,var(--bone)); }

/* Hero */
.hero { color:var(--white); display:flex; flex-direction:column; isolation:isolate; min-height:min(960px,100svh); overflow:hidden; position:relative; }
.hero-media,.hero-scrim { inset:0; position:absolute; }.hero-media { z-index:-2; }.hero-media img { height:100%; object-fit:cover; object-position:center; width:100%; }
.hero-scrim { background:linear-gradient(90deg,rgba(8,12,8,.62),rgba(8,12,8,.2) 61%,rgba(8,12,8,.04)),linear-gradient(0deg,rgba(8,12,8,.86),rgba(8,12,8,.07) 70%); z-index:-1; }
.nav { align-items:center; display:flex; justify-content:space-between; padding:27px 0; }.desktop-nav { display:flex; gap:29px; margin-left:auto; margin-right:30px; }
.desktop-nav a { color:rgba(255,255,255,.92); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:700; letter-spacing:.075em; text-transform:uppercase; }
.menu-button { align-items:center; appearance:none; background:var(--lime); border:0; display:flex; flex-direction:column; gap:4px; height:46px; justify-content:center; padding:0; position:relative; transform:translateZ(0); transition:background .22s ease,transform .22s ease; width:46px; }.menu-button:hover { background:var(--surface); transform:translateY(-2px); }.burger-line { background:var(--band); display:block; height:2px; transform-origin:center; transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .2s ease,width .28s ease; width:18px; }.menu-button[aria-expanded="true"] { background:var(--lime); }.menu-button[aria-expanded="true"] .burger-line:nth-child(1) { transform:translateY(6px) rotate(45deg); }.menu-button[aria-expanded="true"] .burger-line:nth-child(2) { opacity:0; transform:scaleX(.3); }.menu-button[aria-expanded="true"] .burger-line:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.hero-copy { margin-top:auto; padding-bottom:56px; }.hero .eyebrow { color:var(--lime); }.hero h1 { font-family:Anton,Impact,sans-serif; font-size:clamp(60px,9.2vw,137px); letter-spacing:0; line-height:.92; margin:18px 0 24px -8px; text-transform:uppercase; }
.hero-lede { font-size:20px; line-height:1.45; margin:0; max-width:510px; }.search-card { align-items:stretch; background:var(--surface); color:var(--foreground,var(--bone)); display:grid; grid-template-columns:1fr 72px; margin-top:32px; max-width:655px; min-height:83px; }
.search-glyph { display:none; }.search-card label { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:13px 23px; }.search-card label b { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }.search-card input { background:transparent; border:0; color:var(--foreground,var(--bone)); font-size:17px; font-weight:700; min-width:0; outline:0; padding:5px 0 0; width:100%; }.search-card input::placeholder { color:var(--mineral); opacity:1; }.search-card button { background:var(--coral); border:0; color:var(--white); font-size:27px; padding:0; }
.hero-actions { align-items:center; display:flex; flex-wrap:wrap; gap:20px; margin-top:18px; }.button { align-items:center; display:inline-flex; font-family:"JetBrains Mono",monospace; font-size:17px; font-weight:600; gap:17px; justify-content:center; letter-spacing:.025em; min-height:53px; padding:11px 21px; text-transform:uppercase; }.button.lime { background:var(--lime); color:var(--foreground,var(--bone)); }.button.blue { background:var(--blue); color:var(--white); }.text-button { border-bottom:2px solid var(--white); color:var(--white); font-family:"JetBrains Mono",monospace; font-size:17px; font-weight:600; letter-spacing:.025em; padding-bottom:5px; text-transform:uppercase; }.text-button span { font-size:22px; margin-left:8px; }
.hero-stamp { align-items:center; background:var(--coral); bottom:38px; color:var(--foreground,var(--bone)); display:flex; flex-direction:column; height:125px; justify-content:center; position:absolute; right:max(40px,calc((100vw - 1180px)/2)); text-align:center; transform:rotate(-3deg); width:125px; }.hero-stamp strong { font-family:Anton,Impact,sans-serif; font-size:36px; letter-spacing:0; line-height:.65; }.hero-stamp span { font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.06em; line-height:.98; margin-top:13px; text-transform:uppercase; }

/* Editorial sections */
.home-demo-note { border-left:4px solid var(--mineral); color:var(--muted); font-size:13px; line-height:1.45; margin:29px 0 0; max-width:560px; padding-left:13px; }.partner-actions { align-items:center; display:flex; flex-wrap:wrap; gap:24px; margin-top:30px; }.partner-block > .container > .partner-actions .button { margin:0; }.partner-link { border-bottom:2px solid var(--rule); font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; letter-spacing:.035em; padding-bottom:4px; text-transform:uppercase; }.partner-link span { display:block; font-size:13px; margin-top:5px; }
.intro { display:grid; gap:44px; grid-template-columns:.7fr 1.3fr; padding:137px 0 127px; }.intro h2,.section-head h2,.partner-block h2 { font-family:Anton,Impact,sans-serif; font-size:clamp(40px,5vw,73px); letter-spacing:0; line-height:.92; margin:12px 0 0 -5px; text-transform:uppercase; }.intro > div > p { font-size:23px; line-height:1.39; margin:36px 0 0; max-width:590px; }
.events { padding-bottom:123px; }.section-head { align-items:end; display:flex; justify-content:space-between; margin-bottom:40px; }.section-head > a { border-bottom:2px solid var(--lime); font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; letter-spacing:.06em; padding-bottom:5px; text-transform:uppercase; }.event-list { border-top:1px solid var(--rule); }.event-row { align-items:center; border-bottom:1px solid var(--rule); display:grid; gap:26px; grid-template-columns:100px 1fr auto; min-height:126px; padding:19px 0; transition:background .2s ease,padding .2s ease; }.event-row:hover { background:var(--surface); padding-left:18px; padding-right:18px; }.event-row time { color:var(--mineral); font-family:Anton,Impact,sans-serif; letter-spacing:0; line-height:.92; }.event-row time b { display:block; font-family:"JetBrains Mono",monospace; font-size:14px; letter-spacing:.08em; }.event-row time strong { display:block; font-size:52px; }.event-row p,.story p { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.1em; margin:0; text-transform:uppercase; }.event-row h3 { font-family:Anton,Impact,sans-serif; font-size:28px; letter-spacing:0; line-height:.9; margin:7px 0; text-transform:uppercase; }.event-row span { color:var(--muted); font-size:14px; }.event-row i { color:var(--mineral); font-size:31px; font-style:normal; }
.disciplines { background:var(--band); color:var(--white); padding:105px 0; }.disciplines .eyebrow { color:var(--lime); }.discipline-grid { border-top:1px solid rgba(255,255,255,.34); margin-top:39px; }.discipline-grid a { align-items:center; border-bottom:1px solid rgba(255,255,255,.34); display:grid; gap:24px; grid-template-columns:58px 1fr auto; min-height:108px; }.discipline-grid b { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:16px; }.discipline-grid span { font-family:Anton,Impact,sans-serif; font-size:clamp(34px,4.4vw,59px); letter-spacing:0; line-height:.92; text-transform:uppercase; }.discipline-grid i { color:var(--lime); font-size:29px; font-style:normal; }
.world { padding:127px 0; }.world .section-head > p { color:var(--muted); font-size:17px; line-height:1.45; margin:0; max-width:250px; }.story-grid { display:grid; gap:22px; grid-template-columns:1.27fr .73fr; }.story { background:var(--surface); border:1px solid var(--line); display:flex; flex-direction:column; min-height:310px; overflow:hidden; }.story-feature { grid-row:span 2; }.story img { height:205px; object-fit:cover; width:100%; }.story-feature img { height:470px; }.story > div { padding:21px 22px 25px; }.story h3 { font-family:Anton,Impact,sans-serif; font-size:26px; letter-spacing:0; line-height:.9; margin:8px 0 0; text-transform:uppercase; }.story-feature h3 { font-size:clamp(34px,4vw,53px); }.story a { border-bottom:2px solid var(--lime); display:inline-block; font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:600; letter-spacing:.06em; margin-top:20px; padding-bottom:4px; text-transform:uppercase; }
.partner-block { background:var(--lime); padding:110px 0; }.partner-block h2 { max-width:740px; }.partner-block > .container > p:not(.eyebrow) { font-size:20px; line-height:1.45; margin:27px 0; max-width:565px; }
footer { align-items:end; display:grid; gap:36px; grid-template-columns:1fr .7fr auto; padding-bottom:30px; padding-top:54px; }footer .wordmark { font-size:clamp(38px,5vw,67px); }footer p { color:var(--muted); font-size:13px; line-height:1.45; margin:0; }footer > a:last-child { border-bottom:2px solid var(--lime); font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:600; letter-spacing:.07em; padding-bottom:4px; text-transform:uppercase; }

/* Menu: GPU-friendly clip reveal, with links arriving in sequence */
.menu-panel { background:var(--band); color:var(--white); height:700px; left:0; opacity:0; overflow:hidden; padding:0 max(40px,calc((100vw - 1180px)/2)); pointer-events:none; position:fixed; right:0; top:0; transform:translate3d(0,-10px,0); transition:clip-path .58s cubic-bezier(.2,.75,.2,1),transform .58s cubic-bezier(.2,.75,.2,1),opacity .16s ease; will-change:clip-path,transform; clip-path:inset(0 0 100% 0); z-index:20; }.menu-panel::after { background:var(--coral); bottom:0; content:""; height:5px; left:0; position:absolute; transform:scaleX(0); transform-origin:left; transition:transform .65s .12s cubic-bezier(.2,.75,.2,1); width:100%; }.menu-panel > div { margin:0 auto; max-width:1180px; padding:27px 0 31px; position:relative; }.menu-panel .close-menu { background:var(--lime); border:0; color:var(--foreground,var(--bone)); float:right; font-family:Anton,Impact,sans-serif; font-size:28px; height:46px; line-height:1; width:46px; }.menu-panel .eyebrow { clear:both; color:var(--lime); padding-top:30px; }.menu-panel a { align-items:baseline; border-bottom:1px solid rgba(255,255,255,.18); display:grid; grid-template-columns:44px 1fr auto; margin-top:0; opacity:0; padding:13px 0; transform:translate3d(0,-10px,0); transition:opacity .34s ease,transform .34s cubic-bezier(.2,.75,.2,1); will-change:transform,opacity; }.menu-panel a b,.menu-panel a i { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:14px; font-style:normal; }.menu-panel a:not(.wordmark) { color:rgba(241,238,228,.9); font-family:Anton,Impact,sans-serif; font-size:clamp(28px,3.6vw,44px); letter-spacing:.005em; line-height:1; text-transform:uppercase; }.menu-panel a:hover:not(.wordmark),.menu-panel a:focus-visible:not(.wordmark) { color:var(--foreground,var(--bone)); }.menu-panel a b { color:var(--lime); }/* Group labels split ten items into scannable thirds. They fade with the panel rather than
   stepping, so they never compete with the item stagger. */
.menu-group { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.16em; margin:15px 0 5px; opacity:0; text-transform:uppercase; transition:opacity .3s .06s ease; }.menu-group:first-of-type { margin-top:10px; }body.menu-open .menu-group { opacity:1; }.menu-panel a:nth-of-type(1){transition-delay:0.060s}.menu-panel a:nth-of-type(2){transition-delay:0.095s}.menu-panel a:nth-of-type(3){transition-delay:0.130s}.menu-panel a:nth-of-type(4){transition-delay:0.165s}.menu-panel a:nth-of-type(5){transition-delay:0.200s}.menu-panel a:nth-of-type(6){transition-delay:0.235s}.menu-panel a:nth-of-type(7){transition-delay:0.270s}.menu-panel a:nth-of-type(8){transition-delay:0.305s}.menu-panel a:nth-of-type(9){transition-delay:0.340s}.menu-panel a:nth-of-type(10){transition-delay:0.375s}.menu-panel a:nth-of-type(11){transition-delay:0.410s}body.menu-open .menu-panel { clip-path:inset(0 0 0 0); opacity:1; pointer-events:auto; transform:translate3d(0,0,0); }body.menu-open .menu-panel::after { transform:scaleX(1); }body.menu-open .menu-panel a { opacity:1; transform:translate3d(0,0,0); }

@media (max-width:760px) {
  .container { width:min(100% - 32px,620px); }.hero { min-height:100svh; }.hero-media img { object-position:center; }.hero-scrim { background:linear-gradient(0deg,rgba(7,10,7,.88),rgba(7,10,7,.39) 55%,rgba(7,10,7,.1)); }.nav { padding:19px 0; }.wordmark { font-size:17px; max-width:none; }.wordmark span { font-size:.43em; padding:.38em .4em .31em; }.desktop-nav { display:none; }.menu-button { height:42px; width:42px; }.hero-copy { padding-bottom:112px; }.hero h1 { font-size:clamp(52px,15vw,78px); line-height:.83; margin:15px 0 19px -4px; }.hero-lede { font-size:17px; max-width:340px; }.search-card { grid-template-columns:1fr 58px; margin-top:26px; min-height:75px; }.search-card label { padding:11px 14px; }.search-card label b { font-size:11px; }.search-card input { font-size:14px; }.search-card button { font-size:23px; }.hero-actions { gap:16px; margin-top:15px; }.button,.text-button { font-size:15px; }.button { min-height:49px; padding:10px 14px; }.text-button { padding-bottom:3px; }.hero-stamp { bottom:25px; height:75px; right:16px; width:75px; }.hero-stamp strong { font-size:20px; }.hero-stamp span { font-size:8px; margin-top:6px; }
  .intro { display:block; padding:83px 0; }.intro > div > p { font-size:19px; margin-top:26px; }.intro h2,.section-head h2,.partner-block h2 { font-size:clamp(39px,12vw,58px); }.intro > .eyebrow { margin-bottom:27px; }.events { padding-bottom:83px; }.section-head { align-items:start; display:block; margin-bottom:31px; }.section-head > a { display:inline-block; margin-top:23px; }.event-row { align-items:start; gap:13px; grid-template-columns:66px 1fr auto; min-height:0; padding:20px 0; }.event-row:hover { background:transparent; padding-left:0; padding-right:0; }.event-row time strong { font-size:38px; }.event-row time b { font-size:12px; }.event-row h3 { font-size:21px; }.event-row span { font-size:13px; }.event-row i { font-size:23px; }.home-demo-note { margin-top:23px; }.disciplines { padding:77px 0; }.discipline-grid { margin-top:29px; }.discipline-grid a { gap:13px; grid-template-columns:35px 1fr auto; min-height:86px; }.discipline-grid span { font-size:34px; }.world { padding:84px 0; }.world .section-head > p { font-size:16px; margin-top:25px; }.story-grid { gap:15px; grid-template-columns:1fr; }.story { min-height:0; }.story img { height:225px; }.story-feature img { height:327px; }.story > div { padding:18px 18px 22px; }.story h3,.story-feature h3 { font-size:29px; }.partner-block { padding:77px 0; }.partner-block > .container > p:not(.eyebrow) { font-size:18px; }.partner-actions { align-items:start; display:block; margin-top:27px; }.partner-link { display:inline-block; margin-top:22px; }.menu-panel { height:100svh; overflow-y:auto; padding:0 16px; }.menu-panel > div { display:flex; flex-direction:column; min-height:100%; padding:19px 0 32px; }.menu-panel a:not(.wordmark) { font-size:clamp(30px,8.4vw,42px); }.menu-panel > div { padding:19px 0 24px; }.menu-panel .eyebrow { padding-top:10px; }.menu-panel a { grid-template-columns:28px 1fr auto; padding:8px 0; }.menu-panel a:not(.wordmark) { font-size:clamp(26px,7vw,32px); }footer { align-items:start; display:block; padding-bottom:28px; padding-top:46px; }footer .wordmark { font-size:48px; max-width:250px; }footer p { margin:26px 0; } }
@media (prefers-reduced-motion:no-preference) { .reveal { opacity:1; transform:none; transition:opacity .62s ease,transform .72s cubic-bezier(.2,.75,.2,1); }.reveal.is-visible { opacity:1; transform:translate3d(0,0,0); }.reveal-delay-1 { transition-delay:.08s; }.reveal-delay-2 { transition-delay:.16s; }.reveal-delay-3 { transition-delay:.24s; } }
@media (prefers-reduced-motion:no-preference) { .hero-copy { animation:rise .8s .08s both cubic-bezier(.2,.7,.2,1); }.hero-stamp { animation:stamp .8s .2s both cubic-bezier(.2,.7,.2,1); }.story { transition:transform .2s ease,box-shadow .2s ease; }.story:hover { box-shadow:7px 7px 0 var(--coral); transform:translate(-3px,-3px); } }@keyframes rise { from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)} }@keyframes stamp { from{opacity:0;transform:rotate(4deg) scale(.8)}to{opacity:1;transform:rotate(-3deg) scale(1)} }@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Mobile interaction polish: keep the fast, editorial direction while making every control easy to use one-handed. */

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid var(--lime); outline-offset:3px; }
/* Inputs that sit inside their own framed card ring the card, not the field — a 3px outline
   with offset lands on top of the card edge (very visible on iOS, which treats a tap as
   :focus-visible and so shows it to every phone user, not just keyboard users). */
.search-card:focus-within { outline:3px solid var(--lime); outline-offset:0; }
.search-card input:focus-visible,.search-card button:focus-visible { outline:0; }
.filter,.location-button,.saved-ride a,.saved-ride button { min-height:44px; }
.location-button { align-items:center; display:inline-flex; }
.location-button.is-on { background:#D4F22E; color:#0B0D0A; border-color:#D4F22E; font-weight:700 }
.location-button[disabled] { opacity:.6 }
@media (max-width:760px) {
  .filter-row,.light-filters,.story-filters,.admin-filter,.dashboard-side nav { -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .filter-row::-webkit-scrollbar,.light-filters::-webkit-scrollbar,.story-filters::-webkit-scrollbar,.admin-filter::-webkit-scrollbar,.dashboard-side nav::-webkit-scrollbar { display:none; }
  .filter-row { gap:8px; padding-right:16px; scroll-padding-left:16px; scroll-snap-type:x proximity; }
  .filter { align-items:center; display:inline-flex; scroll-snap-align:start; }
  .results-top { align-items:center; }
  .event-hero-copy { bottom:56px; left:50%; position:absolute; transform:translateX(-50%); color:var(--bone); }
  .event-hero h1 { font-family:Anton,Impact,sans-serif; font-size:clamp(44px,6vw,80px); letter-spacing:0; line-height:1.05; margin:17px 0 22px; text-transform:uppercase; max-width:18ch; }
  .event-hero-copy > p:last-child { max-width:290px; }
  .detail-grid div:nth-child(odd) { padding-right:10px; }
  .detail-grid div:nth-child(even) { padding-left:10px; }
  .map-panel { touch-action:manipulation; }
  .map-pin { min-height:44px; min-width:44px; }
  .saved-ride > div { align-items:center; flex-wrap:wrap; gap:10px 18px; }
  .saved-ride a,.saved-ride button { align-items:center; display:inline-flex; }
}
@media (max-width:390px) {
  .page-nav { gap:9px; }
  .page-nav .wordmark { font-size:16px; max-width:106px; }
  .nav-cta { font-size:12px; padding:9px 8px; }
  .event-header > a:last-child { font-size:12px; }
  .results-top .eyebrow { max-width:135px; }
  .location-button { font-size:12px; }
}

/* Discovery and event-detail flow */
.inner-page { background:var(--paper); }.site-header { border-bottom:1px solid var(--line); }.page-nav { align-items:center; display:flex; min-height:83px; }.page-nav nav { display:flex; gap:27px; margin-left:auto; margin-right:30px; }.page-nav nav a,.nav-cta { font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; }.page-nav nav a.active { border-bottom:2px solid var(--lime); padding-bottom:4px; }.nav-cta { background:var(--band); color:var(--white); padding:12px 15px; }
.explore-hero { padding:94px 0 80px; }.explore-hero h1 { font-family:Anton,Impact,sans-serif; font-size:clamp(56px,8vw,111px); letter-spacing:0; line-height:.92; margin:17px 0 25px -7px; text-transform:uppercase; }.explore-hero > p:last-child { font-size:20px; line-height:1.45; margin:0; max-width:510px; }
.explore-controls { background:var(--band); color:var(--white); padding:34px 0 31px; }.explore-search { background:var(--surface); display:grid; grid-template-columns:1fr auto; min-height:75px; }.explore-search label { display:flex; flex-direction:column; justify-content:center; padding:10px 21px; }.explore-search label span { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }.explore-search input { border:0; color:var(--foreground,var(--bone)); font-size:17px; font-weight:700; outline:0; padding:5px 0 0; }.explore-search button { background:var(--coral); border:0; color:var(--white); font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; letter-spacing:.06em; min-width:120px; text-transform:uppercase; }.explore-search button b { font-size:22px; margin-left:8px; }.filter-row { display:flex; flex-wrap:wrap; gap:9px; margin-top:21px; }.filter { background:transparent; border:1px solid rgba(255,255,255,.4); color:var(--white); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; letter-spacing:.045em; padding:10px 13px; text-transform:uppercase; transition:background .2s ease,color .2s ease; }.filter.active,.filter:hover { background:var(--lime); border-color:var(--lime); color:var(--foreground,var(--bone)); }.filter span { color:var(--mineral); }
.results { padding:62px 0 104px; }.results-top { align-items:center; display:flex; justify-content:space-between; margin-bottom:25px; }.results-top b { color:var(--mineral); }.location-button { background:transparent; border:0; border-bottom:2px solid var(--lime); color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; letter-spacing:.06em; padding:0 0 4px; text-transform:uppercase; }.event-grid { display:grid; gap:20px; grid-template-columns:repeat(3,1fr); }.event-tile { background:var(--surface); border:1px solid var(--line); min-width:0; position:relative; transition:transform .22s ease,box-shadow .22s ease; }.event-tile:hover { box-shadow:7px 7px 0 var(--blue); transform:translate(-3px,-3px); }.event-tile[hidden] { display:none; }.event-tile img { height:270px; object-fit:cover; width:100%; }.tile-date { align-items:center; background:var(--lime); color:var(--foreground,var(--bone)); display:flex; flex-direction:column; height:69px; justify-content:center; position:absolute; right:0; top:224px; width:69px; }.tile-date b { font-family:Anton,Impact,sans-serif; font-size:30px; letter-spacing:0; line-height:.65; }.tile-date span { font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; margin-top:7px; }.tile-copy { padding:22px 19px 23px; }.tile-copy p { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.1em; margin:0; text-transform:uppercase; }.tile-copy h2 { font-family:Anton,Impact,sans-serif; font-size:26px; letter-spacing:0; line-height:.92; margin:9px 0 14px; text-transform:uppercase; }.tile-copy span { color:var(--muted); font-size:14px; }.demo-notice { border-left:4px solid var(--mineral); color:var(--muted); font-size:13px; line-height:1.45; margin:42px 0 0; max-width:570px; padding-left:13px; }
.event-header { align-items:center; background:var(--band); color:var(--white); display:flex; justify-content:space-between; min-height:78px; padding:0 max(40px,calc((100vw - 1180px)/2)); }.event-header > a:last-child { border-bottom:2px solid var(--lime); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; letter-spacing:.06em; padding-bottom:4px; text-transform:uppercase; }.event-hero { color:var(--white); height:min(690px,78vh); overflow:hidden; position:relative; }.event-hero > img,.event-hero-shade { inset:0; position:absolute; }.event-hero > img { height:100%; object-fit:cover; object-position:center; width:100%; }.event-hero-shade { background:linear-gradient(0deg,rgba(8,10,8,.8),rgba(8,10,8,.06) 70%); }.event-hero-copy { bottom:56px; left:50%; position:absolute; transform:translateX(-50%); color:var(--bone); }.event-hero .eyebrow { color:var(--lime); }.event-hero h1 { font-family:Anton,Impact,sans-serif; font-size:clamp(44px,6vw,80px); letter-spacing:0; line-height:1.05; margin:17px 0 22px; text-transform:uppercase; max-width:18ch; }.event-hero-copy > p:last-child { font-size:18px; font-weight:600; margin:0; }.event-layout { display:grid; gap:64px; grid-template-columns:1.3fr .7fr; padding:60px 0; }.event-overview h2,.entry-card h2,.organiser-strip h2 { font-family:Anton,Impact,sans-serif; font-size:clamp(36px,4.6vw,63px); letter-spacing:0; line-height:.92; margin:14px 0 26px -4px; text-transform:uppercase; }.event-overview > p:not(.eyebrow) { font-size:19px; line-height:1.53; margin:0; max-width:650px; }.detail-grid { border-top:1px solid var(--rule); display:grid; grid-template-columns:repeat(2,1fr); margin-top:42px; }.detail-grid div { border-bottom:1px solid var(--rule); padding:17px 0; }.detail-grid span { color:var(--muted); display:block; font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.detail-grid b { display:block; font-family:Anton,Impact,sans-serif; font-size:22px; letter-spacing:0; margin-top:5px; text-transform:uppercase; }.included { margin-top:51px; }.included ul { list-style:"→  "; margin:17px 0 0; padding-left:21px; }.included li { font-size:16px; line-height:1.55; margin:7px 0; padding-left:7px; }.entry-card { align-self:start; background:var(--entry-surface,var(--band)); color:var(--entry-text,var(--white)); padding:28px; position:sticky; top:24px; border-top:4px solid var(--lime); }.entry-card .eyebrow { color:var(--accent-text,var(--lime)); }.entry-card h2 { font-size:42px; margin-top:14px; }.entry-card > p:not(.eyebrow) { color:var(--entry-muted,rgba(255,255,255,.72)); font-size:16px; line-height:1.55; }.entry-card .button { margin-top:18px; width:100%; }.entry-card small { color:var(--entry-muted,rgba(255,255,255,.5)); display:block; font-size:13px; line-height:1.55; margin-top:17px; }.organiser-strip { background:var(--lime); padding:74px 0; }.organiser-strip h2 { font-size:clamp(37px,5vw,67px); margin-bottom:17px; }.organiser-strip p:last-child { font-size:16px; margin:0; }
@media (max-width:760px) { .page-nav { min-height:67px; }.page-nav .wordmark { max-width:130px; }.page-nav nav { display:none; }.nav-cta { font-size:13px; margin-left:auto; padding:10px; }.explore-hero { padding:70px 0 58px; }.explore-hero h1 { font-size:clamp(51px,15vw,74px); }.explore-hero > p:last-child { font-size:18px; }.explore-controls { padding:23px 0; }.explore-search { min-height:69px; }.explore-search label { padding:10px 14px; }.explore-search input { font-size:14px; }.explore-search button { font-size:14px; min-width:80px; }.filter-row { flex-wrap:nowrap; margin-right:-16px; overflow:auto; padding-bottom:3px; }.filter { flex:0 0 auto; }.results { padding:43px 0 77px; }.results-top { align-items:start; gap:18px; }.results-top .eyebrow { max-width:160px; }.location-button { font-size:13px; white-space:nowrap; }.event-grid { gap:14px; grid-template-columns:1fr; }.event-tile img { height:244px; }.tile-date { top:199px; }.event-header { min-height:67px; padding:0 16px; }.event-header .wordmark { max-width:130px; }.event-header > a:last-child { font-size:13px; }.event-hero { height:590px; }.event-hero-copy { bottom:56px; left:50%; position:absolute; transform:translateX(-50%); color:var(--bone); }.event-hero h1 { font-family:Anton,Impact,sans-serif; font-size:clamp(44px,6vw,80px); letter-spacing:0; line-height:1.05; margin:17px 0 22px; text-transform:uppercase; max-width:18ch; }.event-hero-copy > p:last-child { font-size:16px; }.event-layout { display:grid; gap:64px; grid-template-columns:1.3fr .7fr; padding:60px 0; }.event-overview h2 { font-size:42px; }.event-overview > p:not(.eyebrow) { font-size:18px; }.detail-grid { margin-top:34px; }.detail-grid b { font-size:19px; }.entry-card { align-self:start; background:var(--entry-surface,var(--band)); color:var(--entry-text,var(--white)); padding:28px; position:sticky; top:24px; border-top:4px solid var(--lime); }.organiser-strip { padding:61px 0; } }

/* Organiser acquisition */
.organiser-hero { background:var(--lime); overflow:hidden; padding:106px 0 67px; position:relative; }.organiser-hero::after { background:var(--coral); content:""; height:26vw; max-height:310px; position:absolute; right:-8vw; top:-12vw; transform:rotate(39deg); width:28vw; }.organiser-hero .container { position:relative; z-index:1; }.organiser-hero h1,.organiser-benefits h2,.sample-copy h2,.pilot-section h2 { font-family:Anton,Impact,sans-serif; letter-spacing:0; line-height:.92; text-transform:uppercase; }.organiser-hero h1 { font-size:clamp(57px,9vw,126px); margin:17px 0 25px -7px; }.organiser-hero > .container > p:not(.eyebrow) { font-size:21px; line-height:1.45; margin:0; max-width:550px; }.ink-button { background:var(--button-ink-bg,var(--band)); color:var(--button-ink-text,var(--white)); margin-top:32px; }.hero-note { align-items:center; border-top:1px solid var(--rule); display:flex; gap:14px; margin-top:74px; max-width:550px; padding-top:15px; }.hero-note b { font-family:Anton,Impact,sans-serif; font-size:28px; letter-spacing:0; }.hero-note span { font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:700; letter-spacing:.045em; max-width:310px; text-transform:uppercase; }
.organiser-benefits { padding:111px 0; }.benefit-grid { border-top:1px solid var(--rule); display:grid; grid-template-columns:repeat(3,1fr); margin-top:37px; }.benefit-grid article { border-right:1px solid var(--rule); min-height:340px; padding:22px 25px 20px 0; }.benefit-grid article + article { padding-left:25px; }.benefit-grid article:last-child { border-right:0; }.benefit-grid article > b { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; }.benefit-grid h2 { font-size:clamp(28px,3.2vw,44px); margin:24px 0 20px -3px; }.benefit-grid p { color:var(--muted); font-size:16px; line-height:1.48; margin:0; max-width:285px; }
.profile-sample { background:var(--band); color:var(--white); padding:104px 0; }.profile-sample > .container { align-items:center; display:grid; gap:90px; grid-template-columns:1fr .7fr; }.sample-copy .eyebrow { color:var(--lime); }.sample-copy h2 { font-size:clamp(41px,5.5vw,76px); margin:16px 0 25px -4px; }.sample-copy > p:last-child { color:rgba(255,255,255,.7); font-size:19px; line-height:1.48; margin:0; max-width:490px; }.sample-card { background:var(--surface); color:var(--foreground,var(--bone)); padding:22px; transform:rotate(3deg); }.sample-card-top { align-items:center; border-bottom:1px solid var(--rule); display:flex; font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; justify-content:space-between; letter-spacing:.1em; padding-bottom:11px; }.sample-card-top b { color:var(--lime); font-size:22px; }.sample-card h3 { font-family:Anton,Impact,sans-serif; font-size:clamp(38px,5vw,60px); letter-spacing:0; line-height:.92; margin:34px 0 37px -4px; text-transform:uppercase; }.sample-card dl { border-top:1px solid var(--rule); margin:0; }.sample-card dl div { border-bottom:1px solid var(--rule); display:flex; justify-content:space-between; padding:11px 0; }.sample-card dt,.sample-card dd { font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.08em; margin:0; text-transform:uppercase; }.sample-card dd { color:var(--mineral); }
.pilot-section { display:grid; gap:100px; grid-template-columns:1fr .75fr; padding:113px 0; }.pilot-section h2 { font-size:clamp(41px,5.5vw,75px); margin:17px 0 25px -4px; }.pilot-section > div > p:last-child { font-size:19px; line-height:1.48; margin:0; max-width:560px; }.pilot-form { display:grid; gap:17px; }.pilot-form label { color:var(--mineral); display:grid; font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; gap:7px; letter-spacing:.1em; text-transform:uppercase; }.pilot-form input { background:transparent; border:0; border-bottom:1px solid var(--rule); border-radius:0; color:var(--foreground,var(--bone)); font-family:"DM Sans"; font-size:17px; outline:0; padding:9px 0 12px; }.pilot-form input:focus { border-bottom:3px solid var(--lime); padding-bottom:10px; }.pilot-form .button { border:0; margin-top:9px; }.form-note,.form-success { color:var(--muted); font-size:12px; line-height:1.4; margin:0; }.form-success { color:var(--mineral); font-weight:700; }
@media (max-width:760px) { .organiser-hero { padding:72px 0 43px; }.organiser-hero::after { height:180px; right:-100px; top:-80px; width:170px; }.organiser-hero h1 { font-size:clamp(53px,15vw,76px); }.organiser-hero > .container > p:not(.eyebrow) { font-size:18px; }.hero-note { margin-top:51px; }.organiser-benefits { padding:76px 0; }.benefit-grid { display:block; margin-top:29px; }.benefit-grid article,.benefit-grid article + article { border-bottom:1px solid var(--rule); border-right:0; min-height:0; padding:23px 0 28px; }.benefit-grid h2 { font-size:36px; margin:17px 0; }.profile-sample { padding:77px 0; }.profile-sample > .container { display:block; }.sample-copy h2 { font-size:47px; }.sample-copy > p:last-child { font-size:18px; }.sample-card { margin:42px 8px 0 0; padding:19px; }.sample-card h3 { font-size:48px; }.pilot-section { display:block; padding:77px 0; }.pilot-section h2 { font-size:48px; }.pilot-section > div > p:last-child { font-size:18px; }.pilot-form { margin-top:49px; } }

/* Sales-funnel layers for the organiser pilot */
.application-receipt { background:var(--surface); border:1px solid var(--rule); grid-column:2; margin-top:28px; padding:25px; }.application-receipt h3 { font-family:Anton,Impact,sans-serif; font-size:clamp(29px,3.4vw,42px); letter-spacing:0; line-height:.92; margin:15px 0 25px -3px; text-transform:uppercase; }.application-receipt ol { border-top:1px solid var(--rule); list-style:none; margin:0; padding:0; }.application-receipt li { align-items:start; border-bottom:1px solid var(--line); display:grid; gap:13px; grid-template-columns:28px 1fr; padding:13px 0; }.application-receipt li b { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; }.application-receipt li span { font-size:14px; line-height:1.35; }.application-receipt .button { margin-top:23px; }.application-receipt small { color:var(--muted); display:block; font-size:12px; line-height:1.4; margin-top:15px; }
.hero-funnel-points { display:flex; flex-wrap:wrap; gap:8px 17px; margin-top:24px; max-width:580px; }.hero-funnel-points span { font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; letter-spacing:.045em; text-transform:uppercase; }.offer-section { padding:110px 0; }.offer-heading { align-items:end; display:flex; gap:65px; justify-content:space-between; margin:14px 0 43px; }.offer-heading h2 { font-family:Anton,Impact,sans-serif; font-size:clamp(42px,5.8vw,80px); letter-spacing:0; line-height:.92; margin:0 0 0 -4px; text-transform:uppercase; }.offer-heading p { font-size:18px; line-height:1.45; margin:0; max-width:330px; }.offer-grid { display:grid; gap:20px; grid-template-columns:1fr 1fr; }.offer-card { border:1px solid var(--rule); min-height:360px; padding:29px; }.offer-card.featured { background:var(--coral); border-color:var(--mineral); }.offer-card h3 { font-family:Anton,Impact,sans-serif; font-size:clamp(30px,3.7vw,49px); letter-spacing:0; line-height:.92; margin:17px 0 28px; text-transform:uppercase; }.offer-card ul { list-style:"→  "; margin:0; padding-left:22px; }.offer-card li { font-size:16px; line-height:1.45; margin:8px 0; padding-left:6px; }.offer-card .button { margin-top:27px; }.offer-card small { display:block; font-size:12px; line-height:1.4; margin-top:16px; }.offer-card:not(.featured) small { color:var(--muted); margin-top:31px; }.light-text { border-color:var(--lime); color:var(--white); margin-top:27px; }
.application-steps { border-top:1px solid var(--rule); display:grid; gap:11px; margin-top:36px; padding-top:14px; }.application-steps span { font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }.application-steps b { color:var(--mineral); margin-right:7px; }.optional { color:var(--muted); font-family:"DM Sans"; font-size:11px; font-weight:400; letter-spacing:0; text-transform:none; }.pilot-form select { appearance:none; background:transparent; border:0; border-bottom:1px solid var(--rule); border-radius:0; color:var(--foreground,var(--bone)); font-family:"DM Sans"; font-size:17px; outline:0; padding:9px 0 12px; width:100%; max-width:100%; }.pilot-form select:focus { border-bottom:3px solid var(--lime); padding-bottom:10px; }.funnel-faq { background:var(--paper-deep); padding:93px 0; }.faq-grid { border-top:1px solid var(--rule); margin-top:34px; }.faq-grid details { border-bottom:1px solid var(--rule); padding:20px 0; }.faq-grid summary { cursor:pointer; font-family:Anton,Impact,sans-serif; font-size:clamp(21px,2.4vw,31px); letter-spacing:0; line-height:.95; list-style:none; padding-right:35px; position:relative; text-transform:uppercase; }.faq-grid summary::after { color:var(--mineral); content:"+"; font-family:"DM Sans"; font-size:29px; font-weight:400; position:absolute; right:3px; top:-5px; }.faq-grid details[open] summary::after { content:"–"; }.faq-grid p { color:var(--muted); font-size:16px; line-height:1.5; margin:16px 0 2px; max-width:670px; }.mobile-pilot-bar { display:none; }
@media (max-width:760px) { .application-receipt { grid-column:auto; margin-top:22px; padding:22px 18px; }.application-receipt h3 { font-size:34px; }.hero-funnel-points { gap:7px 12px; }.hero-funnel-points span { font-size:14px; }.offer-section { padding:77px 0; }.offer-heading { display:block; margin-top:12px; }.offer-heading h2 { font-size:48px; }.offer-heading p { font-size:17px; margin-top:24px; }.offer-grid { grid-template-columns:1fr; }.offer-card { min-height:0; padding:25px 20px; }.offer-card h3 { font-size:37px; }.application-steps { margin-top:28px; }.funnel-faq { padding:75px 0 100px; }.faq-grid { margin-top:28px; }.faq-grid summary { font-size:22px; }.mobile-pilot-bar { background:var(--band); bottom:0; display:block; left:0; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); position:fixed; right:0; z-index:12; }.mobile-pilot-bar a { align-items:center; background:var(--lime); color:var(--foreground,var(--bone)); display:flex; font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; justify-content:space-between; letter-spacing:.04em; min-height:48px; padding:10px 15px; text-transform:uppercase; }footer { padding-bottom:92px; } }

/* Calendar and map discovery */
.empty-results { border-top:1px solid var(--line); color:var(--muted); margin:0; padding:28px 0; }
.calendar-hero { padding:92px 0 73px; }.calendar-hero h1 { font-family:Anton,Impact,sans-serif; font-size:clamp(56px,8vw,110px); letter-spacing:0; line-height:.92; margin:17px 0 25px -7px; text-transform:uppercase; }.calendar-hero > p:last-child { font-size:20px; line-height:1.45; margin:0; max-width:570px; }.calendar-controls { background:var(--blue); color:var(--white); padding:28px 0 0; }.month-switcher { align-items:center; display:flex; justify-content:space-between; }.month-switcher strong { font-family:Anton,Impact,sans-serif; font-size:clamp(27px,3.5vw,43px); letter-spacing:0; }.month-switcher strong span { color:var(--lime); }.month-switcher button { background:transparent; border:1px solid rgba(255,255,255,.65); color:var(--white); font-size:23px; height:39px; width:39px; }.date-scroller { display:flex; gap:1px; margin-top:25px; overflow:auto; }.date-chip { background:rgba(0,0,0,.15); border:0; color:var(--white); display:flex; flex:1 0 105px; flex-direction:column; min-height:77px; padding:13px 16px; text-align:left; transition:background .18s ease,color .18s ease; }.date-chip.active,.date-chip:hover { background:var(--lime); color:var(--foreground,var(--bone)); }.date-chip b { font-family:Anton,Impact,sans-serif; font-size:29px; letter-spacing:0; line-height:.92; }.date-chip span { font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.1em; margin-top:9px; }.calendar-results { padding:49px 0 106px; }.calendar-toolbar { align-items:center; display:flex; justify-content:space-between; margin-bottom:27px; }.light-filters { margin-top:0; }.light-filters .filter { border-color:var(--line); color:var(--foreground,var(--bone)); }.light-filters .filter.active,.light-filters .filter:hover { background:var(--band); border-color:var(--foreground,var(--bone)); color:var(--white); }.view-toggle { border:1px solid var(--rule); display:flex; }.view-toggle button { background:transparent; border:0; color:var(--foreground,var(--bone)); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; letter-spacing:.06em; min-height:39px; padding:0 14px; text-transform:uppercase; }.view-toggle button.active { background:var(--band); color:var(--white); }.calendar-layout { display:grid; gap:20px; grid-template-columns:1fr .8fr; }.calendar-list { border-top:1px solid var(--rule); }.calendar-event { border-bottom:1px solid var(--rule); }.calendar-event a { align-items:center; display:grid; gap:21px; grid-template-columns:70px 1fr auto; min-height:122px; padding:18px 0; transition:background .2s ease,padding .2s ease; }.calendar-event a:hover { background:var(--surface); padding-left:15px; padding-right:15px; }.calendar-event time { color:var(--mineral); font-family:Anton,Impact,sans-serif; text-align:center; }.calendar-event time b { display:block; font-size:41px; letter-spacing:-.08em; line-height:.7; }.calendar-event time span { display:block; font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.1em; margin-top:9px; }.calendar-event p { color:var(--muted); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.1em; margin:0; text-transform:uppercase; }.calendar-event h2 { font-family:Anton,Impact,sans-serif; font-size:25px; letter-spacing:0; line-height:.9; margin:7px 0; text-transform:uppercase; }.calendar-event span { font-size:14px; }.calendar-event i { color:var(--mineral); font-size:29px; font-style:normal; }.empty-calendar { color:var(--muted); padding:27px 0; }.map-panel { background:#b8c8bf; min-height:514px; overflow:hidden; position:relative; }.map-grid { background-image:linear-gradient(rgba(17,20,15,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(17,20,15,.16) 1px,transparent 1px); background-size:43px 43px; inset:0; opacity:.6; position:absolute; }.map-panel::before,.map-panel::after { background:var(--blue); content:""; opacity:.28; position:absolute; transform:rotate(-33deg); }.map-panel::before { height:280px; left:-20px; top:100px; width:22px; }.map-panel::after { height:400px; right:100px; top:0; width:13px; }.map-label { color:rgba(17,20,15,.63); font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.08em; position:absolute; text-transform:uppercase; }.map-label.north { right:22px; top:90px; }.map-label.wales { left:58px; top:248px; }.map-label.south { bottom:100px; right:70px; }.map-pin { background:var(--coral); border:3px solid var(--white); border-radius:50%; box-shadow:0 2px 0 rgba(0,0,0,.2); color:var(--foreground,var(--bone)); height:40px; position:absolute; width:40px; z-index:1; }.map-pin.active { background:var(--lime); transform:scale(1.14); }.map-pin b { font-family:Anton,Impact,sans-serif; font-size:16px; }.pin-north { right:90px; top:140px; }.pin-wales { left:89px; top:280px; }.pin-south { bottom:143px; right:130px; }.map-card { background:var(--surface); bottom:16px; left:16px; padding:15px; position:absolute; right:16px; z-index:2; }.map-card p { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.1em; margin:0; }.map-card h2 { font-family:Anton,Impact,sans-serif; font-size:24px; letter-spacing:0; line-height:.9; margin:7px 0; text-transform:uppercase; }.map-card span { color:var(--muted); font-size:13px; }.map-card a { border-bottom:2px solid var(--lime); display:inline-block; font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.05em; margin-top:13px; padding-bottom:3px; text-transform:uppercase; }.map-mode .calendar-list { display:none; }.map-mode .calendar-layout { grid-template-columns:1fr; }.map-mode .map-panel { min-height:610px; }
@media (max-width:760px) { .calendar-hero { padding:70px 0 58px; }.calendar-hero h1 { font-size:clamp(52px,15vw,76px); }.calendar-hero > p:last-child { font-size:18px; }.calendar-controls { padding-top:20px; }.month-switcher strong { font-size:31px; }.date-scroller { margin-left:-16px; margin-right:-16px; }.date-chip { flex-basis:76px; min-height:70px; padding:12px; }.date-chip b { font-size:26px; }.calendar-results { padding:37px 0 76px; }.calendar-toolbar { align-items:start; display:block; }.light-filters { flex-wrap:nowrap; margin-right:-16px; overflow:auto; padding-bottom:14px; }.view-toggle { display:inline-flex; }.calendar-layout { grid-template-columns:1fr; }.calendar-event a { gap:11px; grid-template-columns:52px 1fr auto; min-height:104px; }.calendar-event a:hover { background:transparent; padding-left:0; padding-right:0; }.calendar-event time b { font-size:34px; }.calendar-event h2 { font-size:21px; }.calendar-event p { font-size:11px; }.calendar-event span { font-size:13px; }.map-panel { min-height:460px; margin-top:14px; }.map-mode .map-panel { min-height:590px; }.map-label.wales { left:47px; top:205px; }.pin-wales { left:72px; top:240px; } }

/* Editorial stories hub */
.stories-page { background:var(--paper); }.stories-header { background:var(--band); color:var(--white); }.stories-header .nav-cta { background:var(--lime); color:var(--foreground,var(--bone)); }.stories-header .page-nav nav a.active { border-color:var(--lime); }.stories-hero { background:var(--band); color:var(--white); padding:84px 0 104px; }.stories-hero .eyebrow { color:var(--lime); }.stories-hero h1 { font-family:Anton,Impact,sans-serif; font-size:clamp(59px,9vw,126px); letter-spacing:0; line-height:.92; margin:17px 0 26px -7px; text-transform:uppercase; }.stories-hero > p:last-child { color:rgba(255,255,255,.72); font-size:20px; line-height:1.45; margin:0; max-width:550px; }.featured-story { background:var(--band); color:var(--white); padding-bottom:114px; }.featured-story article { display:grid; grid-template-columns:1.18fr .82fr; }.featured-story img { height:575px; object-fit:cover; width:100%; }.featured-copy { align-self:end; background:var(--coral); color:var(--foreground,var(--bone)); margin:0 0 0 -45px; padding:36px; position:relative; }.featured-copy .eyebrow { color:var(--foreground,var(--bone)); }.featured-copy h2 { font-family:Anton,Impact,sans-serif; font-size:clamp(37px,4.7vw,66px); letter-spacing:0; line-height:.92; margin:16px 0 22px -4px; text-transform:uppercase; }.featured-copy > p:last-of-type { font-size:17px; line-height:1.45; margin:0; }.featured-copy a { border-bottom:2px solid var(--rule); display:inline-block; font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; letter-spacing:.05em; margin-top:26px; padding-bottom:4px; text-transform:uppercase; }.featured-copy a span { font-size:22px; margin-left:8px; }.stories-feed { padding:109px 0; }.stories-toolbar { align-items:end; display:flex; justify-content:space-between; margin-bottom:33px; }.story-filters { display:flex; gap:8px; }.story-filters button { background:transparent; border:1px solid var(--line); font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:600; letter-spacing:.05em; padding:9px 13px; text-transform:uppercase; }.story-filters button.active,.story-filters button:hover { background:var(--band); border-color:var(--foreground,var(--bone)); color:var(--white); }.stories-grid { display:grid; gap:20px; grid-template-columns:repeat(3,1fr); }.stories-grid article { border-top:1px solid var(--rule); padding-top:12px; }.stories-grid article[hidden] { display:none; }.stories-grid img { height:250px; object-fit:cover; width:100%; }.stories-grid p { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.1em; margin:16px 0 0; text-transform:uppercase; }.stories-grid h2 { font-family:Anton,Impact,sans-serif; font-size:27px; letter-spacing:0; line-height:.9; margin:9px 0 15px; text-transform:uppercase; }.stories-grid a { border-bottom:2px solid var(--lime); font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:600; letter-spacing:.05em; padding-bottom:3px; text-transform:uppercase; }.editorial-note { border-left:4px solid var(--mineral); color:var(--muted); font-size:13px; line-height:1.45; margin:51px 0 0; max-width:570px; padding-left:13px; }.newsletter-band { background:var(--lime); padding:83px 0; }.newsletter-band > .container { align-items:end; display:grid; gap:70px; grid-template-columns:1fr .8fr; }.newsletter-band h2 { font-family:Anton,Impact,sans-serif; font-size:clamp(42px,5.5vw,75px); letter-spacing:0; line-height:.92; margin:15px 0 0 -4px; text-transform:uppercase; }.newsletter-form { display:grid; gap:10px; }.newsletter-form label { display:grid; font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; gap:7px; letter-spacing:.1em; text-transform:uppercase; }.newsletter-form input { background:transparent; border:0; border-bottom:1px solid var(--rule); font-family:"DM Sans"; font-size:17px; outline:0; padding:10px 0; }.newsletter-form button { background:var(--band); border:0; color:var(--white); font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; letter-spacing:.05em; margin-top:8px; min-height:50px; text-transform:uppercase; }.newsletter-form small,.newsletter-form span { font-size:12px; line-height:1.4; }.newsletter-form span { color:var(--mineral); font-weight:700; }
@media (max-width:760px) { .stories-hero { padding:69px 0 78px; }.stories-hero h1 { font-size:clamp(55px,16vw,78px); }.stories-hero > p:last-child { font-size:18px; }.featured-story { padding-bottom:75px; }.featured-story article { display:block; }.featured-story img { height:355px; }.featured-copy { margin:-24px 16px 0; padding:25px 20px; }.featured-copy h2 { font-size:43px; }.stories-feed { padding:75px 0; }.stories-toolbar { align-items:start; display:block; }.story-filters { margin-top:23px; overflow:auto; padding-bottom:3px; }.story-filters button { flex:0 0 auto; }.stories-grid { gap:27px 14px; grid-template-columns:1fr 1fr; }.stories-grid img { height:170px; }.stories-grid h2 { font-size:22px; }.stories-grid p { font-size:10px; }.newsletter-band { padding:71px 0; }.newsletter-band > .container { display:block; }.newsletter-band h2 { font-size:50px; }.newsletter-form { margin-top:42px; } }

/* Sponsor and business proposition */
.business-header { background:var(--band); color:var(--white); }.business-header .page-nav nav a.active { border-color:var(--lime); }.business-header .nav-cta { background:var(--lime); color:var(--foreground,var(--bone)); }.business-hero { background:var(--coral); padding:109px 0 115px; }.business-hero h1,.business-principles h2,.placement-section h2,.partner-case h2,.partner-form-section h2 { font-family:Anton,Impact,sans-serif; letter-spacing:0; line-height:.92; text-transform:uppercase; }.business-hero h1 { font-size:clamp(59px,9vw,127px); margin:17px 0 26px -7px; }.business-hero > .container > p:last-of-type { font-size:21px; line-height:1.45; margin:0; max-width:530px; }.business-principles { display:grid; gap:43px; grid-template-columns:.72fr 1.28fr; padding:112px 0; }.business-principles h2 { font-size:clamp(42px,5.8vw,80px); margin:12px 0 24px -5px; }.business-principles > div > p { font-size:20px; line-height:1.48; margin:0; max-width:570px; }.principle-list { border-top:1px solid var(--rule); display:grid; grid-template-columns:repeat(3,1fr); margin-top:48px; }.principle-list article { border-right:1px solid var(--rule); min-height:180px; padding:16px 20px 12px 0; }.principle-list article + article { padding-left:20px; }.principle-list article:last-child { border-right:0; }.principle-list b { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; }.principle-list h3 { font-family:Anton,Impact,sans-serif; font-size:29px; letter-spacing:0; margin:23px 0 10px; text-transform:uppercase; }.principle-list p { color:var(--muted); font-size:14px; line-height:1.42; margin:0; }.placement-section { background:var(--blue); color:var(--white); padding:107px 0; }.placement-section .eyebrow { color:var(--lime); }.placement-grid { display:grid; gap:20px; grid-template-columns:repeat(3,1fr); margin-top:38px; }.placement-grid article { border-top:1px solid rgba(255,255,255,.5); min-height:285px; padding-top:16px; }.placement-grid span { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; }.placement-grid h2 { font-size:clamp(30px,3.4vw,46px); margin:30px 0 17px -3px; }.placement-grid p { color:rgba(255,255,255,.75); font-size:16px; line-height:1.43; margin:0; max-width:270px; }.placement-grid b { color:var(--lime); display:block; font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.08em; margin-top:27px; }.partner-case { align-items:start; display:grid; gap:100px; grid-template-columns:1fr .75fr; padding:111px 0; }.partner-case h2 { font-size:clamp(42px,5.6vw,78px); margin:14px 0 24px -4px; }.partner-case > div > p:last-child { font-size:19px; line-height:1.48; margin:0; max-width:560px; }.partner-case ol { border-top:1px solid var(--rule); list-style:none; margin:0; padding:0; }.partner-case li { align-items:start; border-bottom:1px solid var(--rule); display:grid; gap:16px; grid-template-columns:42px 1fr; padding:17px 0; }.partner-case li b { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:16px; }.partner-case li span { font-family:Anton,Impact,sans-serif; font-size:20px; letter-spacing:0; line-height:1; text-transform:uppercase; }.partner-form-section { background:var(--paper-deep); padding:104px 0; }.partner-form-section > .container { display:grid; gap:100px; grid-template-columns:1fr .76fr; }.partner-form-section h2 { font-size:clamp(42px,5.5vw,76px); margin:15px 0 24px -4px; }.partner-form-section > .container > div > p:last-child { font-size:19px; line-height:1.48; margin:0; max-width:540px; }.partner-form { display:grid; gap:17px; }.partner-form label { color:var(--mineral); display:grid; font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; gap:7px; letter-spacing:.1em; text-transform:uppercase; }.partner-form input,.partner-form select { appearance:none; background:transparent; border:0; border-bottom:1px solid var(--rule); border-radius:0; color:var(--foreground,var(--bone)); font-family:"DM Sans"; font-size:17px; outline:0; padding:9px 0 12px; }.partner-form input:focus,.partner-form select:focus { border-bottom:3px solid var(--lime); padding-bottom:10px; }.partner-form .button { border:0; margin-top:9px; }.partner-form small,.partner-form span { color:var(--muted); font-size:12px; line-height:1.4; }.partner-form span { color:var(--mineral); font-weight:700; }
@media (max-width:760px) { .business-hero { padding:72px 0 77px; }.business-hero h1 { font-size:clamp(54px,15vw,78px); }.business-hero > .container > p:last-of-type { font-size:18px; }.business-principles { display:block; padding:77px 0; }.business-principles h2 { font-size:48px; }.business-principles > div > p { font-size:18px; }.principle-list { display:block; margin-top:37px; }.principle-list article,.principle-list article + article { border-bottom:1px solid var(--rule); border-right:0; min-height:0; padding:20px 0; }.principle-list h3 { margin:15px 0 9px; }.placement-section { padding:77px 0; }.placement-grid { display:block; margin-top:29px; }.placement-grid article { min-height:0; padding:16px 0 27px; }.placement-grid h2 { font-size:37px; margin:20px 0 12px; }.placement-grid b { margin-top:17px; }.partner-case { display:block; padding:77px 0; }.partner-case h2 { font-size:49px; }.partner-case > div > p:last-child { font-size:18px; }.partner-case ol { margin-top:42px; }.partner-form-section { padding:77px 0; }.partner-form-section > .container { display:block; }.partner-form-section h2 { font-size:49px; }.partner-form-section > .container > div > p:last-child { font-size:18px; }.partner-form { margin-top:47px; } }

/* Local rider-account concept */
.save-ride { background:transparent; border:1px solid rgba(255,255,255,.65); color:var(--white); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; letter-spacing:.06em; margin-top:12px; min-height:43px; padding:8px 13px; text-transform:uppercase; width:100%; }.garage-hero { padding:90px 0 72px; }.garage-hero h1,.garage-note h2,.alerts-card h2,.empty-rides h2 { font-family:Anton,Impact,sans-serif; letter-spacing:0; line-height:.92; text-transform:uppercase; }.garage-hero h1 { font-size:clamp(57px,8.5vw,117px); margin:17px 0 25px -7px; }.garage-hero > p:last-child { font-size:20px; line-height:1.45; margin:0; max-width:560px; }.garage-layout { display:grid; gap:80px; grid-template-columns:1.2fr .8fr; padding:56px 0 108px; }.garage-heading { align-items:center; border-bottom:1px solid var(--rule); display:flex; justify-content:space-between; padding-bottom:13px; }.garage-heading a { border-bottom:2px solid var(--lime); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; letter-spacing:.05em; padding-bottom:3px; text-transform:uppercase; }.saved-rides { display:grid; gap:12px; margin-top:17px; }.saved-ride { background:var(--surface); border:1px solid var(--line); padding:21px; }.saved-ride p { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.1em; margin:0; text-transform:uppercase; }.saved-ride h2 { font-family:Anton,Impact,sans-serif; font-size:30px; letter-spacing:0; line-height:.9; margin:10px 0; text-transform:uppercase; }.saved-ride > span { color:var(--muted); font-size:14px; }.saved-ride > div { display:flex; gap:20px; margin-top:19px; }.saved-ride a,.saved-ride button { background:transparent; border:0; border-bottom:2px solid var(--lime); font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:600; letter-spacing:.05em; padding:0 0 3px; text-transform:uppercase; }.saved-ride button { border-color:var(--line); color:var(--muted); }.empty-rides { padding:48px 0 15px; }.empty-rides h2 { font-size:clamp(34px,4vw,51px); margin:0; }.empty-rides p { font-size:17px; line-height:1.45; max-width:400px; }.alerts-card { background:var(--blue); color:var(--white); padding:29px; }.alerts-card .eyebrow { color:var(--lime); }.alerts-card h2 { font-size:43px; margin:16px 0 19px -4px; }.alerts-card > p:not(.eyebrow) { color:rgba(255,255,255,.75); font-size:16px; line-height:1.43; }.alerts-card label { border-top:1px solid rgba(255,255,255,.35); display:flex; font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; gap:10px; letter-spacing:.04em; margin-top:12px; padding-top:11px; text-transform:uppercase; }.alerts-card input { accent-color:var(--lime); height:17px; width:17px; }.alerts-card button { background:var(--lime); border:0; color:var(--foreground,var(--bone)); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; letter-spacing:.05em; margin-top:25px; min-height:46px; text-transform:uppercase; width:100%; }.alerts-card small { color:var(--lime); display:block; font-size:12px; line-height:1.4; margin-top:12px; }.garage-note { background:var(--band); color:var(--white); padding:85px 0; }.garage-note .eyebrow { color:var(--lime); }.garage-note h2 { font-size:clamp(42px,5.6vw,77px); margin:16px 0 22px -4px; }.garage-note > .container > p:last-child { color:rgba(255,255,255,.7); font-size:18px; line-height:1.48; margin:0; max-width:590px; }
@media (max-width:760px) { .garage-hero { padding:70px 0 54px; }.garage-hero h1 { font-size:clamp(54px,16vw,78px); }.garage-hero > p:last-child { font-size:18px; }.garage-layout { display:block; padding:40px 0 78px; }.saved-ride h2 { font-size:27px; }.alerts-card { margin-top:45px; padding:25px 20px; }.garage-note { padding:74px 0; }.garage-note h2 { font-size:48px; }.garage-note > .container > p:last-child { font-size:17px; } }

/* Organiser dashboard concept */
.dashboard-page { background:var(--paper); color:var(--foreground,var(--bone)); }.dashboard-header { align-items:center; background:var(--band); color:var(--white); display:flex; gap:25px; justify-content:space-between; min-height:73px; padding:0 36px; }.dashboard-header .wordmark { font-size:18px; }.dashboard-header > a:last-child,.dashboard-label { color:rgba(255,255,255,.7); font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; }.dashboard-label { margin-left:auto; }.dashboard-shell { display:grid; grid-template-columns:235px 1fr; min-height:calc(100vh - 73px); }.dashboard-side { background:var(--band); color:var(--white); display:flex; flex-direction:column; padding:31px 22px; }.dashboard-side > p { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.1em; margin:0; text-transform:uppercase; }.dashboard-side nav { display:grid; gap:6px; margin-top:35px; }.dashboard-side nav a { color:rgba(255,255,255,.7); font-family:"JetBrains Mono",monospace; font-size:17px; font-weight:600; letter-spacing:.04em; padding:11px 12px; text-transform:uppercase; }.dashboard-side nav a.active,.dashboard-side nav a:hover { background:var(--blue); color:var(--white); }.dashboard-side > div { border-top:1px solid rgba(255,255,255,.24); margin-top:auto; padding-top:18px; }.dashboard-side > div span,.dashboard-side > div small { color:rgba(255,255,255,.55); display:block; font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }.dashboard-side > div b { color:var(--lime); display:block; font-family:Anton,Impact,sans-serif; font-size:20px; letter-spacing:0; margin:8px 0; text-transform:uppercase; }.dashboard-side > div small { font-family:"DM Sans"; font-weight:400; letter-spacing:0; line-height:1.35; text-transform:none; }.dashboard-content { padding:58px 64px 80px; }.dashboard-top { align-items:end; display:flex; justify-content:space-between; }.dashboard-top h1,.dashboard-section-head h2,.verification-card h2,.profile-preview h2,.event-dialog h2 { font-family:Anton,Impact,sans-serif; letter-spacing:0; line-height:.92; text-transform:uppercase; }.dashboard-top h1 { font-size:clamp(47px,6vw,84px); margin:15px 0 0 -5px; }.dashboard-action { background:var(--coral); border:0; color:var(--foreground,var(--bone)); font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; letter-spacing:.06em; min-height:49px; padding:0 16px; text-transform:uppercase; }.dashboard-metrics { display:grid; gap:14px; grid-template-columns:repeat(3,1fr); margin-top:49px; }.dashboard-metrics article { background:var(--surface); border:1px solid var(--line); padding:19px; }.dashboard-metrics span,.dashboard-metrics small { color:var(--muted); display:block; font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }.dashboard-metrics b { display:block; font-family:Anton,Impact,sans-serif; font-size:48px; letter-spacing:0; line-height:.92; margin:13px 0; }.dashboard-events { margin-top:75px; }.dashboard-section-head { align-items:end; display:flex; justify-content:space-between; }.dashboard-section-head h2 { font-size:clamp(35px,4vw,55px); margin:12px 0 0 -3px; }.dashboard-section-head > p { color:var(--muted); font-size:14px; line-height:1.4; margin:0; max-width:210px; }.dashboard-event-list { border-top:1px solid var(--rule); margin-top:27px; }.dashboard-event-list article { align-items:center; border-bottom:1px solid var(--rule); display:grid; gap:19px; grid-template-columns:1fr auto auto; min-height:100px; padding:15px 0; }.dashboard-event-list p { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.1em; margin:0; text-transform:uppercase; }.dashboard-event-list h3 { font-family:Anton,Impact,sans-serif; font-size:25px; letter-spacing:0; line-height:.9; margin:7px 0; text-transform:uppercase; }.dashboard-event-list span { color:var(--muted); font-size:13px; }.status-chip { background:var(--lime); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.06em; padding:8px; text-transform:uppercase; }.dashboard-event-list button { background:transparent; border:0; border-bottom:2px solid var(--lime); font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:600; letter-spacing:.05em; padding:0 0 3px; text-transform:uppercase; }.verification-card { background:var(--blue); color:var(--white); display:grid; gap:70px; grid-template-columns:1fr .72fr; margin-top:75px; padding:32px; }.verification-card .eyebrow { color:var(--lime); }.verification-card h2 { font-size:clamp(34px,4vw,54px); margin:15px 0; }.verification-card > div > p:last-child { color:rgba(255,255,255,.72); font-size:16px; line-height:1.45; margin:0; max-width:500px; }.verification-card ul { list-style:none; margin:0; padding:0; }.verification-card li { border-bottom:1px solid rgba(255,255,255,.35); font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; letter-spacing:.04em; padding:12px 0; text-transform:uppercase; }.verification-card li::before { content:"○"; margin-right:10px; }.verification-card li.done::before { color:var(--lime); content:"✓"; }.profile-preview { border:1px solid var(--rule); margin-top:75px; padding:30px; }.profile-preview > div { align-items:end; display:flex; gap:24px; justify-content:space-between; margin-top:21px; }.profile-preview h2 { font-size:clamp(33px,4.5vw,62px); margin:0; }.profile-preview p { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; letter-spacing:.05em; margin:0; text-transform:uppercase; }.profile-preview span { color:var(--muted); font-size:13px; max-width:190px; }.event-dialog { background:var(--surface); border:0; box-shadow:0 20px 60px rgba(0,0,0,.35); color:var(--foreground,var(--bone)); max-width:490px; padding:30px; width:calc(100% - 32px); }.event-dialog::backdrop { background:rgba(17,20,15,.65); }.event-dialog form { display:grid; gap:17px; }.dialog-close { background:var(--coral); border:0; float:right; font-size:24px; height:40px; justify-self:end; width:40px; }.event-dialog h2 { font-size:48px; margin:0 0 10px -3px; }.event-dialog label { color:var(--mineral); display:grid; font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; gap:7px; letter-spacing:.1em; text-transform:uppercase; }.event-dialog input,.event-dialog select { background:transparent; border:0; border-bottom:1px solid var(--rule); border-radius:0; font-family:"DM Sans"; font-size:16px; outline:0; padding:9px 0 11px; }.event-dialog small { color:var(--muted); font-size:12px; line-height:1.4; }
@media (max-width:760px) { .dashboard-header { gap:13px; min-height:65px; padding:0 16px; }.dashboard-header .wordmark { font-size:16px; max-width:110px; }.dashboard-label { display:none; }.dashboard-header > a:last-child { font-size:12px; }.dashboard-shell { display:block; }.dashboard-side { display:block; padding:17px 16px; }.dashboard-side nav { display:flex; margin-top:13px; overflow:auto; }.dashboard-side nav a { flex:0 0 auto; font-size:14px; padding:8px 9px; }.dashboard-side > div { display:none; }.dashboard-content { padding:44px 16px 70px; }.dashboard-top { align-items:start; display:block; }.dashboard-top h1 { font-size:59px; }.dashboard-action { margin-top:29px; width:100%; }.dashboard-metrics { grid-template-columns:1fr 1fr; margin-top:33px; }.dashboard-metrics article:last-child { grid-column:span 2; }.dashboard-events { margin-top:55px; }.dashboard-section-head { display:block; }.dashboard-section-head > p { margin-top:19px; }.dashboard-event-list article { align-items:start; grid-template-columns:1fr auto; }.dashboard-event-list button { grid-column:1; justify-self:start; }.verification-card { display:block; margin-top:56px; padding:25px 20px; }.verification-card ul { margin-top:30px; }.profile-preview { margin-top:56px; padding:22px 19px; }.profile-preview > div { align-items:start; display:block; }.profile-preview p { margin:19px 0; }.profile-preview span { display:block; } }

/* Organiser pilot transition */
.about-hero { background:var(--lime); padding:108px 0 114px; }.about-hero h1,.about-statement h2,.about-trust h2,.about-next h2 { font-family:Anton,Impact,sans-serif; letter-spacing:0; line-height:.92; text-transform:uppercase; }.about-hero h1 { font-size:clamp(60px,9.5vw,132px); margin:17px 0 26px -7px; }.about-hero > .container > p:last-child { font-size:21px; line-height:1.46; margin:0; max-width:590px; }.about-statement { display:grid; gap:56px; grid-template-columns:.7fr 1.3fr; padding:116px 0; }.about-statement h2 { font-size:clamp(44px,5.7vw,80px); margin:12px 0 29px -5px; }.about-statement > div > p { font-size:20px; line-height:1.5; margin:0; max-width:620px; }.about-statement > div > p+p { color:var(--muted); font-size:17px; margin-top:24px; }.about-roles { background:var(--band); color:var(--white); padding:106px 0; }.about-roles .eyebrow { color:var(--lime); }.about-role-grid { border-top:1px solid rgba(255,255,255,.4); display:grid; grid-template-columns:repeat(3,1fr); margin-top:31px; }.about-role-grid article { border-right:1px solid rgba(255,255,255,.4); min-height:300px; padding:18px 22px 14px 0; }.about-role-grid article+article { padding-left:22px; }.about-role-grid article:last-child { border-right:0; }.about-role-grid b { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; }.about-role-grid h3 { font-family:Anton,Impact,sans-serif; font-size:clamp(34px,4.1vw,56px); letter-spacing:0; line-height:.92; margin:30px 0 17px; text-transform:uppercase; }.about-role-grid p { color:rgba(255,255,255,.72); font-size:16px; line-height:1.45; margin:0; max-width:280px; }.about-role-grid a { border-bottom:2px solid var(--lime); color:var(--white); display:inline-block; font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:600; letter-spacing:.05em; margin-top:27px; padding-bottom:4px; text-transform:uppercase; }.about-trust { align-items:start; display:grid; gap:82px; grid-template-columns:.8fr 1.2fr; padding:115px 0; }.about-trust h2 { font-size:clamp(44px,5.7vw,80px); margin:14px 0 0 -5px; }.trust-list { border-top:1px solid var(--rule); }.trust-list article { align-items:start; border-bottom:1px solid var(--rule); display:grid; gap:18px; grid-template-columns:40px 1fr; padding:18px 0; }.trust-list b { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:16px; font-weight:600; }.trust-list h3 { font-family:Anton,Impact,sans-serif; font-size:27px; letter-spacing:0; line-height:.9; margin:0 0 9px; text-transform:uppercase; }.trust-list p { color:var(--muted); font-size:16px; line-height:1.45; margin:0; }.about-next { background:var(--coral); padding:106px 0; }.about-next h2 { font-size:clamp(46px,6.2vw,88px); margin:16px 0 25px -5px; }.about-next > .container > p:not(.eyebrow) { font-size:20px; line-height:1.48; margin:0; max-width:610px; }.about-next > .container > div { align-items:center; display:flex; flex-wrap:wrap; gap:25px; margin-top:31px; }.dark-text { border-color:var(--foreground,var(--bone)); color:var(--foreground,var(--bone)); }
@media (max-width:760px) { .about-hero { padding:74px 0 78px; }.about-hero h1 { font-size:clamp(56px,15vw,80px); }.about-hero > .container > p:last-child { font-size:18px; }.about-statement { display:block; padding:78px 0; }.about-statement h2 { font-size:50px; }.about-statement > .eyebrow { margin-bottom:29px; }.about-statement > div > p { font-size:18px; }.about-roles { padding:78px 0; }.about-role-grid { display:block; }.about-role-grid article,.about-role-grid article+article { border-bottom:1px solid rgba(255,255,255,.4); border-right:0; min-height:0; padding:20px 0 26px; }.about-role-grid h3 { font-size:43px; margin:19px 0 12px; }.about-role-grid a { margin-top:18px; }.about-trust { display:block; padding:78px 0; }.about-trust h2 { font-size:50px; }.trust-list { margin-top:43px; }.trust-list h3 { font-size:29px; }.about-next { padding:78px 0; }.about-next h2 { font-size:52px; }.about-next > .container > p:not(.eyebrow) { font-size:18px; }.about-next > .container > div { align-items:start; display:block; }.about-next .text-button { display:inline-block; margin-top:22px; } }
.partner-proof-points { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:26px; max-width:690px; }.partner-proof-points span { font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }.partner-proof-points span::before { content:"✓"; margin-right:7px; }.partner-receipt { background:var(--surface); border:1px solid var(--rule); grid-column:2; margin-top:28px; padding:27px; }.partner-receipt h3,.brief-hero h1,.brief-title h2,.brief-measure h2,.brief-cta h2 { font-family:Anton,Impact,sans-serif; letter-spacing:0; line-height:.92; text-transform:uppercase; }.partner-receipt h3 { font-size:clamp(30px,3.6vw,46px); margin:16px 0; }.partner-receipt > p:not(.eyebrow) { font-size:16px; line-height:1.45; margin:0; }.partner-receipt ol { border-top:1px solid var(--rule); list-style:none; margin:23px 0 0; padding:0; }.partner-receipt li { align-items:start; border-bottom:1px solid var(--line); display:grid; gap:12px; grid-template-columns:29px 1fr; padding:13px 0; }.partner-receipt li b,.brief-grid b,.brief-measure li b { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; }.partner-receipt li span { font-size:14px; line-height:1.35; }.partner-receipt .button { margin-top:23px; }.partner-receipt small { color:var(--muted); display:block; font-size:12px; line-height:1.4; margin-top:15px; }
.brief-hero { background:var(--blue); color:var(--white); padding:105px 0 112px; }.brief-hero .eyebrow,.brief-cta .eyebrow { color:var(--lime); }.brief-hero h1 { font-size:clamp(57px,8.7vw,123px); margin:17px 0 25px -7px; }.brief-hero > .container > p:last-of-type { color:rgba(255,255,255,.75); font-size:20px; line-height:1.46; margin:0; max-width:570px; }.brief-hero .button { margin-top:32px; }.brief-frame { display:grid; gap:65px; grid-template-columns:1fr .9fr; padding:112px 0; }.brief-title h2 { font-size:clamp(44px,5.8vw,81px); margin:15px 0 24px -5px; }.brief-title > p:last-child { font-size:20px; line-height:1.48; margin:0; max-width:560px; }.brief-facts { border-top:1px solid var(--rule); }.brief-facts div { border-bottom:1px solid var(--rule); padding:14px 0; }.brief-facts span { color:var(--mineral); display:block; font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.brief-facts b { display:block; font-family:Anton,Impact,sans-serif; font-size:22px; letter-spacing:0; line-height:.9; margin-top:7px; text-transform:uppercase; }.brief-sections { background:var(--paper-deep); padding:105px 0; }.brief-grid { border-top:1px solid var(--rule); display:grid; grid-template-columns:repeat(3,1fr); margin-top:29px; }.brief-grid article { border-right:1px solid var(--rule); min-height:230px; padding:18px 20px 15px 0; }.brief-grid article+article { padding-left:20px; }.brief-grid article:last-child { border-right:0; }.brief-grid h3 { font-family:Anton,Impact,sans-serif; font-size:clamp(28px,3.5vw,44px); letter-spacing:0; line-height:.92; margin:25px 0 14px; text-transform:uppercase; }.brief-grid p { color:var(--muted); font-size:16px; line-height:1.43; margin:0; }.brief-measure { align-items:start; display:grid; gap:94px; grid-template-columns:1fr .8fr; padding:111px 0; }.brief-measure h2 { font-size:clamp(43px,5.8vw,80px); margin:15px 0 0 -4px; }.brief-measure ul { border-top:1px solid var(--rule); list-style:none; margin:0; padding:0; }.brief-measure li { align-items:start; border-bottom:1px solid var(--rule); display:grid; gap:13px; grid-template-columns:29px 1fr; padding:17px 0; }.brief-measure li span { font-family:Anton,Impact,sans-serif; font-size:22px; letter-spacing:0; line-height:.95; text-transform:uppercase; }.brief-cta { background:var(--band); color:var(--white); padding:105px 0; }.brief-cta h2 { font-size:clamp(45px,6.4vw,89px); margin:16px 0 24px -5px; }.brief-cta > .container > p:not(.eyebrow) { color:rgba(255,255,255,.7); font-size:19px; line-height:1.48; margin:0; max-width:590px; }.brief-cta .button { margin-top:29px; }
@media (max-width:760px) { .partner-proof-points { display:grid; gap:9px; margin-top:24px; }.partner-receipt { grid-column:auto; margin-top:22px; padding:22px 18px; }.partner-receipt h3 { font-size:36px; }.brief-hero { padding:73px 0 77px; }.brief-hero h1 { font-size:clamp(54px,15vw,78px); }.brief-hero > .container > p:last-of-type { font-size:18px; }.brief-frame { display:block; padding:77px 0; }.brief-title h2 { font-size:49px; }.brief-title > p:last-child { font-size:18px; }.brief-facts { margin-top:44px; }.brief-grid { display:block; }.brief-grid article,.brief-grid article+article { border-bottom:1px solid var(--rule); border-right:0; min-height:0; padding:20px 0; }.brief-grid h3 { font-size:36px; margin:18px 0 11px; }.brief-measure { display:block; padding:77px 0; }.brief-measure h2 { font-size:50px; }.brief-measure ul { margin-top:42px; }.brief-measure li span { font-size:21px; }.brief-cta { padding:78px 0; }.brief-cta h2 { font-size:52px; }.brief-cta > .container > p:not(.eyebrow) { font-size:18px; } }
.pilot-demo-banner { align-items:center; background:var(--lime); border:1px solid var(--rule); display:flex; gap:24px; justify-content:space-between; margin-bottom:34px; padding:15px 17px; }.pilot-demo-banner p { margin:0; }.pilot-demo-banner > p:last-of-type { font-size:13px; line-height:1.38; max-width:580px; }.pilot-demo-banner button { background:var(--band); border:0; color:var(--white); flex:0 0 auto; font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.05em; min-height:38px; padding:8px 12px; text-transform:uppercase; }
@media (max-width:760px) { .pilot-demo-banner { align-items:start; display:block; margin-bottom:27px; padding:16px; }.pilot-demo-banner > p:last-of-type { margin-top:8px; }.pilot-demo-banner button { margin-top:13px; min-height:42px; } }

/* Admin verification desk concept */
.admin-shell { display:grid; grid-template-columns:280px 1fr; min-height:calc(100vh - 73px); }.admin-sidebar { background:var(--lime); padding:38px 27px; }.admin-sidebar h1,.admin-top h2,.review-panel h3 { font-family:Anton,Impact,sans-serif; letter-spacing:0; line-height:.92; text-transform:uppercase; }.admin-sidebar h1 { font-size:48px; margin:16px 0 43px -4px; }.admin-stats { display:grid; gap:10px; }.admin-stats article { border-top:1px solid var(--rule); padding:12px 0; }.admin-stats span { display:block; font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }.admin-stats b { display:block; font-family:Anton,Impact,sans-serif; font-size:42px; letter-spacing:0; margin-top:7px; }.admin-side-note { border-top:1px solid var(--rule); font-size:13px; line-height:1.45; margin:52px 0 0; padding-top:14px; }.admin-main { padding:54px 62px 82px; }.admin-top { align-items:end; display:flex; justify-content:space-between; }.admin-top h2 { font-size:clamp(40px,5.6vw,78px); margin:15px 0 0 -4px; }.admin-filter { display:flex; gap:8px; }.admin-filter button { background:transparent; border:1px solid var(--line); font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:600; letter-spacing:.05em; padding:9px 11px; text-transform:uppercase; }.admin-filter button.active { background:var(--band); border-color:var(--foreground,var(--bone)); color:var(--white); }.admin-workspace { display:grid; gap:21px; grid-template-columns:.84fr 1.16fr; margin-top:42px; }.admin-queue { border-top:1px solid var(--rule); }.review-item { background:transparent; border:0; border-bottom:1px solid var(--rule); display:block; padding:17px 13px 17px 0; position:relative; text-align:left; width:100%; }.review-item.active,.review-item:hover { background:var(--surface); padding-left:13px; }.review-item span { color:var(--mineral); display:block; font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.review-item b { display:block; font-family:Anton,Impact,sans-serif; font-size:21px; letter-spacing:0; line-height:.9; margin:7px 0; text-transform:uppercase; }.review-item small { color:var(--muted); font-size:12px; }.review-item i { background:var(--coral); bottom:17px; font-family:"JetBrains Mono",monospace; font-size:11px; font-style:normal; font-weight:600; letter-spacing:.05em; padding:5px 7px; position:absolute; right:0; text-transform:uppercase; }.review-item[data-status="approved"] i { background:var(--lime); }.review-panel { background:var(--surface); border:1px solid var(--line); padding:28px; }.review-panel-head { align-items:center; display:flex; justify-content:space-between; }.review-panel-head span { background:var(--coral); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.06em; padding:6px 8px; text-transform:uppercase; }.review-panel h3 { font-size:clamp(33px,4vw,55px); margin:23px 0 13px -4px; }.review-panel > p { color:var(--muted); font-size:15px; margin:0; }.source-checks { border-top:1px solid var(--rule); margin-top:28px; }.source-checks div { align-items:center; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; padding:12px 0; }.source-checks span { font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }.source-checks b { color:var(--mineral); font-size:12px; text-align:right; }.review-note { margin-top:22px; }.review-note label { color:var(--mineral); display:grid; font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; gap:7px; letter-spacing:.1em; text-transform:uppercase; }.review-note textarea { border:1px solid var(--line); font-family:"DM Sans"; min-height:78px; outline-color:var(--mineral); padding:10px; resize:vertical; }.review-actions { display:grid; gap:10px; grid-template-columns:1fr 1.2fr; margin-top:18px; }.review-actions button { border:0; font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; letter-spacing:.05em; min-height:48px; text-transform:uppercase; }.request-action { background:var(--paper-deep); }.approve-action { background:var(--lime); }.approve-action:disabled { background:var(--line); color:var(--muted); }.review-message { color:var(--mineral); font-size:12px!important; line-height:1.4; margin-top:15px!important; }.admin-principles { margin-top:73px; }.admin-principles > div { border-top:1px solid var(--rule); display:grid; grid-template-columns:repeat(3,1fr); margin-top:26px; }.admin-principles article { border-right:1px solid var(--rule); min-height:160px; padding:16px 20px 0 0; }.admin-principles article+article { padding-left:20px; }.admin-principles article:last-child { border-right:0; }.admin-principles b { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:15px; font-weight:600; }.admin-principles h3 { font-family:Anton,Impact,sans-serif; font-size:24px; letter-spacing:0; line-height:.9; margin:17px 0 10px; text-transform:uppercase; }.admin-principles p { color:var(--muted); font-size:14px; line-height:1.4; margin:0; }
@media (max-width:760px) { .admin-shell { display:block; }.admin-sidebar { padding:30px 16px; }.admin-sidebar h1 { font-size:52px; margin-bottom:26px; }.admin-stats { grid-template-columns:1fr 1fr; }.admin-side-note { margin-top:27px; }.admin-main { padding:43px 16px 70px; }.admin-top { align-items:start; display:block; }.admin-top h2 { font-size:54px; }.admin-filter { margin-top:26px; overflow:auto; }.admin-filter button { flex:0 0 auto; }.admin-workspace { display:block; margin-top:27px; }.review-panel { margin-top:24px; padding:22px 18px; }.review-panel h3 { font-size:39px; }.source-checks div { align-items:start; display:block; }.source-checks b { display:block; margin-top:5px; text-align:left; }.review-actions { grid-template-columns:1fr; }.admin-principles { margin-top:57px; }.admin-principles > div { display:block; }.admin-principles article,.admin-principles article+article { border-bottom:1px solid var(--rule); border-right:0; min-height:0; padding:18px 0; }.admin-principles h3 { font-size:28px; } }


/* ===== Brand layer: Direction 24 · Extrude (Claude Design pack, 24 Aug 2026) ===== */
body { color:var(--foreground,var(--bone)); }
h1,h2,h3 { font-family:Anton,Impact,sans-serif; font-weight:400; }
.eyebrow { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:500; letter-spacing:.12em; }
.hero .eyebrow,.eyebrow.light { color:var(--lime); }
/* Signal colour never as a page background */
.partner-block,.organiser-hero,.organiser-strip,.about-hero,.newsletter-band,.business-hero,.brief-hero,.placement-section,.about-next,.calendar-controls,.alerts-card,.verification-card,.admin-sidebar { background:var(--band); color:var(--foreground,var(--bone)); }
.featured-copy,.offer-card.featured { background:var(--surface); border:1px solid var(--rule); border-left:4px solid var(--lime); color:var(--foreground,var(--bone)); }
.featured-copy .eyebrow,.offer-card.featured .eyebrow,.partner-block .eyebrow,.organiser-hero .eyebrow,.about-hero .eyebrow,.business-hero .eyebrow { color:var(--lime); }
.organiser-hero::after { background:repeating-linear-gradient(-45deg,var(--lime) 0 14px,transparent 14px 28px); height:6px; inset:0 0 auto 0; max-height:none; right:0; top:0; transform:none; width:100%; }
.partner-block,.organiser-strip,.about-next,.newsletter-band { border-top:1px solid var(--rule); }
/* Controls on lime / bone keep Night text */
.wordmark span,.button.lime,.menu-panel .close-menu,.tile-date,.filter.active,.filter:hover,.mobile-pilot-bar a,.pilot-demo-banner,.date-chip.active,.date-chip:hover,.approve-action,.status-chip,.alerts-card button,.dashboard-action,.menu-button,.map-pin.active,.search-card button,.explore-search button,.stories-header .nav-cta,.business-header .nav-cta { color:var(--ink); }
.ink-button,.nav-cta,.newsletter-form button,.pilot-demo-banner button,.story-filters button.active,.story-filters button:hover,.button.blue,.dashboard-action { background:var(--bone); color:var(--ink); }
.organiser-hero .ink-button,.brief-hero .button { background:var(--lime); color:var(--ink); }
.search-card button,.explore-search button { background:var(--lime); }
.menu-panel::after,.map-pin { background:var(--lime); }
.dialog-close { background:var(--bone); color:var(--ink); }
.menu-button:hover { background:var(--lime); }
.hero-actions .button.lime { background:transparent; border:1px solid rgba(241,238,228,.55); color:var(--foreground,var(--bone)); }
.hero-actions .button.lime:hover { background:var(--bone); color:var(--ink); }
.pilot-demo-banner { background:var(--surface); border-color:var(--rule); color:var(--foreground,var(--bone)); }
.pilot-demo-banner button { background:var(--lime); }
.search-card { background:var(--surface); border:1px solid var(--rule); color:var(--foreground,var(--bone)); }
.search-card input,.explore-search input,.pilot-form input,.pilot-form select,.newsletter-form input { color:var(--foreground,var(--bone)); }
.event-row:hover,.calendar-event a:hover { background:var(--surface); }
.event-tile,.story,.saved-ride,.map-card,.sample-card,.application-receipt,.partner-receipt,.review-panel,.dashboard-metrics article,.event-dialog { border:1px solid var(--rule); }
.hero-stamp { display:none; }
/* Type: mono labels smaller, buttons in DM Sans */
.button,.text-button,.partner-link,.nav-cta,.mobile-pilot-bar a,.ink-button,.save-ride,.dashboard-action,.newsletter-form button,.pilot-demo-banner button { font-family:"DM Sans",Arial,sans-serif; font-size:15px; font-weight:700; letter-spacing:.01em; text-transform:none; }
.desktop-nav a,.page-nav nav a,.dashboard-side nav a,.section-head > a,.story a,.featured-copy a,.garage-heading a,.about-role-grid a,footer > a:last-child,.location-button,.event-header > a:last-child { font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:500; letter-spacing:.1em; }
.filter,.story-filters button,.date-chip { font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:500; letter-spacing:.06em; }
.wordmark { font-size:22px; letter-spacing:0; }
.wordmark span { font-size:.5em; font-weight:600; letter-spacing:.1em; }
.wordmark i { color:var(--lime); font-size:.7em; letter-spacing:-.15em; }
.hero h1,.explore-hero h1,.event-hero h1,.organiser-hero h1,.stories-hero h1,.business-hero h1,.about-hero h1,.brief-hero h1,.garage-hero h1,.calendar-hero h1 { line-height:.9; }
.event-row time { color:var(--foreground,var(--bone)); }
.event-row time b,.tile-date span { font-family:"JetBrains Mono",monospace; }
.detail-grid span,.brief-facts span,.sample-card dt,.sample-card dd,.pilot-form label,.newsletter-form label,.explore-search label span,.search-card label b { color:var(--mineral); }
/* Ticker: one line, one edge, facts */
.ticker { background:var(--lime); color:var(--ink); overflow:hidden; }
.ticker p { font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:500; letter-spacing:.12em; line-height:1; margin:0; padding:13px 0; text-transform:uppercase; white-space:nowrap; }
.ticker b { font-weight:500; margin:0 18px; }
/* Editorial imagery: cobalt duotone; hero and utility tiles stay full colour */
.story,.stories-grid article,.featured-story article { background:var(--blue); }
.story > div,.stories-grid article > div,.featured-copy { background:var(--surface); }
.story img,.stories-grid img,.featured-story img { filter:grayscale(1) contrast(1.18) brightness(1.02); mix-blend-mode:lighten; transition:filter .35s ease; }
.story:hover img,.stories-grid article:hover img { filter:none; mix-blend-mode:normal; }
/* Footer: the extrude logotype, the one place the mark goes big */
footer { align-items:start; }
footer .wordmark { color:var(--foreground,var(--bone)); display:inline-block; font-family:Anton,Impact,sans-serif; font-size:clamp(64px,8vw,112px); letter-spacing:-.01em; line-height:.92; margin:0 0 0 6px; max-width:4.6ch; text-shadow:.07em .07em 0 var(--coral),.14em .14em 0 var(--lime); transform:skewX(-8deg); transform-origin:left bottom; white-space:normal; }
footer .wordmark span,footer .wordmark i { display:none; }
footer p { color:var(--mineral); }
@media (prefers-reduced-motion:reduce) { .story img,.story:hover img { transition:none; } }
@media (max-width:760px) { .ticker p { font-size:11px; padding:12px 0; } footer .wordmark { font-size:64px; } }

.event-row time { display:grid; gap:4px; line-height:1; }
.event-row time b { font-size:11px; letter-spacing:.1em; line-height:1; }
.event-row time strong { line-height:.85; }
.ticker p { padding-left:max(16px,calc((100vw - 1180px)/2)); }

h1,h2,h3 { line-height:.92; }
.explore-search input,.search-card input { background:transparent; }
.hero-note span,.hero-funnel-points span,.application-steps span,.partner-proof-points span,.sample-card-top,.dashboard-label,.dashboard-header > a:last-child { font-size:12px; letter-spacing:.08em; }
.results-top .eyebrow { max-width:220px; }
.filter span { color:var(--mineral); margin-left:6px; }
.filter.active span,.filter:hover span { color:var(--ink); opacity:.65; }
.organiser-hero .eyebrow { max-width:none; }

.story-filters button,.date-chip,.filter { color:var(--foreground,var(--bone)); }
.story-filters button.active,.story-filters button:hover { color:var(--ink); }

.story > div { flex:1; }
@media (min-width:761px) { .discipline-grid a { min-height:136px; } }

/* Make it a weekend */
.weekend { padding:0 0 110px; }
.weekend-head { max-width:720px; }
.weekend-head h2 { font-size:clamp(36px,4.6vw,63px); margin:14px 0 18px -3px; text-transform:uppercase; }
.weekend-head p:not(.eyebrow) { color:var(--mineral); font-size:18px; line-height:1.5; margin:0; max-width:560px; }
.weekend-grid { display:grid; gap:16px; grid-template-columns:repeat(4,1fr); margin-top:40px; }
.weekend-card { background:var(--surface); border:1px solid var(--rule); color:var(--foreground,var(--bone)); display:flex; flex-direction:column; min-height:250px; padding:22px 20px 20px; position:relative; transition:border-color .2s ease,transform .2s ease; }
.weekend-card::before { background:var(--lime); content:""; height:3px; left:0; position:absolute; right:0; top:0; transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.weekend-card:hover,.weekend-card:focus-visible { border-color:var(--mineral); transform:translateY(-2px); }
.weekend-card:hover::before,.weekend-card:focus-visible::before { transform:scaleX(1); }
.weekend-tag { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:500; letter-spacing:.12em; }
.weekend-card h3 { font-size:28px; letter-spacing:0; line-height:.95; margin:14px 0 10px; text-transform:uppercase; }
.weekend-card p { color:var(--mineral); font-size:15px; line-height:1.45; margin:0 0 22px; }
.weekend-cta { align-items:center; display:inline-flex; font-family:"DM Sans",Arial,sans-serif; font-size:15px; font-weight:700; gap:8px; margin-top:auto; }
.weekend-cta i { color:var(--lime); font-style:normal; }
.weekend-card small { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.08em; margin-top:12px; text-transform:uppercase; }
.weekend-disclosure { border-top:1px solid var(--rule); color:var(--mineral); font-size:13px; line-height:1.5; margin:28px 0 0; max-width:720px; padding-top:14px; }
.weekend-disclosure b { color:var(--foreground,var(--bone)); font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:500; letter-spacing:.12em; margin-right:8px; }
@media (max-width:1000px) { .weekend-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:760px) { .weekend { padding-bottom:80px; } .weekend-head h2 { font-size:38px; } .weekend-grid { gap:12px; grid-template-columns:1fr; margin-top:28px; } .weekend-card { min-height:0; padding:20px 18px; } .weekend-card h3 { font-size:26px; } .event-layout { display:grid; gap:64px; grid-template-columns:1.3fr .7fr; padding:60px 0; } }

/* Entry-open alerts */
.alerts-form { border-top:1px solid var(--rule); margin-top:22px; padding-top:18px; }
.alerts-form > label:not(.alerts-consent) { display:block; font-family:Anton,Impact,sans-serif; font-size:24px; letter-spacing:0; line-height:1; margin:10px 0 12px; text-transform:uppercase; }
.alerts-row { display:grid; gap:8px; grid-template-columns:1fr auto; }
.alerts-row input { background:var(--paper); border:1px solid var(--rule); color:var(--foreground,var(--bone)); font-family:"DM Sans",Arial,sans-serif; font-size:16px; min-height:48px; min-width:0; padding:0 14px; }
.alerts-row input:focus { border-color:var(--lime); outline:0; }
.alerts-row .button { border:0; margin:0; min-height:48px; padding:0 16px; white-space:nowrap; }
.alerts-hp { height:0; left:-9999px; opacity:0; position:absolute; width:0; }
.alerts-consent { align-items:start; color:var(--mineral); display:flex; font-size:12px; gap:9px; line-height:1.45; margin-top:12px; }
.alerts-consent input { accent-color:var(--lime); flex:0 0 auto; height:18px; margin:1px 0 0; width:18px; }
.alerts-status { color:var(--foreground,var(--bone)); font-size:13px; line-height:1.45; margin:10px 0 0; min-height:0; }
.alerts-status:empty { display:none; }
.alerts-form.is-done .alerts-row,.alerts-form.is-done .alerts-consent { display:none; }
.alerts-form.is-done .alerts-status { border-left:3px solid var(--lime); color:var(--foreground,var(--bone)); padding-left:12px; }
.entry-card small { color:var(--entry-muted,rgba(255,255,255,.5)); display:block; font-size:13px; line-height:1.55; margin-top:17px; }
@media (max-width:400px) { .alerts-row { grid-template-columns:1fr; } }

.alerts-consent { font-family:"DM Sans",Arial,sans-serif; font-size:12px; letter-spacing:0; line-height:1.45; text-transform:none; }
.alerts-consent span { color:var(--mineral); }

/* Legal pages + footer legal links */
.legal { padding:80px 0 110px; }
.legal h1 { font-size:clamp(48px,7vw,96px); margin:16px 0 22px -4px; text-transform:uppercase; }
.legal-lede { font-size:20px; line-height:1.5; margin:0 0 48px; max-width:640px; }
.legal section { border-top:1px solid var(--rule); max-width:820px; padding:26px 0 8px; }
.legal h2 { font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:500; letter-spacing:.12em; line-height:1.3; margin:0 0 12px; text-transform:uppercase; color:var(--lime); }
.legal p,.legal li { font-size:16px; line-height:1.6; }
.legal ul { margin:0 0 12px; padding-left:20px; }
.legal a { border-bottom:1px solid var(--lime); }
.legal .tbc { background:rgba(255,76,46,.14); border-bottom:1px dashed var(--coral); color:var(--foreground,var(--bone)); padding:0 3px; }
.legal-table { border-collapse:collapse; display:block; margin:8px 0 14px; overflow-x:auto; width:100%; }
.legal-table th,.legal-table td { border-bottom:1px solid var(--rule); font-size:14px; line-height:1.45; padding:12px 14px 12px 0; text-align:left; vertical-align:top; }
.legal-table th { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.legal-table td:first-child { color:var(--foreground,var(--bone)); font-weight:600; min-width:150px; }
.legal-narrow { max-width:720px; }
.unsub-form label { display:block; font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.12em; margin-bottom:10px; text-transform:uppercase; color:var(--mineral); }
.unsub-form .alerts-row { max-width:560px; }
.unsub-form.is-done .alerts-row { display:none; }
.unsub-form.is-done .alerts-status { border-left:3px solid var(--lime); padding-left:12px; }
.legal-small { color:var(--mineral); font-size:14px; line-height:1.55; margin-top:28px; max-width:560px; }
.footer-links { display:flex; gap:18px; margin:0 0 18px; }
.footer-links a { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.footer-links a:hover { color:var(--foreground,var(--bone)); }
@media (min-width:761px) { footer { grid-template-columns:1fr .7fr auto auto; } .footer-links { margin:0; } }
@media (max-width:760px) { .legal { padding:56px 0 80px; } .legal-lede { font-size:18px; } .legal-table th,.legal-table td { padding-right:10px; } }

@media (max-width:760px) {
  .legal-table,.legal-table tbody,.legal-table tr,.legal-table td { display:block; width:100%; }
  .legal-table thead { display:none; }
  .legal-table tr { border-top:2px solid var(--rule); padding:10px 0 6px; }
  .legal-table td { border-bottom:0; padding:6px 0; }
  .legal-table td::before { color:var(--mineral); content:attr(data-label); display:block; font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.1em; margin-bottom:3px; text-transform:uppercase; }
  .legal-table td:first-child { font-family:Anton,Impact,sans-serif; font-size:22px; font-weight:400; letter-spacing:0; line-height:1; text-transform:uppercase; }
  .legal-table td:first-child::before { display:none; }
}

/* Featured placement + open slots */
.featured { padding:0 0 96px; }
.featured .section-head { margin-bottom:28px; }
.featured-grid { display:grid; gap:16px; grid-template-columns:1.35fr 1fr; }
.featured-card { background:var(--surface); border:1px solid var(--rule); color:var(--foreground,var(--bone)); display:grid; grid-template-columns:1fr 1fr; min-height:280px; overflow:hidden; position:relative; transition:border-color .2s ease; }
.featured-card:hover { border-color:var(--mineral); }
.featured-card img { height:100%; min-height:220px; object-fit:cover; width:100%; }
.featured-copy { display:flex; flex-direction:column; justify-content:flex-end; padding:22px; }
.featured-copy p { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.1em; margin:14px 0 6px; text-transform:uppercase; }
.featured-copy h3 { font-size:clamp(28px,3vw,42px); letter-spacing:0; line-height:.95; margin:0 0 12px; text-transform:uppercase; }
.featured-meta { color:var(--mineral); font-size:14px; }
.featured-tag { background:var(--lime); color:var(--ink); display:inline-block; font-family:"JetBrains Mono",monospace; font-size:10px; font-weight:600; letter-spacing:.12em; line-height:1; padding:6px 8px; text-transform:uppercase; width:max-content; }
.event-tile .featured-tag { left:0; position:absolute; top:0; z-index:1; }
.event-tile.is-featured { border-color:var(--lime); }
.featured-tag-hero { margin:12px 0 0; }
.slot-card,.slot-tile { align-content:start; background:transparent; border:1px dashed var(--mineral); display:flex; flex-direction:column; gap:12px; justify-content:flex-end; padding:22px; }
.slot-card:hover,.slot-tile:hover { border-color:var(--lime); border-style:solid; }
.slot-tag { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.slot-card h3,.slot-tile h2 { font-size:clamp(26px,2.6vw,36px); letter-spacing:0; line-height:.95; margin:0; text-transform:uppercase; }
.slot-card p,.slot-tile p { color:var(--mineral); font-size:15px; line-height:1.45; margin:0; }
.slot-cta { align-items:center; color:var(--foreground,var(--bone)); display:inline-flex; font-family:"DM Sans",Arial,sans-serif; font-size:15px; font-weight:700; gap:8px; margin-top:auto; }
.slot-cta i { color:var(--lime); font-style:normal; }
.slot-tile { min-height:0; }
.tier-list { list-style:none !important; margin:0 !important; padding:0 !important; }
.tier-list li { border-top:1px solid var(--rule); display:grid; gap:4px; padding:12px 0 !important; }
.tier-list li b { font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--lime); }
.tier-list li span { font-size:15px; line-height:1.45; }
.form-interest { border-left:3px solid var(--lime); color:var(--foreground,var(--bone)) !important; padding-left:12px; }
@media (max-width:760px) { .featured { padding-bottom:70px; } .featured-grid { gap:12px; grid-template-columns:1fr; } .featured-card { grid-template-columns:1fr; min-height:0; } .featured-card img { height:200px; min-height:0; } .slot-card { padding:20px 18px; } }

/* Programmatic discipline × area pages */
.crumbs { align-items:center; color:var(--mineral); display:flex; flex-wrap:wrap; font-family:"JetBrains Mono",monospace; font-size:11px; gap:8px; letter-spacing:.08em; margin-bottom:26px; text-transform:uppercase; }
.crumbs a { color:var(--mineral); } .crumbs a:hover,.crumbs b { color:var(--foreground,var(--bone)); font-weight:500; }
.programmatic-page .explore-hero > .container > p:last-child { color:var(--mineral); font-size:18px; line-height:1.5; margin:0; max-width:640px; }
.programmatic-body { padding-top:56px; }
.programmatic-body .section-head { margin-bottom:22px; }
.slot-wide { margin:0 0 28px; min-height:0; }
.slot-wide h3 { font-size:clamp(24px,2.4vw,32px); }
.area-links { border-top:1px solid var(--rule); margin-top:44px; padding-top:22px; }
.chip-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.chip { border:1px solid var(--rule); color:var(--foreground,var(--bone)); font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.06em; min-height:40px; padding:10px 12px; text-transform:uppercase; transition:border-color .2s ease,background .2s ease; }
.chip:hover { background:var(--lime); border-color:var(--lime); color:var(--ink); }
.chip-muted { color:var(--mineral); }
.expect { border-top:1px solid var(--rule); margin-top:36px; max-width:720px; padding-top:22px; }
.expect ul { list-style:"→  "; margin:14px 0 0; padding-left:22px; }
.expect li { font-size:16px; line-height:1.55; margin:8px 0; padding-left:6px; }
.expect-kit { color:var(--mineral); font-size:15px; line-height:1.55; margin:18px 0 0; }
.expect-kit b { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:500; letter-spacing:.12em; margin-right:8px; }
.empty-area { background:var(--surface); border:1px solid var(--rule); max-width:720px; padding:26px 24px; }
.empty-area h3 { font-size:clamp(26px,3vw,38px); letter-spacing:0; line-height:.95; margin:10px 0 12px; text-transform:uppercase; }
.empty-area p { color:var(--mineral); font-size:16px; line-height:1.5; margin:0 0 20px; }
.empty-area .button { display:inline-flex; }
.hub-grid { display:grid; gap:48px; grid-template-columns:1fr 1fr; }
.hub-list { border-top:1px solid var(--rule); margin-top:14px; }
.hub-row time strong { font-size:40px; }
.hub-row h3 { font-size:26px; }
.featured-inline { color:var(--lime); }
.weekend-grid-2 { grid-template-columns:repeat(2,1fr); max-width:820px; }
.programmatic-faq { margin-top:60px; }
.programmatic-page .weekend { padding-top:40px; }
@media (max-width:760px) { .hub-grid { display:block; } .hub-grid > div + div { margin-top:40px; } .weekend-grid-2 { grid-template-columns:1fr; } .programmatic-body { padding-top:40px; } .crumbs { margin-bottom:18px; } }

/* Pricing */
.pricing-body { padding:48px 0 90px; }
.billing-toggle { border:1px solid var(--rule); display:inline-flex; margin-bottom:28px; }
.billing-toggle button { align-items:center; background:transparent; border:0; color:var(--mineral); display:inline-flex; font-family:"JetBrains Mono",monospace; font-size:12px; gap:8px; letter-spacing:.08em; min-height:44px; padding:0 16px; text-transform:uppercase; }
.billing-toggle button.active { background:var(--bone); color:var(--ink); }
.billing-toggle button span { background:var(--lime); color:var(--ink); font-size:10px; padding:3px 6px; }
.billing-toggle button.active span { background:var(--ink); color:var(--lime); }
.plan-grid { display:grid; gap:16px; grid-template-columns:repeat(3,1fr); }
.plan { background:var(--surface); border:1px solid var(--rule); display:flex; flex-direction:column; padding:26px 24px; position:relative; }
.plan-recommended { border-color:var(--lime); }
.plan-flag { background:var(--lime); color:var(--ink); font-family:"JetBrains Mono",monospace; font-size:10px; font-weight:600; left:-1px; letter-spacing:.12em; padding:6px 10px; position:absolute; top:-1px; }
.plan h2 { font-size:clamp(28px,2.6vw,36px); letter-spacing:0; line-height:.95; margin:10px 0 14px; text-transform:uppercase; }
.plan-price { align-items:baseline; display:flex; gap:10px; margin:0 0 10px; }
.plan-price b { font-family:Anton,Impact,sans-serif; font-size:48px; font-weight:400; letter-spacing:0; line-height:1; }
.plan-price span { color:var(--mineral); font-size:14px; }
.plan-who { color:var(--mineral); font-size:15px; line-height:1.45; margin:0 0 18px; }
.plan ul { border-top:1px solid var(--rule); list-style:none; margin:0 0 22px; padding:14px 0 0; }
.plan li { font-size:15px; line-height:1.45; padding:6px 0 6px 22px; position:relative; }
.plan li::before { color:var(--lime); content:"→"; left:0; position:absolute; }
.plan .button { margin-top:auto; }
.plan small { color:var(--mineral); display:block; font-size:12px; line-height:1.4; margin-top:12px; }
.addon { align-items:center; border:1px dashed var(--mineral); display:grid; gap:28px; grid-template-columns:1.4fr .8fr; margin-top:28px; padding:26px 24px; }
.addon h3 { font-size:clamp(24px,2.4vw,32px); letter-spacing:0; line-height:.95; margin:10px 0 12px; text-transform:uppercase; }
.addon p:not(.eyebrow) { color:var(--mineral); font-size:15px; line-height:1.5; margin:0; }
.addon-price { display:grid; gap:6px; justify-items:start; }
.addon-price b { font-family:Anton,Impact,sans-serif; font-size:40px; font-weight:400; line-height:1; }
.addon-price span { color:var(--mineral); font-size:14px; }
.addon-price .button { margin-top:12px; }
.compare { border-top:1px solid var(--rule); margin-top:44px; padding-top:22px; }
.compare-list { list-style:none; margin:14px 0 0; padding:0; }
.compare-list li { font-size:16px; line-height:1.55; padding:8px 0 8px 22px; position:relative; }
.compare-list li::before { color:var(--lime); content:"✓"; left:0; position:absolute; }
@media (max-width:900px) { .plan-grid { grid-template-columns:1fr; } .addon { grid-template-columns:1fr; } }
@media (max-width:760px) { .pricing-body { padding:36px 0 70px; } .plan-price b { font-size:42px; } }

.plan-recommended { padding-top:44px; }

/* ===== Paper surfaces (2026-09-05): Bone as the light-space foundation the pack specifies (~70 Night / 30 Bone). Apply class "paper" to a section. ===== */
:root { --paper-bone:#F1EEE4; --paper-card:#FBFAF6; --ink-muted:#5A625C; --ink-rule:rgba(11,13,10,.22); }
.paper,.disciplines.paper,.partner-block.paper,.funnel-faq.paper,.weekend.paper { background:var(--paper-bone); color:var(--ink); }
.paper.container { box-shadow:0 0 0 100vmax var(--paper-bone); clip-path:inset(0 -100vmax); }
.paper h1,.paper h2,.paper h3,.paper h4,.paper strong,.paper b,.paper span,.paper li,.paper p:not(.eyebrow),.paper a { color:var(--ink); }
.paper .eyebrow,.paper .section-head > p,.paper .weekend-head p:not(.eyebrow),.paper .weekend-card p,.paper .weekend-card small,.paper .weekend-tag,.paper .weekend-disclosure,.paper .faq-grid p,.paper .intro > div > p + p,.paper .partner-block > .container > p:not(.eyebrow) small { color:var(--ink-muted); }
.disciplines.paper .eyebrow { color:var(--ink-muted); }
.paper .discipline-grid,.paper .discipline-grid a,.paper .faq-grid,.paper .faq-grid details,.paper .weekend-disclosure,.paper .weekend-card,.paper .plan,.paper .compare { border-color:var(--ink-rule); }
.paper .discipline-grid b,.paper .discipline-grid i,.paper .weekend-cta i,.paper .faq-grid summary::after,.paper .weekend-disclosure b { color:var(--ink); }
.paper .discipline-grid a:hover span,.paper .discipline-grid a:focus-visible span { color:var(--blue); }
.paper .section-head > a,.paper footer > a:last-child { border-bottom-color:var(--ink); }
.paper .weekend-card,.paper .plan { background:var(--paper-card); }
.paper .weekend-card:hover,.paper .weekend-card:focus-visible { border-color:var(--ink); }
.paper .weekend-card::before { background:var(--coral); }
.paper .button.lime { background:var(--ink); color:var(--foreground,var(--bone)); }
.paper .button.lime:hover,.paper .button.lime:focus-visible { background:var(--coral); color:var(--ink); }
.paper input,.paper textarea,.paper select { background:#fff; border-color:var(--ink-rule); color:var(--ink); }
.partner-block.paper { border-top:0; }
.paper + footer,.paper + .site-footer { border-top:0; }
.intro.paper + .featured { padding-top:96px; }
.weekend.paper { padding-top:96px; padding-bottom:104px; }
.funnel-faq.paper { padding:96px 0 104px; }
@media (max-width:760px) { .intro.paper + .featured { padding-top:60px; } .weekend.paper { padding-top:60px; padding-bottom:72px; } .funnel-faq.paper { padding:60px 0 72px; } }

/* ===== Design pass 2 (2026-09-05): full-colour photography (no cobalt duotone), SVG icon system replacing text glyphs ===== */
.story img,.stories-grid img,.featured-story img { filter:none; mix-blend-mode:normal; }
.story,.stories-grid article,.featured-story { background:var(--surface); }
.story::after,.stories-grid article::after { background:linear-gradient(180deg,rgba(20,26,22,0) 40%,rgba(20,26,22,.82) 100%); }
.ic { background:currentColor; display:inline-block; flex:none; height:1em; vertical-align:-.14em; width:1em; -webkit-mask:var(--ic) center/contain no-repeat; mask:var(--ic) center/contain no-repeat; }
.ic-right { --ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M3 12h16M12 5l7 7-7 7'/%3E%3C/svg%3E"); }
.ic-up-right { --ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M6 18L18 6M8 6h10v10'/%3E%3C/svg%3E"); }
.ic-left { --ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M21 12H5M12 5l-7 7 7 7'/%3E%3C/svg%3E"); }
.ic-check { --ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M4 12.5l5.5 5.5L20 6'/%3E%3C/svg%3E"); }
.button .ic,.text-link .ic,.section-head > a .ic,a .ic { margin-left:.45em; }
.button .ic { height:1.05em; width:1.05em; }
.compare-list li::before { background:var(--lime); content:""; height:1em; left:0; -webkit-mask:var(--ic-check) center/contain no-repeat; mask:var(--ic-check) center/contain no-repeat; position:absolute; top:.55em; width:1em; --ic-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='square'%3E%3Cpath d='M4 12.5l5.5 5.5L20 6'/%3E%3C/svg%3E"); }

/* ===== Photography (2026-09-05): photo heroes and discipline thumbnails; one documentary style, see brand/VISUAL_MEMORY.md ===== */
.has-photo { background:linear-gradient(180deg,rgba(20,26,22,.48) 0%,rgba(20,26,22,.86) 100%),var(--photo) center 40%/cover no-repeat; color:var(--foreground,var(--bone)); }
.has-photo .eyebrow { color:var(--lime); }
.has-photo h1,.has-photo p,.has-photo .breadcrumbs,.has-photo .breadcrumbs a { color:var(--foreground,var(--bone)); }
.explore-hero.has-photo,.calendar-hero.has-photo { padding:120px 0 84px; }
.organiser-hero.has-photo { color:var(--foreground,var(--bone)); }
.organiser-hero.has-photo h1,.organiser-hero.has-photo p { color:var(--foreground,var(--bone)); }
.discipline-grid a { grid-template-columns:58px 150px 1fr auto; }
.discipline-thumb { aspect-ratio:3/2; display:block; height:auto; object-fit:cover; width:100%; filter:saturate(.92); transition:filter .3s ease,transform .3s ease; }
.discipline-grid a:hover .discipline-thumb,.discipline-grid a:focus-visible .discipline-thumb { filter:none; transform:scale(1.03); }
.story img,.stories-grid img { object-fit:cover; }
@media (max-width:760px) { .discipline-grid a { grid-template-columns:35px 96px 1fr auto; } .explore-hero.has-photo,.calendar-hero.has-photo { padding:96px 0 64px; } }
@media (prefers-reduced-motion: reduce) { .discipline-thumb { transition:none; } .discipline-grid a:hover .discipline-thumb { transform:none; } }

.event-hero img:not([src]) { background:var(--surface); }

/* ===== Live board (2026-09-07) ===== */
.live-hero.has-photo { padding:96px 0 56px; }
.live-hero h1 { font-family:Anton,Impact,sans-serif; font-size:clamp(56px,8vw,110px); letter-spacing:0; line-height:.92; margin:17px 0 22px -7px; text-transform:uppercase; }
.live-hero > .container > p:not(.eyebrow) { font-size:19px; line-height:1.5; margin:0; max-width:640px; }
.live-status { align-items:center; display:flex; flex-wrap:wrap; gap:14px 18px; margin-top:30px; }
.live-status > span:last-child { color:rgba(241,238,228,.78); font-size:15px; }
.live-pill,.result-pill,.quiet-pill { align-items:center; display:inline-flex; font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; gap:8px; letter-spacing:.14em; line-height:1; padding:8px 11px 7px; text-transform:uppercase; white-space:nowrap; }
.live-pill { background:var(--coral); color:var(--foreground,var(--bone)); }
.live-pill i { animation:livepulse 1.2s ease-in-out infinite; background:var(--bone); border-radius:50%; display:block; height:8px; width:8px; }
.live-pill.big { font-size:14px; padding:11px 14px 10px; }
.result-pill { background:var(--lime); color:var(--ink); }
.quiet-pill { border:1px solid var(--rule); color:var(--mineral); }
@keyframes livepulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.35; transform:scale(.7); } }
.live-section { padding:72px 0 64px; }
.live-section.paper { padding:72px 0; }
.live-section .section-head { margin-bottom:28px; }
.live-stamp { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; }
.board-list { display:flex; flex-direction:column; gap:18px; }
.board { background:var(--band); border:1px solid var(--line); color:var(--foreground,var(--bone)); }
.paper .board { background:var(--paper-card); border-color:var(--ink-rule); color:var(--ink); }
.board-live { border-color:var(--coral); box-shadow:6px 6px 0 var(--coral); }
.board-head { align-items:start; border-bottom:1px solid var(--rule); display:flex; flex-wrap:wrap; gap:14px 24px; justify-content:space-between; padding:20px 22px 16px; }
.paper .board-head { border-color:var(--ink-rule); }
.board-title h3 { font-family:Anton,Impact,sans-serif; font-size:clamp(24px,3vw,34px); letter-spacing:0; line-height:.95; margin:8px 0 6px; text-transform:uppercase; }
.board-session { font-size:15px; font-weight:600; margin:0; }
.board-session span { color:var(--mineral); font-weight:500; }
.board-status { align-items:center; display:flex; flex-wrap:wrap; gap:10px; }
.board-status small { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.board-clock { font-family:"JetBrains Mono",monospace; font-size:22px; font-variant-numeric:tabular-nums; font-weight:600; }
.flag { font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.12em; padding:8px 10px 7px; text-transform:uppercase; }
.flag-green { background:#1f7a3a; color:#fff; } .flag-yellow { background:#f3d23e; color:#141A16; } .flag-red { background:#b91c1c; color:#fff; } .flag-finish { background:var(--bone); color:var(--ink); }
.board-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.board-table { border-collapse:collapse; font-size:15px; min-width:100%; width:100%; }
.board-table th { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.12em; padding:12px 12px 10px; text-align:left; text-transform:uppercase; white-space:nowrap; }
.board-table td { border-top:1px solid var(--rule); padding:11px 12px; vertical-align:middle; }
.paper .board-table td { border-color:var(--ink-rule); }
.board-table .c-pos { width:56px; } .board-table td.c-pos b { font-family:Anton,Impact,sans-serif; font-size:22px; letter-spacing:0; line-height:1; }
.board-table .c-no { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-weight:600; width:60px; }
.board-table .c-rider { min-width:180px; }
.rider-name { display:block; font-weight:700; }
.rider-meta { color:var(--mineral); display:block; font-size:12px; margin-top:2px; }
.board-chip { background:rgba(167,176,169,.18); color:var(--mineral); display:inline-block; font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.1em; margin-left:8px; padding:3px 6px; vertical-align:middle; }
.board-table td.c-opt,.board-table th.c-opt { font-family:"JetBrains Mono",monospace; font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap; }
.board-table td.c-opt { font-weight:500; }
.board-table tr.is-leader td.c-pos b { color:var(--lime); } .paper .board-table tr.is-leader td.c-pos b { color:var(--blue); }
.board-table tr.is-out { opacity:.55; }
.tone-overall { color:#c084fc; } .tone-personal { color:#4ade80; }
.board-empty { color:var(--mineral); padding:28px 12px !important; text-align:center; }
.board-foot { align-items:center; border-top:1px solid var(--rule); color:var(--mineral); display:flex; flex-wrap:wrap; font-size:13px; gap:10px 18px; justify-content:space-between; padding:12px 22px; }
.paper .board-foot { border-color:var(--ink-rule); }
.board-actions { align-items:center; display:flex; flex-wrap:wrap; gap:8px 18px; }
.board-link,.board-expand { background:none; border:0; border-bottom:2px solid var(--lime); color:inherit; cursor:pointer; font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.08em; padding:0 0 3px; text-transform:uppercase; }
.paper .board-link,.paper .board-expand { color:var(--ink); }
.board-empty-state { padding:34px 26px 38px; }
.board-empty-state h3 { font-family:Anton,Impact,sans-serif; font-size:clamp(30px,4vw,44px); letter-spacing:0; line-height:.95; margin:12px 0 14px; text-transform:uppercase; }
.board-empty-state p:last-child { color:var(--mineral); font-size:16px; line-height:1.5; margin:0; max-width:600px; }
.board-note { color:var(--mineral); margin:0; padding:20px 0; }
.board-note a { border-bottom:2px solid var(--lime); }
.next-list .next-row { align-items:center; border-bottom:1px solid var(--rule); display:grid; gap:22px; grid-template-columns:90px 1fr auto; min-height:110px; padding:16px 0; transition:background .2s ease,padding .2s ease; }
.next-list .next-row:hover { background:var(--surface); padding-left:16px; padding-right:16px; }
.next-row time { color:var(--mineral); font-family:Anton,Impact,sans-serif; line-height:.92; }
.next-row time b { display:block; font-family:"JetBrains Mono",monospace; font-size:13px; letter-spacing:.08em; } .next-row time strong { display:block; font-size:44px; }
.next-row p { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.1em; margin:0; text-transform:uppercase; }
.next-row h3 { font-family:Anton,Impact,sans-serif; font-size:26px; letter-spacing:0; line-height:.9; margin:6px 0; text-transform:uppercase; }
.next-row span { color:var(--muted); font-size:14px; } .next-row > i { color:var(--mineral); font-size:28px; font-style:normal; }
.live-credit { padding:84px 0; }
.live-credit h2 { font-family:Anton,Impact,sans-serif; font-size:clamp(38px,5vw,66px); letter-spacing:0; line-height:.92; margin:12px 0 18px -4px; text-transform:uppercase; }
.live-credit > .container > p:not(.eyebrow) { font-size:18px; line-height:1.5; margin:0; max-width:720px; }
/* Meeting card: class chips + panels */
.board-chips { display:flex; gap:6px; overflow-x:auto; padding:12px 22px 0; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.board-chips::-webkit-scrollbar { display:none; }
.board-chip-btn { background:transparent; border:1px solid var(--rule); color:var(--mineral); cursor:pointer; flex:0 0 auto; font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.1em; padding:8px 11px 7px; text-transform:uppercase; }
.board-chip-btn.active { background:var(--bone); border-color:var(--foreground,var(--bone)); color:var(--ink); }
.paper .board-chip-btn { border-color:var(--ink-rule); color:var(--ink-muted); } .paper .board-chip-btn.active { background:var(--ink); border-color:var(--ink); color:var(--foreground,var(--bone)); }
.board-chip-btn.is-live::before { background:var(--coral); border-radius:50%; content:""; display:inline-block; height:7px; margin-right:7px; width:7px; }
.board-panel-head { align-items:center; display:flex; flex-wrap:wrap; gap:10px 18px; justify-content:space-between; padding:16px 22px 8px; }
.board-panel-head .board-session { font-size:17px; }
.board-title h3 { font-size:clamp(22px,2.4vw,28px); }
/* Home hero strip + event page board */
.live-strip { align-items:center; background:var(--band); border:1px solid var(--line); color:var(--foreground,var(--bone)); display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:22px; max-width:760px; padding:12px 16px; }
.live-strip.is-live { border-color:var(--coral); }
.live-strip b { font-family:Anton,Impact,sans-serif; font-size:20px; letter-spacing:0; line-height:1; text-transform:uppercase; }
.live-strip-meta { color:var(--mineral); font-size:14px; }
.live-strip-cta { border-bottom:2px solid var(--lime); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.08em; margin-left:auto; padding-bottom:2px; text-transform:uppercase; white-space:nowrap; }
.event-live { padding:0 0 88px; }
.event-live .section-head { margin-bottom:22px; }
.event-live[hidden] { display:none; }
.intro.intro-tight { gap:24px; grid-template-columns:1fr; padding:88px 0 72px; }
.intro.intro-tight > div > p { margin-top:24px; }
.intro-rail { display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:34px; }
.intro-rail a,.intro-rail span { color:var(--ink-muted); font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.intro-rail a { border-bottom:2px solid var(--lime); color:var(--ink); padding-bottom:3px; }
/* Burger shows on desktop too: the grouped menu is the only route to My account, Shops, Standings and more. */
@media (max-width:760px) {
  .live-hero.has-photo { padding:84px 0 44px; } .live-hero h1 { font-size:clamp(52px,15vw,74px); } .live-hero > .container > p:not(.eyebrow) { font-size:17px; }
  .live-section { padding:52px 0 44px; } .live-section .section-head { align-items:start; display:block; } .live-stamp { display:block; margin-top:10px; }
  .board-head { padding:16px; } .board-foot { padding:12px 16px; } .board-chips { padding:10px 16px 0; } .board-panel-head { padding:14px 16px 6px; } .board-table { font-size:14px; } .board-table th,.board-table td { padding:10px 8px; }
  .board-table .c-pos { width:44px; } .board-table td.c-pos b { font-size:19px; } .board-table .c-no { width:44px; } .board-table .c-rider { min-width:140px; }
  .board-table .c-opt-2,.board-table .c-opt-3,.board-table .c-opt-4 { display:none; }
  .board-live { box-shadow:4px 4px 0 var(--coral); }
  .next-list .next-row { gap:12px; grid-template-columns:60px 1fr auto; min-height:92px; } .next-row time strong { font-size:34px; } .next-row h3 { font-size:21px; }
  .live-strip { gap:8px 12px; padding:12px 14px; } .live-strip b { font-size:17px; } .live-strip-cta { margin-left:0; }
  .live-credit { padding:64px 0; }
}

.tile-past,.tile-open { font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.1em; padding:2px 6px; } .tile-past { background:rgba(167,176,169,.22); color:var(--foreground,var(--bone)); } .tile-open { background:var(--lime); color:var(--ink); }
.calendar-event.is-past time { opacity:.55; } .month-switcher button[disabled] { opacity:.3; cursor:default; }

/* ===== Design P1 pass (2026-09-07) ===== */
.story-feature img { height:560px; }
.story-feature > div { margin-top:auto; }
@media (min-width:761px) {
  .discipline-grid a { grid-template-columns:58px 260px 1fr auto; min-height:150px; }
  .discipline-grid span { font-size:clamp(30px,3.6vw,52px); }
  footer .wordmark { font-size:clamp(30px,3.2vw,44px); }
  .explore-hero.has-photo { padding:84px 0 56px; }
  .partner-block > .container { align-items:center; column-gap:56px; display:grid; grid-template-columns:1.1fr .9fr; }
  .partner-block > .container > *:not(.partner-stats) { grid-column:1; }
  .partner-stats { grid-column:2; grid-row:1 / span 4; }
}
.partner-stats { border-top:2px solid var(--ink); display:grid; gap:0; margin-top:34px; }
.partner-stats div { border-bottom:1px solid var(--ink-rule); display:grid; gap:14px; grid-template-columns:auto 1fr; align-items:baseline; padding:16px 0; }
.partner-stats strong { font-family:Anton,Impact,sans-serif; font-size:clamp(40px,4.6vw,64px); letter-spacing:0; line-height:.9; min-width:2.2ch; }
.partner-stats span { color:var(--ink-muted); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.partner-stats small { color:var(--ink-muted); display:block; font-family:"DM Sans",sans-serif; font-size:13px; letter-spacing:0; margin-top:4px; text-transform:none; }
@media (max-width:760px) {
  .hero { min-height:88svh; }
  .hero-copy { padding-bottom:44px; }
  .hero h1 { font-size:clamp(48px,14vw,72px); }
  .partner-stats strong { font-size:40px; }
}
.slot-card,.slot-tile { opacity:.9; }
.slot-card h3,.slot-tile h2 { font-size:clamp(22px,2.4vw,28px) !important; }
.slot-card p,.slot-tile p { color:var(--mineral); font-size:14px; }
.detail-grid b { font-family:"DM Sans",Arial,sans-serif; font-size:18px; font-weight:600; letter-spacing:0; text-transform:none; }

/* ===== Organiser claim flow (2026-09-07) ===== */
.organiser-claim { margin:18px 0 0; } .organiser-claim a { border-bottom:2px solid var(--lime); font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.verified-badge { background:var(--lime); color:var(--ink); font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.12em; margin-left:8px; padding:3px 7px; vertical-align:middle; }
.claim-picked { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; } .chip-picked { align-items:center; background:var(--lime); border-color:var(--lime); color:var(--ink); cursor:default; display:inline-flex; gap:8px; min-height:34px; padding:6px 10px; text-transform:none; } .chip-picked b { cursor:pointer; font-weight:700; }
.consent-row { align-items:flex-start; display:flex !important; flex-direction:row !important; gap:12px; } .consent-row input { margin-top:5px; width:18px; height:18px; } .consent-row span { font-size:14px; font-weight:400; }
.pilot-form textarea, .dash-form textarea { background:var(--surface); border:1px solid var(--rule); color:var(--foreground,var(--bone)); font:inherit; padding:12px; width:100%; }
.admin-token { border-top:1px solid var(--rule); margin-top:28px; padding-top:22px; } .admin-token label { display:block; font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; } .admin-token input { background:var(--surface); border:1px solid var(--rule); color:var(--foreground,var(--bone)); display:block; font:inherit; margin:8px 0 12px; padding:11px; width:100%; }
.claim-list { display:flex; flex-direction:column; gap:14px; margin-top:24px; }
.claim { background:var(--band); border:1px solid var(--line); padding:20px 22px; } .claim.approved { border-color:var(--lime); } .claim.rejected { opacity:.6; }
.claim header h3 { font-family:Anton,Impact,sans-serif; font-size:26px; letter-spacing:0; line-height:1; margin:8px 0 6px; text-transform:uppercase; } .claim header p { color:var(--mineral); font-size:14px; margin:0; } .claim header a { border-bottom:1px solid var(--rule); }
.claim-events { list-style:none; margin:14px 0 0; padding:0; } .claim-events li { border-top:1px solid var(--rule); padding:8px 0; font-size:14px; } .claim-events input { margin-right:8px; }
.claim-line { font-size:14px; margin:12px 0 0; } .claim-line b { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.1em; margin-right:8px; }
.claim-actions { align-items:end; display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; } .claim-actions label { display:flex; flex-direction:column; font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; } .claim-actions input { background:var(--surface); border:1px solid var(--rule); color:var(--foreground,var(--bone)); font:inherit; margin-top:6px; padding:10px; }
.button.ghost { background:transparent; border:1px solid var(--rule); color:var(--foreground,var(--bone)); }
.claim-result { color:var(--mineral); display:block; font-size:13px; margin-top:10px; } .claim-result code { background:var(--surface); font-size:12px; padding:2px 6px; word-break:break-all; }
.dash-event { background:var(--band); border:1px solid var(--line); margin-top:14px; padding:20px 22px; } .dash-event-head { align-items:start; display:flex; gap:16px; justify-content:space-between; } .dash-event-head p { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.1em; margin:0; text-transform:uppercase; } .dash-event-head h3 { font-family:Anton,Impact,sans-serif; font-size:24px; letter-spacing:0; line-height:1; margin:6px 0 6px; text-transform:uppercase; } .dash-event-head span { color:var(--mineral); font-size:13px; } .dash-event-head a { border-bottom:1px solid var(--rule); }
.dash-form { display:grid; gap:12px 16px; grid-template-columns:1fr 1fr; margin-top:18px; } .dash-form label { display:flex; flex-direction:column; font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; } .dash-form label.wide { grid-column:1 / -1; } .dash-form input, .dash-form select { background:var(--surface); border:1px solid var(--rule); color:var(--foreground,var(--bone)); font:inherit; margin-top:6px; padding:10px; } .dash-form textarea { margin-top:6px; } .dash-actions { align-items:center; display:flex; gap:14px; grid-column:1 / -1; }
@media (max-width:760px) { .dash-form { grid-template-columns:1fr; } .claim-actions { align-items:stretch; flex-direction:column; } }

.dashboard-event-list .dash-event { display:block; }
.dashboard-event-list .dash-event .dash-event-head { display:flex; }
/* Riders + standings (2026-09-08) */
.sr-only { border:0; clip:rect(0 0 0 0); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px; }
.rider-search { display:flex; gap:10px; margin-top:28px; max-width:620px; }
.rider-search input { background:rgba(11,13,10,.55); border:1px solid rgba(241,238,228,.35); color:var(--foreground,var(--bone)); flex:1; font-family:"DM Sans"; font-size:17px; min-height:52px; outline:0; padding:0 16px; }
.rider-search input:focus { border-color:var(--lime); }
.rider-search button { flex:0 0 auto; min-height:52px; }
.rider-list { border-top:1px solid var(--rule); }
/* A–Z browse: every rider page gets an internal link (search alone shows 40). */
.az-list { border-top:1px solid var(--rule); margin-top:22px; }
.az-group { border-bottom:1px solid var(--rule); }
.az-group summary { align-items:baseline; cursor:pointer; display:flex; gap:14px; list-style:none; padding:14px 0; transition:padding .2s ease,background .2s ease; }
.az-group summary::-webkit-details-marker { display:none; }
.az-group summary:hover { background:var(--surface); padding-left:16px; padding-right:16px; }
.az-letter { font-family:Anton,Impact,sans-serif; font-size:30px; letter-spacing:0; line-height:1; min-width:34px; text-transform:uppercase; }
.az-count { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.az-group[open] summary { border-bottom:1px solid var(--rule); }
.az-names { columns:5 180px; column-gap:32px; list-style:none; margin:0; padding:18px 0 24px; }
.az-names li { break-inside:avoid; padding:0; }
.az-names a { color:var(--foreground,var(--bone)); display:block; font-size:14px; line-height:1.5; padding:3px 0; text-decoration:none; }
.az-names a:hover { color:var(--lime); text-decoration:underline; }
@media (max-width:760px) { .az-letter { font-size:24px; } .az-names { columns:2 130px; column-gap:18px; } .az-names a { font-size:13px; } .az-group summary:hover { background:transparent; padding-left:0; padding-right:0; } }
.rider-row { align-items:center; border-bottom:1px solid var(--rule); display:grid; gap:20px; grid-template-columns:1fr auto auto; min-height:92px; padding:16px 0; transition:background .2s ease,padding .2s ease; }
.rider-row:hover { background:var(--surface); padding-left:16px; padding-right:16px; }
.rider-row h3 { font-family:Anton,Impact,sans-serif; font-size:26px; letter-spacing:0; line-height:.92; margin:0 0 6px; text-transform:uppercase; }
.rider-row-main span { color:var(--muted); font-size:14px; }
.rider-row-stats { align-items:baseline; display:grid; gap:2px 12px; grid-template-columns:repeat(3,auto); text-align:right; }
.rider-row-stats b { font-family:Anton,Impact,sans-serif; font-size:24px; letter-spacing:0; line-height:1; }
.rider-row-stats small { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:10px; grid-row:2; letter-spacing:.1em; text-transform:uppercase; }
.rider-row > i { color:var(--mineral); font-size:28px; font-style:normal; }
.rider-hero h1 { word-break:break-word; }
.rider-hero > .container > p:not(.eyebrow) { color:var(--foreground,var(--bone)); font-family:"DM Sans",sans-serif; font-size:16px; letter-spacing:0; text-transform:none; }
.rider-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.button.ghost { background:transparent; border:1px solid rgba(241,238,228,.55); color:var(--foreground,var(--bone)); }
.button.is-on { background:var(--bone); color:var(--ink); }
.rider-stats { display:grid; gap:14px; grid-template-columns:repeat(6,1fr); }
.rider-stats article { background:var(--surface); border:0; border-top:2px solid var(--rule); padding:18px 4px; min-width:0; }
.rider-stats span { color:var(--muted); display:block; font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.rider-stats b { display:block; font-family:Anton,Impact,sans-serif; font-size:40px; letter-spacing:0; line-height:.95; margin-top:10px; }
.chip.active { background:var(--lime); border-color:var(--lime); color:var(--ink); }
.chip small { color:inherit; font-size:10px; margin-left:6px; opacity:.7; }
.chip-static { cursor:default; } .chip-static:hover { background:transparent; border-color:var(--rule); color:var(--foreground,var(--bone)); }
.rider-results .c-round b { display:block; font-weight:700; } .rider-results .c-round b a { border-bottom:1px solid transparent; } .rider-results .c-round b a:hover { border-color:currentColor; }
.rider-results .c-round span { color:var(--mineral); display:block; font-size:12px; margin-top:2px; } .rider-results .c-round span a { text-decoration:underline; }
.rider-results .c-date { font-family:"JetBrains Mono",monospace; font-size:13px; white-space:nowrap; }
.rider-results .c-class { min-width:140px; }
.rider-results td.c-opt b { font-family:Anton,Impact,sans-serif; font-size:20px; letter-spacing:0; } .rider-results td.c-opt small { color:var(--mineral); font-size:11px; }
.paper .rider-results .c-round span,.paper .rider-results .c-date { color:var(--ink-muted, #5c6158); }
.standings-table .c-rider a { border-bottom:1px solid transparent; } .standings-table .c-rider a:hover { border-color:currentColor; }
.board-table a.rider-name { display:inline; }
@media (max-width:760px) { .rider-search { display:grid; margin-top:22px; } .rider-row { gap:12px; grid-template-columns:1fr auto; padding:16px 0; } .rider-row:hover { background:transparent; padding-left:0; padding-right:0; } .rider-row > i { display:none; } .rider-row h3 { font-size:21px; } .rider-row-stats b { font-size:20px; } .rider-stats { gap:10px; grid-template-columns:repeat(3,1fr); } .rider-stats article { background:var(--surface); border:0; border-top:2px solid var(--rule); padding:18px 4px; min-width:0; } .rider-stats b { font-size:28px; } .rider-hero > .container > p:not(.eyebrow) { color:var(--foreground,var(--bone)); font-family:"DM Sans",sans-serif; font-size:16px; letter-spacing:0; text-transform:none; } }

/* Riders polish (2026-09-08 night) */
.rider-stats b { font-size:clamp(24px,2.4vw,40px); line-height:1; word-break:normal; }
.rider-stats article:nth-child(6) b { font-size:clamp(18px,1.6vw,26px); }
.button.is-on { background:var(--bone); border-color:var(--foreground,var(--bone)); color:var(--ink); }
.rider-actions .button.lime { background:var(--lime); border:0; color:var(--ink); }
.rider-actions .button.ghost:hover { background:rgba(241,238,228,.14); }
.rider-page .board-note a,.riders-page .board-note a { text-decoration:underline; }
.standings-table .c-pos { width:52px; } .standings-table td.c-pos b { font-family:Anton,Impact,sans-serif; font-size:20px; }
.standings-page .board + .board { margin-top:0; }
@media (max-width:760px){ .rider-stats article:nth-child(6) b { font-size:17px; } .rider-actions { gap:10px; } .rider-actions .button { flex:1; min-height:48px; } }
.event-riders { padding:64px 0 8px; }
.rider-chip-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.rider-chip { align-items:baseline; background:var(--surface); border:1px solid var(--line); display:inline-flex; gap:8px; min-height:44px; padding:9px 13px; transition:border-color .2s ease,background .2s ease; }
.rider-chip:hover { background:var(--band); border-color:var(--lime); }
.rider-chip b { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:600; }
.rider-chip.is-winner b { color:var(--lime); }
.rider-chip span { font-size:15px; font-weight:600; }
.rider-chip small { color:var(--mineral); font-size:11px; font-family:"JetBrains Mono",monospace; letter-spacing:.04em; text-transform:uppercase; }
.event-riders .board-note { margin-top:16px; } .event-riders .board-note a { text-decoration:underline; }
@media (max-width:760px){ .event-riders { padding:44px 0 4px; } .rider-chip { min-height:40px; padding:8px 10px; } .rider-chip span { font-size:14px; } .rider-chip small { display:none; } }

/* Store badges. Google's official asset only — their brand guidelines forbid redrawing it.
   The PNG includes the mandated clear space, so 62px tall renders a ~44px button. */
.store-badges { display:flex; flex-wrap:wrap; gap:10px; margin:26px 0 0; }
.store-badges a { display:inline-block; line-height:0; }
.store-badges img { height:62px; width:auto; }
/* Apple ships its badge with no built-in clear space, so it is sized to match the Play
   button optically (46px vs 62px including Google's padding) and given its own margin. */
.store-badges .badge-apple { height:46px; margin:8px 0; }
@media (max-width:760px) { .store-badges { margin-top:20px; } .store-badges img { height:54px; } .store-badges .badge-apple { height:40px; margin:7px 0; } }

/* ── Data-surface type scale ───────────────────────────────────────────────────
   The editorial pages set generous type (20-23px ledes), but the pages people
   actually sit and read — rider profiles, live boards, standings, the A-Z — had
   drifted down to 10-14px: an audit found 2,620 elements at 14px and 120 at 10px.
   Contrast was never the problem (everything passes AA, lowest pair 5.42:1); the
   sizes were. Small type on a near-black ground reads worse than on paper because
   of halation, so these floors are deliberately a step above the usual 12px.
   Nothing here is smaller than 12px. Kept as an override block so it is easy to
   see, tune, or lift out. */

/* Uppercase mono labels: the worst offenders, and the ones repeated most. */
.rider-row-stats small { font-size:12px; letter-spacing:.06em; }
.rider-stats span { font-size:12px; }
.board-table th { font-size:12px; }
.footer-links a { font-size:12px; }
.crumbs { font-size:12px; }
.c-opt small,.rider-results td.c-opt small { font-size:12px; }
.az-count { font-size:12px; }
/* Event pages sat below the floor too. The "VIA CAMPFIND UK" / "VIA BOOKING.COM"
   attributions and the PARTNER LINKS heading are affiliate disclosure — they should be
   the most legible small text on the page, not the least. */
.weekend-card small { font-size:12px; }
.weekend-disclosure b { font-size:12px; }
.entry-card small { color:var(--entry-muted,rgba(255,255,255,.5)); display:block; font-size:13px; line-height:1.55; margin-top:17px; }

/* Body-ish text on the data rows. */
.rider-row-main span { font-size:15px; line-height:1.5; }
.rider-meta { font-size:13px; }
.c-date { font-size:14px; }
.az-names a { font-size:15px; line-height:1.6; padding:4px 0; }

/* Table rows: single-line cells, so the win is breathing room, not leading. */
.board-table td { padding:13px 12px; }
.board-table { font-size:15px; }

@media (max-width:760px) {
  /* Hold the 12px floor on mobile — do not let these fall back to 10-11px. */
  .board-table { font-size:14px; }
  .board-table td { padding:11px 8px; }
  .az-names a { font-size:14px; }
  .rider-row-main span { font-size:14px; }
}

/* The results/standings tables are wider than a phone, which is fine — they scroll inside
   .board-table-wrap. But the wrapper sat in a grid/flex parent whose default min-width:auto
   let it grow to the table's width, so the whole PAGE scrolled sideways instead of just the
   table. (Pre-existing: production overflowed 578px into a 500px viewport before the type
   change.) min-width:0 lets the wrapper shrink so overflow-x actually takes effect. */
.board-table-wrap { max-width:100%; min-width:0; }
.board,.board-head,.board-title { min-width:0; }
.board-table { width:100%; }

/* Eight footer links in a non-wrapping flex row ran off the side of a phone — this was the
   actual source of the horizontal page scroll on rider pages, not the results table (which
   correctly scrolls inside its own wrapper). Pre-existing; the 11px→12px bump widened it. */
.footer-links { flex-wrap:wrap; row-gap:10px; }

/* ── Rider results: cards on mobile ────────────────────────────────────────────
   Seven columns in a 390px viewport squeezed the round name to five wrapped lines.
   Below 760px each row becomes a card instead: date and finishing position on the
   top line, the round and class beneath, then time / gap / points as a labelled
   strip. The <thead> is hidden, so the three interchangeable .c-opt cells carry
   data-label (set in scripts/bake-riders.mjs and site/rider.js) to name themselves. */
@media (max-width:760px) {
  .rider-results,
  .rider-results tbody,
  .rider-results tr,
  .rider-results td { display:block; width:auto; }
  .rider-results thead { display:none; }
  .rider-results { border-collapse:separate; }

  .rider-results tr {
    border:1px solid var(--ink-rule);
    display:grid;
    grid-template-columns:1fr auto;
    margin:0 0 10px;
    padding:13px 14px 11px;
  }
  .rider-results tr.is-leader { border-color:var(--lime); }
  .rider-results tr.is-out { opacity:.72; }
  .rider-results td { border:0; padding:0; }

  .rider-results .c-date { align-self:center; color:var(--muted); font-size:12px; grid-column:1; grid-row:1; }
  .rider-results td.c-opt[data-label="Pos"] { grid-column:2; grid-row:1 / span 2; justify-self:end; text-align:right; }
  .rider-results td.c-opt[data-label="Pos"] b { font-family:Anton,Impact,sans-serif; font-size:30px; line-height:1; }
  .rider-results td.c-opt[data-label="Pos"] small { color:var(--muted); display:block; font-size:12px; }

  .rider-results .c-round { grid-column:1; grid-row:2; margin-top:2px; }
  .rider-results .c-round b { font-size:16px; line-height:1.25; }
  .rider-results .c-round span { display:block; font-size:12px; line-height:1.45; margin-top:3px; }
  .rider-results .c-class { font-size:13px; grid-column:1 / -1; grid-row:3; margin-top:8px; }
  .rider-results .c-class .rider-meta { display:inline; margin-left:6px; }

  /* Time / Gap / Pts keep their own line, each naming itself from its data-label.
     None of them is dropped — a hidden gap or points column is missing data, not tidier. */
  .rider-results td.c-opt[data-label="Time"],
  .rider-results td.c-opt[data-label="Gap"],
  .rider-results td.c-opt[data-label="Pts"] { font-size:14px; }
  /* .c-opt is right-aligned for the desktop table; in card mode the strip reads left. */
  .rider-results td.c-opt[data-label="Time"] { border-top:1px solid var(--ink-rule); grid-column:1; grid-row:4; margin-top:10px; padding-top:9px; text-align:left; }
  .rider-results td.c-opt[data-label="Gap"] { border-top:1px solid var(--ink-rule); grid-column:2; grid-row:4; margin-top:10px; padding-left:16px; padding-top:9px; text-align:right; }
  .rider-results td.c-opt[data-label="Pts"] { grid-column:1 / -1; grid-row:5; margin-top:6px; text-align:left; }
  .rider-results td.c-opt[data-label="Time"]::before,
  .rider-results td.c-opt[data-label="Gap"]::before,
  .rider-results td.c-opt[data-label="Pts"]::before {
    color:var(--muted);
    content:attr(data-label);
    font-family:"JetBrains Mono",monospace;
    font-size:11px;
    letter-spacing:.08em;
    margin-right:7px;
    text-transform:uppercase;
  }
}

/* ── Live board + standings: cards on mobile ───────────────────────────────────
   Same problem as the rider results — a Pos/No/Rider table plus up to five stat
   columns does not fit a phone. Below 760px each row becomes a card: position and
   rider on the first line, then the stat cells wrap beneath as labelled pairs.
   Labels come from data-label, set by site/live-board.js (from the column
   definition, so it follows whatever the provider publishes),
   site/standings.js and scripts/bake-standings.mjs.

   Scoped with :not(.rider-results) — that table has its own bespoke card layout
   above and must not get both. */
@media (max-width:760px) {
  .board-table:not(.rider-results),
  .board-table:not(.rider-results) tbody,
  .board-table:not(.rider-results) tr,
  .board-table:not(.rider-results) td { display:block; width:auto; }
  .board-table:not(.rider-results) thead { display:none; }

  .board-table:not(.rider-results) tr {
    align-items:baseline;
    border:1px solid var(--ink-rule);
    display:flex;
    flex-wrap:wrap;
    margin:0 0 8px;
    padding:11px 13px;
  }
  .board-table:not(.rider-results) tr.is-leader { border-color:var(--lime); }
  .board-table:not(.rider-results) td { border:0; padding:0; }

  .board-table:not(.rider-results) td.c-pos {
    flex:0 0 auto; margin-right:12px; min-width:34px;
  }
  .board-table:not(.rider-results) td.c-pos b {
    font-family:Anton,Impact,sans-serif; font-size:26px; line-height:1;
  }
  .board-table:not(.rider-results) td.c-rider {
    flex:1 1 60%; font-size:16px; font-weight:700; min-width:0;
  }
  /* c-no sits before c-rider in the DOM, so margin-left:auto cannot push it to the end —
     the rider cell simply takes the remaining space. Keep it beside the number instead. */
  .board-table:not(.rider-results) td.c-no {
    color:var(--muted); flex:0 0 auto; font-size:13px; margin-right:8px;
  }
  .board-table:not(.rider-results) td.c-no::before { content:"#"; }

  /* The stat cells wrap onto their own lines, each naming itself. */
  .board-table:not(.rider-results) td.c-opt {
    flex:0 0 auto;
    font-size:14px;
    margin:9px 16px 0 0;
    text-align:left;
  }
  .board-table:not(.rider-results) td.c-opt::before {
    color:var(--muted);
    content:attr(data-label);
    font-family:"JetBrains Mono",monospace;
    font-size:11px;
    letter-spacing:.08em;
    margin-right:6px;
    text-transform:uppercase;
  }
  /* Nothing to name means nothing to prefix (a column with no label). */
  .board-table:not(.rider-results) td.c-opt:not([data-label])::before { content:none; }
}

/* Head-to-head list on rider pages. The record is the point, so it carries the weight. */
.rival-list { border-top:1px solid var(--rule); margin-top:20px; }
.rival-row { align-items:center; border-bottom:1px solid var(--rule); display:grid; gap:16px; grid-template-columns:1fr auto auto; padding:14px 0; }
.rival-row h3 { font-family:Anton,Impact,sans-serif; font-size:22px; letter-spacing:0; line-height:1; margin:0 0 5px; text-transform:uppercase; }
.rival-row span { color:var(--muted); font-size:13px; }
.rival-score { font-family:Anton,Impact,sans-serif; font-size:26px; letter-spacing:0; line-height:1; white-space:nowrap; }
.rival-score .up { color:var(--lime); } .rival-score .down { color:var(--coral); } .rival-score i { color:var(--mineral); font-size:15px; font-style:normal; margin:0 3px; }
.rival-row > i { color:var(--mineral); font-size:22px; font-style:normal; }
@media (max-width:760px) { .rival-row { gap:10px; grid-template-columns:1fr auto; } .rival-row > i { display:none; } .rival-row h3 { font-size:19px; } .rival-score { font-size:22px; } }

/* Standing chips: the position is the headline, the championship is the caption. */
.chip-standing { align-items:baseline; display:inline-flex; gap:7px; }
.chip-standing b { color:var(--lime); font-family:Anton,Impact,sans-serif; font-size:17px; letter-spacing:0; }
.chip-standing span { color:var(--mineral); }
.paper .chip-standing b { color:var(--blue); }

/* ===== Section tones + discipline tags (2026-09-10): same system as the app (theme.ts TONES/DISCIPLINE) ===== */
.disc-tag.disc-tag { display:inline-block; font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.08em; line-height:1; margin:0 9px 0 0; padding:4px 6px 3px; text-transform:uppercase; vertical-align:1px; }
.disc-tag.disc-enduro { background:var(--coral); color:var(--ink); }
.disc-tag.disc-motocross { background:var(--lime); color:var(--ink); }
.disc-tag.disc-adventure { background:var(--blue); color:var(--foreground,var(--bone)); }
.disc-tag.disc-track,.disc-tag.disc-trials { background:var(--bone); color:var(--ink); }
.paper .disc-tag.disc-track,.paper .disc-tag.disc-trials { background:var(--ink); color:var(--foreground,var(--bone)); }
.tone-cobalt { background:var(--blue); color:var(--foreground,var(--bone)); }
.tone-cobalt .eyebrow { color:var(--lime); }
.tone-cobalt p,.tone-cobalt li,.tone-cobalt small { color:rgba(241,238,228,.86); }
.tone-cobalt .partner-link { border-bottom-color:var(--lime); color:var(--foreground,var(--bone)); }
.tone-cobalt .offer-card { border-color:rgba(241,238,228,.34); }
.tone-cobalt .offer-card:not(.featured) small { color:rgba(241,238,228,.72); }
.tone-cobalt .partner-stats { border-top-color:var(--lime); }
.tone-cobalt .partner-stats div { border-bottom-color:rgba(241,238,228,.28); }
.tone-cobalt .partner-stats span { color:var(--lime); }
.tone-cobalt .partner-stats small { color:rgba(241,238,228,.86); }
.tone-cobalt .offer-card.featured p,.tone-cobalt .offer-card.featured li,.tone-cobalt .offer-card.featured small { color:rgba(241,238,228,.86); }
/* The home page's generic .featured rule (padding:0 0 96px) was also hitting this card and stripping its padding. */
.offer-card.featured { padding:29px; }
@media (max-width:760px) { .offer-card.featured { padding:25px 20px; } }
.calendar-controls.tone-cobalt { background:var(--blue); }
.calendar-controls.tone-cobalt .month-switcher button { border-color:rgba(241,238,228,.6); }

/* ===== Result cards (2026-09-11): share-a-finish story images, see result-card.js ===== */
.button.coral { background:var(--coral); color:var(--ink); border-color:var(--coral); }
.share-result { align-items:center; background:transparent; border:1px solid var(--rule); color:var(--foreground,var(--bone)); cursor:pointer; display:inline-flex; font:600 12px/1 "JetBrains Mono",monospace; gap:6px; letter-spacing:.08em; margin-top:10px; min-height:36px; padding:0 12px; text-transform:uppercase; }
.share-result:hover,.share-result:focus-visible { background:var(--lime); border-color:var(--lime); color:var(--ink); }
.card-modal { align-items:center; background:rgba(7,10,7,.82); display:flex; inset:0; justify-content:center; padding:16px; position:fixed; z-index:1000; }
.card-sheet { background:var(--band); border:1px solid var(--rule); max-height:calc(100svh - 32px); max-width:440px; overflow:auto; padding:20px; position:relative; width:100%; }
.card-sheet .eyebrow { color:var(--lime); margin:0 0 12px; }
.card-frame { align-items:center; aspect-ratio:9/16; background:var(--night); display:flex; justify-content:center; max-height:62svh; margin:0 auto; }
.card-frame img { display:block; height:100%; object-fit:contain; width:100%; }
.card-loading { color:var(--mineral); font:500 13px "JetBrains Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.card-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.card-actions .button { flex:1 1 auto; justify-content:center; margin:0; }
.card-actions .text-button { background:none; border:0; color:var(--foreground,var(--bone)); cursor:pointer; font:600 14px "DM Sans",sans-serif; padding:10px 4px; text-decoration:underline; }
.card-note { color:var(--mineral); flex-basis:100%; font-size:13px; margin:4px 0 0; }
.card-close { background:transparent; border:0; color:var(--foreground,var(--bone)); cursor:pointer; font-size:30px; height:44px; line-height:1; position:absolute; right:6px; top:4px; width:44px; }
.board-card-hint { color:var(--lime); display:block; font:600 12px "JetBrains Mono",monospace; letter-spacing:.06em; margin-top:6px; text-transform:uppercase; }

/* Rider page: "Get <rider>'s results by email" (rider.js → /api/follow). Sits in the dark hero. */
.follow-email { background:rgba(11,13,10,.62); border:1px solid rgba(241,238,228,.16); margin-top:22px; max-width:560px; padding:16px 16px 14px; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.follow-email > label { color:var(--foreground,var(--bone)); display:block; font-family:Anton,Impact,sans-serif; font-size:22px; line-height:1.05; margin:0 0 12px; text-transform:uppercase; }
.follow-email .fe-row { display:grid; gap:8px; grid-template-columns:1fr auto; }
.follow-email input[type=email] { background:rgba(241,238,228,.08); border:1px solid rgba(241,238,228,.28); color:var(--foreground,var(--bone)); font-family:"DM Sans",Arial,sans-serif; font-size:16px; min-height:48px; min-width:0; padding:0 14px; }
.follow-email input[type=email]::placeholder { color:rgba(241,238,228,.55); }
.follow-email input[type=email]:focus { border-color:var(--lime); outline:0; }
.follow-email .button { background:var(--lime); border:0; color:var(--ink); margin:0; min-height:48px; padding:0 18px; white-space:nowrap; }
.follow-email .fe-small { color:var(--mineral); font-family:"DM Sans",Arial,sans-serif; font-size:12px; letter-spacing:0; line-height:1.45; margin:10px 0 0; text-transform:none; }
.follow-email .fe-small a { color:var(--foreground,var(--bone)); }
.follow-email .fe-status { border-left:3px solid var(--lime); color:var(--foreground,var(--bone)); font-family:"DM Sans",Arial,sans-serif; font-size:14px; letter-spacing:0; line-height:1.45; margin:12px 0 0; padding-left:12px; text-transform:none; }
.follow-email .fe-status:empty { display:none; }
.follow-email.is-done .fe-row, .follow-email.is-done .fe-small { display:none; }
.follow-email.is-done .fe-status { margin-top:0; }
@media (max-width:480px) { .follow-email .fe-row { grid-template-columns:1fr; } }

/* Calendar: real map (event-map.js — MapLibre + OpenFreeMap). Replaces the illustrative grid. */
.map-panel { background:var(--night); }
.map-panel::before, .map-panel::after { display:none; }
.map-panel .dh-map, .map-panel .dh-map.maplibregl-map { height:100%; inset:0; position:absolute; width:100%; }  /* maplibre-gl.css sets position:relative */
.dh-map .maplibregl-ctrl.maplibregl-ctrl-attrib, .dh-map .maplibregl-ctrl-attrib.maplibregl-compact-show { background:rgba(20,26,22,.85); color:var(--mineral); font-size:10px; }
.dh-map .maplibregl-ctrl-attrib a { color:var(--foreground,var(--bone)); }
.dh-map .maplibregl-ctrl-attrib-button { background-color:var(--foreground,var(--bone)); border-radius:50%; }
@media (min-width:761px) { .map-panel .map-card { right:auto; width:min(440px, calc(100% - 32px)); } }
.dh-map .maplibregl-ctrl-group { background:var(--surface); border:1px solid var(--rule); border-radius:0; }
.dh-map .maplibregl-ctrl-group button + button { border-top:1px solid var(--rule); }
.dh-map .maplibregl-ctrl-group .maplibregl-ctrl-icon { filter:invert(1); }
.dh-map .maplibregl-cooperative-gesture-screen { background:rgba(11,13,10,.72); color:var(--foreground,var(--bone)); font-family:"DM Sans",Arial,sans-serif; }
.dh-pin { align-items:center; background:var(--bone); border:2px solid var(--night); border-radius:50%; box-shadow:0 0 0 2px rgba(241,238,228,.2), 0 4px 12px rgba(0,0,0,.45); cursor:pointer; display:flex; height:30px; justify-content:center; padding:0; transition:transform .15s; width:30px; }
.dh-pin i { background:var(--night); border-radius:50%; height:8px; width:8px; }
.dh-pin b { color:var(--ink); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:700; }
.dh-pin.disc-enduro { background:var(--coral); }
.dh-pin.disc-motocross { background:var(--lime); }
.dh-pin.disc-adventure { background:var(--blue); }
.dh-pin.disc-adventure b { color:var(--foreground,var(--bone)); }
.dh-pin.is-past { opacity:.55; }
.dh-pin:hover, .dh-pin:focus-visible, .dh-pin.active { opacity:1; outline:0; transform:scale(1.22); z-index:2; }
.dh-pin.active { box-shadow:0 0 0 3px var(--bone), 0 6px 16px rgba(0,0,0,.5); }
.map-card { max-height:58%; overflow:auto; }
.map-card p .disc-tag { margin-right:8px; }
.map-card-list { list-style:none; margin:8px 0 0; padding:0; }
.map-card-list li + li { border-top:1px solid var(--rule); }
.map-card-list a { border:0; display:flex; gap:12px; justify-content:space-between; margin:0; padding:9px 0; text-transform:none; }
.map-card-list b { font-family:"DM Sans",Arial,sans-serif; font-size:14px; letter-spacing:0; }
.map-card-list span { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:11px; white-space:nowrap; }
.map-card-actions { display:flex; flex-wrap:wrap; gap:18px; }
.map-panel.is-offline .dh-map { background:var(--night); }

/* Event page: THE VENUE (event-map.js, single pin). */
.venue-block { border-top:1px solid var(--rule); margin-top:26px; padding-top:18px; }
.venue-head { align-items:baseline; display:flex; flex-wrap:wrap; gap:8px 18px; justify-content:space-between; margin:8px 0 12px; }
.venue-head h3 { font-family:Anton,Impact,sans-serif; font-size:24px; letter-spacing:0; line-height:1.05; margin:0; text-transform:uppercase; }
.venue-directions { border-bottom:2px solid var(--lime); font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.05em; padding-bottom:3px; text-transform:uppercase; white-space:nowrap; }
.map-panel.venue-panel { margin-top:0; min-height:0; height:280px; }
.venue-note { color:var(--mineral); display:block; font-size:12px; margin-top:8px; }

/* /live standby: today's (or tomorrow's) timed rounds before the first class is on the clock. */
.on-deck .eyebrow .live-pill { margin:0; }
.deck-list { border-top:1px solid var(--rule); margin-top:16px; }
.deck-row { align-items:center; border-bottom:1px solid var(--rule); display:flex; gap:16px; justify-content:space-between; padding:14px 0; }
.deck-row p { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.08em; margin:0 0 4px; }
.deck-row h3 { font-family:Anton,Impact,sans-serif; font-size:24px; letter-spacing:0; line-height:1.05; margin:0; text-transform:uppercase; }
.deck-row span { color:var(--mineral); font-size:13px; }
.deck-foot { margin:14px 0 0; }
.deck-foot a { border-bottom:2px solid var(--lime); font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.05em; padding-bottom:3px; text-transform:uppercase; }

/* ---------------------------------------------------------------- Pro, account, the gate */
.pro-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:26px }
.pro-hero-note { font-size:.82rem; letter-spacing:.04em; opacity:.72 }
.pro-lede { max-width:62ch; font-size:1.02rem; line-height:1.6; margin:0 0 28px }
.pro-compare { padding-block:clamp(48px,7vw,88px) }
.pro-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch }
.pro-table { width:100%; min-width:520px; border-collapse:collapse; font-size:.95rem }
.pro-table th, .pro-table td { text-align:left; padding:14px 16px; border-bottom:1px solid rgba(11,13,10,.12); vertical-align:top }
.pro-table thead th { font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; opacity:.6; border-bottom-width:2px; border-bottom-color:rgba(11,13,10,.3) }
.pro-table tbody th { font-weight:600 }
.pro-table td { opacity:.78 }
.pro-table .is-pro { background:rgba(212,242,46,.22); opacity:1 }
.pro-table thead .is-pro { background:#D4F22E; opacity:1; color:#0B0D0A; font-weight:800 }
.pro-why { padding-block:clamp(48px,7vw,88px) }
.pro-why-grid { display:grid; gap:28px; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); margin-top:26px }
.pro-why-grid h3 { font-size:1.15rem; line-height:1.25; margin:0 0 10px; letter-spacing:-.01em }
.pro-why-grid p { margin:0; line-height:1.6; opacity:.8 }
.plan-grid-two { grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) }
.plan button.button { width:100%; border:0; cursor:pointer; font:inherit }
.plan button.button[disabled] { opacity:.55; cursor:default }
.pro-signin { margin-top:44px; border:2px solid #0B0D0A; padding:clamp(22px,4vw,34px) }
.pro-signin h3 { font-size:1.35rem; margin:6px 0 10px; letter-spacing:-.01em }
.pro-signin p { margin:0 0 18px; max-width:54ch; line-height:1.6; opacity:.82 }
.pro-signin form { display:flex; flex-wrap:wrap; gap:10px }
.pro-signin input[type=email] { flex:1 1 220px; min-width:0; padding:13px 14px; border:2px solid #0B0D0A; background:#fff; font:inherit; color:#0B0D0A }
.pro-signin input[type=email]:focus-visible { outline:3px solid #123EBB; outline-offset:2px }
.pro-signin button { border:0; cursor:pointer; font:inherit }
.hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0 }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0 }
.form-note { margin-top:14px; font-size:.88rem; line-height:1.5; min-height:1.2em }
.form-note.is-good { color:#1c6b2e; font-weight:600 }
.form-note.is-warn { color:#A8341C; font-weight:600 }
.account-main { padding-block:clamp(40px,6vw,72px) }
.account-head h1 { font-size:clamp(2rem,5vw,3rem); letter-spacing:-.02em; margin:6px 0 8px }
.account-head p { opacity:.75 }
.account-body { display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); margin-top:32px }
.account-body[hidden] { display:none }
/* The card is white; the page around it is ink. Without an explicit colour the text inherits
   the page's bone (#F1EEE4) and renders at ~1.1:1 on white — the whole signed-in account page
   was unreadable. */
.account-card { border:2px solid #0B0D0A; padding:22px; background:#fff; color:#0B0D0A }
.account-card a { color:#0B0D0A }
.account-card input[type=email], .account-card input[type=text] {
  width:100%; max-width:26rem; box-sizing:border-box; min-height:48px; padding:12px 14px;
  border:2px solid #0B0D0A; background:#fff; color:#0B0D0A; font:inherit; font-size:1rem; border-radius:0 }
.account-card input:focus-visible { outline:3px solid #D4F22E; outline-offset:2px }
.account-card h2 { font-size:1.2rem; margin:6px 0 10px; letter-spacing:-.01em }
.account-card p { margin:0 0 14px; line-height:1.55; opacity:.82 }
.account-card p:last-child { margin-bottom:0 }
.account-card button.button { border:0; cursor:pointer; font:inherit }

/* The locked rows on a live board: honest about what is hidden, and how much. */
.board-locked { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px;
  margin-top:10px; padding:14px 16px; border:2px dashed rgba(11,13,10,.45); background:rgba(212,242,46,.16) }
.board-locked p { margin:0; font-size:.9rem; line-height:1.45 }
.board-locked b { font-weight:800 }
.board-locked a { font-weight:800; white-space:nowrap }
@media (prefers-color-scheme: dark) {
  .board-locked { border-color:rgba(241,238,228,.4) }
}

/* The Pro column is the one that sells the page, so on a phone it must fit on screen, not sit
   off the right edge behind a scrollbar. Tighten instead of scrolling. */
@media (max-width: 640px) {
  /* Scoped to the three-column Free/Pro comparison only. The brands table has seven columns and
     must keep its min-width and scroll horizontally instead of being squeezed into three. */
  .pro-compare .pro-table { min-width:0; font-size:.86rem; table-layout:fixed }
  .pro-compare .pro-table th, .pro-compare .pro-table td { padding:11px 9px; overflow-wrap:anywhere }
  .pro-compare .pro-table thead th:first-child { width:44% }
  .pro-compare .pro-table thead th:nth-child(2) { width:24% }
  .pro-compare .pro-table thead th:nth-child(3) { width:32% }
  .brands-table { font-size:.82rem }
  .brands-table th, .brands-table td { padding:10px 8px; white-space:nowrap }
}

/* ---------------------------------------------------------------- Get Backed */
.backing-how { padding-block:clamp(44px,6vw,80px) }
.backing-list-section { padding-block:clamp(44px,6vw,80px) }
.backing-filters { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 26px }
.backing-filters input { flex:1 1 200px; min-width:0; padding:12px 14px; border:2px solid #0B0D0A; background:#fff; font:inherit; color:inherit }
.backing-filters input:focus-visible { outline:3px solid #123EBB; outline-offset:2px }
.backing-filters button { border:0; cursor:pointer; font:inherit }
.backing-grid { display:grid; gap:18px; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)) }
.backing-card { position:relative; border:2px solid #0B0D0A; background:#fff; padding:22px; display:flex; flex-direction:column; gap:10px }
.backing-card.is-featured { background:#D4F22E }
.backing-card h3 { font-size:1.25rem; margin:0; letter-spacing:-.01em }
.backing-card h3 a { text-decoration:none; color:inherit }
.backing-card h3 a:hover { text-decoration:underline }
.backing-headline { margin:0; line-height:1.5; opacity:.85 }
.backing-meta { margin:0; font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; opacity:.6 }
.backing-figs { display:flex; flex-wrap:wrap; gap:16px; margin:4px 0 0 }
.backing-figs div { margin:0 }
.backing-figs dt { font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; opacity:.6 }
.backing-figs dd { margin:2px 0 0; font-weight:800; font-size:1.05rem }
.backing-card .button { margin-top:auto; text-align:center }
.backing-pending { display:block; font-size:.78rem; opacity:.65; line-height:1.4 }
.backing-empty { grid-column:1/-1; border:2px dashed rgba(11,13,10,.4); padding:clamp(24px,5vw,40px); text-align:center }
.backing-empty h3 { font-size:1.4rem; margin:6px 0 10px }
.backing-empty p { max-width:46ch; margin:0 auto 14px; line-height:1.6; opacity:.8 }
.backing-loading { grid-column:1/-1; opacity:.6; padding:18px 0 }
.backing-claim { padding-block:clamp(44px,6vw,80px) }
.backing-claim form { display:flex; flex-wrap:wrap; gap:10px; max-width:560px }
.backing-claim input { flex:1 1 240px; min-width:0; padding:13px 14px; border:2px solid #0B0D0A; background:#fff; font:inherit; color:inherit }
.backing-claim input:focus-visible { outline:3px solid #123EBB; outline-offset:2px }
.backing-claim button { border:0; cursor:pointer; font:inherit }
.backing-find { margin-top:16px; font-size:.9rem }

/* the pitch page */
.pitch-head { padding-block:clamp(36px,5vw,64px) }
.pitch-head h1 { font-size:clamp(2.2rem,6vw,3.6rem); letter-spacing:-.02em; margin:6px 0 10px; line-height:.98 }
.pitch-headline { font-size:1.15rem; line-height:1.5; max-width:56ch; opacity:.9 }
.pitch-meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px }
.pitch-meta span { border:2px solid currentColor; padding:5px 10px; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700 }
.pitch-layout { display:grid; gap:clamp(24px,4vw,44px); grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); align-items:start; padding-block:clamp(32px,5vw,60px) }
@media (max-width: 860px) { .pitch-layout { grid-template-columns:1fr } }
.pitch-main > * + * { margin-top:clamp(26px,4vw,42px) }
.pitch-aside { position:sticky; top:20px; border:2px solid #0B0D0A; background:#fff; padding:22px; display:grid; gap:14px }
.pitch-progress { height:10px; background:rgba(11,13,10,.12); overflow:hidden }
.pitch-progress i { display:block; height:100%; background:#D4F22E }
.pitch-amounts { display:flex; flex-wrap:wrap; gap:8px }
.pitch-amounts button { flex:1 1 68px; padding:11px 6px; border:2px solid #0B0D0A; background:transparent; font:inherit; font-weight:700; cursor:pointer }
.pitch-amounts button[aria-pressed=true] { background:#0B0D0A; color:#F1EEE4 }
.pitch-fee { font-size:.8rem; line-height:1.45; opacity:.75 }
.pitch-packages { display:grid; gap:14px }
.pitch-package { border:2px solid #0B0D0A; padding:18px; display:grid; gap:8px; background:#fff }
.pitch-package h4 { margin:0; font-size:1.1rem }
.pitch-package .price { font-weight:800; font-size:1.2rem }
.pitch-package .sold-out { opacity:.6; font-size:.82rem }
.pitch-supporters { display:grid; gap:10px }
.pitch-supporter { border-left:4px solid #D4F22E; padding:8px 0 8px 12px }
.pitch-supporter b { display:block }
.pitch-supporter p { margin:2px 0 0; opacity:.8; line-height:1.45 }
.pitch-notready { border:2px dashed rgba(11,13,10,.45); padding:16px; font-size:.9rem; line-height:1.5 }
@media (max-width: 560px) {
  /* On a phone the two filter inputs and the button were sharing rows unevenly and the button
     floated against the second field. Stack them: each control gets its own full-width row. */
  .backing-filters { flex-direction:column; align-items:stretch }
  .backing-filters input, .backing-filters button { flex:none; width:100% }
  .backing-claim form { flex-direction:column; align-items:stretch }
  .backing-claim input, .backing-claim button { flex:none; width:100% }
}

/* .ink-button paints bone-on-bone, which vanishes inside a .paper section — give the filter
   button the dark treatment so it reads as a button at all. */
.backing-filters button { background:#0B0D0A; color:#F1EEE4; min-height:50px }
.backing-filters button:hover { background:#123EBB }
/* The FEATURED flag is absolutely positioned and was landing on the rider's name. */
.backing-card .plan-flag { position:absolute; top:-2px; left:-2px; background:#0B0D0A; color:#D4F22E;
  font-size:.62rem; letter-spacing:.16em; padding:5px 9px; font-weight:800 }
.backing-card.is-featured { padding-top:34px }
.backing-card .button { background:#0B0D0A; color:#F1EEE4 }
.backing-card .button:hover { background:#123EBB }

/* ---------------------------------------------------------------- rider editor */
.editor-main { padding-block:clamp(32px,5vw,60px) }
.editor-head h1 { font-size:clamp(2rem,5vw,3rem); letter-spacing:-.02em; margin:6px 0 8px }
.editor-sub { opacity:.78 }
.editor-grid { display:grid; gap:clamp(18px,3vw,28px); grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); align-items:start; margin-top:clamp(24px,4vw,40px) }
@media (max-width: 900px) { .editor-grid { grid-template-columns:1fr } }
.editor-col { display:grid; gap:clamp(18px,3vw,28px); align-content:start }
.editor-card { border:2px solid #0B0D0A; background:#fff; padding:clamp(18px,3vw,26px) }
.editor-card.is-good { background:#D4F22E }
.editor-card.is-warn { border-style:dashed }
.editor-card h2 { font-size:1.3rem; margin:6px 0 12px; letter-spacing:-.01em }
.editor-card > p { line-height:1.6; margin:0 0 14px; opacity:.85 }
.editor-card label { display:block; font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; font-weight:700; opacity:.65; margin:14px 0 5px }
.editor-card input, .editor-card textarea, .editor-card select {
  width:100%; padding:11px 12px; border:2px solid #0B0D0A; background:#F1EEE4; font:inherit; color:inherit }
.editor-card textarea { line-height:1.55; resize:vertical }
.editor-card input:focus-visible, .editor-card textarea:focus-visible, .editor-card select:focus-visible { outline:3px solid #123EBB; outline-offset:2px }
.editor-card button.button { border:0; cursor:pointer; font:inherit; margin-top:6px }
.editor-row { display:grid; gap:12px; grid-template-columns:1fr 1fr }
@media (max-width: 520px) { .editor-row { grid-template-columns:1fr } }
.editor-table-wrap { overflow-x:auto; margin:8px 0 18px }
.editor-table { width:100%; border-collapse:collapse; font-size:.9rem; min-width:460px }
.editor-table th, .editor-table td { text-align:left; padding:10px 8px; border-bottom:1px solid rgba(11,13,10,.15); vertical-align:top }
.editor-table thead th { font-size:.66rem; letter-spacing:.13em; text-transform:uppercase; opacity:.6 }
.editor-table tr.is-off { opacity:.5 }
.editor-table small { opacity:.7 }
.linkish { background:none; border:0; padding:0; font:inherit; font-weight:700; text-decoration:underline; cursor:pointer; color:inherit }
.editor-pkg-form { border-top:2px solid rgba(11,13,10,.15); padding-top:16px }
.editor-enquiries { list-style:none; margin:0; padding:0; display:grid; gap:14px }
.editor-enquiries li { border-left:4px solid #D4F22E; padding-left:12px; font-size:.92rem; line-height:1.5 }
.editor-enquiries p { margin:6px 0; opacity:.85 }
.editor-enquiries small { opacity:.6 }

/* The editor sits on a dark page, so a white card must set its own ink colour — otherwise every
   label, heading and typed value inherits bone-on-white and disappears. And the packages table's
   min-width was stretching its grid column past the viewport: grid items need min-width:0. */
.editor-col { min-width:0 }
.editor-card { color:#0B0D0A }
.editor-card h2, .editor-card p, .editor-card label, .editor-card small, .editor-card a { color:#0B0D0A }
.editor-card .eyebrow { color:#0B0D0A; opacity:.6 }
.editor-card input, .editor-card textarea, .editor-card select { color:#0B0D0A; background:#F1EEE4 }
.editor-card input::placeholder, .editor-card textarea::placeholder { color:#0B0D0A; opacity:.42 }
.editor-card.is-good, .editor-card.is-good h2, .editor-card.is-good p { color:#0B0D0A }
.editor-card .button.lime { background:#0B0D0A; color:#D4F22E }
.editor-card .button.ink-button { background:#0B0D0A; color:#F1EEE4 }
.editor-card .button:hover { background:#123EBB; color:#F1EEE4 }
.editor-table-wrap { max-width:100% }
/* The packages table declares min-width:460px. Without min-width:0 on the card and its scroll
   wrapper, that min-content leaks upward and stretches every card in the column past its track. */
.editor-card { min-width:0 }
.editor-table-wrap { min-width:0 }

/* ---------------------------------------------------------------- backing block on rider pages */
.rider-backing { padding-block:clamp(34px,5vw,60px) }
.rider-backing .backing-headline { max-width:60ch; font-size:1.05rem; line-height:1.55; margin:0 0 18px }
.backing-prompt { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:22px;
  border:2px dashed currentColor; padding:clamp(20px,3.5vw,30px) }
.backing-prompt h2 { font-size:clamp(1.4rem,3vw,2rem); margin:6px 0 10px; letter-spacing:-.01em }
.backing-prompt p { max-width:58ch; line-height:1.6; margin:0; opacity:.85 }
.backing-prompt .button { flex:0 0 auto }
.rider-backing-goal { margin:0 0 18px; max-width:460px }
.rider-backing-goal p { margin:8px 0 0; font-size:.9rem; opacity:.8 }
.rider-backing-packages { list-style:none; margin:0 0 20px; padding:0; display:grid; gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr)) }
.rider-backing-packages li { border:2px solid currentColor; padding:14px; display:grid; gap:4px }
.rider-backing-packages b { font-size:1rem }
.rider-backing-packages span { font-weight:800; opacity:.8 }
.pitch-aside .amt-monthly { display:flex; gap:9px; align-items:flex-start; font-size:.88rem; line-height:1.4; cursor:pointer }
.pitch-aside .amt-monthly input { width:auto; margin-top:2px; flex:0 0 auto }
.pitch-aside .pitch-fee a { font-weight:700 }
.pro-other-door { margin-top:34px; border:2px solid #D4F22E; padding:clamp(20px,3.5vw,30px) }
.pro-other-door h3 { font-size:1.3rem; margin:6px 0 10px; letter-spacing:-.01em }
.pro-other-door p { max-width:60ch; line-height:1.6; margin:0 0 14px }
.pro-other-door p:last-child { margin-bottom:0 }
/* Same trap as the editor: these cards set a white background on a dark page, so they must set
   their own ink colour or every word inherits bone and disappears. */
.pitch-package, .pitch-package h4, .pitch-package p, .pitch-package .price, .pitch-package small { color:#0B0D0A }
.pitch-package .button { background:#0B0D0A; color:#F1EEE4; border:0 }
.pitch-package .button:hover { background:#123EBB }
.pitch-aside, .pitch-aside h3, .pitch-aside p, .pitch-aside label, .pitch-aside .eyebrow { color:#0B0D0A }
.pitch-aside .eyebrow { opacity:.6 }
.pitch-aside input { width:100%; padding:11px 12px; border:2px solid #0B0D0A; background:#F1EEE4; color:#0B0D0A; font:inherit }
.pitch-aside input::placeholder { color:#0B0D0A; opacity:.45 }
.pitch-aside .button.lime { background:#0B0D0A; color:#D4F22E; border:0; width:100%; cursor:pointer }
.pitch-aside .button.lime:hover { background:#123EBB; color:#F1EEE4 }
.pitch-notready { color:#0B0D0A }

/* ---------------------------------------------------------------- brands */
.brands-lede { padding-block:clamp(40px,6vw,72px) }
.brands-table tbody th { font-weight:700 }
.brands-table td { font-variant-numeric:tabular-nums }
.brands-table tr.is-thin { opacity:.75 }
.brands-table abbr { font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; border:1px solid currentColor;
  padding:1px 5px; margin-left:6px; text-decoration:none; vertical-align:middle; opacity:.8 }
.brands-note { margin-top:16px; font-size:.88rem; line-height:1.55; opacity:.72; max-width:70ch }
.brands-why { padding-block:clamp(44px,6vw,80px) }
.brands-product { padding-block:clamp(44px,6vw,80px) }
.brands-enquire { padding-block:clamp(44px,6vw,80px) }
.brands-form { max-width:720px; border:2px solid currentColor; padding:clamp(20px,3.5vw,30px); margin-top:22px }
.brands-form label { display:block; font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; font-weight:700; opacity:.65; margin:14px 0 5px }
.brands-form input, .brands-form textarea, .brands-form select {
  width:100%; padding:11px 12px; border:2px solid #0B0D0A; background:#fff; color:#0B0D0A; font:inherit }
.brands-form input:focus-visible, .brands-form textarea:focus-visible, .brands-form select:focus-visible { outline:3px solid #123EBB; outline-offset:2px }
.brands-form button { border:0; cursor:pointer; font:inherit; margin-top:8px }

/* ---------------------------------------------------------------- organiser checkout */
.plan button.button { width:100%; border:0; cursor:pointer; font:inherit }
.plan-alt { display:block; margin-top:10px; font-size:.85rem; font-weight:700 }
.addon-price button.button { border:0; cursor:pointer; font:inherit }
.featured-picker { border:2px solid #0B0D0A; background:#fff; color:#0B0D0A; padding:clamp(20px,3.5vw,30px); margin-top:22px; display:grid; gap:12px; max-width:620px }
.featured-picker[hidden] { display:none }
.featured-picker h3 { font-size:1.3rem; margin:4px 0 0; letter-spacing:-.01em; color:#0B0D0A }
.featured-picker p { margin:0; line-height:1.55; color:#0B0D0A; opacity:.85 }
.featured-picker .eyebrow { color:#0B0D0A; opacity:.6 }
.featured-picker select, .featured-picker input { width:100%; padding:11px 12px; border:2px solid #0B0D0A; background:#F1EEE4; color:#0B0D0A; font:inherit }
.featured-picker select:focus-visible, .featured-picker input:focus-visible { outline:3px solid #123EBB; outline-offset:2px }
.featured-picker button { border:0; cursor:pointer; font:inherit; background:#0B0D0A; color:#D4F22E }
.featured-picker button:hover { background:#123EBB; color:#F1EEE4 }
.featured-picker .form-note { color:#0B0D0A }

/* ---------------------------------------------------------------- race photos */
.rider-photos { padding-block:clamp(34px,5vw,60px) }
.rider-photos-lede { max-width:62ch; line-height:1.6; margin:0 0 22px; opacity:.85 }
.photo-grid { display:grid; gap:16px; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)) }
.photo-card { margin:0; border:2px solid currentColor; background:#fff; color:#0B0D0A; display:flex; flex-direction:column }
.photo-card img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; background:#0B0D0A }
.photo-card figcaption { display:grid; gap:8px; padding:14px; align-content:start }
.photo-card figcaption span { font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; opacity:.65 }
.photo-card figcaption b { font-size:1.15rem; font-weight:800 }
.photo-card .button { width:100%; border:0; cursor:pointer; font:inherit; background:#0B0D0A; color:#D4F22E; justify-content:center }
.photo-card .button:hover { background:#123EBB; color:#F1EEE4 }
.photo-card small { opacity:.6; font-size:.8rem }

/* ---------------------------------------------------------------- photographer uploader */
.tog-match { margin:10px 0 4px; padding:11px 12px; border:2px dashed rgba(11,13,10,.35); background:#F1EEE4; color:#0B0D0A; font-size:.92rem; line-height:1.45 }
.tog-match.is-good { border-style:solid; border-color:#0B0D0A; background:#D4F22E }
.tog-match.is-warn { border-style:solid; border-color:#FF4C2E; background:#fff }
.tog-match small { opacity:.7 }
.tog-thumb { width:56px; height:38px; object-fit:cover; display:block; background:#0B0D0A }
.photographer-page .editor-table td:first-child { width:64px }

/* ---------------------------------------------------------------- /tracks — the UK track map (2026-09-14) */
.tracks-head { padding:64px 0 40px; }
.tracks-head h1 { font-family:Anton,Impact,sans-serif; font-size:clamp(52px,7.5vw,104px); letter-spacing:0; line-height:.92; margin:16px 0 20px -4px; text-transform:uppercase; }
.tracks-lede { font-size:19px; line-height:1.45; margin:0; max-width:620px; }
.tracks-lede b { color:var(--lime); font-weight:700; }
.tracks-search { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; max-width:760px; }
.tracks-search input { background:rgba(11,13,10,.55); border:1px solid rgba(241,238,228,.35); color:var(--foreground,var(--bone)); flex:1 1 260px; font-family:"DM Sans",Arial,sans-serif; font-size:17px; min-height:52px; outline:0; padding:0 16px; }
.tracks-search input:focus { border-color:var(--lime); }
.tracks-search .button { min-height:52px; padding:0 18px; font-size:15px; }
.tracks-search .button.bone { background:var(--bone); color:var(--ink); }
.tracks-search .button.bone:disabled { opacity:.6; }
.tracks-status { min-height:24px; padding:14px 0 0; color:rgba(241,238,228,.85); }
.tracks-tool { padding:28px 0 40px; }
.tracks-toolbar { align-items:center; display:flex; flex-wrap:wrap; gap:14px 20px; justify-content:space-between; margin-bottom:18px; }
.tracks-toolbar .filter-row { margin-top:0; }
.tracks-toolbar-right { align-items:center; display:flex; gap:10px; }
.tracks-select { appearance:none; background:var(--band) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23F1EEE4' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center; border:1px solid var(--rule); color:var(--foreground,var(--bone)); font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.04em; min-height:39px; padding:0 34px 0 12px; text-transform:uppercase; }
.tracks-layout { display:grid; gap:24px; grid-template-columns:1.25fr .9fr; align-items:start; }
.tracks-map-panel { background:var(--night); border:1px solid var(--rule); min-height:620px; overflow:hidden; position:sticky; top:16px; }
.tracks-map-panel .dh-map { height:100%; inset:0; position:absolute; width:100%; }
.tracks-map-panel .dh-map.mk-map-view { position:absolute; }
.tracks-fit { background:var(--surface); border:1px solid var(--rule); color:var(--foreground,var(--bone)); font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.08em; right:12px; min-height:34px; padding:0 12px; position:absolute; text-transform:uppercase; top:12px; z-index:3; }
.tracks-map-panel .is-osm + .tracks-fit { top:82px; right:10px; }
.tracks-card { max-height:70%; }
.tracks-card h2 { padding-right:34px; }
.tracks-card-close { background:transparent; border:1px solid var(--rule); color:var(--foreground,var(--bone)); font-size:20px; height:32px; line-height:1; position:absolute; right:12px; top:12px; width:32px; }
.track-distance { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.track-note { display:block; margin-top:8px; }
.track-facts { display:grid; gap:8px 16px; grid-template-columns:1fr 1fr; margin:12px 0 0; }
.track-facts div { border-top:1px solid var(--rule); padding-top:8px; }
.track-facts dt { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.track-facts dd { color:var(--foreground,var(--bone)); font-size:13px; margin:2px 0 0; }
.track-claim { border-bottom:2px solid var(--coral) !important; }
.tracks-list-head { margin-bottom:14px; }
.tracks-list-head h2 { font-size:clamp(24px,3vw,34px); }
.tracks-list { border-top:1px solid var(--rule); }
.track-row { align-items:center; border-bottom:1px solid var(--rule); display:grid; gap:16px; grid-template-columns:14px 1fr auto; min-height:86px; padding:14px 0; transition:background .2s ease,padding .2s ease; }
.track-row:hover, .track-row.active { background:var(--surface); padding-left:12px; padding-right:12px; }
.track-row.active { box-shadow:inset 3px 0 0 var(--lime); }
.track-row-pin { background:var(--lime); border:2px solid var(--night); border-radius:50%; box-shadow:0 0 0 1px rgba(241,238,228,.25); height:14px; width:14px; }
.track-row-main p { margin:0 0 6px; }
.track-row-main h3 { font-family:Anton,Impact,sans-serif; font-size:22px; letter-spacing:0; line-height:.95; margin:0; text-transform:uppercase; }
.track-row-main > span { color:var(--muted); display:block; font-size:13px; margin-top:5px; }
.track-unnamed { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:10px; font-weight:600; letter-spacing:.1em; }
.track-row-side { align-items:center; display:flex; gap:12px; }
.track-row-side b { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:13px; white-space:nowrap; }
.track-row-side i { color:var(--mineral); font-size:26px; font-style:normal; }
.tracks-more { margin-top:18px; width:100%; }
.tracks-credit { margin-top:22px; }
.tracks-credit a { border-bottom:1px solid var(--lime); }
.list-mode .tracks-layout { grid-template-columns:1fr; }
.list-mode .tracks-map-panel { display:none; }
.tracks-claim { padding:56px 0; }
.tracks-claim-inner { align-items:center; display:grid; gap:28px; grid-template-columns:1.4fr auto; }
.tracks-claim h2 { font-family:Anton,Impact,sans-serif; font-size:clamp(34px,5vw,64px); letter-spacing:0; line-height:.92; margin:10px 0 14px; text-transform:uppercase; }
.tracks-claim p:last-child { font-size:17px; line-height:1.5; margin:0; max-width:620px; }
.tracks-claim .button.ink { background:var(--ink); color:var(--foreground,var(--bone)); }
.tracks-index { padding-top:56px; }
.tracks-index .az-names li a { display:inline-block; }
.tracks-index .az-count { white-space:nowrap; }
/* pins shared by the map backends */
.kind-motocross { --pin:var(--lime); --pin-ink:var(--ink); } .kind-enduro { --pin:var(--coral); --pin-ink:var(--ink); } .kind-trials { --pin:var(--bone); --pin-ink:var(--ink); }
.kind-speedway, .kind-grasstrack { --pin:#8FB3FF; --pin-ink:var(--ink); } .kind-supermoto, .kind-quad, .kind-adventure, .kind-track, .kind-venue { --pin:var(--mineral); --pin-ink:var(--ink); }
.track-row-pin { background:var(--pin, var(--lime)); }
.dh-pin.dh-pin-track { background:var(--pin, var(--lime)); height:22px; width:22px; }
.dh-pin.dh-pin-track i { background:var(--night); height:6px; width:6px; }
.dh-pin.dh-pin-track b { color:var(--pin-ink); font-size:10px; }
.dh-cluster { align-items:center; background:var(--night); border:2px solid var(--pin, var(--lime)); border-radius:50%; box-shadow:0 0 0 3px rgba(20,26,22,.6), 0 4px 12px rgba(0,0,0,.45); color:var(--foreground,var(--bone)); cursor:pointer; display:flex; font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:700; height:38px; justify-content:center; padding:0; width:38px; }
.dh-cluster b { color:var(--foreground,var(--bone)); }
.dh-user { background:#4FA3FF; border:3px solid var(--bone); border-radius:50%; box-shadow:0 0 0 6px rgba(79,163,255,.25); height:18px; width:18px; }
.mk-map-view .mk-selected .dh-pin, .dh-pin.dh-pin-track.active { transform:scale(1.3); }
.tracks-map .mk-map-view { background:var(--night); }
/* baked /tracks/<slug> pages */
.track-page-hero { padding:56px 0 34px; }
.track-page-hero h1 { font-family:Anton,Impact,sans-serif; font-size:clamp(40px,6.5vw,88px); letter-spacing:0; line-height:.92; margin:14px 0 14px -3px; text-transform:uppercase; }
.track-page-hero .track-page-where { font-size:18px; margin:0; }
.track-page-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.track-page-actions .button { min-height:48px; font-size:14px; padding:0 18px; }
.track-page-layout { display:grid; gap:28px; grid-template-columns:1fr 1fr; padding:32px 0 48px; }
.track-page-map { background:var(--night); border:1px solid var(--rule); min-height:380px; position:relative; }
.track-page-map .dh-map { height:100%; inset:0; position:absolute; width:100%; }
.track-page-facts .track-facts { grid-template-columns:1fr 1fr; margin-top:0; }
.track-page-facts h2, .track-page-section h2 { font-family:Anton,Impact,sans-serif; font-size:clamp(24px,3vw,34px); letter-spacing:0; line-height:.95; margin:0 0 14px; text-transform:uppercase; }
.track-page-section { padding-bottom:40px; }
.track-nearby { border-top:1px solid var(--rule); list-style:none; margin:0; padding:0; }
.track-nearby li { border-bottom:1px solid var(--rule); }
.track-nearby a { align-items:center; display:flex; gap:14px; justify-content:space-between; padding:14px 0; }
.track-nearby b { font-family:Anton,Impact,sans-serif; font-size:19px; font-weight:400; letter-spacing:0; text-transform:uppercase; }
.track-nearby span { color:var(--mineral); font-family:"JetBrains Mono",monospace; font-size:12px; white-space:nowrap; }
.track-page-credit { color:var(--muted); font-size:13px; }
@media (max-width:760px) {
  .tracks-head { padding:44px 0 28px; }
  .tracks-lede { font-size:17px; }
  .tracks-search .button { flex:1 1 40%; }
  .tracks-toolbar { align-items:start; display:block; }
  .tracks-toolbar .light-filters { flex-wrap:nowrap; margin-right:-16px; overflow:auto; padding-bottom:12px; }
  .tracks-toolbar-right { justify-content:space-between; margin-top:6px; }
  .tracks-layout { grid-template-columns:1fr; }
  .tracks-map-panel { min-height:66vh; position:relative; top:0; }
  .tracks-card { max-height:60%; }
  .track-row { gap:12px; min-height:78px; }
  .track-row:hover { background:transparent; padding-left:0; padding-right:0; }
  .track-row-main h3 { font-size:19px; }
  .tracks-claim { padding:40px 0; }
  .tracks-claim-inner { grid-template-columns:1fr; }
  .track-page-layout { grid-template-columns:1fr; }
  .track-page-map { min-height:320px; }
  .track-facts { grid-template-columns:1fr; }
}

/* ---------------------------------------------------------------- homepage menu v2 (2026-09-14): calmer, X stays top-right, app + Instagram links */
.menu-panel.menu-v2 { height:100dvh; padding:0 max(24px,calc((100vw - 1180px)/2)); overflow:hidden; }
.menu-v2 .menu-inner { display:flex; flex-direction:column; height:100%; margin:0 auto; max-width:1180px; min-height:0; padding:18px 0 28px; }
.menu-v2 .menu-top { align-items:center; display:flex; justify-content:space-between; }
.menu-v2 .close-menu { align-items:center; background:var(--lime); border:0; color:var(--band); display:flex; float:none; height:46px; justify-content:center; padding:0; position:relative; width:46px; }
.menu-v2 .close-menu .burger-line { position:absolute; width:18px; }
.menu-v2 .close-menu .burger-line:nth-child(1) { transform:rotate(45deg); }
.menu-v2 .close-menu .burger-line:nth-child(2) { transform:rotate(-45deg); }
.menu-v2 .menu-primary { display:flex; flex-direction:column; margin-top:34px; }
.menu-v2 .menu-primary a { align-items:center; border-bottom:1px solid rgba(255,255,255,.14); color:var(--foreground,var(--bone)); display:flex; font-family:Anton,Impact,sans-serif; font-size:clamp(34px,5vw,58px); gap:14px; grid-template-columns:none; letter-spacing:0; line-height:1.15; padding:13px 0 11px; text-transform:uppercase; }
.menu-v2 .menu-primary a::after { content:"→"; color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:20px; margin-left:auto; opacity:0; transform:translateX(-6px); transition:opacity .2s ease,transform .2s ease; }
.menu-v2 .menu-primary a:hover::after,.menu-v2 .menu-primary a:focus-visible::after { opacity:1; transform:none; }
.menu-v2 .menu-primary a em { background:var(--coral); color:var(--ink); font-family:"JetBrains Mono",monospace; font-size:11px; font-style:normal; font-weight:600; letter-spacing:.1em; line-height:1; padding:5px 7px 4px; }
.menu-v2 .menu-secondary { display:grid; gap:10px 24px; grid-template-columns:1fr 1fr; margin-top:26px; }
.menu-v2 .menu-secondary a { border:0; color:var(--mineral); display:block; font-family:"DM Sans",Arial,sans-serif; font-size:16px; grid-template-columns:none; letter-spacing:0; padding:4px 0; text-transform:none; }
.menu-v2 .menu-secondary a:hover,.menu-v2 .menu-secondary a:focus-visible { color:var(--foreground,var(--bone)); }
.menu-v2 .menu-apps { align-items:center; display:flex; flex-wrap:wrap; gap:10px 12px; margin-top:auto; padding-top:26px; }
.menu-v2 .store-badge { align-items:center; background:var(--ink); border:1px solid rgba(241,238,228,.28); color:var(--foreground,var(--bone)); display:inline-flex; gap:9px; grid-template-columns:none; min-height:46px; opacity:1; padding:6px 14px 6px 11px; text-transform:none; transform:none; }
.menu-v2 .store-badge svg { height:24px; width:24px; }
.menu-v2 .store-badge span { display:flex; flex-direction:column; font-family:"DM Sans",Arial,sans-serif; font-size:16px; font-weight:600; letter-spacing:0; line-height:1.05; }
.menu-v2 .store-badge small { font-size:10px; font-weight:500; letter-spacing:.02em; opacity:.8; }
.menu-v2 .menu-ig { align-items:center; border:0; color:var(--foreground,var(--bone)); display:inline-flex; font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; gap:8px; grid-template-columns:none; letter-spacing:.04em; margin-left:auto; text-transform:none; }
.menu-v2 .menu-ig svg { height:22px; width:22px; }
.menu-v2 a { opacity:0; transform:translate3d(0,-8px,0); transition:opacity .3s ease,transform .3s cubic-bezier(.2,.75,.2,1); }
.menu-open .menu-v2 a { opacity:1; transform:none; }
.menu-v2 .menu-primary a:nth-of-type(1){transition-delay:.05s}.menu-v2 .menu-primary a:nth-of-type(2){transition-delay:.09s}.menu-v2 .menu-primary a:nth-of-type(3){transition-delay:.13s}.menu-v2 .menu-primary a:nth-of-type(4){transition-delay:.17s}.menu-v2 .menu-primary a:nth-of-type(5){transition-delay:.21s}
.menu-v2 .menu-secondary a,.menu-v2 .menu-apps a { transition-delay:.26s; }
@media (max-width:760px) {
  .menu-panel.menu-v2 { padding:0 16px; }
  .menu-v2 .menu-inner { overflow:auto; padding:14px 0 max(20px,env(safe-area-inset-bottom)); }
  .menu-v2 .menu-primary { margin-top:26px; }
  .menu-v2 .menu-primary a { font-size:clamp(32px,9.5vw,40px); padding:11px 0 9px; }
  .menu-v2 .menu-secondary { margin-top:20px; }
  .menu-v2 .menu-apps { padding-top:22px; }
  .menu-v2 .menu-ig { margin-left:0; width:100%; }
}
.menu-v2 .menu-top .wordmark { border:0; }
/* menu v2 motion: a slide with a long ease-out instead of the clip wipe; links follow with a short stagger; symmetric on close */
.menu-panel.menu-v2 { clip-path:none; opacity:0; transform:translate3d(0,-100%,0); transition:transform .6s cubic-bezier(.32,.72,0,1),opacity .45s ease; }
.menu-open .menu-panel.menu-v2 { opacity:1; transform:none; transition:transform .6s cubic-bezier(.32,.72,0,1),opacity .25s ease; }
.menu-panel.menu-v2::after { transition:transform .7s .2s cubic-bezier(.32,.72,0,1); }
.menu-v2 a { transform:translate3d(0,-14px,0); transition:opacity .38s ease,transform .5s cubic-bezier(.32,.72,0,1); }
.menu-v2 .menu-primary a:nth-of-type(1){transition-delay:.12s}.menu-v2 .menu-primary a:nth-of-type(2){transition-delay:.16s}.menu-v2 .menu-primary a:nth-of-type(3){transition-delay:.2s}.menu-v2 .menu-primary a:nth-of-type(4){transition-delay:.24s}.menu-v2 .menu-primary a:nth-of-type(5){transition-delay:.28s}
.menu-v2 .menu-secondary a { transition-delay:.32s; } .menu-v2 .menu-apps a { transition-delay:.36s; }
body:not(.menu-open) .menu-v2 a { transition-delay:0s; transition-duration:.18s; }
.menu-v2 .menu-top .wordmark { transition-delay:.08s; }
@media (prefers-reduced-motion:reduce) { .menu-panel.menu-v2, .menu-open .menu-panel.menu-v2, .menu-v2 a, .menu-panel.menu-v2::after { transition-duration:.01s; transition-delay:0s; transform:none; } .menu-panel.menu-v2 { transform:translate3d(0,-100%,0); } .menu-open .menu-panel.menu-v2 { transform:none; } }
/* menu on inner pages: burger appears where the text nav collapses */
.inner-page .page-nav .menu-button { display:flex; flex:0 0 auto; margin-left:10px; }
@media (max-width:760px) { .inner-page .page-nav .menu-button { display:flex; } .inner-page .page-nav .nav-cta { display:none; } }
.menu-v2 a[aria-current="page"] { color:var(--lime); }
/* menu v2 fixes (22:30): burger hugs the right on inner pages; soft fade-and-settle instead of the slab slide */
.inner-page .page-nav .menu-button { margin-left:auto; }
.page-nav .menu-button { flex:none; }
.menu-panel.menu-v2 { transform:translate3d(0,-16px,0); transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .28s ease,visibility 0s .32s; visibility:hidden; will-change:transform,opacity; }
.menu-open .menu-panel.menu-v2 { transform:none; visibility:visible; transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .32s ease,visibility 0s; }
.menu-panel.menu-v2::after { transition:transform .6s .1s cubic-bezier(.22,1,.36,1); }
.menu-v2 a { transform:translate3d(0,10px,0); transition:opacity .32s ease,transform .45s cubic-bezier(.22,1,.36,1); }
.menu-v2 .menu-primary a:nth-of-type(1){transition-delay:.06s}.menu-v2 .menu-primary a:nth-of-type(2){transition-delay:.1s}.menu-v2 .menu-primary a:nth-of-type(3){transition-delay:.14s}.menu-v2 .menu-primary a:nth-of-type(4){transition-delay:.18s}.menu-v2 .menu-primary a:nth-of-type(5){transition-delay:.22s}
.menu-v2 .menu-secondary a { transition-delay:.26s; } .menu-v2 .menu-apps a { transition-delay:.3s; }
body:not(.menu-open) .menu-v2 a { transition-delay:0s; transition-duration:.16s; transform:translate3d(0,6px,0); }
/* tracks map: the map owns every touch on it (pinch zooms the map, never the page) */
.tracks-map-panel .dh-map, .tracks-map-panel .dh-map canvas, .track-page-map .dh-map { touch-action:none; }
.tracks-map-panel { overscroll-behavior:contain; }
/* brand detail page: switching in/out, two columns of "N from/to X" */
.brand-switch-grid { display:grid; gap:28px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); margin-top:20px; }
.brand-switch-col h3 { font-family:Anton,Impact,sans-serif; font-size:20px; letter-spacing:0; line-height:1; margin:0 0 12px; text-transform:uppercase; }
.brand-switch-col ul { list-style:none; margin:0; padding:0; border-top:1px solid var(--rule); }
.brand-switch-col li { border-bottom:1px solid var(--rule); font-size:15px; padding:10px 0; }
.brand-switch-col li b { color:var(--lime); font-family:"JetBrains Mono",monospace; margin-right:6px; }
/* shops: pins (same map as tracks), tags, brand chips. Off-road specialists lime like motocross; other shops bone. */
.kind-shop-offroad { --pin:var(--lime); --pin-ink:var(--ink); } .kind-shop { --pin:var(--bone); --pin-ink:var(--ink); }
.disc-tag.disc-offroad { background:var(--lime); color:var(--ink); }
.disc-tag.disc-dealer { background:var(--coral); color:var(--ink); }
.disc-tag.disc-service { background:transparent; border:1px solid rgba(241,238,228,.45); color:var(--foreground,var(--bone)); padding:3px 5px 2px; }
.disc-tag.disc-verified { background:var(--blue); color:var(--foreground,var(--bone)); }
.shop-brands-title { font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.1em; margin:20px 0 8px; text-transform:uppercase; color:var(--mineral); }
.shop-brand-chips .chip span { color:var(--lime); font-size:.85em; margin-left:4px; }
.az-names small { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.06em; margin-left:6px; text-transform:uppercase; }
.shops-owner { padding:88px 0; }
.shops-owner .plan-grid { margin-top:8px; }
.shops-featured-buy { border:1px solid var(--ink-rule, rgba(11,13,10,.2)); margin:36px 0 44px; padding:26px; background:#fff; }
.shops-featured-buy h3 { font-family:Anton,Impact,sans-serif; font-size:clamp(28px,4vw,40px); letter-spacing:0; line-height:.95; margin:10px 0 18px; text-transform:uppercase; }
@media (max-width:760px) { .shops-featured-buy { padding:18px 16px; } }
.shop-owner-actions { align-items:center; display:flex; flex-wrap:wrap; gap:18px; }
.tone-lime .shop-owner-actions .partner-link { border-bottom-color:var(--ink); color:var(--ink); }
.shops-featured-buy .brands-form { border:0; margin:0; max-width:none; padding:0; }

/* Shop owner dashboard + live "about" on shop pages */
.shop-about { color:var(--foreground,var(--bone)); font-size:17px; line-height:1.5; margin:14px 0 18px; max-width:62ch; }
.shop-dash .profile-preview { margin-top:40px; }
.shop-dash .profile-preview > p.eyebrow { color:var(--mineral); }
.shop-dash-help { color:var(--muted) !important; font-family:"DM Sans",sans-serif !important; font-size:15px !important; font-weight:400 !important; letter-spacing:0 !important; margin:10px 0 0 !important; text-transform:none !important; }
.shop-dash-hint { color:var(--muted); font-family:"DM Sans",sans-serif; font-size:12px; letter-spacing:0; margin-top:6px; text-transform:none; }
.shop-dash-services { border:0; margin:18px 0 0; padding:0; }
.shop-dash-services legend { font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.1em; margin-bottom:10px; text-transform:uppercase; }
.shop-dash-services > div { display:flex; flex-wrap:wrap; gap:8px; }
.shop-dash-chip { align-items:center; cursor:pointer; display:inline-flex; gap:8px; }
.shop-dash-chip input { accent-color:var(--ink); margin:0; }
.shop-dash-chip.active { background:var(--lime); border-color:var(--lime); color:var(--ink); }
.shop-dash-chip:focus-within { outline:2px solid var(--blue); outline-offset:2px; }
.shop-dash-save { align-items:center; background:var(--paper); border-top:1px solid var(--rule); bottom:0; display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; padding:16px 0; position:sticky; z-index:2; }
.shop-dash-save .claim-result { margin-top:0; }
.shop-dash .verification-card { display:block; }
.shop-dash .verification-card h3 { font-family:Anton,Impact,sans-serif; font-size:clamp(28px,3.5vw,44px); letter-spacing:0; line-height:.95; margin:12px 0; text-transform:uppercase; }
.shop-dash .verification-card .text-button { color:var(--lime); }
.admin-shops { margin-top:64px; }
.claim h3 small { color:var(--muted); font-family:"DM Sans",sans-serif; font-size:13px; text-transform:none; }
.shop-dash .profile-preview span { color:inherit; display:inline; font-size:inherit; max-width:none; }
.shop-dash .profile-preview p.shop-dash-hint { color:var(--muted); font-family:"DM Sans",sans-serif; font-size:14px; font-weight:400; letter-spacing:0; line-height:1.45; margin:16px 0 0; text-transform:none; }
.shop-dash .profile-preview > .dash-form { align-items:start; display:grid; gap:14px 16px; justify-content:stretch; margin-top:18px; }
.shop-dash .profile-preview > .dash-form label { min-width:0; }
.shop-dash .profile-preview > .dash-form input { min-width:0; width:100%; }
@media (max-width:760px) { .shop-dash .profile-preview > .dash-form { grid-template-columns:1fr; } }
.consent-row input[type=checkbox] { flex:0 0 18px; min-width:0; padding:0; width:18px !important; }
.tracks-claim[hidden], #track-shops[hidden] { display:none !important; }

/* The sign-in block hoisted to the top of /pro for someone sent here to sign in from another
   page: it needs its own breathing room once it is no longer inside the plans section. */
.pro-signin-first { margin:clamp(28px,5vw,56px) auto 0; max-width:min(680px,calc(100% - 32px)) }
/* Championship partner slot on /standings — "Presented by" when sold, an enquiry panel when open. */
.series-partner { border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); margin:0 0 32px; padding:22px 0; }
.series-partner.is-live { align-items:center; display:flex; flex-wrap:wrap; gap:14px 28px; justify-content:space-between; }
.series-partner-brand { align-items:center; display:inline-flex; gap:18px; }
.series-partner-brand img { background:var(--bone); height:56px; max-width:200px; object-fit:contain; padding:8px 12px; width:auto; }
.series-partner-brand b { display:block; font-family:Anton,Impact,sans-serif; font-size:26px; letter-spacing:0; line-height:1; text-transform:uppercase; }
.series-partner-brand small { color:var(--mineral); display:block; font-size:14px; margin-top:6px; }
.series-partner-brand i { color:var(--lime); font-size:20px; }
.series-partner-brand:hover b { text-decoration:underline; text-decoration-color:var(--lime); text-underline-offset:4px; }
.series-partner.is-open { display:grid; gap:24px 64px; grid-template-columns:1fr 1fr; }
.series-partner.is-open h3 { font-family:Anton,Impact,sans-serif; font-size:clamp(30px,3.4vw,44px); letter-spacing:0; line-height:.95; margin:12px 0 14px; text-transform:uppercase; }
.series-partner.is-open p:not(.eyebrow) { color:var(--muted); font-size:16px; line-height:1.5; margin:0; max-width:460px; }
.series-partner .partner-form { gap:14px; }
.series-partner .partner-form input { font-size:16px; }
@media (max-width:760px) { .series-partner.is-open { display:block; } .series-partner .partner-form { margin-top:24px; } .series-partner-brand b { font-size:22px; } .series-partner-brand img { height:48px; } }
.rider-partners { align-items:center; border-top:1px solid var(--rule); display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:24px; padding-top:18px; }
.rider-partner { align-items:center; display:inline-flex; gap:12px; }
.rider-partner img { background:var(--bone); height:40px; max-width:140px; object-fit:contain; padding:6px 10px; width:auto; }
.rider-partner small { color:var(--mineral); display:block; font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.rider-partner b { display:block; font-size:15px; margin-top:3px; }
.rider-partner:hover b { text-decoration:underline; text-decoration-color:var(--lime); text-underline-offset:3px; }

/* iOS Safari zooms the page in when a field under 16px is focused, and often stays zoomed after you tap out.
   Keep every text field at 16px on touch screens (search boxes included). */
@media (pointer:coarse) {
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]),select,textarea { font-size:max(16px,1em); }
}

/* Account and sign-in: dark cards that sit in the page instead of white slabs on black. */
.account-page .account-body { gap:14px }
.account-page .account-card { background:var(--account-surface,#1A211C); color:var(--foreground,#F1EEE4); border:1px solid var(--form-border,#333D36); border-radius:4px; padding:26px; }
.account-page .account-card a { color:var(--foreground,#F1EEE4); }
.account-page .account-card .eyebrow { color:var(--muted,#8B948D); }
.account-page .account-card h2 { font-family:"DM Sans",Arial,sans-serif; font-weight:700; letter-spacing:-.02em; text-transform:none; font-size:1.25rem; line-height:1.25; margin:6px 0 12px }
.account-page .account-card p { opacity:1; color:var(--account-muted,#B8C0B9); }
.account-page .account-card b { color:var(--foreground,#F1EEE4); }
.account-page .account-card input[type=email], .account-page .account-card input[type=text] { max-width:none; background:var(--form-surface,#0F1411); color:var(--foreground,#F1EEE4); border:1px solid var(--form-border,#333D36); border-radius:4px; font-family:"DM Sans",Arial,sans-serif; }
.account-page .account-card input::placeholder { color:var(--muted,#6F7870); }
.account-page .account-card input:focus-visible { outline:none; border-color:#D4F22E; box-shadow:0 0 0 3px rgba(212,242,46,.18) }
.account-page .account-card .button { border-radius:999px; min-height:46px; font-family:"DM Sans",Arial,sans-serif; font-size:15px; font-weight:600; letter-spacing:0; text-transform:none; padding:0 20px; margin-top:0; text-decoration:none }
.account-page .account-card .button.lime { background:#D4F22E; color:#0B0D0A }
.account-page .account-card .ink-button { background:var(--button-ink-bg,#222A25); color:var(--button-ink-text,#F1EEE4); border:1px solid var(--form-border,#394139); }
.account-page .account-card .ink-button:hover { background:var(--button-ink-hover,#2B352F); }
.account-page .account-card.danger { border-color:var(--danger-border,#5A3326); background:var(--danger-surface,#241915); }
.account-page .account-card.danger .eyebrow { color:var(--danger-text,#FF9E7A); }
.account-page .account-card .danger-btn { background:#C4462A; color:#fff; border:0 }
.account-page .account-card .rows li { border-color:rgba(241,238,228,.1) !important }
.account-page .form-note.is-good { color:var(--accent-text,#D4F22E); }
.account-page .form-note.is-warn { color:var(--danger-text,#FFB38A); }
.account-page .account-head p { color:var(--account-muted,#B8C0B9); opacity:1; }
@media (min-width:760px) { .account-page .signin-only { max-width:460px } }
.account-page .account-card .dh-auth a, .account-page .account-card .dh-auth a.apple { color:#1f1f1f }
.account-page .account-card .dh-auth a.apple { color:#000 }
.account-page .account-body { align-items:start }

/* Rider profile on the account page: a wider card and every field type styled like the rest. */
.account-page #rider { grid-column:1 / -1 }
.account-page #acct-rider { display:grid; grid-template-columns:1fr; gap:0 16px }
.account-page #acct-rider > p, .account-page #acct-rider > div { margin:0 0 12px }
.account-page #acct-rider input, .account-page #acct-rider select { width:100%; max-width:none; min-height:48px; padding:10px 14px; background:var(--form-surface,#0F1411); color:var(--foreground,#F1EEE4); border:1px solid var(--form-border,#333D36); border-radius:4px; font:500 16px "DM Sans",Arial,sans-serif; color-scheme:var(--form-scheme,dark); }
.account-page #acct-rider input:focus-visible, .account-page #acct-rider select:focus-visible { outline:none; border-color:#D4F22E; box-shadow:0 0 0 3px rgba(212,242,46,.18) }
.account-page #acct-rider label { color:var(--foreground,#F1EEE4); font-size:.9rem; }
.account-page #acct-rider > p:last-child { grid-column:1 / -1 }
@media (min-width:900px) { .account-page #acct-rider { grid-template-columns:1fr 1fr } }
.account-page #rider { order:var(--profile-order,50) }
.account-page .account-card.danger { border-color:var(--danger-border,#5A3326); background:var(--danger-surface,#241915); }

/* Menu, grouped (30 Sep): four small sections instead of one long list of big blocky words. */
.menu-v2 .menu-grouped { display:grid; gap:22px 56px; grid-template-columns:1fr 1fr; margin-top:30px; }
.menu-v2 .mgrp { display:flex; flex-direction:column; min-width:0; }
.menu-v2 .mgrp-label { color:var(--lime); font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.16em; margin:0 0 4px; opacity:0; text-transform:uppercase; transition:opacity .3s .04s ease; }
.menu-open .menu-v2 .mgrp-label { opacity:1; }
.menu-v2 .menu-grouped a { font-size:clamp(26px,2.9vw,36px); padding:9px 0 7px; transition-delay:calc(.05s + var(--i, 0) * .03s); }
.menu-v2 .menu-grouped a em { font-size:10px; padding:4px 6px 3px; }
@media (max-width:760px) {
  .menu-v2 .menu-grouped { gap:18px; grid-template-columns:1fr; margin-top:22px; }
  .menu-v2 .menu-grouped a { font-size:clamp(24px,7vw,30px); padding:8px 0 6px; }
}
@media (prefers-reduced-motion:reduce) { .menu-v2 a, .menu-v2 .mgrp-label { transition:none; } }
/* Calendar: every day of the month is a chip; quiet days recede, days with events carry a count. */
.date-scroller { scroll-behavior:smooth; scrollbar-width:thin; scroll-snap-type:x proximity; }
.date-chip { flex:0 0 68px; position:relative; scroll-snap-align:center; }
.date-chip.date-chip-all { flex-basis:105px; left:0; position:sticky; z-index:1; background:#0E2F92; }
.date-chip.is-quiet b { opacity:.5; }
.date-chip.is-quiet span { opacity:.78; }
.date-chip.is-today { box-shadow:inset 0 3px 0 var(--lime); }
.date-chip.is-today span { color:var(--lime); opacity:1; }
.date-chip em { background:var(--lime); color:var(--ink); font-family:"JetBrains Mono",monospace; font-size:11px; font-style:normal; font-weight:600; line-height:18px; min-width:18px; padding:0 4px; position:absolute; right:8px; text-align:center; top:10px; }
.date-chip.active,.date-chip.active:hover,.date-chip:hover { background:var(--lime); color:var(--ink); }
.date-chip.active b,.date-chip.active span,.date-chip:hover b,.date-chip:hover span { color:var(--ink); opacity:1; }
.date-chip.active em,.date-chip:hover em { background:var(--ink); color:var(--lime); }
.date-chip:focus-visible { outline:2px solid var(--lime); outline-offset:-4px; }
.empty-calendar { background:var(--surface); border:1px solid var(--rule); color:var(--foreground,var(--bone)); padding:0; }
.empty-calendar[hidden] { display:none; }
.empty-calendar img { aspect-ratio:3/2; display:block; height:auto; object-fit:cover; width:100%; }
.empty-calendar > div { padding:26px 28px 30px; }
.empty-calendar .eyebrow { color:var(--lime); margin:0; }
.empty-calendar h2 { font-family:Anton,Impact,sans-serif; font-size:clamp(30px,3.4vw,44px); letter-spacing:0; line-height:.96; margin:10px 0 12px; text-transform:uppercase; }
.empty-calendar [data-empty-copy] { color:var(--mineral); font-size:17px; line-height:1.5; margin:0; max-width:52ch; }
.empty-actions { align-items:center; display:flex; flex-wrap:wrap; gap:18px 24px; margin-top:22px; }
.empty-actions .button { border:0; cursor:pointer; font-size:15px; min-height:48px; }
.empty-actions .button[hidden] { display:none; }
.empty-actions a { border-bottom:2px solid var(--rule); font-family:"JetBrains Mono",monospace; font-size:13px; font-weight:600; letter-spacing:.05em; padding-bottom:3px; text-transform:uppercase; }
.empty-actions a:hover { border-color:var(--lime); }
@media (max-width:760px) { .date-chip { flex-basis:60px; }.date-chip.date-chip-all { flex-basis:76px; }.date-chip em { right:6px; top:8px; }.empty-calendar > div { padding:20px 18px 24px; }.empty-calendar [data-empty-copy] { font-size:16px; } }
@media (prefers-reduced-motion:reduce) { .date-scroller { scroll-behavior:auto; } }
.calendar-list:empty { display:none; }
.date-chip.date-chip-all { box-shadow:10px 0 14px -6px rgba(0,0,0,.5); }
@media (min-width:761px) { .empty-calendar img { aspect-ratio:2/1; object-position:center 62%; } }
/* Accessibility pass (8 Oct 2026): on the light "paper" sections the dark-theme defaults vanished. Share buttons and
   the small position notes in rider results get ink on paper (axe colour-contrast). */
.paper .share-result { color:var(--ink); border-color:rgba(11,13,10,.35); }
.paper .rider-results td.c-opt small, .paper .c-opt small { color:var(--ink-muted); }
.paper .board-session span, .paper .board-status small { color:var(--ink-muted); }
.paper .board-table .c-no { color:var(--ink-muted); }
.paper .board-table:not(.rider-results) td.c-no, .paper .board-table td.c-no { color:var(--ink-muted); }

/* ---------------------------------------------------------------- My racing (/racing) + rider profiles, 14 Oct 2026 */
.racing-main { padding-block:clamp(40px,6vw,72px) clamp(64px,8vw,104px); }
.racing-head { max-width:820px; }
.racing-head h1 { font-family:Anton,Impact,sans-serif; font-size:clamp(44px,7vw,92px); letter-spacing:0; line-height:.92; margin:14px 0 18px -3px; text-transform:uppercase; }
.racing-head p:not(.eyebrow) { color:var(--muted); font-size:18px; line-height:1.5; margin:0; max-width:640px; }
.racing-head a { color:var(--foreground,var(--bone)); text-decoration:underline; text-underline-offset:3px; }
#racing-body { display:grid; gap:18px; margin-top:34px; }
.racing-grid { display:grid; gap:18px; grid-template-columns:1.4fr 1fr; }
.racing-panel { background:var(--surface); border:1px solid var(--line); color:var(--foreground,var(--bone)); padding:clamp(20px,3vw,32px); }
.racing-panel h2 { font-family:"DM Sans",Arial,sans-serif; font-weight:700; font-size:clamp(24px,3vw,32px); letter-spacing:-.025em; line-height:1.2; margin:10px 0 16px; text-transform:none; }
.racing-panel p { line-height:1.55; margin:0 0 14px; max-width:68ch; }
.racing-panel a:not(.button) { color:var(--foreground,var(--bone)); text-decoration:underline; text-underline-offset:3px; }
.racing-panel .eyebrow { color:var(--accent-text,var(--lime)); }
.racing-panel .rider-search { margin-top:6px; }
.racing-steps { counter-reset:step; list-style:none; margin:0 0 22px; padding:0; }
.racing-steps li { border-top:1px solid var(--rule); counter-increment:step; display:grid; gap:14px; grid-template-columns:36px 1fr; line-height:1.5; padding:14px 0; }
.racing-steps li::before { color:var(--accent-text,var(--lime)); content:counter(step,decimal-leading-zero); font-family:"JetBrains Mono",monospace; font-weight:600; }
.racing-offer { border:2px solid var(--lime); }
.racing-preview { grid-template-columns:repeat(6,1fr); margin:6px 0 22px; }
.racing-preview small, .racing-totals small { color:var(--muted); display:block; font-size:12px; margin-top:6px; }
.racing-locked { border-style:dashed !important; position:relative; }
.racing-locked b { color:transparent !important; text-shadow:0 0 14px rgba(241,238,228,.75); user-select:none; }
.racing-locked { padding-bottom:40px !important; }
.racing-locked::after { content:"PRO"; position:absolute; left:14px; bottom:12px; background:var(--lime); color:var(--ink); font-family:"JetBrains Mono",monospace; font-size:10px; font-weight:700; letter-spacing:.08em; padding:3px 6px; }
.racing-benefits { list-style:none; margin:0 0 22px; padding:0; }
.racing-benefits li { line-height:1.5; padding:6px 0 6px 26px; position:relative; }
.racing-benefits li::before { color:var(--accent-text,var(--lime)); content:"→"; left:0; position:absolute; }
.racing-buy { align-items:center; display:flex; flex-wrap:wrap; gap:12px; margin-bottom:14px; }
.racing-buy .button { border:0; cursor:pointer; font:inherit; min-height:52px; }
.racing-buy .button.lime { background:var(--lime); color:var(--ink); }
.racing-buy .ink-button { background:transparent; border:1px solid var(--rule); color:var(--foreground,var(--bone)); margin-top:0; }
.racing-form label { color:var(--muted); display:block; font-family:"DM Sans",Arial,sans-serif; font-size:14px; font-weight:600; letter-spacing:0; margin-bottom:7px; }
.racing-form input, .racing-form select, .racing-form textarea { background:var(--form-surface,rgba(11,13,10,.55)); border:1px solid var(--form-border,rgba(241,238,228,.35)); border-radius:4px; box-sizing:border-box; color:var(--foreground,var(--bone)); font:inherit; font-size:16px; min-height:50px; padding:12px 14px; width:100%; }
.racing-form textarea { line-height:1.5; min-height:96px; resize:vertical; }
.racing-form input:focus-visible, .racing-form select:focus-visible, .racing-form textarea:focus-visible, .racing-buy .button:focus-visible { outline:3px solid var(--lime); outline-offset:2px; }
.racing-form .button { border:0; cursor:pointer; font:inherit; min-height:50px; }
.racing-form .ink-button { background:var(--button-ink-bg,var(--bone)); color:var(--button-ink-text,var(--ink)); margin-top:0; }
.racing-two { display:grid; gap:0 14px; grid-template-columns:1fr 1fr; }
.racing-matches { margin-top:10px; }
.racing-match { grid-template-columns:1fr auto; min-height:0; }
.racing-match .button { border:0; cursor:pointer; font:inherit; min-height:46px; white-space:nowrap; }
.racing-owned, .rider-own-mark { align-items:center; background:var(--lime); color:var(--ink); display:inline-flex; font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:700; gap:5px; letter-spacing:.08em; padding:4px 8px; text-transform:uppercase; white-space:nowrap; }
.rider-own-mark { margin-left:8px; vertical-align:2px; }
.rider-own { font-size:17px; line-height:1.5; margin:10px 0 0; max-width:620px; }
.rider-own a { color:var(--lime); }
.rider-own-tick { color:var(--lime); font-size:.7em; margin-left:6px; vertical-align:middle; }
.racing-totals { margin:0; }
.racing-best { border-left:4px solid var(--lime); font-size:16px; line-height:1.5; margin:0; padding-left:14px; }
.racing-best span { color:var(--accent-text,var(--lime)); font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.06em; margin-right:6px; }
.racing-best a { color:var(--foreground,var(--bone)); }
.racing-form-chart { align-items:end; display:grid; gap:8px; grid-auto-columns:minmax(0,1fr); grid-auto-flow:column; height:180px; list-style:none; margin:8px 0 14px; padding:0; }
.racing-form-chart li { align-items:center; display:flex; flex-direction:column; height:100%; justify-content:flex-end; }
.racing-form-chart i { background:var(--lime); display:block; min-height:6px; width:100%; }
.racing-form-chart i.is-out { background:var(--coral); }
.racing-form-chart span { color:var(--muted); font-family:"JetBrains Mono",monospace; font-size:12px; margin-top:6px; }
.racing-table { min-width:0; width:100%; }
.racing-table td span { color:var(--muted); display:block; font-size:12px; }
.riders-join { align-items:center; display:flex; flex-wrap:wrap; gap:14px 24px; margin-top:22px; }
.riders-join .button { min-height:50px; }
.riders-join .partner-link { color:var(--foreground,var(--bone)); }
.az-jump { display:flex; flex-wrap:wrap; gap:6px; margin-top:16px; }
.az-jump a { align-items:center; border:1px solid var(--rule); color:var(--foreground,var(--bone)); display:inline-flex; font-family:Anton,Impact,sans-serif; font-size:18px; justify-content:center; min-height:44px; min-width:44px; text-decoration:none; }
.az-jump a:hover, .az-jump a:focus-visible { background:var(--lime); border-color:var(--lime); color:var(--ink); }
.az-jump .az-jump-pairs { font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.08em; padding:0 12px; text-transform:uppercase; }
.az-pairs .az-letter { font-size:22px; }
@media (max-width:760px) {
  .racing-grid { grid-template-columns:1fr; }
  .racing-preview { grid-template-columns:repeat(3,1fr); }
  .racing-two { grid-template-columns:1fr; }
  .racing-buy .button { flex:1 1 100%; }
  .racing-match { gap:10px; grid-template-columns:1fr; }
  .racing-match .button { justify-self:start; }
  .racing-form-chart { gap:4px; height:140px; }
  .racing-form-chart span { font-size:10px; }
  .riders-join { align-items:flex-start; flex-direction:column; }
  .az-jump a { min-height:40px; min-width:40px; font-size:16px; }
}
.racing-table-wrap { overflow-x:auto; }
.racing-table { border-collapse:collapse; font-size:15px; min-width:420px; width:100%; }
.racing-table th { border-bottom:1px solid var(--rule); color:var(--muted); font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; letter-spacing:.1em; padding:0 10px 10px 0; text-align:left; text-transform:uppercase; }
.racing-table td { border-bottom:1px solid var(--line); font-variant-numeric:tabular-nums; padding:12px 10px 12px 0; vertical-align:top; }
.racing-table th:not(:first-child), .racing-table td:not(:first-child) { text-align:right; }
#racing-body > *, .racing-grid > * { min-width:0; }
@media (max-width:760px) { .racing-table { font-size:13px; min-width:0; } .racing-table th { font-size:9px; letter-spacing:.04em; padding-right:6px; } .racing-table td { padding:10px 6px 10px 0; } }
/* Race plate: the rider's own number, in the shape of the plate on their bike. */
.race-plate { align-items:center; background:var(--bone); border:4px solid var(--ink); border-radius:18px 18px 28px 28px; box-shadow:8px 8px 0 var(--lime); color:var(--ink); display:inline-flex; flex-direction:column; justify-content:center; min-width:170px; padding:14px 22px 16px; transform:rotate(-3deg); }
.race-plate b { font-family:Anton,Impact,sans-serif; font-size:96px; letter-spacing:-.02em; line-height:.86; }
.race-plate span { border-top:2px solid var(--ink); font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.1em; margin-top:8px; padding-top:6px; text-transform:uppercase; }
.racing-head.has-plate { align-items:center; display:grid; gap:24px 40px; grid-template-columns:1fr auto; max-width:none; }
.racing-head.has-plate > :not(.race-plate) { grid-column:1; }
.racing-head.has-plate .race-plate { grid-column:2; grid-row:1 / span 3; }
.rider-hero .container.has-plate { position:relative; }
.rider-hero .container.has-plate .race-plate { position:absolute; right:0; top:50%; transform:translateY(-50%) rotate(-3deg); }
@media (max-width:760px) {
  .race-plate { min-width:120px; padding:10px 16px 12px; box-shadow:6px 6px 0 var(--lime); }
  .race-plate b { font-size:64px; }
  .racing-head.has-plate { grid-template-columns:1fr; }
  .racing-head.has-plate .race-plate { grid-column:1; grid-row:auto; justify-self:start; order:-1; margin:4px 0 6px 4px; }
  .rider-hero .container.has-plate .race-plate { position:static; transform:rotate(-3deg); margin:6px 0 18px 4px; }
}
@media (prefers-reduced-motion:no-preference) { .race-plate { animation:plate-in .5s cubic-bezier(.2,.75,.2,1) both; } @keyframes plate-in { from { opacity:0; transform:rotate(-12deg) scale(.86); } } }
.rider-hero > .container > p.rider-own { color:var(--foreground,var(--bone)); font-family:"DM Sans",sans-serif; font-size:17px; margin-top:12px; letter-spacing:0; line-height:1.5; text-transform:none; max-width:620px; }
@media (max-width:760px) {
  .rider-list .rider-row { grid-template-columns:1fr; gap:10px; padding:18px 0 20px; }
  .rider-list .rider-row-stats { justify-content:start; gap:2px 22px; text-align:left; }
  .rider-list .rider-row-main span { display:block; line-height:1.45; }
}

/* Rider photos (14 Oct): profile picture and cover. */
.rider-row-main.has-face { padding-left:62px; position:relative; }
.rider-row-main.has-face::before { background:var(--face) center/cover; border:2px solid var(--lime); border-radius:50%; content:""; height:48px; left:0; position:absolute; top:50%; transform:translateY(-50%); width:48px; }
.rider-face { border:4px solid var(--lime); border-radius:50%; display:block; height:104px; margin:14px 0 12px; object-fit:cover; width:104px; }
.racing-photos { margin:6px 0 10px; position:relative; }
.racing-cover { aspect-ratio:3 / 1; background:var(--ink) center/cover no-repeat; border:1px solid var(--line); position:relative; }
.racing-avatar { align-items:center; background:var(--ink); border:4px solid var(--lime); border-radius:50%; bottom:-46px; display:flex; height:112px; justify-content:center; left:22px; overflow:visible; position:absolute; width:112px; }
.racing-avatar img { border-radius:50%; height:100%; object-fit:cover; width:100%; }
.racing-avatar span { color:var(--bone); font-family:Anton,Impact,sans-serif; font-size:40px; }
.racing-photos + .board-note { margin-top:58px; }
.racing-pick { background:var(--ink); border:1px solid rgba(241,238,228,.5); bottom:12px; color:var(--bone); cursor:pointer; font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.08em; min-height:40px; padding:11px 14px; position:absolute; right:12px; text-transform:uppercase; }
.racing-pick:hover, .racing-pick:focus-within { background:var(--lime); border-color:var(--lime); color:var(--ink); }
.racing-pick-sm { bottom:-14px; font-size:10px; left:50%; min-height:32px; padding:8px 10px; right:auto; transform:translateX(-50%); white-space:nowrap; }
/* Phone: the hero buttons were three squeezed into one row. Follow gets the full width; the two shares split the row. */
@media (max-width:760px) {
  .rider-actions { display:grid; gap:10px; grid-template-columns:1fr 1fr; }
  .rider-actions .button { min-height:52px; justify-content:center; white-space:nowrap; }
  .rider-actions #follow-btn, .rider-actions #this-is-me { grid-column:1 / -1; }
  .rider-actions:has(#card-btn[hidden]) #share-btn { grid-column:1 / -1; }
  .rider-face { height:84px; width:84px; }
  .racing-cover { aspect-ratio:16 / 9; }
  .racing-avatar { height:92px; width:92px; bottom:-40px; left:16px; }
}

/* Editorial foundations: opt-in for the scoped review journeys. Brand swatches remain unchanged. */
body.editorial { --profile-order:0; --foreground:#141A16; --paper:#F1EEE4; --paper-deep:#e9e9dd; --band:#e4e7da; --surface:#FFFEF8; --line:#c1c7b8; --rule:#a7b0a0; --muted:#536157; --mineral:#536157; --account-surface:#FFFEF8; --account-muted:#536157; --form-surface:#fffef8; --form-border:#87927f; --form-scheme:light; --button-ink-bg:#141a16; --button-ink-text:#f1eee4; --button-ink-hover:#354236; --accent-text:#3c521b; --danger-text:#9d321c; --danger-surface:#fff7ed; --danger-border:#d3a998; --entry-surface:#fffef8; --entry-text:#141a16; --entry-muted:#536157; color:var(--foreground); line-height:1.55; }
/* Sam's 15 October revision: dark base, scoped to the hub/adventure trial. */
body.editorial.editorial-dark { --foreground:#F1EEE4; --paper:#141A16; --paper-deep:#0F1411; --band:#1A211C; --surface:#222A25; --line:#445148; --rule:#56615A; --muted:#B8C0B9; --mineral:#B8C0B9; --accent-text:#D4F22E; background:var(--paper); }
body.editorial .site-header { background:var(--paper); color:var(--foreground); border-bottom:1px solid var(--line); }
body.editorial .page-nav nav a { font:600 14px/1.3 "DM Sans",Arial,sans-serif; letter-spacing:0; text-transform:none; min-height:44px; display:inline-flex; align-items:center; }
body.editorial .nav-cta { background:#141a16; color:#f1eee4; font:600 14px/1.3 "DM Sans",Arial,sans-serif; padding:12px 16px; min-height:44px; }
body.editorial.editorial-dark .nav-cta { background:var(--lime); color:var(--ink); }
body.editorial.editorial-dark :focus-visible { outline-color:var(--lime); }
body.editorial.editorial-dark .wordmark span { color:var(--ink); }
body.editorial.editorial-dark footer { grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) minmax(0,3fr) auto; }
@media(max-width:760px) { body.editorial.editorial-dark footer { grid-template-columns:1fr; } }
body.editorial .button { font-family:"DM Sans",Arial,sans-serif; font-size:15px; font-weight:600; letter-spacing:0; text-transform:none; min-height:48px; border-radius:3px; }
body.editorial :focus-visible { outline:3px solid #141a16; outline-offset:4px; }
body.editorial input:focus-visible,body.editorial select:focus-visible,body.editorial textarea:focus-visible { outline:2px solid #141a16; outline-offset:3px; box-shadow:none; }
body.editorial .eyebrow { font-size:12px; letter-spacing:.08em; line-height:1.5; }
body.editorial footer { border-top:1px solid var(--rule); padding-block:34px; }
body.editorial footer .footer-links { font-family:"DM Sans",sans-serif; font-size:13px; letter-spacing:0; }
body.editorial .menu-panel { --foreground:#f1eee4; --mineral:#b8c0b9; --muted:#b8c0b9; --paper:#141a16; --band:#1a211c; --surface:#222a25; color:#f1eee4; }
body.editorial .menu-panel :focus-visible { outline-color:#d4f22e; }
body.editorial .rider-hero { background:#e4e7da; padding-block:54px; }
body.editorial .rider-hero::before,body.editorial .rider-hero::after { display:none; }
body.editorial .rider-hero h1 { font-size:clamp(44px,6vw,80px); line-height:1.06; margin-left:0; }
body.editorial .rider-stats b { color:#141a16; font-size:clamp(24px,3vw,42px); }
body.editorial .rider-own-mark { font-family:"DM Sans",sans-serif; letter-spacing:0; text-transform:none; font-size:13px; }
body.editorial .rider-actions .ghost { border:1px solid #536157; color:#141a16; }
body.editorial .event-hero { height:440px; }
body.editorial .event-hero-shade { background:linear-gradient(0deg,rgba(11,13,10,.85),rgba(11,13,10,.15)); }
body.editorial .event-hero-copy { color:#f1eee4; }
body.editorial .event-hero-copy .eyebrow { color:#d4f22e; }
body.editorial .event-hero-copy h1,body.editorial .event-hero-copy p { color:#f1eee4; }
body.editorial .filter { min-height:44px; font-family:"DM Sans",sans-serif; letter-spacing:0; text-transform:none; font-size:14px; }
body.editorial .filter.active { background:#141a16; color:#f1eee4; border-color:#141a16; }
body.editorial .slot-tile { background:#e4e7da; }
body.editorial .slot-tag,body.editorial .slot-cta { color:#3c521b; }
body.editorial .event-tile h2 { font-family:"DM Sans",sans-serif; font-size:22px; line-height:1.3; letter-spacing:-.02em; text-transform:none; }
body.editorial .event-tile img { height:210px; }
body.editorial .tile-date { top:165px; }
body.editorial .discovery-heading { padding-block:44px 36px; background:#e4e7da; }
body.editorial .discovery-heading h1 { font-size:clamp(44px,6vw,76px); line-height:1.04; margin-left:0; }
body.editorial .discovery-heading p:not(.eyebrow) { font-size:18px; max-width:48ch; }
body.editorial .racing-panel { border:0; border-top:2px solid var(--rule); }
body.editorial .racing-offer { border-top-color:#141a16; }
body.editorial .racing-locked b { color:transparent; }
body.editorial .racing-head h1 { line-height:1.06; font-size:clamp(44px,6vw,76px); }
body.editorial .record-coverage { padding:16px 0; border-bottom:1px solid var(--line); margin:0; font-size:14px; color:#536157; }
body.editorial .record-coverage a { text-decoration:underline; }
.skip-link { position:absolute; left:-9999px; top:10px; z-index:600; }
.skip-link:focus { left:12px; background:#d4f22e; color:#0b0d0a; padding:12px 16px; }
@media(max-width:760px) {
 body.editorial .container { width:calc(100% - 36px); }
 body.editorial .rider-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
 body.editorial .event-hero { height:380px; }
 body.editorial .event-hero h1 { font-size:40px; }
 body.editorial .event-layout { display:block; padding:36px 0; }
 body.editorial .event-overview h2 { font-size:34px; }
 body.editorial .rider-hero { padding-block:32px; }
 body.editorial .account-body { grid-template-columns:minmax(0,1fr); }
 body.editorial #acct-rider { grid-template-columns:minmax(0,1fr); }
 body.editorial .event-tile img { height:210px; }
 body.editorial .tile-date { top:165px; }
}
@media(prefers-reduced-motion:reduce) {
 body.editorial *,body.editorial *::before,body.editorial *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

body.editorial .menu-button { color:#141a16; min-width:44px; min-height:44px; }
body.editorial .rider-hero .eyebrow { color:#3c521b; }
body.editorial .rider-stats b { font-family:"DM Sans",sans-serif; font-weight:700; }
body.editorial .record-coverage { padding-inline:18px; }
body.editorial .rider-results td.c-date small { display:block; color:#536157; font:500 12px "DM Sans",sans-serif; margin-top:4px; }
body.editorial .racing-pick { color:#f1eee4; min-height:44px; font-family:"DM Sans",sans-serif; letter-spacing:0; text-transform:none; }
body.editorial .racing-pick:hover, body.editorial .racing-pick:focus-within { color:#141a16; }
body.editorial .racing-avatar span { color:#f1eee4; }
body.editorial .optional-profile summary { min-height:48px; cursor:pointer; font-weight:600; margin-block:16px; }
body.editorial .rider-cover { width:100%; max-height:240px; object-fit:cover; margin-top:24px; }

body.editorial .racing-form-chart { height:110px; max-width:580px; }
body.editorial .racing-form-chart i { background:#738965; }
body.editorial .racing-form-chart li:focus-visible { outline:2px solid #141a16; outline-offset:4px; }
body.editorial .save-ride { color:#141a16; border-color:#87927f; min-height:44px; }

body.editorial .filter.active span { color:#f1eee4; }
body.editorial .disc-tag.disc-adventure { color:#f1eee4; }

body.editorial .footer-links a { display:inline-flex; align-items:center; min-height:44px; font:500 14px/1.5 "DM Sans",sans-serif; letter-spacing:0; text-transform:none; }
body.editorial .rider-hero .eyebrow { color:#3c521b; }
body.editorial .racing-form input::placeholder,body.editorial .account-card input::placeholder { color:#536157; opacity:1; }

body.editorial .calendar-controls { --foreground:#f1eee4; --muted:#f1eee4; }
body.editorial .view-toggle button { min-height:44px; }
body.editorial .view-toggle button.active { background:#141a16; color:#f1eee4; }
body.editorial .month-switcher button { min-height:44px; min-width:44px; }

body.editorial .menu-button .burger-line { background:#141a16; }

/* Let the functional navigation wrap when text/layout is enlarged; the menu stays reachable. */
body.editorial .page-nav > nav { min-width:0; flex:1 1 auto; flex-wrap:wrap; gap:0 20px; }

/* Public landing heroes: existing brand footage behind the useful content. */
.landing-hero { position:relative; isolation:isolate; overflow:hidden; background:#0B0D0A; color:#F1EEE4; min-height:580px; display:flex; align-items:center; }
.landing-hero-media,.landing-hero-media > img { position:absolute; inset:0; width:100%; height:100%; }
.landing-hero-media { z-index:0; }
.landing-hero-media > img { object-fit:cover; object-position:center; }
.landing-hero::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:rgba(11,13,10,.72); }
.landing-hero-content { position:relative; z-index:2; padding-block:64px 40px; }
.landing-hero h1 { max-width:15ch; font:400 clamp(48px,6.5vw,88px)/1.02 Anton,Impact,sans-serif; letter-spacing:-.012em; text-transform:uppercase; margin:16px 0 22px; }
.landing-hero h1 span { display:block; color:#D4F22E; }
.landing-hero-content > p:not(.eyebrow):not(.tr-kicker) { max-width:58ch; font-size:18px; line-height:1.6; }
.landing-hero .eyebrow,.landing-hero .tr-kicker { color:#D4F22E; }
.landing-hero :is(.hub-search,.explore-search,.rider-search,.tr-search) { display:flex; align-items:center; gap:8px; padding:8px; width:100%; max-width:660px; min-height:72px; margin-top:24px; background:#FFFEF8; color:#0B0D0A; border:1px solid #A7B0A9; border-radius:3px; }
.landing-hero :is(.hub-search,.explore-search) label { flex:1; min-width:0; padding:4px 12px; }
.landing-hero :is(.hub-search,.explore-search) label span { color:#536157; font:600 11px/1.5 "DM Sans",sans-serif; letter-spacing:.02em; }
.landing-hero :is(.hub-search,.explore-search,.rider-search,.tr-search) input { min-width:0; flex:1; width:100%; min-height:44px; padding:0 10px; color:#0B0D0A; background:transparent; border:0; border-radius:0; font:400 16px/1.4 "DM Sans",sans-serif; }
.landing-hero :is(.hub-search,.explore-search) input { min-height:30px; padding:0; }
.landing-hero input::placeholder { color:#536157; opacity:1; }
.landing-hero :is(.hub-search,.explore-search,.rider-search) button { min-width:90px; min-height:52px; padding:10px 16px; border:0; border-radius:2px; background:#D4F22E; color:#0B0D0A; font:600 15px "DM Sans",sans-serif; }
.landing-hero .explore-search button b { margin:0; font-size:16px; }
.landing-hero :is(.hub-search,.explore-search,.rider-search,.tr-search):focus-within { outline:3px solid #D4F22E; outline-offset:4px; }
body.editorial .landing-hero :is(input,button):focus-visible { outline-color:#0B0D0A; }
.landing-hero .discovery-view-links,.landing-hero .tr-hero-alt { margin-top:18px; }
.landing-hero :is(.discovery-view-links,.tr-hero-alt) a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
body.editorial-dark .slot-tile { background:#222A25; opacity:1; }
body.editorial-dark .slot-tag,body.editorial-dark .slot-cta { color:#D4F22E; }
body.editorial-dark .tile-past { background:#354236; color:#F1EEE4; }
body.editorial-dark .tile-date { color:#0B0D0A; }
body.editorial-dark .filter.active,body.editorial-dark .filter:hover { background:#D4F22E; border-color:#D4F22E; color:#0B0D0A; }
body.editorial-dark .filter.active span,body.editorial-dark .filter:hover span { color:#0B0D0A; }
.cl-page.editorial.editorial-dark .cl-card { background:#222A25; }
.cl-page.editorial.editorial-dark .cl-chip[aria-pressed="true"] { background:#D4F22E; color:#0B0D0A; }
.cl-page.editorial-dark .cl-search input::placeholder { color:#B8C0B9; opacity:1; }
.cl-page.editorial-dark main > section.container { padding-top:32px; }
@media(min-width:1100px) { .landing-hero::after { background:linear-gradient(90deg,rgba(11,13,10,.80),rgba(11,13,10,.70) 68%,rgba(11,13,10,.32)); } }
@media(max-width:760px) {
 .landing-hero { min-height:0; }
 .landing-hero-content { padding-block:40px; }
 .landing-hero h1 { font-size:clamp(44px,12.8vw,62px); }
 .landing-hero-content > p:not(.eyebrow):not(.tr-kicker) { font-size:17px; }
 .landing-hero :is(.hub-search,.explore-search,.rider-search,.tr-search) { margin-top:20px; }
 .landing-hero :is(.hub-search,.explore-search) label { padding-inline:6px; }
 .landing-hero :is(.hub-search,.explore-search,.rider-search) button { min-width:78px; padding-inline:12px; }
}

/* Store calls to action replace the hero's media caption/control. */
.hero-apps { margin-top:24px; }
.hero-apps > p { color:#F1EEE4; font:600 16px/1.5 "DM Sans",sans-serif; margin:0; }
.hero-apps .store-badges { margin:4px 0 0; align-items:center; }
.hero-apps a:focus-visible { outline:3px solid #D4F22E; outline-offset:4px; border-radius:4px; }
.menu-v2 .menu-motion-toggle { align-self:flex-start; background:#222A25; color:#F1EEE4; border:1px solid #A7B0A9; min-height:44px; padding:10px 16px; margin-top:20px; border-radius:3px; font:500 14px/1.5 "DM Sans",sans-serif; }
