/* ===== TOKENS ===== */
:root{
  --bg: #0b0a0a;
  --bg-2: #141213;
  --panel: #16131a;
  --line: rgba(243,239,231,0.12);
  --ink: #f3efe7;
  --ink-dim: #968f88;
  --copper: #ff7a3d;
  --copper-soft: #ffb088;
  --teal: #52e0c4;
  --display: "Fraunces", serif;
  --body: "Inter", sans-serif;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--body);
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}

.grain{
  position:fixed; inset:0; pointer-events:none; z-index:999;
  opacity:0.03; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.eyebrow{
  font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--copper-soft); font-weight:800; margin-bottom:16px;
}
h1,h2,h3{font-family:var(--display); font-weight:300; letter-spacing:-0.01em;}
em{font-style:italic; font-weight:900; color:var(--copper-soft);}

.btn{
  display:inline-block; padding:15px 28px; border-radius:2px;
  font-weight:600; font-size:0.85rem; letter-spacing:0.02em;
  border:1px solid transparent; transition:all .25s ease; cursor:pointer;
}
.btn-primary{ background:var(--copper); color:#0b0a0a; }
.btn-primary:hover{ background:var(--copper-soft); transform:translateY(-1px); box-shadow:0 10px 28px -10px rgba(255,122,61,0.5);}
.btn-line{ border-color:rgba(243,239,231,0.3); color:var(--ink); }
.btn-line:hover{ border-color:var(--copper); color:var(--copper-soft); }
.btn-wide{width:100%; text-align:center; padding:17px;}

/* ===== NAV ===== */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:24px 5%; backdrop-filter:blur(8px);
  background:linear-gradient(to bottom, rgba(11,10,10,0.85), transparent);
}
.brand{display:flex; align-items:baseline; gap:8px;}
.brand-word{font-family:var(--display); font-style:italic; font-size:1.15rem;}
.brand-sub{font-size:0.62rem; letter-spacing:0.22em; color:var(--ink-dim);}
.nav-links{display:flex; gap:36px; font-size:0.82rem; font-weight:500;}
.nav-links a{opacity:0.8; transition:opacity .2s, color .2s;}
.nav-links a:hover{opacity:1; color:var(--copper-soft);}
.nav-cta{
  border:1px solid rgba(243,239,231,0.3); padding:10px 22px; border-radius:2px;
  font-size:0.78rem; font-weight:600; transition:all .2s;
}
.nav-cta:hover{border-color:var(--copper); color:var(--copper-soft);}
.nav-burger{display:none; flex-direction:column; gap:6px; background:none; border:none; cursor:pointer;}
.nav-burger span{width:22px; height:1.5px; background:var(--ink);}
.mobile-menu{
  position:fixed; inset:0; background:var(--bg); z-index:300;
  display:none; flex-direction:column; align-items:center; justify-content:center; gap:30px;
  font-family:var(--display); font-size:1.6rem;
}
.mobile-menu.open{display:flex;}
.mobile-menu .mobile-cta{
  margin-top:10px; padding:14px 30px; font-size:1rem; font-family:var(--body); font-weight:600;
  background:var(--copper); color:#0b0a0a; border-radius:2px;
}

/* ===== HERO ===== */
.hero{position:relative; min-height:100vh; display:flex; flex-direction:column; justify-content:flex-end;}
.hero-media{position:absolute; inset:0; z-index:-1; overflow:hidden;}
.hero-media img{width:100%; height:100%; object-fit:cover; filter:brightness(0.42) saturate(0.9);}
.hero-media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,10,10,0.3) 0%, rgba(11,10,10,0.55) 55%, var(--bg) 100%);
}
.hero-frame{padding:220px 5% 80px; max-width:1400px;}
.hero-eyebrow{font-size:0.78rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--copper-soft); margin-bottom:22px; font-weight:800;}
.hero-title{font-size:clamp(3.2rem, 8vw, 7.5rem); line-height:0.96; margin-bottom:48px; max-width:900px;}
.hero-foot{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:30px;}
.hero-sub{font-size:1.05rem; color:var(--ink-dim); max-width:440px;}
.hero-actions{display:flex; gap:16px; flex-wrap:wrap;}

/* ===== TRUST BAR ===== */
.trust{
  display:flex; align-items:center; justify-content:center; gap:48px; flex-wrap:wrap;
  padding:40px 5%; background:var(--bg-2); border-bottom:1px solid var(--line);
}
.trust-item{display:flex; flex-direction:column; align-items:center; text-align:center;}
.trust-item strong{font-family:var(--display); font-size:1.8rem; color:var(--copper-soft);}
.trust-item span{font-size:0.74rem; letter-spacing:0.05em; color:var(--ink-dim); text-transform:uppercase;}
.trust-sep{width:1px; height:30px; background:var(--line);}

/* ===== MANIFESTO ===== */
.manifesto{padding:140px 5%; text-align:center; background:var(--bg);}
.manifesto-eyebrow{font-size:0.78rem; letter-spacing:0.18em; color:var(--ink-dim); text-transform:uppercase; margin-bottom:30px;}
.manifesto-quote{font-family:var(--display); font-size:clamp(2rem, 4.5vw, 3.4rem); line-height:1.2; max-width:900px; margin:0 auto 36px;}
.manifesto-body{color:var(--ink-dim); max-width:540px; margin:0 auto; font-size:1.02rem;}

/* ===== SECTION GENERIC ===== */
section{padding:130px 5%;}
.section-head{max-width:680px; margin-bottom:70px;}
.section-head h2{font-size:clamp(2rem, 3.8vw, 3.2rem); line-height:1.08;}
.section-sub{color:var(--ink-dim); font-size:1.02rem; max-width:560px; margin-top:18px;}

/* ===== ROUTES ===== */
.routes{background:var(--bg);}
.route-row{
  display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;
  padding:60px 0; border-top:1px solid var(--line);
}
.routes .route-row:last-child{border-bottom:1px solid var(--line);}
.route-row.reverse .route-card-media{order:2;}
.route-row.reverse .route-card-text{order:1;}
.route-card-media{aspect-ratio:4/3; border-radius:6px; overflow:hidden; border:1px solid var(--line);}
.route-card-media img{width:100%; height:100%; object-fit:cover;}
.route-card-num{display:block; font-family:var(--display); font-style:italic; font-size:1.3rem; color:var(--copper-soft); margin-bottom:14px;}
.route-card-text h3{font-size:2rem; margin-bottom:18px;}
.route-card-text p{color:var(--ink-dim); margin-bottom:24px; max-width:460px;}
.route-meta{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:26px;}
.route-meta li{
  font-size:0.74rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--ink-dim);
  border:1px solid var(--line); padding:6px 12px; border-radius:20px;
}
.route-link{font-size:0.92rem; font-weight:600; color:var(--copper-soft); border-bottom:1px solid transparent; transition:border-color .2s;}
.route-link:hover{border-bottom-color:var(--copper-soft);}

/* illustration slot label (gallery) */
.illustration{background:var(--panel); position:relative;}
.illustration::before{
  content:attr(data-caption);
  position:absolute; top:14px; left:14px; z-index:2;
  font-size:0.64rem; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--copper-soft); font-weight:600;
  padding:5px 10px; border:1px solid rgba(255,122,61,0.35); border-radius:2px;
  background:rgba(11,10,10,0.55); backdrop-filter:blur(4px);
}

/* ===== MAP ===== */
.map-section{background:var(--bg-2);}
.map-wrap{border:1px solid var(--line); border-radius:4px; overflow:hidden; background:var(--panel);}
.map-svg{width:100%; height:auto; display:block;}

/* ===== THE TANK ===== */
.tank{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:150px 5% 110px;
  background:
    radial-gradient(circle at 14% 28%,rgba(255,122,61,.10),transparent 31%),
    radial-gradient(circle at 83% 72%,rgba(82,224,196,.055),transparent 28%),
    #090809;
}
.tank::before{
  content:"THE TANK";
  position:absolute;
  z-index:-1;
  top:34px;
  right:-.03em;
  color:rgba(243,239,231,.025);
  font-family:var(--display);
  font-size:clamp(7rem,18vw,18rem);
  font-weight:600;
  line-height:.75;
  letter-spacing:-.07em;
  white-space:nowrap;
  pointer-events:none;
}
.tank-heading{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.6fr);
  align-items:end;
  gap:clamp(50px,8vw,130px);
  max-width:1500px;
  margin:0 auto 80px;
}
.tank-heading h2{max-width:920px;font-size:clamp(3.2rem,6.4vw,7rem);line-height:.92;letter-spacing:-.045em;}
.tank-heading-copy{max-width:500px;padding:0 0 8px;color:var(--ink-dim);font-size:1rem;line-height:1.75;}

