/* Responsive brand sizing, full gallery photographs and contact details. */
.site-header{height:auto;min-height:104px}
.site-header .nav{min-height:104px;gap:24px;padding-block:8px}
.site-header .brand{flex-shrink:0;max-width:42%}
.site-header .brand img{width:var(--header-logo-width,170px);height:auto;max-height:105px;max-width:100%;object-fit:contain}
footer{background:linear-gradient(120deg,#f7fafc,#e6f1f7);border-top:4px solid #096dac;color:#153548}
footer .footer-grid{gap:48px;grid-template-columns:1.2fr .65fr 1fr}
footer .footer-grid>div{min-width:0}
footer .footer-grid p{color:#425c6b}
footer .footer-grid h4{color:#064978}
footer .footer-grid>div>a:not(.brand){color:#365d75}
footer a:hover{color:#096dac}
footer .copyright{color:#536d7b;border-top:1px solid #c8dce7}
footer .brand.footer-brand{background:transparent;width:var(--footer-logo-width,280px);max-width:100%;padding:0}
footer .brand.footer-brand img{width:100%;height:auto;max-width:100%;max-height:225px;object-fit:contain;object-position:left center;filter:none}
.gallery-page .gallery-grid{align-items:start}
.gallery-page .gallery-grid figure{height:auto;background:#fff;border:1px solid #dce7ed}
.gallery-page .gallery-photo-button{height:auto;line-height:0;background:#eef4f7}
.gallery-page .gallery-grid .gallery-photo-button img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;transform:none}
.gallery-page .gallery-grid figure:hover img,.gallery-page .gallery-photo-button:focus-visible img{transform:none}
.gallery-page .gallery-grid figcaption{position:static;inset:auto;padding:18px 20px;background:#fff;color:#163b50}
.gallery-page .gallery-grid figcaption small{color:#096dac}
.gallery-page .gallery-grid figcaption span{color:#526d7d;line-height:1.6}
.gallery-page .gallery-zoom{line-height:1.4;color:#fff}
.gallery-lightbox .lightbox-content{display:block;max-height:90dvh;overflow:auto}
.gallery-lightbox img{width:auto;height:auto;max-width:100%;max-height:70dvh;object-fit:contain}
.contact-details .contact-detail{display:flex;align-items:flex-start;gap:14px;margin:20px 0;line-height:1.65}
.contact-detail-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;background:#e0eff7;color:#096dac;border-radius:12px}
.contact-detail-icon svg{width:21px;height:21px}
.contact-detail>span:last-child{min-width:0;overflow-wrap:anywhere}
.contact-detail small{display:block;font-size:11px;font-weight:700;color:#064978;margin-bottom:3px;letter-spacing:.04em}
.contact-details a{text-decoration:none}.contact-details a:hover{color:#096dac}.contact-address-link{display:inline;transition:color .2s ease}.contact-address-link>span{display:inline-block;margin-left:4px;font-size:.85em}
.contact-map{margin-top:56px;border:1px solid #ccdee8;border-radius:20px;overflow:hidden;background:#eff6fa}
.contact-map-heading{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.contact-map-heading h2{font-size:26px;line-height:1.3}
.contact-map-heading a{color:#096dac;font-size:14px;font-weight:700;text-decoration:underline}
.contact-map iframe{display:block;width:100%;height:420px;border:0}
@media(max-width:900px){footer .footer-grid{grid-template-columns:1fr 1fr;gap:32px}.site-header .nav nav{top:100%}}
@media(max-width:650px){.site-header,.site-header .nav{min-height:88px}.site-header .brand img{max-height:78px}.site-header .brand{max-width:55%}footer .footer-grid{grid-template-columns:1fr}footer .brand.footer-brand{max-width:240px}.contact-map-heading{align-items:flex-start;flex-direction:column}.contact-map iframe{height:320px}}
