/* One Shot Stratégie : le mur d'enquête */
:root{
  --ink:#1d1a16;--red:#c8261a;--string:#c3170c;--paper:#f7f2e6;--paper2:#fbf8ef;--kraft:#d7b98a;--yellow:#fde35b;--pink:#f9c6c0;--dymo:#121212;
  --typed:"Courier Prime",ui-monospace,monospace;--hand:"Nanum Pen Script",cursive;--dymof:"Barlow Condensed","Arial Narrow",sans-serif;--news:"Libre Caslon Text",Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-family:var(--typed);color:var(--ink);overflow-x:hidden;
  background:
   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .05  0 0 0 0 .11  0 0 0 0 .08  0 0 0 1.4 -.5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)'/%3E%3C/svg%3E"),
   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='d'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.6' numOctaves='3' seed='9'/%3E%3CfeColorMatrix values='0 0 0 0 .32  0 0 0 0 .45  0 0 0 0 .37  0 0 0 2 -1.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23d)'/%3E%3C/svg%3E"),
   #243b30}
a{color:inherit}
::selection{background:var(--red);color:#fff}

/* ---------- Objets de base ---------- */
.dymo{display:inline-block;background:var(--dymo);color:#f4f1ea;font-family:var(--dymof);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.12em .42em .08em;border-radius:5px;line-height:1;white-space:nowrap;
  text-shadow:0 1px 0 rgba(255,255,255,.35),0 -1px 0 rgba(0,0,0,.9);box-shadow:inset 0 2px 0 rgba(255,255,255,.08),inset 0 -3px 0 rgba(0,0,0,.4),4px 8px 12px rgba(20,8,0,.45);
  background-image:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,0) 40%,rgba(0,0,0,.25))}
