*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f8fa;color:#243447;font:16px/1.72 Arial,Helvetica,sans-serif}.container{width:min(1120px,calc(100% - 48px));margin:auto}.site-header{background:#fff;border-bottom:1px solid #dce5ed}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px}.brand{font:700 clamp(19px,2vw,25px)/1.2 Georgia,serif;color:#1d527c;text-decoration:none;max-width:460px}.brand span{display:block}.nav{display:flex;gap:28px;align-items:center}.nav a{font-size:14px;text-decoration:none;color:#35516a;font-weight:600;padding:10px 0}.nav a:hover,.nav a.active{color:#1374aa}.nav a.active{border-bottom:2px solid #1374aa}.menu-toggle{display:none}.hero{background:linear-gradient(125deg,#e5f0f8,#f5f9fc);padding:58px 0 50px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#4e7d9e}.hero h1{font:normal 48px/1.1 Georgia,serif;color:#1c5077;margin:14px 0}.intro{font-size:19px;color:#506477;margin:0 0 32px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #1234}.photo-grid img{width:100%;height:205px;object-fit:cover;display:block}.content{background:white;padding:52px 58px 58px;margin-top:38px;margin-bottom:60px;border:1px solid #e3e9ee;box-shadow:0 8px 32px #253c5010;border-radius:6px}.content h2{font:normal 30px Georgia,serif;color:#20567d;margin:0 0 25px}.content p{margin:0 0 22px}.content p:last-child{margin-bottom:0}footer{background:#244b68;color:#e4eef6;padding:30px 0}.footer-inner{display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:13px}footer nav{display:flex;flex-wrap:wrap;gap:18px}footer a{color:#e4eef6;text-decoration:none}footer a:hover{text-decoration:underline}@media(max-width:760px){.container{width:min(100% - 30px,1120px)}.header-inner{min-height:84px;flex-wrap:wrap;padding:18px 0}.brand{font-size:19px}.menu-toggle{display:block;background:#e7f1f7;border:0;border-radius:5px;padding:9px 12px;color:#1c5077;font-weight:700}.nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:9px 0}.hero{padding:36px 0}.hero h1{font-size:39px}.intro{font-size:17px}.photo-grid{gap:5px}.photo-grid img{height:140px}.content{padding:30px 24px;margin-top:22px;margin-bottom:30px}.footer-inner{flex-direction:column;align-items:flex-start}}@media(max-width:440px){.photo-grid img{height:105px}.brand{max-width:235px}}
/* Interior page layout */
.interior-hero{padding-top:42px;padding-bottom:38px}.interior-hero h1{margin:0 0 26px;font-size:42px}.interior-hero .photo-grid img{height:155px}.interior-content{min-height:260px}.content-notice{border-left:3px solid #397ca6;background:#f2f7fa;padding:18px 22px;margin-bottom:26px;color:#34526b}.content-notice p{margin:8px 0 0}.placeholder-lines div{height:14px;background:#e8eef3;border-radius:3px;margin:16px 0}.placeholder-lines div:nth-child(2){width:93%}.placeholder-lines div:nth-child(3){width:97%}.placeholder-lines div:nth-child(4){width:65%}.contact-note{color:#526778}@media(max-width:760px){.interior-hero{padding:32px 0}.interior-hero h1{font-size:36px}.interior-hero .photo-grid img{height:115px}}

.service-list ul{padding-left:1.45rem;margin:0 0 15px}.service-list ul ul{margin:10px 0 12px}.service-list li{margin:0 0 9px}.service-list>ul>li:first-child{font-weight:400}.service-list>ul>li:first-child::first-line{font-weight:600;color:#20567d}.bio{padding-bottom:19px;border-bottom:1px solid #e4eaf0}.bio strong,.bio b{color:#20567d}.interior-content h2:not(:first-child){margin-top:36px}.contact-details a{color:#176b9d}.contact-details p{margin-bottom:18px}

/* Static, JavaScript-free navigation and original site photography */
.header-inner{flex-wrap:wrap}
.nav{flex-wrap:wrap;justify-content:flex-end;gap:12px 24px}
.photo-grid img{object-fit:cover;object-position:center}
a:focus-visible{outline:3px solid #1374aa;outline-offset:4px}
@media(max-width:760px){.nav{display:flex;flex-basis:100%;flex-direction:row;justify-content:flex-start;align-items:center;gap:5px 20px}.nav a{padding:6px 0}.photo-grid img{height:125px}}
@media(max-width:440px){.photo-grid img{height:94px}}

/* Banner correction: equal-width panels and uniform gaps.
   The original GIFs contain decorative gray edge strips; zooming slightly
   within clipped panels hides those strips without altering the source files. */
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:transparent}
.photo-panel{min-width:0;overflow:hidden;position:relative;background:#d8e5ec}
.photo-panel img,.interior-hero .photo-panel img{display:block;width:100%;height:205px;object-fit:cover;object-position:center;transform:scale(1.16);transform-origin:center}
.interior-hero .photo-panel img{height:155px}
@media(max-width:760px){.photo-grid{gap:7px}.photo-panel img,.interior-hero .photo-panel img{height:125px}}
@media(max-width:440px){.photo-grid{gap:5px}.photo-panel img,.interior-hero .photo-panel img{height:94px}}

/* Clean original photographs: no CSS zoom needed; the ornamental GIF frames were cropped out. */
.photo-panel img,.interior-hero .photo-panel img{transform:none;object-fit:cover;object-position:center}
.photo-grid{gap:10px}
@media(max-width:760px){.photo-grid{gap:7px}}
@media(max-width:440px){.photo-grid{gap:5px}}

/* 2026 JPG banner: limit enlargement of the original small photographs. */
.photo-grid{max-width:780px;margin-left:auto;margin-right:auto;gap:10px}
.photo-panel img,.interior-hero .photo-panel img{height:160px;transform:none;object-fit:cover;object-position:center}
@media(max-width:760px){.photo-grid{gap:7px}.photo-panel img,.interior-hero .photo-panel img{height:clamp(75px,18vw,125px)}}
@media(max-width:440px){.photo-grid{gap:5px}.photo-panel img,.interior-hero .photo-panel img{height:clamp(65px,22vw,94px)}}
