/* APNEX 1.5.1 — SEO, popup, footer and layout stability */
html{scroll-behavior:auto!important;overflow-y:scroll;scrollbar-gutter:stable}body{overflow-x:clip!important}.b-site{overflow-x:clip}.b-site main>section:first-child.b-reveal{opacity:1!important;transform:none!important;transition:none!important}

/* Footer starts at the common content edge after removing the decorative logo. */
.b-footer-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(28px,6vw,90px);padding-bottom:72px}.b-footer-main h2{max-width:940px}.b-footer-grid{margin-left:0!important;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(28px,7vw,110px)}.b-footer-grid>div{min-width:0}.b-footer-grid a,.b-footer-grid p,.b-footer-grid small{overflow-wrap:anywhere}

/* Long service names must wrap inside both SEO columns. */
.service-seo{overflow:hidden}.service-seo>*{min-width:0;max-width:100%}.service-seo__head h2,.service-seo__copy h2,.service-seo__copy h3{max-width:100%;white-space:normal!important;word-break:normal;overflow-wrap:anywhere;hyphens:auto;text-wrap:balance}.service-seo__head h2{font-size:clamp(38px,4.5vw,66px)}.service-seo__copy h2{font-size:clamp(27px,2.45vw,36px);line-height:1.08}.service-seo__copy p,.service-seo__copy li,.service-seo__copy a{max-width:100%;overflow-wrap:anywhere}

/* Popup title has no forced line break and scales by available column width. */
.b-modal-copy{min-width:0}.b-modal-copy h2{max-width:470px;font-size:clamp(36px,3.65vw,53px)!important;line-height:.96!important;letter-spacing:-.052em!important;white-space:normal;text-wrap:balance;overflow-wrap:normal;word-break:normal}.b-modal-card{align-items:center}

@media(max-width:1280px){.service-seo{display:block!important}.service-seo__head{position:static;max-width:820px}.service-seo__copy{width:100%;max-width:920px;margin-top:52px}.service-seo__head h2{font-size:clamp(42px,6.2vw,68px)}.service-seo__copy h2{font-size:clamp(28px,3.2vw,36px)}}
@media(max-width:800px){.b-footer-main{display:block;padding-bottom:54px}.b-footer-main h2{font-size:clamp(43px,13vw,66px)}.b-footer-grid{grid-template-columns:1fr 1fr;gap:42px 24px}.b-modal-copy h2{max-width:390px;font-size:clamp(34px,10.5vw,43px)!important;line-height:.96!important}.service-seo__copy{margin-top:40px}.service-seo__head h2{font-size:clamp(38px,12vw,56px)}.service-seo__copy h2{font-size:clamp(27px,8.5vw,34px)}}
@media(max-width:480px){.b-footer-grid{grid-template-columns:1fr}.b-footer-bottom{display:grid;gap:10px}.b-modal-copy h2{font-size:clamp(31px,9.6vw,38px)!important;max-width:310px}.service-seo__head h2{font-size:clamp(36px,11vw,48px)}.service-seo__copy h2{font-size:28px}}
