:root{color-scheme:light;--ink:#202c32;--muted:#5a6569;--cream:#f6f4ef;--line:#dedbd3;--accent:#d85b36;--green:#176c58;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);line-height:1.55}.site-head,footer{display:flex;align-items:center;justify-content:space-between;padding:18px max(24px,calc((100vw - 1160px)/2));border-bottom:1px solid #eee}.site-head a,footer a{color:inherit;text-decoration:none}.site-head>a:last-child{font-size:.9rem;color:var(--muted)}.brand{font-weight:850;font-size:1.35rem;letter-spacing:-.06em}.brand span{color:var(--accent);padding:0 3px}.hero{max-width:1160px;margin:auto;padding:58px 24px 68px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:56px}.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.14em;color:var(--green);margin:0 0 14px}.hero h1{font-size:clamp(2.4rem,5.2vw,4.35rem);line-height:1.04;letter-spacing:-.06em;margin:0 0 22px}.hero h1 em{font-style:normal;color:var(--accent)}.intro{font-size:1.12rem;color:var(--muted);max-width:570px;margin:0 0 28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;font-weight:750;border-radius:9px;padding:14px 20px;min-height:50px;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.primary{background:var(--ink);color:white}.primary:hover{background:#33434a}.secondary{background:#f0eee8;color:var(--ink)}.benefits{display:flex;flex-wrap:wrap;gap:20px;list-style:none;margin:26px 0 0;padding:0;color:var(--muted);font-size:.9rem}.benefits li:before{content:"✓";color:var(--green);font-weight:900;margin-right:7px}.hero-photo{margin:0;position:relative}.hero-photo img{display:block;width:100%;max-height:570px;object-fit:cover;object-position:center 45%;border-radius:18px;background:var(--cream)}.hero-photo figcaption{position:absolute;right:14px;bottom:14px;padding:10px 14px;background:#fffE;border-radius:7px;font-size:.84rem}.configurator{background:var(--cream);padding:70px 24px 76px;text-align:center}.section-heading h2,.how h2,.faq h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.045em;line-height:1.1;margin:0 0 12px}.section-heading>p:last-child{margin:0;color:var(--muted)}.distance-picker{border:0;margin:28px auto 40px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:790px}.distance-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;min-height:112px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;cursor:pointer;transition:border .15s,box-shadow .15s}.distance-card:has(input:checked){border:2px solid var(--green);box-shadow:0 3px 13px #176c5819}.distance-card input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.distance-card:focus-within{outline:3px solid #176c5840;outline-offset:2px}.distance-number{font-size:2rem;font-weight:850;line-height:1;letter-spacing:-.06em}.distance-number span{font-size:1rem;letter-spacing:0;margin-left:2px}.distance-label{color:var(--muted);font-size:.86rem}.format-title{font-size:1.1rem;margin:0 0 14px}.format-picker{max-width:790px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left}.format-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;align-items:flex-start}.format-card.featured{border-color:#9ab8ae;box-shadow:0 8px 24px #183c3010}.format-tag{font-size:.68rem;letter-spacing:.12em;font-weight:800;color:var(--green)}.format-card h3{font-size:1.55rem;letter-spacing:-.04em;margin:7px 0}.format-card p{color:var(--muted);margin:0 0 21px;max-width:400px}.format-card .button{margin-top:auto}.privacy-note{max-width:650px;margin:18px auto 0;color:var(--muted);font-size:.84rem}.how,.faq{max-width:1000px;margin:auto;padding:70px 24px}.how>h2,.faq>h2{margin-bottom:30px}.how ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.how li{border-top:1px solid var(--line);padding-top:16px}.how li span{display:block;color:var(--accent);font-weight:800;font-size:.8rem;margin-bottom:12px}.how li strong{font-size:1.05rem}.how li p{margin:6px 0;color:var(--muted)}.faq{padding-top:28px}.faq details{border-top:1px solid var(--line);padding:17px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-weight:750;cursor:pointer}.faq details p{margin:10px 0 0;color:var(--muted)}footer{border-top:1px solid #eee;border-bottom:0;color:var(--muted);font-size:.88rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:28px;padding-top:38px}.hero-copy{order:0}.hero-photo{order:1;max-width:520px}.hero-photo img{max-height:440px}.configurator{padding:54px 18px}.distance-picker{gap:8px}.distance-card{min-height:96px}.distance-number{font-size:1.65rem}.distance-label{font-size:.74rem}.format-picker{grid-template-columns:1fr}.format-card{padding:21px}.how ol{grid-template-columns:1fr;gap:18px}.how li{padding-top:12px}.how,.faq{padding-top:52px;padding-bottom:52px}}@media(max-width:380px){.site-head,footer{padding-left:16px;padding-right:16px}.hero{padding-left:16px;padding-right:16px}.distance-picker{grid-template-columns:repeat(2,1fr);max-width:330px}.distance-card{min-height:88px}}

/* Guided selection: product first, exact race second. */
.step-progress{display:flex;justify-content:center;align-items:center;gap:clamp(16px,5vw,58px);list-style:none;margin:32px auto 36px;padding:0;color:#7a817f;font-size:.88rem;font-weight:700}
.step-progress li{display:flex;align-items:center;gap:9px}
.step-progress li span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #c8c7c0;border-radius:50%;background:#fff;font-size:.82rem}
.step-progress li.is-current,.step-progress li.is-done{color:var(--green)}
.step-progress li.is-current span,.step-progress li.is-done span{border-color:var(--green);background:var(--green);color:#fff}
.wizard-step{max-width:940px;margin:0 auto}
.wizard-step[hidden]{display:none}
.step-title{font-size:1.15rem;margin:0 0 18px}
.format-picker{max-width:940px;gap:18px}
.format-card{position:relative;padding:0;overflow:hidden;cursor:pointer;text-align:left;transition:border .16s,box-shadow .16s,transform .16s}
.format-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #183c3015}
.format-card:focus-within{outline:3px solid #176c5840;outline-offset:3px}
.format-card:has(input:checked){border:2px solid var(--green);box-shadow:0 8px 25px #176c5820}
.format-card input{position:absolute;z-index:2;top:16px;right:16px;width:24px;height:24px;accent-color:var(--green);cursor:pointer}
.format-image-wrap{display:block;width:100%;height:clamp(210px,28vw,320px);overflow:hidden;background:#e8e4dc}
.format-image-wrap img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.format-image-rect img{object-position:center 52%}
.format-tag,.format-name,.format-description,.format-select{margin-left:22px;margin-right:22px}
.format-tag{display:block;margin-top:19px;font-size:.68rem;letter-spacing:.11em;font-weight:800;color:var(--green)}
.format-name{display:block;margin-top:4px;font-size:1.7rem;font-weight:850;letter-spacing:-.05em}
.format-description{display:block;min-height:74px;margin-top:7px;margin-bottom:16px;color:var(--muted);font-size:.94rem}
.format-select{display:block;margin-top:auto;margin-bottom:20px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;font-weight:750}
.format-card:has(input:checked) .format-select{background:var(--green);border-color:var(--green);color:#fff}
.step-button{margin-top:24px;min-width:min(100%,330px);cursor:pointer;font:inherit}
.step-button:disabled{opacity:.52;cursor:not-allowed;transform:none}
.distance-step{max-width:790px}
.distance-step .distance-picker{margin-top:20px;margin-bottom:12px}
.selected-format{display:inline-block;margin:0;padding:8px 14px;border-radius:999px;background:#fff;color:var(--green);font-weight:750}
.route-confirmation{max-width:620px;margin:14px auto 0;padding:12px 16px;border:1px solid #b8d4c9;border-radius:10px;background:#fff;color:#176c58;font-weight:700}
.purchase-link{min-width:min(100%,370px)}
.back-button{display:block;margin:14px auto 0;padding:8px;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}
.privacy-note{max-width:700px;margin-top:28px}
@media(max-width:760px){.step-progress{gap:12px;font-size:.78rem}.step-progress li{gap:6px}.format-picker{grid-template-columns:1fr;max-width:500px}.format-image-wrap{height:min(68vw,310px)}.format-description{min-height:0}.distance-step .distance-picker{grid-template-columns:repeat(2,minmax(0,1fr));max-width:480px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.format-card,.button{transition:none}}
.photo-caption{display:block;margin:10px 22px 0;color:var(--muted);font-size:.78rem}
.format-image-rect img{transform:scale(1.68)}
