@charset "UTF-8";
:root{--ink:#1d0d26;--purple:#b372dc;--gold:#ffc45e;--paper:#f5e8cd;--muted:#ccbcd1;--dark-text:#302036}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}figure{margin:0}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;min-height:112px;border-bottom:1px solid #ffffff16}.logo{width:176px;height:auto}.header nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600}.header nav a{text-decoration:none}.header nav a:hover{color:var(--gold)}.nav-cta{border:1px solid #d5bdd84d;border-radius:4px;padding:10px 19px}.nav-cta span{padding-left:18px}.hero{display:grid;grid-template-columns:1fr 1.04fr;gap:25px;align-items:center;padding-top:45px;padding-bottom:56px;min-height:748px}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:800;line-height:1.6;margin:0 0 24px;color:var(--gold)}.spark{color:var(--purple);font-size:20px;vertical-align:-2px;margin-right:10px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-3.8px;line-height:.99;font-weight:900}h1{font-size:clamp(66px,6.8vw,96px);margin-bottom:28px}h1 em,h2 em{font-style:italic;color:var(--gold)}.intro{max-width:450px;font-size:17px;color:#dfd1e1;line-height:1.75;margin-bottom:26px}.intro strong{color:var(--paper);font-weight:700}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 24px;background:var(--gold);color:#2a1430;border:1px solid var(--gold);border-radius:4px;text-decoration:none;font-weight:800;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:#ffda8d;transform:translateY(-2px)}.button span{font-size:19px}.cta-note{color:var(--muted);font-size:11px;margin:10px 0 27px}.facts{list-style:none;display:flex;margin:0;padding:0}.facts li{display:flex;flex-direction:column;padding:0 29px;border-right:1px solid #ffffff25}.facts li:first-child{padding-left:0}.facts li:last-child{border:0}.facts strong{font-family:Georgia,serif;font-size:26px;line-height:1.2;letter-spacing:-1px}.facts span{font-size:11px;color:var(--muted);margin-top:4px}.hero-visual{height:650px;position:relative;isolation:isolate}.halo{position:absolute;inset:9% 0 2%;background:radial-gradient(ellipse,#a7565d36,transparent 64%);z-index:-2}.stamp{position:absolute;right:2%;top:34px;width:115px;height:115px;border:1px solid #e7a75e70;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(12deg);color:var(--gold);background:#1d0d2690;z-index:4}.stamp strong{font:italic 40px/.95 Georgia,serif}.stamp span{font-size:9px;letter-spacing:1.5px;text-align:center;font-weight:800;line-height:1.5;margin-top:5px}.box-stage{position:absolute;inset:28px 0 auto 15%;height:500px;perspective:1400px;display:flex;align-items:center;justify-content:center}.box-body{position:relative;width:270px;height:486px;transform-style:preserve-3d;transform:rotateX(-8deg) rotateY(-24deg) rotateZ(-7deg);transition:transform 1s cubic-bezier(.2,.8,.2,1)}.box-body.is-back{transform:rotateX(-8deg) rotateY(156deg) rotateZ(7deg)}.box-face{position:absolute;top:50%;left:50%;width:270px;height:486px;object-fit:fill;backface-visibility:hidden;border:1px solid #e4c8e920;background:var(--ink)}.front{transform:translate(-50%,-50%) translateZ(48px)}.back{transform:translate(-50%,-50%) rotateY(180deg) translateZ(48px)}.right{width:96px;transform:translate(-50%,-50%) rotateY(90deg) translateZ(135px);filter:brightness(.72)}.left{width:96px;transform:translate(-50%,-50%) rotateY(-90deg) translateZ(135px)}.top{height:96px;transform:translate(-50%,-50%) rotateX(90deg) translateZ(243px);filter:brightness(1.15)}.bottom{height:96px;transform:translate(-50%,-50%) rotateX(-90deg) translateZ(243px)}.box-caption{position:absolute;bottom:0;left:0;right:0;text-align:center}.text-button{background:transparent;border:0;border-bottom:1px solid #9d83a3;color:var(--paper);font-size:12px;padding:5px 2px}.text-button span{margin-left:10px}.box-caption p{font-size:10px;color:var(--muted);margin:5px 0 0}.ribbon{display:flex;justify-content:space-around;gap:35px;white-space:nowrap;overflow:hidden;background:var(--gold);color:var(--ink);padding:15px 20px;font-size:12px;font-weight:900;letter-spacing:1.8px;border-block:1px solid #1d0d26}.ribbon span:nth-child(even){color:#753d69}.how{padding:90px 0 64px}.section-heading{max-width:620px}.section-heading .eyebrow{color:var(--section-accent)}h2{font-size:clamp(42px,4.9vw,64px);letter-spacing:-2.5px;margin-bottom:24px}.section-surface h2 em{color:var(--section-accent)}.section-heading>p:last-child{max-width:540px;color:var(--section-muted);font-size:16px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:54px;margin-top:48px}.step-art{height:270px;position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:22px}.step-art>img{width:auto;max-width:90%;max-height:240px;filter:drop-shadow(0 12px 12px #412d3428);border-radius:7px;transform:rotate(-7deg)}.step:nth-child(2) .step-art>img{transform:rotate(7deg)}.step:nth-child(3) .step-art>img{transform:rotate(-5deg)}.step-art .step-number{position:absolute;left:0;bottom:0;z-index:2;background:var(--section-button-bg);border:4px solid var(--section-bg);color:var(--section-button-text);border-radius:50%;width:53px;height:53px;display:grid;place-items:center;font:italic 23px Georgia,serif}.step h3{font:700 25px/1.2 Georgia,serif;letter-spacing:-.7px;margin-bottom:12px}.step p{font-size:14px;line-height:1.8;color:var(--section-muted)}.step-art .projectile{position:absolute;width:100px;max-height:none;right:30px;bottom:12px;transform:rotate(65deg)!important;border:2px solid #21112a}.rule-note{color:var(--section-muted);font-size:12px;margin:32px 0 0}.techniques{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding-top:105px;padding-bottom:105px}.technique-copy>p:not(.eyebrow){max-width:480px;color:var(--section-muted)}.quote{font:italic 21px/1.55 Georgia,serif;border-left:2px solid var(--purple);padding-left:20px;margin:30px 0 8px}.quote-source{font-size:11px;margin-left:22px;color:var(--section-muted)}.technique-pair{display:flex;gap:24px;align-items:center;justify-content:center}.technique-pair figure{width:45%}.technique-pair figure:first-child{transform:rotate(-9deg)}.technique-pair figure:last-child{transform:rotate(7deg);margin-top:60px}.technique-pair img{border-radius:8px;box-shadow:0 18px 30px #08010b60}.technique-pair figcaption{font-size:11px;text-align:center;color:var(--section-muted);margin-top:15px}.characters{padding:80px 0 90px}.character-row{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:45px;align-items:start}.character-row figure{transition:transform .25s}.character-row figure:nth-child(odd){transform:rotate(-3deg)}.character-row figure:nth-child(even){transform:rotate(3deg);margin-top:18px}.character-row figure:hover{transform:translateY(-10px) rotate(0)}.character-row img{border-radius:7px;box-shadow:0 14px 22px #3c253530;width:100%}.character-row figcaption{font:italic 17px Georgia,serif;text-align:center;margin-top:18px}.signup{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-top:100px;padding-bottom:90px;align-items:center}.signup>div>p:not(.eyebrow){color:var(--section-muted);max-width:450px}.signup-detail{font-size:12px;color:var(--section-muted)}.signup-panel{border:1px solid var(--section-border);border-radius:8px;padding:32px;background:var(--section-panel)}.preview-label{color:var(--section-accent);font-size:9px;letter-spacing:1.5px;font-weight:800;margin-bottom:20px}label[for=email]{font-size:13px;font-weight:700;display:block;margin-bottom:8px}input[type=email]{width:100%;background:#fff9ed;border:2px solid transparent;color:var(--ink);padding:14px;border-radius:4px;font-size:16px}.consent{display:flex;gap:10px;font-size:12px;line-height:1.6;margin:18px 0}.consent input{flex:none;width:17px;height:17px;accent-color:var(--gold);margin:2px 0 0}.signup .button{width:100%}.small{font-size:10px;line-height:1.7;color:var(--section-muted);margin:15px 0 0}.form-status{font-size:13px;color:var(--section-accent);margin:12px 0 0}.privacy-link{font-size:10px;color:var(--section-accent);display:inline-block;margin-top:12px}.brevo-frame{width:100%;min-height:600px;border:0;border-radius:4px;background:white}.footer{border-top:1px solid #ffffff20;padding-top:25px;padding-bottom:30px;display:flex;gap:30px;align-items:center;justify-content:space-between}.footer p{font-size:10px;line-height:1.8;color:var(--muted);margin:0}.footer>a:last-child{font-size:11px;color:var(--muted);text-decoration:none}.wordmark{font:900 20px Georgia,serif;letter-spacing:1px;text-decoration:none}.wordmark span{color:var(--gold);margin-left:8px}:focus-visible{outline:3px solid var(--purple);outline-offset:5px}.section-surface :focus-visible{outline-color:var(--section-accent)}.skip{position:fixed;top:8px;left:8px;z-index:100;background:var(--gold);color:var(--ink);padding:12px;transform:translateY(-150%)}.skip:focus{transform:none}[hidden]{display:none!important}
@media(min-width:1450px){.hero-visual{height:680px}.box-stage{top:40px;transform:scale(1.06)}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:0;min-height:690px}.hero h1{font-size:75px}.hero-visual{height:600px;transform:scale(.9);transform-origin:center}.stamp{right:-6%}.techniques{gap:35px}.steps{gap:25px}.signup{gap:40px}.footer{gap:20px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{min-height:84px}.logo{width:132px}.header nav{gap:12px}.header nav>a:not(.nav-cta){display:none}.nav-cta{padding:8px 12px;font-size:11px}.nav-cta span{padding-left:5px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:36px;padding-bottom:22px}.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:20px}.hero h1{font-size:clamp(54px,15vw,74px);letter-spacing:-3px}.hero h1 br:nth-child(2){display:initial}.intro{font-size:15px;max-width:500px}.hero .button{width:100%;max-width:400px}.facts{margin-top:25px}.facts li{padding:0 24px}.hero-visual{height:570px;width:100%;transform:none;margin-top:15px;overflow:visible}.box-stage{top:10px;left:5%;height:470px;transform:scale(.88)}.stamp{right:0;top:20px;width:92px;height:92px}.stamp strong{font-size:32px}.stamp span{font-size:8px}.ribbon{font-size:10px;gap:25px;padding:13px}.how,.characters{padding:58px 0}.section-heading h2,h2{font-size:43px;letter-spacing:-1.8px}.steps{grid-template-columns:1fr;margin-top:20px;gap:35px}.step{display:grid;grid-template-columns:140px 1fr;column-gap:20px;align-items:center}.step-art{height:210px;grid-row:1/3;margin:0}.step-art>img{max-height:185px;max-width:120px}.step-art .step-number{width:40px;height:40px;font-size:17px;bottom:0;left:0}.step-art .projectile{width:66px;right:-4px;bottom:12px}.step h3{font-size:23px;margin:0 0 10px;align-self:end}.step p{font-size:13px;line-height:1.7;align-self:start;margin:0}.rule-note{margin-top:35px}.techniques{grid-template-columns:1fr;padding-top:65px;padding-bottom:65px;gap:25px}.technique-pair{max-width:420px;margin:auto;gap:20px}.technique-copy>p:not(.eyebrow){font-size:15px}.technique-copy .quote{font-size:19px}.character-row{grid-template-columns:repeat(2,1fr);gap:28px 22px;margin-top:30px}.character-row figcaption{font-size:15px}.character-row figure:nth-child(even){margin-top:12px}.signup{grid-template-columns:1fr;gap:28px;padding-top:65px;padding-bottom:50px}.signup-panel{padding:24px}.footer{align-items:flex-start;flex-wrap:wrap;gap:20px}.footer>a:last-child{width:100%;padding-top:8px}.footer .wordmark{font-size:18px}.footer p{font-size:9px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.hero-visual{height:525px}.box-stage{transform:scale(.76);left:0;top:-16px}.stamp{width:80px;height:80px}.step{grid-template-columns:110px 1fr;column-gap:16px}.step-art>img{max-width:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover,.character-row figure:hover{transform:none}}


/* Premier écran V02 : boîte seule, découverte par le lancer. */
.hero h1 .hero-punchline{display:inline-block;font-size:.64em;line-height:1.12;letter-spacing:-2.4px;margin-top:6px}
.hero-mood{font-size:13px;color:var(--gold);margin:0 0 23px}
.hero .intro{margin-bottom:10px}
.hero-visual{height:650px}
.box-stage{top:0;left:0;right:0;height:490px;transform:scale(.96);transform-origin:center center;border:0;background:none;color:inherit;padding:0;cursor:crosshair;touch-action:pan-y;outline-offset:1px;-webkit-tap-highlight-color:transparent}
.box-body{transition:none;will-change:transform}
.box-face{user-select:none;-webkit-user-drag:none}
.box-floor-shadow{position:absolute;left:20%;right:12%;top:515px;height:25px;border-radius:50%;background:#08000c80;filter:blur(14px);z-index:-1;pointer-events:none}
.shot-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:6}
.flight-card{position:absolute;width:54px;max-width:none;left:0;top:0;aspect-ratio:742/1155;object-fit:contain;border-radius:3px;box-shadow:0 9px 13px #09000c60;will-change:transform,opacity}
.impact-flash{position:absolute;width:40px;height:40px;pointer-events:none}
.impact-flash::before,.impact-flash::after{content:"";position:absolute;left:18px;top:0;width:3px;height:40px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px #ffc45e80}
.impact-flash::after{transform:rotate(90deg)}
.box-caption{bottom:0}
.play-kicker{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--gold);margin:0 0 5px}
.box-caption .play-hint{font-size:12px;color:var(--paper);margin:0}
.play-hint span{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.box-controls{display:flex;justify-content:center;gap:22px;margin-top:10px}
.box-caption .box-feedback{color:var(--gold);min-height:17px;font-size:10px;margin:6px 0 0}
.box-caption .visual-note{margin:0;font-size:9px}
.stamp{pointer-events:none}
.tap-instruction{display:none}
@media(max-width:1050px){.hero-visual{transform:none}.stamp{right:0}.box-stage{transform:scale(.9);transform-origin:center top}}
@media(max-width:760px){
 .hero-visual{height:550px;margin-top:20px}
 .hero h1 .hero-punchline{letter-spacing:-1.3px;font-size:.64em}
 .hero-mood{font-size:12px;margin-bottom:20px}
 .box-stage{top:0;left:0;right:0;height:470px;transform:scale(.80);transform-origin:center 40%}
 .box-floor-shadow{top:422px;left:15%;right:15%}
 .box-caption{bottom:0}
 .stamp{top:0;right:0}
 .click-instruction{display:none}.tap-instruction{display:inline}
}
@media(max-width:360px){.hero-visual{height:510px}.box-stage{height:430px;top:0;transform:scale(.70)}.box-floor-shadow{top:385px}.stamp{top:0}.box-controls{gap:18px}.box-caption .play-hint{font-size:11px}}
@media(prefers-reduced-motion:reduce){.flight-card,.impact-flash{display:none}.box-body{will-change:auto}}



/* V03 : duel, noms à découvrir et comparaison des lancers. */
.hero h1{font-size:clamp(54px,5.4vw,78px)}
.hero h1 .hero-punchline{font-size:.86em;letter-spacing:-2px}
.hero-copy>.eyebrow{max-width:520px}
.technique-teaser{font-size:14px;color:var(--paper);line-height:1.8;max-width:460px;margin:15px 0 24px}
.technique-teaser a{color:var(--gold);text-decoration-thickness:1px;text-underline-offset:4px}
.technique-teaser a:hover{color:#ffe1a5}
.hero-visual{height:730px}
.throw-modes{display:flex;justify-content:center;gap:0;border:0;padding:0;margin:0 auto 12px;min-width:0}
.throw-modes label{position:relative;cursor:pointer}
.throw-modes input{position:absolute;width:1px;height:1px;opacity:0}
.throw-modes span{display:block;border:1px solid #b695c25c;padding:7px 22px;min-width:100px;font-size:12px;font-weight:700;color:var(--muted);background:#24122e}
.throw-modes label:first-of-type span{border-radius:5px 0 0 5px}
.throw-modes label:last-of-type span{border-radius:0 5px 5px 0}
.throw-modes input:checked+span{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.throw-modes input:focus-visible+span{outline:3px solid var(--purple);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.box-caption .box-feedback{max-width:95%;margin:6px auto 0;min-height:32px;line-height:1.5}
.aim-marker{position:absolute;width:25px;height:25px;border:1px dashed #ffd68a;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.aim-marker::after{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--gold)}
.miss-note{position:absolute;color:var(--gold);font:italic 15px Georgia,serif;white-space:nowrap;text-shadow:0 1px 5px var(--ink)}
.techniques-v03{display:block}
.techniques-v03 .technique-copy{max-width:760px}
.technique-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;max-width:1000px;margin:45px auto 0;align-items:start}
.technique-gallery figure{min-width:0;padding:12px;border-radius:9px;scroll-margin-top:45px}
.technique-gallery figure:target{outline:2px solid var(--gold);background:#ffffff09}
.technique-gallery img{width:100%;border-radius:8px;box-shadow:0 15px 30px #08010b66}
.technique-gallery h3{font:italic 22px Georgia,serif;color:var(--section-accent);margin:20px 0 8px;text-align:center}
.technique-gallery p{font-size:13px;text-align:center;color:var(--section-muted);margin:0}
@media(max-width:1050px){.hero h1{font-size:clamp(48px,6vw,70px)}.hero-visual{height:730px}.technique-gallery{gap:20px}}
@media(max-width:760px){
 .hero h1{font-size:clamp(40px,12vw,64px);letter-spacing:-2px}
 .hero h1 .hero-punchline{letter-spacing:-1px}
 .hero-visual{height:625px}
 .technique-teaser{font-size:13px}
 .throw-modes span{padding:7px 19px;min-width:95px}
 .technique-gallery{grid-template-columns:1fr;gap:30px;max-width:300px;margin-top:30px}
 .technique-gallery figure{scroll-margin-top:25px}
 .technique-gallery img{max-height:380px;width:auto;margin:auto}
 .technique-gallery h3{font-size:21px}
 .box-caption .box-feedback{font-size:10px}
}
@media(max-width:360px){.hero-visual{height:590px}.throw-modes span{min-width:90px}.hero h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){.aim-marker,.miss-note{display:none}}



/* V04 : personnages par équipe, découvertes et FAQ. */
.duel-options{position:relative;display:block}
.duel-options figure{position:absolute;width:73%;margin:0}
.duel-options .duel-pair-one{left:0;top:15px;transform:rotate(-8deg)}
.duel-options .duel-pair-two{right:0;top:113px;transform:rotate(7deg)}
.duel-options figure img{width:100%;height:auto;border-radius:6px;filter:drop-shadow(0 10px 10px #412d3428)}
.duel-options figcaption{display:inline-block;background:var(--dark-text);color:var(--paper);font-size:10px;font-weight:700;padding:2px 9px;border-radius:3px;position:absolute;right:7px;bottom:-8px}
.duel-options .step-number{z-index:3}
.technique-discovery{border-top:1px solid #b695c240;margin-top:65px;padding-top:40px}
.discovery-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}
.discovery-heading h3{font:700 32px/1.15 Georgia,serif;letter-spacing:-1px;margin:0 0 10px}
.discovery-heading p{color:var(--section-muted);font-size:14px;margin:0}
.discovery-controls{display:flex;gap:20px;flex-shrink:0}
.discovery-grid{list-style:none;margin:15px -4px 0;padding:30px 24px 20px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;align-items:start}
.discovery-item{min-width:0;text-align:center}
.discovery-card{width:100%;aspect-ratio:825/1155;border:0;padding:0;background:none;color:inherit;position:relative;perspective:900px;transform:translateY(var(--shift,0px)) rotate(var(--tilt,0deg));transition:transform .25s;display:block}
.discovery-card:hover{transform:translateY(-7px) rotate(0)}
.discovery-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.discovery-card.is-revealed .discovery-inner{transform:rotateY(180deg)}
.discovery-back,.discovery-front{position:absolute;inset:0;backface-visibility:hidden;border-radius:8px;overflow:hidden}
.discovery-back{display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 20%,#5d2c76,#291335 75%);border:1px solid #c799d287;box-shadow:0 12px 22px #08010b60;padding:14px}
.discovery-back::after{content:"";position:absolute;inset:8px;border:1px dashed #ddb2575c;border-radius:4px;pointer-events:none}
.discovery-number{position:absolute;top:14px;left:16px;color:#d5b3dc;font:italic 12px Georgia,serif}
.discovery-question{font:italic 66px/.95 Georgia,serif;color:var(--gold);margin-bottom:14px}
.discovery-label{font:700 14px/1.35 Georgia,serif;max-width:100px}
.discovery-turn{font-size:9px;letter-spacing:.4px;color:var(--gold);margin-top:20px}
.discovery-front{transform:rotateY(180deg);background:var(--paper);box-shadow:0 12px 22px #08010b60}
.discovery-front img{width:100%;height:100%;object-fit:contain}
.discovery-caption{padding-top:30px;min-height:135px}
.discovery-caption h4{font:italic 17px/1.25 Georgia,serif;color:var(--section-accent);margin:0 0 8px;overflow-wrap:anywhere}
.discovery-caption p{font-size:12px;color:var(--section-muted);line-height:1.6;margin:0}
.discovery-prompt{font-size:11px;color:var(--section-muted)}
.discovery-status{font-size:11px;color:var(--section-muted);min-height:20px;margin:0}
.team-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:45px}
.team-panel{min-width:0;border:1px solid #73533330;border-top:3px solid var(--team-color);padding:22px 22px 28px;border-radius:5px;background:#fff8;box-shadow:0 12px 25px #3b283207}
.team-header{display:flex;align-items:center;gap:14px;border-bottom:1px solid #73533320;padding-bottom:18px;margin-bottom:24px}
.team-symbol{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;color:var(--team-deep);background:var(--team-tint);font-size:37px;line-height:1}
.team-header h3{font:700 23px Georgia,serif;margin:0 0 3px;letter-spacing:-.5px}
.team-header p{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--section-muted);margin:0}
.team-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:start}
.character-card{min-width:0;text-align:center}
.character-card img{width:100%;height:auto;border-radius:5px;box-shadow:0 9px 18px #3c25352a;transform:rotate(var(--card-tilt,0deg));transition:transform .25s}
.character-card:hover img{transform:translateY(-6px) rotate(0)}
.character-card figcaption{padding-top:17px}
.character-name{font:700 17px/1.2 Georgia,serif;letter-spacing:-.3px;margin:0;min-height:41px;overflow-wrap:anywhere}
.character-quote{font:italic 13px/1.5 Georgia,serif;color:var(--section-muted);margin:8px 0 0;quotes:"« " " »"}
.character-quote p{margin:0}
.character-quote p::before{content:open-quote;color:var(--team-deep)}
.character-quote p::after{content:close-quote;color:var(--team-deep)}
.faq-section{padding:85px 0 45px}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}
.faq-heading h2{font-size:clamp(40px,4vw,56px)}
.faq-list{border-top:1px solid var(--section-border)}
.faq-list details{border-bottom:1px solid var(--section-border)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;font-weight:650;font-size:16px;line-height:1.5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-toggle{flex:none;color:var(--section-accent);font:300 26px/1 system-ui;transition:transform .2s}
.faq-list details[open] .faq-toggle{transform:rotate(45deg)}
.faq-list details[open] summary{color:var(--section-accent)}
.faq-answer{padding:0 38px 24px 0;color:var(--section-muted);font-size:14px;line-height:1.8}
.faq-answer p{margin:0}
@media(max-width:1050px){
 .discovery-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:780px;margin:20px auto 0;gap:30px}
 .discovery-caption{min-height:105px}
 .team-panel{padding:18px 14px 22px}
 .team-cards{gap:12px}
 .character-name{font-size:15px}
 .character-quote{font-size:12px}
 .faq-layout{gap:40px}
}
@media(max-width:760px){
 .duel-options figure{width:100%}
 .duel-options .duel-pair-one{left:-3px;top:18px}
 .duel-options .duel-pair-two{right:-3px;top:112px}
 .duel-options figcaption{font-size:8px;padding:2px 5px;right:2px;bottom:-5px}
 .discovery-heading{display:block}
 .discovery-heading h3{font-size:29px}
 .discovery-controls{margin-top:20px;gap:25px}
 .discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 22px;padding:25px 18px 12px}
 .discovery-back{padding:10px}
 .discovery-label{font-size:14px}
 .discovery-turn{font-size:9px;margin-top:15px}
 .discovery-question{font-size:58px}
 .discovery-caption{min-height:115px;padding-top:27px}
 .discovery-caption h4{font-size:17px}
 .technique-discovery{margin-top:45px;padding-top:30px}
 .team-gallery{grid-template-columns:1fr;gap:25px;margin-top:30px}
 .team-panel{padding:18px 14px 24px}
 .team-header{margin-bottom:22px;padding-bottom:15px;gap:12px}
 .team-header h3{font-size:23px}
 .team-cards{gap:13px}
 .character-name{font-size:15px;min-height:38px}
 .character-quote{font-size:12px;line-height:1.5}
 .character-card figcaption{padding-top:15px}
 .faq-section{padding:60px 0 20px}
 .faq-layout{grid-template-columns:1fr;gap:20px}
 .faq-heading h2{font-size:42px}
 .faq-list summary{font-size:15px;padding:20px 0;gap:20px}
 .faq-answer{font-size:13px;padding-right:20px}
}
@media(max-width:360px){
 .discovery-grid{gap:20px 18px;padding-inline:14px}
 .discovery-label{font-size:12px}
 .discovery-number{top:12px;left:12px}
 .discovery-turn{font-size:8px;margin-top:12px}
 .discovery-question{font-size:48px;margin-bottom:10px}
 .team-panel{padding-inline:10px}
 .team-cards{gap:9px}
 .character-name{font-size:13px;min-height:33px}
 .character-quote{font-size:11px}
}


/* Garder les deux modes lisibles dans la composition de l’étape 1. */
.duel-options .duel-pair-one figcaption{bottom:auto;top:-10px;left:7px;right:auto}

/* V05 — pioches et table de groupe */
html{scroll-padding-top:110px}
@media(min-width:761px){.header.wrap{position:sticky;top:0;z-index:100;width:100%;max-width:none;padding:0 max(32px,calc((100vw - 1200px)/2));min-height:90px;background:#1d0d26f5;backdrop-filter:blur(16px);box-sizing:border-box}.header nav{gap:20px;font-size:13px}.header .logo{width:150px}}
.techniques.techniques-v03{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:24px;position:relative}.techniques .technique-copy{grid-column:1/-1;max-width:820px}.techniques .technique-copy h2{font-size:clamp(30px,3.2vw,46px)}.techniques .technique-gallery{grid-column:1;display:flex;gap:25px;align-items:start;padding:25px 15px 20px;margin:0}.technique-gallery figure{flex:1;min-width:0;transform:rotate(-7deg)}.technique-gallery figure:nth-child(2){transform:translateY(24px) rotate(5deg)}.technique-gallery figure:nth-child(3){transform:translateY(-8px) rotate(-3deg)}.technique-gallery figure img{width:100%;max-height:270px;object-fit:contain}.technique-gallery figcaption h3{font-size:18px}.technique-gallery figcaption p{font-size:14px}.technique-draw{grid-column:2;padding-top:30px}.draw-pile{width:140px;min-height:220px;background:#46244f;border:2px solid var(--gold);border-radius:10px;color:var(--paper);box-shadow:5px 5px 0 #78417e,10px 10px 0 #b372dc;transform:rotate(6deg);cursor:pointer;padding:15px;font:inherit}.draw-pile b{display:block;font-size:65px;color:var(--gold)}.draw-pile strong,.draw-pile small{display:block;margin-top:12px}.draw-pile:disabled{opacity:.5;cursor:default}.technique-draw .text-button{margin-top:30px}.drawn-techniques{grid-column:1/-1;display:flex;flex-wrap:wrap;padding:15px 20px 0;gap:0 12px}.drawn-card{width:calc(16.666% - 12px);margin:0;transform:rotate(var(--rotation));animation:card-arrive .4s ease-out}.drawn-card img{width:100%;border-radius:8px;box-shadow:0 8px 18px #0005}.drawn-card h3{font-size:16px;margin:12px 0 6px}.drawn-card p{font-size:13px;line-height:1.4}.draw-status{grid-column:1/-1;max-width:760px;color:var(--section-accent);font-size:18px;min-height:50px}.drawn-techniques:empty{display:none}@keyframes card-arrive{from{opacity:0;translate:60px -50px}to{opacity:1;translate:0 0}}
.characters .team-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px;padding:25px 10px 0}.characters .team-panel{padding:0;background:none;border:0;box-shadow:none;min-width:0;overflow:visible}.characters .team-header{border:0;margin:0 0 10px;padding:0;justify-content:center}.team-header p{display:none}.characters .team-header h3{font-size:17px}.characters .team-symbol{font-size:34px}.characters .team-cards{display:block;position:relative;height:440px;cursor:pointer}.characters .character-card{position:absolute;inset:0;margin:0;transform:rotate(-4deg);transition:transform .45s,opacity .3s;z-index:3}.characters .character-card img{width:100%;height:auto;max-height:none;box-shadow:0 12px 20px #30203630;border-radius:8px}.characters .character-card[data-rank="1"]{transform:translate(9px,5px) rotate(5deg);z-index:2}.characters .character-card[data-rank="2"]{transform:translate(-8px,8px) rotate(-10deg);z-index:1}.characters .character-card[data-rank="1"] figcaption,.characters .character-card[data-rank="2"] figcaption{visibility:hidden}.characters .team-panel:nth-child(even){translate:0 22px}.next-character{display:block;background:none;border:0;color:var(--team-deep);font:inherit;font-weight:700;cursor:pointer;margin:0 auto 22px;padding:10px 0}.team-progress{display:block;font-size:12px;opacity:.7;margin-top:5px}.characters .character-name{font-size:19px}.characters .character-quote{font-size:15px}.groups-section{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;padding-top:110px;padding-bottom:100px;align-items:center}.group-copy h2{font-size:clamp(35px,4vw,55px)}.group-copy>p{line-height:1.7}.player-controls{margin-top:25px;padding:20px;background:#ffffff08;border:1px solid #ffffff20;border-radius:16px}.player-controls label{display:flex;justify-content:space-between;gap:12px}.player-controls output{color:var(--section-accent);font-weight:700}.player-controls input{width:100%;accent-color:var(--gold);margin:22px 0}.player-shortcuts{display:flex;gap:10px}.player-shortcuts button{background:none;color:var(--paper);border:1px solid #ffffff50;border-radius:30px;padding:8px 18px;cursor:pointer;font:inherit}.player-shortcuts button[aria-pressed="true"]{background:var(--gold);color:var(--ink)}.group-note,.table-caption{font-size:13px;color:var(--section-muted);line-height:1.6}.game-table{width:100%;aspect-ratio:1;position:relative;border:1px dashed #ffffff30;border-radius:50%;background:radial-gradient(ellipse,#50324c70,#211329 68%)}.table-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--section-accent);font-size:14px;letter-spacing:2px}.table-center span{font-size:11px;color:var(--section-accent);letter-spacing:0}.table-character{position:absolute;left:50%;top:50%;width:15%;aspect-ratio:630/946;opacity:0;transform:translate(-50%,-50%) rotate(var(--angle,0deg)) scale(.4);transition:top .65s,left .65s,transform .65s,width .65s,opacity .35s;pointer-events:none}.table-character.is-active{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle,0deg)) scale(1)}.table-character img{display:block;width:100%;height:100%;border-radius:3px;box-shadow:0 4px 9px #0006}.table-caption{text-align:center;margin-top:20px}#group-status{color:var(--section-accent);font-size:14px;min-height:45px}
@media(max-width:1050px){.header nav{gap:12px;font-size:12px}.header .logo{width:120px}.characters .team-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 65px}.characters .team-cards{height:auto;aspect-ratio:.55}.characters .character-card img{max-height:440px;object-fit:contain}.groups-section{gap:25px}}
@media(max-width:760px){html{scroll-padding-top:20px}.techniques.techniques-v03{grid-template-columns:minmax(0,1fr) 90px;gap:10px}.techniques .technique-gallery{gap:7px;padding:15px 0}.technique-gallery figcaption h3{font-size:12px}.technique-gallery figcaption p{font-size:11px}.draw-pile{width:80px;min-height:150px;padding:8px;font-size:11px}.draw-pile b{font-size:35px}.draw-pile small{font-size:10px}.drawn-card{width:calc(33.333% - 12px);margin-bottom:15px}.drawn-card h3{font-size:13px}.drawn-card p{font-size:11px}.characters .team-gallery{gap:35px 28px;padding:10px}.characters .team-cards{aspect-ratio:.48}.characters .team-header h3{font-size:14px}.characters .team-symbol{font-size:24px}.characters .character-name{font-size:15px}.characters .character-quote{font-size:12px}.next-character{font-size:12px;margin-bottom:12px}.groups-section{grid-template-columns:1fr;padding-top:70px;padding-bottom:65px}.table-demo{max-width:600px;width:100%;margin:auto}.table-center{font-size:11px}.table-center span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.table-character,.character-card{transition:none!important}.drawn-card{animation:none!important}}

.ribbon{overflow:hidden}.characters{overflow:clip}.characters .team-cards{max-width:290px;margin-inline:auto}.drawn-techniques{margin-top:-12px}.drawn-card:nth-child(even){translate:0 15px}

/* V06 — cartes au premier plan */
.menu-toggle{display:none}.header #mobile-menu[hidden]{display:none!important}.ribbon{display:block;padding:16px 0;overflow:hidden}.ticker-track{display:flex;width:max-content;animation:news-ticker 32s linear infinite}.ticker-copy{display:flex;align-items:center;gap:34px;padding-right:34px;flex-shrink:0;white-space:nowrap}.ribbon:hover .ticker-track{animation-play-state:paused}@keyframes news-ticker{to{transform:translateX(-50%)}}
.techniques.techniques-v03{display:block}.technique-showcase{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin:55px auto 0;max-width:850px}.technique-stack{position:relative;display:block;width:300px;max-width:90%;margin:0 auto;padding:0;border:0;border-radius:14px;background:#46304f;box-shadow:8px 8px 0 #b299b8,16px 15px 0 #705b77;transform:rotate(-3deg);cursor:pointer;color:var(--gold);font:inherit}.technique-stack img{display:block;width:100%;height:auto;border-radius:12px;position:relative;z-index:1}.card-click-hint{display:block;position:absolute;bottom:-48px;left:0;right:0;white-space:nowrap;font-size:14px}.technique-stack.is-drawing img{animation:draw-one .4s ease-out}@keyframes draw-one{from{opacity:.2;transform:translate(35px,-15px) rotate(5deg)}to{opacity:1;transform:none}}.technique-data[hidden]{display:none}.technique-data>img{display:none}.technique-data h3{font-size:clamp(30px,4vw,48px);color:var(--section-accent);margin:0 0 20px}.technique-data p{font-size:21px;line-height:1.6}.technique-detail{min-height:230px}#technique-end{font-size:17px;line-height:1.6;color:var(--section-muted);margin-top:30px}.characters .team-gallery{gap:40px;padding-top:15px}.characters .team-cards{max-width:290px;height:auto;aspect-ratio:.56;outline-offset:18px}.characters .character-card{transform:rotate(-2deg)}.characters .character-card[data-rank="1"]{transform:translate(5px,4px) rotate(1deg)}.characters .character-card[data-rank="2"]{transform:translate(-4px,7px) rotate(-4deg)}.characters .character-name{display:none}.characters .character-quote{font-size:18px;margin-top:18px}.characters .team-panel:nth-child(even){translate:0 14px}.characters .character-card figcaption{min-height:60px}.groups-section{grid-template-columns:.85fr 1.35fr;gap:25px}.compact-players{background:none;border:0;padding:0;max-width:360px;margin-top:24px}.compact-players>span{font-size:13px;display:block;margin-bottom:10px}.player-bricks{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}.player-bricks button{height:34px;border:1px solid var(--section-border);border-radius:4px;color:var(--section-muted);background:var(--section-control);font:inherit;font-size:12px;cursor:pointer;padding:0}.player-bricks button.is-lit{background:var(--section-button-bg);color:var(--section-button-text);border-color:var(--section-button-bg)}.player-bricks button[aria-pressed="true"]{outline:2px solid var(--section-text);outline-offset:2px}.player-bricks button:disabled{cursor:default}.table-demo{max-width:590px;justify-self:center}.game-table{background:none;border:0}.table-center{font-size:12px;letter-spacing:0;line-height:1.6}.table-center span{font-size:16px;color:var(--section-accent);font-weight:700}.table-caption{margin-top:-30px}.group-copy h2{font-size:clamp(32px,3.2vw,46px)}
@media(max-width:1050px){.characters .team-gallery{gap:35px 50px}.characters .team-cards{max-width:280px;aspect-ratio:.56}}
@media(max-width:760px){html{scroll-padding-top:88px}.header.wrap{position:sticky;top:0;z-index:100;width:100%;max-width:none;min-height:72px;padding:8px 16px;background:#1d0d26f7;backdrop-filter:blur(14px);gap:12px;box-sizing:border-box}.header .logo{width:110px}.header>nav:not(#mobile-menu){margin-left:auto;display:flex}.header .nav-cta{font-size:12px;padding:10px 12px;white-space:nowrap}.menu-toggle{display:block;color:var(--paper);background:none;border:1px solid #ffffff50;border-radius:7px;min-width:42px;height:42px;font-size:22px;cursor:pointer}.header #mobile-menu{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#281630;padding:12px 20px 20px;box-shadow:0 15px 20px #0006}.header #mobile-menu a{display:block;padding:13px 10px;border-bottom:1px solid #ffffff15;font-size:16px}.technique-showcase{grid-template-columns:1fr;gap:70px;margin-top:30px}.technique-stack{width:250px;max-width:78%}.technique-detail{min-height:0;text-align:center}.technique-data h3{font-size:30px;margin-bottom:10px}.technique-data p{font-size:18px;margin-bottom:0}.characters .team-gallery{gap:35px 25px}.characters .team-cards{aspect-ratio:.51}.characters .character-quote{font-size:14px}.groups-section{grid-template-columns:1fr}.compact-players{max-width:320px}.table-demo{max-width:480px}.table-center{font-size:10px}.table-center span{font-size:12px}.table-caption{margin-top:-12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.technique-stack.is-drawing img{animation:none}}

@media(max-width:360px){.header.wrap{padding-inline:12px;gap:8px}.header .logo{width:88px}.header .nav-cta{padding:9px 10px;font-size:11px}.menu-toggle{min-width:38px;width:38px}}

.ribbon{transform:none;width:100%;box-sizing:border-box}

body{overflow-x:clip}

.table-demo{width:100%}.table-caption{margin-top:-15px}

.cookie-banner{position:fixed;bottom:60px;left:20px;right:20px;max-width:1050px;margin:auto;z-index:200;background:#f5e8cd;color:#302036;border:2px solid #b372dc;border-radius:16px;padding:22px;box-shadow:0 8px 40px #0008;display:flex;gap:25px;align-items:center}.cookie-banner[hidden]{display:none}.cookie-banner h2{font-size:22px;margin:0 0 8px}.cookie-banner p{font-size:14px;line-height:1.5;margin:0}.cookie-banner a{color:#66367e;text-decoration:underline}.cookie-actions{display:flex;gap:12px;flex-shrink:0;flex-direction:column}.cookie-actions button{font:inherit;font-size:14px;padding:12px 16px;background:#1d0d26;color:#f5e8cd;border:2px solid #1d0d26;border-radius:8px;cursor:pointer}.cookie-settings{position:fixed;bottom:12px;left:12px;z-index:190;background:#1d0d26;color:#f5e8cd;border:1px solid #b372dc;border-radius:8px;padding:9px 13px;font:inherit;font-size:12px;cursor:pointer}@media(max-width:760px){.cookie-banner{left:10px;right:10px;bottom:58px;padding:16px;display:block}.cookie-actions{flex-direction:row;margin-top:15px;gap:8px}.cookie-actions button{flex:1;font-size:12px;padding:10px}.cookie-banner h2{font-size:19px}}

/* Couleurs des quatre équipes du jeu et badge de shérif */
.suit-spade{color:#eda12f!important}.suit-heart{color:#ba79d0!important}.suit-diamond{color:#6a9de1!important}.suit-club{color:#55bb8c!important}.ticker-copy .card-suit{font-size:22px;line-height:1;-webkit-text-stroke:.4px #302036}.hero .spark.suit-heart{font-size:24px}.footer .footer-suits{display:inline-flex;gap:7px;margin-left:8px}.footer .footer-suits span{margin:0;font-family:Georgia,serif;font-size:21px}.footer p a{text-decoration:underline;text-underline-offset:3px}.stamp.sheriff-stamp{border:0;border-radius:0;background:transparent url("assets/sheriff-badge.svg") center/contain no-repeat;color:#1d0d26;width:175px;height:175px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:24px;transform:rotate(9deg)}.stamp.sheriff-stamp strong{font-size:42px;line-height:1;margin:0}.stamp.sheriff-stamp>span{font-size:10px;line-height:1.3;letter-spacing:1px;margin:4px 0 0}.cookie-actions button{min-width:160px}@media(max-width:760px){.stamp.sheriff-stamp{width:112px;height:112px;padding:17px}.stamp.sheriff-stamp strong{font-size:29px}.stamp.sheriff-stamp>span{font-size:7px;letter-spacing:.4px}.cookie-actions button{min-width:0}}

/* Mise en scène des techniques et largeur des introductions */
.section-heading{max-width:none;width:100%}.section-heading>p{max-width:100%}.techniques .technique-copy{max-width:none}.technique-copy>p:not(.eyebrow){max-width:900px}.technique-showcase{max-width:1100px;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:70px}.technique-data h3{font-family:Georgia,serif;font-weight:900;font-style:italic;letter-spacing:-1.4px;font-size:clamp(38px,4.4vw,68px);line-height:1.05;transform:rotate(-2deg);transform-origin:left center;text-shadow:3px 3px 0 var(--section-title-shadow)}.technique-data p{font-family:Georgia,serif;font-style:italic;font-size:clamp(21px,2.1vw,30px);line-height:1.5;border-left:3px solid var(--section-secondary);padding-left:22px;margin-top:26px}.technique-number{display:inline-block;font-size:12px;font-weight:800;letter-spacing:2px;color:var(--section-secondary);border:1px solid var(--section-border);border-radius:4px;padding:6px 10px;margin-bottom:22px;transform:rotate(-3deg)}.technique-data:not([hidden]){animation:technique-text .4s ease-out}.technique-flying{position:fixed;z-index:150;pointer-events:none;object-fit:fill;border-radius:12px;box-shadow:0 20px 35px #0005;max-width:none}.technique-stack.is-drawing img{animation:none}.technique-stack:disabled{cursor:default;opacity:1}@keyframes technique-text{from{opacity:0;translate:12px 9px}to{opacity:1;translate:0 0}}
@media(min-width:1100px){.wrap{width:calc(100% - 96px);max-width:1600px}.header.wrap{padding-inline:max(48px,calc((100vw - 1600px)/2))}.characters .section-heading h2{max-width:none}.characters .team-gallery{gap:48px}.characters .team-cards{max-width:340px;aspect-ratio:.56}.characters .section-heading p{max-width:none}.how .section-heading p{max-width:1000px}}
@media(max-width:760px){.technique-showcase{grid-template-columns:1fr;gap:70px}.technique-data h3{font-size:38px;transform-origin:center}.technique-data p{text-align:left;font-size:23px}.technique-number{font-size:10px;margin-bottom:16px}.section-heading>p{max-width:100%}}
@media(prefers-reduced-motion:reduce){.technique-data:not([hidden]){animation:none}}

/* Avancement du projet et promesse newsletter. */
.legal-page{max-width:850px;padding-block:70px}.legal-page>.eyebrow{margin-top:40px}.legal-page h1{font-size:clamp(38px,7vw,60px);line-height:1.1}.legal-page h2{font-size:clamp(24px,4vw,30px);margin-top:38px;line-height:1.25}.legal-page p{line-height:1.8;overflow-wrap:anywhere}.legal-date{font-size:14px;color:#ccbcd1}.footer .legal-links{font-size:13px;line-height:1.8}
.project-progress{padding-block:90px;border-top:1px solid var(--section-border);scroll-margin-top:110px}
.progress-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:36px 0 20px;counter-reset:progress}
.progress-steps li{counter-increment:progress;padding:26px 22px;border:1px solid var(--section-border);border-radius:14px;background:var(--section-panel)}
.progress-steps li::before{content:"0" counter(progress);display:block;font-family:Georgia,serif;font-size:38px;color:var(--section-secondary);margin-bottom:18px}
.progress-steps .is-current{border-color:var(--section-accent);background:var(--section-highlight)}.progress-steps .is-current::before{color:var(--section-accent)}
.progress-label{display:block;font-size:10px;font-weight:800;letter-spacing:1.3px;color:var(--section-muted);margin-bottom:12px}.is-current .progress-label{color:var(--section-accent)}
.progress-steps h3{font-family:Georgia,serif;font-size:24px;line-height:1.2;margin:0 0 12px}.progress-steps p{font-size:15px;line-height:1.65;margin:0;color:var(--section-muted)}
.progress-update{font-size:13px;color:var(--section-muted);line-height:1.7}.project-progress .text-link{display:inline-block;margin-top:10px;color:var(--section-accent)}
.newsletter-benefits{padding-left:20px;line-height:1.8}.signup .button{white-space:normal;line-height:1.4}
@media(max-width:1000px){.progress-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.project-progress{padding-block:60px}.progress-steps{grid-template-columns:1fr;gap:14px}.progress-steps li{padding:22px}.progress-steps li::before{font-size:30px;margin-bottom:12px}.signup h2{font-size:clamp(32px,8.5vw,48px)}}

/* Cartes Duel au même format physique que les Techniques ; projectile posé sur sa cible. */
.how .duel-options figure{width:min(240px,75%)}
.how .duel-options .duel-pair-one{left:calc(50% - 135px);right:auto;top:12px;transform:rotate(-8deg)}
.how .duel-options .duel-pair-two{left:calc(50% - 105px);right:auto;top:98px;transform:rotate(7deg)}
.how .impact .projectile{left:calc(50% + 12px);right:auto;top:54%;bottom:auto;width:100px;transform:translate(-50%,-50%) rotate(65deg)!important;z-index:1;filter:drop-shadow(0 3px 3px #21112a65)}
@media(max-width:760px){.how .duel-options figure{width:110px}.how .duel-options .duel-pair-one{left:2px;top:36px}.how .duel-options .duel-pair-two{left:17px;top:103px}.how .impact .projectile{left:calc(50% + 6px);top:55%;width:66px}}
@media(max-width:360px){.how .duel-options figure{width:92px}.how .duel-options .duel-pair-one{left:0;top:40px}.how .duel-options .duel-pair-two{left:8px;top:104px}}


/* Independent section themes: swap section-light / section-dark on the outer
   section only. Layout, order, hero and printed card artwork are independent. */
:root,.section-dark{
 --section-bg:#1d0d26;--section-text:#f5e8cd;--section-muted:#ccbcd1;
 --section-accent:#ffc45e;--section-secondary:#c58fe9;--section-border:#b695c24d;
 --section-panel:#ffffff05;--section-control:#ffffff08;--section-highlight:#ffc45e0b;
 --section-button-bg:#ffc45e;--section-button-text:#2a1430;--section-button-hover:#ffda8d;
 --section-title-shadow:#66367e;--section-texture:none;
}
.section-light{
 --section-bg:#f5e8cd;--section-text:#302036;--section-muted:#66546a;
 --section-accent:#754191;--section-secondary:#754191;--section-border:#79509040;
 --section-panel:#ffffff70;--section-control:#30203608;--section-highlight:#7541910b;
 --section-button-bg:#754191;--section-button-text:#fff9ed;--section-button-hover:#572c70;
 --section-title-shadow:#d9bedf;
 --section-texture:radial-gradient(#754e2b13 .7px,transparent .7px);
}
.section-surface{background-color:var(--section-bg);background-image:var(--section-texture);background-size:5px 5px;color:var(--section-text)}
.section-surface .eyebrow{color:var(--section-accent)}
.section-surface .button{background:var(--section-button-bg);border-color:var(--section-button-bg);color:var(--section-button-text)}
.section-surface .button:hover{background:var(--section-button-hover);border-color:var(--section-button-hover)}
.section-surface .text-button{color:var(--section-text);border-color:var(--section-border)}
.section-surface .quote{border-color:var(--section-secondary)}
.section-light .team-panel{--team-label:var(--team-deep)}
.section-dark .team-panel{--team-label:var(--team-color)}
.section-surface .next-character,.section-surface .character-quote p::before,.section-surface .character-quote p::after{color:var(--team-label)}
.section-surface .player-controls{background:var(--section-control);border-color:var(--section-border)}
.section-surface .compact-players{background:none;border:0}
.section-surface .player-controls output{color:var(--section-accent)}
.section-surface .player-controls input,.section-surface .consent input{accent-color:var(--section-accent)}
.section-surface .player-shortcuts button{color:var(--section-text);border-color:var(--section-border)}
.section-surface .player-shortcuts button[aria-pressed="true"]{background:var(--section-button-bg);color:var(--section-button-text)}
.section-surface .technique-gallery figure:target{outline-color:var(--section-accent);background:var(--section-panel)}
.section-surface input[type=email]{border-color:var(--section-border)}

/* Give the signup its own contrasting surface; descendants inherit its palette. */
.section-light .signup-panel{
 --section-text:#fff4dd;--section-muted:#dbcbe1;--section-accent:#ffc45e;
 --section-border:#b695c2;--section-button-bg:#ffc45e;
 --section-button-text:#2a1430;--section-button-hover:#ffda8d;
 background:linear-gradient(145deg,#382044,#21102c);
 border-color:#754191;
 box-shadow:0 16px 36px #30203626;
}
.section-dark .signup-panel{
 --section-text:#302036;--section-muted:#66546a;--section-accent:#754191;
 --section-border:#79509080;--section-button-bg:#754191;
 --section-button-text:#fff9ed;--section-button-hover:#572c70;
 background:#fff4dd;
 border-color:#fff4dd;
 box-shadow:0 16px 36px #00000030;
}
.section-surface .signup-panel{color:var(--section-text);border-top:4px solid var(--section-accent)}

/* A card keeps its position as its rank changes; only the outgoing card moves. */
.characters .character-card{transition:none;pointer-events:none}
.characters .character-card img,.characters .character-card:hover img{transform:none;transition:none}
.characters .character-card.is-cycling figcaption{visibility:hidden}
.characters .team-cards{isolation:isolate;touch-action:manipulation}
