/* Shared layout scale. Keep these rules after the legacy component styles. */
:root{--page-width:1200px;--page-gutter:24px;--section-space:64px;--type-body:1rem;--type-small:.875rem;--type-h1:clamp(2rem,3.25vw,3rem);--type-h2:clamp(1.65rem,2.3vw,2.25rem);--type-h3:clamp(1.2rem,1.5vw,1.45rem)}
body{font-size:var(--type-body);line-height:1.65}
.container,.utility-bar .container,.navbar>.container,.site-footer .footer-container{width:min(calc(100% - var(--page-gutter)*2),var(--page-width))}
.row{--row-gutter:24px;margin-inline:calc(var(--row-gutter)/-2);row-gap:32px}
.row>*{padding-inline:calc(var(--row-gutter)/2);min-width:0}
.row.g-4{row-gap:24px}.row.g-5,.row.gy-5{row-gap:32px}
.section-pad{padding-block:var(--section-space)}
h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}
h2{font-size:var(--type-h2);line-height:1.22}h3{font-size:var(--type-h3);line-height:1.3}
.page-hero,.page-hero.compact,.guide-hero,.location-hero,.metro-hero{padding-block:48px}
.page-hero h1,.guide-hero h1,.location-hero h1,.metro-hero h1{font-size:var(--type-h1);line-height:1.12;letter-spacing:-.035em;margin:0 0 20px;max-width:960px}
.page-hero p,.guide-hero p,.location-hero p,.metro-hero p{font-size:1.125rem;line-height:1.65;margin:0;max-width:76ch}
.guide-breadcrumb,.location-crumb{font-size:var(--type-small);margin-bottom:20px}
.hero-kicker,.eyebrow{font-size:.75rem;line-height:1.5;margin-bottom:16px;letter-spacing:.12em}
.guide-hero .guide-meta{font-size:.875rem;margin-top:20px}
.hero-home,.min-vh-75{min-height:0}.hero-home>.container{padding-block:64px}
.hero-home h1{font-size:clamp(2.25rem,4.2vw,3.75rem);line-height:1.1;margin:0 0 24px}
.hero-home p{font-size:1.125rem;line-height:1.7;margin-bottom:24px}
.hero-trust{gap:24px;margin-top:24px}.hero-trust span{font-size:.75rem;letter-spacing:.04em}
.section-heading{margin-bottom:32px}.section-heading h2,.knowledge h2,.featured-states h2,.map-band h2,.cost-band h2{font-size:var(--type-h2);line-height:1.22;margin:0 0 16px;letter-spacing:-.025em}
.section-heading p,.knowledge p,.map-band p{font-size:1rem;line-height:1.75}
.primary-visual,.research-visual,.standard-photo,.guide-photo{width:min(calc(100% - var(--page-gutter)*2),960px);height:300px;margin:28px auto 0}
.primary-visual picture,.research-visual picture,.standard-photo picture,.guide-photo picture{display:block;height:100%}
.primary-visual img,.research-visual img,.standard-photo img,.guide-photo img{width:100%;height:100%;object-fit:cover}
.insight-lead-photo{height:auto;overflow:visible}.insight-lead-photo picture{height:300px}.insight-lead-photo figcaption{font-size:.875rem;padding-top:12px}
.primary-visual figcaption,.research-visual figcaption,.standard-photo figcaption{font-size:.875rem;line-height:1.5;left:20px;right:20px;bottom:16px}
.place-hero-image{margin:0 0 16px}.place-photo-credit{font-size:.8125rem;line-height:1.55}
.guide-article,.metro-article{font-size:1rem;line-height:1.75}
.guide-article h2,.metro-article h2,.guide-section h2,.guide-article .answer-first h2{font-size:var(--type-h2);line-height:1.25;margin:0 0 18px}
.guide-article p,.metro-article p{margin:0 0 20px}.guide-article .lead,.metro-article .lead{font-size:1.0625rem;line-height:1.75}
.guide-section{padding-top:28px;margin-top:32px}.answer-first{padding:28px;margin-bottom:32px}.answer-first>span,.sticky-box>span{font-size:.75rem}
.answer-first li,.insight-checklist li,.editorial-note p,.companion-grid p,.companion-grid li{font-size:1rem;line-height:1.65}
.answer-first ul{gap:12px 20px;margin-top:20px;padding-top:20px}
.sticky-box{padding:24px;top:24px}.sticky-box>a{font-size:1rem;padding-block:12px}
.roadmap{margin-top:24px}.roadmap li{grid-template-columns:36px minmax(0,1fr);gap:16px;padding-block:20px}.roadmap h3{margin:0 0 10px;font-size:var(--type-h3)}
.metro-grid,.resource-grid,.glossary-grid,.checklist-grid,.state-directory-grid,.photo-credits-grid{gap:20px}
.home-metros .metro-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.metro-card h3{font-size:1.375rem;margin-top:16px;margin-bottom:12px}.metro-card p{font-size:1rem;line-height:1.65;margin-top:0;margin-bottom:16px}.metro-card b,.metro-card small,.metro-card .state-code{font-size:.8125rem}
.metro-card-image{margin-bottom:20px}.metro-card b{margin-top:auto;padding-top:8px}
.state-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:230px;gap:20px}
.state-feature-main{grid-column:auto;grid-row:auto}.state-feature,.state-feature-main{margin:0;min-height:0;padding:24px}.state-feature h3,.state-feature-main h3{font-size:1.75rem}
.state-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.state-directory-grid>a{min-width:0}.state-directory-grid small{font-size:.8125rem}.state-directory-grid b{font-size:1rem}
.guide-grid,.insight-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.guide-grid-visual .guide-tile-photo,.insight-card-media{aspect-ratio:16/9}
.guide-grid-visual .guide-tile>span,.guide-grid-visual .guide-tile h2,.guide-grid-visual .guide-tile p,.guide-grid-visual .guide-tile b{margin-inline:24px}
.guide-tile h2,.insight-card h2,.resource-grid h2{font-size:1.375rem;line-height:1.3;margin-top:16px;margin-bottom:12px}
.guide-tile p,.insight-card p,.resource-grid p,.path-card p,.glossary-grid p,.checklist-grid li{font-size:1rem;line-height:1.65}
.insight-card>div{padding:24px}.insight-card>div>span,.guide-tile>span,.resource-grid span{font-size:.75rem}
.path-card{padding:24px}.path-card>i{margin:16px 0 20px}.path-card p{min-height:0}.path-card h3{font-size:1.375rem;margin:0 0 12px}.card-link,.text-link,.guide-tile b,.resource-grid b{font-size:.875rem}
.resource-grid>a,.resource-grid-compact>a,.intent-grid>a{min-height:0;padding:24px}.resource-grid b{padding-top:16px}
.image-stack{padding:0}.image-stack img{height:400px}.image-note{position:relative;margin-top:16px;padding:18px;min-width:0}
.photo-grid{grid-template-rows:220px 220px}.photo-card figcaption b{font-size:1.375rem}
.calc-fields label,.calc-result p,.comparison-results small,.local-research-result p,.local-research-result li,.source-links span{font-size:.875rem;line-height:1.65}
.calculator{padding:28px}.calculator h2,.tool-notes h2{font-size:var(--type-h2);line-height:1.25}.calc-fields input,.calc-fields select{font-size:1rem;min-width:0;min-height:44px}.calc-result strong{font-size:2rem;overflow-wrap:anywhere}
.comparison-results strong{font-size:2rem}.comparison-results p{flex-wrap:wrap}
.source-links a{min-width:0;align-items:flex-start}.source-links span{min-width:0;overflow-wrap:anywhere}.source-links b{font-size:1rem}
.directory-toolbar{gap:20px;flex-wrap:wrap}.directory-toolbar input{min-width:0;max-width:100%;font-size:1rem}.directory-filter,.directory-controls input,.directory-controls select{font-size:1rem}
.section-nav .container,.metro-jump .container{gap:24px}.section-nav a,.metro-jump a{font-size:.875rem;letter-spacing:0}
.decision-companion-section{padding-block:40px}.decision-companion h2{font-size:var(--type-h2)}.related-guide-links a{font-size:.875rem}
.site-footer{padding-block:48px}.site-footer p,.site-footer .col-lg-2>a{font-size:.9375rem}.disclaimer-bar small{font-size:.8125rem}
@media(min-width:992px){.guide-article,.metro-article{width:70%}.guide-article+aside,.metro-article+aside{width:30%}}
@media(max-width:1100px){.home-metros .metro-grid,.guide-grid,.insight-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.navbar-nav .nav-link{padding-inline:10px}}
@media(max-width:767px){:root{--page-gutter:16px;--section-space:40px}.page-hero,.page-hero.compact,.guide-hero,.location-hero,.metro-hero{padding-block:32px}.hero-home>.container{padding-block:40px}.hero-home h1{font-size:2.375rem}.hero-home p,.page-hero p,.guide-hero p,.location-hero p,.metro-hero p{font-size:1rem}.hero-trust{gap:12px;flex-wrap:wrap}.hero-trust span{font-size:.75rem}.primary-visual,.research-visual,.standard-photo,.guide-photo{height:220px;margin-top:20px}.insight-lead-photo{height:auto}.insight-lead-photo picture{height:220px}.home-metros .metro-grid,.guide-grid,.insight-card-grid,.state-directory-grid,.resource-grid,.glossary-grid,.checklist-grid{grid-template-columns:1fr}.state-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:200px}.state-feature,.state-feature-main{padding:18px}.state-feature h3,.state-feature-main h3{font-size:1.375rem}.state-feature .state-code{top:16px;left:16px}.answer-first{padding:20px}.answer-first ul{grid-template-columns:1fr}.section-heading{margin-bottom:24px}.image-stack img{height:280px}.calculator{padding:20px}.comparison-results strong{font-size:1.75rem}.directory-toolbar label{width:100%;margin-top:0}.directory-toolbar input{width:calc(100% - 32px)}.insight-related .insight-card-grid{grid-template-columns:1fr}.photo-grid{grid-template-rows:240px 200px 200px}.companion-grid>div{padding:20px}.ps-lg-5{padding-left:12px!important}}
@media(max-width:359px){.state-feature-grid{grid-template-columns:1fr}.hero-home h1{font-size:2rem}.hero-trust span{gap:4px}}
@media print{.section-pad,.decision-companion-section{padding-block:16px}.primary-visual,.guide-photo,.research-visual,.standard-photo,.hero-media{display:none}.container{width:100%}.guide-article,.metro-article{width:100%}.site-header,.site-footer{display:none}}
.directory-filter-label,.state-data-note p{font-size:14px;line-height:1.6}
.guide-meta time{white-space:nowrap}
.state-feature,.state-feature-main{background-image:none;isolation:isolate}
.state-feature img.state-feature-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.state-feature::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,20,48,.88));z-index:-1}
.article-supporting-photo{margin:32px 0}.article-supporting-photo img{width:100%;height:auto;max-height:320px;object-fit:cover}.article-supporting-photo figcaption{font-size:14px;line-height:1.6;margin-top:12px;color:var(--muted)}.article-supporting-photo a{text-decoration:underline}
