@font-face{font-family:"Big Shoulders Display";font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/big-shoulders-display-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-weight:900;font-style:normal;font-display:swap;src:url(/fonts/big-shoulders-display-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/archivo-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/archivo-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/archivo-latin-600-normal.woff2) format("woff2")}
/* Layout : site à plusieurs pages (routage par #), une colonne large, typo condensée géante, bandes beige / noir */
:root{
  --beige:#E4DFD6;
  --beige-2:#EDE9E2;
  --ink:#121110;
  --muted:#5D574F;
  --line:rgba(18,17,16,.18);
  --on-ink:#E4DFD6;
  --on-ink-muted:#B4ADA2;
  --display:"Big Shoulders Display","Arial Narrow","Helvetica Neue Condensed",Impact,sans-serif;
  --body:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img{max-width:100%}
body{background:var(--beige);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100%}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--beige)}
a{color:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);font-weight:900;text-transform:uppercase;line-height:.9;margin:0;text-wrap:balance}
p{margin:0}
.label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dot{display:inline-grid;place-items:center;background:var(--ink);border-radius:50%;flex:none}
.dot svg{width:58%;height:58%}

/* En-tête */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--beige);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.mini-logo{display:flex;align-items:center;gap:3px;text-decoration:none;font-family:var(--display);font-weight:900;font-size:30px;line-height:1}
.mini-logo .dot{width:14px;height:14px;transition:transform .4s}
.mini-logo:hover .dot{transform:rotate(-20deg) scale(1.15)}
nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;min-width:0}
nav::-webkit-scrollbar{display:none}
nav a{position:relative;text-decoration:none;font-size:14px;font-weight:500;padding:8px 12px;border-radius:999px;white-space:nowrap;transition:background .2s,color .2s}
nav a:hover{background:rgba(18,17,16,.07)}
nav a[aria-current="page"]{background:var(--ink);color:var(--on-ink)}
@media (max-width:640px){header .wrap{flex-direction:column;align-items:stretch;gap:8px;padding-block:10px}nav{margin-inline:-12px}}