.tank-showcase{
  display:grid;
  grid-template-columns:minmax(0,1.36fr) minmax(330px,.64fr);
  gap:clamp(36px,5vw,82px);
  align-items:stretch;
  max-width:1500px;
  margin:0 auto;
}
.tank-visual{
  --tank-accent:#ffb088;
  position:relative;
  min-height:720px;
  overflow:hidden;
  border:1px solid rgba(243,239,231,.13);
  border-radius:10px;
  background:#080708;
  box-shadow:0 34px 90px rgba(0,0,0,.34);
}
.tank-image-frame{position:absolute;inset:0;overflow:hidden;}
.tank-image-frame img{
  width:118%;
  height:122%;
  max-width:none;
  object-fit:cover;
  object-position:center 58%;
  transform:translate(-8%,-11%) scale(1.02);
  filter:saturate(.9) contrast(1.02) brightness(.74);
  transition:transform .85s cubic-bezier(.16,.8,.3,1),filter .65s ease;
  will-change:transform;
}
.tank-visual[data-active-feature="1"]{--tank-accent:#ff8b79;}
.tank-visual[data-active-feature="2"]{--tank-accent:#ff58b5;}
.tank-visual[data-active-feature="3"]{--tank-accent:#8bc6ff;}
.tank-visual[data-active-feature="1"] .tank-image-frame img{transform:translate(-11%,-15%) scale(1.13);filter:saturate(1.05) contrast(1.07) brightness(.72);}
.tank-visual[data-active-feature="2"] .tank-image-frame img{transform:translate(-3%,-12%) scale(1.1);filter:saturate(1.18) contrast(1.08) brightness(.76);}
.tank-visual[data-active-feature="3"] .tank-image-frame img{transform:translate(-1%,-8%) scale(1.08);filter:saturate(.76) contrast(1.08) brightness(.62);}
.tank-visual-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(5,4,5,.48),transparent 27%,transparent 61%,rgba(5,4,5,.88) 100%),
    linear-gradient(90deg,rgba(5,4,5,.56),transparent 38%,rgba(5,4,5,.08) 68%,rgba(5,4,5,.45));
  transition:background .5s ease;
}
.tank-focus-lines{position:absolute;inset:0;pointer-events:none;opacity:.72;}
.tank-focus-lines span{position:absolute;background:var(--tank-accent);box-shadow:0 0 26px color-mix(in srgb,var(--tank-accent) 55%,transparent);transition:all .7s cubic-bezier(.16,.8,.3,1);}
.tank-focus-lines span:first-child{left:9%;bottom:19%;width:88px;height:1px;}
.tank-focus-lines span:last-child{left:calc(9% + 87px);bottom:19%;width:1px;height:72px;}
.tank-visual[data-active-feature="1"] .tank-focus-lines span:first-child{left:39%;bottom:71%;width:110px;}
.tank-visual[data-active-feature="1"] .tank-focus-lines span:last-child{left:calc(39% + 109px);bottom:61%;height:74px;}
.tank-visual[data-active-feature="2"] .tank-focus-lines span:first-child{left:69%;bottom:68%;width:104px;}
.tank-visual[data-active-feature="2"] .tank-focus-lines span:last-child{left:69%;bottom:57%;height:82px;}
.tank-visual[data-active-feature="3"] .tank-focus-lines span:first-child{left:72%;bottom:35%;width:90px;}
.tank-visual[data-active-feature="3"] .tank-focus-lines span:last-child{left:72%;bottom:25%;height:72px;}
.tank-image-label{position:absolute;left:34px;top:30px;color:rgba(243,239,231,.62);font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.tank-capacity{position:absolute;left:34px;bottom:34px;display:flex;align-items:flex-end;gap:18px;}
.tank-capacity strong{font-family:var(--display);font-size:clamp(6.3rem,10vw,10rem);font-weight:300;line-height:.68;letter-spacing:-.07em;color:var(--ink);}
.tank-capacity span{padding-bottom:3px;color:var(--tank-accent);font-size:.66rem;font-weight:800;line-height:1.45;letter-spacing:.14em;text-transform:uppercase;transition:color .4s ease;}
.tank-exterior-inset{
  position:absolute;
  right:28px;
  bottom:28px;
  width:min(34%,310px);
  overflow:hidden;
  border:1px solid rgba(243,239,231,.24);
  border-radius:5px;
  background:#080708;
  box-shadow:0 18px 45px rgba(0,0,0,.45);
}
.tank-exterior-inset img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:brightness(.75) saturate(.84);}
.tank-exterior-inset figcaption{padding:10px 12px;color:rgba(243,239,231,.68);font-size:.58rem;line-height:1.45;letter-spacing:.07em;text-transform:uppercase;}

.tank-control{display:flex;flex-direction:column;justify-content:center;min-width:0;}
.tank-control-kicker{margin-bottom:22px;color:var(--copper-soft);font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;}
.tank-feature-list{border-top:1px solid var(--line);}
.tank-feature{
  position:relative;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:18px;
  width:100%;
  padding:24px 0;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.tank-feature:nth-child(1){--tank-accent:#ffb088;}
.tank-feature:nth-child(2){--tank-accent:#ff8b79;}
.tank-feature:nth-child(3){--tank-accent:#ff58b5;}
.tank-feature:nth-child(4){--tank-accent:#8bc6ff;}
.tank-feature::before{content:"";position:absolute;left:0;top:-1px;width:0;height:1px;background:var(--tank-accent,#ffb088);transition:width .45s ease,background .35s ease;}
.tank-feature:hover::before,.tank-feature.is-active::before{width:100%;}
.tank-feature-number{padding-top:3px;color:rgba(243,239,231,.34);font-family:var(--display);font-size:1rem;font-style:italic;transition:color .3s ease;}
.tank-feature-copy{display:grid;gap:8px;}
.tank-feature-copy b{font-family:var(--display);font-size:clamp(1.35rem,2vw,2rem);font-weight:300;line-height:1.1;transition:color .3s ease;}
.tank-feature-copy small{max-height:0;overflow:hidden;color:var(--ink-dim);font-size:.82rem;line-height:1.62;opacity:0;transform:translateY(-4px);transition:max-height .45s ease,opacity .3s ease,transform .35s ease;}
.tank-feature:hover .tank-feature-number,.tank-feature.is-active .tank-feature-number{color:var(--tank-accent,#ffb088);}
.tank-feature.is-active .tank-feature-copy b{color:var(--ink);}
.tank-feature.is-active .tank-feature-copy small{max-height:110px;opacity:1;transform:translateY(0);}
.tank-cta{align-self:flex-start;margin-top:34px;}

.tank-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  max-width:1500px;
  margin:64px auto 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.tank-summary div{display:grid;gap:7px;padding:22px 24px;border-right:1px solid var(--line);}
.tank-summary div:first-child{padding-left:0;}
.tank-summary div:last-child{border-right:0;padding-right:0;}
.tank-summary span{color:var(--ink-dim);font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;}
.tank-summary strong{font-family:var(--display);font-size:1.05rem;font-weight:300;}

/* ===== PROCESS ===== */
.process{background:var(--bg-2);}
.process-list{border-top:1px solid var(--line);}
.process-row{display:grid; grid-template-columns:80px 1fr; gap:30px; align-items:start; padding:36px 0; border-bottom:1px solid var(--line);}
.process-n{font-family:var(--display); font-style:italic; font-size:1.3rem; color:var(--copper-soft);}
.process-row h3{font-size:1.2rem; margin-bottom:8px;}
.process-row p{color:var(--ink-dim); max-width:480px;}

/* ===== GALLERY ===== */
.gallery{background:var(--bg);}
.gallery-grid{display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:1fr; gap:14px;}
.gallery-item{border-radius:4px; overflow:hidden; position:relative; aspect-ratio:1/1;}
.gallery-item img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.gallery-item:hover img{transform:scale(1.05);}
.gallery-large{grid-column:span 2; grid-row:span 2;}
.gallery-wide{grid-column:span 2; aspect-ratio:auto;}
.gallery-item.illustration svg{width:100%; height:100%; display:block;}

/* ===== SOCIAL PROOF ===== */
.proof{background:var(--bg-2); text-align:center;}
.proof-track{display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-bottom:24px;}
.proof blockquote p{font-family:var(--display); font-size:1.15rem; line-height:1.4; margin-bottom:16px; font-style:italic;}
.proof blockquote cite{font-size:0.78rem; color:var(--ink-dim); font-style:normal; letter-spacing:0.04em;}
.proof-note{font-size:0.74rem; color:var(--ink-dim); opacity:0.6;}

/* ===== PRICING ===== */
.pricing{background:var(--bg);}
.pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.pricing-card{background:var(--bg); padding:46px 36px; display:flex; flex-direction:column; gap:14px;}
.pricing-featured{background:var(--panel);}
.pricing-tag{font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-dim); font-weight:600;}
.pricing-from{font-family:var(--display); font-size:1.6rem;}
.pricing-from strong{color:var(--copper-soft); font-weight:500;}
.pricing-desc{color:var(--ink-dim); font-size:0.92rem;}
.pricing-card .route-link{margin-top:auto;}

/* ===== FAQ ===== */
.faq{background:var(--bg-2);}
.faq-list{max-width:760px; border-top:1px solid var(--line);}
.faq-list details{border-bottom:1px solid var(--line); padding:24px 0;}
.faq-list summary{cursor:pointer; font-weight:500; font-size:1.02rem; list-style:none; position:relative; padding-right:30px; font-family:var(--display);}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{
  content:"+"; position:absolute; right:0; top:0; font-size:1.3rem; color:var(--copper-soft); font-family:var(--body);
  transition:transform .25s;
}
.faq-list details[open] summary::after{transform:rotate(45deg);}
.faq-list p{color:var(--ink-dim); margin-top:14px; font-size:0.94rem; max-width:600px;}

/* ===== FINAL CTA ===== */
.final-cta{
  background:var(--bg); text-align:center; padding:160px 5%;
  display:flex; flex-direction:column; align-items:center; gap:42px;
}
.final-cta h2{font-size:clamp(2rem, 4.4vw, 3.6rem); line-height:1.15;}

/* ===== BOOKING ===== */
.booking{background:var(--bg-2);}
.booking-form{max-width:760px; display:flex; flex-direction:column; gap:18px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
label{display:flex; flex-direction:column; gap:8px; font-size:0.78rem; color:var(--ink-dim); font-weight:600; letter-spacing:0.02em;}
.form-full{width:100%;}
input, select, textarea{
  background:var(--bg); border:1px solid var(--line); border-radius:2px;
  padding:13px 14px; color:var(--ink); font-family:var(--body); font-size:0.95rem;
  outline:none; transition:border-color .2s;
}
input:focus, select:focus, textarea:focus{border-color:var(--copper);}
textarea{resize:vertical;}
.form-note{font-size:0.78rem; color:var(--ink-dim); text-align:center;}

/* ===== FOOTER ===== */
.footer{padding:80px 5% 110px; border-top:1px solid var(--line); background:var(--bg);}
.footer-top{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; margin-bottom:56px;}
.footer-links, .footer-contact{display:flex; flex-direction:column; gap:12px; font-size:0.9rem; color:var(--ink-dim);}
.footer-links a:hover, .footer-contact a:hover{color:var(--copper-soft);}
.footer-bottom{font-size:0.78rem; color:var(--ink-dim); text-align:center; opacity:0.6;}

/* ===== STICKY MOBILE CTA ===== */
.sticky-cta{
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:150;
  text-align:center; padding:16px; font-weight:700; font-size:0.9rem;
  background:var(--copper); color:#0b0a0a; letter-spacing:0.02em;
}

/* ===== MOTION SYSTEM ===== */
@media (prefers-reduced-motion: no-preference){

  .reveal{
    opacity:0; transform:translateY(28px);
    transition:opacity .8s cubic-bezier(.16,.8,.3,1), transform .8s cubic-bezier(.16,.8,.3,1);
  }
  .reveal.is-visible{opacity:1; transform:translateY(0);}

  .hero-clouds{
    position:absolute; inset:-10% -10%; pointer-events:none;
    background:
      radial-gradient(ellipse 38% 22% at 20% 30%, rgba(243,239,231,0.10), transparent 60%),
      radial-gradient(ellipse 30% 18% at 65% 15%, rgba(243,239,231,0.07), transparent 60%),
      radial-gradient(ellipse 42% 20% at 85% 38%, rgba(243,239,231,0.05), transparent 60%);
    animation:cloudDrift 50s linear infinite;
    mix-blend-mode:screen;
  }
  @keyframes cloudDrift{
    0%{transform:translateX(-4%) translateY(0);}
    50%{transform:translateX(3%) translateY(1.5%);}
    100%{transform:translateX(-4%) translateY(0);}
  }

  .map-pin{opacity:0; transform:scale(.7); transform-box:fill-box; transform-origin:center;
    transition:opacity .5s ease, transform .5s cubic-bezier(.34,1.56,.64,1);}
  .map-wrap.is-visible .map-pin{opacity:1; transform:scale(1);}
  .map-wrap.is-visible .map-pin:nth-of-type(1){transition-delay:.5s;}
  .map-wrap.is-visible .map-pin:nth-of-type(2){transition-delay:.9s;}
  .map-wrap.is-visible .map-pin:nth-of-type(3){transition-delay:1.2s;}
  .map-wrap.is-visible .map-pin:nth-of-type(4){transition-delay:1.5s;}
  #mapRoutePath{transition:stroke-dashoffset 1.8s cubic-bezier(.16,.8,.3,1) .1s;}

  .gallery-item img{transition:transform .6s ease;}

  .parallax-img{overflow:hidden; position:relative;}
  .parallax-img img{will-change:transform; transform:scale(1.12); transition:transform .1s linear;}

  .btn{transition:transform .35s cubic-bezier(.16,.8,.3,1), background .25s ease, color .25s ease, border-color .25s ease, box-shadow .35s ease;}
  .btn-primary:hover{box-shadow:0 10px 28px -10px rgba(255,122,61,0.5);}

  .nav{transition:background .35s ease, backdrop-filter .35s ease, box-shadow .35s ease, padding .35s ease;}
  .nav.scrolled{
    padding-top:14px; padding-bottom:14px;
    background:rgba(11,10,10,0.78);
    box-shadow:0 1px 0 var(--line);
  }

  .sticky-cta{transform:translateY(110%); transition:transform .4s cubic-bezier(.16,.8,.3,1);}
  .sticky-cta.show{transform:translateY(0);}

  .trust-item strong{transition:opacity .3s ease;}

  details{transition:background .25s ease;}
  .faq-list summary{transition:color .2s ease;}
  .faq-list summary:hover{color:var(--copper-soft);}

}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none;}
  .tank-image-frame img,.tank-focus-lines span,.tank-feature-copy small{transition:none;}
}

/* ===== LANGUAGE SWITCH ===== */
.lang-switch{
  background:none; border:1px solid rgba(243,239,231,0.25); color:var(--ink-dim);
  font-family:var(--body); font-size:0.72rem; font-weight:700; letter-spacing:0.04em;
  padding:8px 14px; border-radius:20px; cursor:pointer; transition:all .2s; margin-right:18px;
}
.lang-switch:hover{border-color:var(--copper); color:var(--copper-soft);}
.lang-switch-mobile{margin-right:0; font-size:0.95rem; padding:12px 22px;}

.pricing-note{
  text-align:center; font-size:0.76rem; color:var(--ink-dim); opacity:0.65;
  margin-top:34px; padding:0 5%;
}

/* ===== COOKIE BANNER ===== */
.cookie-banner{
  position:fixed; left:20px; right:20px; bottom:20px; z-index:400; max-width:560px;
  background:var(--panel); border:1px solid var(--line); border-radius:8px;
  padding:22px 24px; box-shadow:0 20px 50px -20px rgba(0,0,0,0.6);
  transform:translateY(140%); transition:transform .4s cubic-bezier(.16,.8,.3,1);
}
.cookie-banner.show{transform:translateY(0);}
.cookie-banner p{font-size:0.82rem; color:var(--ink-dim); margin-bottom:14px; line-height:1.5;}
.cookie-actions{display:flex; align-items:center; justify-content:space-between; gap:14px;}
.cookie-actions a{font-size:0.78rem; color:var(--copper-soft); font-weight:600;}
.cookie-actions button{
  background:var(--copper); color:#0b0a0a; border:none; padding:10px 22px; border-radius:3px;
  font-weight:700; font-size:0.8rem; cursor:pointer; font-family:var(--body);
}
@media(max-width:1000px){
  .nav-links{display:none;}
  .nav-burger{display:flex;}
  .route-row{grid-template-columns:1fr; gap:28px;}
  .route-row.reverse .route-card-media{order:0;}
  .route-row.reverse .route-card-text{order:0;}
  .tank-heading{grid-template-columns:1fr;gap:34px;}
  .tank-heading-copy{max-width:640px;}
  .tank-showcase{grid-template-columns:1fr;}
  .tank-visual{min-height:680px;}
  .tank-control{padding-top:16px;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-large{grid-column:span 2; grid-row:span 1; aspect-ratio:16/10;}
  .proof-track{grid-template-columns:1fr; gap:30px;}
  .pricing-grid{grid-template-columns:1fr;}
  .trust{gap:28px;}
  .sticky-cta{display:block;}
  .footer{padding-bottom:110px;}
  .lang-switch{margin-right:10px; padding:7px 10px; font-size:0.66rem;}
}
@media(max-width:600px){
  section{padding:90px 6%;}
  .hero{
    min-height:100svh;
    justify-content:flex-start;
    overflow:hidden;
  }
  .hero-media::before{
    content:"";
    position:absolute;
    inset:-18%;
    background:url("hummer-exterior.jpg") center center / cover no-repeat;
    filter:blur(18px) brightness(0.32) saturate(0.85);
    transform:scale(1.06);
  }
  .hero-media img{
    position:absolute;
    left:50%;
    bottom:16svh;
    width:148vw;
    max-width:none;
    height:48svh;
    object-fit:contain;
    object-position:center bottom;
    transform:translateX(-50%);
    filter:brightness(0.76) saturate(0.95) contrast(1.04);
    -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 9%, #000 84%, transparent 100%);
    mask-image:linear-gradient(to bottom, transparent 0%, #000 9%, #000 84%, transparent 100%);
  }
  .hero-media::after{
    background:
      linear-gradient(180deg, rgba(11,10,10,0.26) 0%, rgba(11,10,10,0.18) 34%, rgba(11,10,10,0.48) 72%, var(--bg) 100%),
      radial-gradient(ellipse 95% 42% at 50% 62%, rgba(255,122,61,0.10), transparent 68%);
  }
  .hero-clouds{opacity:0.45;}
  .hero-frame{
    min-height:100svh;
    padding:112px 6% 24px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    position:relative;
    z-index:1;
  }
  .hero-eyebrow{
    margin-bottom:16px;
    max-width:280px;
  }
  .hero-title{
    font-size:clamp(2.8rem, 15vw, 4.7rem);
    line-height:0.94;
    margin-bottom:0;
    max-width:360px;
  }
  .hero-foot{
    display:block;
    border-top:0;
    padding-top:0;
    padding-bottom:calc(58px + env(safe-area-inset-bottom));
  }
  .hero-sub{
    max-width:24rem;
    margin-bottom:16px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    font-size:0.9rem;
    line-height:1.45;
  }
  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    max-width:250px;
  }
  .hero-actions .btn{
    width:100%;
    text-align:center;
    padding:13px 18px;
  }
  .form-row{grid-template-columns:1fr;}
  .manifesto{padding:100px 6%;}
  .final-cta{padding:120px 6%;}
  .cookie-banner{left:14px; right:14px; bottom:90px; padding:18px;}
  .cookie-actions{flex-direction:column; align-items:flex-start;}
  .tank{padding:112px 6% 78px;}
  .tank::before{top:30px;right:-.08em;font-size:27vw;}
  .tank-heading{margin-bottom:46px;}
  .tank-heading h2{font-size:clamp(3.05rem,14.4vw,4.65rem);line-height:.91;}
  .tank-heading-copy{font-size:.92rem;line-height:1.68;}
  .tank-showcase{gap:38px;}
  .tank-visual{min-height:600px;border-radius:7px;}
  .tank-image-frame img{width:160%;height:122%;transform:translate(-32%,-12%) scale(1.02);object-position:center 58%;}
  .tank-visual[data-active-feature="1"] .tank-image-frame img{transform:translate(-34%,-17%) scale(1.12);}
  .tank-visual[data-active-feature="2"] .tank-image-frame img{transform:translate(-27%,-12%) scale(1.09);}
  .tank-visual[data-active-feature="3"] .tank-image-frame img{transform:translate(-24%,-9%) scale(1.08);}
  .tank-image-label{left:20px;top:20px;font-size:.54rem;}
  .tank-capacity{left:20px;bottom:24px;gap:12px;}
  .tank-capacity strong{font-size:6.8rem;}
  .tank-capacity span{font-size:.58rem;}
  .tank-exterior-inset{display:none;}
  .tank-focus-lines span:first-child{left:11%;bottom:22%;width:62px;}
  .tank-focus-lines span:last-child{left:calc(11% + 61px);bottom:22%;height:54px;}
  .tank-control-kicker{margin-bottom:14px;}
  .tank-feature{grid-template-columns:34px 1fr;gap:12px;padding:20px 0;}
  .tank-feature-copy b{font-size:1.55rem;}
  .tank-feature-copy small{font-size:.79rem;}
  .tank-cta{width:100%;text-align:center;}
  .tank-summary{grid-template-columns:1fr 1fr;margin-top:46px;}
  .tank-summary div{padding:18px 14px;border-bottom:1px solid var(--line);}
  .tank-summary div:nth-child(2){border-right:0;}
  .tank-summary div:nth-child(3),.tank-summary div:nth-child(4){border-bottom:0;}
  .tank-summary div:first-child{padding-left:0;}
  .tank-summary div:nth-child(3){padding-left:0;}
  .tank-summary div:last-child{padding-right:0;}
  .tank-summary strong{font-size:.95rem;}

}

/* ===== EXPERIENCE JOURNEY V1 ===== */

/* ===== EXPERIENCE JOURNEY V2 ===== */
.experience-intro{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);
  gap:8vw;
  align-items:end;
  min-height:72svh;
  padding:150px 5% 100px;
  background:
    radial-gradient(circle at 86% 22%, rgba(255,176,136,.10), transparent 28%),
    radial-gradient(circle at 10% 92%, rgba(77,112,163,.08), transparent 32%),
    linear-gradient(180deg, var(--bg) 0%, #100e0f 100%);
  overflow:hidden;
}
.experience-intro::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.38;
  background:linear-gradient(115deg, transparent 15%, rgba(255,255,255,.025) 50%, transparent 82%);
  transform:translateX(-35%);
}
.experience-intro::after{
  content:"";
  position:absolute;
  left:5%; right:5%; bottom:0;
  height:1px;
  background:linear-gradient(90deg, rgba(255,176,136,.76), var(--line) 40%, transparent 100%);
}
.experience-intro-copy{max-width:920px;position:relative;z-index:1;}
.experience-intro h2{
  max-width:900px;
  margin-bottom:30px;
  font-size:clamp(3.1rem,6vw,6.6rem);
  line-height:.94;
  letter-spacing:-.038em;
}
.experience-intro-text{
  max-width:650px;
  color:var(--ink-dim);
  font-size:clamp(1rem,1.25vw,1.16rem);
  line-height:1.72;
}
.experience-intro-note{
  position:relative;
  z-index:1;
  justify-self:end;
  max-width:290px;
  padding:24px 0 4px 24px;
  border-left:1px solid var(--line);
}
.experience-intro-note span{
  display:block;
  margin-bottom:13px;
  color:var(--copper-soft);
  font-family:var(--display);
  font-style:italic;
  font-size:1.15rem;
}
.experience-intro-note p{color:var(--ink-dim);font-size:.82rem;line-height:1.65;}

.experience-journey{
  --scene-accent:#ffb088;
  --scene-progress:0;
  position:relative;
  height:520svh;
  padding:0;
  background:#070607;
}
.experience-sticky{
  position:sticky;
  top:0;
  height:100svh;
  overflow:hidden;
}
.experience-stage{
  position:relative;
  height:100%;
  isolation:isolate;
  overflow:hidden;
  background:#090809;
}
.experience-visuals,
.experience-visual,
.experience-visual img,
.experience-vignette,
.experience-atmosphere,
.experience-transition-wash{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.experience-visuals{z-index:0;background:#080708;}
.experience-visual{
  margin:0;
  opacity:0;
  transform:scale(1.045);
  filter:blur(7px);
  transition:
    opacity .82s cubic-bezier(.16,.8,.3,1),
    transform 1.25s cubic-bezier(.16,.8,.3,1),
    filter .82s ease;
  overflow:hidden;
}
.experience-visual.is-active{opacity:1;transform:scale(1);filter:blur(0);}
.experience-visual img{
  object-fit:cover;
  transform:scale(1.10);
  transition:transform 9s cubic-bezier(.18,.68,.2,1), filter .9s ease, object-position .9s ease;
  will-change:transform;
}
.experience-visual.is-active img{transform:scale(1.018);}
.experience-light{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;}

/* Each chapter now uses its own experience-specific photography.
   The art direction comes from composition, crop and light instead of recycling one car angle. */
.experience-visual[data-tone="prague"] img{
  object-position:50% 52%;
  filter:brightness(.74) saturate(.93) contrast(1.08);
}
.experience-visual[data-tone="prague"] .experience-light{
  background:
    linear-gradient(90deg,rgba(5,4,6,.48) 0%,transparent 48%),
    radial-gradient(ellipse 50% 52% at 72% 35%,rgba(89,150,255,.11),transparent 70%);
}
.experience-visual[data-tone="wedding"] img{
  object-position:50% 52%;
  filter:brightness(.74) saturate(.88) contrast(1.02);
}
.experience-visual[data-tone="wedding"] .experience-light{
  background:
    linear-gradient(270deg,rgba(15,8,7,.70) 0%,rgba(15,8,7,.28) 39%,transparent 68%),
    radial-gradient(circle at 77% 17%,rgba(255,228,190,.22),transparent 36%);
}
.experience-visual[data-tone="birthday"] img{
  object-position:50% 51%;
  filter:brightness(.70) saturate(1.10) contrast(1.07);
}
.experience-visual[data-tone="birthday"] .experience-light{
  background:
    linear-gradient(90deg,rgba(7,4,10,.60) 0%,rgba(7,4,10,.18) 43%,transparent 70%),
    radial-gradient(circle at 75% 22%,rgba(255,74,146,.17),transparent 34%);
}
.experience-visual[data-tone="vip"] img{
  object-position:54% 52%;
  filter:brightness(.63) saturate(.78) contrast(1.14);
}
.experience-visual[data-tone="vip"] .experience-light{
  background:
    linear-gradient(90deg,rgba(3,6,16,.72) 0%,rgba(3,6,16,.27) 42%,transparent 70%),
    radial-gradient(ellipse 42% 58% at 75% 38%,rgba(90,149,224,.10),transparent 68%);
}
.experience-visual[data-tone="party"] img{
  object-position:50% 50%;
  filter:brightness(.72) saturate(1.24) contrast(1.10);
}
.experience-visual[data-tone="party"] .experience-light{
  background:
    linear-gradient(90deg,rgba(6,3,10,.56) 0%,rgba(6,3,10,.15) 39%,transparent 67%),
    radial-gradient(circle at 77% 20%,rgba(255,36,158,.18),transparent 36%),
    radial-gradient(circle at 16% 70%,rgba(36,221,255,.15),transparent 37%);
}

.experience-atmosphere{display:none;z-index:1;pointer-events:none;overflow:hidden;}
.experience-horizon,
.experience-architecture,
.experience-orb,
.experience-particles{position:absolute;display:block;transition:opacity .85s ease,transform 1.1s cubic-bezier(.16,.8,.3,1),filter .85s ease;}
.experience-horizon{
  left:-4%;right:-4%;bottom:0;height:23%;opacity:0;
  background:
    linear-gradient(90deg, transparent 0 2%, #080709 2% 5%, transparent 5% 8%, #080709 8% 10%, transparent 10% 12%, #080709 12% 17%, transparent 17% 19%, #080709 19% 25%, transparent 25% 29%, #080709 29% 32%, transparent 32% 36%, #080709 36% 42%, transparent 42% 47%, #080709 47% 52%, transparent 52% 57%, #080709 57% 62%, transparent 62% 65%, #080709 65% 71%, transparent 71% 76%, #080709 76% 82%, transparent 82% 85%, #080709 85% 92%, transparent 92%),
    linear-gradient(0deg,#080709 0 48%,transparent 48%);
  clip-path:polygon(0 100%,0 62%,4% 62%,4% 38%,7% 38%,7% 67%,12% 67%,12% 48%,16% 48%,16% 75%,23% 75%,23% 31%,27% 31%,27% 68%,33% 68%,33% 52%,39% 52%,39% 72%,47% 72%,47% 45%,53% 45%,53% 76%,61% 76%,61% 36%,66% 36%,66% 66%,72% 66%,72% 50%,78% 50%,78% 74%,85% 74%,85% 43%,91% 43%,91% 69%,96% 69%,96% 55%,100% 55%,100% 100%);
  transform:translateY(20%);
}
.experience-architecture{opacity:0;inset:12% 7% 15% auto;width:29%;border:1px solid rgba(255,255,255,.16);border-bottom:0;transform:translateX(12%);}
.experience-architecture::before,.experience-architecture::after{content:"";position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.13);}
.experience-architecture::before{left:33%;}.experience-architecture::after{right:33%;}
.experience-orb{width:36vw;height:36vw;border-radius:50%;opacity:0;filter:blur(40px);}
.experience-orb-a{right:-11vw;top:-13vw;background:rgba(255,226,191,.25);}
.experience-orb-b{left:-15vw;bottom:-18vw;background:rgba(255,75,160,.20);}
.experience-particles{inset:0;opacity:0;background-image:radial-gradient(circle,rgba(255,242,221,.8) 0 1px,transparent 1.8px);background-size:73px 83px;transform:rotate(-7deg) scale(1.1);mask-image:linear-gradient(115deg,transparent 18%,#000 56%,transparent 92%);}

.experience-stage[data-active-scene="0"] .experience-horizon{opacity:.74;transform:translateY(0);}
.experience-stage[data-active-scene="1"] .experience-architecture{opacity:.65;transform:translateX(0);border-color:rgba(255,238,208,.27);}
.experience-stage[data-active-scene="1"] .experience-orb-a{opacity:.75;transform:scale(1.08);}
.experience-stage[data-active-scene="2"] .experience-particles{opacity:.48;transform:rotate(-7deg) scale(1);}
.experience-stage[data-active-scene="2"] .experience-orb-b{opacity:.65;transform:scale(1.12);}
.experience-stage[data-active-scene="3"] .experience-architecture{opacity:.38;transform:translateX(0);border-color:rgba(132,193,255,.28);}
.experience-stage[data-active-scene="4"] .experience-particles{opacity:.32;background-size:48px 58px;filter:hue-rotate(110deg);}
.experience-stage[data-active-scene="4"] .experience-orb-a,
.experience-stage[data-active-scene="4"] .experience-orb-b{opacity:.78;transform:scale(1.15);}

.experience-vignette{
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(5,4,5,.92) 0%, rgba(5,4,5,.56) 37%, rgba(5,4,5,.05) 70%),
    linear-gradient(180deg, rgba(7,6,7,.58) 0%, transparent 26%, transparent 62%, rgba(7,6,7,.92) 100%),
    radial-gradient(ellipse 96% 74% at 50% 48%, transparent 38%, rgba(7,6,7,.48) 100%);
}
.experience-transition-wash{
  z-index:3;
  pointer-events:none;
  opacity:.18;
  background:linear-gradient(115deg,transparent 32%,color-mix(in srgb,var(--scene-accent) 46%,transparent) 49%,transparent 66%);
  transform:translateX(-115%);
  animation:sceneWash 8s ease-in-out infinite;
}
@keyframes sceneWash{0%,62%{transform:translateX(-115%);opacity:0;}76%{opacity:.18;}100%{transform:translateX(115%);opacity:0;}}

.experience-topline{
  position:absolute;
  z-index:6;
  top:104px;
  left:5%;right:5%;
  display:flex;
  justify-content:space-between;
  gap:30px;
  color:rgba(243,239,231,.60);
  font-size:.66rem;
  letter-spacing:.17em;
  text-transform:uppercase;
  font-weight:700;
}
.experience-topline span:last-child{color:var(--scene-accent);transition:color .45s ease;}
.experience-chapter{
  position:absolute;
  z-index:4;
  top:17%;right:4%;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  line-height:.78;
  pointer-events:none;
  color:rgba(243,239,231,.055);
  mix-blend-mode:screen;
}
.experience-chapter span{font-family:var(--display);font-style:italic;font-size:clamp(9rem,22vw,25rem);letter-spacing:-.08em;}
.experience-chapter b{margin-top:2.4rem;font-size:clamp(.7rem,1vw,1rem);letter-spacing:.65em;color:color-mix(in srgb,var(--scene-accent) 62%,transparent);}

.experience-content{
  position:absolute;
  z-index:7;
  left:5%;
  bottom:142px;
  width:min(690px,53vw);
}
@media(min-width:601px){
  .experience-stage[data-active-scene="1"] .experience-content{left:auto;right:5%;width:min(620px,43vw);}
  .experience-stage[data-active-scene="1"] .experience-copy-panel{text-align:left;}
  .experience-stage[data-active-scene="4"] .experience-content{top:150px;bottom:auto;width:min(560px,43vw);}
}
.experience-copy-panel{position:relative;padding-left:24px;border-left:1px solid color-mix(in srgb,var(--scene-accent) 68%,transparent);transition:border-color .45s ease;}
.experience-mood{
  margin-bottom:18px;
  color:var(--scene-accent);
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.19em;
  text-transform:uppercase;
  transition:color .45s ease;
}
.experience-content h3{
  max-width:680px;
  margin-bottom:22px;
  font-size:clamp(3.3rem,6.6vw,7rem);
  line-height:.91;
  letter-spacing:-.046em;
  text-wrap:balance;
  text-shadow:0 12px 45px rgba(0,0,0,.35);
}
.experience-description{
  max-width:560px;
  color:rgba(243,239,231,.74);
  font-size:clamp(.96rem,1.15vw,1.08rem);
  line-height:1.65;
}
.experience-open{
  display:inline-flex;
  align-items:center;
  gap:34px;
  margin-top:26px;
  padding:12px 0;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--scene-accent) 72%,transparent);
  background:transparent;
  color:var(--ink);
  font-family:var(--body);
  font-size:.80rem;
  font-weight:700;
  letter-spacing:.04em;
  cursor:pointer;
  transition:color .25s ease,border-color .25s ease,gap .25s ease;
}
.experience-open:hover{color:var(--scene-accent);gap:44px;}

.experience-spectrum{
  position:absolute;
  z-index:6;
  right:5%;
  top:49%;
  display:flex;
  align-items:center;
  gap:12px;
  transform:rotate(90deg) translateX(50%);
  transform-origin:right center;
  color:rgba(243,239,231,.35);
  font-size:.55rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.experience-spectrum i{position:relative;width:88px;height:1px;background:rgba(243,239,231,.18);overflow:hidden;}
.experience-spectrum i::after{content:"";position:absolute;inset:0 auto 0 0;width:calc((var(--scene-progress) + 1) * 20%);background:var(--scene-accent);transition:width .65s cubic-bezier(.16,.8,.3,1),background .45s ease;}

.experience-nav{
  position:absolute;
  z-index:8;
  left:5%;right:5%;bottom:34px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid rgba(243,239,231,.17);
}
.experience-nav button{
  position:relative;
  display:flex;
  align-items:baseline;
  gap:11px;
  min-width:0;
  padding:16px 12px 0 0;
  border:0;
  background:transparent;
  color:rgba(243,239,231,.38);
  text-align:left;
  font-family:var(--body);
  cursor:pointer;
  transition:color .35s ease;
}
.experience-nav button::before{content:"";position:absolute;left:0;top:-1px;width:0;height:2px;background:var(--scene-accent);transition:width .55s cubic-bezier(.16,.8,.3,1),background .45s ease;}
.experience-nav button.is-active{color:var(--ink);}
.experience-nav button.is-active::before{width:100%;}
.experience-nav span{font-family:var(--display);font-style:italic;font-size:.86rem;color:var(--scene-accent);}
.experience-nav b{overflow:hidden;text-overflow:ellipsis;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;}
.experience-scroll-hint{display:none;}

/* Experience detail: the gallery lives inside each chapter instead of becoming a generic page section. */
.experience-modal{
  position:fixed;
  inset:0;
  z-index:600;
  display:grid;
  place-items:center;
  padding:28px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .35s ease,visibility .35s ease;
}
.experience-modal.is-open{opacity:1;visibility:visible;pointer-events:auto;}
.experience-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(4,3,4,.86);backdrop-filter:blur(17px);cursor:default;}
.experience-dialog{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  width:min(1180px,100%);
  max-height:min(820px,92svh);
  overflow:hidden;
  border:1px solid rgba(243,239,231,.16);
  border-radius:10px;
  background:#100e10;
  box-shadow:0 40px 100px rgba(0,0,0,.62);
  transform:translateY(24px) scale(.985);
  transition:transform .45s cubic-bezier(.16,.8,.3,1);
}
.experience-dialog::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--scene-accent);}
.experience-modal.is-open .experience-dialog{transform:translateY(0) scale(1);}
.experience-dialog-close{position:absolute;z-index:5;top:18px;right:18px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(243,239,231,.25);border-radius:50%;background:rgba(8,7,8,.56);color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer;backdrop-filter:blur(8px);}
.experience-dialog-media{min-height:620px;display:grid;grid-template-rows:minmax(0,1fr) 106px;background:#080708;}
.experience-dialog-media > img{width:100%;height:100%;min-height:0;object-fit:cover;}
.experience-dialog-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding-top:2px;background:#080708;}
.experience-dialog-thumb{position:relative;border:0;overflow:hidden;background:#080708;cursor:pointer;opacity:.52;transition:opacity .2s ease;}
.experience-dialog-thumb:hover,.experience-dialog-thumb.is-active{opacity:1;}
.experience-dialog-thumb.is-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--scene-accent);}
.experience-dialog-thumb img{width:100%;height:100%;object-fit:cover;}
.experience-dialog-copy{display:flex;flex-direction:column;justify-content:center;padding:70px clamp(36px,5vw,78px);overflow-y:auto;}
.experience-dialog-kicker{margin-bottom:16px;color:var(--scene-accent);font-size:.69rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;}
.experience-dialog-copy h3{margin-bottom:24px;font-size:clamp(2.5rem,4vw,4.7rem);line-height:.95;letter-spacing:-.035em;}
.experience-dialog-lead{color:var(--ink-dim);font-size:1rem;line-height:1.7;}
.experience-dialog-facts{display:grid;gap:0;margin:34px 0 40px;border-top:1px solid var(--line);}
.experience-dialog-facts li{position:relative;padding:14px 0 14px 24px;border-bottom:1px solid var(--line);color:rgba(243,239,231,.82);font-size:.86rem;}
.experience-dialog-facts li::before{content:"";position:absolute;left:0;top:21px;width:7px;height:7px;border-radius:50%;background:var(--scene-accent);box-shadow:0 0 14px color-mix(in srgb,var(--scene-accent) 55%,transparent);}
body.modal-open{overflow:hidden;}

/* The persistent orange bar is useful elsewhere, but it murders the cinematic scene on mobile. */
body.experience-in-view .sticky-cta{transform:translateY(110%)!important;pointer-events:none;}

@media(max-width:1000px){
  .experience-intro{grid-template-columns:1fr;gap:48px;min-height:auto;}
  .experience-intro-note{justify-self:start;max-width:360px;}
  .experience-content{width:min(690px,72vw);}
  .experience-dialog{grid-template-columns:1fr 1fr;}
}

@media(max-width:600px){
  .experience-intro{min-height:74svh;padding:112px 6% 70px;gap:36px;align-content:center;}
  .experience-intro h2{font-size:clamp(3rem,14vw,4.45rem);line-height:.91;margin-bottom:24px;}
  .experience-intro-text{max-width:33rem;font-size:.94rem;line-height:1.66;}
  .experience-intro-note{display:flex;align-items:flex-start;gap:15px;max-width:none;padding:17px 0 0;border-left:0;border-top:1px solid var(--line);}
  .experience-intro-note span{flex:0 0 auto;margin:0;}
  .experience-intro-note p{max-width:15rem;}

  .experience-journey{height:520svh;}
  .experience-topline{top:78px;left:6%;right:6%;font-size:.53rem;letter-spacing:.12em;}
  .experience-topline span:first-child{max-width:205px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .experience-chapter{top:16%;right:-2%;}
  .experience-chapter span{font-size:clamp(8rem,45vw,13rem);color:rgba(243,239,231,.05);}
  .experience-chapter b{display:none;}
  .experience-vignette{
    background:
      linear-gradient(180deg,rgba(6,5,6,.58) 0%,rgba(6,5,6,.06) 28%,rgba(6,5,6,.14) 46%,rgba(6,5,6,.98) 91%),
      radial-gradient(ellipse 145% 95% at 50% 42%,transparent 27%,rgba(6,5,6,.48) 100%);
  }
  .experience-horizon{height:18%;opacity:.5!important;}
  .experience-architecture{inset:16% 4% 31% auto;width:43%;}
  .experience-orb{width:70vw;height:70vw;}
  .experience-visual[data-tone="prague"] img{object-position:62% center;}
  .experience-visual[data-tone="wedding"] img{object-position:27% center;}
  .experience-visual[data-tone="birthday"] img{object-position:52% center;}
  .experience-visual[data-tone="vip"] img{object-position:72% center;}
  .experience-visual[data-tone="party"] img{object-position:47% center;}

  .experience-content{left:6%;right:6%;bottom:104px;width:auto;}
  .experience-copy-panel{max-width:31rem;padding-left:14px;}
  .experience-mood{margin-bottom:11px;font-size:.57rem;letter-spacing:.15em;}
  .experience-content h3{max-width:22rem;margin-bottom:13px;font-size:clamp(2.75rem,12.2vw,3.85rem);line-height:.91;letter-spacing:-.042em;}
  .experience-description{max-width:23rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.83rem;line-height:1.52;}
  .experience-open{margin-top:14px;padding:9px 0;gap:22px;font-size:.72rem;}
  .experience-spectrum{display:none;}
  .experience-nav{left:6%;right:6%;bottom:19px;}
  .experience-nav button{justify-content:center;padding:12px 0 0;text-align:center;}
  .experience-nav span{font-size:.78rem;}
  .experience-nav b{display:none;}

  .experience-modal{padding:0;}
  .experience-dialog{grid-template-columns:1fr;grid-template-rows:auto 1fr;width:100%;height:100svh;max-height:none;border:0;border-radius:0;overflow-y:auto;}
  .experience-dialog-close{position:fixed;top:14px;right:14px;}
  .experience-dialog-media{min-height:0;height:41svh;grid-template-rows:minmax(0,1fr) 70px;}
  .experience-dialog-copy{display:block;overflow:visible;padding:38px 6% 90px;}
  .experience-dialog-copy h3{font-size:clamp(2.55rem,12.3vw,3.85rem);}
  .experience-dialog-facts{margin:27px 0 32px;}
}

@media(prefers-reduced-motion:reduce){
  .experience-journey{height:auto;}
  .experience-sticky{position:relative;height:90svh;min-height:680px;}
  .experience-visual,.experience-visual img,.experience-dialog,.experience-horizon,.experience-architecture,.experience-orb,.experience-particles{transition:none;}
  .experience-transition-wash{display:none;}
}

/* ===== V5 · HERO PROLOGUE + MOBILE PERFORMANCE ===== */
.hero-v5{
  min-height:100svh;
  isolation:isolate;
  padding:0;
  background:#090809;
}
.hero-v5 .hero-media{z-index:-2;}
.hero-v5 .hero-media img{
  transform:scale(1.035);
  transform-origin:center 58%;
  filter:brightness(.52) saturate(.98) contrast(1.04);
  will-change:transform;
}
.hero-v5 .hero-media::after{
  background:
    linear-gradient(90deg,rgba(7,6,7,.82) 0%,rgba(7,6,7,.48) 42%,rgba(7,6,7,.12) 72%,rgba(7,6,7,.28) 100%),
    linear-gradient(180deg,rgba(7,6,7,.15) 0%,rgba(7,6,7,.08) 48%,rgba(7,6,7,.92) 100%);
}
.hero-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 74% 59%,rgba(255,167,103,.16),transparent 17%),
    radial-gradient(ellipse at 55% 94%,rgba(193,91,45,.16),transparent 38%);
  mix-blend-mode:screen;
  opacity:.8;
}
.hero-v5 .hero-frame{
  width:100%;
  max-width:none;
  min-height:100svh;
  padding:clamp(130px,16vh,190px) 5% 42px;
  display:grid;
  grid-template-rows:auto 1fr auto auto;
  align-items:end;
}
.hero-prologue{align-self:start;display:flex;align-items:center;gap:14px;}
.hero-prologue-line{width:44px;height:1px;background:var(--copper-soft);box-shadow:0 0 18px rgba(220,140,86,.45);}
.hero-v5 .hero-eyebrow{margin:0;color:rgba(243,239,231,.78);font-size:.7rem;letter-spacing:.22em;}
.hero-main{align-self:center;max-width:980px;padding:5vh 0 3vh;}
.hero-v5 .hero-title{
  max-width:950px;
  margin:0;
  font-size:clamp(4rem,8.2vw,8.2rem);
  line-height:.9;
  letter-spacing:-.045em;
  text-wrap:balance;
  text-shadow:0 10px 55px rgba(0,0,0,.38);
}
.hero-v5 .hero-title em{color:#f0c4a4;font-weight:400;}
.hero-v5 .hero-sub{
  max-width:590px;
  margin-top:28px;
  font-size:clamp(.98rem,1.25vw,1.18rem);
  line-height:1.68;
  color:rgba(243,239,231,.76);
}
.hero-v5 .hero-foot{
  width:100%;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:36px;
  border-top:1px solid rgba(243,239,231,.18);
  padding-top:24px;
}
.hero-v5 .hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
.hero-v5 .hero-actions .btn{min-width:190px;}
.hero-signals{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:0;min-width:min(500px,43vw);}
.hero-signals div{padding:0 22px;border-left:1px solid rgba(243,239,231,.16);}
.hero-signals strong{display:block;font-family:var(--display);font-size:1.55rem;font-weight:500;color:#f1c8aa;line-height:1;}
.hero-signals span{display:block;margin-top:7px;font-size:.62rem;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:rgba(243,239,231,.56);}
.hero-scroll{justify-self:center;display:flex;align-items:center;gap:10px;margin-top:28px;color:rgba(243,239,231,.54);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;}
.hero-scroll span{display:block;width:34px;height:1px;background:rgba(243,239,231,.32);position:relative;overflow:hidden;}
.hero-scroll span::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:var(--copper-soft);animation:heroScrollLine 2.4s ease-in-out infinite;}
@keyframes heroScrollLine{50%,100%{transform:translateX(100%);}}

/* Let the browser skip expensive paint/layout work far below the fold. */
.tank,.process,.proof,.faq,.booking,.final-cta,.footer{content-visibility:auto;contain-intrinsic-size:900px;}
.experience-visual img{aspect-ratio:1672/941;}

@media(max-width:900px){
  .hero-v5 .hero-frame{padding-left:6%;padding-right:6%;}
  .hero-v5 .hero-foot{align-items:flex-start;flex-direction:column;}
  .hero-signals{width:100%;min-width:0;}
  .hero-signals div:first-child{padding-left:0;border-left:0;}
}

@media(max-width:600px){
  .hero-v5{min-height:100svh;}
  .hero-v5 .hero-media::before{inset:-12%;filter:blur(15px) brightness(.3) saturate(.9);}
  .hero-v5 .hero-media img{
    left:50%;
    bottom:21svh;
    width:154vw;
    height:44svh;
    object-position:center bottom;
    transform:translateX(-50%);
    filter:brightness(.79) saturate(1.02) contrast(1.05);
    will-change:auto;
  }
  .hero-v5 .hero-media::after{
    background:
      linear-gradient(180deg,rgba(7,6,7,.22) 0%,rgba(7,6,7,.12) 35%,rgba(7,6,7,.52) 72%,#090809 100%),
      linear-gradient(90deg,rgba(7,6,7,.35),transparent 70%);
  }
  .hero-glow{opacity:.5;}
  .hero-v5 .hero-frame{
    min-height:100svh;
    padding:102px 6% calc(18px + env(safe-area-inset-bottom));
    grid-template-rows:auto 1fr auto auto;
    justify-content:stretch;
  }
  .hero-prologue{gap:10px;align-self:start;}
  .hero-prologue-line{width:28px;}
  .hero-v5 .hero-eyebrow{font-size:.57rem;line-height:1.5;letter-spacing:.16em;max-width:280px;}
  .hero-main{align-self:start;padding:5.5vh 0 0;}
  .hero-v5 .hero-title{
    font-size:clamp(3.1rem,14.5vw,4.6rem);
    line-height:.91;
    max-width:360px;
  }
  .hero-v5 .hero-sub{
    margin-top:18px;
    max-width:22rem;
    font-size:.88rem;
    line-height:1.55;
    display:block;
    overflow:visible;
  }
  .hero-v5 .hero-foot{
    gap:19px;
    border-top:1px solid rgba(243,239,231,.14);
    padding-top:17px;
  }
  .hero-v5 .hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:none;}
  .hero-v5 .hero-actions .btn{width:100%;min-width:0;padding:12px 10px;font-size:.72rem;}
  .hero-signals{grid-template-columns:repeat(3,1fr);}
  .hero-signals div{padding:0 10px;}
  .hero-signals strong{font-size:1.15rem;}
  .hero-signals span{font-size:.48rem;letter-spacing:.08em;}
  .hero-scroll{margin-top:16px;font-size:.5rem;}
  .hero-scroll span{width:24px;}
  .experience-visual img{will-change:auto;}
  .experience-atmosphere,.experience-particles{contain:paint;}
}

@media(prefers-reduced-motion:reduce){
  .hero-scroll span::after{animation:none;transform:none;}
  .hero-v5 .hero-media img{transform:none!important;}
  .hero-clouds,.experience-particles{display:none!important;}
}

/* ===== V6 · CINEMATIC BRIDGE + PERSONALISATION ===== */
.ride-moment,
.personalize{
  content-visibility:auto;
  contain-intrinsic-size:820px;
}

.ride-moment{
  position:relative;
  padding:96px 5% 138px;
  background:
    linear-gradient(180deg,#070607 0%,#0b0a0a 26%,#0b0a0a 100%);
}
.ride-moment::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 76% 42%,rgba(255,176,136,.055),transparent 34%);
}
.ride-moment-shell{
  position:relative;
  max-width:1500px;
  min-height:clamp(520px,65vw,760px);
  margin:0 auto;
  overflow:hidden;
  border:1px solid rgba(243,239,231,.14);
  border-radius:10px;
  background:#080708;
  box-shadow:0 35px 100px rgba(0,0,0,.38);
}
.ride-moment-media,
.ride-moment-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.ride-moment-video{
  object-fit:cover;
  object-position:center center;
  filter:saturate(.9) contrast(1.04) brightness(.78);
  background:#080708;
}
.ride-moment-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,4,5,.74) 0%,rgba(5,4,5,.36) 42%,rgba(5,4,5,.05) 75%),
    linear-gradient(180deg,rgba(5,4,5,.08),rgba(5,4,5,.04) 45%,rgba(5,4,5,.82) 100%);
}
.ride-moment-glass{
  position:absolute;
  inset:0;
  opacity:.42;
  pointer-events:none;
  background:
    linear-gradient(108deg,transparent 18%,rgba(255,255,255,.06) 19%,transparent 21%),
    radial-gradient(circle at 72% 31%,rgba(255,182,126,.12),transparent 18%);
  mix-blend-mode:screen;
}
.ride-moment-copy{
  position:absolute;
  z-index:2;
  left:clamp(28px,5vw,74px);
  bottom:clamp(34px,6vw,82px);
  max-width:min(610px,54%);
}
.ride-moment-copy .eyebrow{margin-bottom:17px;color:#efba93;}
.ride-moment-copy h2{
  max-width:620px;
  font-size:clamp(3.25rem,6vw,7rem);
  line-height:.91;
  letter-spacing:-.045em;
  text-shadow:0 14px 50px rgba(0,0,0,.42);
}
.ride-moment-copy h2 em{font-weight:400;color:#f1c6a7;}
.ride-moment-copy > p:last-child{
  max-width:470px;
  margin-top:24px;
  color:rgba(243,239,231,.68);
  font-size:.94rem;
  line-height:1.7;
}
.ride-moment-caption{
  position:absolute;
  z-index:2;
  top:30px;
  right:32px;
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(243,239,231,.52);
  font-size:.57rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.ride-moment-caption span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ef9b69;
  box-shadow:0 0 16px rgba(239,155,105,.85);
}
.ride-moment-caption b{font-weight:700;}

.personalize{
  position:relative;
  isolation:isolate;
  padding:132px 5% 116px;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 10%,rgba(255,122,61,.07),transparent 30%),
    linear-gradient(180deg,#111012 0%,#0d0c0d 100%);
  border-top:1px solid rgba(243,239,231,.08);
  border-bottom:1px solid rgba(243,239,231,.08);
}
.personalize::before{
  content:"YOURS";
  position:absolute;
  z-index:-1;
  top:30px;
  right:-.03em;
  color:rgba(243,239,231,.022);
  font-family:var(--display);
  font-size:clamp(8rem,19vw,19rem);
  font-weight:600;
  line-height:.78;
  letter-spacing:-.07em;
  pointer-events:none;
}
.personalize-head{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.55fr);
  align-items:end;
  gap:clamp(48px,8vw,130px);
  max-width:1500px;
  margin:0 auto 68px;
}
.personalize-title h2{
  max-width:970px;
  font-size:clamp(3.25rem,6.2vw,6.8rem);
  line-height:.92;
  letter-spacing:-.045em;
}
.personalize-title h2 em{font-weight:400;}
.personalize-lead{
  max-width:490px;
  padding-bottom:8px;
  color:var(--ink-dim);
  font-size:.96rem;
  line-height:1.72;
}
.personalize-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  max-width:1500px;
  margin:0 auto;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  background:rgba(243,239,231,.025);
}
.personalize-card{
  position:relative;
  min-height:310px;
  padding:30px 26px 28px;
  border-right:1px solid var(--line);
  background:rgba(11,10,10,.28);
  transition:background .35s ease,transform .35s cubic-bezier(.16,.8,.3,1);
}
.personalize-card:last-child{border-right:0;}
.personalize-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,var(--copper),var(--copper-soft));
  transition:transform .4s cubic-bezier(.16,.8,.3,1);
}
.personalize-card:hover,
.personalize-card:focus-within{background:rgba(255,122,61,.055);}
.personalize-card:hover::after,
.personalize-card:focus-within::after{transform:scaleX(1);}
.personalize-number{
  display:block;
  margin-bottom:52px;
  color:rgba(243,239,231,.32);
  font-family:var(--display);
  font-size:1rem;
  font-style:italic;
}
.personalize-card svg{
  width:42px;
  height:42px;
  margin-bottom:26px;
  fill:none;
  stroke:#ef9b69;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 12px rgba(239,155,105,.22));
}
.personalize-card h3{
  margin-bottom:12px;
  font-size:clamp(1.45rem,1.8vw,2rem);
  line-height:1.05;
}
.personalize-card p{
  color:var(--ink-dim);
  font-size:.8rem;
  line-height:1.62;
}
.personalize-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  max-width:1500px;
  margin:30px auto 0;
  padding-top:28px;
  border-top:1px solid rgba(243,239,231,.1);
}
.personalize-foot p{
  max-width:680px;
  color:rgba(243,239,231,.48);
  font-size:.72rem;
  line-height:1.55;
}
.personalize-foot .route-link{white-space:nowrap;}

@media(max-width:1180px){
  .personalize-grid{grid-template-columns:repeat(3,1fr);}
  .personalize-card{border-bottom:1px solid var(--line);}
  .personalize-card:nth-child(3){border-right:0;}
  .personalize-card:nth-child(4),.personalize-card:nth-child(5){border-bottom:0;}
  .personalize-card:nth-child(5){border-right:0;}
}

@media(max-width:900px){
  .ride-moment{padding-top:76px;padding-bottom:108px;}
  .ride-moment-shell{min-height:650px;}
  .ride-moment-copy{max-width:72%;}
  .personalize-head{grid-template-columns:1fr;gap:28px;margin-bottom:50px;}
  .personalize-lead{max-width:650px;}
  .personalize-grid{grid-template-columns:repeat(2,1fr);}
  .personalize-card:nth-child(2),.personalize-card:nth-child(4){border-right:0;}
  .personalize-card:nth-child(3){border-right:1px solid var(--line);}
  .personalize-card:nth-child(4){border-bottom:1px solid var(--line);}
  .personalize-card:nth-child(5){grid-column:1/-1;min-height:245px;}
}

@media(max-width:600px){
  .ride-moment{padding:64px 0 88px;}
  .ride-moment-shell{
    min-height:72svh;
    max-height:720px;
    border-left:0;
    border-right:0;
    border-radius:0;
  }
  .ride-moment-video{object-position:55% center;}
  .ride-moment-shade{
    background:
      linear-gradient(180deg,rgba(5,4,5,.08) 0%,rgba(5,4,5,.04) 36%,rgba(5,4,5,.88) 100%),
      linear-gradient(90deg,rgba(5,4,5,.55),transparent 76%);
  }
  .ride-moment-copy{
    left:6%;
    right:6%;
    bottom:38px;
    max-width:none;
  }
  .ride-moment-copy h2{max-width:360px;font-size:clamp(3rem,13.4vw,4.4rem);}
  .ride-moment-copy > p:last-child{max-width:330px;margin-top:17px;font-size:.82rem;line-height:1.55;}
  .ride-moment-caption{top:20px;right:6%;font-size:.48rem;letter-spacing:.12em;}

  .personalize{padding:94px 6% 84px;}
  .personalize::before{top:28px;font-size:31vw;}
  .personalize-title h2{font-size:clamp(3.05rem,14vw,4.6rem);}
  .personalize-grid{grid-template-columns:1fr 1fr;}
  .personalize-card{min-height:250px;padding:23px 19px 22px;}
  .personalize-number{margin-bottom:30px;font-size:.88rem;}
  .personalize-card svg{width:34px;height:34px;margin-bottom:20px;}
  .personalize-card h3{font-size:1.35rem;}
  .personalize-card p{font-size:.72rem;line-height:1.5;}
  .personalize-card:nth-child(5){min-height:215px;}
  .personalize-foot{align-items:flex-start;flex-direction:column;gap:18px;}
}

@media(max-width:430px){
  .ride-moment-shell{min-height:690px;}
  .personalize-grid{grid-template-columns:1fr;}
  .personalize-card,
  .personalize-card:nth-child(3),
  .personalize-card:nth-child(5){
    grid-column:auto;
    min-height:205px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .personalize-card:last-child{border-bottom:0;}
  .personalize-number{position:absolute;top:23px;right:20px;margin:0;}
}

@media(prefers-reduced-motion:reduce){
  .ride-moment-video{display:block;}
  .personalize-card{transition:none;}
  .personalize-card::after{transition:none;}
}


/* ==========================================================================\n   V7 LOWER PAGE PATCH\n   Everything above #process keeps the V6 design. All selectors below are\n   isolated to the lower page and booking modal.\n   ========================================================================== */

.lower-process{
  position:relative;
  overflow:hidden;
  padding:118px 5% 84px;
  background:
    radial-gradient(circle at 78% 8%,rgba(255,122,61,.07),transparent 28%),
    #121011;
  border-top:1px solid rgba(243,239,231,.08);
}
.lower-process::before{
  content:"03";
  position:absolute;
  right:3.5%;
  top:26px;
  font-family:var(--display);
  font-size:clamp(7rem,16vw,15rem);
  font-weight:600;
  line-height:1;
  letter-spacing:-.08em;
  color:rgba(243,239,231,.018);
  pointer-events:none;
}
.lower-process-head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.55fr);
  gap:clamp(40px,8vw,130px);
  align-items:end;
  max-width:1500px;
  margin:0 auto 68px;
}
.lower-process-head h2{font-size:clamp(3rem,5.6vw,6rem);line-height:.96;letter-spacing:-.04em;}
.lower-process-head>p{max-width:480px;color:var(--ink-dim);font-size:.98rem;line-height:1.75;padding-bottom:7px;}
.lower-process-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:1500px;
  margin:0 auto;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.lower-process-step{
  min-height:270px;
  padding:34px clamp(26px,3vw,48px) 38px;
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
}
.lower-process-step:first-child{padding-left:0;}
.lower-process-step:last-child{border-right:0;padding-right:0;}
.lower-process-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:auto;}
.lower-process-meta span{font-family:var(--display);font-size:1.25rem;font-style:italic;color:var(--copper-soft);}
.lower-process-meta b{font-size:.61rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);}
.lower-process-step h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.08;margin:48px 0 14px;}
.lower-process-step p{max-width:370px;color:var(--ink-dim);font-size:.9rem;line-height:1.7;}
.lower-process-note{max-width:1500px;margin:24px auto 0;color:var(--ink-dim);font-size:.72rem;letter-spacing:.015em;opacity:.7;}

