/* ============ LE GOLFISTE ============ */

@font-face{
  font-family:'Anton';
  src:url('../../vendor/fonts/anton-latin-400-normal.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Inter';
  src:url('../../vendor/fonts/inter-latin-400-normal.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Inter';
  src:url('../../vendor/fonts/inter-latin-500-normal.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Inter';
  src:url('../../vendor/fonts/inter-latin-600-normal.woff2') format('woff2');
  font-weight:600;font-style:normal;font-display:swap;
}

:root{
  --void:#060608;
  --carbon:#0c0d11;
  --ink:#f2f4f8;
  --steel:#9aa0ab;
  --led:#eaf6ff;
  --ion:#a8d4ff;
  --hair:rgba(235,243,255,.14);
  --display:'Anton',Impact,sans-serif;
  --body:'Inter',system-ui,-apple-system,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto}
html,body{background:var(--void)}
body{
  font-family:var(--body);
  color:var(--ink);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--ion);color:#04070c}
:focus-visible{outline:2px solid var(--ion);outline-offset:3px;border-radius:4px}

/* ---------- fixed layers ---------- */
#scene{
  position:fixed;inset:0;width:100%;height:100%;
  z-index:0;pointer-events:none;display:block;
}
.vignette{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 42%,transparent 55%,rgba(0,0,0,.55) 100%);
}
.grain{
  position:fixed;inset:-40px;z-index:60;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}
.progress{
  position:fixed;left:0;right:0;bottom:0;height:2px;z-index:55;pointer-events:none;
  background:rgba(255,255,255,.05);
}
.progress i{
  display:block;height:100%;width:100%;
  transform:scaleX(0);transform-origin:left;
  background:linear-gradient(90deg,var(--ion),var(--led));
  box-shadow:0 0 12px rgba(168,212,255,.6);
}

/* ---------- loader ---------- */
#loader{
  position:fixed;inset:0;z-index:100;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;
  background:var(--void);
}
.loader-mark{
  font-family:var(--display);font-size:clamp(20px,3vw,30px);
  letter-spacing:.42em;text-indent:.42em;color:var(--ink);text-transform:uppercase;
}
.loader-bar{width:min(220px,50vw);height:1px;background:rgba(255,255,255,.12);overflow:hidden}
.loader-bar i{display:block;height:100%;width:0;background:var(--led);box-shadow:0 0 10px rgba(234,246,255,.8)}

/* ---------- nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:calc(14px + env(safe-area-inset-top)) clamp(18px,4vw,42px) 14px;
  transition:background .4s,backdrop-filter .4s;
}
.nav.is-scrolled{
  background:rgba(6,6,8,.55);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav-brand{
  font-family:var(--display);font-size:15px;letter-spacing:.3em;text-transform:uppercase;
}
.nav-cta{
  font-size:13px;font-weight:600;letter-spacing:.04em;white-space:nowrap;
  padding:9px 16px;border:1px solid var(--hair);border-radius:999px;
  background:rgba(12,13,17,.5);
  transition:border-color .3s,box-shadow .3s,background .3s;
}
.nav-cta:hover{
  border-color:rgba(168,212,255,.7);
  box-shadow:0 0 20px rgba(168,212,255,.25);
  background:rgba(12,13,17,.8);
}

/* ---------- scroll tracks / stages ---------- */
main{position:relative;z-index:2}
.track{position:relative}
.hero{height:340vh}
.story{height:230vh}
.ignite{height:320vh}
.stage{
  position:sticky;top:0;
  height:100vh;height:100svh;
  display:grid;place-items:center;
  overflow:hidden;
}

/* ---------- hero ---------- */
.hero-inner{text-align:center;padding:0 16px}
.hero-eyebrow{
  font-size:12px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;
  color:var(--steel);margin-bottom:18px;
}
.hero-title{
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(40px,8.6vw,132px);
  line-height:.98;
  letter-spacing:.06em;text-indent:.06em;
  color:var(--ink);
  text-shadow:0 0 60px rgba(168,212,255,.25);
  white-space:nowrap;
}
.hero-hint{
  position:absolute;bottom:calc(26px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--steel);
}
.hero-hint svg{animation:hint 1.8s ease-in-out infinite}
@keyframes hint{0%,100%{transform:translateY(0);opacity:.9}50%{transform:translateY(7px);opacity:.35}}

