/* Multi-page structure: photography first, focused content, shared editorial identity. */
.multipage main { min-height: 50vh; }
.breadcrumbs { padding-top: 25px; }
.breadcrumbs ol { display:flex;flex-wrap:wrap;list-style:none;gap:8px 12px;padding:0;margin:0;color:#637e84;font-size:.8125rem; }
.breadcrumbs li+li:before { content:'/';color:#9aaeb2;margin-right:12px; }
.breadcrumbs a:hover { text-decoration:underline;text-underline-offset:4px; }
.page-intro { padding-block:52px 48px; }
.page-intro h1 { font-size:clamp(3rem,5.5vw,5rem);font-weight:500;line-height:1.08; }
.page-intro h1 em,.contact-page h1 em,.enquiry-banner em,.faq-layout h2 em,.case-process h2 em,.testimonials-section h2 em { font-family:Georgia,serif;font-weight:400;font-style:italic;color:#527e87; }
.intro-description { max-width:590px;font-size:1.0625rem;margin-top:24px; }
.home-hero .hero-intro { margin-bottom:32px; }
.home-hero .hero-description { max-width:370px; }
.home-hero .hero-content { padding-top:40px;padding-bottom:38px; }
.home-hero .hero-support { align-self:center; }
.home-hero .hero-visual { padding-bottom:0; }
.home-hero .hero-image { max-width:1100px;margin-inline:auto; }
.home-services { display:grid;grid-template-columns:.8fr 1.2fr;gap:95px;align-items:start; }
.service-overview { border-top:1px solid var(--line); }
.service-overview>a { display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:18px;padding:22px 6px;border-bottom:1px solid var(--line);font-size:1.17rem;line-height:1.4;transition:background .2s,padding .2s; }
.service-overview>a:hover { background:#f1f6f4;padding-inline:14px; }
.overview-index { font-size:.8125rem;color:#7b969c; }
.overview-label { font-size:.8125rem;color:#587b84;border-bottom:1px solid #b3c6cb; }
.home-projects { padding-top:20px; }
.concept-disclosure { font-size:.875rem!important; }
.home-projects .section-heading>div:last-child { display:flex;flex-direction:column;align-items:flex-start;gap:12px; }
.home-project-grid { grid-template-columns:1.2fr 1fr 1fr;gap:28px;align-items:start; }
.home-project-grid .project-card:first-child { grid-column:auto;display:flex;gap:0;padding-bottom:0; }
.home-project-grid .project-photo,.home-project-grid .project-card:first-child .project-photo { aspect-ratio:.97;border-radius:22px; }
.home-project-grid .project-card:first-child .project-photo { border-top-right-radius:80px; }
.home-project-grid .project-card:first-child .project-info { padding-top:25px; }
.home-project-grid .project-card:nth-child(2) { margin-top:65px; }
.home-project-grid .project-card:nth-child(3) { margin-top:125px; }
.home-project-grid .project-info h3,.home-project-grid .project-card:first-child h3 { font-size:1.6rem;line-height:1.2; }
.project-info h3 a:hover { color:#537f88; }
.project-info>p { text-transform:uppercase; }
.enquiry-banner { background:#143a44;border-radius:44px 44px 0 0;padding:74px 0; }
.enquiry-banner>.container { display:flex;align-items:center;justify-content:space-between;gap:35px; }
.enquiry-banner h2 { font-size:clamp(2.2rem,3.8vw,3.6rem);color:#fff;font-weight:450; }
.enquiry-banner em { color:#e8c388; }
.enquiry-banner .eyebrow { color:#afc9d0;margin-bottom:18px; }
.enquiry-banner .button { background:var(--accent);color:var(--navy-deep);flex-shrink:0; }
.compact-footer { padding-top:0; }
.compact-footer .footer-main { padding-block:35px;grid-template-columns:1.2fr .7fr 1fr; }
.compact-footer .footer-main>div:first-child { display:flex;align-items:center;gap:24px; }
.compact-footer .footer-main>div:first-child>p { margin:0; }
.compact-footer .brand-footer { padding:4px 12px;border-radius:14px; }
.compact-footer .brand-footer .logo-window { transform:scale(.85);margin:-5px; }
.compact-footer .footer-links { gap:9px;font-size:.875rem; }
.compact-footer .footer-bottom { padding-block:20px; }
.service-jump { display:flex;gap:10px;flex-wrap:wrap;padding-bottom:30px; }
.service-jump a { font-size:.875rem;line-height:1.4;background:#eff4f2;padding:12px 18px;border-radius:99px; }
.service-jump a:hover { background:#dfecea; }
.service-stories { padding-bottom:50px; }
.service-story { display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding-block:55px;scroll-margin-top:115px; }
.service-story:nth-child(even)>figure { order:2; }
.service-story h2 { font-size:clamp(2rem,3.2vw,3rem); }
.service-story .eyebrow { margin-bottom:18px;font-size:.75rem; }
.service-story-photo { aspect-ratio:1.3;border-radius:24px 80px 24px 24px; }
.service-story:nth-child(even) .service-story-photo { border-radius:80px 24px 24px 24px; }
.service-story figcaption,.about-story figcaption,.case-cover figcaption { font-size:.75rem;color:#5f7a80;padding:12px 2px 0; }
.service-story>div>p { margin-top:23px;font-size:1rem; }
.service-story ul { padding-left:19px;margin-block:22px 28px;color:#567078;line-height:1.8; }
.service-story li { padding-left:5px;font-size:1rem; }
.service-story .button { margin-top:4px; }
.tender-note { display:flex;align-items:center;justify-content:space-between;gap:40px;padding:45px;background:#edf4f2;border-radius:28px; }
.tender-note h2 { font-size:2.6rem; }
.tender-note p:not(.eyebrow) { margin-top:16px; }
.tender-note .button { flex-shrink:0; }
.multipage .faq-section { padding-block:90px; }
.concept-notice { color:#5d7a81;font-size:.875rem;line-height:1.7;margin-bottom:32px; }
div.concept-notice { background:#eff4f2;border-radius:18px;padding:19px 24px; }
.concept-notice p { font-size:.875rem; }
.project-index-section { padding-top:25px; }
.case-cover-photo { aspect-ratio:1.6;border-radius:28px;max-height:650px; }
.case-meta { display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:40px;padding-block:30px;border-bottom:1px solid var(--line); }
.case-meta span { display:block;color:#63818b;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px; }
.case-meta p { font-size:1rem; }
.case-process { padding-top:80px; }
.case-process .photo-slot { aspect-ratio:1; }
.case-process .photo-grid { gap:22px; }
.case-process .photo-state { top:15px;left:15px; }
.case-process .photo-status { margin-top:18px;max-width:750px;line-height:1.7; }
.case-story { display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding-block:55px; }
.case-story h2 { font-size:1.5rem;letter-spacing:-.03em;margin-bottom:18px; }
.case-story p { font-size:1rem; }
.case-actions { display:flex;gap:25px;flex-wrap:wrap;align-items:center;padding-bottom:85px; }
.about-story { display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center; }
.about-story-photo { aspect-ratio:1.17;border-radius:22px 90px 22px 22px; }
.about-story p { font-size:1.0625rem;margin-top:25px; }
.about-story .text-link { margin-top:25px; }
.principles-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:45px; }
.principles-grid article { border-top:1px solid var(--line);padding-top:23px; }
.principles-grid article>span { color:#8b9ea4;font-size:.875rem; }
.principles-grid h3 { font-size:1.5rem;font-weight:500;margin:19px 0; }
.principles-grid p { font-size:1rem; }
.verification { padding-block:60px; }
.verification summary { font-size:1rem; }
.verification details>p { max-width:900px;font-size:1rem; }
.contact-page { margin-top:35px;padding-block:70px 80px;border-radius:36px 36px 0 0; }
.contact-page .contact-grid { align-items:start; }
.contact-page h1 { font-size:clamp(2.7rem,4vw,3.9rem);line-height:1.12;font-weight:450; }
.contact-page h1 em { color:#e8c388; }
.contact-page .quote-form>h2 { font-size:2rem; }
.contact-page .quote-form>p { font-size:1rem;margin-top:12px; }
.contact-page .quote-form { scroll-margin-top:120px; }
@media(max-width:1100px){
 .home-services{gap:50px}.service-overview>a{font-size:1.05rem;gap:12px}.home-project-grid{gap:20px}
 .home-project-grid .project-info h3,.home-project-grid .project-card:first-child h3{font-size:1.45rem}
 .service-story,.about-story{gap:45px}.tender-note{padding:34px}.compact-footer .footer-main>div:first-child{display:block}.compact-footer .footer-main>div:first-child>p{margin-top:15px}
}
@media(max-width:900px){
 .home-services{grid-template-columns:.8fr 1.2fr;gap:35px}.overview-label{display:none}.service-overview>a{grid-template-columns:28px 1fr}
 .home-project-grid{grid-template-columns:1fr 1fr}.home-project-grid .project-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}
 .home-project-grid .project-card:first-child .project-photo{aspect-ratio:1.3}.home-project-grid .project-card:first-child .project-info{padding-top:0}
 .home-project-grid .project-card:nth-child(2),.home-project-grid .project-card:nth-child(3){margin-top:0}
 .home-project-grid .project-photo{aspect-ratio:1.2}.home-project-grid .project-card:first-child h3{font-size:2rem}
 .service-story{gap:30px}.service-story-photo{aspect-ratio:1}.service-story h2{font-size:2.1rem}.tender-note{align-items:flex-start;flex-direction:column}
 .case-meta{gap:23px}.case-story{gap:25px}.about-story{gap:35px}.principles-grid{gap:28px}
 .case-process .photo-grid{gap:12px}.upload-message{font-size:.75rem;bottom:9px;right:9px;padding:6px 9px}
}
@media(max-width:640px){
 .breadcrumbs{padding-top:19px}.breadcrumbs ol{font-size:.75rem}.page-intro{padding-block:35px 32px}.page-intro h1{font-size:clamp(2.6rem,10.3vw,3.5rem)}
 .intro-description{font-size:1rem;margin-top:22px}.home-hero .hero-content{padding-block:29px}.home-hero .hero-intro{gap:20px;margin-bottom:26px}
 .home-hero .hero-image{border-radius:18px}.home-hero .hero-description{max-width:none}.home-hero .hero-actions{gap:14px 23px}
 .home-services{display:block}.home-services h2{margin-bottom:30px}.service-overview>a{padding-block:20px;font-size:1.05rem}
 .service-overview{margin-top:28px}.home-projects{padding-top:0}.home-project-grid{display:flex;gap:38px}
 .home-project-grid .project-card:first-child{display:flex;gap:0}.home-project-grid .project-photo,.home-project-grid .project-card:first-child .project-photo{aspect-ratio:1.2;border-radius:20px 65px 20px 20px}
 .home-project-grid .project-card:nth-child(2) .project-photo{border-radius:20px}.home-project-grid .project-card:first-child .project-info{padding-top:24px}
 .home-project-grid .project-info h3,.home-project-grid .project-card:first-child h3{font-size:1.8rem}.concept-disclosure{font-size:.8125rem!important}
 .enquiry-banner{padding:50px 0;border-radius:32px 32px 0 0}.enquiry-banner>.container{display:block}.enquiry-banner h2{font-size:2.3rem}.enquiry-banner .button{margin-top:28px}
 .compact-footer .footer-main{grid-template-columns:1fr 1fr;gap:27px 20px;padding-top:32px}.compact-footer .footer-main>div:first-child{display:flex;gap:20px;align-items:center;grid-column:1/-1}
 .compact-footer .footer-main>div:first-child>p{margin:0;font-size:.875rem}.compact-footer .footer-links{font-size:.875rem;min-width:0;overflow-wrap:anywhere}
 .compact-footer .footer-bottom{font-size:.75rem!important}.service-jump{gap:8px;padding-bottom:10px}.service-jump a{font-size:.8125rem;padding:11px 15px}
 .service-story{display:flex;flex-direction:column;gap:25px;align-items:stretch;padding-block:32px}.service-story:nth-child(even)>figure{order:0}
 .service-story-photo{aspect-ratio:1.35;border-top-right-radius:65px}.service-story h2{font-size:2rem}.service-story ul{font-size:1rem;padding-left:19px}
 .service-story .eyebrow{font-size:.75rem}.tender-note{padding:28px;border-radius:22px;gap:22px}.tender-note h2{font-size:2.2rem}.tender-note .button{font-size:.875rem}
 .multipage .faq-section{padding-block:64px}.project-index-section{padding-top:10px}.concept-notice{font-size:.8125rem}div.concept-notice{padding:16px 18px}
 .case-cover-photo{aspect-ratio:1.2;border-radius:20px}.case-meta{grid-template-columns:1fr;gap:20px;padding-block:24px}.case-meta span{margin-bottom:5px}
 .case-process{padding-top:48px}.case-process .photo-grid{gap:20px}.case-process .photo-slot{aspect-ratio:1.2}.case-process .photo-status{font-size:.8125rem}
 .case-story{grid-template-columns:1fr;gap:30px;padding-block:35px}.case-story h2{margin-bottom:12px}.case-actions{padding-bottom:55px;gap:18px}
 .about-story{display:flex;flex-direction:column;gap:30px}.about-story-photo{aspect-ratio:1.2;border-top-right-radius:65px}.about-story>div{width:100%}
 .principles-grid{grid-template-columns:1fr;gap:28px}.principles-grid h3{margin-block:15px}.verification{padding-block:45px}
 .contact-page{margin-top:25px;padding-block:42px 55px;border-radius:28px 28px 0 0}.contact-page h1{font-size:2.6rem}.contact-page .quote-form>h2{font-size:1.8rem}
}