/* Pages */
.view{padding-block:48px 80px}
.view.enter{animation:enter .55s cubic-bezier(.2,.7,.2,1)}
@keyframes enter{from{transform:translateY(18px);opacity:.25}to{transform:none;opacity:1}}
.rise{display:block;animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
.rise.d1{animation-delay:.06s}.rise.d2{animation-delay:.12s}.rise.d3{animation-delay:.18s}
@keyframes rise{from{transform:translateY(40%);opacity:.2}to{transform:none;opacity:1}}
/* Apparition au défilement : la classe .reveal est posée par le script (jamais si l'animation est réduite) */
.reveal{opacity:0}
.reveal.vu{animation:apparait .7s cubic-bezier(.2,.7,.2,1) var(--d,0s) both}
@keyframes apparait{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}
.page-title{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:end;margin-bottom:44px}
.page-title h1{font-size:clamp(56px,9vw,128px)}
.page-title p{color:var(--muted);max-width:46ch}
@media (max-width:760px){.page-title{grid-template-columns:1fr}}
.page-title.stacked{grid-template-columns:1fr;gap:16px}
.page-title.stacked p{max-width:62ch}
.page-title.stacked p+p{margin-top:14px}
.page-title p.lead{font-size:clamp(21px,2.6vw,30px);font-weight:500;line-height:1.3;color:var(--ink);max-width:34ch}

.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;justify-self:start;background:var(--ink);color:var(--on-ink);text-decoration:none;font:600 15px var(--body);padding:14px 22px;border-radius:999px;border:0;cursor:pointer;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(228,223,214,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -14px rgba(18,17,16,.7)}
.btn:hover::after{transform:translateX(120%)}
.btn .arr{transition:transform .25s}
.btn:hover .arr{transform:translateX(5px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn.light{background:var(--on-ink);color:var(--ink)}

/* Accueil */
.big-logo{display:flex;align-items:flex-end;gap:.04em;font-family:var(--display);font-weight:900;font-size:clamp(120px,26vw,300px);line-height:.78;margin-left:-.04em}
.big-logo .dot{width:.2em;height:.2em;margin-bottom:.02em;animation:pop .8s .35s cubic-bezier(.3,1.6,.5,1) both;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.big-logo:hover .dot{transform:rotate(-18deg) scale(1.1)}
@keyframes pop{from{scale:.3}to{scale:1}}
.hero-text{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:end;border-top:2px solid var(--ink);padding-top:24px;margin-top:36px}
.hero-text h1{font-size:clamp(38px,5.4vw,68px)}
.hero-side{display:grid;gap:22px}
.hero-side p{color:var(--muted);max-width:42ch}
@media (max-width:760px){.hero-text{grid-template-columns:1fr}}

.ticker{margin-top:48px;background:var(--ink);color:var(--on-ink);overflow:hidden;border-radius:2px}
.ticker-track{display:flex;width:max-content;animation:scroll 32s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker span{font-family:var(--display);font-weight:700;font-size:26px;text-transform:uppercase;padding:12px 0;white-space:nowrap}
.ticker span::after{content:"●";font-size:10px;vertical-align:middle;margin:0 22px;color:var(--on-ink-muted)}
@keyframes scroll{to{transform:translateX(-50%)}}

.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:48px}
.door{display:grid;gap:10px;align-content:space-between;min-height:200px;padding:22px;border:1.5px solid var(--ink);border-radius:4px;text-decoration:none;transition:background .25s,color .25s,transform .3s cubic-bezier(.2,.7,.2,1)}
.door:hover{transform:translateY(-5px)}
.door h2{font-size:38px}
.door p{color:var(--muted);font-size:15px;transition:color .25s}
.door .go{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14px}
.door .go .arr{font-size:22px;transition:transform .25s}
.door:hover{background:var(--ink);color:var(--on-ink)}
.door:hover p{color:var(--on-ink-muted)}
.door:hover .arr{transform:translateX(6px)}
@media (max-width:820px){.doors{grid-template-columns:1fr}.door{min-height:0}}

/* Services : liste dépliable */
.svc-list{border-top:2px solid var(--ink)}
.svc{border-bottom:1px solid var(--line)}
.svc-btn{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:22px 0;cursor:pointer}
.svc-btn:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.svc-btn h2{font-size:clamp(40px,6.5vw,84px);transition:transform .3s}
.svc-btn:hover h2{transform:translateX(10px)}
.svc-btn .tag{display:block;font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.plus{width:44px;height:44px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:24px;line-height:1;transition:transform .3s,background .3s,color .3s}
.svc.open .plus{transform:rotate(45deg);background:var(--ink);color:var(--on-ink)}
.svc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
.svc.open .svc-body{grid-template-rows:1fr}
.svc-body>div{overflow:hidden}
.svc-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;padding-bottom:28px;opacity:0;translate:0 -8px;transition:opacity .35s,translate .45s cubic-bezier(.2,.7,.2,1)}
.svc.open .svc-inner{opacity:1;translate:0 0;transition-delay:.08s}
.svc:hover .plus{transform:rotate(90deg)}
.svc.open:hover .plus{transform:rotate(135deg)}
.svc-inner p{color:var(--muted);max-width:52ch}
.svc-inner ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.svc-inner li{display:flex;gap:10px;font-size:15.5px}
.svc-inner li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink);margin-top:8px;flex:none}
@media (max-width:760px){.svc-inner{grid-template-columns:1fr;gap:18px}}

/* Services : l'essai gratuit, premier onglet : texte sur deux colonnes, puis un ticket noir en bandeau */
.svc-essai .svc-inner{grid-template-columns:1fr;gap:24px}
.essai-texte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 32px}
.svc-inner .essai-texte p{max-width:none}
.ticket{background:var(--ink);color:var(--on-ink);border-radius:4px;padding:24px 26px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 40px}
.ticket .label{grid-column:1/-1;color:var(--on-ink-muted)}
.svc-inner .ticket ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;list-style:none;margin:0;padding:0}
.svc-inner .ticket li{display:grid;gap:4px;align-content:start;padding:2px 18px;border-left:1px dashed rgba(228,223,214,.3);font-size:13.5px;color:var(--on-ink-muted)}
.svc-inner .ticket li:first-child{padding-left:0;border-left:0}
.svc-inner .ticket li::before{display:none}
.ticket li b{font-size:17px;font-weight:600;color:var(--on-ink)}
.ticket-action{display:grid;gap:10px;justify-items:start;max-width:30ch}
.ticket .after{font-size:13px;color:var(--on-ink-muted)}
.ticket .after a{color:var(--on-ink)}
@media (max-width:900px){.ticket{grid-template-columns:1fr}.ticket-action{max-width:none}}
@media (max-width:760px){.essai-texte{grid-template-columns:1fr}.svc-inner .ticket ul{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}.svc-inner .ticket li:nth-child(odd){padding-left:0;border-left:0}}

