/* Polices auto-hébergées — plus de requête vers Google (perf + RGPD) */
@font-face{font-family:'Graduate';src:url('fonts/graduate-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('fonts/poppins-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('fonts/poppins-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('fonts/poppins-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('fonts/poppins-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Caveat';src:url('fonts/caveat-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}

/* =====================================================================
   SILKA DIGITAL AGENCY — silka.css (v3)
   Noir · Or · Ivoire — Graduate (titres) · Poppins (texte) · Caveat (signature)
   ===================================================================== */

:root{
  --noir:#0D0C0A; --noir-2:#13120E; --noir-3:#1B1914;
  --or:#C9A24B; --or-clair:#E3C778; --or-sombre:#8F7226;
  --ivoire:#F7F4EE; --blanc:#FFFFFF; --gris-clair:#EFEBE2; --gris:#5C5A54; --gris-2:#8A877E;
  --line:rgba(13,12,10,.10); --line-gold:rgba(201,162,75,.35); --line-ivoire:rgba(247,244,238,.14);
  --shadow-soft:0 20px 60px rgba(13,12,10,.10);
  --shadow-deep:0 40px 90px rgba(0,0,0,.45);
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --header-h:78px;
  --wrap:1200px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);-webkit-text-size-adjust:100%}
body{background:var(--ivoire);color:var(--noir);font-family:'Poppins',system-ui,sans-serif;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
ul{list-style:none}
::selection{background:var(--or);color:var(--noir)}
:focus-visible{outline:2px solid var(--or);outline-offset:3px}

h1,h2{font-family:'Graduate',Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:.015em}
h3,h4,h5{font-weight:600;line-height:1.25;font-family:'Graduate',Georgia,serif}
.foot-h{font-weight:600;line-height:1.25;font-family:'Graduate',Georgia,serif}
h1{font-size:clamp(2.3rem,5.4vw,4.2rem)}
h2{font-size:clamp(1.8rem,3.6vw,2.9rem)}
h3{font-size:1.15rem}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--or-sombre)}
.dark .eyebrow,.band-dark .eyebrow,.hero .eyebrow{color:var(--or)}
.kicker{font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--or-sombre)}
.lede{font-size:1.06rem;color:var(--gris);max-width:58ch}
.dark .lede,.band-dark .lede{color:rgba(247,244,238,.72)}
.head{max-width:720px;margin-bottom:clamp(36px,5vw,60px)}
.head h2{margin:14px 0 16px}
.head p{color:var(--gris);max-width:60ch}
.dark .head p{color:rgba(247,244,238,.7)}
.head.center{margin-left:auto;margin-right:auto;text-align:center}
.head.center p{margin-left:auto;margin-right:auto}
em.gold{font-style:normal;color:var(--or)}
.tagline-script{font-family:'Caveat',cursive;font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--or);display:inline-block;line-height:1}

.gold-rule{height:1px;background:linear-gradient(90deg,transparent,var(--or) 20%,var(--or) 80%,transparent)}

/* --------------------------------------------------------------- Grain */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9990;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px}


/* --------------------------------------------------------------- Boutons */
.btn{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:14px 28px;
  font-size:.84rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  border:1px solid transparent;cursor:pointer;position:relative;overflow:hidden;
  transition:background .375s var(--ease),color .375s var(--ease),border-color .375s var(--ease),box-shadow .375s var(--ease)}
.btn .arrow{display:inline-block;transition:transform .438s var(--ease)}
.btn:hover .arrow,.btn:focus-visible .arrow{transform:translateX(6px)}
.btn::after{content:"";position:absolute;top:0;left:-90%;width:55%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .75s ease;pointer-events:none}
.btn:hover::after{left:135%}
.btn-gold{background:var(--or);color:var(--noir);border-color:var(--or);box-shadow:0 10px 30px rgba(201,162,75,.18)}
.btn-gold:hover,.btn-gold:focus-visible{background:var(--or-clair);border-color:var(--or-clair);box-shadow:0 14px 40px rgba(201,162,75,.32)}
.btn-outline{background:transparent;color:var(--ivoire);border-color:rgba(247,244,238,.35)}
.btn-outline:hover,.btn-outline:focus-visible{border-color:var(--or);color:var(--or-clair)}
.btn-dark{background:var(--noir);color:var(--ivoire);border-color:var(--noir)}
.btn-dark:hover,.btn-dark:focus-visible{background:var(--or);border-color:var(--or);color:var(--noir)}
.btn-ghost{background:transparent;color:var(--noir);border-color:var(--line)}
.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--noir);background:var(--noir);color:var(--ivoire)}

/* --------------------------------------------------------------- Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--header-h);display:flex;align-items:center;
  color:var(--ivoire);background:var(--noir);border-bottom:1px solid var(--line-gold);
  transition:background .5s ease,border-color .5s ease,box-shadow .5s ease}
.site-header.scrolled{background:var(--noir);
  border-bottom-color:var(--line-gold);box-shadow:0 10px 40px rgba(0,0,0,.28)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ivoire)}
.brand svg{width:40px;height:40px;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1}
.b-name{font-family:'Graduate',serif;font-size:1.25rem;letter-spacing:.14em;color:var(--or)}
.b-sub{font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ivoire);margin-top:3px}
.nav-links{display:flex;align-items:center;gap:6px;font-size:.86rem;font-weight:500}
.nav-links>li{position:relative}
.nav-links a{display:block;padding:10px 12px;text-decoration:none;color:var(--ivoire);position:relative;transition:color .312s}
.nav-links a::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:1px;background:var(--or);transform:scaleX(0);transform-origin:left;transition:transform .375s var(--ease)}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--or-clair)}
.nav-links a:hover::after,.nav-links a:focus-visible::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-links a.active{color:var(--or)}
.nav-cta{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--or);color:var(--noir);padding:12px 20px;text-decoration:none;border:1px solid var(--or);white-space:nowrap;transition:background .375s,color .375s}
.nav-cta:hover,.nav-cta:focus-visible{background:transparent;color:var(--or-clair)}
.mobile-only{display:none}
.has-sub .sub-trigger{display:flex;align-items:center;gap:6px}
.has-sub .chev{width:10px;height:10px;flex:none;transition:transform .375s var(--ease)}
.sub-menu a::after{display:none}
.sub-menu a{font-size:.84rem}
.sub-menu .sub-all a{color:var(--or);font-weight:600}
@media (min-width:961px){
  .has-sub .sub-menu{position:absolute;top:100%;left:0;min-width:300px;background:rgba(13,12,10,.96);backdrop-filter:blur(14px);
    border:1px solid var(--line-gold);border-top:2px solid var(--or);padding:8px 0;z-index:230;
    opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s}
  .has-sub:hover .sub-menu,.has-sub:focus-within .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
  .has-sub:hover .chev,.has-sub:focus-within .chev{transform:rotate(180deg)}
  .sub-menu a{padding:11px 22px;white-space:nowrap}
  .sub-menu a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--or);transform:scaleY(0);transition:transform .312s var(--ease)}
  .sub-menu a:hover,.sub-menu a:focus-visible{background:rgba(201,162,75,.08)}
  .sub-menu a:hover::before,.sub-menu a:focus-visible::before{transform:scaleY(1)}
  .sub-menu .sub-all{border-top:1px solid var(--line-gold);margin-top:6px;padding-top:6px}
}
.burger{display:none;width:46px;height:44px;padding:0;position:relative;background:none;border:1px solid var(--line-gold);cursor:pointer}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--or);
  transition:top .375s var(--ease),transform .375s var(--ease),opacity .25s ease}
.burger span:nth-child(1){top:14px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:28px}
.burger.open span:nth-child(1){top:21px;transform:rotate(45deg)}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.open span:nth-child(3){top:21px;transform:rotate(-45deg)}
@media (max-width:960px){
  .burger{display:block}
  .site-header{background:var(--noir);border-bottom-color:var(--line-gold)}
  .nav-links{position:fixed;top:var(--header-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--noir);border-bottom:1px solid var(--line-gold);padding:10px clamp(20px,4vw,40px) 22px;
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .375s var(--ease),transform .375s var(--ease),visibility .375s;max-height:calc(100vh - var(--header-h));overflow:auto}
  .nav-links.open{opacity:1;visibility:visible;transform:none}
  .nav-links a{padding:14px 4px;border-bottom:1px solid var(--line-ivoire)}
  .nav-links a::after{display:none}
  .mobile-only{display:block}
  .mobile-only a{color:var(--or)!important}
  .nav-cta{display:none}
  .has-sub .sub-trigger{justify-content:space-between}
  .has-sub.open .chev{transform:rotate(180deg)}
  .has-sub .sub-menu{display:none;margin:0 0 8px 12px;border-left:2px solid var(--or)}
  .has-sub.open .sub-menu{display:block}
  .sub-menu a{padding:11px 14px;border-bottom:none}
}

/* --------------------------------------------------------------- Sections : rythme */
.sec{position:relative;padding:clamp(72px,9vw,128px) 0}
.sec-light{background:var(--ivoire)}
.sec-white{background:var(--blanc)}
.sec-grey{background:var(--gris-clair)}
.sec-dark,.dark{background:var(--noir-2);color:var(--ivoire)}
.sec-dark h2,.dark h2,.band-dark h2{color:#fff}
.sec-grad{background:linear-gradient(180deg,var(--blanc) 0%,var(--ivoire) 100%)}
.sec-dark::before,.band-dark::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 50% at 85% 10%,rgba(201,162,75,.14),transparent 60%),
             radial-gradient(ellipse 50% 40% at 10% 90%,rgba(201,162,75,.08),transparent 60%)}
