@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--red:#bb1443;--ink:#202427;--muted:#5f6467;--line:#e1e3e5;--pale:#f3f5f6}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--red)}h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;line-height:1.15;letter-spacing:-.035em;margin:0 0 24px}h1{font-size:clamp(46px,5.3vw,78px);font-weight:800}h2{font-size:clamp(32px,3vw,46px);font-weight:700}h3{font-size:24px}p{margin:0 0 24px}img{max-width:100%}.top{background:#092542;color:white;padding:9px max(5vw,24px);display:flex;justify-content:space-between;font-size:14px}.top a{color:white;text-decoration:none}header{height:106px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 5vw;border-bottom:1px solid var(--line);background:white}header nav{display:flex;gap:30px}header nav a{text-decoration:none;font-size:15px;font-weight:600}.brand img{display:block;object-fit:contain}.button{border:0;background:var(--red);color:white;display:inline-block;padding:15px 26px;text-decoration:none;font:600 15px 'DM Sans',Arial,sans-serif;line-height:1.5;border-radius:3px;cursor:pointer}.button:hover{background:#bb1443;color:white}.menu{display:none}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:24px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:650px}.hero-copy{padding:75px 4vw 75px 7vw}.hero h1 span{color:var(--red)}.hero .lead{max-width:470px}.lead{font-size:20px;line-height:1.6;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:36px}.text-link{font-weight:700;text-decoration:underline}.hero-image{position:relative;overflow:hidden;background:var(--pale)}.hero-image>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.image-note{position:absolute;bottom:40px;left:35px;padding:24px 30px;background:white;font-size:18px;line-height:1.5;border-left:5px solid var(--red)}.trust-strip{display:flex;justify-content:center;gap:70px;background:var(--pale);padding:23px;font-size:15px;font-weight:600}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12px 70px;padding:95px 7vw}.intro>.eyebrow{grid-column:1/-1}.intro>div{max-width:530px;color:var(--muted)}.section{padding:75px 7vw}.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:38px}.section-title h2{margin-bottom:0}.section-title>p{color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:32px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;min-height:285px;transition:background .2s}.service:hover{background:var(--pale);color:var(--ink)}.service h3{font-size:23px;letter-spacing:-.025em;margin-top:18px}.service p{color:var(--muted);font-size:16px}.number{font-size:13px;color:var(--red);font-weight:700}.more{font-size:14px;font-weight:700;color:var(--red);margin-top:auto}.statement{background:var(--ink);color:white;padding:85px 7vw}.statement p:last-child{max-width:730px;color:#c8cdd1}.statement .eyebrow{color:#bb1443}.cta{background:var(--red);color:white;padding:70px 7vw;display:flex;justify-content:space-between;align-items:center;gap:35px}.cta .eyebrow{color:white;font-size:12px}.cta h2{margin:0}.cta p{margin:15px 0 0}.cta a:hover{color:white}.light{background:white;color:var(--ink)}.light:hover{background:var(--ink)}footer{padding:65px 7vw 24px;background:#f3f5f6}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:60px}.footer-grid img{margin-bottom:25px}.footer-grid a{display:block;text-decoration:none;font-size:14px;margin:8px 0}.footer-grid p{font-size:15px}.footer-grid h3{font-size:18px}.legal{border-top:1px solid #d2d7da;margin-top:45px;padding-top:24px;font-size:12px;color:var(--muted);max-width:1100px}.page-head{background:var(--pale);padding:68px 7vw}.page-head h1{max-width:1000px;margin:0}.article-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:75px;padding:70px 7vw;align-items:start}.prose h2{font-size:34px;margin-top:25px}.prose h3{font-size:26px;margin-top:36px}.prose p,.prose li{color:#52595d;font-size:17px}.prose p{line-height:1.9}.prose table{width:100%;border-collapse:collapse}.prose td{padding-right:25px;vertical-align:top}.prose img{height:auto}.prose div:empty{display:none}.narrow{max-width:1050px;margin:auto}.consult{position:sticky;top:25px;background:var(--pale);padding:35px;border-top:4px solid var(--red)}.consult h2{font-size:35px}.consult a:last-child{display:block;margin-top:24px;font-size:20px;font-weight:700;text-decoration:none}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.team-card{border:1px solid var(--line)}.team-card>img{width:100%;height:270px;object-fit:cover;object-position:top;filter:grayscale(1)}.team-card>div{padding:24px}.team-card h3{font-size:22px;margin:0 0 10px}.team-card p{font-size:14px;margin-bottom:15px;color:var(--muted)}summary{cursor:pointer;font-size:14px;font-weight:700;color:var(--red);padding:10px 0}.bio{padding-top:15px}.bio p{font-size:14px;line-height:1.7}.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.news-card{display:flex;flex-direction:column;border:1px solid var(--line);padding:35px;text-decoration:none;min-height:330px}.news-card h2{font-size:28px;margin-top:20px}.news-card p{color:var(--muted)}.news-card:hover{background:var(--pale);color:var(--ink)}.contact-details{padding:28px 0 35px}.contact-details a{display:block;font-size:clamp(18px,2vw,27px);text-decoration:none;font-weight:700;overflow-wrap:anywhere}.contact-details p{margin-top:25px}.enquiry{background:var(--pale);padding:32px}.enquiry h2{font-size:28px}.enquiry p{font-size:15px;color:var(--muted)}label{display:block;font-size:14px;font-weight:600;margin-bottom:16px}input,textarea{display:block;background:white;width:100%;border:1px solid #c7cdd0;padding:12px;margin-top:7px;font:16px 'DM Sans',Arial,sans-serif;border-radius:2px}textarea{resize:vertical}.small{font-size:13px!important}.skip{position:absolute;top:-100px;background:white;padding:15px;z-index:100}.skip:focus{top:5px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #245df0;outline-offset:4px}@media(max-width:1100px){header nav{gap:16px}header>.button{display:none}.hero{min-height:570px}.hero-copy{padding:60px 5vw}.service-grid,.team-grid{grid-template-columns:repeat(2,1fr)}.article-layout{gap:35px}.trust-strip{gap:30px}.hero-actions{gap:20px}}@media(max-width:700px){.top{padding:8px 20px;font-size:12px}.top span{max-width:180px}header{height:85px;padding:0 22px}.brand img{width:150px}.menu{display:block;background:white;border:1px solid var(--line);padding:9px 13px;color:var(--ink);font-size:14px}header nav{display:none;position:absolute;left:0;right:0;top:130px;background:white;z-index:20;border-bottom:1px solid var(--line);padding:25px;flex-direction:column}header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 24px}.hero .eyebrow{font-size:11px}.hero h1{font-size:52px}.hero-image{height:310px}.image-note{bottom:22px;left:24px;padding:17px 22px}.lead{font-size:18px}.hero-actions{gap:24px}.trust-strip{flex-wrap:wrap;gap:12px 24px;padding:22px;font-size:13px}.intro{grid-template-columns:1fr;padding:55px 24px;gap:12px}.section{padding:48px 24px}.section-title{display:block}.section-title>p{margin-top:20px}.service-grid{grid-template-columns:1fr 1fr}.service{padding:22px 17px;min-height:280px}.service h3{font-size:20px}.service p{font-size:14px}.statement{padding:55px 24px}.cta{padding:50px 24px;display:block}.cta>div:last-child{margin-top:30px}.footer-grid{grid-template-columns:1fr;gap:30px}footer{padding:50px 24px 25px}.page-head{padding:45px 24px}.page-head h1{font-size:43px}.article-layout{grid-template-columns:1fr;padding:45px 24px}.consult{position:static}.team-grid{gap:18px}.team-card>img{height:200px}.team-card>div{padding:16px}.team-card h3{font-size:19px}.news-grid{grid-template-columns:1fr}.news-card{padding:25px}.prose table,.prose tbody,.prose tr,.prose td{display:block;width:100%!important}.prose td{padding-right:0}.enquiry{padding:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.emma-portrait{height:270px;overflow:hidden}.emma-portrait>img{display:block;width:100%;height:290px;max-width:none;object-fit:cover;object-position:top;transform:translateY(-20px);filter:grayscale(1)}@media(max-width:700px){.emma-portrait{height:200px}.emma-portrait>img{height:220px;transform:translateY(-14px)}}