/* Tarifs : bande noire, curseurs à grands chiffres, reçu en papier */
.band{background:var(--ink);color:var(--on-ink)}
.band .label{color:var(--on-ink-muted)}
.band .page-title p{color:var(--on-ink-muted)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tarif{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:start}
@media (max-width:900px){.tarif{grid-template-columns:1fr;gap:40px}}
.t-choix{border-top:2px solid var(--on-ink)}
.t-ligne{display:grid;gap:16px;padding:28px 0 30px;border-bottom:1px solid rgba(228,223,214,.18)}
.t-tete{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap}
.t-nom{display:flex;align-items:center;gap:14px;cursor:pointer}
.t-nom span{font-family:var(--display);font-weight:900;font-size:clamp(30px,4vw,44px);text-transform:uppercase;line-height:.95}
.t-prix{font-size:14px;color:var(--on-ink-muted)}
.t-compte{display:flex;align-items:baseline;gap:12px}
.t-compte output{font-family:var(--display);font-weight:900;font-size:clamp(80px,11vw,132px);line-height:.8;font-variant-numeric:tabular-nums}
.t-compte span{font-size:15px;color:var(--on-ink-muted)}
.t-bornes{display:flex;justify-content:space-between;font-size:12px;color:var(--on-ink-muted);margin-top:-6px}
.t-compte,.t-ligne input[type=range],.t-bornes{transition:opacity .25s}
.t-ligne.off .t-compte,.t-ligne.off input[type=range],.t-ligne.off .t-bornes{opacity:.25}
.tarif input[type=checkbox]{-webkit-appearance:none;appearance:none;width:26px;height:26px;margin:0;border:2px solid var(--on-ink);border-radius:4px;display:grid;place-items:center;cursor:pointer;flex:none;transition:background .2s,border-color .2s}
.tarif input[type=checkbox]::after{content:"";width:11px;height:6px;border:solid var(--ink);border-width:0 0 3px 3px;transform:translateY(-2px) rotate(-45deg);opacity:0}
.tarif input[type=checkbox]:checked{background:var(--on-ink)}
.tarif input[type=checkbox]:checked::after{opacity:1}
.tarif input[type=checkbox]:focus-visible{outline:2px solid var(--on-ink);outline-offset:3px}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;margin:10px 0;border-radius:6px;background:linear-gradient(to right,var(--on-ink) var(--p,50%),rgba(228,223,214,.2) var(--p,50%));outline-offset:8px;cursor:pointer}
input[type=range]:disabled{cursor:default}
input[type=range]::-moz-range-track{background:transparent}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:32px;height:32px;border-radius:50%;background:var(--on-ink);border:5px solid var(--ink);box-shadow:0 0 0 2px var(--on-ink);cursor:grab;transition:transform .15s}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--on-ink);border:5px solid var(--ink);box-shadow:0 0 0 2px var(--on-ink);cursor:grab;transition:transform .15s}
input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15);cursor:grabbing}
input[type=range]:active::-moz-range-thumb{transform:scale(1.15);cursor:grabbing}
.t-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px}
@media (max-width:640px){.t-options{grid-template-columns:1fr}}
.t-option{position:relative;display:grid;align-content:start;gap:6px;padding:18px;min-height:132px;border:1.5px solid rgba(228,223,214,.35);border-radius:4px;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .25s cubic-bezier(.2,.7,.2,1)}
.t-option:hover{border-color:var(--on-ink);transform:translateY(-3px)}
.t-option input[type=checkbox]{position:absolute;top:16px;right:16px;width:22px;height:22px}
.t-opt-nom{font-family:var(--display);font-weight:900;font-size:26px;text-transform:uppercase;line-height:1;padding-right:30px}
.t-opt-prix{font-weight:600;font-size:15px}
.t-option small{font-size:13px;color:var(--on-ink-muted);margin-top:auto}
.t-option.on{background:var(--on-ink);color:var(--ink);border-color:var(--on-ink)}
.t-option.on small{color:var(--muted)}
.t-option.on input[type=checkbox]{background:var(--ink);border-color:var(--ink)}
.t-option.on input[type=checkbox]::after{border-color:var(--on-ink)}
@media (max-width:640px){.t-option{min-height:0}}
.t-note{font-size:13.5px;color:var(--on-ink-muted);max-width:52ch}
.t-cote{position:sticky;top:96px;display:grid;gap:32px}
.t-intro{color:var(--on-ink-muted);max-width:42ch}
.recu{display:grid;gap:18px;background:var(--beige-2);color:var(--ink);padding:26px 26px 44px;transform:rotate(1.2deg);
  -webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/18px 100%;
  mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/18px 100%}
