/* Static migration accessibility and narrow-screen corrections. */
html,body{max-width:100%;} img,video{max-width:100%;} .preview-maintenance,.contact-options{padding:2rem;max-width:55rem;margin:auto;} .preview-maintenance p{color:white;margin-bottom:1.5rem;} .contact-options .btn{margin:0.5rem 0.75rem 0.5rem 0;} a:focus-visible,button:focus-visible{outline:3px solid #ef8533;outline-offset:5px;} @media(max-width:600px){.contact-credentials{position:relative!important;width:100%!important;}.contact-credentials .block{padding:1.5rem!important;}.logo{max-width:70vw;}.logo img{max-width:100%;}.loading-screen img{min-width:0!important;width:70vw!important;}.default-header h1{overflow-wrap:anywhere;}.contact-options,.preview-maintenance{padding:1.25rem;}.contact-image .image{min-height:240px;}}
/* Decorative shapes stay inside their sections instead of widening tablet pages. */
html,body{overflow-x:clip;}.default-header{overflow:hidden;}
@media(max-width:600px){.default-header h1,.default-header h1.home-title{font-size:38px!important;line-height:40px!important;overflow-wrap:normal;}.default-header .header-title-wrap .wrap{width:90%;}}

/* Preserve the original vertical navigation when using normal links. */
nav ul.main-nav > li{clear:both;}nav ul.main-nav .budget-link{display:block;color:white;}
@media(max-width:640px){nav{overflow-y:auto;}nav .nav-block{position:relative;top:0;transform:none;padding-top:110px;padding-bottom:30px;}nav .nav-block .sub-wrap:last-child{padding-left:0;}nav ul.main-nav{display:flex;flex-direction:column;align-items:flex-end;}nav ul.main-nav > li{float:none;}nav ul.main-nav li > a.static-nav-link{font-size:32px;line-height:36px;padding:0 0 7px;}nav .nav-block .wrap{width:85%;}}
nav ul.main-nav li > a.budget-link{font-size:16px;line-height:24px;padding:0;text-transform:none;}
/* Shared navigation: balanced columns, explicit sizing, and no float-dependent layout. */
nav{overflow-y:auto;overscroll-behavior:contain;}
nav .nav-block{position:relative;top:0;transform:none;min-height:100svh;display:flex;align-items:center;padding:130px 48px 60px;}
nav .nav-block>.wrap{width:min(1200px,100%);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.9fr);gap:clamp(48px,7vw,120px);align-items:center;margin:0 auto;}
nav .nav-block .sub-wrap:first-child,nav .nav-block .sub-wrap:last-child{width:100%;float:none;padding:0;}
nav ul.services-nav{display:grid;gap:18px;height:auto;width:100%;float:none;}
nav ul.services-nav li{width:100%;height:110px;float:none;margin:0;}
nav ul.services-nav li a{height:100%;width:100%;display:block;}
nav .cat-thumb-nav{display:none;}
nav ul.main-nav{display:flex;flex-direction:column;align-items:flex-end;width:100%;padding:0 0 32px;float:none;}
nav ul.main-nav>li{float:none;clear:both;max-width:100%;}
nav ul.main-nav li>a.static-nav-link{display:block;font-family:IsidoraSans-Black,sans-serif;font-size:clamp(30px,2.8vw,44px);line-height:1.2;padding:5px 0 10px;text-align:right;color:#171c21;text-transform:uppercase;}
nav ul.main-nav li.active>a.static-nav-link{color:#043f56;}
nav ul.main-nav li>a.budget-link{font-size:16px;line-height:24px;padding:0;text-transform:none;color:white;}
nav .social-ico-block{clear:both;}
@media(max-width:900px){nav .nav-block{padding:125px 24px 40px;align-items:flex-start;}nav .nav-block>.wrap{width:100%;max-width:540px;display:flex;flex-direction:column;gap:36px;}nav .nav-block .sub-wrap:first-child{order:2;}nav .nav-block .sub-wrap:last-child{order:1;}nav ul.services-nav li{height:88px;}nav ul.main-nav li>a.static-nav-link{font-size:32px;line-height:38px;padding:0 0 8px;}nav ul.main-nav{padding-bottom:24px;}nav ul.contact-links{display:block;text-align:right;}nav ul.contact-links a{font-size:14px;overflow-wrap:anywhere;}}
/* Every page uses the same footer, including all eight public projects. */
.footer .prefooter{height:auto;min-height:240px;display:grid;grid-template-columns:130px 1fr;gap:40px;align-items:center;padding:40px 56px;background:#fff;}
.footer .prefooter .footer-img{position:static;width:110px;height:110px;background-size:contain!important;background-repeat:no-repeat!important;}
.footer .prefooter .prefooter-block,.footer .prefooter .prefooter-block.animate-in{width:auto;position:static;transform:none;opacity:1;text-align:left;}
.footer .prefooter h4{color:#043f56;margin-bottom:24px;}
.footer .credentials-top>.wrap,.footer .credentials-bottom>.wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;}
.footer .credentials .sub-wrap{float:none;width:auto;}
.footer .footer-projects li{margin-bottom:8px;}
.footer .footer-projects a{font-size:15px;line-height:1.5;}
.footer .footer-all-projects{display:inline-block;margin-top:12px;color:white;text-decoration:underline;}
@media(max-width:640px){.footer .prefooter{grid-template-columns:1fr;padding:30px 24px;gap:24px;text-align:center;}.footer .prefooter .footer-img{margin:auto;}.footer .prefooter .prefooter-block{text-align:center;}.footer .credentials-top>.wrap,.footer .credentials-bottom>.wrap{grid-template-columns:1fr;gap:32px;}}

/* Credentials are submitted directly to the client portal over HTTPS. */
.maintenance-access{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:800px;margin:36px auto 0;padding:0 24px 48px;}
.maintenance-access label{display:flex;flex-direction:column;gap:10px;color:white;font:18px IsidoraSans-Medium,sans-serif;}
.maintenance-access input{width:100%;min-width:0;padding:15px 16px;border:1px solid #b8c8ce;border-radius:6px;background:white;color:#171c21;font-size:18px;}
.maintenance-access input:focus-visible{outline:3px solid #ff4d0f;outline-offset:3px;}
.maintenance-access button{grid-column:1/-1;justify-self:center;cursor:pointer;max-width:100%;height:auto;white-space:normal;}
@media(max-width:600px){.maintenance-access{grid-template-columns:1fr;gap:20px;}.maintenance-access button{width:100%;}}
#maintenances{scroll-margin-top:130px;}
#maintenances>h2{padding-left:24px;padding-right:24px;}
