/* V56 | Sitewide editorial typography & responsive layout */
:root{
 --p-ink:#0b2130;--p-muted:#526878;--p-bg:#f3f7f8;
 --p-h1:clamp(40px,4vw,58px);
 --p-h2:clamp(30px,2.75vw,39px);
 --p-h3:clamp(19px,1.55vw,22px);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-size:16px;line-height:1.62}
*,*::before,*::after{box-sizing:border-box}
main{min-width:0}
main :is(h1,h2,h3,h4){
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-wrap:balance;
  max-width:100%;
}
main h1,
main .v42-hero h1,
main .v42-page-hero h1,
main .hero h1,
main .legal-hero h1{
 font-size:var(--p-h1)!important;
 line-height:1.11!important;
 letter-spacing:-.035em!important;
 font-weight:800;
}
main h2,main .v42-title,main .section-title{
 font-size:var(--p-h2)!important;
 line-height:1.17!important;
 letter-spacing:-.025em!important;
 margin-top:0;
 margin-bottom:18px;
}
main h3,main .v42-route-card h3,main .v42-plan h3{
 font-size:var(--p-h3)!important;
 line-height:1.26!important;
 letter-spacing:-.013em!important;
}
main :is(p,li){overflow-wrap:break-word;line-height:1.62}
main p{font-size:15px!important;line-height:1.62!important}
main :is(.v42-hero,.v42-page-hero,.hero) p{font-size:18px!important}
.v56-router-head{margin-bottom:30px;max-width:780px}
.v56-router-head h2{margin:0 0 14px!important;color:var(--p-ink)!important}
.v56-router-head p{margin:0;color:var(--p-muted);font-size:16px!important;max-width:650px}

main .v42-lead,main .section-lead,main .hero-copy>p{font-size:clamp(16px,1.35vw,19px)!important;line-height:1.6!important;max-width:70ch}
main small,main .v42-route-no{line-height:1.45}
:where(.v42-container,.container,.hero-inner,.v42-hero-inner,.grid-2,.grid-3,.grid-4,.v42-router-grid,.v42-plans,.v42-audit,.v42-outcomes) > *{min-width:0}
:where(.container,.v42-container){max-width:1180px}

