/* Aquila Clim — feuille unique, mobile d'abord. Bascule ordinateur à 900 px.
   Charte : bleu marine, accent or, fonds blanc cassé. */

@font-face{font-family:Inter;src:url(../fonts/inter-latin.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:Archivo;src:url(../fonts/archivo-latin.woff2) format("woff2");font-weight:600 800;font-display:swap}

/* Charte bleu marine et or, fonds blanc cassé (champagne remplacé par l’or le 13/11/2026) */
:root{
  --navy:#0C2D5A; --navy-deep:#0A2347; --navy-ink:#071A36; --navy-mid:#15407A;
  --ink:#0E2038; --text:#27384E; --muted:#4A5A70;
  --line:#E2DDD2; --line-strong:#6A7D96;
  --ivory:#F4F1EA; --ivory-2:#E9E4D9; --photo:#DCE3EC; --ice:#C5D8EE; --rule-dark:#2F4F80;
  --gold:#C9A227; --gold-hover:#D6B23A; --gold-active:#AE8B1C;
  --gold-deep:#7A5B0A; --gold-light:#E8C766; --gold-tint:#FBF3DC; --on-gold:#071A36;
  --link:#1D5BA6; --err:#B3261E; --err-bg:#FCEDEC; --ok:#1B6B3A; --ok-bg:#E9F5EC;
  --display:Archivo,system-ui,sans-serif;
  --gutter:clamp(16px,4vw,40px);
  --section:clamp(52px,8vw + 8px,112px);
  --shadow:0 1px 2px rgba(7,26,54,.05),0 14px 34px -22px rgba(7,26,54,.3);
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-padding-top:96px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:#FAF8F3;color:var(--text);font:400 1.0625rem/1.65 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
img{display:block;max-width:100%;height:auto}
a{color:var(--link)}
a:hover{color:var(--navy)}
::selection{background:var(--gold-light);color:var(--navy-ink)}
:focus-visible{outline:3px solid var(--link);outline-offset:2px}
.dark :focus-visible,.site-header :focus-visible{outline-color:var(--gold-light)}
h1,h2,h3{font-family:var(--display);color:var(--ink);text-wrap:balance}
h1{font-weight:700;font-size:clamp(2.125rem,2.9vw + 1.35rem,3.625rem);line-height:1.06;letter-spacing:-.025em}
h2{font-weight:600;font-size:clamp(1.75rem,1.7vw + 1.3rem,2.625rem);line-height:1.15;letter-spacing:-.02em}
h3{font-weight:600;font-size:1.375rem;line-height:1.3;letter-spacing:-.005em}
strong{color:var(--ink)}

.skip{position:absolute;left:-999px;top:0;z-index:50;padding:12px 16px;background:#fff;color:var(--navy);font-weight:700}
.skip:focus{left:8px;top:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media (max-width:899.98px){.d-only{display:none!important}}
@media (min-width:900px){.m-only{display:none!important}}

/* Mise en page */
.wrap{max-width:1360px;margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section)}
.section--sky{background:var(--ivory)} /* nom historique : fond ivoire */
.section--navy{background:radial-gradient(60% 80% at 90% 0%,rgba(201,162,39,.1),transparent 60%),linear-gradient(160deg,#0A2347,#0C2D5A 60%,#10386F);color:#fff}
.section--navy h1,.section--navy h2,.section--navy h3{color:#fff}
.head{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(28px,3.46vw + 14px,56px)}
.eyebrow{display:flex;align-items:center;gap:14px;font-weight:600;font-size:1rem;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.eyebrow::before{content:"";flex:none;width:32px;height:1px;background:currentColor}
.dark .eyebrow{color:var(--gold-light)}
.lead{max-width:720px;font-size:clamp(1.125rem,.37vw + 1.04rem,1.3125rem);line-height:1.6;color:var(--muted)}
.dark .lead{color:var(--ice)}
.stack{display:flex;flex-direction:column;gap:18px}
.stack--start{align-items:flex-start}
.split{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(32px,3.95vw + 16.6px,72px)}
.split--top{align-items:flex-start}
.split>*{flex:1 1 440px;min-width:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:22px}
.grid--wide{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
.note{padding:18px 20px;border-radius:14px;background:var(--ivory);color:var(--ink)}
.section--sky .note{background:#fff}
.muted{color:var(--muted)}
.after-grid{margin-top:24px}

/* Icônes (assets/img/icons.svg) */
.i{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.i--22{width:22px;height:22px}.i--24{width:24px;height:24px}.i--26{width:26px;height:26px}.i--36{width:36px;height:36px;stroke-width:1.8}
.stars{flex:none;width:132px;height:24px;fill:none;stroke:var(--gold-deep);stroke-width:2;stroke-linejoin:round}

/* Emplacements à compléter */
.ph{display:inline-block;padding:0 8px;border:1.5px dashed var(--line-strong);border-radius:6px;color:var(--muted);font-weight:500}
.dark .ph{border-color:var(--ice);color:#fff}
.ph--empty{width:150px;height:32px;vertical-align:middle}
.ph-block{padding:12px 16px;border:1.5px dashed var(--line-strong);border-radius:10px;color:var(--muted);font-size:1rem}

/* Boutons */
.btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border:1.5px solid transparent;border-radius:999px;font:600 1.0625rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.01em;text-align:center;text-decoration:none;cursor:pointer}
.btn--cta{background:linear-gradient(180deg,#DDB83F,#BC961F);color:var(--on-gold);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 22px -12px rgba(70,52,5,.6)}
.btn--cta:hover{background:linear-gradient(180deg,#E6C452,#C9A227);color:var(--on-gold)}
.btn--cta:active{background:var(--gold-active)}
.btn--line{border-color:var(--navy);background:transparent;color:var(--navy)}
.btn--line:hover{background:var(--navy);color:#fff}
.btn--ghost{border-color:rgba(255,255,255,.7);color:#fff}
.btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.btn--navy{background:var(--navy);color:#fff}
.btn--navy:hover{background:var(--navy-mid);color:#fff}
.btn--sm{min-height:48px;padding:0 18px}
.btn--between{justify-content:space-between}
.btn--grow{flex:1 1 220px}
.btn--push{margin-top:auto}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.btn-row--center{justify-content:center}
.more{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--navy)}

/* En-tête */
.site-header{position:sticky;top:0;z-index:30;background:rgba(10,35,71,.96);-webkit-backdrop-filter:saturate(1.2) blur(12px);backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid #15407A}
.site-header__in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:clamp(64px,1.98vw + 56.3px,84px)}
.brand{flex:none;display:flex;align-items:center;min-height:48px}
.brand img{height:clamp(30px,.6vw + 26px,36px);width:auto}
.nav{display:flex;align-items:center;gap:18px}
.nav a,.site-header__tel{display:flex;align-items:center;min-height:48px;padding:0 4px;color:#E6EDF7;font-weight:500;font-size:1rem;text-decoration:none;white-space:nowrap}
.nav a:hover,.site-header__tel:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:6px}
.nav a[aria-current]{box-shadow:inset 0 -2px 0 var(--gold);color:#fff;font-weight:600}
.site-header__actions{flex:none;display:flex;align-items:center;gap:clamp(8px,1.5vw,20px)}
.site-header__tel{gap:8px;color:var(--gold-light);font-weight:600;font-size:1.125rem}
.site-header__call{width:48px;min-height:48px;padding:0;border-color:rgba(232,199,102,.7);color:var(--gold-light)}
.site-header__call:hover{background:rgba(255,255,255,.08);color:#fff}
/* Le logo large et les 8 entrées demandent de la place : navigation complète dès 1440 px ; numéro en clair seulement entre 1100 et 1440 px (sinon bouton d’appel) */
@media (max-width:1439.98px){.hd-nav{display:none!important}}
@media (min-width:1440px){.hd-sub{display:none!important}}
@media (max-width:1099.98px),(min-width:1440px){.hd-tel{display:none!important}}
@media (min-width:1100px) and (max-width:1439.98px){.hd-call{display:none!important}}
@media (max-width:559.98px){.site-header__actions .btn--cta{display:none}} /* la barre fixe du bas porte déjà « Appeler » et « Devis » */
.subnav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:8px 16px;background:#fff;border-bottom:1px solid var(--line)}
.subnav a{flex:none;display:flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid transparent;border-radius:22px;background:var(--ivory);color:var(--navy);font-weight:500;font-size:1rem;text-decoration:none;white-space:nowrap}
.subnav a:hover{background:var(--ivory-2)}
.subnav a[aria-current]{border-color:var(--gold);background:var(--gold-tint);font-weight:600}

/* Héros */
.hero{position:relative;color:#fff;background:radial-gradient(70% 90% at 88% 8%,rgba(201,162,39,.13),transparent 62%),linear-gradient(155deg,#0A2347 0%,#0C2D5A 55%,#10386F 100%)}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 25%,var(--gold) 75%,transparent);opacity:.8}
.hero h1{color:#fff}
.hero__in{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(40px,3.46vw + 26px,72px);padding-block:clamp(48px,4.5vw + 30px,88px) clamp(56px,5.4vw + 34px,104px)}
.hero__text{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:24px}
.hero__media{flex:1 1 440px;min-width:0;position:relative}
.hero__media::before{content:"";position:absolute;inset:18px -14px -18px 18px;border:1px solid rgba(232,199,102,.65);border-radius:18px}
.hero__media .photo{position:relative;aspect-ratio:auto;height:clamp(210px,30vw + 93px,426px)}
.hero--simple .hero__in{flex-direction:column;align-items:flex-start;gap:22px;padding-block:clamp(48px,3.5vw + 34px,76px) clamp(40px,2.5vw + 30px,60px)}
.hero--simple h1{max-width:820px}
.hero__call{width:100%;max-width:360px;white-space:nowrap}

/* Bandeau de confiance (sous le héros de l'accueil) */
.trust{background:#FAF8F3;border-bottom:1px solid var(--line)}
.trust__in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:12px 32px;padding-block:22px}
.trust__in li{display:flex;align-items:center;gap:12px;font-weight:500;line-height:1.35;color:var(--ink)}
.trust__in .i{width:24px;height:24px;color:var(--gold-deep)}

/* Bande des marques posées (noms écrits, pas de logos de marques) */
.brands{background:#FAF8F3;border-bottom:1px solid var(--line)}
.brands__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 40px;padding-block:22px}
.brands__label{margin:0;font:500 1rem/1.4 Inter,system-ui,sans-serif;letter-spacing:.04em;color:var(--muted)}
.brands__list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 44px}
/* Défilement continu : deux pistes identiques, la seconde masquée aux lecteurs d'écran ; pause au survol, au focus et par bouton */
.marquee{display:flex;overflow:hidden;padding-bottom:22px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{flex:none;flex-wrap:nowrap;gap:56px;padding-right:56px;animation:defile 45s linear infinite}
.marquee__track li{display:flex;align-items:center;gap:12px;white-space:nowrap}
.brand-logo{flex:none;fill:currentColor;color:var(--navy)}
.marquee:hover .marquee__track,.brands.is-paused .marquee__track{animation-play-state:paused}
@keyframes defile{to{transform:translateX(-100%)}}
.marquee__toggle{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font:500 1rem/1 Inter,system-ui,sans-serif;cursor:pointer}
.marquee__toggle:hover{border-color:var(--navy)}
@media (prefers-reduced-motion:reduce){
  .marquee{flex-wrap:wrap;justify-content:center;-webkit-mask-image:none;mask-image:none}
  .marquee__track{flex-wrap:wrap;justify-content:center;animation:none;padding-right:0}
  .marquee__track[aria-hidden]{display:none}
  .marquee__toggle{display:none}
}
.brands__list li{font:700 clamp(1.125rem,.6vw + 1rem,1.375rem)/1.2 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}

/* Tuiles « Votre devis » : chaque tuile ouvre le formulaire avec le besoin déjà choisi */
.quick{background:var(--ivory);padding-block:clamp(40px,3vw + 22px,64px)}
.quick__in{display:flex;flex-wrap:wrap;align-items:center;gap:24px 48px}
.quick__head{flex:1 1 220px;display:flex;flex-direction:column;gap:8px}
.quick__tiles{flex:4 1 620px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:14px}
.tile{display:flex;flex-direction:column;align-items:flex-start;gap:12px;height:100%;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--ink);font-weight:600;line-height:1.3;text-decoration:none;box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s}
.tile:hover{border-color:var(--gold);color:var(--navy);box-shadow:0 18px 36px -22px rgba(7,26,54,.4)}
.tile__arrow{margin-top:auto;color:var(--gold-deep)}
@media (prefers-reduced-motion:no-preference){.tile .tile__arrow{transition:transform .2s}.tile:hover .tile__arrow{transform:translateX(4px)}}

/* Vitrine des prestations (accueil) : tuiles centrées en damier clair / sombre */
.head--center{align-items:center;text-align:center}
.head--center .eyebrow{justify-content:center}
.showcase{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:14px}
.show{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:clamp(300px,18vw + 160px,420px);padding:48px 28px;border-radius:24px;background:var(--ivory);text-align:center}
.show h3{font-size:clamp(1.875rem,1.4vw + 1.4rem,2.75rem);font-weight:700;line-height:1.1;letter-spacing:-.025em}
.show__tag{font-size:clamp(1.125rem,.5vw + 1rem,1.375rem);color:var(--text)}
.show__price{display:flex;align-items:baseline;gap:6px;font:700 clamp(1.5rem,1.1vw + 1.15rem,2.125rem)/1.15 var(--display);color:var(--navy)}
.show--dark .price__ttc{color:var(--ice)}
.show__icon{width:44px;height:44px;margin-bottom:6px;fill:none;stroke:var(--gold-deep);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.show__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:12px}
.show--dark{background:radial-gradient(70% 90% at 80% 0%,rgba(201,162,39,.12),transparent 60%),linear-gradient(160deg,#0A2347,#0C2D5A 60%,#10386F);color:#fff}
.show--dark h3{color:#fff}
.show--dark .show__tag{color:var(--ice)}
.show--dark .show__price{color:var(--gold-light)}
.show--dark .show__icon{stroke:var(--gold-light)}

/* Notre exigence (accueil, fond marine) */
.pledge{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:20px}
.pledge li{display:flex;flex-direction:column;gap:10px;padding:26px;border:1px solid rgba(232,199,102,.35);border-radius:18px;background:rgba(255,255,255,.04)}
.pledge .i{color:var(--gold-light)}
.pledge h3{color:#fff;font-size:1.25rem}
.pledge p{color:var(--ice)}

/* Avant / après à glisser (repris de l'ancien site) : sans JavaScript, moitié avant / moitié après */
.ba-slider{--pos:50%;position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:18px;background:var(--photo);user-select:none}
.hero__media .ba-slider{aspect-ratio:auto;height:clamp(210px,30vw + 93px,426px)}
.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-slider__avant{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-slider__handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px rgba(7,26,54,.25);pointer-events:none}
.ba-slider__handle::after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23071A36' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E") center/22px no-repeat;box-shadow:0 4px 12px rgba(7,26,54,.35)}
.ba-slider__tag{position:absolute;left:12px;bottom:12px;padding:4px 12px;border-radius:999px;background:rgba(7,26,54,.85);color:#fff;font-size:1rem;font-weight:600;pointer-events:none}
.ba-slider__tag--apres{left:auto;right:12px;background:var(--gold);color:var(--on-gold)}
.ba-slider__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba-slider:has(.ba-slider__range:focus-visible){outline:3px solid var(--gold-light);outline-offset:3px}

/* Listes à coches */
.checks{display:flex;flex-direction:column;gap:12px}
.checks--row{flex-direction:row;flex-wrap:wrap;gap:12px 32px}
.checks li{display:flex;align-items:flex-start;gap:12px}
.checks li::before{content:"";flex:none;width:22px;height:22px;margin-top:3px;background:var(--navy);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.dark .checks li{font-weight:500;font-size:1.125rem;line-height:1.4}
.dark .checks li::before{background:var(--gold-light);margin-top:2px}

/* Cartes */
.card{display:flex;flex-direction:column;gap:14px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.card--hover{transition:border-color .2s,box-shadow .2s}
@media (prefers-reduced-motion:no-preference){.card--hover{transition:border-color .2s,box-shadow .2s,transform .2s}.card--hover:hover{transform:translateY(-3px)}}
.card--hover:hover{border-color:var(--gold);box-shadow:0 22px 44px -24px rgba(7,26,54,.4)}
.card--accent{background:var(--gold-tint);border-color:var(--gold)}
.card--accent .price__from{color:var(--text)}
.card--plain{border:0;box-shadow:0 1px 2px rgba(7,26,54,.05)}
.card--sky{background:var(--ivory)}
.card--start{align-items:flex-start;gap:10px}
.card__icon{flex:none;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--ivory);color:var(--navy);box-shadow:inset 0 0 0 1px rgba(201,162,39,.75)}
.card__head{display:flex;align-items:center;gap:14px}
.card__head--between{justify-content:space-between;flex-wrap:wrap;gap:12px}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}
.price__from{font-size:1rem;color:var(--muted)}
.price__val{display:flex;align-items:baseline;gap:6px;font:700 1.875rem/1.2 var(--display);color:var(--navy)}
.price__val .ph{padding:0 10px;border-width:2px;border-radius:8px;background:#fff;font:600 1.375rem/1.4 Inter,system-ui,sans-serif}
.price__ttc{margin-left:6px;font:600 1rem/1 Inter,system-ui,sans-serif;letter-spacing:.06em;color:var(--muted)}
.price--push{margin-top:auto}
.big-link{display:flex;align-items:center;min-height:44px;font-weight:600;font-size:1.1875rem;color:var(--navy);overflow-wrap:anywhere}
.big-link--tel{font:700 1.5rem/1.2 var(--display);text-decoration:none;white-space:nowrap}

/* Photos : cadres en attente, à remplacer par <img class="photo"> en WebP */
.photo{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;border:2px dashed var(--line-strong);border-radius:18px;background:var(--photo);color:var(--text);text-align:center}
.photo b{display:block;font-size:1.125rem}
.photo span{font-size:1rem;line-height:1.4}
.photo--wide{aspect-ratio:16/9}
img.photo{display:block;padding:0;border:0;width:100%;object-fit:cover}
.shots{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.shots figure{flex:1 0 min(300px,82%);scroll-snap-align:start;display:flex;flex-direction:column;gap:12px}
.shots figcaption{font-size:1rem;color:var(--muted)}

/* Pastilles de communes */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips li{padding:6px 16px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--navy);font-weight:500;font-size:1rem}
.chips .chips__more{border-style:dashed;border-color:var(--gold);background:transparent;color:var(--gold-deep);font-weight:600}
.dept{display:flex;flex-direction:column;gap:12px;margin-top:clamp(36px,3vw + 20px,56px)}

/* Parcours en 3 étapes */
.steps li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px 16px;align-items:center;padding:26px 24px;background:#fff;border-radius:16px;box-shadow:0 1px 2px rgba(7,26,54,.05)}
.steps__n,.points__n,.method__n{flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--navy);color:var(--gold-light);font:700 1.5rem/1 var(--display);box-shadow:0 0 0 1px var(--gold)}
.steps__n{width:52px;height:52px}
.steps li:last-child .steps__n,.method li:last-child .method__n{background:var(--gold);color:var(--on-gold)}
.steps p{grid-column:1/-1}

/* FAQ */
.faq{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(24px,3.95vw + 8.6px,64px)}
.faq__head{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:14px}
.faq__list{flex:2.2 1 520px;min-width:0;display:flex;flex-direction:column;gap:12px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px}
.faq details[open]{border-color:var(--gold)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:14px 22px;border-radius:14px;font:600 1.1875rem/1.35 var(--display);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{background:var(--ivory)}
.faq summary .i{width:24px;height:24px;stroke-width:2.5;color:var(--gold-deep);transition:transform .15s}
.faq details[open] summary .i{transform:rotate(180deg)}
.faq details p{padding:4px 22px 22px}

/* Tableaux (défilent dans leur boîte sur mobile) */
.table-box{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
table{width:100%;border-collapse:collapse;font-size:1rem}
th,td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
th{font-family:var(--display);color:var(--ink);background:var(--ivory)}
tr:last-child td{border-bottom:0}

/* Formulaire de devis */
.devis__in{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(32px,3.95vw + 16.6px,72px)}
.devis__text{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:18px}
.devis__call{margin-top:8px;padding-top:26px;border-top:1px solid var(--rule-dark);display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:var(--ice)}
.devis__tel{display:flex;align-items:center;gap:12px;min-height:48px;color:#fff;text-decoration:none;font:700 clamp(1.625rem,.74vw + 1.44rem,2rem)/1.2 var(--display);white-space:nowrap}
.devis__tel:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:6px}
.devis__tel .i{color:var(--gold-light)}
.form{flex:1.4 1 480px;min-width:0;display:flex;flex-direction:column;gap:18px;padding:clamp(22px,1.7vw + 16px,38px);background:#fff;border-radius:20px;color:var(--text);box-shadow:0 40px 70px -40px rgba(0,0,0,.65),0 0 0 1px rgba(232,199,102,.35)}
/* Étapes du devis (inspirées des parcours de devis en ligne) ; sans JavaScript, les trois blocs s'affichent à la suite */
.step{display:flex;flex-direction:column;gap:16px;min-width:0;margin:0;padding:0;border:0}
.step__title{padding:0;margin-bottom:2px;font:600 1.25rem/1.3 var(--display);color:var(--ink)}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:10px}
.choice{position:relative;display:block;cursor:pointer}
.choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.choice__body{display:flex;flex-direction:column;gap:2px;min-height:64px;padding:13px 16px;border:1.5px solid var(--line-strong);border-radius:14px;background:#fff;transition:border-color .15s,background .15s}
.choice__body b{font-weight:600;color:var(--ink)}
.choice__body span{font-size:1rem;line-height:1.35;color:var(--muted)}
.choice:hover .choice__body{border-color:var(--navy)}
.choice input:focus-visible+.choice__body{outline:3px solid var(--link);outline-offset:2px}
.choice input:checked+.choice__body{border-color:var(--gold);background:var(--gold-tint);box-shadow:inset 0 0 0 1px var(--gold)}
.choice input[aria-invalid=true]+.choice__body{border-color:var(--err)}
.form.is-steps .step:not(.is-current){display:none}
.stepbar{display:flex;gap:8px;margin:0;padding:0;list-style:none}
.stepbar li{flex:1;display:flex;flex-direction:column;gap:8px;font-size:1rem;line-height:1.2;color:var(--muted)}
.stepbar li::before{content:"";height:4px;border-radius:2px;background:var(--line)}
.stepbar li.is-done::before,.stepbar li.is-current::before{background:var(--gold)}
.stepbar li.is-current{font-weight:600;color:var(--ink)}
.step__nav{display:flex;flex-wrap:wrap;gap:12px}
.step__nav .btn{flex:1 1 140px}
.step__nav [data-prev]{flex:0 1 auto}
.form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:18px}
.field{display:flex;flex-direction:column;gap:6px}
.field label,.field__label{font-weight:600;font-size:1rem;color:var(--ink)}
.field__opt{font-weight:400;color:var(--muted)}
.field input:not([type=file]),.field select,.field textarea{width:100%;min-height:52px;padding:0 14px;border:1.5px solid var(--line-strong);border-radius:10px;background:#fff;font:inherit;color:var(--ink)}
.field textarea{min-height:120px;padding:12px 14px;line-height:1.5;resize:vertical}
.field input:not([type=file]):focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--navy)}
::placeholder{color:var(--muted);opacity:1}
.field [aria-invalid=true]{border:2px solid var(--err)}
.field__err{display:flex;align-items:flex-start;gap:8px;font-size:1rem;font-weight:600;color:var(--err)}
.field__err .i{margin-top:3px}
.file{position:relative;display:flex;align-items:center;gap:14px;min-height:76px;padding:12px 16px;border:1.5px dashed var(--line-strong);border-radius:10px;background:var(--ivory);color:var(--navy);cursor:pointer}
.file:hover{background:var(--ivory-2)}
.file:focus-within{outline:3px solid var(--link);outline-offset:2px}
.file input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.file b{display:block;font-weight:600}
.file span{font-size:1rem;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
.form__legal{font-size:1rem;line-height:1.5;color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.alert{display:flex;align-items:flex-start;gap:14px;padding:20px;border:1px solid var(--err);border-radius:12px;background:var(--err-bg);color:var(--ink)}
.alert .i{width:28px;height:28px;color:var(--err)}
.alert--ok{border-color:var(--ok);background:var(--ok-bg)}
.alert--ok .i{color:var(--ok)}
.alert ul{list-style:disc;padding-left:20px}

/* Mentions légales */
.legal{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(28px,4.44vw + 10.7px,64px)}
.toc{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:2px;padding:18px;background:var(--ivory);border-radius:16px}
.toc h2{padding:6px 12px 8px;font-size:1.1875rem;line-height:1.3;letter-spacing:0}
.toc a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;color:var(--navy);font-weight:500;text-decoration:none}
.toc a:hover{background:var(--ivory-2)}
.legal__body{flex:3 1 520px;min-width:0;max-width:780px;display:flex;flex-direction:column;gap:40px}
.legal__body section{display:flex;flex-direction:column;gap:12px}
.legal__body section+section{padding-top:32px;border-top:1px solid var(--line)}
.legal__body h2,.h2-sm{font-size:clamp(1.4375rem,.62vw + 1.29rem,1.75rem);line-height:1.25;letter-spacing:0}
.legal__body ul{display:flex;flex-direction:column;gap:8px}
.band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-block:clamp(44px,2.96vw + 32px,72px)}
.band>*{flex:1 1 360px;min-width:0}

/* Entretien : 8 points de contrôle, split inversé */
.split--rev{flex-direction:row-reverse}
.points{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px}
.points li{display:flex;align-items:flex-start;gap:14px;padding:18px;background:#fff;border-radius:16px;box-shadow:0 1px 2px rgba(7,26,54,.05)}
.points__n{width:40px;height:40px;font-size:1.1875rem}
.points li>div{display:flex;flex-direction:column;gap:4px}
.points h3{font-size:1.1875rem}
.points p{font-size:1rem;line-height:1.5}

/* Zone d'intervention : tuiles de communes */
.communes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:16px}
.communes li{display:flex;align-items:center;gap:14px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--muted);box-shadow:0 1px 2px rgba(7,26,54,.05)}
.communes li>div{display:flex;flex-direction:column}
.communes b{font:600 1.25rem/1.3 var(--display);color:var(--ink)}
.communes .i{width:26px;height:26px;color:var(--gold-deep)}
.communes .communes__main{background:var(--navy);border-color:var(--navy);color:var(--ice)}
.communes .communes__main b{color:#fff}
.communes .communes__main .i{color:var(--gold-light)}

/* Recharge de fluide : détail du prix, méthode, symptômes */
.pricing{display:flex;flex-wrap:wrap;align-items:stretch;gap:22px}
.pricing>.card{flex:1 1 300px;min-width:0}
.pricing>.panel{flex:1.8 1 460px;min-width:0}
.panel{display:flex;flex-direction:column;gap:12px;padding:clamp(22px,.99vw + 18px,32px);background:var(--ivory);border-radius:16px}
.dl-rows{display:flex;flex-direction:column;margin:0}
.dl-rows>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.dl-rows>div:last-child{border-bottom:0}
.dl-rows dt{min-width:0}
.dl-rows dd{flex:none;display:flex;align-items:baseline;gap:6px;margin:0;font-weight:600;color:var(--navy)}
.dl-rows .ph{background:#fff}
.method{display:flex;flex-direction:column;gap:14px}
.method li{display:flex;align-items:flex-start;gap:16px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.method li>div{display:flex;flex-direction:column;gap:4px}
.method h3{font-size:1.25rem}
.method__n{width:44px;height:44px;font-size:1.25rem}
.card--sym{gap:10px;padding:22px}
.card--sym h3{font-size:1.25rem}
.card--sym .card__icon{width:44px;height:44px}

/* Pied de page */
.site-footer{background:var(--navy-deep);color:var(--ice);border-top:2px solid var(--gold)}
.site-footer__in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:clamp(28px,2.96vw + 16px,56px);padding-top:clamp(44px,4.44vw + 26px,84px)}
.site-footer__in>*{display:flex;flex-direction:column;gap:4px}
.site-footer__in>:first-child{gap:16px}
@media (max-width:899.98px){.site-footer__in>:first-child{grid-column:1/-1}}
.site-footer .brand img{width:min(260px,100%);height:auto}
.site-footer h2{margin-bottom:10px;font-size:1.1875rem;line-height:1.3;letter-spacing:0;color:#fff}
.site-footer a:not(.brand){display:flex;align-items:center;min-height:44px;color:var(--ice);text-decoration:none}
.site-footer a:not(.brand):hover{color:#fff;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
.site-footer a.strong{color:#fff;font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
.site-footer a.tel{color:#fff;font-weight:700;font-size:1.1875rem}
.site-footer__end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;margin-top:clamp(24px,3.46vw + 10px,52px);padding-block:18px 22px;border-top:1px solid var(--rule-dark);font-size:1rem}
.site-footer__end a{text-decoration:underline!important}

/* Barre fixe mobile */
.callbar{position:sticky;bottom:0;z-index:30;display:flex;gap:10px;padding:10px 16px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(7,26,54,.12)}
.callbar .btn{flex:1 1 0;min-height:52px;font-size:1.125rem}
/* Masquée tant que le haut de page (et son bouton devis) est visible : voir main.js */
.callbar{transition:transform .25s,visibility .25s}
.callbar.is-off{transform:translateY(100%);visibility:hidden}
@media (prefers-reduced-motion:reduce){.callbar{transition:none}}
/* Bloc resté seul après retrait d'un cadre photo : largeur de lecture */
.split>:only-child,.hero__text:only-child{flex:0 1 820px}
@media (max-width:899.98px){
  html{scroll-padding-bottom:84px}
  /* Accueil plus court : 4 engagements sur 8 (marques et interlocuteur sont repris plus bas), communes voisines seulement */
  .pledge li:nth-child(n+5){display:none}
  .chips--court li:nth-child(n+11):not(.chips__more){display:none}
  /* Indice de défilement du menu en pastilles */
  .subnav{padding-right:48px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent)}
  /* Héros avec photo : la photo remonte juste sous le titre */
  .hero__in:has(.hero__media){flex-direction:column;align-items:stretch;gap:20px;padding-block:28px 40px}
  .hero__in:has(.hero__media) .hero__text{display:contents}
  .hero__in:has(.hero__media) .hero__media{order:1;flex:none;margin-right:14px}
  .hero__in:has(.hero__media) .btn-row{order:2}
  .hero__in:has(.hero__media) .checks{order:3}
  .site-footer a[href^="mailto"]{overflow-wrap:anywhere}
}

/* Refonte du 12/11/2026 */
/* Accroche du héros de l'accueil (le h1 garde le mot-clé « Climatisation à Marignane ») */
.hero__slogan{font:500 clamp(1.25rem,.6vw + 1.1rem,1.5rem)/1.4 var(--display);color:var(--gold-light)}
/* Galerie des réalisations */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:30px 22px}
.gallery figure{display:flex;flex-direction:column;gap:12px}
.gallery figcaption{font-size:1rem;color:var(--muted)}
/* Fiche d'identité (À propos) */
.facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 18px;margin:0}
.facts dt{color:var(--muted)}
.facts dd{margin:0;font-weight:600;color:var(--ink)}
/* Groupes de boutons radio dans le formulaire de devis */
fieldset.field{min-width:0;margin:0;padding:0;border:0}
legend.field__label{padding:0;margin-bottom:6px}
