/* Bleu clair vitrerie — variant V4 */
:root {
  --f-head: "Public Sans", "Inter", system-ui, sans-serif;
  --f-body: "IBM Plex Sans", system-ui, -apple-system, Arial, sans-serif;
  --c-primary: #1D5FBF;
  --c-primary-hover: #164A96;
  --c-navy: #10233D;
  --c-navy-soft: #1B3A62;
  --c-blue: #2E7BD6;
  --c-blue-hover: #2260AB;
  --c-ice: #EAF2FC;
  --c-bg: #FFFFFF;
  --c-border: #D7E3F2;
  --c-border-strong: #B7C9E0;
  --c-text: #111A26;
  --c-muted: #566A82;
  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 14px;
  --focus: 0 0 0 3px rgba(46, 123, 214, .40);
}

/* Shared additions for the BRF sites */
.hero-media img { width: 100%; height: clamp(260px, 32vw, 460px); object-fit: cover; }
.hero__note--tight { margin-top: var(--s-4); }
.contact-lines { display: grid; gap: var(--s-2); margin: var(--s-4) 0 0; padding: 0; list-style: none; }
.contact-lines a { font-weight: 600; }
.identity-card { background: var(--c-ice); border: 1px solid var(--c-border); border-radius: var(--r-md); padding: var(--s-5); }
.identity-card dl { display: grid; gap: var(--s-2); margin: var(--s-3) 0 0; }
.identity-card dt { font-size: var(--t-small); color: var(--c-muted); }
.identity-card dd { margin: 0; font-weight: 600; }

/* V4 — light hero, stat strip, airy list-style services */
.hero__badge { background: var(--c-ice); border-color: var(--c-border-strong); color: var(--c-navy); }
.hero-card { background: var(--c-white); border-color: var(--c-border); color: var(--c-text); backdrop-filter: none; }
.hero-card__text { color: var(--c-muted); }
.stat-strip { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-top: var(--s-7); padding: var(--s-5); background: var(--c-ice); border-radius: var(--r-lg); }
.stat-strip__item { display: flex; gap: var(--s-3); align-items: flex-start; }
.stat-strip__label { font-family: var(--f-head); font-weight: 700; display: block; }
.stat-strip__text { color: var(--c-muted); font-size: var(--t-small); }
.service-list { display: grid; gap: var(--s-4); }
.service-row { display: grid; grid-template-columns: 56px 1fr; gap: var(--s-4); padding: var(--s-5); background: var(--c-white); border: 1px solid var(--c-border); border-radius: var(--r-lg); }
.service-row h3 { margin: 0 0 var(--s-2); font-size: var(--t-h4); }
.service-row p { margin: 0; color: var(--c-muted); }
@media (min-width: 900px) { .service-list { grid-template-columns: 1fr 1fr; } }
