/* Shared corporate navigation. Project landing and catalog do not load this file. */
body.bs39-corporate { --navy:#2e406d; --navy-deep:#182746; --green:#96ae4f; --text:#26375e; --muted:#68758d; font-family:'Montserrat',Arial,Helvetica,sans-serif; }
body.bs39-corporate:not(.bs39-home-preview) { padding-top:106px!important; }
.bs39-corporate:not(.bs39-refresh--selector) > .main { padding-top:32px; }
.bs39-corporate .main,.bs39-corporate .main :is(h1,h2,h3,h4,h5,h6,p,li,a,span,strong,b,button,input,select,textarea),.bs39-corporate .modal :is(h2,h5,input,button) { font-family:'Montserrat',Arial,Helvetica,sans-serif; }
.hp-homepage-view.hp-corporate-shell { overflow:visible; font-family:'Montserrat',Arial,Helvetica,sans-serif; line-height:1.5; }
.hp-corporate-shell :is(a,button) { text-decoration:none; font-family:inherit; }
.hp-corporate-shell .hp-site-header { position:fixed; z-index:1030; background:#2e406d; }
.admin-bar .hp-site-header { top:32px; }
.hp-corporate-shell :is(.hp-site-header,.hp-mobile-menu) a,
.hp-corporate-shell :is(.hp-site-header,.hp-mobile-menu) a:is(:visited,:hover,:focus,:active) { color:#fff; }
.hp-corporate-shell .hp-site-header :is(a,button,summary):hover { opacity:1; }
.hp-desktop-nav > a,.hp-more > summary,.hp-mobile-menu nav > a { position:relative; display:inline-block; transition:transform .2s ease; }
.hp-desktop-nav > a::after,.hp-more > summary::after,.hp-mobile-menu nav > a::after { content:''; position:absolute; bottom:-7px; left:0; width:100%; height:2px; background:#96ae4f; transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.hp-desktop-nav > a:is(:hover,:focus-visible,[aria-current])::after,.hp-more:is([open],.hp-more-current) > summary::after,.hp-more > summary:is(:hover,:focus-visible)::after,.hp-mobile-menu nav > a:is(:hover,:focus-visible,[aria-current])::after { transform:scaleX(1); }
.hp-desktop-nav > a[aria-current],.hp-more-current > summary,.hp-mobile-menu nav > a[aria-current] { transform:translateY(-2px) scale(1.035); }
.hp-more { position:relative; }
.hp-more > summary { cursor:pointer; list-style:none; }
.hp-more > summary::-webkit-details-marker { display:none; }
.hp-more-panel { position:absolute; top:calc(100% + 24px); right:-20px; min-width:255px; display:grid; gap:4px; padding:12px; border:1px solid #ffffff29; border-radius:12px; background:#2e406d; box-shadow:0 18px 36px #12244240; }
.hp-more:not([open]) > .hp-more-panel { display:none; }
.hp-more-panel a { padding:12px 10px; border-radius:6px; font-size:12px; font-weight:500; text-transform:none; letter-spacing:0; }
.hp-more-panel a:is(:hover,:focus-visible,[aria-current]) { background:#ffffff0f; text-decoration:underline; text-decoration-color:#96ae4f; text-underline-offset:6px; }
.hp-corporate-shell .hp-mobile-menu { background:#2e406d; padding-bottom:max(24px,env(safe-area-inset-bottom)); }
.hp-mobile-menu nav { justify-items:start; }
.hp-mobile-menu nav > a { max-width:100%; }
.hp-mobile-menu-actions > button { width:100%; background:transparent; color:#fff; font-weight:500; border-radius:8px; }
.hp-mobile-menu-socials { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.hp-mobile-menu-socials a { display:flex; justify-content:center; gap:9px; width:100%; height:44px; border-radius:8px; font-size:12px; }
.hp-mobile-menu-socials img { width:21px; height:21px; }
.hp-mobile-menu-actions { flex-shrink:0; }
.hp-corporate-shell .hp-bottom-nav { z-index:1030; }
.hp-corporate-shell .hp-bottom-nav a:is(:visited,:hover,:focus,:active) { color:#fff; }
.hp-corporate-shell .hp-bottom-nav a[aria-current] { color:#c8dc7d; }
.hp-bottom-nav a[aria-current] img { filter:sepia(1) saturate(.6) hue-rotate(28deg) brightness(1.25); }
.hp-corporate-shell .hp-footer-grid h3 { font-family:inherit; line-height:1.5; }
.hp-corporate-shell .hp-footer-grid a:is(:hover,:focus-visible) { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.hp-corporate-shell .hp-container { padding-inline:0; max-width:none; }
.hp-corporate-shell .hp-footer-brand p { margin-top:18px; }
.hp-homepage-view .hp-hero-content { text-align:left; }
.hp-homepage-view .hp-hero-content > :is(p,h1,div) { margin-left:0; padding-left:0; }
.hp-homepage-view .hp-hero h1 { font-size:clamp(54px,6.4vw,96px); text-align:left; }
.hp-homepage-view .hp-hero-eyebrow { margin-bottom:22px; }
.hp-homepage-view .hp-section-heading .hp-eyebrow { margin-bottom:27px; }
.hp-homepage-view :is(.hp-text-link-light,.hp-button-primary),
.hp-homepage-view :is(.hp-text-link-light,.hp-button-primary):is(:visited,:hover,:focus,:active) { color:#fff; }
.hp-homepage-view a.hp-offer-mark:is(:visited,:hover,:focus,:active) { color:#fff; }
.hp-homepage-view a:is(.hp-offer-item,.hp-offer-mark) { text-decoration:none; }
.hp-homepage-view a.hp-offer-item { color:#26375e; }
.hp-homepage-view a:is(.hp-offer-item,.hp-offer-mark):focus-visible { outline:3px solid #96ae4f; outline-offset:5px; }
.bs39-contact-map { display:block; max-width:600px; margin:24px 0; font-weight:500; font-size:14px; line-height:1.5; }
.bs39-contact-map img { display:block; width:100%; height:auto; border:1px solid #dfe4eb; border-radius:12px; }
.bs39-contact-map__link { display:inline-flex; margin-top:12px; padding:12px 18px; border-radius:8px; background:#2e406d; color:#fff!important; text-decoration:none!important; }
.bs39-corporate #contacts .map { height:auto; }
@media(max-width:700px) {
  body.bs39-corporate:not(.bs39-home-preview) { padding-top:72px!important; }
  .bs39-corporate:not(.bs39-refresh--selector) > .main { padding-top:22px; }
  body.bs39-corporate { padding-bottom:calc(73px + env(safe-area-inset-bottom))!important; }
  .admin-bar .hp-site-header { top:46px; }
  .hp-homepage-view .hp-hero h1 { font-size:clamp(32px,10.2vw,60px); }
  .hp-corporate-shell .hp-phone-link { display:grid; place-items:center; gap:0; padding:0; line-height:0; }
  .hp-corporate-shell .hp-phone-link::before { display:block; }
  .hp-corporate-shell .hp-mobile-menu nav { font-size:17px; gap:17px; padding:26px 0; }
  .bs39-corporate #cookie-notice { bottom:calc(73px + env(safe-area-inset-bottom)); }
}
@media(max-width:370px) {
  .hp-corporate-shell .hp-brand img { width:144px; }
  .hp-corporate-shell .hp-site-header { gap:8px; padding-inline:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .hp-desktop-nav > a,.hp-more > summary,.hp-mobile-menu nav > a { transition:none; }
}
