/* =====================================================================
   Faîtage — couvreur / charpentier
   Ardoise, zinc et tuile. Pignons, pentes et rives en écailles.
   ===================================================================== */
:root{
  --wrap:1240px;
  --hdr:76px;
  --field-bg:#fff;
  --radius-input:var(--radius);
  --radius-btn:var(--radius);
  --mobilebar-bg:rgba(22,29,34,.95);
  --mobilebar-ink:#F2F4F4;
  --wood:#9C6B3E;
  --wood-2:#C08B57;
  --slate:#3C4750;
  --membrane:#5C8FB0;
  --brick:#8B5A44;
  --gable:polygon(50% 0,100% 30%,100% 100%,0 100%,0 30%);
  --gable-low:polygon(0 22%,50% 0,100% 22%,100% 100%,0 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:1.03rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
img{display:block;height:auto}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:800;line-height:.9;letter-spacing:.002em}
em{font-style:normal}
h1 em,h2 em,h3 em,.fhero__title em,.fph__title em,.fqs__title em{color:var(--accent-text)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
::selection{background:var(--accent);color:var(--accent-ink)}
.sec{padding:clamp(72px,9vw,128px) 0;position:relative}
.ico{width:1.2em;height:1.2em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Petits éléments communs ---------- */
.ft-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;font:700 .78rem/1.2 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.ft-eyebrow--light{color:var(--accent-on-dark)}
.ft-eyebrow--ink{color:inherit}
.ft-pitch{display:inline-block;width:18px;height:10px;flex:none;background:currentColor;clip-path:polygon(0 100%,50% 0,100% 100%,80% 100%,50% 40%,20% 100%)}
.ft-h2{font-size:clamp(2.5rem,5.4vw,4.6rem);color:var(--ink)}
.ft-lead{max-width:36em;color:var(--muted);font-size:1.08rem}
.ft-sh{margin-bottom:clamp(36px,5vw,60px);max-width:46rem}
.ft-sh .ft-lead{margin-top:18px}
.ft-sh--split{display:grid;gap:20px 64px;max-width:none;align-items:end}
@media (min-width:900px){.ft-sh--split{grid-template-columns:1.1fr .9fr}.ft-sh--split .ft-lead{margin:0}}
.ft-demo-note{margin-top:26px;font-size:.84rem;color:var(--muted)}
.ft-tag-example{display:inline-block;margin-top:14px;padding:3px 9px;border-radius:2px;background:var(--bg-2);color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ft-tag-example--dark{background:rgba(255,255,255,.08);color:var(--on-dark-muted)}
.ft-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:22px 0 0;background:var(--line);border:1px solid var(--line)}
.ft-specs div{padding:12px 14px;background:var(--surface)}
.ft-specs dt{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ft-specs dd{margin:2px 0 0;font-family:var(--font-display);font-weight:800;font-size:1.55rem;line-height:1.05}
.ft-open{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.ft-open span:last-child{font-weight:400;opacity:.8}
.ft-open__dot{width:9px;height:9px;border-radius:50%;background:#C9D1D4}
.ft-open.is-open .ft-open__dot{background:#5FBF7F;box-shadow:0 0 0 4px rgba(95,191,127,.22)}

/* Boutons */
.ft-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border:2px solid transparent;border-radius:var(--radius);font-family:var(--font-display);font-weight:800;font-size:1.12rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;line-height:1;cursor:pointer;transition:background-color .25s,color .25s,border-color .25s,transform .25s}
.ft-btn .ico{width:1.15em;height:1.15em;transition:transform .25s}
.ft-btn:hover .ico:last-child{transform:translateX(4px)}
.ft-btn--xl{min-height:58px;padding:0 28px;font-size:1.25rem}
.ft-btn--accent{background:var(--accent);color:var(--accent-ink)}
.ft-btn--accent:hover{background:var(--ink);color:#fff}
.ft-btn--dark{background:var(--dark);color:#F2F4F4}
.ft-btn--dark:hover{background:var(--surface);color:var(--ink)}
.ft-btn--light{background:#F2F4F4;color:var(--ink)}
.ft-btn--ghost-light{border-color:rgba(233,236,236,.42);color:#F2F4F4}
.ft-btn--ghost-light:hover{border-color:#F2F4F4;background:rgba(255,255,255,.06)}
.ft-btn--line{border-color:var(--ink);color:var(--ink)}
.ft-btn--line:hover{background:var(--ink);color:#fff}
/* liens d'action du moteur (démo) */
.btn{font-family:var(--font-display);font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius)}
.btn--primary{background:var(--accent);color:var(--accent-ink)}

/* Rive en écailles (bas des bandeaux sombres) */
.fhero__eaves,.fph::after{position:absolute;left:0;right:0;bottom:-15px;height:16px;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 0,var(--dark) 11px,transparent 11.5px) 0 0/24px 16px repeat-x}

/* ---------- Bandeau du haut ---------- */
.fht{background:var(--accent);color:var(--accent-ink);font-size:.86rem}
.fht__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:6px 0}
.fht__msg{display:flex;align-items:center;gap:10px;font-weight:600}
.fht__ico svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fht__state{white-space:nowrap;font-weight:600}
.fht__state span{font-weight:400;opacity:.85}
@media (max-width:899px){.fht__state{display:none}.fht{font-size:.8rem}}

/* ---------- En-tête ---------- */
.fh{position:sticky;top:0;z-index:600;background:var(--dark);color:#F2F4F4;border-bottom:1px solid rgba(255,255,255,.07);transition:box-shadow .3s}
.has-demobar .fh{top:48px}
.fh.is-scrolled{box-shadow:0 12px 32px rgba(10,14,17,.35)}
.fh__in{display:flex;align-items:center;gap:24px;min-height:var(--hdr)}
.fh__logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:#F2F4F4;flex:none}
.fh__logo-img{max-height:48px;width:auto}
.fh__mark svg{display:block;width:40px;height:32px;fill:none;stroke:var(--accent-on-dark);stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.fh__word{display:flex;flex-direction:column;font-family:var(--font-display);font-weight:900;font-size:1.75rem;line-height:.9;letter-spacing:.02em;text-transform:uppercase}
.fh__sub{margin-top:4px;font-family:var(--font-body);font-size:.66rem;font-weight:600;letter-spacing:.16em;color:var(--on-dark-muted)}
.fh__nav{margin-left:auto}
.fh__nav ul{display:flex;gap:2px;margin:0;padding:0;list-style:none}
.fh__nav a{position:relative;display:inline-flex;align-items:center;gap:7px;padding:10px 13px;color:var(--on-dark-muted);font-weight:600;font-size:.95rem;text-decoration:none;transition:color .2s}
.fh__nav a:hover,.fh__nav a[aria-current]{color:#fff}
.fh__nav a::after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:3px;background:var(--accent-on-dark);clip-path:polygon(0 100%,50% 0,100% 100%);transform:scaleX(0);transition:transform .3s}
.fh__nav a:hover::after,.fh__nav a[aria-current]::after{transform:none}
.fh__nav a.is-alert::before,.fhm__list a.is-alert::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent-on-dark);animation:ftpulse 2s infinite}
.fh__actions{display:flex;align-items:center;gap:14px}
.fh__phone{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--font-display);font-weight:800;font-size:1.35rem;line-height:1;color:#fff}
.fh__phone small{display:block;margin-bottom:3px;font-family:var(--font-body);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-muted)}
.fh__phone-ico{display:grid;place-items:center;width:40px;height:40px;border:1.5px solid rgba(255,255,255,.2);border-radius:50%}
.fh__phone-ico .ico{width:18px;height:18px}
.fh__burger{display:none;align-items:center;gap:10px;min-height:46px;padding:0 14px;border:1.5px solid rgba(255,255,255,.25);border-radius:var(--radius);background:transparent;color:#fff;font:700 .85rem var(--font-body);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.fh__burger-ico{position:relative;display:block;width:20px;height:12px}
.fh__burger-ico span{position:absolute;left:0;width:20px;height:2px;background:currentColor;transition:transform .3s,top .3s}
.fh__burger-ico span:first-child{top:0}.fh__burger-ico span:last-child{top:10px}
[aria-expanded=true] .fh__burger-ico span:first-child{top:5px;transform:rotate(45deg)}
[aria-expanded=true] .fh__burger-ico span:last-child{top:5px;transform:rotate(-45deg)}
.fhm{display:none}
@media (max-width:1239px){.fh__phone{display:none}}
@media (max-width:1079px){
  .fh__nav{display:none}
  .fh__actions{margin-left:auto}
  .fh__burger{display:inline-flex}
  .fhm{display:block;position:fixed;inset:0;z-index:-1;padding-top:calc(var(--hdr) + 12px);background:var(--dark);visibility:hidden;opacity:0;transition:opacity .3s,visibility 0s .3s;overflow:auto}
  .has-demobar .fhm{padding-top:calc(var(--hdr) + 60px)}
  .fhm.is-open{visibility:visible;opacity:1;transition:opacity .3s}
  .fhm__in{position:relative;display:flex;flex-direction:column;min-height:100%;padding-bottom:40px}
  .fhm__list{margin:0;padding:0;list-style:none}
  .fhm__list a{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.09);font-family:var(--font-display);font-weight:800;font-size:clamp(2.2rem,10vw,3.2rem);line-height:1;color:#F2F4F4;text-decoration:none}
  .fhm__list a[aria-current]{color:var(--accent-on-dark)}
  .fhm__foot{display:grid;gap:12px;margin-top:28px}
  .fhm__foot .ft-open{color:var(--on-dark-muted)}
  .fhm__roof{display:block;height:90px;margin-top:auto;opacity:.5;background:radial-gradient(circle at 50% 100%,transparent 11px,var(--dark-3) 11.5px,var(--dark-3) 13px,transparent 13.5px) 0 0/26px 14px}
  body.nav-open .fh{box-shadow:none}
  body.nav-open .fht{display:none}
}
@media (max-width:479px){.fh__cta{display:none}.fh__in{gap:12px}.fh__word{font-size:1.45rem}.fh__sub{letter-spacing:.08em}.fh__mark svg{width:34px;height:28px}}

/* ---------- Hero ---------- */
.fhero{position:relative;background:var(--dark);color:#F2F4F4;padding:clamp(48px,7vw,96px) 0 clamp(90px,9vw,130px)}
.fhero__sky{position:absolute;inset:0;overflow:hidden;background:radial-gradient(70% 60% at 85% 100%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 70%),linear-gradient(180deg,#141B20 0%,#1E2830 60%,#26323A 100%)}
.fhero__sky::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;opacity:.5;background:radial-gradient(circle at 50% 100%,transparent 15px,rgba(255,255,255,.045) 15.5px,rgba(255,255,255,.045) 17px,transparent 17.5px) 0 0/34px 18px;-webkit-mask-image:linear-gradient(transparent,#000);mask-image:linear-gradient(transparent,#000)}
.fhero__in{position:relative;display:grid;gap:56px;align-items:center}
@media (min-width:1024px){.fhero__in{grid-template-columns:1.08fr .92fr;gap:72px}}
.fhero__title{font-size:clamp(3.4rem,8.4vw,7.6rem);line-height:.84;letter-spacing:-.005em;color:#F6F7F7;animation:ftrise .9s cubic-bezier(.2,.7,.2,1) both}
.fhero__title em{color:var(--accent-on-dark)}
.fhero__lead{max-width:33em;margin-top:26px;color:var(--on-dark-muted);font-size:1.14rem}
.fhero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.fhero__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:46px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.12)}
.fhero__facts li{padding:18px 16px 0 0}
.fhero__facts li+li{padding-left:18px;border-left:1px solid rgba(255,255,255,.12)}
.fhero__facts strong{display:block;font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,3.4vw,2.9rem);line-height:1;color:#fff}
.fhero__facts span{display:block;margin-top:4px;font-size:.86rem;color:var(--on-dark-muted);line-height:1.35}
.fhero__visual{position:relative;max-width:560px;width:100%;justify-self:center;margin-top:32px}
.fhero__photo{position:relative;margin:0;aspect-ratio:4/5;clip-path:var(--gable);background:var(--dark-3)}
.fhero__img{width:100%;height:100%;object-fit:cover;animation:ftzoom 1.6s cubic-bezier(.2,.7,.2,1) both}
.fhero__pitch{position:absolute;left:0;top:-30px;width:100%;height:auto;overflow:visible;pointer-events:none}
.fhero__pitch-roof{fill:none;stroke:rgba(233,236,236,.55);stroke-width:1.5;stroke-dasharray:6 6}
.fhero__pitch-arc{fill:none;stroke:var(--accent-on-dark);stroke-width:2.5}
.fhero__pitch-dim{display:none}
.fhero__pitch-t{position:absolute;left:6%;top:9%;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-on-dark);transform:rotate(-36.87deg);transform-origin:left bottom;white-space:nowrap}
.fhero__diag{position:relative;margin:-90px 18px 0;padding:22px 22px 14px;background:var(--surface);color:var(--ink);border-top:5px solid var(--accent);box-shadow:0 30px 60px rgba(8,12,15,.4)}
@media (min-width:1024px){.fhero__diag{position:absolute;left:-64px;bottom:-56px;width:300px;margin:0}}
.fhero__diag-t{font-family:var(--font-display);font-weight:800;font-size:1.5rem;line-height:1}
.fhero__diag ul{margin:10px 0 0;padding:0;list-style:none}
.fhero__diag a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;border-top:1px solid var(--line);font-size:.93rem;font-weight:600;text-decoration:none;transition:color .2s}
.fhero__diag li:first-child a{border-top:0}
.fhero__diag a .ico{color:var(--accent-text);transition:transform .25s}
.fhero__diag a:hover{color:var(--accent-text)}
.fhero__diag a:hover .ico{transform:translateX(4px)}

/* ---------- Engagements ---------- */
.ftr{padding:62px 0 34px}
.ftr__list{display:grid;gap:22px 28px;margin:0;padding:0;list-style:none}
@media (min-width:640px){.ftr__list{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.ftr__list{grid-template-columns:repeat(4,1fr)}}
.ftr__item{display:flex;gap:14px;align-items:flex-start}
.ftr__ico{display:grid;place-items:center;width:46px;height:46px;flex:none;background:var(--dark);color:var(--accent-on-dark);clip-path:var(--gable)}
.ftr__ico .ico{width:20px;height:20px;margin-top:6px}
.ftr__t{display:block;font-family:var(--font-display);font-weight:800;font-size:1.35rem;line-height:1.05}
.ftr__p{display:block;margin-top:3px;font-size:.92rem;color:var(--muted);line-height:1.45}

/* ---------- Coupe de toit (signature) ---------- */
.fcp{background:var(--bg-2)}
.fcp__head{max-width:44rem;margin-bottom:40px}
.fcp__head .ft-lead{margin-top:16px}
.fcp__stage{display:grid;gap:32px;align-items:start}
@media (min-width:1024px){.fcp__stage{grid-template-columns:1.45fr .85fr;gap:48px}}
.fcp__fig{margin:0;padding:clamp(10px,2vw,24px);background:var(--surface);border:1px solid var(--line)}
.fcp__svg{display:block;width:100%;height:auto;overflow:visible}
.fcp__cap{margin-top:8px;font-size:.82rem;color:var(--muted)}
.cp-ground{stroke:var(--ink);stroke-width:2}
.cp-wall{fill:var(--ink-2)}
.cp-room{fill:var(--bg)}
.cp-floor{fill:var(--zinc)}
.cp-wool{fill:url(#cp-wool)}
.cp-wool-bg{fill:#E6C77E}
.cp-wool-l{fill:none;stroke:#C9A24F;stroke-width:1.6}
.cp-king,.cp-strut{stroke:var(--wood);stroke-width:9;stroke-linecap:square}
.cp-strut{stroke-width:7}
.cp-rafter{fill:var(--wood)}
.cp-cut{stroke:var(--wood-2);stroke-width:2}
.cp-tiles{fill:var(--slate)}
.cp-tiles--r{fill:#46535D}
.cp-screen{fill:var(--membrane)}
.cp-batten{fill:var(--wood-2)}
.cp-chimney{fill:var(--brick)}
.cp-chimney-cap{fill:var(--ink-2)}
.cp-flash{fill:#A9B4BA}
.cp-ridge{fill:var(--ink)}
.cp-gutter,.cp-pipe{fill:#A9B4BA}
.cp-angle{fill:none;stroke:var(--accent-text);stroke-width:2.5}
.cp-angle-t{font-family:var(--font-display);font-weight:800;font-size:24px;fill:var(--accent-text)}
.fcp__hs{cursor:pointer;outline:none}
.fcp__hs-ring{fill:var(--accent);opacity:.22;transform-box:fill-box;transform-origin:center;animation:fthalo 2.4s infinite}
.fcp__hs-dot{fill:var(--accent);stroke:var(--surface);stroke-width:3;transition:fill .2s}
.fcp__hs-n{font-family:var(--font-display);font-weight:900;font-size:17px;text-anchor:middle;fill:var(--accent-ink);pointer-events:none}
.fcp__hs:hover .fcp__hs-dot,.fcp__hs:focus-visible .fcp__hs-dot{fill:var(--ink)}
.fcp__hs:hover .fcp__hs-n,.fcp__hs:focus-visible .fcp__hs-n{fill:#fff}
.fcp__hs:focus-visible .fcp__hs-ring{opacity:1;fill:none;stroke:var(--ink);stroke-width:3;animation:none}
.fcp__list{margin:0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.fcp__item a{display:grid;grid-template-columns:38px 1fr;column-gap:14px;padding:14px 10px 14px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:background-color .2s,padding .25s}
.fcp__n{grid-row:span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--font-display);font-weight:900;font-size:1.1rem;transition:background-color .2s}
.fcp__t{font-family:var(--font-display);font-weight:800;font-size:1.4rem;line-height:1.1}
.fcp__p{font-size:.9rem;line-height:1.45;color:var(--muted)}
.fcp__item a:hover,.fcp__item a:focus-visible{background:var(--surface);padding-left:10px}
.fcp__item a:hover .fcp__n,.fcp__item a:focus-visible .fcp__n{background:var(--accent);color:var(--accent-ink)}
.fcp:has(.fcp__item--1 a:hover) .fcp__hs--1 .fcp__hs-dot,.fcp:has(.fcp__item--2 a:hover) .fcp__hs--2 .fcp__hs-dot,.fcp:has(.fcp__item--3 a:hover) .fcp__hs--3 .fcp__hs-dot,.fcp:has(.fcp__item--4 a:hover) .fcp__hs--4 .fcp__hs-dot,.fcp:has(.fcp__item--5 a:hover) .fcp__hs--5 .fcp__hs-dot,.fcp:has(.fcp__item--6 a:hover) .fcp__hs--6 .fcp__hs-dot,.fcp:has(.fcp__item--7 a:hover) .fcp__hs--7 .fcp__hs-dot{fill:var(--ink)}
.fcp:has(.fcp__hs--1:hover) .fcp__item--1 a,.fcp:has(.fcp__hs--2:hover) .fcp__item--2 a,.fcp:has(.fcp__hs--3:hover) .fcp__item--3 a,.fcp:has(.fcp__hs--4:hover) .fcp__item--4 a,.fcp:has(.fcp__hs--5:hover) .fcp__item--5 a,.fcp:has(.fcp__hs--6:hover) .fcp__item--6 a,.fcp:has(.fcp__hs--7:hover) .fcp__item--7 a{background:var(--surface);padding-left:10px}
.fcp:has(.fcp__hs--1:hover) .fcp__item--1 .fcp__n,.fcp:has(.fcp__hs--2:hover) .fcp__item--2 .fcp__n,.fcp:has(.fcp__hs--3:hover) .fcp__item--3 .fcp__n,.fcp:has(.fcp__hs--4:hover) .fcp__item--4 .fcp__n,.fcp:has(.fcp__hs--5:hover) .fcp__item--5 .fcp__n,.fcp:has(.fcp__hs--6:hover) .fcp__item--6 .fcp__n,.fcp:has(.fcp__hs--7:hover) .fcp__item--7 .fcp__n{background:var(--accent);color:var(--accent-ink)}
@media (min-width:1024px){.fcp__list{display:block}}
@media (min-width:640px) and (max-width:1023px){.fcp__list{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}}
.fcp--compact{background:var(--bg)}

/* ---------- Travaux (accueil) ---------- */
.fsv__grid{display:grid;gap:18px;margin:0;padding:0;list-style:none}
@media (min-width:640px){.fsv__grid{grid-template-columns:1fr 1fr}.fsv__card--big,.fsv__card--alert{grid-column:span 2}}
@media (min-width:1024px){.fsv__grid{grid-template-columns:repeat(4,1fr)}.fsv__card--big{grid-column:span 2;grid-row:span 2}.fsv__card--alert{grid-column:span 2}}
.fsv__card a{position:relative;display:flex;flex-direction:column;height:100%;background:var(--surface);text-decoration:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.fsv__card a:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(22,29,34,.14)}
.fsv__img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;clip-path:var(--gable-low);background:var(--bg-2)}
.fsv__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.fsv__card a:hover .fsv__img img{transform:scale(1.05)}
.fsv__card--big .fsv__img{flex:1;aspect-ratio:auto;min-height:280px}
.fsv__body{display:flex;flex-direction:column;gap:6px;padding:20px 22px 24px}
.fsv__n{font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:.12em;color:var(--accent-text)}
.fsv__t{font-family:var(--font-display);font-weight:800;font-size:1.7rem;line-height:1}
.fsv__card--big .fsv__t{font-size:clamp(2rem,3.4vw,2.8rem)}
.fsv__p{font-size:.93rem;line-height:1.5;color:var(--muted)}
.fsv__more{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:10px;font-weight:700;font-size:.88rem;color:var(--accent-text)}
.fsv__more .ico{transition:transform .25s}
.fsv__card a:hover .fsv__more .ico{transform:translateX(4px)}
.fsv__card--alert a{justify-content:flex-end;min-height:220px;background:var(--dark);color:#F2F4F4;overflow:hidden}
.fsv__card--alert a::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(105deg,transparent 0 16px,rgba(255,255,255,.05) 16px 17px)}
.fsv__card--alert .fsv__body{position:relative}
.fsv__card--alert .fsv__n,.fsv__card--alert .fsv__more{color:var(--accent-on-dark)}
.fsv__card--alert .fsv__t{font-size:clamp(2rem,3.4vw,2.6rem)}
.fsv__card--alert .fsv__p{color:var(--on-dark-muted)}

/* ---------- Intempéries ---------- */
.fur{position:relative;padding:clamp(72px,9vw,120px) 0;overflow:hidden;background:linear-gradient(170deg,#10161A 0%,#1C252C 60%,#232E36 100%);color:#F2F4F4}
.fur__rain{position:absolute;inset:-40px;background:repeating-linear-gradient(105deg,transparent 0 22px,rgba(200,215,225,.07) 22px 23px);animation:ftrain 1.4s linear infinite}
.fur__in{position:relative;display:grid;gap:48px;align-items:center}
@media (min-width:1024px){.fur__in{grid-template-columns:1.1fr .9fr;gap:72px}}
.fur__alert{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;padding:7px 14px;border:1.5px solid var(--accent-on-dark);border-radius:2px;color:var(--accent-on-dark);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.fur__pulse{width:8px;height:8px;border-radius:50%;background:var(--accent-on-dark);animation:ftpulse 1.6s infinite}
.fur__title{font-size:clamp(2.6rem,5.4vw,4.8rem);color:#fff}
.fur__title em{color:var(--accent-on-dark)}
.fur__p{max-width:34em;margin-top:20px;color:var(--on-dark-muted);font-size:1.08rem}
.fur__tl{display:grid;gap:18px;margin:36px 0 0;padding:0;list-style:none}
@media (min-width:640px){.fur__tl{grid-template-columns:repeat(3,1fr)}}
.fur__tl li{padding-top:14px;border-top:3px solid var(--accent-on-dark)}
.fur__when{display:block;font-family:var(--font-display);font-weight:800;font-size:1.6rem;line-height:1;color:#fff}
.fur__what{display:block;margin-top:6px;font-size:.9rem;color:var(--on-dark-muted);line-height:1.45}
.fur__call{padding:clamp(26px,4vw,40px);background:rgba(10,14,17,.55);border:1px solid rgba(255,255,255,.1)}
.fur__label{font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-muted)}
.fur__phone{display:block;margin-top:6px;font-family:var(--font-display);font-weight:900;font-size:clamp(2.8rem,6vw,4.4rem);line-height:1;color:#fff;text-decoration:none;white-space:nowrap}
.fur__phone:hover{color:var(--accent-on-dark)}
.fur__note{margin-top:8px;color:var(--on-dark-muted);font-size:.92rem}
.fur__cases{display:grid;gap:8px;margin:22px 0 0;padding:20px 0 0;list-style:none;border-top:1px solid rgba(255,255,255,.1)}
@media (min-width:480px){.fur__cases{grid-template-columns:1fr 1fr}}
.fur__cases li{display:flex;gap:8px;align-items:flex-start;font-size:.92rem}
.fur__cases .ico{color:var(--accent-on-dark);margin-top:2px}
.fur__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}

/* ---------- Réalisations à la une ---------- */
.fpb__main{display:grid;gap:0;background:var(--surface);box-shadow:0 30px 60px rgba(22,29,34,.1)}
@media (min-width:1024px){.fpb__main{grid-template-columns:1.6fr 1fr}}
.fpb__ba,.fpb__img{aspect-ratio:4/3;height:100%;min-height:100%}
.fpb__img img{width:100%;height:100%;object-fit:cover}
.fpb__sheet{position:relative;padding:clamp(24px,3.4vw,40px);border-top:6px solid var(--accent)}
@media (min-width:1024px){.fpb__sheet{border-top:0;border-left:6px solid var(--accent)}}
.fpb__tag{display:inline-block;margin-bottom:16px;padding:4px 10px;background:var(--dark);color:#F2F4F4;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.fpb__meta{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text)}
.fpb__t{margin-top:8px;font-size:clamp(1.9rem,3vw,2.5rem);line-height:.95}
.fpb__p{margin-top:14px;color:var(--muted);font-size:.97rem}
.fpb__sheet .ft-specs{grid-template-columns:repeat(3,minmax(0,1fr))}
.fpb__hint{display:flex;align-items:center;gap:6px;margin-top:16px;font-size:.84rem;color:var(--muted)}
.fpb__more{display:grid;gap:18px;margin:26px 0 0;padding:0;list-style:none}
@media (min-width:640px){.fpb__more{grid-template-columns:repeat(3,1fr)}}
.fpb__card a{display:block;text-decoration:none}
.fpb__thumb{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--bg-2);border-top:4px solid var(--ink)}
.fpb__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.fpb__card a:hover img{transform:scale(1.05)}
.fpb__card .fpb__meta{display:block;margin-top:14px}
.fpb__ct{display:block;margin-top:4px;font-family:var(--font-display);font-weight:800;font-size:1.5rem;line-height:1.02}
.fpb__card a:hover .fpb__ct{color:var(--accent-text)}
.fpb__all{margin-top:40px;text-align:center}

/* ---------- Tous les chantiers ---------- */
.fpg__filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.fpg__f{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:700 .9rem var(--font-body);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.fpg__f span{font-size:.78rem;color:var(--muted)}
.fpg__f:hover{border-color:var(--ink)}
.fpg__f[aria-pressed=true]{background:var(--dark);border-color:var(--dark);color:#fff}
.fpg__f[aria-pressed=true] span{color:var(--on-dark-muted)}
.fpg__list{display:grid;gap:28px;margin:0;padding:0;list-style:none}
@media (min-width:900px){.fpg__list{grid-template-columns:1fr 1fr}}
.fpg__item{display:flex;flex-direction:column;background:var(--surface);scroll-margin-top:150px}
.fpg__ba,.fpg__img{aspect-ratio:4/3}
.fpg__img img{width:100%;height:100%;object-fit:cover}
.fpg__body{flex:1;padding:24px 26px 28px;border-top:5px solid var(--ink)}
.fpg__no{margin-right:6px;padding:2px 6px;background:var(--ink);color:#fff;letter-spacing:.06em}
.fpg__t{margin-top:10px;font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1}
.fpg__p{margin-top:10px;color:var(--muted);font-size:.96rem}

/* ---------- Méthode (pente) ---------- */
.fst{background:var(--dark-2);color:#F2F4F4;overflow:hidden}
.fst .ft-h2{color:#fff}
.fst .ft-h2 em{color:var(--accent-on-dark)}
.fst .ft-lead{color:var(--on-dark-muted)}
.fst__list{position:relative;display:grid;gap:26px;margin:0;padding:0 0 0 26px;list-style:none;border-left:2px solid rgba(255,255,255,.12)}
.fst__item{position:relative}
.fst__item::before{content:"";position:absolute;left:-34px;top:12px;width:14px;height:14px;background:var(--accent-on-dark);clip-path:polygon(50% 0,100% 100%,0 100%)}
.fst__n{display:block;font-family:var(--font-display);font-weight:900;font-size:3.2rem;line-height:.9;color:transparent;-webkit-text-stroke:1.5px var(--accent-on-dark)}
.fst__t{margin-top:6px;font-size:1.7rem;line-height:1;color:#fff}
.fst__p{margin-top:8px;font-size:.93rem;color:var(--on-dark-muted);line-height:1.5}
.fst__time{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-on-dark)}
@media (min-width:1024px){
  .fst__list{grid-template-columns:repeat(5,1fr);gap:20px;padding:0;border:0;align-items:end}
  .fst__item{padding:20px 16px 0 0;border-top:3px solid var(--accent-on-dark);background:var(--dark-2)}
  .fst__item::before{display:none}
  .fst__list{padding-top:180px}
  .fst__item--2{position:relative;top:-45px}
  .fst__item--3{position:relative;top:-90px}
  .fst__item--4{position:relative;top:-135px}
  .fst__item--5{position:relative;top:-180px}
}

/* ---------- Avis (ardoises) ---------- */
.fte{background:var(--bg-2)}
.fte__side{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.fte__score{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.fte__score strong{font-family:var(--font-display);font-weight:900;font-size:3.4rem;line-height:1}
.fte__score > span:last-child{width:100%;font-size:.84rem;color:var(--muted)}
.fte__stars,.fte__rating{display:inline-flex;gap:2px;color:var(--accent-text)}
.fte__stars .ico,.fte__rating .ico{width:18px;height:18px;fill:currentColor}
.fte__nav{display:flex;gap:8px}
.fte__btn{display:grid;place-items:center;width:52px;height:52px;border:1.5px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:background-color .2s,color .2s}
.fte__btn:hover{background:var(--ink);color:#fff}
.fte__btn .ico{transform:rotate(180deg)}
.fte__btn--next .ico{transform:none}
.fte__viewport{position:relative;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 max(1.25rem,calc((100vw - var(--wrap)) / 2)) 20px}
.fte__viewport::-webkit-scrollbar{display:none}
.fte__viewport:focus-visible{outline-offset:-3px}
.fte__list{display:flex;gap:16px;margin:0;padding:0;list-style:none;width:max-content}
.fte__item{position:relative;display:flex;flex-direction:column;width:min(400px,82vw);padding:30px 30px 64px;scroll-snap-align:start;background:linear-gradient(160deg,#2A353C,#1B2328);color:#F2F4F4;clip-path:polygon(0 0,100% 0,100% 88%,50% 100%,0 88%)}
.fte__rating{color:var(--accent-on-dark)}
.fte__q{margin:14px 0 0;font-size:1.05rem;line-height:1.55}
.fte__who{margin-top:auto;padding-top:22px}
.fte__who strong{display:block;font-family:var(--font-display);font-weight:800;font-size:1.3rem}
.fte__who span{font-size:.86rem;color:var(--on-dark-muted)}
.fte__item .ft-tag-example{align-self:flex-start}

/* ---------- FAQ ---------- */
.ffq__in{display:grid;gap:40px}
@media (min-width:1024px){.ffq__in{grid-template-columns:.8fr 1.2fr;gap:72px}.ffq__head{position:sticky;top:150px;align-self:start}}
.ffq__head .ft-lead{margin-top:16px}
.ffq__call{margin-top:24px;font-weight:600}
.ffq__call a{color:var(--accent-text);font-family:var(--font-display);font-weight:800;font-size:1.4rem;text-decoration:none;white-space:nowrap}
.ffq__list{border-top:2px solid var(--ink)}
.ffq__item{border-bottom:1px solid var(--line)}
.ffq__item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:16px 0;cursor:pointer;list-style:none}
.ffq__item summary::-webkit-details-marker{display:none}
.ffq__q{font-family:var(--font-display);font-weight:800;font-size:1.55rem;line-height:1.05}
.ffq__plus{position:relative;width:34px;height:34px;flex:none;border:1.5px solid var(--ink);border-radius:50%;transition:background-color .2s,transform .35s}
.ffq__plus::before{content:"";position:absolute;left:50%;top:50%;width:14px;height:8px;margin:-4px 0 0 -7px;background:var(--ink);clip-path:polygon(0 0,50% 100%,100% 0,82% 0,50% 60%,18% 0)}
.ffq__item[open] .ffq__plus{transform:rotate(180deg);background:var(--ink)}
.ffq__item[open] .ffq__plus::before{background:#fff}
.ffq__item summary:hover .ffq__q{color:var(--accent-text)}
.ffq__a{padding:0 50px 22px 0;color:var(--muted)}
.ffq__a p+p{margin-top:10px}

/* ---------- Bandeau devis ---------- */
.fqb{position:relative;overflow:hidden;padding:clamp(64px,8vw,104px) 0;background:var(--accent);color:var(--accent-ink)}
.fqb__roof{position:absolute;right:-60px;bottom:-30px;width:min(640px,90vw);height:auto;fill:none;stroke:currentColor;stroke-width:2;opacity:.16}
.fqb__in{position:relative;display:grid;gap:36px;align-items:end}
@media (min-width:1024px){.fqb__in{grid-template-columns:1fr 1fr;gap:72px}}
.fqb__title{font-size:clamp(2.8rem,6vw,5.2rem);color:inherit}
.fqb__title em{color:inherit;text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:8px}
.fqb__p{max-width:30em;margin-top:18px;font-size:1.08rem}
.fqb__label{font-weight:700;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
.fqb__chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none}
.fqb__chips a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid currentColor;border-radius:var(--radius);font-weight:600;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.fqb__chips a:hover{background:var(--dark);border-color:var(--dark);color:#fff}
.fqb__btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:26px}
.fqb__phone{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:800;font-size:1.6rem;text-decoration:none;color:inherit}

/* ---------- En-tête des pages intérieures ---------- */
.fph{position:relative;background:var(--dark);color:#F2F4F4;padding:clamp(36px,5vw,64px) 0 clamp(56px,6vw,84px)}
.fph::after{content:""}
.fph::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 90% 100%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 70%)}
.fph--storm::before{background:repeating-linear-gradient(105deg,transparent 0 22px,rgba(200,215,225,.06) 22px 23px),linear-gradient(170deg,#10161A,#1F2930)}
.fph__in{position:relative;display:grid;gap:36px;align-items:end}
@media (min-width:1024px){.fph__in{grid-template-columns:1.1fr .9fr;gap:64px}}
.fph__crumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;font-size:.84rem;color:var(--on-dark-muted)}
.fph__crumb a{color:var(--on-dark-muted);text-decoration:none}
.fph__crumb a:hover{color:#fff;text-decoration:underline}
.fph__crumb [aria-current]{color:#F2F4F4}
.fph__title{font-size:clamp(3rem,7vw,6.2rem);line-height:.86;color:#F6F7F7}
.fph__title em{color:var(--accent-on-dark)}
.fph__lead{max-width:34em;margin-top:20px;color:var(--on-dark-muted);font-size:1.1rem}
.fph__call{margin-top:28px}
.fph__photo{margin:0;aspect-ratio:16/11;clip-path:var(--gable-low);background:var(--dark-3)}
.fph__img{width:100%;height:100%;object-fit:cover}

/* ---------- Page travaux ---------- */
.fsd{padding-top:56px}
.fsd__toc{margin-bottom:clamp(40px,6vw,72px)}
.fsd__toc ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.fsd__toc a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);font-weight:600;font-size:.92rem;text-decoration:none;transition:border-color .2s,background-color .2s,color .2s}
.fsd__toc a span{font-family:var(--font-display);font-weight:800;color:var(--accent-text)}
.fsd__toc a:hover{background:var(--dark);border-color:var(--dark);color:#fff}
.fsd__toc a:hover span{color:var(--accent-on-dark)}
.fsd__item{display:grid;gap:30px;align-items:center;padding:clamp(36px,5vw,64px) 0;border-top:1px solid var(--line);scroll-margin-top:150px}
@media (min-width:1024px){.fsd__item{grid-template-columns:1fr 1fr;gap:72px}.fsd__item:nth-of-type(even) .fsd__photo{order:2}}
.fsd__photo{position:relative;margin:0;aspect-ratio:5/4;clip-path:var(--gable-low);background:var(--bg-2)}
.fsd__photo img{width:100%;height:100%;object-fit:cover}
.fsd__n{position:absolute;left:18px;bottom:6px;font-family:var(--font-display);font-weight:900;font-size:clamp(5rem,10vw,8rem);line-height:.8;color:#fff;opacity:.92;text-shadow:0 6px 24px rgba(0,0,0,.25)}
.fsd__t{font-size:clamp(2.4rem,4.6vw,3.8rem)}
.fsd__p{margin-top:14px;color:var(--muted)}
.fsd__tasks{display:grid;gap:8px;margin:22px 0 0;padding:0;list-style:none}
@media (min-width:640px){.fsd__tasks{grid-template-columns:1fr 1fr}}
.fsd__tasks li{display:flex;gap:8px;align-items:flex-start;font-size:.95rem;font-weight:500}
.fsd__tasks .ico{color:var(--accent-text);margin-top:3px}
.fsd__facts{grid-template-columns:1fr 1fr}
.fsd__price{margin:18px 0 22px;padding:12px 16px;border-left:4px solid var(--zinc);background:var(--surface);font-size:.9rem;color:var(--muted)}

/* ---------- Urgence : bons réflexes ---------- */
.fsm__cols{display:grid;gap:20px}
@media (min-width:1024px){.fsm__cols{grid-template-columns:1.1fr 1fr .8fr}}
.fsm__col,.fsm__ins{padding:clamp(24px,3vw,34px);background:var(--surface);border-top:5px solid var(--ink)}
.fsm__col--dont{border-top-color:var(--accent)}
.fsm__h{display:flex;align-items:center;gap:10px;font-size:1.9rem;line-height:1}
.fsm__col--do .fsm__h .ico{color:#2F7A4A}
.fsm__col--dont .fsm__h .ico{color:var(--accent-text)}
.fsm__list{display:grid;gap:12px;margin:20px 0 0;padding:0;list-style:none}
.fsm__list li{display:flex;gap:12px;align-items:flex-start;font-size:.97rem}
.fsm__list li span{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--font-display);font-weight:800;font-size:.95rem}
.fsm__col--dont .fsm__list li span{background:var(--accent);color:var(--accent-ink);font-family:var(--font-body);font-size:.8rem}
.fsm__ins{background:var(--dark);color:#F2F4F4;border-top-color:var(--accent-on-dark)}
.fsm__ins p{margin-top:12px;color:var(--on-dark-muted);font-size:.95rem}
.fsm__ins-ico{display:grid;place-items:center;width:48px;height:48px;margin-bottom:16px;background:var(--accent);color:var(--accent-ink);clip-path:var(--gable)}
.fsm__ins-ico .ico{margin-top:6px}
.fsm__note{margin-top:22px;font-size:.88rem;color:var(--muted)}

/* ---------- L'entreprise ---------- */
.fab__in{display:grid;gap:40px;align-items:center}
@media (min-width:1024px){.fab__in{grid-template-columns:.85fr 1.15fr;gap:80px}}
.fab__photo{margin:0}
.fab__photo picture,.fab__img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;clip-path:var(--gable)}
.fab__cap{margin-top:10px;font-size:.84rem;color:var(--muted)}
.fab__p{margin-top:14px;color:var(--muted)}
.fab__body .ft-h2{margin-bottom:6px}
.fab__quote{margin:28px 0 0;padding:6px 0 6px 22px;border-left:5px solid var(--accent)}
.fab__quote p{font-family:var(--font-display);font-weight:800;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.02}
.fab__quote footer{margin-top:8px;font-size:.86rem;color:var(--muted)}
.fab__figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:30px 0 0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.fab__figs li{padding:16px 12px 0 0}
.fab__figs strong{display:block;font-family:var(--font-display);font-weight:900;font-size:clamp(2.2rem,4vw,3rem);line-height:1}
.fab__figs span{font-size:.86rem;color:var(--muted)}
.fab__team-t{margin-top:clamp(56px,7vw,90px);font-size:2.2rem}
.fab__team{display:grid;gap:14px;margin:22px 0 0;padding:0;list-style:none}
@media (min-width:640px){.fab__team{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.fab__team{grid-template-columns:repeat(5,1fr)}}
.fab__team li{display:flex;align-items:center;gap:14px;padding:14px;background:var(--surface)}
.fab__init{display:grid;place-items:center;width:52px;height:60px;flex:none;padding-top:8px;background:var(--dark);color:var(--accent-on-dark);font-family:var(--font-display);font-weight:900;font-size:1.6rem;clip-path:var(--gable)}
.fab__team strong{display:block;font-family:var(--font-display);font-weight:800;font-size:1.25rem;line-height:1.05}
.fab__team span span,.fab__team li > span:last-child > span{font-size:.84rem;color:var(--muted)}

/* ---------- Garanties ---------- */
.fgu{background:var(--bg-2)}
.fgu__list{display:grid;gap:18px;margin:0;padding:0;list-style:none}
@media (min-width:640px){.fgu__list{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.fgu__list{grid-template-columns:repeat(4,1fr)}}
.fgu__item{position:relative;padding:28px 24px;background:var(--surface);overflow:hidden}
.fgu__n{position:absolute;right:14px;top:6px;font-family:var(--font-display);font-weight:900;font-size:4rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--line)}
.fgu__ico{display:grid;place-items:center;width:50px;height:50px;background:var(--dark);color:var(--accent-on-dark);clip-path:var(--gable)}
.fgu__ico .ico{margin-top:7px}
.fgu__t{margin-top:18px;font-size:1.65rem;line-height:1}
.fgu__p{margin-top:8px;font-size:.93rem;color:var(--muted)}

/* ---------- Devis & contact ---------- */
.fqs,.fco{background:var(--dark);color:#F2F4F4}
.fqs{padding-top:clamp(36px,5vw,64px)}
.fco{padding-top:clamp(36px,5vw,64px)}
.fqs::before,.fco::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 50% at 0% 100%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%)}
.fqs__in,.fco__in{position:relative;display:grid;gap:40px;align-items:start}
@media (min-width:1024px){.fqs__in,.fco__in{grid-template-columns:.9fr 1.1fr;gap:72px}.fqs__side{position:sticky;top:150px}}
.fqs__title{font-size:clamp(3rem,6.4vw,5.6rem);line-height:.86;color:#F6F7F7}
.fqs__title em{color:var(--accent-on-dark)}
.fqs__lead{max-width:32em;margin-top:18px;color:var(--on-dark-muted);font-size:1.08rem}
.fqs__next-t{margin-top:34px;font-family:var(--font-display);font-weight:800;font-size:1.5rem}
.fqs__next{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}
.fqs__next li{display:flex;gap:12px;align-items:center;color:var(--on-dark-muted)}
.fqs__next li span{display:grid;place-items:center;width:30px;height:34px;flex:none;padding-top:6px;background:var(--accent);color:var(--accent-ink);font-family:var(--font-display);font-weight:900;clip-path:var(--gable)}
.fqs__call{display:inline-flex;align-items:center;gap:14px;margin-top:32px;padding:14px 20px 14px 14px;border:1.5px solid rgba(255,255,255,.18);text-decoration:none;color:#fff;font-family:var(--font-display);font-weight:800;font-size:1.7rem;line-height:1;transition:border-color .2s}
.fqs__call:hover{border-color:var(--accent-on-dark)}
.fqs__call .ico{width:40px;height:40px;padding:10px;border-radius:50%;background:var(--accent);color:var(--accent-ink)}
.fqs__call small{display:block;margin-bottom:4px;font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-muted)}
.fqs__form,.fco__form{position:relative;padding:clamp(24px,4vw,44px);background:var(--surface);color:var(--ink);box-shadow:0 30px 70px rgba(5,8,10,.4)}
.fqs__form::before,.fco__form::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;background:var(--accent);clip-path:polygon(0 100%,50% 0,100% 100%)}
.fqs__form-t{margin-bottom:20px;font-family:var(--font-display);font-weight:800;font-size:2rem;line-height:1}
.fco__form-p{margin:-8px 0 20px;color:var(--muted);font-size:.93rem}
.fco__form-p a{color:var(--accent-text);font-weight:600}
.fco__list{display:grid;gap:22px;margin:32px 0 0;padding:0;list-style:none}
.fco__list > li{display:flex;gap:14px;align-items:flex-start}
.fco__list small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-muted)}
.fco__list a{color:#fff}
.fco__ico{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1.5px solid rgba(255,255,255,.18);border-radius:50%;color:var(--accent-on-dark)}
.fco__big{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,4vw,2.8rem);line-height:1.05;text-decoration:none}
.fco__hours{margin-top:10px}
.fco__em{display:block;margin-top:8px;color:var(--accent-on-dark)}
.fco__zone{position:relative;margin-top:clamp(56px,7vw,96px);padding-top:clamp(40px,5vw,56px);border-top:1px solid rgba(255,255,255,.12)}
.fco__zone .ft-h2{color:#fff}
.fco__zone .ft-h2 em{color:var(--accent-on-dark)}
.fco__zone .ft-lead{margin-top:12px;color:var(--on-dark-muted)}
.fco__areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;margin:28px 0 0;padding:0;list-style:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1)}
.fco__areas li{padding:16px 18px;background:var(--dark)}
.fco__areas strong{display:block;font-family:var(--font-display);font-weight:800;font-size:1.35rem}
.fco__areas span{font-size:.84rem;color:var(--on-dark-muted)}

/* Formulaires (moteur) */
.sform__field label,.sform__label{font-weight:700;font-size:.88rem}
.sform__field input,.sform__field textarea,.sform__field select{border:1.5px solid var(--line);background:#fff;color:var(--ink);font:inherit}
.sform__field select{width:100%;min-height:50px;padding:.7em .9em;border-radius:var(--radius)}
.sform__field input:focus,.sform__field textarea:focus,.sform__field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.sform__err{color:#B3261E;font-weight:600}
.chip span{border:1.5px solid var(--line);background:#fff;font-weight:600}
.sform__progress li{font-weight:600}
.sform__progress-n{font-family:var(--font-display);font-size:1.2rem}
.sform__submit,.sform__nav button,.sform__foot button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border:2px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font-family:var(--font-display);font-weight:800;font-size:1.15rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.sform__submit:hover,.sform__nav button:hover,.sform__foot button:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.sform__prev{background:transparent!important;color:var(--ink)!important;border-color:var(--line)!important}
.sform__prev:hover{border-color:var(--ink)!important}
.sform__status{color:var(--ink)}

/* ---------- Pied de page ---------- */
.ff{position:relative;margin-top:16px;background:var(--dark);color:var(--on-dark-muted);padding:clamp(56px,7vw,88px) 0 110px;font-size:.95rem}
.ff__roof{position:absolute;left:0;right:0;top:-15px;height:16px;background:radial-gradient(circle at 50% 100%,var(--dark) 11px,transparent 11.5px) 0 0/24px 16px repeat-x}
.ff__top{display:grid;gap:24px;padding-bottom:clamp(36px,5vw,56px);border-bottom:1px solid rgba(255,255,255,.1)}
@media (min-width:1024px){.ff__top{grid-template-columns:1.3fr .7fr;align-items:end}}
.ff__big{font-family:var(--font-display);font-weight:900;font-size:clamp(2.6rem,6vw,5rem);line-height:.88;color:#F6F7F7}
.ff__top-act{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
@media (min-width:1024px){.ff__top-act{justify-content:flex-end}}
.ff__phone{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,3.4vw,2.6rem);color:#fff;text-decoration:none;white-space:nowrap}
.ff__phone:hover{color:var(--accent-on-dark)}
.ff__grid{display:grid;gap:36px;padding:clamp(36px,5vw,56px) 0}
@media (min-width:640px){.ff__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.ff__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.ff__word{font-family:var(--font-display);font-weight:900;font-size:1.8rem;line-height:1;color:#fff;text-transform:uppercase}
.ff__desc{max-width:28em;margin-top:12px}
.ff__certs{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 0;padding:0;list-style:none}
.ff__certs li{padding:5px 10px;border:1px solid rgba(255,255,255,.18);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#E9ECEC}
.ff__demo{margin-top:8px;font-size:.78rem}
.ff__title{margin-bottom:14px;font-family:var(--font-display);font-weight:800;font-size:1.3rem;color:#fff;letter-spacing:.04em;text-transform:uppercase}
.ff__list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.ff__list a,.ff__link{color:var(--on-dark-muted);text-decoration:none}
.ff__list a:hover,.ff__link:hover{color:#fff;text-decoration:underline}
.ff p+p{margin-top:6px}
.ff__hours{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.ff__hours li{display:flex;justify-content:space-between;gap:12px}
.ff__hours li.is-today{color:#fff;font-weight:700}
.ff__hours li.is-closed span:last-child{opacity:.7}
.ff__note{margin-top:12px;color:var(--accent-on-dark);font-size:.88rem}
.ff__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.86rem}
.ff__nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.ff__nav a{color:var(--on-dark-muted);text-decoration:none;min-height:24px}
.ff__nav a:hover{color:#fff}

/* ---------- Mentions & 404 ---------- */
.legal{padding-top:64px}
.legal__in{max-width:760px}
.page-hero__title{font-size:clamp(2.8rem,6vw,4.6rem)}
.legal h2{margin-top:36px;font-size:1.9rem}
.legal p{margin-top:10px;color:var(--muted)}
.legal__demo{margin-top:18px;padding:12px 16px;border-left:4px solid var(--accent);background:var(--surface);color:var(--ink)!important}
.notfound{background:var(--dark);color:#F2F4F4;min-height:62vh;display:grid;align-items:center;overflow:hidden}
.notfound__in{position:relative;padding:40px 0 60px}
.notfound__in::before{content:"404";position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-weight:900;font-size:clamp(9rem,26vw,22rem);line-height:.8;color:transparent;-webkit-text-stroke:2px rgba(233,236,236,.12);pointer-events:none}
.notfound .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-on-dark)}
.notfound__title{position:relative;max-width:12em;font-size:clamp(3rem,7vw,6rem);line-height:.86;color:#fff}
.notfound__text{position:relative;max-width:30em;margin:20px 0 30px;color:var(--on-dark-muted);font-size:1.1rem}
.notfound .btn{position:relative;display:inline-flex;align-items:center;min-height:52px;padding:0 24px;background:var(--accent);color:var(--accent-ink);font-size:1.15rem;text-decoration:none}

/* ---------- Animations ---------- */
@keyframes ftrise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes ftzoom{from{transform:scale(1.08)}to{transform:none}}
@keyframes ftpulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent-on-dark) 60%,transparent)}100%{box-shadow:0 0 0 10px transparent}}
@keyframes fthalo{0%{transform:scale(.8);opacity:.45}100%{transform:scale(1.7);opacity:0}}
@keyframes ftrain{from{transform:translate3d(0,0,0)}to{transform:translate3d(-8px,24px,0)}}
@media (prefers-reduced-motion:reduce){
  .fhero__title,.fhero__img,.fur__rain,.fcp__hs-ring,.fur__pulse,.fh__nav a.is-alert::before,.fhm__list a.is-alert::before{animation:none}
  .fsv__card a,.fsv__img img,.fpb__thumb img{transition:none}
}

/* ---------- Mobile ---------- */
@media (max-width:899px){
  body{padding-bottom:84px}
  .ff{padding-bottom:120px}
}
@media (max-width:639px){
  .fhero__facts strong{font-size:1.8rem}
  .fhero__facts li{padding-right:8px}
  .fhero__facts li+li{padding-left:10px}
  .fhero__btns .ft-btn{flex:1 1 100%}
  .ft-specs,.fpb__sheet .ft-specs{grid-template-columns:1fr 1fr}
  .fur__phone{font-size:2.6rem}
  .ffq__q{font-size:1.3rem}
  .ffq__a{padding-right:0}
  .fsd__facts{grid-template-columns:1fr}
  .fab__figs strong{font-size:2rem}
  .fco__big,.fqs__call{font-size:1.6rem}
}
.fte__rating > span[aria-hidden],.fte__stars{display:inline-flex;gap:2px}
@media (max-width:639px){
  .fcp__hs-dot{r:24px}
  .fcp__hs-ring{display:none}
  .fcp__hs-n{font-size:26px;transform:translateY(3px)}
  .fhero__visual{margin-top:56px}
  .fhero__pitch-t{font-size:.8rem;top:7%}
}
