/* ==========================================================================
   Radar Agency : feuille de style
   Direction : atelier japonais. Noir laqué, or (kintsugi), sceau vermillon.
   Polices : Dela Gothic One (titres), Zen Kaku Gothic New (texte).
   ========================================================================== */
@font-face{font-family:"Dela Gothic One";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/dela-gothic.woff2) format("woff2")}
@font-face{font-family:"Zen Kaku Gothic New";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/zen-kaku-400.woff2) format("woff2")}
@font-face{font-family:"Zen Kaku Gothic New";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/zen-kaku-500.woff2) format("woff2")}
@font-face{font-family:"Zen Kaku Gothic New";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/zen-kaku-700.woff2) format("woff2")}
:root{
  --ink:#08080A;--ink-2:#0E0E12;--ink-3:#15151A;
  --line:rgba(201,169,98,.16);--line-2:rgba(201,169,98,.34);
  --paper:#F0EBE1;--soft:#B2AA9C;--mute:#7A7366;
  --gold:#C9A962;--gold-2:#ECD9A8;--gold-3:#8A6D33;
  --shu:#C8372D;--bad:#E0573F;--mid:#E39B3A;--good:#9CC495;
  /* alias pour les styles en ligne existants */
  --lime:var(--gold);--orange:var(--bad);--amber:var(--mid);--soft-2:var(--soft);
  --f-serif:"Dela Gothic One","Yu Gothic","Hiragino Kaku Gothic ProN",Impact,sans-serif;
  --f-sans:"Zen Kaku Gothic New","Yu Gothic","Hiragino Kaku Gothic ProN","Segoe UI",system-ui,sans-serif;
  --f-jp:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  --ease:cubic-bezier(.22,.8,.24,1);--ease-out:cubic-bezier(.16,1,.3,1);
  --gut:clamp(20px,4vw,48px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--ink);color:var(--paper);font:300 clamp(16.5px,1.1vw,18px)/1.75 var(--f-sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(70% 55% at 50% -10%,rgba(201,169,98,.08),transparent 70%),radial-gradient(40% 40% at 100% 100%,rgba(200,55,45,.06),transparent 70%)}
img,svg,video{display:block;max-width:100%}
a{color:var(--gold-2);text-decoration:none;transition:color .3s}
a:hover{color:var(--gold)}
h1,h2,h3{font-family:var(--f-serif);font-weight:500;letter-spacing:-.01em;line-height:1.12;margin:0;color:var(--paper)}
p{margin:0}
strong{font-weight:500;color:var(--paper)}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
::selection{background:var(--gold);color:var(--ink)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--gold);color:var(--ink);padding:10px 16px}
.skip:focus{top:12px}
.wrap{width:100%;max-width:1320px;margin:0 auto;padding-inline:var(--gut)}
.sec{position:relative;padding-block:clamp(90px,11vw,160px)}
.sec--tight{padding-top:clamp(24px,3vw,40px)}
.h2{font-size:clamp(34px,4.6vw,64px)}
.lead{color:var(--soft);font-size:clamp(17px,1.35vw,19.5px);line-height:1.8}
.muted{color:var(--mute)}
.accent{font-style:normal;color:var(--gold);font-weight:400}
.hot{font-style:normal;color:var(--bad);font-weight:400}
.mark{color:var(--gold-2);background:linear-gradient(var(--gold),var(--gold)) no-repeat 0 100%/0% 1px;transition:background-size 1.4s var(--ease-out) .3s}
.is-in .mark,.mark.is-in{background-size:100% 1px}
/* Sur-titre : trait doré + petites capitales */
.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:28px;font:500 12px/1 var(--f-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.eyebrow span{font:400 15px/1 var(--f-jp);letter-spacing:0;color:var(--gold-2)}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--good);flex:none;box-shadow:0 0 10px var(--good)}
.dot--hot{background:var(--bad);box-shadow:0 0 10px var(--bad)}

/* Barre de lecture dorée */
.progress-top{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold-3),var(--gold-2),var(--gold-3));transform-origin:0 50%;transform:scaleX(0);z-index:80;pointer-events:none}
@supports (animation-timeline:scroll()){.progress-top{animation:grow linear both;animation-timeline:scroll(root)}@keyframes grow{to{transform:scaleX(1)}}}

/* Pétales de sakura (canvas plein écran) */
.petals{position:fixed;inset:0;z-index:5;pointer-events:none}

/* ---------- Boutons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:0 30px;border:0;cursor:pointer;font:500 12.5px/1 var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink);text-decoration:none;background:linear-gradient(180deg,var(--gold-2),var(--gold) 55%,#B08D4A);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 0 0 1px var(--gold-3),0 10px 30px -14px rgba(201,169,98,.6);transition:transform .5s var(--ease-out),box-shadow .4s,filter .3s;overflow:hidden;isolation:isolate}
.btn::before{content:"";width:7px;height:7px;background:var(--shu);flex:none;box-shadow:0 0 0 2px rgba(8,8,10,.25)}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s var(--ease-out);z-index:-1}
.btn:hover{color:var(--ink);transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 0 0 1px var(--gold),0 18px 40px -14px rgba(201,169,98,.75)}
.btn:hover::after{transform:translateX(120%)}
.btn:active{transform:scale(.98)}
.btn svg{flex:none;transition:transform .5s var(--ease-out)}
.btn:hover svg{transform:translateX(4px)}
.btn--ghost,.btn--dark{color:var(--gold-2);background:rgba(14,14,18,.6);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn--ghost::before,.btn--dark::before{width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:none}
.btn--ghost:hover,.btn--dark:hover{color:var(--ink);background:var(--gold);box-shadow:inset 0 0 0 1px var(--gold),0 18px 40px -14px rgba(201,169,98,.6)}
.btn--ghost:hover::before,.btn--dark:hover::before{background:var(--shu)}
.btn--lg{min-height:62px;padding:0 36px;font-size:13px}

/* ---------- En-tête ---------- */
.header{position:sticky;top:0;z-index:60;background:rgba(8,8,10,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .4s}
.header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-3) 20%,var(--gold) 50%,var(--gold-3) 80%,transparent);opacity:0;transition:opacity .4s}
.header.is-scrolled{background:rgba(8,8,10,.9)}
.header.is-scrolled::after{opacity:.7}
.header__in{max-width:1320px;margin:0 auto;padding:0 var(--gut);min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.header__left{display:flex;align-items:center;min-width:0}
.brand{display:flex;align-items:center;gap:14px;color:var(--paper);text-decoration:none}
.brand:hover{color:var(--paper)}
.brand__txt{display:flex;flex-direction:column;line-height:1}
.brand__name{font:500 16px/1 var(--f-sans);letter-spacing:.32em;text-transform:uppercase}
.brand__sub{margin-top:7px;font:400 9.5px/1 var(--f-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}
.seal{transition:transform .8s var(--ease-out)}
.brand:hover .seal{transform:rotate(-8deg)}
.nav{display:flex;align-items:center;gap:4px}
.nav>a:not(.btn){position:relative;padding:12px 13px;font:400 11.5px/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--soft)}
.nav>a:not(.btn)::after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease-out)}
.nav>a:not(.btn):hover,.nav>a:not(.btn)[aria-current=page]{color:var(--gold-2)}
.nav>a:not(.btn):hover::after,.nav>a:not(.btn)[aria-current=page]::after{transform:scaleX(1)}
.nav .btn{margin-left:14px;min-height:46px;padding:0 20px;font-size:11.5px}
.burger{display:none;width:48px;height:48px;border:1px solid var(--line-2);background:transparent;color:var(--gold-2);cursor:pointer;align-items:center;justify-content:center}
.burger span{display:block;width:18px;height:1px;background:currentColor;position:relative;transition:background .2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:1px;background:currentColor;transition:transform .35s var(--ease)}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger[aria-expanded=true] span{background:transparent}
.burger[aria-expanded=true] span::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded=true] span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1060px){
  .burger{display:inline-flex}
  .nav{position:fixed;inset:84px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;padding:18px var(--gut) 30px;background:rgba(8,8,10,.97);border-bottom:1px solid var(--line-2);transform:translateY(-10px);opacity:0;visibility:hidden;transition:opacity .35s,transform .45s var(--ease-out),visibility .35s}
  .nav.is-open{opacity:1;transform:none;visibility:visible}
  .nav>a:not(.btn){font:400 26px/1.2 var(--f-serif);letter-spacing:0;text-transform:none;padding:14px 0;color:var(--paper);border-bottom:1px solid var(--line)}
  .nav>a:not(.btn)::after{display:none}
  .nav .btn{margin:22px 0 0}
}

/* ---------- Avatars, étoiles, pastilles ---------- */
.avatar{flex:none;width:44px;height:44px;display:grid;place-items:center;font:500 18px/1 var(--f-serif);color:var(--paper);background:var(--ink-3);border:1px solid var(--line-2)}
.avatar--lg{width:88px;height:88px;font-size:38px}
.avatar.t-bad{background:var(--shu);border-color:var(--shu);color:#fff}
.avatar.t-mid{background:rgba(227,155,58,.14);border-color:var(--mid);color:var(--mid)}
.avatar.t-good{background:rgba(201,169,98,.12);border-color:var(--gold);color:var(--gold-2)}
.stars{display:inline-flex;gap:3px;--c:var(--gold)}
.stars svg{width:var(--s,16px);height:var(--s,16px)}
.stars .s-bg{fill:rgba(201,169,98,.18)}.stars .s-fg{fill:var(--c)}
.t-bad .stars,.stars.t-bad{--c:var(--bad)}.t-mid .stars,.stars.t-mid{--c:var(--mid)}.t-good .stars,.stars.t-good{--c:var(--gold)}
.stars.is-anim svg{animation:starIn .6s var(--ease-out) both;animation-delay:calc(var(--k)*.08s)}
.rating-big{font:500 clamp(80px,9vw,128px)/.9 var(--f-serif);letter-spacing:-.03em}
.t-bad .rating-big{color:var(--bad)}.t-mid .rating-big{color:var(--mid)}.t-good .rating-big{color:var(--gold-2)}
.pill{display:inline-flex;align-items:center;gap:6px;font:400 11px/1 var(--f-sans);letter-spacing:.12em;text-transform:uppercase;padding:8px 11px;border:1px solid var(--line-2);color:var(--soft)}
.pill--hot{border-color:rgba(224,87,63,.45);color:#F09A86;background:rgba(200,55,45,.08)}
.pill--ok{border-color:var(--line-2);color:var(--gold-2);background:rgba(201,169,98,.06)}

/* ---------- Séparateur kanji + fêlure d'or ---------- */
.kanji-div{display:flex;align-items:center;justify-content:center;gap:28px;padding-block:clamp(20px,4vw,50px)}
.kanji-div::before,.kanji-div::after{content:"";flex:1;max-width:320px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-3))}
.kanji-div::after{background:linear-gradient(-90deg,transparent,var(--gold-3))}
.kanji-div b{font:400 28px/1 var(--f-jp);color:var(--gold)}
.crack{display:block;width:100%;height:90px;overflow:visible}
.crack path{fill:none;stroke:var(--gold);stroke-width:1.3;stroke-dasharray:1800;stroke-dashoffset:1800;transition:stroke-dashoffset 3s var(--ease-out);filter:drop-shadow(0 0 5px rgba(236,217,168,.6))}
.crack.is-in path{stroke-dashoffset:0}

/* ---------- Bandeau ---------- */
.ticker{overflow:hidden;padding:24px 0;border-block:1px solid var(--line);background:rgba(14,14,18,.5)}
.ticker__track{display:flex;width:max-content;gap:48px;white-space:nowrap;animation:marquee 70s linear infinite}
.ticker__track span{display:inline-flex;align-items:center;gap:48px;font:400 clamp(19px,2vw,26px)/1 var(--f-serif);color:var(--soft)}
.ticker__track span::after{content:"\25C6";font-size:.45em;color:var(--gold-3)}
.ticker:hover .ticker__track{animation-play-state:paused}

/* ==========================================================================
   Accueil
   ========================================================================== */
.vh{position:relative}
.hx{padding-block:clamp(40px,7vh,90px) clamp(60px,8vw,110px);overflow:hidden}
.hx__in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:center}
@media (max-width:980px){.hx__in{grid-template-columns:minmax(0,1fr)}}
.vh__stage{display:flex;flex-direction:column;align-items:flex-start}
.vh__badge{display:inline-flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid var(--line-2);background:rgba(14,14,18,.6);font:400 11px/1 var(--f-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);margin-bottom:38px;animation:fadeUp 1s var(--ease-out) .1s both}
.vh__title{display:block;font-size:clamp(42px,5.4vw,80px);line-height:1.1;font-weight:500}
.vh__l1,.vh__l2{display:block}
.vh__l2{font-style:normal;font-weight:400;color:var(--gold)}
.kw{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.14em;margin-bottom:-.14em}
.kw>span{display:inline-block;animation:rise 1.1s var(--ease-out) both;animation-delay:calc(var(--i)*.08s + .2s)}
.vh__l1 .kw{margin-right:.24em}
@keyframes rise{from{transform:translateY(110%);opacity:0}to{transform:none;opacity:1}}
.vh__sub{margin-top:30px;max-width:560px;color:var(--soft);font-size:clamp(17px,1.35vw,19.5px);animation:fadeUp 1.2s var(--ease-out) .7s both}

.probe{width:100%;max-width:600px;margin-top:40px;animation:fadeUp 1.2s var(--ease-out) .85s both}
.probe__field{position:relative;display:flex;align-items:center;gap:14px;padding:8px 8px 8px 22px;background:rgba(14,14,18,.85);border:1px solid var(--line-2);transition:border-color .4s,box-shadow .4s;cursor:text}
.probe__field::before,.probe__field::after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--gold);transition:width .5s var(--ease-out),height .5s var(--ease-out)}
.probe__field::before{top:-5px;left:-5px;border-right:0;border-bottom:0}
.probe__field::after{bottom:-5px;right:-5px;border-left:0;border-top:0}
.probe__field:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,169,98,.08),0 20px 50px -20px rgba(201,169,98,.35)}
.probe__field:focus-within::before,.probe__field:focus-within::after{width:30px;height:30px}
.probe__icon{flex:none;width:20px;height:20px;color:var(--gold-3)}
.probe.has-value .probe__icon{color:var(--gold)}
.probe input{flex:1;min-width:0;border:0;background:transparent;color:var(--paper);font:300 18px/1.2 var(--f-sans);letter-spacing:.02em;padding:14px 0;outline:none;caret-color:var(--gold)}
.probe input::placeholder{color:var(--mute)}
.probe__go{flex:none;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px;border:0;cursor:pointer;font:500 12px/1 var(--f-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);background:linear-gradient(180deg,var(--gold-2),var(--gold));transition:filter .3s,transform .4s var(--ease-out)}
.probe__go:hover{filter:brightness(1.08)}
.probe__go:active{transform:scale(.97)}
.probe__go svg{transition:transform .4s var(--ease-out)}
.probe__go:hover svg{transform:translateX(4px)}
.probe.is-loading .probe__go{opacity:.6;pointer-events:none}
.probe.is-loading .probe__icon{animation:spin 1s linear infinite}
.probe__err{margin-top:14px;color:var(--bad);font-size:15px}
.probe__ex{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:400 11px/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.probe__chip{border:1px solid var(--line);background:transparent;color:var(--soft);font:300 13.5px/1 var(--f-sans);letter-spacing:.02em;text-transform:none;padding:10px 14px;cursor:pointer;transition:all .3s}
.probe__chip:hover{border-color:var(--gold);color:var(--gold-2)}
@media (max-width:520px){.probe__go span{display:none}.probe__go{padding:0 18px}}
.vh.has-result .probe,.vh.has-result .vh__title,.vh.has-result .vh__sub{display:none}

/* Résultat de la vérification */
.verdict{width:100%;display:flex;flex-direction:column;align-items:flex-start}
.verdict[hidden]{display:none}
.verdict__icon{width:56px;height:56px;display:grid;place-items:center;margin-bottom:24px;border:1px solid currentColor;animation:fadeUp .8s var(--ease-out) both}
.verdict__icon.t-bad{color:var(--bad)}.verdict__icon.t-mid{color:var(--mid)}.verdict__icon.t-good,.verdict__icon.t-none{color:var(--gold)}
.verdict__big{display:flex;flex-direction:column;font-size:clamp(40px,5.4vw,78px);line-height:1.05}
.verdict__big .a{font:500 1em/1.05 var(--f-serif)}
.verdict__big .b{font:400 1em/1.1 var(--f-serif)}
.verdict__big .b.t-bad{color:var(--bad)}.verdict__big .b.t-mid{color:var(--mid)}.verdict__big .b.t-good,.verdict__big .b.t-none{color:var(--gold)}
.verdict__dom{margin-top:22px;font:400 12px var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);word-break:break-all;animation:fadeUp .7s var(--ease-out) .3s both}
.verdict__score{display:flex;align-items:center;gap:18px;margin-top:18px;animation:fadeUp .7s var(--ease-out) .4s both}
.verdict__score b{font:500 56px/1 var(--f-serif)}
.verdict__score b.t-bad{color:var(--bad)}.verdict__score b.t-mid{color:var(--mid)}.verdict__score b.t-good{color:var(--gold-2)}
.verdict__score span{display:flex;flex-direction:column;gap:6px;color:var(--soft);font-size:15px}
.verdict__sig{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;animation:fadeUp .7s var(--ease-out) .5s both}
.verdict__txt{margin-top:16px;max-width:520px;color:var(--soft);animation:fadeUp .7s var(--ease-out) .4s both}
.verdict__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;animation:fadeUp .7s var(--ease-out) .6s both}
.verdict__again{margin-top:16px;background:none;border:0;color:var(--mute);font:400 11px var(--f-sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;min-height:44px}
.verdict__again:hover{color:var(--gold-2)}

/* Emblème : ensō doré + radar */
.enso-wrap{position:relative;display:grid;place-items:center;max-width:560px;width:100%;margin-inline:auto;animation:fadeIn 2s var(--ease-out) .3s both}
.enso{width:100%;height:auto;overflow:visible}
.enso__ring{fill:none;stroke:url(#goldStroke);stroke-width:14;stroke-linecap:round;stroke-dasharray:1500;stroke-dashoffset:1500;animation:ensoDraw 3s var(--ease-out) .4s forwards;filter:drop-shadow(0 0 18px rgba(201,169,98,.35))}
@keyframes ensoDraw{to{stroke-dashoffset:120}}
.enso__grid circle{fill:none;stroke:rgba(201,169,98,.14);stroke-width:1}
.enso__grid line{stroke:rgba(201,169,98,.1);stroke-width:1}
.enso__sweep{transform-origin:250px 250px;animation:spin 6s linear infinite}
.enso__blip{animation:blip 6s linear infinite;transform-box:fill-box;transform-origin:center}
.enso__blip--2{animation-delay:-2.4s}.enso__blip--3{animation-delay:-4.1s}
@keyframes blip{0%,4%{opacity:0;transform:scale(.4)}8%{opacity:1;transform:scale(1.5)}30%{opacity:.85;transform:scale(1)}70%,100%{opacity:.15}}
.enso__kanji{font:400 110px/1 var(--f-jp);fill:var(--gold-2);opacity:0;animation:fadeIn 1.6s var(--ease-out) 1.6s forwards}
.enso-card{position:absolute;right:0;bottom:4%;width:min(300px,64%);padding:20px 22px;background:rgba(14,14,18,.9);border:1px solid var(--line-2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fadeUp 1.2s var(--ease-out) 2s both;color:var(--paper);transition:border-color .4s,transform .5s var(--ease-out)}
.enso-card:hover{color:var(--paper);border-color:var(--gold);transform:translateY(-4px)}
.enso-card small{display:flex;align-items:center;gap:10px;font:400 10px/1 var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--bad);margin-bottom:12px}
.enso-card b{display:block;font:500 20px/1.2 var(--f-serif)}
.enso-card span{display:flex;align-items:baseline;gap:10px;margin-top:10px;color:var(--soft);font-size:14px}
.enso-card em{font:500 normal 34px/1 var(--f-serif);color:var(--bad)}
.enso-card.t-good em{color:var(--gold-2)}.enso-card.t-mid em{color:var(--mid)}
@media (max-width:980px){.enso-wrap{max-width:440px}}

/* Chiffres */
.strip{border-block:1px solid var(--line)}
.strip__in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.strip__item{padding:clamp(30px,4vw,52px) 20px;text-align:center;border-right:1px solid var(--line)}
.strip__item:last-child{border-right:0}
.strip__item b{display:block;font:500 clamp(44px,5vw,72px)/1 var(--f-serif);color:var(--gold-2)}
.strip__item--hot b{color:var(--bad)}
.strip__item span{display:block;margin-top:14px;font:400 11px/1.4 var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
@media (max-width:760px){.strip__in{grid-template-columns:1fr 1fr}.strip__item:nth-child(2){border-right:0}.strip__item:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* En-têtes de section */
.head-c{display:flex;flex-direction:column;align-items:center;text-align:center;margin:0 auto clamp(48px,6vw,80px);max-width:880px}
.head-c .eyebrow::after{content:"";width:34px;height:1px;background:linear-gradient(-90deg,transparent,var(--gold))}
.head-c .lead{margin-top:22px}
.toolbar{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(40px,5vw,64px)}
.toolbar__aside{max-width:420px}

/* Étapes : chiffres japonais */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}
.step{position:relative;padding:clamp(30px,3.5vw,52px);border-right:1px solid var(--line);transition:background .6s}
.step:last-child{border-right:0}
.step::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .8s var(--ease-out)}
.step:hover{background:rgba(201,169,98,.04)}
.step:hover::before{transform:scaleX(1)}
.step__n{display:block;font:400 64px/1 var(--f-jp);color:var(--gold);margin-bottom:34px}
.step h3{font-size:clamp(26px,2.4vw,34px);margin-bottom:14px}
.step p{color:var(--soft)}
@media (max-width:860px){.steps{grid-template-columns:minmax(0,1fr)}.step{border-right:0;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}}

/* Annuaire : deux colonnes */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.duo__col{position:relative;display:flex;flex-direction:column;gap:10px;padding:clamp(24px,3vw,40px);background:rgba(14,14,18,.7);border:1px solid var(--line)}
.duo__col::before{content:attr(data-kanji);position:absolute;top:24px;right:28px;font:400 44px/1 var(--f-jp);color:rgba(201,169,98,.2)}
.duo__col--bad::before{color:rgba(224,87,63,.3)}
.duo__col h3{display:flex;align-items:center;gap:14px;font-size:clamp(24px,2.4vw,32px);margin-bottom:14px}
.duo__none{color:var(--mute)}
@media (max-width:860px){.duo{grid-template-columns:minmax(0,1fr)}}
.grid-sites{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.scard{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--line);background:rgba(8,8,10,.5);color:inherit;text-decoration:none;transition:border-color .4s,transform .5s var(--ease-out),background .4s}
.scard:hover{color:inherit;border-color:var(--gold);background:rgba(201,169,98,.05);transform:translateX(6px)}
.scard__txt{min-width:0;flex:1}
.scard__txt b{display:block;font-weight:400;font-size:16.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scard__txt small{display:flex;align-items:center;gap:8px;color:var(--mute);font-size:13.5px;margin-top:4px}
.scard__note{font:500 28px/1 var(--f-serif)}
.t-bad .scard__note{color:var(--bad)}.t-mid .scard__note{color:var(--mid)}.t-good .scard__note{color:var(--gold-2)}

/* Comparatif */
.vs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.vs__col{position:relative;padding:clamp(28px,3.5vw,52px);border:1px solid var(--line);background:rgba(14,14,18,.7)}
.vs__col--good{border-color:var(--line-2);background:linear-gradient(160deg,rgba(201,169,98,.09),rgba(14,14,18,.8) 60%)}
.vs__col h3{display:flex;align-items:center;gap:16px;font-size:clamp(26px,2.6vw,38px);margin-bottom:26px}
.vs__ico{display:grid;place-items:center;width:46px;height:46px;font:400 22px/1 var(--f-jp);border:1px solid var(--bad);color:var(--bad);flex:none}
.vs__col--good .vs__ico{border-color:var(--gold);color:var(--gold)}
.vs__col ul{list-style:none;margin:0;padding:0}
.vs__col li{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--line);color:var(--soft)}
.vs__col li::before{content:"\00D7";color:var(--bad);flex:none}
.vs__col--good li{color:var(--paper)}
.vs__col--good li::before{content:"\25C6";color:var(--gold);font-size:.7em;margin-top:.35em}
.vs__col.is-in li{animation:fadeUp .7s var(--ease-out) both}
.vs__col.is-in li:nth-child(2){animation-delay:.08s}.vs__col.is-in li:nth-child(3){animation-delay:.16s}.vs__col.is-in li:nth-child(4){animation-delay:.24s}.vs__col.is-in li:nth-child(5){animation-delay:.32s}
@media (max-width:860px){.vs{grid-template-columns:minmax(0,1fr)}}

/* Les six signaux */
.sigs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.sig{position:relative;padding:clamp(28px,3vw,44px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.sig::after{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--x,50%) var(--y,0%),rgba(201,169,98,.10),transparent 45%);opacity:0;transition:opacity .4s;pointer-events:none}
.sig:hover::after{opacity:1}
.sig__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px}
.sig__n{font:400 54px/1 var(--f-jp);color:var(--gold);transition:transform .8s var(--ease-out)}
.sig:hover .sig__n{transform:translateY(-4px) scale(1.06)}
.sig__ico{color:var(--gold-3);transition:color .4s}
.sig:hover .sig__ico{color:var(--gold-2)}
.sig h3{font-size:clamp(24px,2.2vw,30px);margin-bottom:12px}
.sig p{color:var(--soft);font-size:16px}
@media (max-width:980px){.sigs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.sigs{grid-template-columns:minmax(0,1fr)}}

/* Cartes d'avis */
.grid-reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:24px}
.grid-reviews>div{display:flex}.grid-reviews>div>.rcard{flex:1}
.rcard{position:relative;display:flex;flex-direction:column;gap:16px;padding:32px;background:rgba(14,14,18,.7);border:1px solid var(--line);color:inherit;text-decoration:none;transition:border-color .5s,transform .6s var(--ease-out)}
.rcard::before{content:"\300C";position:absolute;top:18px;right:22px;font:400 40px/1 var(--f-jp);color:rgba(201,169,98,.25)}
a.rcard:hover{color:inherit;border-color:var(--gold-3);transform:translateY(-6px)}
.rcard__site{display:flex;align-items:center;gap:12px}
.rcard__site b{display:block;font-weight:400;font-size:15.5px;word-break:break-word}
.rcard__site small{display:block;color:var(--mute);font-size:13px}
.rcard h3{font-size:clamp(22px,2vw,27px)}
.rcard p{color:var(--soft);font-size:15.5px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rcard__foot{margin-top:auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:16px;border-top:1px solid var(--line);font:400 11px/1.5 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,96px);align-items:start}
.faq-wrap>div:first-child{position:sticky;top:130px}
.faq-wrap .h2{margin-bottom:34px}
@media (max-width:900px){.faq-wrap{grid-template-columns:minmax(0,1fr)}.faq-wrap>div:first-child{position:static}}
.faq{border-top:1px solid var(--line-2)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;font:500 clamp(19px,1.7vw,23px)/1.35 var(--f-serif);transition:color .3s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--gold-2)}
.faq summary i{flex:none;width:38px;height:38px;border:1px solid var(--line-2);position:relative;color:var(--gold);transition:transform .6s var(--ease-out),border-color .3s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:currentColor;transform:translate(-50%,-50%)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary i{transform:rotate(45deg);border-color:var(--gold)}
.faq .ans{color:var(--soft);padding:0 60px 30px 0;max-width:780px}
.faq details[open] .ans{animation:fadeUp .6s var(--ease-out) both}

/* CTA */
.cta{position:relative;overflow:hidden;isolation:isolate;padding:clamp(56px,9vw,130px) clamp(28px,6vw,96px);text-align:center;display:flex;flex-direction:column;align-items:center;border:1px solid var(--line-2);background:radial-gradient(60% 80% at 50% 0%,rgba(201,169,98,.12),transparent 70%),rgba(14,14,18,.8)}
.cta::before{content:"\898B";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:400 clamp(260px,34vw,480px)/1 var(--f-jp);color:rgba(201,169,98,.05);z-index:-1;pointer-events:none}
.cta h2{font-size:clamp(34px,4.6vw,64px);max-width:900px}
.cta p{margin:24px 0 40px;color:var(--soft);max-width:560px;font-size:clamp(17px,1.4vw,19px)}
.cta__btns{display:flex;flex-wrap:wrap;gap:14px}
.cta .cta__btns{justify-content:center}

/* ==========================================================================
   Pages internes
   ========================================================================== */
.page-head{position:relative;isolation:isolate;padding-block:clamp(70px,10vw,140px) clamp(40px,5vw,70px);overflow:hidden}
.page-head h1{font-size:clamp(40px,5.4vw,80px);max-width:1050px}
.page-head .lead{margin-top:28px;max-width:720px}
.page-head h1 .muted{color:var(--mute)}
.page-head__deco{position:absolute;right:var(--gut);top:50%;transform:translateY(-50%);font:400 clamp(150px,20vw,320px)/1 var(--f-jp);color:rgba(201,169,98,.07);pointer-events:none;z-index:-1;user-select:none;animation:fadeIn 2.4s var(--ease-out) both}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 34px;padding:0;list-style:none;font:400 11px/1 var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.crumbs li{display:inline-flex;align-items:center;gap:12px}
.crumbs a{color:var(--soft)}
.crumbs a:hover{color:var(--gold-2)}
.crumbs li+li::before{content:"\25C6";font-size:7px;color:var(--gold-3)}
.prose{max-width:820px}
.prose h2{font-size:clamp(28px,3vw,40px);margin:70px 0 20px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:23px;margin:40px 0 12px}
.prose p,.prose li{color:var(--soft);line-height:1.85}
.prose p+p{margin-top:16px}
.prose ul{padding-left:20px}
.prose li{margin:10px 0}
.prose li::marker{color:var(--gold)}
.cards-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.pcard{position:relative;padding:clamp(28px,3.4vw,48px);background:rgba(14,14,18,.72);border:1px solid var(--line);transition:border-color .5s}
.pcard:hover{border-color:var(--line-2)}
.pcard__n{display:block;font:400 46px/1 var(--f-jp);color:var(--gold);margin-bottom:24px}
.pcard h2{font-size:clamp(24px,2.3vw,32px);margin-bottom:16px}
.pcard p,.pcard li{color:var(--soft)}
.pcard ul{margin:14px 0 0;padding-left:20px}
.pcard li{margin:6px 0}
.pcard li::marker{color:var(--gold)}
.pcard--dark{border-color:var(--line-2);background:linear-gradient(160deg,rgba(201,169,98,.08),rgba(14,14,18,.85) 60%)}
.pcard--wide{grid-column:1/-1}
@media (max-width:860px){.cards-2{grid-template-columns:minmax(0,1fr)}}

/* Recherche + filtres */
.search{display:flex;align-items:center;gap:10px;flex:1 1 260px;min-width:0;max-width:600px;padding:6px 6px 6px 20px;background:rgba(14,14,18,.8);border:1px solid var(--line-2);color:var(--gold-3);transition:border-color .3s,box-shadow .3s}
.search:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,169,98,.08)}
.search input{flex:1;min-width:0;border:0;background:transparent;color:var(--paper);font:300 16.5px var(--f-sans);padding:12px 0;outline:none}
.search input::placeholder{color:var(--mute)}
.search .btn{min-height:46px;padding:0 20px}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs a,.tab{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px;border:1px solid var(--line);background:transparent;color:var(--soft);font:400 11px/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:all .35s}
.tabs a:hover,.tab:hover{border-color:var(--gold-3);color:var(--gold-2)}
.tabs a[aria-current=true],.tab[aria-pressed=true]{border-color:var(--gold);color:var(--ink);background:var(--gold)}
.tab i{font-style:normal;letter-spacing:0;opacity:.75}
.tab.t-bad[aria-pressed=true]{background:var(--shu);border-color:var(--shu);color:#fff}
.tab.t-mid[aria-pressed=true]{background:var(--mid);border-color:var(--mid)}
.empty{position:relative;padding:clamp(36px,6vw,80px);text-align:center;border:1px solid var(--line);background:rgba(14,14,18,.6)}
.empty h2{font-size:clamp(26px,3vw,38px);margin-bottom:14px}
.empty p{color:var(--soft);margin-bottom:30px}
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:52px}
.pager a,.pager span{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--line);color:var(--soft);font-size:15px;transition:all .3s}
.pager a:hover{border-color:var(--gold);color:var(--gold-2)}
.pager [aria-current=page]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.pager .off{opacity:.35}

