/* Shared marketing-hero scale, loaded after page-specific compositions.
   Page styles own imagery and grid composition; these rules own copy and spacing. */
:root {
 --hero-title-size:clamp(2rem,3.2vw,2.8rem);
 --hero-padding:40px;
 --hero-frame-width:min(calc(100% - 64px),1480px);
 --hero-copy-gap:18px;
}
body :is(.homepage-hero__layout,.product-hero > .container,.solutions-hero__frame,.plans-intro > .container,.about-hero__layout,.access-hero__layout) {
 width:var(--hero-frame-width);margin-inline:auto;
}
body :is(.homepage-hero__layout,.product-hero__layout,.solutions-hero__layout,.plans-intro > .container,.about-hero__layout,.access-hero__layout) {
 padding-block:var(--hero-padding);
}
body :is(.homepage-hero,.product-hero,.solutions-hero,.plans-intro,.about-hero,.access-hero) h1 {
 font-size:var(--hero-title-size);line-height:1.12;font-weight:800;letter-spacing:-.045em;
 margin:0 0 var(--hero-copy-gap);overflow-wrap:anywhere;
}
body :is(.homepage-hero__copy,.product-hero__copy,.solutions-hero__copy,.plans-intro > .container,.about-hero__copy,.access-hero__layout > div:first-child) > .kicker {
 font-size:.75rem;line-height:1.5;letter-spacing:.06em;margin:0 0 12px;
}
body :is(.homepage-hero__intro,.product-hero__copy > p:last-child,.solutions-hero__copy > p:not(.kicker),.plans-intro .container > p:last-child,.about-hero__copy > p:not(.kicker),.access-hero__layout > div:first-child > p:not(.kicker)) {
 font-size:1rem;line-height:1.6;margin:0;
}
body :is(.homepage-hero__layout,.product-hero__layout) { row-gap:24px; }
body :is(.solutions-actions,.access-benefits) { margin-top:24px; }
body .about-hero__copy > .btn { margin-top:24px; }
@media(max-width:1024px) {
 :root { --hero-frame-width:min(calc(100% - 48px),800px);--hero-padding:32px; }
}
@media(max-width:600px) {
 :root { --hero-frame-width:calc(100% - 40px);--hero-padding:24px;--hero-title-size:2rem;--hero-copy-gap:16px; }
}
@media(max-width:350px) { :root { --hero-frame-width:calc(100% - 32px); } }
