:root{--green:#4dff00;--red:#ff1616;--ink:#111;--muted:#656565;--line:#dedede;--paper:#f5f5f2;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.5}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:99;background:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}.topbar{height:88px;padding:0 clamp(1.25rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;background:#f2eee6;color:var(--ink);border-bottom:1px solid #d8d0c3;position:relative;z-index:5;overflow:hidden}.brand{display:flex;align-items:center;width:150px;height:60px;flex:0 0 150px;text-decoration:none;overflow:hidden}.brand img{display:block;width:150px!important;height:60px!important;max-width:150px;max-height:60px;object-fit:contain}.topbar nav{display:flex;gap:2rem}.topbar nav a{text-decoration:none;font-weight:700;font-size:.92rem}.topbar nav a:hover{color:#237b00}
.hero{min-height:610px;position:relative;display:flex;align-items:center;overflow:hidden;background:#fff}.hero-corner{position:absolute;top:0;left:0;width:min(28vw,430px);height:auto}.hero-sports{position:absolute;inset:0}.hero-sports img{position:absolute;height:auto}.sport-swimming{top:9%;right:28%;width:min(30vw,470px)}.sport-cycling{top:29%;right:15%;width:min(18vw,300px)}.sport-running{top:52%;right:4%;width:min(10vw,165px)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.82) 32%,rgba(0,0,0,.42) 51%,rgba(0,0,0,.08) 70%,rgba(0,0,0,0) 100%)}.hero-content{position:relative;z-index:1;color:#fff;width:min(760px,88%);margin-left:clamp(1.25rem,8vw,8rem);padding:5rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800;color:var(--green);margin:0 0 1rem}.eyebrow.dark{color:#237b00}.hero h1,.section-heading h2,.how-section h2{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;line-height:.9;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(3.8rem,7vw,7rem)}.hero h1 span{display:block;white-space:nowrap}.hero h1 em{font-style:italic;color:var(--green)}.hero-content>p:not(.eyebrow){max-width:500px;font-size:1.12rem;color:#e5e5e5;margin:1.5rem 0 2rem}.primary-button{display:inline-flex;background:var(--green);color:#0b0b0b;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:1rem 1.3rem;border:2px solid var(--green);box-shadow:6px 6px 0 var(--red);transition:transform .15s,box-shadow .15s}.primary-button:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--red)}
.results-section{max-width:1240px;margin:auto;padding:6rem clamp(1.25rem,4vw,3rem)}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:end;margin-bottom:2.5rem}.section-heading h2,.how-section h2{font-size:clamp(3rem,6vw,5.4rem)}.section-heading>p{color:var(--muted);max-width:480px;margin:0}.search-panel{background:#fff;border-top:5px solid var(--ink);padding:1.25rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;box-shadow:0 18px 50px rgba(0,0,0,.08)}.search-panel label{display:grid;gap:.45rem}.search-panel label>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.search-panel input,.search-panel select{width:100%;min-height:50px;border:1px solid #bbb;background:#fff;padding:.7rem .85rem;font:inherit;color:var(--ink);border-radius:0}.search-panel input:focus,.search-panel select:focus{outline:3px solid rgba(77,255,0,.35);border-color:#2e9400}.results-meta{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 0}.results-meta p{margin:0;color:var(--muted);font-size:.9rem}.results-meta button{border:0;background:transparent;text-decoration:underline;font:inherit;cursor:pointer}.race-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.race-card{background:#fff;border:1px solid var(--line);min-height:220px;padding:1.4rem;display:flex;flex-direction:column;position:relative;transition:transform .18s,border-color .18s}.race-card:hover{transform:translateY(-4px);border-color:#aaa}.race-card::before{content:"";position:absolute;left:-1px;top:-1px;width:8px;height:54px;background:var(--green)}.race-card[data-format="PDF"]::before{background:var(--red)}.race-year{font-family:"Barlow Condensed",sans-serif;font-size:2.2rem;font-weight:800;line-height:1}.race-card h3{font-family:"Barlow Condensed",sans-serif;font-size:1.65rem;line-height:1.05;text-transform:uppercase;margin:1rem 0 .55rem}.race-location{color:var(--muted);font-size:.88rem;margin:0 0 1rem}.race-tags{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:auto}.tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;border:1px solid var(--line);padding:.3rem .5rem}.race-results{margin-top:1rem}.race-results summary{cursor:pointer;font-weight:800;text-transform:uppercase;font-size:.8rem;letter-spacing:.06em;text-decoration:underline}.race-links{display:grid;gap:.55rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.race-link{font-weight:800;text-transform:uppercase;font-size:.76rem;letter-spacing:.05em}.race-card>.race-link{margin-top:1rem}.race-link[aria-disabled="true"]{color:#888;text-decoration:none;cursor:default}.empty-state{text-align:center;background:#fff;border:1px dashed #aaa;padding:4rem 1rem}.empty-state strong{font-family:"Barlow Condensed",sans-serif;font-size:2rem;text-transform:uppercase}.empty-state p{color:var(--muted);margin:.4rem 0 0}
.how-section{background:#111;color:#fff;padding:6rem max(1.25rem,calc((100vw - 1180px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem}.how-section ol{list-style:none;margin:0;padding:0;border-top:1px solid #444}.how-section li{display:grid;grid-template-columns:70px 1fr;gap:1rem;padding:1.35rem 0;border-bottom:1px solid #444}.how-section li>span{font-family:"Barlow Condensed",sans-serif;color:var(--green);font-size:1.55rem;font-weight:800}.how-section strong{font-size:1.02rem}.how-section li p{margin:.25rem 0 0;color:#aaa}.how-section h2{max-width:570px}footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#f2eee6;color:var(--ink);border-top:1px solid #d8d0c3;padding:2rem clamp(1.25rem,5vw,5rem);font-size:.82rem}.footer-logo-plate{display:flex;align-items:center;justify-content:center;width:120px;height:72px;background:#f2eee6;padding:.15rem .45rem;overflow:hidden}.footer-logo-plate img{display:block;width:105px;height:66px;object-fit:contain}
@media(max-width:850px){.topbar nav{display:none}.hero{min-height:560px}.hero-corner{width:330px}.sport-swimming{top:8%;right:-5%;width:60vw}.sport-cycling{top:31%;right:5%;width:34vw}.sport-running{top:53%;right:0;width:22vw}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.63))}.hero h1{font-size:clamp(3.3rem,12vw,5.8rem)}.section-heading,.how-section{grid-template-columns:1fr;gap:2rem}.search-panel{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.race-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.topbar{height:76px}.brand{width:120px;height:51px;flex-basis:120px}.brand img{width:120px!important;height:51px!important;max-width:120px;max-height:51px}.hero{min-height:520px}.hero-content{margin-left:1.25rem}.results-section{padding-top:4rem}.search-panel,.race-grid{grid-template-columns:1fr}.search-field{grid-column:auto}.how-section{padding-top:4rem;padding-bottom:4rem}footer{flex-direction:column;align-items:flex-start;gap:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.results-more{display:flex;justify-content:center;padding-top:2rem}.secondary-button{min-height:50px;border:2px solid var(--ink);background:var(--ink);color:#fff;padding:.8rem 1.3rem;font:inherit;font-weight:800;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:background .15s,color .15s}.secondary-button:hover,.secondary-button:focus-visible{background:var(--green);color:var(--ink)}.secondary-button:focus-visible{outline:3px solid rgba(77,255,0,.4);outline-offset:3px}.secondary-button[hidden]{display:none}
.quote-page{min-height:calc(100vh - 88px);padding:5rem clamp(1.25rem,5vw,5rem);background:linear-gradient(135deg,#f5f5f2 0%,#fff 62%)}.quote-intro{max-width:780px;margin-bottom:3rem}.quote-intro h1{font-family:"Barlow Condensed",sans-serif;font-size:clamp(3.6rem,7vw,6.8rem);line-height:.9;letter-spacing:-.035em;text-transform:uppercase;margin:0}.quote-intro p:last-child{max-width:650px;color:var(--muted);font-size:1.05rem;margin:1.25rem 0 0}.quote-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:2rem;align-items:start}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem;background:#fff;border-top:5px solid var(--ink);padding:clamp(1.25rem,3vw,2.5rem);box-shadow:0 18px 50px rgba(0,0,0,.08)}.form-field{display:grid;gap:.45rem}.form-field.full,.radio-field,.form-actions{grid-column:1/-1}.form-field>span,.radio-field legend{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.required-note{grid-column:1/-1;color:var(--muted);font-size:.82rem;margin:0}.quote-form input,.quote-form select,.quote-form textarea{width:100%;min-height:50px;border:1px solid #aaa;background:#fff;padding:.75rem .85rem;font:inherit;color:var(--ink);border-radius:0}.quote-form textarea{min-height:140px;resize:vertical}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:3px solid rgba(77,255,0,.35);border-color:#2e9400}.radio-field{border:0;padding:0;margin:.15rem 0}.radio-options{display:flex;gap:1.5rem;margin-top:.65rem}.radio-options label{display:flex;align-items:center;gap:.5rem}.radio-options input{width:1.1rem;min-height:auto;height:1.1rem;accent-color:#237b00}.form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.form-actions button{cursor:pointer}.form-actions small{color:var(--muted)}.contact-card{position:sticky;top:2rem;background:#111;color:#fff;padding:2rem;border-top:5px solid var(--green)}.contact-card h2{font-family:"Barlow Condensed",sans-serif;font-size:3.2rem;line-height:1;text-transform:uppercase;margin:0 0 2rem}.contact-card dl{display:grid;gap:1.5rem;margin:0}.contact-card dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-weight:800}.contact-card dd{margin:.3rem 0 0;font-size:1.05rem}.contact-card a{color:#fff;text-decoration-thickness:1px;text-underline-offset:.25rem}.success-page{min-height:calc(100vh - 88px);display:grid;place-items:center;padding:2rem;background:#f5f5f2}.success-card{max-width:680px;background:#fff;border-top:6px solid var(--green);padding:clamp(2rem,6vw,5rem);text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.08)}.success-card h1{font-family:"Barlow Condensed",sans-serif;font-size:clamp(3.2rem,7vw,5.8rem);line-height:.92;text-transform:uppercase;margin:0}.success-card p{color:var(--muted);margin:1.25rem 0 2rem}@media(max-width:850px){.quote-layout{grid-template-columns:1fr}.contact-card{position:static}.quote-form{grid-template-columns:1fr}.form-field.full,.radio-field,.form-actions,.required-note{grid-column:auto}}@media(max-width:560px){.quote-page{min-height:calc(100vh - 76px);padding-top:3rem}.quote-form{padding:1.25rem}.radio-options{gap:1rem}.form-actions{align-items:stretch}.form-actions .primary-button{justify-content:center;width:100%}}
