
/* ===== Styles du site client (repris tels quels à l'export) ===== */
.vs{--p:#2563eb;--dk:#0f1f3d;--ac:#ffd166;--on-p:#fff;--on-ac:#141414;--fd:'Outfit',sans-serif;--fb:'Outfit',sans-serif;
  --bg:#ffffff;--fg:#17191c;--mut:#5d6269;--card:#ffffff;--tint:color-mix(in srgb,var(--p) 7%,var(--bg));--line:color-mix(in srgb,var(--fg) 11%,transparent);
  --rad:14px;--brad:999px;--shadow:0 8px 28px #0000001a;--hw:700;--htt:none;--hls:0;--bbord:0;--bshadow:none;
  font-family:var(--fb);color:var(--fg);background:var(--bg);line-height:1.6;font-size:16px;min-height:100%;position:relative}
.vs *{box-sizing:border-box}
.vs img,.vs video{max-width:100%;display:block}
.vs a{color:inherit}
.vs h1,.vs h2,.vs h3{font-family:var(--fd);font-weight:var(--hw);line-height:1.08;margin:0;text-wrap:balance;text-transform:var(--htt);letter-spacing:var(--hls);font-synthesis:none}
.vs p,.vs blockquote,.vs figure{margin:0}
.vs .w{max-width:1140px;margin:0 auto;padding-inline:22px}
.vs .btn{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:var(--brad);font-weight:700;text-decoration:none;background:var(--ac);color:var(--on-ac);border:var(--bbord);box-shadow:var(--bshadow);line-height:1.1;font-family:var(--fb);transition:transform .15s}
.vs .btn:hover{transform:translateY(-2px)}
.vs .btn svg{width:18px;height:18px;flex:none}
.vs .btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor;border:0}
.vs .btn.big{font-size:18px;padding:15px 26px}
.vs .tel-txt{font-weight:700}
/* En-tête */
.vs-head{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.vs-head .w{display:flex;align-items:center;gap:14px;padding-block:10px}
.vs-head .lg{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#fff}
.vs-head .nm{font-family:var(--fd);font-weight:var(--hw);font-size:21px;text-transform:var(--htt);letter-spacing:var(--hls);line-height:1.1}
.vs-head nav{display:flex;gap:18px;font-weight:600;font-size:14px}
.vs-head nav a{text-decoration:none;color:var(--mut)}
.vs-head nav a:hover{color:var(--fg)}
.vs-head .btn{padding:10px 16px;font-size:14px;background:var(--p);color:var(--on-p)}
.vs-head .nm{margin-right:auto}
.vs-head a.nm{text-decoration:none}
/* Bandeau du haut */
.vs-flash{background:var(--ac);color:var(--on-ac);font-weight:700;font-size:15px;overflow:hidden;position:relative;z-index:4}
.vs-flash.fs-dk{background:var(--dk);color:#fff}
.vs-flash.fs-p{background:var(--p);color:var(--on-p)}
.vs-flash .w{padding-block:10px;position:relative}
.vs-flash a{color:inherit;text-underline-offset:3px}
.vs-flash[data-mode=rotate] .w{text-align:center}
.vs-flash[data-mode=rotate] .fi{display:block;transition:opacity .5s,transform .5s}
.vs-flash[data-mode=rotate] .fi:not(.on){position:absolute;left:22px;right:22px;top:10px;opacity:0;transform:translateY(10px);pointer-events:none}
.vs-flash[data-mode=fixed] .w{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 28px;text-align:center}
.vs-flash[data-mode=scroll] .w{max-width:none;padding-inline:0}
.vs-flash .track{display:flex;width:max-content;animation:vsmq var(--dur,30s) linear infinite}
.vs-flash .track:hover{animation-play-state:paused}
.vs-flash .track .fi{white-space:nowrap;padding-inline:22px;display:flex;align-items:center;gap:22px}
.vs-flash .track .fi::after{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55}
@keyframes vsmq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.vs-flash .track{animation:none;flex-wrap:wrap;width:auto}}
/* Accueil */
.vs-hero{position:relative}
.vs-hero .kick{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--p)}
.vs-hero h1{font-size:clamp(38px,6.2cqi,76px);margin-block:12px 16px}
.vs-hero .sl{font-size:clamp(17px,1.7cqi,20px);max-width:52ch;color:var(--mut)}
.vs-hero .cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.vs-hero .im{background:var(--tint) center/cover no-repeat;position:relative}
.vs-hero .im.ph{display:grid;place-items:center;background:linear-gradient(135deg,var(--p),var(--dk));color:#ffffff50;font-family:var(--fd);font-size:120px}
.h-full{min-height:480px;display:flex;align-items:flex-end;color:#fff;background:var(--dk) center/cover no-repeat}
.h-full::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#00000014 0%,#000000b0 100%)}
.h-full .w{position:relative;padding-block:70px;width:100%}
.h-full .kick{color:var(--ac)}
.h-full .sl{color:#ffffffe6}
.h-full .hx{max-width:760px}
.h-split .w{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;padding-block:60px}
.h-split .hm{position:relative}
.h-split .im{aspect-ratio:4/5;border-radius:calc(var(--rad) * 2)}
.hcard{position:absolute;left:-22px;bottom:26px;background:var(--card);color:var(--fg);border-radius:var(--rad);padding:14px 18px;box-shadow:var(--shadow);font-size:14px;max-width:80%}
.hcard b{display:block;font-size:16px}
.h-mosaic .hx{text-align:center;padding-block:64px 40px;max-width:820px;margin:0 auto}
.h-mosaic .sl{margin-inline:auto}
.h-mosaic .cta{justify-content:center}
.h-mosaic .mos{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:8px;padding-inline:8px}
.h-mosaic .mos .im:first-child{grid-row:span 2}
.h-mosaic .mos .im:nth-child(4){grid-column:span 2}
.h-edit .hx{padding-block:60px 30px}
.h-edit h1{font-size:clamp(46px,10cqi,132px);line-height:.95;max-width:none}
.h-edit .rw{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.h-edit .rw .cta{margin:0}
.h-edit .wide{aspect-ratio:21/9;border-radius:var(--rad);margin-bottom:10px}
/* Sections */
.vs-sec{padding-block:76px}
.vs-sec.alt{background:var(--tint)}
.vs-sec .hd{margin-bottom:34px;max-width:64ch}
.vs-sec .hd h2{font-size:clamp(30px,4.4cqi,48px)}
.vs-sec .hd p{color:var(--mut);margin-top:12px;font-size:17px;white-space:pre-line}
.vs-eb{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--p);margin-bottom:10px}
.vs-promos{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.vs-promo{background:var(--card);border-radius:var(--rad);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;border:1px solid var(--line)}
.vs-promo .im{aspect-ratio:4/3;background:var(--tint) center/cover no-repeat;position:relative}
.vs-promo .tag{position:absolute;top:12px;left:12px;background:#e0322a;color:#fff;font-weight:800;font-size:12px;padding:4px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.05em}
.vs-promo .tx{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.vs-promo h3{font-size:21px}
.vs-promo .pr{display:flex;align-items:baseline;gap:10px;margin-top:auto}
.vs-promo .pr b{font-family:var(--fd);font-size:28px;color:#e0322a}
.vs-promo .pr s{color:var(--mut)}
.vs-promo .until{font-size:13px;color:var(--mut)}
.vs-svc{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.vs-svc article{border:1px solid var(--line);border-radius:var(--rad);padding:24px;display:flex;flex-direction:column;gap:8px;background:var(--card)}
.vs-svc article .ix{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--tint);color:var(--p);font-family:var(--fd);font-size:18px;margin-bottom:6px}
.vs-svc h3{font-size:20px}
.vs-svc p{color:var(--mut);font-size:15px}
.vs-prices{display:flex;flex-direction:column;max-width:760px}
.pr-row{padding-block:16px;border-bottom:1px solid var(--line)}
.pr-l{display:flex;align-items:baseline;gap:12px;font-size:18px}
.pr-l b{font-family:var(--fd);font-weight:var(--hw)}
.pr-l .dots{flex:1;border-bottom:2px dotted var(--line);transform:translateY(-5px);min-width:20px}
.pr-l .pp{color:var(--p);white-space:nowrap;font-variant-numeric:tabular-nums}
.pr-row p{color:var(--mut);font-size:15px;margin-top:2px}
.vs-revs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.vs-rev{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:24px;display:flex;flex-direction:column;gap:12px}
.vs-rev .st{color:#e7a500;letter-spacing:2px;font-size:17px}
.vs-rev blockquote{font-size:16.5px}
.vs-rev figcaption{font-weight:700;color:var(--mut);font-size:14px;margin-top:auto}
.vs-news{display:flex;flex-direction:column;gap:14px}
.vs-new{display:grid;grid-template-columns:150px 1fr;gap:20px;background:var(--card);border-radius:var(--rad);padding:14px;border:1px solid var(--line)}
.vs-new.noimg{grid-template-columns:1fr;padding:20px}
.vs-new .im{aspect-ratio:1;border-radius:calc(var(--rad) * .7);background:var(--tint) center/cover}
.vs-new time{font-size:13px;color:var(--p);font-weight:700}
.vs-new h3{font-size:20px;margin-block:2px 6px}
.vs-new p{color:var(--mut)}
.vs-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.vs-gal figure{position:relative;border-radius:var(--rad);overflow:hidden;aspect-ratio:1;background:var(--tint)}
.vs-gal img{width:100%;height:100%;object-fit:cover}
.vs-gal figcaption{position:absolute;inset:auto 0 0 0;padding:22px 12px 9px;background:linear-gradient(transparent,#000000a0);color:#fff;font-size:13px}
.vs-vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.vs-vid{display:flex;flex-direction:column;gap:8px;min-width:0}
.vs-vid video,.vs-vid iframe{width:100%;aspect-ratio:16/9;border-radius:var(--rad);background:#000;border:0}
.vs-vid video.sq{aspect-ratio:1}.vs-vid video.vt{aspect-ratio:9/16;max-height:560px}
.vs-vid .lk{aspect-ratio:16/9;border-radius:var(--rad);background:var(--dk);color:#fff;display:grid;place-items:center;text-decoration:none;font-weight:700;text-align:center;padding:10px}
.vs-vid .lk i{width:58px;height:58px;border-radius:50%;background:var(--ac);display:grid;place-items:center;margin:0 auto 8px}
.vs-vid .lk i::after{content:"";border-left:18px solid var(--on-ac);border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:4px}
.vs-vid b{font-size:15px}
.vs-about{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.vs-about .txt{white-space:pre-line;font-size:17px;color:var(--mut)}
.vs-about .im{aspect-ratio:4/3;border-radius:var(--rad);background:var(--tint) center/cover}
.vs-about.noimg{grid-template-columns:1fr;max-width:760px}
.s-social{text-align:center;background:var(--p);color:var(--on-p)}
.s-social .hd{margin-inline:auto}
.s-social .vs-eb{color:inherit;opacity:.75}
.s-social .hd p{color:inherit;opacity:.85}
.vs-soc{display:flex;flex-wrap:wrap;gap:10px}
.s-social .vs-soc{justify-content:center}
.vs-soc a{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 10px;border-radius:99px;text-decoration:none;font-weight:700;font-size:15px;background:var(--card);color:var(--fg);border:1px solid var(--line)}
.vs-soc a i{width:30px;height:30px;border-radius:50%;background:var(--p);color:var(--on-p);display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:800}
.vs-contact{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.vs-contact dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:12px 20px}
.vs-contact dt{color:var(--mut)}
.vs-contact dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}
.vs-contact dd a{color:var(--p)}
.vs-contact .cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.vs-contact .vs-soc{margin-top:18px}
.vs-hours{width:100%;border-collapse:collapse}
.vs-hours td{padding:9px 0;border-bottom:1px solid var(--line)}
.vs-hours td:last-child{text-align:right;color:var(--mut);font-variant-numeric:tabular-nums}
.vs-hours tr.today td{color:var(--p);font-weight:700}
/* Services cliquables */
.vs-svc article{position:relative;transition:transform .2s,box-shadow .2s;overflow:hidden}
.vs-svc article.lnk:hover{transform:translateY(-3px)}
.vs-svc .sim{aspect-ratio:16/10;margin:-24px -24px 10px;background:var(--tint) center/cover no-repeat}
.vs-svc .more{margin-top:auto;padding-top:8px;font-weight:700;color:var(--p);text-decoration:none}
.vs-svc .more::after{content:"";position:absolute;inset:0}
.t-epure .vs-svc .sim{margin:0 0 10px}
.t-strategie .vs-svc .more,.t-scene .vs-svc .more{color:var(--ac)}
/* Page d'un service */
.vs-page-hero{position:relative;background:var(--tint)}
.vs-page-hero .w{position:relative;padding-block:50px 46px}
.vs-page-hero.img{color:#fff;background:var(--dk) center/cover no-repeat;min-height:380px;display:flex;align-items:flex-end}
.vs-page-hero.img::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#00000020,#000000b8)}
.vs-page-hero.img .w{width:100%}
.vs-back{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-decoration:none;font-size:14px;margin-bottom:18px;opacity:.85}
.vs-back:hover{opacity:1}
.vs-page-hero h1{font-size:clamp(34px,5.6cqi,66px)}
.vs-page-hero .lead{font-size:clamp(17px,1.8cqi,20px);max-width:60ch;margin-top:14px;opacity:.9;white-space:pre-line}
.vs-page .col{max-width:840px}
.vs-blocks{display:flex;flex-direction:column;gap:36px;padding-block:56px}
.vs-blocks h2{font-size:clamp(24px,3.2cqi,34px);margin-bottom:12px}
.vs-blocks .tx{white-space:pre-line;font-size:17.5px;line-height:1.7}
.vs-blocks figure img{width:100%;border-radius:var(--rad)}
.vs-blocks figcaption{font-size:14px;color:var(--mut);margin-top:8px}
.vs-blocks video,.vs-blocks iframe{width:100%;aspect-ratio:16/9;border-radius:var(--rad);border:0;background:#000}
.vs-blocks .lk{aspect-ratio:16/9;border-radius:var(--rad);background:var(--dk);color:#fff;display:grid;place-items:center;text-decoration:none;font-weight:700}
.vs-blocks .bgal{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.vs-blocks .bgal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:calc(var(--rad) * .7)}
.vs-blocks .bbtn{display:flex}
.vs-pcta{background:var(--p);color:var(--on-p);border-radius:var(--rad);padding:30px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;margin-bottom:56px}
.vs-pcta h3{font-size:clamp(22px,2.6cqi,28px)}
.vs-pcta .cta{display:flex;flex-wrap:wrap;gap:10px}
.vs-others{padding-bottom:64px}
.vs-others h3{font-size:20px;margin-bottom:12px}
.vs-others .ls{display:flex;flex-wrap:wrap;gap:8px}
.vs-others a{padding:9px 16px;border-radius:99px;border:1px solid var(--line);text-decoration:none;font-weight:600;background:var(--card)}
.t-scene .vs-pcta{background:linear-gradient(120deg,var(--p),color-mix(in srgb,var(--ac) 60%,var(--p)));color:#fff}
.t-strategie .vs-pcta{background:var(--card);color:var(--fg);border:1px solid var(--ac)}
/* Avis Google */
.vs-gsum{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:24px}
.vs-gsum .big{font-family:var(--fd);font-size:44px;line-height:1;font-weight:var(--hw)}
.vs-gsum .st{color:#e7a500;letter-spacing:2px;font-size:18px}
.vs-gsum small{display:block;color:var(--mut)}
.vs-gsum a{color:var(--p);font-weight:700;margin-left:auto}
.t-strategie .vs-gsum a,.t-scene .vs-gsum a{color:var(--ac)}
.vs-rev .au{display:flex;align-items:center;gap:10px;margin-top:auto;font-weight:700;font-size:14px;text-align:left}
.vs-rev .au img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.vs-rev .au a{text-decoration:none}
.vs-rev .au small{display:block;color:var(--mut);font-weight:400}
.vs-gsrc{font-size:13px;color:var(--mut);margin-top:16px}
.vs-greviews + .vs-revs{margin-top:18px}
.vs-gph{border:2px dashed var(--line);border-radius:var(--rad);padding:22px;color:var(--mut);margin-bottom:18px;text-align:center}
.vs-gph b{display:block;color:var(--fg);font-size:17px;margin-bottom:4px}
.vs-foot{background:var(--dk);color:#ffffffcc;font-size:14px}
.vs-foot .w{padding-block:26px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
.vs-call{position:sticky;bottom:12px;z-index:6;display:none;margin:0 12px 12px;justify-content:center}
.vs-call a{flex:1;justify-content:center;box-shadow:0 8px 24px #00000040}

/* ===== Modèles ===== */
/* Atelier : industriel, robuste */
.t-atelier{--bg:#f2f3ef;--rad:4px;--brad:4px;--htt:uppercase;--hw:800;--hls:.01em}
.t-atelier .vs-head{background:var(--dk);color:#fff;border:0}
.t-atelier .vs-head nav a{color:#ffffffbf}
.t-atelier .vs-head .btn{background:var(--ac);color:var(--on-ac)}
.t-atelier .h-full::after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:repeating-linear-gradient(-45deg,var(--ac) 0 16px,var(--dk) 16px 32px)}
.t-atelier .vs-eb,.t-atelier .h-full .kick{display:inline-block;background:var(--ac);color:var(--on-ac);padding:4px 10px;border-radius:2px}
.t-atelier .vs-svc article{border-top:5px solid var(--p)}
.t-atelier .vs-svc .ix{border-radius:4px}
/* Lumière : clair, moderne */
.t-lumiere{--rad:20px}
.t-lumiere .h-split{background:linear-gradient(180deg,var(--tint),var(--bg))}
.t-lumiere .hl{background:linear-gradient(transparent 62%,color-mix(in srgb,var(--ac) 70%,transparent) 0);padding-inline:2px}
/* Sérénité : doux, apaisant */
.t-serenite{--bg:color-mix(in srgb,var(--p) 5%,#fffdf8);--card:#ffffffd9;--rad:26px;--hw:500;--shadow:0 10px 40px #00000010}
.t-serenite .vs-sec .hd{text-align:center;margin-inline:auto}
.t-serenite .vs-sec .hd::after{content:"";display:block;width:56px;height:1px;background:var(--p);margin:20px auto 0}
.t-serenite .vs-eb{letter-spacing:.3em;font-weight:500}
.t-serenite .vs-sec.alt{background:color-mix(in srgb,var(--ac) 22%,var(--bg))}
.t-serenite .vs-svc article{text-align:center;align-items:center;border:0;box-shadow:var(--shadow)}
.t-serenite .h-split .im{border-radius:999px 999px var(--rad) var(--rad);aspect-ratio:3/4}
.t-serenite .h-split .hm::before{content:"";position:absolute;right:-22px;top:-22px;width:68%;aspect-ratio:1;border:1px solid var(--p);border-radius:50%;opacity:.45}
.t-serenite .hcard{display:none}
.t-serenite .vs-prices,.t-serenite .vs-about.noimg{margin-inline:auto}
.t-serenite .vs-rev{text-align:center;align-items:center;border:0;box-shadow:var(--shadow)}
/* Stratège : sombre, contrasté */
.t-strategie{--bg:color-mix(in srgb,var(--dk),#000 35%);--fg:#f2efe8;--mut:#c8c3b8;--card:color-mix(in srgb,var(--dk),#ffffff 6%);--tint:color-mix(in srgb,var(--dk),#000 10%);--line:#ffffff1f;--rad:3px;--brad:3px;--shadow:none}
.t-strategie .h-split{overflow:hidden}
.t-strategie .h-split::before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(color-mix(in srgb,var(--ac) 13%,transparent) 0 25%,transparent 0 50%) 0 0/76px 76px;-webkit-mask-image:linear-gradient(100deg,transparent 35%,#000 95%);mask-image:linear-gradient(100deg,transparent 35%,#000 95%)}
.t-strategie .h-split .w{position:relative}
.t-strategie .h-split .im{border-radius:2px;outline:1px solid var(--ac);outline-offset:14px;aspect-ratio:1}
.t-strategie .vs-eb,.t-strategie .vs-hero .kick{color:var(--ac)}
.t-strategie .hcard{display:none}
.t-strategie .vs-head .btn{background:var(--ac);color:var(--on-ac)}
.t-strategie .pr-l .pp,.t-strategie .vs-new time,.t-strategie .vs-contact dd a,.t-strategie .vs-hours tr.today td{color:var(--ac)}
.t-strategie .vs-svc .ix{background:transparent;border:1px solid var(--ac);color:var(--ac);border-radius:2px}
.t-strategie .s-social{background:var(--ac);color:var(--on-ac)}
/* Galerie : portfolio */
.t-galerie{--bg:#fbfbf9;--fg:#121212;--mut:#666;--rad:0;--brad:0;--hw:400;--tint:#f1efea;--shadow:none}
.t-galerie .vs-head nav a{text-transform:uppercase;letter-spacing:.14em;font-size:12px}
.t-galerie .btn{background:var(--fg);color:var(--bg)}
.t-galerie .vs-head .btn{background:var(--fg);color:var(--bg)}
.t-galerie .h-mosaic h1{font-size:clamp(44px,8cqi,104px);line-height:1}
.t-galerie .vs-gal{display:block;columns:3 240px;column-gap:10px}
.t-galerie .vs-gal figure{break-inside:avoid;aspect-ratio:auto;margin-bottom:10px}
.t-galerie .vs-gal img{height:auto}
.t-galerie .vs-eb{font-weight:500;letter-spacing:.25em;color:var(--mut)}
.t-galerie .s-social{background:var(--fg);color:var(--bg)}
/* Pop : coloré, joyeux */
.t-pop{--bg:color-mix(in srgb,var(--ac) 18%,#fffaf2);--fg:#161616;--mut:#4a4a4a;--card:#fff;--rad:20px;--hw:800;--bbord:2.5px solid #161616;--bshadow:4px 4px 0 #161616;--shadow:6px 6px 0 #161616;--line:#16161626}
.t-pop .vs-promo,.t-pop .vs-svc article,.t-pop .vs-rev,.t-pop .vs-new{border:2.5px solid #161616;box-shadow:var(--shadow)}
.t-pop .h-split .im{border-radius:44% 56% 62% 38% / 42% 44% 56% 58%;border:3px solid #161616;aspect-ratio:1}
.t-pop .hcard{left:auto;right:-6px;bottom:auto;top:-12px;transform:rotate(8deg);background:var(--p);color:var(--on-p);border:2.5px solid #161616;box-shadow:var(--shadow);border-radius:99px;text-align:center;padding:14px 20px}
.t-pop .vs-eb{display:inline-block;background:#161616;color:#fff;padding:5px 12px;border-radius:99px}
.t-pop .vs-head .btn{border:2.5px solid #161616;box-shadow:3px 3px 0 #161616}
.t-pop .vs-sec.alt{background:color-mix(in srgb,var(--p) 14%,#fffaf2)}
/* Épure : minimal, éditorial */
.t-epure{--bg:#fff;--fg:#111;--mut:#6b6b6b;--rad:0;--brad:0;--hw:400;--tint:#fff;--shadow:none}
.t-epure .vs-sec{border-top:1px solid var(--line)}
.t-epure .vs-sec > .w{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:44px}
.t-epure .vs-sec .hd{margin:0}
.t-epure .btn{background:var(--fg);color:var(--bg)}
.t-epure .btn.ghost{background:transparent;color:var(--fg)}
.t-epure .vs-head .btn{background:var(--fg);color:var(--bg)}
.t-epure .vs-svc article{border:0;border-top:1px solid var(--fg);padding:16px 0 0;background:none}
.t-epure .vs-svc .ix{display:none}
.t-epure .s-social{background:var(--bg);color:var(--fg);text-align:left}
.t-epure .s-social .vs-soc{justify-content:flex-start}
/* Nature : organique */
.t-nature{--bg:color-mix(in srgb,var(--p) 4%,#fcfbf6);--rad:24px}
.t-nature .h-full{border-radius:0 0 50% 50% / 0 0 56px 56px;overflow:hidden}
.t-nature .vs-sec.alt{border-radius:44px;margin-inline:12px}
.t-nature .vs-eb::before{content:"";display:inline-block;width:13px;height:13px;background:var(--p);border-radius:0 100% 0 100%;margin-right:8px;vertical-align:-1px}
.t-nature .s-social{border-radius:44px;margin-inline:12px;margin-block:12px}
/* Scène : nuit, vibrant */
.t-scene{--bg:color-mix(in srgb,var(--dk) 40%,#07070b);--fg:#f4f2ff;--mut:#bdb9cf;--card:#ffffff0f;--tint:#ffffff07;--line:#ffffff1c;--rad:16px;--htt:uppercase;--hw:800;--shadow:none}
.t-scene .h-full{min-height:540px;align-items:center}
.t-scene .h-full .hx{text-align:center;margin-inline:auto}
.t-scene .h-full .sl{margin-inline:auto}
.t-scene .h-full .cta{justify-content:center}
.t-scene .vs-hero h1{background:linear-gradient(90deg,#fff 10%,var(--ac) 55%,var(--p));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:4px}
.t-scene .btn{background:linear-gradient(90deg,var(--p),var(--ac));color:#fff;text-shadow:0 1px 2px #0006}
.t-scene .btn.ghost{background:transparent}
.t-scene .vs-eb,.t-scene .vs-new time,.t-scene .pr-l .pp,.t-scene .vs-contact dd a,.t-scene .vs-hours tr.today td{color:var(--ac)}
.t-scene .s-social{background:linear-gradient(120deg,var(--p),color-mix(in srgb,var(--ac) 70%,var(--p)));color:#fff}

@container (max-width:760px){
  .vs-head nav{display:none}
  .vs-head .nm{font-size:18px}
  .h-full{min-height:400px} .h-full .w{padding-block:44px}
  .h-split .w{grid-template-columns:1fr;gap:30px;padding-block:36px}
  .h-split .im{aspect-ratio:4/3}
  .t-serenite .h-split .im{aspect-ratio:4/5}
  .t-pop .h-split .im,.t-strategie .h-split .im{aspect-ratio:1}
  .hcard{left:12px}
  .t-strategie .h-split .im{outline-offset:8px}
  .h-mosaic .mos{grid-template-columns:1fr 1fr;grid-template-rows:180px 140px 140px}
  .h-mosaic .mos .im:first-child{grid-row:auto;grid-column:span 2}
  .h-mosaic .mos .im:nth-child(4){grid-column:span 2}
  .h-edit .wide{aspect-ratio:4/3}
  .vs-sec{padding-block:50px}
  .vs-about,.vs-contact{grid-template-columns:1fr}
  .t-epure .vs-sec > .w{grid-template-columns:1fr;gap:20px}
  .vs-new{grid-template-columns:90px 1fr;gap:12px}
  .vs-call{display:flex}
  .t-nature .vs-sec.alt,.t-nature .s-social{margin-inline:6px;border-radius:28px}
}

body{margin:0}.vs-root{container-type:inline-size}html{scroll-behavior:smooth}
