/* Readable public portal typography; load after page-specific styles. */
html{font-size:125%}
body{line-height:1.6}
#main :is(.tariff-benefits p,.tariff-benefits .benefits li,.benefits li,.panel p,.basic-profile-note p,.feature-list p,.richtext,.legal-copy,.form-intro,.aside-note,.home-search-intro,.home-inquiry-copy p,.house-zone-heading p,.mag-teaser,.mag-article-body,.mag-detail-body){font-size:1rem;line-height:1.65}
#main :is(.text-link,.quiet-note,.meta,.profile-location,.contact-details dd,.contact-muted,.form-field .helptext,.helptext,.location-help,.form-actions>a,.account-note,.publication-link,.detail-row,.profile-checklist small,.price-note,.availability,.auth-hint,.gallery figcaption,.gallery-empty,.notice,.mag-meta,.mag-kicker,.mag-topics a,.mag-section-actions a,.article-partner-copy>span,.article-partners-topic,.trade-directory-footer,.trade-directory-services,.house-services a,.house-result-hint,.house-layer-note,.house-selection-instruction,.house-selection-empty p,.house-bottom>a,.house-companions button,.house-companions>span,.portal-disclosure>summary){font-size:.9rem;line-height:1.5}
#main :is(.eyebrow,.house-eyebrow,.house-zone-kicker,.house-draft,.house-instructions,.house-collapse-label,.house-summary-hint,.profile-plan-label,.trade-directory-count,.contact-details dt){font-size:.8rem;line-height:1.5}
#main :is(.button,.button-small){font-size:.95rem;min-height:50px;height:auto;line-height:1.4;white-space:normal}
#main :is(.form-field label,.search-panel label,.filter label){font-size:1rem;line-height:1.4;margin-bottom:9px}
#main :is(.form-field input,.form-field select,.form-field textarea,.filter input,.filter select){font-size:1rem;min-height:54px;line-height:1.5}
#main :is(.form-field input[type=checkbox],.form-field input[type=radio]){min-height:0}
#main :is(.form-field,.filter-primary>div,.advanced-filter-grid>div){min-width:0}
#main :is(.compact-search-options>summary,.advanced-filters>summary,.compact-trade-link,.locate-button,.inquiry-entry-link){font-size:.9rem;min-height:44px;line-height:1.5}
#main .home-hero-search{max-width:1200px}
#main .home-hero-search #home-search{display:block;padding:28px 30px 22px;margin-top:24px}
#main .home-hero-search #home-search .compact-search-row{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) auto;gap:22px}
#main .home-hero-search #home-search .compact-search-row :is(input,.button){min-height:62px;font-size:1rem;padding:15px 16px}
#main .home-hero-search #home-search .compact-search-row>.button{padding-inline:25px}
#main .home-hero-search .location-tools{margin-top:16px;gap:10px 24px;align-items:center}
#main .home-hero-search .location-tools>span{font-size:.85rem;max-width:650px;line-height:1.5}
#main .home-hero-search #home-search .compact-search-footer{margin-top:13px;gap:20px;flex-wrap:wrap}
#main .need-search{padding:28px}
#main .need-search .filter-primary{grid-template-columns:minmax(0,1fr) 160px auto;gap:20px}
#main .need-search :is(input,select,.button){min-height:60px;font-size:1rem}
#main .need-search .location-help{margin-top:9px}
#main .advanced-filters{margin-top:22px;padding-top:18px}
#main .home-hero-search h1{font-size:clamp(1.25rem,2.5vw,1.9rem);line-height:1.25}
#main .partner-directory>.page-intro h1{font-size:1.7rem;line-height:1.25;max-width:none}
#main .partner-directory>.page-intro{padding-block:34px 28px}
#main .partner-directory>.page-intro p{max-width:850px}
.site-header .header-inner{gap:24px}
.site-header .brand-lockup.brand-home{--brand-font-size:2rem;display:grid;grid-template-columns:52px auto;column-gap:12px;row-gap:6px;flex-shrink:0}
.site-header .brand-lockup .brand-symbol{width:52px;height:52px;grid-row:1/3;align-self:center}
.site-header .brand-lockup .brand-wordmark{font-size:var(--brand-font-size)}
.site-header .brand-lockup .brand-edition{grid-column:2;font-size:1.05rem;padding:0;border:0}
.site-header .brand-lockup.brand-home-prominent{--brand-font-size:2.35rem}
.main-nav{font-size:.9rem;gap:14px}
.topline{font-size:.8rem}
.site-footer :is(p,a,li){font-size:.85rem;line-height:1.6}
#main .mag-headlines>.mag-card,#main .mag-section-list>.mag-card{grid-template-columns:minmax(110px,.4fr) minmax(0,1fr)}
@media(min-width:1201px){.site-header .header-inner{flex-wrap:wrap}.site-header .main-nav{flex:1 1 380px;justify-content:flex-end}}
@media(max-width:1000px){
 #main .home-hero-search #home-search .compact-search-row{grid-template-columns:1fr 1fr}
 #main .home-hero-search #home-search .compact-search-row>.button{grid-column:1/-1;width:100%}
 #main .need-search .filter-primary{grid-template-columns:minmax(0,1fr) 160px}
 #main .need-search .filter-primary>.button{grid-column:1/-1}
 .site-header .brand-lockup.brand-home{--brand-font-size:1.6rem}
 #main .partner-directory>.page-intro h1{font-size:1.45rem}
}
@media(max-width:600px){
 .site-header .header-inner{width:calc(100% - 32px);flex-wrap:wrap}
 .site-header .brand-lockup.brand-home{--brand-font-size:1.1rem;grid-template-columns:30px minmax(0,1fr);gap:5px 8px;max-width:100%}
 .site-header .brand-lockup .brand-symbol{width:30px;height:30px}
 .site-header .brand-lockup .brand-edition{font-size:.9rem}
 #main .partner-directory>.page-intro h1{font-size:1rem}
 #main .home-hero-search h1{font-size:1.05rem}
 #main .home-hero-search .home-search-edition{font-size:1rem}
 #main .home-hero-grid{width:calc(100% - 32px)}
 #main .home-hero-search #home-search{padding:22px 16px;margin-top:20px}
 #main .home-hero-search #home-search .compact-search-row{grid-template-columns:minmax(0,1fr);gap:20px}
 #main .home-hero-search #home-search .compact-search-row :is(input,.button){min-height:60px;padding:14px 11px}
 #main .home-hero-search #home-search .compact-search-footer{display:block}
 #main .home-hero-search .location-tools{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
 #main .need-search{padding:22px 18px}
 #main .need-search .filter-primary{grid-template-columns:minmax(0,1fr);gap:20px}
 #main :is(.compact-filter-row,.advanced-filters>.advanced-filter-grid){grid-template-columns:minmax(0,1fr)}
 #main .mag-headlines>.mag-card,#main .mag-section-list>.mag-card{grid-template-columns:minmax(0,1fr)}
 #main .mag-headlines .mag-image-link img,#main .mag-section-list .mag-image-link img{aspect-ratio:16/9}
 #main .tariff-benefits{padding:24px 20px}
}

