/* ==========================================================================
   PLC Studio — copie à l'identique de plcstudio.fr (site Framer, gabarit Vizer)
   Toutes les valeurs (tailles, couleurs, espacements) sont relevées sur le site
   en ligne en 1440 px, 1024 px et 390 px.
   ========================================================================== */

/* ---------- Polices (fichiers Inter servis par Framer, auto-hébergés) ---------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/Inter-400-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/Inter-400-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/Inter-500-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/Inter-500-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/Inter-600-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/Inter-600-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/Inter-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/Inter-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:900;font-display:swap;src:url("../fonts/Inter-900-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:900;font-display:swap;src:url("../fonts/Inter-900-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter Variable";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/InterVariable-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Variable";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/InterVariable-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Jetons ---------- */
:root{
  --blanc:#fff;
  --noir:#000;
  --fond:#f0f1f5;          /* rgb(240,241,245) */
  --fond-2:#f8f8fa;        /* rgb(248,248,250) */
  --sombre:#0a0a0a;        /* sections sombres */
  --sombre-2:#0f0f0f;      /* pied de page, cartes sombres */
  --sombre-3:#171717;      /* pastilles, champs */
  --gris:#667085;          /* texte secondaire rgb(102,112,133) */
  --gris-clair:#dfe1e5;    /* rgb(223,225,229) */
  --gris-mot:#343434;      /* mots non révélés sur fond sombre */
  --bleu:#7b9ff2;          /* rgb(123,159,242) */
  --bleu-10:rgba(123,159,242,.1);
  --orange:#ff5e00;
  --blanc-50:rgba(255,255,255,.5);
  --blanc-10:rgba(255,255,255,.1);
  --police:"Inter","Inter Placeholder",sans-serif;
  --ressort:cubic-bezier(.22,1,.36,1);
  --ease:cubic-bezier(.44,0,.56,1);
  --reveal-base:#dfe1e5;--reveal-final:#000;
}
.sec--sombre{--reveal-base:#343434;--reveal-final:#fff}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:auto}
html,body{overscroll-behavior:none}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:#030303;color:var(--noir);font-family:var(--police);font-size:16px;line-height:1.3;font-feature-settings:"blwf","cv09","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}
h1,h2,h3,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
img,video,svg{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,textarea{font:inherit}
/* Textes sans variantes de caractères (styles de texte Framer, composants de code) */
.hero__titre,.hero__titre-svg,.etiquette,.carte-chiffre__titre,.carte-chiffre__valeur,.carte-num__titre,.etape__titre,.question__titre,.faq__carte-titre,.carte-photo__titre,.t32,.galerie__titre,.galerie__para,.texte--aere,.pied__plc,.reveal,.btn__texte,.carte-info__titre,.legal__texte,.loader__titre{font-feature-settings:normal}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Texte de base du site : 16 px, 500, interlignage 1.3, approche -0.04em */
.texte{font-size:16px;font-weight:500;line-height:1.3;letter-spacing:-.04em}
.texte--gris{color:var(--gris)}
.texte--aere{line-height:1.4;letter-spacing:-.02em}
.petit{font-size:.88rem;font-weight:500;line-height:1.3;letter-spacing:-.04em}

/* ==========================================================================
   Loader (voile noir « PLC Studio »)
   ========================================================================== */
.loader{position:fixed;inset:0;z-index:9;background:var(--noir);display:flex;align-items:center;justify-content:center;pointer-events:none;transform:translateY(0);will-change:transform}
.loader__titre{font-size:40px;font-weight:700;line-height:48px;letter-spacing:-.04em;color:var(--blanc);white-space:pre;display:flex;gap:12px}
.loader__mot{display:inline-flex}
.loader__lettre{display:inline-block;opacity:0;transform:translateY(12px);will-change:transform,opacity}
.loader.est-lance .loader__lettre{animation:lettreEntre .42s var(--ressort) forwards}
.loader.est-lance .loader__titre{animation:titreSort .35s ease forwards;animation-delay:1.75s}
.loader.est-lance{animation:loaderSort .65s cubic-bezier(.77,0,.175,1) forwards;animation-delay:1.9s}
@keyframes lettreEntre{to{opacity:1;transform:translateY(0)}}
@keyframes titreSort{to{opacity:0}}
@keyframes loaderSort{to{transform:translateY(-100%)}}
.loader.est-fini{display:none}
html.sans-loader .loader{display:none}

/* ==========================================================================
   Navigation (fixe, pilule noire)
   ========================================================================== */
.nav{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;justify-content:center;align-items:center;padding:24px 32px;pointer-events:none}
.nav__pill{pointer-events:auto;display:flex;align-items:center;gap:24px;height:60px;padding:0 9px 0 24px;background:var(--noir);border-radius:32px;overflow:clip}
.nav__logo{display:flex;align-items:center;width:92.38px;height:32px;flex:none}
.nav__logo img{width:100%;height:100%;object-fit:cover}
.nav__liens{display:flex;align-items:center}
.nav__lien{display:flex;align-items:center;gap:4px;height:20.8px;color:var(--blanc);transition:opacity .3s ease}
.nav__lien .texte{white-space:pre}
.nav__par{color:var(--blanc-50);opacity:0;transition:opacity .35s ease;white-space:pre}
.nav__liens:hover .nav__lien{opacity:.5}
.nav__liens .nav__lien:hover{opacity:1}
.nav__lien:hover .nav__par{opacity:.4}
.nav__cta{display:flex;align-items:center;justify-content:center;padding:12px;background:var(--blanc);border-radius:32px;color:var(--noir);font-size:.88rem;font-weight:600;line-height:1.3;letter-spacing:-.04em;white-space:pre}
.nav__burger,.nav__fermer{display:none}

/* ==========================================================================
   Boutons
   ========================================================================== */
/* Bouton « Large » : anneau de 4 px, noyau noir, texte qui roule au survol */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;border-radius:32px;overflow:clip;cursor:pointer}
.btn__coeur{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--noir);border-radius:32px;transition:background-color .3s ease}
.btn:hover .btn__coeur{background:var(--bleu)}
.btn__int{display:flex;align-items:center;justify-content:center;padding:16px 20px 14px;overflow:hidden}
.btn__texte{display:flex;font-size:16px;font-weight:600;line-height:1.2;color:var(--blanc);overflow:hidden;white-space:pre}
.btn__texte .l{display:block;position:relative;transition:transform .42s var(--ressort);transition-delay:calc(var(--i) * 18ms);will-change:transform}
.btn__texte .l::after{content:attr(data-l);position:absolute;left:0;top:100%}
.btn:hover .btn__texte .l{transform:translateY(-100%)}
.btn--blanc .btn__coeur{background:var(--blanc)}
.btn--blanc .btn__texte{color:var(--noir)}
.btn--blanc:hover .btn__coeur{background:var(--blanc)}
.btn--plein{display:flex;width:100%}
.btn--plein .btn__coeur{flex:1}
.btn--leger .btn__texte{font-weight:500}

