/* Header and footer shared by every template, including plugin pages. */
.lp-b9-header{position:relative;z-index:30}
.lp-b9-header .nav-mo{font-size:11px;font-weight:500;color:#A86F00;white-space:nowrap}
.lp-b9-header .lp-nav-link{font-size:15px;font-weight:500;text-decoration:none;padding:12px 4px}
.lp-b9-header .nav-dd{position:relative;display:flex;align-items:center}
.lp-b9-header .nav-dd-btn{list-style:none;display:flex;align-items:center;gap:6px;padding:12px 4px;border:0;background:transparent;font:500 15px Inter,sans-serif;color:#171B52;cursor:pointer}
.lp-b9-header summary::-webkit-details-marker{display:none}
.lp-b9-header .nav-dd-menu{position:absolute;left:50%;top:calc(100% + 14px);transform:translate(-50%,0);width:300px;box-sizing:border-box;padding:8px;border-radius:16px;background:#fff;border:1px solid #E3E7E1;box-shadow:0 12px 32px #171b5224;z-index:30}
.lp-b9-header .nav-dd:not([open]) .nav-dd-menu{display:none!important}
.lp-b9-header .nav-dd[open] .nav-dd-menu{display:flex;flex-direction:column;opacity:1;visibility:visible;transform:translate(-50%,0)}
.lp-b9-header .nav-dd-a{display:flex;flex-direction:column;gap:2px;padding:12px 14px!important;border-radius:10px;text-decoration:none}
.lp-b9-header .nav-dd-a:hover{background:#E9EEE6}.lp-b9-header .nav-dd-t{font-size:15px;font-weight:600}.lp-b9-header .nav-dd-d{font-size:13px;color:#565A80}
.lp-b9-footer .lp-footer-link{font-size:14px;color:#565A80;text-decoration:none;min-height:0;display:block}
.lp-b9-footer>div:last-child .lp-footer-link{font-size:13px}
.lp-b9-footer>div:last-child{flex-wrap:wrap;gap:24px}.lp-b9-footer>div:last-child>div{flex-wrap:wrap}
.lp-b9-footer a,.lp-b9-footer span{overflow-wrap:anywhere}
.lp-b9-footer>div[style*="font-size: 200px"]{font-size:clamp(70px,13.8889vw,200px)!important;white-space:nowrap}
@media(min-width:768px) and (max-width:1199px){
 .lp-b9-header .m-nav{gap:16px!important}.lp-b9-header .nav-dd-btn,.lp-b9-header .lp-nav-link{font-size:13px}
 .lp-b9-header>div{padding-left:16px!important}.lp-b9-header .m-login{padding-inline:16px!important}
 .lp-b9-footer>div:first-child{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:40px!important}
}
@media(max-width:767px){
 .lp-b9-header{height:auto!important;padding-top:12px!important}
 .lp-b9-header>div{height:60px!important;padding:0 8px 0 14px!important}
 .lp-b9-header .m-nav{display:none!important}
 .lp-b9-header .m-login{height:40px!important;padding:0 14px!important;font-size:13px!important}.lp-b9-header .m-login svg{display:none}
 .lp-b9-header button[aria-label="Search"]{display:none!important}
 .lp-b9-header .m-menu{display:flex!important;width:40px;height:40px;border-radius:999px;border:0;align-items:center;justify-content:center}
 .lp-b9-header.open .m-nav{display:flex!important;flex-direction:column;gap:0!important;position:absolute;left:0;right:0;top:80px;background:#fff;border:1px solid #E3E7E1;border-radius:20px;padding:8px 20px;box-shadow:0 12px 32px #171b5224}
 .lp-b9-header.open .nav-dd{flex-direction:column;align-items:stretch}
 .lp-b9-header.open .nav-dd-btn{pointer-events:auto!important;justify-content:space-between;padding:16px 0;font-size:17px}
 .lp-b9-header.open .nav-dd-menu{position:static;transform:none!important;width:auto;padding:0 0 10px 12px;border:0;box-shadow:none}
 .lp-b9-header.open .nav-dd-a{padding:10px 0!important}.lp-b9-header.open .nav-dd-d{display:none}
 .lp-b9-header .m-search{display:none}.lp-b9-header.open .m-search{display:block!important}
 .lp-b9-footer{padding-top:56px!important;padding-bottom:32px!important}
 .lp-b9-footer>div:first-child{grid-template-columns:1fr!important;gap:36px!important}
 .lp-b9-footer>div:first-child>div:first-child{padding-right:0!important;gap:20px!important}
 .lp-b9-footer>div[style*="font-size: 200px"]{padding-top:48px!important;font-size:19vw!important}
 .lp-b9-footer>div:last-child{flex-direction:column;align-items:flex-start!important;gap:16px}
 .lp-b9-footer>div:last-child>div{gap:12px 18px!important}
}

/* Header is a sibling of main; its reserved hero space preserves the approved layout. */
#page:has(>.lp-header-shell){position:relative;--lp-header-height:96px}
#page>.lp-header-shell{position:absolute;z-index:100;top:0;left:0;width:100%;padding:0 max(24px,calc((100% - 1200px)/2))!important;background:transparent}
#page:has(>.lp-header-shell) #main-content .m-hero{padding-top:var(--lp-header-height)!important}
.lp-b9-page #main-content,.lp-calculator-page #main-content{min-width:0;max-width:100%}.lp-b9-page #main-content>div{min-width:0;width:100%!important;max-width:100%}
.lp-footer-shell{width:100%}
@media(max-width:767px){#page:has(>.lp-header-shell){--lp-header-height:72px}#page>.lp-header-shell{padding-inline:20px!important}}
[role="region"][tabindex="0"]:focus-visible{outline:2px solid #171B52;outline-offset:3px}

/* WebKit uses wider glyph metrics here. Fit the existing wordmark to the padded
   column, retaining its old 390px size and its original 19vw line-box height.
   Round the original font/line sizes to the existing 1/64px layout units. */
@supports(-webkit-text-zoom:reset){
 @media(max-width:767px){
  .m-wm>div,#page .lp-b9-footer>div[style*="font-size: 200px"]{font-size:min(19vw,calc((100vw - 40px)*0.196031746))!important;--lp-wordmark-line:round(down,calc(round(down,19vw,0.015625px)*.9),0.015625px)}
  .m-wm>div{min-height:var(--lp-wordmark-line)}
  #page .lp-b9-footer>div[style*="font-size: 200px"]{min-height:calc(48px + var(--lp-wordmark-line))}
 }
 /* Preserve the existing footer spacing left by the old 390px JS styling. */
 @media(width:390px){#page .lp-b9-footer>div[style*="font-size: 200px"]{padding-top:96px!important}}
 /* Approved narrow correction: only service headlines overflowing below 338px. */
 @media(max-width:337px){
  .lp-b9-page:has(.pl-fit) .m-h1{font-size:min(40px,calc((100vw - 20px)/7.95))!important;line-height:43.2px!important}
 }
}
