/* Shared layout rules: bounded media, readable type and content-sized grids. */
:root{--content:1280px;--header:1360px;--gutter:clamp(20px,3vw,40px);--section-space:clamp(40px,5vw,72px)}
body{line-height:1.65}
h1,h2,h3,p,li,dd{overflow-wrap:break-word}
h1,h2,h3{text-wrap:balance}
.section,.mechanicsSection,.darkFeature,.homeMethod,.answerBlock{padding-block:var(--section-space)}
.section.contentShell + .section.contentShell{padding-top:0}
.sectionHeading{gap:40px;margin-bottom:32px}
.homeHero,.heroContent{min-height:560px}
.heroCopy{padding:64px 0;max-width:660px}
.homeHero h1,.pageHero h1,.legalPage h1,.articleHeader h1{font-size:clamp(34px,3.8vw,58px);line-height:1.08;letter-spacing:-.035em}
.sectionHeading h2,.featureCopy h2,.methodInner h2,.footerLead h2,.portalCta h2,.articleNext h2,.answerCopy h2,.decisionSection h2,.homeMethodCopy h2{font-size:clamp(30px,3vw,44px);line-height:1.12}
.pageHero{padding-block:44px 48px}
.pageHero p:not(.eyebrow){margin-top:18px;font-size:17px;line-height:1.65}
.breadcrumbs{font-size:13px;margin-bottom:26px;line-height:1.6;flex-wrap:wrap}
.eyebrow{font-size:12px;margin-bottom:18px;letter-spacing:.1em}
.nav a{font-size:15px}.headerCta,.languagePicker select{font-size:13px}
.headerInner{gap:22px}.button{font-size:14px;min-height:46px}
.trustLine{font-size:13px}.heroMetrics span{font-size:11px}
.directoryHeroGrid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:40px}
.directoryHeroCopy h1{font-size:clamp(34px,3.8vw,56px)}
.directoryHeroVisual{align-self:center;width:100%;min-height:0;aspect-ratio:4/3;max-height:340px}
.directoryHeroVisual img{display:block}
.directoryHeroVisual figcaption{left:22px;right:22px;bottom:20px}
.directoryHeroVisual figcaption b{font-size:21px;line-height:1.2}
.directoryEcosystem{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.directoryEcosystem>img{min-height:0;max-height:340px;aspect-ratio:4/3}
.directoryEcosystem p{font-size:15px}.directoryEcosystem figcaption>div small{font-size:11px}
.directoryVisualRail figure{min-width:0;min-height:0;max-height:250px;aspect-ratio:16/10}
.directoryVisualRail figcaption{max-width:100%;white-space:normal;font-size:14px;line-height:1.4}
.directoryVisualRail figure,.directoryVisualRail figure:last-child{width:100%;min-width:0;min-height:0}
.directoryVisualRail figcaption{right:20px}
.directoryTools{flex-direction:column;gap:20px}.searchBox{min-width:0;width:min(100%,560px)}
.searchBox input{font-size:16px;min-height:48px}.categoryTabs button{font-size:13px;min-height:44px}
.categoryTabs button small{font-size:11px}.resultsLine{font-size:12px;letter-spacing:.03em}
.serviceGrid,.marketGrid,.guideIndexGrid{gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.serviceCard{min-height:0;padding:24px;contain-intrinsic-size:auto 430px}
.serviceCard h2,.serviceCard h3{font:500 28px/1.15 var(--serif);margin:0 0 14px}
.serviceDesc,.serviceCard>p,.miniService p{font-size:15px;line-height:1.65}
.answerFacts p,.decisionGrid p,.conversionPath li>p,.termCard p{font-size:16px;line-height:1.7}
.kpiGrid span,.economicsExample small,.economicsLinks a,.reviewStamp{font-size:13px;line-height:1.65}
.miniService>div span,.heroBadges span{font-size:12px;line-height:1.6}
.serviceTag,.verifiedBadge,.serviceIndex,.serviceFacts dt{font-size:11px}
.serviceFacts dd,.serviceLink,.serviceDetail{font-size:14px}
.serviceLink{margin-top:auto;padding-top:18px;min-height:44px}
.directoryDecisionGrid:has(>article){grid-template-columns:repeat(3,minmax(0,1fr))}
.directoryDecisionGrid>article{min-width:0;background:var(--white);border:1px solid var(--line);padding:24px;border-radius:6px}
.directoryDecisionGrid>article h2{font-size:24px;line-height:1.25;margin:0 0 14px}
.directoryDecisionGrid>article p{font-size:16px;line-height:1.65}
.categoryAdviceGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.categoryAdviceCard p,.categoryAdviceCard summary{font-size:15px}
.guideIndexCard{min-height:0;padding:24px;min-width:0}
.guideIndexCard>img,.guideIndexVisual img{width:calc(100% + 48px);margin:-24px -24px 24px;aspect-ratio:16/9;max-height:230px;object-fit:cover}
.guideIndexCard h2,.guideCard h3{font-size:28px;line-height:1.2;margin:20px 0 14px}
.guideIndexCard p,.guideCard p,.routeCard p{font-size:15px;line-height:1.65}
.guideIndexCard>span,.guideCard>span{font-size:12px;letter-spacing:.04em}
.guideIndexCard b,.guideCard b{font-size:14px;padding-top:18px}
.guideIndexWide{grid-column:auto}.guideIndexVisual{grid-row:auto}
.guideCard{min-height:300px}.routeCard{min-height:340px}.routeIcon{margin:32px 0 22px}
.routeCard h3{font-size:30px;line-height:1.15}.routeCard b{margin-top:24px}
.article{max-width:1160px;padding-bottom:64px}
.articleHeader{max-width:1000px;padding-block:44px 32px}
.articleLead{font-size:18px;line-height:1.7;max-width:850px;margin:22px 0}
.articleMeta{font-size:12px;gap:12px 22px;letter-spacing:.03em}
.articleVisual{max-width:980px;margin:0 0 36px}
.articleVisual img{width:100%;height:auto;aspect-ratio:16/7;max-height:360px;object-fit:cover}
.articleVisual figcaption{position:static;padding:10px 14px;font-size:13px;color:var(--muted)}
.articleLayout{grid-template-columns:220px minmax(0,760px);gap:44px;padding-top:32px}
.articleLayout>*{min-width:0}.toc a{font-size:14px;line-height:1.5}.toc b{font-size:12px}
.prose h2,.legalContent h2,.contentColumns h2{font-size:30px;line-height:1.25}
.prose p,.prose li,.legalContent p,.legalContent li,.contentColumns p,.contentColumns li{font-size:17px;line-height:1.8}
.prose section{margin-bottom:40px}.proseVisual img{max-height:360px;object-fit:cover}
.dataTable th,.dataTable td,.readinessTable th,.readinessTable td{font-size:14px;line-height:1.6}
.dataTable th{font-size:13px}.dataTable,.comparisonTableWrap,.readinessTable{max-width:100%;overscroll-behavior-x:contain}
.relatedGuideGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.relatedGuideGrid a{min-height:0;padding:24px}.relatedGuideGrid h3{font-size:24px;line-height:1.25}
.relatedGuideGrid p{font-size:15px;line-height:1.65}
.faqGrid p{font-size:16px}.faqGrid summary{font-size:21px;line-height:1.35}
.marketCard,.contactCard,.principleGrid article{min-height:0;padding:28px}
.marketCard h2,.contactCard h2,.principleGrid h2{font-size:30px;line-height:1.2;margin:26px 0 16px}
.marketCard p,.marketCard li,.contactCard p,.principleGrid p,.editorialProcess li span{font-size:16px;line-height:1.7}
.contentColumns{gap:40px;grid-template-columns:repeat(2,minmax(0,1fr))}
.marketVisual,.marketWorkshop,.aboutVisual,.editorialVisual{max-width:1100px}
.marketVisual img,.marketWorkshop img,.aboutVisual img,.editorialVisual img{max-height:360px;aspect-ratio:16/6;object-fit:cover}
.featureImage img,.homeMethodVisual img{max-height:400px;object-fit:cover}
.glossaryGuide{gap:36px;padding:32px}.glossaryGuide li span{font-size:15px}
.termCard p{font-size:16px;line-height:1.7}.legalContent{max-width:820px}
.footerGrid{gap:32px}.footerGrid p,.footerGrid a{font-size:14px;line-height:1.7}.footerBottom{font-size:12px}
.mediaDisclosure{font-size:13px}.footerLead{padding-block:48px}
.editorialEvidence>h2,.section.contentShell>h2{font-size:30px;line-height:1.25;margin:0 0 22px}
.section.contentShell>p{max-width:85ch}
.photoCredit{display:block;font-size:13px;line-height:1.6;color:var(--muted);margin-top:8px}
.photoCredit a{text-decoration:underline;text-underline-offset:3px}
.directoryEcosystem .photoCredit{color:#cbd5e1}
.categoryDiagnostic{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:start}
.categoryDiagnostic h2{font-size:30px;line-height:1.25;margin:0 0 18px}.categoryDiagnostic h3{font-size:18px;margin:22px 0 8px}
.categoryDiagnostic p{font-size:16px;line-height:1.75;margin:0}.categoryDiagnostic figure{margin:0;min-width:0}
.categoryDiagnostic img{display:block;width:100%;height:300px;object-fit:cover;border-radius:6px}
.categoryDiagnostic figcaption{font-size:13px;line-height:1.6;margin-top:12px;color:var(--muted)}
@media(max-width:1100px){
 .serviceGrid,.marketGrid,.guideIndexGrid,.categoryAdviceGrid,.relatedGuideGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .articleLayout{grid-template-columns:190px minmax(0,1fr);gap:32px}
 .directoryHeroGrid{gap:28px}.heroCopy{width:65%}.nav{gap:20px}
}
@media(max-width:860px){
 .directoryHeroGrid,.directoryEcosystem,.contentColumns,.articleLayout,.categoryDiagnostic{grid-template-columns:1fr}
 .directoryHeroVisual{max-width:620px;max-height:300px;aspect-ratio:16/9}
 .directoryHeroCopy{max-width:760px}.directoryHeroGrid{gap:28px}
 .directoryEcosystem>img{max-height:280px;aspect-ratio:16/9}
 .homeHero,.heroContent{min-height:0}.heroCopy{width:100%;padding:48px 0 36px}
 .heroContent{display:block}.heroMetrics{position:static;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}
 .heroMetrics div{min-height:96px;padding:20px}.heroMetrics span{font-size:11px}
 .directoryDecisionGrid:has(>article){grid-template-columns:1fr}.toc{position:static}
 .toc a{padding-block:3px}.headerInner{gap:14px}
}
@media(max-width:600px){
 :root{--gutter:18px;--section-space:40px}
 .homeHero h1,.pageHero h1,.legalPage h1,.articleHeader h1,.directoryHeroCopy h1{font-size:34px;line-height:1.12}
 .sectionHeading h2,.featureCopy h2,.methodInner h2,.footerLead h2,.portalCta h2,.articleNext h2,.answerCopy h2,.decisionSection h2,.homeMethodCopy h2{font-size:30px;line-height:1.15}
 .articleHeader,.pageHero{padding-block:32px}.breadcrumbs{margin-bottom:22px}
 .pageHero p:not(.eyebrow),.heroIntro,.articleLead{font-size:16px}
 .serviceGrid,.marketGrid,.guideIndexGrid,.categoryAdviceGrid,.relatedGuideGrid{grid-template-columns:1fr}
 .guideIndexCard>img,.guideIndexVisual img{width:calc(100% + 48px);margin:-24px -24px 20px;max-height:210px}
 .guideIndexCard{min-height:0}.guideIndexCard h2,.guideCard h3{font-size:26px;margin-top:16px}
 .articleVisual img{aspect-ratio:16/9;max-height:240px}.articleVisual{margin-bottom:28px}
 .prose p,.prose li,.legalContent p,.legalContent li,.contentColumns p,.contentColumns li{font-size:16px;line-height:1.75}
 .prose h2,.legalContent h2,.contentColumns h2{font-size:27px}
 .serviceCard{min-height:0;padding:22px}.serviceCard h2,.serviceCard h3{font-size:27px}
 .categoryTabs{max-width:100%}.searchBox{width:100%}
 .articleMeta{flex-direction:row;font-size:12px}.directoryHeroVisual figcaption b{font-size:19px}
 .directoryHeroVisual{max-height:260px}.directoryVisualRail figure{max-height:220px;min-height:0}
 .marketVisual img,.marketWorkshop img,.aboutVisual img,.editorialVisual img{aspect-ratio:4/3;max-height:300px}
 .marketVisual figcaption b,.marketWorkshop figcaption b,.aboutVisual figcaption b,.editorialVisual figcaption b{font-size:22px}
 .localizedAuditCard img{max-height:230px}.contactCard h2,.principleGrid h2,.marketCard h2{margin-top:22px}
 .readinessTable{margin-inline:0}.glossaryGuide{padding:24px}.glossaryGuide li{grid-template-columns:1fr}
 .heroMetrics div{padding:16px 10px}.heroMetrics strong{font-size:28px}
 .authorityLinks{grid-template-columns:1fr}.footerGrid{gap:28px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.serviceCard,.guideIndexCard,.routeCard{transition:none}}
@media(max-width:360px){
 .siteHeader .headerInner[data-logo-host],.siteHeader .headerInner[data-logo-wrap]{flex-wrap:nowrap!important;gap:8px!important}
 .siteHeader .brand[data-logo-balanced]{min-width:0!important;gap:6px!important;flex:1 1 0!important}
 .siteHeader .brandMark{width:32px;height:32px}
 .siteHeader .brandWords b{font-size:9px}.siteHeader .brandWords small{font-size:8px}
 .siteHeader .languagePicker select{font-size:12px;padding:8px 22px 8px 8px}
 .siteHeader .menuButton{margin-left:0;flex:0 0 auto;padding:7px}
}