/* Étiquette de section (pastille blanche avec icône) */
.etiquette{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-radius:32px;background:var(--blanc);color:var(--noir)}
.etiquette svg{width:20px;height:20px;flex:none}
.etiquette--sombre{background:var(--sombre-3);color:var(--blanc)}
.ico{--c:var(--gris);--fo:.1;--sw:1.5;width:20px;height:20px}
.ico--sombre{--c:#fff}
.ico--bleu{--c:var(--bleu);--fo:.3}
.ico--orange{--c:var(--orange);--fo:.3}

/* ==========================================================================
   Héros (accueil et pages intérieures)
   ========================================================================== */
.hero{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100vh;height:100svh;min-height:600px;background:var(--noir);overflow:clip;color:var(--blanc)}
.hero__image{position:absolute;inset:0}
.hero__image img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero__image--flou img{filter:blur(16px);transform:scale(1.05)}
.hero__col{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;width:100%;height:100%}
.hero__row1{flex:0.5 0 0;display:flex;justify-content:center;align-items:flex-start;gap:10px;padding:24px;width:100%}
.hero__row2{display:flex;justify-content:center;align-items:center;padding:24px;width:100%}
.hero__bloc{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;width:718.71px;max-width:100%}
.hero__sous{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:24px;padding-top:24px;width:100%}
.hero__annee{display:flex;flex-direction:column;justify-content:center;width:100%;height:40px;overflow:clip}
.hero__annee .texte{text-align:right;white-space:pre-wrap}
.hero__etabli{font-family:"Inter Variable","Inter Variable Placeholder",sans-serif;font-variation-settings:"opsz" 14,"wght" 600;font-size:.75rem;font-weight:600;line-height:1.6;letter-spacing:-.04em;text-align:right;color:var(--blanc-50)}
.hero__coin{position:absolute;left:0;top:44px;width:20px;height:20px;z-index:1}
.hero__coin::after{content:"";position:absolute;inset:0;border-top:2px solid var(--blanc);border-left:2px solid var(--blanc);border-radius:1px}
.hero__titre{width:100%;font-size:120px;font-weight:700;line-height:1;white-space:pre;letter-spacing:0}
.hero__titre-svg{display:none;width:100%}
.hero__titre-svg h1,.hero__titre-svg p{font-size:120px;font-weight:700;line-height:1;white-space:pre;color:var(--blanc);margin:0}
.hero__desc-ligne{display:flex;align-items:center;gap:10px;width:100%}
.hero__desc{max-width:358px;white-space:pre-wrap}
.hero__desc--large{max-width:100%}
.hero__row3{flex:1 0 0;display:flex;justify-content:flex-end;align-items:flex-end;gap:10px;padding:0 32px 40px;width:100%}
.hero__infos{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero__infos .texte{white-space:pre}
.hero__droite{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;width:269px;flex:none}
.hero__inner{display:flex;flex-direction:column;align-items:flex-end;width:100%;max-width:100%}

/* Ticker vertical des prestations */
.ticker{display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:180px;height:122px;overflow:clip;-webkit-mask-image:linear-gradient(0deg,rgba(0,0,0,0) 0%,#000 52%);mask-image:linear-gradient(0deg,rgba(0,0,0,0) 0%,#000 52%)}
.ticker ul{display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:180px;animation:tickerMonte 6.5s linear infinite}
.ticker li{display:flex;align-items:center;justify-content:center;gap:8px;height:18px;white-space:pre}
.ticker__num{display:flex;align-items:center;gap:1px}
.ticker__num .par{color:var(--blanc-50)}
@keyframes tickerMonte{from{transform:translateY(0)}to{transform:translateY(-130px)}}

/* Carte « Parlons-en » */
.hero__cta{display:flex;align-items:center;gap:10px;padding:8px;width:269px;height:74px;margin-top:0;background:var(--blanc);border-radius:16px;overflow:clip;color:var(--noir);transition:background-color .45s ease}
.hero__cta:hover{background:var(--noir)}
.hero__cta-img{position:relative;width:58px;height:58px;border-radius:12px;overflow:clip;flex:none}
.hero__cta-img img{position:absolute;left:-19px;top:-19px;width:96px;height:96px;object-fit:cover;border-radius:12px;transition:transform .45s ease}
.hero__cta:hover .hero__cta-img img{transform:scale(1.04)}
.hero__cta-texte{display:flex;flex-direction:column;justify-content:center;gap:4px;width:185px;overflow:clip}
.hero__cta-petit{font-size:.88rem;font-weight:600;line-height:1.3;letter-spacing:-.04em;color:var(--gris)}
.hero__cta-gros{font-size:20px;font-weight:600;line-height:26px;letter-spacing:-.04em}

/* ==========================================================================
   Sections
   ========================================================================== */
.page{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;overflow:clip}
.sec{position:relative;display:flex;flex-direction:column;align-items:center;gap:64px;padding:150px 32px;width:100%;overflow:clip}
.sec--clair{background:var(--fond)}
.sec--clair2{background:var(--fond-2)}
.sec--sombre{background:var(--sombre);color:var(--blanc)}
.sec--galerie{gap:48px;padding:39px 32px}
.sec--tarifs{padding:17px 32px}

/* En-tête de section : étiquette à gauche, titre + paragraphe sur 2 colonnes */
.sec--contact .grille3{max-width:1280px}
.sec__contenu{display:grid;grid-template-columns:repeat(3,minmax(50px,1fr));justify-content:center;width:100%;max-width:1280px}
.sec__contenu--centre .etiquette{justify-self:center;align-self:center}
.sec__etiq{justify-self:start;align-self:start}
.sec__texte{grid-column:span 2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:32px;overflow:clip}
.sec__bloc{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;overflow:clip;width:100%}
.sec__titre{display:flex;align-items:flex-start;width:100%;max-width:800px;min-height:5px}
.sec__titre :is(h1,h2){position:sticky;top:0;width:100%;font-size:48px;font-weight:600;line-height:1.2;letter-spacing:-.06em;text-align:left;min-height:5px}
.sec__titre :is(h1,h2) .mot{display:inline-block;margin-right:.25em;transition:color .2s ease-out,filter .2s ease-out}
.sec__para{max-width:500px;white-space:pre-wrap}
.sec__para--mobile{display:none}

/* Grille de cartes (3 colonnes) */
.grille3{display:grid;grid-template-columns:repeat(3,minmax(50px,1fr));gap:8px;width:100%;max-width:1280px;border-radius:32px;overflow:hidden;position:relative;z-index:1}

/* Carte chiffre (100 %, 6+) */
.carte-chiffre{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding:24px;height:550px;background:var(--blanc);border-radius:24px;overflow:clip}
.carte-chiffre__haut{display:flex;align-items:flex-start;gap:32px;width:100%;overflow:clip}
.carte-chiffre__valeur{font-size:72px;font-weight:600;line-height:1.2;letter-spacing:-.03em;text-align:left;white-space:nowrap}
.carte-chiffre__ico{flex:1;display:flex;justify-content:flex-end;align-items:center}
.carte-chiffre__ico svg{width:32px;height:32px}
.carte-chiffre__bas{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:8px;width:100%;overflow:clip}
.carte-chiffre__titre{font-size:1.38rem;font-weight:600;line-height:1.4;letter-spacing:-.04em}
.carte-chiffre__texte{max-width:400px;white-space:pre-wrap}

/* Carte sombre avec photo floutée */
.carte-photo{display:flex;align-items:center;justify-content:center;padding:8px;height:550px;background:var(--blanc);border-radius:24px;overflow:clip;color:var(--blanc)}
.carte-photo__int{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;width:100%;height:100%;border-radius:16px;overflow:clip}
.carte-photo__fond{position:absolute;inset:-8px -6px;filter:blur(5px);overflow:clip}
.carte-photo__fond img{width:100%;height:100%;object-fit:cover}
.carte-photo__contenu{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;width:100%;height:100%;overflow:clip}
.carte-photo__titre{font-size:32px;font-weight:600;line-height:1.4;letter-spacing:-.04em;white-space:pre-wrap}
.carte-photo .btn{width:100%}
.carte-photo .btn__coeur{flex:1}

/* Galerie */
.galerie__entete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;width:100%;max-width:1280px}
.galerie__gauche{flex:1 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.galerie__titre{text-wrap:balance;max-width:640px;font-size:48px;font-weight:600;line-height:1.1;letter-spacing:-.04em;white-space:pre-wrap}
.galerie__para{max-width:500px;white-space:pre-wrap}
.galerie__grille{display:grid;grid-template-columns:repeat(3,minmax(50px,1fr));gap:8px;width:100%;max-width:1280px}
.carte-photo-g{display:block;aspect-ratio:1/1;border-radius:18px;overflow:clip}
.carte-photo-g img{width:100%;height:100%;object-fit:cover;border-radius:18px}

/* Cartes bénéfices (01. 02. 03.) */
.carte-num{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;height:425px;background:var(--blanc);border-radius:24px;overflow:clip}
.carte-num__num{font-size:64px;font-weight:600;line-height:1.2;letter-spacing:-.06em;color:var(--gris-clair)}
.carte-num__bas{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;width:100%;overflow:clip}
.carte-num__contenu{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;width:100%;overflow:clip}
.carte-num__contenu svg{width:32px;height:32px}
.carte-num__titre{font-size:1.38rem;font-weight:600;line-height:1.4;letter-spacing:-.04em}

/* Services : trois colonnes de pastilles */
.services__col{display:flex;flex-direction:column;align-items:center;gap:10px;height:800px;overflow:clip}
.services__tete{display:flex;justify-content:center;align-items:center;padding:16px;width:100%;background:var(--sombre-2);border-radius:16px;color:var(--blanc-50)}
.services__liste{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;width:100%;background:var(--sombre-2);border-radius:24px;overflow:clip}
.pastille{display:flex;justify-content:center;align-items:center;padding:16px;width:100%;background:var(--sombre-3);border-radius:16px;color:var(--blanc);white-space:pre}

/* Méthode : image + 4 étapes */
.methode{display:flex;align-items:center;gap:8px 16px;padding:8px;width:100%;max-width:1280px;background:var(--blanc);border-radius:24px;overflow:hidden;position:relative;z-index:1}
.methode__int{flex:1;display:grid;grid-template-columns:repeat(4,minmax(50px,1fr));justify-content:center;gap:8px 16px;padding:8px;background:var(--fond);border-radius:16px;overflow:hidden}
.methode__image{position:relative;grid-column:span 2;height:747px;border-radius:16px;overflow:clip}
.methode__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:16px}
.methode__etapes{grid-column:span 2;display:grid;grid-template-columns:repeat(2,minmax(50px,1fr));gap:4px;overflow:clip}
.etape{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;background:var(--blanc);border-radius:16px;overflow:clip}
.etape__points{display:flex;align-items:center;gap:4px}
.etape__points span{width:8px;height:8px;border-radius:32px;background:var(--gris-clair)}
.etape__points span:first-child{background:var(--bleu)}
.etape__bas{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;width:100%;height:306px;overflow:clip}
.etape__contenu{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;width:100%}
.etape__titre{font-size:1.38rem;font-weight:600;line-height:1.4;letter-spacing:-.04em}

/* Tarifs */
.tarifs{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1280px;overflow:clip}
.tarifs__col{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;overflow:clip}
.tarifs__carte{display:flex;flex-direction:column;align-items:flex-start;gap:24px 16px;padding:16px;width:100%;background:var(--blanc);border-radius:16px;overflow:hidden;position:relative;z-index:1}
.tarifs__haut{display:flex;flex-direction:column;align-items:flex-start;gap:24px;width:100%;overflow:clip}
.badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:var(--bleu-10);border-radius:32px;color:var(--bleu);font-size:12px;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.badge svg{width:16px;height:16px}
.badge--grand{font-size:16px;font-weight:500;letter-spacing:-.04em}
.badge--grand svg{width:24px;height:24px}
.tarifs__bloc{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;width:100%;overflow:clip}
.t32{font-size:32px;font-weight:600;line-height:1.4;letter-spacing:-.04em}
.tarifs__desc{max-width:300px;white-space:pre-wrap}
.tarifs__ligne{display:flex;justify-content:space-between;align-items:center;width:100%;overflow:clip}
.tarifs__prix{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 20px 12px 12px;background:var(--blanc);border-radius:12px;overflow:clip}

/* FAQ */
.faq{display:flex;justify-content:center;align-items:flex-start;gap:16px;width:100%;max-width:1280px;overflow:clip}
.faq__gauche{display:flex;align-items:flex-start;gap:10px;width:421.33px;flex:none;overflow:clip}
.faq__carte{display:flex;flex-direction:column;align-items:flex-start;gap:32px;padding:24px;width:100%;background:var(--blanc);border-radius:24px;overflow:clip}
.faq__carte-haut{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;width:100%;overflow:clip}
.faq__carte-titre{font-size:1.38rem;font-weight:600;line-height:1.4;letter-spacing:-.04em}
.faq__mail{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:8px 16px;width:100%;background:var(--bleu-10);border-radius:12px;overflow:clip}
.faq__mail-int{display:flex;align-items:center;gap:8px;overflow:clip}
.faq__mail-int svg{width:24px;height:24px;flex:none}
.faq__mail a{color:var(--bleu);text-align:center}
.faq__mail a:hover{text-decoration:underline;text-decoration-color:var(--orange)}
.faq__liste{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;overflow:clip}
.question{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:22px;width:100%;background:var(--blanc);border-radius:16px;overflow:clip;cursor:pointer}
.question__ligne{display:flex;justify-content:center;align-items:center;gap:32px;width:100%;overflow:clip}
.question__titre{flex:1;font-size:1.13rem;font-weight:600;line-height:1.4;letter-spacing:-.04em}
.question__plus{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--noir);border-radius:8px;flex:none;overflow:clip}
.question__plus svg{width:20px;height:20px;transition:transform .35s var(--ressort)}
.question.est-ouverte .question__plus svg{transform:rotate(45deg)}
.question__reponse{display:grid;grid-template-rows:1px;width:100%;overflow:clip;transition:grid-template-rows .4s var(--ressort),padding-top .4s var(--ressort)}
.question__reponse>div{min-height:0;overflow:hidden}
.question.est-ouverte .question__reponse{grid-template-rows:1fr;padding-top:12px}

/* Contact (formulaire) */
.contact__col-vide{display:flex;flex-direction:column;align-items:center;gap:10px}
.contact__carte{grid-column:span 2;display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px;background:var(--sombre-2);border-radius:24px;overflow:clip}
.form{display:flex;flex-direction:column;align-items:flex-start;gap:32px;width:100%;overflow:hidden}
.form__champs{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;overflow:clip}
.form label{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%}
.champ{display:flex;align-items:center;padding:20px;width:100%;background:var(--sombre-3);border-radius:32px;overflow:hidden}
.champ--zone{padding:0;min-height:100px;border-radius:24px}
.champ input,.champ textarea{width:100%;margin:0;padding:0;border:0;outline:0;background:transparent;color:var(--blanc);font-family:"Inter",sans-serif;font-size:14px;font-weight:400;line-height:1.2}
.champ textarea{display:block;padding:20px;min-height:214px;resize:none;white-space:break-spaces;overflow:hidden auto}
.champ input::placeholder,.champ textarea::placeholder{color:var(--blanc-50)}
.form__envoyer{display:flex;align-items:center;justify-content:center;padding:16px;width:100%;background:var(--blanc);border-radius:32px;color:var(--noir);font-size:16px;font-weight:600;line-height:1.3;letter-spacing:-.04em;text-align:center;cursor:pointer}
.form__message{display:none;width:100%;text-align:center;color:var(--blanc-50)}
.form.est-envoye .form__message{display:block}

/* ==========================================================================
   Pied de page
   ========================================================================== */
.pied{position:relative;display:flex;flex-direction:column;align-items:center;padding:48px 32px 32px;width:100%;background:var(--sombre-2);color:var(--blanc);overflow:clip}
.pied__haut{display:flex;align-items:flex-start;gap:8px;width:100%;max-width:1280px;overflow:clip}
.pied__grille{display:grid;grid-template-columns:repeat(4,minmax(50px,1fr));grid-auto-rows:min-content;align-content:start;justify-content:center;gap:8px 0;padding:24px;width:100%;height:500px;border-radius:24px}
.pied__col{display:flex;flex-direction:column;align-items:flex-start;gap:24px;overflow:clip}
.pied__tete{font-size:12px;font-weight:600;line-height:1.3;letter-spacing:-.01em;color:var(--blanc-50)}
.pied__liens{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;overflow:clip}
.pied__lien{display:flex;align-items:center;padding:4px 0;color:var(--blanc-50);transition:color .25s ease;white-space:pre}
.pied__lien:hover{color:var(--blanc)}
.pied__marque{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding:32px 0;width:100%;max-width:1280px;border-radius:32px;overflow:clip}
.pied__plc{width:100%;height:auto;overflow:visible}
.pied__plc h1,.pied__plc p{margin:0;font-size:438.6px;font-weight:700;line-height:1em;color:var(--blanc-10);white-space:pre}
.pied__copy{width:100%;font-size:.88rem;font-weight:600;line-height:1.3;letter-spacing:-.04em;color:var(--gris-mot);white-space:pre-wrap}

/* ==========================================================================
   Animations d'apparition (ressort Framer : y 30 → 0, opacité)
   ========================================================================== */
.apparait{opacity:0;transform:translateY(30px);will-change:transform,opacity}
.apparait.est-visible{opacity:1;transform:translateY(0);transition:opacity .75s var(--ressort),transform .75s var(--ressort)}
.hero__image{opacity:0;transform:scale(1.1)}
.hero .app{opacity:0;transform:translateY(30px)}
html.hero-pret .hero__image{opacity:1;transform:scale(1);transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.hero-pret .hero .app{opacity:1;transform:translateY(0);transition:opacity .8s var(--ressort),transform .8s var(--ressort)}
html.hero-pret .hero .app--2{transition-delay:.1s}
html.hero-pret .hero .app--3{transition-delay:.2s}
@media (prefers-reduced-motion:reduce){
  .apparait,.hero__image,.hero .app{opacity:1;transform:none;transition:none}
  .ticker ul{animation:none}
  .loader{display:none}
}

/* ==========================================================================
   Tablette (810 – 1199 px)
   ========================================================================== */
@media (min-width:810px) and (max-width:1199.98px){
  .sec__contenu{grid-template-columns:repeat(4,minmax(50px,1fr));max-width:800px}
  .sec__texte{grid-column:span 3}
  .grille3{grid-template-columns:repeat(2,minmax(50px,1fr));max-width:800px}
  .grille3--services{grid-template-columns:repeat(3,minmax(50px,1fr))}
  .carte-chiffre,.carte-photo{height:446px}
  .carte-chiffre--2{order:3}
  .carte-num{height:446px}
  .galerie__titre{font-size:38.4px}
  .methode{max-width:800px}
  .methode__int{grid-template-columns:repeat(2,minmax(50px,1fr))}
  .methode__image{grid-column:span 1;height:auto;align-self:stretch}
  .methode__etapes{grid-column:span 1;grid-template-columns:1fr}
  .etape__bas{height:103px}
  .sec--contact .sec__contenu{max-width:1280px}
  .sec--contact .grille3{grid-template-columns:repeat(3,minmax(50px,1fr));max-width:1280px}
  .sec--contact .contact__carte{grid-column:span 2}
  .tarifs{max-width:800px}
  .faq{max-width:800px;flex-direction:column}
  .faq__gauche{width:100%}
  .faq__liste{width:100%}
  .pied__grille{grid-template-columns:repeat(3,minmax(50px,1fr));gap:32px 0;height:539px}
}

/* ==========================================================================
   Mobile (≤ 809 px)
   ========================================================================== */
@media (max-width:809.98px){
  .nav{justify-content:flex-start;align-items:flex-start;padding:24px 16px}
  .nav__pill{flex-direction:column;align-items:center;width:100%;height:auto;padding:14px 24px;gap:24px}
  .nav__pill.est-ouverte{padding-bottom:32px}
  .nav__haut{display:flex;justify-content:space-between;align-items:center;width:100%;height:32px}
  .nav__burger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:24px;height:32px}
  .nav__burger span{display:block;width:20px;height:2px;background:var(--blanc);border-radius:2px;transition:transform .3s var(--ressort),opacity .3s ease}
  .nav__pill.est-ouverte .nav__burger span:first-child{transform:translateY(4px) rotate(45deg)}
  .nav__pill.est-ouverte .nav__burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .nav__liens{display:none;flex-direction:column;align-items:flex-start;gap:12px;width:100%}
  .nav__cta{display:none;width:100%}
  .nav__pill.est-ouverte .nav__liens,.nav__pill.est-ouverte .nav__cta{display:flex}
  .nav__liens:hover .nav__lien{opacity:1}
  .nav__par{display:none}

  .hero{height:100vh;height:100svh;min-height:0}
  .hero__row2{padding:24px 16px}
  .hero__bloc{width:100%}
  .hero:not(.hero--int) .hero__titre,.hero__bloc--svg .hero__titre{display:none}
  .hero__titre-svg{display:block}
  .hero__desc{max-width:100%}
  .hero__droite{display:none}
  .hero__row3{padding:0 32px 40px}

  .sec{align-items:flex-start;padding:100px 16px}
  .sec--galerie{align-items:center;gap:11px;padding:39px 32px}
  .sec--methode{padding:41px 15px 41px 16px}
  .sec--tarifs{padding:0 16px}
  .sec__contenu{display:flex;flex-direction:column;align-items:flex-start;gap:32px;max-width:400px}
  .sec__contenu--centre .etiquette{align-self:flex-start}
  .sec__texte{width:100%}
  .sec__titre--mobile32 h2{font-size:32px;letter-spacing:-.06em}
  .sec__para--mobile{display:block}
  .sec__para--desktop{display:none}
  .grille3{grid-template-columns:1fr;max-width:400px}
  .carte-chiffre,.carte-photo{height:295px}
  .carte-photo{height:auto;min-height:295px}
  .sec--studio .carte-chiffre{height:328px}
  .sec--studio .sec__titre--mobile32 h2{font-size:48px;letter-spacing:-.06em}
  .galerie__gauche{gap:7px}
  .galerie__titre{font-size:1.04rem;line-height:1.1;letter-spacing:-.04em}
  .galerie__grille{grid-template-columns:repeat(2,minmax(50px,1fr))}
  .carte-num{height:528px}
  .grille3--services{grid-template-columns:1fr}
  .services__col{height:795px}
  .methode{max-width:400px}
  .methode__int{display:flex;flex-direction:column;gap:8px;padding:8px 8px 0}
  .methode__image{height:auto;aspect-ratio:327/408}
  .methode__etapes{grid-template-columns:1fr;gap:4px}
  .etape__bas{height:134px}
  .tarifs{max-width:400px}
  .tarifs__ligne{flex-direction:column-reverse;align-items:center;gap:16px}
  .tarifs__ligne--question{flex-direction:column;gap:32px}
  .tarifs__ligne .btn{width:100%}
  .tarifs__ligne .btn__coeur{flex:1}
  .faq{flex-direction:column;max-width:400px}
  .faq__gauche{width:100%}
  .faq__liste{width:100%}
  .question__titre{font-size:1.13rem}
  .contact__col-vide{display:none}
  .contact__carte{grid-column:span 1;padding:16px}
  .form__champs{gap:8px}
  .champ textarea{min-height:262px}
  .pied{padding:32px 16px}
  .pied__haut{flex-direction:column;max-width:400px}
  .pied__grille{grid-template-columns:repeat(2,minmax(50px,1fr));gap:24px 0;padding:24px 12px;height:auto}
  .pied__col{gap:16px}
  .pied__col--legal{grid-column:span 2}
  .pied__marque{max-width:400px}
}

/* ==========================================================================
   Pages intérieures
   ========================================================================== */
.page__etroit{width:100%;max-width:1240px}
.hero--int .hero__row1{flex:0.5 0 0}
.hero--int .hero__row2{flex:1 0 0}
.hero--int .hero__row3{flex:0.5 0 0}
.hero__bloc--int{max-width:100%}
.hero--int .hero__sous{padding-top:0;align-self:stretch}
.hero--int .hero__annee{height:auto;overflow:visible}
.hero--int .hero__coin{top:.8px}
.hero__titre--int{white-space:pre;letter-spacing:0}
.hero__bloc--int{box-sizing:content-box}
.hero__desc--37{max-width:37%}
.hero__desc-ligne--42{height:42px;align-items:flex-start}
.hero__desc--large{flex:1;max-width:none;white-space:pre-wrap}
.hero__titre--64{font-size:64px;font-weight:600;line-height:1.2;letter-spacing:-.04em}
.hero--404 .hero__bloc--404{width:243px;gap:32px}
.hero__bloc-404-haut{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;overflow:clip}
.hero__btn-404{width:100%}

/* Studio */
.carte-chiffre__titre--32{font-size:32px;line-height:1.4;letter-spacing:-.04em}

/* Photos */
.sec--projets{gap:72px;padding:120px 32px}
.projets__ouverture{width:100%;max-width:1136px;height:620px;border-radius:18px;overflow:clip;cursor:pointer}
.projets__ouverture a,.projets__ouverture img{display:block;width:100%;height:100%;object-fit:cover;border-radius:18px}
.apparait--zoom{transform:translateY(24px) scale(1.02)}
.apparait--zoom.est-visible{transform:translateY(0) scale(1)}
.projets__grille{display:grid;grid-template-columns:repeat(3,minmax(50px,1fr));gap:18px;width:100%;max-width:1136px;overflow:clip}
.projets__photo{display:block;height:360px;border-radius:18px;overflow:clip;cursor:pointer}
.projets__photo img{width:100%;height:100%;object-fit:cover;border-radius:18px}
.visionneuse{position:fixed;inset:0;z-index:20;display:none;align-items:center;justify-content:center;padding:32px}
.visionneuse.est-ouverte{display:flex}
.visionneuse__fond{position:absolute;inset:0;background:rgba(0,0,0,.92);cursor:pointer}
.visionneuse__cadre{position:relative;max-width:100%;max-height:100%}
.visionneuse__cadre img{max-width:calc(100vw - 64px);max-height:calc(100vh - 64px);width:auto;height:auto;border-radius:18px;object-fit:contain}
.visionneuse__fermer{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--noir);border-radius:12px;cursor:pointer}
.visionneuse__fermer svg{width:24px;height:24px;transform:rotate(45deg)}

/* Contact */
.grille3--info{overflow:visible}
.carte-info{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;height:550px;background:var(--blanc);border-radius:24px;overflow:clip}
.carte-info__num{font-size:64px;font-weight:600;line-height:1.2;letter-spacing:-.04em;color:var(--gris-clair);white-space:pre}
.carte-info__bas{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;width:100%;overflow:clip}
.carte-info__contenu{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;width:100%;overflow:clip}
.carte-info__titre{font-size:1.38rem;font-weight:600;line-height:1.4;letter-spacing:-.04em}
.carte-info__boite{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;width:100%;background:var(--bleu-10);border-radius:12px;color:var(--bleu);overflow:clip}
.carte-info__boite svg{width:32px;height:32px;flex:none}

/* Vidéo */
.page--video{display:block}
.video-intro,.showreel,.offres,.video-contact,.devis-hero,.devis-galerie,.devis-contact{font-feature-settings:normal}
.video-intro__titre,.video-intro__texte,.showreel__titre,.offres__titre,.video-contact__titre,.video-contact__texte,.devis-hero__titre,.devis-hero__sous,.devis-contact__note{text-wrap:balance}
.video-label{font-size:12px;font-weight:500;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:var(--noir)}
.video-label--blanc{color:var(--blanc)}
.video-label--bleu{font-weight:600;color:var(--bleu)}
.video-label--14{font-size:14px;font-weight:600}
.video-intro{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:120px 32px;background:var(--sombre);overflow:clip}
.video-intro__int{display:flex;flex-direction:column;align-items:flex-start;gap:28px;width:100%;max-width:1136px;overflow:clip}
.video-intro__titre{max-width:900px;font-size:72px;font-weight:600;line-height:1;letter-spacing:-.055em;color:var(--blanc);white-space:pre-wrap}
.video-intro__texte{max-width:620px;font-size:18px;font-weight:500;line-height:1.5;color:var(--gris);white-space:pre-wrap}
.btn--sombre-texte .btn__texte{color:var(--sombre)}
.showreel{display:flex;flex-direction:column;align-items:center;gap:40px;padding:240px 32px 104px;background:var(--fond);overflow:clip}
.showreel__entete{display:flex;flex-direction:column;align-items:flex-start;gap:18px;width:100%;max-width:1136px}
.showreel__titre{max-width:640px;font-size:40px;font-weight:600;line-height:1.08;letter-spacing:-.045em;white-space:pre-wrap}
.carrousel{position:relative;width:100%;max-width:1376px}
.carrousel__piste{display:flex;align-items:flex-start;gap:16px;padding:0 4px;width:100%;max-width:1136px;overflow:auto hidden;scroll-snap-type:x proximity;scrollbar-width:none}
.carrousel__piste::-webkit-scrollbar{display:none}
.carrousel__item{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:12px;width:360px;flex:none;background:var(--blanc);border-radius:18px;overflow:clip;scroll-snap-align:start}
.carrousel__video{width:336px;height:450px;background:var(--noir);border-radius:10px;overflow:hidden}
.carrousel__video video{width:100%;height:100%;object-fit:cover;background:var(--noir)}
.carrousel__infos{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%}
.carrousel__titre{font-size:20px;font-weight:600;line-height:1.15;letter-spacing:-.03em}
.carrousel__fleche{position:absolute;top:50%;width:36px;height:36px;margin-top:-18px;border-radius:999px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.28);color:var(--blanc);font-size:14px;line-height:1;cursor:pointer}
.carrousel__precedent{left:12px}
.carrousel__suivant{right:16px}
.offres{display:flex;flex-direction:column;align-items:center;gap:48px;padding:112px 32px;background:var(--fond-2);overflow:clip}
.offres__int{display:flex;flex-direction:column;align-items:flex-start;gap:32px;width:100%;max-width:1136px}
.offres__titre{max-width:680px;font-size:48px;font-weight:600;line-height:1.08;letter-spacing:-.045em;white-space:pre-wrap}
.offres__grille{display:grid;grid-template-columns:repeat(3,minmax(50px,1fr));gap:18px;width:100%;overflow:clip}
.offre{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:28px;background:var(--blanc);border-radius:18px;overflow:clip}
.offre__num{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-.05em;color:var(--bleu)}
.offre__titre{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.03em}
.offre__texte{font-size:16px;font-weight:500;line-height:1.45;color:var(--gris)}
.video-contact{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:112px 32px;background:var(--sombre);overflow:clip}
.video-contact__int{display:flex;flex-direction:column;align-items:flex-start;gap:26px;width:100%;max-width:1136px}
.video-contact__titre{max-width:800px;font-size:56px;font-weight:600;line-height:1.05;letter-spacing:-.05em;color:var(--blanc);white-space:pre-wrap}
.video-contact__texte{max-width:620px;font-size:18px;font-weight:500;line-height:1.5;color:var(--gris);white-space:pre-wrap}

