/*
Theme Name: AFH
Theme URI: https://agencefrancaisedelhabitat.fr
Author: Agence Française de l'Habitat
Description: Thème sur mesure de l'Agence Française de l'Habitat. Intégration de la maquette « Accueil AFH » (thème clair).
Version: 1.0.0
Requires PHP: 8.0
License: Proprietary
Text Domain: afh
*/

/* ---------- Fontes auto-hébergées (RGPD) ---------- */
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-italic-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-italic-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+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-normal-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-normal-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+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 700;font-display:swap;src:url(fonts/manrope-normal-200-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 700;font-display:swap;src:url(fonts/manrope-normal-200-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+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ---------- Design tokens ---------- */
:root{
  --acc:#5E7367;
  --bg:#F6F3EE;
  --sur:#FFFFFF;
  --txt:#15130F;
  --mut:#6C645B;
  --line:rgba(21,19,15,.14);
  --soft:rgba(21,19,15,.04);
  --shade:0 1px 2px rgba(21,19,15,.04),0 18px 40px -24px rgba(21,19,15,.22);
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font-family:Manrope,'Helvetica Neue',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-size:15px;line-height:1.6}
a{color:var(--txt);text-decoration:none}
a:hover{color:var(--acc)}
::selection{background:var(--acc);color:#fff}
input::placeholder{color:var(--mut)}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.afh-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--mut)}
.afh-label{font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--acc);margin-bottom:24px}
.afh-serif{font-family:'Instrument Serif',Georgia,serif;font-weight:400}
.afh-btn{display:inline-flex;align-items:center;gap:12px;padding:19px 32px;border-radius:100px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:none;cursor:pointer;font-family:inherit;transition:background .3s,color .3s,border-color .3s,filter .3s}
.afh-btn--dark{background:var(--txt);color:#fff}
.afh-btn--dark:hover{background:var(--acc);color:#fff}
.afh-btn--acc{background:var(--acc);color:#fff}
.afh-btn--acc:hover{filter:brightness(1.12);color:#fff}
.afh-btn--ghost{border:1px solid var(--line);background:var(--sur);color:var(--txt);font-weight:400;letter-spacing:.12em}
.afh-btn--ghost:hover{border-color:var(--txt);color:var(--txt)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);word-wrap:normal}

/* ---------- Animations ---------- */
@keyframes afhMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes afhRise{from{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}
@keyframes afhBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes afhBob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}

/* ---------- Écran de chargement ---------- */
.afh-loader{position:fixed;inset:0;z-index:10000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;transition:opacity .9s ease,visibility .9s}
.afh-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.afh-loader.is-skipped{display:none}
.afh-loader__mark{display:flex;flex-direction:column;align-items:center;gap:18px}
.afh-loader__diamond{width:86px;height:86px;border:1px solid var(--acc);display:flex;align-items:center;justify-content:center;transform:rotate(45deg);border-radius:6px}
.afh-loader__diamond span{transform:rotate(-45deg);font-family:'Instrument Serif',Georgia,serif;font-size:30px;color:var(--acc)}
.afh-loader__base{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--mut);padding-left:.4em}
.afh-loader__track{width:180px;height:2px;border-radius:2px;background:var(--soft);overflow:hidden}
.afh-loader__bar{height:100%;background:var(--acc);transform-origin:left;animation:afhBar 1.6s cubic-bezier(.6,.05,.1,1) forwards}

/* ---------- Curseur personnalisé ---------- */
.afh-ring,.afh-dot{display:none}
@media (pointer:fine){
  body.afh-cursor,body.afh-cursor a,body.afh-cursor button,body.afh-cursor input{cursor:none}
  body.afh-cursor .afh-ring{display:block;position:fixed;top:0;left:0;width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid var(--acc);border-radius:50%;pointer-events:none;z-index:9998;will-change:transform;background:transparent;transition:width .28s,height .28s,margin .28s,background .28s}
  body.afh-cursor .afh-ring.is-hot{width:62px;height:62px;margin:-31px 0 0 -31px;background:rgba(94,115,103,.10)}
  body.afh-cursor .afh-dot{display:block;position:fixed;top:0;left:0;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--acc);pointer-events:none;z-index:9999;will-change:transform}
}

/* ---------- Header ---------- */
.afh-header{position:fixed;top:14px;left:50%;transform:translateX(-50%);width:calc(100% - 40px);max-width:1460px;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 12px 10px 18px;border:1px solid var(--line);border-radius:100px;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);box-shadow:var(--shade)}
.afh-logo{display:flex;align-items:center;gap:11px}
.afh-logo__mark{width:26px;height:26px;border:1.5px solid var(--acc);border-radius:5px;transform:rotate(45deg);flex:none}
.afh-logo__text{line-height:1.05}
.afh-logo__name{font-family:'Instrument Serif',Georgia,serif;font-size:18px}
.afh-logo__sub{font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--mut)}
.afh-nav{display:flex;align-items:center;gap:30px;font-size:13.5px;font-weight:500;color:var(--txt)}
.afh-header__right{display:flex;align-items:center;gap:14px}
.afh-header__phone{font-size:13px;letter-spacing:.04em;color:var(--mut)}
.afh-header__cta{padding:13px 24px;border-radius:100px;background:var(--acc);color:#fff;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.afh-header__cta:hover{filter:brightness(1.12);color:#fff}
.afh-burger{display:none;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:transparent;border:1px solid var(--line);border-radius:100px;padding:0;cursor:pointer}
.afh-burger span{display:block;width:16px;height:1.5px;background:var(--txt)}

/* ---------- Menu mobile ---------- */
.afh-menu{position:fixed;inset:0;z-index:950;background:var(--bg);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;padding:0 24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s}
.afh-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}
.afh-menu__close{position:absolute;top:16px;right:16px;width:46px;height:46px;background:transparent;border:1px solid var(--line);border-radius:100px;color:var(--txt);font-size:20px;line-height:1;cursor:pointer}
.afh-menu a.afh-menu__link{font-family:'Instrument Serif',Georgia,serif;font-size:36px}
.afh-menu__cta{margin-top:22px;padding:16px 30px;border-radius:100px;background:var(--acc);color:#fff;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.afh-menu__phone{font-size:14px;letter-spacing:.1em;color:var(--acc)}
body.afh-menu-open{overflow:hidden}

/* ---------- Hero ---------- */
.afh-hero{position:relative;min-height:100vh;display:grid;grid-template-columns:1.12fr .88fr;align-items:end;gap:56px;padding:170px 40px 44px}
.afh-hero__glow{position:absolute;inset:0;background:radial-gradient(110% 70% at 8% 0%,rgba(94,115,103,.12),transparent 60%);pointer-events:none}
.afh-hero__copy{position:relative;max-width:880px}
.afh-badge{display:inline-flex;align-items:center;gap:10px;margin-bottom:30px;padding:8px 16px 8px 12px;border:1px solid var(--line);border-radius:100px;background:var(--sur);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.afh-badge i{width:6px;height:6px;border-radius:50%;background:var(--acc)}
.afh-hero h1{margin:0;font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(52px,7.6vw,128px);line-height:.93;letter-spacing:-.025em;text-wrap:balance}
.afh-hero h1 .line{display:block;overflow:hidden}
.afh-hero h1 .line>span{display:block}
.afh-hero h1 em,.afh-em{font-style:italic;color:var(--acc)}
.afh-hero__lead{max-width:520px;margin:30px 0 42px;font-size:17.5px;line-height:1.65;color:var(--mut);text-wrap:pretty}
.afh-hero__ctas{display:flex;flex-wrap:wrap;gap:12px}
.afh-hero__media{position:relative;display:flex;flex-direction:column;gap:18px}
.afh-hero__img{position:relative;height:54vh;min-height:340px;border-radius:14px;overflow:hidden;background:var(--sur);border:1px solid var(--line);display:flex;align-items:flex-end;padding:20px;box-shadow:var(--shade)}
.afh-ph{background-image:repeating-linear-gradient(135deg,rgba(21,19,15,.045) 0 10px,transparent 10px 20px)}
.afh-hero__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.afh-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.afh-stat{background:var(--sur);border:1px solid var(--line);border-radius:12px;padding:18px 16px}
.afh-stat b{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:34px;line-height:1;display:block}
.afh-stat span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-top:6px;display:block}
.afh-scroll-cue{position:absolute;left:40px;bottom:22px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--mut)}

