@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-latin-ext-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-latin-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-latin-ext-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-latin-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Manrope-latin-ext-xn7gYHE41ni1AdIRggmxSuXd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Manrope-latin-xn7gYHE41ni1AdIRggexSg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Manrope-latin-ext-xn7gYHE41ni1AdIRggmxSuXd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Manrope-latin-xn7gYHE41ni1AdIRggexSg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Manrope-latin-ext-xn7gYHE41ni1AdIRggmxSuXd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Manrope-latin-xn7gYHE41ni1AdIRggexSg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Manrope-latin-ext-xn7gYHE41ni1AdIRggmxSuXd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Manrope-latin-xn7gYHE41ni1AdIRggexSg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/Manrope-latin-ext-xn7gYHE41ni1AdIRggmxSuXd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/Manrope-latin-xn7gYHE41ni1AdIRggexSg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --bg:#06070a;--bg2:#0b0d12;--surface:#10131a;--surface2:#151925;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);
  --text:#f3f5f8;--muted:#9aa3b2;--dim:#6b7383;
  --accent:#2f6bff;--accent2:#7ea4ff;--ok:#3ddc97;--ice:#a6e6ff;
  --r:18px;--r-lg:28px;--max:1180px;
  --ease:cubic-bezier(.22,1,.36,1);
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.6;font-size:16px;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:focus-visible{outline:2px solid var(--accent2);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-9999px;top:8px;background:#fff;color:#000;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent2)}
.eyebrow::before{content:"";width:18px;height:2px;background:currentColor;border-radius:2px}
h1,h2,h3{line-height:1.08;letter-spacing:-.025em;font-weight:800}
h1{font-size:clamp(38px,6.4vw,76px)}
h2{font-size:clamp(30px,4.4vw,52px)}
h3{font-size:20px;letter-spacing:-.01em}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--muted);max-width:620px}
.grad{background:linear-gradient(100deg,#fff 0%,var(--accent2) 45%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--muted)}
section{padding:clamp(72px,10vw,128px) 0;position:relative}
.sec-head{display:flex;flex-direction:column;gap:14px;margin-bottom:48px;max-width:720px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 26px;border-radius:999px;font-weight:700;font-size:16px;transition:transform .25s var(--ease),background .25s,box-shadow .25s;white-space:nowrap}
.btn svg{width:18px;height:18px}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 30px -8px rgba(47,107,255,.65),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-primary:hover{transform:translateY(-2px);background:#3d77ff}
.btn-ghost{background:rgba(255,255,255,.06);border:1px solid var(--line2)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-white{background:#fff;color:#05070b}
.btn-white:hover{transform:translateY(-2px)}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}
.hdr.scrolled{background:rgba(6,7,10,.72);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);border-color:var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:70px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.02em;font-size:17px}
.logo i{width:32px;height:32px;border-radius:9px;background:#fff;display:grid;place-items:center}
.logo i img{width:24px;height:24px}
.nav{display:flex;gap:4px;align-items:center}
.nav a{padding:8px 14px;border-radius:999px;font-size:14.5px;font-weight:600;color:var(--muted);transition:color .2s,background .2s}
.nav a:hover,.nav a[aria-current]{color:var(--text);background:rgba(255,255,255,.06)}
.nav a.ski{color:var(--ice)}
.nav a.ski::after{content:"NEW";font-size:9.5px;font-weight:800;letter-spacing:.08em;margin-left:6px;padding:2px 6px;border-radius:6px;background:rgba(166,230,255,.14);vertical-align:2px}
.hdr-call{height:42px;padding:0 18px;font-size:14.5px}
.burger{display:none;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid var(--line)}
.burger span{display:block;width:18px;height:2px;background:#fff;margin:4px auto;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* hero */
.hero{min-height:100svh;display:flex;align-items:center;padding:120px 0 80px;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:-20% -10% auto;height:120%;background:radial-gradient(50% 45% at 72% 42%,rgba(47,107,255,.32),transparent 70%),radial-gradient(40% 40% at 10% 90%,rgba(126,164,255,.12),transparent 70%);z-index:-1;-webkit-mask-image:linear-gradient(#000 55%,transparent 82%);mask-image:linear-gradient(#000 55%,transparent 82%)}
.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent 80%);-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent 80%);opacity:.45;z-index:-2}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1{margin:20px 0 22px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:13.5px;font-weight:600;color:#d5dae3}
.chip b{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(61,220,151,.15)}
.live{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 8px;border-radius:999px;background:rgba(47,107,255,.12);border:1px solid rgba(47,107,255,.35);font-size:13px;font-weight:700;color:#cfe0ff}
.live .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);position:relative}
.live .dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--ok);animation:ping 1.8s var(--ease) infinite}
@keyframes ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(2);opacity:0}}

/* phone visual */
.phone-stage{position:relative;display:grid;place-items:center;aspect-ratio:3/4;max-width:420px;width:100%;justify-self:center}
.phone-stage .halo{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,rgba(47,107,255,.5),transparent 65%);filter:blur(30px);animation:breathe 6s ease-in-out infinite}
@keyframes breathe{50%{transform:scale(1.08);opacity:.75}}
.phone-svg{width:72%;filter:drop-shadow(0 40px 60px rgba(0,0,0,.6));animation:float 7s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-12px) rotate(-1.2deg)}}
.crack path{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:crack 6s var(--ease) infinite}
@keyframes crack{0%,8%{stroke-dashoffset:var(--len);opacity:1}22%{stroke-dashoffset:0;opacity:1}52%{stroke-dashoffset:0;opacity:1}64%,100%{stroke-dashoffset:0;opacity:0}}
.scan{animation:scan 6s var(--ease) infinite}
@keyframes scan{0%,50%{transform:translateY(-10%);opacity:0}54%{opacity:1}72%{transform:translateY(105%);opacity:1}76%,100%{opacity:0;transform:translateY(105%)}}
.ok-badge{animation:okb 6s var(--ease) infinite;transform-origin:center;transform-box:fill-box}
@keyframes okb{0%,70%{opacity:0;transform:scale(.6)}76%,94%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.float-card{position:absolute;background:rgba(16,19,26,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line2);border-radius:16px;padding:12px 16px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:10px;box-shadow:0 20px 40px -12px rgba(0,0,0,.6)}
.float-card small{display:block;color:var(--muted);font-weight:600;font-size:11.5px}
.float-card .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(47,107,255,.18);color:var(--accent2)}
.float-card .ic svg{width:18px;height:18px}
.fc1{top:46%;left:-8%;animation:float 8s ease-in-out infinite}
.fc2{bottom:14%;right:-6%;animation:float 9s ease-in-out -2s infinite}