/* Devis */
.page--devis{display:block}
.devis-hero{display:flex;flex-direction:column;align-items:center;gap:24px;padding:120px 32px 56px;background:var(--sombre);overflow:clip}
.devis-hero__titre{max-width:880px;font-size:64px;font-weight:700;line-height:1.05;letter-spacing:-.04em;text-align:center;color:var(--blanc);white-space:pre-wrap}
.devis-hero__sous{max-width:660px;font-size:20px;font-weight:500;line-height:1.4;letter-spacing:-.04em;text-align:center;color:var(--blanc-50);white-space:pre-wrap}
.devis-galerie{display:flex;flex-direction:column;align-items:center;padding:0 32px 64px;background:var(--sombre);overflow:clip}
.devis-galerie__grille{display:grid;grid-template-columns:repeat(3,minmax(50px,1fr));gap:8px;width:100%;max-width:1136px}
.devis-contact{display:flex;flex-direction:column;align-items:center;gap:16px;padding:72px 32px;background:var(--sombre-2);overflow:clip}
.btn--480{display:flex;width:100%;max-width:480px}
.btn--480 .btn__coeur{flex:1}
.btn--bleu .btn__coeur{background:var(--bleu)}
.devis-contact__note{max-width:560px;font-size:15px;font-weight:500;line-height:1.4;letter-spacing:-.04em;text-align:center;color:var(--blanc-50);white-space:pre-wrap}

