@font-face{font-family:FlyingFlea;src:url(../fonts/FlyingFlea-Bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Graphik;src:url(../fonts/Graphik-Medium.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(../fonts/Inter_18pt-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(../fonts/Inter_18pt-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--ff-bg:#0b0d0e;--ff-surface:#101213;--ff-surface-elevated:#17191b;--ff-field:#14171a;--ff-border:#ffffff1a;--ff-border-strong:#ffffff38;--ff-text:#f2f3f4;--ff-muted:#9ba1a6;--ff-accent:#d3ff00;--ff-accent-glow:#d3ff0073;--ff-interactive:#3ac6be;--ff-interactive-soft:#3ac6be24;--ff-interactive-line:#3ac6be8c;--ff-on-interactive:#06211f;--ff-error:#ff5a5a;--ff-success:#3ac6be;--ff-radius-card:22px;--ff-radius-control:12px;--ff-radius-pill:999px;--ff-font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ff-font-body:"Graphik", var(--ff-font-ui);--ff-font-display:"FlyingFlea", "Haettenschweiler", "Arial Narrow Bold", Impact, var(--ff-font-ui);--ff-font-text:var(--ff-font-ui);--ff-gap-tight:8px;--ff-gap:14px;--ff-gap-section:26px;--ff-gutter:clamp(10px, 3vw, 28px);--ff-content-max:46rem;--ff-card-pad:clamp(16px, 3vw, 32px);--ff-touch:44px;--ff-dial-max:340px;--ff-dial-min:300px;--surface:var(--ff-surface);--surface-muted:var(--ff-bg);--border:var(--ff-border);--text:var(--ff-text);--text-muted:var(--ff-muted);--accent:var(--ff-interactive);--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--ff-font-text);color:var(--text);background:var(--surface-muted)}*{box-sizing:border-box}body{margin:0;font-size:17px;line-height:1.5}a{color:var(--accent)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell__header{padding:.75rem var(--ff-gutter);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.5rem;display:flex}.app-shell__meta{color:var(--text-muted);margin-left:.75rem}.app-shell__nav{align-items:center;gap:1rem;display:flex}.app-shell__home{min-height:44px;padding:8px 18px;font-size:15px;text-decoration:none}.app-shell__nav-link[aria-current=page]{font-weight:600;text-decoration:none}.app-shell__main{padding:1.5rem var(--ff-gutter) 3rem;flex:1}.screen{width:min(100%, var(--ff-content-max));background:var(--surface);border:1px solid var(--border);border-radius:8px;margin:0 auto;padding:clamp(1rem,2.5vw,1.5rem)}.screen h1{margin-top:0;font-size:1.6rem}.screen__lede{color:var(--text-muted)}.screen__note{font-family:var(--ff-font-body);border-top:1px solid var(--border);color:var(--text-muted);margin-bottom:0;padding-top:1rem;font-size:.9rem}.station-badge{background:var(--surface-muted);border-radius:6px;flex-wrap:wrap;gap:1.5rem;margin:1.25rem 0;padding:.75rem 1rem;display:flex}.station-badge dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem}.station-badge dd{overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pending__title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.5rem;font-size:.8rem}.pending__list{color:var(--text-muted);margin:0;padding-left:1.25rem}.surface-list{gap:1rem;margin:1.5rem 0;padding:0;list-style:none;display:grid}.surface-list__link{font-size:1.1rem;font-weight:600}.surface-list__description{color:var(--text-muted);margin:.25rem 0 0}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:1.5rem 0 .5rem;font-size:.8rem}.registration-form{gap:1rem;width:min(100%,28rem);display:grid}.field{gap:.25rem;display:grid}.field__label{font-weight:600}.field__input{width:100%;min-width:0;min-height:var(--ff-touch);border:1px solid var(--border);border-radius:var(--ff-radius-control);background:var(--ff-field);color:var(--text);padding:.6rem .7rem;font-size:1.05rem}.field__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field__input--invalid{border-color:#b3261e}.field__error{color:#b3261e;margin:0;font-size:.9rem}.button{min-height:var(--ff-touch);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:.6rem 1rem;font-size:1rem}.button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{background:var(--accent);border-color:var(--accent);color:var(--ff-on-interactive);font-weight:600}.button--small{min-height:36px;padding:.3rem .6rem;font-size:.85rem}.button-row{flex-wrap:wrap;gap:.6rem;margin:1.25rem 0;display:flex}.notice{background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;margin:.75rem 0;padding:.75rem 1rem}.notice--error{color:var(--ff-error);background:#ff5a5a1a;border-color:#ff5a5a80}.notice--success{background:var(--ff-interactive-soft);border-color:var(--ff-interactive-line);color:var(--ff-success)}.public-code{font-feature-settings:"zero" 1, "tnum" 1;font-variant-numeric:slashed-zero tabular-nums;letter-spacing:.04em;white-space:nowrap;margin:.5rem 0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:clamp(1.15rem,5.5vw,1.5rem)}.correction{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;padding:1rem}.recent__list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.recent__item{background:var(--surface-muted);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;padding:.4rem .6rem;display:flex}.recent__code{font-feature-settings:"zero" 1, "tnum" 1;font-variant-numeric:slashed-zero tabular-nums;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.recent__time{color:var(--text-muted);margin-left:auto;font-size:.9rem}.recent__item .button{margin-left:auto}.sticker{box-sizing:border-box;color:#000;border:1px dashed var(--border);background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:1mm;width:50mm;height:40mm;padding:2mm;display:flex}.sticker__qr{width:26mm;height:26mm;display:block}.sticker__qr svg{shape-rendering:crispedges;width:100%;height:100%;display:block}.sticker__code{font-feature-settings:"zero" 1, "tnum" 1;font-variant-numeric:slashed-zero tabular-nums;letter-spacing:.02em;white-space:nowrap;text-align:center;margin:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:3.2mm;font-weight:600}#print-root{display:none}@media print{@page{size:50mm 40mm;margin:0}html,body{background:#fff;width:50mm;height:40mm;margin:0;padding:0;overflow:hidden}#root{display:none!important}#print-root{width:50mm;height:40mm;margin:0;padding:0;display:block}#print-root .sticker{break-inside:avoid;break-after:avoid;page-break-inside:avoid;page-break-after:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:none;margin:0}}.scanner{background:#000;border-radius:8px;width:min(100%,22rem);margin:1rem 0;overflow:hidden}.scanner--hidden{display:none}.scanner__video{aspect-ratio:4/3;object-fit:cover;width:100%;max-height:60vh;display:block}.participant-code{font-feature-settings:"zero" 1, "tnum" 1;font-variant-numeric:slashed-zero tabular-nums;white-space:nowrap;flex-direction:column;gap:.15rem;margin:.75rem 0 1.25rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:clamp(1.05rem,4.8vw,1.35rem);display:flex}.participant-code__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-family:system-ui,sans-serif;font-size:.75rem}.manual-entry{gap:.4rem;width:min(100%,24rem);display:grid}.manual-entry__input{font-feature-settings:"zero" 1, "tnum" 1;font-variant-numeric:slashed-zero tabular-nums;text-transform:uppercase;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem}.feedback-form{gap:1.5rem;width:min(100%,34rem);display:grid}.question{border:none;gap:.5rem;margin:0;padding:0;display:grid}.question__prompt{padding:0;font-size:1.05rem;font-weight:600}.choice-row{flex-wrap:wrap;gap:.5rem;display:flex}.choice{border:2px solid var(--border);background:var(--surface);min-width:5.5rem;min-height:3rem;color:var(--text);cursor:pointer;border-radius:8px;flex:auto;padding:.75rem 1rem;font-size:1rem}.choice--rating{min-width:3.5rem;font-size:1.25rem;font-weight:600}.choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.choice[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--ff-on-interactive);font-weight:600}.feedback-form__comments{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical;border-radius:6px;padding:.6rem .7rem}.feedback-form__comments:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.screen--wide{width:min(100%,80rem)}.report-table{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:.95rem;display:block;overflow-x:auto}.report-table th,.report-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;white-space:nowrap;padding:.45rem .6rem}.report-table th{background:var(--surface-muted);font-weight:600}.report-flag{color:#8a5300;font-size:.8rem}.report-muted{color:var(--text-muted,#6b7280);font-style:italic}.field__checkbox{align-items:flex-start;gap:.5rem;margin-top:.75rem;font-size:.9rem;line-height:1.4;display:flex}.report-detail{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;margin-top:1rem;padding:.9rem 1rem}.notice--warning{color:var(--ff-accent);background:#d3ff0014;border-color:#d3ff0080}.ff-topbar{border-bottom:1px solid var(--ff-border);color:var(--ff-text);background:#000;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:14px clamp(12px,3vw,20px);display:flex}.ff-topbar__marks{align-items:center;gap:18px;display:flex}.ff-topbar__venue{border:1px solid var(--ff-interactive-line);max-width:100%;color:var(--ff-interactive);border-radius:var(--ff-radius-pill);letter-spacing:2.5px;text-transform:uppercase;white-space:nowrap;margin-left:auto;padding:6px 14px;font-size:11px;font-weight:700}.ff-eyebrow{color:var(--ff-accent);letter-spacing:clamp(2.5px,1.2vw,5px);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800}.ff-display{font-family:var(--ff-font-display);text-transform:uppercase;letter-spacing:1px;font-weight:400;line-height:1.05}.ff-heading{margin:0;font-size:clamp(24px,4vw,34px)}.ff-heading__accent{color:var(--ff-accent)}.ff-sub{font-family:var(--ff-font-body);color:var(--ff-muted);margin:8px 0 0;font-size:15px}.ff-card{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius-card);padding:var(--ff-card-pad);margin-bottom:var(--ff-gap-section)}.ff-card__head{margin-bottom:20px}.ff-field{min-width:0;margin-bottom:18px;display:block}.ff-field__label{letter-spacing:2.5px;text-transform:uppercase;color:var(--ff-muted);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.ff-field__required{color:var(--ff-interactive)}.ff-field__control{width:100%;min-width:0;max-width:100%;min-height:var(--ff-touch);background:var(--ff-field);border:1px solid var(--ff-border);border-radius:var(--ff-radius-control);color:var(--ff-text);outline:none;padding:15px 16px;font-family:inherit;font-size:16px;font-weight:500}.ff-field__control:focus-visible{border-color:var(--ff-interactive);box-shadow:0 0 0 3px var(--ff-interactive-soft)}.ff-field__control--invalid{border-color:var(--ff-error)}textarea.ff-field__control{resize:vertical;min-height:96px;line-height:1.45}.ff-field__error{color:var(--ff-error);min-height:18px;margin:6px 0 0;font-size:14px}.ff-field__hint{color:var(--ff-muted);margin:6px 0 0;font-size:13px}.ff-grid2{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:0 20px;display:grid}.ff-button{background:var(--ff-interactive);color:var(--ff-on-interactive);border-radius:var(--ff-radius-pill);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:16px clamp(18px,5vw,28px);font-family:inherit;font-size:17px;font-weight:700;display:inline-flex}.ff-button--block{width:100%}.ff-button--quiet{color:var(--ff-text);border-color:var(--ff-border-strong);background:0 0}.ff-button:focus-visible{outline:2px solid var(--ff-interactive);outline-offset:3px}.ff-button:disabled{opacity:.5;cursor:not-allowed}.ff-plates{gap:var(--ff-gap);grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));display:grid}.ff-plate{color:#0b0d0e;min-height:62px;font-family:var(--ff-font-display);letter-spacing:3px;text-transform:uppercase;cursor:pointer;background:linear-gradient(#fff,#e7e9eb);border:1px solid #000000bf;border-radius:14px;padding:20px clamp(14px,4cqw,26px);font-size:clamp(19px,5vw,22px);position:relative;box-shadow:0 3px #0006}.ff-plate:before,.ff-plate:after{content:"";background:#9aa0a6;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:inset 0 1px 2px #00000080}.ff-plate:before{left:12px}.ff-plate:after{right:12px}.ff-plate[aria-pressed=true]{box-shadow:0 0 0 3px var(--ff-interactive), 0 0 26px #3ac6be66}.ff-plate:focus-visible{outline:3px solid var(--ff-interactive);outline-offset:3px}.ff-colours{gap:var(--ff-gap);grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));display:grid}.ff-colour{border:1px solid var(--ff-border);min-height:62px;color:var(--ff-text);font-family:var(--ff-font-display);cursor:pointer;background:#000;border-radius:20px;align-items:center;gap:12px;padding:18px 20px;font-size:clamp(17px,4.6vw,20px);display:flex}.ff-colour[aria-pressed=true]{border-color:var(--ff-interactive);box-shadow:0 0 0 2px var(--ff-interactive-soft)}.ff-colour:focus-visible{outline:3px solid var(--ff-interactive);outline-offset:3px}.ff-colour__swatch{border:2px solid #ffffff59;border-radius:50%;flex:none;width:26px;height:26px}.ff-question{margin-bottom:var(--ff-gap);background:#ffffff06;border:1px solid #ffffff12;border-radius:16px;padding:clamp(14px,3vw,20px)}.ff-question__prompt{font-family:var(--ff-font-body);color:var(--ff-text);margin:0 0 14px;padding:0;font-size:16px;font-weight:500}.ff-rating{grid-template-columns:repeat(7,minmax(0,1fr));place-items:center;gap:8px;display:grid}.ff-rating__button{cursor:pointer;width:100%;min-width:var(--ff-touch);min-height:var(--ff-touch);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;line-height:0;display:flex}.ff-rating__button svg{aspect-ratio:1;color:#f3f4f647;width:min(34px,100%);height:auto;display:block}.ff-rating__button--lit svg{color:var(--ff-accent);filter:drop-shadow(0 0 6px var(--ff-accent-glow))}.ff-rating__button:focus-visible{outline:2px solid var(--ff-interactive);outline-offset:2px}.ff-rating__value{color:var(--ff-muted);letter-spacing:2px;text-transform:uppercase;grid-column:1/-1;justify-self:start;font-size:13px}.ff-success{text-align:center;padding:32px 20px}.ff-success__tick{background:var(--ff-interactive);width:84px;height:84px;color:var(--ff-on-interactive);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;font-size:44px;display:flex;box-shadow:0 0 40px #3ac6be66}.ff-success__title{margin:0;font-size:30px}.ff-success__body{font-family:var(--ff-font-body);color:var(--ff-muted);margin:10px 0 0}.ff-home__intro{margin:clamp(14px,3vw,22px) 0 clamp(16px,3.5vw,24px)}.ff-home__date{font-family:var(--ff-font-body);color:var(--ff-text);margin:10px 0 0;font-size:clamp(15px,3.5vw,17px);font-weight:600}.ff-home__hint{font-family:var(--ff-font-body);color:var(--ff-muted);margin:2px 0 0;font-size:14px}.ff-home__surfaces{gap:var(--ff-gap);grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));margin:0;padding:0;list-style:none;display:grid}.ff-home__link{background:var(--ff-surface-elevated);border:1px solid var(--ff-border);border-radius:var(--ff-radius-card);color:var(--ff-text);flex-direction:column;height:100%;min-height:clamp(112px,20vw,138px);padding:clamp(16px,3.5vw,22px);text-decoration:none;transition:border-color .12s,background-color .12s;display:flex}@media (hover:hover){.ff-home__link:hover{border-color:var(--ff-interactive-line);background:var(--ff-field)}}.ff-home__link:focus-visible{outline:3px solid var(--ff-interactive);outline-offset:3px}.ff-home__title{font-family:var(--ff-font-display);text-transform:uppercase;font-size:clamp(19px,4.5vw,22px);line-height:1.15}.ff-home__desc{font-family:var(--ff-font-body);color:var(--ff-muted);margin:8px 0 0;font-size:15px}.ff-home__note{font-family:var(--ff-font-body);color:var(--ff-muted);letter-spacing:.6px;text-transform:uppercase;border-top:1px solid var(--ff-border);margin:auto 0 0;padding-top:12px;font-size:12px;font-weight:600}.ff-timer__target{align-items:baseline;gap:10px;margin:0 0 clamp(10px,2.5vw,16px);display:flex}.ff-timer__target-value{font-family:var(--ff-font-ui);font-variant-numeric:tabular-nums;color:var(--ff-muted);font-size:clamp(15px,3.5vw,18px);font-weight:700}.ff-timer__display{font-family:var(--ff-font-ui);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ff-text);justify-content:center;align-items:baseline;gap:clamp(4px,1.5vw,10px);padding:clamp(14px,4vw,30px) 0;line-height:1;display:flex}.ff-timer__value{letter-spacing:-.02em;font-size:clamp(56px,17vw,108px);font-weight:700}.ff-timer__unit{color:var(--ff-muted);font-size:clamp(18px,4.5vw,28px);font-weight:700}.ff-timer__reaction{text-align:center;min-height:1.4em;font-family:var(--ff-font-body);color:var(--ff-accent);margin:0 0 clamp(14px,3vw,22px);font-size:clamp(16px,4vw,20px);font-weight:600;line-height:1.4}.ff-timer__controls{gap:var(--ff-gap);flex-wrap:wrap;display:flex}.ff-timer__controls>.ff-button{min-height:var(--ff-touch);flex:8rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ff-cluster{min-width:0;margin-bottom:18px}.ff-dial{width:min(var(--ff-dial-max), 100%);aspect-ratio:1;background:linear-gradient(160deg,#2a2d31,#101214 55%,#1d2023);border-radius:50%;margin:12px auto 4px;padding:6px;position:relative;box-shadow:0 16px 40px #0009,0 2px 6px #00000080;container-type:inline-size}.ff-dial__face{background:radial-gradient(circle at 50% 32%,#1a1d20 0%,#101214 58%,#0a0c0d 100%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:clamp(4px,2.4cqw,10px);width:100%;height:100%;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 10px 30px #0000008c}.ff-dial__arc{pointer-events:none;background:conic-gradient(from 135deg, var(--ff-interactive) 0deg calc(var(--ff-dial-progress,0) * 270deg), #ffffff12 calc(var(--ff-dial-progress,0) * 270deg) 270deg, transparent 270deg);filter:drop-shadow(0 0 6px var(--ff-interactive-soft));border-radius:50%;position:absolute;inset:2%;-webkit-mask:radial-gradient(closest-side,#0000 92.5%,#000 93.5%);mask:radial-gradient(closest-side,#0000 92.5%,#000 93.5%)}.ff-dial--invalid .ff-dial__arc{background:conic-gradient(from 135deg, var(--ff-error) 0deg calc(var(--ff-dial-progress,0) * 270deg), #ffffff12 calc(var(--ff-dial-progress,0) * 270deg) 270deg, transparent 270deg)}.ff-dial__glass{pointer-events:none;background:radial-gradient(62% 30% at 50% 12%,#ffffff12,#0000 65%);border-radius:50%;position:absolute;inset:0}.ff-dial__input{color:#0000;caret-color:#0000;z-index:2;background:0 0;border:0;border-radius:50%;outline:none;width:100%;height:100%;padding:0;font-size:16px;position:absolute;inset:0}.ff-dial__input:focus-visible+.ff-dial__digits,.ff-dial:focus-within .ff-dial__digits{text-shadow:0 0 12px var(--ff-interactive)}.ff-dial:focus-within{box-shadow:0 0 0 3px var(--ff-interactive-soft), 0 16px 40px #0009}.ff-dial__digits{font-family:var(--ff-font-ui);pointer-events:none;gap:clamp(2px,1.4cqw,6px);display:flex}.ff-dial__digits span{text-align:center;font-variant-numeric:tabular-nums;color:#ffffff2e;width:1ch;font-size:clamp(13px,5cqw,24px);font-weight:500}.ff-dial__digits span.ff-dial__digit--on{color:#fff}.ff-dial__count{font-family:var(--ff-font-ui);letter-spacing:2px;color:var(--ff-interactive);pointer-events:none;font-size:clamp(9px,2.4cqw,12px);font-weight:700}.ff-dial--invalid .ff-dial__count{color:var(--ff-error)}.ff-dial__keypad{z-index:3;grid-template-columns:repeat(3,1fr);gap:clamp(4px,1.6cqw,7px);width:52%;display:grid;position:relative}.ff-dial__key{color:#ffffffeb;font-family:var(--ff-font-ui);cursor:pointer;background:#ffffff0b;border:none;border-radius:10px;min-height:max(38px,11.5cqw);padding:0;font-size:clamp(13px,5.4cqw,18px);font-weight:500}.ff-dial__key:active{background:#3ac6be47;box-shadow:0 0 14px #3ac6be59}.ff-dial__key--gap{visibility:hidden;pointer-events:none}.ff-clusters{grid-template-columns:repeat(auto-fit, minmax(min(var(--ff-dial-min), 100%), 1fr));gap:var(--ff-gap);align-items:start;display:grid}.ff-colour-experience{gap:var(--ff-gap);display:grid}.ff-bike{border:1px solid var(--ff-border);text-align:center;background:#000;border-radius:20px;padding:clamp(12px,3vw,16px)}.ff-bike__stage{aspect-ratio:940/593;width:min(100%,1.58516*clamp(180px,38vh,340px));margin:0 auto;position:relative}.ff-bike__image{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .25s;position:absolute;inset:0}.ff-bike__image--shown{opacity:1}@media (prefers-reduced-motion:reduce){.ff-bike__image{transition:none}}.ff-bike__caption{font-family:var(--ff-font-display);text-transform:uppercase;letter-spacing:1.5px;color:var(--ff-text);margin:12px 0 0;font-size:clamp(19px,5vw,24px)}.ff-hero{margin-bottom:var(--ff-gap-section)}.ff-hero__banner{border-bottom:1px solid var(--ff-border);background:var(--ff-bg);align-items:flex-end;min-height:clamp(130px,min(24vw,26vh),280px);padding:clamp(16px,4vw,28px) clamp(14px,3vw,20px);display:flex;position:relative;overflow:hidden}.ff-hero__image{object-fit:cover;object-position:center 45%;width:100%;height:100%;position:absolute;inset:0}.ff-hero__banner:after{content:"";background:linear-gradient(180deg, #0b0d0e40 0%, #0b0d0ec7 62%, var(--ff-bg) 100%);position:absolute;inset:0}.ff-hero__content{z-index:2;position:relative}.ff-event-meta{border-bottom:1px solid var(--ff-border);font-family:var(--ff-font-body);flex-wrap:wrap;align-items:baseline;gap:4px clamp(10px,3vw,18px);margin:0;padding:12px clamp(14px,3vw,20px);display:flex}.ff-event-meta__venue{color:var(--ff-text);font-size:clamp(15px,3.5vw,17px);font-weight:700}.ff-event-meta__date{color:var(--ff-muted);white-space:nowrap;font-size:clamp(13px,3vw,15px)}@media (width<=480px){.ff-rating{grid-template-columns:repeat(4,minmax(0,1fr))}.button-row{flex-direction:column;align-items:stretch}.button-row .button{width:100%}.ff-sub{font-size:14px}}@media (width>=1024px){.ff-hero__banner{min-height:280px}}