/* kpis */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--surface),var(--bg2));overflow:hidden}
.kpi{padding:28px 26px;border-right:1px solid var(--line)}
.kpi:last-child{border-right:0}
.kpi strong{display:block;font-size:clamp(28px,3.4vw,40px);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.kpi>span{color:var(--muted);font-size:14px;font-weight:600}

/* cards */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;transition:transform .35s var(--ease),border-color .3s,background .3s;overflow:hidden}
.card:hover{transform:translateY(-4px);border-color:var(--line2);background:var(--surface2)}
.card .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(47,107,255,.14);color:var(--accent2);margin-bottom:22px}
.card .ic svg{width:24px;height:24px}
.card p{color:var(--muted);margin-top:10px;font-size:15px}
.card .more{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-weight:700;font-size:14px;color:var(--accent2)}
.card .more svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.card:hover .more svg{transform:translateX(4px)}
a.card::after{content:"";position:absolute;inset:0}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}
.step{padding:30px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg2);position:relative}
.step .n{font-size:13px;font-weight:800;color:var(--accent2);letter-spacing:.1em}
.step h3{margin:14px 0 10px}
.step p{color:var(--muted);font-size:15px}
.step .bar{height:3px;border-radius:3px;background:var(--line);margin-top:26px;overflow:hidden}
.step .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width 1.4s var(--ease)}
.in .step .bar i{width:100%}
.in .step:nth-child(2) .bar i{transition-delay:.25s}
.in .step:nth-child(3) .bar i{transition-delay:.5s}

