/* Approved balanced homepage hero; existing Libre Franklin / Lato fonts retained. */
.pc-balanced-hero{background:var(--pc-dark)}
.pc-balanced-hero .pc-hero-slider{min-height:560px}
.pc-balanced-hero .pc-hero-slide{background:linear-gradient(110deg,var(--pc-dark),#12334c)}
.pc-balanced-hero .pc-hero-slide::before{background:linear-gradient(90deg,rgba(10,24,39,.42),transparent 65%);pointer-events:none}
.pc-balanced-hero .pc-hero-slide::after{display:none}
.pc-balanced-hero .pc-hero-slide__background{inset:16px 1% auto auto;width:54%;height:280px;object-fit:contain;object-position:center;padding:0;background:none;opacity:1;mask-image:linear-gradient(to bottom,#000 85%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 85%,transparent)}
.pc-balanced-hero .pc-hero-slide__inner{min-height:560px;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:64px;align-items:center;padding:52px 0 85px}
.pc-balanced-hero .pc-hero-copy{max-width:560px}
.pc-balanced-hero .pc-hero-copy h1{font-size:clamp(40px,4.2vw,56px);line-height:1.07;letter-spacing:-.045em;margin:15px 0 22px}
.pc-balanced-hero .pc-hero-copy p{font-size:16px;line-height:1.7;margin-bottom:26px;max-width:520px;color:rgba(255,255,255,.86)}
.pc-balanced-hero .pc-hero-panel{width:100%;max-width:440px;justify-self:end;align-self:end;padding:22px 24px;border-top-width:5px;border-radius:14px;box-shadow:0 18px 48px rgba(0,0,0,.22)}
.pc-balanced-hero .pc-hero-panel__label{margin-bottom:12px}
.pc-balanced-hero .pc-hero-panel__label strong{font-size:24px}
.pc-balanced-hero .pc-hero-panel p{font-size:14px;line-height:1.65;margin-bottom:16px}
.pc-balanced-hero .pc-track-inline{grid-template-columns:minmax(0,1fr) auto}
.pc-balanced-hero .pc-track-inline input{min-height:50px}
.pc-balanced-hero .pc-hero-controls{bottom:20px}
.pc-balanced-hero .pc-hero-slide__background--illustration{mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 80%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 80%,transparent);-webkit-mask-composite:source-in}
.pc-balanced-hero+.pc-service-strip{margin-top:0;border-radius:0 0 12px 12px}
.pc-balanced-hero+.pc-service-strip a{min-height:90px;padding:16px}
@media(max-width:1180px) and (min-width:941px){
 .pc-balanced-hero .pc-hero-slide__inner{gap:36px}
 .pc-balanced-hero .pc-hero-copy h1{font-size:46px}
 .pc-balanced-hero .pc-hero-actions{gap:10px}
 .pc-balanced-hero .pc-hero-actions .pc-button{padding-inline:16px}
}
@media(max-width:940px){
 .pc-balanced-hero .pc-hero-slider{min-height:0}
 .pc-balanced-hero .pc-hero-slide{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}
 .pc-balanced-hero .pc-hero-slide.is-active{position:relative;inset:auto}
 .pc-balanced-hero .pc-hero-slide__inner{display:contents}
 .pc-balanced-hero .pc-hero-copy{position:relative;z-index:2;order:1;width:calc(100% - 48px);max-width:650px;margin:38px auto 0}
 .pc-balanced-hero .pc-hero-copy h1{font-size:clamp(34px,6vw,46px);max-width:600px;margin:12px 0 18px}
 .pc-balanced-hero .pc-hero-copy p{max-width:600px;margin-bottom:20px}
 .pc-balanced-hero .pc-hero-actions{display:flex;gap:10px}
 .pc-balanced-hero .pc-hero-actions .pc-button{width:auto}
 .pc-balanced-hero .pc-hero-slide__background{position:relative;inset:auto;order:2;width:calc(100% - 28px);height:240px;max-width:650px;margin:12px auto 0;object-fit:contain;opacity:1}
 .pc-balanced-hero .pc-hero-panel{position:relative;z-index:2;order:3;width:calc(100% - 48px);max-width:650px;margin:0 auto 82px;align-self:center}
}
@media(max-width:640px){
 .pc-balanced-hero .pc-hero-copy,.pc-balanced-hero .pc-hero-panel{width:calc(100% - 32px)}
 .pc-balanced-hero .pc-hero-copy{margin-top:24px}
 .pc-balanced-hero .pc-eyebrow{font-size:9px;letter-spacing:.12em}
 .pc-balanced-hero .pc-hero-copy h1{font-size:32px;line-height:1.06;margin-bottom:14px}
 .pc-balanced-hero .pc-hero-copy p{font-size:14px;line-height:1.5;margin-bottom:16px}
 .pc-balanced-hero .pc-hero-actions .pc-button{font-size:10px;padding:12px 14px}
 .pc-balanced-hero .pc-hero-slide__background{height:140px;margin-top:8px}
 .pc-balanced-hero .pc-hero-panel{padding:16px;margin-bottom:64px}
 .pc-balanced-hero .pc-hero-panel__label strong{font-size:20px}
 .pc-balanced-hero .pc-hero-panel__label i{width:34px;height:34px}
 .pc-balanced-hero .pc-hero-panel p{font-size:13px;margin-bottom:12px}
 .pc-balanced-hero .pc-track-inline .pc-button{padding-inline:16px}
 .pc-balanced-hero .pc-track-inline input{padding-inline:11px;font-size:14px}
 .pc-balanced-hero+.pc-service-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pc-balanced-hero+.pc-service-strip a{gap:9px;padding:12px;min-height:94px}
 .pc-balanced-hero+.pc-service-strip i{width:32px;height:32px;font-size:16px}
 .pc-balanced-hero+.pc-service-strip strong{font-size:13px}
 .pc-balanced-hero+.pc-service-strip small{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.pc-balanced-hero .pc-hero-slide{transition:none;transform:none}}

/* Fit desktop composition to the available window, including zoomed displays. */
@media(min-width:941px){
 .pc-balanced-hero{--pc-hero-fit:clamp(410px,calc(100svh - 204px),560px)}
 .pc-balanced-hero .pc-hero-slider,.pc-balanced-hero .pc-hero-slide__inner{min-height:var(--pc-hero-fit)}
 .pc-balanced-hero .pc-hero-slide__inner{padding:30px 0 64px;align-items:center}
 .pc-balanced-hero .pc-hero-slide__background{width:58%;height:340px;top:0;right:0}
 .pc-balanced-hero .pc-hero-panel{max-width:460px}
 .pc-balanced-hero .pc-hero-controls{bottom:12px}
}
@media(min-width:941px) and (max-height:720px){
 .pc-balanced-hero .pc-hero-copy h1{font-size:42px;line-height:1.05;margin:10px 0 16px}
 .pc-balanced-hero .pc-hero-copy p{font-size:14px;line-height:1.6;margin-bottom:18px}
 .pc-balanced-hero .pc-hero-actions .pc-button{min-height:44px;padding:11px 18px}
 .pc-balanced-hero .pc-hero-slide__background{height:340px;top:-40px}
 .pc-balanced-hero .pc-hero-panel{padding:18px 22px;align-self:end}
 .pc-balanced-hero .pc-hero-panel__label{margin-bottom:8px}
 .pc-balanced-hero .pc-hero-panel__label strong{font-size:22px}
 .pc-balanced-hero .pc-hero-panel__label i{height:34px;width:34px}
 .pc-balanced-hero .pc-hero-panel p{font-size:13px;line-height:1.5;margin-bottom:12px}
 .pc-balanced-hero .pc-track-inline input{min-height:46px;padding:10px 12px}
 .pc-balanced-hero .pc-track-inline .pc-button{min-height:46px;padding:10px 18px}
 .pc-balanced-hero .pc-hero-slide__inner{padding-top:24px;padding-bottom:60px}
}


/* Translucent tracking card; foreground controls remain fully opaque. */
.pc-balanced-hero .pc-hero-panel:has(.pc-track-inline){background:rgba(255,255,255,.72);border-left:1px solid rgba(255,255,255,.35);border-right:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35)}
.pc-balanced-hero .pc-hero-panel:has(.pc-track-inline) p{color:#34465b}
.pc-balanced-hero .pc-track-inline input{background:#fff}

/* Mobile composition: consistent gutters, equal actions and larger original artwork. */
@media(max-width:940px){
 .pc-balanced-hero .pc-hero-copy,.pc-balanced-hero .pc-hero-panel{width:calc(100% - 40px);max-width:650px}
 .pc-balanced-hero .pc-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .pc-balanced-hero .pc-hero-actions .pc-button{width:100%;min-height:46px}
 .pc-balanced-hero .pc-hero-slide__background{height:260px;margin:12px auto 4px;max-width:650px}
 .pc-balanced-hero .pc-hero-panel{margin-bottom:76px}
 .pc-balanced-hero .pc-track-inline input{font-size:16px}
 .pc-balanced-hero .pc-hero-slide:not(.is-active){pointer-events:none}
}
@media(max-width:640px){
 .pc-balanced-hero .pc-hero-copy{margin-top:22px}
 .pc-balanced-hero .pc-hero-copy h1{font-size:32px;line-height:1.1;letter-spacing:-.04em;margin:12px 0 16px}
 .pc-balanced-hero .pc-hero-copy p{font-size:14px;line-height:1.6;margin-bottom:18px}
 .pc-balanced-hero .pc-hero-actions{gap:10px}
 .pc-balanced-hero .pc-hero-actions .pc-button{font-size:10px;padding:11px 8px;letter-spacing:.025em}
 .pc-balanced-hero .pc-hero-slide__background{width:100%;height:190px;margin:8px auto 4px;mask-image:none;-webkit-mask-image:none}
 .pc-balanced-hero .pc-hero-panel{padding:17px;margin-bottom:72px;border-radius:14px}
 .pc-balanced-hero .pc-hero-panel__label{margin-bottom:10px}
 .pc-balanced-hero .pc-hero-panel p{font-size:13px;line-height:1.55;margin-bottom:14px}
 .pc-balanced-hero .pc-track-inline{gap:8px}
 .pc-balanced-hero .pc-track-inline input,.pc-balanced-hero .pc-track-inline button{min-height:48px}
 .pc-balanced-hero .pc-hero-controls{bottom:16px;gap:10px}
 .pc-balanced-hero .pc-hero-dot{width:28px}
 .pc-balanced-hero .pc-hero-dot.is-active{width:40px}
}
@media(max-width:359px){
 .pc-balanced-hero .pc-hero-copy h1{font-size:29px}
 .pc-balanced-hero .pc-hero-copy,.pc-balanced-hero .pc-hero-panel{width:calc(100% - 32px)}
 .pc-balanced-hero .pc-track-inline{grid-template-columns:1fr}
}
/* Explicit white foreground fixes the generic anchor color overriding the button. */
body.progressive-theme-body .pc-copy>a.pc-button--primary{color:#fff}
