/* Vert sauge rasage — V4 */
:root {
  --f-head: "Archivo", "Inter", system-ui, sans-serif;
  --f-body: "Rubik", system-ui, -apple-system, Arial, sans-serif;
  --c-primary: #3F6B57;
  --c-primary-hover: #325544;
  --c-navy: #1C2A24;
  --c-navy-soft: #2F4438;
  --c-blue: #5C8874;
  --c-blue-hover: #456A59;
  --c-ice: #EBF2EE;
  --c-bg: #F7FAF8;
  --c-border: #D9E4DE;
  --c-border-strong: #BACCC2;
  --c-text: #18221D;
  --c-muted: #5E6D66;
  --r-sm: 3px;
  --r-md: 6px;
  --r-lg: 10px;
  --focus: 0 0 0 3px rgba(92, 136, 116, 0.42);
}

/* Shared additions */
.hero-media img { width: 100%; height: clamp(260px, 32vw, 460px); object-fit: cover; border-radius: var(--r-lg); }
.hero__note--tight { margin-top: var(--s-4); }
.fact-strip { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); margin-top: var(--s-7); padding: var(--s-5); background: var(--c-ice); border: 1px solid var(--c-border); border-radius: var(--r-lg); }
.fact-strip__item { display: flex; gap: var(--s-3); align-items: flex-start; }
.fact-strip__label { display: block; font-family: var(--f-head); font-weight: 700; font-size: var(--t-small); }
.fact-strip__value { font-size: var(--t-small); color: var(--c-muted); }
.detail-block { display: grid; gap: var(--s-5); padding: var(--s-6) 0; border-top: 1px solid var(--c-border); }
.detail-block:first-of-type { border-top: 0; }
.detail-block__body { max-width: var(--measure); }
.detail-list { display: grid; gap: var(--s-2); margin: var(--s-4) 0 0; padding: 0; list-style: none; }
.detail-list li { display: grid; grid-template-columns: 22px 1fr; gap: var(--s-3); align-items: start; font-size: var(--t-body); }
.detail-list svg { width: 18px; height: 18px; color: var(--c-primary); margin-top: 3px; }
@media (min-width: 900px) { .detail-block { grid-template-columns: 260px 1fr; gap: var(--s-7); } }
.zone-grid { display: grid; gap: var(--s-6); }
@media (min-width: 900px) { .zone-grid { grid-template-columns: 1.2fr .8fr; } }
.chip-list { display: flex; flex-wrap: wrap; gap: var(--s-2); margin: var(--s-4) 0 0; padding: 0; list-style: none; }
.chip-list li { padding: 6px 12px; border: 1px solid var(--c-border-strong); border-radius: 999px; font-size: var(--t-small); background: var(--c-white); }
.info-panel { background: var(--c-ice); border: 1px solid var(--c-border); border-radius: var(--r-md); padding: var(--s-5); }
.info-panel dl { display: grid; gap: var(--s-3); margin: var(--s-4) 0 0; }
.info-panel dt { font-size: var(--t-small); color: var(--c-muted); }
.info-panel dd { margin: 0; font-weight: 600; }
.footer__grid--wide { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.footer__list--tight li { margin-bottom: 6px; }

/* V4 — light hero with fact strip, services as rows.
   The base stylesheet styles hero text for a dark hero, so every white-on-dark
   rule needs an override here. */
.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); }
.hero__checklist li { color: var(--c-text); }
.hero__checklist .check-circle { background: var(--c-ice); color: var(--c-primary); border: 1px solid var(--c-border-strong); }
.hero .btn--ghost { color: var(--c-navy); border-color: var(--c-border-strong); }
.hero .btn--ghost:hover { background: var(--c-ice); border-color: var(--c-primary); color: var(--c-primary); }
.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; } }

/* Wordmark rendered as text so long company names never clip */
.wordmark { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.wordmark__mark { display: inline-flex; flex: 0 0 40px; width: 40px; height: 40px; }
.wordmark__mark svg { width: 40px; height: 40px; flex: 0 0 auto; }
.wordmark__text { display: grid; }
.wordmark__name { font-family: var(--f-head); font-weight: 700; font-size: 1.05rem; line-height: 1.15; color: var(--c-navy); }
.wordmark__sub { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.wordmark--footer .wordmark__name { color: #fff; }
.wordmark--footer .wordmark__sub { color: rgba(255,255,255,.7); }
@media (max-width: 620px) { .wordmark__name { font-size: .92rem; } .wordmark__sub { display: none; } }
