/* Shared reading scale and layout constraints for every page family. */
:root{--content-width:1280px;--header-width:1440px;--footer-width:1280px;--page-gutters:64px;--section-space:64px}
body{font-size:17px;line-height:1.65}
html{scroll-padding-top:104px}
.narrow{width:min(1024px,calc(100% - var(--page-gutters)))}
.prose.narrow{max-width:780px}
h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}
h1{font-size:clamp(2.1rem,4.1vw,3.6rem);line-height:1.12}
h2{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.16}
h3{line-height:1.25}
p{overflow-wrap:break-word}
.section,.fdnl-section{padding-block:var(--section-space)}
.section-heading,.directory-intro{gap:36px;margin-bottom:32px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.section-heading>p,.directory-intro>p{max-width:58ch}
.container>h2{margin-bottom:24px}
.eyebrow,.fdnl-kicker,.step-label{font-size:.78rem;letter-spacing:.1em;line-height:1.5}
.button,.button-small{font-size:.9rem;min-height:44px;gap:12px}
.text-link{font-size:.94rem}
.header-inner{gap:24px;min-width:0}
.brand{flex-shrink:0;gap:10px}
.brand strong{font-size:.95rem;letter-spacing:.01em;white-space:nowrap}
.brand small{font-size:.67rem;letter-spacing:.06em}
.main-nav{gap:14px;font-size:.88rem;min-width:0}
.main-nav a{line-height:1.35}
.main-nav .button{max-width:170px;text-align:center;font-size:.8rem}
.utility{font-size:.8rem}
.utility .container{gap:16px;min-height:36px;height:auto;padding-block:5px}
.menu-toggle{min-height:44px;flex-shrink:0}
.home-hero .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:0;gap:40px;padding-block:48px}
.hero-copy{padding:0}
.hero-copy h1{font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.12}
.hero-media{height:440px;max-height:440px;margin:0}
.hero-media figcaption{left:16px;right:16px;bottom:16px;padding:14px 18px;max-width:none}
.hero-media figcaption span{font-size:.75rem}
.hero-media figcaption a,.trust-list{font-size:.86rem}
.lead{font-size:1.08rem;max-width:60ch}
.quick-grid a{padding:20px 16px;grid-template-columns:24px minmax(0,1fr);gap:0 10px}
.quick-grid small{font-size:.85rem;line-height:1.4;margin-top:6px}
.decision-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px}
.decision-photo{height:400px}
.decision-links{margin-top:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
.decision-links a{min-height:130px;padding:18px}
.decision-links span{font-size:.75rem}
.decision-links small{font-size:.9rem}
.trade-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.trade-card{min-height:0;padding-bottom:24px}
.trade-card strong{font-size:1.2rem;line-height:1.25;margin-top:14px}
.trade-card small{font-size:.94rem;padding-right:8px}
.trade-card b{bottom:8px}
.guide-grid,.info-grid,.job-family-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.guide-card-image{height:190px}
.guide-card-content{padding:20px 22px 24px}
.guide-meta{font-size:.75rem;letter-spacing:.04em;flex-wrap:wrap;margin-bottom:14px}
.guide-card h3{font-size:1.4rem;line-height:1.25}
.guide-card p,.brand-card>p:not(.brand-category),.steps-grid p,.info-grid p,.job-family-card p,.job-facts p,.resource-card p{font-size:.96rem;line-height:1.6}
.guide-number{display:none}
.brand-grid{gap:22px}
.brand-card{min-height:0;padding:24px}
.brand-category{font-size:.78rem!important;letter-spacing:.06em}
.brand-card>a,.resource-card a,.info-grid article a,.job-family-card>a{font-size:.94rem}
.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.feature-photo{height:340px;min-height:0;clip-path:none;order:initial}
.feature-grid:has(> .feature-photo ~ .answer-block){gap:32px;align-items:start}
.feature-grid:has(> .feature-photo ~ .answer-block) .feature-photo{height:340px;min-height:0}
.feature-grid:has(> .feature-photo ~ .answer-block)>.answer-block{grid-column:auto}
.answer-block{padding:28px 32px}
.answer-block>p:not(.eyebrow){font-size:1rem}
.editorial-gallery figure{height:280px;clip-path:none!important}
.page-hero,.article-hero{padding:40px 0 48px}
.page-hero h1,.article-hero h1,.fdnl-hero h1,.directory-visual-hero .directory-hero-copy h1{font-size:clamp(2.1rem,4vw,3.5rem);line-height:1.13;max-width:900px}
.article-hero h1{margin-top:14px}
.visual-page-hero,.trade-page-hero,.article-hero-grid,.directory-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px}
.visual-page-hero figure,.trade-page-hero figure,.article-hero-grid figure{height:300px;max-height:320px}
.directory-hero-visual{border-radius:8px}
.directory-hero-visual img{max-height:320px}
.trade-page-hero h1{font-size:clamp(2.1rem,4vw,3.5rem)}
.page-hero>div>p:last-child,.visual-page-hero>div>p:last-child,.trade-page-hero>div>p:last-child,.article-hero-grid>div>p:last-child{font-size:1.06rem;max-width:65ch}
.breadcrumbs{font-size:.86rem;margin-bottom:26px;line-height:1.5}
.article-labels{font-size:.78rem;letter-spacing:.04em}
.article-layout{width:min(1140px,calc(100% - var(--page-gutters)));grid-template-columns:minmax(0,760px) minmax(240px,280px);justify-content:initial;gap:48px;padding-block:48px 64px}
.article-main h2{font-size:clamp(1.65rem,2.4vw,2.1rem);line-height:1.2}
.article-main section{padding-bottom:24px}
.article-main section+section{padding-top:28px}
.article-aside{top:106px;max-height:calc(100dvh - 122px);overflow-y:auto;scrollbar-width:thin}
.aside-card{padding:22px}
.aside-card h2{font-size:1.5rem}
.aside-card ol a,.article-aside nav a{font-size:.94rem;line-height:1.5}
.article-aside nav h2{font-size:.85rem}
.source-link{overflow-wrap:anywhere}
.guide-table th,.guide-table td{font-size:.95rem;padding:14px 16px}
.guide-table thead th,.qualification-table th{font-size:.8rem;letter-spacing:.03em}
.info-card-photo,.job-editorial-photo{margin:0;height:200px}
.info-card-body{padding:22px}
.steps-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.resource-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.resource-card>span,.job-family-card>span{font-size:.78rem;letter-spacing:.04em}
.job-family-card__image{height:180px}
.job-role-list li{font-size:.85rem}
.job-overview{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px}
.offer-layout,.contact-grid,.partner-grid,.fdnl-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.offer-checks li,.qualification-table td:last-child{font-size:.95rem}
.partner-card{min-height:0;padding:28px;gap:24px}
.partner-card .partner-index{margin-bottom:20px}
.partner-card h3{font-size:2rem}
.employment-portal{padding:32px;gap:28px}
.employment-portal h2{font-size:2.2rem}
.timeline{grid-template-columns:repeat(3,minmax(0,1fr))}
.timeline p{font-size:.96rem}
.checklist-card{padding:28px}
.checklist-card h3{font-size:1.5rem}
.checklist-card ul{list-style:none;padding:0}
.checklist-item input{width:20px;height:20px;margin-top:4px}
.glossary-layout{grid-template-columns:260px minmax(0,1fr);gap:36px}
.glossary-index a{width:36px;height:36px;font-size:.88rem}
.filter-bar{grid-template-columns:auto minmax(0,1fr) auto minmax(0,.65fr) auto}
.filter-bar label,.filter-bar p,#term-results{font-size:.94rem}
.tool-form,.tool-form fieldset{padding:20px}
.tool-form fieldset{margin:0}
.brand-detail-logo{max-width:min(260px,100%)}
.cta-band{padding-block:40px}
.cta-grid{gap:32px;grid-template-columns:minmax(0,1fr) auto}
.cta-band h2{font-size:2.35rem}
.site-footer{padding-top:48px}
.footer-grid{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:40px;padding-bottom:36px}
.footer-about p,.footer-grid nav a{font-size:.94rem;color:#bdcbd4}
.footer-grid nav h2{font-size:.82rem}
.footer-bottom,.footer-bottom>span:first-child small{font-size:.82rem;color:#b4c4cf}
.fdnl-hero{padding-bottom:48px}
.fdnl-source-note{font-size:.84rem;letter-spacing:0;text-transform:none;font-weight:500}
.fdnl-establishment-visual,.fdnl-establishment-monogram{max-height:190px}
.fdnl-establishment-visual.is-logo img{height:120px;aspect-ratio:auto}
.fdnl-establishment-monogram{aspect-ratio:auto;height:100px;font-size:2.8rem}
.fdnl-establishment-card h3{margin:0;font-size:1.5rem;line-height:1.2}
.fdnl-card,.fdnl-establishment-card{border-radius:8px;box-shadow:none}
.fdnl-section>.fdnl-heading{margin-bottom:28px}
:is(.hero-grid,.section-heading,.decision-grid,.feature-grid,.visual-page-hero,.trade-page-hero,.article-hero-grid,.brand-grid,.guide-grid,.trade-grid,.info-grid,.job-family-grid,.resource-grid,.steps-grid,.timeline,.tool-layout,.footer-grid,.fdnl-two-columns)>*{min-width:0}
@media(max-width:1340px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;inset:84px 0 auto;max-height:calc(100dvh - 84px);overflow:auto;background:#fff;padding:20px 32px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:4px}.main-nav.open{display:flex}.main-nav a{padding:12px;font-size:1rem}.main-nav .button{max-width:none}.no-js .site-header{height:auto}.no-js .header-inner{align-items:flex-start;padding-block:12px}.no-js .main-nav{display:flex;position:static;box-shadow:none;max-height:none}.no-js .menu-toggle{display:none}}
@media(max-width:1100px){:root{--page-gutters:48px}.trade-grid,.brand-grid,.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-media{height:360px}.decision-photo{height:380px}.section-heading{gap:28px}.article-layout{gap:32px}.guide-grid,.info-grid,.job-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.article-layout{grid-template-columns:minmax(0,1fr);max-width:760px}.article-aside{position:static;max-height:none;overflow:visible}.home-hero .hero-grid,.decision-grid,.feature-grid,.visual-page-hero,.trade-page-hero,.article-hero-grid,.directory-hero-grid,.job-overview,.offer-layout,.contact-grid,.partner-grid,.fdnl-two-columns{grid-template-columns:minmax(0,1fr);gap:28px}.home-hero .hero-grid{padding-block:36px}.hero-copy{padding:0}.hero-media{height:320px}.decision-photo{height:300px}.feature-grid:has(> .feature-photo ~ .answer-block){grid-template-columns:minmax(0,1fr)}.feature-grid:has(> .feature-photo ~ .answer-block)>.answer-block{grid-column:auto}.feature-photo,.feature-grid:has(> .feature-photo ~ .answer-block) .feature-photo{height:280px;min-height:0}.visual-page-hero figure,.trade-page-hero figure,.article-hero-grid figure{height:260px}.fdnl-grid,.fdnl-city-grid,.fdnl-establishment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employment-portal,.cta-grid{grid-template-columns:minmax(0,1fr)}.cta-grid .button{justify-self:start}.section-heading,.directory-intro{grid-template-columns:minmax(0,1fr);gap:18px}.editorial-gallery figure{height:250px}}
@media(max-width:600px){:root{--page-gutters:32px;--section-space:44px}body{font-size:16px}.site-header{height:76px}.header-inner{gap:10px}.brand{gap:8px;min-width:0;flex-shrink:1}.brand-mark{width:36px;height:36px}.brand>span:last-child{align-items:flex-start;text-align:left;min-width:0}.brand strong{font-size:.82rem;white-space:normal;max-width:180px;line-height:1.2}.brand small{display:none}.utility .container{justify-content:space-between;font-size:.75rem}.utility .container>span{display:none}.main-nav{top:76px;max-height:calc(100dvh - 76px);padding:16px}.hero-copy h1{font-size:clamp(2.2rem,8vw,2.8rem)}.hero-media{height:270px;margin:0}.hero-actions{margin-top:24px}.hero-actions .button{flex:1 1 150px}.trust-list{margin-top:20px;gap:8px}.quick-grid,.trade-grid,.brand-grid,.guide-grid,.info-grid,.job-family-grid,.resource-grid,.steps-grid,.timeline,.fdnl-grid,.fdnl-city-grid,.fdnl-establishment-grid,.fdnl-profile-grid{grid-template-columns:minmax(0,1fr)}.quick-grid a{padding:16px}.decision-links{grid-template-columns:minmax(0,1fr)}.decision-links a{min-height:0;gap:6px}.guide-card-image{height:200px}.trade-card .trade-photo{height:200px}.page-hero,.article-hero{padding-block:28px 36px}.page-hero h1,.article-hero h1,.trade-page-hero h1,.fdnl-hero h1{font-size:clamp(2rem,7.5vw,2.6rem)}.breadcrumbs{margin-bottom:20px}.article-layout{padding-block:32px 44px;gap:28px}.article-labels{display:flex;font-size:.75rem;gap:8px}.article-labels span::after{display:none}.answer-block,.key-answer{padding:22px}.guide-table{min-width:580px}.guide-table th,.guide-table td{font-size:.9rem;padding:12px}.glossary-layout{grid-template-columns:minmax(0,1fr);gap:24px}.term-list article{grid-template-columns:34px minmax(0,1fr);gap:14px}.term-initial{width:32px;height:32px}.term-list h2{font-size:1.4rem}.filter-bar{grid-template-columns:minmax(0,1fr);gap:10px}.filter-bar p{margin-top:0}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.footer-about{grid-column:1/-1}.footer-bottom{gap:16px}.cta-band h2{font-size:2rem}.checklist-card,.resource-card,.brand-card,.contact-card{padding:22px}.tool-layout,.data-stats{grid-template-columns:minmax(0,1fr)}.tool-form,.tool-form fieldset{padding:14px}.employment-portal{padding:24px}.editorial-gallery{grid-template-columns:minmax(0,1fr)}.fdnl-hero{padding-block:28px 36px}}
.documentary-grid,.photo-credit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.documentary-photo{margin:0;min-width:0;padding:0;background:var(--white);border:1px solid var(--line)}
.documentary-photo img{width:100%;height:300px;object-fit:contain;background:var(--paper)}
.photo-credit{margin:0;padding:12px 16px;font-size:.86rem;line-height:1.5;color:#425966;background:var(--paper);overflow-wrap:anywhere}
.photo-credit a{display:block;color:var(--clay-dark);margin-top:4px}
.photo-observation{padding:0 18px 18px;margin:14px 0 0;font-size:1rem}
.article-hero-grid figure:has(.photo-credit){height:auto;max-height:none;overflow:visible;box-shadow:none}
.article-hero-grid figure:has(.photo-credit) img{height:300px}
.photo-credit-grid article{padding:22px;border:1px solid var(--line);background:#fff;min-width:0;scroll-margin-top:105px}
.photo-credit-grid article>img{width:100%;height:160px;object-fit:contain;background:var(--paper)}
.photo-credit-grid h2{font-size:1.4rem;line-height:1.3;margin:18px 0 12px}
.photo-credit-grid p,.photo-credit-grid article>a{font-size:.94rem;overflow-wrap:anywhere}
.photo-jump,.photo-related{display:flex;flex-wrap:wrap;gap:12px 24px;padding:0;margin:24px 0 0;list-style:none}
.photo-jump a{padding:8px 12px;border:1px solid var(--line);background:#fff;font-size:.92rem}
.photo-related a{font-weight:700;color:var(--clay-dark)}
@media(max-width:600px){.documentary-grid,.photo-credit-grid{grid-template-columns:minmax(0,1fr);gap:22px}.documentary-photo img{height:240px}.article-hero-grid figure:has(.photo-credit) img{height:250px}.photo-credit{font-size:.84rem}.photo-jump{gap:8px}.photo-jump a{padding:8px}.hero-media figcaption{padding:10px 12px;font-size:.8rem}.hero-media figcaption a{font-size:.8rem}}
@media print{.section,.fdnl-section{padding-block:16px}.article-layout{width:100%;display:block}.article-aside{display:none}.guide-table{min-width:0}.layout-photo{break-inside:avoid}}
