:root{--ink:#fff4f3;--muted:#c7a7ae;--green:#b33850;--surface:#250d16}
body{background:radial-gradient(ellipse at 15% 30%,#501326 0,transparent 45%),linear-gradient(150deg,#160910,#390f1e 55%,#15090e);color:var(--ink)}
header{background:rgba(28,9,17,.9);border-color:rgba(255,196,207,.12)}
.brand-dot{color:#ee8d9f}.nav-links{color:#dabec5}.nav-links a:hover{color:#fff}.menu span{background:#f9e8eb}
a:focus-visible,button:focus-visible{outline-color:#f6a0b0}
.hero{background:radial-gradient(ellipse at 22% 40%,#67182e,transparent 70%),linear-gradient(120deg,#210b14,#480f22)}
:root .hero-photo{left:43%;background-image:url('ride-coast.webp');background-position:center 66%;transform:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 8%,rgba(0,0,0,.65) 19%,#000 33%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 8%,rgba(0,0,0,.65) 19%,#000 33%)}
.hero-shade{background:linear-gradient(90deg,#300c1b 2%,rgba(52,12,28,.94) 35%,rgba(52,12,28,.24) 62%,rgba(39,8,19,.06)),linear-gradient(0deg,rgba(34,8,17,.62),transparent 30%)}
.hero-copy{max-width:780px}.hero h1{font-size:clamp(60px,6.2vw,88px)}
.hero .eyebrow,.hero-description,.hero-bottom,.hero-index{color:#f0d4da}
.green{background:linear-gradient(110deg,#b43952,#7c1736);color:#fff;box-shadow:0 8px 32px #15050b44;border:1px solid #e17b8d66}.green:hover{background:linear-gradient(110deg,#cc4762,#952344)}
.intro .eyebrow,.section-heading .eyebrow,.about-label .eyebrow{color:#ed8da1}
.intro h2 span,.about h2 span{color:#d291a1}.intro-description,.ride-types p,.section-heading>p,.about-copy>p{color:#cfb0b8}
.ride-types>div{border-color:#d8809638}.type-number{color:#ed8da1}
.moments{background:linear-gradient(135deg,#2a0e19,#511428 80%,#2b0c18)}
.photo-grid{grid-template-columns:1fr 1fr;max-width:1320px;margin:auto}.photo-card{height:700px;background-color:#3b1120}
.coast{background-image:url('ride-summit.webp');background-position:center bottom}.bike{background-image:url('ride-portrait.webp');background-position:center 70%}
.card-shade{background:linear-gradient(0deg,rgba(27,6,15,.94),rgba(37,8,19,.18) 40%,transparent 65%)}
.card-copy .eyebrow,.card-copy>p:last-child{color:#f6dce3}
.about-monogram{color:#d8607c}.about-copy .signature{color:#ffccd7}
.closing{background:radial-gradient(ellipse at top,#912842,transparent 80%),linear-gradient(110deg,#4b0e24,#731b35,#360c1b)}
.closing .eyebrow{color:#efb3c1}.dark{background:#260c17;border:1px solid #e6a2b54d}.dark:hover{background:#50142b}
footer{background:linear-gradient(100deg,#1b0a11,#300d1b)}footer p,footer>span{color:#c6a6af}
@media(max-width:800px){:root .hero-photo{left:32%}.hero-copy{padding-top:90px}.hero-shade{background:linear-gradient(90deg,rgba(40,8,21,.94),rgba(52,12,28,.72) 35%,rgba(52,12,28,.08)),linear-gradient(0deg,#250b18aa,transparent 50%)}.hero h1{font-size:64px}.photo-card{height:580px}}
@media(max-width:560px){.nav-links{background:#2b0d1b}.hero{height:960px;min-height:960px;max-height:none}:root .hero-photo{left:0;top:330px;background-position:center 70%;-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%);mask-image:linear-gradient(180deg,transparent,#000 22%)}.hero-shade{background:linear-gradient(180deg,#3a0e22 0%,#420f25 30%,rgba(57,11,32,.85) 36%,rgba(57,11,32,0) 52%),linear-gradient(0deg,#260815dd,transparent 25%)}.hero-copy{padding:44px 28px;max-width:none}.hero h1{font-size:48px;line-height:1.16;margin-bottom:18px}.hero .eyebrow{margin-bottom:20px}.hero-description{font-size:16px;line-height:1.7;margin-bottom:21px}.button{padding:13px 22px}.hero-bottom{font-size:12px}.hero-bottom>span{max-width:180px}.photo-card{height:600px}.photo-grid{grid-template-columns:1fr}.coast{background-position:center bottom}.bike{background-position:center 75%}.card-copy{bottom:32px}.card-copy h3{font-size:28px}}

/* Full-bleed photo hero with a uniform overlay. */
:root .hero-photo{inset:0;background-position:center 25%;background-size:cover;-webkit-mask-image:none;mask-image:none}
.hero-shade{background:rgba(22,5,12,.38)}
.hero-copy{text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero-bottom,.hero-index{text-shadow:0 1px 8px rgba(0,0,0,.6)}
@media(max-width:800px){:root .hero-photo{inset:0;background-position:60% 25%}.hero-shade{background:rgba(22,5,12,.4)}}
@media(max-width:560px){.hero{height:calc(100svh - 64px);min-height:790px;max-height:1100px}:root .hero-photo{inset:0;background-position:center 58%;-webkit-mask-image:none;mask-image:none}.hero-shade{background:rgba(22,5,12,.32)}.hero-copy{padding:48px 28px}.hero h1{font-size:48px}.hero-description{font-size:16px}}

/* Desktop: a taller full-bleed composition preserves the rider and bicycle. */
@media(min-width:801px){.hero{height:calc(100svh - 72px);min-height:0;max-height:none}:root .hero-photo{background-image:url('ride-coast.webp');background-position:center 29%}.hero-copy{padding-top:clamp(40px,10vh,105px)}.hero-index{top:42%}}

@media(min-width:801px) and (max-height:700px){.hero-copy{padding-top:30px}.hero h1{font-size:clamp(48px,5.4vw,72px);margin-bottom:18px}.hero .eyebrow{margin-bottom:18px}.hero-description{font-size:18px;line-height:1.6;margin-bottom:22px}}

/* Anchor the helmet near the top while preserving the one-screen desktop frame. */
@media(min-width:801px){:root .hero-photo{background-position:center calc(20px - 45.5vw)}}

.medals{padding-top:100px;padding-bottom:70px}.medals-heading{display:block;margin-bottom:40px}.medals-heading .eyebrow{color:#ed8da1}.medals-heading h2{font-size:clamp(32px,3.6vw,50px);line-height:1.28;letter-spacing:-1.7px;font-weight:650;margin:0}.medals-heading>p:last-child{font-size:17px;line-height:1.8;color:#cfb0b8;margin:24px 0 0}.medals-photo{margin:0}.medals-photo img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid #dc9bac26}.medals-photo figcaption{font-size:14px;color:#cfb0b8;margin-top:16px;text-align:right}@media(max-width:560px){.medals{padding-top:65px;padding-bottom:35px}.medals-heading{margin-bottom:28px}.medals-heading h2{font-size:32px;letter-spacing:-1px}.medals-heading>p:last-child{font-size:16px}.medals-photo img{border-radius:10px}}