@media (max-width:900px){.t-cote{position:static}.recu{transform:none}}
.recu-tete{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:2px solid var(--ink);font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase}
.recu-logo{display:flex;align-items:center;gap:2px;font-family:var(--display);font-weight:900;font-size:26px;letter-spacing:0;line-height:1}
.recu-logo .dot{width:11px;height:11px}
.recu-lignes{list-style:none;margin:0;padding:0}
.recu-lignes li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:12px 0;border-bottom:1px dashed var(--line);font-size:15px;font-weight:600}
.recu-lignes li small{font-size:13px;font-weight:400;color:var(--muted)}
.recu-lignes li b{grid-row:1/3;grid-column:2;align-self:center;white-space:nowrap;font-variant-numeric:tabular-nums}
.recu-lignes li.vide{display:block;font-weight:400;color:var(--muted)}
.recu-lignes li.nouveau{animation:imprime .4s cubic-bezier(.2,.7,.2,1) both}
@keyframes imprime{from{opacity:0;translate:-12px 0;background:rgba(18,17,16,.06)}}
.tarif input[type=checkbox]:checked{animation:coche .3s cubic-bezier(.3,1.6,.5,1)}
@keyframes coche{50%{scale:1.2}}
.t-compte output{display:inline-block;transition:translate .2s}
.t-ligne:active .t-compte output{translate:0 -4px}
.recu-total{display:grid;gap:6px}
.recu-total span{font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.recu-total .num{font-family:var(--display);font-weight:900;font-size:clamp(72px,9vw,112px);line-height:.85;font-variant-numeric:tabular-nums;white-space:nowrap}
.recu-note{font-size:13px;color:var(--muted)}
.recu .btn{justify-self:stretch;justify-content:center}
.recu-essai{font-size:14px;font-weight:600;text-decoration:none}
.recu-essai:hover{text-decoration:underline;text-underline-offset:4px}

/* Démarche : étapes cliquables */
.stepper{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:8px}
.st{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:8px;padding-top:14px;border-top:3px solid var(--line);transition:border-color .3s}
.st .n{font-family:var(--display);font-weight:900;font-size:22px;color:var(--muted);transition:color .3s}
.st .t{font-weight:600;font-size:15px;color:var(--muted);transition:color .3s}
.st[aria-selected="true"]{border-color:var(--ink)}
.st[aria-selected="true"] .n,.st[aria-selected="true"] .t{color:var(--ink)}
.st:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.step-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:32px;align-items:end;margin-top:40px;min-height:220px}
.step-panel .bign{font-family:var(--display);font-weight:900;font-size:clamp(140px,22vw,260px);line-height:.75}
.step-panel h2{font-size:clamp(40px,6vw,76px);margin-bottom:16px}
.step-panel p{color:var(--muted);max-width:50ch}
.step-panel.swap{animation:enter .45s cubic-bezier(.2,.7,.2,1)}
.step-nav{display:flex;gap:10px;margin-top:36px}
.step-nav button{font:600 14px var(--body);padding:10px 18px;border-radius:999px;border:1.5px solid var(--ink);background:none;color:var(--ink);cursor:pointer}
.step-nav button:hover:not(:disabled){background:var(--ink);color:var(--on-ink)}
.step-nav button:disabled{opacity:.35;cursor:default}
@media (max-width:640px){.stepper{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}.step-panel{grid-template-columns:1fr;gap:8px}}

/* À propos */
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;align-items:start}
.about-body{display:grid;gap:18px;max-width:60ch}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink);margin-top:8px}
.facts>div{padding:16px 16px 0 0;display:grid;gap:4px}
.facts>div+div{padding-left:16px;border-left:1px solid var(--line)}
.facts b{font-family:var(--display);font-weight:900;font-size:26px;text-transform:uppercase;line-height:1}
.facts span{font-size:13.5px;color:var(--muted)}
.promise{display:flex;gap:14px;align-items:flex-start;border:1.5px solid var(--ink);padding:16px 18px;border-radius:4px;font-weight:500}
.promise .dot{width:28px;height:28px;margin-top:2px}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;gap:28px}}
@media (max-width:480px){.facts{grid-template-columns:1fr}.facts>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:12px}.facts>div{padding-bottom:12px}}