/* ---------- story ---------- */
.story .stage{place-items:center start}
.story-copy{
  max-width:560px;
  padding:0 clamp(20px,7vw,110px);
}
.story-copy h2{
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(34px,5.6vw,76px);line-height:1.04;letter-spacing:.02em;
  margin-bottom:20px;
}
.story-copy p{
  font-size:clamp(15px,1.4vw,19px);color:var(--steel);font-weight:500;max-width:34ch;
}

/* ---------- ignition ---------- */
.ignite-hud{
  position:absolute;left:0;right:0;
  bottom:clamp(30px,7vh,72px);
  display:flex;align-items:center;gap:18px;
  padding:0 clamp(20px,6vw,80px);
}
.ignite-label{
  font-size:11px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--steel);
}
.ignite-line{flex:1;height:1px;background:rgba(255,255,255,.12);overflow:hidden}
.ignite-line i{
  display:block;height:100%;width:100%;
  transform:scaleX(0);transform-origin:left;
  background:linear-gradient(90deg,var(--ion),var(--led));
  box-shadow:0 0 10px rgba(168,212,255,.8);
}
.ignite-pct{
  font-family:var(--display);font-size:clamp(22px,3vw,34px);letter-spacing:.08em;
  color:var(--led);min-width:2.4ch;text-align:right;
  font-variant-numeric:tabular-nums;
}

/* ---------- shared solid sections ---------- */
.solid{position:relative;background:var(--void)}

h2{
  font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.02em;
}

[data-reveal]{opacity:0;transform:translateY(34px)}
[data-reveal-group]>*{opacity:0;transform:translateY(30px)}
.is-static [data-reveal],.is-static [data-reveal-group]>*{opacity:1;transform:none}

/* ---------- installed ---------- */
.installed{padding-bottom:clamp(60px,9vw,130px)}
.installed::before{
  content:"";position:absolute;left:0;right:0;top:-22vh;height:22vh;
  background:linear-gradient(180deg,rgba(6,6,8,0) 0%,rgba(6,6,8,.45) 45%,rgba(6,6,8,.88) 78%,var(--void) 100%);
  pointer-events:none;z-index:2;
}
.shot{position:relative;overflow:hidden}
.shot img{width:100%;height:100%;object-fit:cover}
.shot-night{height:min(110vh,1000px)}
.shot-night img{object-position:50% 58%;transform:scale(1.12)}
.shot-night::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,6,8,.55) 0%,transparent 32%,transparent 55%,rgba(6,6,8,.92) 100%);
}
.shot-title{
  position:absolute;left:clamp(20px,6vw,80px);bottom:clamp(26px,6vw,64px);z-index:2;
}
.shot-title h2{
  font-size:clamp(40px,7vw,104px);line-height:.96;
  text-shadow:0 4px 40px rgba(0,0,0,.7);
}
.chips{
  list-style:none;
  display:flex;flex-wrap:wrap;gap:12px;
  justify-content:center;
  padding:clamp(28px,4vw,48px) clamp(20px,5vw,64px);
}
.chips li{
  font-size:13px;font-weight:600;letter-spacing:.06em;
  padding:11px 18px;border:1px solid var(--hair);border-radius:999px;
  background:rgba(12,13,17,.6);
  color:var(--ink);
  box-shadow:inset 0 0 18px rgba(168,212,255,.05);
  white-space:nowrap;
}
.shot-day{
  height:min(74vh,700px);
  max-width:880px;
  margin:0 auto;
  border-radius:clamp(0px,1.5vw,18px);
}
.shot-day img{object-position:46% 52%;transform:scale(1.08)}
.shot-day::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(6,6,8,.5) 100%);
}