.statement{background:#092542}.statement .eyebrow{color:#ffffff}.statement p:last-child{color:#e1e8f2}

/* Department portraits and specialist areas */
.department{margin-top:45px;padding-top:28px;border-top:1px solid var(--line)}
.department-heading{font-size:27px;color:#092542;margin-bottom:28px}
.department-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.department-card{background:var(--pale);border:0;border-radius:5px;overflow:hidden;padding-top:24px;align-self:start}
.department-card .portrait{width:180px;height:180px;max-width:calc(100% - 32px);margin:0 auto;background:#e7ebef;border-radius:50%;overflow:hidden;position:relative}
.department-card .portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(1);mix-blend-mode:multiply;transform:scale(1.08);transform-origin:center top}
.department-card .portrait-emma img{transform:scale(1.08) translateY(-7%)}
.department-card .portrait-mike img,.department-card .portrait-sam img{transform:scale(1.08) translateY(-3%)}
.department-card>div:last-child{padding:24px}
.department-card h3{font-size:21px;color:#092542;margin-bottom:8px}
.department-card>div:last-child>p{font-size:14px;min-height:24px;margin-bottom:14px}
.department-card details{border-top:1px solid #dce1e6;padding-top:6px}
.department-card summary{color:#092542}
.specialist-areas{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.department-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.department-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.department-card .portrait{width:145px;height:145px}.department-card>div:last-child{padding:18px}.department-card h3{font-size:19px}.specialist-areas{grid-template-columns:1fr}.specialist-areas .service{min-height:220px}}
@media(max-width:380px){.department-grid{grid-template-columns:1fr}}

.illustrated-service{padding:0;overflow:hidden}.illustrated-service .cover-image{display:block;width:100%;height:180px;object-fit:cover;object-position:center;margin:0 0 24px}.illustrated-service .number,.illustrated-service h3,.illustrated-service p,.illustrated-service .more{margin-left:24px;margin-right:24px}.illustrated-service h3{margin-top:16px}.illustrated-service .more{padding-bottom:28px}.illustrated-service .cover-image[src*="medical"]{object-position:center 38%}@media(max-width:700px){.illustrated-service .cover-image{height:140px;margin-bottom:20px}.illustrated-service .number,.illustrated-service h3,.illustrated-service p,.illustrated-service .more{margin-left:17px;margin-right:17px}}@media(max-width:400px){.illustrated-service .cover-image{height:120px}}

@keyframes title-enter-left{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}
.page-head h1,.hero h1{animation:title-enter-left 3s ease-out both}
@media(prefers-reduced-motion:reduce){.page-head h1,.hero h1{animation:none}}

.video-section{background:var(--pale);border-bottom:1px solid var(--line)}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.video-empty{grid-column:1/-1;background:white;border-left:4px solid #092542;padding:30px}.video-empty h3{margin-bottom:12px;color:#092542}.video-empty p{margin:0;color:var(--muted)}.office-news{border-top:1px solid var(--line)}.office-address{background:var(--pale);padding:32px;margin:36px 0;border-left:4px solid var(--red)}.office-address h2{margin-top:0}.office-address a{overflow-wrap:anywhere}@media(max-width:700px){.video-grid{grid-template-columns:1fr}}

.video-card{display:flex;flex-direction:column;background:white;text-decoration:none;border:1px solid var(--line)}.video-card:hover{color:var(--ink);border-color:var(--red)}.video-card>img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover}.video-card>div{padding:26px;display:flex;flex-direction:column;flex:1}.video-card .eyebrow{font-size:12px;margin-bottom:16px}.video-card h3{font-size:23px;line-height:1.3}.video-card .more{padding-top:12px}.video-channel{margin-top:28px;margin-bottom:0}

.top-links{display:flex;align-items:center;gap:24px}.top-links a{white-space:nowrap}.top-links a:hover{color:white;text-decoration:underline}.top{gap:12px}@media(max-width:700px){.top{flex-wrap:wrap}.top span{max-width:none}.top-links{gap:18px;flex-wrap:wrap}header{position:relative}header nav{top:100%}}

.image-slideshow .slide{opacity:0;transition:opacity 1.6s ease-in-out;z-index:0}.image-slideshow .slide.is-active{opacity:1;z-index:1}.image-slideshow .image-note{z-index:2;bottom:95px}.slideshow-controls{position:absolute;bottom:28px;left:35px;right:35px;z-index:3;display:flex;align-items:center;gap:10px}.slide-dot{width:13px;height:13px;border:2px solid white;background:#092542;border-radius:50%;cursor:pointer;padding:0;box-shadow:0 0 0 5px transparent}.slide-dot.is-active{background:white}.service-page-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:50px;align-items:center}.service-page-head h1{font-size:clamp(38px,4.2vw,65px)}.service-title-image{width:100%;height:285px;object-fit:cover;border-bottom:5px solid var(--red)}.service-title-copy{min-width:0}.section-title{border-left:4px solid var(--red);padding-left:24px}.trust-strip span{border-left:3px solid var(--red);padding-left:16px}.consult{box-shadow:8px 8px 0 #e7ebef}.illustrated-service:hover .cover-image{filter:brightness(1.06)}
@media(max-width:700px){.service-page-head{grid-template-columns:1fr;gap:30px}.service-title-image{height:220px}.image-slideshow .image-note{bottom:80px;font-size:16px;padding:13px 18px}.slideshow-controls{left:24px;right:24px;bottom:19px}.hero-image.image-slideshow{height:350px}.section-title{padding-left:18px}}
@media(prefers-reduced-motion:reduce){.image-slideshow .slide{transition:none}}

.insurance-faq{background:var(--pale)}.insurance-faq details{border-bottom:1px solid var(--line);padding:20px 0;max-width:900px}.insurance-faq summary{cursor:pointer;font-size:20px;font-weight:600;color:#092542}.insurance-faq details p{margin:16px 0 0;max-width:780px}

.enquiry select{width:100%;padding:12px;border:1px solid var(--line);border-radius:0;background:white;color:var(--ink);font:inherit;box-sizing:border-box}.enquiry fieldset{min-width:0;margin:20px 0;padding:20px;border:1px solid var(--line)}.enquiry fieldset[hidden]{display:none}.enquiry legend{padding:0 6px;font-weight:600;color:#092542;font-size:17px}

/* Keep navigation and forms usable on narrow screens. */
header nav a,.menu,.top-links a{min-height:44px;display:inline-flex;align-items:center}.top-links{column-gap:20px;row-gap:0}.top{align-items:center}.top-links a{min-height:28px}
select:focus-visible{outline:3px solid #092542;outline-offset:4px}
.enquiry,.enquiry-review,.enquiry label,.enquiry fieldset,.enquiry input,.enquiry textarea,.enquiry select{min-width:0;max-width:100%}.enquiry select{font-size:16px;margin-top:7px}
.enquiry-review{border-top:2px solid #092542;margin-top:30px;padding-top:25px}.enquiry-review[hidden]{display:none}.enquiry-review h3{font-size:24px}.enquiry-review textarea{font-size:15px;line-height:1.6}.enquiry-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.enquiry-actions .button{white-space:normal}.button.secondary{background:white;color:#092542;border:1px solid #092542}.button.secondary:hover{background:#e7ebef}.enquiry a{overflow-wrap:anywhere}
.page-head h1,.service h3,.department-card h3{overflow-wrap:anywhere}.article-layout>*{min-width:0}
@media(max-width:900px){.top{flex-wrap:wrap}.top-links{flex-wrap:wrap;gap:0 18px}header{position:relative;height:85px;padding:0 24px}.brand img{width:150px}.menu{display:block;background:white;border:1px solid var(--line);padding:9px 13px;color:var(--ink);font-size:14px;min-height:44px}header nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;z-index:20;border-bottom:1px solid var(--line);padding:18px 24px;flex-direction:column;gap:4px}header nav.open{display:flex}.article-layout{grid-template-columns:1fr}.consult{position:static}}
@media(max-width:480px){.top{padding:8px 20px}.top-links{gap:0 14px;font-size:12px}.hero-actions{flex-wrap:wrap}.service-grid{grid-template-columns:1fr}.enquiry{padding:22px 18px}.enquiry fieldset{padding:16px 12px}.enquiry-actions{flex-direction:column}.enquiry-actions .button{width:100%;text-align:center}.insurance-faq summary{font-size:18px}}

/* Show the collapsed menu only at mobile widths. */
@media(min-width:701px){.menu{display:none}header{height:106px;padding-left:clamp(18px,4vw,70px);padding-right:clamp(18px,4vw,70px);gap:16px}header nav,header nav.open{display:flex;position:static;flex-direction:row;align-items:center;gap:clamp(12px,2vw,30px);padding:0;border:0;background:transparent}header nav a{white-space:nowrap;font-size:14px}.brand img{width:clamp(135px,15vw,185px)}}

/* Full-width page canvas, with smaller, consistent content gutters. */
:root{--page-gutter:clamp(22px,3vw,56px)}
html{min-height:100%}body{width:100%;max-width:none;margin:0;min-height:100dvh;display:flex;flex-direction:column}body>main{flex:1;min-width:0;width:100%}body>.top,body>header,body>footer{width:100%;flex-shrink:0}
.top,header,.intro,.section,.statement,.cta,footer,.page-head,.article-layout{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.hero-copy{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.hero>*{min-width:0}.footer-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr)}
@media(max-width:700px){:root{--page-gutter:22px}.hero,.footer-grid{grid-template-columns:1fr}}

.department-card .portrait-initials{display:flex;align-items:center;justify-content:center;padding:0;font-family:Manrope,Arial,sans-serif;font-size:48px;font-weight:700;color:#092542;background:#dfe7ee}
.location-section{background:var(--pale)}.office-map{width:100%;height:500px;background:#e1e8ee;border:1px solid #cbd6df;overflow:hidden}.office-map iframe{display:block;width:100%;height:100%;border:0}.map-consent{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 24px;color:#092542;background:linear-gradient(135deg,#e1e8ee,#f3f5f6)}.map-consent svg{margin-bottom:18px}.map-consent h3{margin-bottom:16px}.map-consent p{max-width:600px;margin-bottom:18px}.map-consent #map-privacy{margin-top:18px;margin-bottom:0}.map-consent[hidden]{display:none}.map-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-top:22px}.map-hide{background:transparent;border:1px solid #092542;padding:10px 18px;color:#092542;font:inherit;cursor:pointer}.map-hide[hidden]{display:none}
@media(max-width:700px){.office-map{height:460px}.map-consent{padding:24px 18px}.map-consent h3{font-size:22px}.department-card .portrait-initials{font-size:40px}}

/* Branded home cover and page dropdowns. */
.hero-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:38px;padding:clamp(30px,5vw,85px);background:#f3f5f6;border-bottom:5px solid var(--red)}.hero-image.hero-brand>img{position:static;inset:auto;width:100%;max-width:620px;height:auto;object-fit:contain}.hero-brand-line{font-family:Manrope,Arial,sans-serif;color:#092542;font-size:clamp(24px,2.6vw,42px);line-height:1.2;font-weight:700;text-align:center;margin:0}
.nav-group{position:relative;display:flex;align-items:center;gap:3px}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:44px;padding:0;border:0;background:transparent;color:#092542;cursor:pointer}.nav-toggle svg{transition:transform .2s}.nav-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}.nav-toggle:focus-visible{outline:3px solid #092542;outline-offset:2px}.nav-dropdown{position:absolute;z-index:50;top:100%;left:0;min-width:260px;width:max-content;max-width:330px;max-height:70vh;overflow:auto;padding:10px;background:white;border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 12px 30px #09254222}.nav-dropdown[hidden]{display:none}header nav .nav-dropdown a{display:flex;align-items:center;padding:10px 14px;min-height:44px;white-space:normal;font-size:14px;line-height:1.45;font-weight:500}.nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:var(--pale);color:var(--red)}.nav-group:last-child .nav-dropdown{left:auto;right:0}
@media(min-width:701px) and (max-width:1100px){header nav,header nav.open{gap:10px}.nav-group{gap:0}.nav-toggle{width:23px}header nav a{font-size:13px}header{gap:12px}.brand img{width:135px}}
@media(max-width:700px){header nav{max-height:calc(100dvh - 150px);overflow-y:auto}.nav-group{display:grid;grid-template-columns:minmax(0,1fr) 44px;width:100%;gap:0}.nav-toggle{width:44px}.nav-dropdown,.nav-group:last-child .nav-dropdown{grid-column:1/-1;position:static;width:100%;min-width:0;max-width:none;max-height:none;box-shadow:none;border:0;border-left:2px solid var(--red);margin:0 0 10px;padding:0 0 0 8px}.hero-image.hero-brand{height:310px;gap:26px;padding:40px 28px}.hero-brand-line{font-size:27px}}

.office-map-static{margin:0;background:white;border:1px solid var(--line)}.office-map-static>img{width:100%;height:auto;display:block;aspect-ratio:7/3;object-fit:contain}.office-map-static figcaption{display:flex;flex-direction:column;gap:5px;padding:16px 20px;color:#092542;font-size:14px}.office-map-static figcaption small{font-size:12px;color:var(--muted)}
@media(max-width:700px){.office-map-static figcaption{padding:14px;font-size:13px}}

/* Static satellite image annotation follows the marked point on every screen size. */
.office-map-image{position:relative;width:100%}.office-map-image>img{display:block;width:100%;height:auto;aspect-ratio:7/3}.office-pin{position:absolute;left:52.598%;top:59.6%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 3px 5px #0007);pointer-events:none}.office-pin-label{white-space:nowrap;background:white;color:#092542;font:700 14px Manrope,Arial,sans-serif;padding:6px 12px;border-radius:4px;margin-bottom:4px}.office-pin svg{display:block}
.image-slideshow .logo-slide{object-fit:contain;padding:clamp(30px,5vw,85px);background:var(--pale)}.image-slideshow .image-note{bottom:85px}.slideshow-controls{gap:9px;flex-wrap:wrap}.slide-dot{flex-shrink:0}.image-slideshow .logo-slide.is-active~.image-note{background:white}
@media(max-width:700px){.office-pin svg{width:28px;height:36px}.office-pin-label{font-size:11px;padding:4px 7px}.image-slideshow .logo-slide{padding:35px}.image-slideshow .image-note{bottom:75px}.slideshow-controls{gap:8px}}

.service-category h3>a{text-decoration:none}.service-subareas{list-style:none;padding:0;margin:0 24px 24px;display:flex;flex-direction:column;gap:0}.service-subareas a{display:block;padding:7px 0;color:#092542;font-size:14px;text-decoration:underline;line-height:1.45}.service-category>.more{display:block;margin-top:auto}.subarea-section{background:var(--pale)}.subarea-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0}.subarea-card{background:white;padding:28px;border:1px solid var(--line);border-top:3px solid var(--red);scroll-margin-top:24px}.subarea-card h3{font-size:25px}.subarea-card p{color:var(--muted)}.subarea-card .text-link{font-size:15px}.construction-liability .subarea-grid{grid-template-columns:repeat(2,minmax(0,1fr))}header nav .nav-dropdown a.nav-subarea{padding-left:28px;font-size:13px;color:var(--muted)}
.office-pin{left:52.3%;top:45.8%}.office-pin svg{width:30px;height:39px}.office-pin-label{font-size:12px;padding:4px 8px}
@media(max-width:900px){.subarea-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.subarea-grid,.construction-liability .subarea-grid{grid-template-columns:1fr}.subarea-card{padding:24px}.service-subareas{margin-left:17px;margin-right:17px}.office-pin svg{width:23px;height:30px}.office-pin-label{font-size:10px;padding:3px 6px}.image-note{max-width:calc(100% - 48px)}}

/* Second-level insurance areas open beside their parent category. */
.insurance-dropdown{overflow:visible;max-height:none;width:265px;min-width:265px}.nav-branch{position:relative}.nav-branch-row{display:flex;align-items:center}.nav-branch-row>a{flex:1;min-width:0}.subnav-toggle{width:35px;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;color:#092542;border:0;cursor:pointer}.subnav-toggle[aria-expanded="true"]{background:var(--pale)}.nav-flyout{position:absolute;left:100%;top:0;width:275px;max-height:70vh;overflow-y:auto;padding:10px;background:white;border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 10px 25px #09254222;z-index:55}.nav-flyout[hidden]{display:none}.nav-branch.fly-left>.nav-flyout{left:auto;right:100%}.nav-flyout a{font-weight:500}.nav-branch-row:has(.subnav-toggle[aria-expanded="true"]){background:var(--pale)}
@media(max-width:700px){.insurance-dropdown{width:100%;min-width:0;max-height:none}.nav-flyout,.nav-branch.fly-left>.nav-flyout{position:static;left:auto;right:auto;width:100%;max-height:none;border:0;border-left:2px solid var(--red);box-shadow:none;margin-left:10px;padding:0 0 0 8px}.subnav-toggle svg{transform:rotate(90deg)}.subnav-toggle[aria-expanded="true"] svg{transform:rotate(-90deg)}}

.subarea-page-list{display:flex;flex-direction:column;border-top:1px solid #d9e0e7}.subarea-page-link{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid #d9e0e7;text-decoration:none;color:var(--navy,#092542);font-size:1.25rem;font-weight:600}.subarea-page-link:hover,.subarea-page-link:focus-visible{color:#bb1443}.subarea-page-link .more{font-size:.9rem;white-space:nowrap}.subarea-breadcrumb{padding-top:22px;padding-bottom:22px;font-size:.9rem}.subarea-breadcrumb a{color:inherit}@media(max-width:700px){.subarea-page-link{font-size:1.1rem;padding:22px 0;flex-wrap:wrap;gap:10px}}

/* Pin tip aligned to the user-marked point in the satellite image. */
.office-pin{left:49.7798%;top:40.4893%}
a.image-note{color:var(--navy,#092542);text-decoration:none}a.image-note:hover{text-decoration:underline;text-underline-offset:4px}a.image-note:focus-visible{outline:3px solid #bb1443;outline-offset:4px}

@media(min-width:701px){header nav,header nav.open{gap:clamp(6px,1vw,18px)}header nav a{font-size:13px}header>.button{padding-left:16px;padding-right:16px}}@media(min-width:701px) and (max-width:1350px){header>.button{display:none}}

.catalog-intro{max-width:760px;margin-bottom:32px;font-size:1.1rem}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.catalog-card{display:flex;flex-direction:column;color:#092542;text-decoration:none;border:1px solid #d9e0e7;background:white;overflow:hidden;transition:box-shadow .2s,transform .2s}.catalog-card>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.catalog-card-copy{padding:26px;display:flex;flex:1;flex-direction:column;gap:22px}.catalog-card h2{font-size:clamp(1.2rem,1.8vw,1.6rem);line-height:1.3;margin:0}.catalog-card .more{margin-top:auto;color:#bb1443;font-weight:700}.catalog-card:hover{box-shadow:0 12px 28px #09254218;transform:translateY(-3px)}.catalog-card:focus-visible{outline:3px solid #bb1443;outline-offset:4px}.catalog-contact{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:48px}.catalog-contact h2{font-size:1.6rem}.catalog-contact p{margin-bottom:0}@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.catalog-grid{grid-template-columns:1fr;gap:22px}.catalog-contact{align-items:flex-start;flex-direction:column}.catalog-card-copy{padding:22px}}@media(prefers-reduced-motion:reduce){.catalog-card{transition:none}.catalog-card:hover{transform:none}}

.service-title-image.catalog-brand-image{object-fit:contain;background:#fff;padding:clamp(25px,4vw,65px)}@media(min-width:701px){.nav-branch.fly-left>.nav-flyout{left:100%;right:auto}}

.page-head.service-page-head.catalog-brand-header{background:#fff}.catalog-brand-header .service-title-copy,.catalog-brand-header .catalog-brand-image{background:#fff}

.catalog-brand-header .service-title-image.catalog-brand-image{border-bottom:0}

.team-card .team-experience{font-size:.85rem;font-weight:700;color:#bb1443;margin-top:12px;margin-bottom:5px}.team-card .team-location{font-size:.85rem;line-height:1.5;margin-top:0;margin-bottom:16px}
/* Team biographies flip in place without expanding the page. */
.team-card.team-flip-card{height:550px;padding:0;overflow:visible;perspective:1400px;background:transparent}
.team-card.team-flip-card>.team-flip-inner{position:relative;width:100%;height:100%;padding:0;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.22,.61,.36,1)}
.team-flip-card.is-flipped>.team-flip-inner{transform:rotateY(180deg)}
.team-flip-front,.team-flip-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:5px;background:var(--pale);overflow:hidden}
.team-flip-front{padding:24px 0 0;display:flex;flex-direction:column}
.team-flip-front>div:last-child{padding:24px;display:flex;flex-direction:column;flex:1;min-height:0}
.team-flip-front .portrait{flex-shrink:0}
.team-flip-back{transform:rotateY(180deg);padding:25px;display:flex;flex-direction:column;border-top:4px solid #bb1443}
.team-flip-back .team-flip-bio{flex:1;min-height:0;overflow:auto;padding:5px 7px 0 0;overscroll-behavior:contain;scrollbar-width:thin}
.team-flip-open,.team-flip-close{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:transparent;color:#092542;font:700 14px Manrope,Arial,sans-serif;text-align:left;border:0;border-top:1px solid #dce1e6;padding:14px 0;min-height:44px;cursor:pointer;flex-shrink:0}
.team-flip-open{margin-top:auto}.team-flip-close{margin-top:12px}
.team-flip-open:hover,.team-flip-close:hover{color:#bb1443}
.team-flip-open:focus-visible,.team-flip-close:focus-visible,.team-flip-bio:focus-visible{outline:3px solid #bb1443;outline-offset:3px}
@media(max-width:700px){.team-card.team-flip-card{height:520px}.team-flip-front>div:last-child,.team-flip-back{padding:20px}}
@media(prefers-reduced-motion:reduce){.team-card.team-flip-card>.team-flip-inner{transition:none}}

.current-news-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.current-news-card>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.current-news-card>div{padding:28px;display:flex;flex-direction:column;flex:1}.current-news-card .more{margin-top:auto}.article-cover{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin-bottom:32px;border-radius:4px}

.article-cover.office-building-photo{aspect-ratio:auto;object-fit:contain}

.office-pin{left:49.6037%;top:51.5862%}

.team-flip-front .team-towns{position:relative;border:0;padding:0;margin:0 0 12px;font-size:12px}.team-towns>summary{font-size:12px;font-weight:600;min-height:32px;padding:5px 0;cursor:pointer}.team-town-list{position:absolute;left:0;right:0;top:100%;z-index:3;background:#fff;border:1px solid #dce1e6;border-radius:4px;box-shadow:0 5px 16px #09254218;padding:10px 12px;max-height:100px;overflow:auto}.team-card .team-town-list p{font-size:12px;line-height:1.6;margin:0;color:#092542}.team-towns>summary:focus-visible{outline:2px solid #bb1443;outline-offset:2px}

.related-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:22px;margin-top:26px}.related-product-card{display:flex;flex-direction:column;padding:25px;border:1px solid #dce1e6;background:white;color:#092542;text-decoration:none}.related-product-card h3{font-size:1.2rem;line-height:1.4;margin-top:0}.related-product-card p{font-size:.95rem;line-height:1.6}.related-product-card .more{margin-top:auto;color:#bb1443;font-weight:700}.related-product-card:hover{border-color:#bb1443}.related-product-card:focus-visible{outline:3px solid #bb1443;outline-offset:3px}

/* Keep sidebar quote and telephone actions on separate lines. */
.consult{min-width:0}.consult>.button{display:block;width:fit-content;max-width:100%}.consult>a[href^="tel:"]{display:block;width:fit-content;max-width:100%;white-space:nowrap;margin-top:18px;font-size:18px;line-height:1.5}

/* Static membership and insurer logos in the footer. */
.footer-logo-row{display:flex;align-items:center;flex-wrap:wrap;gap:32px 64px;margin:0 0 36px;padding-bottom:30px;border-bottom:1px solid #d2d7da}.footer-membership{flex:0 1 185px}.footer-membership img{display:block;width:185px;max-width:100%;height:auto}.footer-insurer-partners{min-width:0;margin-left:auto}.footer-insurer-partners>p{text-align:center;font-size:13px;font-weight:700;color:#092542;margin:0 0 18px}.footer-insurer-logos{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:24px 36px}.footer-insurer-logos img{display:block;object-fit:contain;max-width:100%;height:68px;width:auto}.footer-insurer-logos .footer-aviva{width:108px}.footer-insurer-logos .footer-axa{width:68px}.footer-insurer-logos .footer-zurich{width:180px}@media(max-width:700px){.footer-logo-row{gap:28px 36px}.footer-membership{flex-basis:150px}.footer-membership img{width:150px}.footer-insurer-logos{gap:20px 28px}.footer-insurer-logos .footer-aviva{width:90px}.footer-insurer-logos .footer-axa{width:58px}.footer-insurer-logos .footer-zurich{width:145px}.footer-insurer-logos img{height:58px}}

.required-label{font-size:.85em;color:#5f6467;font-weight:500}.field-error{display:block;margin-top:6px;color:#a30f35;font-size:14px;font-weight:600}.field-error[hidden]{display:none}input[aria-invalid="true"]{border:2px solid #a30f35}#telephone-help{display:block;margin-top:6px;color:#5f6467}

.quote-page-lead{max-width:760px;margin:24px 0 0}.quote-page-layout{max-width:960px;margin:0 auto;padding:60px 24px 75px}.quote-page-intro{max-width:800px;margin:0 auto 36px}.quote-page-intro h2{font-size:clamp(28px,3vw,38px)}.quote-page-intro p{color:var(--muted)}.quote-page-layout>.enquiry{width:100%;max-width:800px;margin:auto;padding:38px}.quote-page-layout .enquiry>h2{font-size:28px}#complaints{scroll-margin-top:30px}@media(max-width:700px){.quote-page-layout{padding:40px 24px 50px}.quote-page-layout>.enquiry{padding:24px}.quote-page-lead{font-size:18px}}

.footer-insurer-logos .footer-intact{width:145px}@media(max-width:700px){.footer-insurer-logos .footer-intact{width:125px}}

/* Keep mobile portraits outside 3D compositing layers. */
@media(max-width:700px){
 .team-card.team-flip-card{perspective:none}
 .team-card.team-flip-card>.team-flip-inner{transform:none;transform-style:flat;transition:none}
 .team-flip-card.is-flipped>.team-flip-inner{transform:none}
 .team-flip-front,.team-flip-back{transform:none;backface-visibility:visible;-webkit-backface-visibility:visible}
 .team-flip-card .team-flip-front{visibility:visible}
 .team-flip-card .team-flip-back{visibility:hidden;pointer-events:none}
 .team-flip-card.is-flipped .team-flip-front{visibility:hidden;pointer-events:none}
 .team-flip-card.is-flipped .team-flip-back{visibility:visible;pointer-events:auto}
 .team-flip-front .portrait img{mix-blend-mode:normal}
}

/* Fill the portrait with Samuel’s supplied circular headshot. */
.department-card .portrait-samuel img{transform:scale(1.3);transform-origin:center center;object-position:center center;mix-blend-mode:normal}

.department-card .portrait-jenna img{transform:scale(1.15);transform-origin:center center;object-position:center center;mix-blend-mode:normal}

.department-card .portrait-jenna img{filter:none;mix-blend-mode:normal}

.department-card .portrait-billy img{transform:scale(1.15);transform-origin:center center;object-position:center center;mix-blend-mode:normal}

.department-card .portrait-billy img{filter:none;mix-blend-mode:normal}

.footer-insurer-logos .footer-allianz{width:170px;height:72px;object-fit:contain}@media(max-width:700px){.footer-insurer-logos .footer-allianz{width:145px;height:58px}}

.enquiry-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.enquiry button:disabled{opacity:.65;cursor:wait}#email-status{overflow-wrap:anywhere}
