/* Océan Communication, démo v4 « premium épuré » : blanc et gris très clair, titres fins,
   bleu ciel en accents (boutons, filets, repères), bleu pétrole réservé au logo. */
@font-face{font-family:"Inter Tight";src:url(/assets/fonts/inter-tight-latin.woff2) format("woff2");font-weight:300 700;font-display:optional}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin.woff2) format("woff2");font-weight:400 600;font-display:optional}
@font-face{font-family:"Host Grotesk";src:url(/assets/fonts/host-grotesk-latin.woff2) format("woff2");font-weight:500 700;font-display:optional}
/* Polices de secours calibrées sur Inter Tight et Inter (largeur mesurée) : pas de décalage au chargement */
@font-face{font-family:"Inter Tight repli";src:local("Arial"),local("ArialMT"),local("Helvetica"),local("Roboto");size-adjust:98.3%;ascent-override:98.5%;descent-override:24.6%;line-gap-override:0%}
@font-face{font-family:"Inter repli";src:local("Arial"),local("ArialMT"),local("Helvetica"),local("Roboto");size-adjust:106.8%;ascent-override:90.7%;descent-override:22.7%;line-gap-override:0%}

:root{
  --noir:#1E1E1E; --texte:#444549; --gris:#6B6C70; --gris-clair:#CACBCF; --ligne:rgba(30,30,30,.1);
  --fond:#F8FAFD; --blanc:#FFFFFF; --ciel:#44B1FE; --ciel-pale:#EDF7FF; --petrole:#183945; --nuit:#08225D;
  --titres:"Inter Tight","Inter Tight repli",system-ui,sans-serif;
  --texte-f:"Inter","Inter repli",system-ui,sans-serif;
  --ui:"Host Grotesk","Inter Tight",system-ui,sans-serif;
  --max:1280px; --gut:clamp(20px,4vw,48px); --sec:clamp(80px,10vw,152px); --r:14px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--blanc);color:var(--texte);font:400 1.0625rem/1.7 var(--texte-f);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:var(--noir);text-decoration-color:var(--ciel);text-decoration-thickness:2px;text-underline-offset:.25em}