.dymo.red{background-color:var(--red)}
.pin{position:absolute;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff8a73,#d8321c 45%,#7d1508 100%);box-shadow:2px 4px 4px rgba(0,0,0,.45);z-index:5}
.pin.b{background:radial-gradient(circle at 35% 30%,#fff2a8,#e8c21c 45%,#7a5d05 100%)}
.paper{background:var(--paper);box-shadow:0 1px 1px rgba(0,0,0,.2),6px 12px 18px rgba(30,12,0,.42)}
.lined{background:var(--paper2);background-image:repeating-linear-gradient(var(--paper2) 0 27px,#bcd3e8 27px 28px);background-position:0 46px;position:relative}
.lined::before{content:"";position:absolute;left:0;right:0;top:44px;height:1px;background:#e36b5e}
.lined h5,.lbl{font-family:var(--typed);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.postit{background:var(--yellow);font-family:var(--hand);color:#2a2410;line-height:.95;box-shadow:2px 3px 2px rgba(0,0,0,.15),8px 16px 20px rgba(30,12,0,.4)}
.postit b{color:#b81f14;font-weight:400}
.postit.pink{background:#dcb979;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .45  0 0 0 0 .32  0 0 0 0 .14  0 0 0 .28 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23k)'/%3E%3C/svg%3E")}
.postit.pink b{color:var(--red)}
.tag{background:var(--kraft);clip-path:polygon(18% 0,100% 0,100% 100%,18% 100%,0 50%);filter:drop-shadow(5px 9px 8px rgba(30,12,0,.45));font-family:var(--dymof);font-weight:700;color:#2a1c0c;position:relative}
.tag .hole{position:absolute;left:9%;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:#1c3028;box-shadow:inset 1px 2px 2px rgba(0,0,0,.55)}
.news{background:#ece6d6;font-family:var(--news);box-shadow:0 1px 1px rgba(0,0,0,.2),6px 12px 18px rgba(30,12,0,.42);background-image:linear-gradient(90deg,rgba(0,0,0,.03),transparent 20%,transparent 80%,rgba(0,0,0,.04))}
.news .kick{font-family:var(--typed);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6b6152;border-bottom:1px solid #b9ae98;padding-bottom:5px;margin-bottom:8px}
.news h6{font-weight:700;line-height:1.05}
.news p{color:#4b443a;line-height:1.4}
.polaroid{background:#fdfcf8;padding:14px 14px 54px;box-shadow:0 1px 1px rgba(0,0,0,.2),6px 12px 18px rgba(30,12,0,.42);position:relative}
.polaroid svg{display:block;width:100%;height:auto;aspect-ratio:600/440;background:#1b1b19}
.polaroid .cap{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-family:var(--hand);color:#1d3d8f;line-height:1}
.stamp{display:inline-block;font-family:var(--dymof);font-weight:700;color:var(--red);border:5px solid var(--red);padding:4px 16px;letter-spacing:.12em;text-transform:uppercase;line-height:1;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 -2.2 1.75'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23s)'/%3E%3C/svg%3E");
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 -2.2 1.75'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23s)'/%3E%3C/svg%3E")}
.tape{position:absolute;width:90px;height:26px;background:rgba(240,230,200,.62);top:-12px;left:50%;margin-left:-45px;transform:rotate(-4deg);box-shadow:0 1px 2px rgba(0,0,0,.15);z-index:5}
.btn-red{display:inline-flex;align-items:center;gap:14px;background:var(--red);color:#fff;font-family:var(--dymof);font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:6px;box-shadow:5px 9px 14px rgba(20,8,0,.45);cursor:pointer;border:0;transition:transform .25s,box-shadow .25s}
.btn-red:hover{transform:translateY(-2px) rotate(-1deg);box-shadow:6px 12px 18px rgba(20,8,0,.5)}
.hl{background:var(--yellow)}

/* ---------- Navigation ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:18px 28px;pointer-events:none;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.nav>*{pointer-events:auto}
.nav.hide{transform:translateY(-120%)}
.nav .dymo{font-size:24px;text-decoration:none}
.nav-r{display:flex;gap:12px;align-items:center}
.nav-r a{text-decoration:none;background:var(--paper);font-size:14px;padding:8px 13px;box-shadow:3px 6px 10px rgba(20,8,0,.35);transition:transform .25s}
.nav-r a:nth-child(odd){transform:rotate(-1.5deg)}
.nav-r a:nth-child(even){transform:rotate(1.5deg)}
.nav-r a:hover{transform:rotate(0) translateY(-2px)}
.nav-r a.go{background:var(--red);color:#fff;font-weight:700;white-space:nowrap}
.nav-r .short{display:none}

/* ---------- Moteur des tableaux ---------- */
.board{position:relative}
.stage{position:relative;overflow:hidden;height:100vh;height:100svh;min-height:560px;box-shadow:inset 0 0 80px 20px rgba(4,14,9,.45)}
.board.scrolly{height:850vh}
.board.scrolly .stage{position:sticky;top:0}
.canvas{position:absolute;left:0;top:0;transform-origin:0 0}
.it{position:absolute;z-index:3;opacity:0;transform:translateY(-36px) rotate(calc(var(--r,0deg) + 9deg)) scale(1.22);transition:transform .62s cubic-bezier(.2,1.45,.45,1),opacity .18s;transition-delay:var(--d,0s)}
.it.on{opacity:1;transform:rotate(var(--r,0deg))}
.it .pin{transform:scale(0);transition:transform .32s cubic-bezier(.3,1.8,.5,1);transition-delay:calc(var(--d,0s) + .38s)}
.it.on .pin{transform:scale(1)}
svg.strings{position:absolute;left:0;top:0;z-index:2;pointer-events:none;overflow:visible}
svg.strings path{fill:none;stroke:var(--string);stroke-width:2.6;stroke-linecap:round;filter:drop-shadow(2px 4px 2px rgba(20,5,0,.45));transition:stroke-dashoffset .95s cubic-bezier(.6,0,.2,1)}

/* Hero */
.title .dymo{display:block;width:max-content;font-size:84px;margin-bottom:18px}
.title .dymo:nth-child(1){transform:rotate(-2.2deg)}
.title .dymo:nth-child(2){transform:rotate(1.1deg) translateX(46px)}
.title .dymo:nth-child(3){transform:rotate(-.8deg) translateX(10px)}
.h-card{padding:26px 28px 24px}
.h-card h5{margin-bottom:22px}
.h-card p{font-size:17px;line-height:28px}
.h-cta{font-size:26px;padding:14px 26px}
.h-post{padding:24px 18px 20px 30px;height:210px;font-size:30px}
.h-post b{font-size:50px;display:block}
.h-fiche{padding:18px 20px;font-size:14.5px;line-height:1.55}
.h-fiche h6{font-size:12px;letter-spacing:.12em;border-bottom:1px dashed #9a8f7c;padding-bottom:8px;margin-bottom:8px}
.h-tag{height:96px;display:flex;align-items:center;justify-content:center;padding-left:26px;font-size:38px;line-height:1}
.h-tag small{display:block;font-size:14px;letter-spacing:.1em;font-weight:600}
.h-clip{padding:14px 16px}
.h-clip h6{font-size:21px;margin-bottom:6px}
.h-clip p{font-size:12px;columns:2;column-gap:12px}
.polaroid .cap{font-size:31px}
.scribble{font-family:var(--hand);color:rgba(246,239,224,.92);font-size:28px;line-height:1}
.scroll-hint{font-family:var(--hand);font-size:34px;color:#fff6e3;line-height:1;text-align:center}
.scroll-hint span{display:inline-block;animation:bob 1.6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(8px)}}

/* Points et zone sur les cartes */
.map .dot{transform:scale(0);transform-box:fill-box;transform-origin:center;transition:transform .5s cubic-bezier(.3,1.7,.5,1)}
.it.on .map .dot{transform:scale(1)}
.map .zone{stroke-dasharray:560;stroke-dashoffset:560;opacity:0;transition:stroke-dashoffset 1.2s cubic-bezier(.6,0,.2,1),opacity .3s}
.board.hero .map .zone,.s4 .map .zone{stroke-dashoffset:0;opacity:1}
.board.hero .map .zone{transition-delay:1.6s}
.map-note{position:absolute;right:6%;top:58%;font-family:var(--hand);color:#ff5a47;font-size:34px;line-height:1;transform:rotate(-8deg) scale(.6);opacity:0;transition:opacity .4s,transform .5s cubic-bezier(.3,1.7,.5,1)}
.s4 .map-note{opacity:1;transform:rotate(-8deg) scale(1);transition-delay:.9s}

/* Enquête */
.q-card{padding:24px 26px 26px}
.q-card .lbl{color:#776c5a;margin-bottom:24px;display:flex;justify-content:space-between}
.q-card p.q{font-size:29px;line-height:36px;font-weight:700}
.q-card .meta{margin-top:14px;font-size:14px;line-height:28px;color:#4b443a}
.e-card{padding:22px 24px 20px}
.e-card .lbl{color:var(--red);margin-bottom:20px}
.e-card p{font-size:17.5px;line-height:28px}
.i-post{padding:24px 20px 22px 30px;height:230px;font-size:31px}
.i-post b{font-size:58px;display:block}
.i-tag{height:110px;display:flex;align-items:center;justify-content:center;padding-left:30px;font-size:44px;line-height:1}
.i-tag small{display:block;font-size:15px;letter-spacing:.1em;font-weight:600}
.i-tag-note{white-space:nowrap;font-family:var(--hand);font-weight:400;font-size:30px;color:#fff6e3}
.i-clip{padding:16px 18px 18px}
.i-clip h6{font-size:25px;margin-bottom:8px}
.i-clip p{font-size:13.5px;columns:2;column-gap:14px}
.sol{padding:30px 36px 32px;background:var(--paper2);box-shadow:0 2px 2px rgba(0,0,0,.2),10px 22px 34px rgba(30,12,0,.55)}
.sol .dymo{font-size:30px;transform:rotate(-1.5deg);margin-bottom:30px}
.sol p{font-size:20px;line-height:31px;margin-bottom:10px}
.sol p b{background:var(--yellow);padding:0 3px}
.sol .stamp{position:absolute;right:30px;top:30px;font-size:23px;border-width:4px;transform:rotate(-8deg) scale(2.4);opacity:0;transition:transform .45s cubic-bezier(.5,0,.6,1.6),opacity .2s;transition-delay:1.05s}
.s6 .sol .stamp{transform:rotate(-8deg) scale(1);opacity:.88}
.board.scrolly.s6 .canvas>.it.on:not(.sol){filter:brightness(.8) saturate(.7);transition:filter .6s,transform .62s cubic-bezier(.2,1.45,.45,1),opacity .18s}
.mode-m .sol p{font-size:18px;line-height:27px}
.mode-m .sol .stamp{font-size:19px;right:20px;top:26px}
.sol .btn-red{font-size:22px;padding:12px 22px;margin-top:12px}
.progress{position:absolute;left:22px;bottom:16px;z-index:20;display:flex;gap:10px;align-items:center}
.progress .dymo{font-size:20px}
.progress .bar{display:flex;gap:6px}
.progress .bar i{width:22px;height:8px;border-radius:2px;background:rgba(0,0,0,.35);box-shadow:inset 0 1px 2px rgba(0,0,0,.4);transition:background .3s}
.progress .bar i.on{background:var(--red)}
.caption{position:absolute;left:0;right:0;bottom:0;z-index:20;display:none}
.caption .paper{margin:0 14px 14px;padding:14px 16px 16px;transform:rotate(-.6deg)}
.caption .lbl{color:var(--red);margin-bottom:8px;font-size:12px}
.caption p{font-size:15px;line-height:1.45}
.mode-m .caption{display:block}
.mode-m .caption .paper{height:168px;overflow:hidden}
.mode-m .title .dymo{font-size:68px}
.mode-m .h-post{font-size:26px}
.mode-m .h-post b{font-size:42px}
.steps>svg.strings,.dossier>svg.strings{width:100%;height:100%}
.mode-m .progress{left:auto;right:16px;top:74px;bottom:auto}
.mode-m .progress .dymo{display:none}

/* ---------- Sections du site ---------- */
.sec{position:relative;padding:130px 24px 120px;overflow-x:hidden;overflow-x:clip}
body{overflow-x:clip}
.wrap{max-width:1200px;margin:0 auto;position:relative}
.sec-h{margin-bottom:56px}
.sec-h h1,.sec-h h2{font-size:inherit;font-weight:inherit;line-height:inherit}
.sec-h .dymo{font-size:clamp(34px,5.6vw,64px);display:inline-block;transform:rotate(-1.5deg)}
.sec-h .dymo.red{margin-top:12px;transform:rotate(1deg) translateX(24px)}
.sec-h .sub{display:inline-block;margin-top:22px;background:var(--paper);padding:12px 16px;font-size:16px;line-height:1.5;max-width:540px;transform:rotate(.8deg);box-shadow:3px 6px 10px rgba(20,8,0,.35)}
.flow .it{position:relative;left:auto;top:auto}

/* Méthode */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;position:relative;align-items:start}
.step{padding:22px 22px 20px}
.step .n{font-family:var(--dymof);font-weight:700;font-size:58px;line-height:1;color:var(--red);margin:10px 0 6px}
.step h3{font-family:var(--typed);font-size:21px;margin-bottom:10px}
.step p{font-size:15px;line-height:28px}
.step .when{display:inline-block;margin-top:14px}
.step .when .dymo{font-size:18px}
.steps article:nth-of-type(2){margin-top:60px}.steps article:nth-of-type(3){margin-top:10px}.steps article:nth-of-type(4){margin-top:70px}

/* Dossier */
.dossier{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:34px;align-items:start}
.d-cover{background:#161614;color:#efebe3;padding:28px 24px;aspect-ratio:1/1.35;display:flex;flex-direction:column;box-shadow:0 1px 1px rgba(0,0,0,.3),8px 16px 24px rgba(30,12,0,.5);position:relative}
.d-cover .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#a39e93}
.d-cover h4{font-family:var(--news);font-size:30px;line-height:1.05;margin-top:auto}
.d-cover h4 em{color:#ff6a4d}
.d-cover .f{margin-top:18px;font-size:11px;letter-spacing:.14em;color:#a39e93;text-transform:uppercase}
.d-sheet{padding:22px 20px;font-size:14px;line-height:1.55;aspect-ratio:1/1.3}
.d-sheet h6{font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:12px}
.d-sheet ol{padding-left:20px}
.d-sheet li{margin-bottom:8px}
.d-grid{padding:16px;aspect-ratio:1/1.3;background:#f3f6ee;background-image:repeating-linear-gradient(#f3f6ee 0 22px,#dce9d2 22px 44px);font-size:12px;line-height:22px}
.d-grid h6{font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:0;line-height:22px}
.d-grid .r{display:flex;justify-content:space-between;gap:8px;white-space:nowrap;overflow:hidden}
.d-post{padding:28px 22px;height:230px;font-size:34px;margin-top:40px}
.d-label{font-family:var(--hand);font-size:30px;color:#fff6e3;line-height:1;margin-top:18px;transform:rotate(-2deg)}

/* Tarifs */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;align-items:start}
.price-card{padding:28px 26px 26px;position:relative}
.price-card.main{background:#fffdf6;margin-top:-20px}
.price-card .badge{position:absolute;top:-22px;right:18px;font-size:22px;transform:rotate(3deg)}
.price-card .name{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#776c5a;margin-bottom:14px;font-weight:700}
.price-card .amt{font-family:var(--dymof);font-weight:700;font-size:64px;line-height:1;color:var(--ink)}
.price-card .amt small{font-size:20px;letter-spacing:.06em;margin-left:6px;color:#6b6152}
.price-card .from{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#776c5a;display:block;margin-bottom:4px}
.price-card .pitch{font-family:var(--hand);font-size:28px;line-height:1;color:#1d3d8f;margin:12px 0 16px}
.price-card ul{list-style:none;border-top:1px dashed #9a8f7c;margin-bottom:18px}
.price-card li{padding:9px 0 9px 26px;border-bottom:1px dashed #c9bfae;font-size:14.5px;line-height:1.45;position:relative}
.price-card li::before{content:"✓";position:absolute;left:2px;top:8px;color:var(--red);font-weight:700}
.price-card .when{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#776c5a;margin-bottom:16px}
.price-card .btn-red{font-size:20px;padding:12px 18px;width:100%;justify-content:space-between}
.price-card.alt .btn-red{background:var(--dymo)}
.after{margin:60px auto 0;max-width:560px;padding:28px 26px 24px;font-size:30px;height:auto}
.after b{font-size:30px}
.after p{font-family:var(--typed);font-size:15px;line-height:1.5;color:#3a3320;margin-top:12px}

/* FAQ */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:28px 34px;align-items:start}
.faq details{padding:0}
.faq summary{list-style:none;cursor:pointer;padding:22px 56px 20px 24px;font-size:18px;font-weight:700;line-height:1.35;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:16px;font-family:var(--dymof);font-size:34px;color:var(--red);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 24px 22px;font-size:15px;line-height:28px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.form-card{padding:30px 32px 34px;position:relative}
.form-card .lbl{display:flex;justify-content:space-between;color:#776c5a;margin-bottom:26px}
.field{margin-bottom:20px}
.field label{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-bottom:4px}
.field input,.field textarea,.field select{width:100%;background:transparent;border:0;border-bottom:2px dotted #8d8270;font-family:var(--typed);font-size:18px;padding:8px 2px;color:var(--ink);outline:none;border-radius:0;-webkit-appearance:none;appearance:none}
.field textarea{min-height:110px;resize:vertical;line-height:28px}
.field input:focus,.field textarea:focus,.field select:focus{border-bottom-color:var(--red)}
.field select{cursor:pointer}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-card .btn-red{font-size:24px;padding:14px 24px;margin-top:8px}
.form-card .small{font-size:13px;color:#6b6152;margin-top:14px}
.form-msg{color:var(--red);font-size:14px;margin-top:10px}
.form-card .ok{display:none;text-align:center;padding:40px 10px}
.form-card .ok .stamp{font-size:40px;transform:rotate(-8deg)}
.form-card .ok p{margin-top:24px;font-size:17px;line-height:1.5}
.form-card.sent .fields{display:none}
.form-card.sent .ok{display:block}
.hp{position:absolute;left:-9999px}
.contact-side .postit{padding:26px 22px;font-size:32px;margin-bottom:34px;height:auto}
.contact-side .paper{padding:20px 22px;font-size:15px;line-height:1.6}
.foot{padding:70px 24px 40px;text-align:center}
.foot .dymo{font-size:clamp(34px,7vw,80px);transform:rotate(-1deg)}
.foot p{margin-top:24px;font-size:13px;color:#f6efe0;letter-spacing:.06em;opacity:.85}
.foot p a{color:#f6efe0}

@media (max-width:980px){
  .steps{grid-template-columns:1fr 1fr}
  .steps article:nth-of-type(n){margin-top:0}
  .dossier{grid-template-columns:1fr 1fr}
  .prices{grid-template-columns:1fr;max-width:520px;margin:0 auto}
  .price-card.main{margin-top:0}
  .faq{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .nav{padding:12px 14px}
  .nav .dymo{font-size:19px}
  .nav-r a:not(.go){display:none}
  .nav-r .long{display:none}
  .nav-r .short{display:inline}
  .sec{padding:100px 16px 90px}
  .steps{grid-template-columns:1fr;gap:28px}
  .dossier{grid-template-columns:1fr 1fr;gap:20px}
  .d-cover h4{font-size:22px}
  .d-post{height:auto;font-size:28px;margin-top:0}
  .two{grid-template-columns:1fr}
  .form-card{padding:24px 20px 28px}
  .progress .bar i{width:14px}
}
@media (prefers-reduced-motion:reduce){
  .it,.it .pin,.map .dot,.map .zone,svg.strings path,.sol .stamp,.map-note{transition:none!important}
  .scroll-hint span{animation:none}
}

/* Méthode : un objet différent par étape */
.s-phone{background:#e4cb98;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .45  0 0 0 0 .32  0 0 0 0 .14  0 0 0 .28 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23k)'/%3E%3C/svg%3E");padding:18px 20px 20px;box-shadow:0 1px 1px rgba(0,0,0,.2),6px 12px 18px rgba(0,0,0,.4)}
.s-phone .ph-hd{display:flex;justify-content:space-between;align-items:center;font-family:var(--dymof);font-weight:700;font-size:30px;letter-spacing:.14em;text-transform:uppercase;color:#b4231a;border-bottom:2px solid #b4231a;padding-bottom:6px;margin-bottom:10px}
.s-phone .ph-hd .dymo{font-size:22px;letter-spacing:.06em}
.ph-checks{display:flex;gap:10px;flex-wrap:wrap;font-size:11.5px;color:#5e4220;margin-bottom:10px}
.ph-row{display:flex;gap:10px;align-items:baseline;border-bottom:1px dotted #8a6a3c;padding:2px 0 4px;margin-bottom:6px}
.ph-row b{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#5e4220;width:50px;flex:none}
.hw{font-family:var(--hand);font-size:31px;color:#1d3d8f;line-height:1}
.s-phone .hw-big{font-family:var(--hand);font-size:30px;line-height:1.02;color:#1d3d8f;margin:12px 0 10px}
.s-env{background:#c9a36a;padding:70px 16px 18px;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.25),6px 12px 18px rgba(0,0,0,.4);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .45  0 0 0 0 .32  0 0 0 0 .14  0 0 0 .3 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23k)'/%3E%3C/svg%3E")}
.env-flap{position:absolute;left:0;right:0;top:0;height:66px;background:#b88d52;clip-path:polygon(0 0,100% 0,50% 100%)}
.env-btn{position:absolute;left:50%;top:50px;width:26px;height:26px;margin-left:-13px;border-radius:50%;background:#efe6d2;box-shadow:inset 0 0 0 4px #a8814a,0 2px 3px rgba(0,0,0,.3);z-index:2}
.env-label{background:#fbf8ef;padding:14px 14px 14px;position:relative;z-index:1;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.env-label .lbl{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:#776c5a;margin-bottom:10px}
.env-label .lbl .dymo{font-size:20px}
.env-label h3,.s-annot h3{font-family:var(--typed);font-size:20px;margin-bottom:8px}
.env-label p{font-size:14.5px;line-height:1.55}
.s-env .when{margin-top:14px}
.s-annot{background:#fdfcf8;padding:26px 22px 20px;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.2),6px 12px 18px rgba(0,0,0,.4)}
.pclip{position:absolute;left:-12px;top:34px;width:24px;height:76px;transform:rotate(-4deg);z-index:6}
.an-hd{font-family:var(--typed);font-weight:700;font-size:21px;display:flex;align-items:center;gap:12px;margin-bottom:14px}
.an-hd .dymo{font-size:24px}
.s-annot p,.fo-paper p{font-size:15px;line-height:1.75}
.s-annot mark{background:linear-gradient(transparent 38%,#fde35b 38%,#fde35b 88%,transparent 88%);padding:0 2px;color:inherit}
.circ{position:relative;display:inline-block}
.circ::after{content:"";position:absolute;inset:-7px -10px;border:2.5px solid #d4261c;border-radius:50%;transform:rotate(-7deg)}
.an-note{position:absolute;right:16px;bottom:16px;font-family:var(--hand);font-size:32px;color:#d4261c;transform:rotate(-9deg)}
.s-folder{filter:drop-shadow(6px 12px 12px rgba(0,0,0,.42))}
.fo-tab{display:inline-block;background:#dcb979;padding:9px 18px 7px;border-radius:9px 9px 0 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#4a3412}
.fo-body{background:#dcb979;padding:16px 16px 18px;border-radius:0 6px 6px 6px;position:relative}
.fo-paper{background:#fbf8ef;padding:16px 16px 14px;transform:rotate(-1.5deg);box-shadow:0 2px 3px rgba(0,0,0,.22)}
.fo-stamp{position:absolute;right:18px;bottom:14px;font-size:26px;transform:rotate(-10deg);opacity:.85}
.s-folder .when{margin-top:16px}
#methode{padding-bottom:70px}
#dossier{padding-top:90px}

/* Tarifs : trois dossiers de mission */
.missions{display:grid;gap:46px}
.mission{position:relative;filter:drop-shadow(6px 12px 14px rgba(0,0,0,.42))}
.m-badge{position:absolute;top:-14px;right:28px;font-size:21px;transform:rotate(2.5deg);z-index:6}
.m-body{background:#dcb979;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .45  0 0 0 0 .32  0 0 0 0 .14  0 0 0 .28 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23k)'/%3E%3C/svg%3E");padding:18px;border-radius:0 6px 6px 6px;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px;align-items:start}
.m-head{padding:20px 22px 24px;position:relative}
.m-head .lbl{color:#776c5a;margin-bottom:26px;font-size:12px}
.m-q{font-family:var(--typed);font-weight:700;font-size:22px;line-height:1.3;margin-bottom:8px}
.m-pitch{font-family:var(--hand);font-size:28px;line-height:1;color:#1d3d8f;margin-bottom:16px}
.m-price{font-family:var(--dymof);font-weight:700;font-size:56px;line-height:1;color:var(--ink)}
.m-price small{font-size:19px;letter-spacing:.06em;margin-left:6px;color:#6b6152}
.m-price .from{display:block;font-family:var(--typed);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#776c5a;margin-bottom:4px;font-weight:700}
.m-head .when{display:block;margin:12px 0 16px}
.m-head .when .dymo{font-size:17px}
.m-head .btn-red{font-size:19px;padding:12px 18px;width:100%;justify-content:space-between}
.m-col{display:grid;gap:14px}
.m-list{padding:16px 18px 10px}
.m-list h6{font-family:var(--typed);font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:7px;margin-bottom:4px}
.m-list ul{list-style:none}
.m-list li{padding:8px 0 8px 24px;border-bottom:1px dashed #c9bfae;font-size:14px;line-height:1.45;position:relative}
.m-list li:last-child{border-bottom:0}
.m-list li::before{content:"✓";position:absolute;left:1px;top:7px;color:var(--red);font-weight:700}
.m-not{background:#1b1b19;color:#d9d4c8;font-size:12.5px;line-height:1.5;padding:10px 13px;border-radius:3px;transform:rotate(-.5deg);box-shadow:2px 4px 8px rgba(0,0,0,.35)}
.m-ex{padding:30px 18px 18px;font-size:24px;line-height:1.02;position:relative}
.m-ex a{color:#1d3d8f;font-size:22px}
@media (max-width:980px){.m-body{grid-template-columns:1fr}}

.m-cap{font-size:11.5px;line-height:1.45;color:#776c5a;padding:9px 0 10px}

/* Page Le pari */
.steps-3{grid-template-columns:repeat(3,1fr)}
.g2p{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:44px;max-width:1200px}
@media(max-width:900px){.steps-3{grid-template-columns:1fr}.g2p{grid-template-columns:1fr}}

/* ---------- Veille (abonnements) ---------- */
.vl-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:46px;align-items:start;margin-bottom:90px}
.vl-bul{padding:30px 30px 34px;font-size:15px;line-height:1.5}
.vl-bul-hd{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;border-top:3px double var(--ink);border-bottom:3px double var(--ink);padding:9px 0}
.vl-meta{font-size:12.5px;color:#776c5a;margin:10px 0 22px}
.vl-bul h6{font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:7px;margin-bottom:6px}
.vl-bul ol{list-style:none}
.vl-bul li{display:grid;grid-template-columns:118px 1fr;gap:14px;align-items:start;padding:13px 0;border-bottom:1px dashed #c9bfae}
.vl-bul li .dymo{font-size:15px;justify-self:start;margin-top:2px}
.vl-reco{background:#1b1b19;color:#ece6d6;padding:16px 18px;margin-top:20px;transform:rotate(-.4deg);box-shadow:3px 6px 10px rgba(0,0,0,.35)}
.vl-reco .lbl{color:var(--yellow);display:block;margin-bottom:6px;font-size:12px}
.vl-note{position:absolute;right:18px;bottom:6px;font-family:var(--hand);font-size:22px;color:#1d3d8f}
.vl-slips{display:grid;gap:20px}
.vl-cap{margin-bottom:4px}
.vl-slip{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:start;padding:16px 18px 12px;font-size:14px;line-height:1.45}
.vl-slip .dymo{font-size:15px;margin-top:1px}
.vl-slip .t{grid-column:2;font-family:var(--hand);font-size:22px;color:#1d3d8f;line-height:1}
.vl-quiet{padding:28px 20px 18px;font-size:27px;max-width:340px;justify-self:end}
.vl-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:stretch}
.vl-plan .m-body{grid-template-columns:1fr;height:calc(100% - 34px)}
.vl-plan .m-q{font-size:19px}
.vl-plan .m-price{font-size:48px}
.vl-rule{font-size:23px}
@media (max-width:980px){.vl-grid,.vl-plans{grid-template-columns:1fr}.vl-plan .m-body{height:auto}.vl-quiet{justify-self:start}}
@media (max-width:640px){.vl-bul{padding:22px 18px 30px}.vl-bul li{grid-template-columns:1fr;gap:6px}}
/* Titres à étiquettes : retour à la ligne sur téléphone plutôt que rognés */
@media (max-width:640px){.sec-h .dymo{white-space:normal;line-height:1.08;max-width:100%}.sec-h .dymo.red{transform:rotate(1deg) translateX(12px);max-width:calc(100% - 12px)}}