/* ---------- steps ---------- */
.steps{
  padding:clamp(80px,12vw,170px) clamp(20px,7vw,110px);
  max-width:1080px;margin:0 auto;
}
.steps h2{font-size:clamp(32px,5vw,68px);margin-bottom:clamp(36px,5vw,64px)}
.steps-list{list-style:none;border-top:1px solid var(--hair)}
.steps-list li{
  display:flex;align-items:baseline;gap:clamp(20px,4vw,54px);
  padding:clamp(22px,3vw,36px) 4px;
  border-bottom:1px solid var(--hair);
}
.step-n{
  font-family:var(--display);
  font-size:clamp(26px,3.4vw,44px);
  color:transparent;
  -webkit-text-stroke:1px var(--ion);
  min-width:1.4ch;
}
.steps-list p{font-size:clamp(17px,2.1vw,26px);font-weight:500}

/* ---------- price ---------- */
.price{
  display:grid;grid-template-columns:1fr 1fr;align-items:center;
  gap:clamp(28px,5vw,80px);
  padding:clamp(70px,10vw,150px) clamp(20px,7vw,110px);
  max-width:1240px;margin:0 auto;
}
.price-media{
  border-radius:18px;overflow:hidden;
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 30px 80px rgba(0,0,0,.55);
  max-width:430px;width:100%;margin:0 auto;
}
.price-media img{width:100%;display:block}
@media (max-width:899px){
  .price{grid-template-columns:1fr}
  .price-media{max-width:330px;order:-1}
  .price-copy{align-items:center;text-align:center}
}
.price-copy{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.price-amount{
  font-family:var(--display);
  font-size:clamp(76px,11vw,150px);line-height:.95;
  color:var(--ink);
  text-shadow:0 0 70px rgba(168,212,255,.28);
}
.price-line{font-size:clamp(15px,1.5vw,19px);color:var(--steel);font-weight:500}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:600;font-size:15px;letter-spacing:.05em;
  padding:16px 40px;border-radius:999px;
  transition:transform .25s,box-shadow .3s,background .3s,border-color .3s;
  cursor:pointer;
}
.btn-solid{
  background:var(--ink);color:#05070b;
  margin-top:10px;
  box-shadow:0 0 0 rgba(168,212,255,0);
}
.btn-solid:hover{
  transform:translateY(-2px);
  box-shadow:0 0 34px rgba(168,212,255,.45),0 12px 30px rgba(0,0,0,.5);
  background:#fff;
}
.btn-ghost{
  border:1px solid var(--hair);color:var(--ink);
  background:rgba(12,13,17,.5);
}
.btn-ghost:hover{
  border-color:rgba(168,212,255,.75);
  box-shadow:0 0 26px rgba(168,212,255,.28);
  transform:translateY(-2px);
}

/* ---------- contact ---------- */
.contact{
  display:flex;flex-direction:column;align-items:center;gap:22px;
  padding:clamp(70px,10vw,140px) 20px;
  text-align:center;
  border-top:1px solid rgba(255,255,255,.06);
}
.contact p{font-size:clamp(19px,2.6vw,30px);font-weight:500}

/* ---------- footer ---------- */
.footer{
  padding:34px 20px calc(40px + env(safe-area-inset-bottom));
  text-align:center;
  border-top:1px solid rgba(255,255,255,.06);
}
.footer p{
  font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--steel);
}

/* ---------- no-webgl fallback ---------- */
.no-webgl #scene{display:none}
.no-webgl .hero .stage{
  background:url('../img/gti-tall.jpg') center 60%/cover no-repeat;
}
.no-webgl .hero .stage::before{
  content:"";position:absolute;inset:0;background:rgba(6,6,8,.55);
}
.no-webgl .hero-inner{position:relative}
.no-webgl .ignite{height:auto}
.no-webgl .ignite .stage{display:none}

/* ---------- static / reduced motion ---------- */
.is-static .track{height:auto}
.is-static .stage{position:relative;height:auto;min-height:70svh}
.is-static .hero .stage{min-height:100svh}