h1,h2,h3,h4{font-family:var(--titres);color:var(--noir);margin:0;font-weight:400;letter-spacing:-.03em;text-wrap:balance}
h2{font-size:clamp(2rem,1.2rem + 2.6vw,3.5rem);line-height:1.08;font-weight:300;letter-spacing:-.04em}
h3{font-size:1.3rem;line-height:1.25;font-weight:500;letter-spacing:-.015em}
p{margin:0}
ul,ol{margin:0;padding:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.sec{padding:var(--sec) 0}
.center{text-align:center}
.lead{font-size:clamp(1.1rem,1rem + .35vw,1.3rem);line-height:1.6;color:var(--texte);max-width:58ch}
.center .lead{margin-left:auto;margin-right:auto}
.tag{display:inline-flex;align-items:center;gap:.75rem;font:600 .8125rem/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--noir);margin-bottom:1.5rem}
.tag::before{content:"";width:28px;height:2px;background:var(--ciel)}
.on-nuit .tag,.sombre .tag{color:#fff}
.skip{position:absolute;left:-999px;top:0;background:var(--noir);color:#fff;padding:.8rem 1rem;z-index:200;border-radius:8px}
.skip:focus{left:1rem;top:1rem}
:focus-visible{outline:2px solid var(--noir);outline-offset:3px;border-radius:6px}
.sombre :focus-visible,.pied :focus-visible{outline-color:var(--ciel)}
.nw{white-space:nowrap}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ph{background:#FFF1A8;color:#1E1E1E;outline:1px dashed #9A7B00;border-radius:4px;padding:0 .3em;font:500 .875rem/1.5 var(--texte-f);letter-spacing:0}
.fond{background:var(--fond)}
.ligne-haut{border-top:1px solid var(--ligne)}

/* Bandeau de démonstration */
.demo{background:var(--noir);color:#fff;font:500 .8125rem/1.4 var(--texte-f)}
.demo .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding-top:.5rem;padding-bottom:.5rem}
.demo b{color:var(--ciel)}
.demo a{color:#fff}

/* Boutons sobres */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:52px;padding:0 1.5rem;border-radius:8px;background:var(--ciel);color:var(--noir);font:600 1rem/1 var(--ui);text-decoration:none;border:1px solid var(--ciel);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;white-space:nowrap}
.btn svg{width:18px;height:18px;transition:transform .25s}
.btn:hover{background:#6CC2FF;border-color:#6CC2FF}
.btn:hover svg{transform:translateX(4px)}
.btn--noir{background:var(--noir);border-color:var(--noir);color:#fff}
.btn--noir:hover{background:#000;border-color:#000}
.btn--ligne{background:transparent;border-color:var(--noir);color:var(--noir)}
.btn--ligne:hover{background:var(--noir);color:#fff}
.sombre .btn--ligne,.pied .btn--ligne{border-color:rgba(255,255,255,.6);color:#fff}
.sombre .btn--ligne:hover{background:#fff;color:var(--noir)}
.lien{display:inline-flex;align-items:center;gap:.5rem;font:600 1rem var(--ui);color:var(--noir);text-decoration:underline;text-decoration-color:var(--ciel);text-decoration-thickness:2px;text-underline-offset:.35em}
.lien svg{width:18px;height:18px;transition:transform .25s}
.lien:hover svg{transform:translateX(4px)}
.sombre .lien{color:#fff}

/* En-tête */
.hdr{position:sticky;top:0;z-index:80;border-bottom:1px solid transparent;transition:border-color .3s}
/* Flou porté par un pseudo-élément : l'en-tête ne devient pas le repère des éléments fixes (menu mobile) */
.hdr::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.hdr.defile,.menu-ouvert .hdr{border-bottom-color:var(--ligne)}
.hdr .wrap{display:flex;align-items:stretch;gap:1.5rem;min-height:84px}
.logo{display:block;width:150px;height:45px;align-self:center;background:url(/assets/img/logo.svg) no-repeat left center/contain;flex:none}
.nav{margin-left:auto;display:flex}
.nav-liste{list-style:none;display:flex;align-items:stretch;gap:.25rem}
.nav-liste>li{display:flex;align-items:center}
.nav-lien{position:relative;font:500 1rem/1.2 var(--ui);color:var(--noir);text-decoration:none;padding:.6rem .75rem;border:0;background:none;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;border-radius:8px;white-space:nowrap}
.nav-lien::after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.3rem;height:2px;background:var(--ciel);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-lien:hover::after,.nav-lien.actif::after,.has-sub.open>.nav-lien::after{transform:scaleX(1)}
.sb svg{width:16px;height:16px;transition:transform .2s}
.has-sub.open .sb svg{transform:rotate(180deg)}
/* Méga-menu pleine largeur, collé à l'en-tête (aucun vide entre le bouton et le panneau) */
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--ligne);box-shadow:0 40px 60px -40px rgba(30,30,30,.28);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
.has-sub.open .mega,html:not(.js) .has-sub:hover .mega,html:not(.js) .has-sub:focus-within .mega{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .2s ease,visibility 0s}
.mega-in{max-width:var(--max);margin:0 auto;padding:24px var(--gut) 20px}
.mega-grille{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.mega-item{display:grid;grid-template-columns:44px 1fr;gap:.25rem .9rem;align-items:start;height:100%;padding:14px;border-radius:12px;text-decoration:none;color:var(--noir);transition:background-color .2s}
.mega-item:hover,.mega-item[aria-current="page"]{background:var(--fond)}
.mega-item .ic{grid-row:span 2;width:44px;height:44px;border-radius:10px;background:var(--ciel-pale);display:grid;place-items:center;color:var(--noir)}
.mega-item .ic svg{width:22px;height:22px}
.mega-item b{font:600 1rem/1.3 var(--ui);align-self:end}
.mega-item small{font:400 .875rem/1.45 var(--texte-f);color:var(--gris)}
.mega-pied{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;border-top:1px solid var(--ligne);margin-top:16px;padding:16px 14px 0}
.mega-pied p{color:var(--gris);font-size:.9375rem}
.hdr-cta{display:flex;align-items:center;gap:1rem;align-self:center}
.tel{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font:600 1rem var(--ui);color:var(--noir);text-decoration:none}
.tel svg{width:18px;height:18px}
.tel span{white-space:nowrap}
.nav-actions{display:none}
.burger{display:none;width:48px;height:48px;align-self:center;flex:none;border-radius:8px;border:1px solid var(--ligne);background:#fff;color:var(--noir);cursor:pointer;place-items:center}
.burger svg{width:22px;height:22px}
.burger .b-fermer,.burger[aria-expanded="true"] .b-ouvrir{display:none}
.burger[aria-expanded="true"] .b-fermer{display:block}
@media (max-width:1240px){.tel span{display:none}}
@media (max-width:1200px) and (min-width:1024px){.mega-grille{grid-template-columns:repeat(2,minmax(0,1fr))}.mega-item{align-items:center}}
@media (max-width:1140px) and (min-width:1024px){.nav-liste{gap:0}.nav-lien{padding:.6rem .6rem}.nav-lien::after{left:.6rem;right:.6rem}.hdr .wrap{gap:1.25rem}}
/* Tablette et mobile : menu plein écran sous l'en-tête */
@media (max-width:1023px){
  .hdr .wrap{min-height:72px;gap:.75rem}
  .logo{width:138px;height:42px}
  .burger{display:grid}
  .hdr-cta{margin-left:auto;gap:.75rem}
  .hdr-cta .btn{min-height:46px;padding:0 1.1rem}
  .nav{position:fixed;left:0;right:0;top:var(--hdr-bas,72px);bottom:0;z-index:1;margin:0;display:none;flex-direction:column;background:#fff;overflow-y:auto;overscroll-behavior:contain;padding:.5rem var(--gut) calc(1.5rem + env(safe-area-inset-bottom));border-top:1px solid var(--ligne)}
  .nav.ouvert{display:flex}
  .nav-liste{flex-direction:column;align-items:stretch;gap:0}
  .nav-liste>li{display:block;border-bottom:1px solid var(--ligne)}
  .nav-lien{display:flex;width:100%;justify-content:space-between;font-size:1.25rem;padding:1.05rem 0;border-radius:0}
  .nav-lien::after{display:none}
  .nav-lien.actif{font-weight:600}
  .nav-lien.actif::after{display:block;left:0;right:auto;width:28px;bottom:.55rem;transform:none}
  .sb svg{width:20px;height:20px}
  .mega{position:static;display:none;opacity:1;visibility:visible;transform:none;transition:none;border:0;box-shadow:none;background:none}
  .has-sub.open .mega{display:block}
  .mega-in{padding:0 0 .75rem}
  .mega-grille{grid-template-columns:1fr;gap:0}
  .mega-item{grid-template-columns:36px 1fr;align-items:center;padding:.55rem 0;border-radius:0}
  .mega-item:hover,.mega-item[aria-current="page"]{background:none}
  .mega-item[aria-current="page"] b{text-decoration:underline;text-decoration-color:var(--ciel);text-decoration-thickness:2px;text-underline-offset:.3em}
  .mega-item .ic{grid-row:auto;width:36px;height:36px}
  .mega-item .ic svg{width:19px;height:19px}
  .mega-item b{font-size:1.0625rem;align-self:center}
  .mega-item small{display:none}
  .mega-pied{border:0;margin:0;padding:.35rem 0 0}
  .mega-pied p{display:none}
  .nav-actions{display:grid;gap:.75rem;margin-top:auto;padding-top:1.75rem}
  .nav-actions .btn{width:100%}
  .nav-tel{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;border:1px solid var(--noir);border-radius:8px;font:600 1rem var(--ui);color:var(--noir);text-decoration:none}
  .nav-tel svg{width:18px;height:18px}
  .menu-ouvert,.menu-ouvert body{overflow:hidden}
}
@media (max-width:599px){.hdr-cta .btn{display:none}}

/* Héros de l'accueil : message + cas clients */
.hero{padding:clamp(40px,6vw,96px) 0 clamp(64px,8vw,120px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,5vw,88px);align-items:center}
.hero h1{margin:0}
.kicker{display:flex;align-items:center;gap:.75rem;font:600 .8125rem/1.3 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--noir);margin-bottom:clamp(1.5rem,2.5vw,2.25rem)}
.kicker::before{content:"";width:28px;height:2px;background:var(--ciel);flex:none}
.accroche{display:block;font:300 clamp(2.6rem,1.2rem + 3.6vw,4.7rem)/1.02 var(--titres);letter-spacing:-.045em;color:var(--noir)}
.accroche em{font-style:normal;position:relative;white-space:nowrap}
.accroche em::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.06em;background:var(--ciel)}
.hero .sous{font-size:clamp(1.1rem,1rem + .4vw,1.3rem);line-height:1.6;max-width:44ch;margin:clamp(1.5rem,2.5vw,2.25rem) 0 clamp(1.75rem,2.5vw,2.5rem)}
.hero .ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem}
.chiffres{display:flex;flex-wrap:wrap;margin-top:clamp(2.5rem,4vw,3.5rem);list-style:none;border-top:1px solid var(--ligne)}
.chiffres li{flex:1 1 150px;padding:1.25rem 1.5rem 0 0;display:flex;flex-direction:column;gap:.2rem}
.chiffres li+li{padding-left:1.5rem;border-left:1px solid var(--ligne)}
.chiffres strong{font:300 clamp(1.8rem,1.3rem + 1.4vw,2.6rem)/1 var(--titres);letter-spacing:-.04em;color:var(--noir)}
.chiffres span{font-size:.9375rem;color:var(--gris)}
.hero-cas{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cas{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:var(--fond);text-decoration:none;color:#fff;aspect-ratio:1/1}
.cas.grand{grid-column:1/-1;aspect-ratio:16/10}
.cas img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.cas:hover img{transform:scale(1.04)}
.cas .leg{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(255,255,255,.94);color:var(--noir);border-radius:10px;padding:.7rem .9rem;display:flex;flex-direction:column;gap:.1rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cas b{font:500 .9688rem/1.2 var(--titres);letter-spacing:-.01em}
.cas small{font-size:.8125rem;color:var(--gris)}
@media (max-width:980px){.hero .wrap{grid-template-columns:1fr}}
@media (max-width:520px){.cas .leg{left:8px;right:8px;bottom:8px;padding:.5rem .6rem}.cas:not(.grand) small{display:none}
  .chiffres li{flex:1 1 0;padding-right:.75rem}.chiffres li+li{padding-left:.75rem}.chiffres strong{font-size:1.6rem}.chiffres span{font-size:.8125rem;line-height:1.35}}

/* Constat (le problème de vos clients) */
.constat{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,104px);align-items:start}
.constat .lead{margin-top:1.5rem}
.douleurs{list-style:none;display:grid;gap:0;counter-reset:d}
.douleurs li{counter-increment:d;display:grid;grid-template-columns:3.5rem 1fr;gap:.25rem 1rem;padding:1.75rem 0;border-top:1px solid var(--ligne)}
.douleurs li:last-child{border-bottom:1px solid var(--ligne)}
.douleurs li::before{content:"0" counter(d);grid-row:span 2;font:300 1.9rem/1 var(--titres);letter-spacing:-.04em;color:var(--noir)}
.douleurs h3{font-size:1.35rem}
.douleurs p{color:var(--texte)}
@media (max-width:980px){.constat{grid-template-columns:1fr}}
/* Vos enjeux : le problème du client, puis notre réponse */
.enjeux{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(32px,4vw,56px)}
.enjeu{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:clamp(24px,3vw,44px)}
.enjeu h3{font:400 clamp(1.5rem,1.1rem + 1.2vw,2.1rem)/1.12 var(--titres);letter-spacing:-.03em;margin-bottom:.9rem}
.enjeu>p{color:var(--texte)}
.enjeu .reponse-titre{margin-top:1.6rem;font:600 .8125rem/1.2 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--noir)}
.enjeu .coches{margin:1rem 0 0}
@media (max-width:760px){.enjeux{grid-template-columns:1fr}}

/* Leviers (services) en liste éditoriale */
.leviers{list-style:none;margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--ligne)}
.levier{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) auto;gap:clamp(20px,4vw,64px);align-items:start;padding:clamp(28px,3.5vw,48px) 0;border-bottom:1px solid var(--ligne);text-decoration:none;color:inherit}
.levier .nom{display:flex;flex-direction:column;gap:.75rem}
.levier .nom span{font:600 .8125rem var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.levier h3{font:300 clamp(1.6rem,1.2rem + 1.2vw,2.3rem)/1.12 var(--titres);letter-spacing:-.035em}
.levier .detail p{color:var(--texte)}
.levier ul{list-style:none;display:grid;gap:.45rem;margin-top:1rem}
.levier li{position:relative;padding-left:1.45rem;font-size:1rem}
.levier li::before{content:"";position:absolute;left:0;top:.8em;width:12px;height:2px;background:var(--ciel)}
.levier .aller{width:52px;height:52px;border-radius:50%;border:1px solid var(--ligne);display:grid;place-items:center;color:var(--noir);transition:background-color .25s,border-color .25s}
.levier:hover .aller{background:var(--ciel);border-color:var(--ciel)}
.levier:hover h3{text-decoration:underline;text-decoration-color:var(--ciel);text-decoration-thickness:2px;text-underline-offset:.2em}
.levier .aller svg{width:20px;height:20px}
@media (max-width:980px){.levier{grid-template-columns:1fr}.levier .aller{display:none}}

/* Méthode */
.etapes{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px);counter-reset:e;margin-top:clamp(40px,5vw,64px)}
.etapes li{counter-increment:e;padding-top:1.75rem;border-top:1px solid var(--noir);display:flex;flex-direction:column;gap:.75rem}
.etapes li::before{content:"Étape 0" counter(e);font:600 .8125rem var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.etapes h3{font:400 1.5rem/1.2 var(--titres);letter-spacing:-.025em}
.etapes p{color:var(--texte)}
@media (max-width:980px){.etapes{grid-template-columns:1fr}}

/* Film de marque */
.film{position:relative;border-radius:var(--r);overflow:hidden;background:#0B1520;aspect-ratio:16/9}
.film img,.film video,.film iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.film::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.65));pointer-events:none}
.jouer{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:clamp(20px,3vw,40px);background:none;border:0;cursor:pointer;color:#fff;text-align:left;font:inherit}
.jouer strong{display:block;font:300 clamp(1.4rem,1rem + 1.4vw,2.4rem)/1.1 var(--titres);letter-spacing:-.03em}
.jouer span.m{font-size:.9375rem;color:#E8EEF3}
.jouer .rond{flex:none;width:clamp(60px,6vw,80px);height:clamp(60px,6vw,80px);border-radius:50%;background:#fff;color:var(--noir);display:grid;place-items:center;transition:transform .25s}
.jouer:hover .rond{transform:scale(1.06)}
.jouer .rond svg{width:34%;height:34%;margin-left:6%}
.film.lecture::after,.film.lecture .jouer{display:none}
.film-note{margin-top:.75rem;font-size:.875rem;color:var(--gris)}
@media (max-width:600px){.jouer{align-items:center;justify-content:center}.jouer>span:first-child{display:none}.film::after{background:rgba(0,0,0,.18)}}

/* Projets */
.tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem 3rem;margin-bottom:clamp(40px,5vw,64px)}
.tete .lead{max-width:46ch}
.grille-projets{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(32px,4vw,56px) clamp(20px,2.5vw,32px)}
.projet{position:relative;display:flex;flex-direction:column;gap:.9rem;text-decoration:none;color:var(--noir)}
.projet .img{border-radius:var(--r);overflow:hidden;background:var(--fond);aspect-ratio:4/3}
.projet .img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.projet:hover .img img{transform:scale(1.04)}
.projet .cat{font:600 .75rem/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.projet h3{font:400 1.45rem/1.2 var(--titres);letter-spacing:-.025em}
.projet:hover h3{text-decoration:underline;text-decoration-color:var(--ciel);text-decoration-thickness:2px;text-underline-offset:.2em}
.projet p{font-size:1rem;color:var(--texte);max-width:48ch}
.projet[hidden]{display:none}
.defil-projets{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(32px,4vw,56px) clamp(20px,2.5vw,32px)}
.defil-projets .projet:nth-child(n+7){display:none}
@media (max-width:980px){.grille-projets,.defil-projets{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.grille-projets,.defil-projets{grid-template-columns:1fr}}

/* Filtres */
.filtres{display:flex;flex-wrap:wrap;gap:.25rem 1.75rem;margin-bottom:clamp(32px,4vw,48px);border-bottom:1px solid var(--ligne)}
.filtres button,.filtres a{position:relative;font:500 1rem var(--ui);border:0;background:none;color:var(--gris);padding:.9rem 0;cursor:pointer;text-decoration:none;display:inline-flex;gap:.4rem;align-items:baseline}
.filtres sup{font-size:.75rem}
.filtres [aria-pressed="true"],.filtres [aria-current="page"],.filtres button:hover,.filtres a:hover{color:var(--noir)}
.filtres [aria-pressed="true"]::after,.filtres [aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ciel)}
.compteur{font:500 .9375rem var(--ui);color:var(--gris);margin:-1rem 0 2rem}
@media (max-width:760px){.filtres{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:calc(-1 * var(--gut));margin-right:calc(-1 * var(--gut));padding:0 var(--gut)}.filtres::-webkit-scrollbar{display:none}.filtres button,.filtres a{flex:none}}

/* Témoignages */
.avis{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
.avis figure{margin:0;display:flex;flex-direction:column;gap:1.25rem;padding-top:1.75rem;border-top:1px solid var(--ligne)}
.avis blockquote{margin:0;font:300 clamp(1.1rem,1rem + .35vw,1.3rem)/1.55 var(--titres);letter-spacing:-.01em;color:var(--noir)}
.avis figcaption{margin-top:auto;display:flex;align-items:center;gap:1rem}
.avis figcaption img{height:40px;width:auto;max-width:100px;object-fit:contain}
.avis figcaption b{display:block;font:500 1rem var(--titres);color:var(--noir)}
.avis figcaption span{font-size:.9375rem;color:var(--gris)}
.etoiles{display:flex;gap:3px;color:var(--noir)}
.etoiles svg{width:16px;height:16px}
.etoiles .vide{color:var(--gris-clair)}
.avis.seul{grid-template-columns:minmax(0,820px);justify-content:center}
.avis.seul blockquote{font-size:clamp(1.3rem,1rem + 1vw,1.9rem)}
.avis .plus{display:none}
@media (max-width:980px){.avis{grid-template-columns:1fr}}

/* Bloc audit (seule section sombre) */
.sombre{background:var(--noir);color:#D4D5D8}
.sombre h2,.sombre h3{color:#fff}
.bloc-audit .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,5vw,96px);align-items:center}
.bloc-audit p.lead{color:#D4D5D8;margin-top:1.5rem}
.coches{list-style:none;display:grid;gap:.9rem;margin:2rem 0 2.25rem}
.coches li{position:relative;padding-left:1.8rem}
.coches li::before{content:"";position:absolute;left:0;top:.8em;width:14px;height:2px;background:var(--ciel)}
.mini-form{background:#fff;border-radius:var(--r);padding:clamp(24px,3vw,40px);color:var(--noir);display:grid;gap:1rem}
.mini-form h3{font:400 1.6rem/1.2 var(--titres);color:var(--noir)}
.mini-form p{font-size:.9375rem;color:var(--gris)}
@media (max-width:980px){.bloc-audit .wrap{grid-template-columns:1fr}}

/* Formulaires */
.champ{display:flex;flex-direction:column;gap:.45rem}
.champ label{font:500 .9375rem var(--texte-f);color:var(--noir)}
.champ label i{font-style:normal;font-weight:400;color:var(--gris)}
.champ input,.champ select,.champ textarea{font:400 1rem var(--texte-f);color:var(--noir);background:#fff;border:1px solid var(--gris-clair);border-radius:8px;padding:.85rem 1rem;min-height:52px;width:100%}
.champ textarea{min-height:120px;resize:vertical}
.champ input[type=file]{padding:.5rem;font-size:.9375rem;color:var(--gris)}
.champ input[type=file]::file-selector-button{margin-right:.8rem;border:1px solid var(--noir);background:#fff;color:var(--noir);border-radius:6px;padding:.55rem .9rem;font:600 .9375rem var(--ui);cursor:pointer}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:none;border-color:var(--noir);box-shadow:0 0 0 3px var(--ciel-pale)}
.cases{display:flex;gap:.65rem;align-items:flex-start;font-size:.9375rem;color:var(--texte)}
.cases input{width:18px;height:18px;margin-top:.2rem;accent-color:var(--noir);flex:none}
.pot{position:absolute;left:-9999px}
.form{position:relative;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:clamp(24px,3vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.form .plein{grid-column:1/-1}
.form .doodle{display:none}
@media (max-width:640px){.form{grid-template-columns:1fr}}

/* Collectif */
.entites{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.5vw,40px)}
.entite{display:flex;flex-direction:column;gap:.6rem;padding-top:1.5rem;border-top:1px solid var(--ligne);text-decoration:none;color:inherit}
.entite h3{font-size:1.2rem}
.entite:hover h3{text-decoration:underline;text-decoration-color:var(--ciel);text-decoration-thickness:2px;text-underline-offset:.3em}
.entite p{font-size:.9688rem;color:var(--texte)}
.entite ul{list-style:none;display:grid;gap:.25rem;margin-top:.5rem;font-size:.9375rem;color:var(--gris)}
@media (max-width:980px){.entites{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.entites{grid-template-columns:1fr}}

/* Blog */
.articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(20px,2.5vw,40px)}
.article-carte{position:relative;display:flex;flex-direction:column;gap:.8rem;padding:1.75rem 0 2.25rem;border-top:1px solid var(--ligne);text-decoration:none;color:var(--noir);transition:border-color .25s}
.article-carte:hover{border-top-color:var(--ciel)}
.article-carte .meta{display:flex;flex-wrap:wrap;gap:.35rem 1rem;align-items:center;font:500 .8125rem var(--ui);color:var(--gris)}
.article-carte .meta b{font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--noir)}
.article-carte h3{font:400 1.35rem/1.3 var(--titres);letter-spacing:-.02em}
.article-carte p{color:var(--texte);font-size:.96875rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.article-carte .lire{margin-top:auto;padding-top:.25rem;display:inline-flex;align-items:center;gap:.45rem;font:600 .9375rem var(--ui);color:var(--noir)}
.article-carte .lire svg{width:16px;height:16px;transition:transform .25s}
.article-carte:hover h3{text-decoration:underline;text-decoration-color:var(--ciel);text-decoration-thickness:2px;text-underline-offset:.3em}
.article-carte:hover .lire svg{transform:translateX(4px)}
.article-carte[hidden]{display:none}
@media (max-width:980px){.articles{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.articles{grid-template-columns:1fr}}

/* Appel final */
.fin{padding:var(--sec) 0;border-top:1px solid var(--ligne)}
.fin .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(32px,5vw,80px);align-items:end}
.fin h2{font-size:clamp(2.6rem,1.4rem + 4vw,5.4rem);line-height:1;letter-spacing:-.05em}
.fin p{font-size:clamp(1.1rem,1rem + .35vw,1.3rem);margin-bottom:1.75rem}
.fin .ctas{display:flex;flex-wrap:wrap;gap:1rem 1.75rem;align-items:center}
.fin .lignes{display:none}
@media (max-width:980px){.fin .wrap{grid-template-columns:1fr}}

/* Pages intérieures */
.entete{padding:clamp(32px,4vw,56px) 0 clamp(44px,5vw,80px);border-bottom:1px solid var(--ligne)}
.entete+.sec{padding-top:clamp(52px,6.5vw,112px)}
.entete .bulle{display:none}
.ariane{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;font:500 .875rem var(--ui);color:var(--gris);margin-bottom:clamp(2rem,3.5vw,3.5rem)}
.ariane li+li::before{content:"/";margin-right:.4rem;color:var(--gris-clair)}
.ariane a{color:var(--gris);text-decoration:none}
.ariane a:hover{color:var(--noir);text-decoration:underline}
.ariane [aria-current]{color:var(--noir)}
.entete h1{font:300 clamp(2.6rem,1.3rem + 4.6vw,5.6rem)/1 var(--titres);letter-spacing:-.05em;max-width:15ch}
.entete .promesse{font-size:clamp(1.15rem,1rem + .5vw,1.45rem);line-height:1.55;color:var(--texte);max-width:46ch;margin-top:1.5rem}
.entete .ctas{display:flex;flex-wrap:wrap;gap:1rem 1.75rem;align-items:center;margin-top:2.25rem}
.entete-grille{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,5vw,88px);align-items:end}
.entete-grille .carte{display:block;position:relative;border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--noir);background:var(--fond)}
.entete-grille .carte img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:980px){.entete-grille{grid-template-columns:1fr}}
.colonnes{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,104px);align-items:start}
.texte p+p{margin-top:1.1rem}
.texte p{color:var(--texte);font-size:1.125rem}
.offre{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(24px,3vw,48px)}
.offre li{padding:1.6rem 0;border-top:1px solid var(--ligne);display:flex;flex-direction:column;gap:.45rem}
.offre li b{font:500 1.2rem/1.25 var(--titres);letter-spacing:-.02em;color:var(--noir)}
.offre li b::before{content:"";display:block;width:24px;height:2px;background:var(--ciel);margin-bottom:1rem}
.offre li span{color:var(--texte);font-size:1rem}
@media (max-width:980px){.offre{grid-template-columns:1fr 1fr}.colonnes{grid-template-columns:1fr}}
@media (max-width:600px){.offre{grid-template-columns:1fr}}
.types{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--noir);border-bottom:1px solid var(--ligne)}
.types div{padding:1.5rem 1.5rem 1.5rem 0}
.types div+div{padding-left:1.5rem;border-left:1px solid var(--ligne)}
.types b{display:block;font:500 1.1rem var(--titres);color:var(--noir);letter-spacing:-.015em}
.types span{font-size:.9375rem;color:var(--texte)}
@media (max-width:980px){.types{grid-template-columns:1fr 1fr}.types div:nth-child(3){padding-left:0;border-left:0}.types div:nth-child(-n+2){border-bottom:1px solid var(--ligne)}}
@media (max-width:560px){.types{grid-template-columns:1fr}.types div{padding-left:0!important;border-left:0!important;border-bottom:1px solid var(--ligne)}}
.faq{display:grid;max-width:880px;border-top:1px solid var(--ligne)}
.faq details{border-bottom:1px solid var(--ligne)}
.faq summary{list-style:none;cursor:pointer;display:block;position:relative;padding:1.4rem 2.5rem 1.4rem 0;font:400 1.2rem/1.35 var(--titres);letter-spacing:-.015em;color:var(--noir)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:4px;top:50%;margin-top:-7px;width:14px;height:14px;background:linear-gradient(var(--noir),var(--noir)) center/100% 1.5px no-repeat,linear-gradient(var(--noir),var(--noir)) center/1.5px 100% no-repeat;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 1.5rem;color:var(--texte);max-width:66ch}
.bandeau-local{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.bandeau-local a{font:500 1rem var(--ui);color:var(--noir);text-decoration:underline;text-decoration-color:var(--ciel);text-decoration-thickness:2px;text-underline-offset:.3em}
.zone{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
.zone li{font:500 1rem var(--ui);color:var(--noir);white-space:nowrap}
.zone li:not(:last-child)::after{content:"·";margin-left:1.25rem;color:var(--gris-clair)}
.carte-map{border-radius:var(--r);overflow:hidden;background:var(--petrole)}

/* Réalisation */
.visuel-cas{margin-top:clamp(40px,5vw,72px)}
.visuel-cas img{border-radius:var(--r);width:100%;aspect-ratio:16/8;object-fit:cover;background:var(--fond)}
.fiche{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.75rem;font:500 .9375rem var(--ui);color:var(--gris)}
.fiche li+li::before{content:"·";margin-right:1.5rem;color:var(--gris-clair)}
.contenu-cas{display:grid;grid-template-columns:.3fr .7fr;gap:clamp(40px,6vw,104px)}
.contenu-cas aside{position:sticky;top:120px;align-self:start;display:grid;gap:1.5rem}
.aside-carte{border-top:1px solid var(--noir);padding-top:1.25rem;display:grid;gap:.6rem;justify-items:start}
.aside-carte b{font:500 1.05rem var(--titres);color:var(--noir)}
.aside-carte span{color:var(--texte);font-size:.9688rem}
.prose{max-width:68ch}
.prose h2{font:300 clamp(1.7rem,1.2rem + 1.4vw,2.5rem)/1.15 var(--titres);letter-spacing:-.035em;margin:3rem 0 1rem}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.3rem;margin:2rem 0 .75rem}
.prose p,.prose li{color:var(--texte);font-size:1.125rem;line-height:1.75}
.prose p+p{margin-top:1.1rem}
.prose ul,.prose ol{padding-left:1.25rem;margin:1rem 0;display:grid;gap:.4rem}
.prose strong{color:var(--noir);font-weight:600}
.prose blockquote{margin:2rem 0;padding:0 0 0 1.5rem;border-left:2px solid var(--ciel);font:300 1.35rem/1.5 var(--titres);color:var(--noir)}
@media (max-width:980px){.contenu-cas{grid-template-columns:1fr}.contenu-cas aside{position:static}}

/* Article */
.article-tete .meta{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;align-items:center;font:500 .9375rem var(--ui);color:var(--gris);margin-top:1.75rem}
.article-tete .meta b{color:var(--noir);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.8125rem}
.article-corps{display:grid;grid-template-columns:1fr 300px;gap:clamp(40px,6vw,104px);align-items:start}
.article-corps aside{position:sticky;top:120px;display:grid;gap:1.5rem}
@media (max-width:980px){.article-corps{grid-template-columns:1fr}.article-corps aside{position:static}}

/* Pied de page */
.pied{background:var(--noir);color:#B9BABE;padding:clamp(72px,9vw,120px) 0 2rem;font-size:.9688rem}
.pied a{color:#fff;text-decoration:none}
.pied a:hover{text-decoration:underline;text-decoration-color:var(--ciel)}
.pied-haut{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:clamp(24px,3vw,48px)}
.pied .logo-b{display:block;width:160px;height:48px;background:url(/assets/img/logo-blanc.svg) no-repeat left center/contain;margin-bottom:1.5rem}
.pied h2{font:600 .8125rem var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--ciel);margin-bottom:1.1rem}
.pied ul{list-style:none;display:grid;gap:.6rem}
.pied address{font-style:normal;line-height:1.8;margin-top:1.25rem}
.pied address .ph{display:inline-block;margin:.15rem 0}
.reseaux{display:flex;gap:.5rem;margin-top:1.5rem}
.reseaux a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2)}
.reseaux a:hover{background:var(--ciel);border-color:var(--ciel);color:var(--noir)}
.reseaux svg{width:17px;height:17px;fill:currentColor}
.pied-bas{margin-top:clamp(48px,6vw,80px);padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem}
.pied-bas ul{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.lien-btn{background:none;border:0;padding:0;font:inherit;color:#fff;cursor:pointer;text-decoration:underline;text-decoration-color:var(--ciel);text-underline-offset:.25em}
@media (max-width:1100px){.pied-haut{grid-template-columns:1fr 1fr 1fr}.pied-haut>div:first-child{grid-column:1/-1}}
@media (max-width:600px){.pied-haut{grid-template-columns:1fr 1fr}}

/* Consentement */
.cookies{position:fixed;left:var(--gut);bottom:var(--gut);z-index:120;max-width:420px;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);box-shadow:0 30px 60px -24px rgba(30,30,30,.35);padding:1.4rem;font-size:.9375rem;color:var(--texte)}
.cookies[hidden]{display:none}
.cookies h2{font:500 1.15rem var(--titres);letter-spacing:-.01em;margin-bottom:.4rem}
.cookies .rang{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem}
.cookies .ck-perso{margin-top:.9rem;padding:.8rem 0;border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
.cookies .ck-perso[hidden]{display:none}
.cookies .ck-perso .cases{font-size:.9375rem}
.cookies .rang button{min-height:46px;border-radius:8px;font:600 .9375rem var(--ui);cursor:pointer;background:var(--noir);color:#fff;border:0}
.cookies .perso{margin-top:.75rem;background:none;border:0;padding:0;font:500 .9375rem var(--texte-f);color:var(--noir);text-decoration:underline;text-decoration-color:var(--ciel);text-underline-offset:.25em;cursor:pointer}

/* Barre d'action mobile */
.barre{display:none}
@media (max-width:599px){
  .barre{display:grid;grid-template-columns:1fr auto;gap:.5rem;position:fixed;left:0;right:0;bottom:0;z-index:90;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.6rem var(--gut) calc(.6rem + env(safe-area-inset-bottom));border-top:1px solid var(--ligne)}
  .barre .appel{width:52px;height:52px;border-radius:8px;display:grid;place-items:center;border:1px solid var(--noir);color:var(--noir)}
  .barre .appel svg{width:20px;height:20px}
  body{padding-bottom:76px}
  .cookies{bottom:92px;right:var(--gut)}
  .menu-ouvert .barre{display:none}
}

/* Apparition douce au défilement (sans script, tout reste visible) */
@media (prefers-reduced-motion:no-preference){
  .reveal-pret .apparait{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
  .reveal-pret .apparait:not(.vu){opacity:0;transform:translateY(18px)}
  .reveal-pret .apparait.vu{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Impression : tout le contenu visible, sans éléments d'interface */
@media print{.apparait{opacity:1!important;transform:none!important}.hdr,.barre,.cookies,.demo,.skip{display:none!important}body{padding:0}}

/* Retour d'envoi de formulaire */
.retour-envoi{max-width:640px}
.retour-envoi ul{margin:1rem 0 1.5rem 1.2rem}
