/* Layout : une colonne de lecture sombre, bandeaux plein écran, légendes jaunes façon BD. */
:root{
  --ink:#16120F; --ink2:#1F1915; --paper:#F4EBD6; --paper2:#E7DBBF;
  --gold:#E3B84F; --gold-d:#B8892B; --burg:#7E1A2B; --yel:#F5D76E;
  --mut:#B9AE98; --line:#3A3028;
  --f-d:'Playfair Display',Georgia,serif; --f-b:'Poppins',system-ui,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font:400 16px/1.65 var(--f-b);
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
img{display:block;max-width:100%}
a{color:var(--gold)}
h1,h2,h3{font-family:var(--f-d);font-weight:800;line-height:1.1;margin:0;text-wrap:balance}
p{margin:0 0 1em}
.wrap{max-width:1080px;margin:0 auto}
.narrow{max-width:700px;margin:0 auto}
.lab{font:600 12px/1 var(--f-b);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.btn{display:inline-block;background:var(--gold);color:var(--ink);font:700 15px/1 var(--f-b);letter-spacing:.04em;
  padding:17px 28px;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--burg);text-decoration:none;cursor:pointer;
  transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--burg)}
.btn:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--yel);outline-offset:3px}
.btn.ghost{background:transparent;color:var(--paper);border-color:var(--paper);box-shadow:none}
.btn.ghost:hover{background:var(--paper);color:var(--ink)}
.btn[aria-disabled=true]{opacity:.6}

/* Nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(22,18,15,.94);backdrop-filter:blur(8px);
  margin:0 calc(-1*max(16px,env(safe-area-inset-left,0px)));padding:0 max(16px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}
.logo{font:800 19px/1 var(--f-d);color:var(--paper);text-decoration:none;letter-spacing:.02em}
.logo b{color:var(--gold)}
.nav nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.nav nav a{font:500 13px/1 var(--f-b);color:var(--paper);text-decoration:none;letter-spacing:.06em}
.nav nav a:hover{color:var(--gold)}
.nav nav .cta{background:var(--gold);color:var(--ink);padding:10px 16px;font-weight:700}
@media(max-width:640px){.nav nav a:not(.cta){display:none}}

/* Hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-block:56px 72px}
.hero h1{font-size:clamp(40px,6.4vw,78px);letter-spacing:-.01em}
.hero h1 em{color:var(--gold);font-style:italic;font-weight:700}
.hero .lead{font-size:18px;color:var(--paper2);max-width:34em;margin:22px 0 28px}
.hero-img{position:relative}
.hero-img img{width:100%;border:3px solid var(--paper);box-shadow:10px 10px 0 var(--burg);aspect-ratio:4/5;object-fit:cover}
.cap{position:absolute;left:-14px;bottom:26px;background:var(--yel);color:var(--ink);font:700 13px/1.3 var(--f-b);
  padding:10px 14px;border:2px solid var(--ink);max-width:78%;box-shadow:3px 3px 0 var(--ink)}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:26px;color:var(--mut);font-size:13px}
.hero-meta span::before{content:"◆ ";color:var(--gold)}
@media(max-width:860px){.hero{grid-template-columns:1fr;gap:36px;padding-block:36px 56px}.hero-img{max-width:440px}.cap{left:8px}}

/* Capture */
.capture{background:var(--paper);color:var(--ink);margin:0 calc(-1*max(16px,env(safe-area-inset-left,0px)));
  padding:56px max(16px,env(safe-area-inset-left,0px));border-block:4px solid var(--ink);position:relative}
