/* INOKIM launch page — isolated under .launch-page. Tokens first, then a small
   type/spacing system, then sections. Mobile composition is its own (not a
   scaled desktop): media stacks above copy, stats reflow, sticky bar bottom. */
.launch-page{
  --launch-bg:#050505; --launch-bg-2:#0c0c0e; --launch-panel:#121215;
  --launch-text:#fff; --launch-muted:rgba(255,255,255,.66); --launch-faint:rgba(255,255,255,.36);
  --launch-line:rgba(255,255,255,.12); --launch-accent:#dc3545; --launch-gold:#a28658;
  --launch-light-bg:#f5f5f7; --launch-light-text:#171a20; --launch-light-muted:#5c5e62;
  --launch-max:1320px; --launch-gutter:clamp(18px,4vw,48px);
  --launch-ease:cubic-bezier(.22,.61,.36,1);
  background:var(--launch-bg); color:var(--launch-text); direction:rtl;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",system-ui,"Segoe UI","Noto Sans Hebrew",Arial,sans-serif;
  -webkit-font-smoothing:antialiased; letter-spacing:-.01em; overflow-x:clip;
  margin-top:-53px; /* under the fixed (overlay) navbar */
}
.launch-page *,.launch-page *::before,.launch-page *::after{ box-sizing:border-box; }
.launch-page img,.launch-page video{ max-width:100%; display:block; }
.launch-container{ max-width:var(--launch-max); margin:0 auto; padding:0 var(--launch-gutter); }
.launch-section{ padding:clamp(72px,12vw,160px) 0; position:relative; }
.launch-section__head{ text-align:center; max-width:820px; margin:0 auto clamp(32px,5vw,64px); }
.launch-preview-note{ position:relative; z-index:30; background:#a28658; color:#111; font-size:13px; font-weight:700; text-align:center; padding:8px 16px; margin-top:53px; }

/* ── Type system ── */
.launch-eyebrow{ display:inline-block; font-size:12px; font-weight:700; letter-spacing:.22em; color:var(--launch-gold); margin-bottom:14px; text-transform:uppercase; }
.launch-display{ font-weight:800; letter-spacing:-.03em; line-height:1.02; margin:0; text-wrap:balance; }
.launch-hero .launch-display{ font-size:clamp(38px,7.2vw,96px); }
.launch-display--lg{ font-size:clamp(34px,5.6vw,72px); }
.launch-display--md{ font-size:clamp(28px,4.2vw,54px); }
.launch-display--sm{ font-size:clamp(24px,3vw,36px); }
.launch-lead{ font-size:clamp(16px,1.6vw,20px); line-height:1.55; color:var(--launch-muted); margin:18px 0 0; max-width:60ch; }
.launch-section__head .launch-lead{ margin-inline:auto; }
.launch-body{ font-size:15.5px; line-height:1.75; color:var(--launch-muted); margin:16px 0 0; max-width:58ch; }
.launch-fine{ font-size:12.5px; line-height:1.6; color:var(--launch-muted); margin:18px 0 0; }
.launch-fine--center{ text-align:center; max-width:70ch; margin-inline:auto; }
.launch-fine a{ color:inherit; }
.launch-disclaimer{ font-size:14px; line-height:1.65; color:var(--launch-muted); max-width:72ch; margin:32px auto 0; text-align:center; }
.launch-list{ list-style:none; margin:20px 0 0; padding:0; display:grid; gap:10px; }
.launch-list li{ position:relative; padding-inline-start:22px; font-size:15px; line-height:1.55; color:var(--launch-text); }
.launch-list li::before{ content:""; position:absolute; inset-inline-start:0; top:.62em; width:10px; height:2px; background:var(--launch-gold); }
.launch-chips{ list-style:none; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:28px 0 0; padding:0; }
.launch-chips li{ padding:9px 16px; border-radius:999px; border:1px solid var(--launch-line); font-size:13.5px; font-weight:600; color:var(--launch-text); background:rgba(255,255,255,.04); }

/* ── Buttons ── */
.launch-btn{ appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1.5px solid transparent; border-radius:8px; padding:15px 34px; font:inherit; font-size:15.5px; font-weight:700; letter-spacing:-.01em; cursor:pointer; text-decoration:none; transition:transform .12s var(--launch-ease), background .15s, border-color .15s, color .15s; }
.launch-btn:active{ transform:translateY(1px); }
.launch-btn--primary{ background:#fff; color:#0a0a0a; }
.launch-btn--primary:hover{ background:#e9e9ec; }
.launch-btn--ghost{ background:rgba(255,255,255,.06); color:#fff; border-color:rgba(255,255,255,.28); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.launch-btn--ghost:hover{ border-color:#fff; }
.launch-btn--bar{ background:var(--launch-accent); color:#fff; padding:13px 26px; }
.launch-btn--bar:hover{ background:#c82333; }
.launch-btn--block{ width:100%; }
.launch-btn:disabled{ opacity:.6; cursor:wait; }
.launch-btn:focus-visible,.launch-page a:focus-visible,.launch-page button:focus-visible,.launch-page summary:focus-visible,.launch-page input:focus-visible{ outline:2px solid #fff; outline-offset:3px; }

/* ── Media ── */
.launch-media{ width:100%; height:auto; border-radius:18px; object-fit:cover; background:var(--launch-panel); }
.launch-media--empty{ aspect-ratio:4/3; display:grid; place-items:center; border:1px solid var(--launch-line);
  background:radial-gradient(60% 55% at 50% 45%, rgba(255,255,255,.08), transparent 70%), var(--launch-panel); }
.launch-media--empty span{ font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:var(--launch-faint); }

/* ── Reveal (declarative) ── */
.launch-page [data-reveal]{ opacity:0; transform:translateY(22px); transition:opacity .8s var(--launch-ease), transform .8s var(--launch-ease); transition-delay:var(--reveal-delay,0ms); will-change:opacity,transform; }
.launch-page [data-reveal="fade-in"]{ transform:none; }
.launch-page [data-reveal].is-in{ opacity:1; transform:none; will-change:auto; }

/* ── Hero ── */
.launch-hero{ position:relative; min-height:100svh; display:grid; align-items:end; overflow:hidden; isolation:isolate; padding:calc(53px + 12vh) 0 clamp(56px,10vh,110px); }
.launch-hero__media{ position:absolute; inset:0; z-index:-1; }
.launch-hero__video,.launch-hero__img,.launch-hero__void{ width:100%; height:100%; object-fit:cover; }
.launch-hero__void{ background:radial-gradient(70% 50% at 50% 35%, #1a1b1f 0%, #0a0a0b 55%, #050505 100%); }
.launch-hero__void::after{ content:""; position:absolute; inset:0; background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.05) 50%, transparent 60%); animation:launchSweep 9s linear infinite; }
@keyframes launchSweep{ from{ transform:translateX(-60%); } to{ transform:translateX(60%); } }
.launch-hero__shade{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(5,5,5,.55) 0%, rgba(5,5,5,.15) 40%, rgba(5,5,5,.78) 78%, #050505 100%); }
.launch-hero__content{ position:relative; max-width:var(--launch-max); width:100%; margin:0 auto; padding:0 var(--launch-gutter); text-align:center; }
/* Desktop composition: the render carries the product on the LEFT; every line of
   copy sits in the right column (RTL start) on ONE alignment edge, vertically
   centred. Rules are scoped to .launch-hero so they beat the base (centred)
   rules regardless of source order. */
@media (min-width:992px){
  .launch-hero{ align-items:center; padding:calc(53px + 6vh) 0 clamp(56px,8vh,96px); }
  .launch-hero__img,.launch-hero__video{ object-position:left center; }
  .launch-hero__shade{ background:
      linear-gradient(90deg, rgba(5,5,5,0) 0%, rgba(5,5,5,0) 48%, rgba(5,5,5,.55) 72%, rgba(5,5,5,.78) 100%),
      linear-gradient(180deg, rgba(5,5,5,.35) 0%, rgba(5,5,5,0) 30%, rgba(5,5,5,0) 80%, #050505 100%); }
  .launch-hero__content{ display:grid; grid-template-columns:minmax(0,44%) 1fr; text-align:start; }
  .launch-hero__content > *{ grid-column:1; justify-self:start; }
  .launch-hero .launch-eyebrow{ margin-bottom:18px; }
  .launch-hero .launch-display{ font-size:clamp(44px,5.4vw,78px); max-width:12ch; }
  .launch-hero__sub{ margin:18px 0 0; }
  .launch-hero .launch-hero__launch{ justify-content:flex-start; gap:6px 18px; margin-top:26px; }
  .launch-hero .launch-price{ align-items:flex-start; margin-top:30px; }
  .launch-hero .launch-price__now{ font-size:clamp(56px,6.2vw,88px); }
  .launch-hero .launch-price__tag{ margin-top:12px; }
  .launch-hero .launch-deposit{ margin-top:22px; padding-top:22px; border-top:1px solid rgba(255,255,255,.14); width:100%; }
  .launch-hero .launch-hero__actions{ justify-content:flex-start; margin-top:26px; }
  .launch-hero .launch-swatches{ justify-content:flex-start; }
  .launch-hero .launch-hero__actions .launch-btn{ min-width:208px; }
  .launch-hero__scroll{ left:auto; inset-inline-start:50%; }
}
@media (max-width:991px){
  /* Phones/tablets: stacked composition — the render on top (cropped so the
     whole bike stays in frame), the copy below on solid black. */
  .launch-hero{ display:flex; flex-direction:column; align-items:stretch; padding:0 0 clamp(40px,7vh,72px); }
  /* The fixed header covers the render's dark top strip; the bike is framed
     lower in the source, so the crop favours the bottom. */
  .launch-hero__media{ position:relative; inset:auto; z-index:0; height:min(58svh,540px); flex:0 0 auto; }
  .launch-hero__img,.launch-hero__video{ object-position:10% 66%; }
  .launch-hero__shade{ background:linear-gradient(180deg, rgba(5,5,5,.35) 0%, rgba(5,5,5,0) 22%, rgba(5,5,5,0) 62%, #050505 100%); }
  .launch-hero__content{ margin-top:-8vh; }
  .launch-hero__launch{ margin-top:18px; }
  .launch-price{ margin-top:16px; }
  .launch-hero__actions{ margin-top:24px; }
}
.launch-hero__sub{ font-size:clamp(16px,1.8vw,21px); color:var(--launch-muted); margin:16px auto 0; max-width:56ch; }
.launch-hero__launch{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px; margin-top:26px; }
.launch-hero__launch-line{ font-size:13px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--launch-text); }
.launch-price{ display:flex; flex-direction:column; align-items:center; margin-top:22px; line-height:1; }
.launch-price__was{ font-size:clamp(16px,1.8vw,20px); color:var(--launch-faint); }
.launch-price__now{ font-size:clamp(44px,6.5vw,84px); font-weight:800; letter-spacing:-.04em; margin-top:6px; }
.launch-price__tag{ font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--launch-gold); margin-top:10px; }
.launch-deposit{ margin:18px 0 0; font-size:clamp(17px,2vw,22px); color:var(--launch-text); }
.launch-deposit b{ font-weight:800; }
.launch-hero__actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:30px; }
.launch-hero__fine{ margin-top:18px; color:var(--launch-muted); font-size:13px; }
/* On-page colour swatches (hero + price reveal), synced with the modal. */
.launch-swatches{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; margin-top:22px; }
.launch-swatches__label{ font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--launch-muted); margin-inline-end:4px; }
.launch-swatch{ appearance:none; display:inline-flex; align-items:center; gap:9px; padding:8px 14px 8px 10px; border-radius:999px; border:1.5px solid var(--launch-line); background:rgba(255,255,255,.04); color:var(--launch-text); font:inherit; font-size:13.5px; font-weight:600; cursor:pointer; transition:border-color .15s, background .15s; }
.launch-swatch:hover{ border-color:rgba(255,255,255,.4); }
.launch-swatch.is-active{ border-color:#fff; background:rgba(255,255,255,.08); box-shadow:0 0 0 1px #fff; }
.launch-swatch__dot{ width:20px; height:20px; border-radius:50%; background:var(--c); box-shadow:inset 0 0 0 1px rgba(0,0,0,.25), 0 0 0 2px rgba(255,255,255,.08); }
.launch-offer__colors{ margin-top:26px; }
.launch-offer__colors .launch-swatches{ margin-top:0; }
.launch-hero__scroll{ position:absolute; bottom:18px; left:50%; width:22px; height:36px; border:1.5px solid rgba(255,255,255,.35); border-radius:12px; transform:translateX(-50%); }
.launch-hero__scroll span{ position:absolute; top:7px; left:50%; width:3px; height:7px; margin-left:-1.5px; border-radius:2px; background:#fff; animation:launchScroll 1.8s ease-in-out infinite; }
@keyframes launchScroll{ 0%{ transform:translateY(0); opacity:1 } 70%{ transform:translateY(12px); opacity:0 } 100%{ opacity:0 } }

/* ── Product reveal ── */
.launch-reveal{ padding-top:clamp(40px,6vw,80px); }
.launch-reveal__stage{ position:relative; max-width:1180px; margin:0 auto; padding:0 var(--launch-gutter); }
.launch-reveal__img{ width:100%; height:auto; max-height:min(80svh,760px); object-fit:cover; border-radius:22px; filter:brightness(var(--reveal-b,.08)) contrast(1.05); transform:scale(var(--reveal-s,.96)); transition:filter .2s linear, transform .2s linear; }
.launch-reveal__light{ position:absolute; inset:10% 20% auto; height:60%; pointer-events:none; opacity:var(--reveal-l,0); background:radial-gradient(50% 50% at 50% 30%, rgba(255,255,255,.18), transparent 70%); filter:blur(30px); transition:opacity .2s linear; }
.launch-reveal__copy{ text-align:center; max-width:760px; margin:clamp(36px,5vw,64px) auto 0; padding:0 var(--launch-gutter); }
.launch-share{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:26px; }
.launch-share__btn{ display:inline-flex; align-items:center; gap:7px; padding:9px 14px; border-radius:999px; border:1px solid var(--launch-line); background:transparent; color:var(--launch-muted); font:inherit; font-size:13px; font-weight:600; text-decoration:none; cursor:pointer; transition:color .15s, border-color .15s; }
.launch-share__btn:hover{ color:#fff; border-color:rgba(255,255,255,.4); }
.launch-share__btn svg{ width:15px; height:15px; }

/* ── Certification ── */
.launch-cert{ background:var(--launch-bg-2); border-top:1px solid var(--launch-line); border-bottom:1px solid var(--launch-line); }
.launch-cert__grid{ display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(32px,6vw,96px); align-items:center; }
.launch-cert__mark{ display:grid; justify-items:center; }
/* White certificate plaque: fixed modest size, the mark centred with generous
   padding, a caption under it — reads like a credential, not a hero image. */
.launch-cert__plaque{ margin:0; width:min(100%,320px); display:grid; justify-items:center; gap:14px; }
.launch-cert__plaque img{ width:100%; height:auto; aspect-ratio:1; object-fit:contain; padding:14%; background:#fff; border-radius:28px;
  box-shadow:0 30px 70px rgba(0,0,0,.55), inset 0 0 0 1px rgba(0,0,0,.06); }
.launch-cert__plaque figcaption{ display:grid; justify-items:center; gap:2px; text-align:center; }
.launch-cert__plaque span{ font-size:13px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--launch-gold); }
.launch-cert__plaque small{ font-size:12.5px; color:var(--launch-muted); }
.launch-cert__seal{ aspect-ratio:1; border-radius:50%; border:1px solid rgba(162,134,88,.45); display:grid; place-items:center; align-content:center; gap:14px; color:var(--launch-gold); background:radial-gradient(60% 60% at 50% 40%, rgba(162,134,88,.14), transparent 72%); }
.launch-cert__seal svg{ width:34%; height:auto; }
.launch-cert__seal span{ font-size:12px; letter-spacing:.28em; font-weight:700; text-transform:uppercase; }

/* ── Safety cards ── */
.launch-safety__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; }
.launch-card{ padding:28px 26px; border-radius:18px; background:var(--launch-panel); border:1px solid var(--launch-line); }
.launch-card__k{ display:block; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--launch-gold); font-weight:700; }
.launch-card__t{ margin:14px 0 0; font-size:22px; font-weight:800; letter-spacing:-.02em; }
.launch-card__p{ margin:10px 0 0; font-size:14.5px; line-height:1.65; color:var(--launch-muted); }
.launch-safety__media{ margin:28px 0 0; }
.launch-safety__media img{ width:100%; height:auto; aspect-ratio:21/9; object-fit:cover; border-radius:20px; }

/* ── Generic feature ── */
.launch-feature__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,96px); align-items:center; }
/* Renders arrive in mixed ratios — every feature frame is the same 4:5 on
   desktop so copy and image share a height; mobile keeps a 4:5 too. */
.launch-feature__media .launch-media{ aspect-ratio:4/5; max-height:min(72vh,680px); object-fit:cover; }
.launch-feature--media-start .launch-feature__media{ order:-1; }
.launch-feature--light{ background:var(--launch-light-bg); color:var(--launch-light-text); }
.launch-feature--light .launch-lead,.launch-feature--light .launch-body{ color:var(--launch-light-muted); }
.launch-feature--light .launch-list li{ color:var(--launch-light-text); }
.launch-feature--light .launch-media{ background:#e9e9ec; }
.launch-feature--light .launch-media--empty{ border-color:rgba(0,0,0,.08); background:radial-gradient(60% 55% at 50% 45%, rgba(0,0,0,.06), transparent 70%), #e9e9ec; }
.launch-feature--light .launch-media--empty span{ color:rgba(0,0,0,.35); }
.launch-feature--light .launch-stats--inline dt{ color:var(--launch-light-text); }
.launch-feature--light .launch-stats--inline dd{ color:var(--launch-light-muted); }
.launch-stats{ margin:0; }
.launch-stats--inline{ display:flex; flex-wrap:wrap; gap:22px 36px; margin-top:28px; }
.launch-stats--inline dt{ font-size:26px; font-weight:800; letter-spacing:-.03em; }
.launch-stats--inline dd{ margin:2px 0 0; font-size:13px; color:var(--launch-muted); }

/* ── CarPlay ── */
.launch-carplay{ background:linear-gradient(180deg, var(--launch-bg) 0%, #08080a 100%); }
.launch-carplay__display{ max-width:880px; margin:0 auto; }
.launch-carplay__bezel{ position:relative; border-radius:28px; background:#0e0f12; border:1px solid rgba(255,255,255,.14); padding:14px; box-shadow:0 40px 100px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,.04); }
.launch-carplay__screen{ position:relative; width:100%; aspect-ratio:16/10; border-radius:18px; overflow:hidden; background:#000; object-fit:cover; }
.launch-carplay__screen--ui{ display:grid; place-items:center; }
.launch-carplay__glow{ position:absolute; inset:-20%; background:radial-gradient(45% 45% at 50% 50%, rgba(90,160,255,.35), transparent 70%); }
.launch-carplay__ui{ position:relative; display:flex; flex-direction:column; align-items:center; color:#fff; }
.launch-carplay__ui b{ font-size:clamp(64px,12vw,140px); font-weight:800; letter-spacing:-.05em; line-height:1; }
.launch-carplay__ui small{ font-size:14px; letter-spacing:.3em; text-transform:uppercase; color:rgba(255,255,255,.7); }
.launch-carplay__off{ position:absolute; inset:14px; border-radius:18px; background:#000; opacity:var(--display-off,1); transition:opacity 1.1s var(--launch-ease); pointer-events:none; }
.launch-carplay__display.is-on{ --display-off:0; }
/* Device cutout stage — the screen "switches on" as it enters the viewport. */
.launch-carplay__device{ position:relative; width:min(100%,720px); margin:-4% auto 0; isolation:isolate; } /* cutout carries transparent headroom */
.launch-carplay__device img{ position:relative; z-index:1; width:100%; height:auto;
  filter:brightness(var(--dev-b,.14)) saturate(var(--dev-s,.4)); transition:filter 1.2s var(--launch-ease);
  -webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%); mask-image:linear-gradient(180deg,#000 82%,transparent 100%); }
.launch-carplay__halo{ position:absolute; inset:-6% -18% 22%; z-index:0; border-radius:50%; pointer-events:none;
  background:radial-gradient(50% 50% at 50% 42%, rgba(76,150,255,.34), rgba(76,150,255,.08) 55%, transparent 72%);
  filter:blur(28px); opacity:var(--dev-h,0); transition:opacity 1.4s var(--launch-ease); }
.launch-carplay__floor{ position:absolute; left:14%; right:14%; bottom:4%; height:14%; z-index:0; pointer-events:none; border-radius:50%;
  background:radial-gradient(50% 50% at 50% 50%, rgba(76,150,255,.22), transparent 70%); filter:blur(18px); opacity:var(--dev-h,0); transition:opacity 1.4s var(--launch-ease); }
.launch-carplay__device.is-on{ --dev-b:1; --dev-s:1; --dev-h:1; }

/* ── Suspension ── */
.launch-susp__stage{ display:grid; grid-template-columns:1.4fr .8fr; gap:clamp(28px,5vw,72px); align-items:center; }
.launch-susp__media{ position:relative; }
.launch-susp__media .launch-media{ aspect-ratio:4/3; object-fit:cover; }
.launch-susp__spot{ position:absolute; width:24%; aspect-ratio:1; border-radius:50%; pointer-events:none; opacity:0; transition:opacity .6s var(--launch-ease);
  background:radial-gradient(50% 50% at 50% 50%, rgba(255,255,255,.28), transparent 70%); filter:blur(6px); }
.launch-susp__spot--front{ right:12%; bottom:14%; } .launch-susp__spot--rear{ left:14%; bottom:16%; }
.launch-susp__stage[data-active="0"] .launch-susp__spot--front,.launch-susp__stage[data-active="2"] .launch-susp__spot--front{ opacity:1; }
.launch-susp__stage[data-active="1"] .launch-susp__spot--rear,.launch-susp__stage[data-active="2"] .launch-susp__spot--rear{ opacity:1; }
.launch-susp__steps{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.launch-susp__step{ display:flex; gap:16px; align-items:flex-start; padding:18px 20px; border-radius:16px; border:1px solid var(--launch-line); background:var(--launch-panel); transition:border-color .3s, background .3s; }
.launch-susp__step.is-active{ border-color:rgba(255,255,255,.45); background:#17181c; }
.launch-susp__n{ flex:0 0 30px; height:30px; border-radius:50%; display:grid; place-items:center; font-size:13px; font-weight:800; background:rgba(255,255,255,.08); }
.launch-susp__step b{ display:block; font-size:17px; font-weight:800; letter-spacing:-.02em; }
.launch-susp__step span{ display:block; font-size:13.5px; color:var(--launch-muted); margin-top:2px; }
.launch-susp__step small{ display:block; font-size:12px; color:var(--launch-faint); margin-top:6px; }

/* ── Lighting ── */
.launch-light{ background:#000; }
.launch-light__stage{ max-width:1100px; margin:0 auto; }
.launch-light__frames{ position:relative; aspect-ratio:16/9; border-radius:22px; overflow:hidden; background:#050505; }
.launch-light__frame{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .5s var(--launch-ease); }
.launch-light__frame.is-on{ opacity:1; }
.launch-light__frame.launch-media--empty{ aspect-ratio:auto; border-radius:0; }
.launch-light__labels{ list-style:none; margin:22px 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:8px 18px; counter-reset:l; }
.launch-light__labels li{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--launch-faint); transition:color .3s; }
.launch-light__labels li span{ width:8px; height:8px; border-radius:50%; background:currentColor; box-shadow:0 0 0 0 rgba(255,255,255,0); transition:box-shadow .4s; }
.launch-light__labels li.is-on{ color:#fff; } .launch-light__labels li.is-on span{ box-shadow:0 0 14px 3px rgba(255,255,255,.55); }

/* ── Range / big numbers ── */
.launch-stats--big{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; text-align:center; }
.launch-stats--big > div{ padding:34px 18px; border-radius:20px; border:1px solid var(--launch-line); background:var(--launch-panel); }
.launch-stats--big dt{ font-size:clamp(40px,6vw,74px); font-weight:800; letter-spacing:-.04em; line-height:1; }
.launch-stats--big dd{ margin:10px 0 0; font-size:14px; letter-spacing:.14em; text-transform:uppercase; color:var(--launch-muted); font-weight:700; }
.launch-stats--big small{ display:block; margin-top:8px; font-size:12px; color:var(--launch-faint); }

/* ── Specs ── */
.launch-specs{ background:var(--launch-light-bg); color:var(--launch-light-text); }
.launch-specs .launch-eyebrow{ color:#8a6f42; }
.launch-specs__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; margin:0; }
.launch-spec{ padding:20px 22px; border-radius:14px; background:#fff; border:1px solid #e5e5ea; }
.launch-spec dt{ font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--launch-light-muted); }
.launch-spec dd{ margin:8px 0 0; font-size:17px; font-weight:700; letter-spacing:-.01em; line-height:1.4; }
.launch-spec dd small{ display:block; font-size:12px; font-weight:400; color:var(--launch-light-muted); margin-top:4px; }

/* ── Price reveal ── */
.launch-offer{ background:radial-gradient(70% 60% at 50% 0%, #17181c 0%, var(--launch-bg) 60%); text-align:center; }
.launch-offer__inner{ max-width:960px; }
.launch-offer__grid{ display:grid; grid-template-columns:1fr 1.3fr 1fr; gap:12px; margin-top:40px; align-items:stretch; }
.launch-offer__cell{ padding:26px 18px; border-radius:18px; border:1px solid var(--launch-line); background:var(--launch-panel); display:flex; flex-direction:column; gap:10px; justify-content:center; }
.launch-offer__cell--hero{ border-color:rgba(255,255,255,.4); background:#17181c; }
.launch-offer__k{ font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--launch-muted); }
.launch-offer__v{ font-size:clamp(28px,4vw,52px); font-weight:800; letter-spacing:-.04em; line-height:1; }
.launch-offer__v--was{ color:var(--launch-faint); font-size:clamp(22px,3vw,36px); }
.launch-offer__v--save{ color:var(--launch-gold); }
.launch-offer__deposit{ margin-top:34px; display:grid; gap:8px; }
.launch-offer__deposit-line{ font-size:clamp(22px,3.4vw,40px); font-weight:800; letter-spacing:-.03em; }
.launch-offer__deposit-sub{ font-size:15px; color:var(--launch-muted); line-height:1.6; }
.launch-offer__deposit-sub b{ color:#fff; font-weight:700; }
.launch-offer__cta{ margin-top:30px; }

/* ── FAQ ── */
.launch-faq__inner{ max-width:820px; }
.launch-faq .launch-display{ text-align:center; margin-bottom:28px; }
.launch-faq__list{ display:grid; gap:10px; }
.launch-faq__item{ border:1px solid var(--launch-line); border-radius:14px; background:var(--launch-panel); }
.launch-faq__item summary{ list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 20px; font-size:16px; font-weight:700; cursor:pointer; }
.launch-faq__item summary::-webkit-details-marker{ display:none; }
.launch-faq__item summary i{ flex:0 0 18px; height:18px; position:relative; }
.launch-faq__item summary i::before,.launch-faq__item summary i::after{ content:""; position:absolute; inset:50% auto auto 50%; width:12px; height:1.5px; background:#fff; transform:translate(-50%,-50%); transition:transform .25s; }
.launch-faq__item summary i::after{ transform:translate(-50%,-50%) rotate(90deg); }
.launch-faq__item[open] summary i::after{ transform:translate(-50%,-50%) rotate(0); }
.launch-faq__a{ padding:0 20px 20px; font-size:15px; line-height:1.75; color:var(--launch-muted); }

/* ── Legal ── */
.launch-legal{ background:var(--launch-bg-2); border-top:1px solid var(--launch-line); padding:56px 0 calc(56px + 84px); }
.launch-legal__inner{ max-width:900px; }
.launch-legal__title{ font-size:14px; letter-spacing:.2em; text-transform:uppercase; color:var(--launch-muted); margin:0 0 18px; }
.launch-legal__list{ margin:0; display:grid; gap:14px; }
.launch-legal__list dt{ font-size:13px; font-weight:700; color:#fff; }
.launch-legal__list dd{ margin:4px 0 0; font-size:13.5px; line-height:1.7; color:var(--launch-muted); }

/* ── Sticky reserve bar ── */
.launch-sticky{ position:fixed; left:0; right:0; bottom:0; z-index:40; transform:translateY(110%); transition:transform .45s var(--launch-ease); pointer-events:none; }
.launch-sticky.is-visible{ transform:none; pointer-events:auto; }
.launch-sticky__inner{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:rgba(10,10,12,.86); -webkit-backdrop-filter:blur(16px) saturate(160%); backdrop-filter:blur(16px) saturate(160%); border-top:1px solid var(--launch-line); }
.launch-sticky__info{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.launch-sticky__name{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--launch-muted); }
.launch-sticky__price{ font-size:14px; color:var(--launch-muted); } .launch-sticky__price b{ color:#fff; font-size:16px; }
.launch-sticky__deposit{ font-size:13px; color:var(--launch-muted); } .launch-sticky__deposit b{ color:#fff; }
@media (min-width:768px){
  .launch-sticky{ left:auto; right:auto; bottom:22px; inset-inline-start:22px; width:auto; }
  .launch-sticky__inner{ border:1px solid var(--launch-line); border-radius:16px; padding:12px 16px; gap:22px; box-shadow:0 20px 50px rgba(0,0,0,.5); }
}

/* ── Modal (native <dialog>) ── */
.launch-modal{ border:0; padding:0; background:transparent; max-width:none; max-height:none; width:100%; height:100%; margin:0; inset:0; color:var(--launch-light-text); }
.launch-modal::backdrop{ background:rgba(0,0,0,.72); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.launch-modal__panel{ position:absolute; inset-inline:0; bottom:0; margin:0 auto; width:100%; max-width:560px; max-height:94svh; overflow:auto; overscroll-behavior:contain; background:#fff; border-radius:22px 22px 0 0; padding:28px 22px calc(22px + env(safe-area-inset-bottom)); direction:rtl; text-align:right;
  transform:translateY(24px); opacity:0; animation:launchSheet .38s var(--launch-ease) forwards; }
@keyframes launchSheet{ to{ transform:none; opacity:1; } }
@media (min-width:640px){ .launch-modal__panel{ inset:50% auto auto 50%; bottom:auto; transform:translate(-50%,-48%); border-radius:20px; padding:34px 34px 30px; animation:launchModal .38s var(--launch-ease) forwards; } @keyframes launchModal{ to{ transform:translate(-50%,-50%); opacity:1; } } }
.launch-modal .launch-eyebrow{ color:#8a6f42; }
.launch-modal__close{ position:absolute; top:14px; inset-inline-end:14px; width:38px; height:38px; border:0; border-radius:50%; background:#f2f2f4; color:#111; display:grid; place-items:center; cursor:pointer; }
.launch-modal__close svg{ width:18px; height:18px; }
.launch-modal__title{ font-size:26px; font-weight:800; letter-spacing:-.02em; margin:0 0 18px; }
.launch-modal__summary{ display:grid; gap:0; margin:0 0 20px; border:1px solid #e5e5ea; border-radius:14px; overflow:hidden; }
.launch-modal__summary > div{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:12px 16px; border-bottom:1px solid #eeeef1; font-size:14px; }
.launch-modal__summary > div:last-child{ border-bottom:0; }
.launch-modal__summary dt{ color:var(--launch-light-muted); }
.launch-modal__summary dd{ margin:0; font-weight:600; } .launch-modal__summary s{ color:#9a9da1; font-weight:400; margin-inline-end:6px; }
.launch-modal__summary .is-hero{ background:#f7f7f8; } .launch-modal__summary .is-hero dd b{ font-size:20px; font-weight:800; }
.launch-colors{ border:0; padding:0; margin:0 0 18px; }
.launch-colors legend{ font-size:12.5px; font-weight:700; color:var(--launch-light-muted); margin-bottom:10px; }
.launch-colors__row{ display:flex; flex-wrap:wrap; gap:10px; }
.launch-color{ display:inline-flex; align-items:center; gap:9px; padding:8px 14px 8px 10px; border:1.5px solid #e0e2e5; border-radius:999px; cursor:pointer; font-size:13.5px; font-weight:600; }
.launch-color input{ position:absolute; opacity:0; width:0; height:0; }
.launch-color__dot{ width:18px; height:18px; border-radius:50%; background:var(--c); box-shadow:inset 0 0 0 1px rgba(0,0,0,.15); }
.launch-color:has(input:checked){ border-color:#111; box-shadow:0 0 0 1px #111; }
.launch-fields{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.launch-field{ position:relative; display:block; }
.launch-field input{ width:100%; border:1.5px solid #e0e2e5; border-radius:12px; padding:22px 14px 8px; font:inherit; font-size:16px; background:#fff; transition:border-color .15s; }
.launch-field input:focus{ outline:none; border-color:#111; }
.launch-field span{ position:absolute; top:50%; inset-inline-start:14px; transform:translateY(-50%); font-size:14px; color:#8a8d91; pointer-events:none; transition:all .15s; }
.launch-field input:focus + span,.launch-field input:not(:placeholder-shown) + span{ top:9px; transform:none; font-size:11px; color:#5c5e62; }
.launch-field input:user-invalid{ border-color:#dc3545; }
.launch-consent{ display:flex; gap:10px; align-items:flex-start; margin:16px 0 0; font-size:13px; line-height:1.55; color:var(--launch-light-muted); cursor:pointer; }
.launch-consent input{ margin-top:3px; width:17px; height:17px; flex:0 0 auto; accent-color:#111; }
.launch-consent a{ color:#111; }
.launch-form__error{ margin:14px 0 0; padding:11px 14px; border-radius:10px; background:#fdecec; color:#9b1c1c; font-size:13.5px; font-weight:600; }
.launch-modal .launch-btn--primary{ background:#111; color:#fff; margin-top:18px; }
.launch-modal .launch-btn--primary:hover{ background:#2a2a2e; }
.launch-modal .launch-fine{ color:#8a8d91; margin-top:12px; }
body.launch-modal-open{ overflow:hidden; }
/* ── Two-step reservation (details → in-modal card payment) ─────────── */
.launch-steps{ list-style:none; display:flex; align-items:center; gap:0; margin:-6px 0 20px; padding:0; }
.launch-steps li{ display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; color:#9a9da1; }
.launch-steps li i{ display:grid; place-items:center; width:22px; height:22px; border-radius:50%; border:1.5px solid #d6d8dc; font-style:normal; font-size:11.5px; color:#9a9da1; transition:all .2s; }
.launch-steps li.is-current{ color:#111; } .launch-steps li.is-current i{ background:#111; border-color:#111; color:#fff; }
.launch-steps li.is-done{ color:#5c5e62; } .launch-steps li.is-done i{ border-color:#111; color:#111; }
.launch-steps li + li::before{ content:""; width:34px; height:1.5px; background:#e0e2e5; margin:0 12px; }
.launch-steps li.is-current + li::before, .launch-steps li.is-done + li::before{ background:#111; }
.launch-pay__order{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border:1px solid #e5e5ea; border-radius:14px; }
.launch-pay__order-text{ display:grid; gap:2px; font-size:13.5px; min-width:0; }
.launch-pay__order-text b{ font-weight:700; color:#111; } .launch-pay__order-text span{ color:var(--launch-light-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.launch-pay__edit{ appearance:none; border:0; background:transparent; font:inherit; font-size:13px; font-weight:700; color:#111; text-decoration:underline; text-underline-offset:3px; cursor:pointer; padding:6px 0; flex:0 0 auto; }
.launch-modal__summary dd small{ font-size:12px; font-weight:500; color:var(--launch-light-muted); }
/* Payment plan: today's deposit → balance spread over card installments */
.launch-plan{ display:grid; grid-template-columns:1fr auto 1fr; align-items:stretch; gap:0; margin:10px 0 20px; }
.launch-plan__now, .launch-plan__later{ display:grid; align-content:center; gap:4px; padding:14px 16px; border-radius:14px; min-width:0; }
.launch-plan__now{ background:#111; color:#fff; padding-inline-end:22px; }
.launch-plan__later{ background:#f7f7f8; color:#111; }
.launch-plan__tag{ font-size:11.5px; font-weight:700; letter-spacing:.04em; opacity:.75; }
.launch-plan b{ font-size:26px; font-weight:800; letter-spacing:-.02em; line-height:1.1; }
.launch-plan b small{ font-size:13px; font-weight:600; letter-spacing:0; margin-inline-start:4px; opacity:.7; }
.launch-plan__sub{ font-size:12px; opacity:.75; }
.launch-plan__link{ display:flex; align-items:center; gap:3px; padding:0 6px; }
.launch-plan__link i{ width:4px; height:4px; border-radius:50%; background:#c8cacf; }
.launch-plan__link i:first-child{ background:#111; }
@media (max-width:639px){
  .launch-plan{ grid-template-columns:1fr; }
  .launch-plan__link{ flex-direction:column; padding:6px 0; align-items:center; }
  .launch-plan b{ font-size:23px; }
}
.launch-hf{ position:relative; display:grid; gap:14px; }
.launch-hf__row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.launch-hf__field{ min-width:0; }
.launch-hf__field label{ display:block; font-size:12.5px; font-weight:700; color:#5c5e62; margin-bottom:7px; }
.launch-hf__field small{ display:block; margin-top:6px; font-size:11.5px; color:#9a9da1; }
.launch-hf__frame, .launch-hf__field input{ display:block; width:100%; height:52px; border:1.5px solid #e0e2e5; border-radius:12px; background:#fff; padding:0 14px; box-sizing:border-box; transition:border-color .15s, box-shadow .15s; }
.launch-hf__field input{ font:inherit; font-size:16px; color:#111; }
.launch-hf__field input:focus, .launch-hf__frame:focus-within{ outline:none; border-color:#111; box-shadow:0 0 0 3px rgba(17,17,17,.06); }
.launch-hf__frame iframe{ width:100% !important; height:100% !important; min-width:0 !important; border:0 !important; display:block !important; background:transparent !important; }
.launch-hf__exp{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px; }
.launch-hf__exp i{ font-style:normal; color:#c2c8d0; font-weight:600; }
.launch-hf__exp .launch-hf__frame{ padding:0 10px; }
.launch-hf__field--cvv .launch-hf__frame{ direction:ltr; }
.launch-hf__hidden{ position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.launch-hf__loading{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--launch-light-muted); }
.launch-hf__loading[hidden]{ display:none; }
.launch-hf__loading span{ width:14px; height:14px; border-radius:50%; border:2px solid #d6d8dc; border-top-color:#111; animation:launchSpin .8s linear infinite; }
@keyframes launchSpin{ to{ transform:rotate(360deg); } }
.launch-pay__secure{ display:flex; align-items:center; justify-content:center; gap:8px; margin:12px 0 0; font-size:12px; color:#6b6e73; text-align:center; }
.launch-pay__secure svg{ width:15px; height:15px; flex:0 0 auto; color:#2f8f4e; }
.launch-pay__or{ position:relative; text-align:center; margin:18px 0 12px; }
.launch-pay__or::before{ content:""; position:absolute; top:50%; inset-inline:0; height:1px; background:#e5e5ea; }
.launch-pay__or span{ position:relative; background:#fff; padding:0 12px; font-size:12px; font-weight:700; color:#9a9da1; }
.launch-modal .launch-btn--wallet{ background:#fff; color:#111; border-color:#d6d8dc; margin-top:0; }
.launch-modal .launch-btn--wallet:hover{ border-color:#111; }
.launch-modal__panel[data-step="payment"] .launch-modal__title{ margin-bottom:14px; }

/* ── Mobile composition ── */
@media (max-width:767px){
  .launch-page{ margin-top:-53px; }
  .launch-hero__actions .launch-btn{ width:100%; }
  .launch-hero__scroll{ display:none; }
  .launch-cert__grid,.launch-feature__grid,.launch-susp__stage{ grid-template-columns:1fr; }
  .launch-feature__media,.launch-feature--media-start .launch-feature__media{ order:-1; }
  .launch-cert__mark{ order:-1; margin:0 auto 6px; }
  .launch-cert__plaque{ width:min(100%,200px); gap:10px; } .launch-cert__plaque img{ border-radius:20px; }
  .launch-offer__grid{ grid-template-columns:1fr; }
  .launch-offer__cell--hero{ order:-1; }
  .launch-fields{ grid-template-columns:1fr; }
  .launch-hf__row{ grid-template-columns:1fr; }
  .launch-hf__row--card{ grid-template-columns:1.5fr 1fr; }
  .launch-steps li + li::before{ width:22px; }
  .launch-legal{ padding-bottom:calc(56px + 96px); }
  .launch-safety__media img{ aspect-ratio:4/5; }
  .launch-reveal__img{ max-height:78svh; }
  .launch-feature__media .launch-media{ max-height:70svh; }
  .launch-stats--big{ grid-template-columns:1fr 1fr; gap:10px; }
  .launch-stats--big > div{ padding:22px 12px; }
}
@media (max-width:400px){ .launch-stats--big{ grid-template-columns:1fr; } }

/* ── Reduced motion: everything visible, no sequences ── */
@media (prefers-reduced-motion:reduce){
  .launch-page [data-reveal]{ opacity:1; transform:none; transition:none; }
  .launch-reveal__img{ filter:none; transform:none; transition:none; } .launch-reveal__light{ opacity:.6; }
  .launch-carplay__off{ opacity:0; transition:none; }
  .launch-carplay__device img{ filter:none; transition:none; } .launch-carplay__halo,.launch-carplay__floor{ opacity:1; transition:none; }
  .launch-hero__void::after,.launch-hero__scroll span{ animation:none; }
  .launch-modal__panel{ animation:none; opacity:1; transform:none; }
  @media (min-width:640px){ .launch-modal__panel{ transform:translate(-50%,-50%); } }
  .launch-sticky{ transition:none; }
  .launch-light__frame,.launch-susp__spot{ transition:none; }
}