/* ---------- responsive ---------- */
@media (max-width:899px){
  .story .stage{place-items:end center}
  .story-copy{
    text-align:center;
    padding:0 22px clamp(60px,14svh,120px);
  }
  .story-copy p{margin:0 auto}
  .price{grid-template-columns:1fr;padding-top:40px}
  .price-media{max-width:420px;margin:0 auto}
  .price-copy{align-items:center;text-align:center}
  .shot-night{height:88svh}
  .shot-night img{object-position:52% 58%}
  .chips{gap:9px;padding-left:14px;padding-right:14px}
  .chips li{font-size:12px;padding:9px 14px}
  .nav-cta{font-size:12px;padding:8px 13px}
  .hero-title{letter-spacing:.3em;text-indent:.3em;font-size:clamp(28px,8.8vw,44px)}
}

/* ================= finitions ================= */

/* scrollbar */
html{scrollbar-width:thin;scrollbar-color:#26292f #060608}
::-webkit-scrollbar{width:9px}
::-webkit-scrollbar-track{background:#060608}
::-webkit-scrollbar-thumb{background:#24262b;border-radius:8px;border:2px solid #060608}
::-webkit-scrollbar-thumb:hover{background:#3a3e45}

/* loader pct */
.loader-pct{
  font-family:var(--display);font-size:13px;letter-spacing:.3em;text-indent:.3em;
  color:var(--steel);font-variant-numeric:tabular-nums;
}

/* animated grain */
@media (prefers-reduced-motion: no-preference){
  .grain{animation:grainShift .9s steps(6) infinite}
}
@keyframes grainShift{
  0%{transform:translate(0,0)}
  25%{transform:translate(-14px,9px)}
  50%{transform:translate(9px,-16px)}
  75%{transform:translate(-7px,-8px)}
  100%{transform:translate(12px,13px)}
}

/* ignition flash */
.flash{
  position:fixed;inset:0;z-index:64;pointer-events:none;
  background:radial-gradient(120% 120% at 50% 46%,rgba(240,248,255,1) 0%,rgba(220,236,255,.9) 55%,rgba(200,225,255,.75) 100%);
  opacity:0;
}

/* buttons: shine sweep */
.btn,.nav-cta{position:relative;overflow:hidden}
.btn::after,.nav-cta::after{
  content:"";position:absolute;top:-10%;left:-70%;width:45%;height:120%;
  transform:skewX(-22deg);
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);
  transition:left .55s ease;pointer-events:none;
}
.btn-solid::after{background:linear-gradient(100deg,transparent,rgba(120,180,255,.5),transparent)}
.btn:hover::after,.nav-cta:hover::after{left:125%}

/* chips hover */
.chips li{transition:border-color .3s,box-shadow .3s,transform .3s}
.chips li:hover{
  border-color:rgba(168,212,255,.55);
  box-shadow:0 0 22px rgba(168,212,255,.18),inset 0 0 18px rgba(168,212,255,.08);
  transform:translateY(-2px);
}

/* hero title letter masks */
.hero-title .lt{display:inline-block;overflow:hidden;vertical-align:bottom}
.hero-title .lt i{display:inline-block;font-style:normal;transform:translateY(115%);letter-spacing:0}
.is-static .hero-title .lt i{transform:none}


/* custom cursor */
.cursor{position:fixed;inset:0;z-index:92;pointer-events:none;opacity:0;transition:opacity .3s}
html.has-cursor .cursor{opacity:1}
.c-dot,.c-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none}
.c-dot{
  width:6px;height:6px;margin:-3px 0 0 -3px;
  background:var(--led);box-shadow:0 0 10px rgba(234,246,255,.9);
}
.c-ring{
  width:38px;height:38px;margin:-19px 0 0 -19px;
  border:1px solid rgba(235,243,255,.4);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,background .3s;
}
.cursor.is-hover .c-ring{
  transform:scale(1.7);
  border-color:rgba(168,212,255,.85);
  background:rgba(168,212,255,.07);
}
.cursor.is-down .c-ring{transform:scale(.85)}
html.has-cursor,html.has-cursor a,html.has-cursor button{cursor:none}
html.has-cursor .btn,html.has-cursor .nav-cta{transition-property:box-shadow,background,border-color}

/* video band */
.shot-video{margin:clamp(14px,2.5vw,28px) 0 0}
.shot-video video{display:block;width:100%;height:auto;background:#000}
.shot-video::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,6,8,.35) 0%,transparent 22%,transparent 78%,rgba(6,6,8,.45) 100%);
}
@media (max-width:899px){
  .chips li{white-space:normal;text-align:center;line-height:1.35}
}