/* Fiche agence */
.site-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,80px);align-items:start}
.site-id{display:flex;align-items:center;gap:24px;margin-bottom:28px}
.site-id h1{font-size:clamp(34px,4.4vw,62px);word-break:break-word}
.site-id a{display:inline-block;margin-top:12px;font:400 11px/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2)}
.score,.form{position:relative;background:rgba(14,14,18,.82);border:1px solid var(--line-2)}
.score::before,.score::after,.form::before,.form::after,.result::before,.result::after{content:"";position:absolute;width:20px;height:20px;border:1px solid var(--gold);pointer-events:none}
.score::before,.form::before,.result::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.score::after,.form::after,.result::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
.score{padding:clamp(28px,3vw,44px)}
.score__top{display:flex;align-items:flex-end;gap:10px;margin-bottom:12px}
.score__top small{font:400 26px/1.6 var(--f-serif);color:var(--mute)}
.score__verdict{font:500 28px/1.2 var(--f-serif);margin:16px 0 4px;color:var(--gold-2)}
.t-bad .score__verdict{color:var(--bad)}
.dist{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-direction:column;gap:10px}
.dist li{display:grid;grid-template-columns:76px 1fr 46px;gap:12px;align-items:center;font-size:14px;color:var(--soft)}
.dist .bar{height:3px;background:rgba(201,169,98,.12);overflow:hidden}
.dist .bar i{display:block;height:100%;width:0;background:var(--c,var(--gold));transition:width 1.6s var(--ease-out)}
.dist.is-in .bar i{width:var(--w)}
.dist li:nth-child(n+4) .bar i{--c:var(--bad)}.dist li:nth-child(3) .bar i{--c:var(--mid)}
.dist span:last-child{text-align:right;font-size:13px;color:var(--mute)}
.sigsum{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.layout-2{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(32px,5vw,80px);align-items:start}
.aside{position:sticky;top:120px;display:flex;flex-direction:column;gap:18px}
.box{position:relative;padding:30px;background:rgba(14,14,18,.75);border:1px solid var(--line)}
.box h2,.box h3{font-size:22px;margin-bottom:12px}
.box p{color:var(--soft);font-size:15.5px}
.box--dark{border-color:var(--line-2);background:linear-gradient(160deg,rgba(201,169,98,.08),rgba(14,14,18,.85) 60%)}
.review{position:relative;padding:36px 0;border-bottom:1px solid var(--line)}
.review__head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.review__head b{display:block;font-weight:400}
.review__head small{display:block;font:400 11px/1.6 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.review h3{font-size:clamp(24px,2.2vw,30px);margin:14px 0 12px}
.review p{color:var(--soft);white-space:pre-line}
.review__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;align-items:center}
.review__meta small{color:var(--mute);font-size:13px}
.reply{margin-top:22px;padding:22px 26px;background:rgba(201,169,98,.05);border-left:1px solid var(--gold)}
.reply b{display:block;font:500 11px/1 var(--f-sans);letter-spacing:.24em;color:var(--gold);margin-bottom:12px}
.flash{display:flex;align-items:center;gap:12px;padding:18px 22px;margin-bottom:32px;border:1px solid var(--gold);color:var(--gold-2);background:rgba(201,169,98,.07);animation:fadeUp .7s var(--ease-out) both}
@media (max-width:980px){.site-hero,.layout-2{grid-template-columns:minmax(0,1fr)}.aside{position:static}}

/* Formulaire d'avis */
.form-wrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(32px,5vw,80px);align-items:start}
@media (max-width:980px){.form-wrap{grid-template-columns:minmax(0,1fr)}}
.form{display:flex;flex-direction:column;gap:30px;padding:clamp(26px,4vw,56px)}
.field{display:flex;flex-direction:column;gap:12px}
.field>label,.field>legend,.label{font:500 clamp(18px,1.5vw,21px)/1.3 var(--f-serif);color:var(--paper)}
.field small{color:var(--mute);font-size:14px}
.input,.textarea,.select{width:100%;font:300 16.5px/1.5 var(--f-sans);color:var(--paper);background:rgba(8,8,10,.7);border:1px solid var(--line);padding:16px 18px;min-height:58px;transition:border-color .3s,box-shadow .3s;appearance:none;border-radius:0}
.textarea{min-height:190px;resize:vertical}
.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23C9A962' stroke-width='1.5'%3E%3Cpath d='M3 5l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;padding-right:46px}
.select option{background:var(--ink-2)}
.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,169,98,.08)}
.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--bad)}
.err{color:var(--bad);font-size:14.5px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:640px){.grid-2{grid-template-columns:minmax(0,1fr)}}
fieldset{border:0;padding:0;margin:0;min-width:0}
.url-field{position:relative}
.url-field .input{padding-left:52px;font-size:19px;min-height:66px}
.url-field svg{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--gold-3)}
.url-preview{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--line-2);background:rgba(201,169,98,.05);font-size:15px;color:var(--soft);animation:fadeUp .5s var(--ease-out) both}
.url-preview[hidden]{display:none}
.star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:8px}
.star-input input{position:absolute;opacity:0;width:1px;height:1px}
.star-input label{cursor:pointer;width:64px;height:64px;display:grid;place-items:center;border:1px solid var(--line);background:rgba(8,8,10,.6);transition:border-color .3s,background .3s,transform .4s var(--ease-out)}
.star-input label svg{width:30px;height:30px;fill:rgba(201,169,98,.2);transition:fill .25s,transform .4s var(--ease-out)}
.star-input label:hover{transform:translateY(-4px)}
.star-input label:hover svg,.star-input label:hover~label svg{fill:var(--c,var(--gold))}
.star-input input:checked~label{border-color:var(--c,var(--gold));background:rgba(201,169,98,.08)}
.star-input input:checked~label svg{fill:var(--c,var(--gold))}
.star-input input:checked+label svg{animation:starIn .6s var(--ease-out)}
.star-input input:focus-visible+label{outline:1px solid var(--gold);outline-offset:3px}
.star-input[data-v="1"],.star-input[data-v="2"]{--c:var(--bad)}
.star-input[data-v="3"]{--c:var(--mid)}
.star-label{font:500 24px/1 var(--f-serif);min-height:28px;color:var(--gold-2)}
@media (max-width:460px){.star-input label{width:calc((100vw - 2*var(--gut) - 92px)/5);height:56px}}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px;border:1px solid var(--line);color:var(--soft);font-size:15px;transition:all .3s}
.chip span::before{content:"";width:8px;height:8px;border:1px solid currentColor;transform:rotate(45deg);transition:all .3s}
.chip input:checked+span{border-color:var(--bad);color:#F4B3A6;background:rgba(200,55,45,.1)}
.chip input:checked+span::before{background:var(--bad);border-color:var(--bad)}
.chip input:focus-visible+span{outline:1px solid var(--gold);outline-offset:2px}
.chip:hover span{border-color:var(--gold-3)}
.check{display:flex;gap:14px;align-items:flex-start;font-size:15px;color:var(--soft);cursor:pointer}
.check input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--gold)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.counter{font-size:12.5px;letter-spacing:.08em;color:var(--mute);text-align:right}
.counter.ok{color:var(--gold-2)}

/* Checklist « vérifier » */
.chk-wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px);align-items:start}
@media (max-width:900px){.chk-wrap{grid-template-columns:minmax(0,1fr)}}
.chk-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.chk{display:flex;align-items:center;gap:22px;width:100%;text-align:left;cursor:pointer;padding:26px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--paper);font:inherit;transition:background .4s,padding .5s var(--ease-out)}
.chk:hover{background:rgba(201,169,98,.04);padding-left:18px}
.chk__box{flex:none;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line-2);transform:rotate(45deg);transition:background .35s,border-color .35s}
.chk__box svg{opacity:0;transform:rotate(-45deg) scale(.4);transition:opacity .25s,transform .45s var(--ease-out)}
.chk__box svg path{stroke:var(--ink)}
.chk[aria-pressed=true] .chk__box{background:var(--gold);border-color:var(--gold)}
.chk[aria-pressed=true] .chk__box svg{opacity:1;transform:rotate(-45deg)}
.chk__t b{display:block;font:500 clamp(18px,1.5vw,21px)/1.35 var(--f-serif)}
.chk__t small{display:block;color:var(--mute);font-size:14.5px;margin-top:4px}
.result{position:sticky;top:120px;padding:clamp(30px,3vw,44px);background:rgba(14,14,18,.85);border:1px solid var(--line-2)}
.result .eyebrow{margin:0}
.result__score{font:500 clamp(84px,9vw,128px)/.95 var(--f-serif);margin:22px 0 8px;transition:color .5s}
.result__verdict{font:500 30px/1.2 var(--f-serif)}
.meter{height:3px;background:rgba(201,169,98,.12);overflow:hidden;margin:26px 0}
.meter i{display:block;height:100%;width:0;transition:width .8s var(--ease-out),background .4s}
@media (max-width:900px){.result{position:static}}

/* ==========================================================================
   Annuaire
   ========================================================================== */
