/* Shared typography and responsive system. Edit title sizes here only. */
:root{--hve-display-size:clamp(52px,4.7vw,68px);--hve-hero-size:clamp(42px,4vw,58px);--hve-section-size:25px;--hve-subsection-size:25px;--hve-card-size:20px;--hve-body-size:15px;--hve-small-size:13px;--hve-label-size:10px;--hve-title-leading:1.1;--hve-copy-leading:1.72}
body{font-size:var(--hve-body-size)}
.hve-title{margin:0;font-weight:750;line-height:var(--hve-title-leading);letter-spacing:-.04em}
.hve-title--display{font-size:var(--hve-display-size)}
.hve-title--hero{font-size:var(--hve-hero-size)}
.hve-title--section{font-size:var(--hve-section-size)}
.hve-title--subsection{font-size:var(--hve-subsection-size)}
.hve-title--card{font-size:var(--hve-card-size);letter-spacing:-.02em}
.hve-eyebrow{font-size:var(--hve-label-size);font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.hve-lead{font-size:var(--hve-body-size);line-height:var(--hve-copy-leading)}
:where(.hero-v3 .hero-main h1,.about-hero-copy h1){font-size:var(--hve-display-size);line-height:var(--hve-title-leading);letter-spacing:-.05em}
:where(.inner-hero h1,.page-hero h1,.error-inner h1,.article-page>header h1){font-size:var(--hve-hero-size);line-height:var(--hve-title-leading);letter-spacing:-.045em}
:where(.intro-heading h2,.v2-title-row h2,.service-v2-copy h2,.about-copy-v2 h2,.featured-heading h2,.partner-title h2,.brand-slider-head h2,.about-story-content h2,.about-section-head h2,.values-intro h2,.about-industries-grid h2,.inner-section-head h2,.inverter-intro h2,.contact-details h2,.contact-map h2,.product-body-grid article>h2,.news-index-heading h2){font-size:var(--hve-section-size)!important;line-height:1.2;letter-spacing:-.025em}
:where(.showcase-copy h3,.about-contact-inner h2,.news-feature h2,.docs-search h2,.contact-form-v2>h2,.inner-service-strip h2,.docs-help h2){font-size:var(--hve-subsection-size)!important;line-height:1.2;letter-spacing:-.025em}
:where(.catalog-info h2,.news-card h2,.service-page-grid h3,.solution-brand h3,.process-page-grid h3,.project-page-card h2,.docs-list h3,.search-results h2,.detail-benefits h3,.focus-card h3,.featured-info h3,.showcase-list h3){font-size:var(--hve-card-size);line-height:1.28;letter-spacing:-.02em}
:where(.hero-v3 .hero-main>p,.about-hero-copy>p,.intro-heading>p,.featured-heading>p,.partner-title>p,.inner-hero-panel>p,.product-lead,.about-story-text p,.about-section-head>p){font-size:var(--hve-body-size);line-height:var(--hve-copy-leading)}
:where(.catalog-info p,.news-card p,.service-page-grid p,.service-page-grid li,.solution-brand p,.docs-list p,.contact-address p,.process-page-grid p,.detail-benefits p,.featured-info p,.showcase-copy p,.showcase-list small){font-size:var(--hve-small-size);line-height:1.6}
:where(.section-index,.inner-kicker,.about-kicker,.about-story-label span,.about-section-head>div>span,.values-intro>span,.about-industries-grid>div>span,.catalog-info>small,.news-card small,.service-page-grid article small,.docs-list small){font-size:var(--hve-label-size)}
.header-v3 .nav-link{font-size:14px;white-space:nowrap;text-transform:uppercase;}
.header-v3 .mega-col a{font-size:13px}
.header-v3 .mega-intro p{font-size:13px}
.header-v3 .mega-side>a{font-size:12px}
.site-footer p,.site-footer a{font-size:13px}
:where(.services-center-head h2,.services-consult-cta h2,.service-detail-main-v2 main>h2,.service-detail-title-v2 h2,.service-faq-grid-v2 h2,.service-projects-v2 h2,.project-detail-layout-v2 main>section>h2,.project-gallery-head-v2 h2,.project-case-intro-v3 h2,.project-case-scale-v3 h2,.project-case-work-v3 h2,.project-case-real-v3 h2,.news-related-head-v2 h2,.article-content-v2 section>h2,.newsletter-v2 h2,.document-library-head-v2 h2,.document-guide-v2 h2,.contact-design-form h2,.contact-departments-v2 h2,.contact-reasons-v2 h2,.contact-location-head-v2 h2,.catalog-main-head h2,.repair-hub-intro h2,.repair-hub-brands header h2,.repair-hub-process header h2,.repair-hub-cta h2,.seo-service-layout article h2,.seo-service-final-cta h2,.cta-band-copy h2){font-size:25px!important;line-height:1.2;letter-spacing:-.025em}
:where(.service-feature-content h3,.services-design-grid h3,.project-design-card h2,.news-card-grid-v2 h3,.document-list-v2 h3,.product-card-v2 h3,.news-related-grid-v2 h3){font-size:18px!important;line-height:1.3;letter-spacing:-.015em}
:where(.service-detail-editor-v2,.repair-hub-editor,.article-content-v2,.project-detail-layout-v2 main){font-size:15px;line-height:1.7}
@media(max-width:1280px){
:root{--hve-display-size:clamp(48px,4.6vw,60px);--hve-hero-size:clamp(40px,4vw,53px);--hve-section-size:25px;--hve-subsection-size:25px}
.header-v3 .brand-v2{width:170px}
.header-v3 .brand-v2 span{display:none}
.header-v3 .nav-link{padding-left:7px;padding-right:7px;font-size:12px}
.header-v3 .header-action{margin-left:8px;padding-left:10px}
}
@media(max-width:1080px){
:root{--hve-display-size:52px;--hve-hero-size:46px;--hve-section-size:25px;--hve-subsection-size:25px;--hve-body-size:15px;--hve-card-size:19px}
.utility-bar{display:none}
.header-v3 .nav-wrap{min-height:74px}
.header-v3 .main-nav,.header-v3 .header-action{display:none}
.header-v3 .menu-toggle{display:block}
.header-v3 .brand-v2{width:auto}
.header-v3 .brand-v2 span{display:grid}
.header-v3 .mobile-nav{top:74px}
.header-v3 .mobile-nav{display:none;position:fixed;inset:74px 0 0;background:#fff;padding:18px 24px;overflow-y:auto;z-index:60}
.header-v3 .mobile-nav.open{display:block}
.header-v3 .mobile-nav>a{display:block;padding:14px 0;border-bottom:1px solid #e1e5e2;font-size:14px;font-weight:800}
.header-v3 .mobile-hotline{margin-top:16px;padding:16px!important;text-align:center;background:var(--v2-gold);color:#111;border:0!important}
.admin-bar .header-v3 .mobile-nav{top:106px}
.home-hero-inner,.intro-heading,.product-showcase,.service-v2-grid,.home-about-grid,.about-hero-grid,.about-values-grid,.about-industries-grid,.inner-hero-row,.product-detail-grid,.product-body-grid,.contact-page-grid,.article-layout{grid-template-columns:1fr}
.home-hero-inner,.inner-hero-row{gap:36px}
.hero-v3 .hero-main,.about-hero-copy{padding-right:0}
.hero-v3 .hero-visual{height:540px}
.inner-hero-media{height:320px}
.about-year,.service-badge{right:12px}
.catalog-layout{grid-template-columns:1fr}
.catalog-aside{display:none}
.catalog-products,.catalog-products.full,.featured-grid,.solution-brand-grid,.news-grid{grid-template-columns:repeat(2,1fr)}
.service-feature-grid,.service-page-grid,.about-cap-grid,.projects-page-grid,.project-slider{grid-template-columns:1fr 1fr}
.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
:root{--hve-display-size:44px;--hve-hero-size:40px;--hve-section-size:25px;--hve-subsection-size:25px;--hve-card-size:18px;--hve-body-size:14px;--hve-small-size:12px}
.container{width:min(1180px,calc(100% - 32px))}
.home-section,.section,.product-hub,.services-overview,.projects-page,.news-page,.docs-page,.contact-page,.search-page,.product-detail-body,.related-products{padding-top:70px;padding-bottom:70px}
.hero-v3 .hero-main h1,.about-hero-copy h1,.inner-hero h1{hyphens:none;overflow-wrap:normal;word-break:normal}
.inner-hero{padding:42px 0}
.inner-hero-row{gap:25px}
.inner-hero-media{height:245px}
.inner-hero-actions{align-items:stretch;flex-direction:column}
.inner-hero-actions .inner-btn{width:100%}
.catalog-products,.catalog-products.full,.featured-grid,.solution-brand-grid,.news-grid,.service-feature-grid,.service-page-grid,.about-cap-grid,.projects-page-grid,.project-slider{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
.inner-section-head,.v2-title-row,.about-section-head,.featured-heading,.partner-title,.brand-slider-head{align-items:flex-start;flex-direction:column;display:flex;gap:18px}
.service-page-grid article{grid-template-columns:1fr}
.process-page-grid,.about-process-line{grid-template-columns:1fr}
.product-ctas{flex-direction:column}
.contact-form-v2 form{grid-template-columns:1fr}
.contact-form-v2 .wide{grid-column:auto}
.admin-bar .header-v3 .mobile-nav{top:120px}
}
@media(max-width:480px){
:root{--hve-display-size:38px;--hve-hero-size:36px;--hve-section-size:25px;--hve-subsection-size:25px;--hve-card-size:17px;--hve-body-size:14px}
.container{width:min(1180px,calc(100% - 24px))}
.brand-v2 img{width:50px;height:56px}
.brand-v2 b{font-size:11px}
.brand-v2 small{font-size:6px}
.hero-v3 .hero-main{padding-left:16px;padding-right:16px}
.hero-v3 .hero-buttons{grid-template-columns:1fr}
.hero-links a{flex-basis:100%;border-right:0;border-bottom:1px solid #d5d8d5;padding-bottom:12px}
.inner-hero-media{height:210px}
.catalog-image{height:245px}
.about-facts{grid-template-columns:1fr}
.trust-inner,.hero-stats{grid-template-columns:1fr}
.error-links .container>div{grid-template-columns:1fr}
}