/* Plain, readable system components instead of a decorative pseudo-scheme. */
.v56-parts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:32px}
.v56-parts article{padding:24px 22px;min-width:0;background:#0f2a39;border:1px solid #244454;border-radius:16px}
.v56-parts span{display:block;font-size:12px;font-weight:800;color:#70e7c6;margin-bottom:25px}
.v56-parts h3{font-size:20px!important;color:#fff!important;margin:0 0 10px}
.v56-parts p{font-size:15px!important;color:#c5d5de!important;line-height:1.6;margin:0}
@media(max-width:1080px){.v56-parts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.v56-parts{grid-template-columns:minmax(0,1fr);gap:11px}.v56-parts article{padding:20px}.v56-parts span{margin-bottom:16px}}

/* A clear hero at a readable measure */
body .v42-hero{min-height:575px;border-radius:0;margin-bottom:0}
body .v42-hero-inner{
 min-height:575px;
 width:min(1180px,calc(100% - 44px));
 padding:88px 0;
 display:flex;
 align-items:center;
 gap:0;
}
body .v42-hero-copy{width:min(100%,870px);max-width:870px}
body .v42-hero h1{max-width:860px!important;margin:0 0 22px!important;color:#fff!important}
body .v42-hero p{max-width:690px;font-size:18px!important;line-height:1.58!important;color:#e4edf1!important;margin:0 0 26px}
body .v42-hero-eyebrow{margin-bottom:16px;font-size:12px;line-height:1.4}
body .v42-hero-panel{display:none}
body .v42-hero-tags{display:none}
body .v42-hero .v42-btns{margin-top:0}
body .v42-hero>img{object-position:62% center}
body .v42-hero:after{background:linear-gradient(90deg,rgba(4,16,27,.92),rgba(4,16,27,.81) 44%,rgba(4,16,27,.35) 80%)}
body .v42-router{margin:0!important;padding:76px 0 80px;position:relative;z-index:1}
body .v42-router-grid{gap:14px;align-items:stretch}
/* Readable grids instead of carousels with hidden off-screen card headlines. */
body .equipment-carousel{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:16px!important;
 overflow:visible!important;
 scroll-snap-type:none!important;
 margin:0!important;
 padding:0!important;
}
body .equipment-carousel .equipment-card{
 min-width:0!important;
 width:auto!important;
 flex-basis:auto!important;
 transform:none!important;
 scroll-snap-align:none!important;
}
body .equipment-controls{display:none!important}
body .industry-strip{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:15px!important;
 overflow:visible!important;
 scroll-snap-type:none!important;
 margin:24px 0 0!important;
 padding:0!important;
}
body .industry-strip .industry-mini{
 min-width:0!important;
 width:auto!important;
 flex-basis:auto!important;
 scroll-snap-align:none!important;
}
body .industry-strip .industry-mini p{font-size:15px!important}

body .v42-route-card{padding:23px 20px;min-height:220px;border-radius:17px}
body .v42-route-no{margin-bottom:24px}
body .v42-route-card h3{margin:0 0 9px!important;font-size:19px!important}
body .v42-route-card p{font-size:15px!important;line-height:1.53!important}
body .v42-route-card a{font-size:14px;line-height:1.3}

/* Dedicated section proportions */
body .v42-section{padding:74px 0}
body .v42-title{max-width:850px}
body .v42-lead{margin-top:12px;font-size:17px!important}
body .v42-page-hero{padding:85px 0 72px;border-radius:0}
body .v42-page-hero h1{max-width:920px;color:#fff!important}
body .v42-page-hero p{font-size:18px!important;max-width:720px;color:#dbe7ed!important}
body .v42-dark :is(h2,h3,h4,.v42-title){color:#fff!important}
body .v42-dark p,body .v42-dark li{color:#d3e0e7}
body .v42-arch-copy h3{color:#fff!important}
body .v42-plan.featured :is(h2,h3,h4){color:#fff!important}
body .v42-plan.featured p{color:#d6e3e9!important}
body .v42-audit-panel.after :is(h2,h3,h4){color:#fff!important}
body .v42-audit-panel.after :is(p,li){color:#d8e5eb!important}
body .v42-final :is(h2,h3){color:#fff!important}
body .v42-final :is(p,li){color:#cddce3!important}
body .v42-console :is(h2,h3){color:#fff!important}
body .v42-console :is(p,li){color:#cbdde6!important}

/* Industry & standard page components */
body main .hero h1{max-width:850px;color:#fff!important}
body main .hero p{font-size:18px!important;line-height:1.6!important}
body main .hero .hero-copy{max-width:820px}
body main .section{padding-top:70px;padding-bottom:70px}
body main .section.hero{padding-top:0;padding-bottom:0}
body main .section.hero .hero-card{min-height:490px}
body main .card :is(h3,h4),body main .feature-card h3{font-size:19px!important}
body main .card p,body main .feature-card p{font-size:15px!important;line-height:1.56!important}
body main :is(.btn,.v42-btn,button){max-width:100%;white-space:normal;text-align:center}
body main :is(.v42-outcome-hero,.v42-install-main,.v42-install-side) :is(h2,h3){color:#fff!important}
body main :is(.v42-outcome-hero,.v42-install-main,.v42-install-side) p{color:#ecf5f9!important}
body .doc :is(h2,h3){color:var(--p-ink)!important}
body .doc h2{font-size:23px!important;line-height:1.28!important;margin:30px 0 12px}
body .doc h3{font-size:18px!important;line-height:1.34!important}
body .legal-hero h1{font-size:clamp(34px,3.5vw,48px)!important}

body .doc :is(p,li){font-size:15px!important;line-height:1.68!important}
body .legal-wrap{padding-top:55px}
body .site-footer :is(h3,h4){color:#fff!important}

/* Tablet */
@media(max-width:1080px){
 body .v42-router-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body .equipment-carousel,body .industry-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body .v42-section{padding:64px 0}
 body main .section{padding-top:62px;padding-bottom:62px}
 body .v42-hero-inner{min-height:520px;padding:70px 0}
}
/* Mobile */
@media(max-width:680px){
 :root{--p-h1:clamp(30px,7.6vw,39px);--p-h2:clamp(27px,6.9vw,33px);--p-h3:19px}
 body .v42-hero-inner{width:calc(100% - 32px);min-height:500px;padding:62px 0}
 body .v42-hero{min-height:500px}
 body .v42-hero h1{font-size:var(--p-h1)!important;line-height:1.1!important}
 body .v42-hero p{font-size:16px!important;line-height:1.57!important}
 body .v42-hero:after{background:linear-gradient(90deg,rgba(4,16,27,.95),rgba(4,16,27,.76) 85%)}
 body .v42-container{width:calc(100% - 32px)}
 body .v42-router{padding:50px 0 62px}
 .v56-router-head{margin-bottom:24px}
 .v56-router-head p{font-size:15px!important}
 body .v42-router-grid{grid-template-columns:minmax(0,1fr)}
 body .equipment-carousel,body .industry-strip{grid-template-columns:minmax(0,1fr)!important}
 body .v42-route-card{min-height:0;padding:20px}
 body .v42-route-no{margin-bottom:20px}
 body .v42-section{padding:56px 0}
 body .v42-page-hero{padding:64px 0 56px}
 body .v42-page-hero h1{font-size:var(--p-h1)!important}
 body main .section{padding-top:55px;padding-bottom:55px}
 body main .section.hero{padding-top:0;padding-bottom:0}
 body main .section.hero .hero-card{min-height:450px}
 body main .hero h1{font-size:var(--p-h1)!important}
 body .v42-btn{min-height:48px}
}
@media(max-width:360px){:root{--p-h1:30px;--p-h2:27px}}

.p-hero-line{display:block;white-space:nowrap}
@media(max-width:680px){.p-hero-line{white-space:normal}}
/* Keep primary hero focused on one action without affecting other links on the page. */
.v42-hero .v42-btns > a:nth-child(n+2){display:none!important}
