/* ==========================================================================
   escalier-broye.ch — « précision à chaque marche »
   Registre : cinématique sombre + split diagonal, glow ambre, chiffres fantômes.
   Aucune pilule flottante, aucun verre dépoli en carte de contenu, aucune masse floutée en fond.
   Le contenu ne dépend jamais du JS ni du scroll pour être visible.
   ========================================================================== */

@font-face {
  font-family: 'Hanken Grotesk';
  src: url('../fonts/hanken-grotesk-var.woff2') format('woff2-variations');
  font-weight: 400 800;
  font-display: swap;
}
@font-face {
  font-family: 'Instrument Serif';
  src: url('../fonts/instrument-serif.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Instrument Serif';
  src: url('../fonts/instrument-serif-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* ---- Tokens ---- */
:root {
  --nuit:      #0e0c09;
  --nuit-2:    #100d0a;
  --panneau:   #151310;
  --panneau-2: #1c1812;
  --ivoire:    #f5efe4;
  --ivoire-2:  #efe9da;
  --encre:     #1b1815;
  --encre-2:   #4a443c;

  --texte-clair:   #f5efe4;
  --texte-clair-2: #cfc6b6;
  --texte-clair-3: #9c9488;

  --or:      #f0c674;
  --or-2:    #d9a441;
  --bronze:  #c98a3a;
  --laiton:  #a8672c;

  --glass-brd: rgba(240,198,116,.28);
  --shadow-card:  0 18px 40px rgba(8,7,6,.35);
  --shadow-float: 0 26px 54px rgba(8,7,6,.45);
  --glow-soft: 0 0 40px 6px rgba(240,198,116,.25);

  --r-sm: 9px;
  --r-md: 14px;
  --r-lg: 22px;

  --section-y: clamp(3.5rem, 8vw, 6.5rem);
  --container: 74rem;
  --gutter: clamp(1.125rem, 4vw, 2rem);

  --f-titre: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
  --f-texte: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
  --f-accent: 'Instrument Serif', Georgia, serif;

  --fs-h1: clamp(2.1rem, 1.2rem + 3.4vw, 3.4rem);
  --fs-h2: clamp(1.55rem, 1.1rem + 1.8vw, 2.3rem);
  --fs-h3: 1.18rem;
  --fs-body: 1.0625rem;
  --fs-small: .9375rem;
  --fs-stat: clamp(2.1rem, 1.4rem + 2.6vw, 3rem);

  --z-header: 40;
  --z-nav: 50;
}

/* ---- Reset ---- */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family: var(--f-texte);
  font-size: var(--fs-body);
  line-height: 1.6;
  background: var(--ivoire);
  color: var(--encre);
  -webkit-font-smoothing: antialiased;
}
img { max-width:100%; display:block; }
a { color:inherit; }
button, input, select, textarea { font-family:inherit; font-size:inherit; }
ul { list-style:none; }
.accent { font-family: var(--f-accent); font-style:italic; font-weight:400; }

.skip-link {
  position:absolute; left:-999px; top:auto; background:var(--or); color:var(--encre);
  padding:12px 20px; border-radius:0 0 var(--r-sm) 0; z-index:100; font-weight:700; text-decoration:none;
}
.skip-link:focus { left:0; top:0; }

:focus-visible { outline:2.5px solid var(--or); outline-offset:2px; }

.wrap { max-width: var(--container); margin:0 auto; padding-inline: var(--gutter); }

/* ---- Header ---- */
.site-header {
  position: sticky; top:0; z-index: var(--z-header);
  background: rgba(14,12,9,.94);
  border-bottom: 1px solid rgba(240,198,116,.16);
  backdrop-filter: blur(8px);
}
.site-header::after {
  content:''; position:absolute; left:0; bottom:-1px; width:100%; height:1px;
  background: linear-gradient(90deg, transparent, var(--or) 35%, var(--or) 65%, transparent);
  opacity:.55;
}
.site-header .wrap { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:16px; position:relative; }
.logo { display:flex; align-items:center; gap:2px; font-weight:800; font-size:1.08rem; color:var(--texte-clair); text-decoration:none; white-space:nowrap; }
.logo .slash { color:var(--or); font-weight:400; margin-inline:1px; transform:skewX(-12deg); display:inline-block; }
.site-header nav[data-nav] { display:flex; align-items:center; gap:26px; font-size:.92rem; font-weight:600; color:var(--texte-clair-2); }
.site-header nav[data-nav] a { text-decoration:none; color:inherit; transition:color .15s ease; }
.site-header nav[data-nav] a:hover { color:var(--or); }
.cta-header {
  background: linear-gradient(135deg,var(--or),var(--bronze)); color:var(--encre); font-weight:800;
  padding:11px 20px; border-radius:99px; text-decoration:none; font-size:.9rem; white-space:nowrap;
  box-shadow:0 10px 22px rgba(240,198,116,.25);
}
.nav-toggle { display:none; background:none; border:none; color:var(--texte-clair); cursor:pointer; padding:6px; }
.nav-toggle .icone-fermer { display:none; }
.nav-toggle[aria-expanded="true"] .icone-menu { display:none; }
.nav-toggle[aria-expanded="true"] .icone-fermer { display:block; }

@media (max-width: 860px) {
  .site-header nav[data-nav] { display:none; }
  .site-header nav[data-nav].ouvert {
    display:flex; flex-direction:column; align-items:flex-start; gap:4px;
    position:absolute; top:100%; left:0; right:0; background:var(--nuit);
    padding: 10px var(--gutter) 22px; border-bottom:1px solid rgba(240,198,116,.16); font-size:1.02rem;
    max-height:80vh; overflow-y:auto;
  }
  .site-header nav[data-nav].ouvert a { width:100%; padding:12px 2px; border-bottom:1px solid rgba(255,255,255,.08); }
  .nav-toggle { display:block; }
}

/* ---- Hero interne (pages secondaires) ---- */
.hero-interne {
  background: radial-gradient(60% 55% at 80% 15%, rgba(240,198,116,.16), transparent 60%), var(--nuit);
  color: var(--texte-clair); padding-block: calc(var(--section-y) * .9) var(--section-y); position:relative; overflow:hidden;
}
.hero-interne::after {
  content:''; position:absolute; left:0; bottom:0; width:100%; height:3px;
  background:linear-gradient(90deg, transparent, var(--or), transparent); opacity:.5;
}
.breadcrumb { font-size:.85rem; color:var(--texte-clair-3); margin-bottom:18px; }
.breadcrumb a { text-decoration:none; color:var(--texte-clair-2); }
.breadcrumb a:hover { color:var(--or); }
.hero-interne .eyebrow, .eyebrow {
  font-family: var(--f-accent); font-style:italic; font-size:1.15rem; color:var(--or); display:block; margin-bottom:10px;
}
.hero-interne h1 { font-size: var(--fs-h1); font-weight:800; line-height:1.08; max-width:20ch; margin-bottom:18px; }
.hero-interne h1 .accent { color:var(--or); font-weight:400; }
.hero-interne p.lead { font-size:1.08rem; color:var(--texte-clair-2); max-width:56ch; line-height:1.55; }
.hero-interne .ctas { display:flex; gap:14px; flex-wrap:wrap; margin-top:26px; }

/* chip stat inline (jamais un historique inventé — coverage/service claims only) */
.chip-stat {
  display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.05); border:1px solid rgba(240,198,116,.25);
  border-radius:99px; padding:8px 16px; font-size:.85rem; font-weight:600; color:var(--texte-clair-2); margin-top:18px;
}
.chip-stat b { color:var(--or); font-weight:800; }

/* ---- Réassurance (bandeau de confiance statique) ---- */
.reassurance {
  background:var(--panneau); border-top:1px solid rgba(240,198,116,.14); border-bottom:1px solid rgba(240,198,116,.14);
  position:relative; padding-block:16px;
}
.reassurance .wrap { display:flex; flex-wrap:wrap; gap:14px 36px; justify-content:center; padding-block:0; }
.reassurance ul { display:flex; flex-wrap:inherit; gap:inherit; justify-content:inherit; }
.reassurance li {
  display:flex; align-items:center; gap:10px; color:var(--texte-clair-2); font-size:.86rem; font-weight:700;
  white-space:nowrap; letter-spacing:.01em;
}
.reassurance li::before {
  content:''; width:6px; height:6px; border-radius:50%; background:var(--or); flex-shrink:0; box-shadow:0 0 8px 1px rgba(240,198,116,.6);
}
.reassurance svg { display:none; }

/* ---- Sections ---- */
section { padding-block: var(--section-y); }
.s-clair { background:var(--ivoire); color:var(--encre); }
.s-clair-2 { background:var(--ivoire-2); color:var(--encre); }
.s-sombre { background:var(--nuit); color:var(--texte-clair); }
.s-sombre p, .s-sombre li { color:var(--texte-clair-2); }
.entete-section { max-width:52rem; margin-bottom:2.5rem; }
.entete-section h2 { font-size:var(--fs-h2); font-weight:800; margin-bottom:12px; letter-spacing:-.01em; }
.s-sombre .entete-section h2 { color:var(--texte-clair); }
.entete-section p.grand { font-size:1.08rem; line-height:1.55; color:var(--encre-2); }
.s-sombre .entete-section p.grand { color:var(--texte-clair-2); }

h2 .accent, h3 .accent { color:var(--laiton); }
.s-sombre h2 .accent, .s-sombre h3 .accent { color:var(--or); }

/* ---- Grilles / cartes prestations ---- */
.grille-prestations { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:22px; margin-top:8px; }
.carte-prestation {
  position:relative; background:#fff; border:1px solid rgba(27,24,21,.08); border-radius:var(--r-md); padding:30px 26px 26px;
  box-shadow:0 12px 26px rgba(27,24,21,.06); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  text-decoration:none; color:inherit; display:block; overflow:hidden;
}
.carte-prestation::before {
  content:''; position:absolute; top:0; left:0; width:46px; height:5px; border-radius:0 0 4px 0;
  background:linear-gradient(90deg,var(--or),var(--bronze)); transform:skewX(-20deg) translateX(-6px);
  opacity:.85; transition:width .25s ease;
}
.carte-prestation:hover { transform:translateY(-5px); box-shadow:0 22px 44px rgba(27,24,21,.14); border-color:rgba(240,198,116,.4); }
.carte-prestation:hover::before { width:64px; }
.carte-prestation .icone {
  display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:var(--r-sm);
  background:rgba(168,103,44,.1); color:var(--laiton); margin-bottom:16px; flex-shrink:0; transition:background .22s ease, transform .22s ease;
}
.carte-prestation:hover .icone { background:linear-gradient(135deg,var(--or),var(--bronze)); color:var(--encre); transform:scale(1.06); }
.carte-prestation .num { font-family:var(--f-accent); font-style:italic; font-size:1.35rem; color:var(--laiton); opacity:.7; margin-bottom:4px; display:block; }
.carte-prestation h3 { font-size:1.15rem; font-weight:800; margin-bottom:8px; }
.carte-prestation p { font-size:.94rem; color:var(--encre-2); margin-bottom:14px; }
.carte-prestation .fleche { font-weight:700; color:var(--laiton); font-size:.88rem; display:inline-flex; align-items:center; gap:5px; transition:gap .2s ease; }
.carte-prestation:hover .fleche { gap:9px; }

.s-sombre .carte-prestation { background:var(--panneau); border-color:rgba(240,198,116,.16); box-shadow:none; }
.s-sombre .carte-prestation h3 { color:var(--texte-clair); }
.s-sombre .carte-prestation p { color:var(--texte-clair-2); }
.s-sombre .carte-prestation .num, .s-sombre .carte-prestation .fleche { color:var(--or); }
.s-sombre .carte-prestation .icone { background:rgba(240,198,116,.12); color:var(--or); }
.s-sombre .carte-prestation:hover .icone { background:linear-gradient(135deg,var(--or),var(--bronze)); color:var(--nuit); }
.s-sombre .carte-prestation:hover { border-color:rgba(240,198,116,.5); }

/* ---- Photo + texte (sections alternées) ---- */
.duo { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.duo.inverse { direction:rtl; } .duo.inverse > * { direction:ltr; }
.duo .media { position:relative; }
.duo .media img { border-radius:var(--r-lg); width:100%; height:auto; aspect-ratio:4/3.1; object-fit:cover; box-shadow:var(--shadow-card); }
.duo .chip { position:absolute; bottom:-18px; left:-18px; background:var(--nuit); color:var(--texte-clair); border-radius:var(--r-md);
  padding:16px 20px; box-shadow:var(--shadow-float); border:1px solid rgba(240,198,116,.25); }
.duo .chip .n { font-size:1.5rem; font-weight:800; color:var(--or); line-height:1; }
.duo .chip .t { font-size:.72rem; color:var(--texte-clair-2); max-width:14ch; margin-top:4px; }
@media (max-width:840px){ .duo, .duo.inverse { grid-template-columns:1fr; direction:ltr; } }

/* ---- Chiffre fantôme décoratif ---- */
.ghost-wrap { position:relative; }
.ghost-num {
  position:absolute; top:-.3em; right:0; font-size:9rem; font-weight:800; line-height:1; letter-spacing:-.03em;
  background:linear-gradient(180deg, rgba(240,198,116,.14), rgba(240,198,116,.02)); -webkit-background-clip:text; background-clip:text; color:transparent;
  pointer-events:none; z-index:0; user-select:none;
}
.s-clair .ghost-num, .s-clair-2 .ghost-num { background:linear-gradient(180deg, rgba(27,24,21,.07), rgba(27,24,21,.01)); -webkit-background-clip:text; background-clip:text; }

/* ---- Diagonal seam (signature du site) ---- */
.seam-v { position:absolute; top:0; bottom:0; width:5px; background:linear-gradient(180deg, transparent, var(--or) 25%, var(--or) 75%, transparent);
  filter:blur(1.5px); box-shadow:0 0 30px 5px rgba(240,198,116,.3); transform:skewX(-7deg); opacity:.8; }

/* ---- Encadré / repère ---- */
.encadre { background:var(--ivoire-2); border-left:3px solid var(--laiton); border-radius:0 var(--r-md) var(--r-md) 0; padding:22px 26px; margin:26px 0; }
.s-sombre .encadre { background:var(--panneau); border-left-color:var(--or); }
.titre-encadre { display:block; font-weight:800; margin-bottom:8px; font-size:1.02rem; }

/* ---- FAQ ---- */
.faq-liste { display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.faq-liste details {
  background:#fff; border:1px solid rgba(27,24,21,.1); border-radius:var(--r-md); padding:6px 22px;
}
.s-sombre .faq-liste details { background:var(--panneau); border-color:rgba(240,198,116,.14); }
.faq-liste summary { cursor:pointer; padding:16px 0; font-weight:700; font-size:1.02rem; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.faq-liste summary::-webkit-details-marker { display:none; }
.faq-liste summary::after { content:'+'; font-size:1.4rem; font-weight:400; color:var(--laiton); flex-shrink:0; transition:transform .2s ease; }
.s-sombre .faq-liste summary::after { color:var(--or); }
.faq-liste details[open] summary::after { transform:rotate(45deg); }
.faq-liste details > div { padding-bottom:18px; color:var(--encre-2); line-height:1.6; }
.s-sombre .faq-liste details > div { color:var(--texte-clair-2); }

/* ---- Tableau communes ---- */
/* Table = île de données toujours claire : couleurs forcées, jamais héritées de la section (bug de contraste corrigé le 2026-08-01, voir CLAUDE MD - MASTER.md) */
.table-scroll { overflow-x:auto; margin:20px 0 32px; border-radius:var(--r-md); border:1px solid rgba(27,24,21,.08); color:var(--encre); }
table { width:100%; border-collapse:collapse; font-size:.94rem; min-width:480px; color:var(--encre); }
caption { text-align:left; padding:14px 18px; font-size:.82rem; color:var(--encre-2); background:var(--ivoire-2); }
thead th { text-align:left; padding:12px 18px; background:var(--encre); color:var(--texte-clair); font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.03em; }
tbody td, tbody th { padding:12px 18px; border-top:1px solid rgba(27,24,21,.08); background:#fff; color:var(--encre); font-weight:500; }
tbody th a, tbody td a { color:var(--laiton); font-weight:700; text-decoration:none; }
tbody th a:hover, tbody td a:hover { text-decoration:underline; }
.regime-vd, .regime-fr { display:inline-block; padding:3px 10px; border-radius:99px; font-size:.78rem; font-weight:700; }
.regime-vd { background:rgba(168,103,44,.14); color:var(--laiton); }
.regime-fr { background:rgba(91,110,70,.16); color:#4c5c3a; }

/* ---- CTA / Formulaire de devis ---- */
.devis-section { background:var(--nuit); color:var(--texte-clair); position:relative; overflow:hidden; }
.devis-section::before {
  content:''; position:absolute; inset:0;
  background: radial-gradient(45% 55% at 12% 15%, rgba(240,198,116,.16), transparent 65%), radial-gradient(50% 50% at 92% 85%, rgba(201,138,58,.14), transparent 65%);
}
.devis { position:relative; z-index:1; display:grid; grid-template-columns:1.15fr .85fr; gap:44px; background:var(--panneau);
  border:1px solid rgba(240,198,116,.2); border-radius:var(--r-lg); padding:clamp(24px,4vw,48px); box-shadow:var(--shadow-float); }
.devis h2 { font-size:var(--fs-h2); font-weight:800; margin-bottom:10px; }
.devis > div > p { color:var(--texte-clair-2); margin-bottom:24px; }
.form-row { margin-bottom:16px; }
.form-row label { display:block; font-size:.82rem; font-weight:700; margin-bottom:6px; color:var(--texte-clair-2); }
.form-row input, .form-row select, .form-row textarea {
  width:100%; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.16); color:var(--texte-clair);
  padding:12px 14px; border-radius:var(--r-sm); font-size:.95rem;
}
.form-row textarea { min-height:90px; resize:vertical; }
.form-row input::placeholder, .form-row textarea::placeholder { color:var(--texte-clair-3); }
.form-row input:focus, .form-row select:focus, .form-row textarea:focus { outline:none; border-color:var(--or); box-shadow:0 0 0 3px rgba(240,198,116,.18); }
.btn { display:inline-flex; align-items:center; gap:8px; font-weight:800; padding:14px 26px; border-radius:99px; border:none; cursor:pointer; text-decoration:none; font-size:.94rem; }
.btn-primary { background:linear-gradient(135deg,var(--or),var(--bronze)); color:var(--encre); box-shadow:0 14px 30px rgba(240,198,116,.28); }
.btn-ghost { border:1.5px solid var(--texte-clair-2); color:var(--texte-clair); background:transparent; }
.s-clair .btn-ghost, .s-clair-2 .btn-ghost { border-color:var(--encre); color:var(--encre); }
.form-status { font-size:.85rem; margin-top:10px; min-height:1.2em; color:var(--or); }
.form-note { font-size:.8rem; color:var(--texte-clair-3); margin-top:14px; line-height:1.5; }
.form-note a { color:var(--texte-clair-2); }
.devis-aside { background:rgba(255,255,255,.04); border-radius:var(--r-md); padding:24px; align-self:start; }
.devis-aside h3 { font-size:1.02rem; margin-bottom:14px; }
.devis-aside ul { display:flex; flex-direction:column; gap:12px; margin-bottom:16px; }
.devis-aside li { display:flex; gap:10px; font-size:.9rem; color:var(--texte-clair-2); }
.devis-aside svg { color:var(--or); flex-shrink:0; margin-top:2px; }
.devis-aside small { color:var(--texte-clair-3); }
.devis-aside small a { color:var(--texte-clair-2); }
@media (max-width:820px){ .devis { grid-template-columns:1fr; } }

/* ---- Footer ---- */
.site-footer { background:var(--nuit-2); color:var(--texte-clair-2); border-top:1px solid rgba(240,198,116,.12); }
.site-footer .wrap { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; padding-block:52px 30px; }
.site-footer .logo { margin-bottom:14px; }
.site-footer p { font-size:.88rem; line-height:1.55; max-width:32ch; }
.site-footer h2 { font-size:.85rem; text-transform:uppercase; letter-spacing:.05em; color:var(--texte-clair); margin-bottom:14px; }
.site-footer ul { display:flex; flex-direction:column; gap:9px; }
.site-footer a { font-size:.9rem; text-decoration:none; color:var(--texte-clair-2); }
.site-footer a:hover { color:var(--or); }
.mentions { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.08); padding-top:20px; font-size:.82rem; color:var(--texte-clair-3); }
.mentions a { color:var(--texte-clair-2); }
@media (max-width:760px){ .site-footer .wrap { grid-template-columns:1fr 1fr; } }

/* ---- Scroll-reveal ---- */
[data-reveal] { opacity:0; transform:translateY(20px); transition:opacity .55s ease, transform .55s ease; }
[data-reveal].visible { opacity:1; transform:translateY(0); }
[data-reveal-group] > * { transition-delay:calc(var(--i,0) * 80ms); }

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity:1 !important; transform:none !important; transition:none !important; }
  * { scroll-behavior:auto !important; }
}

/* ---- Hero accueil (split diagonal) ---- */
.hero-accueil { height:92vh; min-height:560px; max-height:900px; display:grid; grid-template-columns:47% 53%; background:var(--nuit-2); position:relative; }
.hero-accueil .panel {
  position:relative; padding: 56px 44px; display:flex; flex-direction:column; justify-content:center; height:100%; overflow-y:auto;
  clip-path: polygon(0 0, 100% 0, 88% 100%, 0% 100%); background:var(--panneau); z-index:2;
}
.hero-accueil .ghost {
  position:absolute; top:6%; left:38px; font-size:14rem; font-weight:800; line-height:1; letter-spacing:-.04em;
  background:linear-gradient(180deg, rgba(240,198,116,.14), rgba(240,198,116,.02)); -webkit-background-clip:text; background-clip:text; color:transparent;
  z-index:0; user-select:none; pointer-events:none;
}
.hero-accueil .panel-inner { position:relative; z-index:2; max-width:440px; }
.hero-accueil h1 { font-size:clamp(1.9rem,1rem + 2.8vw,2.9rem); font-weight:800; line-height:1.08; color:var(--texte-clair); margin-bottom:16px; }
.hero-accueil h1 .accent { color:var(--or); }
.hero-accueil p.lead { color:var(--texte-clair-2); font-size:1.02rem; line-height:1.55; max-width:38ch; margin-bottom:26px; }
.hero-accueil .formcard { border:1px solid rgba(240,198,116,.3); border-radius:var(--r-md); padding:18px; background:rgba(255,255,255,.03); }
.hero-accueil .formcard label { display:block; font-size:.76rem; color:var(--texte-clair-2); font-weight:700; margin-bottom:5px; }
.hero-accueil .formcard input, .hero-accueil .formcard select { width:100%; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.05); color:var(--texte-clair); padding:11px 13px; border-radius:var(--r-sm); font-size:.9rem; margin-bottom:12px; }
.hero-accueil .formcard button { width:100%; border:none; background:linear-gradient(135deg,var(--or),var(--bronze)); color:var(--encre); font-weight:800; padding:13px; border-radius:var(--r-sm); font-size:.92rem; cursor:pointer; }
.hero-accueil .microtrust { margin-top:12px; font-size:.76rem; color:var(--texte-clair-3); }

.hero-accueil .photo { position:relative; overflow:hidden; height:100%; }
.hero-accueil .photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(1.05) brightness(.9); }
.hero-accueil .photo::after { content:''; position:absolute; inset:0; background:linear-gradient(100deg, rgba(14,12,9,.82) 0%, rgba(14,12,9,.12) 32%, transparent 55%); }
.hero-accueil .seam {
  position:absolute; top:0; left:calc(47% - 3px); width:6px; height:100%;
  background:linear-gradient(180deg, transparent, rgba(240,198,116,.9) 28%, rgba(240,198,116,.9) 72%, transparent);
  filter:blur(2px); z-index:3; transform:skewX(-7deg); box-shadow:0 0 40px 6px rgba(240,198,116,.35);
}
.hero-accueil .chip { position:absolute; right:5%; bottom:9%; background:rgba(8,7,6,.55); backdrop-filter:blur(10px); border:1px solid rgba(240,198,116,.25); border-radius:var(--r-md); padding:14px 20px; z-index:3; text-align:center; }
.hero-accueil .chip .num { font-size:1.5rem; font-weight:800; color:var(--or); line-height:1; }
.hero-accueil .chip .txt { font-size:.72rem; color:var(--texte-clair-2); max-width:15ch; margin-top:4px; }

@media (max-width:900px){
  .hero-accueil { grid-template-columns:1fr; height:auto; min-height:auto; max-height:none; }
  .hero-accueil .panel { clip-path:none; padding:52px var(--gutter) 40px; height:auto; overflow:visible; }
  .hero-accueil .photo { height:52vh; }
  .hero-accueil .seam { display:none; }
  .hero-accueil .ghost { font-size:8rem; }
}

/* ---- Legal pages ---- */
.legal { max-width:52rem; margin:0 auto; padding-block: var(--section-y); }
.legal h1 { font-size:var(--fs-h1); margin-bottom:20px; }
.legal h2 { font-size:1.3rem; margin:32px 0 12px; }
.legal p, .legal li { color:var(--encre-2); line-height:1.65; margin-bottom:10px; }
.legal ul { padding-left:1.2em; list-style:disc; }

@media (max-width:600px){
  .grille-prestations { grid-template-columns:1fr; }
  .hero-interne h1 { max-width:none; }
}
