/* Shared editorial scale. Cinematic canvas lettering and Wacus artwork remain independent. */
:root{--asp-type-family:Manrope,sans-serif;--asp-type-heading:64px;--asp-type-subheading:32px;--asp-type-body:18px;--asp-type-label:14px}
.header .hd-nav>a,.asp-menu-drawer__nav a,.asp-brand__keywords,.asp-rayray-reference,.sx-home-about__copy,.asp-cube-contact,.mellow-faq{font-family:var(--asp-type-family)}
.header .hd-nav>a{font-size:var(--asp-type-label);font-weight:600}
.asp-rayray-awards .asp-method-heading,.mellow-faq__header h2,#asp-footer-heading{font-family:var(--asp-type-family);font-size:var(--asp-type-heading);font-weight:400;line-height:1.1;letter-spacing:-.04em}
.asp-method-sheet h3{font-size:var(--asp-type-subheading);line-height:1.2}
.asp-method-sheet p,.asp-cube-summary .sx-home-about__copy,.mellow-faq__answer p{font-family:var(--asp-type-family);font-size:var(--asp-type-body);font-weight:400;line-height:1.6;letter-spacing:0}
.mellow-faq__question{font-family:var(--asp-type-family);font-size:var(--asp-type-body);font-weight:500;line-height:1.4;letter-spacing:0;text-transform:none}
.mellow-faq__header p,.mellow-faq__number,.mellow-faq__category,.asp-cube-contact,.asp-ending-email,.asp-ending-base{font-family:var(--asp-type-family);font-size:var(--asp-type-label);line-height:1.5;letter-spacing:0}
.mellow-faq__category{text-transform:uppercase}
.mellow-faq__header{grid-template-columns:50% 1fr}
.asp-ending-contact{align-items:center}
#asp-footer-heading{font-size:var(--asp-type-subheading);line-height:1.35;letter-spacing:-.025em;text-transform:none;text-wrap:balance}
/* Retain the hero's two text states and timing, with a readable mobile kicker. */
.main-visual .main-title .asp-growth-statement{font-size:min(84px,5.8vw)}
.main-title .main-title__line:first-child{font-size:max(16px,.46em)}
@media(max-width:767px){
 :root{--asp-type-heading:36px;--asp-type-subheading:28px;--asp-type-body:16px}
 .mellow-faq__header{grid-template-columns:1fr}
 .main-visual .main-title .asp-growth-statement{font-size:5.8vw}
}
/* Short landscape screens need separate vertical slots for heading, cube and CTA. */
@media(max-height:500px) and (min-width:600px){
 #image-cube .sx-home-about__headline{width:min(360px,calc(100% - 48px));line-height:1.1}
 #image-cube .sx-home-about__headline--back{padding-top:64px}
 #image-cube .sx-home-about__headline--front{margin-top:4px}
 #image-cube .sx-home-about__cube{top:56%}
 #image-cube .asp-cube-summary{bottom:8px;row-gap:0}
 #image-cube .sx-home-about__copy{font-size:14px;line-height:1.4}
}
