@font-face{font-family:"TT Display";src:url(fonts/BigShoulders-Bold.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"TT Text";src:url(fonts/InstrumentSans-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"TT Text";src:url(fonts/InstrumentSans-Bold.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"TT Mono";src:url(fonts/IBMPlexMono-Regular.ttf) format("truetype");font-weight:400;font-display:swap}

:root{
  color-scheme:dark;
  --noir:#07050b; --noir2:#110c18; --blanc:#f3eee8; --gris:#a59dae; --gris2:#6d6577;
  --rose:#ff2e8b; --violet:#7c46ff; --turq:#20c9c7; --jaune:#f2b630;
  --display:"TT Display","Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --text:"TT Text","Helvetica Neue",Arial,sans-serif;
  --mono:"TT Mono",ui-monospace,Menlo,monospace;
  --vh:1vh;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--noir);color:var(--blanc);font-family:var(--text);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--jaune);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num{font-variant-numeric:tabular-nums}

/* ---------- header ---------- */
.hd{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(14px + env(safe-area-inset-top,0px)) clamp(16px,3vw,36px) 14px;pointer-events:none}
.hd>*{pointer-events:auto}
.logo{display:flex;align-items:center;gap:10px;background:rgba(17,12,24,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(243,238,232,.1);border-radius:99px;padding:4px 14px 4px 5px;text-decoration:none;font-family:var(--display);font-size:20px;letter-spacing:.06em;text-transform:uppercase}
.logo img{width:30px;height:30px}
.nav{display:flex;gap:6px;background:rgba(17,12,24,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(243,238,232,.1);border-radius:99px;padding:4px}
.nav a{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:6px 12px;border-radius:99px;color:var(--gris)}
.nav a:hover,.nav a.on{color:var(--blanc);background:rgba(243,238,232,.08)}
.nav a.cta{background:var(--blanc);color:var(--noir)}
.nav a.cta:hover{background:var(--jaune)}
.bar{position:fixed;left:0;top:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--violet),var(--rose));z-index:60}
@media (max-width:720px){.nav a:not(.cta):not(.keep){display:none}.logo span{display:none}}

/* ---------- scenes ---------- */
.scene{position:relative}
.stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.L{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);will-change:transform,opacity}
.full{position:absolute;inset:0}
.frame{position:absolute;left:50%;top:50%;overflow:hidden;background:#000;transform:translate(-50%,-50%);will-change:transform,width,height,opacity}
.frame video,.frame img{width:100%;height:100%;object-fit:cover}
.frame .poster{position:absolute;inset:0}
.shade{position:absolute;inset:0;background:#000;pointer-events:none}

.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gris)}
.giant{font-family:var(--display);font-weight:700;text-transform:uppercase;line-height:.84;letter-spacing:-.005em;margin:0;white-space:nowrap}
.big{font-family:var(--display);font-weight:700;text-transform:uppercase;line-height:.9;margin:0}
.lead{font-size:clamp(17px,1.5vw,22px);line-height:1.45;color:#ddd5e2;max-width:34ch;margin:0}
.foot{position:absolute;left:clamp(16px,3vw,36px);right:clamp(16px,3vw,36px);bottom:calc(18px + env(safe-area-inset-bottom,0px));font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--gris2);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.foot a{color:var(--gris)}

/* S1 */
#s1 .title{text-align:center;z-index:5;width:100%}
#s1 .title .giant{font-size:clamp(52px,16vw,300px);text-shadow:0 10px 60px rgba(0,0,0,.6)}
#s1 .sub{font-family:var(--display);font-size:clamp(26px,3.6vw,56px);text-transform:uppercase;margin-top:10px;letter-spacing:.01em}
#s1 .sub em{font-style:normal;color:var(--rose)}
#s1 .meta{position:absolute;left:50%;top:calc(18% + env(safe-area-inset-top,0px));transform:translateX(-50%);font-family:var(--mono);font-size:12px;letter-spacing:.34em;color:var(--gris);z-index:5;white-space:nowrap}
#s1 .hint{position:absolute;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);font-family:var(--mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gris);display:grid;justify-items:center;gap:10px;z-index:5}
#s1 .hint i{width:1px;height:38px;background:linear-gradient(var(--gris),transparent);animation:drip 2.2s ease-in-out infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.glow{position:absolute;inset:-20%;background:radial-gradient(40% 40% at 50% 60%,rgba(124,70,255,.35),transparent 70%),radial-gradient(30% 30% at 60% 40%,rgba(255,46,139,.22),transparent 70%);pointer-events:none}

/* S2 */
.bgblur{position:absolute;inset:-8%;background:center/cover;filter:blur(40px) saturate(1.3);opacity:.5}
.phrase{width:min(92vw,1300px);text-align:center}
.phrase .giant{font-size:clamp(54px,9vw,170px);white-space:normal;text-wrap:balance}
.phrase .giant b{color:var(--rose);font-weight:700}
.def{bottom:14%;top:auto;transform:translate(-50%,0);width:min(90vw,720px);text-align:center}
.def p{font-size:clamp(18px,1.8vw,26px);margin:0;color:var(--blanc)}

/* phone */
.phone{border-radius:44px;background:#0c0a10;padding:10px;box-shadow:0 40px 120px rgba(0,0,0,.8),0 0 0 1px rgba(243,238,232,.14),inset 0 0 0 2px #1d1a23}
.phone .scr{position:relative;width:100%;height:100%;border-radius:34px;overflow:hidden;background:#000}
.phone .scr video,.phone .scr img{width:100%;height:100%;object-fit:cover}
.phone .notch{position:absolute;left:50%;top:10px;transform:translateX(-50%);width:32%;height:22px;border-radius:20px;background:#000;z-index:3}
.ed-ui{position:absolute;inset:auto 0 0 0;padding:44px 14px 14px;background:linear-gradient(transparent,rgba(0,0,0,.78));font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;z-index:2}
.ed-ui b{display:block;font-family:var(--display);font-size:20px;letter-spacing:.02em}
.stat{text-align:left}
.stat .n{font-family:var(--display);font-weight:700;line-height:.8;letter-spacing:-.01em;font-size:clamp(84px,16vw,320px);color:var(--blanc);white-space:nowrap}
@media (max-width:760px){.stat .n{font-size:21vw}.stat{text-align:center}}
.stat .n.rose{color:var(--rose)}
.stat .n.turq{color:var(--turq)}
.stat .n.jaune{color:var(--jaune)}
.stat .l{font-family:var(--display);text-transform:uppercase;font-size:clamp(24px,2.6vw,42px);line-height:1}
.stat .p{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--gris);margin-top:8px;text-transform:uppercase}

/* S4 */
.rings{width:100vmax;height:100vmax}
.rings svg{width:100%;height:100%;overflow:visible}
.coord{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--turq);text-transform:uppercase;white-space:nowrap}
.aud{left:clamp(16px,7vw,110px);transform:translate(0,-50%);max-width:min(52vw,640px)}
.aud .big{font-size:clamp(64px,9vw,160px)}
.aud .pct{font-family:var(--display);font-size:clamp(110px,15vw,260px);line-height:.8}
.aud .pct.t{color:var(--turq)} .aud .pct.j{color:var(--jaune)}
.aud .cap{font-family:var(--display);text-transform:uppercase;font-size:clamp(24px,2.6vw,40px);line-height:1.02;max-width:16ch}
.aud .sm{font-family:var(--mono);font-size:11px;color:var(--gris);letter-spacing:.08em;text-transform:uppercase;margin-top:12px}

/* S5 feed */
.tile{position:absolute;left:50%;top:50%;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.6);will-change:transform,opacity}
.tile video,.tile img{width:100%;height:100%;object-fit:cover}
.tile .tag{position:absolute;left:12px;top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:rgba(7,5,11,.7);padding:4px 8px;border-radius:6px}
.playbtn{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;white-space:nowrap;background:var(--blanc);color:var(--noir);border:0;border-radius:99px;padding:10px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;z-index:3}
.playbtn:hover{background:var(--jaune)}
#s5 .stick::after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(transparent,rgba(7,5,11,.88));pointer-events:none;z-index:2}
.feedlabel{z-index:3;text-shadow:0 6px 40px rgba(0,0,0,.8);left:clamp(16px,4vw,60px);top:auto;bottom:12%;transform:none;font-family:var(--display);text-transform:uppercase;font-size:clamp(56px,8vw,140px);line-height:.85;pointer-events:none}
.feedlabel span{position:absolute;left:0;bottom:0;white-space:nowrap;opacity:0}
.feedlabel span:nth-child(1){color:var(--turq)}.feedlabel span:nth-child(2){color:var(--jaune)}.feedlabel span:nth-child(3){color:var(--rose)}.feedlabel span:nth-child(4){color:var(--violet)}

/* S6 */
.sig{width:min(92vw,1300px);text-align:center}
.sig .a{font-family:var(--display);text-transform:uppercase;font-size:clamp(34px,4.6vw,78px);line-height:.95;color:var(--gris)}
.sig .b{font-family:var(--display);text-transform:uppercase;font-size:clamp(64px,10.5vw,200px);line-height:.86;margin-top:.1em}
.sig .b em{font-style:normal;background:linear-gradient(90deg,var(--rose),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}

/* story ui */
.story-ui{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:0}
.story-ui .bars{position:absolute;left:10px;right:10px;top:10px;display:flex;gap:4px}
.story-ui .bars i{flex:1;height:2.5px;border-radius:3px;background:rgba(255,255,255,.35)}
.story-ui .bars i:first-child{background:#fff}
.story-ui .who{position:absolute;left:12px;top:22px;display:flex;align-items:center;gap:8px;font-family:var(--text);font-weight:700;font-size:12px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.story-ui .who img{width:24px;height:24px;border-radius:50%;background:#000}
.badge{position:absolute;z-index:4;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;border-radius:6px;background:var(--blanc);color:var(--noir)}
.stepcap{left:clamp(16px,5vw,80px);top:calc(11vh + 12px);transform:none;font-family:var(--display);text-transform:uppercase;font-size:clamp(34px,3.6vw,60px);line-height:.9;z-index:4}
.stepcap span{position:absolute;left:0;top:0;white-space:nowrap;opacity:0}
@media (max-width:760px){.stepcap{top:auto;bottom:10%;font-size:32px}.stepcap span{top:auto;bottom:0;white-space:normal;width:12ch}}

/* packs */
.pack-intro{width:92vw;text-align:center}
.pack-intro .giant{font-size:clamp(64px,11vw,210px);white-space:normal}
.sticker{position:absolute;z-index:5;display:flex;align-items:center;gap:6px;background:#fff;color:#111;border-radius:10px;padding:7px 10px;font-family:var(--text);font-weight:700;font-size:12px;box-shadow:0 6px 20px rgba(0,0,0,.35);white-space:nowrap}
.sticker svg{width:14px;height:14px}
.agenda{width:min(300px,62vw);padding:16px;border-radius:14px;background:rgba(243,238,232,.06);border:1px solid rgba(243,238,232,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.agenda .k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.agenda .t{font-family:var(--display);text-transform:uppercase;font-size:28px;line-height:1;margin:6px 0}
.agenda .row{display:flex;gap:10px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid rgba(243,238,232,.12);font-size:13px}
.agenda .row img{width:38px;height:52px;object-fit:cover;border-radius:4px}
.offer{left:auto;right:clamp(16px,6vw,110px);transform:translate(0,-50%);width:min(40vw,520px)}
.offer .pk{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.offer h3{font-family:var(--display);text-transform:uppercase;font-size:clamp(46px,5.4vw,96px);line-height:.88;margin:10px 0 12px}
.offer .price{font-family:var(--display);font-size:clamp(40px,4.4vw,74px);line-height:1;white-space:nowrap}
.offer .price small{font-size:.42em;letter-spacing:.06em;margin-left:6px}
.offer ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px;font-size:15px;color:#ddd5e2}
.offer li{display:grid;grid-template-columns:18px 1fr;gap:8px}
.offer li::before{content:"";width:8px;height:8px;margin-top:8px;border-radius:50%;background:var(--c)}
.offer{--c:var(--turq)} .offer.v{--c:var(--violet)} .offer.r{--c:var(--rose)}
.offer .pk{color:var(--c)} .offer .price{color:var(--c)}

/* 360 */
.orbitsvg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.node{position:absolute;left:50%;top:50%;display:grid;gap:4px;width:min(230px,26vw);transform:translate(-50%,-50%);opacity:.2}
.node .d{width:12px;height:12px;border-radius:50%;background:var(--gris2);box-shadow:0 0 0 4px rgba(255,255,255,.04)}
.node .s{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.node .n{font-family:var(--display);text-transform:uppercase;font-size:clamp(24px,2.3vw,36px);line-height:.95}
.node .x{font-size:13px;color:var(--gris);line-height:1.35}
.node.on .d{background:var(--rose);box-shadow:0 0 0 6px rgba(255,46,139,.2),0 0 24px var(--rose)}
.node.done .d{background:var(--blanc)}
.cstage{position:absolute;inset:0;opacity:0}
.bilan{position:absolute;inset:0;background:linear-gradient(160deg,#1a1024,#0a0710);padding:22px 18px;display:grid;align-content:start;gap:10px}
.bilan .t{font-family:var(--display);text-transform:uppercase;font-size:30px;line-height:.95}
.bilan dl{margin:6px 0 0;display:grid;gap:0}
.bilan dl div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(243,238,232,.12);font-size:13px}
.bilan dd{margin:0;font-family:var(--mono);color:var(--gris2)}
.ticket{position:absolute;inset:0;background:linear-gradient(160deg,#150e1f,#0a0710);display:grid;align-content:center;justify-items:center;gap:14px;padding:18px;text-align:center}
.ticket img{width:62%;border-radius:8px;box-shadow:0 20px 40px rgba(0,0,0,.6)}
.ticket .link{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px dashed rgba(243,238,232,.5);border-radius:8px;padding:8px 10px}
.method{position:absolute;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--gris2);white-space:nowrap}
@media (max-width:760px){.method{white-space:normal;width:90vw;text-align:center}}
.concl{left:clamp(16px,6vw,110px);transform:translate(0,-50%)}
.concl p{margin:0;font-family:var(--display);text-transform:uppercase;font-size:clamp(46px,7vw,128px);line-height:.9;opacity:0}
.concl p:nth-child(3){color:var(--rose)}

/* flow sections */
.flow{padding:clamp(80px,12vw,160px) clamp(16px,6vw,110px);position:relative}
.flow h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(48px,7vw,120px);line-height:.88;margin:0}
.opt{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center;max-width:1300px;margin:0 auto}
.opt .price{font-family:var(--display);font-size:clamp(40px,4.6vw,76px);color:var(--jaune);margin:14px 0}
.opt ul{margin:0;padding-left:18px;display:grid;gap:6px;color:#ddd5e2}
.opt .note{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--gris);margin-top:18px;text-transform:uppercase}
.vcard{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:9/16;max-height:78vh;margin-inline:auto;background:#000;box-shadow:0 40px 100px rgba(0,0,0,.6)}
.vcard img{width:100%;height:100%;object-fit:cover}
.cmp{max-width:1300px;margin:0 auto}
.cmp .wrap{overflow-x:auto;margin-top:36px;border-top:1px solid rgba(243,238,232,.14)}
.cmp table{width:100%;border-collapse:collapse;min-width:640px}
.cmp th,.cmp td{padding:14px 12px;border-bottom:1px solid rgba(243,238,232,.1);text-align:center;font-size:14px}
.cmp th:first-child,.cmp td:first-child{text-align:left;color:#ddd5e2}
.cmp thead th{font-family:var(--display);text-transform:uppercase;font-size:24px;line-height:1;font-weight:700;vertical-align:bottom}
.cmp thead th small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--gris);margin-bottom:6px}
.cmp .pr td{font-family:var(--display);font-size:26px}
.cmp .y{color:var(--rose);font-size:18px}
.cmp .no{color:var(--gris2)}
.c1{color:var(--turq)}.c2{color:var(--violet)}.c3{color:var(--rose)}

/* light portfolio */
.light{background:var(--blanc);color:#16111c}
.light .kicker{color:#6d6577}
.pf{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:48px}
.pf figure{margin:0;position:relative}
.pf .m{border-radius:16px;overflow:hidden;background:#000;position:relative}
.pf .m video,.pf .m img{width:100%;height:100%;object-fit:cover}
.pf figcaption{margin-top:10px;font-size:14px;line-height:1.4}
.pf figcaption b{display:block;font-family:var(--display);text-transform:uppercase;font-size:24px;line-height:1}
.pf figcaption span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:#6d6577;text-transform:uppercase}
.pf .a{grid-column:1/6}.pf .a .m{aspect-ratio:9/16}
.pf .b{grid-column:6/10;margin-top:18%}.pf .b .m{aspect-ratio:9/16}
.pf .c{grid-column:10/13}.pf .c .m{aspect-ratio:3/4}
.pf .d{grid-column:10/13;margin-top:-40%}.pf .d .m{aspect-ratio:1179/2047}
.pf .e{grid-column:1/13;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:10px}
.pf .e .m{aspect-ratio:9/16}
.caps{max-width:1300px;margin:64px auto 0}
.caps h3{font-family:var(--display);text-transform:uppercase;font-size:34px;margin:0}
.caps p{margin:6px 0 0;color:#4d4556;font-size:14px}
.caps .row{display:flex;gap:12px;overflow-x:auto;padding:18px 0 6px}
.caps button{flex:0 0 auto;width:120px;border:1px solid #d9d1dd;border-radius:12px;background:#fff;padding:6px;cursor:zoom-in;display:grid;gap:6px;text-align:left}
.caps button img{width:100%;aspect-ratio:9/19;object-fit:cover;object-position:top;border-radius:7px}
.caps button span{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;color:#4d4556;line-height:1.3}
@media (max-width:820px){
  .opt{grid-template-columns:1fr}
  .pf{grid-template-columns:1fr 1fr}
  .pf .a,.pf .b,.pf .c,.pf .d{grid-column:auto;margin-top:0}
  .pf .e{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:8px}
}

/* final */
.fin{width:92vw;text-align:center}
.fin p{margin:0;font-family:var(--display);text-transform:uppercase;font-size:clamp(46px,8vw,150px);line-height:.88;opacity:0}
.fin p:nth-child(3){color:var(--rose)}
.contact{transform:translate(-50%,0);width:min(92vw,900px);text-align:center;opacity:0}
.bigcta{display:inline-flex;align-items:center;gap:14px;font-family:var(--display);text-transform:uppercase;font-size:clamp(34px,4.6vw,72px);line-height:1;text-decoration:none;background:var(--blanc);color:var(--noir);padding:.3em .7em .34em;border-radius:99px}
.bigcta:hover{background:var(--jaune)}
.chans{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:26px;font-size:16px}
.chans div{display:grid;gap:2px;text-align:center}
.chans span{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.chans b,.chans a{font-weight:700;text-decoration:none;user-select:all}
.chans a:hover{color:var(--rose)}
.copy{margin-top:4px;justify-self:center;background:none;border:1px solid rgba(243,238,232,.35);border-radius:99px;padding:3px 10px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.pdf{display:inline-block;margin-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.site-foot{padding:26px clamp(16px,3vw,36px) calc(26px + env(safe-area-inset-bottom,0px));font-family:var(--mono);font-size:11px;color:var(--gris2);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid rgba(243,238,232,.08)}

/* modal */
.modal{position:fixed;inset:0;z-index:100;background:rgba(7,5,11,.92);display:grid;place-items:center;padding:20px}
.modal[hidden]{display:none}
.modal .box{position:relative;max-height:90vh;display:grid;gap:10px;justify-items:center}
.modal video,.modal img{max-height:82vh;max-width:92vw;border-radius:14px;background:#000}
.modal .close{position:absolute;top:-6px;right:-6px;transform:translate(50%,-50%);width:40px;height:40px;border-radius:50%;border:0;background:var(--blanc);color:var(--noir);font-size:20px;cursor:pointer}
.modal .cap{font-family:var(--mono);font-size:11px;color:var(--gris);letter-spacing:.06em;text-align:center;max-width:70ch}

/* static / reduced motion */
.static{display:none}
.rm .scene{display:none}
.rm .static{display:block}
.static section{padding:clamp(64px,10vw,120px) clamp(16px,6vw,110px);border-bottom:1px solid rgba(243,238,232,.08)}
.static h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(44px,7vw,110px);line-height:.9;margin:0 0 18px}
.static .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:24px}
.static .grid img{border-radius:14px;aspect-ratio:9/16;object-fit:cover;width:100%}
.static .k{font-family:var(--display);font-size:clamp(56px,8vw,120px);line-height:.85;color:var(--rose)}
.static p{max-width:60ch;color:#ddd5e2}
.static ul{color:#ddd5e2}

/* V2: accueil éditorial et offres à lecture directe. */
html{scroll-padding-top:90px} .nav a.keep{display:block}.nav{gap:2px}.nav a{padding:8px 12px}.foot,.method{color:#b7aebe}.foot{font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:99px;text-decoration:none;padding:14px 24px;font-weight:700;font-size:15px;line-height:1.3;min-height:48px}.primary{background:var(--blanc);color:var(--noir)}.primary:hover{background:var(--jaune)}.hero-cta{margin-top:12px;text-shadow:none}.intro,.offer-bridge{max-width:1300px;margin:auto}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:24px 60px;align-items:end}.intro .kicker{grid-column:1/-1}.intro h2,.offer-bridge h2,.method-intro h2,.contact-flow h2{font-size:clamp(48px,7vw,104px)}h1 em,h2 em{font-style:normal;color:var(--rose)}.audience-strip{max-width:1300px;margin:auto;padding:45px clamp(20px,6vw,90px);display:grid;grid-template-columns:1fr 1fr;gap:30px;border-block:1px solid #ffffff1a}.audience-strip strong{display:block;font:700 clamp(60px,8vw,104px)/1 var(--display);color:var(--turq)}.audience-strip div:nth-child(2) strong{color:var(--jaune)}.audience-strip span{display:block;max-width:28ch;margin-top:10px}.audience-strip p{grid-column:1/-1;color:var(--gris);font-size:12px;margin:0}.offer-bridge{text-align:center}.offer-bridge>p:not(.kicker),.contact-flow>p:not(.kicker){max-width:54ch;margin:24px auto;color:#c7becf}.price-note{display:block;color:var(--gris);font-size:13px;margin-top:14px}.source-section{padding:0 clamp(20px,6vw,90px) 60px;max-width:1300px;margin:auto}.source-section summary{cursor:pointer;color:var(--gris);padding:20px 0;border-top:1px solid #ffffff24}.source-section .caps{margin-top:24px}.source-section .caps p{color:var(--gris)}.contact-flow{background:radial-gradient(ellipse at 50% 100%,#32152e,transparent 70%);text-align:center;border-top:1px solid #ffffff1a}.contact-flow .chans{margin-top:35px}.offers-intro{max-width:1400px;margin:auto;padding:150px clamp(20px,6vw,90px) 40px}.offers-intro h1{font:700 clamp(52px,7.5vw,112px)/.94 var(--display);text-transform:uppercase;margin:18px 0}.offers-intro>p:last-child{max-width:58ch;color:#c7becf}.offer-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0 clamp(20px,6vw,90px) 80px;max-width:1400px;margin:auto}.offer-overview>a{padding:26px 24px;border:1px solid #ffffff24;text-decoration:none;background:#ffffff03}.offer-overview>a:hover{background:#ffffff09}.offer-overview span{font:12px var(--mono);text-transform:uppercase;display:block}.offer-overview strong{display:block;font:700 clamp(36px,4vw,58px) var(--display);color:var(--turq);margin-top:14px}.offer-overview a:nth-child(2) strong{color:#ae8aff}.offer-overview a:nth-child(3) strong{color:var(--rose)}.offer-overview small{font-size:.42em}.offer-overview p{font-size:14px;color:var(--gris)}.offer-overview b{font-size:13px}.offers-list{max-width:1400px;padding:0 clamp(20px,6vw,90px);margin:auto}.offer-row{display:grid;grid-template-columns: minmax(0,.85fr) minmax(0,1.2fr);gap:clamp(28px,7vw,110px);align-items:center;padding:75px 0;border-top:1px solid #ffffff24;scroll-margin-top:20px}.offer-visual{position:relative;max-width:310px;width:100%;margin:auto;aspect-ratio:9/14;overflow:hidden;border-radius:20px;background:#141018}.offer-visual video{width:100%;height:100%;object-fit:cover}.offer-visual span{position:absolute;bottom:0;left:0;right:0;padding:50px 16px 16px;background:linear-gradient(transparent,#000c);font:11px var(--mono)}.offer-copy h2{font:700 clamp(42px,5vw,78px)/.95 var(--display);text-transform:uppercase;margin:10px 0}.offer-goal{color:var(--gris)}.offer-price{font:700 54px/1 var(--display);color:var(--turq);margin:24px 0}.offer-price small{font-size:20px}#pack-2 .offer-price{color:#ae8aff}#pack-3 .offer-price{color:var(--rose)}.offer-copy ul{padding-left:20px;display:grid;gap:9px;color:#ddd5e2;margin:24px 0 30px}.method-intro{padding-bottom:30px}.method-intro>p:not(.kicker){color:var(--gris);max-width:50ch}.text-link{display:inline-block;margin-top:12px}.static section:first-child{padding-top:130px}.rm .hint{animation:none} .phone .scr video,.phone .scr img{object-fit:contain}.feedlabel{font-size:clamp(42px,7vw,110px)}
@media(max-width:760px){.hd{gap:8px;padding-inline:12px}.logo{padding-right:5px}.nav a{font-size:10px;padding:8px 10px}.intro{grid-template-columns:1fr;gap:22px}.intro .lead{max-width:100%}.offer-overview{grid-template-columns:1fr;padding-bottom:35px}.offer-overview>a{padding:20px}.offer-overview strong{font-size:42px;margin-top:8px}.offer-overview p{margin:6px 0}.offer-row{grid-template-columns:1fr;padding:48px 0;gap:24px}.offer-visual{max-width:none;aspect-ratio:16/9;max-height:250px}.offer-visual video{object-position:center 40%}.offer-copy h2{font-size:48px}.offers-intro{padding-top:110px}.audience-strip{gap:22px}.audience-strip strong{font-size:64px}.audience-strip span{font-size:14px}.contact-flow .chans a{font-size:14px;overflow-wrap:anywhere}.hero-cta{font-size:13px;padding:12px 20px}.feedlabel{font-size:clamp(36px,8vw,58px)}.foot{font-size:10px;gap:4px}.source-section .caps h3{font-size:27px}}

@media(max-width:440px){.offers-intro h1{font-size:44px}.offers-intro h1 em{overflow-wrap:break-word}}

/* Offres cumulatives — septembre 2026 */
.phone .scr .instagram-profile{width:100%;height:100%;object-fit:contain;background:white}.phone:has(.instagram-profile){padding:7px}.phone .scr:has(.instagram-profile){background:white}
.included{border-left:3px solid var(--turq);padding:12px 16px;background:#20c9c70d;color:var(--blanc);font-weight:700;line-height:1.5}.commercial-note{color:var(--gris);font-size:14px;max-width:55ch}.creative{border-block:1px solid #ffffff22;max-width:1400px;margin:auto}.creative-lead{max-width:62ch;color:#c7becf;margin:25px 0 40px}.creative-services{display:grid;grid-template-columns:1fr 1fr;gap:40px}.creative-services h3{font:700 clamp(30px,3vw,46px)/1 var(--display);text-transform:uppercase;margin:0}.creative-services article{border-top:1px solid #ffffff33;padding-top:25px}.creative-price{font:700 48px/1 var(--display);color:var(--jaune);margin:22px 0}.creative-price small{font-size:20px}.creation-policy{margin:36px 0;padding:24px;background:#ffffff06;border-left:3px solid var(--jaune)}.creation-policy p{color:#c7becf;max-width:80ch}.creation-policy a{font-size:14px}.poster-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:760px;margin:40px auto}.poster-gallery figure{margin:0;min-width:0}.poster-gallery video{width:100%;aspect-ratio:9/16;object-fit:contain;background:#000;border-radius:16px}.poster-gallery figcaption{font-size:13px;color:var(--gris);margin-top:12px}.creative>.button{margin-top:10px}
@media(max-width:600px){.creative-services{grid-template-columns:1fr;gap:28px}.poster-gallery{gap:15px}.poster-gallery figcaption{font-size:12px}.creation-policy{padding:18px}}

.story-offer{border-top:1px solid #ffffff22;max-width:1400px;margin:auto}.story-offer-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}.story-offer ul{padding-left:20px;display:grid;gap:10px;color:#ddd5e2}.story-offer .button{margin-top:20px}.story-proof{text-align:center;padding:45px 20px;background:radial-gradient(ellipse,#3a163e66,transparent 70%)}.story-proof-number{display:block;font:700 clamp(140px,20vw,290px)/.9 var(--display);color:var(--rose);letter-spacing:-.04em;transition:transform .85s cubic-bezier(.2,.8,.2,1)}.story-proof:not(.revealed) .story-proof-number{transform:scale(.84)}.story-proof-label{font:700 clamp(24px,3vw,40px)/1.1 var(--display);text-transform:uppercase;margin:20px 0 8px}.story-proof-total{color:var(--gris);margin:0}.story-proof-bar{height:4px;background:#ffffff19;margin:28px auto;max-width:280px;overflow:hidden}.story-proof-bar span{display:block;width:93%;height:100%;background:var(--rose);transform-origin:left;transform:scaleX(0);transition:transform 1s ease}.story-proof.revealed .story-proof-bar span{transform:scaleX(1)}.story-proof .commercial-note{margin-inline:auto}@media(max-width:760px){.story-offer-grid{grid-template-columns:1fr}.story-proof{padding:30px 12px}.story-proof-number{font-size:160px}}@media(prefers-reduced-motion:reduce){.story-proof-number,.story-proof-bar span{transition:none!important;transform:none!important}}

/* Tulum: announcement, participation, then the actual poll result. */
.tulum-showcase{min-width:0}
.tulum-stories{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:490px;margin:0 auto}
.tulum-stories figure{margin:0;min-width:0}
.tulum-stories video{display:block;width:100%;aspect-ratio:9/16;object-fit:contain;border-radius:18px;background:#0b080d;border:1px solid #ffffff22}
.tulum-stories figcaption{color:var(--gris);font-size:12px;text-align:center;margin-top:12px}
.tulum-showcase .story-proof{padding:35px 10px 10px}
.tulum-showcase .story-proof-number{font-size:clamp(130px,14vw,210px)}
.tulum-showcase .story-proof-label{font-size:clamp(22px,2.5vw,32px)}
.story-offer-grid{align-items:start}
@media(max-width:760px){.tulum-stories{gap:10px;max-width:420px}.tulum-stories video{border-radius:12px}}


/* Affiche animée : offre à gauche, exemples à droite sur ordinateur. */
#creation .poster-gallery{margin:0;width:100%;gap:16px;align-self:center}
#creation .poster-gallery figcaption{line-height:1.5}
#creation .commercial-note a{color:var(--gris);text-underline-offset:4px}
@media(max-width:760px){#creation .poster-gallery{max-width:490px;margin:0 auto;gap:12px}}

#creation .poster-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#creation .poster-gallery video{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;object-position:center}

/* Les offres à la carte restent visibles juste après les trois packs. */
.offer-overview{padding-bottom:32px}
.extras-overview{max-width:1400px;margin:auto;padding:0 clamp(20px,6vw,90px) 80px}
.extras-overview>h2{font:700 30px/1.1 var(--display);text-transform:uppercase;margin:0 0 20px}
.extras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.extra-card{--accent:#ec4899;display:flex;flex-direction:column;padding:28px 24px;border:1px solid #ffffff28;border-top:3px solid var(--accent);border-radius:16px;background:linear-gradient(145deg,#24131f,#110e17);text-decoration:none;transition:transform .2s,border-color .2s}
.extra-story{--accent:#51c8c8;background:linear-gradient(145deg,#102527,#110e17)}
.extra-partner{--accent:#487bd9;background:linear-gradient(145deg,#14203a,#110e17)}
.extra-kind{font:11px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
.extra-card h3{font:700 clamp(26px,2.5vw,38px)/1.05 var(--display);text-transform:uppercase;margin:18px 0}
.extra-card strong{font:700 42px/1 var(--display);color:var(--accent)}
.extra-card small{font-size:18px}
.extra-card p{color:var(--gris);font-size:14px;line-height:1.6;margin:20px 0 24px}
.extra-card b{margin-top:auto;font-size:13px}
.extra-card:hover,.extra-card:focus-visible{border-color:var(--accent);transform:translateY(-3px)}
@media(max-width:760px){.extras-grid{grid-template-columns:1fr}.extras-overview{padding-bottom:45px}.extra-card{padding:24px}.extra-card h3{font-size:32px}.extra-card p{margin:16px 0 20px}}
@media(prefers-reduced-motion:reduce){.extra-card{transition:none}.extra-card:hover,.extra-card:focus-visible{transform:none}}

/* Hiérarchie : les packs principaux portent l’accent visuel. */
.offer-overview{gap:16px}
.offer-overview>a{--pack-accent:var(--turq);padding:32px 26px;border:1px solid #51c8c855;border-top:4px solid var(--pack-accent);border-radius:18px;background:linear-gradient(145deg,#15383a,#110e17);display:flex;flex-direction:column}
.offer-overview>a:nth-child(2){--pack-accent:#ae8aff;border-color:#ae8aff55;border-top-color:var(--pack-accent);background:linear-gradient(145deg,#302048,#110e17)}
.offer-overview>a:nth-child(3){--pack-accent:var(--rose);border-color:#ec489955;border-top-color:var(--pack-accent);background:linear-gradient(145deg,#42182e,#110e17)}
.offer-overview span{font:700 clamp(24px,2.5vw,36px)/1.1 var(--display)}
.offer-overview strong{font-size:clamp(48px,4.6vw,66px);margin-top:24px}
.offer-overview p{line-height:1.6;margin:20px 0 28px}
.offer-overview b{margin-top:auto;color:var(--pack-accent)}
.offer-overview>a:hover{border-color:var(--pack-accent);background-color:#ffffff08}
.extras-overview>h2{font-size:24px;color:var(--gris)}
.extra-card,.extra-story,.extra-partner{background:#ffffff03;border:1px solid #ffffff24;border-radius:12px;padding:22px}
.extra-card h3{font-size:clamp(24px,2vw,30px);margin:12px 0}
.extra-card strong{font-size:34px;color:var(--blanc)}
.extra-card small{font-size:15px}
.extra-card p{font-size:13px;margin:14px 0 18px}
.extra-kind{color:var(--gris);font-size:10px}
@media(max-width:760px){.offer-overview>a{padding:26px}.offer-overview span{font-size:30px}.offer-overview strong{font-size:52px}.offer-overview p{margin:16px 0 22px}}

/* Essai lumière : prune et halos rose / bleu. */
:root{--noir:#24172f;--noir2:#302039;--gris:#c6bacc;--gris2:#a697af}
body{background-color:#24172f;background-image:radial-gradient(ellipse at 0% 12%,#74335466,transparent 58%),radial-gradient(ellipse at 100% 65%,#34568c66,transparent 62%);background-attachment:fixed;background-size:100vw 100vh}
.logo,.nav{background:rgba(43,28,55,.82);border-color:#ffffff24}
.extra-card,.extra-story,.extra-partner{background:#ffffff05;border-color:#ffffff30}
.offer-overview>a{background:linear-gradient(145deg,#285356,#2a2039)}
.offer-overview>a:nth-child(2){background:linear-gradient(145deg,#513567,#2a2039)}
.offer-overview>a:nth-child(3){background:linear-gradient(145deg,#68314f,#2a2039)}

/* L’affiche du pack 1 définit son cadre, sans bandes ni voile noir. */
#pack-1 .offer-visual{aspect-ratio:auto;max-width:310px;max-height:none;background:transparent}
#pack-1 .offer-visual img{width:100%;height:auto!important;object-fit:contain}
#pack-1 .offer-visual span{display:none}

/* Mobile : fond stable, sans background-attachment fixed ni motif répété. */
@media(max-width:760px){
 html{background:#2b2035}
 body{background:#2b2035;background-attachment:scroll;background-size:auto;background-repeat:no-repeat}
 #s1 .glow{opacity:.25}
 .offers-intro{background:radial-gradient(ellipse at 15% 0%,rgba(160,79,127,.12),transparent 75%)}
 #s5 .stick::after{background:linear-gradient(transparent,#2b2035)}
 .contact-flow{background:rgba(113,64,108,.08)}
 .story-proof{background:radial-gradient(ellipse,rgba(139,72,122,.1),transparent 70%)}
 .logo,.nav{background:rgba(43,32,53,.94)}
 .offer-overview>a{background:#293e43}
 .offer-overview>a:nth-child(2){background:#3c2d4c}
 .offer-overview>a:nth-child(3){background:#493040}
}

/* Échelle typographique commune aux pages mobiles. */
@media(max-width:760px){
 body{font-size:15px;line-height:1.65;-webkit-text-size-adjust:100%}
 .flow{padding-inline:24px}
 .kicker{font-size:10px;line-height:1.6;letter-spacing:.14em;margin:0 0 16px}
 .offers-intro h1{font-size:clamp(38px,10.5vw,52px);line-height:1.04;letter-spacing:0;text-wrap:balance;margin:16px 0 24px}
 .flow h2,.offer-copy h2,.intro h2,.offer-bridge h2,.method-intro h2,.contact-flow h2{font-size:clamp(34px,10vw,46px);line-height:1.04;letter-spacing:0;text-wrap:balance}
 .offer-goal,.lead,.offers-intro>p,.creative-lead,.contact-flow>p,.offer-bridge>p{font-size:15px;line-height:1.65}
 .offer-price,.creative-price{font-size:44px;line-height:1.1;margin:22px 0}
 .offer-price small,.creative-price small{font-size:17px}
 .offer-copy ul,.story-offer ul{font-size:15px;line-height:1.65;gap:10px;margin:22px 0;padding-left:19px}
 .included{font-size:14px;line-height:1.6;padding:14px 16px;margin:22px 0}
 .commercial-note{font-size:13px;line-height:1.65}
 .offer-overview span{font-size:27px;line-height:1.15}
 .offer-overview strong{font-size:46px;line-height:1.1}
 .extra-card h3{font-size:27px;line-height:1.15}
 .offer-overview p,.extra-card p{font-size:14px;line-height:1.6}
 .button{font-size:14px;line-height:1.4;padding:14px 22px;text-align:center}
 #s1 .sub{font-size:clamp(22px,6vw,28px);line-height:1.15;padding-inline:16px;text-wrap:balance}
 #s1 .meta{font-size:10px;letter-spacing:.2em}
 #s1 .hint{font-size:10px;letter-spacing:.18em;white-space:nowrap}
 .poster-gallery figcaption,.tulum-stories figcaption{font-size:12px;line-height:1.5}
 .contact-flow .chans a{font-size:13px;line-height:1.6}
}

@media(max-width:760px){.offers-intro>.kicker,.flow>.kicker{font-size:10px;line-height:1.6;letter-spacing:.14em}}
