/* Swellcraft · page d'accueil « déroulante » : apparitions au défilement, défilement fluide */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
.h{--ink:#0C1A1F;font:400 16px/1.6 var(--f-texte);color:var(--ink)}
.h *{box-sizing:border-box}
.h img{display:block;max-width:100%}
.h a{color:inherit}
.h-in{width:100%;max-width:1320px;margin-inline:auto;padding-inline:clamp(20px,5vw,72px)}
.h-dark{background:#000;color:#F4F7F6}
.h-eb{font:700 12px/1.3 var(--f-texte);letter-spacing:.16em;text-transform:uppercase;color:var(--lagon-p);margin:0 0 18px}
.h-dark .h-eb{color:var(--lagon-c)}
.h-t{font:800 clamp(38px,6.2vw,92px)/.98 var(--f-titre);font-stretch:112%;letter-spacing:-.025em;margin:0;text-wrap:balance}
.h-t2{font:800 clamp(32px,4.6vw,64px)/1.02 var(--f-titre);font-stretch:112%;letter-spacing:-.022em;margin:0;text-wrap:balance}
.h-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:#4F6269;max-width:52ch;margin:22px 0 0}
.h-dark .h-lead{color:#A9BBBF}
.h-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.h .sw-btn{min-height:54px}
.h-dark .sw-btn-p{background:var(--lagon);color:#04181a}
.h-dark .sw-btn-p:hover{background:#3dbab7}
.h-dark .sw-btn-g{color:#fff;border-color:#ffffff59}
.h-dark .sw-btn-g:hover{background:#ffffff14}
.h-lk{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:3px}
.h-lk svg{width:17px;height:17px}

/* ---------- apparitions ---------- */
[data-r]{opacity:0;transition:opacity 1s var(--ease),transform 1.1s var(--ease),filter 1s var(--ease);transition-delay:var(--d,0s);will-change:opacity,transform}
[data-r="up"]{transform:translate3d(0,60px,0)}
[data-r="fade"]{transform:none}
[data-r="left"]{transform:translate3d(-60px,0,0)}
[data-r="right"]{transform:translate3d(60px,0,0)}
[data-r="tilt"]{transform:translate3d(0,80px,0) rotate(var(--rot,-4deg)) scale(.94)}
[data-r="zoom"]{transform:scale(1.12);filter:blur(6px)}
[data-r="blur"]{filter:blur(10px);transform:translate3d(0,24px,0)}
[data-r].in{opacity:1;transform:none;filter:none}
[data-r="tilt"].in{transform:rotate(var(--rest,0deg))}
.ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.ln>span{display:block;transform:translate3d(0,105%,0);transition:transform 1.15s var(--ease);transition-delay:var(--d,0s)}
.in .ln>span,.ln.in>span{transform:none}
[data-fill] .w{opacity:.16;transition:opacity .35s linear}
[data-fill] .w.on{opacity:1}
@media (prefers-reduced-motion:reduce){[data-r],.ln>span{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}[data-fill] .w{opacity:1}}

/* ---------- barre secondaire collante ---------- */
.h-sub{position:fixed;left:0;right:0;top:66px;z-index:45;background:#0b0f10eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border-bottom:1px solid #ffffff14;transform:translateY(-110%);opacity:0;transition:transform .45s var(--ease),opacity .3s,top .3s var(--ease);pointer-events:none}
.h-sub.on{transform:none;opacity:1;pointer-events:auto}
body.hd-hidden .h-sub{top:0}
.h-sub .h-in{display:flex;align-items:center;gap:22px;height:58px}
.h-sub b{font:700 15px/1 var(--f-texte);margin-right:auto;white-space:nowrap}
.h-sub nav{display:flex;gap:4px}
.h-sub nav a{color:#b9c8cb;text-decoration:none;font-size:14px;padding:8px 10px;border-radius:6px;position:relative;white-space:nowrap}
.h-sub nav a.on{color:#fff}
.h-sub nav a.on:after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;background:#fff;border-radius:2px}
.h-sub .buy{background:#fff;color:#000;text-decoration:none;font:700 14px/1 var(--f-texte);padding:12px 18px;border-radius:6px;white-space:nowrap}
.h-sub .buy:hover{background:var(--lagon-c)}
@media(max-width:899px){.h-sub nav{display:none}.h-sub .h-in{height:54px}}

/* ---------- héro ---------- */
.h-hero{position:relative;min-height:calc(100svh - 66px);display:flex;align-items:flex-end;overflow:hidden;background:#000;color:#fff}
.h-hero .bg{position:absolute;inset:-6% 0 0 0;will-change:transform}
.h-hero .bg img{width:100%;height:100%;object-fit:cover;object-position:68% 50%;transform:scale(1.14);transition:transform 2.6s cubic-bezier(.2,.7,.1,1)}
.h-hero.go .bg img{transform:scale(1.02)}
.h-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#000000e6 0%,#000000a6 36%,#00000014 70%),linear-gradient(0deg,#000000cc 0%,#0000 45%)}
.h-hero .h-in{position:relative;z-index:2;padding-block:clamp(64px,10vh,120px)}
.h-hero .h-t{font-size:clamp(46px,8.4vw,132px);max-width:11ch}
.h-hero .h-lead{color:#d4dfe0}
.h-cue{position:absolute;z-index:2;right:clamp(20px,5vw,72px);bottom:34px;display:flex;flex-direction:column;align-items:center;gap:10px;font:700 10.5px/1 var(--f-texte);letter-spacing:.2em;text-transform:uppercase;color:#ffffffb3;writing-mode:vertical-rl}
.h-cue i{width:1px;height:56px;background:linear-gradient(#fff0,#fff);animation:cue 2.2s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:699px){.h-hero .bg img{object-position:62% 40%}.h-hero:before{background:linear-gradient(0deg,#000000f2 0%,#000000b3 42%,#00000026 75%)}.h-cue{display:none}}

/* bande de confiance */
.h-trust{border-bottom:1px solid var(--ligne);background:#fff}
.h-trust .h-in{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-block:26px}
.h-trust div{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.35}
.h-trust svg{width:22px;height:22px;flex:none;color:var(--lagon-p)}
.h-trust b{display:block;font-size:15px}
.h-trust span{color:var(--ardoise)}
@media(max-width:899px){.h-trust .h-in{grid-template-columns:1fr 1fr}}

/* ---------- manifeste : titre + texte qui s'illumine ---------- */
.h-man{padding-block:clamp(110px,16vw,220px) clamp(80px,10vw,140px);background:#fff}
.h-man .g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:start}
.h-man .h-t2{text-align:right;position:sticky;top:150px}
.h-man p.big{font:700 clamp(22px,2.5vw,36px)/1.32 var(--f-titre);font-stretch:104%;letter-spacing:-.01em;margin:0;color:#0C1A1F}
@media(max-width:899px){.h-man .g{grid-template-columns:1fr}.h-man .h-t2{text-align:left;position:static}}
.h-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,28px);margin-top:clamp(70px,9vw,130px);align-items:start}
.h-photos figure{margin:0}
.h-photos figure:nth-child(2){margin-top:clamp(40px,7vw,110px)}
.h-photos figure:nth-child(3){margin-top:clamp(10px,3vw,40px)}
.h-photos .ph{overflow:hidden;border-radius:4px;aspect-ratio:4/5;background:#e6ecec}
.h-photos .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);will-change:transform}
.h-photos figcaption{margin-top:16px;font:600 15px/1.45 var(--f-texte);color:#1d2c31;max-width:36ch}
@media(max-width:699px){.h-photos{grid-template-columns:1fr 1fr}.h-photos figure:nth-child(3){display:none}}

/* ---------- la cale en détail (sombre, vidéo + légendes) ---------- */
.h-spec{position:relative;padding-block:clamp(90px,12vw,170px);overflow:hidden}
.h-spec:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 50% 55%,#0a3b3d 0%,#03100f 45%,#000 75%);opacity:.9}
.h-spec .h-in{position:relative}
.h-spec .hd2{display:flex;justify-content:space-between;align-items:end;gap:20px;border-bottom:1px solid #ffffff38;padding-bottom:22px}
.h-spec .stage{position:relative;display:grid;grid-template-columns:1fr minmax(260px,440px) 1fr;align-items:center;gap:20px;margin-top:40px;min-height:560px}
.h-spec video{width:100%;aspect-ratio:960/1200;object-fit:contain;mix-blend-mode:lighten;display:block}
.h-spec .col{display:grid;gap:min(9vw,110px)}
.co{position:relative;max-width:300px}
.co b{display:block;font:700 18px/1.25 var(--f-titre);font-stretch:106%;color:#fff;padding-bottom:12px}
.co p{margin:12px 0 0;color:#b5c4c7;font-size:15px;line-height:1.5}
.co svg{position:absolute;top:30px;height:24px;overflow:visible}
.co svg path{fill:none;stroke:#ffffffb3;stroke-width:1.2;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 1.4s var(--ease) .25s}
.co.in svg path{stroke-dashoffset:0}
.col.l .co{justify-self:end;text-align:left}
.col.l .co svg{left:0;width:calc(100% + 70px)}
.col.r .co svg{right:0;width:calc(100% + 70px)}
.col.r .co{justify-self:start}
.h-cols{display:flex;gap:16px;justify-content:center;margin-top:18px}
.h-cols span{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:#7f9498;transition:color .3s}
.h-cols span.on{color:#fff}
.h-cols i{width:12px;height:12px;border-radius:50%;border:1px solid #ffffff40;transition:box-shadow .3s}
.h-cols span.on i{box-shadow:0 0 0 3px #000,0 0 0 4.5px #fff}
.h-spec .foot{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center;margin-top:50px}
.h-spec .foot p{margin:0;font:700 clamp(20px,2vw,26px)/1.2 var(--f-titre);font-stretch:106%}
@media(max-width:899px){
  .h-spec .stage{grid-template-columns:1fr;min-height:0}
  .h-spec .vid{order:-1;max-width:340px;margin-inline:auto}
  .h-spec .col{gap:34px}
  .co svg{display:none}
  .co b{border-bottom:1px solid #ffffff38}
  .col.l .co,.col.r .co{justify-self:stretch;max-width:none}
}

/* ---------- platines (cartes en escalier) ---------- */
.h-plat{padding-block:clamp(100px,13vw,180px);background:#fff}
.h-plat .top{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:clamp(40px,6vw,80px)}
.h-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.6vw,22px);align-items:start}
.h-cards a{display:grid;gap:12px;text-decoration:none;color:#0C1A1F}
.h-cards a:nth-child(2){margin-top:60px}.h-cards a:nth-child(3){margin-top:120px}.h-cards a:nth-child(4){margin-top:60px}
.h-cards .ph{overflow:hidden;border-radius:4px;aspect-ratio:4/5;background:#d8d2c8}
.h-cards .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.h-cards a:hover .ph img{transform:scale(1.06)}
.h-cards .nm{display:flex;justify-content:space-between;gap:10px;font:700 17px/1.2 var(--f-titre);font-stretch:106%}
.h-cards .mt{font-size:13px;color:var(--ardoise);margin-top:-6px}
@media(max-width:899px){.h-cards{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:68%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;margin-inline:calc(-1*clamp(20px,5vw,72px));padding-inline:clamp(20px,5vw,72px);scrollbar-width:none}.h-cards a{scroll-snap-align:start;margin-top:0!important}.h-plat .top{grid-template-columns:1fr}}

/* ---------- pack (cartes dégradées) ---------- */
.h-pack{padding-block:clamp(100px,13vw,180px);background:#000;color:#fff}
.h-pack .intro{max-width:560px;margin-bottom:clamp(50px,7vw,90px)}
.h-pack .g{display:grid;grid-template-columns:repeat(3,1fr) minmax(220px,.9fr);gap:clamp(12px,1.6vw,22px);align-items:start}
.pk{position:relative;min-height:340px;padding:24px;border-radius:4px;background:linear-gradient(160deg,#0FA3A3 0%,#0A5E5F 45%,#03201f 100%);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.pk:nth-child(2){margin-top:110px}.pk:nth-child(3){margin-top:220px}
.pk .n{font:800 64px/1 var(--f-titre);font-stretch:112%;color:#ffffff30}
.pk b{display:block;font:700 22px/1.2 var(--f-titre);font-stretch:106%;margin-bottom:10px}
.pk p{margin:0;color:#d6ecea;font-size:15.5px;line-height:1.5}
.h-pack .side{padding-top:40px}
.h-pack .side .pr{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:6px 0 10px}
.h-pack .side .pr b{font:800 54px/1 var(--f-titre);font-stretch:108%}
.h-pack .side .pr s{color:#8aa0a4;font-weight:600}
.h-pack .side p{color:#b5c4c7;margin:0}
@media(max-width:899px){.h-pack .g{grid-template-columns:1fr}.pk{min-height:0;gap:30px}.pk:nth-child(n){margin-top:0}.h-pack .side{padding-top:10px}}

/* ---------- adaptateur M8 (sombre, étapes synchronisées) ---------- */
.h-m8{padding-block:clamp(100px,13vw,170px);background:#000;color:#fff;overflow:hidden}
.h-m8 .g{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,70px);align-items:center;margin-top:clamp(40px,6vw,70px)}
.h-m8 ol{list-style:none;margin:0;padding:0;display:grid;gap:4px;counter-reset:s}
.h-m8 li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:6px 10px;padding:16px 0;border-top:1px solid #ffffff1f;opacity:.32;transition:opacity .5s}
.h-m8 li.on{opacity:1}
.h-m8 li:before{content:"0" counter(s);font:700 12px/1.6 var(--f-texte);letter-spacing:.14em;color:var(--lagon-c);grid-row:span 2}
.h-m8 li b{font:700 20px/1.2 var(--f-titre);font-stretch:106%}
.h-m8 li span{color:#b5c4c7;font-size:15px}
.h-m8 .vw{position:relative}
.h-m8 video{width:100%;aspect-ratio:16/9;object-fit:contain;display:block}
.h-m8 .bar{height:2px;background:#ffffff1f;margin-top:8px;overflow:hidden}
.h-m8 .bar i{display:block;height:100%;background:var(--lagon);transform-origin:left;transform:scaleX(var(--p,0))}
.h-m8 .rp{position:absolute;right:0;bottom:18px;border:1px solid #ffffff47;background:#ffffff0f;color:#fff;border-radius:999px;padding:10px 16px;font:700 13px/1 var(--f-texte);cursor:pointer}
.h-gam{margin-top:clamp(70px,9vw,120px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,4vw,60px);align-items:end}
.h-gam .ph{overflow:hidden;border-radius:4px}
.h-gam img{width:100%;height:auto}
@media(max-width:899px){.h-m8 .g,.h-gam{grid-template-columns:1fr}.h-m8 .vw{order:-1}}

/* ---------- grande phrase + bandeau photo ---------- */
.h-band{position:relative;height:min(92vh,900px);overflow:hidden;background:#000}
.h-band .bg{position:absolute;inset:-12% 0;will-change:transform}
.h-band img{width:100%;height:100%;object-fit:cover}
.h-band:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000000b3,#0000 55%)}
.h-band .h-in{position:absolute;left:0;right:0;bottom:clamp(40px,7vw,90px);z-index:2;color:#fff}
.h-quote{padding-block:clamp(110px,15vw,200px);background:#000;color:#fff}
.h-quote p.big{font:700 clamp(26px,3.3vw,48px)/1.25 var(--f-titre);font-stretch:104%;letter-spacing:-.012em;margin:0;max-width:26ch}
.h-quote .g{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,5vw,80px)}
@media(max-width:899px){.h-quote .g{grid-template-columns:1fr}}

/* sections reprises (assiette, fabrication, sur mesure, FAQ) : marges harmonisées */
.h #assiette{background:#fff}
[data-r].in{will-change:auto}
[data-r="zoom"]{filter:none}
.h-spec .vid,.h-m8 .vw{isolation:auto}
.co p:empty{display:none}
.h-m8 .h-t2{max-width:18ch}
/* adaptateur sur le spot */
.h-spot{padding-block:clamp(90px,12vw,170px);background:#fff}
.h-spot .g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,96px);align-items:center}
.h-spot .ph{margin:0;overflow:hidden;border-radius:4px;aspect-ratio:4/5;background:#e6ecec}
.h-spot .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.15)}
@media(max-width:899px){.h-spot .g{grid-template-columns:1fr}}