.lower-facts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:0 5%;
  background:#0c0b0c;
  border-top:1px solid rgba(243,239,231,.07);
  border-bottom:1px solid rgba(243,239,231,.09);
}
.lower-fact{min-height:132px;padding:29px clamp(20px,3vw,42px);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:7px;}
.lower-fact:first-child{padding-left:0;}
.lower-fact:last-child{border-right:0;padding-right:0;}
.lower-fact strong{font-family:var(--display);font-size:1.35rem;font-weight:300;color:var(--ink);}
.lower-fact span{max-width:220px;color:var(--ink-dim);font-size:.68rem;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;}

.lower-faq{
  display:grid;
  grid-template-columns:minmax(310px,.72fr) minmax(0,1.18fr);
  gap:clamp(70px,10vw,170px);
  padding:124px 5%;
  background:#121011;
}
.lower-faq-head{position:sticky;top:126px;align-self:start;max-width:560px;}
.lower-faq-head h2{font-size:clamp(2.8rem,4.9vw,5.2rem);line-height:.98;letter-spacing:-.04em;}
.lower-faq-head>p:last-child{max-width:430px;margin-top:26px;color:var(--ink-dim);font-size:.93rem;line-height:1.7;}
.lower-faq-list{border-top:1px solid var(--line);}
.lower-faq-list details{border-bottom:1px solid var(--line);padding:0;}
.lower-faq-list summary{position:relative;list-style:none;cursor:pointer;padding:27px 58px 27px 0;font-family:var(--display);font-size:clamp(1.08rem,1.45vw,1.35rem);font-weight:300;line-height:1.3;}
.lower-faq-list summary::-webkit-details-marker{display:none;}
.lower-faq-list summary::before,.lower-faq-list summary::after{content:"";position:absolute;right:5px;top:50%;width:16px;height:1px;background:var(--copper-soft);transition:transform .25s ease;}
.lower-faq-list summary::after{transform:rotate(90deg);}
.lower-faq-list details[open] summary::after{transform:rotate(0);}
.lower-faq-list p{max-width:640px;padding:0 58px 27px 0;color:var(--ink-dim);font-size:.91rem;line-height:1.72;}