/* Pages légales */
.sec--legal{padding:100px 32px 150px}
.legal__cadre{display:flex;flex-direction:column;align-items:flex-start;gap:8px 16px;padding:8px;width:100%;max-width:800px;background:rgba(255,255,255,.5);border-radius:16px;overflow:hidden;position:relative;z-index:1}
.legal__int{display:flex;align-items:flex-start;gap:10px;padding:24px;width:100%;background:var(--blanc);border-radius:16px;overflow:clip}
.legal__texte{flex:1;white-space:pre-wrap}
.legal__p{font-size:16px;font-weight:500;line-height:1.4;letter-spacing:-.02em;color:var(--gris)}
.legal__p+.legal__p,.legal__h2+.legal__p{margin-top:20px}
.legal__p strong{font-weight:700;color:var(--noir)}
.legal__p a{color:var(--bleu);text-decoration:underline}
.legal__h2{margin-top:40px;font-size:30px;font-weight:700;line-height:1.4;letter-spacing:-.04em}

@media (min-width:810px) and (max-width:1199.98px){
  .pied__haut,.pied__marque{max-width:800px}
  .sec--projets{gap:64px;padding:104px 32px}
  .projets__ouverture{height:480px}
  .projets__grille{grid-template-columns:repeat(2,minmax(50px,1fr));gap:16px}
  .sec--studio .carte-chiffre{height:396px}
  .video-intro{padding:96px 28px}
  .video-intro__titre{font-size:56px;line-height:1;letter-spacing:-.055em}
  .showreel{gap:44px;padding:88px 28px}
  .carrousel__item{width:368px}
  .carrousel__video{width:344px;height:450px}
  .offres{padding:88px 28px}
  .offres__titre{font-size:40px;line-height:1.08;letter-spacing:-.045em}
  .offres__grille{grid-template-columns:repeat(2,minmax(50px,1fr))}
  .video-contact{padding:88px 28px}
  .video-contact__titre{font-size:44.8px;line-height:1.05;letter-spacing:-.05em}
  .devis-hero{padding:120px 24px 48px}
  .devis-hero__titre{font-size:48px;line-height:1.05;letter-spacing:-.04em}
  .devis-galerie{padding:0 24px 56px}
  .devis-contact{padding:64px 24px}
}
@media (max-width:809.98px){
  .hero__bloc--int{width:100%!important}
  .hero__bloc--svg .hero__titre{display:none}
  .hero__bloc--svg .hero__titre-svg{display:block}
  .hero__desc--37{max-width:100%}
  .hero__titre--64{font-size:40px;font-weight:700;line-height:1.1;letter-spacing:-.04em;white-space:pre-wrap}
  .hero__titre--404{font-size:40px;font-weight:700;line-height:1.1;letter-spacing:-.04em;text-align:center}
  .hero--404 .hero__bloc--404{width:100%}
  .sec--projets{align-items:center;gap:40px;padding:112px 16px 11px}
  .projets__ouverture{height:420px}
  .projets__grille{grid-template-columns:repeat(2,minmax(50px,1fr));gap:12px}
  .projets__photo{height:171px}
  .carte-info{height:400px}
  .hero--int .hero__row2{padding:24px}
  .page__etroit .hero__row2{padding:24px 16px}
  .video-intro{padding:80px 20px}
  .video-intro__int{padding:10px 0}
  .video-intro__titre{font-size:44px;line-height:1.03;letter-spacing:-.055em}
  .video-intro__texte{font-size:16px;line-height:1.5}
  .showreel{gap:36px;padding:72px 20px}
  .showreel__titre{font-size:36px;line-height:1.08;letter-spacing:-.045em}
  .carrousel__piste{gap:14px}
  .carrousel__item{width:350px}
  .carrousel__video{width:326px;height:450px}
  .offres{gap:36px;padding:72px 20px}
  .offres__titre{font-size:32px;line-height:1.1;letter-spacing:-.045em}
  .offres__grille{display:flex;flex-direction:column;gap:16px}
  .offre{gap:16px;padding:24px;width:100%}
  .offre__titre{font-size:22px;line-height:1.2;letter-spacing:-.03em}
  .video-contact{padding:72px 20px}
  .video-contact__titre{font-size:40px;line-height:1.05;letter-spacing:-.05em}
  .devis-hero{padding:130px 20px 36px}
  .devis-hero__titre{font-size:34px;line-height:1.05;letter-spacing:-.04em}
  .devis-hero__sous{font-size:17px;line-height:1.4}
  .devis-galerie{padding:0 20px 40px}
  .devis-galerie__grille{grid-template-columns:repeat(2,minmax(50px,1fr))}
  .devis-contact{padding:48px 20px 56px}
  .devis-contact__note{font-size:14px;line-height:1.4}
  .sec--legal{padding:50px 16px 150px}

}