/* departure board */
.board{border-radius:var(--r-lg);background:#0a0b0f;border:1px solid var(--line);overflow:hidden;font-variant-numeric:tabular-nums}
.board-h,.board-r{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;padding:16px 24px;align-items:center}
.board-h{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}
.board-r{border-bottom:1px solid var(--line);font-weight:700}
.board-r:last-child{border-bottom:0}
.board-r .city{font-size:17px;letter-spacing:.02em;text-transform:uppercase;font-family:"JetBrains Mono",ui-monospace,monospace}
.board-r .st{color:var(--ok);font-size:14px;display:flex;align-items:center;gap:8px}
.board-r .st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.board-r .t{color:#ffd166;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:15px}
.zone-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}

/* ski band */
.ski-band{border-radius:32px;overflow:hidden;position:relative;padding:clamp(36px,6vw,72px);background:linear-gradient(135deg,#0d2a52 0%,#0a1630 55%,#081022 100%);border:1px solid rgba(166,230,255,.18);isolation:isolate}
.ski-band::before{content:"";position:absolute;inset:auto -10% -45% -10%;height:80%;background:radial-gradient(60% 60% at 50% 100%,rgba(166,230,255,.35),transparent 70%);z-index:-1}
.ski-band .mtn{position:absolute;inset:auto 0 0 0;width:100%;height:auto;z-index:-1;opacity:.9}
.ski-band h2{max-width:640px}
.ski-band .lead{color:#c7dcf2}
.ski-band .eyebrow{color:var(--ice)}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 30px}
.pill{padding:10px 16px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(166,230,255,.2);font-weight:700;font-size:14.5px}
.pill em{font-style:normal;color:var(--ice);margin-left:6px}

/* reviews */
.rev{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rev .card{display:flex;flex-direction:column;justify-content:space-between;min-height:220px}
.stars{display:flex;gap:4px;color:#ffc940;margin-bottom:16px}
.stars svg{width:22px;height:22px}

/* cta */
.cta{text-align:center;border-radius:32px;padding:clamp(48px,8vw,96px) 24px;background:radial-gradient(70% 90% at 50% 0%,rgba(47,107,255,.35),transparent 70%),var(--surface);border:1px solid var(--line)}
.cta h2{max-width:760px;margin:0 auto 16px}
.cta .lead{margin:0 auto 32px}
.cta .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* page hero (inner) */
.phero{padding:150px 0 40px}
.crumbs{font-size:13.5px;color:var(--dim);margin-bottom:22px;font-weight:600}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--text)}
.phero h1{font-size:clamp(34px,5.4vw,64px);margin:16px 0 20px;max-width:900px}
.phero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.prose{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.prose .card h2{font-size:24px;letter-spacing:-.015em}
.prose .card p{font-size:16px}
.links{display:flex;flex-wrap:wrap;gap:10px}
.links a{padding:10px 16px;border-radius:999px;border:1px solid var(--line2);font-weight:600;font-size:14px;color:#d5dae3;transition:background .2s}
.links a:hover{background:rgba(255,255,255,.06)}
.legal{max-width:820px}
.legal h2{font-size:22px;margin:40px 0 12px;letter-spacing:-.01em}
.legal p{color:#c3c9d4;margin-bottom:12px}

/* footer */
.ftr{border-top:1px solid var(--line);padding:64px 0 32px;background:var(--bg2);margin-top:40px}
.ftr-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.2fr;gap:28px}
.ftr h4{font-size:14px;margin-bottom:16px;font-weight:800}
.ftr ul{list-style:none;display:grid;gap:10px}
.ftr li a,.ftr li{color:var(--muted);font-size:14.5px}
.ftr li a:hover{color:var(--text)}
.ftr-bot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:48px;padding-top:24px;font-size:13.5px;color:var(--dim)}
.ftr-bot nav{display:flex;gap:18px;flex-wrap:wrap}
.ftr-bot a:hover,.ftr-bot button:hover{color:var(--text)}
.soc{display:flex;gap:10px;margin-top:20px}
.soc a{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid var(--line)}
.soc svg{width:18px;height:18px}

/* sticky mobile call */
.mcall{position:fixed;left:16px;right:16px;bottom:16px;z-index:40;display:none;height:56px;border-radius:18px;background:var(--accent);color:#fff;font-weight:800;align-items:center;justify-content:center;gap:10px;box-shadow:0 16px 40px -10px rgba(47,107,255,.8);transform:translateY(120%);transition:transform .4s var(--ease)}
.mcall.show{transform:none}
.mcall svg{width:20px;height:20px}

/* cookie */
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;margin-left:auto;background:#12151d;border:1px solid var(--line2);border-radius:20px;padding:20px;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);display:none}
.ck.show{display:block}
.ck p{font-size:14px;color:var(--muted);margin:6px 0 16px}
.ck p a{color:var(--accent2);text-decoration:underline}
.ck .row{display:flex;gap:8px;flex-wrap:wrap}
.ck .btn{height:42px;padding:0 18px;font-size:14px}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}

/* ===== SKI ===== */
.ski{--accent:#2f8bff;--accent2:var(--ice)}
.ski body,.ski{background:#050a14}
.ski .hero::before{background:radial-gradient(55% 50% at 50% 30%,rgba(80,170,255,.30),transparent 70%),radial-gradient(40% 40% at 90% 90%,rgba(166,230,255,.12),transparent 70%)}
#snow{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.ski .hero{text-align:center}
.ski .hero .lead{margin:0 auto}
.ski .hero .ctas,.ski .hero .chips{justify-content:center}
.ski-mtn{position:absolute;left:0;right:0;bottom:0;width:100%;z-index:-1}
.offers{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.offer{background:linear-gradient(180deg,rgba(166,230,255,.06),rgba(255,255,255,.015));border:1px solid rgba(166,230,255,.16);border-radius:28px;padding:30px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.offer.hot{border-color:rgba(166,230,255,.45);box-shadow:0 30px 70px -30px rgba(80,170,255,.55)}
.offer .tag{position:absolute;top:22px;right:22px;font-size:11px;font-weight:800;letter-spacing:.1em;padding:5px 10px;border-radius:8px;background:var(--ice);color:#04101f}
.offer .name{font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ice)}
.offer h3{font-size:26px;margin:10px 0 6px;line-height:1.15}
.offer .price{display:flex;align-items:baseline;gap:8px;margin:18px 0 6px}
.offer .price strong{font-size:52px;font-weight:800;letter-spacing:-.04em;line-height:1}
.offer .price span{color:var(--muted);font-weight:600;font-size:14px}
.offer ul{list-style:none;display:grid;gap:10px;margin:20px 0 26px;flex:1}
.offer li{display:flex;gap:10px;font-size:15px;color:#d6e3f2}
.offer li svg{flex:none;width:18px;height:18px;color:var(--ice);margin-top:3px}
.offer .btn{width:100%}
.tbl-wrap{overflow-x:auto;border-radius:24px;border:1px solid rgba(166,230,255,.16);background:#07101f}
table.tz{width:100%;border-collapse:collapse;min-width:640px;font-variant-numeric:tabular-nums}
.tz th,.tz td{padding:18px 20px;text-align:left;border-bottom:1px solid var(--line)}
.tz thead th{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:800;background:rgba(255,255,255,.02)}
.tz thead th small{display:block;letter-spacing:.02em;text-transform:none;font-weight:600;color:var(--muted);font-size:12px;margin-top:2px}
.tz tbody tr:last-child td{border-bottom:0}
.tz td{font-weight:700}
.tz td.z{font-size:16px}
.tz td.z small{display:block;color:var(--muted);font-weight:600;font-size:13px;margin-top:2px}
.tz .zb{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(166,230,255,.12);color:var(--ice);font-size:13px;margin-right:10px;vertical-align:middle}
.tz .free{color:var(--ok)}
.tz .sub{font-size:12.5px;color:var(--muted);font-weight:600}
.note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.note{padding:22px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid var(--line);font-size:14.5px;color:#cbd6e4}
.note strong{display:block;color:#fff;margin-bottom:6px;font-size:15.5px}
.tour{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.days{display:flex;gap:10px}
.day{flex:1;text-align:center;padding:18px 6px;border-radius:16px;border:1px solid var(--line);font-weight:800;font-size:13px;color:var(--dim)}
.day.on{background:linear-gradient(180deg,rgba(166,230,255,.18),rgba(166,230,255,.04));border-color:rgba(166,230,255,.5);color:#fff}
.day.on small{color:var(--ice)}
.day small{display:block;font-size:11px;font-weight:700;margin-top:4px}
.half{display:flex;align-items:center;gap:14px;margin-top:20px;padding:18px 20px;border-radius:18px;background:rgba(61,220,151,.08);border:1px solid rgba(61,220,151,.3)}
.half s{color:var(--muted);font-weight:600}
.half strong{font-size:22px;color:var(--ok)}

/* responsive */
@media (max-width:980px){
  .nav,.hdr-call{display:none}
  .burger{display:block}
  .nav.open{display:flex;position:fixed;top:70px;left:0;right:0;flex-direction:column;align-items:stretch;padding:12px 16px 24px;background:rgba(6,7,10,.97);border-bottom:1px solid var(--line);gap:2px}
  .nav.open a{padding:14px 16px;font-size:17px}
  .hero-grid,.zone-grid,.tour{grid-template-columns:1fr}
  .phone-stage{max-width:300px;order:-1;margin-top:10px}
  .hero{min-height:auto;padding-top:100px}
  .grid3,.steps,.offers,.note-grid{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr 1fr}
  .kpi:nth-child(2){border-right:0}
  .kpi:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .rev,.prose{grid-template-columns:1fr}
  .ftr-grid{grid-template-columns:1fr 1fr}
  .mcall{display:flex}
  .ck{bottom:84px}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .hero .ctas .btn,.phero .ctas .btn{width:100%}
  .ftr-grid{grid-template-columns:1fr}
  .board-h,.board-r{grid-template-columns:1.3fr 1fr;padding:14px 16px}
  .board-h span:nth-child(3),.board-r .t{display:none}
  .fc1{left:-10%}.fc2{right:-10%}
  .card,.step,.offer{padding:24px}
  .ftr{padding-bottom:100px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
  .crack path{stroke-dashoffset:0}
}

/* screen prices */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.pgen{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:22px 22px 12px}
.pgen h3{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent2);margin-bottom:10px}
.pgen ul{list-style:none}
.pgen li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:15px}
.pgen li:first-child{border-top:0}
.pgen li span{color:#d5dae3;font-weight:600}
.pgen li b{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}
.pnote{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px;padding:18px 22px;border-radius:20px;border:1px dashed var(--line2);color:var(--muted);font-size:14.5px}
.pnote b{color:#fff}
@media (max-width:560px){.pnote .btn{width:100%}}

/* fix: débordement mobile de la section tournées */
.tour>*{min-width:0}
@media (max-width:420px){.days{gap:4px}.day{padding:14px 2px;font-size:11px;border-radius:12px}.day small{font-size:9.5px}}

/* ===== Scène de réparation 3D (accueil) — adaptée de Rephone64_Accueil_Anime ===== */
#rs{height:620vh;position:relative;background:#121d25}#rs .stage{height:100svh;min-height:640px;position:sticky;top:0;overflow:hidden;isolation:isolate;background:#18242e;color:#fff;--open:0;--repair:0;--warm:0;--scan:0;--spread:0px;--zoom:1;--rx:58deg;--ry:0deg;--rz:-23deg;--move:0px;--tilt:0deg}#rs #landscape{position:absolute;inset:0;width:100%;height:100%;z-index:-4}#rs .sky-glow{position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at 78% 24%,#f9d589b0 0,transparent 48%);opacity:var(--warm)}#rs .vignette{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#09141bea 0%,#0c1829b0 35%,#0d172515 70%),linear-gradient(0deg,#07121ede,transparent 27%,transparent 80%,#07121e75)}#rs .grain{position:absolute;inset:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");z-index:9}#rs .scene-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.94%,#b1d9f808 50%,transparent 50.06%);background-size:120px 100%;opacity:var(--scan)}#rs .experience-meta{position:absolute;top:130px;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:2px}#rs .experience-meta i{display:inline-block;width:5px;height:5px;background:var(--rs-accent);border-radius:50%;margin-right:8px}#rs .experience-meta button{color:#dbe1de;background:#ffffff08;border:1px solid #ffffff30;border-radius:20px;padding:9px 14px;font-size:10px;letter-spacing:.3px}#rs .copy{position:absolute;left:4%;top:27%;width:49%;opacity:0;transform:translateY(35px);pointer-events:none;will-change:transform,opacity}#rs .copy a{pointer-events:auto}#rs .copy .chapter{font-size:10px;letter-spacing:2px;color:#c7d0d3}#rs .copy h1,#rs .copy h2{font-family:Manrope,system-ui,sans-serif;font-size:clamp(48px,6.3vw,100px);line-height:.99;letter-spacing:-.035em;font-weight:800;margin:22px 0 24px;text-transform:none}#rs .copy h1 em,#rs .copy h2 em{color:var(--rs-accent);font:inherit;letter-spacing:inherit}#rs .copy p{font-size:14px;line-height:1.65;color:#bcc8ce;margin:0}#rs .scene-cta{display:inline-block;font-size:11px;margin-top:24px;border-bottom:1px solid #a7b8ba;padding-bottom:8px}#rs .device-anchor{position:absolute;left:71%;top:48%;width:270px;height:540px;margin-left:-135px;margin-top:-270px;perspective:1500px;perspective-origin:50% 50%;transform:translateX(var(--move)) scale(var(--zoom));will-change:transform}#rs .device-world{width:270px;height:540px;position:relative;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(var(--rz));will-change:transform}#rs .layer{position:absolute;inset:0;border-radius:43px;transform-style:preserve-3d}#rs .housing{background:linear-gradient(120deg,#b6bdc0,#4f5d65 48%,#839097 60%,#202c32);box-shadow:inset 0 0 0 2px #c7d4dc,inset 0 0 0 5px #5e707a;transform:translateZ(-13px)}#rs .housing:after{content:'';position:absolute;inset:7px;border-radius:37px;border:1px solid #a1b2bd80;background:linear-gradient(45deg,#bac7cb11,#32475055);transform:translateZ(-1px)}#rs .back-brand{position:absolute;left:0;right:0;top:65%;text-align:center;color:#ffffff40;font-size:20px;transform:rotateY(180deg) translateZ(2px)}#rs .rear-cameras{position:absolute;top:16px;left:16px;width:115px;height:115px;border-radius:28px;background:#34434c;transform:translateZ(-6px)}#rs .rear-cameras i{position:absolute;width:43px;height:43px;border:5px solid #87959f;border-radius:50%;background:radial-gradient(circle,#24647f 3%,#041323 15%,#224657 23%,#080d12 50%)}#rs .rear-cameras i:nth-child(1){top:8px;left:8px}#rs .rear-cameras i:nth-child(2){bottom:8px;left:8px}#rs .rear-cameras i:nth-child(3){top:35px;right:8px}#rs .rail{position:absolute;background:linear-gradient(90deg,#26363e,#e0e8ed 15%,#82959f 30%,#344951 60%,#b6c7d2 85%,#23333c);transform-style:preserve-3d}#rs .rail-left,#rs .rail-right{width:24px;height:460px;top:40px;transform:rotateY(90deg);border-radius:4px}#rs .rail-left{left:-12px}#rs .rail-right{right:-12px}#rs .rail-left:after{content:'';position:absolute;top:70px;left:5px;width:9px;height:65px;border-radius:4px;box-shadow:0 80px 0 #566b76;background:#566b76;border:1px solid #acbac4}#rs .rail-top,#rs .rail-bottom{height:24px;width:184px;left:43px;transform:rotateX(90deg)}#rs .rail-top{top:-12px}#rs .rail-bottom{bottom:-12px;display:flex;align-items:center;justify-content:space-around;color:#101a1d}#rs .rail-bottom b{width:35px;height:8px;border-radius:6px;background:#071116;order:1}#rs .rail-bottom i{font-size:14px;font-style:normal;letter-spacing:2px}#rs .rail-bottom i:last-child{order:2}#rs .internals{inset:6px;background:linear-gradient(130deg,#1c2c31,#0b1116);border:3px solid #8da2ad;border-radius:37px;transform:translateZ(0px);overflow:hidden}#rs .cameras-inside{position:absolute;left:12px;top:12px;width:100px;height:110px;background:#344248;border-radius:24px}#rs .cameras-inside i{position:absolute;width:40px;height:40px;border:4px solid #74838a;background:radial-gradient(circle,#296591,#0b1728 30%,#2e445e 45%,#090c12 65%);border-radius:50%;box-shadow:0 2px 4px #000}#rs .cameras-inside i:nth-child(1){left:5px;top:7px}#rs .cameras-inside i:nth-child(2){left:5px;bottom:8px}#rs .cameras-inside i:nth-child(3){right:5px;top:33px}#rs .board{position:absolute;right:13px;top:15px;width:108px;height:210px;background:repeating-linear-gradient(0deg,transparent 0 9px,#53674866 10px 11px),repeating-linear-gradient(90deg,#1c322d 0 12px,#778059 13px 14px);border-radius:14px;box-shadow:0 0 0 2px #a7a78c;border:5px solid #24342b}#rs .board i{display:inline-block;width:31px;height:33px;background:linear-gradient(130deg,#a4b0ae,#5a666a);margin:7px 4px;border:2px solid #cad1c4;box-shadow:0 0 0 2px #0c1e17}#rs .board b{display:block;margin:3px auto;width:58px;height:55px;text-align:center;padding-top:15px;color:#778287;background:linear-gradient(120deg,#353e41,#141c20);border:2px solid #aebaba}#rs .battery{position:absolute;top:144px;left:12px;width:112px;height:288px;background:linear-gradient(105deg,#30383b,#151c21 40%,#222d32);border:1px solid #637075;border-radius:11px;color:#a6afb0;padding:22px 9px;box-shadow:4px 5px 8px #0008}#rs .battery span{display:block;font-size:15px}#rs .battery b{display:block;font-size:9px;letter-spacing:1px;margin:10px 0 35px}#rs .battery small{font-size:7px;line-height:1.8}#rs .battery strong{display:block;font-size:33px;margin-top:20px;font-weight:normal}#rs .coil{position:absolute;right:10px;top:245px;width:104px;height:160px;border:13px solid #6e5c45;border-radius:50%;background:repeating-radial-gradient(ellipse,#2d2c28 0 3px,#8a7050 4px 5px)}#rs .taptic{position:absolute;left:15px;bottom:27px;width:205px;height:40px;background:linear-gradient(110deg,#9ca6a8,#49585e);border:1px solid #d4dad8;border-radius:5px;text-align:center;font-size:9px;letter-spacing:2px;line-height:40px;color:#253033}#rs .flex{position:absolute;bottom:90px;left:130px;width:75px;height:85px;border-right:12px solid #b18d40;border-top:12px solid #b18d40;border-bottom:9px solid #b18d40;transform:rotate(-3deg)}#rs .shield{inset:5px;background:linear-gradient(125deg,#dbe1e3,#75858c 30%,#c5d0d5 50%,#67777d 75%,#b5c4ca);border:2px solid #d8e5e8;border-radius:38px;transform:translateZ(calc(7px + var(--spread) * .48));opacity:calc(.94 - var(--open) * .2);box-shadow:3px 6px 10px #0005;overflow:hidden}#rs .shield-coil{position:absolute;left:22px;top:170px;width:205px;height:205px;border:21px solid #303b42;border-radius:50%;box-shadow:0 0 0 1px #88979d,inset 0 0 0 2px #bcc8ce;background:linear-gradient(130deg,#a5b4bd,#778b94)}#rs .shield-stripe{position:absolute;top:0;right:25px;width:35px;height:150px;background:#35454e}#rs .shield:after{content:'REPHONE64 / PRECISION';position:absolute;bottom:30px;left:65px;font-size:8px;letter-spacing:1px;color:#3f5059}#rs .display{background:#0b1014;border:2px solid #b6c7d4;border-radius:44px;transform:translateZ(calc(15px + var(--spread)));box-shadow:0 0 0 2px #233340,0 5px 12px #0009}#rs .screen{position:absolute;inset:7px;border:1px solid #27363d;border-radius:35px;overflow:hidden;background:#122c3c;transform:translateZ(.2px)}#rs .wallpaper{position:absolute;inset:0;background:linear-gradient(#2b5573,#8bacae 60%,#cfb989);filter:saturate(calc(.15 + var(--repair) * .85)) brightness(calc(.58 + var(--repair) * .42));transition:filter .1s}#rs .sun{position:absolute;width:66px;height:66px;border-radius:50%;background:#fff0bb;top:46%;left:53%;box-shadow:0 0 45px #ffca8170}#rs .mount{position:absolute;inset:50% -30% -10%;clip-path:polygon(0 65%,10% 40%,20% 60%,44% 0,55% 28%,65% 15%,90% 60%,100% 25%,100% 100%,0 100%);background:linear-gradient(130deg,#e5f1f0 30%,#527285 31%,#8aabae 50%,#36566c 51%)}#rs .m2{transform:translate(-50px,60px) scale(1.2);background:linear-gradient(130deg,#b8d1d4 30%,#48637b 31%,#719198 50%,#233e56 51%)}#rs .m3{transform:translate(80px,180px) scale(1.5);background:linear-gradient(140deg,#a0b9bd,#283e54 50%,#1b3449 51%)}#rs .screen-info{position:absolute;left:0;right:0;top:66px;text-align:center;color:#eef4f3;opacity:calc(.45 + var(--repair) * .55)}#rs .screen-info>span{font-size:11px}#rs .screen-info strong{display:block;font-size:65px;letter-spacing:-4px;line-height:1.2;font-weight:500}#rs .screen-info small{font-size:8px;display:block;margin-top:10px}#rs .dynamic-island{position:absolute;left:78px;top:12px;width:93px;height:25px;border-radius:20px;background:#020609;box-shadow:0 1px 2px #ffffff0a}#rs .dynamic-island:after{content:'';position:absolute;right:9px;top:8px;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#224875,#070e18 60%)}#rs .screen-status{position:absolute;left:18px;right:17px;top:17px;display:flex;justify-content:space-between;font-size:9px;color:#eef4f9}#rs .screen-bottom{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:7px;color:#d9e7ec;letter-spacing:1.1px}#rs .screen-bottom div{width:80px;height:4px;border-radius:3px;margin:14px auto 0;background:#f6f8f8}#rs .cracks{position:absolute;inset:0;width:100%;height:100%;opacity:calc(1 - var(--repair));filter:drop-shadow(1px 1px 1px #000);transform:translateZ(.5px)}#rs .screen-shine{position:absolute;inset:0;background:linear-gradient(125deg,transparent 20%,#e0f0ff14 35%,#ffffff46 35.5%,transparent 36%,transparent 70%,#ffffff10 90%);pointer-events:none}#rs .scan{position:absolute;left:0;right:0;height:3px;top:var(--scan-y,0%);background:#bcfbff;box-shadow:0 0 20px 5px #76e9ffb0,0 -20px 60px 5px #6ee4ff50;opacity:var(--scan)}#rs .screw{position:absolute;width:8px;height:8px;border:2px solid #b0bcc6;border-radius:50%;background:linear-gradient(90deg,#14222b 40%,#d5e4eb 42% 57%,#14222b 60%);transform:translateZ(calc(20px + var(--spread) * .7));opacity:var(--open)}#rs .screw-a{left:-30px;top:40px}#rs .screw-b{right:-30px;top:40px}#rs .screw-c{left:-30px;bottom:40px}#rs .screw-d{right:-30px;bottom:40px}#rs .device-shadow{position:absolute;z-index:-1;bottom:-50px;left:-80px;right:-80px;height:65px;border-radius:50%;background:#02080cd0;filter:blur(20px);transform:scaleX(1.15);opacity:calc(.7 - var(--open) * .4)}#rs .annotation{position:absolute;left:78%;font-size:8px;letter-spacing:1.4px;opacity:var(--open);color:#dce6eb;white-space:nowrap;pointer-events:none}#rs .annotation:before{content:'';display:inline-block;width:40px;margin-right:8px;border-top:1px solid #d9e6eb70;vertical-align:middle}#rs .annotation span{color:var(--rs-accent);margin-right:8px}#rs .a-screen{top:29%}#rs .a-battery{top:48%}#rs .a-frame{top:66%}#rs .repair-badge{position:absolute;left:66%;bottom:20%;font-size:8px;letter-spacing:1px;display:flex;align-items:center;gap:10px;opacity:var(--repair);transform:translateY(calc(20px - var(--repair) * 20px));background:#dfe9d610;border:1px solid #dfe9d640;padding:12px 17px;backdrop-filter:blur(10px)}#rs .repair-badge span{color:var(--rs-accent);font-size:16px}#rs .stage-footer{position:absolute;bottom:0;left:4%;right:4%;height:95px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff25}#rs .scroll-hint{display:flex;gap:14px;align-items:center;font-size:9px;letter-spacing:1.1px}#rs .scroll-hint>span{font-size:24px;font-weight:normal;color:var(--rs-accent)}#rs .scroll-hint small{display:block;font-size:9px;color:#97aab3;margin-top:6px;letter-spacing:0}#rs .timeline{display:flex;gap:28px;position:relative;padding-bottom:13px}#rs .timeline button{color:#899ca4;background:transparent;border:0;padding:8px;font-size:10px}#rs .timeline button.active{color:var(--rs-accent)}#rs .timeline-track{position:absolute;left:8px;right:8px;bottom:0;height:1px;background:#ffffff30}#rs .timeline-track i{display:block;width:var(--progress,0%);height:2px;background:var(--rs-accent)}#rs .stage-count{font-size:11px;letter-spacing:3px}#rs .stage-count i{color:#728997;font-style:normal;margin:0 10px}#rs .copy.inactive{visibility:hidden}#rs .stage.static-mode .copy{transition:none}@media(min-width:1600px){#rs .device-anchor{transform:translateX(var(--move)) scale(calc(var(--zoom) * 1.2))}}@media(max-height:760px) and (min-width:761px){#rs .copy{top:25%}#rs .copy h1,#rs .copy h2{font-size:70px}#rs .device-anchor{transform:translateX(var(--move)) scale(calc(var(--zoom) * .85))}#rs .experience-meta{top:110px}#rs .stage-footer{height:75px}}@media(max-width:760px){#rs{height:560vh}#rs .stage{min-height:700px}#rs .experience-meta{top:102px;left:6%;right:6%;font-size:7px;letter-spacing:1px}#rs .experience-meta button{font-size:8px;padding:8px 10px}#rs .copy{top:19%;left:6%;width:90%;z-index:3}#rs .copy .chapter{font-size:8px}#rs .copy h1,#rs .copy h2{font-size:clamp(43px,12.1vw,66px);line-height:.98;letter-spacing:-1.4px;margin:13px 0}#rs .copy h1 br:nth-of-type(2),#rs .copy h2 br:nth-of-type(2){display:none}#rs .copy p{font-size:11px;line-height:1.5;max-width:220px}#rs .scene-cta{font-size:10px;margin-top:12px}#rs .device-anchor{left:65%;top:66%;transform:translateX(calc(var(--move) * .25)) scale(calc(var(--zoom) * .58));perspective:1200px}#rs .vignette{background:linear-gradient(180deg,#07121bd9 0%,#07121b85 42%,transparent 64%,#07121b90 90%),linear-gradient(90deg,#07121b90,transparent 70%)}#rs .stage-footer{height:80px;left:6%;right:6%}#rs .scroll-hint{font-size:7px;gap:8px;letter-spacing:.5px}#rs .scroll-hint small{max-width:115px;font-size:8px}#rs .timeline{gap:3px;padding-bottom:6px}#rs .timeline button{font-size:9px;padding:7px}#rs .stage-count{display:none}#rs .annotation{font-size:6px;left:71%}#rs .annotation:before{width:12px}#rs .a-screen{top:49%}#rs .a-battery{top:63%}#rs .a-frame{top:76%}#rs .repair-badge{left:8%;bottom:15%;font-size:6px;max-width:145px;line-height:1.5;padding:8px}#rs .repair-badge span{font-size:12px}#rs .scene-cta{background:#0e1a2380;padding:7px 9px}#rs .copy#copy2{width:90%}}@media(prefers-reduced-motion:reduce){#rs html{scroll-behavior:auto}#rs .grain{display:none}}#rs /* Extended finale: the repaired phone gives way to the skier. */
#experience{height:900vh}#rs .stage{--finale:0;--repair-flash:0}#rs .device-anchor{opacity:calc(1 - var(--finale));translate:calc(var(--finale) * 130px) calc(var(--finale) * -80px);filter:blur(calc(var(--finale) * 5px))}#rs .repair-badge{opacity:calc(var(--repair) * (1 - var(--finale)))}#rs .screen:after{content:'';position:absolute;inset:0;background:#e9fbff;opacity:var(--repair-flash);pointer-events:none}#rs .screw{rotate:var(--screw-spin)}#rs #ski-finale{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}#rs .finale-title{position:absolute;left:6%;top:29%;z-index:5;opacity:0;pointer-events:none}#rs .finale-title>span{font-size:10px;letter-spacing:2px;color:#d5e1e7}#rs .finale-title strong{display:block;font-size:clamp(50px,7vw,105px);letter-spacing:-4px;line-height:1.05;max-width:650px;margin:22px 0;color:var(--rs-accent)}#rs .finale-title button{display:block;background:#12263390;color:#f1f7f4;border:1px solid #b3c8d359;border-radius:3px;padding:12px 19px;font-size:11px;cursor:pointer}#rs .stage-footer{z-index:8}#rs .experience-meta{z-index:8}@media(max-width:760px){#rs{height:800vh}#rs .finale-title{top:24%;left:6%;right:6%}#rs .finale-title strong{font-size:59px;letter-spacing:-3px;max-width:330px}#rs .finale-title>span{font-size:8px}#rs .finale-title button{font-size:10px}}#rs /* Keep animated surfaces on compositor layers. */
.device-world,#rs .device-anchor,#rs .display,#rs .shield{will-change:transform}#rs .device-anchor{filter:none}#rs #landscape,#rs #ski-finale{contain:strict}#rs .grain{background-size:180px 180px}#rs .screen-shine{backface-visibility:hidden}#rs /* Short edit: impact,#rs diagnosis and precise component reveal. */
#experience{height:530vh}#rs .stage{--impact:0;--impact-scale:.3;--kick:0px;--swap:0px;--sheen:-120%}#rs .device-world{translate:var(--kick) 0}#rs .display{transform:translateZ(calc(15px + var(--spread))) translateX(var(--swap))}#rs .impact-ring{position:absolute;left:38%;top:35%;width:90px;height:90px;border:1px solid #e9f6ff;border-radius:50%;opacity:var(--impact);transform:scale(var(--impact-scale));box-shadow:0 0 20px #c8efff66,inset 0 0 25px #c8efff33}#rs .scan-reticle{position:absolute;inset:26% 17%;border:1px solid #a4f5ff88;opacity:var(--scan);background:linear-gradient(90deg,transparent 49.7%,#a4f5ff33 50%,transparent 50.3%),linear-gradient(0deg,transparent 49.7%,#a4f5ff33 50%,transparent 50.3%)}#rs .scan-reticle i{position:absolute;inset:20%;border:1px dashed #d5ffff77;border-radius:50%}#rs .scan-reticle span{position:absolute;bottom:-18px;left:0;letter-spacing:3px;font-size:7px;color:#d0faff}#rs .screen-shine{background:linear-gradient(115deg,transparent 25%,#e6faff25 40%,#ffffff55 41%,transparent 42%,transparent 60%);background-size:250% 100%;background-position:var(--sheen) 0}#rs .microchips{position:absolute;right:15px;top:227px;width:96px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}#rs .microchips i{height:11px;background:linear-gradient(120deg,#b9c9bd,#394b48);border:1px solid #d7d5a1;box-shadow:0 0 0 1px #15211b}#rs .ribbon-cable{position:absolute;left:120px;top:128px;height:145px;width:16px;border:2px solid #b28a40;background:repeating-linear-gradient(90deg,#b98e44 0 1px,#3b3023 2px 3px);border-radius:5px}#rs .shield:before{content:'';position:absolute;inset:12px;border:1px dashed #eaf3f580;border-radius:28px}#rs .screw-e{left:-35px;top:180px}#rs .screw-f{right:-35px;top:180px}#rs .screw-g{left:-35px;bottom:180px}#rs .screw-h{right:-35px;bottom:180px}@media(max-width:760px){#rs{height:480vh}}#rs /* Reference-inspired overhead / wireframe / reconstruction / push-through. */
.stage{--blueprint:0;--portal:0}#rs .blueprint-shell{position:absolute;inset:-16px;transform:translateZ(45px);border:1px solid #b8f5ff;border-radius:49px;opacity:var(--blueprint);background:repeating-linear-gradient(0deg,transparent 0 24px,#7dd6ff22 25px 26px),repeating-linear-gradient(90deg,transparent 0 24px,#7dd6ff22 25px 26px);box-shadow:0 0 25px #62c5ff44;pointer-events:none}#rs .blueprint-shell:before,#rs .blueprint-shell:after{content:'';position:absolute;inset:12px;border:1px dashed #b9f4ff77;border-radius:37px}#rs .blueprint-shell:after{inset:24px;transform:translateZ(80px)}#rs .blueprint-shell span{position:absolute;top:-24px;left:8px;letter-spacing:2px;font-size:7px;color:#c8f8ff;white-space:nowrap}#rs .blueprint-shell i{position:absolute;left:40px;top:175px;width:190px;height:190px;border:1px solid #b8f5ff;border-radius:50%}#rs .blueprint-shell b{position:absolute;left:20px;top:20px;width:100px;height:100px;border:1px solid #b8f5ff;border-radius:25px}#rs .shield{background-color:#91b4c2;opacity:calc(.94 - var(--blueprint) * .85 - var(--open) * .2)}#rs .display{opacity:calc(1 - var(--blueprint) * .65)}#rs .internals{box-shadow:0 0 calc(var(--blueprint) * 25px) #7dd6ff66}#rs .portal-light{position:absolute;inset:0;background:radial-gradient(ellipse at 60% 50%,#dceef12b,transparent 68%);opacity:var(--portal);pointer-events:none;z-index:3}#rs .device-anchor{translate:0 0}#rs .stage-footer{background:linear-gradient(transparent,#0c192144)}#rs #copy2 h2{font-size:clamp(43px,5.4vw,83px)}@media(max-width:760px){#rs #copy2 h2{font-size:45px}#rs .blueprint-shell span{font-size:8px}}#rs /* Immersive landscape edit — camera movement and material inspection. */
.stage{--landscape-shift:0;min-height:620px}#rs .vignette{background:linear-gradient(90deg,#06101adb 0%,#07152185 32%,#10202c08 68%),linear-gradient(0deg,#06111ccc,transparent 24%,transparent 75%,#07121c55)}#rs .sky-glow{opacity:calc(var(--warm) * .28)}#rs .grain{opacity:.022}#rs .copy{top:31%;width:47%}#rs .copy h1,#rs .copy h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(46px,5.6vw,88px);letter-spacing:-4px;line-height:1.02;font-weight:800;margin:20px 0}#rs .copy .chapter{color:#e1e6e8;font-size:9px}#rs .copy p{color:#d9e2e8;font-size:13px}#rs .copy#copy2 h2{font-size:clamp(43px,5vw,78px)}#rs .device-anchor{top:50%}#rs .device-shadow{opacity:calc(.35 - var(--open) * .25)}#rs .wallpaper{background:url('/img/alpine-panorama-960.webp') 58% 50% / auto 100%}#rs .wallpaper .mount,#rs .wallpaper .sun{display:none}#rs .screen-info{opacity:calc((.45 + var(--repair) * .55) * (1 - var(--portal)))}#rs .screen-status,#rs .screen-bottom,#rs .dynamic-island{opacity:calc(1 - var(--portal))}#rs .shot-label{position:absolute;right:4%;top:185px;font-size:9px;letter-spacing:2px;color:#e9f1f3;border-right:2px solid var(--rs-accent);padding:8px 12px;opacity:.75}#rs .annotation{left:82%;z-index:6;pointer-events:auto}#rs .annotation:before{display:none}#rs .annotation button{padding:10px 12px;border:1px solid #dae8ef55;background:#0c1d2ab0;backdrop-filter:blur(10px);color:#eaf3f8;font-size:8px;letter-spacing:1px}#rs .annotation button:hover,#rs .annotation button[aria-expanded=true]{background:#e8fa75;color:#122630}#rs .annotation:has(button){visibility:hidden}#rs .stage:has(.blueprint-shell) .annotation{visibility:visible}#rs .annotation button{pointer-events:auto}#rs #component-detail{position:absolute;z-index:7;right:4%;bottom:23%;width:220px;padding:18px;background:#0b1b2aee;border:1px solid #c0d2dd55;font-size:12px;line-height:1.65;color:#e3edf2}#rs .finale-title{top:26%}#rs .finale-title strong{font-family:Arial,Helvetica,sans-serif;max-width:600px;font-size:clamp(55px,7.5vw,115px);line-height:.95;letter-spacing:-6px;color:#fff}#rs .finale-title>span{color:var(--rs-accent)}#rs .finale-contact{display:inline-block;padding:14px 21px;margin:8px 0 15px;background:var(--rs-accent);color:#162a2d;font-size:12px}#rs .finale-title button{background:#0e203577;font-size:10px}#rs .experience-meta{top:124px}#rs .experience-meta button{background:#0c1b2a55}#rs .stage-footer{height:86px}#rs .timeline button{padding:12px}@media(max-width:760px){#rs .stage{min-height:700px}#rs .experience-meta{top:103px}#rs .experience-meta>span{font-size:6px;letter-spacing:.8px}#rs .copy{top:20%;width:91%}#rs .copy h1,#rs .copy h2,#rs .copy#copy2 h2{font-size:clamp(40px,11.4vw,59px);letter-spacing:-2.4px}#rs .copy p{font-size:11px}#rs .device-anchor{left:61%;top:67%}#rs .shot-label{display:none}#rs .annotation{left:auto;right:5%}#rs .annotation button{font-size:6px;padding:8px;max-width:110px}#rs .a-screen{top:53%}#rs .a-battery{top:64%}#rs .a-frame{top:75%}#rs #component-detail{right:5%;bottom:16%;width:180px;font-size:10px;padding:12px}#rs .finale-title{top:25%}#rs .finale-title strong{font-size:65px;letter-spacing:-4px;max-width:330px}#rs .vignette{background:linear-gradient(180deg,#07121bc9 0%,#07121b65 43%,transparent 68%,#07121ba0),linear-gradient(90deg,#07121b45,transparent)}#rs .timeline{gap:0}#rs .timeline button{padding:10px}#rs .stage-footer{height:76px}}

#rs{--rs-accent:#a6e6ff;height:640vh;padding:0;background:#0b141c;position:relative}
#rs .scan{animation:none}
#rs .stage{top:0}
#rs .copy h2{color:#fff}
#rs .copy .chapter{font-weight:700;letter-spacing:.16em;color:var(--rs-accent)}
#rs .copy p{font-size:16px;max-width:380px}
#rs .scene-cta{display:inline-flex;align-items:center;gap:8px;margin-top:26px;padding:12px 20px;border:0;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font-size:14px}
#rs .scene-cta.ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25)}
#rs .experience-meta{top:100px;font-weight:700}
#rs .experience-meta button{font-weight:700}
#rs .timeline button{font-weight:700;font-family:"JetBrains Mono",ui-monospace,monospace}
#rs .timeline button:focus-visible,#rs .experience-meta button:focus-visible,#rs .scene-cta:focus-visible{outline:2px solid var(--rs-accent);outline-offset:3px}
#rs .stage-count b{font-weight:400}
#rs .rs-head{position:absolute;left:-9999px}
@media(max-width:760px){#rs{height:540vh}#rs .experience-meta{top:84px}#rs .copy p{font-size:13px;max-width:260px}#rs .scene-cta{font-size:12px;padding:10px 16px;margin-top:14px}}
@media(prefers-reduced-motion:reduce){#rs .copy{transition:none}}
@media(max-width:980px){body.in-rs .mcall{transform:translateY(140%)}}

/* avis Google */
.rgrid{columns:3 280px;column-gap:16px}
.rcard{break-inside:avoid;margin:0 0 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:14px}
.rcard .stars{margin:0}.rcard .stars svg{width:18px;height:18px}
.rcard blockquote{margin:0;font-size:16px;line-height:1.55;color:#e6e9ef}
.rcard figcaption{display:flex;flex-direction:column;gap:2px;font-size:13.5px}
.rcard figcaption b{font-weight:700}
.rcard figcaption span{color:var(--muted)}

/* sur-titre de H1 (mots-clés) */
.h1-kicker{display:block;font-size:clamp(14px,1.3vw,17px);font-weight:700;letter-spacing:.01em;line-height:1.4;color:var(--muted);margin-bottom:14px}
.ski .h1-kicker{color:#c7dcf2}
/* photos */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.gal .ph{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.gal .ph img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--surface2)}
.gal figcaption{padding:12px 14px 14px;font-size:13.5px;line-height:1.45;color:var(--muted)}
@media (max-width:560px){.gal{grid-template-columns:1fr 1fr;gap:10px}.gal figcaption{font-size:12.5px;padding:10px}}

/* pit stop */
.pit{margin-top:22px;border-radius:28px;padding:30px;border:1px solid rgba(166,230,255,.3);background:repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 14px,transparent 14px 28px),linear-gradient(135deg,rgba(47,107,255,.14),rgba(166,230,255,.05))}
.pit h3{font-size:clamp(22px,3vw,30px);margin:12px 0 20px;line-height:1.2}
.pit-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pit-step{background:rgba(6,7,10,.55);border:1px solid var(--line2);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.pit-step b{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--ice);color:#04101f;font-size:14px;margin-bottom:6px}
.pit-step strong{font-size:17px}
.pit-step span{color:var(--muted);font-size:14.5px}
.pit-late{margin-top:16px;font-weight:700;color:var(--ice)}
.pit-line{margin-top:8px;color:#d5dae3}
@media (max-width:1100px) and (min-width:981px){.offers{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.pit-steps{grid-template-columns:1fr}.pit{padding:22px}}

.logo-ski{gap:10px}.logo-ski img{width:44px;height:44px;object-fit:contain}.logo-ski em{font-style:normal;color:var(--ice)}
.ski-logo{width:220px;height:auto;margin:0 auto 18px;filter:drop-shadow(0 18px 40px rgba(60,150,255,.35))}
@media (max-width:560px){.ski-logo{width:160px}}

.ftr-legal{color:var(--dim);font-size:12.5px;line-height:1.5;margin:28px 0 0;max-width:900px}

.devis{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:8px 24px}
.devis ul{list-style:none}
.devis li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.devis li:last-child{border-bottom:0}
.devis li span{font-weight:700}
.devis li small{display:block;font-weight:500;color:var(--muted);font-size:13.5px;margin-top:2px}
.devis li b{white-space:nowrap;color:var(--ice);font-size:14px}

#rs .finale-title,#rs .finale-title strong,#rs .finale-title span{font-family:Manrope,system-ui,sans-serif}
#rs .finale-title strong{letter-spacing:-.035em}

.pbat small{display:block;color:var(--muted);font-weight:500;font-size:12.5px}

.pgen .pnote-m{display:block;color:var(--muted);font-size:11.5px;font-weight:500;margin-top:2px}
.pgen li b.dv{font-family:inherit;font-size:13px;font-weight:600;color:var(--ice,#a6e6ff);letter-spacing:0}