.sec>.wrap,.band-dark>.wrap{position:relative;z-index:1}
.deco{position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.deco-ring{border:1px solid var(--line-gold)}
.deco-glow{background:radial-gradient(circle,rgba(201,162,75,.18),transparent 70%)}

/* --------------------------------------------------------------- HERO (accueil) */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:calc(var(--header-h) + 48px) 0 96px;
  background:radial-gradient(ellipse 90% 70% at 70% 30%,#1A1710 0%,var(--noir) 60%);color:var(--ivoire);overflow:hidden;
  --mx:50%;--my:40%}
.hero-glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle 520px at var(--mx) var(--my),rgba(201,162,75,.16),transparent 70%);transition:background .25s linear}
.hero-lines{position:absolute;inset:0;pointer-events:none;opacity:.35;
  background-image:linear-gradient(rgba(201,162,75,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(201,162,75,.07) 1px,transparent 1px);
  background-size:80px 80px;mask-image:radial-gradient(ellipse 70% 60% at 65% 45%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 65% 45%,#000 30%,transparent 80%)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,70px);align-items:center}
.hero-copy .tagline-script{margin-bottom:6px}
.hero-copy h1{color:#fff;margin-bottom:24px}
.hero-copy h1 .gold{color:var(--or)}
.hero-lede{color:rgba(247,244,238,.78);max-width:50ch;font-size:1.05rem}
.hero-services{display:flex;flex-wrap:wrap;gap:8px 18px;margin:22px 0 34px;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(247,244,238,.6)}
.hero-services li{display:flex;align-items:center;gap:8px}
.hero-services li::before{content:"";width:5px;height:5px;background:var(--or);border-radius:50%}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.hero-note{margin-top:20px;font-size:.84rem;color:rgba(247,244,238,.55)}

/* Scène 3D */
.hero-scene{position:relative;height:560px;perspective:1400px;transform-style:preserve-3d}
.layer{position:absolute;will-change:transform;transition:transform .75s var(--ease)}
.float-a{animation:floatA 11.25s ease-in-out infinite}
.float-b{animation:floatB 13.75s ease-in-out infinite}
.float-c{animation:floatC 16.25s ease-in-out infinite}
@keyframes floatA{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes floatB{0%,100%{translate:0 0}50%{translate:0 -14px}}
@keyframes floatC{0%,100%{translate:0 0}50%{translate:0 -8px}}
.layer-inner{transform-style:preserve-3d}

/* Mockup : ordinateur */
.mk-laptop{width:min(520px,100%);--u:6.6px}
.mk-laptop .screen{background:#0B0B0A;border:6px solid #23211B;border-bottom-width:12px;border-radius:12px 12px 4px 4px;overflow:hidden;
  box-shadow:var(--shadow-deep),0 0 0 1px rgba(201,162,75,.25),0 0 80px rgba(201,162,75,.12);aspect-ratio:16/10;position:relative}
.mk-laptop .base{height:14px;margin:0 -18px;background:linear-gradient(#2A2822,#161510);border-radius:0 0 14px 14px;position:relative}
.mk-laptop .base::after{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:110px;height:5px;background:#0D0C0A;border-radius:0 0 6px 6px}
/* Mockup : téléphone */
.mk-phone{width:170px;--u:5.8px}
.mk-phone .frame{background:#0B0B0A;border:5px solid #23211B;border-radius:28px;padding:10px 6px;aspect-ratio:9/19;position:relative;overflow:hidden;
  box-shadow:var(--shadow-deep),0 0 0 1px rgba(201,162,75,.3)}
.mk-phone .frame::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:44px;height:12px;background:#0B0B0A;border-radius:8px;z-index:2}
/* Mockup : fiche Google */
.mk-gbp{width:250px;--u:8px}
/* Mockup : résultat Google */
.mk-serp{width:300px;background:#fff;color:#1a1a1a;border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-deep),0 0 0 1px rgba(201,162,75,.25);font-size:.68rem}
.mk-serp .sbar{display:flex;align-items:center;gap:8px;background:#F1F3F4;border-radius:20px;padding:7px 12px;color:#333;margin-bottom:10px}
.mk-serp .sbar svg{width:12px;height:12px;flex:none}
.mk-serp .res .url{color:#4d5156;font-size:.6rem;display:flex;align-items:center;gap:6px}
.mk-serp .res .url i{width:12px;height:12px;border-radius:50%;background:var(--noir);display:inline-block;position:relative}
.mk-serp .res .url i::after{content:"";position:absolute;inset:3px;border-radius:50%;border:1.5px solid var(--or)}
.mk-serp .res .t{color:#1a0dab;font-size:.82rem;margin:3px 0 2px;font-weight:500}
.mk-serp .res .d{color:#4d5156;line-height:1.45}
.mk-serp .pos{position:absolute;top:-12px;right:14px;background:var(--or);color:var(--noir);font-weight:700;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:20px;box-shadow:0 6px 18px rgba(201,162,75,.4)}
.chip{display:inline-flex;align-items:center;gap:8px;background:rgba(13,12,10,.85);backdrop-filter:blur(6px);border:1px solid var(--line-gold);color:var(--ivoire);
  font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:9px 14px;border-radius:30px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--or);box-shadow:0 0 12px var(--or)}
.chip.up{color:var(--or-clair)}

/* Positions dans la scène */
.l-laptop{left:0;right:0;top:40px;display:flex;justify-content:center}
.l-phone{right:-6px;bottom:0}
.l-gbp{left:-20px;bottom:30px}
.l-serp{right:12px;top:-6px}
.l-chip1{left:24px;top:8px}
.l-chip2{left:200px;bottom:-14px}

/* ----------------------------------------------------- Écrans factices (réutilisés) */
.ws{font-size:var(--u,10px);position:absolute;inset:0;overflow:hidden;line-height:1.3}
/* Site moderne */
.ws-new{background:var(--ivoire);color:var(--noir);font-family:'Poppins',sans-serif}
.ws-new .n{display:flex;align-items:center;justify-content:space-between;padding:1.4em 2.6em;background:var(--noir);color:var(--ivoire)}
.ws-new .n b{font-family:'Graduate',serif;color:var(--or);letter-spacing:.14em;font-size:1.3em}
.ws-new .n u{display:flex;gap:1.6em;text-decoration:none;font-size:.85em;opacity:.8}
.ws-new .n u i{font-style:normal}
.ws-new .n s{text-decoration:none;background:var(--or);color:var(--noir);padding:.6em 1.2em;font-size:.72em;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.ws-new .h{display:grid;grid-template-columns:1.2fr 1fr;gap:2em;padding:3.2em 2.6em 2.4em;align-items:center}
.ws-new .h .k{font-size:.7em;letter-spacing:.22em;text-transform:uppercase;color:var(--or-sombre);font-weight:600}
.ws-new .h .t{font-family:'Graduate',serif;font-size:2.6em;line-height:1.05;margin:.35em 0 .5em}
.ws-new .h .t em{font-style:normal;color:var(--or)}
.ws-new .h .p{font-size:.9em;color:var(--gris);max-width:34ch}
.ws-new .h .b{display:inline-block;margin-top:1.4em;background:var(--noir);color:var(--ivoire);padding:.9em 1.6em;font-size:.72em;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.ws-new .h .img{aspect-ratio:4/3;background:linear-gradient(135deg,#2A2621,#0D0C0A);border:1px solid var(--line-gold);position:relative;overflow:hidden}
.ws-new .h .img::before{content:"";position:absolute;inset:auto 12% 14% 12%;height:38%;background:linear-gradient(90deg,transparent,rgba(201,162,75,.35),transparent);border-bottom:2px solid var(--or)}
.ws-new .h .img::after{content:"4,9 ★ · 127 avis";position:absolute;left:8%;top:8%;background:var(--or);color:var(--noir);font-size:.7em;font-weight:700;padding:.4em .8em}
.ws-new .c{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4em;padding:0 2.6em 2.6em}
.ws-new .c div{background:#fff;border:1px solid var(--line);border-top:3px solid var(--or);padding:1.4em 1.2em}
.ws-new .c b{display:block;font-size:.95em;margin-bottom:.4em}
.ws-new .c span{display:block;font-size:.72em;color:var(--gris);line-height:1.45}
/* Site vieillissant */
.ws-old{background:#FFFFE0;color:#000080;font-family:'Times New Roman',Times,serif}
.ws-old .top{background:linear-gradient(90deg,#ff0000,#ff9900,#33cc33,#0066ff,#9900cc);padding:1.6em 2em;text-align:center;color:#fff;font-weight:bold;font-size:2.2em;text-shadow:2px 2px 0 #000;letter-spacing:.02em}
.ws-old .bar{background:#c0c0c0;border-top:2px solid #fff;border-bottom:2px solid #666;padding:.5em 1.5em;font-size:.9em;color:#000}
.ws-old .bar span{margin-right:1.6em;color:#0000EE;text-decoration:underline}
.ws-old .body{display:grid;grid-template-columns:22% 1fr;gap:1.5em;padding:1.5em}
.ws-old .menu{background:#e6e6fa;border:2px inset #999;padding:.8em;font-size:.85em}
.ws-old .menu div{padding:.35em 0;color:#0000EE;text-decoration:underline}
.ws-old .menu div::before{content:"» "}
.ws-old .main .wel{font-size:2em;color:#ff0000;font-weight:bold;text-align:center;margin-bottom:.4em;font-style:italic}
.ws-old .main .tx{font-size:.95em;color:#000;line-height:1.35;text-align:justify}
.ws-old .main .promo{margin:1em 0;background:#ffff00;border:3px dashed #ff0000;padding:.8em;color:#ff0000;font-weight:bold;text-align:center;font-size:1.1em}
.ws-old .main .btn3d{display:inline-block;background:#d4d0c8;border:3px outset #fff;padding:.4em 1.2em;font-size:.9em;color:#000;margin-right:1em}
.ws-old .foot{border-top:2px solid #999;margin-top:1.2em;padding:.8em 1.5em;font-size:.72em;color:#555;display:flex;justify-content:space-between}
.ws-old .foot .cnt{background:#000;color:#0f0;font-family:monospace;padding:.2em .6em;letter-spacing:.12em}

/* Feed Instagram (téléphone) */
.ig{font-size:var(--u,6px);background:#fff;color:#111;position:absolute;inset:0;overflow:hidden;font-family:'Poppins',sans-serif}
.ig .ih{display:flex;align-items:center;gap:1.2em;padding:3.6em 1.8em 1.2em;border-bottom:1px solid #eee}
.ig .ih .av{width:5em;height:5em;border-radius:50%;background:var(--noir);border:.4em solid var(--or);display:grid;place-items:center;color:var(--or);font-family:'Graduate',serif;font-size:1.6em}
.ig .ih b{display:block;font-size:1.3em}
.ig .ih span{display:block;font-size:1em;color:#666}
.ig .st{display:flex;gap:1.6em;padding:1.2em 1.8em;font-size:1em}
.ig .st b{display:block;font-size:1.3em}
.ig .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.3em;padding:0 .3em}
.ig .grid div{aspect-ratio:1;background:var(--noir);position:relative;overflow:hidden}
.ig .grid div:nth-child(2n){background:linear-gradient(135deg,#2A2621,#0D0C0A)}
.ig .grid div:nth-child(3n){background:var(--ivoire)}
.ig .grid div::after{content:"";position:absolute;left:14%;right:14%;bottom:18%;height:.6em;background:var(--or)}
.ig .grid div:nth-child(3n)::after{background:var(--noir)}
.ig.old .ih .av{background:#ccc;border-color:#ccc;color:#888;font-family:sans-serif}
.ig.old .grid div{background:#e2e2e2}
.ig.old .grid div:nth-child(2n){background:#f7d6e0}.ig.old .grid div:nth-child(3n){background:#cfe8cf}.ig.old .grid div:nth-child(5n){background:#fff3b0}
.ig.old .grid div::after{background:#999;height:.3em;transform:rotate(-8deg)}
.ig.old .grid div:nth-child(7n){opacity:.35}

/* Fiche Google Business */
.gb{background:#fff;color:#1f1f1f;border-radius:12px;overflow:hidden;font-size:var(--u,8px);font-family:'Poppins',sans-serif;
  box-shadow:var(--shadow-deep),0 0 0 1px rgba(201,162,75,.25);position:relative}
.gb .ph{height:9em;background:linear-gradient(135deg,#2A2621,#0D0C0A);display:grid;grid-template-columns:2fr 1fr;gap:.3em;position:relative}
.gb .ph i{background:linear-gradient(160deg,#4a4030,#1a1712)}
.gb .ph i:nth-child(2){background:linear-gradient(160deg,#35301f,#1d1a12)}
.gb .ph i:nth-child(3){background:linear-gradient(160deg,#2f2a20,#141210)}
.gb .ph i:first-child{grid-row:span 2}
.gb .in{padding:1.2em 1.4em}
.gb .in b{display:block;font-size:1.35em;font-weight:600}
.gb .rate{display:flex;align-items:center;gap:.6em;font-size:.95em;margin:.4em 0}
.gb .stars{color:#F4B400;letter-spacing:.05em}
.gb .stars.dim{color:#c8c8c8}
.gb .meta{font-size:.85em;color:#5f6368}
.gb .meta .open{color:#188038;font-weight:600}
.gb .meta .closed{color:#c5221f;font-weight:600}
.gb .acts{display:flex;gap:.6em;padding:0 1.4em 1.3em}
.gb .acts span{flex:1;text-align:center;font-size:.72em;padding:.7em .4em;border:1px solid #dadce0;border-radius:2em;color:#1a73e8;font-weight:600}
.gb.old .ph{background:#e8e8e8;display:grid;place-items:center;color:#9a9a9a;font-size:.9em}
.gb.old .ph::after{content:"Aucune photo"}
.gb.old .ph i{display:none}
.gb.old .in b{color:#555}
.gb.old .acts span{color:#9a9a9a;border-style:dashed}
.gb.old .claim{margin:0 1.4em 1.2em;font-size:.8em;color:#1a73e8;text-decoration:underline}

/* Fiche qui se complète (hero) */
.gb .build{opacity:0;transform:translateY(6px);animation:gbIn .75s var(--ease) forwards}
.gb .build.d1{animation-delay:.625s}.gb .build.d2{animation-delay:1.25s}.gb .build.d3{animation-delay:1.875s}.gb .build.d4{animation-delay:2.5s}.gb .build.d5{animation-delay:3.125s}
@keyframes gbIn{to{opacity:1;transform:none}}

/* Construction progressive du site (laptop hero) */
.ws-new .b-in{opacity:0;transform:translateY(8px);animation:gbIn .875s var(--ease) forwards}
.ws-new .b-in.d1{animation-delay:.375s}.ws-new .b-in.d2{animation-delay:.875s}.ws-new .b-in.d3{animation-delay:1.375s}.ws-new .b-in.d4{animation-delay:1.875s}

/* --------------------------------------------------------------- Bandeau confiance */
.band-trust{background:var(--noir);color:var(--ivoire);border-top:1px solid var(--line-gold);border-bottom:1px solid var(--line-gold);overflow:hidden;padding:18px 0}
.marquee{display:flex;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;flex:none;gap:0;animation:marquee 57.5s linear infinite;will-change:transform}
/* Le bandeau défile en continu, y compris sous la souris (choix de Romain, V3D). */
.marquee-item{display:flex;align-items:center;gap:26px;padding:0 26px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;color:rgba(247,244,238,.8)}
.marquee-item::after{content:"";width:6px;height:6px;background:var(--or);transform:rotate(45deg)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* --------------------------------------------------------------- Loupe signature */
.loupe-sec .head{margin-bottom:36px}
.loupe-stage{position:relative;aspect-ratio:16/9;max-height:600px;overflow:hidden;cursor:none;user-select:none;
  box-shadow:var(--shadow-soft),0 0 0 1px var(--line);--lx:50%;--ly:50%;--lr:0px;--u:clamp(7px,1.05vw,13px)}
.loupe-stage .site-old,.loupe-stage .site-new{position:absolute;inset:0}
.loupe-stage .site-new{clip-path:circle(var(--lr) at var(--lx) var(--ly));transition:clip-path .1s linear;will-change:clip-path}
.loupe-stage.split .site-new{clip-path:inset(0 0 0 50%)}
.loupe-ring{position:absolute;left:var(--lx);top:var(--ly);width:calc(var(--lr)*2);height:calc(var(--lr)*2);transform:translate(-50%,-50%);border-radius:50%;
  border:4px solid var(--or);box-shadow:0 0 0 1px rgba(13,12,10,.4),0 30px 70px rgba(0,0,0,.35),inset 0 0 40px rgba(201,162,75,.15);pointer-events:none;
  transition:width .1s linear,height .1s linear}
.loupe-ring::after{content:"";position:absolute;right:-22%;bottom:-22%;width:34%;height:9px;background:var(--noir);border:1px solid var(--or);border-radius:6px;transform:rotate(45deg);transform-origin:left center}
.loupe-ring .tag{position:absolute;left:50%;bottom:-40px;transform:translateX(-50%);background:var(--noir);color:var(--or);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;padding:6px 12px;white-space:nowrap;border:1px solid var(--line-gold)}
.loupe-stage.split .loupe-ring{display:none}
.loupe-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:rgba(13,12,10,.85);color:var(--ivoire);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;padding:9px 16px;border:1px solid var(--line-gold);pointer-events:none;transition:opacity .625s;z-index:3}
.loupe-stage.touched .loupe-hint{opacity:0}
.loupe-labels{display:flex;justify-content:space-between;margin-top:14px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.loupe-labels b{color:var(--or-sombre)}
@media (max-width:700px){.loupe-stage{aspect-ratio:4/3;--u:clamp(5px,1.5vw,8px)}}

/* --------------------------------------------------------------- Services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc-card{position:relative;background:var(--ivoire);border:1px solid var(--line);padding:0;overflow:hidden;
  display:flex;flex-direction:column;text-decoration:none;color:inherit;transform-style:preserve-3d;
  transition:box-shadow .625s var(--ease),border-color .625s var(--ease);--mx:50%;--my:50%}
.svc-card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .625s;
  background:radial-gradient(360px circle at var(--mx) var(--my),rgba(201,162,75,.16),transparent 60%)}
.svc-card:hover{box-shadow:0 30px 70px rgba(13,12,10,.14);border-color:var(--line-gold)}
.svc-card:hover::before{opacity:1}
.svc-visual{position:relative;height:210px;background:var(--noir-2);overflow:hidden;border-bottom:1px solid var(--line);isolation:isolate}
.svc-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 20%,rgba(201,162,75,.16),transparent 60%);z-index:0}
.svc-body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.svc-body .kicker{margin-bottom:10px}
.svc-body h3{font-size:1.15rem;margin-bottom:10px;transition:color .375s}
.svc-card:hover .svc-body h3{color:var(--or-sombre)}
.svc-body p{font-size:.92rem;color:var(--gris);flex:1}
.svc-link{margin-top:18px;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--noir);display:inline-flex;gap:8px;align-items:center}
.svc-link .arrow{transition:transform .438s var(--ease)}
.svc-card:hover .svc-link .arrow{transform:translateX(6px)}
/* Allègement progressif de la grille : 6 cartes en desktop, 4 en tablette, 3 en mobile.
   Les cartes retirées restent accessibles via le bouton « Voir les six services ».
   Les seuils suivent le nombre de colonnes pour ne jamais laisser de rangée incomplète. */
.svc-more{display:none;margin-top:34px;text-align:center}
@media (max-width:1000px){
  .svc-grid{grid-template-columns:1fr 1fr}
  .svc-grid .svc-card:nth-of-type(n+5){display:none}
  .svc-more{display:block}
}
@media (max-width:640px){
  .svc-grid{grid-template-columns:1fr}
  .svc-grid .svc-card:nth-of-type(n+4){display:none}
}

/* Visuels des cartes — état de repos, animés par .in-view / :hover */
.vis{position:absolute;inset:0;padding:18px;z-index:1;font-family:'Poppins',sans-serif}
/* SEO : classement */
.v-seo .rows{position:absolute;left:18px;right:18px;top:16px;display:flex;flex-direction:column;gap:7px}
.v-seo .row{height:16px;border-radius:3px;background:rgba(247,244,238,.08);display:flex;align-items:center;padding:0 8px;gap:8px}
.v-seo .row i{width:14%;height:5px;background:rgba(247,244,238,.18);border-radius:2px}
.v-seo .row i+i{width:40%;background:rgba(247,244,238,.12)}
.v-seo .you{position:absolute;left:18px;right:18px;top:calc(16px + 7*23px);height:20px;border-radius:3px;background:var(--or);color:var(--noir);
  display:flex;align-items:center;justify-content:space-between;padding:0 10px;font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:0 8px 24px rgba(201,162,75,.4);transition:top 1.75s var(--ease)}
.v-seo .you .pos{background:var(--noir);color:var(--or);padding:2px 7px;border-radius:2px}
.v-seo .you .pos::after{content:"#8"}
.in-view .v-seo .you,.svc-card:hover .v-seo .you{top:calc(16px + 1*23px)}
.in-view .v-seo .you .pos::after,.svc-card:hover .v-seo .you .pos::after{content:"#2"}
/* Réseaux : posts qui apparaissent */
.v-social .posts{position:absolute;left:50%;top:22px;transform:translateX(-50%);width:120px;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.v-social .post{aspect-ratio:1;background:var(--ivoire);border-radius:4px;position:relative;opacity:0;transform:translateY(12px) scale(.9);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.v-social .post:nth-child(2){background:var(--or)}.v-social .post:nth-child(3){background:#2A2621}.v-social .post:nth-child(4){background:#fff}
.v-social .post::after{content:"";position:absolute;left:14%;right:14%;bottom:16%;height:4px;background:var(--noir);opacity:.6}
.v-social .post:nth-child(2)::after{background:var(--noir)}.v-social .post:nth-child(3)::after{background:var(--or)}
.in-view .v-social .post,.svc-card:hover .v-social .post{opacity:1;transform:none}
.v-social .post:nth-child(1){transition-delay:.125s}.v-social .post:nth-child(2){transition-delay:.438s}.v-social .post:nth-child(3){transition-delay:.75s}.v-social .post:nth-child(4){transition-delay:1.062s}
.v-social .likes{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);color:var(--or);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;opacity:0;transition:opacity .625s 1.375s}
.in-view .v-social .likes,.svc-card:hover .v-social .likes{opacity:1}
/* Sites : fenêtre qui se construit */
.v-site .win{position:absolute;left:30px;right:30px;top:24px;bottom:24px;background:var(--ivoire);border-radius:6px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.v-site .tb{height:16px;background:#E4E0D6;display:flex;align-items:center;gap:4px;padding:0 8px}
.v-site .tb i{width:6px;height:6px;border-radius:50%;background:#C9C4B8}
.v-site .el{opacity:0;transform:translateY(8px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.v-site .nv{height:12px;margin:8px 10px 0;background:var(--noir);width:0;transition:width 1s var(--ease) .125s}
.v-site .hd{height:34px;margin:8px 10px 0;background:linear-gradient(90deg,#fff 55%,var(--or) 55%);border:1px solid var(--line);transition-delay:.625s}
.v-site .cd{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 10px 0}
.v-site .cd i{height:26px;background:#fff;border:1px solid var(--line);border-top:2px solid var(--or)}
.v-site .cd{transition-delay:1.125s}
.v-site .bt{width:40px;height:10px;margin:8px 10px 0;background:var(--noir);transition-delay:1.5s}
.in-view .v-site .el,.svc-card:hover .v-site .el{opacity:1;transform:none}
.in-view .v-site .nv,.svc-card:hover .v-site .nv{width:calc(100% - 20px)}
/* Contenu : brut → design */
.v-content .raw{position:absolute;left:24px;top:30px;width:110px;height:130px;background:#fff;border:1px solid #ddd;padding:12px 10px;transition:opacity .875s var(--ease),transform .875s var(--ease)}
.v-content .raw i{display:block;height:4px;background:#bbb;margin-bottom:7px;border-radius:2px}
.v-content .raw i:nth-child(odd){width:85%}.v-content .raw i:nth-child(3){width:60%}
.v-content .designed{position:absolute;right:24px;top:30px;width:120px;height:150px;background:var(--noir);border:1px solid var(--line-gold);padding:10px;
  opacity:0;transform:translateX(-30px) scale(.94);transition:opacity 1s var(--ease) .5s,transform 1s var(--ease) .5s}
.v-content .designed .im{height:64px;background:linear-gradient(135deg,#3A3226,#151310);border-bottom:2px solid var(--or);margin-bottom:8px}
.v-content .designed .tg{display:inline-block;background:var(--or);color:var(--noir);font-size:.5rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;margin-bottom:6px}
.v-content .designed i{display:block;height:4px;background:rgba(247,244,238,.7);margin-bottom:6px;border-radius:2px}
.v-content .designed i:last-child{width:60%}
.v-content .arr{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--or);font-size:1.4rem;opacity:.4}
.in-view .v-content .designed,.svc-card:hover .v-content .designed{opacity:1;transform:none}
.in-view .v-content .raw,.svc-card:hover .v-content .raw{opacity:.35;transform:scale(.94)}
/* Stratégie : chaos → roadmap */
.v-strat .line{position:absolute;left:30px;right:30px;top:50%;height:1px;background:var(--line-gold);transform:scaleX(0);transform-origin:left;transition:transform 1.25s var(--ease) .375s}
.v-strat .node{position:absolute;width:76px;padding:6px 8px;background:var(--ivoire);color:var(--noir);font-size:.56rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:center;border-radius:3px;
  transition:transform 1.375s var(--ease),left 1.375s var(--ease),top 1.375s var(--ease)}
.v-strat .node::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:var(--or);margin-top:8px;opacity:0;transition:opacity .625s 1.125s}
.v-strat .n1{left:20px;top:40px;transform:rotate(-14deg)}
.v-strat .n2{left:150px;top:140px;transform:rotate(9deg)}
.v-strat .n3{left:250px;top:30px;transform:rotate(-6deg)}
.v-strat .n4{left:80px;top:150px;transform:rotate(16deg)}
.in-view .v-strat .line,.svc-card:hover .v-strat .line{transform:scaleX(1)}
.in-view .v-strat .node,.svc-card:hover .v-strat .node{transform:none;top:60px}
.in-view .v-strat .n1,.svc-card:hover .v-strat .n1{left:calc(8% )}
.in-view .v-strat .n2,.svc-card:hover .v-strat .n2{left:calc(30%)}
.in-view .v-strat .n3,.svc-card:hover .v-strat .n3{left:calc(52%)}
.in-view .v-strat .n4,.svc-card:hover .v-strat .n4{left:calc(74%)}
.in-view .v-strat .node::after,.svc-card:hover .v-strat .node::after{opacity:1}
/* Acquisition : entonnoir */
.v-acq .funnel{position:absolute;inset:22px 26px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.v-acq .stage{display:flex;align-items:center;gap:12px;color:var(--ivoire)}
.v-acq .stage .bar{height:22px;background:rgba(247,244,238,.1);border:1px solid rgba(247,244,238,.15);border-radius:3px;flex:none;transition:width 1.5s var(--ease)}
.v-acq .s1 .bar{width:0}.v-acq .s2 .bar{width:0}.v-acq .s3 .bar{width:0;background:var(--or);border-color:var(--or)}
.in-view .v-acq .s1 .bar,.svc-card:hover .v-acq .s1 .bar{width:70%}
.in-view .v-acq .s2 .bar,.svc-card:hover .v-acq .s2 .bar{width:38%}
.in-view .v-acq .s3 .bar,.svc-card:hover .v-acq .s3 .bar{width:16%}
.v-acq .stage b{font-size:.98rem;font-weight:600;min-width:34px;font-variant-numeric:tabular-nums}
.v-acq .stage span{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(247,244,238,.6)}
.v-acq .s3 b{color:var(--or)}

/* --------------------------------------------------------------- Avant / Après */
.compare{position:relative;aspect-ratio:16/9;max-height:620px;overflow:hidden;box-shadow:var(--shadow-soft),0 0 0 1px var(--line);--pos:50%;--u:clamp(6px,.85vw,10px);isolation:isolate;touch-action:pan-y}
.cmp-pane{position:absolute;inset:0;padding:5% 6%}
.cmp-after{background:radial-gradient(ellipse at 70% 20%,#1E1A12,var(--noir) 65%)}
.cmp-before{background:#d9d9d9;clip-path:inset(0 calc(100% - var(--pos)) 0 0);will-change:clip-path}
.cmp-scene{position:relative;width:100%;height:100%}
.cmp-site{position:absolute;left:0;top:0;width:66%;aspect-ratio:16/10;border-radius:6px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.35);background:#fff}
.cmp-phone{position:absolute;right:2%;bottom:0;width:22%;aspect-ratio:9/19;border-radius:14% / 7%;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.4);border:.5em solid #23211B;background:#0B0B0A}
.cmp-before .cmp-phone{border-color:#8a8a8a}
.cmp-gbp{position:absolute;left:44%;bottom:2%;width:32%}
.cmp-gbp .gb{font-size:calc(var(--u)*1.05)}
.cmp-before .cmp-scene{filter:saturate(.7)}
.cmp-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:var(--or);transform:translateX(-50%);pointer-events:none;box-shadow:0 0 0 1px rgba(13,12,10,.25),0 0 30px rgba(201,162,75,.6)}
.cmp-handle::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:var(--noir);border:2px solid var(--or);box-shadow:0 12px 30px rgba(0,0,0,.5)}
.cmp-handle::after{content:"◀  ▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--or);font-size:.6rem;letter-spacing:.1em;white-space:nowrap}
.cmp-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;z-index:5}
.cmp-label{position:absolute;top:18px;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:8px 14px;z-index:4;pointer-events:none}
.cmp-label.before{left:18px;background:rgba(255,255,255,.9);color:#555}
.cmp-label.after{right:18px;background:var(--or);color:var(--noir)}
.cmp-lists{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px}
.cmp-lists h3{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.cmp-lists h3::before{content:"";width:22px;height:1px;background:currentColor}
.cmp-lists .before h3{color:var(--gris-2)}
.cmp-lists .after h3{color:var(--or-sombre)}
.cmp-lists li{padding:9px 0;border-bottom:1px solid var(--line);font-size:.94rem;color:var(--gris)}
.cmp-lists .after li{color:var(--noir)}
.cmp-note{margin-top:22px;font-size:.8rem;color:var(--gris-2);display:flex;gap:10px;align-items:baseline}
.cmp-note::before{content:"—";color:var(--or)}
@media (max-width:700px){.compare{aspect-ratio:4/3;--u:clamp(4px,1.1vw,6px)}.cmp-lists{grid-template-columns:1fr}.cmp-gbp{display:none}.cmp-phone{width:26%}}

/* --------------------------------------------------------------- Réassurance */
.trust-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.trust-item{border:1px solid var(--line-ivoire);padding:26px 22px;background:rgba(247,244,238,.03);transition:border-color .5s,background .5s,transform .5s var(--ease)}
.trust-item:hover{border-color:var(--or);background:rgba(201,162,75,.06);transform:translateY(-4px)}
.trust-ico{width:38px;height:38px;color:var(--or);margin-bottom:16px}
.trust-item b{display:block;font-size:1.05rem;font-weight:600;margin-bottom:6px;color:#fff}
.trust-item span{font-size:.84rem;color:rgba(247,244,238,.6)}
@media (max-width:1000px){.trust-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.trust-grid{grid-template-columns:1fr 1fr}.trust-item:last-child{grid-column:span 2}}

/* --------------------------------------------------------------- Méthode */
.method-wrap{display:grid;grid-template-columns:minmax(260px,.8fr) 1.4fr;gap:clamp(40px,6vw,90px);align-items:start}
.method-side{position:sticky;top:calc(var(--header-h) + 30px)}
.method-steps{position:relative;padding-left:56px}
.method-line{position:absolute;left:18px;top:8px;bottom:8px;width:1px;background:var(--line)}
.method-fill{position:absolute;left:0;top:0;width:100%;height:0;background:var(--or);transition:height .125s linear;box-shadow:0 0 14px var(--or)}
.mstep{position:relative;padding:12px 0 clamp(48px,7vw,96px)}
.mstep:last-child{padding-bottom:12px}
.mstep-dot{position:absolute;left:-44px;top:20px;width:13px;height:13px;border-radius:50%;background:var(--ivoire);border:2px solid var(--line);transition:background .5s,border-color .5s,box-shadow .5s}
.mstep.active .mstep-dot{background:var(--or);border-color:var(--or);box-shadow:0 0 0 6px rgba(201,162,75,.18)}
.mstep-num{font-family:'Graduate',serif;font-size:clamp(5rem,10vw,9rem);line-height:1;color:var(--noir);opacity:.045;position:absolute;right:0;top:-10px;pointer-events:none;user-select:none}
.mstep .kicker{color:var(--or-sombre)}
.mstep h3{font-size:clamp(1.3rem,2.3vw,1.7rem);margin:10px 0 12px;font-family:'Graduate',serif;font-weight:400;letter-spacing:.02em}
.mstep p{color:var(--gris);max-width:52ch}
@media (max-width:900px){.method-wrap{grid-template-columns:1fr}.method-side{position:static}}

/* --------------------------------------------------------------- Diagnostic */
.diag{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:start}
.diag-panel{background:var(--noir-2);color:var(--ivoire);border:1px solid var(--line-gold);padding:clamp(26px,3.6vw,44px);position:relative;overflow:hidden;min-height:420px}
.diag-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 90% 0%,rgba(201,162,75,.16),transparent 55%);pointer-events:none}
.diag-panel>*{position:relative}
.diag-progress{display:flex;gap:6px;margin-bottom:26px}
.diag-progress i{flex:1;height:3px;background:rgba(247,244,238,.12);overflow:hidden;position:relative}
.diag-progress i::after{content:"";position:absolute;inset:0;background:var(--or);transform:scaleX(0);transform-origin:left;transition:transform .625s var(--ease)}
.diag-progress i.done::after{transform:scaleX(1)}
.diag-step{display:none;animation:fadeUp .625s var(--ease)}
.diag-step.on{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.diag-count{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:12px}
.diag-q{font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:600;line-height:1.35;margin-bottom:22px;color:#fff}
.diag-opts{display:flex;flex-wrap:wrap;gap:10px}
.diag-opt{min-height:48px;padding:12px 22px;background:transparent;border:1px solid rgba(247,244,238,.25);color:var(--ivoire);cursor:pointer;font-size:.9rem;
  transition:border-color .312s,background .312s,color .312s,transform .312s var(--ease)}
.diag-opt:hover,.diag-opt:focus-visible{border-color:var(--or);color:var(--or-clair);transform:translateY(-2px)}
.diag-back{margin-top:22px;background:none;border:0;color:rgba(247,244,238,.55);font-size:.8rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.diag-result{display:none}
.diag-result.on{display:block;animation:fadeUp .75s var(--ease)}
.gauge{display:flex;align-items:center;gap:26px;margin:6px 0 22px}
.gauge svg{width:132px;height:132px;flex:none;transform:rotate(-90deg)}
.gauge .track{fill:none;stroke:rgba(247,244,238,.1);stroke-width:8}
.gauge .val{fill:none;stroke:var(--or);stroke-width:8;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s var(--ease)}
.gauge .num{font-family:'Graduate',serif;font-size:2.8rem;line-height:1;color:#fff}
.gauge .num small{font-size:1rem;color:rgba(247,244,238,.5);font-family:'Poppins',sans-serif}
.gauge .lab{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or);margin-top:6px;display:block}
.diag-verdict{font-size:1.05rem;color:#fff;margin-bottom:14px}
.diag-levers{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.diag-levers li{font-size:.9rem;color:rgba(247,244,238,.8);padding:10px 14px;border:1px solid var(--line-ivoire);display:flex;gap:10px;align-items:center}
.diag-levers li::before{content:"";width:6px;height:6px;background:var(--or);transform:rotate(45deg);flex:none}
.diag-side h2{margin:14px 0 18px}
.diag-side p{color:var(--gris);max-width:52ch}
.diag-side .why{margin-top:26px;display:flex;flex-direction:column;gap:12px}
.diag-side .why li{display:flex;gap:12px;align-items:baseline;color:var(--noir);font-size:.94rem}
.diag-side .why li::before{content:"—";color:var(--or)}
/* Formulaire */
.audit-form{display:none;margin-top:8px}
.audit-form.on{display:block;animation:fadeUp .625s var(--ease)}
.audit-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{margin-bottom:14px}
.field label{display:block;font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(247,244,238,.6);margin-bottom:6px}
.field input{width:100%;min-height:48px;background:rgba(247,244,238,.05);border:1px solid rgba(247,244,238,.2);color:#fff;padding:12px 14px;font-size:.95rem;transition:border-color .312s,background .312s}
.field input:focus{outline:none;border-color:var(--or);background:rgba(247,244,238,.08)}
.audit-form .reassure{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0 18px;font-size:.78rem;color:rgba(247,244,238,.6)}
.audit-form .reassure span::before{content:"✓ ";color:var(--or)}
.audit-form .legal{font-size:.72rem;color:rgba(247,244,238,.45);margin-top:12px;line-height:1.5}
.audit-form .legal a{color:rgba(247,244,238,.7)}
.audit-success{display:none;padding:10px 0}
.audit-success.on{display:block;animation:fadeUp .75s var(--ease)}
.audit-success .check{width:56px;height:56px;border:2px solid var(--or);border-radius:50%;display:grid;place-items:center;color:var(--or);font-size:1.5rem;margin-bottom:18px}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
@media (max-width:900px){.diag{grid-template-columns:1fr}.audit-form .row{grid-template-columns:1fr}}

/* --------------------------------------------------------------- CTA final */
.cta-final{position:relative;background:var(--noir);color:var(--ivoire);padding:clamp(90px,12vw,160px) 0;overflow:hidden;text-align:center}
.cta-final::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 100%,rgba(201,162,75,.22),transparent 70%);pointer-events:none}
.cta-final .wrap{position:relative;z-index:1;max-width:980px}
.cta-final h2{color:#fff;font-size:clamp(1.9rem,4.4vw,3.6rem);margin:16px auto 34px}
.cta-final h2 .gold{color:var(--or)}
.cta-final .sub{color:rgba(247,244,238,.6);margin-top:20px;font-size:.9rem}

/* --------------------------------------------------------------- Footer */
footer.site{background:var(--noir);color:var(--ivoire);border-top:1px solid var(--line-gold);position:relative;overflow:hidden}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(30px,5vw,64px);padding:clamp(56px,7vw,88px) 0 48px;position:relative;z-index:1}
.foot-brand .brand{margin-bottom:18px}
.foot-brand .tagline-script{font-size:1.5rem;margin-bottom:12px}
.foot-brand p{font-size:.9rem;color:rgba(247,244,238,.6);max-width:36ch}
.foot-avail{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--or-clair);border:1px solid var(--line-gold);padding:9px 14px}
.foot-avail .dot{width:8px;height:8px;border-radius:50%;background:#3DD68C;box-shadow:0 0 0 0 rgba(61,214,140,.6);animation:pulse 2.75s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,214,140,.6)}70%{box-shadow:0 0 0 9px rgba(61,214,140,0)}100%{box-shadow:0 0 0 0 rgba(61,214,140,0)}}
.foot-col h5,.foot-col .foot-h{font-size:.7rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--or);margin-bottom:16px}
.foot-col a{display:block;color:rgba(247,244,238,.72);text-decoration:none;padding:6px 0;font-size:.92rem;transition:color .312s,transform .312s var(--ease)}
.foot-col a:hover,.foot-col a:focus-visible{color:var(--or);transform:translateX(4px)}
.foot-nap{font-size:.9rem;line-height:1.9;color:rgba(247,244,238,.72)}
.foot-nap a{color:inherit;text-decoration:none}
.foot-nap a:hover{color:var(--or)}
.foot-loc{margin-top:12px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
.foot-bottom{position:relative;z-index:1;border-top:1px solid var(--line-ivoire);padding:22px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:.78rem;color:rgba(247,244,238,.5)}
.foot-bottom a{color:inherit;text-decoration:none}
.foot-bottom a:hover{color:var(--or)}
.foot-legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.foot-mark{position:absolute;left:50%;bottom:-.3em;transform:translateX(-50%);font-family:'Graduate',serif;font-size:clamp(7rem,22vw,20rem);letter-spacing:.1em;color:var(--ivoire);opacity:.035;line-height:1;pointer-events:none;user-select:none;white-space:nowrap}
@media (max-width:960px){.foot-top{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:560px){.foot-top{grid-template-columns:1fr}}

/* --------------------------------------------------------------- Pages internes */
.page-hero{position:relative;background:radial-gradient(ellipse 80% 70% at 75% 20%,#1A1710 0%,var(--noir) 60%);color:var(--ivoire);
  padding:calc(var(--header-h) + clamp(60px,9vw,120px)) 0 0;overflow:hidden}
.page-hero>.wrap{position:relative;z-index:1;padding-bottom:clamp(48px,6vw,80px)}
.page-hero h1{color:#fff;margin:14px 0 20px}
.page-hero .gold-rule{position:relative;z-index:1;margin-top:0!important}
.page-hero .deco-ring{width:520px;height:520px;right:-160px;top:-120px}
.page-hero .deco-glow{width:600px;height:600px;right:-100px;top:-200px}
.pad{position:relative;padding:clamp(64px,8vw,110px) 0}
.pad.band-dark{background:var(--noir-2);color:var(--ivoire)}
.band-dark{position:relative;overflow:hidden}
.band-dark .kicker,.band-dark .eyebrow{color:var(--or)}

/* Services (page) */
.svc{display:grid;grid-template-columns:.9fr 1.3fr 1fr;gap:clamp(22px,3.5vw,48px);padding:clamp(34px,4.5vw,60px) 0;border-top:1px solid var(--line);align-items:start;position:relative}
.svc:last-child{border-bottom:1px solid var(--line)}
.svc h2,.svc h3{font-family:'Graduate',serif;font-weight:400;font-size:clamp(1.3rem,2.2vw,1.7rem);letter-spacing:.02em;margin-top:10px}
.svc>div:nth-child(2)>p:first-child{font-weight:600;color:var(--noir)!important;font-size:1.02rem;margin-bottom:10px}
.svc p{color:var(--gris)}
.svc ul{margin-top:14px}
.svc li{padding:8px 0 8px 22px;position:relative;font-size:.92rem;color:var(--noir);border-top:1px solid var(--line)}
.svc li::before{content:"";position:absolute;left:0;top:15px;width:8px;height:8px;background:var(--or);transform:rotate(45deg)}
.svc-mini{position:relative;height:230px;background:var(--noir-2);border:1px solid var(--line);overflow:hidden;isolation:isolate}
.svc-mini::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 20%,rgba(201,162,75,.16),transparent 60%)}
.svc-mini .vis{padding:18px}
@media (max-width:900px){.svc{grid-template-columns:1fr}.svc-mini{max-width:420px}}

/* À propos */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.about-block{background:var(--blanc);border:1px solid var(--line);border-top:3px solid var(--or);padding:clamp(24px,3vw,36px);transform-style:preserve-3d;transition:box-shadow .625s var(--ease),border-color .625s}
.about-block:hover{box-shadow:0 30px 70px rgba(13,12,10,.12)}
.about-block h3{font-family:'Graduate',serif;font-weight:400;font-size:1.35rem;letter-spacing:.02em;margin-bottom:14px}
.about-block p{color:var(--gris);font-size:.95rem}
.about-block p+p{margin-top:10px}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.value{border:1px solid var(--line-ivoire);padding:28px 24px;transition:border-color .5s,transform .5s var(--ease),background .5s}
.value:hover{border-color:var(--or);transform:translateY(-4px);background:rgba(201,162,75,.05)}
.value h4{color:var(--or);font-size:1rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.value p{color:rgba(247,244,238,.72);font-size:.92rem}
@media (max-width:800px){.about-grid,.values{grid-template-columns:1fr}}

/* FAQ */
.faq-list{max-width:860px}
details.faq{background:var(--blanc);border:1px solid var(--line);margin-bottom:10px;transition:border-color .375s}
details.faq[open]{border-color:var(--line-gold)}
details.faq summary{list-style:none;cursor:pointer;padding:20px 60px 20px 24px;font-weight:600;position:relative;font-size:1rem}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:1px solid var(--line-gold);display:grid;place-items:center;color:var(--or-sombre);font-size:1.2rem;transition:transform .375s var(--ease),background .375s,color .375s}
details.faq[open] summary::after{transform:translateY(-50%) rotate(45deg);background:var(--or);color:var(--noir)}
details.faq .a{padding:0 24px 22px;color:var(--gris);font-size:.95rem;overflow:hidden}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:start}
.contact-grid h2{font-size:clamp(1.5rem,2.6vw,2rem)!important}
.door{background:var(--noir-2);color:var(--ivoire);border:1px solid var(--line-gold);padding:clamp(26px,3.4vw,38px);position:relative;overflow:hidden}
.door::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 90% 0%,rgba(201,162,75,.16),transparent 55%);pointer-events:none}
.door>*{position:relative}
.door .eyebrow{margin-bottom:14px}
.door a.mail{display:block;font-size:1rem;font-weight:500;padding:14px 0;border-top:1px solid rgba(201,162,75,.25);text-decoration:none;color:#fff;transition:color .312s,padding-left .375s var(--ease)}
.door a.mail:hover,.door a.mail:focus-visible{color:var(--or-clair);padding-left:6px}
.door .note{font-size:.82rem;margin-top:16px;color:rgba(247,244,238,.55)}
.door .socials{display:flex;gap:10px;align-items:center;padding:16px 0 4px;border-top:1px solid rgba(201,162,75,.25)}
.door .socials img{height:42px;width:auto}
.door .socials .soc-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,244,238,.55);margin-right:auto}
.map-block{display:grid;grid-template-columns:.9fr 1.4fr;gap:28px;align-items:stretch}
.map-info{background:var(--noir-2);color:var(--ivoire);border:1px solid var(--line-gold);padding:30px 28px;display:flex;flex-direction:column;gap:12px}
.map-info h3{font-size:1.05rem;color:var(--or)}
.map-info p{color:rgba(247,244,238,.8);font-size:.95rem}
.map-info .hours{font-size:.86rem;color:rgba(247,244,238,.62);line-height:1.8}
.map-info .btn-gold{margin-top:auto;align-self:flex-start}
.map-frame{position:relative;min-height:380px;border:1px solid var(--line-gold);background:var(--noir);overflow:hidden;
  background-image:linear-gradient(rgba(201,162,75,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(201,162,75,.10) 1px,transparent 1px);background-size:28px 28px}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-load{position:absolute;inset:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;color:var(--ivoire);
  background:radial-gradient(circle at center,rgba(201,162,75,.16),rgba(13,12,10,.2) 60%)}
.map-load strong{font-size:.84rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--or);color:var(--noir);padding:14px 24px;border:1px solid var(--or);transition:background .312s,color .312s}
.map-load:hover strong,.map-load:focus-visible strong{background:transparent;color:var(--or-clair)}
.map-load span{font-size:.78rem;color:rgba(247,244,238,.6)}
.map-pin{width:34px;height:34px}
@media (max-width:800px){.contact-grid,.map-block{grid-template-columns:1fr}.map-frame{min-height:300px}}

/* Réalisations & avertissements */
.notice{background:#FFF8E6;border:1px solid var(--or);border-left:4px solid var(--or);padding:16px 20px;color:#5a4712;font-size:.92rem;margin-bottom:20px}
.notice strong{color:#4a3a0e}
.wip{margin-top:28px;padding:clamp(28px,4vw,48px);background:var(--blanc);border:1px solid var(--line);border-left:4px solid var(--or)}
.wip h2{margin:8px 0 16px;font-size:clamp(1.5rem,3vw,2.1rem)}
.wip p{max-width:64ch;color:var(--gris);margin-bottom:12px}
.wip-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.wip-cta a,.btn-gold,.btn-dark,.btn-outline{ }
.todo{background:#FFF6E0;border:1px dashed var(--or);padding:2px 8px;color:#6b5417;font-weight:600;font-size:.88em}

/* Pages légales */
.legal{max-width:820px;margin:0 auto;padding:calc(var(--header-h) + 56px) clamp(20px,4vw,40px) 96px}
.legal h1{font-size:clamp(2rem,4vw,2.8rem);margin:14px 0 30px}
.legal h2{font-size:1.15rem;font-family:'Poppins',sans-serif;font-weight:600;letter-spacing:.02em;margin:30px 0 10px;padding-top:22px;border-top:1px solid var(--line)}
.legal p{color:var(--gris);margin-bottom:10px;font-size:.95rem}
.legal a{color:var(--or-sombre)}

/* Liens classiques dans les pages internes */
.pad .btn-gold,.pad .btn-dark,.pad .btn-outline,.wip .btn-gold,.wip .btn-dark{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:14px 28px;font-size:.84rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;transition:background .375s,color .375s,border-color .375s}
.pad .btn-gold,.wip .btn-gold{background:var(--or);color:var(--noir);border-color:var(--or)}
.pad .btn-gold:hover,.wip .btn-gold:hover{background:var(--or-clair);border-color:var(--or-clair)}
.pad .btn-dark,.wip .btn-dark{background:var(--noir);color:var(--ivoire);border-color:var(--noir)}
.pad .btn-dark:hover,.wip .btn-dark:hover{background:var(--or);border-color:var(--or);color:var(--noir)}
.band-dark .btn-dark{background:var(--or);color:var(--noir);border-color:var(--or)}

/* --------------------------------------------------------------- Apparitions & mouvement */
.rv{opacity:0;transform:translateY(30px);transition:opacity 1.125s var(--ease),transform 1.125s var(--ease);transition-delay:calc(var(--i,0)*112ms)}
.rv.in{opacity:1;transform:none}
.rv-fade{transform:none}
.rv-scale{transform:scale(.94) translateY(16px)}
.rt .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.rt .w>span{display:inline-block;transform:translateY(110%);transition:transform 1.125s var(--ease);transition-delay:calc(var(--i,0)*75ms)}
.rt.in .w>span{transform:none}
[data-parallax]{will-change:transform}
.sk-js .gold-rule{transform:scaleX(0);transform-origin:center;transition:transform 1.5s var(--ease) .25s}
.sk-js .gold-rule.in{transform:scaleX(1)}

/* --------------------------------------------------------------- Mouvement réduit */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:0ms!important;animation-iteration-count:1!important;transition-duration:0ms!important}
  .rv,.rt .w>span,.sk-js .gold-rule{opacity:1;transform:none}
  .hero-glow{display:none}
  .marquee-track{animation:none;flex-wrap:wrap;justify-content:center}
  .loupe-stage .site-new{clip-path:inset(0 0 0 50%)}
  .loupe-ring,.loupe-hint{display:none}
  .gb .build,.ws-new .b-in{opacity:1;transform:none}
  .in-view .v-seo .you{transition:none}
}

/* ---------------------------------------------------------------------------
   Allègement mobile — passe V3E.
   Provisoire : le desktop est volontairement inchangé. À harmoniser ensuite
   (voir aussi la grille .svc-grid, allégée selon le même principe).
   --------------------------------------------------------------------------- */

/* Loupe : au doigt, le geste vertical fait défiler la page au lieu de déplacer
   la loupe (touchmove passif, aucun touch-action possible sans piéger le scroll
   sur presque tout l'écran). Le message « avant / après » reste porté par
   #avant-apres, dont le curseur est un input[type=range] natif, fiable au doigt. */
@media (max-width:700px){
  .loupe-sec{display:none}
}

/* Engagements : version dense. Les descriptions répètent le hero
   (« Réponse sous 24 h », « Interlocuteur unique ») et le pied de page
   (adresse, couverture France) ; on ne garde que les libellés. */
@media (max-width:640px){
  .trust-sec .head p{display:none}
  .trust-grid{grid-template-columns:1fr;gap:10px}
  .trust-item{display:flex;align-items:center;gap:14px;padding:15px 16px}
  .trust-item:last-child{grid-column:auto}
  .trust-ico{width:24px;height:24px;margin-bottom:0;flex:0 0 auto}
  .trust-item b{font-size:.98rem;margin-bottom:0}
  .trust-item span{display:none}
}

/* patches */
.v-strat .line{top:102px}
.vis .ex{position:absolute;right:12px;top:10px;font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,244,238,.45);z-index:2}
.skip-link:focus{left:12px!important}
.svc-mini{order:3}
.svc>div:nth-child(3)>p:first-child{font-weight:600;color:var(--noir)!important;font-size:1.02rem;margin-bottom:10px}
.legal ul{list-style:disc;padding-left:22px;color:var(--gris);font-size:.95rem;margin-bottom:10px}
/* Loupe : le découpage n'est appliqué que si le script tourne (sinon la version moderne s'affiche entière) */
.loupe-stage .site-new{clip-path:none}
.sk-js .loupe-stage .site-new{clip-path:circle(var(--lr) at var(--lx) var(--ly))}
.sk-js .loupe-stage.split .site-new{clip-path:inset(0 0 0 50%)}
/* Hero : mobile & tablette */
@media (max-width:900px){
  .hero{min-height:0;padding:calc(var(--header-h) + 40px) 0 64px}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .hero-scene{display:none}
  .l-laptop{top:8%}
  .mk-laptop{width:88%;--u:4.6px}
  .l-serp,.l-chip1,.l-chip2{display:none}
  .mk-phone{width:30%;--u:4px}
  .mk-gbp{width:46%;--u:6px}
  .l-gbp{left:0;bottom:6%}
  .l-phone{right:0;bottom:0}
  .float-a,.float-b,.float-c{animation-duration:17.5s}
}
@media (max-width:520px){
  .hero-services{font-size:.72rem;gap:6px 14px}
  .hero-cta .btn{width:100%;justify-content:center}
}

/* ---- V3C+ : barre de progression (au-dessus de la navbar) + retour haut (repris de la V2) ---- */
.hero{--mx:50%;--my:40%}
.sk-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:2200;background:linear-gradient(90deg,var(--or),var(--or-clair));box-shadow:0 0 10px rgba(201,162,75,.55);pointer-events:none}
.sk-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;z-index:2100;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--noir);border:1px solid var(--or);color:var(--or);font-size:1.05rem;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .375s ease,transform .375s ease,visibility .375s,background .25s,color .25s}
.sk-top.sk-show{opacity:1;visibility:visible;transform:none}
.sk-top:hover,.sk-top:focus-visible{background:var(--or);color:var(--noir)}
/* icônes sociales inline (contact) */
.socials a{color:var(--or)}
.socials svg{display:block;transition:transform .375s var(--ease),color .375s}
.socials a:hover svg,.socials a:focus-visible svg{color:var(--or-clair);transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.sk-progress,.sk-top,.socials svg{transition:none}}

/* =====================================================================
   V3C+ — Consentement cookies (RGPD) — intégré à la DA Silka
   ===================================================================== */
.ck-overlay{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(9,8,6,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .5s var(--ease)}
.ck-overlay.ck-show{opacity:1}
.ck-overlay[hidden]{display:none}
.ck-modal{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 40px);overflow-y:auto;background:var(--noir-2);color:var(--ivoire);border:1px solid var(--line-gold);border-radius:4px;box-shadow:var(--shadow-deep);padding:clamp(26px,4vw,40px);transform:translateY(22px);opacity:0;transition:transform .525s var(--ease),opacity .525s var(--ease)}
.ck-overlay.ck-show .ck-modal{transform:none;opacity:1}
.ck-eyebrow{display:inline-block;font-family:'Poppins',sans-serif;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--or);margin-bottom:12px}
.ck-title{font-family:'Graduate',serif;font-weight:400;font-size:clamp(1.25rem,2.6vw,1.6rem);line-height:1.2;color:#fff;margin:0 0 14px}
.ck-text{font-family:'Poppins',sans-serif;font-size:.92rem;line-height:1.65;color:rgba(247,244,238,.72);margin:0 0 24px}
.ck-actions{display:flex;gap:12px;flex-wrap:wrap}
.ck-modal .btn,.ck-map-ph .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 24px;font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:background .375s var(--ease),color .375s var(--ease),border-color .375s var(--ease),transform .188s ease;width:100%}
.ck-modal .btn-gold,.ck-map-ph .btn-gold{background:var(--or);color:var(--noir);border-color:var(--or)}
.ck-modal .btn-gold:hover,.ck-modal .btn-gold:focus-visible,.ck-map-ph .btn-gold:hover,.ck-map-ph .btn-gold:focus-visible{background:var(--or-clair);border-color:var(--or-clair)}
.ck-modal .btn-outline{background:transparent;color:var(--ivoire);border-color:rgba(247,244,238,.35)}
.ck-modal .btn-outline:hover,.ck-modal .btn-outline:focus-visible{border-color:var(--or);color:var(--or)}
.ck-modal .btn:active,.ck-map-ph .btn:active{transform:translateY(1px)}
.ck-actions .btn{flex:1 1 180px}
.ck-sub{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px}
.ck-textbtn{background:none;border:0;color:var(--ivoire);font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.04em;cursor:pointer;padding:6px 2px;position:relative}
.ck-textbtn::after{content:"";position:absolute;left:2px;right:2px;bottom:2px;height:1px;background:var(--or);transform:scaleX(0);transform-origin:left;transition:transform .375s var(--ease)}
.ck-textbtn:hover::after,.ck-textbtn:focus-visible::after{transform:scaleX(1)}
.ck-policy{font-family:'Poppins',sans-serif;font-size:.78rem;color:rgba(247,244,238,.55);text-decoration:underline;text-underline-offset:3px}
.ck-policy:hover,.ck-policy:focus-visible{color:var(--or-clair)}
.ck-close{position:absolute;top:12px;right:14px;background:none;border:0;color:rgba(247,244,238,.6);font-size:1.6rem;line-height:1;cursor:pointer;padding:6px 10px}
.ck-close:hover,.ck-close:focus-visible{color:var(--or)}
.ck-cats{display:flex;flex-direction:column;margin:8px 0 24px;border:1px solid var(--line-ivoire);border-radius:4px;overflow:hidden}
.ck-cat{padding:18px;background:rgba(247,244,238,.02);border-bottom:1px solid var(--line-ivoire)}
.ck-cat:last-child{border-bottom:0}
.ck-cat-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:6px}
.ck-cat-head h3{font-family:'Poppins',sans-serif;font-size:.92rem;font-weight:600;color:var(--ivoire);margin:0}
.ck-cat p{font-family:'Poppins',sans-serif;font-size:.82rem;line-height:1.55;color:rgba(247,244,238,.6);margin:0}
.ck-toggle{position:relative;display:inline-flex;align-items:center;flex:none;cursor:pointer}
.ck-toggle input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.ck-track{position:relative;display:block;width:46px;height:26px;border-radius:999px;background:rgba(247,244,238,.16);border:1px solid var(--line-ivoire);transition:background .375s var(--ease),border-color .375s var(--ease)}
.ck-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--ivoire);transition:transform .375s var(--ease),background .375s}
.ck-toggle input:checked+.ck-track{background:var(--or);border-color:var(--or)}
.ck-toggle input:checked+.ck-track .ck-knob{transform:translateX(20px);background:var(--noir)}
.ck-toggle input:focus-visible+.ck-track{box-shadow:0 0 0 3px rgba(201,162,75,.4)}
.ck-locked{cursor:not-allowed;opacity:.8}
.ck-locked input{cursor:not-allowed}
.foot-cookie-link{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0;letter-spacing:inherit}
.foot-cookie-link:hover,.foot-cookie-link:focus-visible{color:var(--or)}
.ck-map-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;background:var(--noir)}
.ck-map-ph p{font-family:'Poppins',sans-serif;font-size:.82rem;line-height:1.55;color:rgba(247,244,238,.6);max-width:36ch;margin:0}
.ck-map-ph .btn{width:auto}
@media (max-width:560px){
  .ck-actions{flex-direction:column}
  .ck-actions .btn{flex:1 1 auto;width:100%}
  .ck-sub{justify-content:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .ck-overlay,.ck-modal,.ck-track,.ck-knob,.ck-textbtn::after,.ck-modal .btn{transition:none}
}

/* =====================================================================
   Page À PROPOS — composants dédiés (préfixe .ab-)
   Réutilise les tokens globaux : --or, --noir, --ivoire, --ease, .rv, .rt
   ===================================================================== */

/* ---- 1. Hero : loupe + mots révélés ---- */
.ab-hero{position:relative;overflow:hidden;min-height:clamp(520px,86vh,780px);display:flex;flex-direction:column;justify-content:center}
.ab-hero .wrap{position:relative;z-index:3}
.ab-hero-words{position:absolute;inset:0;z-index:1;pointer-events:none}
.ab-w{position:absolute;left:var(--x);top:var(--y);font-family:'Graduate',serif;font-size:clamp(2.4rem,7vw,5.6rem);line-height:1;letter-spacing:.02em;white-space:nowrap;color:rgba(247,244,238,.055)}
.ab-hero-words--lit{z-index:2}
.ab-hero-words--lit .ab-w{color:rgba(201,162,75,.42)}
.sk-js .ab-hero-words--lit{-webkit-mask-image:radial-gradient(circle at var(--lx,50%) var(--ly,45%),#000 0,#000 104px,transparent 152px);mask-image:radial-gradient(circle at var(--lx,50%) var(--ly,45%),#000 0,#000 104px,transparent 152px);opacity:0;transition:opacity .3s var(--ease)}
.sk-js .ab-hero-words--lit.ab-on{opacity:1}
.ab-lens{position:absolute;z-index:2;top:0;left:0;width:230px;height:230px;margin:-115px 0 0 -115px;color:rgba(201,162,75,.5);opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}
.ab-lens svg{width:100%;height:100%;display:block}
.ab-lens.ab-on{opacity:1}
.ab-h1{font-size:clamp(2.5rem,8.2vw,6rem);line-height:.98;letter-spacing:-.005em;margin-bottom:26px}
.ab-lede{max-width:52ch;font-size:clamp(1rem,1.35vw,1.16rem)}
.ab-scroll{display:inline-flex;align-items:center;gap:12px;margin-top:38px;font-family:'Poppins',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ivoire);text-decoration:none;position:relative;padding-bottom:8px}
.ab-scroll::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--or);transform:scaleX(.34);transform-origin:left;transition:transform .625s var(--ease)}
.ab-scroll:hover::after,.ab-scroll:focus-visible::after{transform:scaleX(1)}
.ab-scroll-a{display:inline-block;color:var(--or);animation:abNudge 3.25s ease-in-out infinite}
@keyframes abNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* ---- 2. Timeline ---- */
.ab-tl{position:relative;padding-left:clamp(52px,7vw,96px)}
.ab-tl-rail{position:absolute;left:clamp(14px,2.2vw,30px);top:6px;bottom:6px;width:1px;background:var(--line)}
.ab-tl-fill{display:block;width:100%;height:0;background:linear-gradient(180deg,var(--or),var(--or-clair));box-shadow:0 0 10px rgba(201,162,75,.35)}
.ab-step{position:relative;display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,38px);align-items:start;padding:clamp(26px,4vw,46px) 0;opacity:.42;transform:translateY(18px);transition:opacity .875s var(--ease),transform .875s var(--ease)}
.ab-step.ab-live{opacity:1;transform:none}
.ab-step::before{content:"";position:absolute;left:calc(clamp(14px,2.2vw,30px) - clamp(52px,7vw,96px) - 4px);top:calc(clamp(26px,4vw,46px) + 12px);width:9px;height:9px;border-radius:50%;background:var(--gris-clair);border:1px solid var(--line);transition:background .625s var(--ease),transform .625s var(--ease)}
.ab-step.ab-live::before{background:var(--or);border-color:var(--or);transform:scale(1.25)}
.ab-step-n{font-family:'Graduate',serif;font-size:clamp(1.5rem,3.6vw,2.6rem);line-height:1;color:var(--gris-2);transition:color .75s var(--ease),transform .75s var(--ease);transform-origin:left center}
.ab-step.ab-live .ab-step-n{color:var(--or);transform:scale(1.08)}
.ab-step-body h3{font-family:'Graduate',serif;font-weight:400;font-size:clamp(1.15rem,2.2vw,1.6rem);margin:0 0 10px;color:var(--noir)}
.ab-step-body p{max-width:62ch;color:var(--gris);line-height:1.75;margin:0}

/* ---- 3. Un seul interlocuteur ---- */
.ab-solo-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(32px,5vw,72px);align-items:start}
.ab-portrait{margin:0}
.ab-portrait-frame{position:relative;aspect-ratio:4/5;border:1px solid var(--line-gold);background:var(--noir-3);overflow:hidden}
.ab-portrait-frame picture,.ab-portrait-frame img{display:block;width:100%;height:100%;object-fit:cover}
.ab-portrait-frame img{filter:saturate(.92) contrast(1.02);transition:transform 1.5s var(--ease)}
.ab-portrait:hover .ab-portrait-frame img{transform:scale(1.03)}
.ab-portrait-frame img{width:100%;height:100%;object-fit:cover;display:block}
.ab-portrait-mono{font-family:'Graduate',serif;font-size:clamp(3rem,7vw,5rem);letter-spacing:.1em;color:rgba(201,162,75,.32)}
.ab-portrait figcaption{margin-top:14px;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--or)}
.ab-portrait-note{display:block;margin-top:6px;font-size:.68rem;letter-spacing:.08em;text-transform:none;color:rgba(247,244,238,.42)}
.ab-xxl{color:#fff;font-size:clamp(1.8rem,4.2vw,3.2rem);line-height:1.08;margin:16px 0 22px}
.ab-solo-copy .lede{margin-bottom:8px}
.ab-punch{font-family:'Graduate',serif;font-size:clamp(1.05rem,1.9vw,1.45rem);line-height:1.4;color:#fff;margin:34px 0 0;padding-left:18px;border-left:2px solid var(--or)}
.ab-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.ab-flow{display:flex;flex-direction:column;align-items:center;gap:9px;margin:38px 0 6px;text-align:center}
.ab-flow-node{font-family:'Poppins',sans-serif;font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(247,244,238,.7);border:1px solid var(--line-ivoire);padding:9px 18px}
.ab-flow-key{color:var(--noir);background:var(--or);border-color:var(--or)}
.ab-flow-line{display:block;width:1px;height:22px;background:var(--line-gold);transform:scaleY(0);transform-origin:top;transition:transform .75s var(--ease)}
.ab-flow.ab-on .ab-flow-line{transform:scaleY(1)}
.ab-flow-fan{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;position:relative;padding-top:22px}
.ab-flow-fan::before{content:"";position:absolute;top:0;left:50%;width:1px;height:22px;background:var(--line-gold);transform:scaleY(0);transform-origin:top;transition:transform .75s var(--ease) .188s}
.ab-flow.ab-on .ab-flow-fan::before{transform:scaleY(1)}
.ab-flow-branch{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--or-clair);border:1px solid var(--line-gold);padding:8px 15px;opacity:0;transform:translateY(8px);transition:opacity .625s var(--ease),transform .625s var(--ease)}
.ab-flow.ab-on .ab-flow-branch{opacity:1;transform:none}
.ab-flow.ab-on .ab-flow-branch:nth-child(2){transition-delay:.225s}
.ab-flow.ab-on .ab-flow-branch:nth-child(3){transition-delay:.375s}

.ab-kpis{list-style:none;display:flex;flex-wrap:wrap;gap:12px 40px;margin:34px 0 0;padding:0}
.ab-kpis li{display:flex;flex-direction:column;gap:4px}
.ab-kpis strong{font-family:'Graduate',serif;font-weight:400;font-size:clamp(1.3rem,2.4vw,1.8rem);color:var(--or)}
.ab-kpis span{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,244,238,.55)}

/* ---- 4. Valeurs ---- */
.ab-vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,26px)}
.ab-vcard{position:relative;overflow:hidden;padding:clamp(30px,3.4vw,46px) clamp(24px,2.6vw,38px) clamp(30px,3.4vw,44px);background:var(--blanc);border:1px solid var(--line);min-height:clamp(280px,26vw,340px);display:flex;flex-direction:column;transition:transform .688s var(--ease),box-shadow .688s var(--ease),border-color .688s var(--ease)}
.ab-vnum{position:absolute;right:-6px;top:-18px;font-family:'Graduate',serif;font-size:clamp(5rem,10vw,8.5rem);line-height:1;color:var(--noir);opacity:.045;pointer-events:none;transition:opacity .688s var(--ease),transform .688s var(--ease)}
.ab-vcard h3{font-family:'Graduate',serif;font-weight:400;font-size:clamp(1.2rem,2.1vw,1.6rem);margin:0 0 14px;color:var(--noir)}
.ab-vlead{font-size:1rem;font-weight:600;color:var(--noir);margin:0}
.ab-vmore{margin:14px 0 0;color:var(--gris);line-height:1.7;max-width:34ch;opacity:0;transform:translateY(10px);transition:opacity .625s var(--ease),transform .625s var(--ease)}
.ab-vcard:hover,.ab-vcard:focus-visible{transform:translateY(-6px);border-color:var(--line-gold);box-shadow:var(--shadow-soft);outline:none}
.ab-vcard:hover .ab-vnum,.ab-vcard:focus-visible .ab-vnum{opacity:.1;transform:translateY(6px)}
.ab-vcard:hover .ab-vmore,.ab-vcard:focus-visible .ab-vmore{opacity:1;transform:none}
.ab-vcard:focus-visible{box-shadow:0 0 0 2px var(--or),var(--shadow-soft)}

/* ---- 5. Manifeste ---- */
.ab-manifest{background:var(--noir-2);color:var(--ivoire);padding:clamp(52px,6.5vw,86px) 0;border-top:1px solid var(--line-ivoire)}
.ab-mlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,44px);text-align:center}
.ab-mlist li{display:flex;flex-direction:column;gap:8px}
.ab-mlist strong{font-family:'Graduate',serif;font-weight:400;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1;color:var(--or)}
.ab-mlist span{font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(247,244,238,.82)}
.ab-mnote{text-align:center;margin:clamp(30px,4vw,46px) auto 0;max-width:40ch;font-family:'Caveat',cursive;font-size:1.5rem;color:var(--or-clair)}


/* ---- Responsive ---- */
@media (max-width:900px){
  .ab-solo-grid{grid-template-columns:1fr}
  .ab-portrait-frame{max-width:340px}
  .ab-vgrid{grid-template-columns:1fr}
  .ab-vcard{min-height:0}
  .ab-vmore{opacity:1;transform:none}
  .ab-mlist{grid-template-columns:1fr;gap:30px}
}
@media (max-width:640px){
  .ab-hero{min-height:0;padding:clamp(90px,22vw,130px) 0 clamp(40px,10vw,60px)}
  .ab-hero-words,.ab-hero-words--lit,.ab-lens{display:none}
  .ab-tl{padding-left:38px}
  .ab-tl-rail{left:8px}
  .ab-step{grid-template-columns:1fr;gap:8px}
  .ab-step::before{left:-34px;top:calc(clamp(26px,4vw,46px) + 6px)}
  .ab-kpis{gap:18px 26px}
}
@media (prefers-reduced-motion:reduce){
  .ab-step,.ab-step-n,.ab-vcard,.ab-vnum,.ab-vmore,
  .ab-flow-line,.ab-flow-branch,.ab-flow-fan::before{transition:none}
  .ab-scroll-a{animation:none}
  .ab-step{opacity:1;transform:none}
  .ab-hero-words--lit,.ab-lens{display:none}
}

/* ---------------------------------------------------------------------------
   Réseaux sociaux — couleurs de marque (V3F3)
   Logos officiels fournis par Romain (PNG transparents, recadrés et redimensionnés).
   --------------------------------------------------------------------------- */
/* Le lien n'a ni cadre ni fond : la zone cliquable épouse le logo.
   Le retrait interne garde une cible d'au moins 44 px sans rien afficher,
   et le halo de survol est un drop-shadow, donc il suit le contour réel
   du PNG — y compris la goutte du repère Google. */
.soc-brand{display:inline-flex;align-items:center;justify-content:center;
  padding:5px;min-width:44px;min-height:44px;border:0;background:none;
  transition:transform .375s var(--ease)}
.soc-brand img{display:block;height:34px;width:auto;transition:filter .375s var(--ease)}
/* Compensation optique : un repère effilé pèse moins qu'un disque plein à hauteur égale */
.soc-brand[data-net="gbp"] img{height:37px}
.soc-brand:hover,.soc-brand:focus-visible{transform:translateY(-3px)}
.soc-brand:hover img,.soc-brand:focus-visible img{filter:brightness(1.08) drop-shadow(0 0 7px rgba(201,162,75,.55))}
.soc-brand:focus-visible{outline:2px solid var(--or);outline-offset:2px;border-radius:10px}

/* Pied de page : la colonne « Suivre » passe en rangée d'icônes */
.foot-socials{display:flex;gap:10px;align-items:center;padding-top:8px}
@media (prefers-reduced-motion:reduce){.soc-brand,.soc-brand img{transition:none}}

/* ---------------------------------------------------------------------------
   Signature manuscrite (police Caveat) — le texte se trace de gauche à droite
   quand il entre dans l'écran. Sans JS, il s'affiche normalement (préfixe .sk-js).
   --------------------------------------------------------------------------- */
/* Le tracé se fait par masque et non par clip-path : un clip-path réduit la
   surface visible à zéro, et l'observateur d'entrée dans l'écran ne déclenchait
   alors jamais l'animation — l'effet s'empêchait lui-même de démarrer. */
.sk-js .tagline-script,.sk-js .ab-mnote{
  -webkit-mask-image:linear-gradient(90deg,#000 0 0);mask-image:linear-gradient(90deg,#000 0 0);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:0% 100%;mask-size:0% 100%;
  transition:-webkit-mask-size 1.6s cubic-bezier(.55,.06,.34,1),mask-size 1.6s cubic-bezier(.55,.06,.34,1)}
.sk-js .ab-mnote{transition-duration:2.4s}
.sk-js .tagline-script.rv,.sk-js .ab-mnote.rv{opacity:1;transform:none}
.sk-js .tagline-script.in,.sk-js .ab-mnote.in{-webkit-mask-size:108% 100%;mask-size:108% 100%}
@media (prefers-reduced-motion:reduce){
  .sk-js .tagline-script,.sk-js .ab-mnote{-webkit-mask-image:none;mask-image:none;transition:none}
}

/* ---- Logos réseaux : grossissement au survol, taille renforcée sur mobile ---- */
/* « .foot-col a:hover » est plus spécifique : on repasse devant explicitement. */
.foot-socials a.soc-brand:hover,.foot-socials a.soc-brand:focus-visible,
.socials a.soc-brand:hover,.socials a.soc-brand:focus-visible{transform:translateY(-3px) scale(1.16)}
@media (max-width:640px){
  .soc-brand img{height:40px}
  .soc-brand[data-net="gbp"] img{height:44px}
  .foot-socials{gap:14px}
}