/* ---------- Bandeau défilant ---------- */
.afh-marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;overflow:hidden;white-space:nowrap;background:var(--sur)}
.afh-marquee__track{display:inline-flex;gap:52px;font-family:'Instrument Serif',Georgia,serif;font-size:26px;color:var(--mut)}
.afh-marquee__track .sep{color:var(--acc)}

/* ---------- Sections communes ---------- */
.afh-section{max-width:1500px;margin:0 auto;padding:140px 40px}
.afh-h2{margin:0;font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(34px,4vw,64px);line-height:1.05;letter-spacing:-.02em;text-wrap:balance}

/* ---------- L'agence ---------- */
.afh-about{display:grid;grid-template-columns:.9fr 1.1fr;gap:76px}
.afh-about__img{height:440px;border-radius:14px;border:1px solid var(--line);background-color:var(--sur);display:flex;align-items:flex-end;padding:20px;position:relative;overflow:hidden}
.afh-about__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.afh-about__body{align-self:center}
.afh-about__body h2{margin:0 0 28px;font-size:clamp(34px,3.6vw,58px);line-height:1.08}
.afh-about__p1{margin:0 0 20px;font-size:17.5px;line-height:1.75;color:var(--txt);max-width:640px;text-wrap:pretty}
.afh-about__p2{margin:0 0 38px;font-size:17.5px;line-height:1.75;color:var(--mut);max-width:640px;text-wrap:pretty}
.afh-badges{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:620px}
.afh-badges div{background:var(--sur);border:1px solid var(--line);border-radius:12px;padding:18px 20px;font-size:13.5px;font-weight:500}

