/* A balanced footer: office and useful routes alongside the local map. */
.footer{padding:46px 0 24px;background:#062c50}
.footer .footer-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:56px;align-items:start}
.footer-information{min-width:0}
.footer-identity{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:27px}
.footer .footer-brand{width:180px;max-width:45%;flex:0 0 auto}
.footer .footer-tagline{margin:0;max-width:230px;font-size:27px;line-height:1.2;font-weight:600;letter-spacing:-.04em}
.footer-tagline span{display:block;color:#b7cbdc;font-size:15px;line-height:1.5;font-weight:400;letter-spacing:-.015em;margin-bottom:9px}
.footer-contact{border-top:1px solid #ffffff28;border-bottom:1px solid #ffffff28;padding:22px 0;display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:start;margin-bottom:27px}
.footer-contact h2,.footer-navigation h2{font-size:13px;line-height:1.4;letter-spacing:0;font-weight:600;margin:0 0 12px;color:#fff}
.footer-contact address{font-size:11px;line-height:1.85;font-style:normal;color:#c3d3e0}
.footer-contact-actions{display:flex;flex-direction:column;gap:11px;padding-top:1px;font-size:12px}
.footer-contact-actions .footer-phone{font-size:20px;letter-spacing:-.025em;font-weight:600;line-height:1.3}
.footer .footer-directions{display:inline-flex;gap:10px;align-items:center;font-size:11px;margin-top:13px;color:#c3d3e0}
.footer .footer-enquire{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0 0;border-top:1px solid #ffffff28;font-size:12px}
.footer-navigation{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}
.footer-navigation nav{min-width:0}
.footer-navigation h2{color:#a7d8ef;margin-bottom:11px}
.footer-navigation a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px;padding:5px 0;font-size:12px;line-height:1.5;color:#e2eaf0}
.footer-information a:hover,.footer-area-links a:hover,.footer-legal a:hover,.map-attribution a:hover{color:white;text-decoration:underline;text-underline-offset:4px}
.footer a:focus-visible{outline:2px solid #a7d8ef;outline-offset:4px}
.footer-navigation .arrow{width:13px;height:13px;flex:0 0 13px;opacity:.6}
.footer-directions .arrow,.footer-enquire .arrow,.footer-legal .arrow{width:14px;height:14px;flex:0 0 14px}
.footer .footer-area .eyebrow{font-size:9px;margin:0 0 10px;letter-spacing:.15em}
.footer .footer-area h2{font-size:25px;line-height:1.2;margin:0 0 16px}
.footer .cw-map-key{margin-bottom:11px;font-size:10px}
.footer .cw-map-frame{height:300px;margin:0;border-color:#ffffff25}
.footer .cw-map-message{font-size:10px;line-height:1.6;margin:10px 0 15px;color:#c3d3e0}
.footer .footer-area-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px;font-size:11px;line-height:1.5;border-top:1px solid #ffffff28;padding-top:12px}
.footer-area-links a{display:flex;align-items:center;min-height:32px;padding:5px 0}
.footer-area-links a:last-child{grid-column:1/-1;justify-content:space-between;border-top:1px solid #ffffff18;margin-top:7px;padding-top:10px}
.footer .map-attribution{font-size:8px;line-height:1.7;margin:12px 0 0;color:#9fb9cc}
.footer .map-attribution a{display:inline;text-decoration:underline;text-underline-offset:2px}
.footer .cw-map-popup{max-height:205px}
.footer .footer-legal{margin-top:30px;padding-top:20px;border-top:1px solid #ffffff28;display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;color:#a9bdcd;font-size:10px;line-height:1.7}
.footer-legal p{margin:0}
.footer-legal p span{display:block;font-size:9px;margin-top:4px}
.footer-legal strong{font-weight:500;color:#d9e4ed}
.footer-legal nav{display:flex;gap:20px;align-items:center}
.footer-legal nav a{display:flex;align-items:center;gap:7px;min-height:32px}
@media(max-width:1100px){.footer .footer-grid{gap:34px;grid-template-columns:1fr 1fr}.footer-identity{gap:18px}.footer .footer-brand{width:160px}.footer .footer-tagline{font-size:24px}.footer-contact,.footer-navigation{gap:16px}.footer-contact address{font-size:10px}.footer-contact-actions{font-size:11px}.footer .footer-area-links{grid-template-columns:repeat(2,minmax(0,1fr))}.footer .footer-legal{gap:20px}.footer-legal nav{gap:15px}}
@media(max-width:800px){.footer .footer-grid{grid-template-columns:1fr;gap:35px}.footer .footer-brand{width:190px}.footer .footer-tagline{font-size:30px;max-width:260px}.footer-tagline span{font-size:16px}.footer-contact address{font-size:12px}.footer-contact-actions{font-size:13px}.footer-contact h2,.footer-navigation h2{font-size:14px}.footer-navigation a{font-size:13px;min-height:36px}.footer .footer-area{border-top:1px solid #ffffff28;padding-top:30px}.footer .footer-area-links{grid-template-columns:repeat(3,minmax(0,1fr));font-size:12px}.footer .footer-legal{grid-template-columns:1fr auto}.footer-legal nav{grid-column:1/-1;border-top:1px solid #ffffff18;padding-top:12px}.footer .cw-map-frame{height:320px}}
@media(max-width:480px){.footer{padding:32px 0 82px}.footer-identity{gap:18px;margin-bottom:23px}.footer .footer-brand{width:150px;max-width:45%}.footer .footer-tagline{font-size:23px}.footer-tagline span{font-size:12px;margin-bottom:8px}.footer-contact{grid-template-columns:1fr;gap:20px;padding:21px 0;margin-bottom:24px}.footer-contact-actions{display:grid;grid-template-columns:1fr;gap:11px}.footer-contact-actions .footer-phone{font-size:22px}.footer .footer-enquire{margin-top:3px}.footer-navigation{grid-template-columns:1fr 1fr;gap:20px}.footer-navigation h2{font-size:12px;line-height:1.6;min-height:38px;margin-bottom:8px}.footer-navigation a{font-size:11px;min-height:40px;gap:8px}.footer-navigation .arrow{width:11px;flex-basis:11px}.footer .footer-area h2{font-size:26px}.footer .footer-area-links{grid-template-columns:repeat(2,minmax(0,1fr));font-size:12px;gap:0 20px}.footer-area-links a{min-height:39px}.footer .cw-map-key{font-size:11px}.footer .cw-map-message{font-size:11px}.footer .map-attribution{font-size:9px}.footer .footer-legal{grid-template-columns:1fr;gap:14px;margin-top:25px;font-size:11px}.footer-legal p span{font-size:10px}.footer-legal nav{grid-column:auto;justify-content:space-between;gap:18px;padding-top:10px}.footer-legal nav a{min-height:40px}.footer .cw-map-popup{max-height:215px}}