.lower-cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:118px 5% 124px;
  background:
    radial-gradient(circle at 15% 35%,rgba(255,122,61,.12),transparent 30%),
    radial-gradient(circle at 88% 75%,rgba(82,224,196,.045),transparent 25%),
    #090809;
  border-top:1px solid rgba(243,239,231,.09);
  border-bottom:1px solid rgba(243,239,231,.09);
}
.lower-cta::after{content:"PARTY TANK";position:absolute;z-index:-1;right:-.02em;bottom:-.18em;font-family:var(--display);font-size:clamp(6rem,16vw,16rem);font-weight:600;line-height:.8;letter-spacing:-.07em;color:rgba(243,239,231,.02);white-space:nowrap;}
.lower-cta-kicker{display:flex;align-items:center;gap:14px;max-width:1500px;margin:0 auto 42px;color:var(--copper-soft);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;}
.lower-cta-kicker span{width:54px;height:1px;background:var(--copper);}
.lower-cta-main{display:grid;grid-template-columns:minmax(0,1.25fr) auto;gap:60px;align-items:end;max-width:1500px;margin:0 auto;}
.lower-cta h2{max-width:980px;font-size:clamp(3.1rem,6vw,6.4rem);line-height:.92;letter-spacing:-.045em;}
.lower-cta-main>div:first-child>p{max-width:590px;margin-top:28px;color:var(--ink-dim);font-size:.96rem;line-height:1.75;}
.lower-cta-actions{display:flex;flex-direction:column;align-items:stretch;min-width:220px;gap:17px;padding-bottom:7px;}
.lower-cta-actions .btn{text-align:center;}
.lower-cta-phone{text-align:center;color:var(--ink-dim);font-size:.78rem;letter-spacing:.08em;transition:color .2s;}
.lower-cta-phone:hover{color:var(--copper-soft);}

