:root{
  --ink:#101830; --blue:#0B2A6F; --crimson:#D7263D; --ochre:#D99A3A; --snow:#F3F5F7;
  --bg:#F3F5F7; --fg:#101830; --panel:#FFFFFF; --line:#D5DAE3; --muted:#56607A;
  --night:#0D1430; --night-2:#152049;
  --display:"Big Shoulders Display","Arial Narrow","Roboto Condensed",Impact,sans-serif;
  --body:"Barlow","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --wrap:1180px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --bg:#0B1128; --fg:#EEF1F6; --panel:#131B3A; --line:#27315A; --muted:#9AA3BA; }
}
:root[data-theme="dark"]{ --bg:#0B1128; --fg:#EEF1F6; --panel:#131B3A; --line:#27315A; --muted:#9AA3BA; }

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:17px;line-height:1.55;overflow-x:hidden}
img,svg{max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--ochre);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--display);font-weight:900;line-height:.92;letter-spacing:.005em;margin:0}
h2{font-size:clamp(44px,7vw,92px)}
h3{font-size:clamp(26px,3vw,34px);font-weight:800}
p{margin:0}
.lead{font-size:clamp(18px,2vw,21px);color:var(--muted);max-width:52ch;margin-top:18px}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-weight:700;font-size:16px;text-decoration:none;border:0;cursor:pointer;
  padding:14px 22px;border-radius:999px;transition:transform .15s ease, background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-ochre{background:var(--ochre);color:#1a1204}
.btn-crimson{background:var(--crimson);color:#fff}
.btn-ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}

/* nav */
.nav{position:sticky;top:0;z-index:40;background:rgba(13,20,48,.92);backdrop-filter:blur(10px);color:#fff;transition:transform .28s ease}
.nav.scroll-hidden:not(.open){transform:translateY(-110%)}
.nav .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.logo{font-family:var(--display);font-weight:900;font-size:30px;text-decoration:none;letter-spacing:.02em;display:flex;align-items:center;gap:6px}
.logo b{display:inline-grid;place-items:center;width:34px;height:34px;background:var(--crimson);border-radius:6px;font-size:28px;line-height:1;transform:skewX(-8deg)}
.nav-pages{display:flex;align-items:center;gap:24px;font-weight:700;white-space:nowrap}
.nav-pages a{text-decoration:none;opacity:.85}
.nav-pages a:hover{opacity:1}
.nav-pages a.is-active{position:relative;z-index:0;isolation:isolate;padding:8px 16px;color:#F0B34F;opacity:1}
.nav-pages a.is-active::before{content:"";position:absolute;z-index:-1;inset:4px 2px;border:1.5px solid var(--ochre);border-radius:3px;background:linear-gradient(120deg,rgba(217,154,58,.2),rgba(217,154,58,.04));box-shadow:0 5px 18px rgba(217,154,58,.12);transform:skewX(-13deg);transition:background .2s ease,box-shadow .2s ease}
.nav-pages a.is-active:hover::before{background:rgba(217,154,58,.27);box-shadow:0 6px 22px rgba(217,154,58,.2)}
.nav-actions{display:flex;align-items:center;gap:clamp(14px,2vw,28px);margin-left:auto}
.nav #main-menu{display:grid;visibility:hidden;opacity:0;pointer-events:none;position:fixed;inset:0;z-index:1;min-width:0;max-width:none;max-height:none;overflow-y:auto;align-content:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:clamp(112px,15vh,164px) max(6vw,32px) 48px;background:radial-gradient(ellipse at 88% 18%,rgba(215,38,61,.22),transparent 34%),radial-gradient(ellipse at 12% 85%,rgba(217,154,58,.17),transparent 35%),linear-gradient(135deg,#0D1430 0%,#111C43 54%,#0A1026 100%);font-weight:600;transform:translateY(-8px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.nav #main-menu::before{content:"X";position:fixed;right:4vw;bottom:-.3em;color:rgba(255,255,255,.035);font:900 min(60vw,720px)/.8 var(--display);pointer-events:none}
.nav.open #main-menu{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
.nav #main-menu li{position:relative;z-index:1;min-width:0;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.035);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.nav #main-menu li:not(.menu-intro):hover{transform:translateY(-2px);border-color:rgba(217,154,58,.65);background:rgba(255,255,255,.075)}
.nav #main-menu li.mobile-menu-page.is-active{border-color:transparent;background:transparent}
.nav #main-menu li.mobile-menu-page.is-active a{position:relative;z-index:0;isolation:isolate;color:#F0B34F}
.nav #main-menu li.mobile-menu-page.is-active a::before{content:"";position:absolute;z-index:-1;inset:9px 8px;border:1.5px solid var(--ochre);border-radius:4px;background:linear-gradient(120deg,rgba(217,154,58,.2),rgba(217,154,58,.04));transform:skewX(-13deg)}
.nav #main-menu li.menu-intro{grid-column:1/-1;display:flex;flex-direction:column;gap:10px;margin-bottom:14px;padding:0 0 22px;border:0;border-bottom:1px solid rgba(255,255,255,.16);border-radius:0;background:transparent}
.nav #main-menu .menu-intro span{color:var(--ochre);font-size:12px;font-weight:800;letter-spacing:.2em}
.nav #main-menu .menu-intro strong{max-width:14ch;font:900 clamp(38px,6vw,76px)/.9 var(--display);letter-spacing:.01em}
.nav #main-menu li a{display:flex;min-height:92px;align-items:center;padding:18px 22px;color:#fff;font:800 clamp(23px,3vw,38px)/.95 var(--display);text-decoration:none;opacity:.94}
.nav #main-menu li a:hover{opacity:1}
.nav.open #main-menu .mobile-menu-cta{display:block;border-color:rgba(217,154,58,.55);background:rgba(217,154,58,.12)}
.nav #main-menu .mobile-menu-cta a{color:#F0B34F}
.nav #main-menu .mobile-menu-account a{font:700 17px/1.2 var(--body)}
.nav .btn{padding:10px 18px;font-size:15px}
.mobile-menu-page,.mobile-menu-cta,.mobile-menu-account{display:none}
.menu-toggle{display:flex;position:relative;z-index:3;width:44px;height:44px;padding:10px;background:none;border:0;color:#fff;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;flex:none}
.menu-toggle span{display:block;width:24px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.nav.open{backdrop-filter:none}
.nav.open .wrap{z-index:2}
.nav.open .brand,.nav.open .nav-pages,.nav.open .nav-account{position:relative;z-index:3}
.nav.open .menu-toggle span:first-child{transform:translateY(7px) rotate(45deg)}
.nav.open .menu-toggle span:nth-child(2){opacity:0}
.nav.open .menu-toggle span:last-child{transform:translateY(-7px) rotate(-45deg)}

/* HERO — the X */
.hero{position:relative;height:min(92vh,860px);min-height:620px;background:var(--night);color:#fff;overflow:hidden;--s:52%}
.hero.lean-events{--s:62%}
.hero.lean-tours{--s:42%}
.half{position:absolute;inset:0;transition:clip-path .7s cubic-bezier(.7,0,.2,1)}
.half-events{
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 38px),
    linear-gradient(160deg,#E0344A 0%, #A0142A 60%, #5E0A1B 100%);
  clip-path:polygon(0 0, calc(var(--s) + 8%) 0, calc(var(--s) - 8%) 100%, 0 100%);
}
.half-tours{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520'%3E%3Cg fill='none' stroke='%23D99A3A' stroke-opacity='.22' stroke-width='1.4'%3E%3Cpath d='M260 60c110 0 190 70 190 190s-90 210-200 210S60 380 70 260 150 60 260 60z'/%3E%3Cpath d='M260 110c85 0 145 55 145 145s-70 160-150 160-150-60-142-150S175 110 260 110z'/%3E%3Cpath d='M262 160c60 0 100 38 100 98s-48 112-104 112-104-44-98-106S202 160 262 160z'/%3E%3Cpath d='M263 208c32 0 55 20 55 52s-26 60-56 60-56-24-52-56 21-56 53-56z'/%3E%3Cpath d='M-40 40c80-30 150 10 190-40M380 520c40-60 120-50 180-110M0 470c60 10 90-40 150-30'/%3E%3C/g%3E%3C/svg%3E") center/560px,
    linear-gradient(200deg,#16275F 0%, #0B1A45 55%, #070F2B 100%);
  clip-path:polygon(calc(var(--s) + 8%) 0, 100% 0, 100% 100%, calc(var(--s) - 8%) 100%);
}
.ridge{position:absolute;left:0;right:0;bottom:0;width:100%;height:42%;pointer-events:none}

/* section media: an uploaded still or a video that only plays while its side is hovered */
.half-media{position:absolute;inset:0;overflow:hidden;opacity:.62;transition:opacity .5s ease}
.half-media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(7,12,32,.20) 0%,rgba(7,12,32,.55) 60%,rgba(7,12,32,.80) 100%)}
.half-media img,.half-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.half-media video{opacity:0;transition:opacity .45s ease}
.half-yt{position:absolute;inset:0;opacity:0;transition:opacity .45s ease;overflow:hidden}
.half-yt iframe{position:absolute;top:50%;left:50%;width:177.78vh;min-width:100%;height:56.25vw;min-height:100%;transform:translate(-50%,-50%);border:0;pointer-events:none}
.half.is-media-playing .half-media{opacity:.9}
.half.is-media-playing .half-media video,
.half.is-media-playing .half-yt{opacity:1}
.bigx{position:absolute;left:var(--s);top:50%;transform:translate(-50%,-52%);width:min(66vh,640px);height:auto;
  pointer-events:none;user-select:none;-webkit-user-drag:none;
  filter:drop-shadow(0 24px 60px rgba(0,0,0,.45));
  transition:left .7s cubic-bezier(.7,0,.2,1)}
.side{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:0 5vw;width:46%;z-index:3}
.side-events{left:0}
.side-tours{right:0;align-items:flex-end;text-align:right}
.side .div{font-weight:700;font-size:18px;display:flex;align-items:center;gap:10px}
.side .div i{display:inline-block;width:28px;height:3px;background:currentColor}
.side h1{font-size:clamp(64px,10vw,150px)}
.side p{font-size:clamp(17px,1.6vw,20px);max-width:28ch;opacity:.9}
.side .btn{align-self:flex-start}
.side-tours .btn{align-self:flex-end}
@media (hover:hover){ .side{cursor:default} }

.load .half-events{clip-path:polygon(0 0, 0 0, 0 100%, 0 100%)}
.load .half-tours{clip-path:polygon(100% 0, 100% 0, 100% 100%, 100% 100%)}
.load .bigx{opacity:0}
.bigx{transition:left .7s cubic-bezier(.7,0,.2,1), opacity .9s ease .4s}

/* strip */
.strip{background:var(--night-2);color:#fff}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.strip div{padding:22px 16px;border-left:1px solid rgba(255,255,255,.12)}
.strip div:first-child{border-left:0}
.strip strong{display:block;font-family:var(--display);font-size:38px;font-weight:800;line-height:1}
.strip span{font-size:15px;opacity:.75}

section{padding:110px 0}
.head{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end;margin-bottom:56px}
.tag{display:inline-block;font-weight:700;font-size:15px;padding:6px 14px;border-radius:999px;margin-bottom:22px}
.tag-tours{background:rgba(217,154,58,.18);color:#9A6412}
.tag-events{background:rgba(215,38,61,.18);color:#FF8C9A}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .tag-tours{color:var(--ochre)} }
:root[data-theme="dark"] .tag-tours{color:var(--ochre)}

/* route profile */
.route{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:28px;display:grid;grid-template-columns:1.6fr 1fr;gap:28px}
.route svg{width:100%;height:auto;display:block}
.route .dot{cursor:pointer}
.days{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.days button{font:600 14px var(--body);width:44px;height:38px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--fg);cursor:pointer}
.days button[aria-pressed="true"]{background:var(--ochre);border-color:var(--ochre);color:#1a1204}
.daycard{border-left:4px solid var(--ochre);padding:4px 0 4px 22px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.daycard .n{font-weight:700;color:var(--muted)}
.daycard h3{font-size:clamp(30px,3.4vw,42px)}
.daycard dl{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:6px 0 0}
.daycard dt{color:var(--muted)}
.daycard dd{margin:0;font-weight:700}

/* reasons */
.reasons{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:72px;border-top:3px solid var(--fg)}
.reasons div{padding:26px 22px 0 0}
.reasons h3{font-size:30px;margin-bottom:10px}
.reasons p{color:var(--muted)}

/* included */
.incl{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:72px}
.incl > div{border-radius:22px;padding:30px}
.incl .yes{background:var(--ochre);color:#1a1204}
.incl .no{border:2px dashed var(--line)}
.incl ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px;font-weight:600;font-size:18px}
.incl .yes li::before{content:"✓";display:inline-block;width:26px;font-weight:900}
.incl .no li{color:var(--muted)}
.incl .no li::before{content:"–";display:inline-block;width:26px}

/* tours lineup */
.lineup{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px;margin-top:72px}
.tour{border-radius:22px;padding:30px;display:flex;flex-direction:column;gap:14px;min-height:320px;position:relative;overflow:hidden}
.tour .meta{font-weight:600;opacity:.8}
.tour .price{font-family:var(--display);font-weight:800;font-size:44px;line-height:1;margin-top:auto}
.tour .price small{font-family:var(--body);font-size:15px;font-weight:600;opacity:.75}
.tour-main{background:var(--night);color:#fff}
.tour-main::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;border:2px solid rgba(217,154,58,.35);box-shadow:0 0 0 30px rgba(217,154,58,.08),0 0 0 60px rgba(217,154,58,.05)}
.tour-alt{background:var(--panel);border:1px solid var(--line)}
.tour-soon{background:transparent;border:2px dashed var(--line)}
.tour-soon .price{font-size:32px;color:var(--muted)}

/* departures */
.deps{margin-top:72px}
.deps-top{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.season-tabs{display:flex;gap:6px;background:var(--panel);border:1px solid var(--line);padding:5px;border-radius:999px}
.season-tabs button{font:700 15px var(--body);border:0;background:transparent;color:var(--fg);padding:9px 18px;border-radius:999px;cursor:pointer}
.season-tabs button[aria-selected="true"]{background:var(--fg);color:var(--bg)}
.dep{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.dep .d{font-family:var(--display);font-weight:800;font-size:30px;line-height:1}
.dep .seats{font-weight:700}
.bar{height:6px;background:var(--line);border-radius:6px;margin-top:6px;overflow:hidden;max-width:160px}
.bar i{display:block;height:100%;background:var(--ochre)}
.note{color:var(--muted);font-size:15px;margin-top:14px}

/* EVENTS */
.events{background:var(--night);color:#fff;position:relative;overflow:hidden}
.events::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg, rgba(215,38,61,.07) 0 2px, transparent 2px 46px);pointer-events:none}
.events .wrap{position:relative}
.events .lead{color:rgba(255,255,255,.72)}
/* events: card rail with arrow navigation (mirrors the trip cards) */
.rail{margin-top:8px;border-top:3px solid var(--crimson);padding-top:20px}
.rail-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.rail-count{font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.rail-nav{display:flex;gap:10px}
.rail-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.22);background:transparent;color:#fff;font-size:19px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s,opacity .2s}
.rail-btn:hover:not(:disabled),.rail-btn:focus-visible{background:var(--crimson);border-color:var(--crimson)}
.rail-btn:disabled{opacity:.3;cursor:default}
.rail-track{display:flex;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:none}
.rail-track::-webkit-scrollbar{display:none}
.rail-track > *{scroll-snap-align:start}
.ev-card{flex:0 0 calc((100% - 40px) / 3);min-width:290px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.13);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;animation:evCardIn .5s both}
.ev-card:nth-child(2){animation-delay:.06s}
.ev-card:nth-child(3){animation-delay:.12s}
.ev-card:nth-child(n+4){animation-delay:.18s}
@keyframes evCardIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (max-width: 1024px){
  .ev-card{flex-basis:calc((100% - 20px) / 2)}
}
.ev-art{height:190px;position:relative;isolation:isolate;color:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;background-size:cover;background-position:center}
.ev-art-1{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 210' preserveAspectRatio='none'%3E%3Cpath d='M0 210V120l60-40 50 30 70-70 60 50 50-30 110 80v70z' fill='%23070F2B' fill-opacity='.55'/%3E%3Cpath d='M180 40l14 14h-10l-10 8-8-10z' fill='%23fff' fill-opacity='.8'/%3E%3C/svg%3E") bottom/100% 100% no-repeat,
  linear-gradient(200deg,#B3273C,#5E0A1B 62%,#16275F)}
.ev-art-2{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 210' preserveAspectRatio='none'%3E%3Cpath d='M0 210V90l90 60 60-90 50 70 60-40 140 90v30z' fill='%23070F2B' fill-opacity='.55'/%3E%3C/svg%3E") bottom/100% 100% no-repeat,
  linear-gradient(200deg,#D99A3A,#8A4B1C 62%,#16275F)}
.ev-art-3{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 210' preserveAspectRatio='none'%3E%3Cpath d='M0 210v-60l120-30 40-40 60 40 180-10v100z' fill='%23070F2B' fill-opacity='.5'/%3E%3C/svg%3E") bottom/100% 100% no-repeat,
  linear-gradient(200deg,#6C86B8,#2C3F72 60%,#0D1430)}
.ev-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.ev-art.has-photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,12,32,.35),rgba(7,12,32,.72))}
.ev-pill{background:rgba(7,12,32,.74);border:1px solid rgba(255,255,255,.16);padding:6px 12px;border-radius:999px;font-weight:700;font-size:13px;white-space:nowrap}
.ev-stamp{font-family:var(--display);font-weight:900;font-size:clamp(30px,2.7vw,38px);line-height:.82;text-align:right;margin-left:auto}
.ev-stamp small{display:block;margin-top:6px;font-family:var(--body);font-size:13px;font-weight:700;opacity:.85;letter-spacing:.04em}
.ev-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.ev-body h3{font-size:clamp(24px,2.2vw,30px);line-height:1.04}
.ev-body h3 a{text-decoration:none}
.ev-body h3 a:hover{color:var(--crimson)}
.ev-body > p:not(.meta-line){color:rgba(255,255,255,.68);font-size:15px}
.ev-card .meta-line{color:rgba(255,255,255,.62)}
.ev-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;padding-top:12px}
.ev-foot .from{color:rgba(255,255,255,.6)}
.ev-foot .from strong{color:#fff}
.ev-foot .btn{margin-left:auto}
.ev-grid{display:grid}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.chips span{padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.08);font-weight:600}

/* ride + race */
.bridge{padding:0;background:linear-gradient(90deg,var(--crimson) 0 50%, var(--ochre) 50% 100%);color:#fff}
.bridge .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:220px;gap:20px}
.bridge h2{font-size:clamp(40px,6vw,80px)}
.bridge .x{font-family:var(--display);font-weight:900;font-size:140px;line-height:.8;color:var(--night)}
.bridge .r{text-align:right;color:#1a1204}
.bridge p{font-weight:600;margin-top:8px}

/* safety */
.safety{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.safe{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px}
.safe svg{width:38px;height:38px;color:var(--ochre)}
.safe h3{font-size:26px;margin:14px 0 8px}
.safe p{color:var(--muted);font-size:16px}

/* contact */
.contact{background:var(--night-2);color:#fff}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contact .lead{color:rgba(255,255,255,.72)}
.lines{margin-top:32px;display:grid;gap:14px;font-size:20px;font-weight:700}
.lines a{text-decoration:none}
.lines span{display:block;font-size:15px;font-weight:500;opacity:.65}
form{background:#fff;color:var(--ink);border-radius:22px;padding:30px;display:grid;gap:14px}
label{font-weight:700;font-size:15px;display:grid;gap:6px}
input,select,textarea{font:500 16px var(--body);padding:12px 14px;border:1.5px solid #CDD3DE;border-radius:12px;background:#fff;color:var(--ink);width:100%}
textarea{min-height:92px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.formnote{font-size:14px;color:#56607A}
.err{color:#B3122A;font-weight:600;font-size:15px;min-height:1em}

footer{background:var(--night);color:rgba(255,255,255,.7);padding:40px 0;font-size:15px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer .logo{color:#fff;font-size:24px}
footer .logo b{width:28px;height:28px;font-size:22px}
footer nav{display:flex;gap:20px;flex-wrap:wrap}
footer a{text-decoration:none}


/* ticker */
.ticker{display:flex;align-items:stretch;background:var(--crimson);color:#fff;font-weight:700;margin:-110px 0 90px;overflow:hidden}
.tk-label{background:#fff;color:var(--crimson);padding:12px 18px;flex:none;font-weight:800}
.tk-track{overflow:hidden;flex:1;display:flex;align-items:center}
.tk-move{display:flex;gap:56px;white-space:nowrap;padding-left:28px;animation:tk 36s linear infinite}
.tk-move a{text-decoration:none}
.tk-move a:hover{text-decoration:underline}
.ticker:hover .tk-move{animation-play-state:paused}
@keyframes tk{to{transform:translateX(-50%)}}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 80px;border-top:1px solid rgba(255,255,255,.16)}
.pillars div{padding:24px 24px 0 0}
.pillars h3{font-size:28px;color:#fff;margin-bottom:8px}
.pillars p{color:rgba(255,255,255,.65)}
.blockhead{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.bh{font-size:clamp(34px,4vw,50px);margin-bottom:18px}
.blockhead .bh{margin:0}
.season-tabs.dark{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.season-tabs.dark button{color:#fff}
.season-tabs.dark button[aria-selected="true"]{background:var(--crimson);color:#fff}
.hl{font-weight:700;text-decoration:none;border-bottom:2px solid var(--crimson);padding-bottom:2px;white-space:nowrap}
.empty{border:2px dashed rgba(255,255,255,.2);border-radius:20px;padding:40px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.empty strong{font-family:var(--display);font-size:34px;font-weight:800;line-height:1}
.empty span{color:rgba(255,255,255,.65)}
.empty .btn{margin-top:10px}
.empty.small{padding:28px}
.empty.small strong{font-size:26px}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.quick a{display:flex;flex-direction:column;gap:4px;text-decoration:none;padding:22px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:background .15s}
.quick a:hover{background:rgba(255,255,255,.12)}
.quick strong{font-family:var(--display);font-size:30px;font-weight:800;line-height:1}
.quick span{color:rgba(255,255,255,.6);font-size:15px}
.quick .q-reg{background:var(--crimson);border-color:var(--crimson)}
.quick .q-reg span{color:rgba(255,255,255,.85)}
.sports{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:14px}
.sp{border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);padding:20px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;position:relative}
.sp svg{position:absolute;top:18px;left:18px;width:44px;height:44px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.sp strong{font-family:var(--display);font-size:28px;font-weight:800;line-height:1}
.sp span{color:rgba(255,255,255,.75);font-size:15px}
.sp-big{grid-row:span 2;background:linear-gradient(160deg,#E0344A,#8E1226);border:0}
.sport-page-link{color:#fff;text-decoration:none;transition:transform .2s ease,border-color .2s ease,filter .2s ease}
.sport-page-link:hover{transform:translateY(-4px);border-color:rgba(217,154,58,.8);filter:brightness(1.1)}
.sport-page-link:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}
.sport-page-link.has-cover{isolation:isolate;overflow:hidden;background-color:#101831;background-image:linear-gradient(0deg,rgba(7,12,32,.9),rgba(7,12,32,.18) 78%),var(--sport-card-cover);background-position:center;background-size:cover}
.sport-page-link.has-cover::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,rgba(217,154,58,.14),transparent 55%);pointer-events:none}
.sport-page-link.has-cover>*{z-index:1}
.sp-big svg{width:92px;height:92px;opacity:1}
.sp-big strong{font-size:46px}
.ev-grid{grid-template-columns:1fr 1fr;gap:48px;margin-top:88px;align-items:start}
.athletes{display:grid;gap:12px}
.ath{display:flex;align-items:center;gap:18px;text-decoration:none;padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.14);transition:background .15s}
.ath:hover{background:rgba(255,255,255,.06)}
.ath .mono{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--crimson);font-family:var(--display);font-weight:900;font-size:28px;flex:none}
.ath strong{display:block;font-family:var(--display);font-size:28px;font-weight:800;line-height:1}
.ath em{font-style:normal;color:rgba(255,255,255,.65);font-size:15px}
.ath-join{border-style:dashed}
.ath-join .mono{background:transparent;border:2px dashed rgba(255,255,255,.4)}
.trainings{list-style:none;margin:0;padding:0;border-top:3px solid var(--crimson)}
.trainings li{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.trainings span{color:rgba(255,255,255,.6)}
.trainings strong{font-size:18px}
.sponsor{margin-top:88px;border-radius:24px;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
  background:repeating-linear-gradient(115deg, rgba(255,255,255,.04) 0 2px, transparent 2px 22px), #1B2556}
.sponsor h3{font-size:clamp(32px,4vw,48px)}
.sponsor p{color:rgba(255,255,255,.7);margin-top:8px}
/* crew */
.crew{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px}
.mate{background:var(--panel);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.ph{aspect-ratio:16/7;display:grid;place-items:center;background:var(--night);position:relative}
.ph svg{width:64px;height:64px;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ph-o{background:linear-gradient(200deg,#16275F,#070F2B)} .ph-o svg{stroke:var(--ochre)}
.ph-c{background:linear-gradient(160deg,#B81D33,#5E0A1B)} .ph-c svg{stroke:#fff}
.mi{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.role{font-weight:700;color:var(--muted);font-size:15px}
.mate h3{font-size:32px}
.mate h3.tbc{color:var(--muted);font-size:26px;border:2px dashed var(--line);border-radius:10px;padding:6px 10px;align-self:flex-start;font-weight:700}
.mate p{color:var(--muted)}
.creds{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.creds span{font-size:14px;font-weight:700;padding:5px 11px;border-radius:999px;background:rgba(217,154,58,.16)}
#crew-events .creds span{background:rgba(215,38,61,.14)}
.lead-mate{grid-row:span 2;background:var(--night);color:#fff;border:0}
.lead-mate .ph{aspect-ratio:auto;flex:1;min-height:260px;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cg fill='none' stroke='%23D99A3A' stroke-opacity='.25'%3E%3Ccircle cx='150' cy='150' r='60'/%3E%3Ccircle cx='150' cy='150' r='100'/%3E%3Ccircle cx='150' cy='150' r='140'/%3E%3C/g%3E%3C/svg%3E") center/cover, linear-gradient(200deg,#16275F,#070F2B)}
.lead-mate .ph span{font-family:var(--display);font-weight:900;font-size:120px;color:var(--ochre);line-height:1}
.lead-mate .role,.lead-mate p{color:rgba(255,255,255,.7)}
.lead-mate h3{font-size:48px}
@media (max-width: 960px){
  .pillars,.quick{grid-template-columns:1fr 1fr}
  .sports{grid-template-columns:1fr 1fr}
  .crew{grid-template-columns:1fr 1fr}
  .lead-mate{grid-column:span 2;grid-row:auto}
}
@media (max-width: 720px){
  .ticker{margin:-76px 0 60px}
  .pillars{grid-template-columns:1fr}
  .pillars div{padding-bottom:20px}
  .crew{grid-template-columns:1fr}
  .lead-mate{grid-column:auto}
  .sports{grid-auto-rows:120px}
  .sp-big{grid-column:span 2;grid-row:auto}
  .sp-big svg{width:60px;height:60px}
  .sp strong{font-size:22px}
  .sp svg{width:34px;height:34px}
  .ev-card{flex-basis:86%;min-width:0}
}


/* sponsor & partner logos */
.sponsors{margin-top:88px}
.tier{display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:center;padding:22px 0;border-top:1px solid rgba(255,255,255,.12)}
.tier-name{font-weight:700;color:rgba(255,255,255,.65)}
.logos{display:grid;gap:14px}
.logos-4{grid-template-columns:repeat(4,1fr)}
.logos-6{grid-template-columns:repeat(6,1fr)}
.logo-slot{height:96px;border-radius:16px;display:grid;place-items:center;border:1.5px dashed rgba(255,255,255,.22);background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.45);font-weight:700;font-size:14px;transition:background .15s,border-color .15s}
.logo-slot:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4)}
.logo-slot.big{height:130px;font-size:16px}
.logo-slot.sm{height:72px}
.logo-slot img{max-width:72%;max-height:60%;object-fit:contain;filter:grayscale(1) brightness(1.6);opacity:.85;transition:filter .2s,opacity .2s}
.logo-slot:hover img{filter:none;opacity:1}
.partners{margin-top:88px}
.plogos{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.pslot{margin:0;display:grid;gap:10px}
.pslot figcaption{font-weight:700;font-size:15px;color:var(--muted);text-align:center}
.logo-slot.light{border-color:var(--line);background:var(--panel);color:var(--muted);height:110px}
.logo-slot.light:hover{border-color:var(--fg)}
.logo-slot.light img{filter:grayscale(1);opacity:.8}
@media (max-width: 960px){
  .tier{grid-template-columns:1fr;gap:12px}
  .logos-6{grid-template-columns:repeat(3,1fr)}
  .plogos{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 720px){
  .logos-4{grid-template-columns:repeat(2,1fr)}
  .plogos{grid-template-columns:repeat(2,1fr)}
}


.partners .sub{display:block;font-weight:700;color:var(--muted);margin:26px 0 12px}
.worked{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.wm{height:130px;border-radius:16px;background:var(--panel);border:1px solid var(--line);padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .15s,transform .15s}
.wm:hover{border-color:var(--fg);transform:translateY(-2px)}
.wm strong{font-family:var(--display);font-weight:900;font-size:28px;line-height:.92;letter-spacing:.01em;text-transform:uppercase}
.wm span{font-size:14px;color:var(--muted);font-weight:600}
@media (max-width: 960px){ .worked{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width: 720px){ .wm{height:auto;min-height:110px;gap:10px;padding:14px} .wm strong{font-size:21px} .wm span{font-size:13px} }


/* ---- ride perspective ---- */
.h2s{font-size:clamp(40px,5vw,64px)}
.marquee{background:var(--ochre);color:#1a1204;overflow:hidden;white-space:nowrap;border-top:1px solid rgba(0,0,0,.1)}
.mq{display:inline-flex;gap:28px;align-items:center;padding:14px 0;animation:tk 40s linear infinite}
.mq span{font-family:var(--display);font-weight:800;font-size:26px;text-transform:uppercase;letter-spacing:.02em}
.mq i{font-style:normal;opacity:.55;font-weight:900}
.why{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;margin-bottom:96px}
.why-title h3{font-size:clamp(34px,4vw,50px)}
.why-title p{color:var(--muted);margin-top:12px}
.why-list details{border-top:1px solid var(--line)}
.why-list details:last-child{border-bottom:1px solid var(--line)}
.why-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:18px;padding:20px 0;font-family:var(--display);font-weight:800;font-size:clamp(24px,2.6vw,32px);line-height:1}
.why-list summary::-webkit-details-marker{display:none}
.why-list summary span{font-family:var(--body);font-size:14px;font-weight:700;color:var(--ochre);width:28px;flex:none}
.why-list summary::after{content:"+";margin-left:auto;font-family:var(--body);font-weight:500;font-size:28px;color:var(--muted);transition:transform .2s}
.why-list details[open] summary::after{transform:rotate(45deg)}
.why-list details p{color:var(--muted);padding:0 0 22px 46px;max-width:56ch}
.find{margin-bottom:96px}
.trips{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.trip{background:var(--panel);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.trip-art{height:210px;position:relative;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;padding:18px 20px}
.trip-art.has-photo{isolation:isolate;background:#101831}
.trip-cover-photo{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:cover}
.trip-art.has-photo::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(7,12,32,.68),rgba(7,12,32,.08) 80%);pointer-events:none}
.art-1{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 210' preserveAspectRatio='none'%3E%3Cpath d='M0 210V120l60-40 50 30 70-70 60 50 50-30 110 80v70z' fill='%23070F2B' fill-opacity='.55'/%3E%3Cpath d='M180 40l14 14h-10l-10 8-8-10z' fill='%23fff' fill-opacity='.8'/%3E%3C/svg%3E") bottom/100% 100% no-repeat,
  linear-gradient(200deg,#D99A3A,#9A5A1E 60%,#16275F)}
.art-2{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 210' preserveAspectRatio='none'%3E%3Cpath d='M0 210V90l90 60 60-90 50 70 60-40 140 90v30z' fill='%23070F2B' fill-opacity='.55'/%3E%3C/svg%3E") bottom/100% 100% no-repeat,
  linear-gradient(200deg,#6C86B8,#16275F)}
.art-3{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 210' preserveAspectRatio='none'%3E%3Cpath d='M0 210v-60l120-30 40-40 60 40 180-10v100z' fill='%235E0A1B' fill-opacity='.5'/%3E%3Crect x='170' y='110' width='60' height='30' fill='%235E0A1B' fill-opacity='.7'/%3E%3C/svg%3E") bottom/100% 100% no-repeat,
  linear-gradient(200deg,#E7C79A,#B2753E)}
.country{background:rgba(0,0,0,.35);backdrop-filter:blur(4px);padding:6px 12px;border-radius:999px;font-weight:700;font-size:14px}
.trip-days{font-family:var(--display);font-weight:900;font-size:64px;line-height:.8;text-align:right}
.trip-days small{display:block;font-family:var(--body);font-size:14px;font-weight:700;opacity:.85}
.trip-body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.trip-body h3{font-size:34px}
.meta-line{font-weight:700;font-size:14px;color:var(--muted)}
.meta-line b{color:var(--ochre);margin:0 4px}
.trip-body > p:not(.meta-line){color:var(--muted)}
.trip-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:12px}
.from{font-weight:600;color:var(--muted)}
.from strong{font-family:var(--display);font-size:32px;color:var(--fg);font-weight:800}
.trip.soon .trip-art{filter:saturate(.6)}
.signature{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;background:var(--night);color:#fff;border-radius:26px;padding:44px;margin-bottom:96px;position:relative;overflow:hidden}
.signature::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg, rgba(215,38,61,.12) 0 2px, transparent 2px 40px);pointer-events:none}
.sig-badge{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--crimson);box-shadow:0 0 0 10px rgba(217,154,58,.35);position:relative;z-index:1}
.sig-badge span{font-family:var(--display);font-weight:900;font-size:30px;line-height:.9}
.sig-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.sig-body h3{font-size:clamp(36px,4.4vw,58px)}
.sig-body p{color:rgba(255,255,255,.75);max-width:56ch}
.flag-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.bikes,.journal,.riders,.local{margin-top:96px}
.bike-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:20px}
.bike{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:10px}
.bike-art{height:150px;border-radius:16px;background:var(--bg);display:grid;place-items:center;color:var(--fg);margin-bottom:6px}
.bike-art svg{width:70%;height:auto}
.bike h3{font-size:36px}
.avail{font-weight:700;color:var(--ochre);font-size:15px}
.bike p:not(.avail){color:var(--muted)}
.bike .creds{margin-top:auto}
.bike-note{background:transparent;border:2px dashed var(--line);justify-content:center}
.bike-note .btn{align-self:flex-start;margin-top:8px}
.local{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;border-top:3px solid var(--fg);padding-top:40px}
.local-art{display:flex;gap:24px}
.local-art span{font-family:var(--display);font-weight:900;font-size:clamp(48px,6vw,84px);line-height:.88}
.local-art span:last-child{color:var(--ochre)}
.local h3{font-size:clamp(30px,3.4vw,42px);margin-bottom:12px}
.local p{color:var(--muted);max-width:48ch}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.post{display:flex;flex-direction:column;gap:12px}
.post-art{height:190px;border-radius:18px}
.pa-1{background:linear-gradient(200deg,#16275F,#070F2B)}
.pa-2{background:linear-gradient(200deg,#D99A3A,#8C5A22)}
.pa-3{background:linear-gradient(160deg,#E0344A,#5E0A1B)}
.post-art{position:relative;overflow:hidden}
.post-art::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 190' preserveAspectRatio='none'%3E%3Cpath d='M0 190V120l70-40 60 30 80-60 70 50 50-20 70 40v70z' fill='%23000' fill-opacity='.3'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
.post h3{font-size:26px;font-weight:800;line-height:1}
.soon-tag{font-weight:700;font-size:14px;color:var(--muted)}
.rider-empty{margin-top:20px;border:2px dashed var(--line);border-radius:22px;padding:40px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.rider-empty strong{font-family:var(--display);font-size:40px;font-weight:900;line-height:1}
.rider-empty p{color:var(--muted);max-width:52ch}
/* sponsors by sport */
.sponsors,#flagship,#bikes{scroll-margin-top:90px}
.sport-pills{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 20px}
.sport-pills button{font:700 15px var(--body);padding:10px 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,.2);background:transparent;color:#fff;cursor:pointer}
.sport-pills button[aria-selected="true"]{background:var(--crimson);border-color:var(--crimson)}
.sp[data-sport]{cursor:pointer;transition:transform .15s,border-color .15s}
.sp[data-sport]:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.4)}
.sp[data-sport].active{box-shadow:0 0 0 2px #fff}
@media (max-width: 960px){
  .why,.local{grid-template-columns:1fr}
  .trips,.posts{grid-template-columns:1fr 1fr}
  .bike-grid{grid-template-columns:1fr 1fr}
  .signature{grid-template-columns:1fr;padding:32px}
  .sig-badge{width:130px;height:130px}
}
@media (max-width: 720px){
  .trips,.posts,.bike-grid{grid-template-columns:1fr}
  .mq span{font-size:20px}
}

/* responsive */
@media (max-width: 960px){
  .nav #main-menu{min-height:100vh;min-height:100dvh;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;padding:112px 24px 36px}
  .nav.open #main-menu li a{padding:13px 4px}
  .nav.open #main-menu .mobile-menu-account{display:block}
  .nav.open #main-menu .mobile-menu-account a{color:rgba(255,255,255,.72)}
  .nav #main-menu li a{min-height:76px;padding:14px 16px;font-size:clamp(24px,5vw,34px)}
  .nav #main-menu li.menu-intro{padding-bottom:20px}
  .nav #main-menu .menu-intro strong{font-size:clamp(42px,9vw,68px)}
  .nav .btn{display:none}
  .head,.route,.contact .wrap,.ev-grid,.incl{grid-template-columns:1fr}
  .reasons,.safety{grid-template-columns:1fr 1fr}
  .reasons div{padding-bottom:26px}
  .lineup{grid-template-columns:1fr}
  .strip .wrap{grid-template-columns:1fr 1fr}
  .strip div:nth-child(3){border-left:0}
  .bridge{background:linear-gradient(180deg,var(--crimson) 0 50%, var(--ochre) 50% 100%)}
  .bridge .wrap{grid-template-columns:1fr;text-align:center;padding:40px 24px}
  .bridge .r{text-align:center}
  .bridge .x{font-size:90px}
}
@media (max-width: 720px){
  body{font-size:16px}
  section{padding:76px 0}
  .hero{height:auto;min-height:0;display:grid}
  .half,.bigx,.ridge{display:none}
  .side{position:relative;width:100%;padding:56px 24px;align-items:flex-start;text-align:left}
  .side-events{background:linear-gradient(160deg,#E0344A,#8E1226)}
  .side-tours{background:linear-gradient(200deg,#16275F,#070F2B)}
  .side-tours .btn{align-self:flex-start}
  .dep{grid-template-columns:1fr 1fr;row-gap:10px}

  .reasons,.safety{grid-template-columns:1fr}
  .two{grid-template-columns:1fr}
  .nav #main-menu{grid-template-columns:1fr;gap:8px;padding:104px 20px 28px}
  .nav #main-menu li a{min-height:62px;padding:12px 16px;font-size:29px}
  .nav #main-menu li.menu-intro{margin-bottom:8px}
}
@media (max-width: 600px){
  .nav-pages{display:none}
  .nav.open #main-menu .mobile-menu-page{display:block}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

/* ===================================================================
   SPORTY MOTION LAYER — canvas, stacking, hero controls, card surfaces
   =================================================================== */
#gl{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;display:block}
/* content sits above the particle canvas (z1); section backgrounds sit below it */
.wrap{position:relative;z-index:2}
.nav .wrap{position:relative;z-index:auto}
.ticker,.marquee{position:relative;z-index:2}

/* content on one side, particle object on the other (desktop) */
@media (min-width:1000px){
  [data-side] > .wrap > .head{grid-template-columns:1fr;gap:22px;max-width:56%}
  [data-side="left"] > .wrap > .head{margin-left:auto}
  [data-side] > .wrap > .head h2{font-size:clamp(44px,5.6vw,84px)}
}

/* hero: split headline reveal + slide controls */
.side h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .03em .06em 0}
.side h1 .ch{display:inline-block;will-change:transform}
.hero-ui{position:absolute;left:0;right:0;bottom:26px;z-index:4;display:flex;justify-content:center;gap:22px}
.hd{background:none;border:0;color:#fff;font:700 14px var(--body);letter-spacing:.02em;cursor:pointer;display:grid;gap:9px;min-width:104px;text-align:left;opacity:.55;transition:opacity .2s;padding:6px 0}
.hd:hover,.hd.on{opacity:1}
.hd i{display:block;height:3px;background:rgba(255,255,255,.28);border-radius:3px;overflow:hidden}
.hd b{display:block;height:100%;width:100%;background:var(--ochre);transform:scaleX(0);transform-origin:left}
.hd[data-lean="events"] b{background:#fff}
.hd.on i{background:rgba(255,255,255,.4)}
@media (max-width:720px){ .hero-ui{display:none} }

/* solid card surfaces so stacked cards never ghost through each other */
.post{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:14px 14px 22px}
.post-art{border-radius:14px}
.bike-note{background:var(--bg)}
.incl .no{background:var(--bg)}
.sp:not(.sp-big):not(.has-cover){background:#141C40}
.quick a:not(.q-reg){background:#18204A}
.ath{background:#141C40}
.wm:hover{transform:none;box-shadow:0 12px 30px rgba(0,0,0,.16)}
.sp[data-sport]:hover{transform:none;box-shadow:0 10px 26px rgba(0,0,0,.35)}

/* Ride page intro and promise section */
#tours > .wrap > .ride-page-intro{
  width:100%;max-width:none;margin:0 0 clamp(54px,7vw,92px);grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(28px,6vw,88px);align-items:center
}
#tours > .wrap > .ride-page-intro h2{max-width:12ch;font-size:clamp(52px,7vw,104px);line-height:.9;letter-spacing:-.035em;text-wrap:balance}
#tours > .wrap > .ride-page-intro .lead{position:relative;margin:0;padding:24px 0 24px 24px;border-left:3px solid var(--ochre);color:var(--muted);font-size:clamp(17px,1.5vw,21px);line-height:1.65;max-width:48ch}
#tours .ride-why{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(30px,5vw,76px);align-items:start;margin:0 0 clamp(72px,9vw,120px);padding:clamp(26px,4vw,52px);border:1px solid var(--line);border-radius:24px;background:linear-gradient(125deg,rgba(217,154,58,.09),transparent 40%),var(--panel);box-shadow:0 20px 60px rgba(0,0,0,.14)}
#tours .ride-why-title{position:relative;padding-top:18px}
#tours .ride-why-title:before{content:"";position:absolute;top:0;left:0;width:54px;height:4px;background:var(--ochre);transform:skewX(-22deg)}
#tours .ride-why-title h3{font-size:clamp(34px,4.2vw,56px);line-height:.98;max-width:9ch}
#tours .ride-why-title p{max-width:28ch}
#tours .ride-why-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(22px,3.5vw,48px)}
#tours .ride-why-list details:nth-child(2){border-top:1px solid var(--line)}
#tours .ride-why-list details:last-child{border-bottom:0}
#tours .ride-why-list summary{font-size:clamp(21px,2.1vw,29px);min-height:86px;padding:17px 0;gap:12px}
#tours .ride-why-list summary span{width:24px;font-size:12px}
#tours .ride-why-list details p{padding-left:36px}
@media(max-width:900px){
  #tours > .wrap > .ride-page-intro{grid-template-columns:1fr;gap:24px}
  #tours > .wrap > .ride-page-intro h2{max-width:14ch}
  #tours .ride-why{grid-template-columns:1fr;gap:24px}
  #tours .ride-why-title h3{max-width:none}
}
@media(max-width:600px){
  #tours .ride-why{padding:24px 20px;border-radius:18px}
  #tours .ride-why-list{grid-template-columns:1fr}
  #tours .ride-why-list details:nth-child(2){border-top:0}
  #tours .ride-why-list details:last-child{border-bottom:1px solid var(--line)}
  #tours .ride-why-list summary{min-height:0;padding:19px 0;font-size:24px}
}
.trip,.bike,.post,.safe,.mate,.wm,.sp,.quick a,.ath,.incl > div{will-change:transform}


/* ---- logo (image) ---- */
.brand{display:block;flex:none;width:198px;height:44px;text-decoration:none;
  background:var(--brand-logo, url("../images/logo.png")) left center/contain no-repeat}
footer .brand{width:162px;height:36px}
@media (max-width:720px){ .nav .brand{width:158px;height:35px} }

/* ---- stage bands: clear space so the particle object is visible at these headings ---- */
@media (min-width:1000px){
  .deps-top.band{min-height:clamp(240px,42vh,420px);align-items:center}
}

/* ---- the machines: showcase ---- */
.bikes .deps-top{margin-bottom:22px}
.mshow{background:var(--panel);border:1px solid var(--line);border-radius:34px;overflow:hidden;position:relative}
.mgrid{display:grid;height:clamp(500px,calc(100vh - 300px),620px)}
.mslide{grid-area:1/1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr) minmax(0,.7fr);gap:14px;padding:clamp(22px,3vw,40px);min-height:0;
  opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s .45s}
.mslide.on{opacity:1;visibility:visible;transition:opacity .45s ease .1s,visibility 0s}
/* staggered content: leaves up when scrolling on, rises in from below */
.m-fade{transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .5s ease}
.mslide.after .m-fade{transform:translateY(34px);opacity:0}
.mslide.before .m-fade{transform:translateY(-34px);opacity:0}
.mslide.on .m-fade{transition-delay:calc(var(--d,0)*.07s + .18s)}
/* the vehicle slides across */
.m-img{position:absolute;inset:2% -9% 11% -9%;transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .6s ease}
.mslide.after .m-img{transform:translateX(28%) scale(.84) rotate(4deg);opacity:0}
.mslide.before .m-img{transform:translateX(-28%) scale(.84) rotate(-4deg);opacity:0}
.mslide.on .m-img{transition-delay:.12s}
.m-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 26px 24px rgba(16,24,48,.28));color:transparent;font-size:0}

.m-left{display:flex;flex-direction:column;justify-content:space-between;gap:22px;position:relative;z-index:3}
.m-badge{display:flex;align-items:center;gap:12px}
.m-badge strong{display:block;font-family:var(--display);font-weight:800;font-size:28px;line-height:1}
.m-badge small{display:block;color:var(--muted);font-size:14px;font-weight:600}
.avs{display:flex;align-items:center}
.av{width:38px;height:38px;border-radius:50%;border:3px solid var(--panel);margin-left:-12px;display:block;font-style:normal;
  background:radial-gradient(circle at 50% 36%,#fff 0 20%,transparent 21%),radial-gradient(ellipse at 50% 108%,#fff 0 44%,transparent 45%),var(--c)}
.av:first-child{margin-left:0}
.a1{--c:var(--crimson)} .a2{--c:var(--ochre)} .a3{--c:var(--blue)}
.av.plus{display:grid;place-items:center;background:var(--fg);color:var(--bg);font:700 20px/1 var(--body)}
.m-mid h3{font-size:clamp(40px,4.2vw,68px);line-height:.9}
.m-mid h3 em{font-style:normal;color:var(--crimson)}
.bolt{display:inline-block;width:.5em;height:.7em;vertical-align:-.04em;color:var(--fg)}
.m-mid p{color:var(--muted);margin-top:18px;max-width:30ch;font-size:16px}
.m-actions{display:flex;gap:10px;flex-wrap:wrap}

.m-stage{position:relative;min-height:340px}
.m-ph{position:absolute;inset:14% 9% 16%;border:2px dashed var(--line);border-radius:28px;display:grid;place-content:center;text-align:center;gap:4px;color:var(--muted)}
.m-ph b{font-family:var(--display);font-weight:800;font-size:30px;line-height:1}
.m-ph small{font-weight:600;font-size:14px}
.mslide img[src=""]{visibility:hidden}
.mslide img:not([src=""])~.m-ph{display:none}
.m-floor{position:absolute;left:14%;right:14%;bottom:-3%;height:8%;background:radial-gradient(ellipse at center,rgba(16,24,48,.3),transparent 70%);filter:blur(6px);z-index:-1}
.mslide img:not([src=""])~.m-floor{z-index:0}
.m-round{position:absolute;left:50%;bottom:-2px;margin-left:-52px;width:104px;height:104px;border-radius:50%;display:grid;place-content:center;text-align:center;line-height:1.1;
  background:color-mix(in srgb,var(--crimson) 11%,var(--panel));z-index:3}
.m-round b{font-family:var(--display);font-weight:800;font-size:26px;line-height:1}
.m-round span{font-size:14px;color:var(--muted);font-weight:600}

.m-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:14px;position:relative;z-index:3}
.m-stat{width:clamp(120px,10.5vw,150px);aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;padding:8px;
  background:color-mix(in srgb,var(--crimson) 11%,var(--panel))}
.m-stat b{font-family:var(--display);font-weight:800;font-size:clamp(26px,2.5vw,36px);line-height:.95;white-space:nowrap}
.m-stat span{color:var(--muted);font-weight:600;font-size:13px;margin-top:4px;line-height:1.15}
.m-thumbs{display:grid;gap:12px;width:min(100%,230px)}
.m-th{position:relative;margin:0;aspect-ratio:2/1;border-radius:22px;overflow:hidden;background:var(--bg);border:1px solid var(--line)}
.m-th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m-th .m-ph{inset:8px;border-radius:16px;border-width:1.5px}
.m-ico{position:absolute;top:9px;left:9px;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--crimson);display:grid;place-items:center;font:800 15px/1 var(--body);z-index:2}
.m-ico.red{background:var(--crimson);color:#fff;font-size:20px}
.m-chip{position:absolute;right:9px;bottom:9px;background:var(--ink);color:#fff;font:700 13px var(--body);padding:7px 12px;border-radius:9px;z-index:2}
.m-cap{display:none;color:var(--muted);font-size:15px;max-width:22ch;align-self:flex-start;margin:0}
@media (min-height:880px) and (min-width:1101px){ .m-cap{display:block} }

.m-nav{display:flex;gap:6px 18px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:14px}
.m-dot{font:700 15px var(--body);background:none;border:0;color:var(--muted);cursor:pointer;display:flex;gap:8px;align-items:baseline;padding:8px 2px 10px;position:relative}
.m-dot span{font-size:13px;color:var(--ochre)}
.m-dot::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:var(--line);transition:background .3s}
.m-dot[aria-current="true"]{color:var(--fg)}
.m-dot[aria-current="true"]::after{background:var(--crimson)}
.m-hint{font-size:13px;font-weight:700;color:var(--muted);margin-left:10px}

@media (max-width:1100px){ .m-thumbs,.m-cap{display:none} }
@media (max-width:960px){
  .mgrid{height:auto}
  .mslide{grid-template-columns:1fr;gap:6px}
  .m-stage{order:-1;min-height:260px;margin-bottom:46px}
  .m-right{display:none}
  .m-img{inset:0 -4% 14% -4%}
  .m-left{gap:16px}
  .m-mid h3{font-size:clamp(40px,11vw,60px)}
  .m-round{width:88px;height:88px;margin-left:-44px;bottom:-46px}
  .m-hint{display:none}
}
@media (max-height:760px) and (min-width:961px){ .bikes .deps-top{margin-bottom:8px} .bikes .h2s{font-size:44px} }