/* ignition taglines */
.ignite-lines{position:absolute;top:14%;left:0;right:0;pointer-events:none}
.il{
  position:absolute;left:0;right:0;margin:0 auto;padding:0 20px;
  max-width:900px;text-align:center;
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(24px,4.6vw,54px);line-height:1.1;
  color:var(--ink);opacity:0;
  text-shadow:0 2px 30px rgba(0,0,0,.65),0 0 60px rgba(168,212,255,.18);
}
@media (max-width:899px){.ignite-lines{top:11%}}

/* new photos */
.shot-gti{margin-top:clamp(18px,3vw,40px)}
.shot-cap{
  margin-top:12px;text-align:center;color:var(--muted);
  font-size:14px;letter-spacing:.14em;text-transform:uppercase;
}
.steps-photo{
  max-width:820px;margin:clamp(28px,4vw,52px) auto 0;
  border-radius:14px;overflow:hidden;
}
.steps-photo img{width:100%;display:block}
.stock-line{
  display:flex;align-items:center;gap:14px;margin-top:22px;
}
.stock-line img{
  width:64px;height:64px;object-fit:cover;border-radius:10px;
  border:1px solid rgba(255,255,255,.09);
}
.stock-line span{color:var(--muted);font-size:15px}

/* ---- gallery ---- */
.gallery-head h2{
  text-align:center;font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(32px,5.6vw,80px);letter-spacing:.02em;line-height:1.04;
  max-width:22ch;margin:0 auto 8px;text-wrap:balance;
}
.gallery{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
  max-width:1200px;margin:clamp(24px,4vw,48px) auto 0;padding:0 clamp(16px,3vw,32px);
}
.g-item{margin:0;border-radius:14px;overflow:hidden;cursor:zoom-in;background:#0a0b0d}
.g-item img,.g-item video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.6,.2,1)}
.g-item:hover img{transform:scale(1.03)}
.g-item{aspect-ratio:16/10}
.g-wide{grid-column:1/-1;aspect-ratio:16/8}
.g-video{grid-column:1/-1;aspect-ratio:1280/446;cursor:default}
@media (max-width:899px){
  .gallery{grid-template-columns:1fr;gap:12px}
  .g-item{aspect-ratio:4/3}
  .g-wide{aspect-ratio:16/10}
  .g-video{aspect-ratio:1280/446}
}
/* ---- lightbox ---- */
.lightbox{
  position:fixed;inset:0;z-index:60;background:rgba(4,5,7,.93);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .28s ease;
}
.lightbox.open{opacity:1;pointer-events:auto}
.lightbox img{max-width:92vw;max-height:88vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb-close{
  position:absolute;top:14px;right:20px;font-size:38px;line-height:1;
  background:none;border:0;color:#fff;cursor:pointer;opacity:.8;
}
.lb-close:hover{opacity:1}

.story-copy p.story-eyebrow{
  font-size:12px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;
  color:var(--steel);margin:0 0 14px;max-width:none;
}

/* CTA prix */
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.price-trust{
  margin-top:20px;font-size:clamp(15px,1.5vw,19px);color:var(--steel);
  font-weight:500;line-height:1.55;
}
.price-micro{
  margin-top:10px;font-size:13px;color:var(--steel);opacity:.6;letter-spacing:.02em;
}
@media (max-width:899px){
  .cta-row{justify-content:center;width:100%}
  .cta-row .btn{flex:1 1 auto;min-width:180px}
}

.price-claim{margin:0 0 20px}
.price-claim span{
  display:inline-block;
  font-size:13px;font-weight:600;letter-spacing:.06em;
  padding:11px 18px;border:1px solid var(--hair);border-radius:999px;
  background:rgba(12,13,17,.6);color:var(--ink);
  box-shadow:inset 0 0 18px rgba(168,212,255,.05);
}

.install-block{
  max-width:760px;margin:clamp(34px,4.5vw,60px) auto 0;text-align:center;
}
.install-note{
  margin:0;font-size:clamp(17px,1.5vw,21px);line-height:1.6;
  color:var(--ink);opacity:.9;font-weight:500;
}
.install-help{
  display:inline-block;margin-top:16px;font-size:15px;
  color:var(--steel);text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:3px;
  transition:color .25s ease,border-color .25s ease;
}
.install-help:hover{color:var(--ink);border-color:rgba(255,255,255,.7)}

/* ---------- avis clients ---------- */
.avis{padding:clamp(70px,9vw,130px) clamp(20px,6vw,90px)}
.avis h2{
  text-align:center;font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(28px,4.4vw,60px);letter-spacing:.02em;line-height:1.04;margin:0 0 clamp(30px,4vw,56px);
}
.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.2vw,28px);max-width:1100px;margin:0 auto}
.tcard{
  margin:0;border-radius:16px;overflow:hidden;background:#0b0c0e;
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 20px 50px rgba(0,0,0,.45);
}
.tcard img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.tcard figcaption{padding:clamp(16px,1.8vw,24px)}
.tquote{
  margin:0 0 10px;font-size:clamp(15px,1.25vw,17px);line-height:1.5;color:var(--ink);
}
.tquote::before{content:"« "}
.tquote::after{content:" »"}
.tmeta{margin:0;font-size:13px;color:var(--steel);letter-spacing:.02em}
.tstar{color:var(--ink);opacity:.85;margin-left:4px}
@media (max-width:899px){
  .tgrid{grid-template-columns:1fr}
}

