/* Page documentée : capacité d’accueil et familles, 17 septembre 2026. */
.capacity-page{--capacity-red:#ce1839;--capacity-paper:#f6f8fb;color:#173451;font-size:18px;line-height:1.6}
.capacity-page .shell{max-width:1160px}
.capacity-page h1,.capacity-page h2,.capacity-page h3{color:#06366f;line-height:1.12;letter-spacing:-.035em}
.capacity-page p{margin:0 0 18px}
.capacity-page h1{font-size:clamp(36px,4vw,58px);margin:14px 0 24px;font-weight:900}
.capacity-page h1 span,.capacity-wait h2 span{color:var(--capacity-red)}
.capacity-page h2{font-size:clamp(29px,3.1vw,43px);margin:0 0 24px}
.capacity-page h3{font-size:22px;margin:8px 0 12px}
.capacity-page .capacity-kicker,.capacity-teaser .capacity-kicker{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#9e1530;margin:0 0 16px}
.capacity-hero{background:linear-gradient(130deg,#f4f8fc,#fff 78%);padding:52px 0 58px;border-bottom:1px solid #d8e5ef}
.capacity-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:60px;align-items:center}
.capacity-lead{font-size:21px;line-height:1.5;font-weight:700}
.capacity-page .capacity-date{font-size:12px;color:#5a6e83;margin-top:22px;margin-bottom:0}
.capacity-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:22px}
.capacity-actions .btn{margin:0;font-size:16px;min-height:48px}
.capacity-text-link{font-weight:700;text-underline-offset:4px;font-size:15px}
.capacity-house{margin:0;border:1px solid #c8d9e8;border-radius:20px;background:white;padding:22px 28px 28px;text-align:center;box-shadow:0 14px 38px #06366f0d}
.capacity-house svg{width:100%;max-width:320px;height:auto;display:block;margin:0 auto 12px}
.capacity-house figcaption>strong{display:block;font-size:32px;line-height:1.1;color:#06366f;letter-spacing:-.04em}
.capacity-house figcaption>span{display:block;font-size:20px;color:#9e1530;font-weight:700;margin:8px 0 18px}
.capacity-house p{font-size:16px}.capacity-house a{font-size:15px;font-weight:700;text-underline-offset:4px}
.capacity-section{padding:58px 0;border-bottom:1px solid #d8e5ef;scroll-margin-top:25px}
.capacity-two-col{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
.capacity-argument{padding:26px 28px;background:#fff1f2;border-left:5px solid #ce1839;border-radius:0 12px 12px 0}
.capacity-argument p:last-child{margin:0}
.capacity-page .capacity-note{background:var(--capacity-paper);padding:17px 20px;border-radius:8px;font-size:15px;line-height:1.55;margin:22px 0 0;color:#3c536a}
.capacity-ref{font-size:.8em;white-space:nowrap;color:#074f96;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.capacity-chart{margin:26px 0 0;border:1px solid #d1dfec;border-radius:14px;padding:26px;background:#fff}
.capacity-chart figcaption{margin-bottom:24px}.capacity-chart figcaption strong{display:block;color:#06366f;font-size:21px;line-height:1.25;letter-spacing:-.015em}.capacity-chart figcaption span{display:block;color:#526a80;font-size:13px;margin-top:7px}
.capacity-stacked{display:flex;width:100%;height:42px;border-radius:6px;overflow:hidden;gap:2px;background:white}
.capacity-legend{list-style:none;margin:25px 0;padding:0;display:grid;gap:12px;font-size:16px}
.capacity-legend li{display:grid;grid-template-columns:13px 1fr auto;gap:13px;align-items:start}
.capacity-legend i{width:13px;height:13px;border-radius:3px;margin-top:6px}.capacity-legend strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.capacity-page .capacity-small{font-size:13px;line-height:1.6;color:#52687c;margin-top:20px;margin-bottom:0}
.capacity-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.capacity-facts article{padding:28px;background:#f4f8fc;border-radius:12px;border-top:4px solid #06366f}
.capacity-number{display:block;font-size:clamp(34px,4vw,49px);line-height:1.15;letter-spacing:-.045em;color:#06366f;white-space:nowrap;font-variant-numeric:tabular-nums}
.capacity-facts article p:last-child{font-size:15px;margin:0}.capacity-facts h3{font-size:21px;margin:15px 0}
.capacity-timeline{list-style:none;display:grid;grid-template-columns:1fr 1.15fr 1fr;margin:34px 0 28px;padding:0;gap:0;border:1px solid #cbd9e6;border-radius:13px;overflow:hidden}
.capacity-timeline li{padding:25px 23px;background:#f5f8fc}.capacity-timeline li+li{border-left:1px solid #cbd9e6}
.capacity-timeline .capacity-timeline-wait{background:#fff1f2}
.capacity-step{display:block;font-size:12px;color:#6a7f91;font-weight:800;margin-bottom:15px}
.capacity-timeline time,.capacity-timeline strong{display:block;font-size:21px;font-weight:900;letter-spacing:-.02em;line-height:1.3}
.capacity-timeline-wait strong{color:#b71634}.capacity-timeline h3{font-size:18px;letter-spacing:0;margin-top:15px}.capacity-timeline p{font-size:15px;margin:0}
.capacity-quota{display:flex;align-items:center;gap:28px;padding:24px 28px;background:#06366f;color:white;border-radius:12px}
.capacity-quota>strong{font-size:44px;white-space:nowrap;letter-spacing:-.04em}.capacity-quota b{display:block;font-size:17px;line-height:1.4}.capacity-quota span{display:block;font-size:14px;line-height:1.6;margin-top:8px}.capacity-quota a{color:#fff}
.capacity-school-grid{grid-template-columns:1fr 1.15fr;gap:36px}.capacity-schools{margin:0;padding:25px}
.capacity-bar-chart{font-size:12px}.capacity-axis{display:flex;justify-content:space-between;margin:0 0 10px 83px;color:#586d80}
.capacity-bar-row{display:grid;grid-template-columns:73px minmax(0,1fr);gap:10px;align-items:center;margin:13px 0;font-variant-numeric:tabular-nums}
.capacity-bar-row>span{white-space:nowrap;font-weight:700}
.capacity-bar-row>div{position:relative;display:flex;align-items:center;height:30px;background:linear-gradient(to right,transparent calc(50% - 1px),#dce5ed 50%,transparent calc(50% + 1px));border-left:1px solid #a8baca;border-right:1px solid #dce5ed}
.capacity-bar-row i{display:block;background:#20659c;height:24px;border-radius:0 3px 3px 0;flex-shrink:0}.capacity-bar-row b{margin-left:5px;font-size:13px;white-space:nowrap}.capacity-bar-last i{background:#ce1839}.capacity-bar-last b{color:#ad1632}
.capacity-chart details{margin-top:18px;font-size:14px}.capacity-chart summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-weight:700;padding:7px 0}
.capacity-chart table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}.capacity-chart caption{text-align:left;margin-bottom:9px;color:#52687c}.capacity-chart td,.capacity-chart th{border-bottom:1px solid #d8e5ef;text-align:left;padding:8px 4px}.capacity-chart td{white-space:nowrap}
.capacity-demands{margin:50px 0 0;padding:40px 44px;background:#06366f;color:#fff;border-radius:16px;scroll-margin-top:25px}
.capacity-demands .capacity-kicker{color:#c6e2f5}.capacity-demands h2{color:white}.capacity-demands ol{list-style:none;counter-reset:demands;padding:0;display:grid;gap:22px;margin:30px 0}.capacity-demands li{position:relative;padding-left:45px;counter-increment:demands}.capacity-demands li:before{content:counter(demands);position:absolute;left:0;top:2px;display:grid;place-items:center;width:29px;height:29px;border:1px solid #a5c1dc;border-radius:50%;font-weight:700;font-size:14px}.capacity-demands li strong{display:block;font-size:19px;line-height:1.4}.capacity-demands li span{display:block;font-size:16px;margin-top:6px;color:#e0ecf6}.capacity-demand-end{font-size:24px;line-height:1.35;border-top:1px solid #547798;padding-top:25px}.capacity-demands .btn{background:white;color:#06366f}.capacity-demands .capacity-text-link{color:#fff}
.capacity-sources{border-bottom:0;font-size:15px;padding-bottom:40px}.capacity-sources h2{font-size:28px}.capacity-sources ol{padding-left:23px}.capacity-sources li{padding:10px 0 12px 6px;scroll-margin-top:30px}.capacity-sources li a{color:#064a89;font-weight:700;text-underline-offset:3px;overflow-wrap:anywhere}.capacity-sources li span{display:block;margin-top:5px;color:#52687c;font-size:13px}
.capacity-teaser{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin:0 0 18px;background:#fff;border:1px solid #ccddeb;border-left:6px solid #ce1839;padding:25px 28px;border-radius:9px;color:#173451}
.capacity-teaser h2{font-size:27px;color:#06366f;letter-spacing:-.03em;line-height:1.13;margin:0 0 8px}.capacity-teaser p{font-size:17px;margin:0;line-height:1.5}.capacity-teaser .capacity-kicker{margin-bottom:10px}.capacity-teaser .btn{margin:0;white-space:nowrap;font-size:15px}
/* Le menu reste confortable avec le nouveau lien. */
@media(min-width:1101px) and (max-width:1240px){.header-v4 .nav-desktop{display:none}.header-v4 .menu-btn{display:block;margin-left:auto}}
@media(max-width:800px){.capacity-hero-grid{grid-template-columns:1fr;gap:28px}.capacity-hero{padding:35px 0}.capacity-house{max-width:500px;margin:auto}.capacity-house svg{max-width:230px}.capacity-two-col,.capacity-school-grid{grid-template-columns:1fr;gap:22px}.capacity-section{padding:38px 0}.capacity-timeline{grid-template-columns:1fr}.capacity-timeline li+li{border-left:0;border-top:1px solid #cbd9e6}.capacity-timeline li{padding:21px}.capacity-step{margin-bottom:8px}.capacity-demands{padding:30px 25px}.capacity-teaser{grid-template-columns:1fr;gap:17px}.capacity-teaser .btn{justify-self:start}}
@media(max-width:540px){.capacity-page{font-size:17px}.capacity-page .shell{width:calc(100% - 32px)}.capacity-facts{grid-template-columns:1fr}.capacity-facts article{padding:23px}.capacity-chart{padding:20px 16px}.capacity-legend{font-size:14px;gap:14px}.capacity-legend li{grid-template-columns:11px 1fr auto;gap:9px}.capacity-legend i{width:11px;height:11px}.capacity-quota{display:block;padding:24px}.capacity-quota>strong{display:block;margin-bottom:9px}.capacity-argument{padding:22px}.capacity-house{padding:18px 22px 25px}.capacity-actions{gap:18px}.capacity-demands{padding:28px 21px}.capacity-demands li{padding-left:38px}.capacity-demand-end{font-size:22px}.capacity-teaser{padding:23px 18px}.capacity-teaser h2{font-size:25px}.capacity-stacked{height:33px}.capacity-schools .capacity-bar-row b{font-size:12px;margin-left:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.breadcrumbs,.legal-footer,.capacity-actions,.capacity-teaser{display:none}.capacity-page{font-size:11pt}.capacity-hero{padding:0;background:white}.capacity-hero-grid{display:block}.capacity-house{display:none}.capacity-section{padding:20px 0}.capacity-page h1{font-size:28pt}.capacity-page h2{font-size:22pt}.capacity-chart,.capacity-timeline,.capacity-facts article{break-inside:avoid}.capacity-page *{print-color-adjust:exact;-webkit-print-color-adjust:exact}.capacity-demands{margin:20px 0;padding:25px}}