/* ---------- Prestations ---------- */
.afh-services{padding-top:0}
.afh-services__head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:34px;border-bottom:1px solid var(--line)}
.afh-services__head .afh-label{margin-bottom:16px}
.afh-services__all{white-space:nowrap;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.afh-services__all:hover{color:var(--acc)}
.afh-row{display:grid;grid-template-columns:64px 1.05fr 1.6fr 40px;align-items:center;gap:30px;padding:34px 12px;border-bottom:1px solid var(--line);border-radius:10px;transition:padding .4s cubic-bezier(.16,1,.3,1),background .4s ease}
.afh-row:hover{background:var(--sur);padding-left:26px;color:var(--txt)}
.afh-row__title{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(26px,2.5vw,40px);line-height:1}
.afh-row__desc{font-size:15px;line-height:1.6;color:var(--mut)}
.afh-row__arrow{justify-self:end;font-size:18px;color:var(--acc)}

/* ---------- Réalisations ---------- */
.afh-works-section{padding-top:0}
.afh-works-section .afh-label{margin-bottom:16px}
.afh-works-section .afh-h2{margin-bottom:12px}
.afh-works-hint{margin:0 0 46px;font-size:15px;color:var(--mut)}
.afh-works{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.afh-work__frame{position:relative;height:400px;overflow:hidden;border-radius:14px;border:1px solid var(--line);background:var(--sur);cursor:pointer}
.afh-work__before,.afh-work__after{position:absolute;inset:0;display:flex;align-items:flex-end;padding:18px}
.afh-work__before img,.afh-work__after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.afh-work__before .afh-mono,.afh-work__after .afh-mono{position:relative;z-index:1}
.afh-work__after{background:#EDF0EC;background-image:repeating-linear-gradient(135deg,rgba(94,115,103,.18) 0 10px,transparent 10px 20px);transition:clip-path .7s cubic-bezier(.16,1,.3,1);clip-path:inset(0 0 100% 0)}
.afh-work__after .afh-mono{color:var(--acc)}
.afh-work.is-revealed .afh-work__after{clip-path:inset(0 0 0 0)}
.afh-work__state{position:absolute;top:14px;left:14px;padding:7px 14px;border-radius:100px;background:rgba(255,255,255,.86);backdrop-filter:blur(6px);border:1px solid var(--line);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;z-index:2}
.afh-work__caption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:16px}
.afh-work__title{font-family:'Instrument Serif',Georgia,serif;font-size:24px}
.afh-work__place{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}

/* ---------- Méthode ---------- */
.afh-method{background:var(--sur);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:130px 40px}
.afh-method__inner{max-width:1500px;margin:0 auto}
.afh-method__head{max-width:760px;margin-bottom:70px}
.afh-method__head .afh-label{margin-bottom:16px}
.afh-method__head .afh-h2{margin-bottom:18px}
.afh-method__head p{margin:0;font-size:17.5px;line-height:1.7;color:var(--mut);text-wrap:pretty}
.afh-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.afh-step{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:34px 28px 38px;display:flex;flex-direction:column;gap:14px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}
.afh-step:hover{transform:translateY(-6px);box-shadow:var(--shade)}
.afh-step__num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--acc)}
.afh-step__title{font-family:'Instrument Serif',Georgia,serif;font-size:28px;line-height:1.15}
.afh-step__desc{font-size:15px;line-height:1.65;color:var(--mut)}
.afh-step__meta{margin-top:auto;padding-top:20px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}

