/* Shared alignment and typography, loaded after page-specific styles. */
:root{--content-width:1328px;--page-gutter:clamp(20px,4vw,56px)}
.wrap,.ud-bar{width:calc(100% - var(--page-gutter)*2);max-width:var(--content-width);margin-inline:auto}
main :is(h1,h2,h3){text-wrap:balance;overflow-wrap:break-word}
main h1{font-size:clamp(2.5rem,4.6vw,4.5rem);line-height:1.12;letter-spacing:-.045em}
main h2{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.2;letter-spacing:-.035em}
main h3{letter-spacing:-.02em}
.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,4vw,64px)}
.hero>*{min-width:0}.hero-copy .intro{max-width:56ch}
.hero-visual{margin:0}.hero-visual.supplied-hero{overflow:visible}
.hero-visual .image-label{left:20px;right:20px;bottom:20px;width:fit-content;max-width:calc(100% - 40px)}
.hero-visual .vertical-caption{display:none}
.section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:850px}
.section-heading .eyebrow{margin:0}.section-heading h2{max-width:26ch}
.section-heading>p:last-child{margin:0;max-width:68ch;justify-self:auto}
.eyebrow{font-size:.8125rem;line-height:1.5;letter-spacing:.12em}
.benefits{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.benefits article{display:flex;flex-direction:column;min-width:0}
.benefit-label{margin:0 0 20px;min-height:40px}
.benefits h3{font-size:1.375rem;line-height:1.35;min-height:2.7em}
.benefits p{margin:16px 0 24px}.benefits .card-footer{margin-top:auto}
.formats-grid{align-items:stretch}.format-copy{padding:24px}.format-copy h3{line-height:1.35;min-height:2.7em}
.format-copy p{min-height:0}.format-copy>span{margin-top:auto}
.industry-directory-card>img.supplied-directory{width:100%;max-width:100%;margin:0 0 24px;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:8px}
.industry-directory-card h2{font-size:1.5rem;line-height:1.3;letter-spacing:-.02em}
.industry-directory-card p{margin:16px 0 24px}.industry-directory-card{padding:28px}
.how-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}
.how-intro{max-width:52ch}.steps article>span{flex:0 0 24px}.steps article>div{min-width:0}
.contact>div:first-child{min-width:0;max-width:760px}.contact h2{max-width:26ch}.contact p{max-width:60ch}
.resource-page{max-width:1050px}.resource-copy{max-width:780px}.resource-copy h2,.resource-card h2{font-size:1.65rem}
.pricing-layout{max-width:1120px;gap:clamp(32px,5vw,72px);align-items:start}.pricing-form{padding-top:0}
.pricing-field label{font-size:.875rem}.pricing-closing{max-width:780px}
.booking-copy h2{font-size:1.25rem}.booking-panel-heading h2{font-size:1.6rem}
.sector-strip .wrap{justify-content:flex-start;flex-wrap:wrap;gap:16px 28px}.sector-strip span:first-child{flex-shrink:0}.sector-strip b{line-height:1.5}
.footer-columns .footer-brand{margin-top:0}.footer-columns{min-height:0;padding-bottom:40px}
.ud-panel{max-height:calc(100dvh - 125px);overflow-y:auto}.ud-panel-content{align-items:start}
@media(min-width:751px) and (max-width:980px){.benefits{grid-template-columns:1fr}.benefits h3{min-height:0}.hero{gap:28px}.contact{flex-wrap:wrap}.contact-actions{align-items:flex-start}}
@media(max-width:750px){
 .hero{grid-template-columns:1fr;gap:32px}.hero-visual{margin:0}.hero-visual.supplied-hero{max-width:560px;width:100%;justify-self:center}
 .section-heading{gap:14px}.section-heading>p:last-child{margin:0}.section-heading h2{max-width:none}
 .benefits,.how-grid{grid-template-columns:1fr}.benefits h3,.format-copy h3{min-height:0}
 .contact{padding:28px 24px}.contact-actions{align-items:stretch}.contact .button{justify-content:center}
 .sector-strip .wrap{justify-content:flex-start}.sector-strip span:first-child{text-align:left}
 .industry-directory-card{padding:22px}.footer-columns{gap:28px}
 .ud-panel{max-height:none;overflow:visible}.ud-bar{gap:8px}.ud-logo img{width:125px}
 .ud-main-cta{font-size:.8125rem}.ud-mobile-toggle{font-size:.875rem}
}
@media(max-width:380px){.ud-bar>.ud-main-cta{order:3;margin-left:auto}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{justify-content:center}}

/* Keep the decorative hero glow inside narrow viewports. */
@media(max-width:750px){.hero-visual:before{inset:0}.ud-bar>.ud-main-cta{margin-left:0}.hero-visual .image-label{padding:16px;gap:12px}}
.format-comparison .format-copy{gap:0}.format-comparison .format-copy>a{display:block;margin-top:20px;color:#d3adff;font-size:.875rem;text-decoration:underline;text-underline-offset:4px}

@media(max-width:380px){main .hero h1{font-size:2.25rem;overflow-wrap:anywhere}}