/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:start}
.c-list{border-top:2px solid var(--ink)}
.c-item{padding:18px 0;border-bottom:1px solid var(--line);display:grid;gap:6px;min-width:0}
.c-item .val{font-size:clamp(18px,2.2vw,24px);font-weight:600;overflow-wrap:anywhere}
.c-item .val a{text-decoration:none}
.c-item .val a:hover{text-decoration:underline;text-underline-offset:4px}
.chip{justify-self:start;font:500 13px var(--body);background:none;border:1px solid var(--ink);color:var(--ink);border-radius:999px;padding:6px 12px;cursor:pointer}
.chip:hover{background:var(--ink);color:var(--on-ink)}
.composer{background:var(--beige-2);border:1px solid var(--line);border-radius:4px;padding:24px;display:grid;gap:16px}
.composer h2{font-size:34px}
.composer p.help{color:var(--muted);font-size:14.5px}
.field{display:grid;gap:6px}
.field label{font-size:13px;font-weight:600}
.field input,.field select{font:400 16px var(--body);padding:11px 12px;border:1.5px solid var(--line);border-radius:4px;background:var(--beige);color:var(--ink);width:100%}
.field input:focus,.field select:focus{outline:none;border-color:var(--ink)}
.field textarea{font:400 16px var(--body);padding:11px 12px;border:1.5px solid var(--line);border-radius:4px;background:var(--beige);color:var(--ink);width:100%;resize:vertical;min-height:120px}
.field textarea:focus{outline:none;border-color:var(--ink)}
.field-label{font-size:13px;font-weight:600}
.field .opt{font-weight:400;color:var(--muted)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.field-row{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-statut{font-size:14.5px;font-weight:600;margin:0}
.form-statut[data-etat="ok"]{color:#2F6B3A}
.form-statut[data-etat="erreur"]{color:#A3341F}
.btn:disabled{opacity:.6;cursor:wait}

/* Page Confidentialité */
.legal{padding:56px 0 72px}
.legal .wrap>h2{font-size:clamp(28px,3.4vw,38px);margin:44px 0 12px}
.legal h3{font-family:var(--body);font-size:17px;font-weight:600;text-transform:none;line-height:1.3;margin:22px 0 6px}
.legal p,.legal li{max-width:68ch}
.legal ul{padding-left:20px}
.legal li+li{margin-top:6px}
.privacy a{color:inherit}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills label{display:inline-flex;cursor:pointer;position:relative}
.pills input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none}
.pills span{font-size:14px;padding:7px 13px;border:1.5px solid var(--ink);border-radius:999px;transition:background .2s,color .2s}
.pills input:checked+span{background:var(--ink);color:var(--on-ink)}
.pills input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.preview{white-space:pre-wrap;font-size:15px;background:var(--beige);border-left:3px solid var(--ink);padding:14px 16px;min-height:120px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}

footer{border-top:1px solid var(--line)}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:22px;font-size:13px;color:var(--muted)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* Réalisations */
.grid-real{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.real{margin:0;display:grid;gap:10px}
.real button{all:unset;cursor:zoom-in;display:block;overflow:hidden;border-radius:3px;background:var(--beige-2)}
.real button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.real img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.real button:hover img{transform:scale(1.04)}
.real figcaption{display:grid;gap:2px}
.real figcaption b{font-family:var(--display);font-weight:900;font-size:24px;text-transform:uppercase;line-height:1}
.real figcaption span{font-size:14.5px;color:var(--muted)}
@media (max-width:600px){.grid-real{grid-template-columns:1fr}}
.real-serie{margin-bottom:40px}
.real-sous-titre{font-family:var(--body);margin-bottom:16px}
.grid-videos{display:grid;grid-template-columns:repeat(3,minmax(0,340px));justify-content:center;gap:24px;margin-bottom:64px}
.grid-videos video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:3px;background:var(--ink)}
@media (max-width:600px){.grid-videos{grid-template-columns:minmax(0,340px)}}
.serie{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:16px}
@media (max-width:860px){.serie{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lightbox{border:0;padding:0;background:transparent;max-width:min(92vw,1100px);max-height:92vh}
.lightbox::backdrop{background:rgba(18,17,16,.88)}
.lightbox img{display:block;max-width:100%;max-height:80vh;width:auto;margin:0 auto}
.lightbox p{color:var(--on-ink);text-align:center;margin-top:12px;font-size:15px}
.lightbox .close{position:absolute;top:8px;right:8px;width:40px;height:40px;border-radius:50%;border:0;background:var(--on-ink);color:var(--ink);font-size:22px;cursor:pointer}
.about-photo{width:100%;max-width:420px;aspect-ratio:4/5;object-fit:cover;border-radius:3px;margin-top:24px}
.privacy{font-size:12.5px;color:var(--muted);max-width:70ch;padding-bottom:22px}