/* ---------- Témoignages + agences ---------- */
.afh-social{padding:130px 40px}
.afh-quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:66px;align-items:center}
.afh-quote blockquote{margin:0;font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(28px,3vw,46px);line-height:1.22;letter-spacing:-.015em;text-wrap:pretty}
.afh-quote__who{display:flex;align-items:center;gap:16px;margin-top:32px}
.afh-quote__dash{width:44px;height:1px;background:var(--acc)}
.afh-quote__name{font-size:14px;font-weight:500}
.afh-quote__meta{font-size:12.5px;color:var(--mut);margin-top:3px}
.afh-dots{display:flex;gap:10px;margin-top:40px}
.afh-dots button{width:8px;height:8px;border-radius:100px;border:none;padding:0;background:var(--line);transition:width .35s,background .35s;cursor:pointer}
.afh-dots button.is-active{width:28px;background:var(--acc)}
.afh-agences{border:1px solid var(--line);border-radius:16px;background:var(--sur);padding:42px 38px;box-shadow:var(--shade)}
.afh-agences .afh-label{margin-bottom:24px}
.afh-agences h3{margin:0 0 26px;font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:34px;line-height:1.15}
.afh-cities{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 20px;font-size:14px;color:var(--txt)}
.afh-cities span{padding-bottom:10px;border-bottom:1px solid var(--line)}
.afh-agences__link{display:inline-flex;align-items:center;gap:10px;margin-top:32px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}

/* ---------- Devis ---------- */
.afh-devis{position:relative;padding:130px 40px;background:var(--sur);border-top:1px solid var(--line)}
.afh-devis__glow{position:absolute;inset:0;background:radial-gradient(70% 100% at 50% 100%,rgba(94,115,103,.14),transparent 65%);pointer-events:none}
.afh-devis__inner{position:relative;max-width:1100px;margin:0 auto;text-align:center}
.afh-devis h2{margin:0 0 22px;font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(40px,6vw,96px);line-height:1;letter-spacing:-.025em;text-wrap:balance}
.afh-devis__lead{max-width:560px;margin:0 auto 44px;font-size:17.5px;line-height:1.65;color:var(--mut);text-wrap:pretty}
.afh-form{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:840px;margin:0 auto 20px}
.afh-form input{padding:18px 22px;background:var(--bg);border:1px solid var(--line);border-radius:100px;color:var(--txt);font-family:inherit;font-size:14px;outline:none}
.afh-form input:focus{border-color:var(--acc)}
.afh-form input[name=afh_nom]{flex:1 1 220px}
.afh-form input[name=afh_tel]{flex:1 1 200px}
.afh-form input[name=afh_cp]{flex:0 1 160px}
.afh-form button{padding:18px 34px}
.afh-form .afh-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.afh-devis__phone{font-size:13px;color:var(--mut)}
.afh-devis__phone a{color:var(--txt);border-bottom:1px solid var(--line)}
.afh-form-ok{max-width:560px;margin:0 auto 20px;padding:16px 24px;border:1px solid var(--acc);border-radius:14px;background:var(--bg);color:var(--txt);font-size:14px}