/* ================= Pages Sport et Mariage & baptême (ajout du 14/11/2026) ================= */
.sec > .offres__grille{max-width:1136px}
.sec .offre{background:var(--blanc)}
.projets__grille--haut .projets__photo{height:520px}
.note-galerie{max-width:640px;text-align:center}
.formules{display:grid;grid-template-columns:repeat(3,minmax(50px,1fr));gap:18px;width:100%;max-width:1136px;align-items:stretch}
.formule{display:flex;flex-direction:column;align-items:flex-start;gap:28px;padding:24px;background:var(--blanc);border-radius:16px;overflow:clip}
.formule__haut{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%}
.formule__haut .badge{margin-bottom:14px}
.formule__nom{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.03em}
.formule__prix{font-size:56px;font-weight:600;line-height:1.1;letter-spacing:-.05em}
.formule__sous{color:var(--gris)}
.formule__liste{display:flex;flex-direction:column;gap:12px;width:100%;margin:0;padding:20px 0 0;list-style:none;border-top:1px solid rgba(0,0,0,.08)}
.formule__liste li{display:flex;align-items:flex-start;gap:10px;font-size:16px;font-weight:500;line-height:1.4;letter-spacing:-.02em}
.formule__liste svg{flex:0 0 auto;width:20px;height:20px;margin-top:1px}
.formule .btn{margin-top:auto;width:100%}
.formule .btn__coeur{flex:1}
.formule--avant{background:var(--noir);color:var(--blanc)}
.formule--avant .formule__sous{color:var(--blanc-50)}
.formule--avant .formule__liste{border-top-color:rgba(255,255,255,.14)}
.formule--avant .formule__liste svg{color:var(--blanc)}
.formule--avant .badge{background:rgba(255,255,255,.12);color:var(--blanc)}
.formule--avant .btn{background:var(--blanc);color:var(--noir)}
.devis-contact__titre{max-width:760px;font-size:48px;font-weight:600;line-height:1.08;letter-spacing:-.045em;text-align:center;color:var(--blanc);margin-bottom:16px}
@media (max-width:1199px){.formules{grid-template-columns:1fr;max-width:560px}.projets__grille--haut .projets__photo{height:420px}.formule__prix{font-size:48px}}
@media (max-width:809px){.projets__grille--haut .projets__photo{height:260px}.devis-contact__titre{font-size:32px}.formule{padding:20px}}
.projets__grille--4{grid-template-columns:repeat(4,minmax(50px,1fr))}
.projets__grille--4 .projets__photo{height:400px}
@media (max-width:1199px){.projets__grille--4{grid-template-columns:repeat(2,minmax(50px,1fr))}}
@media (max-width:809px){.projets__grille--4 .projets__photo{height:260px}}
.hero__image--sombre::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.42);pointer-events:none}

