/* Real page boundaries, with the typography and palette of the approved V2. */
.nav a>span[aria-hidden],.mobile-nav a>span[aria-hidden],.footer-links a>span[aria-hidden]{display:none}
.nav a[aria-current=page]{color:var(--cyan)}
.mobile-nav a[aria-current=page]{color:var(--cyan);border-inline-start:2px solid var(--cyan);padding-inline-start:16px}
.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:10px 22px}
.footer-top{gap:30px}
.footer-links .text-link{margin:0;border:0;text-decoration:none;font-weight:400}
.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;padding-block:12px;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:6px}
.text-link>span[aria-hidden]{text-decoration:none;font-size:21px}
.btn>span[aria-hidden]{font-size:20px}
.paper{background:var(--paper);color:var(--ink)}
.paper :focus-visible{outline-color:#087780}
.page-intro{padding:155px 0 75px;border-bottom:1px solid var(--line)}
.page-intro h1{max-width:1150px;font-size:clamp(48px,6.4vw,96px);line-height:1.02;letter-spacing:-.055em;margin:24px 0 28px;font-weight:850;hyphens:auto;overflow-wrap:break-word}
.page-intro:not(.service-intro-page) h1{hyphens:none;text-wrap:balance}
.page-lead{max-width:660px;font-size:16px;line-height:1.85;color:#b7cbc5;margin:0}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;color:#a8beb8;font-size:11px;margin-bottom:38px;line-height:1.5}
.breadcrumbs .text-link{font-size:11px;font-weight:500;text-decoration:none;gap:0;min-height:30px;padding:0;margin:0;border:0}
.breadcrumbs a::after{content:'/';margin-inline-start:12px;color:#748c87}
.breadcrumbs a>span[aria-hidden]{display:none}
.breadcrumbs>span{color:var(--cyan)}
.home-services,.services-page{padding:85px 0}
.directory-heading{max-width:720px;margin-bottom:34px}
.directory-heading .section-title,.project-teaser .section-title{hyphens:none;text-wrap:balance}
.directory-heading .kicker{color:#4a6564}
.directory-heading p{font-size:15px;line-height:1.8;color:#516965;max-width:490px;margin-top:20px}
.service-directory{border-top:1px solid rgba(70,98,94,.28)}
.directory-row{display:grid;grid-template-columns:minmax(0,1fr) 50px;align-items:center;gap:24px;padding:26px 0;border-bottom:1px solid rgba(70,98,94,.28);transition:color .2s}
.directory-row:hover{color:#128087}
.directory-row :is(h2,h3){font-size:clamp(24px,2.5vw,36px);line-height:1.2;letter-spacing:-.03em;margin:0;hyphens:auto;overflow-wrap:break-word}
.directory-arrow{display:flex;align-items:center;justify-content:center;border:1px solid rgba(70,98,94,.4);border-radius:50%;width:44px;height:44px;font-size:25px;transition:background .2s,color .2s}
.directory-row:hover .directory-arrow{background:var(--cyan);color:var(--ink);border-color:var(--cyan)}
.home-services .text-link,.services-page .text-link{margin-top:24px}
.home-services .directory-row{grid-template-columns:minmax(0,1fr) 50px}
.service-overview{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.75fr);gap:7%}
.service-aside{position:sticky;top:110px;align-self:start}
.service-aside img{width:100%;height:420px;object-fit:cover;border-radius:100px 12px 12px 12px}
.service-aside p{font-size:clamp(24px,2.5vw,34px);font-weight:800;line-height:1.2;letter-spacing:-.035em;margin-top:25px}
.project-teaser{padding:90px 0}
.project-teaser-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9%;align-items:center}
.teaser-photo{display:block;border-radius:14px 100px 14px 14px;overflow:hidden}
.teaser-photo img{width:100%;height:460px;object-fit:cover;display:block}
.project-teaser .btn{margin-top:34px}
.page-cta{padding:60px 0;background:#123338;border-top:1px solid var(--line)}
.page-cta>.wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}
.page-cta h2{font-size:clamp(32px,3.5vw,52px);line-height:1.1;letter-spacing:-.04em;margin:0 0 15px}
.page-cta p{font-size:14px;line-height:1.8;color:#b7cbc5;max-width:490px;margin:0}
.page-cta .btn{flex-shrink:0;max-width:100%}
.detail-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:7%;align-items:center}
.detail-hero h1{font-size:clamp(46px,5.2vw,80px);line-height:1.04}
.detail-hero .btn{margin-top:30px}
.detail-photo{margin:0}
.detail-photo img{display:block;width:100%;height:440px;object-fit:cover;border-radius:120px 14px 14px 14px}
.detail-content{padding:80px 0}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12%}
.detail-grid h2,.related-services h2{font-size:clamp(28px,2.8vw,40px);line-height:1.15;letter-spacing:-.035em;margin:0 0 26px;hyphens:auto}
.detail-grid p{font-size:16px;line-height:1.85;color:#4a625e;margin:0 0 20px}
.scope-list{list-style:none;padding:0;margin:0}
.scope-list li{font-size:18px;line-height:1.6;padding:16px 0;padding-inline-start:24px;border-top:1px solid #c5d1c9;position:relative}
.scope-list li::before{content:'↗';position:absolute;inset-inline-start:0;color:#137b7d}
.related-services{padding-top:70px;padding-bottom:70px}
.related-services .directory-row{grid-template-columns:minmax(0,1fr) 50px;padding-block:22px}
.related-services .directory-row :is(h2,h3){font-size:25px}
.related-services .directory-row:hover{color:var(--cyan)}
.related-services .text-link{margin-top:18px}
.enquiry-entry{padding-block:10px 80px;display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice{min-width:0;text-align:start}
.choice span:first-child{min-width:0;hyphens:auto;overflow-wrap:anywhere}
.choice span[aria-hidden]{flex-shrink:0}
.page-enquiry .page-intro{border:0;padding-bottom:35px}
.page-contact .contact-section{padding-top:75px}
.page-contact .contact-bottom{margin-top:0;padding-top:0;border-top:0}
.contact-assistant{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:50px;padding-top:35px;border-top:1px solid #bdcbc5}
.contact-assistant h2{font-size:28px;letter-spacing:-.025em;line-height:1.2;margin:0 0 14px}
.contact-assistant p{font-size:14px;line-height:1.8;color:#4a625e;max-width:520px}
.contact-assistant .btn{flex-shrink:0}
.page-faq .faq{padding-top:65px}
[dir=rtl] .page-intro h1,[dir=rtl] .directory-row :is(h2,h3),[dir=rtl] .page-cta h2,[dir=rtl] .detail-grid h2,[dir=rtl] .related-services h2{letter-spacing:0;line-height:1.25}
@media(min-width:1600px){.home-services .service-directory{max-width:1120px}.page-intro h1{max-width:1200px}}
@media(max-width:1100px){.detail-hero{gap:5%;grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr)}.detail-hero h1{font-size:clamp(43px,6vw,65px)}.detail-photo img{height:420px}.service-overview{gap:5%;grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr)}.directory-row{gap:14px}.service-aside img{height:360px}.footer-top{align-items:flex-start}.footer-links{max-width:400px}}
@media(max-width:1000px){.assistant-layout{grid-template-columns:1fr;max-width:700px}.assistant-brand{display:none}}
@media(max-width:760px){
 .choice-grid{grid-template-columns:1fr}
 .page-intro{padding:110px 0 45px}.page-intro h1{font-size:clamp(42px,11vw,72px);letter-spacing:-.045em;line-height:1.07}.page-lead{font-size:15px;line-height:1.8}.breadcrumbs{margin-bottom:28px;gap:6px 10px}
 .home-services,.services-page{padding:55px 0}.directory-heading{margin-bottom:28px}.directory-row{grid-template-columns:minmax(0,1fr) 40px;gap:10px;padding-block:22px}.directory-row :is(h2,h3){font-size:25px}.directory-arrow{width:38px;height:38px;font-size:22px}
 .service-overview{grid-template-columns:1fr;gap:40px}.service-aside{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}.service-aside img{height:230px;border-radius:65px 10px 10px 10px}.service-aside p{font-size:25px;margin:0}
 .project-teaser{padding:55px 0}.project-teaser-grid{grid-template-columns:1fr;gap:30px}.teaser-photo img{height:350px}.project-teaser .btn{margin-top:24px}.page-cta{padding:45px 0}.page-cta>.wrap{display:block}.page-cta .btn{margin-top:25px}
 .detail-hero{grid-template-columns:1fr;gap:34px}.detail-hero h1{font-size:clamp(42px,11vw,65px)}.detail-photo img{height:310px;border-radius:80px 14px 14px 14px}.service-number{display:none}.detail-content{padding:45px 0}.detail-grid{grid-template-columns:1fr;gap:40px}.detail-grid p{font-size:15px}.scope-list li{font-size:17px}.related-services{padding-top:45px;padding-bottom:45px}.related-services .directory-row :is(h2,h3){font-size:23px}.related-services .directory-row{grid-template-columns:minmax(0,1fr) 40px;gap:12px}
 .footer-links{justify-content:flex-start;gap:4px 20px;max-width:100%}.footer-links a{font-size:12px}.footer-top{align-items:flex-start}
 .home-services .directory-row{grid-template-columns:minmax(0,1fr) 40px}.contact-assistant{display:block}.contact-assistant .btn{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){.directory-row,.directory-arrow{transition:none}}

/* September editorial update: quieter headings and documented customer photos. */
.hero h1{font-size:clamp(38px,4.5vw,66px);line-height:1.08;letter-spacing:-.035em;font-weight:760;hyphens:auto}
.hero h1 .accent{color:var(--paper);-webkit-text-stroke:0;margin-top:8px}
.hero h1 .accent::after{display:none}
.page-intro h1{font-size:clamp(36px,4.6vw,68px);line-height:1.1;letter-spacing:-.035em;font-weight:750;hyphens:none;text-wrap:balance}
.detail-hero h1{font-size:clamp(34px,3.8vw,56px)}
.section-title,.manifesto h2,.story-copy .section-title{font-size:clamp(34px,4vw,58px);line-height:1.13;letter-spacing:-.035em;font-weight:750}
.manifesto h2 .outline{color:var(--ink);-webkit-text-stroke:0}
.detail-photo figcaption{font-size:12px;line-height:1.7;color:#b5c8c2;margin-top:14px}
.detail-photo figcaption p{margin:8px 0 0}
.page-roof .detail-photo img{object-position:50% 65%}
.service-answer{padding-block:55px;max-width:1000px}
.service-answer h2,.service-gallery h2,.project-index h2{font-size:clamp(28px,3vw,42px);line-height:1.2;letter-spacing:-.025em;max-width:900px;margin:0 0 22px;hyphens:auto}
.service-answer p{font-size:16px;line-height:1.85;max-width:800px;color:#b5c8c2;margin:0}
.service-gallery,.project-index{padding-block:65px}
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:35px;align-items:start}
.photo-grid figure{margin:0;min-width:0}
.photo-grid a{display:block;background:#dce3dd;border-radius:12px;overflow:hidden}
.photo-grid img{display:block;width:100%;height:480px;object-fit:contain}
.photo-grid figcaption{font-size:14px;line-height:1.65;margin-top:14px;color:#435c58}
.photo-grid>figure:only-child{max-width:620px;grid-column:1/-1;width:100%}
.project-index>.wrap>p{font-size:15px;line-height:1.8;max-width:660px;color:#435c58}
.project-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 30px;margin-top:36px}
.project-link figure{margin:0}
.project-link img{display:block;width:100%;height:370px;object-fit:cover;border-radius:16px}
.project-link figcaption{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:15px}
.project-link h3{font-size:25px;line-height:1.25;margin:0;hyphens:auto}
.project-link figcaption>span{font-size:28px}
[dir=rtl] .hero h1,[dir=rtl] .page-intro h1,[dir=rtl] .section-title,[dir=rtl] .manifesto h2{letter-spacing:0;line-height:1.25}
@media(max-width:760px){
 .hero h1{font-size:clamp(34px,9.4vw,52px)}
 .page-intro h1,.detail-hero h1{font-size:clamp(33px,9vw,49px)}
 .section-title,.manifesto h2,.story-copy .section-title{font-size:clamp(32px,8.5vw,46px)}
 .detail-photo img{height:360px;border-radius:65px 12px 12px 12px}
 .service-gallery,.project-index{padding-block:45px}.service-answer{padding-block:40px}.service-answer p{font-size:15px}
 .photo-grid,.project-links{grid-template-columns:1fr;gap:30px}.photo-grid img{height:auto;max-height:570px}
 .project-link img{height:320px}.project-link h3{font-size:23px}
}
@media(max-width:480px){.service-aside{grid-template-columns:1fr}.service-aside img{height:300px}.service-aside p{font-size:22px;line-height:1.4}}
