:root{--blue:#1850a0;--ink:#172e48;--muted:#536678;--cyan:#21b1c6;--line:#d6e0e8;--pale:#f3f7fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:#fff;color:var(--ink);font:17px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:6px}.wrap{max-width:1240px;margin:auto;padding:0 48px}.skip{position:fixed;top:-100px;background:#fff;padding:12px;z-index:10}.skip:focus{top:10px}header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:112px;gap:24px}.brand{display:block;line-height:0}.brand img{width:126px;height:102px;object-fit:contain}nav{display:flex;align-items:center;gap:38px;font-size:15px}nav a{padding:12px 0}.nav-contact{color:var(--blue);border-bottom:1px solid var(--blue)}.nav-contact span{margin-left:26px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:66px;padding-top:72px;padding-bottom:80px;align-items:center}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:bold;margin:0 0 22px;color:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,4.4vw,59px);font-weight:normal;line-height:1.13;letter-spacing:-1.5px;margin-bottom:30px}h1 em{font-weight:normal;color:var(--blue)}.intro{font-size:16px;line-height:1.8;color:var(--muted);max-width:540px}.intro p{margin-bottom:15px}.text-link{font-size:15px;font-weight:bold;color:var(--blue);display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid var(--blue);padding-bottom:8px;margin-top:18px}.hero-picture{position:relative;height:500px;overflow:hidden;background:#dbe6eb}.hero-picture>img{height:100%;width:100%;object-fit:cover;object-position:40% center}.hero-picture:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(8,28,51,.86))}.picture-label{position:absolute;bottom:32px;left:32px;right:24px;color:#fff;z-index:1;font-family:Georgia,serif;font-size:25px}.picture-label span{display:block;font-family:Arial,sans-serif;letter-spacing:3px;font-size:12px;margin-top:8px;color:#8ee0e8}.services{background:var(--pale);padding:76px 0 85px}.section-grid{display:grid;grid-template-columns:1fr 1.85fr;gap:70px}h2{font-family:Georgia,serif;font-weight:normal;font-size:39px;letter-spacing:-.8px;line-height:1.22}.section-title .eyebrow{margin-bottom:24px}.service-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:22px;padding:24px 0}summary::-webkit-details-marker{display:none}.number{color:#778ba0;font-size:12px;letter-spacing:1px}h3{font-size:18px;line-height:1.45;font-weight:normal;flex:1;margin:0}.plus{width:24px;height:24px;border:1px solid #b4c7d6;border-radius:50%;position:relative;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;background:var(--blue);top:10px;left:6px;width:10px;height:1px}.plus:after{transform:rotate(90deg)}details[open] .plus:after{display:none}details[open] h3{color:var(--blue)}.detail-body{font-size:16px;color:var(--muted);padding:0 42px 25px;line-height:1.8}.detail-body ul{margin:0;padding-left:18px}.detail-body li{padding:0 0 10px 5px}.location{padding-top:80px;padding-bottom:80px}.location-content{display:grid;grid-template-columns:1fr 1fr;gap:8px 34px}address{font-style:normal;font-size:18px}address strong{font-weight:normal;font-size:26px;display:inline-block;margin-top:8px}.location-content>.text-link{grid-column:1;justify-self:start}.hours{grid-column:2;grid-row:1 / 3;border-left:1px solid var(--line);padding-left:30px}.hours .eyebrow{margin-bottom:12px}.hours p:last-child{font-size:15px}.contact{padding:68px 0 74px;background:#12345a;color:white}.contact .eyebrow{color:#8ad9e4}.contact h2{font-size:46px}.contact-content{display:grid;gap:24px}.contact-content .eyebrow{margin-bottom:8px}.phone{font-size:28px}.email{font-size:21px;overflow-wrap:anywhere}.email span{margin-left:14px;color:#8ad9e4}.fax{font-size:14px;color:#b9cbdc;margin:0}footer{background:#0b2949;color:#c2d0de;font-size:13px}.footer-inner{display:flex;justify-content:space-between;padding-top:22px;padding-bottom:22px;gap:16px}@media(min-width:1400px){.hero{gap:90px}}@media(max-width:900px){.wrap{padding-left:28px;padding-right:28px}.hero{gap:30px}.hero-picture{height:480px}.section-grid{gap:35px;grid-template-columns:1fr 1.65fr}.location-content{display:block}.hours{padding:24px 0 0;margin-top:24px;border-left:0;border-top:1px solid var(--line)}h2{font-size:33px}.email{font-size:18px}}@media(max-width:640px){html{scroll-padding-top:104px}.wrap{padding-left:22px;padding-right:22px}.header-inner{min-height:94px;gap:15px}.brand img{width:91px;height:76px}nav{gap:16px;font-size:14px}.nav-contact span{display:none}.hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:44px;gap:34px}h1{font-size:43px;letter-spacing:-1px}.hero .eyebrow{font-size:11px;letter-spacing:1px}.hero-picture{height:260px}.hero-picture>img{object-position:center 56%}.picture-label{bottom:22px;left:22px;font-size:23px}.section-grid{grid-template-columns:1fr;gap:25px}.services{padding:44px 0 50px}h2{font-size:34px}.section-title .eyebrow{margin-bottom:15px}.section-title h2{margin-bottom:8px}summary{padding:20px 0;gap:15px}h3{font-size:17px}.detail-body{padding:0 6px 22px 31px}.location{padding-top:45px;padding-bottom:48px}.location-content{display:block}.contact{padding:44px 0 48px}.phone{font-size:26px}.email{font-size:17px}.footer-inner{font-size:12px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header{position:static}.hero-picture{display:none}.hero,.section-grid{display:block}details::details-content{content-visibility:visible}.contact{background:white;color:black}footer{background:white;color:black}}

nav a{border-bottom:2px solid transparent;transition:color .15s,border-color .15s}nav a[aria-current="location"]{color:var(--blue);border-bottom-color:var(--blue)}.detail-body{padding-left:0}html{scroll-padding-top:128px}@media(max-width:640px){.header-inner{flex-wrap:wrap;justify-content:center;gap:0;padding-top:6px;padding-bottom:5px}.brand img{width:80px;height:65px}nav{width:100%;justify-content:center;gap:22px}nav a{padding:7px 0}html{scroll-padding-top:130px}.detail-body{padding-left:0}}

.location-layout{display:grid;grid-template-columns:1fr 1.85fr;gap:50px;margin-top:36px}.location-details{padding-top:12px}.contact-row{display:flex;align-items:center;gap:24px;margin-bottom:30px;font-size:16px}.contact-row svg{width:28px;height:32px;flex-shrink:0;color:#00a9c3}.contact-row address{font-size:16px}.contact-row p{margin:0}.contact-row a{overflow-wrap:anywhere}.contact-button{display:block;text-align:center;border:2px solid #00a9c3;color:#007f98;padding:10px 20px;margin:38px 0 28px 52px;max-width:250px;text-transform:uppercase;letter-spacing:1px;font-size:15px}.contact-button:hover{background:#eaf9fb;text-decoration:none}.location-hours{margin-left:52px;font-size:14px}.location-hours .eyebrow{margin-bottom:6px}.map-panel iframe{width:100%;height:410px;border:0;background:var(--pale);display:block}.map-link{display:inline-block;color:var(--blue);font-size:14px;margin-top:10px}@media(max-width:900px){.location-layout{grid-template-columns:1fr 1.3fr;gap:24px}.contact-row{gap:14px;font-size:15px}.contact-button,.location-hours{margin-left:42px}}@media(max-width:640px){.location-layout{grid-template-columns:1fr;gap:22px}.map-panel iframe{height:340px}.location h2{font-size:34px}.contact-row{font-size:16px}.contact-button{margin-top:24px}.location-hours{margin-bottom:0}}

.why{padding:76px 0;background:#12345a;color:#fff}.why .eyebrow{color:#8ad9e4}.why-content>p{margin-bottom:22px}.why-content ul{list-style:none;padding:0;margin:0 0 30px}.why-content li{padding:12px 0 12px 22px;border-bottom:1px solid #416080;position:relative}.why-content li:before{content:"";width:6px;height:6px;background:#75d6e3;position:absolute;left:0;top:23px}.why blockquote{margin:30px 0 0;border-left:2px solid #75d6e3;padding-left:24px}.why blockquote>p{font-family:Georgia,serif;font-size:21px;line-height:1.65}.why blockquote footer{background:none;color:#c9d9e8;font-size:14px;line-height:1.6}.why blockquote footer strong{color:white;font-size:16px}.location-hours{margin:28px 0 0 0;background:#edf5fa;border-left:4px solid #21b1c6;padding:20px 24px}.location-hours h3{font-weight:bold;font-size:19px;color:#1850a0;margin-bottom:6px}.location-hours p{font-size:16px;margin:0 0 8px}.location-hours .opening-times{font-size:23px;font-weight:bold;color:#172e48;line-height:1.5;margin:0}.map-panel iframe{height:460px}@media(max-width:640px){nav{gap:16px;font-size:13px}.why{padding:46px 0}.why blockquote>p{font-size:19px}.map-panel iframe{height:340px}}@media(max-width:360px){nav{gap:11px;font-size:12px}}

/* Fit desktop sections to the available screen, preserving natural overflow. */
:root{--header-height:113px}html{scroll-behavior:auto;scroll-padding-top:var(--header-height)}
@media(min-width:901px){
 .wrap{max-width:1360px}
 .hero{padding-top:36px;padding-bottom:36px;min-height:calc(100svh - var(--header-height));gap:52px}
 .hero-picture{height:clamp(300px,55svh,450px)}
 .services,.why{padding:34px 0;min-height:calc(100svh - var(--header-height));display:flex;align-items:center}
 .services>.wrap,.why>.wrap{width:100%}
 .why .section-grid{grid-template-columns:.85fr 1.85fr;gap:48px}
 .why-content{font-size:16px;line-height:1.55}
 .why-content>p{margin-bottom:14px}.why-content ul{margin-bottom:18px}
 .why-content li{padding-top:9px;padding-bottom:9px}.why-content li:before{top:18px}
 .why blockquote{margin-top:18px}.why blockquote>p{font-size:19px;line-height:1.5;margin-bottom:14px}
 .why blockquote footer{line-height:1.45}
 .location{padding-top:30px;padding-bottom:30px;min-height:calc(100svh - var(--header-height));display:flex;flex-direction:column;justify-content:center}
 .location>.eyebrow{margin-bottom:10px}.location>h2{margin-bottom:0}
 .location-layout{margin-top:24px;gap:40px}.location-details{padding-top:0}
 .contact-row{margin-bottom:18px;line-height:1.55}
 .location-hours{margin-top:18px;padding:14px 20px}.location-hours h3{font-size:18px}
 .location-hours .opening-times{font-size:21px;line-height:1.4}.location-hours p{margin-bottom:5px}
 .map-panel iframe{height:clamp(270px,43svh,390px)}
}
@media(min-width:901px) and (max-height:700px){
 .header-inner{min-height:84px}.brand img{height:76px;width:96px}
 .hero{padding-top:22px;padding-bottom:22px}.hero h1{font-size:44px}.hero .intro{line-height:1.6}.hero-picture{height:320px}
 .services,.why{padding-top:22px;padding-bottom:22px}
 .why .section-grid{grid-template-columns:.7fr 2fr;gap:38px}.why h2{font-size:32px}
 .why-content>p{margin-bottom:10px}.why-content ul{margin-bottom:12px}
 .why blockquote{margin-top:12px}.why blockquote>p{font-size:18px;margin-bottom:10px}
 .why-content li{padding-top:7px;padding-bottom:7px}.why-content li:before{top:17px}
 .location{padding-top:20px;padding-bottom:20px}.location>h2{font-size:33px}
 .location-layout{margin-top:18px}.contact-row{margin-bottom:12px}
 .location-hours{margin-top:12px;padding:10px 18px}.location-hours .opening-times{font-size:20px}
 .map-panel iframe{height:290px}.map-link{margin-top:6px}
 summary{padding-top:17px;padding-bottom:17px}
}
header{background:#fff}nav a{transition:none}nav a:hover{text-decoration:none}
