/* Homepage type scale: one rule per content role, across every section. */
.home-page{
 --type-hero:clamp(34px,3.5vw,64px);
 --type-section:clamp(28px,2.4vw,44px);
 --type-card:clamp(20px,1.35vw,24px);
 --type-body:16px;
 --type-label:12px;
 --type-link:14px;
}
.home-page .hero h1{font-size:var(--type-hero);font-weight:700;line-height:1.14;letter-spacing:-.04em}
.home-page h2{font-size:var(--type-section);font-weight:600;line-height:1.2;letter-spacing:-.03em}
.home-page h3,
.home-page .solution h3,
.home-page .product-info h3,
.home-page .industry h3,
.home-page .journey h3{font-size:var(--type-card);font-weight:600;line-height:1.35;letter-spacing:-.02em;min-height:0}
.home-page p,
.home-page .hero-copy>p,
.home-page .section-head>p,
.home-page .solution p,
.home-page .product-info p,
.home-page .industry p,
.home-page .approach-intro>p,
.home-page .journey p,
.home-page .faq-grid>div>p,
.home-page .home-faq details p,
.home-page #system-description,
.home-page .system-detail p{font-size:var(--type-body)!important;line-height:1.75;font-weight:400;min-height:0;letter-spacing:normal}
.home-page .eyebrow,
.home-page .index,
.home-page .product-info .tag,
.home-page .product-picture>.index,
.home-page .industry>.index,
.home-page .solution-tags span,
.home-page .journey small,
.home-page .diagram-label,
.home-page .diagram-label>span:last-child,
.home-page .system-detail>span,
.home-page .media-caption small,
.home-page .hero-float small,
.home-page .visual-coordinate,
.home-page .approach-visual>span,
.home-page .hotspot-panel span,
.home-page .section-nav span{font-size:var(--type-label);font-weight:500;line-height:1.6;letter-spacing:.06em;min-height:0}
.home-page .text-link,
.home-page .solution .text-link,
.home-page .product-info .text-link,
.home-page .btn,
.home-page .hero-actions .btn,
.home-page .section-nav a,
.home-page .portfolio-note,
.home-page .portfolio-note a,
.home-page .hero-proof,
.home-page .hero-foot,
.home-page .hero-foot span:first-child,
.home-page .hero-foot i,
.home-page .hero-float span,
.home-page .hero-float b,
.home-page .media-caption,
.home-page .hotspot-panel,
.home-page .system-tab,
.home-page .system-tab>span{font-size:var(--type-link);font-weight:500;line-height:1.6;letter-spacing:normal}
.home-page .home-faq summary{font-size:18px;font-weight:500;line-height:1.6}
.home-page .hero-foot{gap:20px;align-items:start}
.home-page .diagram-label{flex-wrap:wrap;gap:8px}
.home-page .diagram-label>span:last-child{margin-left:auto}
.home-page .hero-actions .btn{padding:14px 18px;gap:18px}
.home-page .system-tab{padding:18px 10px;min-height:58px}
.home-page .product-info .tag{display:block;margin-bottom:12px}
.home-page .solution-tags{gap:8px}.home-page .solution-tags span{padding:5px 8px}
.home-page .hero-float{gap:18px}.home-page .hero-float small{letter-spacing:.03em}
.home-page .visual-coordinate{letter-spacing:.02em}
.home-page .product-picture>.index{display:block}
.home-page .industry h3{gap:12px}.home-page .industry .arrow{flex-shrink:0}
#app:has(.home-page) .cta h2{font-size:clamp(28px,2.4vw,44px);font-weight:600;line-height:1.2;letter-spacing:-.03em}
#app:has(.home-page) .cta p{font-size:16px;line-height:1.75}
#app:has(.home-page) .cta .eyebrow{font-size:12px;line-height:1.6}
#app:has(.home-page) .cta .btn{font-size:14px;line-height:1.6}
#app:has(.home-page) .site-footer h3{font-size:18px;font-weight:600;line-height:1.4}
#app:has(.home-page) .footer-identity strong{font-size:16px;font-weight:600}
#app:has(.home-page) .footer-list a,
#app:has(.home-page) .footer-identity>p,
#app:has(.home-page) .footer-contact p,
#app:has(.home-page) .footer-contact>a{font-size:14px;line-height:1.75}
#app:has(.home-page) .footer-contact small,
#app:has(.home-page) .footer-contact .footer-hours,
#app:has(.home-page) .footer-legal small,
#app:has(.home-page) .footer-legal a,
#app:has(.home-page) .footer-legal span{font-size:12px;line-height:1.7}
@media(min-width:541px) and (max-width:760px){
 .home-page .solution-grid,.home-page .product-grid{grid-template-columns:1fr}
}
@media(max-width:900px){.home-page .hero-foot{grid-template-columns:1fr 1fr}.home-page .hero-actions{display:flex;flex-wrap:wrap}}
@media(max-width:640px){
 .home-page{--type-hero:clamp(34px,8vw,42px);--type-section:28px;--type-card:22px}
 .home-page .hero-actions{display:grid;grid-template-columns:1fr;max-width:380px}
 .home-page .hero-actions .btn{justify-content:space-between}
 .home-page .hero-visual{padding-bottom:0}
 .home-page .hero-float{position:relative;left:auto;right:auto;bottom:auto;margin:-30px 12px 0;padding:18px;gap:16px}
 .home-page .hero-float img{width:70px;flex:0 0 70px;height:60px}
 .home-page .hero-float>span{min-width:0}
 .home-page .hero-media .media-caption{bottom:52px;left:18px;right:18px;gap:14px}
 .home-page .media-caption>div{min-width:0}
 .home-page .visual-coordinate{position:static;display:block;text-align:center;padding-top:15px}
 .home-page .system-tabs{gap:8px}
 .home-page .system-tab{font-size:14px;padding:12px 8px;min-height:90px;overflow-wrap:normal}
 .home-page .system-tab>span{font-size:12px}
 .home-page .industry-grid{grid-template-columns:1fr}
 .home-page .industry-image{height:140px}
 .home-page .industry p{margin-top:12px}
 .home-page .approach-visual{display:block}
 .home-page .approach-visual img{width:100%;height:180px}
 .home-page .approach-visual>span{text-align:center;max-width:none;margin-top:18px}
 .home-page .diagram-label>span:last-child{margin-left:0}
 .home-page .hotspot-panel span{margin-top:8px}
}