.dir-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:56px;border:1px solid var(--line)}
.dir-stat{display:flex;flex-direction:column;gap:12px;padding:clamp(24px,3vw,40px);border-right:1px solid var(--line);color:var(--soft);transition:background .5s}
.dir-stat:last-child{border-right:0}
.dir-stat:hover{background:rgba(201,169,98,.05);color:var(--paper)}
.dir-stat b{font:500 clamp(54px,6vw,88px)/1 var(--f-serif)}
.dir-stat span{font:400 11px/1.4 var(--f-sans);letter-spacing:.22em;text-transform:uppercase}
.dir-stat.t-bad b{color:var(--bad)}.dir-stat.t-mid b{color:var(--mid)}.dir-stat.t-good b{color:var(--gold-2)}
@media (max-width:640px){.dir-stats{grid-template-columns:minmax(0,1fr)}.dir-stat{border-right:0;border-bottom:1px solid var(--line)}.dir-stat:last-child{border-bottom:0}}
.dir-tools{position:sticky;top:84px;z-index:20;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px 0;margin-bottom:12px;background:rgba(8,8,10,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.dir-search{max-width:420px}
.dir-group{margin-top:64px;scroll-margin-top:190px}
.dir-group[hidden]{display:none}
.dir-group__head{display:flex;gap:20px;align-items:flex-start;margin-bottom:24px}
.dir-group__dot{flex:none;width:10px;height:10px;margin-top:18px;background:var(--gold);transform:rotate(45deg)}
.dir-group.t-bad .dir-group__dot{background:var(--shu)}
.dir-group.t-mid .dir-group__dot{background:var(--mid)}
.dir-group__head h2{font-size:clamp(30px,3.4vw,48px);display:flex;align-items:baseline;gap:16px}
.dir-group__head h2 small{font:400 13px/1 var(--f-sans);letter-spacing:.2em;color:var(--mute)}
.dir-group__head p{color:var(--soft);margin-top:10px;max-width:680px}
.dir-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}
.dir-list li[hidden]{display:none}
.dir-row{position:relative;display:grid;grid-template-columns:44px 48px minmax(0,1.3fr) minmax(0,1.4fr) 96px 64px 124px 22px;align-items:center;gap:18px;padding:22px 10px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;overflow:hidden;isolation:isolate;transition:padding .6s var(--ease-out)}
.dir-row::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(201,169,98,.09),transparent 70%);transform:scaleX(0);transform-origin:0 50%;transition:transform .7s var(--ease-out);z-index:-1}
.dir-row.t-bad::before{background:linear-gradient(90deg,rgba(200,55,45,.14),transparent 70%)}
.dir-row:hover{color:inherit;padding-left:24px}
.dir-row:hover::before{transform:scaleX(1)}
.dir-row__rank{font:400 20px/1 var(--f-serif);color:var(--gold-3)}
.dir-row__id{min-width:0}
.dir-row__id b{display:block;font:500 clamp(18px,1.5vw,21px)/1.2 var(--f-serif);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dir-row__id small{display:block;margin-top:4px;font-size:13px;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dir-row__sig{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.dir-row__score{display:flex;flex-direction:column;gap:6px}
.dir-row__score small{font-size:12.5px;color:var(--mute)}
.dir-row__note{font:500 30px/1 var(--f-serif);text-align:right}
.t-bad .dir-row__note{color:var(--bad)}.t-mid .dir-row__note{color:var(--mid)}.t-good .dir-row__note{color:var(--gold-2)}
.dir-row__badge{justify-self:start;font:400 10px/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;padding:8px 10px;border:1px solid var(--line-2);color:var(--gold-2)}
.dir-row.t-bad .dir-row__badge{border-color:var(--shu);color:#fff;background:var(--shu)}
.dir-row.t-mid .dir-row__badge{border-color:var(--mid);color:var(--mid)}
.dir-row__go{color:var(--gold-3);transition:transform .5s var(--ease-out),color .3s}
.dir-row:hover .dir-row__go{transform:translateX(4px);color:var(--gold)}
@media (max-width:1060px){.dir-row{grid-template-columns:48px minmax(0,1fr) auto 22px;gap:14px}.dir-row__rank,.dir-row__sig,.dir-row__score,.dir-row__badge{display:none}}
.dir-none{text-align:center;color:var(--mute);padding:60px 0;font:400 22px var(--f-serif)}
.dir-cta{position:relative;margin-top:90px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:30px;padding:clamp(34px,5vw,64px);border:1px solid var(--line-2);background:linear-gradient(160deg,rgba(201,169,98,.09),rgba(14,14,18,.85) 60%)}
.dir-cta h2{font-size:clamp(28px,3.2vw,44px);margin-bottom:10px}
.dir-cta p{color:var(--soft)}

/* ==========================================================================
   Pied de page
   ========================================================================== */
.footer{position:relative;margin-top:60px;padding-block:clamp(70px,9vw,120px) 36px;border-top:1px solid var(--line);background:linear-gradient(180deg,transparent,rgba(201,169,98,.03))}
.footer__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.footer__about{margin-top:22px;max-width:360px;color:var(--soft);font-size:15.5px}
.footer h2{font:500 11px/1 var(--f-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}
.footer ul a{display:inline-block;padding:6px 0;color:var(--soft);font-size:15.5px;transition:color .3s,transform .5s var(--ease-out)}
.footer ul a:hover{color:var(--gold-2);transform:translateX(6px)}
.footer__big{display:flex;align-items:center;justify-content:center;gap:clamp(16px,3vw,40px);margin-top:clamp(56px,7vw,100px);padding-top:clamp(40px,5vw,70px);border-top:1px solid var(--line);font:300 clamp(22px,3.6vw,48px)/1 var(--f-sans);letter-spacing:.42em;text-transform:uppercase;color:var(--paper);white-space:nowrap;user-select:none}
.footer__big b{font:400 1.6em/1 var(--f-jp);letter-spacing:0;color:var(--gold)}
.footer__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;font:400 11px/1.6 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
@media (max-width:860px){.footer__grid{grid-template-columns:1fr 1fr}.footer__grid>div:first-child{grid-column:1/-1}.footer__big{letter-spacing:.2em}}

/* ==========================================================================
   Mouvement
   ========================================================================== */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes starIn{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.2);opacity:1}100%{transform:none}}

/* Révélation au défilement */
.js [data-rv]{opacity:0;transition:opacity 1.2s var(--ease-out),transform 1.3s var(--ease-out),filter 1.2s var(--ease-out);transition-delay:var(--d,0s)}
.js [data-rv=up],.js [data-rv=tilt]{transform:translateY(40px)}
.js [data-rv=left]{transform:translateX(-50px)}
.js [data-rv=right]{transform:translateX(50px)}
.js [data-rv=scale]{transform:scale(.96)}
.js [data-rv=blur]{filter:blur(10px)}
.js [data-rv].is-in{opacity:1;transform:none;filter:none}
/* Titres : mots qui montent derrière un masque */
.split .wm{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.14em;margin-bottom:-.14em}
.split .w{display:inline-block;transform:translateY(110%);transition:transform 1.2s var(--ease-out);transition-delay:calc(var(--k)*.05s)}
.split.is-in .w{transform:none}
.js .split[data-rv]{opacity:1;transform:none;filter:none}

/* Transitions entre pages */
@view-transition{navigation:none}
::view-transition-old(root){animation:.35s var(--ease) both vtOut}
::view-transition-new(root){animation:.6s var(--ease-out) both vtIn}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translateY(14px)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js [data-rv]{opacity:1;transform:none;filter:none}
  .split .w{transform:none}
  .enso__ring{stroke-dashoffset:120}
  .crack path{stroke-dashoffset:0}
  .petals{display:none}
}

/* ==========================================================================
   Identité propre : titres Dela Gothic, boutons « tampon hanko »
   ========================================================================== */
:root{--red:#E2463A}
body{font-weight:400;letter-spacing:.01em}
h1,h2,h3,.h2{font-weight:400;letter-spacing:.005em;line-height:1.15}
.vh__title{font-size:clamp(40px,5vw,74px);line-height:1.12}
.page-head h1{font-size:clamp(38px,5vw,74px)}
.h2{font-size:clamp(32px,4.2vw,58px)}
.accent,.vh__l2{color:var(--red);font-weight:400}
.vh__l2{text-shadow:0 0 40px rgba(226,70,58,.35)}
.hot{color:var(--bad)}
.eyebrow{font-weight:700;letter-spacing:.2em;color:var(--red)}
.eyebrow::before{background:linear-gradient(90deg,transparent,var(--red))}
.head-c .eyebrow::after{background:linear-gradient(-90deg,transparent,var(--red))}
.eyebrow span{color:var(--gold-2)}
.mark{color:var(--paper);background-image:linear-gradient(var(--red),var(--red));background-size:0% 3px}
.is-in .mark,.mark.is-in{background-size:100% 3px}

/* Boutons : tampon vermillon avec ombre décalée, qui s'enfonce au clic */
.btn{border-radius:6px;min-height:54px;padding:0 28px;font:700 15px/1 var(--f-sans);letter-spacing:.04em;text-transform:none;color:#fff;background:var(--red);box-shadow:5px 5px 0 #5E1611,inset 0 0 0 1px rgba(255,255,255,.12);transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .3s}
.btn::before{content:"";width:16px;height:16px;flex:none;border-radius:3px;background:none;border:1.5px solid rgba(255,255,255,.75);box-shadow:none;transform:rotate(0);transition:transform .5s var(--ease-out)}
.btn::after{display:none}
.btn:hover{color:#fff;background:#EF5244;transform:translate(-2px,-2px);box-shadow:7px 7px 0 #5E1611,inset 0 0 0 1px rgba(255,255,255,.15)}
.btn:hover::before{transform:rotate(45deg)}
.btn:active{transform:translate(4px,4px);box-shadow:1px 1px 0 #5E1611}
.btn--ghost,.btn--dark{color:var(--paper);background:transparent;box-shadow:inset 0 0 0 1.5px rgba(240,235,225,.5),5px 5px 0 rgba(240,235,225,.08)}
.btn--ghost::before,.btn--dark::before{width:16px;height:16px;border-radius:3px;background:none;border:1.5px solid var(--red)}
.btn--ghost:hover,.btn--dark:hover{color:var(--ink);background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--paper),7px 7px 0 var(--red)}
.btn--ghost:hover::before,.btn--dark:hover::before{background:none;border-color:var(--red)}
.btn--ghost:active,.btn--dark:active{box-shadow:inset 0 0 0 1.5px var(--paper),1px 1px 0 var(--red)}
.btn--lg{min-height:62px;padding:0 34px;font-size:16px}
.nav .btn{min-height:44px;padding:0 18px;font-size:14px;box-shadow:4px 4px 0 #5E1611}
.probe__go{border-radius:6px;font:700 15px/1 var(--f-sans);letter-spacing:.04em;text-transform:none;color:#fff;background:var(--red);box-shadow:4px 4px 0 #5E1611;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.probe__go:hover{filter:none;transform:translate(-2px,-2px);box-shadow:6px 6px 0 #5E1611}
.probe__go:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #5E1611}
.probe__field{border-radius:8px}
.probe__field::before,.probe__field::after{border-color:var(--red)}
.probe__chip{border-radius:999px}
.tabs a,.tab{border-radius:999px;font:500 13px/1 var(--f-sans);letter-spacing:.04em;text-transform:none}
.tabs a[aria-current=true],.tab[aria-pressed=true]{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.nav>a:not(.btn){font:500 14px/1 var(--f-sans);letter-spacing:.04em;text-transform:none}
.nav>a:not(.btn)::after{background:var(--red);height:2px}
.brand__name{font:400 17px/1 var(--f-serif);letter-spacing:.06em;text-transform:none}
.brand__sub{letter-spacing:.18em}
.footer__big{font:400 clamp(26px,4.4vw,60px)/1 var(--f-serif);letter-spacing:.04em;text-transform:none}
.footer__big b{color:var(--red)}
.footer h2,.crumbs,.vh__badge,.strip__item span,.dir-stat span,.rcard__foot,.review__head small,.pill,.verdict__dom,.verdict__again,.probe__ex,.dir-row__badge,.site-id a,.enso-card small{letter-spacing:.1em}
.step__n,.sig__n,.pcard__n{color:var(--red)}
.duo__col::before{color:rgba(226,70,58,.18)}
.duo__col:not(.duo__col--bad)::before{color:rgba(201,169,98,.2)}
.vs__col--good .vs__ico{border-color:var(--red);color:var(--red)}
.vs__col--good li::before{color:var(--red)}
.cta::before{color:rgba(226,70,58,.06)}
.chk__box,.score,.form,.result,.box,.pcard,.rcard,.duo__col,.vs__col,.empty,.dir-cta,.enso-card,.scard{border-radius:10px}
.chk__box{border-radius:4px}
.enso-wrap{padding-bottom:70px}
.enso-card{bottom:0;right:4%}

/* Logo : l'œil au soleil rouge, la pupille suit le regard puis cligne */
.eye__sun{transform-box:fill-box;transform-origin:center;animation:look 6s var(--ease) infinite}
@keyframes look{0%,40%,100%{transform:none}48%,62%{transform:translateX(5px)}70%{transform:translateX(-5px)}78%{transform:none}}
.brand:hover .seal{transform:scale(1.08)}

/* Titre du hero : « le radar ? » sur la même ligne */
.vh__l1,.vh__l2{display:inline}
.vh__l2{text-shadow:none}
.vh__l1 .kw:last-child{margin-right:.24em}

/* ==========================================================================
   Animations japonaises propres à Radar Agency
   ========================================================================== */
/* Vagues seigaiha qui ondulent lentement (séparateur) */
.waves{height:130px;margin-top:clamp(40px,6vw,80px);opacity:.55;
  background:
    radial-gradient(circle at 50% 100%,transparent 20%,rgba(201,169,98,.45) 21% 23%,transparent 24% 38%,rgba(201,169,98,.35) 39% 41%,transparent 42% 56%,rgba(226,70,58,.4) 57% 59%,transparent 60% 74%,rgba(201,169,98,.3) 75% 77%,transparent 78%) 0 0/72px 36px,
    radial-gradient(circle at 50% 100%,transparent 20%,rgba(201,169,98,.45) 21% 23%,transparent 24% 38%,rgba(201,169,98,.35) 39% 41%,transparent 42% 56%,rgba(226,70,58,.4) 57% 59%,transparent 60% 74%,rgba(201,169,98,.3) 75% 77%,transparent 78%) 36px 18px/72px 36px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 40%,#000 70%,transparent),linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(180deg,transparent,#000 40%,#000 70%,transparent),linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-composite:intersect;
  animation:seigaiha 30s linear infinite}
@keyframes seigaiha{to{background-position:720px 0,756px 18px}}

/* Coup de pinceau sumi qui souligne un passage */
.brush{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 24' preserveAspectRatio='none'%3E%3Cpath d='M4 15 C 60 6 120 18 190 11 S 330 6 396 13 L 394 19 C 320 14 250 20 180 18 S 60 14 6 21 Z' fill='%23E2463A' fill-opacity='.45'/%3E%3C/svg%3E") no-repeat 0 96%/0% .32em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size 1.6s var(--ease-out) .5s}
.is-in .brush,.brush.is-in{background-size:100% .32em}

/* Tampon hanko : le kanji s'imprime sur la colonne des agences signalées */
.duo__col::before{opacity:0;transform:scale(2.4) rotate(-18deg)}
.duo__col.is-in::before{animation:stamp .7s cubic-bezier(.2,1.6,.4,1) .5s forwards}
@keyframes stamp{0%{opacity:0;transform:scale(2.4) rotate(-18deg)}60%{opacity:1;transform:scale(.92) rotate(-6deg)}100%{opacity:1;transform:scale(1) rotate(-8deg)}}
.duo__col--bad::before{width:62px;height:62px;display:grid;place-items:center;border:2px solid rgba(226,70,58,.55);color:rgba(226,70,58,.7)!important;font-size:34px}
/* Le badge « Signalée » de l'annuaire s'imprime aussi comme un tampon */
.dir-row.t-bad .dir-row__badge{transform:rotate(-4deg)}
.dir-list li.is-in .dir-row.t-bad .dir-row__badge{animation:stamp2 .6s cubic-bezier(.2,1.6,.4,1) .3s both}
@keyframes stamp2{0%{opacity:0;transform:scale(2) rotate(-14deg)}100%{opacity:1;transform:scale(1) rotate(-4deg)}}

/* Lanternes : le canvas de fond est plus doux */
.petals{z-index:0;opacity:.9}
main,.footer,.header{position:relative;z-index:1}
.header{position:sticky;z-index:60}
/* ==========================================================================
   Mascotte panda roux, bambous, bannière cookies
   ========================================================================== */
.mascot{display:block;overflow:visible}
.mascot__eyes{transform-box:fill-box;transform-origin:center;animation:blink 5s infinite}
@keyframes blink{0%,92%,100%{transform:none}95%{transform:scaleY(.1)}}
.mascot__tail{transform-box:fill-box;transform-origin:0% 80%;animation:tail 3.6s ease-in-out infinite}
@keyframes tail{50%{transform:rotate(-7deg)}}
.mascot__glass{transform-box:view-box;transform-origin:128px 150px;animation:inspect 4.5s ease-in-out infinite}
@keyframes inspect{0%,100%{transform:rotate(0)}30%{transform:rotate(-14deg) translateY(-4px)}60%{transform:rotate(6deg)}}
.seal .mascot__eyes{animation-duration:6s}

/* Hero : le panda inspecte l'ensō à la loupe */
.enso-mascot{position:absolute;left:-2%;bottom:0;width:clamp(120px,14vw,170px);height:auto;animation:fadeUp 1.2s var(--ease-out) 2.2s both;filter:drop-shadow(0 18px 30px rgba(0,0,0,.6))}
@media (max-width:980px){.enso-mascot{left:0}}

/* Bambous de décor */
.deco{overflow:hidden}
.bamboo{position:absolute;bottom:0;width:clamp(90px,10vw,150px);height:min(620px,100%);pointer-events:none;z-index:0;opacity:.55}
.bamboo--left{left:-10px}
.bamboo--right{right:-10px;transform:scaleX(-1)}
.bamboo--soft{opacity:.3}
.deco>.wrap{position:relative;z-index:1}
.bamboo__stalk{transform-box:view-box;transform-origin:50% 100%;animation:sway 7s ease-in-out infinite;animation-delay:var(--dl,0s)}
@keyframes sway{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.4deg)}}
.bamboo__leaves{animation:leaves 3.2s ease-in-out infinite;animation-delay:var(--dl,0s);transform-box:fill-box;transform-origin:0 50%}
@keyframes leaves{50%{transform:rotate(4deg) translateY(-1px)}}
@media (max-width:760px){.bamboo{opacity:.25;width:70px}}

/* CTA : la mascotte au-dessus du titre */
.cta__mascot{width:130px;height:auto;margin-bottom:10px}

/* Pied de page : mascotte, nom, bambous */
.footer__hero{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:clamp(56px,7vw,100px);padding-top:clamp(30px,4vw,50px);border-top:1px solid var(--line);overflow:hidden;min-height:300px}
.footer__hero .footer__big{margin-top:6px;padding-top:0;border-top:0}
.footer__mascot{width:clamp(140px,14vw,190px);height:auto}
.bamboo--foot{height:300px;opacity:.4}

/* Bannière cookies */
.cookie{position:fixed;left:clamp(12px,3vw,32px);bottom:clamp(12px,3vw,32px);z-index:90;display:flex;align-items:center;gap:18px;max-width:560px;padding:16px 20px 16px 10px;background:rgba(14,14,18,.96);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);animation:cookieIn .8s cubic-bezier(.2,1.4,.4,1) both}
.cookie[hidden]{display:none}
.cookie.is-out{animation:cookieOut .5s var(--ease) forwards}
@keyframes cookieIn{from{opacity:0;transform:translateY(40px) rotate(-3deg)}}
@keyframes cookieOut{to{opacity:0;transform:translateY(40px)}}
.cookie__mascot{flex:none;width:78px;height:auto;margin-top:-34px}
.cookie__txt{font-size:14px;color:var(--soft);line-height:1.55}
.cookie__t{font:400 17px/1.3 var(--f-serif);color:var(--paper);margin-bottom:4px}
.cookie__ok{flex:none;min-height:44px;padding:0 18px;font-size:14px}
@media (max-width:560px){.cookie{flex-wrap:wrap;right:12px}.cookie__ok{width:100%}}
@media (prefers-reduced-motion:reduce){.bamboo__stalk,.bamboo__leaves,.mascot__glass,.mascot__tail{animation:none}}
/* ==========================================================================
   Boutons : flèche fine à la place du petit carré
   ========================================================================== */
.btn::before,.btn--ghost::before,.btn--dark::before{display:none}
.btn::after,.btn--ghost::after,.btn--dark::after{display:block;content:"";position:static;inset:auto;width:14px;height:10px;flex:none;transform:none;z-index:auto;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M0 5h12M8 1l4 4-4 4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M0 5h12M8 1l4 4-4 4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .4s var(--ease-out)}
.btn:hover::after{transform:translateX(5px)}
.cookie__ok::after,.search .btn::after{display:none}

/* ==========================================================================
   Fond sumi-e : brumes d'encre qui dérivent + soleil rouge estompé
   ========================================================================== */
.sky{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.sky__sun{position:absolute;right:8vw;top:12vh;width:38vmin;height:38vmin;border-radius:50%;background:radial-gradient(circle,rgba(226,70,58,.16),rgba(226,70,58,.05) 55%,transparent 70%);transform:translateY(var(--sy,0));transition:transform .2s linear}
.sky__mist{position:absolute;left:-20%;width:140%;height:34vh;border-radius:50%;filter:blur(40px);opacity:.5;background:radial-gradient(ellipse at center,rgba(240,235,225,.07),transparent 65%)}
.sky__mist--1{top:18vh;animation:mist 60s linear infinite}
.sky__mist--2{top:52vh;height:28vh;opacity:.4;animation:mist 85s linear infinite reverse}
.sky__mist--3{top:78vh;height:24vh;opacity:.35;background:radial-gradient(ellipse at center,rgba(201,169,98,.06),transparent 65%);animation:mist 110s linear infinite}
@keyframes mist{0%{transform:translateX(-12%)}50%{transform:translateX(12%)}100%{transform:translateX(-12%)}}

/* ==========================================================================
   Poses de la mascotte
   ========================================================================== */
.mascot__wave{transform-box:view-box;transform-origin:130px 148px;animation:waveHand 1.6s ease-in-out infinite}
@keyframes waveHand{0%,100%{transform:rotate(0)}50%{transform:rotate(-16deg)}}
.mascot__brush{transform-box:view-box;transform-origin:130px 152px;animation:brushWrite 2.4s ease-in-out infinite}
@keyframes brushWrite{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg) translateY(2px)}50%{transform:rotate(4deg)}75%{transform:rotate(-3deg) translateY(1px)}}
.mascot__ink{stroke-dasharray:40;stroke-dashoffset:40;animation:inkLine 2.4s ease-in-out infinite}
@keyframes inkLine{0%{stroke-dashoffset:40}60%,100%{stroke-dashoffset:0}}
.mascot__dango{transform-box:view-box;transform-origin:130px 150px;animation:dango 2.8s ease-in-out infinite}
@keyframes dango{0%,100%{transform:rotate(0)}40%{transform:rotate(-10deg) translate(-4px,-2px)}}
.mascot__z text{animation:zz 3s ease-in-out infinite;opacity:0}
.mascot__z text:nth-child(2){animation-delay:.6s}.mascot__z text:nth-child(3){animation-delay:1.2s}
@keyframes zz{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}100%{opacity:0;transform:translateY(-10px)}}
.mascot--sleep{animation:breathe 4s ease-in-out infinite;transform-origin:50% 100%}
@keyframes breathe{50%{transform:scale(1.02,.98)}}

/* ==========================================================================
   Apparitions japonaises : une par section, jamais la même
   ========================================================================== */
.js [data-rv]{transition-property:opacity,transform,filter,clip-path}
/* Noren : le rideau descend */
.js [data-rv=noren]{opacity:1;clip-path:inset(0 0 100% 0);transform:translateY(-14px);transition-duration:1.2s}
/* Shoji : les portes coulissent depuis le centre */
.js [data-rv=shoji-l]{opacity:1;clip-path:inset(0 0 0 100%);transition-duration:1.3s}
.js [data-rv=shoji-r]{opacity:1;clip-path:inset(0 100% 0 0);transition-duration:1.3s}
/* Éventail : s'ouvre depuis sa base */
.js [data-rv=fan-l]{transform:rotate(-28deg) scale(.85);transform-origin:100% 100%}
.js [data-rv=fan-r]{transform:rotate(28deg) scale(.85);transform-origin:0 100%}
/* Origami : la carte se déplie depuis le haut */
.js [data-rv=origami]{transform:perspective(900px) rotateX(-88deg);transform-origin:50% 0}
/* Makimono : le rouleau se déroule de gauche à droite */
.js [data-rv=scroll]{opacity:1;clip-path:inset(0 100% 0 0);transition-duration:1.6s}
/* Goutte d'encre : s'étend depuis un point */
.js [data-rv=ink]{opacity:1;clip-path:circle(0% at 4% 50%);transition-duration:1.4s}
/* Soleil levant : le bloc monte et le soleil se lève derrière */
.js [data-rv=sun]{transform:translateY(60px)}
.js [data-rv].is-in{clip-path:none}
.js [data-rv=noren].is-in,.js [data-rv=shoji-l].is-in,.js [data-rv=shoji-r].is-in,.js [data-rv=scroll].is-in{clip-path:inset(0 0 0 0)}
.js [data-rv=ink].is-in{clip-path:circle(150% at 4% 50%)}
.cta::after{content:"";position:absolute;left:50%;bottom:-40%;width:min(520px,80%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(226,70,58,.35),rgba(226,70,58,.08) 60%,transparent 70%);transform:translate(-50%,40%);transition:transform 2.2s var(--ease-out) .3s;z-index:-1}
.cta.is-in::after{transform:translate(-50%,0)}
/* Chiffres : apparaissent comme une pierre lâchée dans l'eau (ondes) */
.js [data-rv=ripple]{transform:scale(.6);filter:blur(6px)}
.strip__item{position:relative}
.strip__item.is-in::after{content:"";position:absolute;left:50%;top:40%;width:20px;height:20px;border:1px solid var(--line-2);border-radius:50%;transform:translate(-50%,-50%);animation:ripple 1.6s var(--ease-out) forwards;pointer-events:none}
@keyframes ripple{to{width:220px;height:220px;opacity:0}}
/* Pied de page : patte de panda roux et grosse loupe entre « Radar » et « Agency » */
.footer__hero{min-height:260px;justify-content:center}
.footer__big{align-items:center}
.paw-glass{width:clamp(110px,14vw,200px);height:auto;flex:none;overflow:visible}
.paw-glass__move{transform-box:view-box;transform-origin:20px 200px;animation:pawSweep 5s ease-in-out infinite}
@keyframes pawSweep{0%,100%{transform:rotate(-6deg) translate(-6px,4px)}35%{transform:rotate(8deg) translate(6px,-6px)}65%{transform:rotate(-2deg) translate(0,-2px)}}
.paw-glass__shine{animation:shine 5s ease-in-out infinite}
@keyframes shine{0%,100%{opacity:.25}35%{opacity:.75}}
@media (max-width:640px){.footer__big{gap:10px}.paw-glass{width:90px}}
/* Titre « constat » : deux phrases sur deux lignes, centrées, trait de pinceau unique */
.statement{text-align:center;text-wrap:balance;max-width:980px;margin-inline:auto}
.statement__a,.statement__b{display:block}
.statement__a{font-size:.72em;color:var(--soft);margin-bottom:.2em}
.stroke-brush{display:block;width:min(560px,70%);height:22px;margin:18px auto 0;opacity:.85}
.stroke-brush path{clip-path:inset(0 100% 0 0);transition:clip-path 1.6s var(--ease-out) .6s}
.js .stroke-brush[data-rv]{opacity:.85;transform:none}
.stroke-brush.is-in path{clip-path:inset(0 0 0 0)}
.head-c .lead{text-wrap:pretty}
.h2,.page-head h1{text-wrap:balance}
/* Pied de page : patte et loupe plus grandes, mot centré sur la loupe */
.footer__big{gap:clamp(4px,1.5vw,20px)}
.paw-glass{width:clamp(150px,18vw,260px);margin:-30px 0 -10px}
/* Correctif : les apparitions par découpage ne masquent plus l'élément avant sa détection
   (sinon l'IntersectionObserver ne le voit jamais). Elles se jouent en keyframes une fois .is-in posé. */
.js [data-rv=noren],.js [data-rv=shoji-l],.js [data-rv=shoji-r],.js [data-rv=scroll],.js [data-rv=ink]{opacity:0;clip-path:none;transform:none;transition:opacity .2s}
.js [data-rv=noren].is-in{opacity:1;animation:norenIn 1.2s var(--ease-out) var(--d,0s) both}
.js [data-rv=shoji-l].is-in{opacity:1;animation:shojiL 1.3s var(--ease-out) var(--d,0s) both}
.js [data-rv=shoji-r].is-in{opacity:1;animation:shojiR 1.3s var(--ease-out) var(--d,0s) both}
.js [data-rv=scroll].is-in{opacity:1;animation:scrollIn 1.5s var(--ease-out) var(--d,0s) both}
.js [data-rv=ink].is-in{opacity:1;animation:inkIn 1.3s var(--ease-out) var(--d,0s) both}
@keyframes norenIn{from{clip-path:inset(0 0 100% 0);transform:translateY(-14px)}to{clip-path:inset(0 0 0 0);transform:none}}
@keyframes shojiL{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes shojiR{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes scrollIn{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes inkIn{from{clip-path:circle(0% at 4% 50%)}to{clip-path:circle(150% at 4% 50%)}}
/* Apparitions plus rapides et déclenchées plus tôt */
.js [data-rv]{transition-duration:.9s}
/* ==========================================================================
   Corrections après inspection dans Chrome
   ========================================================================== */
/* Pied de page : patte plus grande, bambous à hauteur du nom */
.paw-glass{width:clamp(180px,20vw,280px);margin:-40px -10px -30px}
.paw-glass__move{transform-origin:40px 230px}
.footer__hero{min-height:320px;align-items:center}
.bamboo--foot{height:320px;bottom:0}
/* Champ du hero : coins décoratifs bien collés au cadre */
.probe__field{border-radius:0}
.probe__field::before{top:-6px;left:-6px}
.probe__field::after{bottom:-6px;right:-6px}
/* Sous-titre du logo : sans kanji minuscule illisible */
.brand__sub{font-size:10px;letter-spacing:.14em}
/* Constat : moins de vide sous les vagues */
.deco .waves{margin-top:clamp(30px,4vw,56px);height:110px}
.sec.deco:has(.waves){padding-bottom:0}
/* Comparatif : kanji des titres lisibles */
.vs__ico{width:54px;height:54px;font-size:28px}
/* Appel final : panda un peu plus grand */
.cta__mascot{width:150px}
.footer__hero{overflow:visible;padding-bottom:20px}
.paw-glass{margin:-50px -10px 0;overflow:visible}

.site-id h1{font-size:clamp(32px,3.6vw,54px);word-break:normal;overflow-wrap:break-word;hyphens:none}
.site-id{align-items:flex-start}

.box .prose{max-width:none}
.box .prose li{margin:4px 0;line-height:1.55;color:var(--soft)}

/* ==========================================================================
   La route : défilé de pandas roux (loupe, ordinateur) et voitures de police
   ========================================================================== */
.waves.road{position:relative;height:190px;opacity:1;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-over;mask-composite:add}
.road::after{content:"";position:absolute;left:0;right:0;bottom:44px;height:2px;background:repeating-linear-gradient(90deg,rgba(240,235,225,.35) 0 34px,transparent 34px 70px);animation:dashes 1.2s linear infinite}
@keyframes dashes{to{background-position:-70px 0}}
.parade{position:absolute;inset:0}
.parade__lane{position:absolute;left:0;right:0;overflow:visible}
.parade__lane--walk{bottom:74px;height:72px}
.parade__lane--police{bottom:4px;height:62px}
.parade__track{position:absolute;top:0;left:0;display:flex;align-items:flex-end;gap:clamp(60px,9vw,150px);width:max-content;animation:parade 48s linear infinite}
.parade__lane--police .parade__track{gap:clamp(260px,32vw,520px);animation-duration:16s;animation-direction:reverse}
@keyframes parade{from{transform:translateX(100vw)}to{transform:translateX(-100%)}}
.rp{display:block;height:100%;width:auto;overflow:visible}
.rp--walk,.rp--laptop{height:68px;animation:bob .5s ease-in-out infinite alternate;animation-delay:var(--b,0s)}
@keyframes bob{to{transform:translateY(-4px)}}
.rp__leg{transform-box:fill-box;transform-origin:50% 0}
.rp__leg--a{animation:leg .5s ease-in-out infinite alternate}
.rp__leg--b{animation:leg .5s ease-in-out infinite alternate-reverse}
@keyframes leg{from{transform:rotate(18deg)}to{transform:rotate(-18deg)}}
.rp__tail{transform-box:fill-box;transform-origin:100% 50%;animation:leg .7s ease-in-out infinite alternate}
.rp--laptop{animation-duration:.9s}
.rp__screen{animation:screen 2.2s steps(2) infinite}
@keyframes screen{50%{fill:#7FA6FF}}
.rp__code path{stroke-dasharray:20;stroke-dashoffset:20;animation:type 1.8s steps(6) infinite}
.rp__code path:nth-child(2){animation-delay:.3s}.rp__code path:nth-child(3){animation-delay:.6s}.rp__code path:nth-child(4){animation-delay:.9s}
@keyframes type{to{stroke-dashoffset:0}}
.rp--car{height:58px;transform:scaleX(-1)}
.rp__wheel{animation:spin .5s linear infinite}
.rp__siren--r{animation:siren .5s steps(1) infinite}
.rp__siren--b{animation:siren .5s steps(1) infinite reverse}
@keyframes siren{0%,49%{opacity:1;filter:drop-shadow(0 0 6px currentColor)}50%,100%{opacity:.25}}
@media (max-width:760px){.waves.road{height:160px}.rp--walk,.rp--laptop{height:52px}.rp--car{height:46px}}
@media (prefers-reduced-motion:reduce){.parade__track{animation:none}}
.parade__lane--walk .parade__track{animation-direction:reverse}
.rp--car{transform:none}

.waves.road{height:230px;background-color:rgba(8,8,10,.55);background-blend-mode:normal}
.waves.road{background-size:72px 36px,72px 36px;opacity:1}
.road::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,.15),rgba(8,8,10,.7));pointer-events:none}
.parade{z-index:1}
.parade__lane--walk{bottom:84px;height:96px}
.parade__lane--police{bottom:6px;height:78px}
.rp--walk,.rp--laptop{height:90px}
.rp--car{height:74px}
@media (max-width:760px){.waves.road{height:180px}.rp--walk,.rp--laptop{height:62px}.rp--car{height:52px}.parade__lane--walk{bottom:66px}}

/* Route sans voitures : pandas centrés sur la chaussée */
.waves.road{height:170px}
.parade__lane--walk{bottom:30px}
.road::after{bottom:22px}

/* Route : trois files de pandas en boucle continue */
.waves.road{height:200px}
.parade__lane{bottom:auto}
.parade__track{gap:var(--gap,90px);padding-right:var(--gap,90px);animation:paradeLoop var(--dur,50s) linear infinite;animation-direction:var(--dir,normal)}
@keyframes paradeLoop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rp--walk,.rp--laptop{height:auto}
.rp--flip{scale:-1 1}
.road::after{bottom:16px}
@media (max-width:760px){.waves.road{height:170px}}

/* ==========================================================================
   Décors animés de fond : un différent par section
   ========================================================================== */
.bg-kanji,.bg-enso,.bg-koi,.bg-cranes,.bg-lanterns,.bg-moon{position:relative;isolation:isolate;overflow:hidden}
.bg-kanji::before,.bg-enso::before,.bg-enso::after,.bg-koi::before,.bg-koi::after,.bg-cranes::before,.bg-lanterns::before,.bg-moon::before,.bg-moon::after{content:"";position:absolute;pointer-events:none;z-index:-1}
/* Chiffres : kanji géants qui glissent lentement */
.bg-kanji::before{content:"\898B\3000\58F0\3000\9053\3000\4FE1\3000\5370\3000\5E33\3000\898B\3000\58F0\3000\9053\3000\4FE1\3000\5370\3000\5E33";top:50%;left:0;transform:translateY(-50%);font:400 150px/1 var(--f-jp);color:rgba(201,169,98,.05);white-space:nowrap;animation:kanjiSlide 90s linear infinite}
@keyframes kanjiSlide{from{transform:translate(0,-50%)}to{transform:translate(-50%,-50%)}}
/* Étapes : cercles ensō qui tournent en sens contraires */
.bg-enso::before,.bg-enso::after{top:50%;left:50%;width:min(900px,110vw);aspect-ratio:1;border-radius:50%;border:1px dashed rgba(201,169,98,.12);transform:translate(-50%,-50%);animation:spin 120s linear infinite}
.bg-enso::after{width:min(620px,80vw);border:2px solid transparent;border-top-color:rgba(226,70,58,.18);border-right-color:rgba(226,70,58,.08);animation-duration:40s;animation-direction:reverse}
/* Annuaire : deux carpes koï qui nagent */
.bg-koi::before,.bg-koi::after{width:150px;height:62px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 50'%3E%3Cpath d='M10 25 C30 5 70 5 92 25 C70 45 30 45 10 25Z' fill='%23E2463A'/%3E%3Cpath d='M92 25 L118 9 L111 25 L118 41Z' fill='%23E2463A'/%3E%3Cpath d='M28 17 C40 12 52 15 58 23 C48 27 36 26 28 17Z' fill='%23F0EBE1'/%3E%3Cpath d='M60 30 C66 34 74 34 78 30 C72 38 64 38 60 30Z' fill='%23F0EBE1'/%3E%3Ccircle cx='20' cy='22' r='2' fill='%2314141A'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.16;top:20%;left:-160px;animation:koi 38s linear infinite}
.bg-koi::after{top:72%;transform:scale(.7);animation-duration:52s;animation-delay:-20s;opacity:.12}
@keyframes koi{0%{translate:0 0;rotate:4deg}25%{translate:30vw 40px;rotate:-6deg}50%{translate:60vw -20px;rotate:5deg}75%{translate:90vw 30px;rotate:-4deg}100%{translate:calc(100vw + 320px) 0;rotate:3deg}}
/* Comparatif : lanternes suspendues qui se balancent */
.bg-lanterns::before{top:0;left:0;right:0;height:170px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 170'%3E%3Cg%3E%3Cpath d='M60 0 V40' stroke='%23C9A962' stroke-width='1'/%3E%3Crect x='50' y='38' width='20' height='5' fill='%232A120A'/%3E%3Cellipse cx='60' cy='70' rx='22' ry='28' fill='%23E2463A'/%3E%3Cpath d='M42 60 H78 M40 70 H80 M42 80 H78' stroke='%23A8321F' stroke-width='1.2'/%3E%3Crect x='50' y='97' width='20' height='5' fill='%232A120A'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M210 0 V70' stroke='%23C9A962' stroke-width='1'/%3E%3Crect x='201' y='68' width='18' height='5' fill='%232A120A'/%3E%3Cellipse cx='210' cy='96' rx='18' ry='24' fill='%23E2463A'/%3E%3Cpath d='M196 88 H224 M194 96 H226 M196 104 H224' stroke='%23A8321F' stroke-width='1.2'/%3E%3Crect x='201' y='119' width='18' height='5' fill='%232A120A'/%3E%3C/g%3E%3C/svg%3E") 0 0/600px 170px repeat-x;opacity:.22;transform-origin:50% 0;animation:lanterns 5s ease-in-out infinite alternate}
@keyframes lanterns{from{transform:skewX(-2deg)}to{transform:skewX(2deg)}}
/* Signaux : grues en origami qui traversent en diagonale */
.bg-cranes::before{width:240px;height:120px;top:70%;left:-260px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 120'%3E%3Cg fill='%23F0EBE1'%3E%3Cpath d='M0 60 L30 54 L52 32 L46 58 L84 56 L48 64 L42 84 L36 64Z'/%3E%3Cpath d='M120 20 L144 15 L162 0 L157 18 L188 17 L159 24 L154 40 L149 24Z' opacity='.7'/%3E%3Cpath d='M150 90 L170 86 L184 74 L180 88 L204 87 L182 92 L178 104 L174 92Z' opacity='.5'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;opacity:.14;animation:cranes 34s linear infinite}
@keyframes cranes{from{translate:0 0}to{translate:calc(100vw + 520px) -60vh}}
/* Avis : lune pleine et nuages qui passent */
.bg-moon::before{top:10%;right:6%;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(240,235,225,.10),rgba(240,235,225,.03) 60%,transparent 70%)}
.bg-moon::after{top:16%;left:-40%;width:180%;height:120px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60'%3E%3Cpath d='M0 40 C20 20 50 20 60 34 C70 18 100 16 112 34 C124 26 140 28 146 40 Z M220 30 C236 14 262 14 270 26 C280 12 306 12 314 28 C326 22 340 26 344 34 L220 34Z' fill='none' stroke='%23C9A962' stroke-width='1.2'/%3E%3C/svg%3E") 0 0/700px 110px repeat-x;opacity:.18;animation:clouds 70s linear infinite}
@keyframes clouds{to{transform:translateX(700px)}}
/* Pages internes : le mont Fuji et des nuages qui dérivent derrière le titre */
.page-head::before{content:"";position:absolute;right:-2%;bottom:0;width:min(760px,70vw);height:280px;z-index:-2;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 150'%3E%3Cpath d='M0 150 L150 40 C160 33 168 30 176 30 L224 30 C232 30 240 33 250 40 L400 150Z' fill='%23111116'/%3E%3Cpath d='M150 40 C160 33 168 30 176 30 L224 30 C232 30 240 33 250 40 L232 56 L218 46 L204 60 L190 46 L176 58 L164 48Z' fill='%23F0EBE1' opacity='.35'/%3E%3C/svg%3E") bottom right/contain no-repeat;opacity:.9;animation:fadeIn 2s var(--ease-out) both}
.page-head::after{content:"";position:absolute;left:-30%;bottom:90px;width:160%;height:60px;z-index:-1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60'%3E%3Cpath d='M0 40 C20 20 50 20 60 34 C70 18 100 16 112 34 C124 26 140 28 146 40 Z' fill='%230E0E12' stroke='%23C9A962' stroke-opacity='.35' stroke-width='1'/%3E%3C/svg%3E") 0 0/520px 60px repeat-x;animation:clouds 60s linear infinite reverse}
@media (prefers-reduced-motion:reduce){.bg-kanji::before,.bg-enso::before,.bg-enso::after,.bg-koi::before,.bg-koi::after,.bg-cranes::before,.bg-lanterns::before,.bg-moon::after,.page-head::after{animation:none}}
/* ==========================================================================
   Nouveautés : ciel selon l'heure, torii, lucioles, panda guide, tampon,
   pont, fiche tableau de bord, badges, annuaire en grille, 404, nav mobile
   ========================================================================== */
/* Ciel selon l'heure */
.sky__stars{position:absolute;inset:0;opacity:0;transition:opacity 2s;background-image:radial-gradient(1px 1px at 12% 18%,#fff,transparent),radial-gradient(1px 1px at 28% 42%,#fff,transparent),radial-gradient(1.5px 1.5px at 44% 12%,#fff,transparent),radial-gradient(1px 1px at 63% 30%,#fff,transparent),radial-gradient(1px 1px at 78% 8%,#fff,transparent),radial-gradient(1.5px 1.5px at 86% 46%,#fff,transparent),radial-gradient(1px 1px at 6% 64%,#fff,transparent),radial-gradient(1px 1px at 52% 70%,#fff,transparent),radial-gradient(1px 1px at 92% 78%,#fff,transparent),radial-gradient(1px 1px at 34% 88%,#fff,transparent);animation:twinkle 4s ease-in-out infinite alternate}
@keyframes twinkle{to{filter:brightness(.4)}}
[data-time=night] .sky__stars{opacity:.55}
[data-time=night] .sky__sun{background:radial-gradient(circle,rgba(240,235,225,.14),rgba(240,235,225,.04) 55%,transparent 70%)}
[data-time=dawn] .sky__sun{top:55vh;background:radial-gradient(circle,rgba(255,150,120,.2),rgba(255,150,120,.05) 55%,transparent 70%)}
[data-time=dawn] .sky__stars{opacity:.2}
[data-time=day] .sky__sun{top:8vh;background:radial-gradient(circle,rgba(236,217,168,.16),rgba(236,217,168,.04) 55%,transparent 70%)}
[data-time=dusk] .sky__sun{top:48vh;background:radial-gradient(circle,rgba(226,70,58,.26),rgba(226,70,58,.07) 55%,transparent 70%)}

/* Torii d'entrée */
.torii-intro{position:fixed;inset:0;z-index:200;pointer-events:none}
.torii-intro[hidden]{display:none}
.torii-intro__door{position:absolute;top:0;bottom:0;width:50.5%;background:#08080A;transition:transform 1.2s cubic-bezier(.7,0,.2,1)}
.torii-intro__door--l{left:0;border-right:1px solid var(--line-2)}
.torii-intro__door--r{right:0;border-left:1px solid var(--line-2)}
.torii-intro__gate{position:absolute;left:50%;top:50%;width:min(320px,60vw);transform:translate(-50%,-50%);transition:transform 1.3s var(--ease-out),opacity .9s;filter:drop-shadow(0 0 40px rgba(226,70,58,.4))}
.torii-intro.is-open .torii-intro__door--l{transform:translateX(-100%)}
.torii-intro.is-open .torii-intro__door--r{transform:translateX(100%)}
.torii-intro.is-open .torii-intro__gate{transform:translate(-50%,-50%) scale(2.6);opacity:0}

/* Lucioles */
.firefly{position:absolute;width:6px;height:6px;border-radius:50%;background:#FFE58A;box-shadow:0 0 10px 3px rgba(255,220,120,.6);pointer-events:none;z-index:3;animation:firefly 1.6s ease-out forwards}
@keyframes firefly{0%{opacity:0;transform:scale(.4)}20%{opacity:1}100%{opacity:0;transform:translate(var(--fx),var(--fy)) scale(.6)}}

/* Panda guide */
.guide{position:fixed;right:clamp(10px,2vw,28px);bottom:clamp(10px,2vw,24px);z-index:70;display:flex;align-items:flex-end;gap:6px;cursor:pointer}
.guide[hidden]{display:none}
.guide__panda{width:84px;height:auto;filter:drop-shadow(0 10px 18px rgba(0,0,0,.6));animation:guideIn .8s cubic-bezier(.2,1.4,.4,1) both}
@keyframes guideIn{from{transform:translateY(120%)}}
.guide__bubble{max-width:220px;padding:12px 14px;margin-bottom:60px;border:1px solid var(--line-2);border-radius:14px 14px 2px 14px;background:rgba(14,14,18,.96);font-size:13.5px;line-height:1.45;color:var(--paper);opacity:0;transform:translateY(8px) scale(.95);transform-origin:100% 100%;transition:opacity .3s,transform .4s var(--ease-out);pointer-events:none}
.guide.is-talk .guide__bubble{opacity:1;transform:none}
.guide[data-mood=shake] .guide__panda{animation:shake .5s ease-in-out 3}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px) rotate(-3deg)}75%{transform:translateX(5px) rotate(3deg)}}
.guide[data-mood=clap] .guide__panda{animation:hop .45s ease-in-out 4}
@keyframes hop{50%{transform:translateY(-12px)}}
.guide[data-mood=happy] .guide__panda{animation:sway2 1.2s ease-in-out 2}
@keyframes sway2{25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
.guide[data-mood=think] .guide__panda{animation:tilt 2s ease-in-out 1}
@keyframes tilt{50%{transform:rotate(-8deg) translateY(-4px)}}
@media (max-width:760px){.guide{bottom:84px}.guide__panda{width:62px}.guide__bubble{max-width:170px;margin-bottom:44px;font-size:12.5px}}

/* Tampon du verdict */
.vstamp{position:relative;height:120px;margin-top:20px;width:100%}
.vstamp__run{position:absolute;left:0;bottom:0;width:90px;animation:runIn 1s cubic-bezier(.3,1.2,.5,1) both}
.vstamp__run svg{width:90px;height:auto}
@keyframes runIn{from{transform:translateX(-140%)}}
.vstamp__seal{position:absolute;left:110px;bottom:20px;padding:10px 18px;border:3px solid currentColor;border-radius:6px;font:400 22px/1 var(--f-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--red);transform:rotate(-8deg);animation:stamp .6s cubic-bezier(.2,1.6,.4,1) .9s both}
.vstamp--good .vstamp__seal{color:var(--gold-2)}.vstamp--mid .vstamp__seal{color:var(--mid)}.vstamp--none .vstamp__seal{color:var(--soft)}

/* Pont au-dessus de la rivière */
.bridge{position:relative;height:clamp(140px,16vw,220px);overflow:hidden}
.bridge__scene{position:absolute;inset:0;width:100%;height:100%}
.bridge__water{animation:water 6s linear infinite}
@keyframes water{to{transform:translateX(-120px)}}
.bridge__panda{position:absolute;width:clamp(36px,4vw,56px);height:auto;left:27%;bottom:20%;animation:crossBridge 14s ease-in-out infinite}
@keyframes crossBridge{0%{left:26%;bottom:16%}25%{left:37%;bottom:44%}50%{left:48%;bottom:56%}75%{left:59%;bottom:44%}100%{left:70%;bottom:16%}}
.bridge__panda .rp__leg--a{animation:leg .45s ease-in-out infinite alternate}
.bridge__panda .rp__leg--b{animation:leg .45s ease-in-out infinite alternate-reverse}

/* Fiche agence : jauge, panda humeur, signaux allumés */
.gauge-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.gauge{position:relative;width:170px;aspect-ratio:1}
.gauge svg{width:100%;height:100%;transform:rotate(-90deg)}
.gauge__bg{fill:none;stroke:rgba(201,169,98,.14);stroke-width:10}
.gauge__fg{fill:none;stroke:var(--gold);stroke-width:10;stroke-linecap:round;stroke-dasharray:var(--c);stroke-dashoffset:var(--c);animation:gaugeFill 1.8s var(--ease-out) .3s forwards}
.gauge.t-bad .gauge__fg{stroke:var(--bad)}.gauge.t-mid .gauge__fg{stroke:var(--mid)}
@keyframes gaugeFill{to{stroke-dashoffset:calc(var(--c) * (1 - var(--p)))}}
.gauge__val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:4px}
.gauge__val .rating-big{font-size:52px}
.gauge__val small{font-size:18px;color:var(--mute)}
.gauge-panda{flex:none}
.pmood--sad .pmood__tear{animation:tear 2.2s ease-in infinite}
@keyframes tear{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(16px);opacity:0}}
.pmood--happy{animation:hop 1.4s ease-in-out infinite}
.sig-lights{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sig-lights li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:13.5px;color:var(--mute)}
.sig-lights i{width:10px;height:10px;border-radius:50%;background:rgba(201,169,98,.15);flex:none}
.sig-lights li.is-on{color:var(--paper);border-color:rgba(224,87,63,.45);background:rgba(200,55,45,.08)}
.sig-lights li.is-on i{background:var(--bad);box-shadow:0 0 10px var(--bad);animation:blink2 1.6s ease-in-out infinite}
@keyframes blink2{50%{opacity:.4}}
.sig-lights b{margin-left:auto;font:400 12px var(--f-sans);color:#F09A86}
.score .dist{margin-top:20px}

/* Badges des auteurs */
.badges{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 6px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line-2);border-radius:999px;font-size:12px;color:var(--gold-2);background:rgba(201,169,98,.06)}
.badge i{font:400 13px/1 var(--f-jp);font-style:normal;color:var(--red)}

/* Annuaire : bascule liste / grille */
.view-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px}
.view-switch button{width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:var(--soft);cursor:pointer;display:grid;place-items:center}
.view-switch svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.view-switch button[aria-pressed=true]{background:var(--paper);color:var(--ink)}
.dir-row__panda{display:none}
.dir-list.is-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;border-top:0;padding-top:8px}
.dir-list.is-grid .dir-row{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:24px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(14,14,18,.7)}
.dir-list.is-grid .dir-row:hover{padding-left:16px;transform:translateY(-6px)}
.dir-list.is-grid .dir-row__panda{display:block}
.dir-list.is-grid .avatar,.dir-list.is-grid .dir-row__rank,.dir-list.is-grid .dir-row__sig,.dir-list.is-grid .dir-row__go{display:none}
.dir-list.is-grid .dir-row__score,.dir-list.is-grid .dir-row__badge{display:flex;align-items:center}
.dir-list.is-grid .dir-row__note{text-align:center}
.dir-list.is-grid .dir-row__id b,.dir-list.is-grid .dir-row__id small{white-space:normal}

/* Page 404 */
.lost{padding-block:clamp(60px,9vw,120px);text-align:center}
.lost__in{display:flex;flex-direction:column;align-items:center}
.lost h1{font-size:clamp(34px,4.6vw,64px);max-width:900px;margin:0 auto}
.lost .lead{margin:22px auto 0;max-width:620px}
.lost__scene{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(10px,3vw,40px);margin-bottom:24px}
.lost__num{font:400 clamp(110px,16vw,220px)/1 var(--f-serif);color:var(--red)}
.lost__walker{animation:search 6s ease-in-out infinite}
@keyframes search{0%,100%{transform:translateX(-30px) scaleX(1)}45%{transform:translateX(30px) scaleX(1)}50%{transform:translateX(30px) scaleX(-1)}95%{transform:translateX(-30px) scaleX(-1)}}
.lost__panda{width:clamp(120px,14vw,190px);height:auto}
.lost__q{position:absolute;font:400 34px/1 var(--f-serif);color:var(--gold);opacity:0;animation:qpop 3s ease-in-out infinite}
.lost__q--1{top:0;left:40%}.lost__q--2{top:-10px;left:55%;animation-delay:1s}.lost__q--3{top:20px;left:62%;animation-delay:2s}
@keyframes qpop{0%{opacity:0;transform:translateY(10px)}30%{opacity:1}100%{opacity:0;transform:translateY(-20px)}}

/* Titres des pages internes : écriture au pinceau (révélation de gauche à droite) */
.page-head h1{-webkit-mask-image:linear-gradient(90deg,#000 45%,transparent 55%);mask-image:linear-gradient(90deg,#000 45%,transparent 55%);-webkit-mask-size:240% 100%;mask-size:240% 100%;-webkit-mask-position:100% 0;mask-position:100% 0;animation:inkWrite 1.8s var(--ease-out) .2s forwards;opacity:1!important;transform:none!important}
@keyframes inkWrite{to{-webkit-mask-position:0 0;mask-position:0 0}}

/* Comparatif : décalages pour les nouveaux points */
.vs__col.is-in li:nth-child(6){animation-delay:.4s}.vs__col.is-in li:nth-child(7){animation-delay:.48s}.vs__col.is-in li:nth-child(8){animation-delay:.56s}

/* Barre de navigation mobile */
.mnav{display:none}
@media (max-width:760px){
  .mnav{position:fixed;left:10px;right:10px;bottom:10px;z-index:75;display:flex;align-items:center;justify-content:space-around;height:62px;padding:0 6px;border:1px solid var(--line-2);border-radius:20px;background:rgba(14,14,18,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  .mnav a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;color:var(--soft);min-width:48px}
  .mnav a[aria-current=page]{color:var(--red)}
  .mnav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
  .mnav__main{width:58px;height:58px;margin-top:-30px;border-radius:50%;justify-content:center;background:var(--red);color:#fff!important;box-shadow:0 0 0 5px var(--ink),4px 6px 0 5px #5E1611}
  .mnav__main svg{width:26px;height:26px}
  body{padding-bottom:84px}
  .cookie{bottom:84px}
}
@media (prefers-reduced-motion:reduce){.torii-intro{display:none}.page-head h1{-webkit-mask-image:none;mask-image:none;animation:none}.lost__walker,.bridge__panda,.guide__panda{animation:none}}

.verdict__score .stars{flex-direction:row}

.bg-kanji::before{color:rgba(201,169,98,.028)}

.page-head::before{top:6%;bottom:auto;height:220px;width:min(560px,55vw);opacity:.5}
.page-head::after{top:22%;bottom:auto;opacity:.6}
.dir-head::before,.dir-head::after{display:none}

.dir-list.is-grid li{display:flex}
.dir-list.is-grid li>.dir-row{flex:1}

/* Pont retravaillé */
.bridge{height:clamp(220px,24vw,340px)}
.bridge__panda{display:none}
.bridge__lantern{animation:lanternFlick 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 0}
.bridge__lantern--2{animation-delay:-1.3s}
@keyframes lanternFlick{0%,100%{opacity:1;transform:rotate(-3deg)}50%{opacity:.8;transform:rotate(3deg)}}
.bridge__reflect{animation:reflect 4s ease-in-out infinite}
@keyframes reflect{50%{transform:translateX(6px) skewX(2deg)}}
.bridge__moonline{animation:moonline 3s ease-in-out infinite}
@keyframes moonline{50%{opacity:.4;transform:translateX(-6px)}}
.bridge__reeds{animation:reeds 5s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
@keyframes reeds{50%{transform:skewX(-3deg)}}
.bridge .rp__leg--a{animation:leg .45s ease-in-out infinite alternate}
.bridge .rp__leg--b{animation:leg .45s ease-in-out infinite alternate-reverse}
.bridge{height:auto;aspect-ratio:4/1;max-height:420px;min-height:180px}

.bridge{aspect-ratio:auto;max-height:none;width:100%;height:clamp(200px,25vw,520px)}

/* ==========================================================================
   UX des pages internes : formulaire guidé, aperçu, FAQ, checklist, sommaire
   ========================================================================== */
/* Formulaire : étapes et barre de progression */
.fsteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fsteps li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--mute);transition:color .4s}
.fsteps span{display:grid;place-items:center;width:28px;height:28px;flex:none;border:1px solid var(--line-2);border-radius:50%;font:400 13px/1 var(--f-serif);transition:all .4s var(--ease-out)}
.fsteps li.is-done{color:var(--paper)}
.fsteps li.is-done span{background:var(--red);border-color:var(--red);color:#fff;transform:scale(1.08)}
.fsteps li.is-done span{font-size:0}
.fsteps li.is-done span::before{content:"✓";font-size:14px}
.fbar{height:3px;margin-top:-14px;background:rgba(201,169,98,.12);border-radius:3px;overflow:hidden}
.fbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--red),var(--gold));transition:width .6s var(--ease-out)}
@media (max-width:560px){.fsteps{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Aperçu en direct */
.preview{border-color:var(--line-2);background:linear-gradient(160deg,rgba(201,169,98,.07),rgba(14,14,18,.85) 60%)}
.preview__head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.preview__head b{display:block;font:400 17px/1.2 var(--f-serif);word-break:break-all}
.preview__head small{display:block;color:var(--mute);font-size:13px;margin-top:4px}
.preview__mood{position:relative;width:56px;height:56px;flex:none}
.preview__mood svg,.result__mood svg{position:absolute;inset:0;opacity:0;transform:scale(.6) rotate(-10deg);transition:opacity .35s,transform .5s cubic-bezier(.2,1.5,.4,1)}
.preview__mood[data-mood=sad] .pm-sad,.preview__mood[data-mood=neutral] .pm-neutral,.preview__mood[data-mood=happy] .pm-happy,
.result__mood[data-mood=sad] .pm-sad,.result__mood[data-mood=neutral] .pm-neutral,.result__mood[data-mood=happy] .pm-happy{opacity:1;transform:none}
.preview__stars{font-size:22px;letter-spacing:3px;color:rgba(201,169,98,.35);transition:color .3s}
.preview__stars.is-bad{color:var(--bad)}.preview__stars.is-mid{color:var(--mid)}.preview__stars.is-good{color:var(--gold)}
.preview h3{font-size:21px;margin:10px 0 8px;word-break:break-word}
.preview__body{color:var(--soft);font-size:14.5px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.preview__by{display:block;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}

/* Checklist : panda d'humeur et fête à 6/6 */
.result{overflow:hidden}
.result__mood{position:absolute;top:24px;right:24px;width:76px;height:76px}
.result.is-perfect{border-color:var(--gold);box-shadow:0 0 60px -20px rgba(201,169,98,.6)}
.result.is-perfect .result__score{animation:pop .6s cubic-bezier(.2,1.6,.4,1)}
.confetti{position:absolute;top:-10px;width:8px;height:12px;border-radius:2px;pointer-events:none;animation:confetti 2s ease-in forwards}
@keyframes confetti{to{transform:translate(var(--cx),520px) rotate(var(--cr));opacity:0}}
@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.15)}100%{transform:none}}

/* FAQ : recherche */
.faq-search{max-width:none;margin-bottom:28px}
.faq-search__count{font-size:12.5px;color:var(--mute);white-space:nowrap;padding-right:10px}
.faq-none{padding:30px 0;color:var(--soft);font:400 19px/1.5 var(--f-serif)}
.faq details[hidden]{display:none}

/* Sommaire collant qui suit la lecture */
.toc{position:sticky;top:96px;z-index:15;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 30px;padding:12px 0;background:rgba(8,8,10,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.toc::-webkit-scrollbar{display:none}
.toc a{flex:none;padding:9px 16px;border:1px solid var(--line);border-radius:999px;font-size:13.5px;color:var(--soft);transition:all .35s var(--ease-out)}
.toc a:hover{border-color:var(--gold-3);color:var(--gold-2)}
.toc a.is-on{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-1px)}
.pcard{scroll-margin-top:170px}
.pcard:hover .pcard__n{transform:rotate(-8deg) scale(1.1)}
.pcard__n{transition:transform .5s cubic-bezier(.2,1.5,.4,1);display:inline-block}

/* Route : nouveaux pandas (bloc-notes, pancarte, ombrelle) */
.rp__placard{transform-box:fill-box;transform-origin:50% 100%;animation:placard 1.2s ease-in-out infinite alternate}
@keyframes placard{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}
.rp__umbrella{transform-box:fill-box;transform-origin:50% 100%;animation:placard 2.4s ease-in-out infinite alternate}
.rp__ticks path{stroke-dasharray:10;stroke-dashoffset:10;animation:tick 2.4s ease-in-out infinite}
.rp__ticks path:nth-child(2){animation-delay:.5s}.rp__ticks path:nth-child(3){animation-delay:1s}
@keyframes tick{40%,100%{stroke-dashoffset:0}}

/* ==========================================================================
   Animation « ticket imprimé + patte du panda » après le dépôt d'un avis
   Étapes pilotées par app.js : s-print, s-tear, s-grab, s-lift, s-slam, s-out
   ========================================================================== */
.rcpt-stage{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;align-items:center;overflow:hidden;padding-top:7vh;transition:opacity .7s var(--ease-out)}
.rcpt-stage__bg{position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 40%,rgba(40,14,16,.92),rgba(6,6,8,.97));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fadeIn .5s ease both}
.rcpt-stage__sun{position:absolute;left:50%;top:46%;width:min(70vmin,720px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(226,70,58,.35),rgba(226,70,58,.08) 50%,transparent 70%);animation:sunBreath 6s ease-in-out infinite}
.rcpt-stage.s-out{opacity:0;pointer-events:none}

/* Imprimante */
.rcpt-printer{position:relative;z-index:3;width:min(480px,88vw);animation:printerIn .7s cubic-bezier(.2,1.3,.4,1) both}
@keyframes printerIn{from{opacity:0;transform:translateY(-60px)}}
.rcpt-printer__body{position:relative;height:74px;border-radius:20px 20px 12px 12px;display:flex;align-items:center;justify-content:center;gap:12px;
  background:linear-gradient(180deg,#2A2A33,#121216 60%,#0A0A0D);border:1px solid rgba(201,169,98,.35);box-shadow:inset 0 2px 0 rgba(255,255,255,.12),0 30px 60px -20px rgba(0,0,0,.9)}
.rcpt-printer__brand{font:400 15px/1 var(--f-serif);letter-spacing:.3em;color:var(--gold-2)}
.rcpt-printer__led{position:absolute;left:22px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:#3DDC97;box-shadow:0 0 10px #3DDC97;animation:led .5s steps(1) infinite}
.rcpt-stage:not(.s-print) .rcpt-printer__led{animation:none}
@keyframes led{50%{opacity:.25}}
.rcpt-printer__seal{position:absolute;right:16px;top:50%;transform:translateY(-50%)}
.rcpt-printer__slot{height:14px;margin:0 10px;border-radius:0 0 10px 10px;background:linear-gradient(180deg,#050506,#1A1A20);box-shadow:inset 0 4px 6px rgba(0,0,0,.9)}
.rcpt-stage.s-print .rcpt-printer{animation:printerIn .7s cubic-bezier(.2,1.3,.4,1) both,printerHum .12s linear 1s 18}
@keyframes printerHum{50%{transform:translateY(1px)}}

/* Ticket */
.rcpt-move{position:relative;z-index:2;width:min(400px,78vw);margin-top:-8px;will-change:transform}
.rcpt-feed{overflow:hidden;clip-path:inset(0 0 100% 0);transition:none}
.rcpt-stage.s-print .rcpt-feed{animation:feed 2.4s steps(16) .8s forwards}
@keyframes feed{to{clip-path:inset(0 0 0 0)}}
.rcpt-stage.s-tear .rcpt-feed,.rcpt-stage.s-grab .rcpt-feed,.rcpt-stage.s-lift .rcpt-feed,.rcpt-stage.s-slam .rcpt-feed,.rcpt-stage.s-out .rcpt-feed{clip-path:inset(0 0 0 0)}
.rcpt{position:relative;padding:0 26px 30px;background:#F6F1E6;color:#1A1714;font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;font-size:12.5px;line-height:1.5;text-align:center;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.8);background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.015) 3px 4px)}
.rcpt__band{position:relative;margin:0 -26px 14px;height:78px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;overflow:hidden;
  background:radial-gradient(60% 120% at 80% 0%,#FF7A5C,transparent 60%),linear-gradient(135deg,#E2463A,#9A2A1F);color:#fff;letter-spacing:.24em;font-size:11px}
.rcpt__band b{position:absolute;right:16px;top:6px;font:400 44px/1 var(--f-jp);opacity:.35}
.rcpt__kicker{letter-spacing:.24em;font-size:10.5px;color:#7A7366}
.rcpt__site{margin:6px 0 2px;font:400 22px/1.15 var(--f-serif);letter-spacing:.02em;color:#131210;word-break:break-word}
.rcpt__domain{font-size:11.5px;color:#7A7366}
.rcpt__dots{margin:10px 0;letter-spacing:.2em;color:#B4AC9C}
.rcpt__meta{margin:0;display:grid;gap:3px;text-align:left}
.rcpt__meta div{display:flex;justify-content:space-between;gap:10px}
.rcpt__meta dt{color:#7A7366}.rcpt__meta dd{margin:0;font-weight:700;color:#131210}
.rcpt__dash{height:0;margin:12px 0;border-top:1.5px dashed #C9C0AE}
.rcpt__stars{font-size:22px;letter-spacing:4px;color:#E2463A}
.rcpt__stars span{color:#D9D1C1}
.rcpt__stars.t-good{color:#B48A2C}.rcpt__stars.t-mid{color:#D9940B}
.rcpt__title{margin:6px 0;font:700 14px/1.35 var(--f-sans);color:#131210}
.rcpt__body{color:#3B3934;font-size:12px;text-align:left}
.rcpt__sig{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.rcpt__sig li{padding:3px 8px;border:1px solid #E2463A;border-radius:4px;color:#B42A16;font-size:10.5px}
.rcpt__thanks{letter-spacing:.14em;font-size:10.5px;color:#3B3934}
.rcpt__barcode{display:flex;justify-content:center;gap:2px;height:44px;margin:14px 0 4px}
.rcpt__barcode i{width:var(--w);background:#131210}
.rcpt__code{font-size:10.5px;letter-spacing:.2em;color:#7A7366}
/* Bord déchiré en dents de scie */
.rcpt__tear{position:absolute;left:0;right:0;bottom:-10px;height:10px;background:linear-gradient(-45deg,transparent 7px,#F6F1E6 0) 0 0/14px 10px repeat-x,linear-gradient(45deg,transparent 7px,#F6F1E6 0) 7px 0/14px 10px repeat-x;opacity:0}
.rcpt-stage.s-tear .rcpt__tear,.rcpt-stage.s-grab .rcpt__tear,.rcpt-stage.s-lift .rcpt__tear,.rcpt-stage.s-slam .rcpt__tear,.rcpt-stage.s-out .rcpt__tear{opacity:1}
/* Tampon qui s'imprime au moment de l'impact */
.rcpt__stamp{position:absolute;right:18px;bottom:96px;display:flex;flex-direction:column;align-items:center;padding:8px 12px;border:3px solid #E2463A;border-radius:8px;color:#E2463A;font:700 12px/1 var(--f-sans);letter-spacing:.16em;transform:rotate(-14deg) scale(2.6);opacity:0;mix-blend-mode:multiply}
.rcpt__stamp b{font:400 30px/1 var(--f-jp);margin-bottom:4px}
.rcpt-stage.s-slam .rcpt__stamp,.rcpt-stage.s-out .rcpt__stamp{animation:stampHit .35s cubic-bezier(.2,1.6,.4,1) .12s forwards}
@keyframes stampHit{to{opacity:.92;transform:rotate(-14deg) scale(1)}}

/* Chorégraphie : détachement, prise, levée, impact */
.rcpt-stage.s-tear .rcpt-move{animation:tear .5s cubic-bezier(.3,1.5,.5,1) forwards}
@keyframes tear{50%{transform:translateY(16px) rotate(-3deg)}to{transform:translateY(28px) rotate(-2deg)}}
.rcpt-paw{position:absolute;left:50%;bottom:-44%;width:62%;transform:translate(-50%,120vh) rotate(-8deg);transform-origin:50% 0;filter:drop-shadow(0 30px 40px rgba(0,0,0,.7));z-index:3}
.rcpt-stage.s-grab .rcpt-move{transform:translateY(28px) rotate(-2deg)}
.rcpt-stage.s-grab .rcpt-paw{animation:pawIn .6s cubic-bezier(.2,1.2,.4,1) forwards}
@keyframes pawIn{to{transform:translate(-50%,0) rotate(-4deg)}}
.rcpt-stage.s-lift .rcpt-paw,.rcpt-stage.s-slam .rcpt-paw,.rcpt-stage.s-out .rcpt-paw{transform:translate(-50%,0) rotate(-4deg)}
/* Levée : la patte emporte le ticket vers le haut et l'arrière (élan) */
.rcpt-stage.s-lift .rcpt-move{animation:lift .6s cubic-bezier(.3,0,.3,1) forwards}
@keyframes lift{from{transform:translateY(28px) rotate(-2deg)}to{transform:translateY(-14vh) rotate(-9deg) scale(1.12)}}
.rcpt-stage.s-lift .rcpt-printer{animation:printerAway .5s ease forwards}
@keyframes printerAway{to{opacity:0;transform:translateY(-120px)}}
.rcpt-stage.s-slam .rcpt-printer,.rcpt-stage.s-out .rcpt-printer{opacity:0}
/* Impact : plaqué violemment vers le bas */
.rcpt-stage.s-slam .rcpt-move,.rcpt-stage.s-out .rcpt-move{animation:slam .32s cubic-bezier(.7,0,1,.5) forwards}
@keyframes slam{from{transform:translateY(-14vh) rotate(-9deg) scale(1.12)}to{transform:translateY(16vh) rotate(1.5deg) scale(.88)}}
.rcpt-stage.s-slam{animation:shake .5s cubic-bezier(.3,.9,.4,1) .3s}
@keyframes shake{10%{transform:translate(-14px,10px)}25%{transform:translate(12px,-8px)}40%{transform:translate(-9px,6px)}55%{transform:translate(6px,-4px)}70%{transform:translate(-3px,2px)}100%{transform:none}}
.rcpt-impact{position:absolute;left:50%;top:72%;width:0;height:0;z-index:1}
.rcpt-impact__ring{position:absolute;left:0;top:0;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:3px solid rgba(226,70,58,.8);opacity:0}
.rcpt-impact__ring--2{border-color:rgba(201,169,98,.7)}
.rcpt-stage.s-slam .rcpt-impact__ring{animation:ring 1s cubic-bezier(.2,.7,.3,1) .3s forwards}
.rcpt-stage.s-slam .rcpt-impact__ring--2{animation-delay:.42s}
@keyframes ring{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(22)}}
.rcpt-impact__dust{position:absolute;left:0;top:0;width:10px;height:10px;margin:-5px;border-radius:50%;background:rgba(240,235,225,.7);opacity:0}
.rcpt-stage.s-slam .rcpt-impact__dust{animation:dust .8s cubic-bezier(.2,.7,.3,1) .3s forwards}
@keyframes dust{0%{opacity:1;transform:rotate(var(--a)) translateX(0) scale(1)}100%{opacity:0;transform:rotate(var(--a)) translateX(var(--dist)) scale(.3)}}

/* Légende et bouton passer */
.rcpt-caption{position:absolute;left:0;right:0;bottom:6vh;z-index:4;text-align:center;font:400 clamp(18px,2vw,26px)/1.3 var(--f-serif);color:var(--paper);transition:opacity .4s}
.rcpt-skip{position:absolute;right:24px;top:22px;z-index:5;padding:10px 16px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.06);color:var(--soft);font:500 13px var(--f-sans);cursor:pointer}
.rcpt-skip:hover{color:#fff;background:rgba(255,255,255,.14)}

/* L'avis publié sur la fiche s'illumine à l'arrivée */
.review.is-new{animation:newReview 2.4s ease-out}
@keyframes newReview{0%{background:rgba(226,70,58,.22);box-shadow:0 0 0 12px rgba(226,70,58,.22)}100%{background:transparent;box-shadow:0 0 0 0 transparent}}

@media (max-width:560px){.rcpt{font-size:11.5px;padding:0 18px 26px}.rcpt__band{margin:0 -18px 12px}.rcpt-paw{width:80%}}
@media (prefers-reduced-motion:reduce){.rcpt-stage{display:none}}

/* Animation du ticket : la scène s'adapte à la hauteur de l'écran (de 768p à 4K) */
.rcpt-scene{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:100%;transform:scale(var(--fit,1));transform-origin:50% 0}
.rcpt-paw{bottom:auto;top:52%;width:58%}
.rcpt-impact{top:62%}
@keyframes lift{from{transform:translateY(28px) rotate(-2deg)}to{transform:translateY(-8vh) rotate(-9deg) scale(1.1)}}
@keyframes slam{from{transform:translateY(-8vh) rotate(-9deg) scale(1.1)}to{transform:translateY(4vh) rotate(1.5deg) scale(.9)}}
.rcpt-caption{bottom:3vh;z-index:6;text-shadow:0 4px 20px rgba(0,0,0,.9)}
.rcpt-paw{overflow:visible;width:70%;top:46%}

/* Ticket : pause « Approuver / Annuler » avant que la patte ne l'arrache */
.rcpt-stage.s-confirm .rcpt-feed,.rcpt-stage.s-retract .rcpt-feed{clip-path:inset(0 0 0 0)}
.rcpt-stage.s-retract .rcpt-feed{animation:retract 1.1s steps(12) forwards}
@keyframes retract{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0)}}
.rcpt-stage.s-retract .rcpt-printer{animation:printerHum .12s linear 9}
.rcpt-confirm{position:absolute;left:50%;bottom:9vh;z-index:7;display:flex;flex-direction:column;align-items:center;gap:16px;width:min(720px,92vw);
  transform:translate(-50%,40px);opacity:0;pointer-events:none;transition:opacity .4s,transform .6s cubic-bezier(.2,1.4,.4,1)}
.rcpt-stage.s-confirm .rcpt-confirm{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.rcpt-stage.s-confirm .rcpt-caption{opacity:0}
.rcpt-confirm__q{font:400 clamp(22px,2.4vw,32px)/1.2 var(--f-serif);color:var(--paper);text-shadow:0 4px 20px rgba(0,0,0,.9)}
.rcpt-confirm__btns{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%}
.rcpt-big{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;min-height:clamp(72px,9vh,96px);padding:0 24px;border-radius:20px;cursor:pointer;overflow:hidden;
  font:700 clamp(18px,2vw,26px)/1 var(--f-sans);letter-spacing:.12em;color:#fff;border:2px solid rgba(255,255,255,.18);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),filter .3s}
.rcpt-big__k{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.16);font:400 26px/1 var(--f-jp);letter-spacing:0}
.rcpt-big--ok{background:linear-gradient(180deg,#2FC98A,#178A5C);box-shadow:0 8px 0 #0C5638,0 24px 40px -12px rgba(47,201,138,.6)}
.rcpt-big--no{background:linear-gradient(180deg,#F0583F,#B7362A);box-shadow:0 8px 0 #6E1E15,0 24px 40px -12px rgba(226,70,58,.6)}
.rcpt-big::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%);animation:bigShine 2.6s ease-in-out 1s infinite}
@keyframes bigShine{to{transform:translateX(120%)}}
.rcpt-big:hover{filter:brightness(1.08);transform:translateY(-3px)}
.rcpt-big--ok:hover{box-shadow:0 11px 0 #0C5638,0 30px 50px -12px rgba(47,201,138,.75)}
.rcpt-big--no:hover{box-shadow:0 11px 0 #6E1E15,0 30px 50px -12px rgba(226,70,58,.75)}
.rcpt-big:active{transform:translateY(6px)}
.rcpt-big--ok:active{box-shadow:0 2px 0 #0C5638}
.rcpt-big--no:active{box-shadow:0 2px 0 #6E1E15}
.rcpt-big:focus-visible{outline:3px solid var(--gold-2);outline-offset:4px}
.rcpt-confirm__hint{font-size:13.5px;color:var(--soft)}
.rcpt-stage.s-confirm .rcpt-move{animation:hover 2.4s ease-in-out infinite}
@keyframes hover{50%{transform:translateY(-6px) rotate(-.6deg)}}
@media (max-width:560px){.rcpt-confirm__btns{grid-template-columns:1fr}.rcpt-big{min-height:64px}}
/* Bras réaliste : pas d'animation d'entrée trop rigide, léger tremblement de la fourrure */
.rcpt-paw{width:72%;top:44%}

/* Ticket : pendant la pause Approuver / Annuler, le ticket se réduit pour laisser la place aux boutons */
.rcpt-feed{transition:transform .6s cubic-bezier(.2,1.2,.4,1)}
.rcpt-stage.s-confirm .rcpt-feed{transform:scale(.72);transform-origin:50% 0}
.rcpt-confirm{bottom:5vh}
.rcpt-confirm::before{content:"";position:absolute;inset:-40px -60px -30px;z-index:-1;background:radial-gradient(60% 60% at 50% 60%,rgba(6,6,8,.85),transparent 75%)}

/* ==========================================================================
   Menu principal retravaillé : groupe de liens en verre, kanji au survol,
   accès « Mon espace », bouton d'écriture
   ========================================================================== */
.nav{gap:12px}
.nav__links{position:relative;display:flex;align-items:center;gap:2px;padding:5px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nav__links a{position:relative;display:flex;align-items:center;gap:0;padding:10px 16px;border-radius:999px;font:500 14px/1 var(--f-sans);color:var(--soft);overflow:hidden;transition:color .3s,background .3s,gap .35s var(--ease-out),padding .35s var(--ease-out)}
.nav__links a i{font:400 15px/1 var(--f-jp);font-style:normal;color:var(--red);max-width:0;opacity:0;transform:translateY(6px);transition:max-width .35s var(--ease-out),opacity .3s,transform .35s var(--ease-out)}
.nav__links a:hover{color:var(--paper);background:rgba(255,255,255,.06);gap:8px}
.nav__links a:hover i,.nav__links a[aria-current=page] i{max-width:20px;opacity:1;transform:none}
.nav__links a[aria-current=page]{color:#fff;gap:8px;background:linear-gradient(180deg,rgba(226,70,58,.9),rgba(183,54,42,.9));box-shadow:0 6px 18px -6px rgba(226,70,58,.7),inset 0 1px 0 rgba(255,255,255,.2)}
.nav__links a[aria-current=page] i{color:#FFE2D8}
.nav__links a::after{display:none!important}
.nav__account{display:flex;align-items:center;gap:9px;padding:9px 16px 9px 10px;border-radius:999px;border:1px solid var(--line-2);color:var(--gold-2);font:500 14px/1 var(--f-sans);transition:all .3s var(--ease-out)}
.nav__account svg{width:26px;height:26px;padding:5px;border-radius:50%;background:rgba(201,169,98,.15);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.nav__account:hover{color:var(--ink);background:var(--gold-2);border-color:var(--gold-2)}
.nav__account:hover svg{background:rgba(8,8,10,.15)}
.nav .nav__cta{margin-left:0}
@media (max-width:1180px){.nav__links a{padding:10px 12px}.nav__account span{display:none}.nav__account{padding:9px}}
@media (max-width:1060px){
  .nav__links{flex-direction:column;align-items:stretch;padding:0;border:0;background:none;backdrop-filter:none}
  .nav__links a{padding:14px 4px;font:400 26px/1.2 var(--f-serif);gap:12px;border-radius:0;border-bottom:1px solid var(--line)}
  .nav__links a i{max-width:30px;opacity:1;transform:none;font-size:22px}
  .nav__links a[aria-current=page]{background:none;box-shadow:none;color:var(--red)}
  .nav__account{justify-content:center;margin-top:18px;padding:14px}
  .nav__account span{display:inline}
}
.nav__account::after{display:none!important}
.rcpt-paw{width:96%;top:40%}
.rcpt-paw{top:34%}

/* Impression fluide : le papier glisse hors de la fente (plus de crans) */
.rcpt-feed{clip-path:none!important;animation:none!important;overflow:hidden}
.rcpt-feed>.rcpt{transform:translate3d(0,-101%,0);will-change:transform;backface-visibility:hidden}
.rcpt-stage.s-print .rcpt-feed>.rcpt{animation:paperOut 2.6s cubic-bezier(.45,.05,.25,1) .8s forwards}
@keyframes paperOut{to{transform:translate3d(0,0,0)}}
.rcpt-stage.s-confirm .rcpt-feed>.rcpt,.rcpt-stage.s-tear .rcpt-feed>.rcpt,.rcpt-stage.s-grab .rcpt-feed>.rcpt,.rcpt-stage.s-lift .rcpt-feed>.rcpt,.rcpt-stage.s-slam .rcpt-feed>.rcpt,.rcpt-stage.s-out .rcpt-feed>.rcpt{transform:none}
.rcpt-stage.s-retract .rcpt-feed>.rcpt{transform:none;animation:paperIn 1.1s cubic-bezier(.55,0,.75,.2) forwards}
@keyframes paperIn{to{transform:translate3d(0,-101%,0)}}
/* Une fois le papier sorti, la fente ne le retient plus : il peut déborder (ombre, déchirure) */
.rcpt-stage:not(.s-print):not(.s-retract) .rcpt-feed{overflow:visible}
/* Vibration de l'imprimante plus douce et continue pendant l'impression */
.rcpt-stage.s-print .rcpt-printer{animation:printerIn .7s cubic-bezier(.2,1.3,.4,1) both,printerHum2 .18s ease-in-out .8s 14 alternate}
@keyframes printerHum2{to{transform:translateY(.8px)}}
.rcpt-sound{right:auto;left:24px}

/* Écran d'attente : un clic lance l'impression (et débloque le son) */
.rcpt-ready{position:absolute;left:50%;bottom:9vh;z-index:7;display:flex;flex-direction:column;align-items:center;gap:16px;width:min(520px,92vw);
  transform:translate(-50%,40px);opacity:0;pointer-events:none;transition:opacity .4s,transform .6s cubic-bezier(.2,1.4,.4,1)}
.rcpt-ready .rcpt-big{width:100%}
.rcpt-stage.s-ready .rcpt-ready{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.rcpt-stage.s-ready .rcpt-printer{animation:printerIn .7s cubic-bezier(.2,1.3,.4,1) both}
.rcpt-stage.s-ready .rcpt-caption{opacity:0}

/* Avant le clic « Imprimer » : le papier reste caché dans la machine */
.rcpt-stage.s-ready .rcpt-feed{overflow:hidden!important}
.rcpt-stage.s-ready .rcpt-feed>.rcpt{transform:translate3d(0,-101%,0)!important}

/* ===== Formulaire d'avis, refonte « wf » ===== */
.wf{grid-template-columns:minmax(0,1fr) 360px}
.wf__form.form{padding:0;gap:22px;background:none;border:0;box-shadow:none}
.wf__form.form::before,.wf__form.form::after{display:none}
.wf__steps{position:sticky;top:84px;z-index:5;padding:16px 22px;border:1px solid var(--line);border-radius:18px;background:rgba(12,12,16,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.wf__steps .fbar{margin-top:14px;height:3px;border-radius:3px;background:rgba(240,235,225,.06);overflow:hidden}
.wf__steps .fbar i{border-radius:3px;background:linear-gradient(90deg,var(--red),var(--gold))}
.wf__alert{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:14px;border:1px solid rgba(224,87,63,.5);background:rgba(224,87,63,.1);color:#F7C2B6}
.wf__alert b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--bad);color:#fff}
.wf__block{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);gap:clamp(16px,2.4vw,30px);margin:0;padding:clamp(22px,3vw,36px);min-width:0;
  border:1px solid var(--line);border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,.008) 60%);transition:border-color .4s,box-shadow .4s}
.wf__block::before{content:"";position:absolute;left:-1px;top:28px;bottom:28px;width:3px;border-radius:3px;background:var(--red);transform:scaleY(0);transition:transform .5s var(--ease-out)}
.wf__block:focus-within{border-color:rgba(226,70,58,.4);box-shadow:0 30px 60px -30px rgba(226,70,58,.35)}
.wf__block:focus-within::before{transform:scaleY(1)}
.wf__num{display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:4px}
.wf__num b{font:400 34px/1 var(--f-serif);color:transparent;-webkit-text-stroke:1px rgba(240,235,225,.35);transition:color .4s,-webkit-text-stroke-color .4s}
.wf__num i{font:400 22px/1 var(--f-jp);font-style:normal;color:var(--gold);opacity:.55}
.wf__block:focus-within .wf__num b{color:var(--red);-webkit-text-stroke-color:var(--red)}
.wf__body{display:flex;flex-direction:column;gap:16px;min-width:0}
.wf__title{display:block;padding:0;font:400 clamp(22px,2.2vw,28px)/1.15 var(--f-serif);color:var(--paper)}
.wf__hint{margin:-8px 0 4px;font-size:14.5px;color:var(--mute)}
.wf__field{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}
.wf__field>label,.wf__field>legend{padding:0;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.wf .muted{font-weight:400;letter-spacing:0;text-transform:none;color:var(--mute);font-size:12.5px;margin-left:6px}
.wf .input,.wf .textarea,.wf .select{border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,.35);transition:border-color .3s,box-shadow .3s,background .3s}
.wf .input:hover,.wf .textarea:hover,.wf .select:hover{border-color:var(--line-2)}
.wf .input:focus,.wf .textarea:focus,.wf .select:focus{outline:0;border-color:var(--red);background:rgba(0,0,0,.5);box-shadow:0 0 0 4px rgba(226,70,58,.14)}
.wf .textarea{min-height:190px;line-height:1.6}
.wf .url-field .input{min-height:68px;font-size:20px;border-radius:16px}
.wf .url-preview{border-radius:14px}
.wf .url-preview .avatar{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:11px;background:var(--red);color:#fff;font:400 18px/1 var(--f-serif)}
.wf .url-preview b{color:var(--paper)}
.wf .url-preview em{margin-left:8px;font-style:normal;font-size:12.5px;padding:3px 9px;border-radius:99px;background:rgba(201,169,98,.14);color:var(--gold-2)}
.url-preview__ok{margin-left:auto;flex:none;width:22px;height:22px;fill:none;stroke:#2FC98A;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:24;stroke-dashoffset:24;animation:okDraw .6s .2s var(--ease-out) forwards}
@keyframes okDraw{to{stroke-dashoffset:0}}
.wf__rate{display:flex;align-items:center;flex-wrap:wrap;gap:18px 26px}
.wf .star-input{gap:10px}
.wf .star-input label{width:62px;height:62px;border-radius:16px;background:rgba(0,0,0,.35)}
.wf .star-input input:checked~label{background:color-mix(in srgb,var(--c,var(--gold)) 14%,transparent);box-shadow:0 10px 26px -12px var(--c,var(--gold))}
.wf .star-label{margin:0;font:400 clamp(20px,2vw,26px)/1 var(--f-serif);color:var(--c,var(--soft))}
.wf__rate:has(.star-input[data-v="1"]) .star-label,.wf__rate:has(.star-input[data-v="2"]) .star-label{--c:var(--bad)}
.wf__rate:has(.star-input[data-v="3"]) .star-label{--c:var(--mid)}
.wf__rate:has(.star-input[data-v="4"]) .star-label,.wf__rate:has(.star-input[data-v="5"]) .star-label{--c:var(--gold-2)}
.wf__sigs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wf__sig{position:relative;cursor:pointer}
.wf__sig input{position:absolute;opacity:0;inset:0}
.wf__sig span{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;height:100%;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.25);transition:all .3s var(--ease-out)}
.wf__sig code{grid-row:span 2;align-self:start;padding:4px 7px;border-radius:7px;background:rgba(240,235,225,.06);font:500 11px/1 ui-monospace,monospace;color:var(--mute);transition:all .3s}
.wf__sig b{font-size:14.5px;color:var(--paper);font-weight:700}
.wf__sig small{font-size:12.5px;line-height:1.45;color:var(--mute)}
.wf__sig:hover span{border-color:var(--line-2);transform:translateY(-2px)}
.wf__sig input:checked+span{border-color:var(--bad);background:rgba(224,87,63,.09);box-shadow:inset 0 0 0 1px rgba(224,87,63,.35)}
.wf__sig input:checked+span code{background:var(--bad);color:#fff}
.wf__sig input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.wf__note{font-size:12.5px;color:var(--mute)}
.wf__certify{position:relative;display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px dashed var(--line-2);border-radius:14px;cursor:pointer;font-size:14px;line-height:1.55;color:var(--soft);transition:border-color .3s,background .3s}
.wf__certify input{position:absolute;opacity:0}
.wf__certify i{flex:none;display:grid;place-items:center;width:24px;height:24px;margin-top:1px;border:1.5px solid var(--line-2);border-radius:7px;transition:all .3s}
.wf__certify svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .35s var(--ease-out)}
.wf__certify:has(input:checked){border-style:solid;border-color:rgba(47,201,138,.45);background:rgba(47,201,138,.05)}
.wf__certify input:checked+i{background:#2FC98A;border-color:#2FC98A}
.wf__certify input:checked+i svg{stroke-dashoffset:0}
.wf__certify input:focus-visible+i{outline:2px solid var(--gold);outline-offset:2px}
.wf__send{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:clamp(22px,3vw,32px);border-radius:22px;background:radial-gradient(120% 140% at 0 0,rgba(226,70,58,.16),transparent 60%),rgba(255,255,255,.02);border:1px solid rgba(226,70,58,.25)}
.wf__btn{gap:14px}
.wf__btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .3s var(--ease-out)}
.wf__btn:hover svg{transform:translateX(5px)}
.wf__send p{flex:1 1 260px;margin:0;font-size:13.5px;color:var(--mute)}
.wf__aside{top:100px}
.wf__ticket{position:relative;padding:22px 24px 30px;border-radius:18px 18px 6px 6px;background:linear-gradient(180deg,#F3EEE3,#E6DFCF);color:#1A1712;box-shadow:0 30px 60px -24px rgba(0,0,0,.8);transform:rotate(-1deg);transition:transform .5s var(--ease-out)}
.wf__ticket:hover{transform:rotate(0) translateY(-4px)}
.wf__ticket-top{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8A3A2A}
.wf__ticket-top i{flex:1;border-top:1px dashed rgba(26,23,18,.3)}
.wf__ticket b[data-pv-domain],.wf__ticket h3{color:#1A1712}
.wf__ticket small,.wf__ticket .preview__by{color:#6D6558}
.wf__ticket .preview__body{color:#3A352C}
.wf__ticket .preview__stars{color:var(--shu)}
.wf__ticket .preview__by{border-top-color:rgba(26,23,18,.15)}
.wf__ticket-cut{position:absolute;left:0;right:0;bottom:-9px;height:10px;background:linear-gradient(135deg,#E6DFCF 50%,transparent 50%) 0 0/14px 10px,linear-gradient(-135deg,#E6DFCF 50%,transparent 50%) 0 0/14px 10px}
.wf__tips{padding:24px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02)}
.wf__tips h2{margin:0 0 14px;font:400 20px/1.2 var(--f-serif)}
.wf__tips ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.wf__tips li{display:flex;gap:12px;align-items:center;font-size:14.5px;color:var(--soft)}
.wf__tips li b{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(201,169,98,.1);color:var(--gold);font:400 16px/1 var(--f-jp)}
.wf__cta{display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:18px;border:1px solid var(--line);text-decoration:none;color:var(--soft);font-size:13.5px;transition:border-color .3s,background .3s}
.wf__cta b{display:block;margin-bottom:4px;font:400 17px/1.2 var(--f-serif);color:var(--paper)}
.wf__cta svg{flex:none;width:22px;height:22px;margin-left:auto;fill:none;stroke:var(--red);stroke-width:2.2;transition:transform .3s var(--ease-out)}
.wf__cta:hover{border-color:rgba(226,70,58,.45);background:rgba(226,70,58,.06)}
.wf__cta:hover svg{transform:translateX(5px)}
@media (max-width:980px){.wf{grid-template-columns:minmax(0,1fr)}.wf__ticket{transform:none}.wf__tips,.wf__cta{display:none}}
@media (max-width:640px){.wf__block{grid-template-columns:minmax(0,1fr)}.wf__num{flex-direction:row;padding:0}.wf__num b{font-size:26px}.wf__sigs{grid-template-columns:minmax(0,1fr)}.wf__steps{top:64px;padding:12px 14px}.wf .star-input label{width:52px;height:52px}}

/* Huit signaux : grille 4 colonnes */
.sigs{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.sigs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.sigs{grid-template-columns:minmax(0,1fr)}}

.wf [data-sig-need].is-req{color:#F4A595;font-weight:700}
.wf__sigs.is-err{animation:sigShake .5s}.wf__sigs.is-err .wf__sig span{border-color:var(--bad)}
@keyframes sigShake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

/* ===== Vérification de l'e-mail par code (dépôt d'avis sans compte) ===== */
.otp{min-height:calc(100vh - 160px);display:grid;align-items:center}
.otp__card{max-width:560px;margin:0 auto;padding:clamp(30px,5vw,56px);text-align:center;border:1px solid var(--line);border-radius:28px;
  background:radial-gradient(120% 90% at 50% 0,rgba(226,70,58,.14),transparent 60%),rgba(255,255,255,.025);box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.otp__ico{position:relative;width:84px;height:84px;margin:0 auto 22px;display:grid;place-items:center;border-radius:24px;background:rgba(226,70,58,.12);border:1px solid rgba(226,70,58,.35)}
.otp__ico svg{width:44px;height:44px;fill:none;stroke:var(--red);stroke-width:2.4;stroke-linejoin:round;stroke-dasharray:140;stroke-dashoffset:140;animation:otpDraw 1.2s .3s var(--ease-out) forwards}
.otp__ico i{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--ink,#08080A);animation:otpPing 1.8s 1.2s ease-out infinite}
@keyframes otpDraw{to{stroke-dashoffset:0}}
@keyframes otpPing{0%{box-shadow:0 0 0 4px #08080A,0 0 0 4px rgba(201,169,98,.6)}100%{box-shadow:0 0 0 4px #08080A,0 0 0 18px rgba(201,169,98,0)}}
.otp__title{margin:8px 0 12px;font:400 clamp(28px,4vw,40px)/1.1 var(--f-serif)}
.otp__lead{margin:0 auto 22px;max-width:420px;color:var(--soft);line-height:1.6}
.otp__lead b{color:var(--paper)}
.otp__debug{display:inline-block;margin:0 0 18px;padding:8px 14px;border-radius:10px;border:1px dashed var(--gold);color:var(--gold-2);font-size:14px}
.otp__debug b{letter-spacing:.2em}
.otp__ok{margin:0 0 16px;color:#7EE3B5;font-size:14px}
.otp__boxes{display:flex;justify-content:center;gap:10px}
.otp__boxes input{width:clamp(44px,12vw,62px);height:clamp(56px,14vw,74px);padding:0;text-align:center;font:400 clamp(24px,5vw,32px)/1 var(--f-serif);color:var(--paper);
  border:1px solid var(--line-2);border-radius:16px;background:rgba(0,0,0,.4);caret-color:var(--red);transition:border-color .25s,box-shadow .25s,transform .3s var(--ease-out)}
.otp__boxes input:nth-child(3){margin-right:12px}
.otp__boxes input:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 4px rgba(226,70,58,.16);transform:translateY(-3px)}
.otp__boxes input.is-on{border-color:var(--gold);background:rgba(201,169,98,.07)}
.otp__form.is-full .otp__boxes input{border-color:#2FC98A;box-shadow:0 0 0 3px rgba(47,201,138,.18)}
.otp__err{margin:14px 0 0;animation:sigShake .5s}
.otp__btn{margin-top:24px;width:100%}
.otp__foot{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:20px;font-size:14px;color:var(--mute)}
.otp__foot form{margin:0}
.otp__link{background:none;border:0;padding:0;color:var(--gold-2);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.otp__link:disabled{color:var(--mute);cursor:default;text-decoration:none}
.otp__note{margin:16px 0 0;font-size:12.5px;color:var(--mute)}

/* Fiche : bloc note réorganisé (verdict, répartition, signaux) */
.sc-top{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.sc-top .gauge{width:150px;height:150px}
.sc-verdict{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.sc-verdict .gauge-panda{margin-bottom:2px}
.sc-verdict .score__verdict{margin:0;font-size:clamp(22px,2.2vw,28px);line-height:1.05}
.sc-count{margin:0;font-size:13px;color:var(--mute)}
.sc-block{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.sc-h{display:flex;justify-content:space-between;margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.sc-h span{color:var(--mute);letter-spacing:.04em}
.sc-block .dist{margin:0}
.sc-block .sig-lights{margin:0}
@media (max-width:420px){.sc-top{grid-template-columns:1fr;justify-items:center}.sc-verdict{align-items:center;text-align:center}}

.chk__code{margin-left:auto;align-self:center;flex:none;padding:3px 8px;border-radius:7px;background:rgba(240,235,225,.06);font:500 11px/1 ui-monospace,monospace;color:var(--mute)}
.chk[aria-pressed=true] .chk__code{background:rgba(201,169,98,.16);color:var(--gold-2)}
.prose h3 small{margin-left:8px;font:500 12px/1 ui-monospace,monospace;color:var(--mute);letter-spacing:.02em}

/* ===== Fiche réclamée : badge, carte agence avec capture ===== */
.claimed{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}
.claimed svg{width:1em;height:1em;flex:none}
.claimed__r{fill:var(--red)}
.claimed__c{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.claimed--h1{font-size:.62em;margin-left:.2em;transform:translateY(-.1em);animation:claimIn .8s .4s var(--ease-out) both}
.claimed--sm{font-size:16px;margin-left:6px}
.claimed--pill{padding:5px 12px 5px 8px;border-radius:99px;background:rgba(226,70,58,.12);border:1px solid rgba(226,70,58,.35);font-size:13px;font-weight:700;color:#F7B8AE}
.claimed--pill svg{width:18px;height:18px}
@keyframes claimIn{from{opacity:0;transform:scale(.3) rotate(-120deg)}to{opacity:1;transform:translateY(-.1em)}}
.site-tagline{margin:4px 0 6px;font-size:16px;color:var(--soft)}
.agency-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:center;margin-top:30px;padding:16px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.02)}
.agency-card__shot{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line-2);background:#111;text-decoration:none;transition:transform .5s var(--ease-out),box-shadow .5s}
.agency-card__shot:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 26px 50px -24px rgba(0,0,0,.9)}
.agency-card__bar{display:flex;align-items:center;gap:5px;padding:7px 10px;background:#1B1B20;border-bottom:1px solid var(--line)}
.agency-card__bar i{width:8px;height:8px;border-radius:50%;background:#3A3940}
.agency-card__bar i:first-child{background:#E2463A}.agency-card__bar i:nth-child(2){background:#E39B3A}.agency-card__bar i:nth-child(3){background:#2FC98A}
.agency-card__bar em{margin-left:8px;flex:1;padding:2px 10px;border-radius:6px;background:#0E0E12;font:normal 11px/1.6 ui-monospace,monospace;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agency-card__shot img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top}
.agency-card__wait{display:grid;place-items:center;gap:6px;aspect-ratio:16/10;color:var(--mute);font-size:12.5px;text-align:center}
.agency-card__info{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.agency-card__q{margin:0;font:400 20px/1.2 var(--f-serif);color:var(--paper)}
.agency-card__desc{margin:0;font-size:14.5px;line-height:1.6;color:var(--soft)}
.agency-card__facts{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13.5px;color:var(--soft)}
.agency-card__facts b{display:inline-block;min-width:64px;color:var(--mute);font-weight:400}
.agency-card__facts a{color:var(--paper)}
.agency-card__claim{gap:10px}
.agency-card__claim svg{width:18px;height:18px;fill:var(--red)}
@media (max-width:640px){.agency-card{grid-template-columns:minmax(0,1fr)}}

/* Menu du compte connecté */
.acct{position:relative}
.acct__btn{cursor:pointer;font:inherit}
.acct__av{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--red);color:#fff;font:400 13px/1 var(--f-serif)}
.acct__chev{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;transition:transform .3s}
.acct.is-open .acct__chev{transform:rotate(180deg)}
.acct__menu{position:absolute;right:0;top:calc(100% + 10px);z-index:60;min-width:250px;padding:8px;border:1px solid var(--line-2);border-radius:16px;
  background:rgba(14,14,18,.97);backdrop-filter:blur(14px);box-shadow:0 30px 60px -20px rgba(0,0,0,.9);animation:acctIn .25s var(--ease-out)}
@keyframes acctIn{from{opacity:0;transform:translateY(-6px) scale(.98)}}
.acct__who{display:flex;flex-direction:column;gap:2px;margin:0 0 6px;padding:10px 12px 12px;border-bottom:1px solid var(--line)}
.acct__who b{color:var(--paper);font-size:14.5px}.acct__who small{color:var(--mute);font-size:12.5px;word-break:break-all}
.acct__who .role{align-self:flex-start;margin-top:6px}
.acct__menu a,.acct__out{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:10px;border:0;background:none;color:var(--soft);font:inherit;font-size:14px;text-align:left;text-decoration:none;cursor:pointer}
.acct__menu a:hover,.acct__out:hover{background:rgba(240,235,225,.06);color:var(--paper)}
.acct__menu form{margin:6px 0 0;padding-top:6px;border-top:1px solid var(--line)}
.acct__out{color:#F4A595}.acct__out:hover{background:rgba(224,87,63,.12);color:#fff}
.acct__out svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
@media (max-width:980px){.acct__menu{position:static;margin-top:8px;box-shadow:none}}

/* ===== Page Méthode ===== */
.mt-stats{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:36px 0 0;padding:0;max-width:860px}
.mt-stats li{padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.mt-stats b{display:block;font:400 clamp(28px,3.4vw,40px)/1 var(--f-serif);color:var(--paper)}
.mt-stats li:last-child b{color:var(--red)}
.mt-stats span{display:block;margin-top:6px;font-size:13px;color:var(--mute)}
.mt-promises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mt-promise{position:relative;padding:30px 28px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.02);overflow:hidden;transition:transform .5s var(--ease-out),border-color .4s}
.mt-promise:hover{transform:translateY(-6px);border-color:var(--line-2)}
.mt-promise i{position:absolute;right:-8px;bottom:-26px;font:400 130px/1 var(--f-jp);font-style:normal;color:rgba(240,235,225,.04);pointer-events:none}
.mt-promise h2{margin:0 0 10px;font:400 22px/1.15 var(--f-serif)}
.mt-promise p{margin:0;color:var(--soft);font-size:15px;line-height:1.6}
.mt-promise--hot{background:linear-gradient(160deg,rgba(226,70,58,.2),rgba(226,70,58,.04));border-color:rgba(226,70,58,.4)}
.mt-promise--hot i{color:rgba(226,70,58,.12)}
.mt-path{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:p}
.mt-path li{position:relative;padding:26px 24px 24px;border:1px solid var(--line);border-radius:20px;background:rgba(10,10,13,.7)}
.mt-path li::after{content:"";position:absolute;top:44px;right:-19px;width:20px;border-top:1px dashed var(--line-2)}
.mt-path li:nth-child(3n)::after{display:none}
.mt-path__n{display:inline-grid;place-items:center;width:46px;height:46px;margin-bottom:14px;border-radius:14px;background:var(--red);color:#fff;font:400 17px/1 var(--f-serif);box-shadow:4px 4px 0 var(--gold)}
.mt-path h3{margin:0 0 8px;font:400 19px/1.2 var(--f-serif);color:var(--paper)}
.mt-path p{margin:0;font-size:14.5px;line-height:1.6;color:var(--soft)}
.mt-calc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,70px);align-items:center}
.mt-scale{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.mt-scale li{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);font-size:14px;color:var(--soft)}
.mt-scale b{font:400 15px/1 var(--f-serif)}
.mt-scale .t-bad b{color:var(--bad)}.mt-scale .t-mid b{color:var(--mid)}.mt-scale .t-good b{color:var(--gold-2)}
.mt-formula{padding:30px;border-radius:24px;border:1px solid var(--line-2);background:radial-gradient(100% 100% at 100% 0,rgba(201,169,98,.12),transparent 60%),rgba(255,255,255,.025);text-align:center}
.mt-formula__t{margin:0 0 16px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.mt-formula__row{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}
.mt-formula__row em{font-style:normal;color:var(--mute)}
.mt-chip{padding:10px 14px;border-radius:12px;font:400 20px/1 var(--f-serif);border:1px solid var(--line-2)}
.mt-chip.t-bad{color:var(--bad);background:rgba(224,87,63,.08)}.mt-chip.t-good{color:var(--gold-2);background:rgba(201,169,98,.08)}
.mt-formula__line{position:relative;margin:18px 0;border-top:1px solid var(--line-2)}
.mt-formula__line span{position:relative;top:-11px;padding:0 10px;background:#111114;font-size:13px;color:var(--mute)}
.mt-formula__res{margin:0;font:400 22px/1 var(--f-serif);color:var(--soft)}
.mt-formula__res b{font-size:clamp(52px,6vw,72px);color:var(--mid)}
.mt-formula__res small{display:block;margin-top:8px;font:400 14px/1 var(--f-sans);color:var(--mute)}
.mt-sigs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:36px}
.mt-sig{padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(10,10,13,.7);transition:border-color .3s,transform .4s var(--ease-out)}
.mt-sig:hover{border-color:rgba(224,87,63,.45);transform:translateY(-4px)}
.mt-sig code{display:inline-block;padding:4px 8px;border-radius:7px;background:rgba(224,87,63,.14);color:#F4A595;font:500 11.5px/1 ui-monospace,monospace}
.mt-sig h3{margin:12px 0 6px;font:400 18px/1.2 var(--f-serif)}
.mt-sig p{margin:0;font-size:13.5px;line-height:1.55;color:var(--soft)}
.mt-faq{max-width:860px}
.mt-faq .h2{margin-bottom:24px}
.mt-faq details{border-bottom:1px solid var(--line)}
.mt-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;cursor:pointer;list-style:none;font:400 clamp(17px,1.8vw,20px)/1.3 var(--f-serif);color:var(--paper)}
.mt-faq summary::-webkit-details-marker{display:none}
.mt-faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--line-2);color:var(--red);font-size:20px;transition:transform .35s var(--ease-out)}
.mt-faq details[open] summary::after{transform:rotate(45deg)}
.mt-faq details p{margin:0 0 22px;color:var(--soft);line-height:1.7;max-width:720px}
.mt-cta{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding:clamp(24px,4vw,40px);border-radius:26px;border:1px solid rgba(226,70,58,.3);background:radial-gradient(120% 140% at 0 0,rgba(226,70,58,.18),transparent 60%),rgba(255,255,255,.02)}
.mt-cta>div{flex:1 1 300px}
.mt-cta h2{margin:0 0 6px;font:400 clamp(22px,2.4vw,30px)/1.15 var(--f-serif)}
.mt-cta p{margin:0;color:var(--soft)}
@media (max-width:1000px){.mt-path,.mt-sigs{grid-template-columns:repeat(2,minmax(0,1fr))}.mt-path li::after{display:none}.mt-calc{grid-template-columns:minmax(0,1fr)}.mt-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.mt-promises{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.mt-path,.mt-sigs{grid-template-columns:minmax(0,1fr)}}

/* Menu mobile : le compte s'affiche à plat (pas de menu dans le menu) */
@media (max-width:980px){
  .acct{width:100%}
  .acct__btn{display:none!important}
  .acct__menu,.acct__menu[hidden]{display:grid!important;grid-template-columns:1fr 1fr;gap:6px;position:static;min-width:0;margin:0;padding:14px;border-radius:18px;
    background:rgba(255,255,255,.03);border:1px solid var(--line);box-shadow:none;backdrop-filter:none;animation:none}
  .acct__who{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 4px;padding:0 0 12px}
  .acct__who::before{content:attr(data-initial);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;font:400 16px/1 var(--f-serif)}
  .acct__who b{font-size:16px}
  .acct__who small{flex-basis:100%;padding-left:48px;margin-top:-6px}
  .acct__who .role{margin:0 0 0 auto}
  .acct__menu a{justify-content:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.25);font-size:14px}
  .acct__menu form{grid-column:1/-1;margin:4px 0 0;padding:0;border:0}
  .acct__out{justify-content:center;border:1px solid rgba(224,87,63,.35);border-radius:12px}
}

/* Fiche : outils de l'agence propriétaire */
.own-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px;padding:14px 16px;border-radius:16px;border:1px solid rgba(226,70,58,.35);background:rgba(226,70,58,.08);font-size:14px;color:var(--soft)}
.own-bar span{flex:1 1 200px}
.own-reply{margin-top:14px}
.own-reply summary{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:12px;border:1px solid rgba(226,70,58,.45);color:#F7B8AE;font-size:14px;cursor:pointer;list-style:none;transition:background .25s}
.own-reply summary::-webkit-details-marker{display:none}
.own-reply summary:hover{background:rgba(226,70,58,.12)}
.own-reply form{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.own-reply__acts{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.own-reply__acts small{color:var(--mute)}
.reply b .claimed{font-size:14px;margin-left:4px}

/* ===== Badge « Recommandée par l'équipe du panda » ===== */
.reco{display:inline-flex;align-items:center;gap:7px;vertical-align:middle}
.reco svg{width:1.1em;height:1.1em;flex:none;filter:drop-shadow(0 2px 6px rgba(201,169,98,.45))}
.reco--h1{font-size:.7em;margin-left:.15em;animation:recoIn 1s .6s var(--ease-out) both}
.reco--sm{font-size:18px;margin-left:4px}
.reco--xl svg{width:64px;height:64px}
.reco--pill{padding:5px 13px 5px 6px;border-radius:99px;background:linear-gradient(90deg,rgba(201,169,98,.22),rgba(201,169,98,.06));border:1px solid rgba(201,169,98,.5);color:#F2DFAE;font-size:13px;font-weight:700}
.reco--pill svg{width:24px;height:24px}
@keyframes recoIn{from{opacity:0;transform:scale(.2) rotate(200deg)}60%{transform:scale(1.25) rotate(-10deg)}to{opacity:1;transform:none}}
.reco-line{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:8px 0 4px;font-size:14px;color:var(--soft)}
.reco-line>span:last-child{font-style:italic}
.reco-show{margin:0 0 34px;padding:clamp(20px,3vw,30px);border-radius:26px;border:1px solid rgba(201,169,98,.35);background:radial-gradient(90% 120% at 0 0,rgba(201,169,98,.16),transparent 60%),rgba(255,255,255,.02)}
.reco-show header{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.reco-show h2{margin:0 0 4px;font:400 clamp(22px,2.4vw,30px)/1.1 var(--f-serif);color:#F2DFAE}
.reco-show header p{margin:0;color:var(--soft);font-size:14.5px}
.reco-show__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.reco-card{display:flex;flex-direction:column;gap:6px;padding:12px 12px 16px;border-radius:18px;border:1px solid var(--line);background:rgba(8,8,10,.6);text-decoration:none;color:var(--soft);transition:transform .4s var(--ease-out),border-color .3s}
.reco-card:hover{transform:translateY(-5px);border-color:rgba(201,169,98,.55)}
.reco-card__shot{display:grid;place-items:center;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:#141418;margin-bottom:6px}
.reco-card__shot img{width:100%;height:100%;object-fit:cover;object-position:top}
.reco-card b{color:var(--paper);font-size:16px}
.reco-card small{color:var(--mute)}
.reco-card p{margin:2px 0 0;font-size:13.5px;font-style:italic;line-height:1.5}
@media (max-width:560px){.reco-show header{flex-direction:column;align-items:flex-start}}

/* ===== Pages juridiques (Confidentialité, Mentions légales) ===== */
.doc-pills{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0}
.doc-pills li{padding:10px 16px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.03);font-size:14px;color:var(--soft)}
.doc-pills b{margin-right:4px;font:400 17px/1 var(--f-serif);color:var(--red)}
.doc{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(28px,5vw,70px);align-items:start}
.doc-toc{position:sticky;top:110px;display:flex;flex-direction:column;gap:2px;padding-left:16px;border-left:1px solid var(--line)}
.doc-toc p{margin:0 0 10px;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.doc-toc a{position:relative;padding:7px 0;color:var(--soft);font-size:14.5px;text-decoration:none;transition:color .25s}
.doc-toc a::before{content:"";position:absolute;left:-17px;top:50%;width:3px;height:0;border-radius:3px;background:var(--red);transform:translateY(-50%);transition:height .3s var(--ease-out)}
.doc-toc a:hover,.doc-toc a.is-on{color:var(--paper)}
.doc-toc a.is-on::before{height:18px}
.doc-body{display:flex;flex-direction:column;gap:18px;max-width:820px}
.doc-sec{padding:clamp(22px,3vw,32px);border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.02);scroll-margin-top:110px}
.doc-sec h2{display:flex;align-items:center;gap:14px;margin:0 0 14px;font:400 clamp(21px,2.2vw,26px)/1.15 var(--f-serif)}
.doc-sec h2 span{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:var(--red);color:#fff;font-size:15px;box-shadow:3px 3px 0 var(--gold)}
.doc-sec p{margin:0 0 12px;color:var(--soft);line-height:1.75}
.doc-sec p:last-child{margin-bottom:0}
.doc-sec strong{color:var(--paper)}
.doc-sec--hot{border-color:rgba(226,70,58,.35);background:radial-gradient(100% 120% at 0 0,rgba(226,70,58,.12),transparent 60%),rgba(255,255,255,.02)}
.doc-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.doc-table{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.doc-table>div{display:grid;grid-template-columns:1.3fr .5fr 1.4fr;gap:14px;padding:13px 16px;border-top:1px solid var(--line);font-size:14px;color:var(--soft)}
.doc-table>div:first-child{border-top:0}
.doc-table__h{background:rgba(255,255,255,.04);font-size:11.5px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)!important}
.doc-table b{color:var(--paper)}
.doc-yes,.doc-no{display:inline-block;padding:2px 10px;border-radius:99px;font-style:normal;font-size:12.5px}
.doc-yes{background:rgba(201,169,98,.15);color:var(--gold-2)}
.doc-no{background:rgba(47,201,138,.13);color:#7EE3B5}
.doc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.doc-list li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px dashed var(--line);font-size:14.5px;color:var(--soft)}
.doc-list li:first-child{border-top:0}
.doc-list b{color:var(--paper);font-weight:600}
.doc-list span{text-align:right}
.doc-ids{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}
.doc-id{position:relative;overflow:hidden;padding:26px;border-radius:22px;border:1px solid var(--line-2);background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.01));scroll-margin-top:110px}
.doc-id__k{position:absolute;right:-6px;bottom:-30px;font:400 120px/1 var(--f-jp);color:rgba(240,235,225,.05)}
.doc-id h2{margin:0 0 14px;font:400 21px/1.2 var(--f-serif)}
.doc-id dl{margin:0;display:flex;flex-direction:column;gap:9px}
.doc-id dl div{display:flex;flex-direction:column;gap:2px}
.doc-id dt{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.doc-id dd{margin:0;color:var(--paper);font-size:14.5px}
.doc-date{margin:6px 0 0;font-size:13px;color:var(--mute)}
@media (max-width:900px){.doc{grid-template-columns:minmax(0,1fr)}.doc-toc{position:static;flex-direction:row;flex-wrap:wrap;gap:6px;padding:0;border:0}.doc-toc p{width:100%}.doc-toc a{padding:7px 13px;border:1px solid var(--line);border-radius:99px;font-size:13px}.doc-toc a::before{display:none}.doc-ids{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.doc-table>div{grid-template-columns:1fr auto}.doc-table>div>span:last-child{grid-column:1/-1;font-size:13px;color:var(--mute)}.doc-table__h>span:last-child{display:none}.doc-list li{flex-direction:column;gap:2px}.doc-list span{text-align:left}}

/* Pancarte : le texte reste lisible quand le panda marche dans l autre sens */
.rp--flip .rp__placard text{transform:scaleX(-1);transform-box:fill-box;transform-origin:center}
/* ===== Calendrier maison (remplace le sélecteur de date du navigateur) ===== */
.dp{position:relative}
.dp__in{cursor:pointer}
.dp__pop{position:absolute;z-index:60;top:calc(100% + 8px);left:0;width:290px;padding:14px;border-radius:18px;border:1px solid var(--line-2);background:#141317;box-shadow:0 30px 60px -20px rgba(0,0,0,.9);animation:stIn .25s cubic-bezier(.2,.8,.2,1)}
.dp__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.dp__head b{font:400 16px/1 var(--f-serif);color:var(--paper);text-transform:capitalize}
.dp__nav{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:none;color:var(--soft);cursor:pointer}
.dp__nav:hover{border-color:var(--red);color:var(--paper)}
.dp__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.dp__grid span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);padding:4px 0}
.dp__grid button{aspect-ratio:1;border:0;border-radius:10px;background:none;color:var(--soft);font:500 13.5px var(--f-sans);cursor:pointer;transition:background .15s,color .15s}
.dp__grid button:hover{background:rgba(255,255,255,.07);color:var(--paper)}
.dp__grid button.is-out{color:rgba(240,235,225,.22)}
.dp__grid button.is-today{box-shadow:inset 0 0 0 1px var(--gold)}
.dp__grid button.is-on{background:var(--red);color:#fff}
.dp__grid button:disabled{opacity:.25;cursor:default}
.dp__foot{display:flex;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.dp__foot button{border:0;background:none;color:var(--gold-2);font:600 13px var(--f-sans);cursor:pointer}
.dp__foot button:first-child{color:var(--mute)}

/* ===== Fiche personnalisée par l'agence : logo, couleur, services, réseaux, réalisations ===== */
.site-logo{display:grid;place-items:center;width:88px;height:88px;flex:none;border-radius:20px;background:#F0EBE1;overflow:hidden;box-shadow:0 0 0 3px var(--brand,transparent)}
.site-logo img{width:100%;height:100%;object-fit:contain;padding:8px}
.site-brand .btn{--btn-bg:var(--brand,var(--red))}
.site-brand .claimed--pill{border-color:var(--brand,rgba(226,70,58,.35))}
.agency-card__svc{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0}
.agency-card__svc span{padding:4px 11px;border-radius:99px;font-size:12.5px;color:var(--paper);background:color-mix(in srgb,var(--brand,var(--red)) 16%,transparent);border:1px solid color-mix(in srgb,var(--brand,var(--red)) 45%,transparent)}
.agency-card__soc{display:flex;flex-wrap:wrap;gap:12px;margin:0;font-size:13px}
.agency-card__soc a{color:var(--gold-2)}
.works{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:30px}
.work{margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.02);transition:transform .5s var(--ease-out),border-color .3s}
.work:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--brand,var(--red)) 60%,transparent)}
.work__img{display:block;aspect-ratio:4/3;overflow:hidden;background:#111}
.work__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.work:hover .work__img img{transform:scale(1.06)}
.work figcaption{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px}
.work figcaption b{color:var(--paper);font:400 17px/1.2 var(--f-serif)}
.work figcaption span{color:var(--soft);font-size:14px}
.work figcaption small{color:var(--brand,var(--gold-2));font-size:12.5px}

.site-brand .btn{background:var(--brand,var(--red))}

/* ===== Marque Code ou pas ===== */
.cwm{font:400 inherit;white-space:nowrap}
.cwm i{font-style:normal;color:var(--red)}
.cwm b{display:inline-block;margin-left:1px;color:var(--gold);font-weight:inherit;transform:rotate(12deg) translateY(-1px);transition:transform .5s cubic-bezier(.2,1.6,.4,1)}
.brand:hover .cwm b{transform:rotate(-14deg) translateY(-3px) scale(1.15)}
.brand__name .cwm{font-family:var(--f-serif);letter-spacing:.02em;text-transform:none}
.seal__tag{transform-box:fill-box;transform-origin:center;transition:transform .5s cubic-bezier(.2,1.6,.4,1)}
.brand:hover .seal__tag{transform:rotate(-8deg) scale(1.08)}
.vh__ou{color:var(--red)}
.footer__big span:last-child{color:var(--red)}

/* ===== Marque « CodeOuPas » : écriture ronde en vague (Shrikhand) ===== */
.cwm{display:inline-flex;align-items:baseline;font:400 1.35em/1 "Shrikhand",var(--f-serif);letter-spacing:.01em;text-transform:none;white-space:nowrap;
  color:#F6EFE2;text-shadow:0 2px 0 #8A3816,0 3px 0 #5E230E,0 6px 12px rgba(0,0,0,.45)}
.cwm__l{display:inline-block;transform:translateY(calc(sin(var(--i) * 0.9rad) * -0.12em)) rotate(calc(sin(var(--i) * 0.9rad + 1rad) * 6deg))}
.cwm__l--hot{color:var(--red);text-shadow:0 2px 0 #7A1E16,0 3px 0 #4A100B,0 6px 12px rgba(0,0,0,.45)}
.brand:hover .cwm__l{animation:wmWave .9s ease-in-out calc(var(--i) * .06s)}
@keyframes wmWave{50%{transform:translateY(-.22em) rotate(-6deg)}}
.brand__name .cwm{font-size:22px}
.footer__big .cwm,.wm--xl{font-size:1em}
@media (prefers-reduced-motion:reduce){.brand:hover .cwm__l{animation:none}}

.brand__name .cwm{font-family:"Shrikhand",var(--f-serif);letter-spacing:.01em}

/* ===== Marque « CodeOuPas » : lettres gonflées et brillantes (Modak) ===== */
@font-face{font-family:"Modak";src:url("../fonts/modak.woff2") format("woff2");font-display:swap}
.cwm,.brand__name .cwm{display:inline-flex;align-items:flex-end;font:400 1.5em/.82 "Modak",var(--f-serif);letter-spacing:-.03em;text-transform:none;white-space:nowrap;text-shadow:none;color:#F6EFE2}
.cwm__l{position:relative;display:inline-block;
  background:linear-gradient(180deg,#FFF8EC 0%,#F2E4CE 55%,#D6BE9C 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 .05em 0 #8A3816) drop-shadow(0 .08em 0 #4A1A0A) drop-shadow(0 .14em .18em rgba(0,0,0,.45));
  transform:translateY(calc(sin(var(--i) * 0.9rad) * -0.06em)) rotate(calc(sin(var(--i) * 0.9rad + 1rad) * 4deg))}
.cwm__l--hot{background:linear-gradient(180deg,#FF9A80 0%,#E2463A 55%,#B7362A 100%);-webkit-background-clip:text;background-clip:text;
  filter:drop-shadow(0 .05em 0 #6E1E15) drop-shadow(0 .08em 0 #3A0E09) drop-shadow(0 .14em .18em rgba(0,0,0,.45))}
/* Reflets : trait courbe en haut à gauche + petit point, comme une bouée */
.cwm__l::after{content:attr(data-l);position:absolute;inset:0;-webkit-text-fill-color:transparent;
  background:radial-gradient(ellipse 20% 8% at 30% 20%,rgba(255,255,255,.95) 60%,transparent 64%),radial-gradient(circle at 72% 80%,rgba(255,255,255,.55) 3.5%,transparent 4.5%);
  -webkit-background-clip:text;background-clip:text;pointer-events:none}
.brand:hover .cwm__l{animation:wmBounce .8s cubic-bezier(.3,1.6,.4,1) calc(var(--i) * .05s)}
@keyframes wmBounce{40%{transform:translateY(-.12em) scale(1.08,.94)}70%{transform:translateY(.02em) scale(.96,1.05)}}
.brand__name .cwm{font-size:30px}
.footer__big .cwm{font-size:1.6em}
@media (prefers-reduced-motion:reduce){.brand:hover .cwm__l{animation:none}}

.cwm__l,.cwm__l--hot{text-shadow:none!important}

.cwm__l{-webkit-text-stroke:.025em #6B2A12}
.cwm__l--hot{-webkit-text-stroke:.025em #5E1611;background:linear-gradient(180deg,#FFB4A0 0%,#F0583F 50%,#C8372D 100%)!important;-webkit-background-clip:text!important;background-clip:text!important}
.cwm__l::after{-webkit-text-stroke:0}

.cwm__l--hot{background:none!important;-webkit-text-fill-color:#FF6A4D;filter:drop-shadow(0 .05em 0 #8E2318) drop-shadow(0 .08em 0 #4A100B)!important}
.brand__name .cwm{font-size:32px}

/* ===== Pied de page : signature « CodeOuPas » inspectée par le panda ===== */
.fsig{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;padding:10px 0 6px;text-align:center}
.fsig__stage{position:relative;display:flex;align-items:flex-end;justify-content:center;padding-right:clamp(70px,10vw,140px)}
.fsig__wm .cwm{font-size:clamp(64px,11vw,150px);filter:drop-shadow(0 20px 40px rgba(226,70,58,.18))}
.fsig__wm .cwm__l{animation:fsigFloat 4.5s ease-in-out calc(var(--i) * -.45s) infinite}
@keyframes fsigFloat{50%{transform:translateY(-.06em) rotate(calc(sin(var(--i) * 0.9rad + 1rad) * -4deg))}}
/* Loupe posée sur « Ou » : verre bombé qui balaie doucement */
.fsig__lens{position:absolute;left:47%;top:50%;width:clamp(70px,11vw,150px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);
  border:clamp(6px,.9vw,11px) solid #C9A962;box-shadow:0 0 0 2px #8A6D33,inset 0 0 30px rgba(255,255,255,.12),0 18px 40px -10px rgba(0,0,0,.7);
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.35),rgba(255,255,255,.04) 45%,rgba(236,217,168,.06));backdrop-filter:saturate(1.4) brightness(1.15);
  animation:fsigLens 6s ease-in-out infinite}
.fsig__lens::after{content:"";position:absolute;right:-38%;bottom:-38%;width:42%;height:12%;border-radius:6px;background:linear-gradient(90deg,#8A5A2E,#5B3A22);transform:rotate(45deg);transform-origin:left center}
@keyframes fsigLens{0%,100%{left:47%}50%{left:53%}}
.fsig__panda{position:absolute;right:0;bottom:-12px;width:clamp(90px,11vw,150px);height:auto;animation:fsigPeek 6s ease-in-out infinite}
@keyframes fsigPeek{0%,100%{transform:rotate(0)}50%{transform:rotate(-4deg) translateY(-4px)}}
.fsig__line{margin:4px 0 0;font:400 clamp(20px,2.4vw,30px)/1.2 var(--f-serif);color:var(--paper)}
.fsig__line em{font-style:normal;color:var(--red)}
.fsig__chips{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0}
.fsig__chips li{padding:8px 16px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.03);font-size:13.5px;color:var(--soft)}
.fsig__chips b{margin-right:4px;font:400 16px/1 var(--f-serif);color:var(--gold-2)}
.footer__hero{min-height:0!important;padding-bottom:30px}
@media (max-width:700px){.fsig__stage{padding-right:0;flex-direction:column;align-items:center}.fsig__panda{position:static;margin-top:-6px}.fsig__lens{display:none}}
@media (prefers-reduced-motion:reduce){.fsig__wm .cwm__l,.fsig__lens,.fsig__panda{animation:none}}

.fsig__chips{width:100%}
.fsig__lens::after{right:-26%;bottom:-26%;width:30%}
.fsig__lens{top:44%}

.footer .fsig__chips{display:flex!important;flex-direction:row!important;grid-template-columns:none!important;width:auto;max-width:100%}
.footer .fsig__chips li{width:auto;display:block}

.fsig__line{margin-top:26px}

/* ===== Analyse du panda : page d'attente ===== */
.aw{min-height:calc(100vh - 160px);display:grid;align-items:center}
.aw__in{max-width:760px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.aw__scene{position:relative;width:min(520px,90vw);height:300px;margin-bottom:6px}
.aw__screen{position:absolute;left:0;top:10px;width:78%;height:240px;border-radius:14px;overflow:hidden;border:1px solid var(--line-2);background:#121216;box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.aw__bar{display:flex;align-items:center;gap:5px;padding:8px 10px;background:#1B1B20;border-bottom:1px solid var(--line)}
.aw__bar i{width:8px;height:8px;border-radius:50%;background:#3A3940}.aw__bar i:first-child{background:#E2463A}.aw__bar i:nth-child(2){background:#E39B3A}.aw__bar i:nth-child(3){background:#2FC98A}
.aw__bar em{margin-left:8px;padding:2px 10px;border-radius:6px;background:#0E0E12;font:normal 11px ui-monospace,monospace;color:var(--mute)}
.aw__page{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px}
.aw__page b{height:28px;border-radius:6px;background:rgba(240,235,225,.06);animation:awPulse 1.6s ease-in-out infinite}
.aw__page b:nth-child(1){grid-column:1/-1;height:46px}.aw__page b:nth-child(2n){animation-delay:.3s}
@keyframes awPulse{50%{background:rgba(240,235,225,.12)}}
.aw__scan{position:absolute;left:0;right:0;top:36px;height:60px;background:linear-gradient(180deg,transparent,rgba(226,70,58,.25),transparent);animation:awScan 2.4s ease-in-out infinite}
@keyframes awScan{50%{transform:translateY(140px)}}
.aw__panda{position:absolute;right:0;bottom:0;animation:awBob 2.6s ease-in-out infinite}
.aw__panda .mascot__glass{transform-box:fill-box;transform-origin:10% 90%;animation:awGlass 2.4s ease-in-out infinite}
@keyframes awBob{50%{transform:translateY(-6px)}}
@keyframes awGlass{50%{transform:rotate(-16deg) translateX(-10px)}}
.aw__title{margin:0;font:400 clamp(26px,3.6vw,44px)/1.1 var(--f-serif);word-break:break-word}
.aw__steps{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;text-align:left;width:min(460px,100%)}
.aw__steps li{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);color:var(--mute);font-size:14.5px;transition:all .4s}
.aw__steps li::before{content:"";width:16px;height:16px;flex:none;border-radius:50%;border:2px solid var(--line-2)}
.aw__steps li.is-on{color:var(--paper);border-color:rgba(226,70,58,.45);background:rgba(226,70,58,.06)}
.aw__steps li.is-on::before{border-color:var(--red);border-top-color:transparent;animation:awSpin .8s linear infinite}
.aw__steps li.is-ok{color:var(--soft)}
.aw__steps li.is-ok::before{border-color:#2FC98A;background:#2FC98A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/10px no-repeat}
@keyframes awSpin{to{transform:rotate(360deg)}}
.aw__note{margin:6px 0 0;color:var(--mute);font-size:14px}
.aw__err{margin:6px 0 0;padding:12px 16px;border-radius:12px;background:rgba(224,87,63,.1);border:1px solid rgba(224,87,63,.4);color:#F4A595}

/* ===== Analyse du panda : rapport sur la fiche ===== */
.au__top{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;margin-top:30px}
.au__risk{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px;border-radius:24px;border:1px solid var(--line);background:radial-gradient(90% 70% at 50% 0,color-mix(in srgb,var(--c) 18%,transparent),transparent 70%),rgba(255,255,255,.02);text-align:center}
.au__risk.t-good,.au__axe.t-good,.au__list li.t-good{--c:#2FC98A}.au__risk.t-mid,.au__axe.t-mid,.au__list li.t-mid{--c:var(--mid)}.au__risk.t-bad,.au__axe.t-bad,.au__list li.t-bad{--c:var(--bad)}.au__list li.t-soft{--c:var(--line-2)}
.au__ring{position:relative;width:150px;height:150px}
.au__ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.au__ring circle{fill:none;stroke-width:11;stroke-linecap:round}
.au__ring-bg{stroke:rgba(255,255,255,.08)}
.au__ring-fg{stroke:var(--c);stroke-dasharray:100;stroke-dashoffset:100;animation:auRing 1.6s .3s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes auRing{to{stroke-dashoffset:calc(100 - 100 * var(--p))}}
.au__ring b{position:absolute;inset:0;display:grid;place-items:center;font:400 46px/1 var(--f-serif);color:var(--c)}
.au__ring small{position:absolute;left:0;right:0;bottom:36px;color:var(--mute);font-size:12px}
.au__risk-k{margin:4px 0 0;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.au__risk-l{margin:0;font:400 22px/1.1 var(--f-serif);color:var(--c)}
.au__axes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.au__axe{position:relative;overflow:hidden;padding:20px 22px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.au__k{position:absolute;right:10px;top:-8px;font:400 76px/1 var(--f-jp);color:rgba(240,235,225,.05)}
.au__lbl{margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.au__val{margin:8px 0 10px;color:var(--mute);font-size:14px}
.au__val b{font:400 40px/1 var(--f-serif);color:var(--c);margin-right:2px}
.au__bar{display:block;height:7px;border-radius:7px;background:rgba(255,255,255,.07);overflow:hidden}
.au__bar i{display:block;height:100%;width:var(--w);border-radius:7px;background:var(--c);transform-origin:left;animation:pfBar 1.2s .4s cubic-bezier(.2,.8,.2,1) both}
.au__axe small{display:block;margin-top:8px;color:var(--soft);font-size:13px}
.au__syn{margin:22px 0 0;padding:18px 22px;border-left:3px solid var(--red);border-radius:0 16px 16px 0;background:rgba(226,70,58,.06);color:var(--paper);font-size:16px;line-height:1.65}
.au__cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px;margin-top:26px}
.au__col h3{margin:0 0 12px;font:400 19px/1.2 var(--f-serif)}
.au__col h3:not(:first-child){margin-top:24px}
.au__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.au__list li{padding:12px 16px;border-radius:14px;border:1px solid var(--line);border-left:3px solid var(--c);background:rgba(255,255,255,.02)}
.au__list p{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 4px}
.au__list b{color:var(--paper);font-size:14.5px}
.au__list small{color:var(--mute);font-size:13px;line-height:1.5}
.au__tag,.au__st{padding:2px 8px;border-radius:99px;font-size:11px;background:rgba(255,255,255,.06);color:var(--soft)}
.au__st{background:none;border:1px solid var(--line)}
.au__tr{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.au__tr li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);font-size:13.5px}
.au__tr li b{color:var(--paper)}.au__tr li small{grid-column:1;color:var(--mute)}
.au__tr li em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-size:11.5px;padding:3px 9px;border-radius:99px;background:rgba(255,255,255,.05);color:var(--soft)}
.au__tr li.is-bad{border-color:rgba(224,87,63,.45);background:rgba(224,87,63,.06)}.au__tr li.is-bad em{background:rgba(224,87,63,.2);color:#F4A595}
.au__id{margin:0;display:grid;gap:6px}
.au__id div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13.5px}
.au__id dt{color:var(--mute)}.au__id dd{margin:0;color:var(--paper)}
.au__more{margin-top:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02)}
.au__more summary{padding:16px 20px;cursor:pointer;list-style:none;font:400 17px/1.2 var(--f-serif);color:var(--paper)}
.au__more summary::-webkit-details-marker{display:none}
.au__more summary::after{content:" +";color:var(--red)}
.au__more[open] summary::after{content:" −"}
.au__more-in{padding:0 20px 18px}
.au__recos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.au__recos li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--soft);line-height:1.55}
.au__p{flex:none;padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:700}
.au__p--critique{background:rgba(224,87,63,.2);color:#F4A595}.au__p--important{background:rgba(227,155,58,.2);color:#F2C27F}.au__p--mineur{background:rgba(255,255,255,.06);color:var(--soft)}
.au__lim{margin:14px 0 0;font-size:13px;color:var(--mute)}
.au__disc{margin:18px 0 0;font-size:12.5px;color:var(--mute);line-height:1.6}
.verdict__panda{gap:10px}
.verdict__audit{flex-basis:100%;margin:6px 0 0;font-size:13px;color:var(--mute)}
@media (max-width:980px){.au__top,.au__cols{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.au__axes{grid-template-columns:minmax(0,1fr)}}

/* Verdict : le panda et son tampon occupent le coin haut droit (PC et mobile) */
.verdict{position:relative}
.vstamp{position:absolute;right:0;top:0;width:280px;height:150px;margin:0;pointer-events:none}
.vstamp__run{left:auto;right:150px;bottom:0;width:110px}
.vstamp__run svg{width:110px}
.vstamp__seal{left:auto;right:0;bottom:40px;font-size:24px}
@media (max-width:700px){
  .vstamp{width:190px;height:120px;top:-6px;right:-4px}
  .vstamp__run{right:105px;width:80px}.vstamp__run svg{width:80px}
  .vstamp__seal{bottom:30px;font-size:16px;padding:8px 12px}
}

/* Verdict : panda qui brandit une pancarte en bois */
.vstamp{width:240px;height:230px;top:-30px}
.vstamp__seal{display:none}
.vstamp__run{left:50%;right:auto;bottom:0;width:110px;margin-left:-55px;animation:runIn 1s cubic-bezier(.3,1.2,.5,1) both}
.vstamp__run svg{width:110px}
.vstamp__sign{position:absolute;left:0;right:0;top:0;transform-origin:50% 100%;animation:vsRaise .7s cubic-bezier(.2,1.5,.4,1) .7s both,vsSway 3s ease-in-out 1.5s infinite}
.vstamp__sign svg{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 14px rgba(0,0,0,.55))}
@keyframes vsRaise{from{transform:translateY(60px) scale(.6);opacity:0}}
@keyframes vsSway{50%{transform:rotate(-3deg)}}
@media (max-width:700px){.vstamp{width:170px;height:170px;top:-14px}.vstamp__run{width:80px;margin-left:-40px}.vstamp__run svg{width:80px}}
@media (prefers-reduced-motion:reduce){.vstamp__sign{animation:none}}

/* ===== Fiche agence : refonte ergonomique ===== */
.kf{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0 0;padding:0;max-width:620px}
.kf li{padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03);transition:transform .3s var(--ease-out),border-color .3s}
.kf li:hover{transform:translateY(-3px);border-color:var(--line-2)}
.kf b{display:block;font:400 30px/1 var(--f-serif);color:var(--paper)}
.kf span{display:block;margin-top:6px;font-size:12.5px;color:var(--mute)}
.kf .t-bad b{color:var(--bad)}.kf .t-mid b{color:var(--mid)}.kf .t-good b{color:#7EE3B5}
.kf__sig{margin:12px 0 0;font-size:14px;color:var(--mute)}.kf__sig b{color:#F4A595;font-weight:600}
.ftabs{position:sticky;top:70px;z-index:40;border-block:1px solid var(--line);background:rgba(8,8,10,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ftabs__in{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding-block:10px}
.ftabs__in::-webkit-scrollbar{display:none}
.ftabs a{flex:none;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:99px;color:var(--soft);font-size:14px;text-decoration:none;transition:background .25s,color .25s}
.ftabs a:hover{background:rgba(255,255,255,.05);color:var(--paper)}
.ftabs a[aria-current]{background:rgba(226,70,58,.14);color:var(--paper)}
.ftabs a b{padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.07);font-size:12px;font-weight:600}
.ftabs a b.t-bad{background:rgba(224,87,63,.2);color:#F4A595}.ftabs a b.t-mid{background:rgba(227,155,58,.2);color:#F2C27F}.ftabs a b.t-good{background:rgba(47,201,138,.18);color:#7EE3B5}
.ftabs__cta{margin-left:auto;background:var(--red)!important;color:#fff!important;font-weight:700}
.au-cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap;padding:26px 30px;border-radius:24px;border:1px dashed rgba(226,70,58,.45);background:radial-gradient(90% 140% at 0 0,rgba(226,70,58,.14),transparent 60%),rgba(255,255,255,.02)}
.au-cta>div{flex:1 1 320px}
.au-cta h2{margin:4px 0 8px;font:400 clamp(22px,2.4vw,30px)/1.15 var(--f-serif)}
.au-cta p:last-child{margin:0;color:var(--soft)}
.rvh{display:flex;flex-direction:column;gap:16px;margin-bottom:10px}
.rvh .h2{margin:0;font-size:clamp(24px,3vw,34px)}
.rvh__tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}
.rvh__chips{display:flex;flex-wrap:wrap;gap:6px}
.rvh__chips button{padding:8px 14px;border-radius:99px;border:1px solid var(--line);background:none;color:var(--soft);font:500 13.5px var(--f-sans);cursor:pointer;transition:all .2s}
.rvh__chips button:hover{border-color:var(--line-2);color:var(--paper)}
.rvh__chips button[aria-pressed=true]{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.rvh__sort{width:auto;min-height:40px;border-radius:12px;font-size:14px}
.rlist .review{padding:26px 26px;margin-top:14px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border-left:4px solid var(--line-2)}
.rlist .review.t-bad{border-left-color:var(--bad)}.rlist .review.t-mid{border-left-color:var(--mid)}.rlist .review.t-good{border-left-color:var(--gold)}
.rlist .review[hidden]{display:none}
.rlist .review h3{font-size:clamp(20px,1.8vw,24px);margin:10px 0 8px}
.review__date{margin-left:auto;font-size:12.5px;color:var(--mute);white-space:nowrap}
.review__body.is-clamped{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.review__more{margin:6px 0 0;padding:0;border:0;background:none;color:var(--gold-2);font:600 13.5px var(--f-sans);cursor:pointer}
.rlist__none{margin:20px 0;padding:20px;border-radius:16px;border:1px dashed var(--line-2);color:var(--mute);text-align:center}
.fside{top:150px;gap:14px}
.fside__card{display:block;padding:22px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.025);text-decoration:none;color:var(--soft)}
.fside__card h2{margin:0 0 8px;font:400 19px/1.2 var(--f-serif);color:var(--paper)}
.fside__card p{margin:0 0 14px;font-size:14px;line-height:1.55}
.fside__card--hot{border-color:rgba(226,70,58,.4);background:radial-gradient(100% 120% at 0 0,rgba(226,70,58,.16),transparent 60%),rgba(255,255,255,.02)}
.fside__list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13.5px;line-height:1.5}
.fside__list b{color:var(--paper)}
.fside__link{color:var(--gold-2);font-size:13.5px}
.fside__verif b{display:block;margin-bottom:4px;font:400 17px/1.2 var(--f-serif);color:var(--paper)}
.fside__verif span{font-size:13.5px}
.fside__verif:hover{border-color:var(--line-2)}
@media (max-width:700px){.kf{grid-template-columns:repeat(2,minmax(0,1fr))}.ftabs{top:60px}.ftabs__cta{margin-left:0}.rlist .review{padding:20px}}

.site-brand .btn--ghost{background:transparent!important}

/* ===== Analyse du panda : rapport simplifié ===== */
.au__brief{display:flex;gap:16px;align-items:flex-start;margin:22px 0 0;padding:18px 22px;border-radius:18px;background:rgba(226,70,58,.06);border:1px solid rgba(226,70,58,.25)}
.au__brief b{flex:none;padding:4px 10px;border-radius:99px;background:var(--red);color:#fff;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.au__brief p{margin:0;color:var(--paper);font-size:16px;line-height:1.6}
.au__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;margin-top:26px;align-items:start}
.au__main h3,.au__box h3{margin:0 0 12px;font:400 19px/1.2 var(--f-serif)}
.au__keys{display:flex;flex-direction:column;gap:10px}
.au__key{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.025);transition:border-color .3s,transform .3s var(--ease-out)}
.au__key:hover{transform:translateX(4px);border-color:var(--c)}
.au__key.t-bad{--c:var(--bad)}.au__key.t-mid{--c:var(--mid)}.au__key.t-soft{--c:var(--line-2)}
.au__key-i{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);font:400 20px/1 var(--f-jp)}
.au__key.t-soft .au__key-i{color:var(--soft)}
.au__key-t{margin:0;color:var(--paper);font-weight:700;font-size:15.5px}
.au__key-p{margin:4px 0 8px;color:var(--soft);font-size:14px;line-height:1.55}
.au__key-m{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.au__key-m span{padding:2px 9px;border-radius:99px;font-size:11.5px;background:rgba(255,255,255,.05);color:var(--mute)}
.au__key-m span:nth-child(2){color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}
.au__fold{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.015)}
.au__fold summary{padding:14px 18px;cursor:pointer;list-style:none;color:var(--soft);font-size:14.5px}
.au__fold summary::-webkit-details-marker{display:none}
.au__fold summary::before{content:"+ ";color:var(--red);font-weight:700}
.au__fold[open] summary::before{content:"− "}
.au__fold>*:not(summary){margin:0 18px 16px}
.au__fold--recos{margin-top:22px}
.au__mini{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.au__mini li{padding:10px 12px;border-left:3px solid var(--line-2);border-radius:0 10px 10px 0;background:rgba(255,255,255,.02)}
.au__mini li.t-bad{border-left-color:var(--bad)}.au__mini li.t-mid{border-left-color:var(--mid)}
.au__mini b{display:block;color:var(--paper);font-size:14px}.au__mini small{color:var(--mute);font-size:12.5px;line-height:1.5}
.au__side{display:flex;flex-direction:column;gap:14px}
.au__box{padding:20px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.025)}
.au__ok,.au__ko{margin:0 0 10px;font-size:14px;line-height:1.5}
.au__ok{color:#7EE3B5}.au__ko{color:#F4A595}
.au__ok::before{content:"✓ "}.au__ko::before{content:"! ";font-weight:700}
.au__chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.au__chips li{padding:4px 10px;border-radius:99px;border:1px solid var(--line);font-size:12.5px;color:var(--soft)}
.au__chips li.is-bad{border-color:rgba(224,87,63,.5);color:#F4A595;background:rgba(224,87,63,.08)}
.au__facts{margin:0;display:flex;flex-direction:column}
.au__facts div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13.5px}
.au__facts div:last-child{border-bottom:0}
.au__facts dt{color:var(--mute)}.au__facts dd{margin:0;color:var(--paper)}
@media (max-width:980px){.au__grid{grid-template-columns:minmax(0,1fr)}}

.vstamp__sign{top:26px;z-index:0}.vstamp__run{z-index:1}

/* ===== Analyse du panda : version grand public ===== */
.aus{display:flex;flex-direction:column;gap:16px}
.aus__head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;padding:26px 28px;border-radius:26px;border:1px solid var(--line);
  background:radial-gradient(80% 140% at 0 0,color-mix(in srgb,var(--c) 20%,transparent),transparent 60%),rgba(255,255,255,.02)}
.aus__head.t-good,.aus__q.t-good{--c:#2FC98A}.aus__head.t-mid,.aus__q.t-mid{--c:var(--mid)}.aus__head.t-bad,.aus__q.t-bad{--c:var(--bad)}
.aus__head h2{margin:4px 0 6px;font:400 clamp(26px,3vw,38px)/1.1 var(--f-serif);color:var(--c)}
.aus__verdict{margin:0;font-size:17px;line-height:1.55;color:var(--paper);max-width:640px}
.aus__score{position:relative;width:118px;height:118px}
.aus__score svg{width:100%;height:100%;transform:rotate(-90deg)}
.aus__score circle{fill:none;stroke-width:11;stroke-linecap:round}
.aus__bg{stroke:rgba(255,255,255,.08)}
.aus__fg{stroke:var(--c);stroke-dasharray:100;stroke-dashoffset:100;animation:auRing 1.5s .3s cubic-bezier(.2,.8,.2,1) forwards}
.aus__score b{position:absolute;inset:0;display:grid;place-items:center;font:400 36px/1 var(--f-serif);color:var(--c)}
.aus__score small{position:absolute;left:0;right:0;bottom:24px;text-align:center;color:var(--mute);font-size:11px}
.aus__qs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.aus__q{position:relative;overflow:hidden;padding:20px;border-radius:20px;border:1px solid var(--line);border-top:3px solid var(--c);background:rgba(255,255,255,.025)}
.aus__k{position:absolute;right:8px;top:-6px;font:400 64px/1 var(--f-jp);color:rgba(240,235,225,.05)}
.aus__qq{margin:0;font-size:14px;color:var(--soft)}
.aus__a{display:flex;align-items:center;gap:10px;margin:10px 0 8px;font:400 22px/1.1 var(--f-serif);color:var(--c)}
.aus__a i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--c) 20%,transparent);font-style:normal;font-size:15px;font-weight:700;font-family:var(--f-sans)}
.aus__t{margin:0;font-size:14px;line-height:1.5;color:var(--soft)}
.aus__att{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;padding:18px 22px;border-radius:18px;border:1px solid rgba(227,155,58,.35);background:rgba(227,155,58,.07)}
.aus__att b{flex:none;color:#F2C27F;font-size:14px}
.aus__att ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;color:var(--paper);font-size:14.5px}
.aus__tech{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.015)}
.aus__tech summary{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:16px 20px;cursor:pointer;list-style:none;color:var(--paper);font-weight:600}
.aus__tech summary::-webkit-details-marker{display:none}
.aus__tech summary::before{content:"+";color:var(--red);font-weight:700}
.aus__tech[open] summary::before{content:"−"}
.aus__tech summary small{color:var(--mute);font-weight:400;font-size:13px}
.aus__tech-in{padding:0 20px 20px;display:flex;flex-direction:column;gap:12px}
.aus__nums{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.aus__nums li{padding:8px 12px;border-radius:12px;border:1px solid var(--line);font-size:12.5px;color:var(--mute)}
.aus__nums b{margin-right:6px;font:400 17px/1 var(--f-serif);color:var(--paper)}
.aus__syn{margin:0;font-size:14px;line-height:1.6;color:var(--soft)}
.aus__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.aus__list li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.025);font-size:13.5px;color:var(--soft)}
.aus__list b{color:var(--paper)}.aus__list small{color:var(--mute);line-height:1.5}
.aus__tag{font-size:11.5px;color:var(--gold-2)}
.aus__sub{margin:6px 0 0;font-size:13px;font-weight:700;color:var(--soft)}
.aus__chips{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.aus__chips span{padding:4px 10px;border-radius:99px;border:1px solid var(--line);font-size:12.5px;color:var(--soft)}
.aus__chips em{font-style:normal;color:var(--mute)}
.aus__lim{margin:0;font-size:12.5px;color:var(--mute)}
@media (max-width:1000px){.aus__qs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.aus__head{grid-template-columns:1fr;text-align:center;justify-items:center}.aus__qs{grid-template-columns:minmax(0,1fr)}}

.fside__how{list-style:none;margin:4px 0 14px;padding:0;display:flex;flex-direction:column;gap:12px}
.fside__how li{display:flex;gap:12px;align-items:flex-start}
.fside__how b{display:block;color:var(--paper);font-size:14.5px;margin-bottom:2px}
.fside__how small{display:block;color:var(--mute);font-size:13px;line-height:1.5}
.fside__ic{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(201,169,98,.12);color:var(--gold-2);font:400 16px/1 var(--f-jp)}
.fside__ic--hot{background:rgba(224,87,63,.14);color:#F4A595}
.fside__ic--gold{background:rgba(47,201,138,.12);color:#7EE3B5}
.fside__link{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:99px;border:1px solid var(--line);text-decoration:none;transition:border-color .25s,background .25s}
.fside__link:hover{border-color:var(--gold);background:rgba(201,169,98,.08)}

.aus__head .eyebrow{color:var(--paper)}

/* Pancarte seule (sans panda) */
.vstamp{height:170px;top:-10px}.vstamp__sign{top:0}
@media (max-width:700px){.vstamp{height:120px}}

/* ==========================================================================
   Fiche agence : refonte complète
   ========================================================================== */
.ag{--brand:var(--red)}
.ag--brand .btn:not(.btn--ghost){background:var(--brand)}
/* En-tête */
.ag-hero{position:relative;overflow:hidden;padding:clamp(100px,12vw,140px) 0 clamp(36px,5vw,60px)}
.ag-hero__bg{position:absolute;inset:0;pointer-events:none}
.ag-hero__sun{position:absolute;right:-8%;top:-30%;width:min(720px,70vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 32%,transparent),transparent 65%);filter:blur(10px)}
.ag-hero__k{position:absolute;left:-2%;bottom:-18%;font:400 clamp(260px,34vw,520px)/1 var(--f-serif);color:rgba(240,235,225,.025);text-transform:uppercase}
.ag-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,70px);align-items:center;margin-top:18px}
.ag-id{display:flex;gap:24px;align-items:flex-start}
.ag-id__logo{flex:none;display:grid;place-items:center;width:clamp(84px,9vw,116px);aspect-ratio:1;border-radius:28px;background:#F3EEE3;overflow:hidden;box-shadow:0 0 0 4px rgba(8,8,10,1),0 0 0 6px color-mix(in srgb,var(--brand) 70%,transparent),0 24px 50px -20px rgba(0,0,0,.8)}
.ag-id__logo img{width:100%;height:100%;object-fit:contain;padding:12px}
.ag-id__logo span{font:400 clamp(40px,4.5vw,56px)/1 var(--f-serif);color:#1A1712}
.ag-id__logo span.t-bad{color:var(--shu)}
.ag-id__kick{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.ag-id h1{margin:0;font:400 clamp(36px,5vw,68px)/1 var(--f-serif);word-break:break-word}
.ag-id__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ag-chip{display:inline-flex;align-items:center;padding:5px 12px;border-radius:99px;border:1px dashed var(--line-2);font-size:12.5px;color:var(--mute)}
.ag-id__tag{margin:14px 0 0;font-size:clamp(16px,1.4vw,19px);color:var(--soft);line-height:1.5}
.ag-id__reco{margin:10px 0 0;font-style:italic;color:#F2DFAE;font-size:15px}
.ag-id__reco small{font-style:normal;color:var(--mute);font-size:12px;margin-left:6px}
.ag-id__meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:16px 0 0;font-size:14px;color:var(--mute)}
.ag-id__meta a{color:var(--gold-2);font-weight:600}
.ag-id__meta span::before{content:"· ";color:var(--line-2)}
.ag-shot{position:relative;display:block;border-radius:18px;overflow:hidden;border:1px solid var(--line-2);background:#111115;text-decoration:none;transform:perspective(1200px) rotateY(-6deg) rotateX(2deg);box-shadow:-30px 40px 80px -40px rgba(0,0,0,.95);transition:transform .7s var(--ease-out)}
.ag-shot:hover{transform:perspective(1200px) rotateY(0) rotateX(0) translateY(-6px)}
.ag-shot__bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#1B1B20;border-bottom:1px solid var(--line)}
.ag-shot__bar i{width:9px;height:9px;border-radius:50%;background:#3A3940}.ag-shot__bar i:first-child{background:#E2463A}.ag-shot__bar i:nth-child(2){background:#E39B3A}.ag-shot__bar i:nth-child(3){background:#2FC98A}
.ag-shot__bar em{margin-left:8px;flex:1;padding:3px 12px;border-radius:7px;background:#0E0E12;font:normal 12px ui-monospace,monospace;color:var(--mute)}
.ag-shot img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.ag-shot__wait{display:grid;place-items:center;gap:8px;aspect-ratio:16/10;color:var(--mute);font-size:13px}
.ag-shot__go{position:absolute;right:14px;bottom:14px;padding:8px 14px;border-radius:99px;background:rgba(8,8,10,.85);color:var(--paper);font-size:13px;font-weight:600;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;backdrop-filter:blur(6px)}
.ag-shot:hover .ag-shot__go{opacity:1;transform:none}
/* Résumé en trois cartes */
.ag-sum{position:relative;z-index:2;margin-top:-10px}
.ag-sum__grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px}
.ag-card{display:flex;flex-direction:column;gap:12px;padding:22px 24px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.012)),#0E0E12;box-shadow:0 30px 60px -40px rgba(0,0,0,.9)}
.ag-card.t-bad{--c:var(--bad)}.ag-card.t-mid{--c:var(--mid)}.ag-card.t-good{--c:#2FC98A}.ag-card.t-none{--c:var(--soft)}
.ag-card__k{display:flex;justify-content:space-between;margin:0;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.ag-card__k span{color:var(--mute);letter-spacing:.04em}
.ag-rate{display:flex;align-items:center;gap:16px}
.ag-rate>b{font:400 64px/1 var(--f-serif);color:var(--c)}
.ag-rate p{margin:6px 0 0;font-size:13.5px;color:var(--soft)}
.ag-rate__panda{margin-left:auto}
.ag-dist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.ag-dist li{display:grid;grid-template-columns:30px 1fr 22px;align-items:center;gap:8px;font-size:12px;color:var(--mute)}
.ag-dist i{height:6px;border-radius:6px;background:rgba(255,255,255,.07);position:relative;overflow:hidden}
.ag-dist i::after{content:"";position:absolute;inset:0;width:var(--w);border-radius:6px;background:var(--c);transform-origin:left;animation:pfBar 1s .3s cubic-bezier(.2,.8,.2,1) both}
.ag-dist small{text-align:right}
.ag-panda{display:flex;align-items:center;gap:18px}
.ag-ring{position:relative;flex:none;width:96px;height:96px}
.ag-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ag-ring circle{fill:none;stroke-width:11;stroke-linecap:round}
.ag-ring__bg{stroke:rgba(255,255,255,.08)}
.ag-ring__fg{stroke:var(--c);stroke-dasharray:100;stroke-dashoffset:100;animation:auRing 1.4s .3s cubic-bezier(.2,.8,.2,1) forwards}
.ag-ring b{position:absolute;inset:0;display:grid;place-items:center;font:400 30px/1 var(--f-serif);color:var(--c)}
.ag-panda__l{margin:0;font:400 20px/1.15 var(--f-serif);color:var(--c)}
.ag-panda__s{margin:4px 0 8px;font-size:13px;color:var(--mute)}
.ag-panda a{color:var(--gold-2);font-size:13.5px}
.ag-sig{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ag-sig li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 12px;border-radius:12px;background:rgba(224,87,63,.07);border:1px solid rgba(224,87,63,.22)}
.ag-sig b{color:var(--paper);font-size:14px}
.ag-sig em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font:400 18px/1 var(--f-serif);color:#F4A595}
.ag-sig small{grid-column:1;color:var(--mute);font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ag-empty{display:flex;align-items:center;gap:14px;color:var(--soft);font-size:14px;line-height:1.5}
.ag-empty p{margin:0}
.ag-empty__ok{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(47,201,138,.15);color:#7EE3B5;font-size:22px}
.ag-card__btn{margin-top:auto;align-self:flex-start}
.ag-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px}
.ag-actions__link{margin-left:auto;color:var(--soft);font-size:14px}
.ag-actions__link:hover{color:var(--paper)}
/* Corps : avis + colonne */
.ag-main{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(28px,4vw,60px);align-items:start}
.ag-side{position:sticky;top:150px;display:flex;flex-direction:column;gap:14px}
.rv{padding:24px 26px;margin-top:14px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.01));transition:border-color .3s}
.rv:hover{border-color:var(--line-2)}
.rv[hidden]{display:none}
.rv.t-bad{--c:var(--bad)}.rv.t-mid{--c:var(--mid)}.rv.t-good{--c:var(--gold-2)}
.rv__head{display:flex;align-items:center;gap:12px}
.rv__av{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;background:rgba(240,235,225,.08);color:var(--paper);font:400 17px/1 var(--f-serif)}
.rv__who b{display:block;color:var(--paper);font-size:15px}
.rv__who small{color:var(--mute);font-size:12.5px}
.rv__note{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.rv__n{padding:4px 10px;border-radius:10px;background:color-mix(in srgb,var(--c) 16%,transparent);font:400 18px/1 var(--f-serif);color:var(--c)}
.rv__n small{font:400 11px var(--f-sans);color:var(--mute)}
.rv h3{margin:16px 0 8px;font:400 clamp(19px,1.7vw,23px)/1.25 var(--f-serif)}
.rv__body{margin:0;color:var(--soft);line-height:1.7;white-space:pre-line}
.rv__tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0}
.rv__sig{padding:4px 10px;border-radius:99px;background:rgba(224,87,63,.1);border:1px solid rgba(224,87,63,.28);color:#F4B3A6;font-size:12px}
.rv__badge{padding:4px 10px;border-radius:99px;background:rgba(201,169,98,.1);color:var(--gold-2);font-size:12px}
.rv__foot{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:16px;padding-top:12px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--mute)}
.rv__foot a{margin-left:auto;color:var(--mute)}
.rv__foot a:hover{color:#F4A595}
.rv__reply{margin-top:14px;padding:14px 16px;border-radius:14px;border-left:3px solid var(--brand);background:rgba(255,255,255,.035)}
.rv__reply-h{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:13.5px}
.rv__reply-h img,.rv__reply-h span{width:24px;height:24px;border-radius:7px;object-fit:contain;background:#F3EEE3;display:grid;place-items:center;font:400 12px var(--f-serif);color:#1A1712}
.rv__reply-h b{color:var(--paper)}
.rv__reply>p:last-child{margin:0;color:var(--soft);font-size:14.5px;line-height:1.6;white-space:pre-line}
.ag-none{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 24px;border-radius:24px;border:1px dashed var(--line-2);text-align:center}
.ag-none h3{margin:6px 0 0;font:400 24px/1.2 var(--f-serif)}
.ag-none p{margin:0 0 8px;color:var(--soft)}
/* À propos */
.ag-about{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,50px);padding:clamp(24px,3vw,36px);border-radius:26px;border:1px solid var(--line);background:radial-gradient(90% 120% at 0 0,color-mix(in srgb,var(--brand) 12%,transparent),transparent 60%),rgba(255,255,255,.02)}
.ag-about h2{margin:6px 0 14px;font:400 clamp(24px,2.6vw,32px)/1.15 var(--f-serif)}
.ag-about__txt>p{color:var(--soft);line-height:1.75}
.ag-about__facts{margin:0;display:flex;flex-direction:column}
.ag-about__facts div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line);font-size:14px}
.ag-about__facts dt{color:var(--mute)}.ag-about__facts dd{margin:0;color:var(--paper)}
.ag-about__facts a{color:var(--paper)}
.ag-about__soc{display:flex;flex-wrap:wrap;gap:10px}
.ag-about__soc a{color:var(--gold-2)!important}
@media (max-width:1100px){.ag-sum__grid{grid-template-columns:1fr 1fr}.ag-sum__grid>:first-child{grid-column:1/-1}}
@media (max-width:980px){.ag-hero__grid,.ag-main,.ag-about{grid-template-columns:minmax(0,1fr)}.ag-side{position:static}.ag-shot{transform:none}}
@media (max-width:640px){.ag-sum__grid{grid-template-columns:minmax(0,1fr)}.ag-id{flex-direction:column;gap:16px}.ag-actions .btn{width:100%}.ag-actions__link{margin-left:0}.rv{padding:18px}.rv__head{flex-wrap:wrap}}

/* ===== Pied de page mobile : marque en tête, liens en 2 colonnes compactes, mentions centrées ===== */
@media (max-width:700px){
  .footer{padding-bottom:110px}
  .footer__grid{grid-template-columns:1fr 1fr;gap:26px 18px}
  .footer__grid>div:first-child{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:22px;border-bottom:1px solid var(--line)}
  .footer__about{margin:14px auto 0;font-size:14.5px;line-height:1.6}
  .footer__grid>div:last-child{grid-column:1/-1}
  .footer__grid>div:last-child ul{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
  .footer h2{margin-bottom:10px;font-size:10.5px}
  .footer ul{gap:0}
  .footer ul a{padding:8px 0;font-size:14.5px}
  .footer ul a:hover{transform:none}
  .fsig{gap:12px}
  .fsig__wm .cwm{font-size:clamp(46px,15vw,70px)}
  .fsig__line{font-size:19px;margin-top:10px}
  .fsig__chips li{padding:6px 11px;font-size:12px}
  .bamboo--foot{display:none}
  .footer__legal{flex-direction:column;align-items:center;text-align:center;gap:6px;margin-top:26px;font-size:10px}
}

@media (max-width:520px){.header .brand__sub{display:none}}

/* ===== Fiche agence : ajustements mobile ===== */
@media (max-width:640px){
  .ag-hero{padding-top:86px;padding-bottom:26px}
  .ag-hero__grid{gap:20px;margin-top:8px}
  .ag-id{flex-direction:row;align-items:center;gap:14px;flex-wrap:wrap}
  .ag-id__logo{width:68px;border-radius:18px;box-shadow:0 0 0 3px #08080A,0 0 0 4px color-mix(in srgb,var(--brand) 70%,transparent)}
  .ag-id__logo img{padding:7px}
  .ag-id__txt{flex:1 1 0;min-width:0}
  .ag-id__kick{font-size:10.5px;margin-bottom:4px}
  .ag-id h1{font-size:clamp(28px,8.5vw,38px)}
  .ag-id__badges,.ag-id__tag,.ag-id__reco,.ag-id__meta{flex-basis:100%}
  .ag-id__badges{margin-top:4px}
  .ag-id__tag{margin-top:8px;font-size:15px}
  .ag-id__meta{margin-top:8px;font-size:13px}
  .ag-shot__wait{aspect-ratio:16/6}
  .ag-shot__wait .mascot{width:56px;height:auto}
  .ag-sum{margin-top:0}
  .ag-sum__grid{gap:10px}
  .ag-card{padding:18px;border-radius:20px;gap:10px}
  .ag-rate>b{font-size:52px}
  .ag-rate__panda{width:44px;height:44px}
  .ag-panda{gap:14px}.ag-ring{width:78px;height:78px}.ag-ring b{font-size:24px}
  .ag-card .ag-empty .mascot{width:48px;height:auto}
  .ag-sig small{display:none}
  .ag-sig li{padding:9px 12px}
  .ag-actions{gap:10px;margin-top:16px}
  .ag-actions__link{font-size:13px;text-align:center;width:100%}
  .ftabs{top:58px}
  .ftabs__in{padding-block:8px}
  .ftabs a{padding:8px 12px;font-size:13.5px}
  .ftabs__cta{display:none!important}
  .rvh .h2{font-size:26px}
  .rvh__tools{flex-wrap:nowrap;gap:8px;margin-inline:-16px;padding-inline:16px;overflow-x:auto;scrollbar-width:none}
  .rvh__tools::-webkit-scrollbar{display:none}
  .rvh__chips{flex-wrap:nowrap}
  .rvh__chips button{flex:none;padding:7px 12px;font-size:13px}
  .rvh__sort{flex:none;min-height:36px;font-size:13px;padding-right:30px}
  .rv h3{font-size:19px;margin-top:12px}
  .rv__body{font-size:15px}
  .rv__foot{font-size:12px}
  .rv__foot a{margin-left:auto}
  .rv__foot span{display:none}
}
@media (max-width:640px){
  .ag-hero{padding-top:64px}
  .ag-hero .crumbs{margin-bottom:6px}
  .ag-id{align-items:flex-start}
  .rvh__chips{flex:none}
  .rvh__tools{justify-content:flex-start}
}

/* ===== Pied de page mobile : refonte (signature en tête, liens en accordéon) ===== */
@media (max-width:700px){
  .footer{padding:34px 0 120px!important}
  .footer>.wrap{display:flex;flex-direction:column}
  .footer__hero{order:-1;margin:0!important;padding:0 0 26px!important;border-top:0!important;border-bottom:1px solid var(--line)}
  .fsig{gap:10px;padding:0}
  .fsig__stage{flex-direction:column-reverse!important;align-items:center;padding:0!important}
  .fsig__panda{position:static!important;width:84px!important;margin:0 0 -14px;animation:none}
  .fsig__wm .cwm{font-size:clamp(46px,14vw,64px)!important}
  .fsig__lens{display:none}
  .fsig__line{margin:14px 0 4px!important;font-size:18px!important;line-height:1.3}
  .footer .fsig__chips{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:none}
  .footer .fsig__chips li{display:flex!important;flex-direction:column;align-items:center;gap:4px;padding:12px 6px!important;border-radius:14px;font-size:11px!important;line-height:1.25;text-align:center}
  .footer .fsig__chips b{margin:0;font-size:20px}
  .footer__grid{display:flex!important;flex-direction:column;gap:8px!important;margin-top:22px}
  .footer__grid>div:first-child{display:none!important}
  .footer__grid>div{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);overflow:hidden}
  .footer__grid h2{display:flex;justify-content:space-between;align-items:center;margin:0!important;padding:16px 18px;font-size:11.5px!important;cursor:pointer;user-select:none}
  .footer__grid h2::after{content:"";width:9px;height:9px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg) translateY(-3px);transition:transform .3s}
  .footer__grid>div.is-open h2::after{transform:rotate(-135deg) translateY(-2px)}
  .footer__grid ul{display:none!important;padding:0 18px 12px!important}
  .footer__grid>div.is-open ul{display:flex!important;flex-direction:column}
  .footer__grid>div:last-child ul{grid-template-columns:none}
  .footer ul a{padding:10px 0!important;font-size:15px!important;border-top:1px solid rgba(255,255,255,.05);display:block}
  .footer__legal{margin-top:22px!important;gap:4px!important;font-size:10px!important;letter-spacing:.08em!important;line-height:1.6}
}

@media (max-width:700px){.footer .fsig__chips{width:100%!important;align-self:stretch;grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* ===== Onglets de la fiche : barre flottante façon « pilule » ===== */
.ftabs{top:84px;border:0!important;background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;pointer-events:none;padding:8px 0}
.ftabs__in{width:max-content;max-width:calc(100% - 32px);margin:0 auto;padding:5px!important;gap:2px!important;border-radius:99px;pointer-events:auto;
  border:1px solid rgba(255,255,255,.12);background:rgba(16,15,19,.82);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);box-shadow:0 18px 40px -18px rgba(0,0,0,.9)}
.ftabs a{padding:9px 16px!important;border-radius:99px!important;font-size:14px;color:var(--soft)}
.ftabs a[aria-current]{background:var(--paper)!important;color:var(--ink)!important}
.ftabs a[aria-current] b{background:rgba(8,8,10,.12);color:var(--ink)}
.ftabs__cta{margin-left:6px!important;padding:9px 16px!important}
#avis,#analyse,#realisations,#apropos{scroll-margin-top:150px}
@media (max-width:640px){.ftabs{top:66px}.ftabs__in{max-width:calc(100% - 20px)}.ftabs a{padding:8px 12px!important;font-size:13px}}

/* Annuaire : agences analysées par le panda (sans avis) */
.dir-group.t-panda{--c:var(--gold)}
.dir-group.t-panda .dir-group__dot{background:var(--gold)}
.tab.t-panda[aria-pressed=true]{background:var(--gold);color:var(--ink)}
.dir-row__note--panda small{font-size:.4em;color:var(--mute);margin-left:2px}
.dir-row.t-good .dir-row__note--panda{color:#7EE3B5}.dir-row.t-mid .dir-row__note--panda{color:var(--mid)}.dir-row.t-bad .dir-row__note--panda{color:var(--bad)}
.dir-row__score small+small{display:block}
/* Analyse du panda : en-tête compact sur mobile */
@media (max-width:640px){
  .aus__head{grid-template-columns:auto 1fr auto;text-align:left;justify-items:start;gap:12px;padding:18px}
  .aus__head .pmood{width:52px;height:52px}
  .aus__head .eyebrow{font-size:9.5px;letter-spacing:.12em}
  .aus__head h2{font-size:24px}
  .aus__verdict{grid-column:1/-1;font-size:15px}
  .aus__head>div:nth-child(2){display:contents}
  .aus__score{width:78px;height:78px;grid-row:1;grid-column:3}
  .aus__score b{font-size:24px}.aus__score small{bottom:14px}
  .aus__q{padding:16px}.aus__a{font-size:19px;margin:6px 0}
}
@media (max-width:640px){
  .aus__head{grid-template-columns:1fr auto;grid-template-areas:"panda score" "eye eye" "title title" "verdict verdict";gap:6px 12px}
  .aus__head>.pmood{grid-area:panda;align-self:center}
  .aus__head .eyebrow{grid-area:eye;margin-top:8px;font-size:10px;line-height:1.5}
  .aus__head .eyebrow::before{display:none}
  .aus__head h2{grid-area:title;margin:2px 0}
  .aus__verdict{grid-area:verdict}
  .aus__score{grid-area:score;grid-row:auto;grid-column:auto}
}

@media (max-width:640px){#analyse.sec{padding-top:20px}}

.aus__okline{color:#7EE3B5!important;background:rgba(47,201,138,.06)!important}

/* Onglets de la fiche : n'apparaissent qu'une fois le résumé dépassé (pas de doublon avec les boutons) */
.ftabs{position:fixed!important;left:0;right:0;top:84px;z-index:45;opacity:0;transform:translateY(-12px);transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1);pointer-events:none!important}
.ftabs.is-on{opacity:1;transform:none}
.ftabs.is-on .ftabs__in{pointer-events:auto}
.ftabs:not(.is-on) .ftabs__in{pointer-events:none}
@media (max-width:640px){.ftabs{top:66px}}

.aus__redo{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:8px 14px;border-radius:99px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--soft);font:600 13px var(--f-sans);cursor:pointer;transition:all .25s}
.aus__redo svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s}
.aus__redo:hover:not(:disabled){border-color:var(--c);color:var(--paper)}
.aus__redo:hover:not(:disabled) svg{transform:rotate(-180deg)}
.aus__redo:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:640px){.aus__redo{grid-column:1/-1;justify-self:start}}

/* Capture du site : toujours affichée en entier */
.ag-shot img{width:100%!important;height:auto!important;aspect-ratio:16/10!important;object-fit:contain!important;object-position:center!important;max-width:none!important}

/* Fiche : capture ordinateur + téléphone */
.ag-devices{position:relative}
.ag-devices.has-phone{padding-left:clamp(60px,8vw,110px)}
.ag-phone{position:absolute;left:0;bottom:-22px;z-index:2;width:clamp(120px,13vw,170px);aspect-ratio:390/844;padding:7px;border-radius:26px;background:linear-gradient(160deg,#2A2A31,#0E0E12);
  box-shadow:0 0 0 1px rgba(255,255,255,.12),0 30px 60px -18px rgba(0,0,0,.95);transform:rotate(-4deg);transition:transform .6s var(--ease-out)}
.ag-phone:hover{transform:rotate(0) translateY(-8px)}
.ag-phone img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:20px}
.ag-phone__notch{position:absolute;left:50%;top:12px;z-index:1;width:34%;height:12px;margin-left:-17%;border-radius:99px;background:#0B0B0E}
@media (max-width:640px){.ag-devices.has-phone{padding-left:70px}.ag-phone{width:96px;bottom:-14px;border-radius:18px;padding:5px}.ag-phone img{border-radius:14px}.ag-phone__notch{height:8px;top:8px}}

/* Téléphone à côté (sans recouvrir la fenêtre) */
.ag-devices.has-phone{padding-left:calc(clamp(120px,12vw,165px) + 22px)}
.ag-phone{width:clamp(120px,12vw,165px);top:50%;bottom:auto;transform:translateY(-50%) rotate(-3deg)}
.ag-phone:hover{transform:translateY(-52%) rotate(0)}
@media (max-width:640px){.ag-devices.has-phone{padding-left:110px}.ag-phone{width:96px}}

/* Titre d accueil : « Votre agence, » sur une ligne, « code ou pas ? » sur la suivante */
.vh__l1,.vh__l2{display:block!important;white-space:nowrap}
.vh__title{font-size:clamp(34px,10.5vw,80px)!important}
@media (min-width:700px){.vh__title{font-size:clamp(42px,5.4vw,80px)!important}}

.vstamp{top:70px!important}
@media (max-width:700px){.vstamp{top:40px!important}}

.verdict__icon{display:none!important}

.ag-id h1{word-break:normal;overflow-wrap:anywhere;hyphens:none}
.ag-id h1.is-long{font-size:clamp(30px,3.8vw,54px)}
.ag-id h1.is-xlong{font-size:clamp(26px,3vw,42px)}
@media (max-width:640px){.ag-id h1.is-long{font-size:clamp(24px,7vw,32px)}.ag-id h1.is-xlong{font-size:clamp(20px,6vw,26px)}}

/* Compteurs de l annuaire : les 4 sur une ligne */
.dir-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.dir-stat:last-child{border-right:0}
.dir-stat.t-panda b,.dir-stat.t-panda strong{color:var(--gold)}
@media (max-width:900px){.dir-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dir-stat:nth-child(2){border-right:0}.dir-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:640px){.dir-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dir-stat{padding:18px}}

/* ===== FAQ : refonte ===== */
.fq-head{position:relative;overflow:hidden;padding:clamp(110px,13vw,150px) 0 clamp(30px,4vw,50px)}
.fq-head__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:40px;align-items:center}
.fq-head h1{margin:10px 0 14px;font:400 clamp(38px,5.4vw,74px)/1.03 var(--f-serif)}
.fq-head .lead{max-width:620px}
.fq-search{display:flex;align-items:center;gap:12px;max-width:620px;margin-top:26px;padding:0 20px;min-height:62px;border-radius:18px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);transition:border-color .3s,box-shadow .3s}
.fq-search:focus-within{border-color:var(--red);box-shadow:0 0 0 5px rgba(226,70,58,.12)}
.fq-search svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--gold);stroke-width:2}
.fq-search input{flex:1;min-width:0;border:0;background:none;color:var(--paper);font:400 17px var(--f-sans);outline:0}
.fq-search__count{flex:none;font-size:13px;color:var(--mute)}
.fq-head__panda{position:relative;display:flex;flex-direction:column;align-items:center}
.fq-head__panda .mascot{animation:stBob 3.4s ease-in-out infinite}
.fq-bubble{position:absolute;top:0;right:0;max-width:200px;margin:0;padding:12px 16px;border-radius:16px 16px 4px 16px;background:var(--paper);color:var(--ink);font-weight:700;font-size:14px;line-height:1.4;box-shadow:0 16px 30px -12px rgba(0,0,0,.6)}
.fq{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(28px,4vw,60px);align-items:start}
.fq-nav{position:sticky;top:110px;display:flex;flex-direction:column;gap:6px}
.fq-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid transparent;color:var(--soft);text-decoration:none;font-size:14.5px;transition:all .25s}
.fq-nav a:hover{background:rgba(255,255,255,.04)}
.fq-nav a.is-on{border-color:rgba(226,70,58,.4);background:rgba(226,70,58,.08);color:var(--paper)}
.fq-nav b{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(201,169,98,.1);color:var(--gold);font:400 16px/1 var(--f-jp)}
.fq-nav a.is-on b{background:var(--red);color:#fff}
.fq-nav span{flex:1;line-height:1.3}
.fq-nav em{font-style:normal;font-size:12px;color:var(--mute)}
.fq-group{scroll-margin-top:110px;margin-bottom:34px}
.fq-group[hidden]{display:none}
.fq-group h2{display:flex;align-items:center;gap:12px;margin:0 0 14px;font:400 clamp(22px,2.4vw,28px)/1.2 var(--f-serif)}
.fq-group h2 span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--red);color:#fff;font:400 18px/1 var(--f-jp);box-shadow:3px 3px 0 var(--gold)}
.fq-item{margin-bottom:8px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02);transition:border-color .3s,background .3s}
.fq-item[hidden]{display:none}
.fq-item:hover{border-color:var(--line-2)}
.fq-item[open]{border-color:rgba(226,70,58,.35);background:linear-gradient(160deg,rgba(226,70,58,.07),rgba(255,255,255,.015))}
.fq-item summary{display:flex;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;list-style:none}
.fq-item summary::-webkit-details-marker{display:none}
.fq-num{flex:none;font:400 13px/1 var(--f-serif);color:var(--mute)}
.fq-item[open] .fq-num{color:var(--red)}
.fq-q{flex:1;color:var(--paper);font-size:16.5px;font-weight:600;line-height:1.35}
.fq-item summary i{flex:none;position:relative;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);transition:transform .35s var(--ease-out),background .3s}
.fq-item summary i::before,.fq-item summary i::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;margin:-1px 0 0 -5.5px;border-radius:2px;background:var(--gold)}
.fq-item summary i::after{transform:rotate(90deg);transition:transform .35s}
.fq-item[open] summary i{background:var(--red);border-color:var(--red);transform:rotate(180deg)}
.fq-item[open] summary i::before,.fq-item[open] summary i::after{background:#fff}
.fq-item[open] summary i::after{transform:rotate(0)}
.fq-a{padding:0 20px 20px 48px;animation:fadeUp .4s var(--ease-out)}
.fq-a p{margin:0;color:var(--soft);font-size:15.5px;line-height:1.75}
.fq-none{padding:20px;border-radius:16px;border:1px dashed var(--line-2);text-align:center}
.fq-cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap;padding:clamp(24px,3vw,36px);border-radius:26px;border:1px solid rgba(226,70,58,.3);background:radial-gradient(120% 140% at 0 0,rgba(226,70,58,.16),transparent 60%),rgba(255,255,255,.02)}
.fq-cta>div:nth-child(2){flex:1 1 300px}
.fq-cta h2{margin:0 0 6px;font:400 clamp(22px,2.4vw,30px)/1.15 var(--f-serif)}
.fq-cta p{margin:0;color:var(--soft)}
.fq-cta__btns{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:980px){.fq{grid-template-columns:minmax(0,1fr)}.fq-nav{position:static;flex-direction:row;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}.fq-nav::-webkit-scrollbar{display:none}.fq-nav a{flex:none;border-color:var(--line)}.fq-nav em{display:none}.fq-head__grid{grid-template-columns:minmax(0,1fr)}.fq-head__panda{display:none}}
@media (max-width:640px){.fq-head{padding-top:84px}.fq-item summary{padding:15px 16px;gap:10px}.fq-q{font-size:15px}.fq-a{padding:0 16px 16px}.fq-cta__btns .btn{width:100%}}

/* Méthode : questions sur deux colonnes, appel final sur une ligne */
.mt-faq{max-width:none;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,80px);align-items:start}
.mt-faq__head{position:sticky;top:110px}
.mt-faq__head .h2{margin:10px 0 14px}
.mt-faq__head .lead{margin:0 0 18px}
.mt-faq__list details{padding:0 4px}
.mt-cta h2{white-space:nowrap}
@media (max-width:980px){.mt-faq{grid-template-columns:minmax(0,1fr)}.mt-faq__head{position:static}.mt-cta h2{white-space:normal}}

.wrap.mt-faq{max-width:1320px}

/* ===== Méthode : espaces vides décorés ===== */
.mt-head{padding-bottom:30px}
.mt-head__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(30px,4vw,60px);align-items:center}
.mt-check{position:relative;justify-self:center;width:min(360px,100%);padding-bottom:40px}
.mt-check__card{position:relative;z-index:1;padding:22px 22px 18px;border-radius:22px;background:linear-gradient(180deg,#F3EEE3,#E6DFCF);color:#1A1712;box-shadow:0 30px 60px -24px rgba(0,0,0,.9);transform:rotate(-2deg)}
.mt-check__k{margin:0 0 12px;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8A3A2A}
.mt-check__card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.mt-check__card li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;opacity:0;animation:mtLine .5s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.5s + var(--i) * .45s)}
.mt-check__card li i{flex:none;width:20px;height:20px;border-radius:50%;background:#2FC98A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat;transform:scale(0);animation:mtTick .4s cubic-bezier(.2,1.6,.4,1) forwards;animation-delay:calc(.75s + var(--i) * .45s)}
@keyframes mtLine{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@keyframes mtTick{to{transform:scale(1)}}
.mt-check__ok{display:flex;justify-content:space-between;margin:14px 0 0;padding-top:12px;border-top:1px dashed rgba(26,23,18,.25);font-size:13px;font-weight:700;opacity:0;animation:mtLine .5s 3s forwards}
.mt-check__ok b{color:var(--shu);letter-spacing:2px}
.mt-check__panda{position:absolute;right:-30px;bottom:-14px;z-index:2;width:130px;height:auto;animation:stBob 3.4s ease-in-out infinite}
.mt-check__stamp{position:absolute;left:-14px;top:-14px;z-index:2;display:grid;place-items:center;width:64px;height:64px;border:3px solid var(--red);border-radius:12px;color:var(--red);font:400 22px/1 var(--f-jp);transform:rotate(-14deg) scale(0);animation:stamp .5s cubic-bezier(.2,1.6,.4,1) 3.3s forwards;background:rgba(8,8,10,.6)}
@keyframes stamp{to{transform:rotate(-14deg) scale(1)}}
.mt-promises{margin-top:10px}
.mt-deco{position:relative;overflow:hidden}
.mt-deco .bamboo{opacity:.35}
section.sec.bg-moon,section.sec.bg-cranes{padding-block:clamp(60px,7vw,100px)}
.mt-quote{padding:clamp(20px,3vw,40px) 0}
.mt-quote__in{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;padding:clamp(22px,3vw,34px);border-radius:26px;border:1px solid var(--line);background:radial-gradient(70% 140% at 50% 0,rgba(201,169,98,.12),transparent 70%),rgba(255,255,255,.015);text-align:center}
.mt-quote__in p{margin:0;font:400 clamp(22px,2.8vw,36px)/1.2 var(--f-serif);color:var(--paper)}
.mt-quote__in em{font-style:normal;color:var(--red)}
.mt-quote__in>span{font-size:13px;color:var(--mute);align-self:flex-end}
.mt-faq{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.mt-faq__head .h2{font-size:clamp(30px,3.6vw,48px)}
@media (max-width:980px){.mt-head__grid{grid-template-columns:minmax(0,1fr)}.mt-check{margin-top:10px}}
@media (max-width:640px){.mt-check__panda{width:96px;right:-6px}.mt-check{padding-bottom:30px}}
@media (prefers-reduced-motion:reduce){.mt-check__card li,.mt-check__card li i,.mt-check__ok,.mt-check__stamp{animation:none;opacity:1;transform:none}}

/* ===== Annuaire mobile : barre de filtres compacte ===== */
@media (max-width:700px){
  .dir-tools{top:64px;display:grid!important;grid-template-columns:1fr auto;gap:10px;padding:12px 0;margin-inline:-16px;padding-inline:16px}
  .dir-tools .search{grid-column:1;min-height:46px;margin:0}
  .dir-tools .search input{font-size:15px}
  .dir-tools .view-switch{grid-column:2;grid-row:1}
  .dir-tools .tabs{grid-column:1/-1;display:flex!important;flex-wrap:nowrap!important;gap:6px;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
  .dir-tools .tabs::-webkit-scrollbar{display:none}
  .dir-tools .tab{flex:none;padding:8px 13px;font-size:13px;white-space:nowrap}
}

/* Fiche : encart avis Google */
.gbox{padding:20px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.025)}
.gbox__h{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.gbox__logo{padding:3px 8px;border-radius:8px;background:#fff;font:700 15px/1 Arial,sans-serif;letter-spacing:0;text-transform:none}
.gbox__logo i{font-style:normal}
.gbox__score{display:flex;align-items:center;gap:14px}
.gbox__score b{font:400 44px/1 var(--f-serif);color:var(--paper)}
.gbox__score span{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--mute)}
.gbox__score em{font-style:normal;color:#FBBC05;letter-spacing:2px;font-size:16px}
.gbox__score em i{font-style:normal;color:rgba(240,235,225,.15)}
.gbox__gap{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:rgba(227,155,58,.1);border:1px solid rgba(227,155,58,.3);color:#F2C27F;font-size:13px;line-height:1.5}
.gbox__list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.gbox__list li{padding:12px;border-radius:12px;background:rgba(0,0,0,.25)}
.gbox__who{display:flex;justify-content:space-between;gap:8px;margin:0 0 4px;font-size:13.5px;font-weight:600;color:var(--paper)}
.gbox__who a{color:var(--paper)}
.gbox__who span{color:#FBBC05;font-size:12px;letter-spacing:1px}
.gbox__txt{margin:0;font-size:13.5px;line-height:1.5;color:var(--soft)}
.gbox__list small{display:block;margin-top:4px;color:var(--mute);font-size:11.5px}
.gbox__more{display:inline-block;margin-top:12px;color:var(--gold-2);font-size:13.5px}
.gbox__src{display:block;margin-top:8px;color:var(--mute);font-size:11.5px;line-height:1.4}

.aus__whois{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.aus__whois li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.025);font-size:13.5px;color:var(--paper)}
.aus__whois b{min-width:72px;color:var(--mute);font-weight:400;font-size:12.5px}
.aus__whois em{font-style:normal;padding:2px 8px;border-radius:99px;font-size:11.5px}
.aus__whois em.is-bad{background:rgba(224,87,63,.18);color:#F4A595}.aus__whois em.is-mid{background:rgba(227,155,58,.18);color:#F2C27F}.aus__whois em.is-ok{background:rgba(47,201,138,.15);color:#7EE3B5}
@media (max-width:640px){.aus__whois{grid-template-columns:minmax(0,1fr)}}

/* ==========================================================================
   Guides
   ========================================================================== */
.gd-head__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:center}
.gd-head h1{max-width:900px}
.gd-head--one h1{font-size:clamp(32px,4.2vw,60px)}
.gd-head .eyebrow a{color:inherit}
.gd-head__tags,.gd-meta{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:30px 0 0;padding:0}
.gd-head__tags li,.gd-meta li{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:99px;background:rgba(240,235,225,.04);box-shadow:inset 0 0 0 1px rgba(240,235,225,.1);font-size:14px;color:var(--soft)}
.gd-head__tags b{font:400 20px/1 var(--f-serif);color:var(--red)}
.gd-meta svg{color:var(--red)}
/* Étagère : trois livres qui se balancent, panda qui écrit, lanterne */
.gd-shelf{position:relative;height:320px;display:flex;align-items:flex-end;justify-content:center;gap:10px;padding-bottom:26px}
.gd-shelf::after{content:"";position:absolute;left:6%;right:6%;bottom:16px;height:12px;border-radius:4px;background:linear-gradient(180deg,#3A2418,#1C110B);box-shadow:0 14px 30px -10px rgba(0,0,0,.8)}
.gd-shelf__book{position:relative;z-index:1;width:62px;height:calc(200px - var(--i) * 26px);border-radius:6px 6px 3px 3px;display:flex;align-items:flex-start;justify-content:center;padding-top:20px;background:linear-gradient(90deg,rgba(0,0,0,.35),transparent 30%,transparent 70%,rgba(0,0,0,.3)),var(--bk,#7E2019);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 10px 20px -8px rgba(0,0,0,.7);transform-origin:50% 100%;animation:gdBook 5s ease-in-out calc(var(--i) * -1.4s) infinite}
.gd-shelf__book:nth-child(2){--bk:#2B2A33}.gd-shelf__book:nth-child(3){--bk:#8A6D33}
.gd-shelf__book::before,.gd-shelf__book::after{content:"";position:absolute;left:8px;right:8px;height:2px;background:rgba(240,235,225,.3)}
.gd-shelf__book::before{bottom:28px}.gd-shelf__book::after{bottom:36px}
.gd-shelf__book i{font:400 28px/1 var(--f-jp);font-style:normal;color:var(--paper);writing-mode:vertical-rl;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.gd-shelf__panda{position:relative;z-index:2;margin-left:8px;margin-bottom:-6px;filter:drop-shadow(0 18px 24px rgba(0,0,0,.6))}
.gd-shelf__lamp{position:absolute;top:0;left:14%;width:34px;height:46px;border-radius:40% 40% 46% 46%;background:radial-gradient(circle at 50% 40%,#FFD58A,#E2463A 70%);box-shadow:0 0 40px 10px rgba(226,70,58,.35);animation:gdLamp 4s ease-in-out infinite}
.gd-shelf__lamp::before{content:"";position:absolute;left:50%;bottom:100%;width:1px;height:40px;background:rgba(240,235,225,.3)}
@keyframes gdBook{0%,100%{transform:rotate(0)}50%{transform:rotate(-3deg)}}
@keyframes gdLamp{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(6px) rotate(4deg)}}

/* Liste des guides : rouleaux suspendus */
.gd-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.gd-card__a{position:relative;display:flex;flex-direction:column;height:100%;min-height:440px;padding:46px 28px 28px;border-radius:14px;overflow:hidden;isolation:isolate;color:var(--paper);background:linear-gradient(180deg,#141318,#0C0C10);box-shadow:inset 0 0 0 1px rgba(240,235,225,.08),0 30px 60px -40px rgba(0,0,0,.9);transition:transform .5s var(--ease-out),box-shadow .5s}
.gd-card__a::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(80% 50% at 50% 0,rgba(226,70,58,.16),transparent 70%);opacity:.5;transition:opacity .5s}
.gd-card__a:hover{color:var(--paper);transform:translateY(-8px);box-shadow:inset 0 0 0 1px rgba(226,70,58,.5),10px 10px 0 #5E1611,0 40px 70px -40px rgba(0,0,0,.9)}
.gd-card__a:hover::before{opacity:1}
.gd-card__rod{position:absolute;top:14px;left:18px;right:18px;height:8px;border-radius:99px;background:linear-gradient(180deg,#5A3A24,#2A170D);box-shadow:0 3px 0 rgba(0,0,0,.4)}
.gd-card__rod::before,.gd-card__rod::after{content:"";position:absolute;top:-2px;width:12px;height:12px;border-radius:50%;background:var(--red)}
.gd-card__rod::before{left:-4px}.gd-card__rod::after{right:-4px}
.gd-card__num{font:400 15px/1 var(--f-serif);color:var(--red);letter-spacing:.1em}
.gd-card__kanji{position:absolute;right:-6px;top:30px;z-index:-1;font:400 170px/1 var(--f-jp);color:rgba(240,235,225,.04);transition:transform 1s var(--ease-out),color .5s}
.gd-card__a:hover .gd-card__kanji{transform:translateY(-10px) rotate(-6deg);color:rgba(226,70,58,.1)}
.gd-card__kicker{display:block;margin-top:18px;font:700 12px/1.3 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.gd-card__t{margin-top:12px;font-size:clamp(22px,1.9vw,28px);line-height:1.18}
.gd-card__d{margin-top:16px;color:var(--soft);font-size:15.5px;line-height:1.65}
.gd-card__go{display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding-top:24px;font-weight:700;color:var(--red)}
.gd-card__go svg{transition:transform .4s var(--ease-out)}
a:hover .gd-card__go svg{transform:translateX(6px)}
.gd-card__panda{position:absolute;right:14px;bottom:10px;opacity:.95;transform:translateY(16px);transition:transform .6s var(--ease-out)}
.gd-card__a:hover .gd-card__panda{transform:translateY(0) rotate(-4deg)}
.gd-card__d{padding-right:0}
.gd-card__go{position:relative;z-index:1}

/* Appel à l’action */
.gd-cta{position:relative;margin-top:clamp(40px,5vw,70px);display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;padding:clamp(26px,3vw,40px);border-radius:16px;overflow:hidden;background:linear-gradient(120deg,rgba(226,70,58,.16),rgba(14,14,18,.8) 60%);box-shadow:inset 0 0 0 1px rgba(226,70,58,.3)}
.gd-cta::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.06) 50%,transparent 60%);transform:translateX(-100%);animation:gdSheen 6s ease-in-out infinite}
@keyframes gdSheen{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.gd-cta__k{font:400 clamp(22px,2.2vw,30px)/1.2 var(--f-serif)}
.gd-cta__t{margin-top:8px;color:var(--soft)}
.gd-cta__acts{display:flex;flex-wrap:wrap;gap:14px}
.gd-cta--in{margin-top:50px;flex-direction:column;align-items:stretch}
.gd-probe{position:relative;z-index:1;display:flex;gap:12px;width:100%}
.gd-probe input{flex:1;min-width:0;height:54px;padding:0 18px;border-radius:8px;border:0;background:rgba(8,8,10,.7);box-shadow:inset 0 0 0 1px rgba(240,235,225,.16);color:var(--paper);font:500 16px var(--f-sans)}
.gd-probe input:focus{outline:0;box-shadow:inset 0 0 0 1.5px var(--red)}

/* Barre de lecture */
.gd-progress{position:fixed;left:0;right:0;top:0;z-index:90;height:3px;pointer-events:none}
.gd-progress i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--red),var(--gold));box-shadow:0 0 12px rgba(226,70,58,.7)}

/* Panda du guide */
.gd-hero-panda{position:relative;justify-self:center;width:300px;height:300px;display:grid;place-items:center}
.gd-hero-panda__ring{position:absolute;inset:10px;border-radius:50%;border:1.5px dashed rgba(226,70,58,.45);animation:gdSpin 30s linear infinite}
.gd-hero-panda__ring::before{content:"";position:absolute;top:-6px;left:50%;width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 16px var(--red)}
.gd-hero-panda__k{position:absolute;font:400 200px/1 var(--f-jp);color:rgba(226,70,58,.12)}
.gd-hero-panda .mascot{position:relative;animation:gdFloat 5s ease-in-out infinite}
@keyframes gdSpin{to{transform:rotate(360deg)}}
@keyframes gdFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* Mise en page article + sommaire */
.gd-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:start}
.gd-toc{position:sticky;top:110px;padding:22px;border-radius:14px;background:rgba(14,14,18,.7);box-shadow:inset 0 0 0 1px rgba(240,235,225,.08)}
.gd-toc__k{font:700 12px/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.gd-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.gd-toc a{position:relative;display:flex;gap:10px;padding:8px 10px;border-radius:8px;font-size:14.5px;line-height:1.35;color:var(--soft);transition:background .3s,color .3s}
.gd-toc a span{flex:none;font:400 12px/1.6 var(--f-serif);color:var(--mute);transition:color .3s}
.gd-toc a:hover{color:var(--paper);background:rgba(240,235,225,.04)}
.gd-toc a.is-on{color:var(--paper);background:rgba(226,70,58,.12)}
.gd-toc a.is-on span{color:var(--red)}
.gd-toc a.is-on::before{content:"";position:absolute;left:-22px;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--red)}
.gd-toc__cta{display:block;margin-top:16px;padding-top:14px;border-top:1px solid rgba(240,235,225,.08);font-size:14px;font-weight:700;color:var(--red)}
.gd-article{max-width:780px;min-width:0}
.gd-brief{position:relative;padding:28px 30px 28px 34px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,rgba(201,169,98,.1),rgba(14,14,18,.6));box-shadow:inset 3px 0 0 var(--gold),inset 0 0 0 1px rgba(201,169,98,.2)}
.gd-brief__k{position:absolute;right:16px;top:-14px;font:400 120px/1 var(--f-jp);color:rgba(201,169,98,.08)}
.gd-brief__t{font:700 12px/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.gd-brief p:last-child{position:relative;font-size:17.5px;line-height:1.75;color:var(--paper)}
.gd-h2{display:flex;align-items:baseline;gap:16px;margin:clamp(50px,6vw,80px) 0 20px;font-size:clamp(26px,2.8vw,38px);scroll-margin-top:110px}
.gd-h2__n{flex:none;display:inline-grid;place-items:center;width:46px;height:46px;border-radius:8px;transform:rotate(-4deg);background:var(--red);box-shadow:3px 3px 0 #5E1611;font-size:17px;color:#fff;transition:transform .6s var(--ease-out) .3s;align-self:center}
.js .gd-h2[data-rv] .gd-h2__n{transform:rotate(-30deg) scale(.4)}
.js .gd-h2.is-in .gd-h2__n{transform:rotate(-4deg) scale(1)}
.gd-p{margin-top:16px;color:var(--soft);font-size:17.5px;line-height:1.85}
.gd-ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.gd-ul li{position:relative;padding:14px 18px 14px 46px;border-radius:10px;background:rgba(240,235,225,.03);box-shadow:inset 0 0 0 1px rgba(240,235,225,.06);color:var(--paper);font-size:16px;line-height:1.6}
.gd-ul li::before{content:"";position:absolute;left:18px;top:21px;width:12px;height:12px;border-radius:3px;transform:rotate(45deg);background:var(--red);box-shadow:0 0 10px rgba(226,70,58,.6)}
.gd-steps{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px;position:relative}
.gd-steps::before{content:"";position:absolute;left:27px;top:20px;bottom:20px;width:2px;background:linear-gradient(180deg,var(--red),rgba(226,70,58,.05))}
.gd-step{position:relative;display:flex;gap:20px;align-items:flex-start;padding:18px 20px 18px 0}
.gd-step__n{position:relative;z-index:1;flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--ink);box-shadow:inset 0 0 0 2px var(--red),0 0 0 6px var(--ink);font:400 22px/1 var(--f-serif);color:var(--red);transition:background .4s,color .4s}
.gd-step:hover .gd-step__n{background:var(--red);color:#fff}
.gd-step h3{font-size:clamp(18px,1.5vw,21px);line-height:1.3;margin-top:4px}
.gd-step p{margin-top:8px;color:var(--soft);font-size:16px;line-height:1.7}
.gd-tip,.gd-warn{display:flex;gap:18px;align-items:flex-start;margin-top:28px;padding:22px 24px;border-radius:14px}
.gd-tip{background:linear-gradient(120deg,rgba(156,196,149,.1),rgba(14,14,18,.6));box-shadow:inset 0 0 0 1px rgba(156,196,149,.25)}
.gd-tip__panda{flex:none;animation:gdNod 3.6s ease-in-out infinite}
@keyframes gdNod{0%,100%{transform:rotate(0)}30%{transform:rotate(-8deg)}60%{transform:rotate(6deg)}}
.gd-tip__k,.gd-warn__k{font:700 12px/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}
.gd-tip__k{color:var(--good)}
.gd-tip p:last-child,.gd-warn p:last-child{font-size:16.5px;line-height:1.7;color:var(--paper)}
.gd-warn{background:linear-gradient(120deg,rgba(227,155,58,.12),rgba(14,14,18,.6));box-shadow:inset 0 0 0 1px rgba(227,155,58,.3)}
.gd-warn__i{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--mid);color:var(--ink);font:400 22px/1 var(--f-serif);animation:gdPulse 2.2s ease-out infinite}
@keyframes gdPulse{0%{box-shadow:0 0 0 0 rgba(227,155,58,.55)}100%{box-shadow:0 0 0 16px rgba(227,155,58,0)}}
.gd-warn__k{color:var(--mid)}
.gd-quote{position:relative;margin:34px 0 0;padding:28px 30px 28px 70px;border-radius:14px;background:rgba(226,70,58,.08)}
.gd-quote::before{content:"\201C";position:absolute;left:20px;top:8px;font:400 80px/1 var(--f-serif);color:var(--red)}
.gd-quote p{font:400 clamp(18px,1.6vw,22px)/1.5 var(--f-serif);color:var(--paper)}
.gd-table{margin-top:24px;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(240,235,225,.08)}
.gd-table table{width:100%;border-collapse:collapse;font-size:15.5px}
.gd-table th,.gd-table td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(240,235,225,.06);vertical-align:top}
.gd-table thead th{background:rgba(226,70,58,.12);font:700 13px/1.3 var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--paper)}
.gd-table tbody th{font-weight:700;color:var(--paper)}
.gd-table td{color:var(--soft)}
.gd-table tbody tr{transition:background .3s}
.gd-table tbody tr:hover{background:rgba(240,235,225,.03)}
.js .gd-table[data-rv] tbody tr{opacity:0;transform:translateX(-14px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out),background .3s;transition-delay:calc(.3s + var(--i) * .08s)}
.js .gd-table.is-in tbody tr{opacity:1;transform:none}
/* Checklist interactive */
.gd-check{margin-top:30px;padding:26px;border-radius:16px;background:linear-gradient(180deg,#141318,#0C0C10);box-shadow:inset 0 0 0 1px rgba(226,70,58,.3),8px 8px 0 #2A0D0A}
.gd-check__head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.gd-check__k{font:400 22px/1.2 var(--f-serif)}
.gd-check__score{color:var(--soft)}
.gd-check__score b{font:400 26px/1 var(--f-serif);color:var(--red)}
.gd-check__bar{margin:14px 0 18px;height:6px;border-radius:99px;background:rgba(240,235,225,.06);overflow:hidden}
.gd-check__bar i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--red),var(--gold));transition:width .6s var(--ease-out)}
.gd-check ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.gd-check label{position:relative;display:flex;gap:14px;align-items:center;padding:11px 12px;border-radius:10px;cursor:pointer;transition:background .3s;font-size:16px;line-height:1.45}
.gd-check label:hover{background:rgba(240,235,225,.04)}
.gd-check input{position:absolute;opacity:0;pointer-events:none}
.gd-check__box{flex:none;position:relative;width:26px;height:26px;border-radius:6px;box-shadow:inset 0 0 0 1.5px rgba(240,235,225,.3);transition:background .3s,box-shadow .3s,transform .3s var(--ease-out)}
.gd-check__box::after{content:"";position:absolute;left:9px;top:4px;width:6px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .35s var(--ease-out)}
.gd-check input:checked+.gd-check__box{background:var(--red);box-shadow:inset 0 0 0 1.5px var(--red);transform:rotate(-6deg)}
.gd-check input:checked+.gd-check__box::after{transform:rotate(45deg) scale(1)}
.gd-check input:checked~span:last-child{color:var(--soft);text-decoration:line-through;text-decoration-color:rgba(226,70,58,.6)}
.gd-check input:focus-visible+.gd-check__box{outline:1px solid var(--red);outline-offset:3px}
.gd-check__ok{display:flex;align-items:center;gap:14px;margin-top:16px;font-weight:700;color:var(--good)}
.gd-check__ok[hidden]{display:none}
.gd-check__ok span{display:inline-grid;place-items:center;padding:8px 10px;border-radius:6px;border:2px solid var(--red);color:var(--red);font:400 18px/1 var(--f-jp);transform:rotate(-8deg);animation:gdStamp .5s var(--ease-out) both}
@keyframes gdStamp{from{transform:rotate(-8deg) scale(2.4);opacity:0}to{transform:rotate(-8deg) scale(1);opacity:1}}
/* FAQ */
.gd-faq{display:grid;gap:10px}
.gd-faq details{border-radius:12px;background:rgba(240,235,225,.03);box-shadow:inset 0 0 0 1px rgba(240,235,225,.08);transition:background .3s,box-shadow .3s}
.gd-faq details[open]{background:rgba(226,70,58,.06);box-shadow:inset 0 0 0 1px rgba(226,70,58,.3)}
.gd-faq summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;cursor:pointer;list-style:none;font-weight:700;font-size:16.5px;line-height:1.4}
.gd-faq summary::-webkit-details-marker{display:none}
.gd-faq summary i{flex:none;position:relative;width:16px;height:16px}
.gd-faq summary i::before,.gd-faq summary i::after{content:"";position:absolute;left:0;top:7px;width:16px;height:2px;background:var(--red);transition:transform .35s var(--ease-out)}
.gd-faq summary i::after{transform:rotate(90deg)}
.gd-faq details[open] summary i::after{transform:rotate(0)}
.gd-faq details p{padding:0 20px 20px;color:var(--soft);line-height:1.75;animation:gdOpen .45s var(--ease-out)}
@keyframes gdOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* À lire ensuite */
.gd-more{padding-bottom:clamp(60px,8vw,110px)}
.gd-more__grid{margin-top:34px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gd-mini{position:relative;display:flex;flex-direction:column;padding:26px 28px;border-radius:14px;overflow:hidden;color:var(--paper);background:linear-gradient(180deg,#141318,#0C0C10);box-shadow:inset 0 0 0 1px rgba(240,235,225,.08);transition:transform .45s var(--ease-out),box-shadow .45s}
.gd-mini:hover{color:var(--paper);transform:translateY(-5px);box-shadow:inset 0 0 0 1px rgba(226,70,58,.5),8px 8px 0 #5E1611}
.gd-mini__k{position:absolute;right:10px;top:-10px;font:400 120px/1 var(--f-jp);color:rgba(240,235,225,.04)}
.gd-mini .gd-card__kicker{margin-top:0}
.gd-mini__t{margin-top:10px;font:400 clamp(19px,1.6vw,23px)/1.25 var(--f-serif)}

@media (max-width:1080px){
  .gd-list{grid-template-columns:minmax(0,1fr)}
  .gd-card__a{min-height:0;padding-bottom:110px}
  .gd-layout{grid-template-columns:minmax(0,1fr)}
  .gd-toc{position:relative;top:0}
  .gd-toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gd-toc a.is-on::before{display:none}
  .gd-article{max-width:none}
}
@media (max-width:760px){
  .gd-head__grid{grid-template-columns:minmax(0,1fr)}
  .gd-shelf{height:250px;transform:scale(.85);margin-top:-10px}
  .gd-hero-panda{width:220px;height:220px;margin-top:-10px}
  .gd-hero-panda .mascot{width:130px;height:auto}
  .gd-hero-panda__k{font-size:150px}
  .gd-toc ol{grid-template-columns:minmax(0,1fr)}
  .gd-more__grid{grid-template-columns:minmax(0,1fr)}
  .gd-probe{flex-direction:column}
  .gd-probe .btn{width:100%}
  .gd-cta__acts{width:100%}.gd-cta__acts .btn{flex:1}
  .gd-step{gap:14px;padding-right:0}
  .gd-steps::before{left:21px}
  .gd-step__n{width:44px;height:44px;font-size:18px}
  .gd-tip,.gd-warn{padding:18px;gap:14px}
  .gd-quote{padding:24px 20px 22px 54px}.gd-quote::before{left:12px;font-size:64px}
  .gd-check{padding:20px 16px}
  .gd-h2{gap:12px}.gd-h2__n{width:38px;height:38px;font-size:15px}
  .gd-table thead{display:none}
  .gd-table tr{display:block;padding:12px 14px;border-bottom:1px solid rgba(240,235,225,.06)}
  .gd-table th,.gd-table td{display:flex;justify-content:space-between;gap:14px;padding:5px 0;border:0;text-align:right}
  .gd-table td::before{content:attr(data-label);color:var(--mute);font-size:13.5px;text-align:left}
  .gd-table tbody th{font-size:16px;padding-bottom:8px;color:var(--red);text-align:left}
}
@media (prefers-reduced-motion:reduce){
  .gd-shelf__book,.gd-shelf__lamp,.gd-hero-panda__ring,.gd-hero-panda .mascot,.gd-tip__panda,.gd-warn__i,.gd-cta::after{animation:none}
}
.gd-cta__more{position:relative;z-index:1;width:100%;color:var(--mute);font-size:14.5px}
.gd-list-sec{padding-bottom:clamp(50px,6vw,90px)}
.gd-body-sec{padding-bottom:clamp(40px,5vw,70px)}
@media (max-width:760px){.gd-hero-panda{width:180px;height:180px;margin:-6px auto -10px}.gd-hero-panda .mascot{width:110px}.gd-hero-panda__k{font-size:120px}}
.gd-head--one .gd-head__grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.page-head.gd-head--one h1{font-size:clamp(28px,3.1vw,46px);line-height:1.15;max-width:760px;text-wrap:balance}
@media (max-width:760px){.page-head.gd-head--one h1{font-size:clamp(26px,7vw,34px)}}

/* ==========================================================================
   Pages d’erreur autonomes (403, 419, 429, 500, 503)
   ========================================================================== */
.err-body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(60% 50% at 50% 35%,rgba(226,70,58,.12),transparent 70%),var(--ink)}
.err-top{display:flex;justify-content:center;padding:22px var(--gut) 0}
.err-brand{display:inline-flex;align-items:center;gap:10px;color:var(--paper)}
.err-brand .cwm{font-size:28px}
.err{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px var(--gut) 50px;overflow:hidden;isolation:isolate}
.err__bg{position:absolute;left:50%;top:46%;z-index:-1;transform:translate(-50%,-50%);font:400 min(70vw,560px)/1 var(--f-jp);color:rgba(240,235,225,.025);pointer-events:none;animation:errBg 12s ease-in-out infinite}
@keyframes errBg{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-52%) scale(1.04)}}
.err__stage{position:relative;width:min(420px,90vw);height:300px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:10px}
.err__code{position:absolute;left:50%;top:0;transform:translateX(-50%);font:400 clamp(120px,22vw,190px)/1 var(--f-serif);letter-spacing:-.02em;color:transparent;-webkit-text-stroke:2px rgba(226,70,58,.55);animation:errCode 4s ease-in-out infinite}
@keyframes errCode{0%,100%{-webkit-text-stroke-color:rgba(226,70,58,.55);text-shadow:none}50%{-webkit-text-stroke-color:rgba(226,70,58,.95);text-shadow:0 0 40px rgba(226,70,58,.35)}}
.err__halo{position:absolute;left:50%;bottom:20px;width:240px;height:240px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(226,70,58,.22),transparent 65%);animation:errHalo 3.5s ease-in-out infinite}
@keyframes errHalo{0%,100%{opacity:.6;transform:translateX(-50%) scale(.95)}50%{opacity:1;transform:translateX(-50%) scale(1.06)}}
.err__panda{position:relative;z-index:2;animation:errBob 3.4s ease-in-out infinite}
.err__panda .mascot{width:clamp(140px,26vw,190px);height:auto;filter:drop-shadow(0 20px 26px rgba(0,0,0,.7))}
@keyframes errBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.err__ground{position:absolute;left:50%;bottom:6px;width:220px;height:16px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.7),transparent)}
.err__k{display:inline-flex;align-items:center;gap:10px;margin-top:6px;font:700 12px/1 var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--red)}
.err__k span{font:400 18px/1 var(--f-jp);letter-spacing:0;color:var(--gold-2)}
.err h1{margin-top:16px;max-width:820px;font-size:clamp(30px,4.4vw,56px);line-height:1.12;text-wrap:balance}
.err h1 .accent{display:block}
.err__lead{margin-top:18px;max-width:580px;color:var(--soft);font-size:clamp(16px,1.2vw,18px);line-height:1.75}
.err__acts{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:30px}
.err-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;padding:20px var(--gut) 28px;border-top:1px solid rgba(240,235,225,.06);font-size:14px}
.err-foot a{color:var(--mute)}.err-foot a:hover{color:var(--paper)}
.err h1,.err__k,.err__lead,.err__acts{animation:errIn .9s var(--ease-out) both}
.err__k{animation-delay:.15s}.err h1{animation-delay:.25s}.err__lead{animation-delay:.35s}.err__acts{animation-delay:.45s}
@keyframes errIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* 403 : corde sacrée tendue devant le panda + cadenas qui se balance */
.err__rope{position:absolute;left:4%;right:4%;bottom:78px;z-index:3;height:18px;border-radius:99px;background:repeating-linear-gradient(115deg,#E9DFC8 0 10px,#C8B892 10px 14px);box-shadow:0 6px 14px rgba(0,0,0,.6);transform-origin:50% 0;animation:errRope 4s ease-in-out infinite}
.err__rope i{position:absolute;top:16px;width:16px;height:30px;background:#F0EBE1;clip-path:polygon(0 0,100% 0,100% 30%,40% 30%,40% 55%,100% 55%,100% 100%,0 100%,0 70%,60% 70%,60% 45%,0 45%);animation:errPaper 3s ease-in-out infinite}
.err__rope i:nth-child(1){left:14%}.err__rope i:nth-child(2){left:36%;animation-delay:.4s}.err__rope i:nth-child(3){left:60%;animation-delay:.8s}.err__rope i:nth-child(4){left:82%;animation-delay:1.2s}
@keyframes errRope{0%,100%{transform:rotate(0)}50%{transform:rotate(1deg)}}
@keyframes errPaper{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
.err__lock{position:absolute;left:50%;bottom:18px;z-index:4;margin-left:-27px;transform-origin:50% 0;animation:errLock 2.6s ease-in-out infinite;filter:drop-shadow(0 8px 12px rgba(0,0,0,.6))}
@keyframes errLock{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}

/* 419 : le panda dort, les Z montent */
.err__z{position:absolute;z-index:3;font:400 30px/1 var(--f-serif);color:var(--gold-2);opacity:0;animation:errZ 3.6s ease-in infinite}
.err__z--1{left:58%;bottom:150px}.err__z--2{left:64%;bottom:170px;font-size:22px;animation-delay:1.2s}.err__z--3{left:69%;bottom:190px;font-size:16px;animation-delay:2.4s}
@keyframes errZ{0%{opacity:0;transform:translate(0,0) rotate(0)}25%{opacity:1}100%{opacity:0;transform:translate(30px,-70px) rotate(20deg)}}
.err--sleep .err__panda{animation-duration:5s}

/* 429 : sablier qui se retourne */
.err__hourglass{position:absolute;right:6%;bottom:60px;z-index:3;width:46px;height:70px;animation:errFlip 4s var(--ease) infinite}
.err__hourglass::before,.err__hourglass::after{content:"";position:absolute;left:0;right:0;height:6px;border-radius:3px;background:var(--gold)}
.err__hourglass::before{top:0}.err__hourglass::after{bottom:0}
.err__hourglass i{position:absolute;inset:6px 6px;background:linear-gradient(180deg,var(--red) 0 45%,transparent 45% 55%,var(--red) 55%);clip-path:polygon(0 0,100% 0,55% 50%,100% 100%,0 100%,45% 50%);opacity:.9}
@keyframes errFlip{0%,70%{transform:rotate(0)}100%{transform:rotate(180deg)}}

/* 500 : bouts de code qui sautent + fumée */
.err__spark{position:absolute;z-index:3;font:700 22px/1 ui-monospace,Consolas,monospace;color:var(--red);animation:errSpark 2.8s var(--ease-out) infinite}
.err__spark--1{left:30%;bottom:120px}.err__spark--2{left:62%;bottom:140px;color:var(--gold);animation-delay:.9s}.err__spark--3{left:46%;bottom:170px;animation-delay:1.8s}
@keyframes errSpark{0%{opacity:0;transform:translate(0,20px) rotate(0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translate(var(--x,-40px),-90px) rotate(-30deg) scale(1.1)}}
.err__spark--2{--x:40px}.err__spark--3{--x:10px}
.err__smoke{position:absolute;left:50%;bottom:150px;z-index:1}
.err__smoke i{position:absolute;left:-20px;width:40px;height:40px;border-radius:50%;background:rgba(240,235,225,.08);filter:blur(4px);animation:errSmoke 4s ease-out infinite}
.err__smoke i:nth-child(2){animation-delay:1.3s;left:-6px}.err__smoke i:nth-child(3){animation-delay:2.6s;left:-30px}
@keyframes errSmoke{0%{opacity:0;transform:translateY(0) scale(.5)}30%{opacity:1}100%{opacity:0;transform:translateY(-120px) scale(2)}}
.err--boom .err__panda{animation:errShake 3s ease-in-out infinite}
@keyframes errShake{0%,86%,100%{transform:translate(0)}88%{transform:translate(-4px,1px)}90%{transform:translate(4px,-1px)}92%{transform:translate(-3px,0)}94%{transform:translate(3px,1px)}}

/* 503 : rideau de boutique « 準備中 » (en préparation) */
.err__noren{position:absolute;left:50%;top:-6px;z-index:3;width:240px;margin-left:-120px;display:flex;justify-content:center;padding-top:10px;height:70px;background:linear-gradient(90deg,#7E2019 0 31%,transparent 31% 34.5%,#7E2019 34.5% 65.5%,transparent 65.5% 69%,#7E2019 69%);border-top:8px solid #3A2418;transform-origin:50% 0;animation:errNoren 4s ease-in-out infinite}
.err__noren b{font:400 22px/1 var(--f-jp);letter-spacing:.3em;color:var(--paper)}
@keyframes errNoren{0%,100%{transform:skewX(0)}50%{transform:skewX(-4deg)}}
.err--closed .err__code{top:70px;font-size:clamp(90px,16vw,140px)}

@media (max-width:600px){
  .err__stage{height:250px}
  .err-brand .cwm{font-size:24px}
  .err__acts{width:100%}.err__acts .btn{flex:1;min-width:150px}
  .err__rope{bottom:66px}
}
@media (prefers-reduced-motion:reduce){
  .err *,.err::before,.err::after{animation:none!important}
}

/* Avis de test (générateur) : visibles seulement par l’équipe */
.rv-test{display:inline-block;vertical-align:middle;margin-right:8px;padding:3px 8px;border-radius:5px;background:repeating-linear-gradient(135deg,#E39B3A 0 6px,#C9852A 6px 12px);color:#08080A;font:700 11px/1.2 var(--f-sans);letter-spacing:.12em}

/* Téléphone : 4 pandas par file (une bande trop large dépasse la mémoire graphique et s’affiche en carrés noirs) */
@media (max-width:760px){.rp--x{display:none}.parade__track{will-change:transform}}

/* Bloc « Votre tour » : « d’un développeur ? » tient sur une ligne sur téléphone */
@media (max-width:480px){.cta h2{font-size:clamp(24px,7.4vw,32px)}}

/* Annuaire : la note « 88/100 » ne passe plus sous le tampon « Analysée » */
.dir-row{grid-template-columns:44px 48px minmax(0,1.3fr) minmax(0,1.4fr) 96px 112px 124px 22px}
.dir-row__note{white-space:nowrap}
@media (max-width:1060px){.dir-row{grid-template-columns:48px minmax(0,1fr) auto 22px}}

/* Mascotte : 8 animations du corps tirées au hasard + gestes décalés (chaque panda vit à son rythme) */
.mascot__act{transform-box:view-box;transform-origin:100px 212px;animation-duration:6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-delay:var(--lag,0s)}
.mascot--a1 .mascot__act{animation-name:pdHop}
.mascot--a2 .mascot__act{animation-name:pdTilt;animation-duration:5s}
.mascot--a3 .mascot__act{animation-name:pdWiggle;animation-duration:4.6s}
.mascot--a4 .mascot__act{animation-name:pdBounce;animation-duration:3.8s}
.mascot--a5 .mascot__act{animation-name:pdLook;animation-duration:7s}
.mascot--a6 .mascot__act{animation-name:pdNod;animation-duration:4.2s}
.mascot--a7 .mascot__act{animation-name:pdFloat;animation-duration:5.4s}
.mascot--a8 .mascot__act{animation-name:pdStretch;animation-duration:6.4s}
@keyframes pdHop{0%,62%,100%{transform:none}68%{transform:translateY(2px) scale(1.04,.95)}76%{transform:translateY(-16px) scale(.97,1.04)}84%{transform:translateY(0) scale(1.03,.97)}90%{transform:none}}
@keyframes pdTilt{0%,100%{transform:rotate(0)}20%,40%{transform:rotate(-7deg)}60%,80%{transform:rotate(5deg)}}
@keyframes pdWiggle{0%,70%,100%{transform:rotate(0)}74%{transform:rotate(-5deg)}78%{transform:rotate(5deg)}82%{transform:rotate(-4deg)}86%{transform:rotate(3deg)}90%{transform:rotate(0)}}
@keyframes pdBounce{0%,100%{transform:scale(1,1)}45%{transform:scale(1.03,.97)}55%{transform:scale(.98,1.03) translateY(-4px)}}
@keyframes pdLook{0%,18%,100%{transform:translateX(0) rotate(0)}26%,42%{transform:translateX(-6px) rotate(-4deg)}52%,70%{transform:translateX(6px) rotate(4deg)}80%{transform:none}}
@keyframes pdNod{0%,100%{transform:rotate(0)}15%{transform:rotate(3deg) translateY(2px)}30%{transform:rotate(0)}45%{transform:rotate(3deg) translateY(2px)}60%{transform:rotate(0)}}
@keyframes pdFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes pdStretch{0%,55%,100%{transform:scale(1,1)}65%{transform:scale(.95,1.08) translateY(-2px)}75%{transform:scale(1.05,.95)}85%{transform:scale(1,1)}}
/* Gestes (patte, pinceau, loupe, dango) décalés et avec des pauses */
.mascot__wave{animation:waveHand2 4.2s ease-in-out var(--lag,0s) infinite}
@keyframes waveHand2{0%,45%,100%{transform:rotate(0)}52%{transform:rotate(-18deg)}59%{transform:rotate(0)}66%{transform:rotate(-18deg)}73%{transform:rotate(0)}}
.mascot__glass,.mascot__brush,.mascot__dango,.mascot__tail{animation-delay:var(--lag,0s)}
@media (prefers-reduced-motion:reduce){.mascot__act,.mascot__wave{animation:none}}

/* Poses gourmandes : bambou croqué, ramen fumants */
.mascot__bamboo{transform-box:view-box;transform-origin:131px 152px;animation:pdChew 2.6s ease-in-out var(--lag,0s) infinite}
@keyframes pdChew{0%,100%{transform:rotate(0)}30%{transform:rotate(-6deg) translate(-3px,-2px)}45%{transform:rotate(-2deg)}60%{transform:rotate(-6deg) translate(-3px,-2px)}}
.mascot__crumbs circle{opacity:0;animation:pdCrumb 2.6s ease-in var(--lag,0s) infinite}
.mascot__crumbs circle:nth-child(2){animation-delay:calc(var(--lag,0s) + .2s)}.mascot__crumbs circle:nth-child(3){animation-delay:calc(var(--lag,0s) + .4s)}
@keyframes pdCrumb{0%,30%{opacity:0;transform:none}40%{opacity:1}100%{opacity:0;transform:translateY(26px)}}
.mascot__chop{transform-box:view-box;transform-origin:132px 152px;animation:pdSlurp 3s ease-in-out var(--lag,0s) infinite}
@keyframes pdSlurp{0%,100%{transform:translateY(8px) rotate(4deg)}40%,60%{transform:translateY(-2px) rotate(-3deg)}}
.mascot__noodle{animation:pdNoodle 3s ease-in-out var(--lag,0s) infinite}
@keyframes pdNoodle{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.92)}}
.mascot__steam path{stroke-dasharray:30;animation:pdSteam 2.4s linear infinite}
.mascot__steam path:nth-child(2){animation-delay:1.2s}
@keyframes pdSteam{0%{stroke-dashoffset:30;opacity:0;transform:translateY(4px)}30%{opacity:1}100%{stroke-dashoffset:-30;opacity:0;transform:translateY(-10px)}}
@media (prefers-reduced-motion:reduce){.mascot__bamboo,.mascot__chop,.mascot__steam path,.mascot__crumbs circle{animation:none}}

/* Annuaire sur téléphone : barre de filtres simple (non collante), recherche arrondie, filtres en bandeau */
@media (max-width:760px){
  .dir-tools{position:relative;top:auto;z-index:2;display:flex!important;flex-direction:column;align-items:stretch;gap:12px;margin:0 0 8px;padding:6px 0 10px;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .dir-tools .view-switch{display:none}
  .dir-tools .search{margin:0;min-height:50px;border-radius:14px;padding-inline:14px}
  .dir-tools .tabs{margin-inline:-16px;padding:2px 16px 4px}
  .dir-tools .tab{padding:9px 14px}
}
@media (max-width:760px){.dir-tools .search,.dir-search{width:100%;min-width:0;max-width:100%;flex:none}.dir-tools .search input{min-width:0;width:100%}}
@media (max-width:760px){.dir-tools{width:100%;min-width:0;max-width:100%}.dir-tools .tabs{min-width:0;max-width:calc(100% + 32px);overflow-x:auto}}

/* Annuaire (ordinateur) : barre transparente au repos ; fond pleine largeur seulement quand elle est collée en haut */
@media (min-width:761px){
  .dir-tools{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .3s,box-shadow .3s}
  .dir-tools.is-stuck{background:rgba(8,8,10,.92);box-shadow:0 0 0 100vmax rgba(8,8,10,.92);clip-path:inset(0 -100vmax);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
}
@media (min-width:761px){
  .dir-tools.is-stuck{background:transparent;box-shadow:none;clip-path:none}
  .dir-tools::before{content:"";position:absolute;top:0;bottom:0;left:-100vmax;right:-100vmax;z-index:-1;background:rgba(8,8,10,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transition:opacity .3s;pointer-events:none}
  .dir-tools.is-stuck::before{opacity:1}
}

/* Fiche agence : un nom long rétrécit au lieu de se couper au milieu du mot */
.ag-id h1{overflow-wrap:normal;word-break:normal;hyphens:none}
.ag-id h1.is-long{font-size:clamp(28px,3.1vw,44px)}
.ag-id h1.is-xlong{font-size:clamp(24px,2.6vw,36px)}
@media (max-width:640px){.ag-id h1.is-long{font-size:clamp(22px,6.4vw,30px)}.ag-id h1.is-xlong{font-size:clamp(18px,5.4vw,24px)}}

/* Fiche agence : marge sous les captures (le téléphone ne touche plus les cartes) */
.ag-devices.has-phone{margin-bottom:28px}
@media (min-width:1001px){.ag-hero{padding-bottom:max(var(--ag-hero-pb,0px),34px)}}
.ag-hero:has(.ag-devices.has-phone) + .ag-sum,.ag-hero:has(.ag-devices.has-phone) ~ .ag-sum{margin-top:30px}
@media (max-width:1000px){.ag-hero:has(.ag-devices.has-phone) ~ .ag-sum{margin-top:16px}}

/* Vérifier : « Pourquoi ces huit points ? » en cartes illustrées */
.why8__head{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:40px;align-items:center;margin-bottom:34px}
.why8__head .lead{margin-top:18px;max-width:720px}
.why8__note{margin-top:14px;display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:99px;background:rgba(226,70,58,.1);box-shadow:inset 0 0 0 1px rgba(226,70,58,.3);color:var(--paper);font-size:14px}
.why8__note::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red)}
.why8__panda{position:relative;display:grid;place-items:center;height:240px}
.why8__ring{position:absolute;width:220px;height:220px;border-radius:50%;border:1.5px dashed rgba(226,70,58,.4);animation:gdSpin 26s linear infinite}
.why8__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.why8__card{position:relative;display:flex;gap:18px;padding:24px 24px 22px;border-radius:18px;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,#141318,#0C0C10);box-shadow:inset 0 0 0 1px rgba(240,235,225,.08);transition:transform .45s var(--ease-out),box-shadow .45s}
.why8__card:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(226,70,58,.45),6px 6px 0 #5E1611}
.why8__k{position:absolute;right:-6px;bottom:-26px;z-index:-1;font:400 120px/1 var(--f-jp);color:rgba(240,235,225,.035);transition:color .5s,transform .8s var(--ease-out)}
.why8__card:hover .why8__k{color:rgba(226,70,58,.09);transform:rotate(-6deg) translateY(-6px)}
.why8__num{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:10px;transform:rotate(-5deg);background:var(--red);box-shadow:3px 3px 0 #5E1611;font:400 20px/1 var(--f-serif);color:#fff;transition:transform .5s var(--ease-out) .25s}
.js .why8__card[data-rv] .why8__num{transform:rotate(-30deg) scale(.4)}
.js .why8__card.is-in .why8__num{transform:rotate(-5deg) scale(1)}
.why8__card:hover .why8__num{transform:rotate(4deg) scale(1.06)}
.why8__code{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:700 11.5px/1 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.why8__code b{padding:4px 7px;border-radius:5px;background:rgba(201,169,98,.12);color:var(--gold-2);letter-spacing:.06em}
.why8__body h3{font-size:clamp(18px,1.5vw,21px);line-height:1.25}
.why8__body p:last-child{margin-top:8px;color:var(--soft);font-size:15.5px;line-height:1.7}
.why8__end{margin-top:28px;text-align:center;color:var(--soft)}
@media (max-width:860px){.why8__head{grid-template-columns:minmax(0,1fr)}.why8__panda{display:none}.why8__grid{grid-template-columns:minmax(0,1fr)}.why8__card{padding:20px 18px;gap:14px}.why8__num{width:42px;height:42px;font-size:18px}}

/* Rapport : bouton PDF à côté de « Relancer » */
.aus__pdf{margin-left:8px;text-decoration:none}
.aus__pdf svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Logo image (panda + CodeOuPas) dans l'en-tête */
.brand--img{display:block;line-height:0}
.brand--img img{display:block;height:58px;width:auto;transition:transform .5s var(--ease-out)}
.brand--img:hover img{transform:rotate(-2deg) scale(1.03)}
@media (max-width:900px){.brand--img img{height:46px}}
@media (max-width:420px){.brand--img img{height:40px}}

/* Bouton menu mobile : tampon hanko vermillon, barres décalées, croix animée */
.burger{position:relative;width:52px;height:52px;border:0;border-radius:16px;color:#FFF6EC;
  background:radial-gradient(120% 90% at 30% 15%,#F2604F 0%,#E2463A 45%,#B8302A 100%);
  box-shadow:3px 4px 0 #5C1A14,inset 0 1px 0 rgba(255,255,255,.28),inset 0 -2px 0 rgba(0,0,0,.18);
  transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),background .3s;-webkit-tap-highlight-color:transparent}
.burger::after{content:"";position:absolute;inset:4px;border:1px dashed rgba(255,246,236,.35);border-radius:12px;pointer-events:none}
.burger:active{transform:translate(2px,3px);box-shadow:1px 1px 0 #5C1A14,inset 0 1px 0 rgba(255,255,255,.2)}
.burger span{width:20px;height:3px;border-radius:3px;background:linear-gradient(currentColor,currentColor) 0 0/12px 100% no-repeat;transition:background-size .3s var(--ease)}
.burger span::before,.burger span::after{height:3px;border-radius:3px;transition:transform .4s cubic-bezier(.5,1.6,.4,1),width .3s var(--ease)}
.burger span::before{top:-7px;width:20px}
.burger span::after{top:7px;width:15px}
.burger:hover span{background-size:20px 100%}
.burger:hover span::after{width:20px}
.burger[aria-expanded=true]{background:#141217;color:#F2604F;box-shadow:3px 4px 0 #E2463A,inset 0 0 0 1.5px #E2463A}
.burger[aria-expanded=true]::after{border-color:rgba(226,70,58,.35)}
.burger[aria-expanded=true] span{background-size:0 100%}
.burger[aria-expanded=true] span::before{width:22px;transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] span::after{width:22px;transform:translateY(-7px) rotate(-45deg)}
@media (prefers-reduced-motion:reduce){.burger,.burger span,.burger span::before,.burger span::after{transition:none}}

/* Mobile : pas de doublon « Écrire un avis » dans le menu (déjà dans la barre du bas), menu défilable au-dessus de la barre,
   loupe centrale au style « tampon » du bouton menu */
@media (max-width:760px){
  .nav .nav__cta{display:none}
  .nav{max-height:calc(100dvh - 84px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:110px}
  .mnav__main{position:relative;width:58px;height:58px;margin-top:-30px;border-radius:18px;color:#FFF6EC!important;
    background:radial-gradient(120% 90% at 30% 15%,#F2604F 0%,#E2463A 45%,#B8302A 100%);
    box-shadow:0 0 0 5px var(--ink),4px 6px 0 5px #5C1A14,inset 0 1px 0 rgba(255,255,255,.28);
    transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out);-webkit-tap-highlight-color:transparent}
  .mnav__main::after{content:"";position:absolute;inset:5px;border:1px dashed rgba(255,246,236,.4);border-radius:13px;pointer-events:none}
  .mnav__main:active{transform:translate(2px,3px);box-shadow:0 0 0 5px var(--ink),1px 2px 0 5px #5C1A14}
  .mnav__main svg{width:26px;height:26px;stroke-width:2.4}
}

/* Analyse du panda : boutons d'action (PDF en tampon vermillon, relance en discret) */
.aus__acts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
.aus__acts .aus__redo{margin:0;grid-column:auto}
.aus__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:14px;font:700 13.5px/1 var(--f-sans);text-decoration:none;white-space:nowrap}
.aus__btn svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.aus__btn--pdf{position:relative;color:#FFF6EC;border:0;background:radial-gradient(120% 90% at 30% 15%,#F2604F 0%,#E2463A 45%,#B8302A 100%);
  box-shadow:3px 4px 0 #5C1A14,inset 0 1px 0 rgba(255,255,255,.28);transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),filter .2s}
.aus__btn--pdf::after{content:"";position:absolute;inset:4px;border:1px dashed rgba(255,246,236,.35);border-radius:10px;pointer-events:none}
.aus__btn--pdf:hover{color:#fff;filter:brightness(1.06)}
.aus__btn--pdf:hover svg{animation:pdfDrop .7s ease-in-out}
.aus__btn--pdf:active{transform:translate(2px,3px);box-shadow:1px 1px 0 #5C1A14}
@keyframes pdfDrop{40%{transform:translateY(3px)}}
.aus__acts .aus__redo{min-height:44px;padding:0 16px;border-radius:14px;font-size:13px}
@media (max-width:640px){
  .aus__head{grid-template-areas:"panda score" "eye eye" "title title" "verdict verdict" "acts acts"}
  .aus__head>.aus__score{grid-area:score;align-self:center;justify-self:end}
  .aus__acts{grid-area:acts;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;margin-top:14px}
  .aus__btn{width:100%;min-height:48px;padding:0 14px;font-size:14px}
  .aus__acts .aus__redo{justify-self:stretch}
}

/* ==========================================================================
   Tous les boutons au style « tampon » (comme le bouton menu) : vermillon bombé,
   liseré pointillé intérieur, ombre décalée qui s'écrase au clic. Variante sombre pour les secondaires.
   ========================================================================== */
.btn,.aus__acts .aus__redo{position:relative;border:0;border-radius:16px;color:#FFF6EC;
  background:radial-gradient(120% 90% at 30% 15%,#F2604F 0%,#E2463A 45%,#B8302A 100%);
  box-shadow:3px 4px 0 #5C1A14,inset 0 1px 0 rgba(255,255,255,.28),inset 0 -2px 0 rgba(0,0,0,.16);
  transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),filter .2s,background .25s,color .2s;-webkit-tap-highlight-color:transparent}
.btn::before{display:block;content:"";position:absolute;inset:4px;width:auto;height:auto;border:1px dashed rgba(255,246,236,.38);border-radius:12px;background:none;box-shadow:none;transform:none;pointer-events:none}
.btn:hover{color:#fff;background:radial-gradient(120% 90% at 30% 15%,#F66E5D 0%,#E84B3E 45%,#BE332C 100%);transform:translate(-1px,-2px);box-shadow:4px 6px 0 #5C1A14,inset 0 1px 0 rgba(255,255,255,.3),inset 0 -2px 0 rgba(0,0,0,.16)}
.btn:hover::before{transform:none;border-color:rgba(255,246,236,.5)}
.btn:active{transform:translate(2px,3px);box-shadow:1px 1px 0 #5C1A14,inset 0 1px 0 rgba(255,255,255,.2)}
.btn--ghost,.btn--dark,.aus__acts .aus__redo{color:var(--paper);background:#141217;
  box-shadow:3px 4px 0 rgba(226,70,58,.55),inset 0 0 0 1.5px rgba(240,235,225,.2)}
.btn--ghost::before,.btn--dark::before{display:block;width:auto;height:auto;border:1px dashed rgba(240,235,225,.2);border-radius:12px;background:none}
.btn--ghost:hover,.btn--dark:hover,.aus__acts .aus__redo:hover:not(:disabled){color:#fff;background:#1B181F;box-shadow:4px 6px 0 #E2463A,inset 0 0 0 1.5px #E2463A}
.btn--ghost:hover::before,.btn--dark:hover::before{border-color:rgba(226,70,58,.45);background:none}
.btn--ghost:active,.btn--dark:active,.aus__acts .aus__redo:active:not(:disabled){transform:translate(2px,3px);box-shadow:1px 1px 0 #E2463A,inset 0 0 0 1.5px #E2463A}
.aus__acts .aus__redo:hover:not(:disabled) svg{transform:rotate(-180deg)}
.site-brand .btn:not(.btn--ghost),.ag--brand .btn:not(.btn--ghost){background:var(--brand,var(--red))}
@media (prefers-reduced-motion:reduce){.btn,.btn:hover,.btn:active{transition:none;transform:none}}

/* Parade : pivots des animations exprimés dans le repère du dessin (view-box) au lieu de « fill-box »,
   que Safari (iPhone) calcule mal sur les pandas retournés : queues et pattes qui se détachaient */
.rp__tail{transform-box:view-box;transform-origin:22px 68px}
.rp--laptop .rp__tail{transform-origin:20px 74px}
.rp__leg{transform-box:view-box}
.rp__leg--a{transform-origin:32.5px 80px}.rp__leg--b{transform-origin:48.5px 80px}
.rp__placard{transform-box:view-box;transform-origin:63px 22px}
.rp__umbrella{transform-box:view-box;transform-origin:64px 14px}
.rp--flip .rp__placard text{transform-box:view-box;transform-origin:63px 11px}
/* Mobile : trois files plus basses qui tiennent dans la route (plus de panda coupé) */
@media (max-width:760px){
  .parade__lane:nth-of-type(1){top:4px!important;height:44px!important}
  .parade__lane:nth-of-type(2){top:52px!important;height:54px!important}
  .parade__lane:nth-of-type(3){top:104px!important;height:62px!important}
  .parade__lane:nth-of-type(1) .rp{height:44px!important}
  .parade__lane:nth-of-type(2) .rp{height:54px!important}
  .parade__lane:nth-of-type(3) .rp{height:62px!important}
}
