:root{--asphalt:#15171c;--asphalt2:#20232b;--chalk:#faf7f1;--chalk2:#efe9dc;--orange:#f26a0a;--orange-d:#c24f00;--mut:#5b5f6a}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Barlow',system-ui,sans-serif;background:var(--chalk);color:var(--asphalt);font-size:1.07rem;line-height:1.65}
img{max-width:100%;height:auto}
h1,h2,h3,.navbar-brand,.sign{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;line-height:1}
h2{font-weight:800;font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:1rem}
h3{font-weight:800;font-size:1.5rem}
a{color:var(--orange-d)}
.py-6{padding:5.5rem 0}
.eyebrow{font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);font-size:.95rem;margin-bottom:.7rem}
.eyebrow.dark{color:var(--orange-d)}
.narrow{max-width:46rem}
.topbar{background:var(--orange);color:var(--asphalt);font-weight:600;font-size:.9rem;padding:.35rem 0}
.topbar a{color:var(--asphalt);text-decoration:none;font-weight:700}
.navbar{background:var(--asphalt);padding:.55rem 0}
.navbar-brand{color:#fff!important;font-weight:800;font-size:1.6rem;letter-spacing:.02em;display:flex;align-items:center;gap:.6rem}
.bib{background:#fff;color:var(--asphalt);font-size:1rem;padding:.25rem .45rem;border:2px solid var(--orange);transform:rotate(-3deg);letter-spacing:.04em}
.navbar .nav-link{color:#e9e6df;font-weight:500;font-size:.95rem}
.navbar .nav-link:hover{color:var(--orange)}
.navbar-toggler{border-color:#888}.navbar-toggler-icon{filter:invert(1)}
.btn-go{background:var(--orange);color:var(--asphalt);font-weight:700;border:0;border-radius:3px}
.btn-go:hover{background:#ff8230;color:var(--asphalt)}
.btn-ghost{border:2px solid #fff;color:#fff;font-weight:700;border-radius:3px}
.btn-ghost:hover{background:#fff;color:var(--asphalt)}
.hero{background:var(--asphalt);color:#fff;position:relative}
.hero-copy{padding-top:2.6rem;padding-bottom:2rem}
.hero h1{font-weight:800;font-size:clamp(2.8rem,8vw,6rem);margin-bottom:1rem}
.hero h1 em{font-style:italic;color:var(--orange)}
.hero .lead{max-width:40rem;color:#e6e3dc;font-size:1.15rem}
.hero-photo{height:clamp(190px,36vh,340px);overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 55%;display:block}
.finish{height:14px;background:repeating-conic-gradient(var(--asphalt) 0 25%,#fff 0 50%) 0 0/14px 14px}
.quote{background:var(--chalk2)}
.qcard{background:#fff;border-top:6px solid var(--orange);padding:1.6rem;height:100%}
.qcard p{margin:.6rem 0 0}
.index{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(2,1fr);column-gap:3rem}
.index li{border-top:2px solid var(--asphalt);padding:1.1rem 0 1.3rem}
.index h3{font-size:2rem;margin-bottom:.4rem}
.index p{margin:0;color:var(--mut)}
.band,.dark{background:var(--asphalt);color:#f1eee8}
.band h2,.dark h2{color:#fff}
.band a,.dark a{color:var(--orange)}
.photo{width:100%;display:block;border-radius:4px}
.course{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.2rem;position:relative}
.course::before{content:"";position:absolute;left:0;right:0;top:20px;border-top:4px dashed var(--orange)}
.mile{position:relative}
.sign{display:inline-block;background:#1b7a43;color:#fff;font-weight:800;font-size:1.3rem;padding:.35rem .8rem;border:3px solid #fff;outline:2px solid #1b7a43;position:relative;margin-bottom:1rem}
.mile h3{font-size:1.9rem}
.checks{list-style:none;padding:0;margin:1.2rem 0 1.5rem}
.checks li{padding:.35rem 0 .35rem 1.8rem;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:.8rem;width:.9rem;height:.5rem;border-left:3px solid var(--orange);border-bottom:3px solid var(--orange);transform:rotate(-45deg)}
.face{width:150px;height:150px;border-radius:50%;object-fit:cover;border:4px solid var(--orange);background:#fff}
#team h3{font-size:1.3rem;margin-top:.8rem}
.reviews{background:var(--chalk2)}
blockquote{background:#fff;padding:1.6rem;margin:0;height:100%;border-left:6px solid var(--orange)}
cite{display:block;font-style:normal;font-weight:600;color:var(--mut);margin-top:.8rem}
.storage{background:#ffe3cc}
.accordion-button{font-weight:600;font-size:1.05rem}
.accordion-button:not(.collapsed){background:var(--asphalt);color:#fff}
.accordion-button:focus{box-shadow:none}
.accordion-header{font-family:'Barlow',sans-serif;text-transform:none;line-height:1.3}
.big{font-family:'Barlow Condensed',sans-serif;font-size:3rem;font-weight:800;line-height:1}
.big a{text-decoration:none}
.map{width:100%;height:380px;border:0;border-radius:4px}
footer{background:var(--asphalt);color:#cfcbc2;font-size:.9rem}
footer a{color:var(--orange)}
@media(max-width:991px){.py-6{padding:3.5rem 0}.index{grid-template-columns:1fr}.course{grid-template-columns:1fr}.course::before{display:none}.hero-copy{padding-top:1.8rem}.navbar .btn-go{margin:.6rem 0}}
@media(max-width:575px){.hero .btn-lg{width:100%}.face{width:120px;height:120px}}
