:root {
  --av-bg: #07111f;
  --av-surface: #0d1b2d;
  --av-surface-2: #10243a;
  --av-border: rgba(148, 180, 211, .18);
  --av-text: #edf6ff;
  --av-muted: #9db0c6;
  --av-cyan: #22d3ee;
  --av-blue: #3b82f6;
  --av-green: #22c55e;
  --av-yellow: #facc15;
  --av-orange: #fb923c;
  --av-red: #ef4444;
}
* { box-sizing: border-box; }
.av-body { min-height: 100vh; margin: 0; color: var(--av-text); background: var(--av-bg); font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
.av-body a { color: inherit; }
.av-site-header { position: relative; z-index: 1000; border-bottom: 1px solid var(--av-border); background: rgba(7, 17, 31, .96); }
.av-site-header__inner { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 20px; }
.av-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.av-brand__mark { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: linear-gradient(135deg, #0ea5e9, #2563eb); box-shadow: 0 12px 26px -15px #38bdf8; }
.av-brand > span:last-child { display: flex; align-items: baseline; gap: 4px; font-size: .92rem; }
.av-brand strong { color: var(--av-cyan); }
.av-brand small { display: block; margin-left: 7px; color: var(--av-muted); font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.av-site-header nav { display: flex; gap: 8px; }
.av-site-header nav a { padding: 8px 11px; border-radius: 9px; color: #c8d6e5; font-size: .82rem; font-weight: 750; text-decoration: none; }
.av-site-header nav a:hover { color: #fff; background: rgba(34, 211, 238, .1); }

.av-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--av-border); background: radial-gradient(circle at 82% 5%, rgba(37, 99, 235, .28), transparent 35%), linear-gradient(140deg, #07111f, #0b1f37 58%, #08243a); }
.av-hero__mesh { position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(rgba(125, 211, 252, .15) 1px, transparent 1px), linear-gradient(90deg, rgba(125, 211, 252, .15) 1px, transparent 1px); background-size: 40px 40px; mask-image: linear-gradient(90deg, #000, transparent); }
.av-hero__content { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(30px, 7vw, 90px); padding-top: clamp(48px, 7vw, 88px); padding-bottom: clamp(48px, 7vw, 88px); }
.av-eyebrow, .av-section-kicker { color: var(--av-cyan); font-size: .68rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.av-eyebrow { display: inline-flex; align-items: center; gap: 8px; }
.av-eyebrow .bi-circle-fill { font-size: .45rem; color: var(--av-green); filter: drop-shadow(0 0 7px var(--av-green)); }
.av-hero h1 { max-width: 680px; margin: 14px 0 16px; font-size: clamp(2.25rem, 5vw, 4.35rem); font-weight: 900; line-height: .98; letter-spacing: -.055em; }
.av-hero__copy > p { max-width: 650px; margin: 0; color: #bed0e1; font-size: clamp(1rem, 1.5vw, 1.14rem); line-height: 1.7; }
.av-privacy { display: flex; max-width: 650px; gap: 11px; margin-top: 24px; padding: 13px 15px; border: 1px solid rgba(34, 197, 94, .3); border-radius: 14px; color: #c8f5d7; background: rgba(34, 197, 94, .08); font-size: .78rem; line-height: 1.45; }
.av-privacy i { margin-top: 1px; color: #4ade80; font-size: 1rem; }
.av-search-panel { padding: clamp(20px, 3vw, 32px); border: 1px solid rgba(125, 211, 252, .23); border-radius: 24px; background: rgba(8, 22, 39, .8); box-shadow: 0 30px 70px -40px #000; backdrop-filter: blur(16px); }
.av-search-panel label { display: block; margin-bottom: 9px; color: #dbeafe; font-size: .9rem; font-weight: 800; }
.av-search-row { display: flex; gap: 8px; }
.av-search-input { display: flex; flex: 1; min-width: 0; align-items: center; gap: 9px; padding: 0 13px; border: 1px solid var(--av-border); border-radius: 13px; background: #071421; }
.av-search-input:focus-within { border-color: var(--av-cyan); box-shadow: 0 0 0 3px rgba(34, 211, 238, .1); }
.av-search-input i { color: var(--av-cyan); }
.av-search-input input { width: 100%; min-width: 0; padding: 14px 0; border: 0; outline: 0; color: #fff; background: transparent; }
.av-search-input input::placeholder { color: #7389a0; }
.av-search-row > button, .av-dashboard__actions button { border: 0; border-radius: 12px; color: #04111e; background: linear-gradient(135deg, var(--av-cyan), #60a5fa); font-weight: 900; }
.av-search-row > button { display: inline-flex; align-items: center; gap: 7px; padding: 0 18px; }
.av-location-button { margin-top: 11px; padding: 7px 0; border: 0; color: #9bd8f4; background: transparent; font-size: .78rem; font-weight: 750; }
.av-location-button:hover { color: #fff; }
.av-search-status { min-height: 18px; margin-top: 7px; color: var(--av-muted); font-size: .8rem; }
.av-search-results { display: grid; gap: 6px; max-height: 245px; margin-top: 10px; overflow: auto; }
.av-search-result { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border: 1px solid var(--av-border); border-radius: 10px; color: #e8f3ff; text-align: left; background: #0c1b2b; }
.av-search-result:hover { border-color: #38bdf8; background: #10263d; }
.av-search-result i:first-child { color: var(--av-cyan); }
.av-search-result strong, .av-search-result small { display: block; }
.av-search-result small { color: var(--av-muted); font-size: .68rem; }

.av-workspace { padding-top: 38px; padding-bottom: 25px; }
.av-producer-notice { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 20px; padding: 16px 18px; border: 1px solid rgba(34, 211, 238, .32); border-radius: 16px; color: #d9f8ff; background: linear-gradient(135deg, rgba(34, 211, 238, .1), rgba(59, 130, 246, .07)); }
.av-producer-notice__icon { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 11px; color: #061321; background: var(--av-cyan); }
.av-producer-notice strong { display: block; color: #fff; font-size: .84rem; }
.av-producer-notice p { margin: 4px 0 0; color: #b9d8e8; font-size: .82rem; line-height: 1.55; }
.av-map-card, .av-panel, .av-dashboard, .av-loading, .av-error { border: 1px solid var(--av-border); border-radius: 20px; background: var(--av-surface); box-shadow: 0 24px 55px -45px #000; }
.av-map-card { overflow: hidden; }
.av-map-card__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; }
.av-map-card h2, .av-section-heading h2 { margin: 3px 0 0; font-size: 1.24rem; font-weight: 900; letter-spacing: -.025em; }
.av-legend { display: flex; flex-wrap: wrap; gap: 13px; color: var(--av-muted); font-size: .68rem; }
.av-legend span { display: inline-flex; align-items: center; gap: 6px; }
.av-dot { width: 8px; height: 8px; border-radius: 50%; }
.av-dot--quake { background: #a78bfa; }
.av-dot--alert { background: var(--av-orange); }
.av-dot--fire { background: var(--av-red); }
#av-map { z-index: 1; width: 100%; height: clamp(350px, 48vw, 560px); background: #0b1a2b; }
.av-map-status { padding: 9px 16px; color: var(--av-muted); background: #091624; font-size: .7rem; }
.leaflet-container { font-family: inherit; }
.leaflet-popup-content-wrapper, .leaflet-popup-tip { color: #eaf5ff; background: #0c1b2c; }
.av-popup { min-width: 180px; font-size: .75rem; line-height: 1.45; }
.av-popup strong { display: block; margin-bottom: 3px; color: #fff; }
.av-popup a { color: #67e8f9; }

.av-dashboard { margin-top: 24px; padding: clamp(18px, 3vw, 28px); }
.av-dashboard__head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.av-dashboard__head h2 { margin: 3px 0; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 900; letter-spacing: -.04em; }
.av-dashboard__head p { margin: 0; color: var(--av-muted); font-size: .8rem; }
.av-dashboard__actions { display: flex; align-items: center; gap: 8px; }
.av-dashboard__actions label { color: var(--av-muted); font-size: .7rem; }
.av-dashboard__actions select { padding: 9px 26px 9px 10px; border: 1px solid var(--av-border); border-radius: 9px; color: #fff; background: #081522; }
.av-dashboard__actions button { min-height: 38px; padding: 0 12px; }
#av-refresh { width: 38px; padding: 0; }
.av-overall { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; padding: 13px 16px; border-radius: 14px; background: rgba(148, 163, 184, .09); }
.av-overall__signal { width: 12px; height: 12px; border-radius: 50%; box-shadow: 0 0 0 5px rgba(255,255,255,.05); }
.av-overall strong { display: block; font-size: .9rem; }
.av-overall small { color: var(--av-muted); }
.av-overall--green .av-overall__signal { background: var(--av-green); }
.av-overall--yellow .av-overall__signal { background: var(--av-yellow); }
.av-overall--orange .av-overall__signal { background: var(--av-orange); }
.av-overall--red .av-overall__signal { background: var(--av-red); }
.av-overall--unknown .av-overall__signal { background: #94a3b8; }
.av-risk-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.av-risk-card { position: relative; min-height: 245px; overflow: hidden; padding: 17px; border: 1px solid var(--av-border); border-radius: 16px; background: var(--av-surface-2); }
.av-risk-card::after { position: absolute; right: -24px; bottom: -35px; width: 95px; height: 95px; border-radius: 50%; background: currentColor; opacity: .05; content: ""; }
.av-risk-card__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.av-risk-card__icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: currentColor; }
.av-risk-card__icon i { color: #07111f; }
.av-risk-card__level { padding: 4px 7px; border-radius: 99px; color: currentColor; background: rgba(255,255,255,.06); font-size: .68rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.av-risk-card h3 { margin: 12px 0 2px; color: #fff; font-size: .9rem; }
.av-risk-card__value { margin: 0; color: #fff; font-size: 1.35rem; font-weight: 900; }
.av-risk-card__detail { margin: 4px 0 0; color: var(--av-muted); font-size: .76rem; line-height: 1.5; }
.av-risk-card__meta { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; margin: 11px 0 0; padding-top: 9px; border-top: 1px solid rgba(148,180,211,.12); font-size: .68rem; }
.av-risk-card__meta dt { color: #86a0b8; font-weight: 650; }
.av-risk-card__meta dd { margin: 0; color: #dceaf6; }
.av-risk-card__limit { margin: 8px 0 0; color: #a9bed0; font-size: .7rem; line-height: 1.45; }
.av-risk-card--green { color: var(--av-green); }
.av-risk-card--yellow { color: var(--av-yellow); }
.av-risk-card--orange { color: var(--av-orange); }
.av-risk-card--red { color: var(--av-red); }
.av-risk-card--unknown { color: #94a3b8; }

.av-summary { margin-bottom: 14px; padding: 18px; border: 1px solid rgba(34,211,238,.23); border-radius: 16px; background: linear-gradient(135deg, rgba(34,211,238,.08), rgba(59,130,246,.05)); }
.av-summary__heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.av-summary h3 { margin: 3px 0 0; font-size: 1.15rem; font-weight: 900; }
.av-coverage { padding: 6px 10px; border: 1px solid rgba(125,211,252,.25); border-radius: 99px; color: #c8efff; font-size: .75rem; font-weight: 750; }
.av-attention p { margin: 13px 0 0; padding: 11px 13px; border-radius: 11px; font-size: .84rem; }
.av-attention__notice { color: #fff1c2; background: rgba(250,204,21,.09); }
.av-attention__calm { color: #c7f7d8; background: rgba(34,197,94,.09); }
.av-source-health { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.av-source-state { padding: 5px 8px; border-radius: 9px; color: #d9e8f5; background: rgba(148,163,184,.09); font-size: .7rem; }
.av-source-state--success, .av-source-state--empty { color: #bff4d0; background: rgba(34,197,94,.09); }
.av-source-state--unavailable, .av-source-state--disabled { color: #fde4a8; background: rgba(250,204,21,.08); }
.av-institutional { margin: 14px 0; padding: 16px; border: 1px solid rgba(251,146,60,.35); border-radius: 16px; background: rgba(251,146,60,.07); }
.av-institutional__head { display: flex; gap: 10px; align-items: flex-start; }
.av-institutional__head > i { color: var(--av-orange); font-size: 1.2rem; }
.av-institutional h3 { margin: 0; font-size: .95rem; }
.av-institutional p { margin: 2px 0 0; color: var(--av-muted); font-size: .75rem; }
#av-institutional-list article { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(251,146,60,.16); }
#av-institutional-list strong, #av-institutional-list small { display: block; }
#av-institutional-list strong { font-size: .8rem; }
#av-institutional-list small { margin-top: 3px; color: var(--av-muted); font-size: .72rem; }
#av-institutional-list a { color: #fed7aa; font-size: .74rem; font-weight: 800; white-space: nowrap; }
.av-details-toggle { display: flex; width: 100%; align-items: center; justify-content: center; gap: 9px; min-height: 46px; margin: 15px 0 0; border: 1px solid rgba(34,211,238,.3); border-radius: 13px; color: #dff8ff; background: rgba(34,211,238,.07); font-size: .82rem; font-weight: 850; }
.av-details-toggle:hover { border-color: var(--av-cyan); background: rgba(34,211,238,.12); }

.av-reading-guide { margin-top: 14px; padding: 15px; border: 1px solid rgba(125, 211, 252, .2); border-radius: 16px; background: rgba(14, 165, 233, .055); }
.av-reading-guide__head { display: flex; align-items: flex-start; gap: 9px; }
.av-reading-guide__head > i { margin-top: 1px; color: var(--av-cyan); }
.av-reading-guide h3 { margin: 0; color: #e8f6ff; font-size: .82rem; font-weight: 900; }
.av-reading-guide__head p { margin: 3px 0 0; color: var(--av-muted); font-size: .76rem; }
.av-reading-guide__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 12px; }
.av-reading-guide__grid p { margin: 0; padding: 10px 11px; border: 1px solid rgba(148, 180, 211, .12); border-radius: 11px; background: rgba(7, 17, 31, .42); }
.av-reading-guide__grid strong, .av-reading-guide__grid span { display: block; }
.av-reading-guide__grid strong { color: #eaf6ff; font-size: .78rem; }
.av-reading-guide__grid span { margin-top: 3px; color: var(--av-muted); font-size: .72rem; line-height: 1.45; }

.av-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.av-panel { min-width: 0; padding: 15px; }
.av-panel--wide { grid-column: 1 / -1; }
.av-panel h3 { margin: 0 0 10px; color: #dcecff; font-size: .78rem; font-weight: 800; }
.av-panel h3 i { margin-right: 5px; color: var(--av-cyan); }
.av-chart { position: relative; height: 235px; }
.av-chart--small { height: 180px; }
.av-panel__note { margin: 9px 0 0; color: var(--av-muted); font-size: .74rem; }
.av-data-table { margin-top: 12px; border-top: 1px solid rgba(148,180,211,.14); padding-top: 10px; }
.av-data-table summary { cursor: pointer; color: #bfe8f9; font-size: .74rem; font-weight: 750; }
.av-table-wrap { max-height: 320px; margin-top: 9px; overflow: auto; border: 1px solid var(--av-border); border-radius: 10px; }
.av-data-table table { width: 100%; border-collapse: collapse; color: #dceaf6; background: #071421; font-size: .7rem; }
.av-data-table th, .av-data-table td { padding: 8px 10px; border-bottom: 1px solid rgba(148,180,211,.1); text-align: left; white-space: nowrap; }
.av-data-table thead th { position: sticky; top: 0; z-index: 1; color: #fff; background: #102235; }
.av-nearby-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
.av-nearby { padding: 15px; border: 1px solid var(--av-border); border-radius: 15px; background: #0a1929; }
.av-nearby h3 { margin: 0 0 9px; font-size: .8rem; }
.av-nearby ul { margin: 0; padding: 0; list-style: none; }
.av-nearby li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-top: 1px solid rgba(148,163,184,.1); color: #d7e5f3; font-size: .68rem; }
.av-nearby li span:last-child { color: var(--av-muted); white-space: nowrap; }
.av-warnings { margin-top: 13px; padding: 11px 13px; border: 1px solid rgba(250,204,21,.25); border-radius: 11px; color: #fde68a; background: rgba(250,204,21,.06); font-size: .69rem; }
.av-sources { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 14px; color: var(--av-muted); font-size: .65rem; }
.av-sources a { padding: 4px 8px; border: 1px solid var(--av-border); border-radius: 99px; color: #bfe8f9; text-decoration: none; }
.av-ephemeral { margin: 14px 0 0; color: #9fb2c5; font-size: .75rem; }
.av-ephemeral i { margin-right: 5px; color: #4ade80; }
.av-loading { display: flex; align-items: center; gap: 14px; margin-top: 20px; padding: 18px; }
.av-loading strong, .av-loading small { display: block; }
.av-loading small { margin-top: 3px; color: var(--av-muted); }
.av-spinner { width: 28px; height: 28px; border: 3px solid rgba(125,211,252,.2); border-top-color: var(--av-cyan); border-radius: 50%; animation: av-spin .8s linear infinite; }
@keyframes av-spin { to { transform: rotate(360deg); } }
.av-error { margin-top: 20px; padding: 14px 16px; border-color: rgba(239,68,68,.3); color: #fecaca; background: rgba(239,68,68,.08); }

.av-cities, .av-explainer { padding-top: 50px; padding-bottom: 50px; }
.av-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 18px; }
.av-section-heading p { max-width: 420px; margin: 0; color: var(--av-muted); font-size: .75rem; text-align: right; }
.av-city-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.av-city-grid a { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; padding: 13px; border: 1px solid var(--av-border); border-radius: 14px; color: #eaf4ff; background: var(--av-surface); text-decoration: none; transition: transform .2s, border-color .2s; }
.av-city-grid a:hover { transform: translateY(-2px); border-color: rgba(34,211,238,.6); }
.av-city-grid a > span { display: grid; grid-row: 1 / 3; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: var(--av-cyan); background: rgba(34,211,238,.08); }
.av-city-grid strong { font-size: .76rem; }
.av-city-grid small { grid-column: 2; color: var(--av-muted); font-size: .6rem; }
.av-capital-tag { display: inline-block; margin-left: 6px; padding: 2px 5px; border-radius: 99px; color: #7dd3fc; background: rgba(34, 211, 238, .09); font-size: .5rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.av-city-grid a > i { grid-column: 3; grid-row: 1 / 3; color: #668098; font-size: .7rem; }
.av-all-cities { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; color: var(--av-cyan); font-size: .75rem; font-weight: 800; text-decoration: none; }
.av-location-seo { margin-top: 15px; margin-bottom: 40px; padding-top: 30px; padding-bottom: 30px; border-top: 1px solid var(--av-border); border-bottom: 1px solid var(--av-border); }
.av-location-seo h2 { margin: 6px 0 12px; font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 900; letter-spacing: -.035em; }
.av-location-seo p { max-width: 900px; color: var(--av-muted); font-size: .8rem; line-height: 1.75; }
.av-local-links { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
.av-local-links > div { padding: 16px; border: 1px solid var(--av-border); border-radius: 14px; background: var(--av-surface); }
.av-local-links h3 { margin: 0 0 10px; color: #fff; font-size: .86rem; }
.av-local-links__items { display: flex; flex-wrap: wrap; gap: 7px; }
.av-local-links a { padding: 6px 9px; border: 1px solid rgba(34,211,238,.2); border-radius: 99px; color: #bfe8f9; font-size: .7rem; text-decoration: none; }
.av-local-links a:hover { border-color: var(--av-cyan); color: #fff; }
.av-city-directory { padding-top: 55px; padding-bottom: 70px; }
.av-city-directory header { max-width: 760px; margin-bottom: 28px; }
.av-city-directory h1 { margin: 11px 0; font-size: clamp(2rem, 5vw, 3.6rem); font-weight: 900; letter-spacing: -.05em; }
.av-city-directory header p, .av-directory-note { color: var(--av-muted); line-height: 1.7; }
.av-city-directory .av-directory-stats { margin-top: 12px; color: #bfe9f7; font-size: .76rem; }
.av-directory-stats strong { color: #fff; }
.av-city-grid--directory { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.av-directory-note { margin-top: 22px; font-size: .76rem; }
.av-directory-note a { color: var(--av-cyan); }
.av-explainer { display: grid; grid-template-columns: 1fr .9fr; gap: 70px; align-items: center; border-top: 1px solid var(--av-border); }
.av-explainer h2 { margin: 6px 0 12px; font-size: clamp(1.5rem, 3vw, 2.35rem); font-weight: 900; letter-spacing: -.045em; }
.av-explainer p { color: var(--av-muted); line-height: 1.7; }
.av-explainer a { color: var(--av-cyan); font-size: .78rem; font-weight: 800; text-decoration: none; }
.av-explainer ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.av-explainer li { display: flex; align-items: center; gap: 13px; padding: 13px; border: 1px solid var(--av-border); border-radius: 14px; background: var(--av-surface); }
.av-explainer li > span { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: #05101c; background: var(--av-cyan); font-weight: 900; }
.av-explainer strong, .av-explainer small { display: block; }
.av-explainer strong { font-size: .75rem; }
.av-explainer small { color: var(--av-muted); font-size: .64rem; }

.av-footer { margin-top: 25px; padding: 35px 0 24px; border-top: 1px solid var(--av-border); color: var(--av-muted); background: #06101d; font-size: .7rem; }
.av-footer__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.av-footer strong { color: #e4f1ff; }
.av-footer p { margin: 6px 0 0; }
.av-footer a { color: #9ee7f7; }
.av-footer__warning { margin-top: 22px !important; padding-top: 15px; border-top: 1px solid var(--av-border); }

.av-methodology { max-width: 960px; padding-top: 55px; padding-bottom: 65px; }
.av-methodology > header { margin-bottom: 30px; }
.av-methodology h1 { margin: 12px 0; font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 900; letter-spacing: -.05em; }
.av-methodology > header p { max-width: 760px; color: var(--av-muted); line-height: 1.7; }
.av-methodology > .av-producer-notice { margin-bottom: 18px; }
.av-method-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 14px 0; }
.av-method-card { margin-bottom: 14px; padding: clamp(18px, 3vw, 28px); border: 1px solid var(--av-border); border-radius: 18px; background: var(--av-surface); }
.av-method-card h2 { margin: 0 0 14px; font-size: 1.1rem; font-weight: 900; }
.av-method-card p, .av-method-card li, .av-method-card dd { color: #b3c4d5; font-size: .78rem; line-height: 1.65; }
.av-method-card code { color: #67e8f9; }
.av-method-card dt { margin-top: 8px; color: #eaf4ff; font-size: .78rem; }
.av-level-list { display: grid; gap: 10px; padding: 0; list-style: none; }
.av-level-list li { display: flex; align-items: center; gap: 9px; }
.av-level { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; }
.av-level--green { background: var(--av-green); }.av-level--yellow { background: var(--av-yellow); }.av-level--orange { background: var(--av-orange); }.av-level--red { background: var(--av-red); }.av-level--unknown { background: #94a3b8; }
.av-back { display: inline-flex; gap: 8px; margin-top: 8px; color: var(--av-cyan); font-size: .8rem; font-weight: 800; text-decoration: none; }

@media (max-width: 992px) {
  .av-hero__content { grid-template-columns: 1fr; }
  .av-risk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .av-city-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .av-city-grid--directory { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .av-explainer { gap: 35px; }
  .av-reading-guide__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .av-site-header__inner { min-height: 56px; }
  .av-brand small { display: none; }
  .av-site-header nav a:first-child { display: none; }
  .av-hero__content { padding-top: 42px; padding-bottom: 42px; }
  .av-hero h1 { font-size: 2.45rem; }
  .av-search-row { display: grid; }
  .av-search-row > button { justify-content: center; min-height: 45px; }
  .av-map-card__head, .av-dashboard__head, .av-section-heading { align-items: start; flex-direction: column; }
  .av-legend { gap: 8px; }
  #av-map { height: 390px; }
  .av-dashboard__actions { width: 100%; flex-wrap: wrap; }
  .av-dashboard__actions select { min-height: 44px; }
  .av-dashboard__actions button { min-height: 44px; }
  .av-dashboard__actions #av-share { flex: 1; }
  .av-risk-grid, .av-chart-grid, .av-nearby-grid, .av-method-grid, .av-footer__grid, .av-explainer, .av-reading-guide__grid, .av-local-links { grid-template-columns: 1fr; }
  .av-panel--wide { grid-column: auto; }
  .av-city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .av-city-grid--directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .av-section-heading p { text-align: left; }
  .av-explainer { gap: 25px; }
  .av-summary__heading { align-items: flex-start; flex-direction: column; }
  #av-institutional-list article { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 460px) {
  .av-brand > span:last-child { font-size: .78rem; }
  .av-site-header nav a { font-size: .7rem; }
  .av-risk-grid, .av-city-grid { grid-template-columns: 1fr; }
  .av-city-grid--directory { grid-template-columns: 1fr; }
  .av-producer-notice { padding: 14px; }
}

/* ============================================================================
   19 septembre 2026 — Contenu rendu par le serveur sur les pages de ville.
   Ajouts uniquement : aucune règle ci-dessus n'est redéfinie. Écrit en
   mobile-first, la largeur croissante n'ajoutant que des colonnes.
   ============================================================================ */
.av-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 16px; color: var(--av-muted); font-size: .76rem; }
.av-breadcrumb a { display: inline-flex; min-height: 34px; align-items: center; color: #bed0e1; text-decoration: none; }
.av-breadcrumb a:hover { color: var(--av-cyan); }
.av-breadcrumb span[aria-current] { color: var(--av-text); font-weight: 750; }

.av-hero--ville .av-hero__content { padding-top: clamp(28px, 4vw, 56px); }
.av-fiche { display: grid; grid-template-columns: 1fr; gap: 10px; max-width: 650px; margin: 24px 0 0; padding: 0; list-style: none; }
.av-fiche li { display: flex; flex-direction: column; gap: 2px; padding: 11px 14px; border: 1px solid var(--av-border); border-radius: 13px; background: rgba(8, 22, 39, .6); }
.av-fiche span { color: var(--av-muted); font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.av-fiche strong { color: var(--av-text); font-size: .88rem; font-weight: 750; }

.av-producer-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; margin: 0 0 22px; padding: 13px 15px; border: 1px solid var(--av-border); border-radius: 14px; color: #bed0e1; background: rgba(16, 36, 58, .55); font-size: .8rem; line-height: 1.55; }
.av-producer-line i { color: var(--av-cyan); }
.av-producer-line a { color: var(--av-cyan); font-weight: 750; }

.av-note--differe { display: flex; gap: 9px; margin: 16px 0 0; padding: 11px 14px; border: 1px dashed var(--av-border); border-radius: 13px; color: var(--av-muted); font-size: .77rem; line-height: 1.5; }
.av-note--differe i { color: var(--av-cyan); }
.av-source-pill { display: inline-block; margin: 0 6px 6px 0; padding: 4px 10px; border: 1px solid var(--av-border); border-radius: 999px; color: #bed0e1; font-size: .72rem; }
.av-muted { color: var(--av-muted); }

.av-questions, .av-geo, .av-prudence { padding-top: clamp(34px, 5vw, 58px); }
.av-questions h2, .av-geo h2, .av-prudence h2 { margin: 12px 0 14px; font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 900; letter-spacing: -.03em; }
.av-questions__intro, .av-geo p, .av-prudence p { max-width: 78ch; margin: 0 0 14px; color: #bed0e1; font-size: .92rem; line-height: 1.75; }
.av-questions__list { margin: 0; padding: 0; }
.av-questions__list dt { margin-top: 18px; color: var(--av-text); font-size: 1rem; font-weight: 800; line-height: 1.4; }
.av-questions__list dd { margin: 7px 0 0; color: #bed0e1; font-size: .9rem; line-height: 1.7; }
.av-questions__source { display: block; margin-top: 4px; color: var(--av-muted); font-size: .74rem; }

.av-geo__grid { display: grid; grid-template-columns: 1fr; gap: 22px; margin-top: 26px; }
.av-geo__grid h3 { margin: 0 0 10px; font-size: .96rem; font-weight: 850; }
.av-geo__grid h3 + h3, .av-geo__grid ul + h3 { margin-top: 28px; }
.av-distances { margin: 0; padding: 0; list-style: none; }
.av-distances li { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; padding: 4px 0; border-bottom: 1px solid var(--av-border); }
.av-distances a { display: inline-flex; min-height: 40px; align-items: center; color: #dbeafe; font-size: .9rem; font-weight: 700; text-decoration: none; }
.av-distances a:hover { color: var(--av-cyan); text-decoration: underline; }
.av-distances span { color: var(--av-muted); font-size: .76rem; }

.av-prudence { padding-bottom: clamp(34px, 5vw, 58px); }
.av-prudence__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.av-prudence__links a { color: var(--av-cyan); font-size: .84rem; font-weight: 750; }

.av-country-index { display: flex; flex-wrap: wrap; gap: 6px; margin: 26px 0 30px; }
.av-country-index a { display: inline-flex; min-height: 40px; align-items: center; padding: 6px 13px; border: 1px solid var(--av-border); border-radius: 999px; color: #bed0e1; font-size: .74rem; font-weight: 700; text-decoration: none; }
.av-country-index a:hover { color: #fff; border-color: var(--av-cyan); background: rgba(34, 211, 238, .1); }
.av-country-block { padding-top: 22px; }
.av-country-block h2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--av-border); font-size: 1.06rem; font-weight: 850; }
.av-country-block h2 .av-muted { font-size: .74rem; font-weight: 600; }
.av-country-cities { display: grid; grid-template-columns: 1fr; gap: 8px; margin: 0; padding: 0; list-style: none; }
.av-country-cities li { display: flex; align-items: center; gap: 8px; }
.av-country-cities a { flex: 1; min-height: 44px; display: flex; align-items: center; padding: 8px 13px; border: 1px solid var(--av-border); border-radius: 12px; color: #dbeafe; background: rgba(13, 27, 45, .7); font-size: .88rem; font-weight: 700; text-decoration: none; }
.av-country-cities a:hover { color: #fff; border-color: var(--av-cyan); }

@media (min-width: 620px) {
  .av-fiche { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .av-country-cities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  .av-geo__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .av-fiche { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .av-country-cities { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.av-reperes { width: 100%; margin: 6px 0 18px; border-collapse: collapse; font-size: .86rem; }
.av-reperes caption { padding-bottom: 9px; color: var(--av-muted); font-size: .76rem; text-align: left; }
.av-reperes th, .av-reperes td { padding: 9px 0; border-bottom: 1px solid var(--av-border); text-align: left; vertical-align: top; }
.av-reperes th { width: 38%; max-width: 260px; padding-right: 18px; color: #dbeafe; font-weight: 700; }
.av-reperes td { color: #bed0e1; line-height: 1.6; }

/* ============================================================================
   19 septembre 2026 — Outils pratiques.
   Ajouts uniquement, en fin de fichier, mobile-first.
   ============================================================================ */
.av-outil-tete { padding: clamp(24px, 4vw, 48px) 0 clamp(18px, 3vw, 30px); border-bottom: 1px solid var(--av-border); background: linear-gradient(140deg, #07111f, #0b1f37 60%, #08243a); }
.av-outil-tete h1 { margin: 12px 0 10px; font-size: clamp(1.7rem, 4vw, 3rem); font-weight: 900; line-height: 1.05; letter-spacing: -.04em; }
.av-outil-question { max-width: 70ch; margin: 0; color: #bed0e1; font-size: clamp(.95rem, 1.4vw, 1.1rem); line-height: 1.65; }

.av-ma-ville { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 20px; padding: 10px 14px; border: 1px solid rgba(34, 211, 238, .3); border-radius: 13px; background: rgba(34, 211, 238, .07); font-size: .8rem; }
.av-ma-ville span { color: var(--av-muted); }
.av-ma-ville a { min-height: 34px; display: inline-flex; align-items: center; color: var(--av-cyan); font-weight: 750; }

.av-verdict { max-width: 78ch; margin-top: 22px; padding: 16px 18px; border: 1px solid var(--av-border); border-left: 4px solid var(--av-muted); border-radius: 14px; background: rgba(13, 27, 45, .75); }
.av-verdict strong { display: block; font-size: clamp(1rem, 1.8vw, 1.2rem); font-weight: 850; line-height: 1.35; }
.av-verdict p { margin: 8px 0 0; color: #bed0e1; font-size: .92rem; line-height: 1.65; }
.av-verdict small { display: block; margin-top: 10px; color: var(--av-muted); font-size: .76rem; line-height: 1.5; }
.av-verdict--rempli, .av-verdict--green { border-left-color: var(--av-green); }
.av-verdict--en_attente, .av-verdict--yellow { border-left-color: var(--av-yellow); }
.av-verdict--rompu, .av-verdict--orange { border-left-color: var(--av-orange); }
.av-verdict--absent, .av-verdict--red { border-left-color: var(--av-red); }
.av-verdict--indisponible, .av-verdict--unknown { border-left-color: var(--av-muted); }

.av-outil-chiffres, .av-outil-serie, .av-outil-journee, .av-outil-calculateur,
.av-outil-methode, .av-outil-ailleurs, .av-outil-garde { padding-top: clamp(28px, 4vw, 46px); }
.av-outil-chiffres h2, .av-outil-serie h2, .av-outil-journee h2, .av-outil-calculateur h2,
.av-outil-methode h2, .av-outil-ailleurs h2, .av-outil-garde h2 { margin: 0 0 12px; font-size: clamp(1.25rem, 2.4vw, 1.8rem); font-weight: 900; letter-spacing: -.03em; }
.av-outil-methode h3 { margin: 22px 0 8px; font-size: 1rem; font-weight: 850; }
.av-outil-chiffres p, .av-outil-methode p, .av-outil-garde p, .av-outil-serie p { max-width: 78ch; margin: 0 0 12px; color: #bed0e1; font-size: .92rem; line-height: 1.75; }
.av-fiche--large li { padding: 13px 15px; }
.av-citation { margin: 0 0 12px; padding: 14px 18px; border-left: 3px solid var(--av-cyan); border-radius: 0 12px 12px 0; background: rgba(34, 211, 238, .07); color: #dbeafe; font-size: .92rem; line-height: 1.7; }
.av-formule { margin: 0 0 14px; padding: 14px 16px; overflow-x: auto; border: 1px solid var(--av-border); border-radius: 12px; color: #dbeafe; background: #071421; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .82rem; line-height: 1.7; }
.av-comparaison { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0 0 14px; padding: 0; list-style: none; }
.av-comparaison li { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 14px; padding: 12px 15px; border: 1px solid var(--av-border); border-radius: 13px; background: rgba(16, 36, 58, .5); }
.av-comparaison span { color: #bed0e1; font-size: .88rem; }
.av-comparaison strong { color: var(--av-cyan); font-size: .95rem; font-weight: 850; }

.av-barres { display: flex; align-items: flex-end; gap: 2px; height: 170px; margin: 0 0 10px; padding: 0 0 26px; overflow-x: auto; list-style: none; }
.av-barre { position: relative; flex: 0 0 15px; min-width: 15px; height: 100%; display: flex; align-items: flex-end; }
.av-barre::after { content: ""; width: 100%; height: var(--hauteur, 2%); min-height: 2px; border-radius: 3px 3px 0 0; background: linear-gradient(180deg, #38bdf8, #2563eb); }
.av-barre--prevu::after { background: linear-gradient(180deg, #a5b4fc, #6366f1); opacity: .75; }
.av-barre--sec::after { background: rgba(148, 180, 211, .25); }
.av-barre__jour { position: absolute; bottom: -24px; left: 50%; color: var(--av-muted); font-size: .55rem; white-space: nowrap; transform: translateX(-50%) rotate(-55deg); transform-origin: top left; }
.av-outil-serie__note { font-size: .76rem; }

.av-heures { display: flex; flex-wrap: wrap; gap: 3px; margin: 0 0 18px; }
.av-heure { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 38px; min-height: 44px; padding: 4px 2px; border-radius: 9px; background: rgba(148, 180, 211, .12); }
.av-heure b { color: var(--av-muted); font-size: .58rem; font-weight: 800; }
.av-heure i { font-size: .72rem; font-style: normal; font-weight: 800; }
.av-heure--green { background: rgba(34, 197, 94, .18); } .av-heure--green i { color: #86efac; }
.av-heure--yellow { background: rgba(250, 204, 21, .18); } .av-heure--yellow i { color: #fde047; }
.av-heure--orange { background: rgba(251, 146, 60, .2); } .av-heure--orange i { color: #fdba74; }
.av-heure--red { background: rgba(239, 68, 68, .22); } .av-heure--red i { color: #fca5a5; }

.av-reperes--plages th[scope="col"], .av-reperes--semaine th[scope="col"] { color: var(--av-muted); font-size: .7rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.av-reperes--plages th[scope="row"], .av-reperes--semaine th[scope="row"] { width: auto; max-width: none; }
.av-reperes--semaine { display: block; overflow-x: auto; white-space: nowrap; }
.av-ligne-active th, .av-ligne-active td { color: #fff; background: rgba(34, 211, 238, .08); }

.av-eau-form { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 0 0 20px; }
.av-eau-form label { display: block; margin-bottom: 6px; color: #dbeafe; font-size: .85rem; font-weight: 800; }
.av-eau-form small { display: block; margin-top: 6px; color: var(--av-muted); font-size: .74rem; line-height: 1.5; }
.av-champ { display: flex; align-items: center; gap: 8px; padding: 0 13px; border: 1px solid var(--av-border); border-radius: 12px; background: #071421; }
.av-champ:focus-within { border-color: var(--av-cyan); box-shadow: 0 0 0 3px rgba(34, 211, 238, .1); }
.av-champ input { width: 100%; min-width: 0; min-height: 44px; padding: 0; border: 0; outline: 0; color: #fff; background: transparent; font-size: 1rem; font-weight: 750; }
.av-champ span { color: var(--av-muted); font-size: .82rem; }
.av-eau-form select { width: 100%; min-height: 46px; padding: 0 12px; border: 1px solid var(--av-border); border-radius: 12px; color: #fff; background: #071421; font-size: .92rem; }
.av-eau-resultat { display: grid; grid-template-columns: 1fr; gap: 12px; }
.av-eau-resultat > div { padding: 15px 17px; border: 1px solid rgba(34, 211, 238, .25); border-radius: 15px; background: rgba(34, 211, 238, .06); }
.av-eau-resultat span { display: block; color: var(--av-muted); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.av-eau-resultat strong { display: block; margin: 4px 0 2px; color: var(--av-cyan); font-size: 1.7rem; font-weight: 900; line-height: 1; }
.av-eau-resultat small { color: var(--av-muted); font-size: .74rem; }
.av-eau-detail { margin-top: 12px; color: var(--av-muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .76rem; line-height: 1.6; }

.av-outil-cartes { display: grid; grid-template-columns: 1fr; gap: 16px; padding-top: clamp(28px, 4vw, 46px); }
.av-outil-carte { padding: 20px; border: 1px solid var(--av-border); border-radius: 18px; background: rgba(13, 27, 45, .7); }
.av-outil-carte__icone { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: linear-gradient(135deg, #0ea5e9, #2563eb); font-size: 1.1rem; }
.av-outil-carte h2 { margin: 13px 0 6px; font-size: 1.15rem; font-weight: 900; }
.av-outil-carte__question { margin: 0 0 9px; color: var(--av-cyan); font-size: .88rem; font-weight: 700; }
.av-outil-carte p { margin: 0 0 9px; color: #bed0e1; font-size: .87rem; line-height: 1.65; }
.av-outil-carte__reseau { display: flex; align-items: center; gap: 7px; color: var(--av-muted); font-size: .76rem; }
.av-outil-carte__villes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--av-border); }
.av-outil-carte__villes a { min-height: 34px; display: inline-flex; align-items: center; padding: 4px 11px; border: 1px solid var(--av-border); border-radius: 999px; color: #dbeafe; font-size: .76rem; font-weight: 700; text-decoration: none; }
.av-outil-carte__villes a:hover { color: #fff; border-color: var(--av-cyan); background: rgba(34, 211, 238, .1); }

.av-outil-ailleurs { display: grid; grid-template-columns: 1fr; gap: 26px; }
.av-outil-ailleurs__lien { margin-top: 12px; font-size: .85rem; }
.av-outil-ailleurs__lien a { color: var(--av-cyan); font-weight: 750; }
.av-outil-liste { margin: 0; padding: 0; list-style: none; }
.av-outil-liste a { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 10px 14px; margin-bottom: 8px; border: 1px solid var(--av-border); border-radius: 13px; color: #dbeafe; background: rgba(13, 27, 45, .7); text-decoration: none; }
.av-outil-liste a:hover { border-color: var(--av-cyan); }
.av-outil-liste i { color: var(--av-cyan); font-size: 1.05rem; }
.av-outil-liste strong { display: block; font-size: .9rem; font-weight: 800; }
.av-outil-liste small { display: block; margin-top: 2px; color: var(--av-muted); font-size: .74rem; line-height: 1.45; }
.av-outil-garde { padding-bottom: clamp(30px, 5vw, 56px); }

@media (min-width: 620px) {
  .av-eau-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .av-eau-resultat { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .av-comparaison { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .av-outil-cartes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  .av-eau-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .av-outil-ailleurs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .av-barre { flex: 1 1 auto; }
}
.av-outil-cartes-ville { padding-top: clamp(30px, 4vw, 50px); }
.av-outil-cartes-ville h2 { margin: 12px 0 16px; font-size: clamp(1.3rem, 2.5vw, 1.9rem); font-weight: 900; letter-spacing: -.03em; }
.av-outil-liste--large { display: grid; grid-template-columns: 1fr; gap: 0; }
@media (min-width: 760px) { .av-outil-liste--large { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; } }

/* Le bandeau du service porte désormais quatre liens : « Outils » s'est ajouté
   à Carte, Villes et Méthodologie. À 390 px, la rangée débordait de 65 px et
   poussait TOUTES les pages du service en défilement horizontal. La navigation
   prend donc sa propre ligne sur les écrans étroits. */
.av-site-header__inner { flex-wrap: wrap; padding-top: 6px; padding-bottom: 6px; row-gap: 2px; }
.av-site-header nav { flex: 1 1 100%; justify-content: flex-start; overflow-x: auto; }
.av-site-header nav a { white-space: nowrap; }
@media (min-width: 560px) {
  .av-site-header__inner { flex-wrap: nowrap; padding-top: 0; padding-bottom: 0; }
  .av-site-header nav { flex: 0 1 auto; justify-content: flex-end; overflow-x: visible; }
}

/* Le passage de l'observé au modélisé est annoncé dans le texte : il doit se
   voir. Une bordure gauche sur la première barre modélisée fait ce trait. */
.av-barre--bascule { border-left: 1px dashed rgba(165, 180, 252, .7); margin-left: 3px; padding-left: 3px; }
.av-data-table { margin-top: 10px; }
.av-data-table summary { cursor: pointer; padding: 9px 0; color: var(--av-cyan); font-size: .84rem; font-weight: 750; }
.av-table-wrap { overflow-x: auto; }
.av-table-wrap table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.av-table-wrap th, .av-table-wrap td { padding: 7px 10px 7px 0; border-bottom: 1px solid var(--av-border); text-align: left; white-space: nowrap; }
.av-table-wrap th[scope="row"] { color: #dbeafe; font-weight: 700; }
.av-table-wrap td { color: #bed0e1; }

/* 19 septembre 2026 — Accès aux outils depuis l'accueil, et couverture servie.
   L'accueil ne portait que 571 mots et ne menait nulle part vers les outils. */
.av-outils-accueil { padding-top: clamp(30px, 4vw, 52px); }
.av-outil-cartes--accueil { padding-top: 18px; }
.av-outil-carte h3 { margin: 13px 0 6px; font-size: 1.1rem; font-weight: 900; }
.av-outil-carte h3 a { color: inherit; text-decoration: none; }
.av-outil-carte h3 a:hover { color: var(--av-cyan); }
.av-couverture { padding-top: clamp(30px, 4vw, 52px); }
.av-couverture h2 { margin: 12px 0 18px; font-size: clamp(1.3rem, 2.5vw, 1.9rem); font-weight: 900; letter-spacing: -.03em; }
.av-couverture__grille { display: grid; grid-template-columns: 1fr; gap: 14px; margin-bottom: 16px; }
.av-couverture__grille > div { padding: 15px 17px; border: 1px solid var(--av-border); border-radius: 15px; background: rgba(13, 27, 45, .7); }
.av-couverture__grille h3 { margin: 0 0 6px; color: var(--av-cyan); font-size: .92rem; font-weight: 850; }
.av-couverture__grille p { margin: 0; color: #bed0e1; font-size: .84rem; line-height: 1.6; }
.av-footer__links { margin: 14px 0 0; font-size: .82rem; }
.av-footer__links a { color: var(--av-cyan); font-weight: 700; }
@media (min-width: 620px) { .av-couverture__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .av-couverture__grille { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