/* ----- Menu : groupe « Prestations » qui s'ouvre au survol (ajout du 14/11/2026) ----- */
.nav__groupe{position:relative;display:flex;align-items:center}
.nav__lien--groupe{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.nav__sous{display:flex;flex-direction:column}
.nav__sous-lien{color:var(--blanc);white-space:pre;transition:opacity .3s ease}
@media (min-width:810px){
  .nav__pill{overflow:visible}
  .nav__groupe{height:60px}
  .nav__sous{position:absolute;top:calc(100% + 6px);left:50%;gap:2px;min-width:210px;padding:10px;background:var(--noir);border-radius:20px;opacity:0;visibility:hidden;transform:translate(-50%,-6px);transition:opacity .2s ease,transform .2s cubic-bezier(.23,1,.32,1),visibility .2s}
  .nav__sous::before{content:"";position:absolute;inset:-8px 0 auto 0;height:8px}
  .nav__groupe:hover .nav__sous,.nav__groupe:focus-within .nav__sous,.nav__groupe.est-ouvert .nav__sous{opacity:1;visibility:visible;transform:translate(-50%,0)}
  .nav__sous-lien{padding:10px 14px;border-radius:12px}
  .nav__sous-lien:hover{background:rgba(255,255,255,.1)}
  .nav__sous:hover .nav__sous-lien{opacity:.5}
  .nav__sous .nav__sous-lien:hover{opacity:1}
}
@media (max-width:809.98px){
  .nav__groupe{flex-direction:column;align-items:flex-start;gap:12px;width:100%}
  .nav__lien--groupe{cursor:default;color:var(--blanc-50)}
  .nav__sous{gap:12px;padding-left:16px}
}

/* ----- Petit bandeau jaune qui défile (ajout du 14/11/2026) ----- */
.bandeau{position:relative;z-index:2;overflow:hidden;padding:16px 0;background:#f2e96b;color:var(--noir)}
.bandeau__piste{display:flex;width:max-content;animation:bandeauDefile 38s linear infinite}
.bandeau:hover .bandeau__piste{animation-play-state:paused}
.bandeau__lot{display:flex;align-items:center}
.bandeau__mot{display:inline-flex;align-items:center;font-size:22px;font-weight:700;line-height:1.2;letter-spacing:-.04em;white-space:nowrap;color:var(--noir)}
.bandeau__mot::after{content:"";width:8px;height:8px;margin:0 28px;background:var(--noir)}
a.bandeau__mot:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
@keyframes bandeauDefile{to{transform:translateX(-50%)}}
@media (max-width:809.98px){.bandeau{padding:12px 0}.bandeau__mot{font-size:17px}.bandeau__mot::after{width:6px;height:6px;margin:0 18px}}
@media (prefers-reduced-motion:reduce){.bandeau__piste{animation:none}}
.devis-contact--titre{align-self:stretch;width:100%}

/* ----- SEO technique (14/11/2026) : H1 dans la phrase du héros, images en WebP avec dimensions ----- */
.h1-ligne{display:inline;margin:0;font:inherit;letter-spacing:inherit;color:inherit}
picture{display:contents}
:where(img[width]){height:auto}

/* ----- Pages de prestation : cartes cliquables, liens voisins, questions (14/11/2026) ----- */
a.offre--lien{color:inherit;text-decoration:none;transition:transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s ease}
a.offre--lien:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.offre__voir{margin-top:auto;font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--bleu);text-decoration:underline;text-underline-offset:3px}
.voir-aussi{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;max-width:1136px}
.faq__liste--seule{flex:none;width:100%;max-width:760px}
.question__titre{margin:0}
.sec--projets .note-galerie{margin-top:-40px}

/* ----- Accueil : grandes cartes photo vers les prestations (test du 14/11/2026) ----- */
.selections{display:grid;grid-template-columns:repeat(3,minmax(50px,1fr));gap:18px;width:100%;max-width:1136px}
.selection{position:relative;display:block;height:520px;border-radius:18px;overflow:clip;color:var(--blanc);isolation:isolate}
.selection img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.23,1,.32,1)}
.selection::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,0) 55%)}
.selection__bas{position:absolute;left:20px;right:20px;bottom:20px;display:flex;flex-direction:column;gap:4px}
.selection__nom{font-size:32px;font-weight:600;line-height:1.15;letter-spacing:-.04em}
.selection__ligne{font-size:16px;font-weight:500;line-height:1.4;letter-spacing:-.02em;color:rgba(255,255,255,.8)}
.selection__voir{position:absolute;top:16px;right:16px;padding:8px 14px;background:var(--blanc);border-radius:32px;color:var(--noir);font-size:13px;font-weight:600;letter-spacing:-.02em}
.selection:hover img{transform:scale(1.04)}
@media (max-width:1199px){.selection{height:420px}.selection__nom{font-size:26px}}
@media (max-width:809px){.selections{grid-template-columns:1fr;gap:12px}.selection{height:340px}}

