:root{--ink:#0f1b2d;--ink-soft:#4a5568;--paper:#f5f8fc;--leaf:#2f7d32;--line:#dde4ee;--shadow:0 6px 24px #062a4a1a;--brand-blue:#0089eb;--brand-lime:#baff01;--brand-navy:#062a4a;--brand-lime-deep:#a8e600;--accent:#0063ad;--font-display:"Montserrat", "Inter", system-ui, sans-serif;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;padding:0;line-height:1.55}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--brand-navy);font-weight:800}h1{margin:0 0 1rem;font-size:clamp(2.4rem,5vw,4rem);font-style:italic;line-height:1.05}h2{margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2.2rem)}a{color:var(--accent)}.banner{background:var(--brand-blue);color:#fff;text-align:center}.tabs{justify-content:center;gap:.5rem;max-width:1100px;margin:0 auto;padding:.75rem 1rem 0;display:flex}.tab{color:#fff;border-radius:999px;flex:0 auto;padding:.55rem 1.25rem;font-size:1.2rem;font-weight:700;line-height:1.25;text-decoration:none;transition:background .15s,color .15s}.tab:hover{background:#ffffff24}.tab:focus-visible{outline:3px solid var(--brand-lime);outline-offset:2px}.tab[aria-current=page]{background:var(--brand-lime);color:var(--brand-navy)}.banner-logo{padding:.75rem 0 1rem;display:inline-block}.banner-logo img{width:auto;height:120px;display:block}@media (width<=560px){.tabs{gap:.35rem;padding:.6rem .75rem 0}.tab{flex:1 1 0;padding:.5rem .6rem}.tab-prefix{display:none}.banner-logo img{height:96px}}.race-hero{background:var(--brand-navy);color:#fff;min-height:clamp(460px,52vw,620px);display:grid;position:relative;overflow:hidden}.race-hero-img{object-fit:cover;object-position:center 35%;width:100%;height:100%;position:absolute;inset:0}.race-hero:after{content:"";background:linear-gradient(#062a4a26 0%,#062a4abf 50%,#062a4af2 100%);position:absolute;inset:0}@media (width<=640px){.race-hero:after{background:linear-gradient(#062a4ab3 0%,#062a4af2 100%)}}.race-hero-content{z-index:1;text-align:center;align-self:end;max-width:900px;margin:0 auto;padding:3rem 1.5rem 3.5rem;position:relative}.race-hero .eyebrow{color:var(--brand-lime)}.race-hero h1{color:#fff;text-shadow:0 2px 12px #062a4a80}.race-hero .tagline{color:#ffffffeb}.landing{max-width:900px;margin:0 auto;padding:3rem 1.5rem 5rem}.hero{text-align:center;padding:2rem 0 3rem}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin:0 0 1rem;font-size:.85rem;font-weight:700}.tagline{color:var(--ink-soft);max-width:40rem;margin:0 auto 2rem;font-size:1.25rem}.cta{background:var(--brand-lime);color:var(--brand-navy);cursor:pointer;border:none;border-radius:999px;padding:.85rem 2rem;font-size:1rem;font-weight:700;text-decoration:none;transition:background .15s,transform 50ms;display:inline-block}.cta:hover{background:var(--brand-lime-deep)}.cta:active{transform:translateY(1px)}.cta:disabled{opacity:.6;cursor:default}.cta-large{padding:1rem 2.5rem;font-size:1.1rem}.about{border-top:1px solid var(--line);padding:2.5rem 0}.landing>.about:first-child{border-top:0;padding-top:0}.about p{color:var(--ink-soft);max-width:60ch;font-size:1.08rem}.gallery{border-top:1px solid var(--line);padding:2.5rem 0}.carousel{aspect-ratio:16/9;background:var(--brand-navy);box-shadow:var(--shadow);border-radius:8px;position:relative;overflow:hidden}.carousel-empty{color:#fbf8f499;justify-content:center;align-items:center;font-style:italic;display:flex}.slide{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .8s;position:absolute;inset:0}.slide-active{opacity:1}.carousel-dots{justify-content:center;gap:8px;display:flex;position:absolute;bottom:12px;left:0;right:0}.dot{cursor:pointer;background:#fbf8f466;border:none;border-radius:999px;width:8px;height:8px;padding:0}.dot-active{background:var(--paper)}.cta-strip{text-align:center;background:var(--brand-navy);color:#fff;border-radius:16px;margin-top:2.5rem;padding:3rem 1.5rem}.cta-strip h2{color:#fff}.cta-strip p{color:#ffffffd9;margin:0 0 1.5rem}.form-page{max-width:640px;margin:0 auto;padding:3rem 1.5rem 5rem}.form-lead{color:var(--ink-soft);margin-bottom:2rem}fieldset{border:1px solid var(--line);background:#fff;border-radius:8px;margin:0 0 1.5rem;padding:1.5rem}legend{font-family:var(--font-display);padding:0 .5rem;font-size:1.15rem;font-weight:700}.field{flex-direction:column;gap:.35rem;margin:0 0 1rem;display:flex}.field-label{color:var(--ink-soft);font-size:.9rem;font-weight:500}.field input,.field select{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:.65rem .8rem}.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.field-error input,.field-error select{border-color:#b3271e}.field-error-msg{color:#b3271e;font-size:.85rem}.row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=500px){.row{grid-template-columns:1fr}}.server-errors{color:#7a1a13;background:#fff2f0;border:1px solid #f4c9c4;border-radius:6px;margin:0 0 1.5rem;padding:1rem}.server-errors p{margin:.25rem 0}.message-page{text-align:center;max-width:640px;margin:0 auto;padding:5rem 1.5rem}.message-page p{color:var(--ink-soft);margin:0 0 1rem}.footer{background:var(--brand-navy);text-align:center;color:#fffc;padding:2.25rem 1.5rem;font-size:.95rem}.footer-inner{gap:.75rem;max-width:900px;margin:0 auto;display:grid}.footer p{margin:0}.footer a{color:#fff}.footer-contact a{color:var(--brand-lime);font-weight:600}.footer-links{flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;display:flex}.footer-small{color:#ffffffa6;font-size:.85rem}.facts{padding:0 0 2.5rem}.facts-grid{background:var(--line);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:1px;margin:0;display:grid;overflow:hidden}.facts-grid>div{background:#fff;padding:1rem 1.25rem}@media (width<=640px){.facts-grid{grid-template-columns:repeat(2,1fr)}.facts-grid>div{padding:.85rem 1rem}}.facts-grid dt{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.25rem;font-size:.75rem;font-weight:700}.facts-grid dd{font-family:var(--font-display);color:var(--brand-navy);margin:0;font-size:1.15rem;font-weight:800}.facts-sub{font-family:var(--font-sans);color:var(--ink-soft);font-size:.85rem;font-weight:500;display:block}.info-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.info-card{border:1px solid var(--line);border-top:4px solid var(--brand-lime);background:#fff;border-radius:10px;padding:1.1rem 1.25rem}.info-card h3{margin:0 0 .5rem;font-size:1.1rem}.info-card p,.info-card ul{color:var(--ink-soft);margin:0}.info-card ul{padding-left:1.1rem}.info-card li+li{margin-top:.35rem}.doc-page{max-width:760px;margin:0 auto;padding:3rem 1.5rem 4rem}.doc-lead{color:var(--ink-soft);margin:0 0 2rem;font-size:1.1rem}.doc-page section{border-top:1px solid var(--line);padding:1.25rem 0}.doc-page h2{margin:0 0 .6rem;font-size:1.3rem}.doc-page p,.doc-page li{color:var(--ink-soft)}.doc-page .eyebrow{color:var(--accent)}.doc-page ul{padding-left:1.25rem}.doc-page li+li{margin-top:.4rem}.field textarea{font:inherit;border:1px solid var(--line);color:var(--ink);resize:vertical;background:#fff;border-radius:6px;padding:.65rem .8rem}.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.fieldset-note{color:var(--ink-soft);margin:0 0 1rem;font-size:.9rem}.check{margin:0 0 1rem}.check-label{cursor:pointer;align-items:flex-start;gap:.65rem;display:flex}.check-label input{width:1.15rem;height:1.15rem;accent-color:var(--accent);flex:none;margin-top:.2rem}.check .field-error-msg{margin:.35rem 0 0 1.8rem;display:block}.pillars{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;padding:1rem 0 2.5rem;display:grid}.pillar{border:1px solid var(--line);border-top:4px solid var(--brand-blue);background:#fff;border-radius:10px;padding:1.25rem 1.25rem 1.1rem}.pillar h2{margin:0 0 .5rem;font-size:1.25rem}.pillar p{color:var(--ink-soft);margin:0}.event-card{background:var(--brand-navy);color:#fff;box-shadow:var(--shadow);border-radius:12px;grid-template-columns:minmax(0,2fr) minmax(0,3fr);text-decoration:none;transition:transform .15s;display:grid;overflow:hidden}.event-img{object-fit:cover;width:100%;height:100%;min-height:200px}.event-body{flex-direction:column;justify-content:center;gap:.35rem;padding:1.5rem 1.75rem;display:flex}@media (width<=640px){.event-card{grid-template-columns:1fr}.event-img{height:180px;min-height:0}}.event-card:hover{transform:translateY(-2px)}.event-date{color:var(--brand-lime);text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;font-weight:600}.event-name{font-family:var(--font-display);font-size:1.6rem;font-weight:700}.event-blurb{color:#ffffffd9}.event-link{color:var(--brand-lime);margin-top:.5rem;font-weight:600}.hero-compact{padding-bottom:1rem}.muted{color:var(--ink-soft);font-size:.95rem}.committee{margin:0 0 1rem;padding:0;list-style:none}.committee li{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.6rem 0;display:flex}.committee-role{color:var(--ink-soft)}.committee-name{font-weight:600}.constitution{counter-reset:none;padding-left:0;list-style:none}.constitution li{margin-bottom:1.25rem}.constitution h3{margin:0 0 .25rem;font-size:1.05rem}.constitution p{margin:0}.admin{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem}.admin-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.admin-who{color:var(--ink-soft);font-size:.9rem}.link-button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.admin-footnote{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:2.5rem;padding-top:1.25rem;font-size:.9rem}.notice{border:1px solid var(--line);border-left:4px solid var(--accent);background:#fff;border-radius:6px;padding:1rem 1.25rem}.stat-tiles{flex-wrap:wrap;gap:1rem;margin-bottom:2rem;display:flex}.stat-tile{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:.25rem;min-width:10rem;padding:1rem 1.5rem;display:flex}.stat-value{font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1}.stat-label{color:var(--ink-soft);font-size:.85rem}.year-filter{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.year-filter legend{color:var(--ink-soft);padding:0 .4rem;font-size:.85rem}.year-filter label{align-items:center;gap:.4rem;display:flex}.chart{border:1px solid var(--line);background:#fff;border-radius:10px;margin:0 0 1.5rem;padding:1.25rem;position:relative}.chart-wide{width:100%}.chart-pair{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.chart-title{font-family:var(--font-display);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;font-size:1.15rem;font-weight:700;display:flex}.chart-toggle{border:1px solid var(--line);font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;padding:.2rem .75rem;font-size:.75rem}.chart-toggle:hover{background:var(--paper)}.chart-empty{color:var(--ink-soft);margin:0}.chart-svg{width:100%;height:auto;display:block}.grid-line{stroke:var(--line);stroke-width:1px}.axis-label{fill:var(--ink-soft);font-size:11px;font-family:var(--font-sans)}.series-label{font-size:12px;font-weight:600;font-family:var(--font-sans)}.crosshair{stroke:var(--ink-soft);stroke-width:1px;stroke-dasharray:3 3}.legend{color:var(--ink-soft);gap:1rem;margin:0 0 .5rem;padding:0;font-size:.85rem;list-style:none;display:flex}.legend li{align-items:center;gap:.4rem;display:flex}.legend-swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.chart-tooltip{background:var(--ink);color:var(--paper);pointer-events:none;border-radius:6px;flex-direction:column;gap:.2rem;padding:.5rem .75rem;font-size:.8rem;display:flex;position:absolute;top:1.25rem;right:1.25rem}.chart-tooltip span{align-items:center;gap:.4rem;display:flex}.bars{margin:0;padding:0;list-style:none}.bar-row{grid-template-columns:8.5rem 1fr 2.5rem;align-items:center;gap:.75rem;margin-bottom:2px;padding:.2rem 0;display:grid}.bar-label{color:var(--ink-soft);font-size:.85rem}.bar-track{background:var(--paper);border-radius:4px;height:1.4rem}.bar-fill{background:#2a78d6;border-radius:0 4px 4px 0;min-width:2px;height:100%;display:block}.bar-value{text-align:right;font-size:.9rem;font-weight:600}.chart-table{border-collapse:collapse;width:100%;font-size:.9rem}.chart-table th,.chart-table td{text-align:left;border-bottom:1px solid var(--line);padding:.4rem .5rem}.chart-table td{text-align:right}.chart-table thead th{color:var(--ink-soft);font-weight:500}.import-panel{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:2rem;padding:1.5rem}.import-panel h2{font-size:1.3rem}.import-panel label{margin-bottom:1rem;font-weight:500;display:block}.import-panel input,.import-panel textarea{border:1px solid var(--line);width:100%;font:inherit;background:var(--paper);border-radius:6px;margin-top:.3rem;padding:.5rem .6rem;display:block}.import-panel textarea{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.85rem}.field-row{flex-wrap:wrap;gap:1rem;display:flex}.field-row label{flex:1;min-width:10rem}.form-success{color:var(--leaf);font-weight:500}@media (width<=640px){.bar-row{grid-template-columns:6rem 1fr 2rem;gap:.5rem}.admin{padding:1.5rem 1rem 3rem}}