.booking-modal-open-v7{overflow:hidden;}
.booking-modal-v7{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:28px;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility 0s linear .25s;}
.booking-modal-v7.is-open{visibility:visible;opacity:1;transition:opacity .25s ease;}
.booking-modal-backdrop-v7{position:absolute;inset:0;border:0;background:rgba(4,3,4,.82);backdrop-filter:blur(13px);cursor:pointer;}
.booking-dialog-v7{position:relative;width:min(920px,100%);max-height:min(900px,calc(100vh - 56px));overflow:auto;overscroll-behavior:contain;background:linear-gradient(145deg,#171416,#0d0c0d 65%);border:1px solid rgba(243,239,231,.16);border-radius:10px;box-shadow:0 36px 120px rgba(0,0,0,.72);transform:translateY(18px) scale(.985);transition:transform .3s cubic-bezier(.16,.8,.3,1);}
.booking-modal-v7.is-open .booking-dialog-v7{transform:translateY(0) scale(1);}
.booking-dialog-head-v7{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding:28px 34px 23px;background:rgba(18,16,17,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.booking-dialog-head-v7 .eyebrow{margin-bottom:7px;}
.booking-dialog-head-v7 h2{font-size:clamp(1.85rem,3vw,2.55rem);line-height:1;}
.booking-close-v7{width:42px;height:42px;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:1.55rem;line-height:1;cursor:pointer;transition:border-color .2s,color .2s,transform .2s;}
.booking-close-v7:hover{border-color:var(--copper);color:var(--copper-soft);transform:rotate(5deg);}
.booking-progress-v7{display:grid;grid-template-columns:repeat(3,1fr);padding:0 34px;background:#0d0c0d;border-bottom:1px solid var(--line);}
.booking-progress-v7 span{position:relative;display:flex;align-items:center;gap:10px;padding:17px 0;color:var(--ink-dim);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;}
.booking-progress-v7 span::after{content:"";position:absolute;left:0;right:18px;bottom:-1px;height:1px;background:transparent;}
.booking-progress-v7 span.is-active{color:var(--ink);}
.booking-progress-v7 span.is-active::after,.booking-progress-v7 span.is-done::after{background:var(--copper);}
.booking-progress-v7 i{display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--line);border-radius:50%;font-family:var(--display);font-style:normal;font-size:.72rem;}
.booking-progress-v7 .is-active i,.booking-progress-v7 .is-done i{border-color:rgba(255,122,61,.7);color:var(--copper-soft);}
.booking-flow-v7{padding:34px;}
.booking-step-v7{display:none;padding:0;}
.booking-step-v7.is-active{display:block;animation:bookingStepIn .32s ease both;}
@keyframes bookingStepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.booking-step-copy-v7{display:flex;align-items:flex-start;gap:20px;margin-bottom:30px;}
.booking-step-copy-v7>span{font-family:var(--display);font-size:1.2rem;font-style:italic;color:var(--copper-soft);padding-top:2px;}
.booking-step-copy-v7 h3{font-size:1.55rem;line-height:1.12;margin-bottom:6px;}
.booking-step-copy-v7 p{color:var(--ink-dim);font-size:.84rem;line-height:1.55;}
.booking-occasion-v7,.booking-interests-v7{border:0;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;}
.booking-occasion-v7 legend,.booking-interests-v7 legend{grid-column:1/-1;margin-bottom:9px;color:var(--ink-dim);font-size:.67rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;}
.booking-occasion-v7 label,.booking-interests-v7 label{position:relative;display:block;cursor:pointer;}
.booking-occasion-v7 input,.booking-interests-v7 input{position:absolute;opacity:0;pointer-events:none;}
.booking-occasion-v7 span,.booking-interests-v7 span{display:flex;min-height:58px;align-items:center;justify-content:center;padding:12px 13px;text-align:center;border:1px solid var(--line);border-radius:3px;background:rgba(243,239,231,.018);color:var(--ink-dim);font-size:.77rem;line-height:1.3;transition:border-color .2s,background .2s,color .2s,transform .2s;}
.booking-occasion-v7 label:hover span,.booking-interests-v7 label:hover span{border-color:rgba(255,176,136,.42);color:var(--ink);transform:translateY(-1px);}
.booking-occasion-v7 input:checked+span,.booking-interests-v7 input:checked+span{border-color:var(--copper);background:rgba(255,122,61,.11);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(255,122,61,.1);}
.booking-occasion-v7 input:focus-visible+span,.booking-interests-v7 input:focus-visible+span{outline:2px solid var(--copper-soft);outline-offset:2px;}
.booking-fields-grid-v7{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:25px;}
.booking-field-v7{display:flex;flex-direction:column;gap:8px;color:var(--ink-dim);font-size:.69rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase;}
.booking-field-v7 input,.booking-field-v7 select,.booking-field-v7 textarea{width:100%;min-height:50px;background:#0b0a0a;border:1px solid var(--line);border-radius:3px;padding:13px 14px;color:var(--ink);font:400 .91rem/1.4 var(--body);letter-spacing:0;text-transform:none;outline:none;transition:border-color .2s,box-shadow .2s;}
.booking-field-v7 textarea{min-height:104px;resize:vertical;}
.booking-field-v7 input:focus,.booking-field-v7 select:focus,.booking-field-v7 textarea:focus{border-color:var(--copper);box-shadow:0 0 0 3px rgba(255,122,61,.08);}
.booking-field-v7 select{color-scheme:dark;}
.booking-field-full-v7{margin-bottom:10px;}
.booking-summary-v7{margin-top:5px;padding:20px;border:1px solid var(--line);border-radius:4px;background:rgba(243,239,231,.018);}
.booking-summary-v7>p{margin-bottom:14px;color:var(--copper-soft);font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;}
.booking-summary-v7 dl{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
.booking-summary-v7 dl div{display:grid;grid-template-columns:minmax(100px,.7fr) 1fr;gap:12px;padding:9px 0;border-top:1px solid rgba(243,239,231,.07);}
.booking-summary-v7 dt{color:var(--ink-dim);font-size:.69rem;}
.booking-summary-v7 dd{font-size:.78rem;text-align:right;overflow-wrap:anywhere;}
.booking-privacy-v7,.booking-form-note-v7{margin-top:14px;color:var(--ink-dim);font-size:.69rem;line-height:1.55;}
.booking-privacy-v7 a{color:var(--copper-soft);border-bottom:1px solid rgba(255,176,136,.35);}
.booking-form-note-v7{min-height:1.1em;}
.booking-controls-v7{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);}
.booking-back-v7{margin-right:auto;border:0;background:transparent;color:var(--ink-dim);font:600 .78rem var(--body);cursor:pointer;padding:13px 4px;}
.booking-back-v7:hover{color:var(--ink);}
.booking-next-v7,.booking-submit-v7{min-width:190px;text-align:center;}
.booking-controls-v7 [hidden]{display:none!important;}

@media(max-width:900px){
  .lower-process-head{grid-template-columns:1fr;gap:25px;margin-bottom:48px;}
  .lower-process-head>p{max-width:590px;}
  .lower-process-grid{grid-template-columns:1fr;}
  .lower-process-step,.lower-process-step:first-child,.lower-process-step:last-child{min-height:0;padding:30px 0;border-right:0;border-bottom:1px solid var(--line);}
  .lower-process-step:last-child{border-bottom:0;}
  .lower-process-meta{margin-bottom:0;}
  .lower-process-step h3{margin:30px 0 10px;}
  .lower-facts{grid-template-columns:1fr 1fr;}
  .lower-fact,.lower-fact:first-child,.lower-fact:last-child{padding:25px 5vw;border-bottom:1px solid var(--line);}
  .lower-fact:nth-child(2){border-right:0;}
  .lower-fact:nth-child(3),.lower-fact:nth-child(4){border-bottom:0;}
  .lower-faq{grid-template-columns:1fr;gap:52px;}
  .lower-faq-head{position:static;}
  .lower-cta-main{grid-template-columns:1fr;align-items:start;}
  .lower-cta-actions{align-items:flex-start;min-width:0;}
  .lower-cta-actions .btn{min-width:220px;}
}

@media(max-width:600px){
  .lower-process{padding:86px 5% 64px;}
  .lower-process::before{top:18px;right:0;font-size:8rem;}
  .lower-process-head h2{font-size:clamp(2.7rem,12vw,4.2rem);}
  .lower-process-grid{margin-top:8px;}
  .lower-process-step h3{font-size:1.55rem;}
  .lower-process-note{margin-top:18px;line-height:1.55;}
  .lower-facts{padding:0;}
  .lower-fact,.lower-fact:first-child,.lower-fact:last-child{min-height:118px;padding:22px 5vw;}
  .lower-fact strong{font-size:1.18rem;}
  .lower-faq{padding:88px 5%;gap:42px;}
  .lower-faq-head h2{font-size:clamp(2.7rem,12vw,4.1rem);}
  .lower-faq-list summary{padding:22px 44px 22px 0;font-size:1.06rem;}
  .lower-faq-list p{padding:0 38px 22px 0;font-size:.86rem;}
  .lower-cta{padding:86px 5% 100px;}
  .lower-cta-kicker{margin-bottom:30px;}
  .lower-cta h2{font-size:clamp(2.75rem,13vw,4.4rem);}
  .lower-cta-main{gap:35px;}
  .lower-cta-actions{width:100%;}
  .lower-cta-actions .btn{width:100%;min-width:0;}
  .booking-modal-v7{padding:0;place-items:stretch;}
  .booking-dialog-v7{width:100%;max-height:100dvh;height:100dvh;border:0;border-radius:0;}
  .booking-dialog-head-v7{padding:19px 5%;}
  .booking-dialog-head-v7 h2{font-size:1.75rem;}
  .booking-progress-v7{padding:0 5%;}
  .booking-progress-v7 span{gap:7px;padding:13px 0;font-size:.56rem;}
  .booking-progress-v7 i{width:20px;height:20px;}
  .booking-flow-v7{padding:24px 5% 100px;}
  .booking-step-copy-v7{gap:14px;margin-bottom:24px;}
  .booking-step-copy-v7 h3{font-size:1.38rem;}
  .booking-occasion-v7,.booking-interests-v7{grid-template-columns:1fr 1fr;gap:7px;}
  .booking-occasion-v7 span,.booking-interests-v7 span{min-height:54px;padding:10px 8px;font-size:.7rem;}
  .booking-fields-grid-v7{grid-template-columns:1fr;gap:14px;}
  .booking-summary-v7 dl{grid-template-columns:1fr;}
  .booking-summary-v7 dl div{grid-template-columns:minmax(95px,.7fr) 1fr;}
  .booking-controls-v7{position:fixed;left:0;right:0;bottom:0;z-index:5;margin:0;padding:13px 5vw calc(13px + env(safe-area-inset-bottom));background:rgba(13,12,13,.96);border-top:1px solid var(--line);backdrop-filter:blur(12px);}
  .booking-next-v7,.booking-submit-v7{min-width:0;flex:1;}
}

@media(prefers-reduced-motion:reduce){
  .booking-step-v7.is-active{animation:none;}
  .booking-dialog-v7{transition:none;transform:none;}
}