/* ---------- Footer ---------- */
.afh-footer{border-top:1px solid var(--line);padding:70px 40px 32px}
.afh-footer__grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px}
.afh-footer__brand-line{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.afh-footer__brand-line .afh-logo__mark{width:24px;height:24px}
.afh-footer__brand-name{font-family:'Instrument Serif',Georgia,serif;font-size:19px}
.afh-footer__desc{margin:0;max-width:340px;font-size:14px;line-height:1.7;color:var(--mut)}
.afh-footer__col{display:flex;flex-direction:column;gap:11px;font-size:14px;color:var(--mut)}
.afh-footer__col a{color:var(--mut)}
.afh-footer__col a:hover{color:var(--acc)}
.afh-footer__title{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--txt);margin-bottom:6px}
.afh-footer__bottom{max-width:1500px;margin:54px auto 0;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--mut)}

/* ---------- Fallback (pages internes, blog) ---------- */
.afh-plain{max-width:820px;margin:0 auto;padding:170px 24px 90px}
.afh-plain h1{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(38px,5vw,64px);line-height:1.05;letter-spacing:-.02em}
.afh-plain a{color:var(--acc)}

/* ---------- Mouvement (uniquement si toléré) ---------- */
@media (prefers-reduced-motion:no-preference){
  .afh-hero h1 .line>span{animation:afhRise 1s cubic-bezier(.16,1,.3,1) both}
  .afh-hero h1 .line:nth-child(1)>span{animation-delay:.1s}
  .afh-hero h1 .line:nth-child(2)>span{animation-delay:.24s}
  .afh-marquee__track{animation:afhMarquee 36s linear infinite}
  .afh-scroll-cue{animation:afhBob 2.6s ease-in-out infinite}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .afh-loader{display:none}
  .afh-work__after{transition:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .afh-hero{grid-template-columns:1fr;gap:52px}
  .afh-about{grid-template-columns:1fr;gap:44px}
  .afh-quote-grid{grid-template-columns:1fr;gap:44px}
  .afh-steps{grid-template-columns:repeat(2,1fr)}
  .afh-works{grid-template-columns:repeat(2,1fr)}
  .afh-footer__grid{grid-template-columns:1fr 1fr;gap:40px}
}
@media (max-width:900px){
  .afh-nav,.afh-header__phone{display:none}
  .afh-burger{display:flex}
  .afh-header{padding:12px 16px}
  .afh-section,.afh-method,.afh-social,.afh-devis,.afh-footer{padding-left:20px;padding-right:20px}
  .afh-hero{padding:128px 20px 44px;min-height:auto}
  .afh-hero h1{font-size:clamp(40px,11vw,68px)}
  .afh-scroll-cue{display:none}
}
@media (max-width:700px){
  .afh-works,.afh-steps,.afh-footer__grid,.afh-badges{grid-template-columns:1fr}
  .afh-cities{grid-template-columns:repeat(2,1fr)}
  .afh-row{grid-template-columns:44px 1fr;gap:14px;padding:24px 4px}
  .afh-row__desc{grid-column:2;font-size:14px}
  .afh-row__arrow{display:none}
  .afh-hero__img{height:46vh;min-height:260px}
  .afh-footer__bottom{flex-direction:column;gap:8px}
}
@media (max-width:520px){
  .afh-header__cta,.afh-logo__sub{display:none}
  .afh-header{gap:10px}
}
