/* ==========================================================================
   Agence B-LIGHT — pages agences (agence-ouest.html, agence-centre.html)
   Chargée après css/site.css (charte claire). Pages générées par tools/build-agences.py.
   .ag--centre : accent bleu de l'agence CENTRE sur les puces et numéros de département.
   ========================================================================== */
.page{--ag-accent:var(--green-2);--ag-soft:var(--chip-bg);--ag-line:var(--chip-line)}
.ag--centre{--ag-accent:#3f6390;--ag-soft:#eaf1f8;--ag-line:#cfdeee}

/* Hero */
.ag-hero{position:relative;background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);border-bottom:1px solid var(--line)}
.ag-hero__inner{padding-top:28px;padding-bottom:72px}
.ag-crumbs ol{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--mono);font-size:var(--fs-12);color:var(--muted)}
.ag-crumbs li+li::before{content:"›";margin-right:6px;opacity:.7}
.ag-crumbs a{color:var(--muted);text-decoration:none}
.ag-crumbs a:hover{color:var(--accent-text);text-decoration:underline}
.ag-hero__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:center;margin-top:40px}
.ag-hero .eyebrow{color:var(--ag-accent)}
.ag-hero__title{font-family:var(--display);font-size:clamp(44px,7vw,84px);font-weight:800;letter-spacing:-.03em;line-height:.95;color:var(--ink)}
.ag-hero__lead{margin-top:20px;font-size:var(--fs-18);line-height:1.6;color:var(--muted);max-width:56ch}
.ag-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ag-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-panel);padding:28px;box-shadow:var(--shadow-panel)}
.ag-card__kicker{font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.ag-card__name{font-family:var(--display);font-size:var(--fs-24);font-weight:800;color:var(--ink);margin:10px 0 16px;letter-spacing:-.01em}
.ag-card__row{display:flex;align-items:center;gap:10px;font-size:var(--fs-15);color:var(--ink);margin-top:10px}
.ag-card__row .pi,.ag-contact__row .pi{width:17px;height:17px;flex:none;color:var(--ag-accent)}
.ag-card__row a{color:var(--ink);text-underline-offset:3px}
.ag-card__zone{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:var(--fs-12);color:var(--muted)}

/* Départements */
.ag-depts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.ag-dept{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-card-sm);padding:16px 18px}
.ag-dept__num{grid-row:1 / 3;font-family:var(--display);font-size:var(--fs-28);font-weight:800;color:var(--ag-accent);background:var(--ag-soft);border:1px solid var(--ag-line);border-radius:12px;min-width:56px;text-align:center;padding:6px 8px;letter-spacing:-.02em}
.ag-dept__name{font-family:var(--display);font-size:var(--fs-16);font-weight:700;color:var(--ink);line-height:1.2}
.ag-dept__meta{font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.04em;color:var(--muted);margin-top:3px}

/* Équipe : composants .team / .person / .assistant de site.css */
.ag-team{margin-top:0}

/* Marques */
.ag-brands{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.ag-brand{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card-sm);text-decoration:none;color:inherit;transition:border-color .2s,transform .2s,box-shadow .2s}
.ag-brand:hover{border-color:var(--green-light);transform:translateY(-2px);box-shadow:var(--shadow-hover)}
/* logos blancs (mêmes fichiers que les cartes sombres de l'accueil) : bandeau sombre */
.ag-brand__logo{height:108px;margin:-22px -22px 12px;display:flex;align-items:center;justify-content:center;background:#20334a;border-radius:var(--r-card-sm) var(--r-card-sm) 0 0;padding:16px 24px}
.ag-brand__logo img{max-height:80px;max-width:70%;width:auto;object-fit:contain}
.ag-brand__name{font-family:var(--display);font-size:var(--fs-16);font-weight:700;color:var(--ink)}
.ag-brand__text{font-size:var(--fs-14);color:var(--muted);line-height:1.45}
.ag-brand .badge-ouest{position:absolute;top:10px;right:10px}

/* Solutions + catalogue */
.ag-sols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:start}
.ag-sols__list{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.ag-sols__list a{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-size:var(--fs-16);font-weight:700;color:var(--ink);text-decoration:none;transition:color .2s}
.ag-sols__list a span{color:var(--ag-accent)}
.ag-sols__list a:hover{color:var(--accent-text)}
.ag-cat{display:flex;flex-direction:column;gap:10px;padding:32px;border-radius:var(--r-panel);background:linear-gradient(165deg,#31465f 0%,#20334a 80%);color:#fff;text-decoration:none;box-shadow:var(--shadow-panel)}
.ag-cat .eyebrow{color:var(--lime);margin-bottom:0}
.ag-cat__title{font-family:var(--display);font-size:var(--fs-28);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.ag-cat__text{font-size:var(--fs-15);line-height:1.6;color:rgba(255,255,255,.78)}
.ag-cat .link-more{color:var(--lime);margin-top:6px}
.ag-cat:hover .link-more{text-decoration:underline}

/* Contact + formulaire */
.ag-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;padding:56px;border-radius:var(--r-panel);background:linear-gradient(165deg,#31465f 0%,#20334a 80%);color:#fff;--focus-ring:#fff}
.ag-contact .cta-panel__title{text-align:left}
.ag-contact__text{font-size:var(--fs-16);line-height:1.6;color:rgba(255,255,255,.8);margin-bottom:22px}
.ag-contact__row{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:var(--fs-15);color:rgba(255,255,255,.9)}
.ag-contact__row .pi{color:var(--lime)}
.ag-contact__row a{color:#fff;text-underline-offset:3px}
.ag-contact__other{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:var(--fs-14);color:rgba(255,255,255,.72)}
.ag-contact__other a{color:#fff;font-weight:700;text-underline-offset:3px}
.ag-form{display:flex;flex-direction:column;gap:14px;background:#fff;color:var(--ink);border-radius:var(--r-card);padding:28px;--focus-ring:var(--green-2)}
.ag-form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ag-form label{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:var(--fs-12);letter-spacing:.04em;color:var(--muted);font-weight:600}
.ag-form label small{font-weight:400}
.ag-form input,.ag-form textarea{font:inherit;font-family:var(--sans);font-size:var(--fs-15);letter-spacing:0;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-btn-sm);padding:12px 14px;font-weight:400}
.ag-form textarea{resize:vertical;min-height:120px}
.ag-form input:focus,.ag-form textarea:focus{border-color:var(--green-light);outline:none;box-shadow:0 0 0 3px rgba(165,194,61,.25)}
.ag-form .btn{align-self:flex-start;border:0}
.ag-form__note{font-size:var(--fs-12);color:var(--muted);line-height:1.5}

@media (max-width:900px){
  .ag-hero__grid,.ag-sols,.ag-contact{grid-template-columns:1fr;gap:32px}
  .ag-hero__inner{padding-bottom:56px}
  .ag-contact{padding:36px 24px}
}
@media (max-width:640px){
  .ag-sols__list,.ag-form__row{grid-template-columns:1fr}
  .ag-form{padding:22px}
  .ag-hero__actions .btn{width:100%;justify-content:center}
}
