/* Shared finishing layer: readable content, keyboard access and mobile navigation. */
:root{--focus:#b95000}
html{scroll-padding-top:24px}
body{overflow-wrap:break-word}
:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.skip-link{position:fixed;top:12px;left:16px;padding:12px 20px;background:#fff;color:#0037aa;z-index:1000;transform:translateY(-160%);border:2px solid currentColor;border-radius:6px}
.skip-link:focus{transform:translateY(0)}
#main-content:focus{outline:none}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding-block:18px;font-size:12px;color:#59677c}
.breadcrumbs a{padding-block:4px}.breadcrumbs a:hover{color:#0037aa}.breadcrumbs [aria-current]{color:#152b50;font-weight:600}
.scope-guide{background:linear-gradient(135deg,#f7faff,#fff 75%);border-block:1px solid #e5ebf4}
.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.scope-card{position:relative;padding:30px;border:1px solid #dfe6f0;border-radius:12px;background:#fff;box-shadow:0 8px 28px #13336b05}
.scope-number{display:block;color:#3763a3;font-family:Georgia,serif;font-size:14px;letter-spacing:2px;margin-bottom:24px}
.scope-card h3{font-size:21px;line-height:1.5;letter-spacing:-.04em;color:#132c52;margin:0 0 12px}
.scope-card p{font-size:15px;line-height:1.9;color:#526078;margin:0;word-break:keep-all}
.scope-card a,.text-link{color:#0037aa;text-decoration:underline;text-underline-offset:5px}
.text-link{display:inline-block;margin-top:16px;font-size:14px;padding-block:5px}
.scope-note{border-left:3px solid #3763a3;padding:12px 18px;margin-top:24px;color:#526078;font-size:14px;line-height:1.85;background:#eef3fb}
.blue-site .hero h1{max-width:720px;font-size:clamp(36px,4.4vw,64px);line-height:1.35;word-break:keep-all}
.service-card,.case-card,.gallery-card{overflow:hidden}
.service-card,.service-hub a{transition:box-shadow .2s ease,border-color .2s ease}
.service-card:hover,.service-hub a:hover{box-shadow:0 12px 32px #15396312}
.faq-q{min-height:64px;text-align:left;line-height:1.6;gap:20px}
.faq-q span:last-child{transition:transform .2s}
.faq-q[aria-expanded=true] span:last-child{transform:rotate(45deg)}
.faq-a{line-height:1.9}
.blue-site .footer-region{color:#59677c}
@media(max-width:1100px){.header-button{display:none}.scope-card{padding:24px}.contact-actions{flex-wrap:wrap}.contact-button{min-width:0}}
@media(max-width:760px){
 .scope-grid{grid-template-columns:1fr;gap:12px}.scope-card{padding:23px}.scope-number{margin-bottom:12px}.scope-card h3{font-size:20px}.scope-card p{font-size:14px}
 .breadcrumbs{padding-block:12px;font-size:11px;gap:9px}.scope-note{font-size:13px}
 .blue-site .hero h1{font-size:36px;max-width:100%;letter-spacing:-1.8px}
 .contact-inner h2{white-space:normal}.site-footer .footer-inner{flex-direction:column;gap:22px}
 .site-footer .footer-center{display:block;width:100%}.footer-center nav{flex-wrap:wrap;justify-content:center;gap:12px 20px}.footer-center nav a{padding-block:7px}
 .mobile-call-fab{bottom:calc(20px + env(safe-area-inset-bottom))}.site-footer{padding-bottom:90px}
 .mobile-menu:not([hidden]){max-height:calc(100dvh - 89px);overflow-y:auto}
}
.info-accordion{max-width:900px;border-top:2px solid var(--blue,#0037aa)}
.info-item{border-bottom:1px solid var(--line,#e1e6ef)}
.info-item summary{cursor:pointer;padding:22px 8px;font-size:16px;font-weight:500;color:#26354f;list-style:none;display:flex;align-items:center;gap:14px;word-break:keep-all}
.info-item summary::-webkit-details-marker{display:none}
.info-item summary::before{content:'+';flex-shrink:0;width:20px;text-align:center;color:var(--blue,#0037aa);font-family:Georgia,serif;font-size:20px}
.info-item[open] summary::before{content:'–'}
.info-item[open]{background:#f7faff}
.info-body{padding:0 8px 24px 42px;font-size:15px;line-height:1.9;color:#526078;word-break:keep-all}
.info-body a{color:#0037aa;text-decoration:underline;text-underline-offset:4px}
.info-body ul{margin:10px 0 0;padding-left:20px}
.info-body li{margin-bottom:7px}
@media(max-width:760px){.info-item summary{padding:18px 4px;font-size:15px}.info-body{padding:0 4px 20px 30px;font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
.scope-guide{padding:72px 0}.scope-guide .wrap{width:min(1344px,calc(100% - 96px));margin-inline:auto}.scope-guide .section-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:30px}.scope-guide .section-head h2{font-size:clamp(27px,3vw,40px);line-height:1.4;margin:0;color:#132c52}.scope-guide .section-head p{color:#526078;line-height:1.85;font-size:15px;margin:0}
@media(max-width:760px){.scope-guide{padding:44px 0}.scope-guide .wrap{width:calc(100% - 36px)}.scope-guide .section-head{grid-template-columns:1fr;gap:16px}.scope-guide .section-head p{font-size:14px}}
