/* Shared improvements preserve the established blue brand. */
.site-footer{background:#091d32;padding:60px 0 24px;border-top:1px solid #294668;color:#b7cce3}
.footer-columns{display:grid;grid-template-columns:2.1fr 1fr 1fr 1fr;gap:36px}
.site-footer h2{font-size:17px;color:#fff;margin:0 0 22px;line-height:1.6}
.site-footer p,.site-footer a{font-size:14px;line-height:1.9}
.site-footer p{margin:8px 0}.site-footer address{font-style:normal}
.site-footer nav a{display:block;padding:5px 0}.site-footer a:hover{color:#fff;text-decoration:underline}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid #294668;margin-top:36px;padding-top:20px;font-size:14px}
.floating-actions{position:fixed;right:18px;bottom:112px;z-index:55;display:flex;flex-direction:column;gap:10px}
.floating-actions a{width:60px;min-height:60px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;font-size:13px;box-shadow:0 5px 20px #0005;border:1px solid #ffffff35;text-decoration:none}
.float-demand{background:#245dcc}.float-phone{background:#087853}.float-top{background:#133b61;font-size:22px!important}.float-top span{font-size:12px}
@media(max-width:1100px){.footer-columns{grid-template-columns:2fr 1fr;gap:30px}}
@media(max-width:900px){.floating-actions .float-demand,.floating-actions .float-phone{display:none}.floating-actions{right:10px;bottom:calc(86px + env(safe-area-inset-bottom))}.floating-actions a{width:46px;min-height:46px}}
@media(max-width:540px){.site-footer{padding-top:36px}.footer-columns{grid-template-columns:1fr 1fr;gap:28px 18px}.footer-company{grid-column:1/-1}.footer-legal{display:block}.footer-legal a{display:block;overflow-wrap:anywhere}}
:focus-visible{outline:3px solid #91c7ff;outline-offset:4px}
.social-icon.red{background:#bf1835}.social-icon.green{background:#087442}
.company-logo{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:6px;flex-shrink:0}
.hero{overflow:clip}
@media(max-width:640px){.company-logo{width:40px;height:40px}.nav .brand{gap:10px}}
.prose a{text-decoration:underline;text-underline-offset:4px}
.media-original{display:inline-block;margin:8px 0 24px;color:#a9d1ff;text-decoration:underline}
.button:disabled{opacity:.7;cursor:default}
.mobile-menu a{min-height:44px}
html{scroll-padding-top:100px}
.mobile-contact{display:none}
.form-note{color:#aabbd1;font-size:14px}
.form-progress span{font-size:14px}
.lead-form textarea{resize:vertical;min-height:140px}
.brand strong{white-space:normal!important;overflow-wrap:anywhere}
@media(max-width:900px){
 body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 .mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#091321;border-top:1px solid #39577d}
 .mobile-contact a{flex:1;text-align:center;min-height:44px;display:grid;place-items:center;font-size:15px;border:1px solid #5679a4;border-radius:4px}
 .mobile-contact a:last-child{background:#2463c8;color:white;font-weight:700}
 .nav .brand{min-width:0}.nav .brand>span:last-child{min-width:0}.nav .brand-mark{flex-shrink:0}
 .toast{bottom:90px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}
 .reveal{opacity:1;transform:none}
}