.install-alt{margin:10px 0 0;font-size:14.5px;color:var(--steel);opacity:.8}
@media (max-width:899px){
  .chips li{white-space:normal;text-align:center}
}

/* ---------- finitions mobile ---------- */
@media (max-width:899px){
  .hero-inner{padding:0 20px;max-width:100%;overflow:hidden}
  .hero-title{font-size:clamp(30px,8.2vw,44px)}
  /* lisibilite : rien sous 13px */
  .nav-cta{font-size:13px;padding:11px 16px}
  .nav-brand{font-size:13px;padding:6px 0}
  .story-eyebrow{font-size:12.5px;letter-spacing:.26em}
  .chips li{font-size:13px;padding:11px 16px}
  .price-micro{font-size:13px}
  .tmeta{font-size:13px}
  .ignite-label{font-size:12px}
  /* zones tactiles confortables */
  .install-help{padding:12px 4px 10px;display:inline-block}
  .cta-row .btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center}
  .install-alt{font-size:14px}
  .hero-hint span,.hero-hint{font-size:13px;letter-spacing:.22em}
  .story-copy p.story-eyebrow,.ignite-label{font-size:13px}
  footer p,.foot p,.foot-note{font-size:13px}
  .nav-brand{min-height:44px;display:inline-flex;align-items:center}
}

/* ---------- aimant : guide PDF ---------- */
.guide-block{max-width:760px;margin:clamp(30px,4vw,52px) auto 0;padding:0 20px}
.guide-card{
  border:1px solid var(--hair);border-radius:18px;
  padding:clamp(26px,3.4vw,40px);text-align:center;
  background:
    radial-gradient(120% 140% at 50% 0%, rgba(168,212,255,.07) 0%, rgba(168,212,255,0) 62%),
    rgba(12,13,17,.55);
}
.guide-tag{
  display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.26em;
  text-transform:uppercase;color:var(--glow,#a8d4ff);opacity:.9;margin-bottom:14px;
}
.guide-title{
  margin:0 0 10px;font-size:clamp(18px,1.9vw,24px);font-weight:600;
  line-height:1.35;color:var(--ink);
}
.guide-sub{
  margin:0 auto 22px;max-width:52ch;font-size:clamp(14.5px,1.35vw,16px);
  line-height:1.6;color:var(--steel);
}
.guide-cta{min-height:52px;display:inline-flex;align-items:center;justify-content:center}
@media (max-width:899px){
  .guide-tag{font-size:12px;letter-spacing:.2em}
  .guide-cta{width:100%}
}
