:root{
  --bg:#080b0d;--panel:#0e1417;--panel2:#11191c;--text:#f4f4f1;--muted:#c0c4c5;
  --gold:#e1a52a;--gold2:#ffb800;--line:#283136;--max:1140px;--site-width:1240px;
  --shadow:0 18px 50px rgba(0,0,0,.35)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#020303}
body{width:min(100%,var(--site-width));min-height:100vh;margin:0 auto;background:radial-gradient(circle at 80% 0,#1b1610 0,transparent 28%),var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.5;box-shadow:0 0 55px rgba(0,0,0,.72);overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{position:sticky;top:0;z-index:50;background:rgba(5,7,8,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(225,165,42,.18)}
.header-inner{height:76px;display:flex;align-items:center;gap:18px}
.brand{display:block;flex:0 0 255px}.brand img{width:100%;height:auto}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:.76rem;text-transform:uppercase;letter-spacing:.03em}
.site-nav>a:not(.button){padding:27px 0 21px;border-bottom:2px solid transparent}
.site-nav>a.active,.site-nav>a:hover{color:var(--gold);border-color:var(--gold)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:0 24px;border:1px solid var(--gold);border-radius:3px;background:linear-gradient(135deg,#f7b62f,#d99a20);color:#080808;font-weight:800;text-transform:uppercase;letter-spacing:.035em;cursor:pointer;transition:.2s transform,.2s filter}
.button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.button.ghost{background:transparent;color:var(--gold)}
.button.small{min-height:38px;padding:0 16px;font-size:.83rem}.nav-book{min-height:40px;padding-inline:16px}
.nav-toggle{display:none;margin-left:auto;background:none;border:0;padding:8px}.nav-toggle span:not(.sr-only){display:block;width:28px;height:2px;background:#fff;margin:5px}

/* HERO SYSTEM — uses original artwork strips at native resolution, right-aligned. */
.hero,.page-hero{position:relative;overflow:hidden;background:#050707;border-bottom:1px solid rgba(225,165,42,.2)}
.hero{height:384px;min-height:384px}
.page-hero{height:342px;min-height:342px;display:flex;align-items:center}
.page-hero.experience-hero{height:430px;min-height:430px}
.page-hero.booking-hero{height:336px;min-height:336px}
.hero-media{position:absolute;z-index:0;top:0;right:0;width:auto;height:100%;max-width:none;object-fit:contain;object-position:right center}
.hero::before,.page-hero::before{content:"";position:absolute;z-index:1;inset:0 auto 0 0;width:540px;background:linear-gradient(90deg,#050707 0%,#050707 78%,rgba(5,7,7,.97) 84%,rgba(5,7,7,.72) 91%,rgba(5,7,7,0) 100%);pointer-events:none}
.page-hero::before{background:linear-gradient(90deg,#060809 0%,#060809 78%,rgba(6,8,9,.97) 84%,rgba(6,8,9,.72) 91%,rgba(6,8,9,0) 100%)}
.hero>.container,.page-hero>.container{position:relative;z-index:2}
.hero-inner{max-width:510px;padding:31px 0 24px}
.page-hero-content{max-width:500px;padding:34px 0}
.eyebrow{color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.22em;font-size:.82rem}
.hero h1,.page-hero h1,.section-title{font-family:Impact,'Arial Narrow',Arial,sans-serif;text-transform:uppercase;letter-spacing:.03em;line-height:.9;margin:.16em 0}
.hero h1{font-size:3.4rem;white-space:nowrap}
.home-hero h1 .gold{white-space:nowrap}
.page-hero h1{font-size:4rem}
.experience-hero h1{font-size:4rem;white-space:nowrap}
.booking-hero h1{font-size:4.45rem}
.gold{color:var(--gold)}
.hero .lead{font-size:1.02rem;max-width:490px;color:#f3f3f0;margin:18px 0 0}
.page-hero p{font-size:1.02rem;color:#eee;max-width:490px;margin:12px 0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}
.back-link{display:inline-block;color:var(--gold);margin-bottom:10px}

.feature-strip{border-bottom:1px solid var(--line);background:#0b1012}.feature-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.feature{padding:20px 16px;border-right:1px solid var(--line);display:flex;gap:12px;align-items:center;font-weight:700;text-transform:uppercase;font-size:.84rem;min-width:0}
.feature:last-child{border:0}.feature-icon{color:var(--gold);font-size:1.7rem;line-height:1}

.section{padding:66px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-title{font-size:clamp(2.3rem,4vw,4.2rem)}.section-heading p{max-width:600px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:linear-gradient(180deg,#11181b,#0b1012);border:1px solid #303a3e;border-radius:8px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.card-media{aspect-ratio:16/7;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.card:hover .card-media img{transform:scale(1.035)}.card-body{padding:22px;display:flex;flex-direction:column;flex:1}.card h3{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:1.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gold);margin:0 0 8px}.card p{color:var(--muted);margin:0 0 20px}.card-meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px}.price{font-weight:800}.price strong{font-size:1.35rem}.tag{position:absolute;background:var(--gold);color:#080808;font-weight:900;text-transform:uppercase;padding:7px 22px;font-size:.75rem;transform:translate(-12px,18px) rotate(-45deg);z-index:2}.card-wrap{position:relative}
.band{position:relative;overflow:hidden;background:#090d0f;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.band-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;opacity:.34}.band::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#090d0f,rgba(31,22,11,.62));pointer-events:none}.band-inner{position:relative;z-index:1;padding:42px 0;display:grid;grid-template-columns:1.1fr 1.9fr;gap:40px;align-items:center}.band h2{font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.03em;color:#fff;font-size:2rem;margin:.15em 0}.band p{color:var(--muted)}
.info-bar{margin-top:-28px;position:relative;z-index:3}.info-grid{background:rgba(9,13,15,.98);border:1px solid rgba(225,165,42,.55);display:grid;grid-template-columns:repeat(4,1fr);border-radius:8px;overflow:hidden}.info-item{padding:23px 22px;border-right:1px solid rgba(225,165,42,.35);min-width:0}.info-item:last-child{border:0}.info-item b{display:block;text-transform:uppercase;letter-spacing:.04em}.info-item span{color:var(--muted)}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.copy-block{padding-right:25px;border-right:1px solid rgba(225,165,42,.35);min-width:0}.copy-block:last-child{border:0}.copy-block h2,.legal-card h2,.content h2{font-family:Georgia,serif;color:var(--gold);text-transform:uppercase;letter-spacing:.07em}.check-list,.icon-list{list-style:none;padding:0;margin:14px 0}.check-list li,.icon-list li{margin:10px 0;padding-left:27px;position:relative}.check-list li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:900}.icon-list li::before{content:'•';position:absolute;left:6px;color:var(--gold)}
.cta-panel{margin-top:42px;border:1px solid rgba(225,165,42,.5);border-radius:8px;padding:28px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:#0e1315}.cta-panel h2{margin:0 0 8px;color:var(--gold);font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.06em}.cta-panel p{margin:0;color:var(--muted)}
.bike-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.bike-card{border:1px solid #313a3e;border-radius:10px;overflow:hidden;background:#0e1417}.bike-card img{width:100%;aspect-ratio:16/7;object-fit:cover}.bike-card-body{padding:22px}.bike-card h3{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:2rem;margin:0}.mini-rule{height:2px;width:70px;background:var(--gold);margin:10px 0 15px}.specs{display:grid;grid-template-columns:90px 1fr;gap:10px 14px;font-size:.95rem}.specs dt{color:var(--gold);font-weight:800}.specs dd{margin:0;color:var(--muted)}
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.price-card{background:#0d1316;border:1px solid #303a3e;padding:26px;border-radius:8px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}.price-card h3{margin:0 0 8px;font-size:1.4rem}.price-card p{margin:0;color:var(--muted)}.price-amount{color:var(--gold);font-size:1.5rem;font-weight:900;white-space:nowrap}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-card{border:1px solid #303a3e;background:#0d1316;border-radius:8px;padding:28px}.contact-card .big-icon{font-size:2.4rem;color:var(--gold)}.contact-card h3{font-size:1.3rem;margin:.35em 0}.contact-card strong{font-size:1.5rem}.form-shell{display:grid;grid-template-columns:1fr .8fr;gap:35px;margin-top:34px}.form-card,.side-card{background:#0d1316;border:1px solid #303a3e;border-radius:8px;padding:28px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field.full{grid-column:1/-1}.field label{font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid #39454a;background:#070a0b;color:#fff;border-radius:4px;padding:13px 14px;font:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.field small{color:#9ea5a8}.honeypot{position:absolute;left:-9999px}.notice{padding:14px 16px;border:1px solid rgba(225,165,42,.45);background:#151309;color:#efe4c8;border-radius:5px}.error{border-color:#c65656;background:#271111;color:#ffdede}.success{border-color:#4f8e67;background:#0d2115;color:#dff9e8}
.faq{display:grid;gap:12px}.faq details{border:1px solid #2f393d;border-radius:7px;background:#0d1316;padding:0 20px}.faq summary{cursor:pointer;font-weight:800;padding:18px 0}.faq details p{color:var(--muted);padding:0 0 18px;margin:0}.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.legal-card{background:#0d1316;border:1px solid #303a3e;border-radius:8px;padding:24px}.legal-card h2{font-size:1.05rem;margin-top:0}.legal-card p,.legal-card li{color:var(--muted)}.content{max-width:940px}.content p,.content li{color:var(--muted)}.content h2{margin-top:2rem}.content h3{margin-top:1.6rem}
.site-footer{border-top:1px solid rgba(225,165,42,.3);background:#050708;padding:48px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:36px}.footer-logo{width:330px;margin-bottom:14px}.footer-grid h3{color:var(--gold);text-transform:uppercase;font-size:.85rem;letter-spacing:.08em}.footer-grid a{display:block;color:var(--muted);margin:7px 0}.footer-grid a:hover{color:var(--gold)}.legal-note{margin-top:28px;padding-top:20px;border-top:1px solid #222a2d;color:#9da4a7;font-size:.84rem}.footer-bottom{display:flex;justify-content:space-between;gap:20px;color:#8f9699;font-size:.82rem;padding-top:18px}.cookie-banner{position:fixed;z-index:80;left:20px;right:20px;bottom:20px;max-width:760px;margin:auto;background:#0b1012;border:1px solid rgba(225,165,42,.65);box-shadow:var(--shadow);padding:16px 18px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:18px}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:0;font-size:.9rem;color:var(--muted)}.cookie-banner>div{display:flex;align-items:center;gap:16px;white-space:nowrap}.cookie-banner a{color:var(--gold)}
.hero *,.page-hero *,.card *,.bike-card *,.contact-card *,.info-item *,.copy-block *{overflow-wrap:break-word}

@media (max-width:1180px){
  .brand{flex-basis:235px}.site-nav{gap:9px;font-size:.72rem}.nav-book{padding-inline:12px}
  .cards{grid-template-columns:repeat(2,1fr)}.bike-grid{grid-template-columns:1fr 1fr}.bike-card:last-child{grid-column:1/-1}.three-col{gap:24px}
}
@media (max-width:1050px){
  .header-inner{height:70px}.brand{flex-basis:min(330px,68vw)}.nav-toggle{display:block}.site-nav{position:absolute;top:70px;left:0;right:0;background:#060809;border-bottom:1px solid #2b3235;padding:15px 24px 22px;display:none;flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav>a:not(.button){padding:12px 0;border-bottom:1px solid #22282b}.site-nav .button{margin-top:14px}
  .hero,.page-hero,.page-hero.experience-hero,.page-hero.booking-hero{height:auto;min-height:0;padding-top:300px;display:block}
  .hero-media{height:300px;width:auto;top:0;right:0;max-width:none}
  .hero::before,.page-hero::before{display:none}
  .hero>.container,.page-hero>.container{background:#050707;width:100%;max-width:none;padding:0 24px}
  .page-hero>.container{background:#060809}
  .hero-inner,.page-hero-content{max-width:720px;padding:34px 0 38px}
  .hero h1{font-size:3.7rem}.page-hero h1,.experience-hero h1,.booking-hero h1{font-size:3.7rem}
  .home-hero h1 .gold{white-space:normal}
  .feature-grid{grid-template-columns:repeat(3,1fr)}.feature:nth-child(3){border-right:0}.feature:nth-child(n+4){border-top:1px solid var(--line)}
  .info-grid{grid-template-columns:1fr 1fr}.info-item:nth-child(2){border-right:0}.info-item:nth-child(n+3){border-top:1px solid rgba(225,165,42,.35)}
  .three-col{grid-template-columns:1fr}.copy-block{border-right:0;border-bottom:1px solid rgba(225,165,42,.25);padding:0 0 25px}.copy-block:last-child{border-bottom:0}.form-shell{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.legal-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.price-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .container{width:min(100% - 28px,var(--max))}
  .hero,.page-hero,.page-hero.experience-hero,.page-hero.booking-hero{padding-top:240px}
  .hero-media{height:240px}
  .hero>.container,.page-hero>.container{padding:0 14px}
  .hero h1{font-size:3.15rem}.page-hero h1,.experience-hero h1,.booking-hero h1{font-size:3.15rem}
  .hero .lead,.page-hero p{font-size:1rem}
  .feature-grid{grid-template-columns:1fr 1fr}.feature:nth-child(odd){border-right:1px solid var(--line)}.feature:nth-child(even){border-right:0}.feature:nth-child(n+3){border-top:1px solid var(--line)}
  .cards,.bike-grid,.legal-grid{grid-template-columns:1fr}.bike-card:last-child{grid-column:auto}.band-inner{grid-template-columns:1fr}.section{padding:50px 0}.section-heading{display:block}.info-grid{grid-template-columns:1fr}.info-item{border-right:0;border-top:1px solid rgba(225,165,42,.35)}.info-item:first-child{border-top:0}.cta-panel{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.cookie-banner{align-items:flex-start;flex-direction:column}.price-card{grid-template-columns:1fr}.hero-actions .button{width:100%}.card-meta{align-items:flex-start;flex-direction:column}
}

/* v10 mobile image sizing: compact artwork, no giant cropped heroes. */
.hero-picture{display:block}
@media (max-width:700px){
  .hero,.page-hero,.page-hero.experience-hero,.page-hero.booking-hero{
    height:auto;
    min-height:0;
    padding-top:0;
    display:block;
  }
  .hero-picture{
    position:relative;
    width:100%;
    height:145px;
    overflow:hidden;
    background:#050707;
  }
  .home-hero .hero-picture{height:150px}
  .hero-media{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:100%;
    object-fit:cover;
    object-position:center center;
  }
  .hero>.container,.page-hero>.container{
    width:100%;
    max-width:none;
    padding:0 14px;
  }
  .hero-inner,.page-hero-content{
    max-width:none;
    padding:24px 0 28px;
  }
  .hero h1,.page-hero h1,.experience-hero h1,.booking-hero h1{
    font-size:clamp(2.35rem,12vw,3rem);
    white-space:normal;
  }
  .home-hero h1 .gold,.experience-hero h1{white-space:normal}
  .hero .lead,.page-hero p{font-size:.98rem}
  .card-media{aspect-ratio:16/6;max-height:138px}
  .bike-card img{aspect-ratio:16/6;max-height:140px}
}
@media (max-width:420px){
  .hero-picture,.home-hero .hero-picture{height:130px}
  .hero-inner,.page-hero-content{padding:22px 0 26px}
  .card-media{max-height:126px}
  .bike-card img{max-height:128px}
}

/* v11 mobile width correction — deliberately compact, centred artwork and content. */
@media (max-width:700px){
  html,body{max-width:100%;overflow-x:hidden}
  body{width:100%;margin:0;background:var(--bg);box-shadow:none}

  /* Keep the normal page content away from the phone edges. */
  .container{width:calc(100% - 40px);max-width:360px;margin-left:auto;margin-right:auto}
  .header-inner.container{width:calc(100% - 28px);max-width:none}

  /* Hero artwork is intentionally NOT full-bleed on phones. */
  .hero-picture,
  .home-hero .hero-picture{
    display:block;
    position:relative;
    width:min(78vw,300px);
    height:auto !important;
    margin:14px auto 0;
    overflow:hidden;
    border-radius:6px;
    background:#050707;
  }
  .hero-media{
    position:static !important;
    inset:auto !important;
    display:block;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    object-fit:contain !important;
    object-position:center !important;
  }

  /* Text below the image is also narrower than the viewport. */
  .hero>.container,
  .page-hero>.container{
    width:calc(100% - 40px) !important;
    max-width:360px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:0 !important;
    background:#050707;
  }
  .page-hero>.container{background:#060809}
  .hero-inner,.page-hero-content{padding:22px 0 28px}

  /* Keep secondary imagery compact too. */
  .card,.bike-card{max-width:340px;margin-left:auto;margin-right:auto}
  .card-media{height:auto;max-height:none;aspect-ratio:16/7}
  .bike-card img{height:auto;max-height:none;aspect-ratio:16/7}
  .band-inner{width:calc(100% - 40px);max-width:360px}
  .footer-logo{width:min(100%,280px)}
}

@media (max-width:480px){
  .container{width:calc(100% - 36px);max-width:340px}
  .hero>.container,.page-hero>.container{width:calc(100% - 36px) !important;max-width:340px !important}
  .hero-picture,.home-hero .hero-picture{width:min(76vw,285px)}
  .feature-grid{grid-template-columns:1fr}
  .feature,.feature:nth-child(odd),.feature:nth-child(even){border-right:0}
  .feature:nth-child(n+2){border-top:1px solid var(--line)}
}