.capture::before{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(22,18,15,.12) 1px,transparent 1.5px) 0 0/9px 9px;opacity:.5;pointer-events:none}
.capture .wrap{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:center}
.capture h2{font-size:clamp(30px,4.2vw,48px)}
.capture .lab{color:var(--burg)}
.capture p.sub{color:#4a3f33;margin-top:14px}
.form{display:grid;gap:14px}
.form input[type=email]{width:100%;font:500 17px var(--f-b);padding:17px 16px;border:2px solid var(--ink);background:#fff;color:var(--ink);border-radius:0}
.form .btn{width:100%;text-align:center;background:var(--burg);color:var(--paper);box-shadow:5px 5px 0 var(--ink)}
.consent{display:flex;gap:10px;font-size:12.5px;line-height:1.5;color:#4a3f33}
.consent input{margin-top:3px;width:18px;height:18px;accent-color:var(--burg);flex:none}
.consent a{color:var(--burg)}
.ok{display:none;background:var(--ink);color:var(--paper);padding:22px;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--burg)}
.ok.show{display:block}
.ok h3{font-size:24px;color:var(--gold);margin-bottom:8px}
.err{color:var(--burg);font-weight:600;font-size:14px;min-height:1.2em}
.demo{font-size:12px;color:#6a5d4d;font-style:italic}
@media(max-width:860px){.capture .wrap{grid-template-columns:1fr;gap:28px}}

/* Sections */
section.s{padding-block:84px}
.sh{max-width:720px;margin-bottom:44px}
.sh h2{font-size:clamp(32px,4.6vw,54px);margin-top:14px}
.sh p{color:var(--paper2);font-size:17px;margin-top:16px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{border:1px solid var(--line);background:var(--ink2);padding:26px}
.step h3{font-size:22px;margin:14px 0 8px}
.step p{color:var(--mut);font-size:15px;margin:0}
.step .n{font:800 15px var(--f-d);color:var(--ink);background:var(--gold);display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%}
@media(max-width:860px){.steps{grid-template-columns:1fr}}

.modes{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.mode{border:2px solid var(--paper);padding:30px;background:var(--ink2);position:relative}
.mode.b{border-color:var(--gold)}
.mode h3{font-size:28px;margin:12px 0}
.mode ul,.inc ul{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}
.mode li,.inc li,.plan li{padding-left:22px;position:relative;font-size:15px;color:var(--paper2)}
.mode li::before,.inc li::before,.plan li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700}
@media(max-width:760px){.modes{grid-template-columns:1fr}}

.tones{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.tone{padding:26px 28px;border-left:4px solid var(--gold);background:var(--ink2)}
.tone.h{border-color:var(--burg)}
.tone h3{font-size:22px;margin-bottom:8px}
.tone p{margin:0;color:var(--mut);font-size:15px}
@media(max-width:760px){.tones{grid-template-columns:1fr}}

/* Aperçus */
.pages{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start}
.pg{margin:0}
.pg img{width:100%;border:3px solid var(--paper);box-shadow:8px 8px 0 var(--burg);background:#fff}
.pg figcaption{margin-top:20px;font-size:14px;color:var(--mut)}
.pg figcaption b{display:block;color:var(--paper);font:700 17px var(--f-d);margin-bottom:4px}
@media(max-width:760px){.pages{grid-template-columns:1fr;max-width:360px;margin:0 auto}}

.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:54px}
.strip img{width:100%;aspect-ratio:3/4;object-fit:cover;border:2px solid var(--paper)}
@media(max-width:760px){.strip{grid-template-columns:repeat(2,1fr)}}

/* Tarifs */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.plan{border:2px solid var(--line);background:var(--ink2);padding:28px 22px;display:flex;flex-direction:column;gap:14px;position:relative;min-width:0}
.plan.hot{border-color:var(--gold);background:#241d16}
.plan .tag{position:absolute;top:-13px;left:18px;background:var(--yel);color:var(--ink);font:700 11px/1 var(--f-b);letter-spacing:.12em;text-transform:uppercase;padding:7px 10px}
.plan h3{font-size:22px}
.price{font:800 44px/1 var(--f-d);color:var(--gold);font-variant-numeric:tabular-nums}
.price small{font:500 14px var(--f-b);color:var(--mut)}
.billing{font-size:13px;color:var(--mut);min-height:2.6em}
.save{display:inline-block;font:700 12px var(--f-b);background:var(--burg);color:var(--paper);padding:5px 9px;align-self:flex-start}
.plan ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;flex:1}
.plan .btn{text-align:center;width:100%;padding:15px 12px}
@media(max-width:860px){.plans{grid-template-columns:1fr;max-width:460px}}
@media(max-width:560px){.plans{grid-template-columns:1fr}}
.notes{margin-top:34px;font-size:13px;color:var(--mut);display:grid;gap:6px}
.inc{margin-top:54px;border:1px solid var(--line);padding:32px;background:var(--ink2)}
.inc h3{font-size:26px}
.inc ul{grid-template-columns:1fr 1fr;gap:10px 30px}
@media(max-width:700px){.inc ul{grid-template-columns:1fr}}

details{border-bottom:1px solid var(--line);padding:20px 0}
summary{cursor:pointer;font:700 18px var(--f-d);list-style:none;display:flex;justify-content:space-between;gap:20px}
summary::after{content:"+";color:var(--gold);font-size:24px;line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--mut);margin:14px 0 0;max-width:42em}

footer{border-top:1px solid var(--line);padding-block:44px;margin-top:40px;color:var(--mut);font-size:13px}
footer .wrap{display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between}
footer a{color:var(--paper2)}
.fl{display:flex;gap:22px;flex-wrap:wrap}

/* Page hero secondaire + CGV */
.phead{padding-block:64px 36px}
.phead h1{font-size:clamp(36px,5.5vw,64px);margin-top:14px}
.phead p{color:var(--paper2);font-size:18px;max-width:36em;margin-top:18px}
.legal{padding-block:20px 80px}
.legal h2{font-size:26px;margin:44px 0 14px;color:var(--gold)}
.legal p,.legal li{color:var(--paper2);font-size:15.5px}
.legal ul{padding-left:20px}
.todo{background:var(--yel);color:var(--ink);padding:14px 16px;font-size:14px;font-weight:600;border:2px solid var(--ink);margin-bottom:30px}
.ph{background:var(--yel);color:var(--ink);padding:0 4px;font-weight:600}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

.ctas{display:flex;flex-wrap:wrap;gap:16px}
.subband{margin:0 calc(-1*max(16px,env(safe-area-inset-left,0px)));padding:28px max(16px,env(safe-area-inset-left,0px));background:var(--burg);border-block:2px solid var(--ink)}
.subband .wrap{display:flex;flex-wrap:wrap;gap:18px 40px;align-items:center;justify-content:space-between}
.subband p{margin:8px 0 0;font-size:17px;max-width:38em}
.subband .lab{color:var(--yel)}

/* Interactivité */
.prog{position:fixed;top:env(safe-area-inset-top,0px);left:0;height:3px;width:0;background:var(--gold);z-index:30}
.rv{transform:translateY(22px);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{transform:none}
.step,.mode,.tone,.plan,.sthumb img,.pthumb img{transition:transform .25s,border-color .25s,box-shadow .25s}
.step:hover,.mode:hover{transform:translateY(-5px);border-color:var(--gold)}
.hero-img img{transition:transform .5s}.hero-img:hover img{transform:rotate(-1deg) scale(1.015)}
.pscroll{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 6px 26px;margin:0 -6px}
.pthumb{flex:0 0 min(270px,70vw);scroll-snap-align:start;background:none;border:0;color:inherit;text-align:left;cursor:zoom-in;font:inherit;padding:0}
.pthumb img{width:100%;border:3px solid var(--paper);box-shadow:8px 8px 0 var(--burg);background:#fff}
.pthumb:hover img{transform:translate(-3px,-3px);box-shadow:11px 11px 0 var(--burg)}
.pthumb span{display:block;margin-top:18px;font-size:13.5px;color:var(--mut)}
.pthumb b{display:block;color:var(--paper);font:700 17px var(--f-d);margin-bottom:3px}
.hint{font-size:13px;color:var(--mut);margin:0}
.sthumb{padding:0;border:0;background:none;cursor:zoom-in;display:block;overflow:hidden;border:2px solid var(--paper)}
.sthumb img{width:100%;aspect-ratio:3/4;object-fit:cover;border:0}
.sthumb:hover img{transform:scale(1.07)}
.strip{margin-top:40px}
button:focus-visible{outline:3px solid var(--yel);outline-offset:3px}
/* Lightbox */
.lb{position:fixed;inset:0;z-index:60;background:rgba(10,8,6,.94);display:grid;place-items:center;padding:56px 70px}
.lb[hidden]{display:none}
.lb figure{margin:0;display:grid;gap:14px;justify-items:center;max-height:100%}
.lb img{max-height:calc(100vh - 190px);max-width:100%;object-fit:contain;border:3px solid var(--paper);background:#fff}
.lb figcaption{color:var(--paper2);font-size:15px;text-align:center;max-width:46em}
.lbx,.lbn{position:absolute;background:rgba(244,235,214,.12);border:1px solid var(--paper);color:var(--paper);cursor:pointer;font:400 34px/1 var(--f-b);width:52px;height:52px;border-radius:50%}
.lbx{top:max(14px,env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px))}
.lbn{top:50%;transform:translateY(-50%)}.prev{left:max(10px,env(safe-area-inset-left,0px))}.next{right:max(10px,env(safe-area-inset-right,0px))}
.lbx:hover,.lbn:hover{background:var(--gold);color:var(--ink)}
@media(max-width:640px){.lb{padding:70px 12px 90px}.lbn{top:auto;bottom:max(18px,env(safe-area-inset-bottom,0px));transform:none}.prev{left:30%}.next{right:30%}}
/* Joueurs */
.pick{display:flex;gap:10px;flex-wrap:wrap}
.pick button{width:64px;height:64px;font:800 28px var(--f-d);background:var(--ink2);color:var(--paper);border:2px solid var(--line);cursor:pointer;transition:all .2s}
.pick button:hover{border-color:var(--gold)}
.pick button.on{background:var(--gold);color:var(--ink);border-color:var(--ink);box-shadow:5px 5px 0 var(--burg)}
.pres{margin-top:26px;border:2px solid var(--gold);background:var(--ink2);padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:20px 36px;max-width:860px}
.pres h3{grid-column:1/-1;font-size:30px}.pres h3 em{font-size:.6em}
.pres div b{display:block;font:600 12px var(--f-b);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.pres div{font-size:15.5px;color:var(--paper2)}
@media(max-width:640px){.pres{grid-template-columns:1fr;padding:22px}}
/* Suspects */
.sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sbtn{background:var(--ink2);border:2px solid var(--line);color:var(--paper);padding:20px 12px;text-align:center;cursor:pointer;font:inherit;display:grid;gap:10px;justify-items:center;transition:all .2s}
.sbtn:hover{transform:translateY(-4px);border-color:var(--gold)}
.sbtn.on{border-color:var(--gold);background:#2a2118;box-shadow:5px 5px 0 var(--burg)}
.mono{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font:700 24px var(--f-d);color:var(--paper);border:3px solid var(--paper)}
.sbtn b{font:700 15px/1.2 var(--f-d)}.sbtn small{font-size:12px;color:var(--mut);line-height:1.3}
.spanel{margin-top:20px;border-left:5px solid var(--gold);background:var(--ink2);padding:26px 30px;min-height:132px}
.spanel h3{font-size:28px;margin-bottom:4px}.spanel .meta{font-size:13px;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.spanel p{color:var(--paper2);margin:0;max-width:48em}.spanel .lock{margin-top:14px;color:var(--mut);font-size:13.5px}
@media(max-width:860px){.sgrid{grid-template-columns:repeat(2,1fr)}}
/* Barre mobile */
.sbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;gap:10px;padding:10px max(16px,env(safe-area-inset-left,0px)) calc(10px + env(safe-area-inset-bottom,0px));background:rgba(22,18,15,.96);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .3s}
.sbar.show{transform:none}.sbar .btn{flex:1;text-align:center;padding:14px 8px;font-size:14px;box-shadow:3px 3px 0 var(--burg)}
@media(max-width:640px){.sbar{display:flex}}
@media(prefers-reduced-motion:reduce){.rv{transform:none;transition:none}.step:hover,.mode:hover,.sbtn:hover{transform:none}}
/* Page abonnement : bascule de prix */
.tog{display:inline-flex;border:2px solid var(--gold);margin-bottom:28px}
.tog button{background:none;border:0;color:var(--paper);font:600 14px var(--f-b);padding:13px 20px;cursor:pointer}
.tog button.on{background:var(--gold);color:var(--ink)}
.plan:hover{transform:translateY(-6px);border-color:var(--gold)}

/* Carrousel */
.car{position:relative;display:flex;align-items:center;gap:14px;max-width:760px;margin:0 auto}
.cview{overflow:hidden;flex:1;min-width:0}
.ctrack{display:flex;transition:transform .45s cubic-bezier(.2,.7,.2,1);will-change:transform}
.slide{flex:0 0 100%;min-width:0;display:flex;justify-content:center}
.zoom{position:relative;display:block;padding:0;margin:0;border:0;background:none;cursor:zoom-in;max-width:100%}
.zoom img{display:block;height:min(62vh,600px);width:auto;max-width:100%;object-fit:contain;border:3px solid var(--paper);box-shadow:8px 8px 0 var(--burg);background:#fff}
.zi{position:absolute;right:14px;bottom:14px;background:var(--yel);color:var(--ink);font:700 12px var(--f-b);padding:7px 10px;border:2px solid var(--ink)}
.cn{flex:none;width:52px;height:52px;border-radius:50%;background:var(--ink2);color:var(--paper);border:2px solid var(--gold);font:400 32px/1 var(--f-b);cursor:pointer}
.cn:hover{background:var(--gold);color:var(--ink)}
.ccap{text-align:center;margin:26px auto 0;max-width:34em;color:var(--paper2);font-size:15px;min-height:3em}
.dots{display:flex;justify-content:center;gap:10px;margin:14px 0 6px}
.dots button{width:12px;height:12px;border-radius:50%;border:2px solid var(--gold);background:none;padding:0;cursor:pointer}
.dots button.on{background:var(--gold)}
.hint{text-align:center}
@media(max-width:560px){.car{gap:6px}.cn{width:40px;height:40px;font-size:26px}.zoom img{height:min(56vh,480px)}}
.cview{padding:6px 16px 16px 6px}
