:root{--navy:#172c39;--sakura:#ebc5ce;--paper:#f5f4f0;--muted:#52616b;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--navy);background:#fff;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:15px;line-height:2;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}a:hover{opacity:.76}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b95a79;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(30px,3.2vw,47px);line-height:1.7;letter-spacing:.06em}h3{font-size:26px;line-height:1.8}p{overflow-wrap:anywhere}.wp-site-blocks>*{margin-block-start:0}.wp-block-group{box-sizing:border-box}.wp-block-image{margin:0}.section-wrap{padding:110px max(6.5vw,24px)}.eyebrow{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.18em;line-height:1.6;font-weight:600;margin-bottom:30px}.site-header{background:#fff;position:relative;z-index:20}.header-inner{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 3.8vw;gap:30px}.brand{font-size:23px;font-weight:700;letter-spacing:.045em;white-space:nowrap;line-height:1.5}.brand small{display:block;font-size:10px;letter-spacing:.15em;font-weight:500}.brand a{display:block}.site-nav{display:flex;align-items:center;gap:27px;font-size:12px;font-weight:600;line-height:1.6}.nav-contact a{display:flex;align-items:center;gap:28px;padding:16px 20px;background:var(--navy);color:#fff}.menu-toggle{display:none}.hero{min-height:660px;height:calc(100svh - 98px);max-height:950px;position:relative;color:#fff;overflow:hidden;background:var(--navy)}.hero-photo{position:absolute;inset:0}.hero-photo img{object-position:center 59%;filter:brightness(.78)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,23,36,.68),rgba(5,23,36,.18) 60%,rgba(5,23,36,.05)),linear-gradient(0deg,rgba(5,23,36,.55),transparent 38%);pointer-events:none}.hero-copy{position:relative;z-index:1;padding:8vh 8vw}.hero-copy .eyebrow{margin-bottom:35px;font-size:11px;color:#fff}.hero-title{font-size:clamp(64px,7.7vw,116px);letter-spacing:.12em;line-height:1.4;text-shadow:0 2px 30px #13243033}.hero-title:after{content:"";display:block;width:56px;height:3px;background:var(--sakura);margin-top:28px}.hero-description{font-size:16px;line-height:2.2;margin-top:27px;letter-spacing:.08em}.hero-bottom{position:absolute;bottom:32px;left:8vw;right:5vw;z-index:1;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.16em}.scroll-link a{display:flex;align-items:center;gap:28px;font-family:Arial,sans-serif;font-size:10px}.scroll-link span{font-size:22px}.message{display:grid;grid-template-columns:1fr 1fr;gap:7vw;background:var(--paper);position:relative}.section-intro .eyebrow:before{content:"";display:inline-block;width:24px;height:2px;background:#b76b81;vertical-align:middle;margin-right:14px}.message-copy{padding-top:42px}.message-copy h3{margin-bottom:32px;font-size:27px}.message-copy p{font-size:14px;margin-top:22px;line-height:2.3}.text-link{margin-top:30px!important}.text-link a{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #a5aeb1;padding:10px 0 16px;font-size:13px;gap:20px}.text-link span{font-size:23px;font-family:Arial,sans-serif;font-weight:400}.services{display:grid;grid-template-columns:1fr 1fr;gap:48px 7vw}.services-heading p:not(.eyebrow){margin-top:25px;color:var(--muted)}.business-image{grid-column:1;grid-row:2;align-self:start;position:sticky;top:40px}.business-photo{height:530px;overflow:hidden}.business-photo img{object-position:62% center}.photo-caption{font-size:12px;margin-top:15px;letter-spacing:.1em}.service-list{grid-column:2;grid-row:1 / span 2}.service-row{padding:38px 0;border-top:1px solid #cdd2d4}.service-row:first-child{padding-top:0;border-top:0}.service-row:last-child{padding-bottom:0}.service-row .eyebrow{margin-bottom:14px;color:#667680;font-size:10px}.service-row h3{font-size:clamp(23px,2.1vw,30px);margin-bottom:19px}.service-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:2.1}.safety{background:var(--navy);color:white;position:relative}.safety-heading{display:grid;grid-template-columns:1fr 1fr;gap:20px 7vw}.safety-heading .eyebrow{grid-column:1 / -1;color:var(--sakura);margin-bottom:12px}.safety-heading>p:last-child{align-self:end;font-size:14px;line-height:2.2;color:#d1d9df;padding-bottom:12px}.safety-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px}.safety-item{border-top:1px solid #65717a;padding-top:28px}.safety-item .eyebrow{color:var(--sakura);margin-bottom:16px}.safety-item h3{font-size:23px;margin-bottom:15px}.safety-item>p:last-child{font-size:13px;color:#d1d9df;line-height:2.2}.recruit{display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}.recruit-photo{min-height:600px}.recruit-photo img{object-position:65% center}.recruit-copy{padding:85px 6.5vw}.recruit-copy h2{font-size:clamp(27px,2.6vw,39px);margin-bottom:28px}.recruit-copy>p:not(.eyebrow){font-size:14px}.recruit-copy .text-link{background:var(--sakura);padding:5px 23px}.recruit-copy .text-link a{border:0}.wp-block-details{margin-top:22px;font-size:13px}.wp-block-details summary{cursor:pointer;min-height:44px;padding:8px 0}.wp-block-details p{padding-top:10px}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:center;padding-top:85px;padding-bottom:85px}.contact h2{font-size:36px;margin-bottom:20px}.contact-copy>p:last-child{font-size:13px;color:var(--muted)}.contact .eyebrow{margin-bottom:12px}.contact-panel{border-left:2px solid var(--sakura);padding:16px 0 16px 36px}.contact-panel h3{font-size:23px;margin-bottom:14px}.contact-status{font-size:14px}.draft-note{font-size:11px!important;color:#667079;line-height:1.9;margin-top:12px}.site-footer{background:#10212d;color:#fff;padding-top:60px;padding-bottom:25px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:14px}.footer-brand{font-size:22px;font-weight:600;letter-spacing:.05em}.footer-tagline{grid-column:1;font-family:var(--serif);font-size:17px;letter-spacing:.13em;color:var(--sakura)}.footer-nav{grid-column:2;grid-row:1 / span 2;display:flex;justify-content:flex-end;align-items:center;gap:24px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #3d4b54;margin-top:42px;padding-top:24px}.copyright{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.1em;color:#aebbc4}.back-top{font-size:11px}.back-top span{margin-left:25px}.inner-page{min-height:65vh}.skip-link{position:absolute;top:-100px;left:15px;z-index:100;background:white;color:var(--navy);padding:12px}.skip-link:focus{top:10px}body .is-layout-flow>*,body .is-layout-constrained>*{margin-block-end:0}body .is-layout-flow>:first-child{margin-block-start:0}
@media(min-width:1600px){.section-wrap{padding-left:max(6.5vw,calc((100vw - 1400px)/2));padding-right:max(6.5vw,calc((100vw - 1400px)/2))}}
@media(max-width:1150px){.site-nav{gap:15px;font-size:11px}.brand{font-size:20px}.header-inner{padding:0 25px}.nav-contact a{padding:15px;gap:10px}}
@media(max-width:1000px){.header-inner{height:auto;min-height:85px;flex-wrap:wrap;padding:18px 25px}.site-nav{width:100%;flex-wrap:wrap;padding:15px 0}.menu-ready .site-nav{display:none}.menu-ready .site-nav.is-open{display:flex}.menu-toggle{display:block;background:transparent;border:0;font-size:11px;letter-spacing:.08em;padding:12px 0 12px 15px;color:var(--navy);cursor:pointer;min-height:44px}.hero{height:calc(90svh - 85px);min-height:660px}.hero-copy{padding-top:70px}.hero-title{font-size:82px}.message{gap:40px}.message-copy br{display:none}.safety-heading{display:block}.safety-heading>p:last-child{margin-top:25px}.safety-grid{gap:25px}.safety-item h3{font-size:20px}.footer-nav{flex-wrap:wrap;gap:12px 20px}}
@media(max-width:700px){html{scroll-padding-top:25px}body{font-size:14px}.section-wrap{padding:70px 25px}.header-inner{min-height:78px;padding:14px 20px;gap:0}.brand{font-size:18px;letter-spacing:.015em}.brand small{font-size:9px}.site-nav{flex-direction:column;align-items:stretch;gap:0}.site-nav p a{display:block;padding:14px 12px}.site-nav .nav-contact{margin-top:8px}.hero{height:calc(92svh - 78px);min-height:610px;max-height:800px}.hero-photo img{object-position:53% center}.hero:after{background:linear-gradient(90deg,rgba(5,23,36,.6),rgba(5,23,36,.14)),linear-gradient(0deg,rgba(5,23,36,.5),transparent 50%)}.hero-copy{padding:60px 28px}.hero-copy .eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:32px}.hero-title{font-size:clamp(53px,14vw,82px);letter-spacing:.075em;line-height:1.5}.hero-title:after{margin-top:22px;width:38px}.hero-description{font-size:13px;line-height:2.1;margin-top:24px}.hero-bottom{left:28px;right:25px;bottom:24px}.hero-caption{font-size:9px;letter-spacing:.05em}.scroll-link a{font-size:8px;gap:12px}.scroll-link span{font-size:18px}h2{font-size:32px}.eyebrow{font-size:10px;margin-bottom:22px}.message{grid-template-columns:1fr;gap:30px}.message-copy{padding:0}.message-copy h3{font-size:23px;margin-bottom:22px}.message-copy p{font-size:13px}.services{display:flex;flex-direction:column;gap:35px}.services-heading p:not(.eyebrow){font-size:13px}.business-image{position:static}.business-photo{height:360px}.service-row{padding:30px 0}.service-row h3{font-size:23px}.service-list{margin-top:5px}.service-copy>p:not(.eyebrow){font-size:13px}.safety-heading h2{font-size:29px}.safety-heading>p:last-child{font-size:13px}.safety-grid{grid-template-columns:1fr;margin-top:35px;gap:30px}.safety-item{padding-top:24px}.safety-item h3{font-size:23px}.recruit{grid-template-columns:1fr}.recruit-photo{min-height:0;height:350px}.recruit-copy{padding:55px 25px 60px}.recruit-copy h2{font-size:29px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:29px}.contact-copy br{display:none}.contact-panel{padding-left:22px}.footer-top{display:block}.footer-brand{font-size:19px}.footer-tagline{margin-top:12px}.footer-nav{justify-content:flex-start;margin-top:30px;gap:14px 24px}.footer-bottom{align-items:flex-start;gap:20px}.copyright{font-size:8px;max-width:210px}.back-top{white-space:nowrap;font-size:10px}.back-top span{margin-left:10px}.site-footer{padding-top:45px;padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.editor-styles-wrapper .hero{height:740px}.editor-styles-wrapper .business-image{position:static}
.hero .hero-photo img,.business-image .business-photo img,.recruit .recruit-photo img{width:100%;height:100%;object-fit:cover}

/* Office directory, shared by the frontend and block editor. */
.offices{background:#f5f4f0}
.offices>.eyebrow{text-align:center;margin-bottom:12px}
.offices-title{text-align:center;font-size:36px;margin:0 0 55px}
.offices-title:after{content:"";display:block;width:60px;height:3px;background:#d7a8b7;margin:24px auto 0}
.offices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.office-card{display:flex;flex-direction:column;background:#fff;border-top:4px solid #d7a8b7;border-radius:5px;padding:38px 30px;box-shadow:0 3px 12px #172c390a;min-width:0}
.office-card h3{font-family:inherit;font-size:23px;font-weight:600;margin:0 0 30px}
.office-card .office-postcode{color:#69747b;font-size:14px;margin:0 0 10px;letter-spacing:.04em}
.office-card .office-address{font-size:16px;font-weight:500;line-height:1.9;margin:0 0 30px;overflow-wrap:anywhere}
.office-card .office-map{margin-top:auto;font-size:14px;font-weight:600}
.office-map a{display:inline-flex;align-items:center;gap:18px;min-height:44px;text-underline-offset:6px}
.office-map a:hover{text-decoration:underline}
.office-map a:focus-visible{outline:2px solid #78515f;outline-offset:5px}
@media(max-width:1000px){.offices-grid{gap:18px}.office-card{padding:28px 20px}.office-card h3{font-size:20px}.office-card .office-address{font-size:14px}}
@media(max-width:700px){.offices-title{font-size:29px;margin-bottom:35px}.offices-grid{grid-template-columns:1fr;gap:22px}.office-card{padding:28px}.office-card h3{font-size:22px;margin-bottom:20px}.office-card .office-address{font-size:15px;margin-bottom:20px}}