/* ----- Bande photo pleine largeur avec une phrase (page Sport) et bloc PLC Agency (accueil) ----- */
.bande-photo{position:relative;align-self:stretch;width:100%;height:min(82vh,56vw);min-height:340px;overflow:clip;background:var(--noir)}
.bande-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bande-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,0) 55%)}
.bande-photo__texte{position:absolute;z-index:1;left:max(32px,calc((100% - 1136px)/2));right:32px;bottom:44px;max-width:900px;font-size:64px;font-weight:600;line-height:1.05;letter-spacing:-.05em;color:var(--blanc);text-wrap:balance}
.agence{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;width:100%;max-width:1136px;padding:28px;background:var(--noir);border-radius:18px;color:var(--blanc);transition:transform .3s cubic-bezier(.23,1,.32,1)}
.agence:hover{transform:translateY(-3px)}
.agence__texte{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:720px}
.agence .badge{background:rgba(255,255,255,.12);color:var(--blanc)}
.agence__titre{font-size:32px;font-weight:600;line-height:1.15;letter-spacing:-.04em}
.agence__ligne{font-size:16px;font-weight:500;line-height:1.45;color:var(--blanc-50)}
.agence__bouton{flex:none;padding:14px 22px;background:var(--blanc);border-radius:32px;color:var(--noir);font-size:15px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
@media (max-width:809px){.bande-photo{height:78vw}.bande-photo__texte{left:20px;right:20px;bottom:24px;font-size:32px}.agence{flex-direction:column;align-items:flex-start;padding:22px}.agence__titre{font-size:24px}.agence__bouton{width:100%;text-align:center}}
