/* Échelle et grilles communes : desktop, tablette et téléphone. */
:root{--content-max:1200px;--header-max:1280px;--footer-max:1200px;--gutter:clamp(16px,3vw,32px)}
body{font-size:16px;line-height:1.65}
/* Les anciens composants définissaient parfois des paragraphes à 12 px. */
main :is(p,li){font-size:1rem!important;line-height:1.75}
main .editorial-breadcrumbs li,main .fdnl-kicker{font-size:.875rem!important}
.wrap{width:min(var(--content-max),calc(100% - var(--gutter)*2))}
.narrow{width:min(800px,calc(100% - var(--gutter)*2))}
.section{padding-block:clamp(40px,5vw,72px)}
.page-intro{padding:clamp(36px,5vw,64px) 0}
.page-intro h1,.article-head h1{font-size:clamp(2rem,3.8vw,3.5rem);line-height:1.12;letter-spacing:-.035em;max-width:24ch}
.page-intro h1{margin-inline:auto}
.hero-with-photo .hero-copy h1,.hero-copy h1{font-size:clamp(2.4rem,3.6vw,3.5rem);line-height:1.08}
.hero-with-photo .hero-grid,.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px}
.hero-photo,.choice-photo{min-height:0;align-self:center}
.hero-photo img,.choice-photo img,.local-feature>img,.real-life-grid .editorial-photo img{width:100%;height:auto;min-height:0;max-height:380px;aspect-ratio:4/3;object-fit:cover}
.hero-photo figcaption,.choice-photo figcaption{font-size:.875rem;line-height:1.5}
.choice-layout{gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.section-heading h2{font-size:clamp(1.85rem,3vw,2.8rem);line-height:1.15}
.section>.wrap>h2,.directory-pathways>h2{font:700 clamp(1.5rem,2.4vw,2rem)/1.25 var(--serif);margin:2rem 0 1rem}
.article-page .article-head{padding-block:40px;max-width:800px}
.article-head p{font-family:var(--sans);font-size:1.08rem;line-height:1.75}
.article-layout{grid-template-columns:minmax(190px,230px) minmax(0,760px);gap:clamp(28px,4vw,56px);justify-content:center;padding-block:48px}
.article-layout>aside{max-height:calc(100vh - 48px);overflow:auto}
.article-layout>aside a{font-size:.9rem;line-height:1.5}
.article-layout>aside>span,.eyebrow{font-size:.8rem}
.article-body{min-width:0;max-width:760px}
.article-body>section{padding:0 0 36px 28px}
.article-body h2{font-size:clamp(1.45rem,2.3vw,1.85rem);line-height:1.3}
.article-body h3{font-size:1.15rem;line-height:1.4;margin:1.5rem 0 .75rem;font-weight:700}
.article-body p,.article-body li,.editorial-extension p{font-size:1rem;line-height:1.8}
.article-body p+p{margin-top:1rem}
.article-body blockquote{font-size:1.1rem;padding:24px;margin-block:16px 24px}
.article-body blockquote p{color:inherit}
.article-lead-media,.page-lead-media{width:min(960px,calc(100% - var(--gutter)*2));margin:0 auto}
.article-lead-media img,.page-lead-media img{width:100%;height:auto;aspect-ratio:16/9;max-height:400px;object-fit:cover;box-shadow:none}
.article-lead-media figcaption,.page-lead-media figcaption{font-size:.875rem;line-height:1.6}
.article-lead-media+.article-layout,.page-lead-media+.law-page{padding-top:40px}
.featured-guide{padding:clamp(24px,3vw,40px);gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:32px}
.featured-guide h2{font-size:clamp(1.8rem,2.6vw,2.4rem);line-height:1.15}
.guide-feature-photo img{height:auto;aspect-ratio:3/2;max-height:310px}
.guide-feature-photo::before{inset:8px -8px -8px 8px}
.guide-tools{margin-top:32px;padding:24px}
.guide-filter-row button{min-height:44px;font-size:.9rem}
.guide-count{font-size:.9rem}
.guide-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border:0}
.guide-card-grid>a.guide-photo-card{display:flex;flex-direction:column;min-height:0;padding:0 22px 22px;border:1px solid var(--line);border-radius:8px;position:relative}
.guide-photo-card>img{width:calc(100% + 44px);max-width:none;height:auto;aspect-ratio:16/9;margin:0 -22px 20px;object-fit:cover}
.guide-photo-card>span{position:static;align-self:flex-start;margin-bottom:8px}
.guide-photo-card h2,.guide-photo-card h3{font:700 1.3rem/1.35 var(--serif);margin:12px 0}
.guide-card-grid p,.directory-card p,.category-card p{font-size:.95rem;line-height:1.7}
.guide-photo-card small{font-size:.85rem}
.guide-photo-card b{position:static;margin-top:auto;padding-top:16px;font-size:.9rem}
.guide-faq{margin-block:48px}
.guide-faq h2{font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.2}
.related-guides{grid-template-columns:repeat(3,minmax(0,1fr));margin-block:40px;gap:1px}
.related-guides>div{grid-column:1/-1}
.related-guides>a{min-height:120px;padding:22px}
.related-guides small{font-size:.8rem}
.directory-pathways{margin:32px 0}
.directory-pathway-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:32px}
.directory-pathway-grid article{min-width:0}
.main-nav{font-size:.9rem;gap:24px}
.header-help,.button,.text-link,.card-cta{font-size:.9rem}
.footer-grid a,.footer-grid p,.footer-bottom{font-size:.9rem;line-height:1.7}
.legal-copy{max-width:800px;line-height:1.8}
.legal-copy p,.method-grid p,.teen-rules p,.reflex-grid p,.safety-routing p,.safety-scope-warning p,.directory-editorial-note p,.directory-safety-heading p,.directory-safety-grid p,.glossary-grid p,.evidence-card li,.evidence-card p{font-size:1rem;line-height:1.75}
.glossary-count,.fdnl-kicker,.fdnl-card small,.fdnl-city-grid small,.fdnl-city-grid>a b{font-size:.875rem}
.safety-illustration,.editorial-photo{width:min(860px,100%);margin:24px auto}
.safety-illustration img,.editorial-photo img{width:100%;height:auto;aspect-ratio:16/9;max-height:360px;object-fit:cover}
.editorial-photo figcaption{font-size:.875rem;line-height:1.6}
.editorial-breadcrumbs ol{flex-wrap:wrap;white-space:normal}
.editorial-breadcrumbs{font-size:.85rem}
img{max-width:100%}
.hero-grid,.guide-layout,.real-life-grid,.law-layout,.teen-layout{gap:clamp(24px,4vw,56px)}
.hero-grid>* ,.featured-guide>* ,.directory-grid>* ,.guide-layout>* ,.law-layout>* ,.teen-layout>* {min-width:0}
.comparison-scroll{max-width:100%;overflow-x:auto}
.fdnl-body .fdnl-hero h1{font-size:clamp(2rem,3.8vw,3.5rem);line-height:1.12;letter-spacing:-.035em}
.fdnl-heading h2,.fdnl-two-columns h2{font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.25}
.fdnl-body .fdnl-hero>div,.fdnl-body .fdnl-section{padding-block:48px}
.fdnl-body .fdnl-hero>.fdnl-hero-visual{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
.fdnl-hero-visual img{max-height:340px}
.fdnl-hero-visual figcaption{font-size:.875rem}
.fdnl-resource-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.fdnl-resource-card{min-height:0;padding:24px}
.fdnl-resource-head{grid-template-columns:64px minmax(0,1fr)}
.fdnl-resource-head h3{font-size:1.25rem;overflow-wrap:anywhere}
.fdnl-resource-head p,.fdnl-resource-scope,.fdnl-caution,.fdnl-observation,.fdnl-resource-card>small{font-size:.875rem}
.fdnl-two-columns{gap:32px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.fdnl-global-warning{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.fdnl-city-grid,.fdnl-grid,.fdnl-link-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.fdnl-resource-actions{flex-wrap:wrap}
.fdnl-facts dl div{flex-wrap:wrap}
@media(min-width:721px) and (max-width:1000px){.guide-card-grid,.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:190px minmax(0,1fr);gap:24px}.article-body>section{padding-left:20px}.header-inner{flex-wrap:wrap;height:auto;min-height:82px;padding-block:12px;gap:12px}.main-nav{gap:16px}.main-nav a{padding-block:12px}.header-help{display:none}}
@media(max-width:760px){.fdnl-body .fdnl-hero>.fdnl-hero-visual,.fdnl-two-columns,.fdnl-global-warning{grid-template-columns:1fr}.fdnl-hero-visual img{max-height:260px}.fdnl-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
 .hero-photo img,.choice-photo img,.local-feature>img,.real-life-grid .editorial-photo img{max-height:260px;aspect-ratio:4/3}
 .choice-layout{grid-template-columns:1fr;gap:24px}
 .header-inner{height:auto;min-height:72px;flex-wrap:wrap;gap:12px;padding-block:12px}
 .main-nav{position:static;flex-basis:100%;width:100%;justify-content:space-between;gap:12px;padding:4px 0 0;border:0;overflow-x:auto;font-size:.85rem}
 .main-nav a{padding:8px 0;min-height:40px}
 .hero,.page-intro{padding-block:36px}
 .hero-with-photo .hero-grid,.hero-grid,.featured-guide,.article-layout,.guide-layout,.real-life-grid,.teen-layout,.law-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .article-page .article-head{padding-block:28px}
 .article-layout{padding-block:28px}
 .article-layout>aside{position:static;max-height:none;margin-bottom:8px}
 .article-body>section{padding-left:16px;padding-bottom:28px}
 .article-body .chapter{left:-14px;width:28px;height:28px;font-size:.7rem}
 .guide-card-grid,.directory-pathway-grid{grid-template-columns:minmax(0,1fr)}
 .guide-photo-card>img{aspect-ratio:16/9;max-height:220px}
 .guide-feature-photo img{max-height:240px}
 .guide-tools{padding:20px;margin-top:24px}
 .guide-feature-photo figcaption{position:relative;inset:auto;max-width:none;margin-top:8px;padding:0;background:none;font-size:.875rem;line-height:1.6}
 .guide-feature-photo::before{display:none}
 .related-guides{grid-template-columns:minmax(0,1fr)}
 .related-guides>a{min-height:0;padding:20px}
 .section-heading{gap:20px;margin-bottom:28px}
 .article-lead-media img,.page-lead-media img{max-height:240px}
 .fdnl-body .fdnl-section,.fdnl-body .fdnl-hero>div{padding-block:32px}
 .fdnl-resource-card{padding:20px}
 .comparison-form label{min-width:0}
}
.result-line [data-result-label]{display:inline;color:inherit;font-size:inherit;margin:0}
@media(max-width:380px){.main-nav{gap:16px;justify-content:flex-start}.brand-copy{min-width:0}.brand-copy strong{font-size:1.1rem}.fdnl-stat-grid{grid-template-columns:1fr}.article-body blockquote{padding:18px}}