/* Mastheads and section actions move to a new row when larger text needs it. */
#main :is(.mag-masthead,.section-head,.mag-section-heading){flex-wrap:wrap}
#main :is(.mag-masthead,.section-head,.mag-section-heading)>div{min-width:0;max-width:100%}
#main .mag-masthead>.text-link{white-space:normal;max-width:100%}
#main .trade-directory-services a,#main .trade-directory-footer a{font-size:.9rem}

#main .home-hero-search #home-search .compact-search-row label{font-size:1rem;line-height:1.4}
@media(max-width:600px){#main .mag-masthead{display:flex;flex-wrap:wrap}#main .mag-masthead>.text-link{max-width:100%}}

/* The entire magazine rubric bar opens its archive; company links stay separate. */
#main #magazin .mag-section-linkbar{position:relative;isolation:isolate}
#main #magazin .mag-section-title-link{font:inherit;color:inherit;text-decoration:none}
#main #magazin .mag-section-title-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:5px}
#main #magazin .mag-section-title-link:hover{text-decoration:underline;text-underline-offset:4px}
#main #magazin .mag-section-title-link:focus-visible{outline:none}
#main #magazin .mag-section-title-link:focus-visible::after{outline:3px solid var(--red);outline-offset:3px}
#main #magazin .mag-section-linkbar .mag-section-actions a{position:relative;z-index:2}

/* The heading must not become the containing block of the full-bar link. */
#main #magazin .mag-section-linkbar h3{position:static}
#main #magazin .mag-section-leads{display:grid;align-content:start;gap:28px}
#main #magazin .mag-section-leads>.mag-card+.mag-card{padding-top:24px;border-top:1px solid var(--line)}
