/* Échelle commune : lisibilité, largeur de lecture et proportions des médias. */
.photo-credit { display:block; margin-top:6px; font-size:.8125rem; line-height:1.5; }
.photo-credit a { text-decoration:underline; text-underline-offset:3px; }
.footer-grid { gap:36px; }
.footer-brand p { font-size:.9375rem; color:#bdc9d4; }
.footer-grid>div>a { font-size:.875rem; line-height:1.6; }
.footer-grid>div>b,.footer-bottom { font-size:.8125rem; letter-spacing:.03em; }
.documentary-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.documentary-gallery figure { margin:0; min-width:0; background:var(--paper); }
.documentary-gallery img { display:block; width:100%; height:260px; object-fit:cover; }
.documentary-gallery figcaption { padding:16px; font-size:.9375rem; line-height:1.6; }
.container,.narrow { width:min(calc(100% - 64px),1200px); }
.header-container { width:min(calc(100% - 48px),1440px); }
main p { font-size:1rem!important; line-height:1.7; }
main .lead { font-size:1.125rem!important; }
.hero-lead,.page-hero p,.party-hero p,.fdnl-hero p:not(.fdnl-kicker) { font-size:1.125rem!important; line-height:1.65; }
main h1 { font-size:clamp(2rem,4vw,3.5rem)!important; line-height:1.12!important; letter-spacing:-.035em!important; overflow-wrap:break-word; }
.hero h1 { font-size:clamp(2.25rem,4.5vw,4rem)!important; }
.page-hero,.party-hero { padding-block:40px 48px; }
.hero { padding-top:48px; }
.hero-grid { grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr); gap:48px; }
.rubrique-hero-grid,.directory-hero-grid,.data-hero-grid,.lexicon-hero-grid { grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr); gap:48px; align-items:center; }
.rubrique-hero-visual,.directory-hero-visual,.data-hero-visual,.lexicon-hero-visual { width:100%; height:auto; justify-self:stretch; }
.rubrique-hero-visual img,.directory-hero-visual img,.data-hero-visual img,.lexicon-hero-visual img { width:100%; height:280px; object-fit:cover; }
.rubrique-hero-visual::before,.directory-hero-visual::before,.data-hero-visual::before,.lexicon-hero-visual::before { content:none; }
.rubrique-hero-visual::after,.directory-hero-visual::after,.data-hero-visual::after,.lexicon-hero-visual::after { content:none; }
.rubrique-hero-visual figcaption,.directory-hero-visual figcaption,.data-hero-visual figcaption,.lexicon-hero-visual figcaption { position:relative; inset:auto; padding:10px 12px; background:#102d48; color:#e2eaf2; font-size:.8125rem; line-height:1.5; text-transform:none; letter-spacing:0; }
.breadcrumb { flex-wrap:wrap; gap:6px 10px; margin-bottom:24px; font-size:.8125rem; }
.review-date { font-size:.8125rem; letter-spacing:.025em; text-transform:none; color:#bac9d8; margin-top:16px; }
.eyebrow { font-size:.75rem; letter-spacing:.1em; }
.section-heading { align-items:flex-start; gap:24px; margin-bottom:28px; }
.section-heading>div { min-width:0; }
.section-heading>.text-link { flex-shrink:0; }
.section-heading h2,.section-intro h2,.answer-heading h2,.institution-copy h2,.method-section h2 { font-size:clamp(1.75rem,3vw,2.375rem); line-height:1.18; }
.answer-heading { grid-template-columns:180px minmax(0,1fr); gap:28px; margin-bottom:28px; }
.content-section,.quick-section,.directory-section,.method-section,.elections-section,.answer-section,.editorial-guides-hub,.guide-direct-answer,.guide-sources-section,.guide-related-section,.lexicon-section,.institutions-section,.employment-jobs-section,.employment-directory-section { padding-block:56px; }
.prose-grid { gap:32px; margin-block:36px; }
.prose-grid article { min-width:0; }
.editorial-guide-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.editorial-guide-card { min-height:0; padding:24px; }
.editorial-guide-card>figure { height:170px; margin:-24px -24px 20px; }
.editorial-guide-card h3 { margin:20px 0 12px; font-size:1.5rem; line-height:1.25; }
.editorial-guide-card small { font-size:.75rem; letter-spacing:.035em; }
.editorial-guide-card>strong,.guide-related-grid span,.text-link,.answer-card a,.quick-card i { font-size:.8125rem; letter-spacing:.035em; }
.guide-direct-card { grid-template-columns:80px minmax(0,1fr); gap:24px; padding:28px; }
.guide-direct-mark { font-size:2.5rem; }
.guide-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
.guide-steps li { min-height:0; grid-template-columns:48px minmax(0,1fr); gap:18px; padding:24px; }
.guide-step-number { width:44px; height:44px; }
.guide-steps h3 { font-size:1.375rem; }
.guide-faq-layout { grid-template-columns:minmax(200px,.65fr) minmax(0,1.35fr); gap:36px; }
.guide-faq-list details p { padding-right:16px; }
.guide-source-note,main .source-note p { font-size:.875rem!important; }
.guide-related-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.guide-related-grid a,.answer-card,.quick-card,.lexicon-card { min-height:0; }
.guide-related-grid h3 { line-height:1.3; }
.guide-jump-nav a,.employment-jump a,.data-jump a { font-size:.8125rem; letter-spacing:.025em; }
.guide-jump-nav .container { gap:24px; }
.quick-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.quick-card-content { padding:22px; }
.quick-card-media { aspect-ratio:16/9; }
.employment-jobs-grid,.training-grid,.employment-directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.employment-job-card,.training-grid article,.employment-directory-card,.employment-status-grid article { min-height:0; }
.employment-job-card,.training-grid article { padding:24px; }
.employment-job-card>small,.employment-job-card>div b,.training-grid span { font-size:.75rem; }
.employment-job-card h3,.training-grid h3 { margin-top:20px; }
.lexicon-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.lexicon-card { padding:24px; }
.lexicon-card>a { font-size:.875rem; margin-top:20px; }
.practical-table { min-width:520px; }
.practical-table th,.practical-table td { padding:14px; }
.editorial-visual { margin-block:32px; }
.editorial-visual img { height:320px; }
.editorial-visual figcaption { font-size:.8125rem; }
/* Le pont de l’annuaire charge ensuite ses styles : sélecteurs explicites. */
.fdnl-body .fdnl-breadcrumbs,.fdnl-body .fdnl-section,.fdnl-body .fdnl-hero>div { width:min(calc(100% - 64px),1200px); }
.fdnl-body .fdnl-section-muted { width:100%; padding-inline:max(32px,calc((100% - 1200px)/2)); }
.fdnl-body .fdnl-hero>div,.fdnl-body .fdnl-section { padding-block:48px; }
.fdnl-body .fdnl-directory-hero-grid { grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr); gap:40px; }
.fdnl-body .fdnl-directory-hero img { height:280px; }
@media (max-width:1100px) {
 .rubrique-hero-grid,.directory-hero-grid,.data-hero-grid,.lexicon-hero-grid { gap:30px; grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr); }
 .editorial-guide-grid,.quick-grid,.lexicon-grid,.employment-jobs-grid,.training-grid,.employment-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .main-nav a { font-size:.8125rem; }
}
@media (max-width:800px) {
 .hero-grid,.rubrique-hero-grid,.directory-hero-grid,.data-hero-grid,.lexicon-hero-grid,.fdnl-body .fdnl-directory-hero-grid { grid-template-columns:1fr; gap:24px; }
 .rubrique-hero-visual img,.directory-hero-visual img,.data-hero-visual img,.lexicon-hero-visual img { height:auto; aspect-ratio:16/9; max-height:280px; }
 .rubrique-hero-visual,.directory-hero-visual,.data-hero-visual,.lexicon-hero-visual { max-width:560px; }
 .answer-heading,.guide-faq-layout { grid-template-columns:1fr; gap:20px; }
 .guide-steps,.guide-checklist,.guide-source-grid { grid-template-columns:1fr; }
 .guide-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .guide-jump-nav .container { justify-content:flex-start; }
 .hero-stats { max-width:560px; }
}
@media (max-width:600px) {
 .documentary-gallery { grid-template-columns:1fr; }
 .documentary-gallery img { height:210px; }
 .container,.header-container,.footer-container,.narrow,.fdnl-body .fdnl-breadcrumbs,.fdnl-body .fdnl-section,.fdnl-body .fdnl-hero>div { width:calc(100% - 32px); }
 .fdnl-body .fdnl-section-muted { width:100%; padding-inline:16px; }
 .page-hero,.party-hero,.fdnl-body .fdnl-hero>div { padding-block:28px 32px; }
 .hero { padding-top:32px; }
 main h1 { font-size:2rem!important; line-height:1.16!important; }
 .hero h1 { font-size:2.25rem!important; }
 .hero-lead,.page-hero p,.party-hero p { font-size:1.0625rem!important; }
 .section-heading { flex-wrap:wrap; gap:16px; }
 .content-section,.quick-section,.directory-section,.method-section,.elections-section,.answer-section,.editorial-guides-hub,.guide-direct-answer,.guide-sources-section,.guide-related-section,.lexicon-section,.institutions-section { padding-block:36px; }
 .editorial-guide-grid,.quick-grid,.lexicon-grid,.employment-jobs-grid,.training-grid,.employment-directory-grid,.guide-related-grid,.prose-grid { grid-template-columns:1fr; }
 .guide-direct-card { grid-template-columns:1fr; gap:12px; padding:20px; }
 .guide-steps li { grid-template-columns:36px minmax(0,1fr); gap:12px; padding:18px; }
 .guide-step-number { width:32px; height:32px; }
 .guide-steps h3 { font-size:1.25rem; }
 .guide-jump-nav .container { gap:20px; width:100%; }
 .breadcrumb { font-size:.75rem; margin-bottom:20px; }
 .review-date { font-size:.75rem; }
 .editorial-visual img { height:220px; }
 .fdnl-body .fdnl-directory-hero img { height:auto; aspect-ratio:16/9; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .editorial-guide-card,.quick-card { transition:none; } }
