/* Apogeo Studio — mixage, mastering et studio d'enregistrement.
   Identité : doré et taupe, avec le noir du logo, le sable et le blanc cassé pour varier les sections.
   Chaque section choisit un thème (.t-dark, .t-taupe, .t-sand, .t-ivory, .t-gold) qui redéfinit les couleurs ;
   tous les composants lisent ces variables et s'adaptent d'eux-mêmes. */
@font-face{font-family:"Montserrat";src:url("../../fonts/montserrat-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("../../fonts/instrument-sans-latin-wght-normal.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url("../../fonts/dm-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url("../../fonts/dm-mono-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  /* palette de marque */
  --noir:#0c0a08; --noir-2:#15120f;
  --taupe-950:#1f1a16; --taupe-900:#2a241f; --taupe-800:#3a322b; --taupe-700:#4f453c; --taupe-500:#8a7b6b; --taupe-300:#b6a895; --taupe-200:#cfc3b2;
  --sand:#e6dccc; --sand-2:#ddd1bf; --ivory:#f6f1e8; --ivory-2:#efe8dc;
  --or:#c9a14a; --or-hi:#ecd08a; --or-lo:#9a7731; --or-deep:#6f531f;
  --ok:#8fbf7f; --err:#e48b72;
  --or-grad:linear-gradient(100deg,#ecd08a 0%,#c39646 42%,#f5e3a8 68%,#a8812f 100%);
  --display:"Montserrat","Avenir Next","Century Gothic","Helvetica Neue",Arial,sans-serif;
  --body:"Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"DM Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --s-1:.8125rem; --s0:1rem; --s1:1.1875rem;
  --s3:clamp(1.75rem,3.8vw,2.9rem); --s4:clamp(2.3rem,6.4vw,5.4rem);
  --gutter:clamp(16px,4vw,48px);
  --radius:4px;
  --lane-h:44px; --ruler-h:40px;
  color-scheme:dark;
  /* anciens noms, encore utilisés par l'administration */
  --gold:var(--or); --gold-hi:var(--or-hi); --gold-lo:var(--or-lo); --gold-grad:var(--or-grad); --on-gold:#140f05; --bronze:#8f6226;
}
/* thèmes de section : chaque section a son fond et sa couleur d'accent.
   Le doré reste réservé au logo et à quelques détails ; les couleurs vives portent l'interface. */
:root{
  --nuit:#14213d; --nuit-2:#1c2c4f; --ciel:#8fc3e6;
  --petrole:#0e4b55; --petrole-2:#13606b; --menthe:#8fd9c4;
  --bordeaux:#4e1527; --bordeaux-2:#64203a; --rose:#f2a6b8;
  --terracotta:#c9603a; --corail:#ef8a63; --peche:#f8c6a4;
  --sauge:#dbe3cf; --olive:#3e5a2c; --lavande:#b7a8e3; --violet:#5a3fa0;
}
:root,.t-dark{--bg:var(--noir);--fg:#f3eee4;--muted:#a89d8c;--line:#2e2822;--surface:#16130f;--surface-2:#201b16;--accent:var(--corail);--accent-hi:#f6a585;--accent-lo:#a9573b;--btn-bg:var(--corail);--btn-fg:#1a0d07;--grad:linear-gradient(90deg,var(--corail),var(--rose));--field:#0a0806}
.t-taupe{--bg:var(--taupe-900);--fg:#f3ede3;--muted:#c2b6a4;--line:#463c33;--surface:#332b25;--surface-2:#3d342c;--accent:var(--or-hi);--accent-hi:#f6dfa0;--accent-lo:var(--or);--btn-bg:var(--or-hi);--btn-fg:#140f05;--grad:var(--or-grad);--field:#231e19;color-scheme:dark}
.t-night{--bg:var(--nuit);--fg:#eef3fa;--muted:#a9b6cc;--line:#2b3c5f;--surface:#1b2b4c;--surface-2:#22355b;--accent:var(--ciel);--accent-hi:#b9dcf3;--accent-lo:#5a86a8;--btn-bg:var(--ciel);--btn-fg:#0b1426;--grad:linear-gradient(90deg,var(--ciel),var(--lavande));--field:#101a31;color-scheme:dark}
.t-petrol{--bg:var(--petrole);--fg:#eef7f5;--muted:#a8cbc6;--line:#21656e;--surface:#135862;--surface-2:#196570;--accent:var(--menthe);--accent-hi:#b8ecdd;--accent-lo:#4fa392;--btn-bg:var(--menthe);--btn-fg:#06231f;--grad:linear-gradient(90deg,var(--menthe),var(--ciel));--field:#0b3b43;color-scheme:dark}
.t-wine{--bg:var(--bordeaux);--fg:#fbeef1;--muted:#d6aab6;--line:#6e2a42;--surface:#5c1d33;--surface-2:#6a2540;--accent:var(--rose);--accent-hi:#f8c7d3;--accent-lo:#b56e80;--btn-bg:var(--rose);--btn-fg:#2a0812;--grad:linear-gradient(90deg,var(--rose),var(--peche));--field:#3d0f1e;color-scheme:dark}
.t-sand{--bg:var(--sand);--fg:#1d1813;--muted:#5f5447;--line:#c9bba6;--surface:#efe7da;--surface-2:#f5efe5;--accent:var(--terracotta);--accent-hi:#a8492a;--accent-lo:#d49a80;--btn-bg:var(--bordeaux);--btn-fg:#fbeef1;--grad:linear-gradient(90deg,var(--terracotta),var(--bordeaux));--field:#fbf8f2;color-scheme:light}
.t-ivory{--bg:var(--ivory);--fg:#1d1813;--muted:#63584b;--line:#dcd1c0;--surface:#fffcf6;--surface-2:#f1ebe0;--accent:var(--petrole-2);--accent-hi:#0e4b55;--accent-lo:#7fb3b8;--btn-bg:var(--petrole);--btn-fg:#eef7f5;--grad:linear-gradient(90deg,var(--petrole-2),var(--menthe));--field:#fff;color-scheme:light}
.t-sage{--bg:var(--sauge);--fg:#1b2216;--muted:#55614b;--line:#b9c6a9;--surface:#e8eedf;--surface-2:#f2f5ec;--accent:var(--olive);--accent-hi:#2c4320;--accent-lo:#8ea47a;--btn-bg:var(--olive);--btn-fg:#f2f5ec;--grad:linear-gradient(90deg,var(--olive),#7f9d5c);--field:#fbfcf8;color-scheme:light}
.t-terra{--bg:var(--terracotta);--fg:#fff6ef;--muted:#fde0cf;--line:rgba(255,246,239,.3);--surface:rgba(255,255,255,.12);--surface-2:rgba(255,255,255,.2);--accent:#fff1c9;--accent-hi:#fff6ef;--accent-lo:#f8c6a4;--btn-bg:var(--nuit);--btn-fg:#fff6ef;--grad:linear-gradient(90deg,#fff1c9,var(--peche));--field:#fff8f2;color-scheme:dark}
.t-gold{--bg:var(--or);--fg:#16110a;--muted:#3d3020;--line:rgba(22,17,10,.28);--surface:rgba(255,255,255,.18);--surface-2:rgba(255,255,255,.28);--accent:#16110a;--accent-hi:#16110a;--accent-lo:#3d3020;--btn-bg:var(--noir);--btn-fg:var(--or-hi);--grad:linear-gradient(90deg,#16110a,#3d3020);--field:#fff8e6;color-scheme:light}
.t-dark,.t-taupe,.t-night,.t-petrol,.t-wine,.t-sand,.t-ivory,.t-sage,.t-terra,.t-gold{background:var(--bg);color:var(--fg)}
.t-gold{background:linear-gradient(120deg,var(--or-hi) 0%,var(--or) 48%,#b48a3a 100%)}
.t-terra{background:linear-gradient(120deg,var(--terracotta) 0%,#b8492f 55%,var(--bordeaux-2) 120%)}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--noir);color:var(--fg);font-family:var(--body);font-size:var(--s0);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent-hi);outline-offset:3px;border-radius:2px}
.wrap{max-width:1280px;margin-inline:auto;padding-inline:var(--gutter)}
.narrow{max-width:820px}
section{scroll-margin-top:5.5rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--or);color:#140f05;padding:.6rem 1rem}
.skip:focus{left:1rem}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Typographie ---------- */
.mono{font-family:var(--mono);font-size:var(--s-1);letter-spacing:.08em;text-transform:uppercase}
.label,.eyebrow{font-family:var(--display);font-weight:600;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase}
.eyebrow{color:var(--accent);display:inline-flex;align-items:center;gap:.75rem;margin-bottom:1.1rem}
.eyebrow::before{content:"";width:2rem;height:1px;background:currentColor;flex:none}
.display{font-family:var(--display);font-weight:300;text-transform:uppercase;letter-spacing:.01em;line-height:1.02;text-wrap:balance;overflow-wrap:break-word}
.display b{font-weight:800;color:var(--accent)}
.display.small{font-size:clamp(1.5rem,3vw,2.1rem)}
.h2{font-size:var(--s3)}
.muted{color:var(--muted)}
.gold{color:var(--accent-hi)}
.lede{font-size:var(--s1);line-height:1.55;color:var(--muted);max-width:62ch;margin-top:1.25rem}
.tag{display:inline-block;font-family:var(--display);font-weight:700;font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .6rem;border-radius:2px;background:var(--accent);color:var(--on-accent)}
.tag.ghost{background:none;border:1px solid var(--line);color:var(--muted)}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--display);font-weight:700;font-size:.75rem;line-height:1;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:1.05rem 1.5rem;border-radius:999px;border:1px solid transparent;cursor:pointer;white-space:nowrap;background:none;color:inherit;transition:filter .2s,border-color .2s,background .2s,color .2s}
.btn-primary{background:var(--btn-bg);color:var(--btn-fg)}
.btn-primary:hover{filter:brightness(1.08)}
.btn-ghost{border-color:var(--accent-lo);color:var(--accent-hi)}
.btn-ghost:hover{border-color:var(--accent-hi)}
.t-sand .btn-ghost,.t-ivory .btn-ghost,.t-sage .btn-ghost,.t-gold .btn-ghost,.t-terra .btn-ghost{border-color:currentColor;color:var(--fg)}
.btn-dark{background:var(--noir);color:var(--or-hi)}
.btn-small{padding:.7rem 1rem;font-size:.6875rem}
.btn-danger{border-color:#6b3b2c;color:var(--err)}
.btn-danger:hover{border-color:var(--err)}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;filter:none}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}
.link{background:none;border:0;padding:0;color:var(--accent-hi);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.more-link{font-family:var(--display);font-weight:700;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--accent-hi);display:inline-flex;gap:.5rem;align-items:center;border-bottom:1px solid currentColor;padding-bottom:.2rem}

/* ---------- En-tête (logo à gauche, menu au centre, compte à droite) ---------- */
.top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--noir) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #2a241e;color:#f3eee4}
.top-in{display:flex;align-items:center;gap:1rem;min-height:4.5rem}
.brand{display:block;line-height:0;flex:none}
.brand img,.foot-logo{display:block;width:auto;filter:drop-shadow(0 0 5px rgba(236,208,138,.35)) drop-shadow(0 0 16px rgba(201,161,74,.22))}
.brand img{height:40px}
.mainnav{display:flex;gap:.25rem;margin-inline:auto}
.mainnav a{font-family:var(--display);font-weight:600;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:.65rem .8rem;border-radius:999px;color:#e6dfd2}
.mainnav a:hover,.mainnav a[aria-current="page"]{color:#fff;background:rgba(239,138,99,.16)}
.top-actions{display:flex;align-items:center;gap:.5rem;flex:none}
.top-link{font-family:var(--display);font-weight:600;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:#e6dfd2;padding:.6rem .4rem}
.top-link:hover{color:var(--corail)}
.top .btn{padding:.85rem 1.2rem}
.burger{display:none;width:2.9rem;height:2.9rem;border-radius:50%;border:1px solid #4a4037;background:none;color:#f3eee4;cursor:pointer;place-items:center}
.burger span{display:block;width:1.05rem;height:.5rem;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
.drawer{position:fixed;inset:4.5rem 0 0;z-index:29;background:var(--noir);padding:1.5rem var(--gutter) 3rem;overflow-y:auto;display:none}
.drawer.open{display:block}
.drawer nav{display:grid;gap:.25rem;border-bottom:1px solid #2a241e;padding-bottom:1.25rem;margin-bottom:1.25rem}
.drawer nav a{font-family:var(--display);font-weight:300;font-size:1.6rem;text-transform:uppercase;text-decoration:none;padding:.35rem 0}
.drawer nav a[aria-current="page"]{color:var(--corail)}
.drawer .sub{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1rem;margin-bottom:1.5rem}
.drawer .sub a{color:#bdb2a2;text-decoration:none}
.drawer .acts{display:grid;gap:.6rem}
@media (max-width:1080px){.mainnav{display:none}.burger{display:grid}.top-actions .top-link{display:none}.top-actions{margin-left:auto}}
@media (max-width:520px){.brand img{height:32px}.top .btn{padding:.75rem .9rem;font-size:.6875rem}.top .btn .long{display:none}}

.flash{margin-top:1.25rem;padding:.9rem 1.1rem;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface);border-radius:var(--radius)}
.flash-error{border-left-color:var(--err)}
.flash-ok{border-left-color:var(--ok)}
.flash-wrap{background:var(--noir)}
.flash-wrap .flash{margin:0;border-radius:0;border-width:0 0 1px;border-left-width:3px}

/* ---------- Héros en carrousel ---------- */
.hero{position:relative;overflow:hidden;background:var(--noir);color:#f6f1e8}
.slides{position:relative;min-height:min(86vh,760px)}
.slide{position:absolute;inset:0;display:flex;align-items:flex-end;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s}
.slide.on{opacity:1;visibility:visible}
.slide .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 8s ease}
.slide.on .bgimg{transform:scale(1)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,10,8,.92) 0%,rgba(12,10,8,.65) 38%,rgba(12,10,8,0) 72%),linear-gradient(0deg,rgba(12,10,8,.85) 0%,transparent 45%)}
.slide .in{position:relative;z-index:1;width:100%;padding-block:clamp(6rem,14vh,9rem) clamp(5.5rem,10vh,7rem)}
.slide h1,.slide h2{font-size:var(--s4);max-width:14ch}
.slide p{font-size:var(--s1);max-width:40ch;margin-top:1.25rem;color:#e2d9ca}
.slide .ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.slide .tag{margin-bottom:1.25rem}
.hero-ctrl{position:absolute;z-index:2;left:0;right:0;bottom:1.6rem}
.hero-ctrl .wrap{display:flex;align-items:center;gap:1rem}
.dots{display:flex;gap:.5rem}
.dots button{width:2.6rem;height:3px;border:0;padding:0;background:rgba(255,255,255,.25);cursor:pointer;position:relative;overflow:hidden}
.dots button i{position:absolute;inset:0;background:var(--corail);transform-origin:left;transform:scaleX(0)}
.dots button[aria-current="true"] i{animation:fill var(--dur,7s) linear forwards}
.hero.paused .dots button i{animation-play-state:paused}
@keyframes fill{to{transform:scaleX(1)}}
.hero-count{font-family:var(--mono);font-size:.75rem;color:#cfc4b2;margin-left:auto}
.roundbtn{width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(12,10,8,.35);color:#f6f1e8;cursor:pointer;display:grid;place-items:center;font-size:1rem}
.roundbtn:hover{border-color:var(--corail);color:var(--corail)}
.t-sand .roundbtn,.t-ivory .roundbtn{border-color:var(--line);background:none;color:var(--fg)}

/* Logo rétroéclairé (slide « studio » et pages) */
.logo3d{position:relative;width:clamp(240px,30vw,420px);perspective:900px;isolation:isolate}
.logo3d .logo-glow{position:absolute;z-index:-1;left:-18%;top:-31.25%;width:136%;max-width:none;height:auto;pointer-events:none;mix-blend-mode:screen;opacity:0;animation:ignite 2.4s .3s ease-out forwards,breathe 7s 2.7s ease-in-out infinite}
.logo3d-tilt{transform-style:preserve-3d;transition:transform .35s ease-out}
.logo3d-stage{position:relative;aspect-ratio:1440/456;transform-style:preserve-3d;transform:rotateY(-20deg) rotateX(5deg);animation:logoturn 11s ease-in-out infinite;will-change:transform}
.logo3d-stage img,.logo3d-stage .shine{position:absolute;inset:0;width:100%;height:100%;display:block}
.logo3d-stage .shine{background:linear-gradient(105deg,transparent 38%,rgba(255,250,235,.6) 50%,transparent 62%) 120% 0/260% 100% no-repeat;-webkit-mask:var(--logo-mask) center/100% 100% no-repeat;mask:var(--logo-mask) center/100% 100% no-repeat;animation:logoshine 11s ease-in-out infinite}
@keyframes logoturn{0%,100%{transform:rotateY(-18deg) rotateX(6deg)}50%{transform:rotateY(18deg) rotateX(-4deg)}}
@keyframes logoshine{0%,100%{background-position:120% 0}50%{background-position:-20% 0}}
@keyframes ignite{0%{opacity:0}8%{opacity:.55}11%{opacity:.1}17%{opacity:.8}21%{opacity:.35}30%,100%{opacity:1}}
@keyframes breathe{0%,100%{opacity:1}50%{opacity:.78}}
.slide-logo{position:absolute;z-index:1;right:max(var(--gutter),calc((100vw - 1280px)/2 + var(--gutter)));top:50%;transform:translateY(-60%)}
@media (max-width:900px){.slide-logo{display:none}.slide::after{background:linear-gradient(0deg,rgba(12,10,8,.95) 10%,rgba(12,10,8,.55) 60%,rgba(12,10,8,.2) 100%)}}

/* ---------- Sections ---------- */
.sec{padding-block:clamp(4rem,9vw,7.5rem)}
.sec.tight{padding-block:clamp(2.75rem,5.5vw,4.5rem)}
.sec-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:1rem clamp(1.5rem,4vw,3.5rem);align-items:end;margin-bottom:clamp(2.25rem,4.5vw,3.5rem)}
.sec-head h2{font-size:var(--s3)}
.sec-head p{color:var(--muted);max-width:52ch}
.sec-head .side{display:flex;flex-direction:column;gap:1.25rem;align-items:flex-start}
.sec-tag{color:var(--accent);margin-bottom:1.1rem;display:flex;align-items:center;gap:.75rem}
.sec-tag::before{content:"";width:2rem;height:1px;background:currentColor;flex:none}
.sec-foot{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
@media (max-width:820px){.sec-head{grid-template-columns:minmax(0,1fr)}}

.page-head{padding-block:clamp(3rem,7vw,5.5rem) clamp(2.25rem,4.5vw,3.5rem);background:radial-gradient(60% 90% at 95% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%),radial-gradient(40% 70% at 70% 120%,rgba(90,63,160,.22),transparent 70%),var(--bg);border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(2.1rem,5.4vw,4.4rem);max-width:20ch}
.crumbs{font-size:.8125rem;color:var(--muted);margin-bottom:1rem}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--accent-hi)}

/* Univers (accueil) */
.manifesto{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem clamp(2rem,5vw,5rem);align-items:start}
.manifesto h2{font-size:clamp(2rem,4.6vw,3.8rem)}
.manifesto .body{display:grid;gap:1.25rem;font-size:1.0625rem}
.promises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--line);padding-top:1.75rem}
.promises h3{font-family:var(--display);font-weight:700;font-size:1.0625rem;margin-bottom:.4rem}
.promises p{color:var(--muted);font-size:.9375rem}
.promises .n{font-family:var(--mono);color:var(--accent);font-size:.75rem;display:block;margin-bottom:.75rem}
@media (max-width:820px){.manifesto,.promises{grid-template-columns:minmax(0,1fr)}}

/* Cartes services (grandes, illustrées) */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.svc{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:26rem;border-radius:6px;overflow:hidden;padding:1.75rem;text-decoration:none;color:#f6f1e8;isolation:isolate;background:var(--taupe-950)}
.svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s ease}
.svc::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(12,10,8,.92) 15%,rgba(12,10,8,.2) 70%)}
.svc:hover img{transform:scale(1.05)}
.svc h3{font-family:var(--display);font-weight:800;font-size:clamp(1.5rem,2.4vw,2rem);text-transform:uppercase;line-height:1.05;margin:.9rem 0 .6rem}
.svc p{color:#ddd3c3;font-size:.9375rem;max-width:34ch}
.svc .price-from{margin-top:1.1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:var(--display);font-weight:600;color:var(--c-hi,#fff)}
@media (max-width:980px){.svc-grid{grid-template-columns:minmax(0,1fr)}.svc{min-height:19rem}}

/* ---------- Carrousel générique ---------- */
.rail-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.rail-nav{display:flex;gap:.5rem}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(16rem,1fr);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.25rem}
.rail::-webkit-scrollbar{display:none}
.rail > *{scroll-snap-align:start}
@media (min-width:1100px){.rail{grid-auto-columns:calc((100% - 3rem)/4)}}

/* Cartes extraits audio */
.tcard{display:flex;flex-direction:column;gap:.75rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:.75rem .75rem 1rem;min-width:0}
.tcard .art{position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--surface-2)}
.tcard .art img{width:100%;height:100%;object-fit:cover;display:block}
.tcard .art .play{position:absolute;right:.75rem;bottom:.75rem;width:3.25rem;height:3.25rem;background:var(--btn-bg);color:var(--btn-fg);border:0;box-shadow:0 8px 24px -8px #000}
.tcard.playing .art .play{background:var(--noir);color:var(--or-hi)}
.tcard .t{font-family:var(--display);font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.tcard .a{color:var(--muted);font-size:.9375rem}
.tcard .meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}

/* ---------- Tarifs ---------- */
.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17.5rem),1fr));gap:1rem}
.price{display:flex;flex-direction:column;gap:.9rem;padding:1.6rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;min-width:0}
.price.featured{border-color:var(--accent-lo);box-shadow:0 22px 60px -38px rgba(201,161,74,.8)}
.t-sand .price.featured{background:var(--bordeaux);color:#fbeef1;--muted:#d6aab6;--line:#6e2a42;--accent:var(--rose);--accent-hi:var(--rose);--btn-bg:var(--rose);--btn-fg:#2a0812}
.t-ivory .price.featured,.t-sage .price.featured{background:var(--petrole);color:#eef7f5;--muted:#a8cbc6;--line:#21656e;--accent:var(--menthe);--accent-hi:var(--menthe);--btn-bg:var(--menthe);--btn-fg:#06231f}
.price .tag{align-self:flex-start}
.price h3{font-family:var(--display);font-weight:700;font-size:1.25rem;line-height:1.2}
.price .amount{font-family:var(--display);font-weight:300;font-size:2.2rem;line-height:1;color:var(--accent-hi)}
.price .amount small{font-size:.875rem;color:var(--muted);font-weight:500;margin-left:.2rem}
.price .day{color:var(--muted);font-size:.875rem}
.price p{color:var(--muted);font-size:.9375rem}
.price ul{display:grid;gap:.4rem;font-size:.9375rem;margin-top:auto}
.price ul li{padding-left:1.2rem;position:relative}
.price ul li::before{content:"";position:absolute;left:0;top:.62em;width:.5rem;height:1px;background:var(--accent)}
.price .btn{margin-top:.4rem}
.price-table{width:100%;border-collapse:collapse}
.price-table th,.price-table td{text-align:left;padding:1rem .75rem 1rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.price-table th{font-family:var(--display);font-weight:600}
.price-table td.p{white-space:nowrap;color:var(--accent-hi);font-family:var(--display);font-weight:600;text-align:right;padding-right:0}
.price-table .muted{display:block;font-family:var(--body);font-weight:400;font-size:.9375rem;margin-top:.25rem}
.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:2rem}
.tabs a,.tabs button{font-family:var(--display);font-weight:600;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;padding:.7rem 1rem;border:1px solid var(--line);border-radius:999px;background:none;color:var(--muted);cursor:pointer;text-decoration:none}
.tabs [aria-current="page"],.tabs [aria-pressed="true"]{border-color:var(--accent);color:var(--fg);background:color-mix(in srgb,var(--accent) 12%,transparent)}

/* ---------- Étapes ---------- */
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem clamp(1rem,2.5vw,2rem);counter-reset:s}
.steps.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.steps li{counter-increment:s;border-top:1px solid var(--accent-lo);padding-top:1.1rem;display:flex;flex-direction:column;gap:.55rem}
.steps li::before{content:"0" counter(s);font-family:var(--display);font-weight:200;font-size:2.4rem;line-height:1;color:var(--accent)}
.steps h3{font-family:var(--display);font-weight:700;font-size:1.0625rem;line-height:1.25}
.steps p{color:var(--muted);font-size:.9375rem}
@media (max-width:1000px){.steps,.steps.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps,.steps.four{grid-template-columns:minmax(0,1fr)}}

/* ---------- Avis ---------- */
.reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:1rem}
.review{padding:1.75rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;gap:1.1rem}
.review blockquote{font-family:var(--display);font-weight:300;font-size:1.25rem;line-height:1.4}
.review blockquote::before{content:"«\00a0";color:var(--accent)}
.review blockquote::after{content:"\00a0»";color:var(--accent)}
.review cite{font-style:normal;color:var(--muted);font-size:.875rem}

/* ---------- Bandeau d'appel ---------- */
.cta-band{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem;align-items:center}
.cta-band h2{font-size:clamp(2rem,4.6vw,3.6rem)}
.cta-band .acts{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}
@media (max-width:820px){.cta-band{grid-template-columns:minmax(0,1fr)}.cta-band .acts{justify-content:flex-start}}

/* ---------- Choix de parcours (réserver / commander) ---------- */
.paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.path{display:flex;flex-direction:column;gap:1rem;padding:2rem;border-radius:6px;border:1px solid var(--line);background:var(--surface);text-decoration:none}
.path:hover{border-color:var(--accent-lo)}
.path h2{font-family:var(--display);font-weight:800;font-size:1.6rem;text-transform:uppercase}
.path p{color:var(--muted)}
@media (max-width:760px){.paths{grid-template-columns:minmax(0,1fr)}}

/* ---------- Services (détail) ---------- */
.group + .group{margin-top:clamp(2.75rem,5vw,4.5rem)}
.group-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1.25rem;padding-bottom:.9rem;border-bottom:1px solid var(--accent)}
.group-title h3{font-family:var(--display);font-weight:300;font-size:1.375rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.1;color:var(--accent-hi)}
.group-title span{color:var(--muted)}
.track{display:grid;grid-template-columns:3.25rem minmax(0,5fr) minmax(0,7fr);gap:.75rem clamp(1rem,3vw,2.5rem);padding-block:1.75rem;border-bottom:1px solid var(--line);scroll-margin-top:6rem}
.track .num{color:var(--accent);padding-top:.3rem}
.track h4{font-family:var(--display);font-weight:700;font-size:clamp(1.3rem,2.5vw,1.8rem);line-height:1.12}
.track-body{display:flex;flex-direction:column;gap:1rem;min-width:0}
.track-body p{max-width:60ch}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chips li{font-family:var(--display);font-weight:600;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .7rem;border:1px solid var(--line);border-radius:999px;color:var(--muted)}
@media (max-width:760px){.track{grid-template-columns:2.5rem minmax(0,1fr)}.track-body{grid-column:2}}
.checklist{display:grid;gap:.6rem}
.checklist li{padding-left:1.75rem;position:relative}
.checklist li::before{content:"";position:absolute;left:0;top:.35em;width:1rem;height:.55rem;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}

/* Fenêtre de session (page Services) */
.session{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0;box-shadow:0 30px 80px -40px rgba(201,161,74,.45)}
.daw{container-type:inline-size;background:linear-gradient(180deg,#201b16,#16130f 5.5rem);color:#f3eee4;--muted:#a89d8c;--line:#2e2822}
.daw-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem 1rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--line)}
.daw-title{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.daw-title .label{color:var(--or);font-size:.5625rem}
.daw-title .name{text-transform:none;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.daw-transport{display:flex;align-items:center;gap:.45rem}
.tbtn{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--muted);flex:none}
.tbtn svg{width:.7rem;height:.7rem;display:block}
.tbtn.on{width:2.6rem;height:2.6rem;background:var(--or-grad);border-color:transparent;color:#140f05;box-shadow:0 0 24px -4px var(--or)}
.tbtn.on svg{width:.85rem;height:.85rem;translate:1px 0}
.tbtn.rec i{width:.55rem;height:.55rem;border-radius:50%;background:var(--or-hi);animation:blink 1.6s steps(2,jump-none) infinite}
@keyframes blink{50%{opacity:.25}}
.daw-time{display:flex;align-items:center;justify-content:flex-end;gap:.9rem;min-width:0}
.clock{font-family:var(--display);font-weight:200;font-size:2.1rem;line-height:1;font-variant-numeric:tabular-nums}
.daw-time .meta{display:flex;flex-direction:column;gap:.35rem;font-size:.625rem;color:var(--muted);white-space:nowrap}
.daw-time .meta span:first-child{color:var(--or-hi);min-width:6.2em}
.session-body{display:grid;grid-template-columns:auto minmax(0,1fr)}
.lanes{border-right:1px solid var(--line)}
.lanes .head{height:var(--ruler-h);border-bottom:1px solid var(--line)}
.lanes a{height:var(--lane-h);display:flex;align-items:center;gap:.6rem;padding-inline:1.1rem .9rem;text-decoration:none;border-bottom:1px solid var(--line)}
.lanes li:last-child a{border-bottom:0}
.lanes a:hover{background:rgba(201,161,74,.09);color:var(--or-hi)}
.lanes .n{color:var(--muted);font-size:.625rem}
.lanes .tname{width:9.8em;font-size:.6875rem;line-height:1.25}
.lanes .meter{width:2rem;height:3px;border-radius:2px;background:var(--line);overflow:hidden;flex:none}
.lanes .meter i{display:block;height:100%;border-radius:2px;background:var(--or-grad);transform-origin:left center;transform:scaleX(.05)}
.lane-view{position:relative;overflow:hidden;min-height:calc(var(--ruler-h) + 8 * var(--lane-h))}
.lane-view canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.playhead{position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--or-hi);box-shadow:0 0 10px 1px rgba(236,208,138,.55);pointer-events:none;will-change:transform}
.playhead::before{content:"";position:absolute;top:0;left:-4px;width:9px;height:11px;border-radius:2px 2px 5px 5px;background:var(--or-hi)}
@container (max-width:560px){
  .daw-top{grid-template-columns:auto 1fr;padding:.75rem .8rem}.daw-title{display:none}
  .tbtn{width:1.8rem;height:1.8rem}.tbtn.on{width:2.3rem;height:2.3rem}.clock{font-size:1.7rem}
  .lanes a{padding-inline:.8rem .7rem;gap:.5rem}.lanes .n,.lanes .meter{display:none}
  .lanes .tname{width:auto;max-width:9.2em;font-size:.59375rem;letter-spacing:.04em}
}
@media (max-width:520px){:root{--lane-h:38px}}

/* ---------- Écoute ---------- */
.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:2rem}
.filters button{font-family:var(--display);font-weight:600;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;padding:.65rem .95rem;border:1px solid var(--line);border-radius:999px;background:none;color:var(--muted);cursor:pointer}
.filters button[aria-pressed="true"]{border-color:var(--accent);color:var(--fg)}
.tracks{display:grid;gap:.75rem}
.tr{display:grid;grid-template-columns:auto 4.5rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:6px}
.tr.playing{border-color:var(--accent-lo)}
.tr .cover{width:4.5rem;aspect-ratio:1;object-fit:cover;border-radius:3px;background:var(--surface-2);display:block}
.play{width:3rem;height:3rem;border-radius:50%;border:1px solid var(--accent-lo);background:none;color:var(--accent-hi);display:grid;place-items:center;cursor:pointer;flex:none}
.play:hover{border-color:var(--accent-hi)}
.tr.playing .play{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.play svg{width:1rem;height:1rem}
.tr-info{min-width:0}
.tr-info .t{font-family:var(--display);font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.tr-info .a{color:var(--muted);font-size:.9375rem}
.tr-info .k,.tcard .k{color:var(--accent);font-size:.625rem;letter-spacing:.14em;margin-top:.2rem}
.prog{grid-column:2/-1;display:flex;align-items:center;gap:.75rem}
.tcard .prog{grid-column:auto}
.bar{position:relative;flex:1;height:22px;cursor:pointer;touch-action:none}
.bar::before{content:"";position:absolute;left:0;right:0;top:10px;height:2px;background:var(--line);border-radius:1px}
.bar i{position:absolute;left:0;top:10px;height:2px;background:var(--grad);border-radius:1px;width:0}
.time{font-family:var(--mono);font-size:.6875rem;color:var(--muted);min-width:5.5em;text-align:right}
.ab{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.ab button{font-family:var(--display);font-weight:700;font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;padding:.5rem .75rem;border:0;background:none;color:var(--muted);cursor:pointer}
.ab button[aria-pressed="true"]{background:var(--btn-bg);color:var(--btn-fg)}
.vol{display:flex;align-items:center;gap:.5rem;color:var(--muted);margin-bottom:1.25rem}
.vol input{width:8rem;accent-color:var(--accent)}
@media (max-width:620px){.tr{grid-template-columns:auto minmax(0,1fr);gap:.75rem}.tr .cover{display:none}.tr .ab{grid-column:1/-1;justify-self:start}.prog{grid-column:1/-1}}

/* ---------- Galerie et vidéos ---------- */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.75rem}
.gallery button{padding:0;border:0;background:var(--surface-2);cursor:zoom-in;aspect-ratio:4/3;overflow:hidden;border-radius:4px;display:block;width:100%}
.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.gallery button:hover img{transform:scale(1.04)}
.lightbox{position:fixed;inset:0;z-index:60;background:rgba(12,10,8,.96);display:grid;grid-template-rows:1fr auto;place-items:center;padding:1rem;color:#f3eee4}
.lightbox img{max-width:100%;max-height:calc(100vh - 6rem);object-fit:contain}
.lightbox p{color:#a89d8c;padding:.75rem;text-align:center}
.lightbox .lb-close,.lightbox .lb-prev,.lightbox .lb-next{position:absolute;background:rgba(22,19,15,.85);border:1px solid #2e2822;color:var(--or-hi);width:3rem;height:3rem;border-radius:50%;cursor:pointer;font-size:1.25rem;line-height:1}
.lb-close{top:1rem;right:1rem}.lb-prev{left:1rem;top:50%}.lb-next{right:1rem;top:50%}
.videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:1.25rem}
.video figcaption{margin-top:.6rem}
.video figcaption .k{color:var(--accent);font-size:.625rem;letter-spacing:.14em}
.yt{position:relative;aspect-ratio:16/9;background:#201b16 center/cover no-repeat;border:1px solid var(--line);border-radius:6px;overflow:hidden;color:#f3eee4}
.yt button{position:absolute;inset:0;width:100%;border:0;background:linear-gradient(transparent,rgba(12,10,8,.78));color:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1rem;font:inherit}
.yt button .pl{width:4rem;height:4rem;border-radius:50%;background:var(--btn-bg);color:var(--btn-fg);display:grid;place-items:center;box-shadow:0 0 30px -5px var(--or)}
.yt button small{color:#cfc4b2;font-size:.75rem;max-width:38ch;text-align:center}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- Artistes, équipe ---------- */
.works{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:1.5rem 1rem}
.work{display:flex;flex-direction:column;gap:.6rem;min-width:0}
.cov{aspect-ratio:1;border-radius:4px;border:1px solid var(--line);background:var(--surface-2);position:relative;overflow:hidden;margin-bottom:.3rem}
.cov img{width:100%;height:100%;object-fit:cover;display:block}
.work .name{font-family:var(--display);font-weight:700;line-height:1.3}
.work .who{color:var(--muted);font-size:.9375rem}
.cov-grooves{background:repeating-radial-gradient(circle at 50% 50%,var(--surface) 0 3px,var(--line) 3px 4px)}
.cov-grooves::after{content:"";position:absolute;inset:34%;border-radius:50%;background:var(--grad)}
.note{margin-top:2rem;color:var(--muted);font-size:.9375rem;border-left:2px solid var(--accent-lo);padding-left:1rem;max-width:62ch}
.empty{padding:2.5rem 1.5rem;border:1px dashed var(--line);border-radius:6px;color:var(--muted);text-align:center}
.empty .btn{margin-top:1.25rem}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:1.5rem}
.member .ph{aspect-ratio:4/5;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;overflow:hidden;margin-bottom:1rem}
.member .ph img{width:100%;height:100%;object-fit:cover}
.member h3{font-family:var(--display);font-weight:700;font-size:1.25rem}
.member .role{color:var(--accent);font-size:.6875rem;margin:.3rem 0 .6rem}
.member p{color:var(--muted);font-size:.9375rem}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem;border-top:1px solid var(--accent-lo);padding-top:1.5rem}
.facts dt{color:var(--accent);font-size:.6875rem;margin-bottom:.35rem}
.facts dd{font-family:var(--display);font-weight:300;font-size:1.5rem;line-height:1.2}
.prose{max-width:66ch}
.prose p + p{margin-top:1rem}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem)}
@media (max-width:820px){.two{grid-template-columns:minmax(0,1fr)}}
.dev .pillars,.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(1.5rem,4vw,3.5rem);margin-top:clamp(2.25rem,5vw,4rem);border-top:1px solid var(--line)}
.pillars li{padding-block:1.4rem;border-bottom:1px solid var(--line)}
.pillars h3{font-family:var(--display);font-weight:700;font-size:1.0625rem;line-height:1.2;margin-bottom:.45rem}
.pillars p{font-size:.9375rem;color:var(--muted)}
@media (max-width:900px){.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.pillars{grid-template-columns:minmax(0,1fr)}}

/* ---------- Matériel ---------- */
.stage{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:.5rem clamp(1.5rem,4vw,3.5rem);border-top:1px solid var(--accent-lo);padding-top:1.4rem}
.stage + .stage{margin-top:clamp(1.75rem,3.5vw,2.75rem)}
.stage > h3{color:var(--accent-hi);font-size:.8125rem;padding-top:.35rem}
.gear-item{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:.4rem clamp(1rem,3vw,2.5rem);padding-block:1.15rem;border-bottom:1px solid var(--line)}
.gear-item:first-child{padding-top:0}
.gear-item:last-child{border-bottom:0;padding-bottom:0}
.gear-item h4{font-family:var(--display);font-weight:700;font-size:1.25rem;line-height:1.2}
.gear-item .kind{display:block;color:var(--muted);font-size:.6875rem;letter-spacing:.12em;margin-top:.4rem}
.gear-item p{max-width:56ch}
@media (max-width:820px){.stage{grid-template-columns:minmax(0,1fr)}.stage > h3{padding-bottom:.6rem}}
@media (max-width:560px){.gear-item{grid-template-columns:minmax(0,1fr)}}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;padding:1.3rem 0;font-family:var(--display);font-weight:600;font-size:1.125rem;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent-hi);font-weight:300;font-size:1.6rem;line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 0 1.4rem;color:var(--muted);max-width:68ch}
.faq .a p + p{margin-top:.75rem}

/* ---------- Formulaires ---------- */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:clamp(1.1rem,3vw,2.25rem)}
.form.plain{padding:0;border:0;background:none}
.stack{display:grid;gap:1.1rem}
.field{display:flex;flex-direction:column;gap:.45rem;min-width:0}
.field.full{grid-column:1/-1}
label,.lbl{font-family:var(--display);font-weight:600;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{font:inherit;color:var(--fg);background:var(--field);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem .9rem;width:100%;min-width:0}
input[type="checkbox"],input[type="radio"]{width:auto;accent-color:var(--accent)}
input[type="range"]{padding:0;border:0;background:none}
input:hover,select:hover,textarea:hover{border-color:var(--accent-lo)}
textarea{min-height:8.5rem;resize:vertical}
::placeholder{color:var(--muted);opacity:.75}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:1px solid var(--accent-hi);outline-offset:0;border-color:var(--accent-hi)}
.check{display:flex;gap:.65rem;align-items:flex-start;font-size:.9375rem;color:var(--fg);text-transform:none;letter-spacing:0;font-family:var(--body);font-weight:400}
.check.field{flex-direction:row}
.check input{margin-top:.3rem}
p.field{display:block}
.hint{color:var(--muted);font-size:.875rem}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem}
.status{font-size:.9375rem;color:var(--muted);flex:1 1 16rem;min-width:0}
@media (max-width:520px){.form{grid-template-columns:minmax(0,1fr)}}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2.75rem clamp(1.5rem,4vw,3.5rem)}
.contact-info{display:flex;flex-direction:column;gap:1.75rem}
.contact-info > p{color:var(--muted);max-width:42ch}
.coords{display:grid;gap:1.15rem}
.coords dt{color:var(--accent);font-size:.6875rem;margin-bottom:.15rem}
.coords dd{font-size:1.125rem;overflow-wrap:anywhere}
.coords a{text-decoration:none;border-bottom:1px solid var(--accent-lo)}
.coords a:hover{color:var(--accent-hi)}
.coords .more{font-size:.9375rem;color:var(--accent-hi);margin-left:.6rem;white-space:nowrap}
.map{margin-top:2.5rem;aspect-ratio:16/7;min-height:260px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--surface);display:grid;place-items:center;text-align:center;padding:1rem}
.map iframe{width:100%;height:100%;border:0}
@media (max-width:860px){.contact-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Réservation et commande ---------- */
.book{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(1.5rem,3vw,2.5rem);align-items:start}
@media (max-width:980px){.book{grid-template-columns:minmax(0,1fr)}}
.bstep{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:clamp(1.1rem,2.5vw,1.75rem)}
.bstep + .bstep{margin-top:1rem}
.bstep > h2{display:flex;align-items:baseline;gap:.75rem;font-family:var(--display);font-weight:700;font-size:1.25rem;margin-bottom:1.1rem}
.bstep > h2 .mono{color:var(--accent)}
.bstep.off{opacity:.45;pointer-events:none}
.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.6rem}
.choice{position:relative}
.choice input{position:absolute;opacity:0;inset:0;pointer-events:none}
.choice label{display:flex;flex-direction:column;gap:.3rem;height:100%;padding:.95rem 1rem;border:1px solid var(--line);border-radius:6px;cursor:pointer;text-transform:none;letter-spacing:0;font-family:var(--body);font-weight:400;font-size:.9375rem;color:var(--fg)}
.choice label b{font-family:var(--display);font-weight:700;font-size:1rem}
.choice label span{color:var(--muted);font-size:.875rem}
.choice label em{font-style:normal;color:var(--accent-hi);font-family:var(--display);font-weight:600;font-size:.875rem}
.choice input:checked + label{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:inset 0 0 0 1px var(--accent)}
.choice input:focus-visible + label{outline:2px solid var(--accent-hi);outline-offset:2px}
.durs{display:flex;flex-wrap:wrap;gap:.5rem}
.durs .choice label{padding:.7rem 1.1rem;align-items:center;border-radius:999px}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.stepper button{width:2.8rem;height:2.8rem;border:0;background:none;color:var(--accent-hi);font-size:1.25rem;cursor:pointer}
.stepper input{width:4rem;text-align:center;border:0;background:none;font-family:var(--display);font-weight:700;font-size:1.1rem;padding:.5rem 0}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.cal-head b{font-family:var(--display);font-weight:600;text-transform:capitalize}
.cal-nav{width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--line);background:none;color:var(--accent-hi);cursor:pointer;font-size:1.1rem}
.cal-nav:disabled{opacity:.3;cursor:default}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;text-align:center}
.cal .dow{font-family:var(--mono);font-size:.625rem;color:var(--muted);padding-bottom:.35rem;text-transform:uppercase}
.cal button{aspect-ratio:1;max-height:3.4rem;border:1px solid var(--line);border-radius:4px;background:none;color:var(--fg);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;position:relative;padding:0}
.cal button::after{content:"";position:absolute;left:50%;bottom:16%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--accent)}
.cal button:disabled{color:color-mix(in srgb,var(--muted) 45%,transparent);border-color:transparent;cursor:default}
.cal button:disabled::after{display:none}
.cal button[aria-pressed="true"]{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.cal button[aria-pressed="true"]::after{background:var(--btn-fg)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));gap:.4rem;margin-top:1.25rem}
.slots button{padding:.75rem .5rem;border:1px solid var(--line);border-radius:999px;background:none;color:var(--fg);font-family:var(--mono);font-size:.875rem;cursor:pointer}
.slots button:hover{border-color:var(--accent-lo)}
.slots button[aria-pressed="true"]{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.slots-empty{color:var(--muted);margin-top:1rem}
.summary{position:sticky;top:6rem;background:var(--surface);border:1px solid var(--accent-lo);border-radius:6px;padding:1.5rem}
.summary h2{font-family:var(--display);font-weight:700;font-size:1.125rem;margin-bottom:1rem}
.sumrows{display:grid;gap:.55rem;font-size:.9375rem}
.sumrows div{display:flex;justify-content:space-between;gap:1rem}
.sumrows dt{color:var(--muted)}
.sumrows dd{text-align:right}
.sumrows .total{padding-top:.7rem;border-top:1px solid var(--line);font-family:var(--display);font-weight:600}
.sumrows .now{color:var(--accent-hi);font-family:var(--display);font-weight:700;font-size:1.125rem}
.summary .btn{width:100%;margin-top:1.25rem}
.summary .hint{margin-top:.9rem}
.codes{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:end}
.code-msg{grid-column:1/-1;font-size:.875rem}
.code-msg.ok{color:var(--ok)}.code-msg.ko{color:var(--err)}
.auth-switch{display:flex;gap:.5rem;margin-bottom:1rem}
.auth-switch button{flex:1;padding:.75rem;border:1px solid var(--line);background:none;color:var(--muted);font-family:var(--display);font-weight:600;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;cursor:pointer}
.auth-switch button[aria-pressed="true"]{border-color:var(--accent);color:var(--fg)}
.urgent{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}

/* ---------- Espace client ---------- */
.acc-head{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:end;justify-content:space-between}
.acc-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.75rem 0 0}
.acc-nav a{padding:.65rem 1rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-family:var(--display);font-weight:600;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.acc-nav a[aria-current="page"],.acc-nav a:hover{border-color:var(--accent);color:var(--fg)}
.acc-nav .count{display:inline-grid;place-items:center;min-width:1.3rem;height:1.3rem;border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);--x:#140f05;font-size:.625rem;margin-left:.35rem}
.cards{display:grid;gap:.75rem}
.bcard{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem 1.25rem;align-items:center;padding:1.1rem 1.25rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;text-decoration:none}
.bcard:hover{border-color:var(--accent-lo)}
.bcard .d{font-family:var(--display);text-align:center;min-width:3.5rem}
.bcard .d b{display:block;font-size:1.75rem;font-weight:300;line-height:1;color:var(--accent-hi)}
.bcard .d span{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.bcard h3{font-family:var(--display);font-weight:700;font-size:1.0625rem;line-height:1.25}
.bcard p{color:var(--muted);font-size:.9375rem}
@media (max-width:560px){.bcard{grid-template-columns:auto minmax(0,1fr)}.bcard .pill{grid-column:2;justify-self:start}}
.pcard{display:grid;gap:1rem;padding:1.4rem 1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;text-decoration:none}
.pcard:hover{border-color:var(--accent-lo)}
.pcard .top-row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:baseline}
.pcard h3{font-family:var(--display);font-weight:700;font-size:1.125rem}
.pill{display:inline-block;padding:.32rem .6rem;border-radius:999px;font-family:var(--display);font-weight:700;font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.pill.confirmed,.pill.paid,.pill.active,.pill.sent,.pill.paiement_ok,.pill.fichiers_dispo,.pill.valide{border-color:color-mix(in srgb,var(--ok) 55%,transparent);color:var(--ok)}
.pill.requested,.pill.pending_payment,.pill.pending,.pill.new,.pill.recue,.pill.paiement_attente,.pill.mix_validation,.pill.master_termine,.pill.en_cours{border-color:var(--accent-lo);color:var(--accent-hi)}
.pill.cancelled,.pill.expired,.pill.failed,.pill.refunded,.pill.annulee,.pill.modifications,.pill.modifs{border-color:#7a4433;color:var(--err)}
/* barre de progression d'un projet */
.progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem}
.progress li{display:flex;flex-direction:column;gap:.45rem;font-size:.6875rem;font-family:var(--display);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.progress li::before{content:"";height:4px;border-radius:2px;background:var(--line)}
.progress li.done::before{background:var(--grad)}
.progress li.now{color:var(--fg)}
.progress li.now::before{background:var(--grad);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 60%,transparent)}
@media (max-width:620px){.progress li span{display:none}.progress li.now span{display:inline}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:clamp(1.1rem,2.5vw,1.75rem)}
.panel + .panel{margin-top:1rem}
.panel h2{font-family:var(--display);font-weight:700;font-size:1.125rem;margin-bottom:1rem}
.kv{display:grid;grid-template-columns:minmax(0,12rem) minmax(0,1fr);gap:.55rem 1rem;font-size:.9375rem}
.kv dt{color:var(--muted)}
@media (max-width:520px){.kv{grid-template-columns:minmax(0,1fr)}.kv dd{margin-bottom:.5rem}}
.tbl{width:100%;border-collapse:collapse;font-size:.9375rem}
.tbl th{text-align:left;font-family:var(--display);font-weight:600;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.6rem .75rem .6rem 0;border-bottom:1px solid var(--accent-lo)}
.tbl td{padding:.75rem .75rem .75rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.tbl td.r,.tbl th.r{text-align:right}
.tbl-wrap{overflow-x:auto}
.actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.notes{display:grid;gap:.75rem;margin-bottom:1.25rem}
.notes li{padding:.9rem 1rem;border:1px solid var(--line);border-radius:6px}
.notes li.studio{border-color:var(--accent-lo)}
.notes .who{font-size:.75rem;color:var(--muted);margin-bottom:.3rem}
.timeline{display:grid;gap:0;border-left:1px solid var(--line);margin-left:.4rem}
.timeline li{position:relative;padding:0 0 1.1rem 1.25rem}
.timeline li::before{content:"";position:absolute;left:-5px;top:.45rem;width:9px;height:9px;border-radius:50%;background:var(--surface);border:1px solid var(--accent)}
.timeline li.studio::before{background:var(--accent)}
.timeline .when{font-size:.75rem;color:var(--muted)}
.timeline .what{font-size:.9375rem}
.files{display:grid;gap:.6rem}
.file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem 1rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}
.file .ic{width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent-hi);font-family:var(--display);font-weight:800;font-size:.625rem;letter-spacing:.06em}
.file .nm{font-weight:600;overflow-wrap:anywhere}
.file .mt{font-size:.8125rem;color:var(--muted)}
.file audio{grid-column:1/-1;width:100%;height:36px}
.file .rv{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
@media (max-width:560px){.file{grid-template-columns:auto minmax(0,1fr)}.file > .actions{grid-column:1/-1}}
.uploader{border:1px dashed var(--accent-lo);border-radius:6px;padding:1.25rem;display:grid;gap:1rem}
.uploader .drop{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.up-list{display:grid;gap:.6rem}
.up-item{display:grid;gap:.4rem}
.up-name{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.75rem;align-items:center}
.up-name input{padding:.55rem .7rem}
.up-bar{height:4px;border-radius:2px;background:var(--line);overflow:hidden}
.up-bar i{display:block;height:100%;width:0;background:var(--grad);transition:width .2s}
.up-msg{font-size:.8125rem}
.up-err .up-msg{color:var(--err)}
.up-done{color:var(--ok)}

/* ---------- Connexion ---------- */
.auth-page{min-height:100vh;display:grid;place-items:center;padding:2rem var(--gutter);background:radial-gradient(60% 60% at 50% 0%,rgba(201,161,74,.14),transparent 70%),var(--noir)}
.auth-box{width:min(100%,28rem);display:grid;gap:1.25rem}
.auth-logo{width:220px;filter:drop-shadow(0 0 6px rgba(236,208,138,.35)) drop-shadow(0 0 18px rgba(201,161,74,.22))}
.auth-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}
@media (max-width:820px){.auth-split{grid-template-columns:minmax(0,1fr)}}
.checks{display:grid;gap:.3rem;font-size:.875rem}
.checks .ok{color:var(--ok)}.checks .ko{color:var(--err)}

/* ---------- Pied ---------- */
.foot{padding-block:clamp(3rem,6vw,4.5rem) 1.75rem;color:var(--muted);font-size:.9375rem;border-top:1px solid var(--line)}
.foot-in{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr));gap:2rem clamp(1.5rem,4vw,3rem);align-items:start}
.foot-logo{height:60px;margin-bottom:1rem}
.foot h3{color:var(--accent);margin-bottom:.85rem;font-size:.6875rem}
.foot ul{display:grid;gap:.4rem}
.foot a{text-decoration:none}
.foot a:hover{color:var(--accent-hi)}
.socials{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}
.socials a{width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--fg)}
.socials a:hover{border-color:var(--accent);color:var(--accent-hi)}
.socials svg{width:1rem;height:1rem}
.foot-legal{margin-top:2.75rem;padding-top:1.25rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:space-between;font-size:.8125rem}
.foot-legal nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
.foot-legal button{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.foot-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.foot-in > :first-child{grid-column:1/-1}}
.wa{position:fixed;right:1rem;bottom:1rem;z-index:40;width:3.4rem;height:3.4rem;border-radius:50%;display:grid;place-items:center;background:#25a366;color:#fff;box-shadow:0 10px 30px -10px #000}

/* ---------- Bannière cookies ---------- */
.cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:70;max-width:44rem;margin-inline:auto;background:var(--ivory);color:#1d1813;border-radius:8px;box-shadow:0 24px 80px -20px rgba(0,0,0,.7);padding:1.4rem 1.5rem;--fg:#1d1813;--muted:#63584b;--line:#dcd1c0;--accent:var(--or-deep);--accent-hi:#7d5d1f;--accent-lo:#b49563;--field:#fff;color-scheme:light}
.cookie h2{font-family:var(--display);font-weight:800;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}
.cookie p{font-size:.9375rem;color:#4b4238}
.cookie .acts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}
.cookie .btn{padding:.85rem 1.2rem}
.cookie .btn-primary{background:var(--petrole);color:#eef7f5}
.cookie .btn-ghost{border-color:#1d1813;color:#1d1813}
.cookie .cats{display:grid;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #dcd1c0}
.cookie .cat{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1rem;align-items:start}
.cookie .cat b{font-family:var(--display);font-size:.9375rem}
.cookie .cat span{font-size:.8125rem;color:#63584b;grid-column:1}
.switch{position:relative;width:2.8rem;height:1.6rem;grid-row:1/span 2;grid-column:2}
.switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;z-index:1}
.switch i{position:absolute;inset:0;border-radius:999px;background:#cfc3b2;transition:background .2s}
.switch i::after{content:"";position:absolute;top:3px;left:3px;width:1.1rem;height:1.1rem;border-radius:50%;background:#fff;transition:transform .2s}
.switch input:checked + i{background:var(--taupe-900)}
.switch input:checked + i::after{transform:translateX(1.2rem)}
.switch input:disabled + i{opacity:.55}
.switch input:focus-visible + i{outline:2px solid var(--or-deep);outline-offset:2px}
.consent-box{display:grid;place-items:center;text-align:center;gap:.75rem;padding:1.5rem;height:100%}
.consent-box p{font-size:.875rem;color:#cfc4b2;max-width:36ch}

/* ---------- Textes légaux ---------- */
.legal{max-width:74ch}
.legal h2{font-family:var(--display);font-weight:700;font-size:1.25rem;margin:2.25rem 0 .75rem;color:var(--accent)}
.legal p + p{margin-top:.8rem}
.legal ul{list-style:disc;padding-left:1.25rem;display:grid;gap:.35rem;margin-top:.6rem}
.legal table{width:100%;border-collapse:collapse;margin-top:.75rem;font-size:.9375rem}
.legal th,.legal td{text-align:left;padding:.6rem .6rem .6rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.legal .warn{margin-bottom:2rem}

/* ---------- Document imprimable ---------- */
.doc{background:#fff;color:#111;max-width:800px;margin:2rem auto;padding:3rem;font-family:var(--body);border-radius:4px}
.doc h1{font-family:var(--display);font-weight:700;font-size:1.6rem;letter-spacing:.06em;text-transform:uppercase}
.doc table{width:100%;border-collapse:collapse;margin-top:1.5rem}
.doc td,.doc th{padding:.6rem 0;border-bottom:1px solid #ddd;text-align:left}
.doc .r{text-align:right}
.doc .head{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start;margin-bottom:2.5rem}
.doc .head img{width:200px;background:#0c0a08;padding:.75rem;border-radius:4px}
.doc .total td{font-weight:700;border-top:2px solid #111}
.doc .small{color:#555;font-size:.85rem;margin-top:2rem}
.doc-actions{text-align:center;margin:1rem}
@media print{body{background:#fff}.doc{margin:0;padding:0;max-width:none}.doc-actions,.top,.foot,.wa,.cookie{display:none!important}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .tbtn.rec i,.logo3d-stage,.logo3d-stage .shine{animation:none}
  .logo3d .logo-glow{animation:none;opacity:1}
  .slide,.slide .bgimg{transition:none}
}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:1rem}
.mainnav a,.top-link{white-space:nowrap}
.svc .tag,.slide .tag{align-self:flex-start}
@media (max-width:1280px){.top-actions .top-link + .top-link{display:none}}
@media (max-width:560px){.cookie{left:.5rem;right:.5rem;bottom:.5rem;padding:1rem 1.1rem}.cookie h2{font-size:.9rem}.cookie p{font-size:.8125rem}.cookie .acts{gap:.4rem}.cookie .btn{padding:.7rem .85rem;font-size:.625rem}}
.check input{flex:none}

/* ---------- Couleurs par carte / par diapositive ---------- */
.svc.c1{--c:14,75,85;--c-hi:var(--menthe)} .svc.c2{--c:78,21,39;--c-hi:var(--rose)} .svc.c3{--c:20,33,61;--c-hi:var(--ciel)}
.svc::after{background:linear-gradient(0deg,rgba(var(--c,12,10,8),.96) 18%,rgba(var(--c,12,10,8),.35) 75%)}
.svc.c1 img{filter:hue-rotate(140deg) saturate(1.2)} .svc.c2 img{filter:hue-rotate(300deg) saturate(1.3)} .svc.c3 img{filter:hue-rotate(185deg) saturate(1.2)}
.svc .tag{background:var(--c-hi);color:#111}
.slide.s1 .bgimg{filter:hue-rotate(185deg) saturate(1.25)}
.slide.s2 .bgimg{filter:hue-rotate(300deg) saturate(1.3)}
.slide.s3 .bgimg{filter:hue-rotate(140deg) saturate(1.1) brightness(.6)}
.slide.s1::after{background:linear-gradient(90deg,rgba(20,33,61,.95) 0%,rgba(20,33,61,.6) 40%,rgba(20,33,61,0) 75%),linear-gradient(0deg,rgba(12,10,8,.85) 0%,transparent 45%)}
.slide.s2::after{background:linear-gradient(90deg,rgba(78,21,39,.95) 0%,rgba(78,21,39,.6) 40%,rgba(78,21,39,0) 75%),linear-gradient(0deg,rgba(12,10,8,.85) 0%,transparent 45%)}
.slide.s3::after{background:linear-gradient(90deg,rgba(14,75,85,.95) 0%,rgba(14,75,85,.6) 40%,rgba(14,75,85,0) 75%),linear-gradient(0deg,rgba(12,10,8,.85) 0%,transparent 45%)}
.slide.s1{--accent:var(--ciel);--btn-bg:var(--ciel);--btn-fg:#0b1426}
.slide.s2{--accent:var(--rose);--btn-bg:var(--rose);--btn-fg:#2a0812}
.slide.s3{--accent:var(--menthe);--btn-bg:var(--menthe);--btn-fg:#06231f}
.slide .tag{background:var(--btn-bg);color:var(--btn-fg)}
.slide .btn-ghost{border-color:rgba(255,255,255,.45);color:#fff}
/* étapes : une couleur par numéro */
.steps li:nth-child(5n+1)::before{color:var(--terracotta)} .steps li:nth-child(5n+2)::before{color:var(--petrole-2)}
.steps li:nth-child(5n+3)::before{color:var(--violet)} .steps li:nth-child(5n+4)::before{color:#b3324f} .steps li:nth-child(5n+5)::before{color:#2f6db0}
.t-night .steps li::before,.t-wine .steps li::before,.t-petrol .steps li::before,.t-dark .steps li::before{filter:brightness(1.9) saturate(.8)}
.steps li{border-top-color:var(--line)}
/* promesses et cartes de prix : touches de couleur */
.promises li:nth-child(1) .n{color:var(--terracotta)} .promises li:nth-child(2) .n{color:var(--violet)} .promises li:nth-child(3) .n{color:var(--petrole-2)}
.price-grid .price:not(.featured):nth-child(3n+1){border-top:3px solid var(--terracotta)}
.price-grid .price:not(.featured):nth-child(3n+2){border-top:3px solid var(--petrole-2)}
.price-grid .price:not(.featured):nth-child(3n+3){border-top:3px solid var(--violet)}
.tcard:nth-child(4n+1) .meta .tag:first-child{background:var(--corail);color:#1a0d07}
.tcard:nth-child(4n+2) .meta .tag:first-child{background:var(--ciel);color:#0b1426}
.tcard:nth-child(4n+3) .meta .tag:first-child{background:var(--menthe);color:#06231f}
.tcard:nth-child(4n+4) .meta .tag:first-child{background:var(--rose);color:#2a0812}
.top .btn-primary{background:var(--corail);color:#1a0d07}

/* =====================================================================
   DIRECTION « RACK » — sobre et haut de gamme.
   Bois sombre (espresso), papier gris chaud, laiton pour les détails,
   bleu console et bordeaux en grands aplats. Typo Montserrat fine, en minuscules.
   Un seul élément fort : les vumètres rétroéclairés du haut de page.
   ===================================================================== */
:root{
  --espresso:#1d1915; --espresso-2:#25201b; --espresso-3:#2e2822;
  --taupe-m:#7d6e60; --paper:#e7e3dc; --paper-2:#dcd6cc; --stone:#cfc8bc;
  --brass:#b9975b; --brass-hi:#d6b981; --console:#33495b; --console-2:#2a3d4d; --oxblood:#55202b; --oxblood-2:#6a2a37;
}
:root,.t-dark{--bg:var(--espresso);--fg:#ece7df;--muted:#a59a8b;--line:#38302a;--surface:var(--espresso-2);--surface-2:var(--espresso-3);--accent:var(--brass);--accent-hi:var(--brass-hi);--accent-lo:#7c6540;--btn-bg:#ece7df;--btn-fg:var(--espresso);--grad:linear-gradient(90deg,var(--brass),var(--brass-hi));--field:#171410}
.t-taupe{--bg:#5c5047;--fg:#f1ece4;--muted:#d3c8ba;--line:#75685d;--surface:#66594f;--surface-2:#706358;--accent:var(--brass-hi);--accent-hi:#ead3a3;--accent-lo:var(--brass);--btn-bg:#f1ece4;--btn-fg:var(--espresso);--grad:linear-gradient(90deg,var(--brass),var(--brass-hi));--field:#4f443c}
.t-night,.t-petrol{--bg:var(--console);--fg:#edf0f2;--muted:#b3c0cb;--line:#4a5f70;--surface:#3b5265;--surface-2:#435a6e;--accent:var(--brass-hi);--accent-hi:#ead3a3;--accent-lo:var(--brass);--btn-bg:#edf0f2;--btn-fg:var(--console-2);--grad:linear-gradient(90deg,var(--brass),var(--brass-hi));--field:#2a3d4d}
.t-wine,.t-terra{--bg:var(--oxblood);--fg:#f3e9ea;--muted:#d1b0b5;--line:#6f3542;--surface:#612833;--surface-2:#6d303c;--accent:var(--brass-hi);--accent-hi:#ead3a3;--accent-lo:var(--brass);--btn-bg:#f3e9ea;--btn-fg:var(--oxblood);--grad:linear-gradient(90deg,var(--brass),var(--brass-hi));--field:#471a24}
.t-ivory,.t-sand,.t-sage{--bg:var(--paper);--fg:var(--espresso);--muted:#62574b;--line:#cbc3b6;--surface:#efece6;--surface-2:#f5f3ef;--accent:var(--oxblood-2);--accent-hi:var(--oxblood);--accent-lo:#a88089;--btn-bg:var(--espresso);--btn-fg:var(--paper);--grad:linear-gradient(90deg,var(--oxblood-2),var(--console));--field:#faf8f5;color-scheme:light}
.t-sand{--bg:var(--paper-2);--surface:#e7e2d9}
.t-sage{--bg:var(--stone);--surface:#dcd6cc;--line:#b5ad9f}
.t-terra,.t-gold{background:var(--bg)}
.t-gold{--bg:var(--brass);--fg:var(--espresso);--btn-bg:var(--espresso);--btn-fg:var(--paper)}
body{background:var(--espresso)}

/* typographie : minuscules, chasse serrée, contrastes de graisse plutôt que de couleur */
.display{text-transform:none;font-weight:300;letter-spacing:-.022em;line-height:1.06}
.display b{font-weight:inherit;color:inherit}
.display.small{font-size:clamp(1.5rem,3vw,2.1rem)}
.sec-head h2,.h2{font-size:clamp(1.9rem,3.6vw,3rem)}
.page-head h1{font-size:clamp(2.2rem,5vw,4rem);max-width:22ch}
.eyebrow,.sec-tag{text-transform:none;letter-spacing:.01em;font-weight:500;font-size:.875rem;color:var(--accent)}
.eyebrow::before,.sec-tag::before{display:none}
.label{text-transform:none;letter-spacing:.01em;font-weight:600;font-size:.8125rem}
.lede{font-size:1.125rem}
.btn{text-transform:none;letter-spacing:.01em;font-weight:600;font-size:.9375rem;padding:.95rem 1.5rem;border-radius:2px}
.btn-small{padding:.65rem 1rem;font-size:.8125rem}
.btn-primary:hover{filter:none;opacity:.88}
.btn-ghost{border-color:color-mix(in srgb,var(--fg) 35%,transparent);color:var(--fg)}
.btn-ghost:hover{border-color:var(--fg)}
.t-sand .btn-ghost,.t-ivory .btn-ghost,.t-sage .btn-ghost,.t-gold .btn-ghost,.t-terra .btn-ghost{border-color:color-mix(in srgb,var(--fg) 35%,transparent)}
.top .btn-primary{background:#ece7df;color:var(--espresso)}
.more-link{text-transform:none;letter-spacing:0;font-weight:600;font-size:.9375rem;color:var(--fg);border-bottom:1px solid var(--accent);padding-bottom:.15rem}
.more-link:hover{color:var(--accent-hi)}
.tag{text-transform:none;letter-spacing:.01em;font-weight:600;font-size:.75rem;border-radius:2px;background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--fg)}
.tag.ghost{border-color:var(--line)}
.pill{text-transform:none;letter-spacing:.01em;font-size:.75rem;border-radius:2px}
.chips li,.tabs a,.tabs button,.filters button,.acc-nav a,.auth-switch button{text-transform:none;letter-spacing:.01em;font-size:.875rem;border-radius:2px}
.tabs [aria-current="page"],.tabs [aria-pressed="true"]{background:none;border-color:var(--fg)}
label,.lbl{text-transform:none;letter-spacing:.01em;font-size:.8125rem}
.mainnav a{text-transform:none;letter-spacing:.01em;font-size:.9375rem;font-weight:500;border-radius:2px}
.mainnav a:hover,.mainnav a[aria-current="page"]{background:none;color:#fff;box-shadow:inset 0 -1px 0 var(--brass)}
.top-link{text-transform:none;letter-spacing:.01em;font-size:.9375rem;font-weight:500}
.top-link:hover{color:var(--brass-hi)}
.top{background:color-mix(in srgb,var(--espresso) 92%,transparent);border-bottom-color:#2f2822}
.drawer{background:var(--espresso)}
.drawer nav a{text-transform:none;font-weight:300;letter-spacing:-.01em}
.drawer nav a[aria-current="page"]{color:var(--brass-hi)}
.burger{border-color:#4a3f36}
.roundbtn{border-radius:2px;border-color:color-mix(in srgb,var(--fg) 30%,transparent);background:none;color:var(--fg)}
.roundbtn:hover{border-color:var(--fg);color:var(--fg)}
.page-head{background:var(--bg);border-bottom:1px solid var(--line)}
.page-head .eyebrow{margin-bottom:1.25rem}
.foot h3{color:var(--muted)}
.price,.panel,.bstep,.summary,.review,.tcard,.form,.pcard,.bcard,.file,.uploader{border-radius:3px}
.price .amount{font-weight:200}
.price .tag{background:var(--accent);color:var(--btn-bg)}
.t-ivory .price .tag,.t-sand .price .tag,.t-sage .price .tag{color:var(--paper)}
.price-grid .price:not(.featured):nth-child(n){border-top:1px solid var(--line)}
.t-sand .price.featured{background:var(--console);color:#edf0f2;--muted:#b3c0cb;--line:#4a5f70;--accent:var(--brass-hi);--accent-hi:var(--brass-hi);--btn-bg:#edf0f2;--btn-fg:var(--console-2)}
.t-ivory .price.featured,.t-sage .price.featured{background:var(--oxblood);color:#f3e9ea;--muted:#d1b0b5;--line:#6f3542;--accent:var(--brass-hi);--accent-hi:var(--brass-hi);--btn-bg:#f3e9ea;--btn-fg:var(--oxblood)}
.price.featured{box-shadow:none;border-color:transparent}
.tcard:nth-child(n) .meta .tag:first-child{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--fg)}
.steps li:nth-child(n)::before{color:var(--accent);filter:none;font-weight:200}
.promises li:nth-child(n) .n{color:var(--accent)}
.tbtn.on{box-shadow:none}
.cookie{border-radius:3px;background:var(--paper);color:var(--espresso)}
.cookie h2{text-transform:none;letter-spacing:-.01em;font-weight:600;font-size:1.0625rem}
.cookie .btn-primary{background:var(--espresso);color:var(--paper)}
.cookie .btn-ghost{border-color:#9b9184;color:var(--espresso)}
.switch input:checked + i{background:var(--console)}
.dots button i{background:var(--brass)}
.progress li{text-transform:none;letter-spacing:.01em;font-size:.75rem}
.acc-nav .count{background:var(--accent);color:var(--bg)}
a.gold,.gold{color:var(--accent-hi)}
.empty{border-style:solid;border-radius:3px}
.quiet{color:var(--muted);max-width:60ch}
.quiet a{color:var(--fg)}

/* ---------- Haut de page : vumètres ---------- */
.mhero{background:radial-gradient(70% 90% at 78% 40%,#2b241d 0%,var(--espresso) 70%);color:#ece7df;--fg:#ece7df;--muted:#a59a8b;padding-block:clamp(3.5rem,8vw,7rem) clamp(4rem,9vw,8rem);border-bottom:1px solid #2f2822}
.mhero-in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(2.5rem,5vw,5rem);align-items:center}
.mhero-title{font-family:var(--display);font-weight:250;font-size:clamp(2.3rem,4.6vw,4.1rem);line-height:1.04;letter-spacing:-.03em;max-width:18ch;text-wrap:balance}
.mhero-lede{margin-top:1.75rem;font-size:1.125rem;line-height:1.6;color:#c9bfb1;max-width:46ch}
.mhero-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.25rem}
.mhero .btn-primary{background:#ece7df;color:var(--espresso)}
.mhero-note{margin-top:1.5rem;font-size:.875rem;color:#8f8476;max-width:46ch}
.rack{margin:0}
.rack-plate{position:relative;padding:clamp(1.25rem,2.6vw,2rem) clamp(1.25rem,2.6vw,2.25rem) 1.1rem;border-radius:4px;
  background:linear-gradient(180deg,#3a322b 0%,#2a241f 55%,#231e19 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -1px 0 rgba(0,0,0,.5),0 40px 80px -40px #000,0 0 0 1px #14110e}
.rack-plate::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.35;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px)}
.screw{position:absolute;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#8d8173,#3b332c 70%);box-shadow:0 1px 1px rgba(0,0,0,.6)}
.screw::after{content:"";position:absolute;left:2px;right:2px;top:5px;height:2px;background:#2a231d;transform:rotate(35deg)}
.screw.s-tl{left:10px;top:10px}.screw.s-tr{right:10px;top:10px}.screw.s-bl{left:10px;bottom:10px}.screw.s-br{right:10px;bottom:10px}
.meters{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.75rem,2vw,1.25rem)}
.meter{position:relative;padding:8px;border-radius:5px;background:#120f0c;box-shadow:inset 0 2px 6px #000,0 1px 0 rgba(255,255,255,.06)}
.meter svg{display:block;width:100%;height:auto;border-radius:3px;filter:drop-shadow(0 0 18px rgba(241,205,140,.28))}
.meter .needle{transition:none}
.meter-ch{position:absolute;right:16px;bottom:14px;font-family:var(--display);font-weight:600;font-size:.75rem;color:#2a2018}
.plate-foot{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding-inline:.25rem;color:#a2968a;font-size:.8125rem}
.plate-foot img{height:22px;width:auto;opacity:.9}
.plate-foot span{margin-left:auto}
.led{width:8px;height:8px;border-radius:50%;background:#4a1a22;box-shadow:inset 0 1px 1px rgba(0,0,0,.6)}
.led.on{background:#e04a5a;box-shadow:0 0 10px #e04a5a}
@media (max-width:960px){.mhero-in{grid-template-columns:minmax(0,1fr)}.rack{max-width:560px}}

/* ---------- Sections d'accueil ---------- */
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem}
.sec-head h2{max-width:22ch}
.sec-head p{max-width:46ch}
.manifesto{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:2rem clamp(2rem,6vw,6rem);align-items:start}
.manifesto h2{font-size:clamp(2rem,4vw,3.3rem);max-width:16ch}
.manifesto .body{display:grid;gap:1.1rem;font-size:1.0625rem;color:var(--fg)}
.facts-list{display:grid;gap:.85rem;margin-top:1rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.facts-list li{color:var(--muted)}
.facts-list strong{color:var(--fg);font-weight:600}
@media (max-width:860px){.manifesto{grid-template-columns:minmax(0,1fr)}}
.panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#3a322b;border:1px solid #3a322b}
.panel-svc{display:flex;flex-direction:column;gap:1.1rem;padding:clamp(1.5rem,3vw,2.25rem);min-height:24rem}
.panel-svc.p1{background:var(--console);color:#edf0f2;--btn-bg:#edf0f2;--btn-fg:var(--console-2)}
.panel-svc.p2{background:var(--oxblood);color:#f3e9ea;--btn-bg:#f3e9ea;--btn-fg:var(--oxblood)}
.panel-svc.p3{background:#4a4038;color:#f1ece4;--btn-bg:#f1ece4;--btn-fg:#3a322b}
.panel-svc h3{font-family:var(--display);font-weight:300;font-size:clamp(1.7rem,2.6vw,2.2rem);letter-spacing:-.02em;line-height:1.05}
.panel-svc p{opacity:.8;max-width:34ch}
.panel-svc dl{display:grid;gap:.4rem;margin-top:auto;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.18);font-size:.9375rem}
.panel-svc dl div{display:flex;justify-content:space-between;gap:1rem}
.panel-svc dt{opacity:.7}
.panel-svc .btn{align-self:flex-start}
@media (max-width:900px){.panels{grid-template-columns:minmax(0,1fr)}.panel-svc{min-height:0}}
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));counter-reset:f;border-top:1px solid var(--fg)}
.flow li{counter-increment:f;padding:1.25rem 1.25rem 0 0;position:relative}
.flow li::before{content:counter(f);display:block;font-family:var(--display);font-weight:200;font-size:2.75rem;line-height:1;color:var(--accent);margin-bottom:1rem}
.flow li::after{content:"";position:absolute;left:0;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--fg)}
.flow h3{font-family:var(--display);font-weight:600;font-size:1.0625rem;margin-bottom:.4rem}
.flow p{color:var(--muted);font-size:.9375rem;max-width:26ch}
@media (max-width:980px){.flow{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem}}
@media (max-width:520px){.flow{grid-template-columns:minmax(0,1fr)}}
.cta-band{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:2rem}
.cta-band h2{font-size:clamp(1.9rem,3.8vw,3.2rem);max-width:18ch}
.review blockquote{font-weight:300;font-size:1.1875rem;line-height:1.5}
.review blockquote::before,.review blockquote::after{content:none}

/* Ajustements pages intérieures */
.btn:has(.long){gap:0}
.auth-wrap{max-width:34rem;margin-inline:auto}
.btn .long{margin-left:.3em}
.map:not(:has(iframe)){aspect-ratio:auto;min-height:0;height:16rem}
.legal h2{font-weight:400;font-size:1.45rem;letter-spacing:-.01em;color:var(--fg)}

/* =========================================================
   MÉLANGE — vert profond de base + bleu nuit, prune, terracotta,
   safran, sauge et pêche ; une couleur franche par section.
   ========================================================= */
:root{
  --espresso:#15302a; --espresso-2:#1c3b33; --espresso-3:#24463c;
  --forest:#15302a; --emerald:#2f6b52; --mint:#9fd4b6;
  --navy:#1d2f52; --plum:#4a2145; --terra:#b8532f; --saffron:#e3a63b; --saffron-hi:#f2c46a;
  --sage-l:#cfdac6; --peach:#f4d8c6; --cream:#f3eddf; --blush:#f2b8a4;
  --brass:var(--saffron); --brass-hi:var(--saffron-hi);
  --paper:var(--cream); --console:var(--navy); --console-2:#172645; --oxblood:var(--plum);
}
:root,.t-dark{--bg:var(--forest);--fg:#eef3ec;--muted:#a9c0b3;--line:#2c4b41;--surface:var(--espresso-2);--surface-2:var(--espresso-3);--accent:var(--saffron);--accent-hi:var(--saffron-hi);--accent-lo:#9c7330;--btn-bg:var(--saffron);--btn-fg:#16221c;--grad:linear-gradient(90deg,var(--saffron),var(--mint));--field:#102620}
.t-taupe{--bg:var(--emerald);--fg:#f1f7f2;--muted:#cfe3d6;--line:#4a8169;--surface:#367559;--surface-2:#3e7f62;--accent:var(--saffron-hi);--accent-hi:#ffe0a0;--accent-lo:var(--saffron);--btn-bg:#f3eddf;--btn-fg:var(--forest);--field:#275b45}
.t-night,.t-petrol{--bg:var(--navy);--fg:#eef2fa;--muted:#b0bdd6;--line:#34466b;--surface:#253a62;--surface-2:#2c426c;--accent:var(--mint);--accent-hi:#c6ecd7;--accent-lo:#5f9c7f;--btn-bg:var(--mint);--btn-fg:#0f1d33;--grad:linear-gradient(90deg,var(--mint),var(--saffron));--field:#16264a}
.t-wine{--bg:var(--plum);--fg:#fbeef3;--muted:#d9b3c9;--line:#6a3561;--surface:#572a51;--surface-2:#62325b;--accent:var(--blush);--accent-hi:#ffd7ca;--accent-lo:#b77d71;--btn-bg:var(--blush);--btn-fg:#3a1734;--grad:linear-gradient(90deg,var(--blush),var(--saffron));--field:#3a1736}
.t-terra{--bg:var(--terra);--fg:#fff4ea;--muted:#fbd6c3;--line:rgba(255,244,234,.3);--surface:rgba(255,255,255,.1);--surface-2:rgba(255,255,255,.16);--accent:#ffe2a8;--accent-hi:#fff4ea;--accent-lo:#f6c19f;--btn-bg:#fff4ea;--btn-fg:#7d3018;--field:#fff8f2;color-scheme:dark}
.t-gold{--bg:var(--saffron);--fg:#1b2a22;--muted:#4b4128;--line:rgba(27,42,34,.25);--surface:rgba(255,255,255,.2);--surface-2:rgba(255,255,255,.3);--accent:var(--forest);--accent-hi:var(--forest);--accent-lo:#3d4a33;--btn-bg:var(--forest);--btn-fg:#f3eddf;--field:#fff8e8;color-scheme:light}
.t-ivory,.t-sand,.t-sage{--bg:var(--cream);--fg:#1a2a23;--muted:#5b6159;--line:#d8cfbd;--surface:#f8f4ea;--surface-2:#fbf8f1;--accent:var(--terra);--accent-hi:#8f3c1f;--accent-lo:#d9957a;--btn-bg:var(--forest);--btn-fg:var(--cream);--grad:linear-gradient(90deg,var(--terra),var(--saffron));--field:#fffdf8;color-scheme:light}
.t-sand{--bg:var(--peach);--surface:#f9e6d9;--line:#e3bfa8;--accent:var(--plum);--accent-hi:#351530;--btn-bg:var(--plum);--btn-fg:#fbeef3}
.t-sage{--bg:var(--sage-l);--surface:#dde6d6;--line:#b3c2a8;--accent:var(--emerald);--accent-hi:#1f4c39;--btn-bg:var(--forest)}
body{background:var(--forest)}
.top{background:color-mix(in srgb,var(--forest) 94%,transparent);border-bottom-color:#264339}
.top .btn-primary{background:var(--saffron);color:#16221c}
.mainnav a:hover,.mainnav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--saffron)}
.burger{border-color:#2f5146}
.cookie{background:var(--cream);color:#1a2a23}
.cookie .btn-primary{background:var(--forest);color:var(--cream)}
.switch input:checked + i{background:var(--emerald)}

/* hero */
.mhero{background:radial-gradient(60% 80% at 80% 45%,#24513f 0%,var(--forest) 68%);color:#eef3ec;--fg:#eef3ec;--muted:#a9c0b3;border-bottom:0}
.mhero-lede{color:#c4d6cb}
.mhero-note{color:#8fae9e}
.mhero .btn-primary{background:var(--saffron);color:#16221c}
.mhero .btn-ghost{border-color:rgba(238,243,236,.4);color:#eef3ec}
.rack-plate{background:linear-gradient(180deg,#2c3532 0%,#1f2725 55%,#191f1d 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -1px 0 rgba(0,0,0,.5),0 40px 80px -40px #000,0 0 0 1px #0e1412}
.meter{background:#0d1210}
.plate-foot{color:#9fb3a8}

/* services en panneaux colorés */
.panels{gap:0;background:none;border:0;gap:clamp(.75rem,1.5vw,1rem)}
.panel-svc{border-radius:3px}
.panel-svc.p1{background:var(--navy);color:#eef2fa;--btn-bg:var(--mint);--btn-fg:#0f1d33}
.panel-svc.p2{background:var(--terra);color:#fff4ea;--btn-bg:#fff4ea;--btn-fg:#7d3018}
.panel-svc.p3{background:var(--plum);color:#fbeef3;--btn-bg:var(--blush);--btn-fg:#3a1734}

/* cartes tarifs mises en avant */
.t-ivory .price.featured,.t-sage .price.featured,.t-sand .price.featured{background:var(--forest);color:#eef3ec;--muted:#a9c0b3;--line:#2c4b41;--accent:var(--saffron);--accent-hi:var(--saffron-hi);--btn-bg:var(--saffron);--btn-fg:#16221c}
.t-ivory .price .tag,.t-sand .price .tag,.t-sage .price .tag{color:var(--cream)}
.flow li::before{color:var(--accent)}
.price .tag,.t-ivory .price .tag,.t-sand .price .tag,.t-sage .price .tag,.t-night .price .tag{background:var(--accent);color:var(--bg)}
.price.featured .tag{background:var(--saffron);color:#16221c}

/* =========================================================
   BLEU APOGEO + DORÉ — bleus du logo Apogeo Energy
   (#0064B4 → #00305C), doré pour les accents et les boutons.
   ========================================================= */
:root{
  --ap-deep:#001b36; --ap-deep-2:#022648; --ap-deep-3:#063157;
  --ap-navy:#00305c; --ap-blue:#0064b4; --ap-sky:#5fa2dd;
  --gold:#c9a45c; --gold-hi:#e7cb8c; --gold-lo:#9b7a3a;
  --ice:#e6eef7; --mist:#f4f7fb;
  --espresso:var(--ap-deep); --espresso-2:var(--ap-deep-2); --espresso-3:var(--ap-deep-3);
  --forest:var(--ap-deep); --saffron:var(--gold); --saffron-hi:var(--gold-hi);
  --brass:var(--gold); --brass-hi:var(--gold-hi); --cream:var(--mist); --paper:var(--mist);
  --navy:var(--ap-navy); --console:var(--ap-navy); --emerald:var(--ap-blue);
}
:root,.t-dark{--bg:var(--ap-deep);--fg:#eef3f9;--muted:#9fb3c9;--line:#173a5c;--surface:var(--ap-deep-2);--surface-2:var(--ap-deep-3);--accent:var(--gold);--accent-hi:var(--gold-hi);--accent-lo:var(--gold-lo);--btn-bg:var(--gold);--btn-fg:#0b1a2a;--grad:linear-gradient(90deg,var(--gold),var(--gold-hi));--field:#00142a;color-scheme:dark}
.t-taupe{--bg:#0a3f6e;--fg:#eef3f9;--muted:#b5c9de;--line:#25557f;--surface:#114a7c;--surface-2:#175487;--accent:var(--gold-hi);--accent-hi:#f3dca8;--accent-lo:var(--gold);--btn-bg:var(--gold);--btn-fg:#0b1a2a;--field:#07345c}
.t-night,.t-petrol{--bg:var(--ap-navy);--fg:#eef3f9;--muted:#a9c0d8;--line:#1d4b77;--surface:#073c6c;--surface-2:#0c4677;--accent:var(--gold-hi);--accent-hi:#f3dca8;--accent-lo:var(--gold);--btn-bg:var(--gold);--btn-fg:#0b1a2a;--grad:linear-gradient(90deg,var(--gold),var(--gold-hi));--field:#00264b;color-scheme:dark}
.t-wine,.t-terra{--bg:var(--ap-blue);--fg:#f4f8fd;--muted:#cfe0f2;--line:rgba(255,255,255,.22);--surface:rgba(255,255,255,.08);--surface-2:rgba(255,255,255,.14);--accent:#f3d79a;--accent-hi:#fff0cc;--accent-lo:var(--gold);--btn-bg:#ffffff;--btn-fg:var(--ap-navy);--grad:linear-gradient(90deg,var(--gold-hi),#fff0cc);--field:#00528f;color-scheme:dark}
.t-terra{background:linear-gradient(180deg,var(--ap-blue),var(--ap-navy))}
.t-gold{--bg:var(--gold);--fg:#0b1a2a;--muted:#3e3a2c;--line:rgba(11,26,42,.22);--surface:rgba(255,255,255,.2);--surface-2:rgba(255,255,255,.3);--accent:var(--ap-navy);--accent-hi:var(--ap-navy);--accent-lo:#2b4560;--btn-bg:var(--ap-navy);--btn-fg:#fff;--field:#fff9ea;color-scheme:light}
.t-ivory,.t-sand,.t-sage{--bg:var(--mist);--fg:#0b1a2a;--muted:#55657a;--line:#d5deea;--surface:#ffffff;--surface-2:#f9fbfd;--accent:var(--ap-blue);--accent-hi:var(--ap-navy);--accent-lo:#8db7df;--btn-bg:var(--ap-navy);--btn-fg:#fff;--grad:linear-gradient(90deg,var(--ap-blue),var(--gold));--field:#fff;color-scheme:light}
.t-sand{--bg:var(--ice);--surface:#f1f6fb;--line:#c7d6e8}
.t-sage{--bg:#ffffff;--surface:var(--mist);--line:#dde5ef}
body{background:var(--ap-deep)}
.top{background:color-mix(in srgb,var(--ap-deep) 94%,transparent);border-bottom-color:#11324f}
.top .btn-primary{background:var(--gold);color:#0b1a2a}
.mainnav a:hover,.mainnav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--gold)}
.burger{border-color:#1d4466}
.drawer{background:var(--ap-deep)}
.cookie{background:#fff;color:#0b1a2a}
.cookie .btn-primary{background:var(--ap-navy);color:#fff}
.switch input:checked + i{background:var(--ap-blue)}

/* hero : nuit bleue, halo bleu Apogeo derrière les vumètres */
.mhero{background:radial-gradient(55% 75% at 78% 45%,#0a4f8f 0%,#00305c 38%,var(--ap-deep) 75%);color:#eef3f9;--fg:#eef3f9;--muted:#9fb3c9}
.mhero-lede{color:#bfd0e2}
.mhero-note{color:#86a0bc}
.mhero .btn-primary{background:var(--gold);color:#0b1a2a}
.mhero .btn-ghost{border-color:rgba(238,243,249,.4);color:#eef3f9}
.rack-plate{background:linear-gradient(180deg,#2a3440 0%,#1b232d 55%,#151c24 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),inset 0 -1px 0 rgba(0,0,0,.5),0 40px 80px -40px #000,0 0 0 1px #0a0f15}
.meter{background:#0a0e13}
.plate-foot{color:#9fb0c2}
.screw{background:radial-gradient(circle at 35% 35%,#9aa6b3,#36404b 70%)}

/* services : trois bleus/dorés */
.panel-svc.p1{background:var(--ap-navy);color:#eef3f9;--btn-bg:var(--gold);--btn-fg:#0b1a2a}
.panel-svc.p2{background:var(--ap-blue);color:#f4f8fd;--btn-bg:#fff;--btn-fg:var(--ap-navy)}
.panel-svc.p3{background:var(--gold);color:#0b1a2a;--btn-bg:var(--ap-navy);--btn-fg:#fff}
.panel-svc.p3 dl{border-top-color:rgba(11,26,42,.2)}

.t-ivory .price.featured,.t-sage .price.featured,.t-sand .price.featured{background:var(--ap-navy);color:#eef3f9;--muted:#a9c0d8;--line:#1d4b77;--accent:var(--gold-hi);--accent-hi:var(--gold-hi);--btn-bg:var(--gold);--btn-fg:#0b1a2a}
.price.featured .tag{background:var(--gold);color:#0b1a2a}
.t-sage .price{border:1px solid var(--line)}

/* =====================================================================
   NUIT APOGEO — direction finale.
   Nuit bleue presque noire + blanc cassé. Le bleu Apogeo (#0064B4)
   est traité comme une lumière (filets LED, halos), jamais en aplat.
   Le doré ne sert qu'aux touches : bouton principal, prix, filets.
   ===================================================================== */
:root{
  --n0:#030b16; --n1:#061425; --n2:#0b1c32; --n3:#11284a; --nline:#152c48;
  --ap:#0064b4; --ap-hi:#4b9be6; --ap-led:#8cc6ff;
  --gold:#c9a45c; --gold-hi:#e3c68a; --gold-lo:#9b7a3a;
  --paper:#f3f5f8; --ink:#0a1626; --ink-muted:#5a697c; --pline:#dbe2eb;
  --espresso:var(--n1); --espresso-2:var(--n2); --espresso-3:var(--n3);
}
:root,.t-dark,.t-taupe,.t-wine,.t-terra{--bg:var(--n1);--fg:#eef2f7;--muted:#8d9db2;--line:var(--nline);--surface:var(--n2);--surface-2:var(--n3);--accent:var(--gold);--accent-hi:var(--gold-hi);--accent-lo:var(--gold-lo);--btn-bg:var(--gold);--btn-fg:#0b1422;--grad:linear-gradient(90deg,var(--gold),var(--gold-hi));--field:#040e1b;color-scheme:dark}
.t-night,.t-petrol{--bg:#081a2e;--fg:#eef2f7;--muted:#93a4ba;--line:#17304e;--surface:#0d2139;--surface-2:#132b48;--accent:var(--gold);--accent-hi:var(--gold-hi);--accent-lo:var(--gold-lo);--btn-bg:var(--gold);--btn-fg:#0b1422;--field:#05111f;color-scheme:dark}
.t-wine,.t-terra{background:radial-gradient(60% 90% at 85% 0%,rgba(0,100,180,.32),transparent 65%),var(--n1)}
.t-taupe{--bg:var(--n2);--surface:var(--n3)}
.t-ivory,.t-sand,.t-sage,.t-gold{--bg:var(--paper);--fg:var(--ink);--muted:var(--ink-muted);--line:var(--pline);--surface:#ffffff;--surface-2:#f8fafc;--accent:var(--ap);--accent-hi:#004b88;--accent-lo:#8db7df;--btn-bg:var(--ink);--btn-fg:#fff;--grad:linear-gradient(90deg,var(--ap),var(--gold));--field:#fff;color-scheme:light;background:var(--bg)}
.t-sage{--bg:#ffffff;--surface:var(--paper)}
body{background:var(--n1)}

/* chrome */
.top{background:color-mix(in srgb,var(--n0) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}
.top .btn-primary{background:transparent;color:#eef2f7;box-shadow:inset 0 0 0 1px rgba(201,164,92,.7)}
.top .btn-primary:hover{background:var(--gold);color:#0b1422;opacity:1}
.mainnav a{color:#c3cedb}
.mainnav a:hover,.mainnav a[aria-current="page"]{color:#fff;box-shadow:inset 0 -1px 0 var(--gold)}
.top-link{color:#c3cedb}.top-link:hover{color:#fff}
.burger{border-color:rgba(255,255,255,.14)}
.drawer{background:var(--n0)}
.foot{background:var(--n0);border-top:1px solid rgba(255,255,255,.06)}
.cookie{background:#fff;color:var(--ink)}
.cookie .btn-primary{background:var(--ink);color:#fff}
.cookie .btn-ghost{border-color:#b9c3cf;color:var(--ink)}
.switch input:checked + i{background:var(--ap)}
.page-head.t-dark,.page-head:not([class*=" t-"]){background:radial-gradient(45% 140% at 88% 0%,rgba(0,100,180,.30),transparent 62%),var(--n1)}
.page-head{border-bottom:1px solid rgba(255,255,255,.06)}

/* boutons */
.btn-gold{background:var(--gold);color:#0b1422;border:1px solid var(--gold)}
.btn-gold:hover{background:var(--gold-hi);border-color:var(--gold-hi)}
.btn-line{background:transparent;color:inherit;border:1px solid color-mix(in srgb,currentColor 32%,transparent)}
.btn-line:hover{border-color:currentColor}
.text-link{display:inline-block;font-family:var(--display);font-weight:600;font-size:.9375rem;color:inherit;text-decoration:none;padding-bottom:.25rem;border-bottom:1px solid var(--gold)}
.light .text-link{border-bottom-color:var(--ap)}
.text-link:hover{color:var(--gold-hi)}
.light .text-link:hover{color:var(--ap)}

/* ---------- héros ---------- */
.nhero{position:relative;overflow:hidden;isolation:isolate;background:var(--n0);color:#eef2f7;padding-top:clamp(4rem,9vw,8.5rem)}
.nhero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.nhero-bg i{position:absolute;display:block}
.nhero-bg .slats{inset:0 0 0 42%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,transparent 0 33px,rgba(0,0,0,.35) 33px 34px);
  -webkit-mask-image:radial-gradient(70% 75% at 62% 18%,#000 0%,transparent 75%);mask-image:radial-gradient(70% 75% at 62% 18%,#000 0%,transparent 75%)}
.nhero-bg .strip{top:clamp(5.5rem,11vw,8.5rem);left:46%;right:-2%;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,rgba(140,198,255,.9) 18%,#d6ecff 55%,rgba(140,198,255,.9) 85%,transparent);
  box-shadow:0 0 12px 1px rgba(75,155,230,.9),0 0 46px 6px rgba(0,100,180,.55)}
.nhero-bg .bloom{top:clamp(5.5rem,11vw,8.5rem);left:40%;right:-10%;height:80%;
  background:radial-gradient(60% 55% at 55% 0%,rgba(0,100,180,.55),rgba(0,100,180,.14) 45%,transparent 75%)}
.nhero.has-photo .nhero-bg{background:linear-gradient(90deg,var(--n0) 0%,rgba(3,11,22,.88) 34%,rgba(3,11,22,.35) 70%,rgba(3,11,22,.55) 100%),linear-gradient(0deg,var(--n0) 0%,transparent 35%),var(--photo) center/cover no-repeat}
.nhero.has-photo .strip,.nhero.has-photo .slats{display:none}
.nhero.has-photo .bloom{opacity:.45}
.nhero-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2.5rem,5vw,5rem);align-items:center}
.nhero-title{font-family:var(--display);font-weight:300;font-size:clamp(2.9rem,6.6vw,5.9rem);line-height:.98;letter-spacing:-.04em;max-width:11ch;text-wrap:balance}
.nhero-lede{margin-top:2rem;font-size:1.1875rem;line-height:1.6;color:#b7c4d4;max-width:44ch}
.nhero-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.5rem}
.nhero .rack{filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}
.nhero .rack-plate{background:linear-gradient(180deg,#26303c 0%,#18202a 55%,#12181f 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 -1px 0 rgba(0,0,0,.6),0 0 0 1px #070b10,0 -20px 80px -30px rgba(0,100,180,.45)}
.nhero .meter{background:#080c11}
.nhero .plate-foot{color:#93a3b6}
.screw{background:radial-gradient(circle at 35% 35%,#a3aebb,#333c46 70%)}
.nhero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(4rem,8vw,7rem);border-top:1px solid rgba(255,255,255,.1)}
.nhero-facts li{display:grid;gap:.3rem;padding:1.6rem 1.5rem 2.2rem 0}
.nhero-facts li + li{padding-left:1.5rem;border-left:1px solid rgba(255,255,255,.1)}
.nhero-facts strong{font-family:var(--display);font-weight:500;font-size:1.0625rem;color:#fff}
.nhero-facts span{color:#8d9db2;font-size:.9375rem}
@media (max-width:960px){.nhero-in{grid-template-columns:minmax(0,1fr)}.nhero .rack{max-width:540px}.nhero-bg .strip{left:20%}.nhero-bg .slats{left:10%}}
@media (max-width:640px){.nhero-facts{grid-template-columns:minmax(0,1fr)}.nhero-facts li,.nhero-facts li + li{padding:1.1rem 0;border-left:0;border-top:1px solid rgba(255,255,255,.08)}.nhero-facts li:first-child{border-top:0}}

/* ---------- sections ---------- */
.nsec{padding-block:clamp(5rem,10vw,9rem)}
.nsec.tight-top{padding-top:0}
.nsec.light{background:var(--paper);color:var(--ink);--fg:var(--ink);--muted:var(--ink-muted);--line:var(--pline);--accent:var(--ap);color-scheme:light}
.nsec.dark{background:var(--n1);color:#eef2f7;--fg:#eef2f7;--muted:#8d9db2;--line:var(--nline)}
.nhead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
.ntitle{font-family:var(--display);font-weight:300;font-size:clamp(2.1rem,4.2vw,3.5rem);line-height:1.04;letter-spacing:-.03em;max-width:18ch}

.statement{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:2.5rem clamp(2.5rem,7vw,7rem);align-items:end}
.statement-big{font-family:var(--display);font-weight:300;font-size:clamp(1.65rem,3.1vw,2.6rem);line-height:1.22;letter-spacing:-.022em;max-width:26ch}
.statement-side{display:grid;gap:1.5rem;justify-items:start;color:var(--ink-muted);font-size:1.0625rem}
@media (max-width:860px){.statement{grid-template-columns:minmax(0,1fr)}}

.svc-list{border-top:1px solid var(--nline)}
.svc-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) auto;gap:1.5rem 3rem;align-items:center;padding:clamp(1.75rem,3vw,2.5rem) 0;border-bottom:1px solid var(--nline);position:relative}
.svc-row::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--ap-hi),transparent);opacity:0;transition:opacity .3s}
.svc-row:hover::before{opacity:1}
.svc-name h3{font-family:var(--display);font-weight:300;font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.025em;line-height:1.05}
.svc-name p{margin-top:.6rem;color:#8d9db2;max-width:48ch}
.svc-meta{display:grid;grid-template-columns:auto auto;gap:.35rem 1.5rem;font-size:.9375rem;justify-content:start}
.svc-meta div{display:contents}
.svc-meta dt{color:#6f8198}
.svc-meta dd{margin:0;color:#dfe6ee}
.svc-buy{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}
.svc-price{font-family:var(--display);font-weight:400;font-size:1.1875rem;color:var(--gold-hi);white-space:nowrap}
@media (max-width:860px){.svc-row{grid-template-columns:minmax(0,1fr)}.svc-buy{flex-direction:row;align-items:center;justify-content:space-between}}

.photo-grid{display:grid;gap:clamp(.5rem,1.2vw,1rem);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)}
.photo-grid.n1{grid-template-columns:minmax(0,1fr)}
.photo-grid.n2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.photo-grid figure{margin:0;height:clamp(300px,40vw,560px);overflow:hidden;border-radius:2px;background:var(--n2)}
.photo-grid img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.photo-grid,.photo-grid.n2{grid-template-columns:minmax(0,1fr)}.photo-grid figure{height:70vw}}

.nflow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2rem 1.5rem;counter-reset:f}
.nflow li{counter-increment:f;padding-top:1.4rem;border-top:1px solid #c9d3df;position:relative}
.nflow li::before{content:counter(f,decimal-leading-zero);display:block;font-family:var(--display);font-weight:500;font-size:.875rem;color:var(--ap);margin-bottom:2.5rem;font-variant-numeric:tabular-nums}
.nflow li::after{content:"";position:absolute;left:0;top:-1px;width:2.5rem;height:1px;background:var(--ap)}
.nflow h3{font-family:var(--display);font-weight:500;font-size:1.125rem;letter-spacing:-.01em;margin-bottom:.5rem}
.nflow p{color:var(--ink-muted);font-size:.9375rem;max-width:26ch}
@media (max-width:980px){.nflow{grid-template-columns:repeat(2,minmax(0,1fr))}.nflow li::before{margin-bottom:1.25rem}}
@media (max-width:520px){.nflow{grid-template-columns:minmax(0,1fr)}}

.nreviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
.nreviews figure{margin:0;padding-top:1.5rem;border-top:1px solid var(--line)}
.nreviews blockquote{margin:0;font-family:var(--display);font-weight:300;font-size:1.25rem;line-height:1.45;letter-spacing:-.01em}
.nreviews figcaption{margin-top:1.25rem;color:var(--muted);font-size:.9375rem}
@media (max-width:860px){.nreviews{grid-template-columns:minmax(0,1fr)}}

.ncta{position:relative;overflow:hidden;isolation:isolate;background:var(--n0);color:#eef2f7}
.ncta-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 70% at 82% 100%,rgba(0,100,180,.5),rgba(0,100,180,.1) 50%,transparent 75%)}
.ncta-glow::after{content:"";position:absolute;left:50%;right:-5%;bottom:0;height:2px;background:linear-gradient(90deg,transparent,rgba(140,198,255,.9) 25%,#d6ecff 60%,transparent);box-shadow:0 0 12px 1px rgba(75,155,230,.9),0 0 46px 6px rgba(0,100,180,.5)}
.ncta-in{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:2rem}
.ncta-title{font-family:var(--display);font-weight:300;font-size:clamp(2.4rem,5.4vw,4.6rem);line-height:1;letter-spacing:-.035em;max-width:13ch}
.ncta .nhero-ctas{margin-top:0}

/* pages intérieures : cartes et détails dans la même logique */
.price{background:var(--surface);border:1px solid var(--line)}
.price .amount{color:var(--accent)}
.price.featured{border-color:color-mix(in srgb,var(--gold) 55%,transparent)}
.t-ivory .price.featured,.t-sage .price.featured,.t-sand .price.featured,.t-gold .price.featured{background:var(--n1);color:#eef2f7;--muted:#8d9db2;--line:var(--nline);--accent:var(--gold-hi);--accent-hi:var(--gold-hi);--btn-bg:var(--gold);--btn-fg:#0b1422}
.price .tag,.t-ivory .price .tag,.t-sand .price .tag,.t-sage .price .tag,.t-night .price .tag{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--fg)}
.price.featured .tag{background:var(--gold);color:#0b1422}
.btn-primary{border-radius:2px}
.svc-row{grid-template-columns:minmax(0,1fr) 13rem 11rem}
.svc-buy{align-items:flex-end}
.ncta-title{max-width:16ch;text-wrap:balance}
@media (max-width:860px){.svc-row{grid-template-columns:minmax(0,1fr)}.svc-buy{align-items:center}}
@media (max-width:640px){.nhero-bg .strip{top:auto;bottom:38%;left:10%}.nhero-bg .bloom{top:auto;bottom:-10%;height:55%;left:0;right:0}}
.t-dark .price:not(.featured) .btn-primary,.t-night .price:not(.featured) .btn-primary,.t-wine .price:not(.featured) .btn-primary,.t-taupe .price:not(.featured) .btn-primary{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 70%,transparent)}
.t-dark .price:not(.featured) .btn-primary:hover,.t-night .price:not(.featured) .btn-primary:hover,.t-wine .price:not(.featured) .btn-primary:hover{background:var(--gold);color:#0b1422;opacity:1}
.burger{border-radius:2px}

/* ---------- Héros vivant : onde lumineuse, démo, allumage ---------- */
.nhero{min-height:calc(100svh - 72px);display:flex;flex-direction:column;justify-content:space-between}
.nhero-bg .spectrum{position:absolute;left:38%;right:-4%;top:calc(clamp(5.5rem,11vw,8.5rem) - 110px);height:220px;width:auto}
.nhero.live .strip{display:none}
.nhero-bg .bloom{opacity:calc(.75 + var(--energy,0) * .6);transition:opacity .2s}
.nhero-title{font-size:clamp(3.1rem,7.4vw,6.8rem);max-width:10ch}

.demo{margin-top:1.4rem;display:grid;gap:.85rem}
.demo-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.demo-play{display:inline-flex;align-items:center;gap:.7rem;height:48px;padding:0 1.25rem 0 .55rem;border-radius:999px;border:1px solid rgba(201,164,92,.65);background:rgba(3,11,22,.6);color:#eef2f7;font-family:var(--display);font-weight:600;font-size:.9375rem;cursor:pointer;transition:background .2s,border-color .2s}
.demo-play svg{width:36px;height:36px;padding:9px;border-radius:50%;background:var(--gold);color:#0b1422;flex:none}
.demo-play .i-pause{display:none}
.demo-play[aria-pressed="true"] .i-play{display:none}
.demo-play[aria-pressed="true"] .i-pause{display:block}
.demo-play:hover{border-color:var(--gold);background:rgba(201,164,92,.1)}
.nhero:not(.is-playing) .demo-play svg{box-shadow:0 0 0 0 rgba(201,164,92,.55);animation:invite 2.4s ease-out 2.2s infinite}
@keyframes invite{0%{box-shadow:0 0 0 0 rgba(201,164,92,.5)}70%,100%{box-shadow:0 0 0 14px rgba(201,164,92,0)}}
.ab{position:relative;display:grid;grid-template-columns:1fr 1fr;height:48px;padding:4px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);isolation:isolate}
.ab button{position:relative;z-index:1;border:0;background:none;color:#8d9db2;font-family:var(--display);font-weight:600;font-size:.875rem;padding:0 1.1rem;border-radius:999px;cursor:pointer;transition:color .25s;white-space:nowrap}
.ab button[aria-pressed="true"]{color:#0b1422}
.ab-thumb{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:#eef2f7;transition:transform .35s cubic-bezier(.3,.7,.2,1),background .35s}
.demo[data-mode="mix"] .ab-thumb{transform:translateX(100%);background:var(--gold)}
.demo-note{font-size:.8125rem;color:#7d8ea4;max-width:44ch}
.demo-play:focus-visible,.ab button:focus-visible{outline:2px solid var(--ap-hi);outline-offset:3px}

/* allumage du studio, une seule fois au chargement */
@media (prefers-reduced-motion:no-preference){
  .nhero-bg .spectrum,.nhero-bg .strip{animation:lightson 1.6s steps(1,end) .35s both}
  .nhero-bg .bloom{animation:bloomin 2.4s cubic-bezier(.2,.7,.2,1) .9s both}
  .nhero-bg .slats{animation:fadein 2.4s ease 1s both}
  .nhero-title,.nhero-lede,.nhero-ctas,.nhero .rack,.nhero-facts{animation:rise 1s cubic-bezier(.2,.7,.2,1) both}
  .nhero-lede{animation-delay:.12s}.nhero-ctas{animation-delay:.22s}.nhero .rack{animation-delay:.5s}.nhero-facts{animation-delay:.8s}
}
@keyframes lightson{0%{opacity:0}12%{opacity:.7}18%{opacity:.05}30%{opacity:.9}36%{opacity:.2}48%,100%{opacity:1}}
@keyframes bloomin{from{opacity:0}}
@keyframes fadein{from{opacity:0}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}}
@media (max-width:960px){.nhero-bg .spectrum{left:0;right:0}}
@media (max-width:640px){.nhero-bg .spectrum{top:auto;bottom:calc(38% - 110px)}.ab button{padding:0 .8rem;font-size:.8125rem}.demo-bar{gap:.6rem}}
.nhero-bg .spectrum{left:36%;right:auto;width:68%}
.nhero > .wrap{width:100%}
.ab button{text-transform:none;letter-spacing:0}
.demo-play{text-transform:none;letter-spacing:0}
@media (max-width:960px){.nhero-bg .spectrum{left:0;width:100%}}
@media (max-width:640px){.nhero-bg .spectrum{top:-20px;bottom:auto;height:150px}.nhero-bg .bloom{top:0;bottom:auto;height:60%}}

/* Curseur : note de musique dorée (double note sur les éléments cliquables) */
:root{--cur-note:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImciIHgxPSIwIiB5MT0iMCIgeDI9IjEiIHkyPSIxIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmNmUyYTgiLz48c3RvcCBvZmZzZXQ9Ii41IiBzdG9wLWNvbG9yPSIjZDRhZjYyIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjOWI3YTNhIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0idXJsKCNnKSIgc3Ryb2tlPSIjMGIxNDIyIiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyLjQgMy41aDIuOHY0LjJjLjkgMi4yIDMuMyAzLjMgNS4yIDUuMiAxLjkgMS45IDIuNiA0LjYgMS42IDcuNC0uMy44LTEgLjctLjgtLjIuNi0yLjYtLjUtNC42LTIuNC01LjktMS4yLS44LTIuNi0xLjQtMy42LTIuMXYxMC42YTUuNCA0LjIgLTIyIDEgMSAtMi44IC0zLjd6Ii8+PC9nPjwvc3ZnPg==") 13 4, auto;--cur-link:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImciIHgxPSIwIiB5MT0iMCIgeDI9IjEiIHkyPSIxIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmZmYwYzQiLz48c3RvcCBvZmZzZXQ9Ii41IiBzdG9wLWNvbG9yPSIjZTNjMjdhIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjYTg4NDNlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgc3Ryb2tlPSIjMGIxNDIyIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0idXJsKCNnKSI+PHBhdGggZD0iTTggNy41bDE1LTMuNXYzLjZsLTEyLjQgMi45djExLjhhNC42IDMuNiAtMjAgMSAxIC0yLjYgLTMuNHoiLz48cGF0aCBkPSJNMjMgNHYxNS4zYTQuNiAzLjYgLTIwIDEgMSAtMi42IC0zLjRWNy42Ii8+PC9nPjwvc3ZnPg==") 8 6, pointer}
html,body{cursor:var(--cur-note)}
a,button,[role="button"],label,select,summary,.btn,.demo-play,.ab button,.tcard,.tr,input[type="checkbox"],input[type="radio"],input[type="submit"],.roundbtn,.burger{cursor:var(--cur-link)}
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),textarea,[contenteditable]{cursor:text}
/* nouveau logo « Signal » : halo bleu Apogeo */
.brand img,.foot-logo{filter:drop-shadow(0 0 2px rgba(255,228,166,.25)) drop-shadow(0 0 10px rgba(30,130,230,.45))}
.brand img{height:36px}
.foot-logo{height:54px}
.plate-foot img{height:18px;filter:none}
@media (max-width:520px){.brand img{height:28px}}
.brand img{height:44px}@media (max-width:520px){.brand img{height:34px}}

/* =====================================================================
   VHOME — accueil type « services audio » : cartes arrondies, boutons
   pilule, titres gras, bande défilante dorée. Bleu nuit Apogeo + doré.
   ===================================================================== */
.vhome{--v-bg:#050d18;--v-alt:#081526;--v-card:#0c1b2e;--v-card2:#10233a;--v-line:rgba(255,255,255,.08);--v-fg:#f2f5f9;--v-mut:#93a4b8;--v-r:22px}
.vhome main,.vhome .vsec{background:var(--v-bg);color:var(--v-fg)}
.vsec{padding-block:clamp(4.5rem,9vw,7.5rem)}
.vsec-alt{background:var(--v-alt)!important}
.vtag{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--display);font-weight:600;font-size:.875rem;color:var(--gold-hi);margin-bottom:1rem}
.vtag::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--gold)}
.vh2{font-family:var(--display);font-weight:700;font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;letter-spacing:-.03em;max-width:20ch;text-wrap:balance}
.vp{color:var(--v-mut);font-size:1.0625rem;line-height:1.65;max-width:58ch;margin-top:1rem}
.vhead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 2rem;margin-bottom:clamp(2.5rem,5vw,3.5rem)}
.vhead.center{justify-content:center;text-align:center}
.vhead.center .vh2,.vhead.center .vp{margin-inline:auto}
.vhead.center .vtag{justify-content:center}

/* boutons pilule */
.vbtn{display:inline-flex;align-items:center;gap:.6rem;height:54px;padding:0 1.6rem;border-radius:999px;font-family:var(--display);font-weight:600;font-size:.9375rem;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s,border-color .2s,transform .2s}
.vbtn svg{width:16px;height:16px;flex:none}
.vbtn-gold{background:linear-gradient(180deg,#e6c47f,#c9a45c);color:#0b1422;box-shadow:0 10px 30px -12px rgba(201,164,92,.7)}
.vbtn-gold:hover{transform:translateY(-1px);background:linear-gradient(180deg,#f0d394,#d4af62)}
.vbtn-ghost{background:rgba(255,255,255,.06);color:var(--v-fg);border:1px solid rgba(255,255,255,.14)}
.vbtn-ghost:hover{background:rgba(255,255,255,.1)}
.vbtn-line{border:1px solid rgba(201,164,92,.55);color:var(--v-fg)}
.vbtn-line:hover{background:var(--gold);color:#0b1422;border-color:var(--gold)}
.vctas{display:flex;flex-wrap:wrap;gap:.75rem}

/* héros */
.vhero{min-height:auto;display:block;padding:clamp(3rem,7vw,6rem) 0 clamp(3.5rem,7vw,6rem);background:radial-gradient(70% 90% at 80% 30%,#0b2c52 0%,#05101e 55%,#050d18 100%)}
.vhero .nhero-bg .spectrum{left:45%;width:60%;top:40px}
.vhero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2.5rem,5vw,4.5rem);align-items:center}
.vpill{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1rem;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:.875rem;color:#cdd8e5;margin-bottom:1.75rem}
.vpill i{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(201,164,92,.18)}
.vh1{font-family:var(--display);font-weight:700;font-size:clamp(2.8rem,6vw,5rem);line-height:1.02;letter-spacing:-.04em;max-width:12ch;text-wrap:balance}
.vlede{margin-top:1.5rem;font-size:1.1875rem;line-height:1.6;color:#b6c4d4;max-width:44ch}
.vhero .vctas{margin-top:2.25rem}
.vtrust{display:flex;flex-wrap:wrap;gap:0;margin-top:2.75rem}
.vtrust li{display:grid;gap:.15rem;padding:0 1.5rem;border-left:1px solid rgba(255,255,255,.12)}
.vtrust li:first-child{padding-left:0;border-left:0}
.vtrust strong{font-family:var(--display);font-weight:700;font-size:1.25rem;color:#fff}
.vtrust span{font-size:.875rem;color:var(--v-mut)}
.vhero-visual{position:relative}
.vframe{position:relative;border-radius:28px;padding:clamp(1.5rem,3.5vw,2.75rem);aspect-ratio:1/1.02;display:flex;align-items:center;
  background:radial-gradient(80% 70% at 50% 20%,rgba(0,100,180,.55),transparent 70%),linear-gradient(160deg,#0f2a4a,#081627 70%);
  border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 80px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden}
.vframe::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 28px);-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}
.vframe[style*="--photo"]{background:linear-gradient(180deg,transparent 35%,rgba(5,13,24,.85)),var(--photo) center/cover}
.vframe[style*="--photo"] .rack{display:none}
.vframe .rack{position:relative;width:100%;filter:drop-shadow(0 30px 50px rgba(0,0,0,.6))}
.vframe .rack-plate{background:linear-gradient(180deg,#26303c,#18202a 55%,#12181f);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px #070b10}
.vframe .meter{background:#080c11}
.vplayer{position:absolute;left:clamp(-2rem,-3vw,-1rem);right:clamp(1rem,4vw,3rem);bottom:-1.75rem;display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center;padding:.85rem;border-radius:20px;
  background:rgba(8,18,32,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 50px -20px rgba(0,0,0,.8)}
.vplayer .demo-note{grid-column:1/-1;margin:0 .35rem .1rem;font-size:.75rem}
.vplayer .ab{height:44px}
.vplayer .demo-play{height:44px}
@media (max-width:960px){.vhero-in{grid-template-columns:minmax(0,1fr)}.vframe{aspect-ratio:auto;padding:1.5rem 1.25rem 4.5rem}.vplayer{left:.75rem;right:.75rem;bottom:-2.5rem}.vhero{padding-bottom:5rem}}
@media (max-width:520px){.vplayer{grid-template-columns:minmax(0,1fr)}.vplayer .ab button{padding:0 .6rem}.vtrust li{padding:0 1rem}}

/* bande défilante */
.vmarquee{overflow:hidden;background:linear-gradient(90deg,#c9a45c,#e7cb8c 50%,#c9a45c);color:#0b1422;padding:1.1rem 0;transform:rotate(-1.2deg) scale(1.02);margin-block:-.5rem;position:relative;z-index:2;box-shadow:0 10px 40px -10px rgba(201,164,92,.45)}
.vmarquee-track{display:flex;gap:1.6rem;width:max-content;align-items:center;font-family:var(--display);font-weight:700;font-size:clamp(1.1rem,2vw,1.5rem);letter-spacing:-.01em;white-space:nowrap;animation:vmq 38s linear infinite}
.vmarquee-track i{font-style:normal;font-size:.9em;opacity:.7}
@keyframes vmq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.vmarquee-track{animation:none}}

/* à propos */
.vabout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.vabout-visual{position:relative}
.vabout-visual>img,.vabout-art{display:block;width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:var(--v-r)}
.vabout-art{display:flex;align-items:center;justify-content:center;background:radial-gradient(70% 60% at 50% 40%,rgba(0,100,180,.45),transparent 70%),linear-gradient(160deg,#0f2a4a,#07131f);border:1px solid var(--v-line)}
.vabout-art img{width:68%;filter:drop-shadow(0 0 22px rgba(30,130,230,.55))}
.vbadge{position:absolute;right:-1rem;bottom:2rem;display:grid;gap:.15rem;padding:1.1rem 1.4rem;border-radius:18px;background:linear-gradient(180deg,#e6c47f,#c9a45c);color:#0b1422;box-shadow:0 20px 40px -18px rgba(201,164,92,.7)}
.vbadge strong{font-family:var(--display);font-weight:700;font-size:1.25rem}
.vbadge span{font-size:.8125rem;font-weight:500}
.vchecks{display:grid;gap:.9rem;margin:1.75rem 0 2.25rem}
.vchecks li{display:flex;gap:.8rem;align-items:flex-start;color:#d9e2ec}
.vchecks svg,.vplan li svg{flex:none;width:22px;height:22px;padding:3px;border-radius:50%;background:rgba(201,164,92,.16);color:var(--gold-hi)}
@media (max-width:900px){.vabout{grid-template-columns:minmax(0,1fr)}.vbadge{right:1rem}}

/* cartes services */
.vcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.vcard{position:relative;display:flex;flex-direction:column;gap:.9rem;padding:2rem 1.75rem 1.6rem;border-radius:var(--v-r);background:var(--v-card);border:1px solid var(--v-line);color:var(--v-fg);text-decoration:none;transition:border-color .25s,transform .25s,background .25s}
.vcard:hover{border-color:rgba(201,164,92,.5);background:var(--v-card2);transform:translateY(-3px)}
.vicon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(160deg,rgba(0,100,180,.35),rgba(0,100,180,.1));border:1px solid rgba(95,162,221,.3);color:#cfe4fb}
.vicon svg{width:28px;height:28px}
.vcard h3{font-family:var(--display);font-weight:700;font-size:1.3rem;letter-spacing:-.015em;margin-top:.4rem}
.vcard p{color:var(--v-mut);font-size:.9375rem;line-height:1.6;flex:1}
.vcard-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.1rem;margin-top:.4rem;border-top:1px solid var(--v-line);font-family:var(--display);font-weight:600;color:var(--gold-hi)}
.varrow{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);color:#fff;transition:background .25s,color .25s,border-color .25s}
.varrow svg{width:16px;height:16px}
.vcard:hover .varrow{background:var(--gold);border-color:var(--gold);color:#0b1422}
@media (max-width:980px){.vcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.vcards{grid-template-columns:minmax(0,1fr)}}

/* étapes */
.vsteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;counter-reset:none}
.vsteps li{position:relative;padding:2rem 1.6rem;border-radius:var(--v-r);background:var(--v-card);border:1px solid var(--v-line)}
.vsteps li:not(:last-child)::after{content:"";position:absolute;top:3.05rem;right:-1.25rem;width:1.25rem;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.vnum{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(180deg,#e6c47f,#c9a45c);color:#0b1422;font-family:var(--display);font-weight:700;font-size:1.125rem;margin-bottom:1.4rem}
.vsteps h3{font-family:var(--display);font-weight:700;font-size:1.15rem;margin-bottom:.5rem}
.vsteps p{color:var(--v-mut);font-size:.9375rem;line-height:1.6}
@media (max-width:980px){.vsteps{grid-template-columns:repeat(2,minmax(0,1fr))}.vsteps li::after{display:none}}
@media (max-width:560px){.vsteps{grid-template-columns:minmax(0,1fr)}}

/* tarifs */
.vplans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}
.vplan{position:relative;display:flex;flex-direction:column;padding:2.25rem 2rem 2rem;border-radius:26px;background:var(--v-card);border:1px solid var(--v-line)}
.vplan h3{font-family:var(--display);font-weight:700;font-size:1.35rem}
.vplan-sum{color:var(--v-mut);font-size:.9375rem;line-height:1.55;margin-top:.5rem;min-height:3.1em}
.vprice{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,4vw,3.1rem);letter-spacing:-.03em;margin:1.4rem 0 1.25rem;padding-bottom:1.4rem;border-bottom:1px solid var(--v-line)}
.vprice small{font-size:1rem;font-weight:500;color:var(--v-mut);margin-left:.35rem;letter-spacing:0}
.vplan ul{display:grid;gap:.8rem;margin-bottom:2rem;flex:1}
.vplan li{display:flex;gap:.7rem;align-items:flex-start;color:#d9e2ec;font-size:.9375rem}
.vplan .vbtn{justify-content:center}
.vplan.is-featured{background:radial-gradient(90% 60% at 50% 0%,rgba(0,100,180,.55),transparent 70%),linear-gradient(180deg,#123257,#0b1d34);border-color:rgba(201,164,92,.6);transform:translateY(-12px);box-shadow:0 40px 70px -35px rgba(0,100,180,.7)}
.vplan-flag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);padding:.4rem 1rem;border-radius:999px;background:linear-gradient(180deg,#e6c47f,#c9a45c);color:#0b1422;font-family:var(--display);font-weight:700;font-size:.8125rem;white-space:nowrap}
.vcenter-link{text-align:center;margin-top:2.5rem}
.vcenter-link a{color:var(--v-mut);text-decoration:underline;text-underline-offset:.25em;text-decoration-color:rgba(201,164,92,.6)}
.vcenter-link a:hover{color:#fff}
@media (max-width:900px){.vplans{grid-template-columns:minmax(0,1fr);max-width:480px;margin-inline:auto}.vplan.is-featured{transform:none}}

/* avis */
.vreviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.vreviews figure{margin:0;padding:2rem;border-radius:var(--v-r);background:var(--v-card);border:1px solid var(--v-line)}
.vstars{color:var(--gold);letter-spacing:.15em}
.vreviews blockquote{margin:1rem 0 1.25rem;font-size:1.0625rem;line-height:1.6}
.vreviews figcaption{font-family:var(--display);font-weight:600;color:var(--gold-hi)}
@media (max-width:900px){.vreviews{grid-template-columns:minmax(0,1fr)}}

/* FAQ */
.vfaq{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.vfaq .vbtn{margin-top:2rem}
.vacc{display:grid;gap:.75rem}
.vacc details{border-radius:18px;background:var(--v-card);border:1px solid var(--v-line);transition:border-color .2s}
.vacc details[open]{border-color:rgba(201,164,92,.45);background:var(--v-card2)}
.vacc summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.4rem;font-family:var(--display);font-weight:600;font-size:1.0625rem;list-style:none}
.vacc summary::-webkit-details-marker{display:none}
.vacc summary i{position:relative;flex:none;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.16)}
.vacc summary i::before,.vacc summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.6px;background:currentColor;transform:translate(-50%,-50%)}
.vacc summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .25s}
.vacc details[open] summary i{background:var(--gold);border-color:var(--gold);color:#0b1422}
.vacc details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.vacc .a{padding:0 1.4rem 1.35rem;color:var(--v-mut);line-height:1.65}
@media (max-width:900px){.vfaq{grid-template-columns:minmax(0,1fr)}}

/* appel final */
.vsec-cta{padding-top:0}
.vcta{position:relative;overflow:hidden;isolation:isolate;text-align:center;padding:clamp(3rem,7vw,5.5rem) 1.5rem;border-radius:32px;background:linear-gradient(160deg,#0f2d52,#071629);border:1px solid rgba(255,255,255,.1)}
.vcta-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 80% at 50% 0%,rgba(0,100,180,.65),transparent 70%),radial-gradient(40% 50% at 50% 110%,rgba(201,164,92,.28),transparent 70%)}
.vcta .vh2,.vcta .vp{margin-inline:auto}
.vcta .vctas{justify-content:center;margin-top:2rem}

/* cohérence globale : boutons et cartes arrondis sur les autres pages */
.btn{border-radius:999px}
.price,.panel,.bstep,.summary,.review,.tcard,.form,.pcard,.bcard,.file,.uploader,.empty{border-radius:20px}
.cookie{border-radius:20px}
.top .btn-primary{border-radius:999px}
html,body{overflow-x:clip}
.vframe{flex-direction:column;justify-content:center;gap:0}
.vframe .vwave{position:absolute;left:0;right:0;width:100%;top:6%;height:30%;z-index:0}
.vframe .rack{z-index:1;margin-top:18%}
.vhero .nhero-bg .bloom{display:none}
@media (max-width:960px){.vframe .rack{margin-top:22%}.vframe .vwave{top:2%;height:26%}}
@media (max-width:560px){.vtrust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.vtrust li{padding:0 .75rem}.vtrust strong{font-size:1rem}.vtrust span{font-size:.75rem}.vhero .vbtn{height:50px}}
.vhome .burger{border-radius:999px}
@media (max-width:960px){.vplayer{position:relative;left:auto;right:auto;bottom:auto;margin:-2rem .75rem 0}.vframe{padding-bottom:3rem}.vhero{padding-bottom:3.5rem}}
@media (max-width:560px){.vtrust strong{white-space:nowrap;font-size:.95rem}}
/* pages intérieures alignées sur l'accueil : titres gras, pilules, tirets dorés */
.display,.page-head h1,.ntitle,.ncta-title{font-weight:700;letter-spacing:-.035em}
.price .amount{font-weight:700;letter-spacing:-.02em}
.tabs a,.tabs button,.chips li,.filters button,.acc-nav a,.auth-switch button,.tag,.pill,.label.tag{border-radius:999px}
.eyebrow,.sec-tag{display:inline-flex;align-items:center;gap:.55rem;font-weight:600}
.eyebrow::before,.sec-tag::before{display:block;content:"";width:22px;height:2px;border-radius:2px;background:var(--gold)}
.price{border-radius:22px}
.price.featured .tag{border-radius:999px}
.faq details{border-radius:16px}
