/* 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}
}

/* Homepage hero: photographic, high-contrast and conversion focused. */
.home-page .home-hero{position:relative;isolation:isolate;min-height:clamp(680px,78vh,880px);border-radius:0 0 54px 54px;background:#102b33;color:#fff;display:flex;align-items:center;overflow:hidden}
.home-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-3}
.home-hero-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(8,22,28,.91) 0%,rgba(11,32,39,.78) 48%,rgba(10,27,33,.58) 100%),linear-gradient(0deg,rgba(8,21,27,.66),transparent 48%)}
.home-hero-layout{width:min(var(--container),calc(100% - clamp(40px,7vw,88px)));display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(48px,7vw,110px);align-items:center;padding-block:clamp(70px,9vw,120px)}
.home-hero-copy{max-width:780px}
.home-page .home-hero .eyebrow{color:#f0c77f;margin-bottom:25px;font-size:.75rem}
.home-page .home-hero h1{font-size:clamp(3.4rem,5.8vw,6.3rem);line-height:.98;font-weight:530;letter-spacing:-.065em;color:#fff;text-wrap:balance}
.home-page .home-hero h1 em{display:inline-block;color:#f0c77f;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic}
.home-page .home-hero .hero-description{max-width:650px;margin-top:30px;color:#e6eef0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.7}
.home-page .home-hero .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.home-page .home-hero .button-primary,.quick-submit{background:linear-gradient(135deg,#f4c36f,#dfa447);color:#102f38;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.home-page .home-hero .button-primary:hover,.quick-submit:hover{background:linear-gradient(135deg,#ffda93,#e9b55e);box-shadow:0 16px 38px rgba(0,0,0,.3)}
.hero-outline{color:#fff;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hero-outline:hover{color:#fff;background:rgba(255,255,255,.17);border-color:#fff}
.hero-trust{list-style:none;padding:0;margin:38px 0 0;display:flex;flex-wrap:wrap;gap:12px 25px;color:#dce8ea;font-size:.875rem}
.hero-trust li{display:flex;align-items:center;gap:9px}
.hero-trust li:before{content:'✓';display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(240,199,127,.8);border-radius:50%;color:#f0c77f;font-size:.72rem}
.hero-quote{background:rgba(255,255,255,.94);color:var(--ink);border:1px solid rgba(255,255,255,.65);border-radius:28px;padding:34px;box-shadow:0 24px 70px rgba(0,0,0,.25);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.hero-quote .quick-label{color:#47707b;font-size:.7rem;letter-spacing:.16em;font-weight:650}
.hero-quote h2{font-size:clamp(1.8rem,2.5vw,2.45rem);line-height:1.1;margin-top:12px}
.quick-fields{display:grid;gap:10px;margin-top:25px}
.quick-fields label{font-size:.75rem;font-weight:650;color:#435d64;margin-top:3px}
.quick-fields input,.quick-fields select{width:100%;min-height:49px;border:1px solid #cedbdc;border-radius:12px;background:#fff;color:var(--ink);padding:11px 13px;font-size:1rem}
.quick-fields input:focus,.quick-fields select:focus{outline:2px solid #d9a955;outline-offset:2px;border-color:#d9a955}
.quick-submit{border:0;width:100%;justify-content:center;margin-top:20px;cursor:pointer}
.quick-note{font-size:.75rem;line-height:1.55;color:#60757b;margin-top:13px;text-align:center}
.hero-reveal{opacity:0;transform:translateY(24px);animation:hero-rise .72s cubic-bezier(.2,.7,.2,1) forwards}
.home-hero h1.hero-reveal{animation-delay:.08s}.home-hero .hero-description.hero-reveal{animation-delay:.16s}.home-hero .hero-actions.hero-reveal{animation-delay:.24s}.home-hero .hero-trust.hero-reveal{animation-delay:.32s}.home-hero .hero-quote.hero-reveal{animation-delay:.2s}
@keyframes hero-rise{to{opacity:1;transform:none}}
.home-services{grid-template-columns:.56fr 1.44fr;gap:70px}
.home-services-heading .text-link{margin-top:28px}
.home-service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.home-service-card{position:relative;min-height:275px;padding:28px;border:1px solid #dbe4e3;border-radius:24px;background:linear-gradient(145deg,#fff,#f3f7f6);box-shadow:0 12px 35px rgba(19,58,68,.06);transition:transform .3s,box-shadow .3s,border-color .3s}
.home-service-card:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(19,58,68,.13);border-color:#b9ced0}
.home-service-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#e8f1f0;color:#2f6a78}
.home-service-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.home-service-number{position:absolute;right:25px;top:25px;font-size:.75rem;color:#82989d}
.home-service-card h3{font-size:1.45rem;margin-top:27px;letter-spacing:-.035em}
.home-service-card p{font-size:.94rem;margin-top:13px;color:#607379}
.home-service-link{display:inline-block;margin-top:22px;padding-bottom:4px;border-bottom:1px solid #9bb5ba;font-size:.84rem;font-weight:650;color:#234c56}
@media(max-width:980px){.home-hero-layout{grid-template-columns:1fr .72fr;gap:35px}.home-page .home-hero h1{font-size:clamp(3rem,6.5vw,4.8rem)}.hero-quote{padding:27px}.home-services{grid-template-columns:1fr;gap:35px}.home-services-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.home-services-heading .text-link{margin:0}}
@media(max-width:760px){.home-page .home-hero{min-height:0;border-radius:0 0 34px 34px}.home-hero-bg{object-position:62% center}.home-hero-overlay{background:linear-gradient(180deg,rgba(7,21,27,.84),rgba(8,24,30,.75) 45%,rgba(8,23,29,.93))}.home-hero-layout{grid-template-columns:1fr;gap:38px;padding-block:58px}.home-page .home-hero h1{font-size:clamp(2.8rem,12.2vw,4rem)}.home-page .home-hero .hero-description{font-size:1rem}.hero-trust{display:grid;grid-template-columns:1fr;gap:10px;margin-top:29px}.hero-quote{max-width:540px;width:100%;padding:27px 23px}.home-service-cards{grid-template-columns:1fr}.home-service-card{min-height:0}.home-services-heading{display:block}.home-services-heading .text-link{margin-top:22px}}
@media(max-width:420px){.home-hero-layout{padding-block:46px}.home-page .home-hero h1{font-size:2.65rem}.home-page .home-hero .hero-actions{display:grid;grid-template-columns:1fr}.home-page .home-hero .hero-actions .button{width:100%;justify-content:center}.hero-quote{border-radius:22px}.home-service-card{padding:24px}}
@media(prefers-reduced-motion:reduce){.hero-reveal{opacity:1;transform:none;animation:none}}

/* Real-work portfolio: photographic, sequential and easy to explore on touch screens. */
.portfolio-index-feature{padding-bottom:88px}
.portfolio-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);min-height:610px;background:#edf4f2;border:1px solid #dbe7e5;border-radius:28px 110px 28px 28px;overflow:hidden;box-shadow:0 28px 75px rgba(21,58,67,.09)}
.portfolio-feature-media{position:relative;display:block;min-height:100%;overflow:hidden;background:#173b44}
.portfolio-feature-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(9,29,35,.7));pointer-events:none}
.portfolio-feature-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.portfolio-feature:hover .portfolio-feature-media img{transform:scale(1.025)}
.portfolio-proof{position:absolute;z-index:1;left:26px;bottom:24px;padding:9px 13px;border:1px solid rgba(255,255,255,.5);border-radius:99px;background:rgba(17,49,57,.74);backdrop-filter:blur(10px);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.12em}
.portfolio-feature-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,5vw,70px)}
.portfolio-feature-content .eyebrow{margin-bottom:20px;color:#527a83}
.portfolio-feature-content h2{font-size:clamp(2.5rem,4vw,4.1rem);font-weight:500;line-height:1.02}
.portfolio-feature-content h2 em{font-family:Georgia,serif;font-weight:400;font-style:italic;color:#527e87}
.portfolio-feature-content>p{margin-top:25px;font-size:1rem;line-height:1.75}
.portfolio-feature-content dl{display:grid;gap:14px;margin:30px 0;padding:24px 0;border-block:1px solid #cadbd9}
.portfolio-feature-content dl>div{display:grid;grid-template-columns:85px 1fr;gap:16px}
.portfolio-feature-content dt{font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#6f888e}
.portfolio-feature-content dd{margin:0;font-size:.9rem;color:#28444b}
.portfolio-feature-content .text-link{align-self:flex-start}
.portfolio-feature-home{min-height:570px;border-radius:28px 100px 28px 28px}
.portfolio-feature-home .portfolio-feature-content{padding:clamp(34px,4vw,58px)}
.portfolio-feature-home .portfolio-feature-content h2{font-size:clamp(2.35rem,3.5vw,3.6rem)}
.portfolio-process-preview{padding-block:78px;background:linear-gradient(135deg,#f7f9f8,#e8f1ef);border-radius:44px}
.portfolio-stage-strip{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:0;border-top:1px solid #bacdca}
.portfolio-stage-strip li{position:relative;padding:29px 16px 0 0;color:#2b515a;font-size:.95rem;font-weight:650}
.portfolio-stage-strip li:before{content:'';position:absolute;top:-5px;left:0;width:10px;height:10px;border-radius:50%;background:#d5a759;box-shadow:0 0 0 6px #edf4f2}
.portfolio-stage-strip span{display:block;margin-bottom:9px;color:#7c969b;font-size:.7rem;letter-spacing:.12em}
.inspiration-section{padding-top:92px}
.portfolio-case-cover{position:relative;margin-bottom:0;overflow:hidden;border-radius:28px 110px 28px 28px;background:#153842}
.portfolio-case-cover>button{display:block;width:100%;height:clamp(520px,66vw,780px);padding:0;border:0;background:transparent;cursor:zoom-in}
.portfolio-case-cover img{width:100%;height:100%;object-fit:cover;object-position:center 62%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.portfolio-case-cover>button:hover img{transform:scale(1.018)}
.portfolio-case-cover figcaption{position:absolute;left:28px;bottom:27px;display:flex;flex-direction:column;gap:5px;padding:15px 18px;border:1px solid rgba(255,255,255,.45);border-radius:16px;background:rgba(10,36,43,.78);backdrop-filter:blur(12px);color:#fff;pointer-events:none}
.portfolio-case-cover figcaption span{font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:#d9e6e7}
.portfolio-case-cover figcaption strong{font-size:.9rem;font-weight:600}
.portfolio-case-meta{margin-bottom:0}
.portfolio-stage-section{padding-top:95px}
.portfolio-stage-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.portfolio-stage{grid-column:span 6;overflow:hidden;border:1px solid #d9e5e3;border-radius:24px;background:linear-gradient(145deg,#fff,#f4f8f7);box-shadow:0 16px 42px rgba(20,57,66,.055)}
.portfolio-stage:nth-child(2),.portfolio-stage:nth-child(3){transform:translateY(45px)}
.portfolio-stage:last-child{grid-column:3/span 8;margin-top:45px}
.portfolio-stage-image{display:block;width:100%;aspect-ratio:1.46;padding:0;border:0;background:#163a43;overflow:hidden;cursor:zoom-in}
.portfolio-stage-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.portfolio-stage-image:hover img{transform:scale(1.035)}
.portfolio-stage>div{position:relative;padding:26px 28px 30px}
.portfolio-stage>div>span{position:absolute;right:25px;top:27px;color:#88a0a5;font-size:.75rem;letter-spacing:.1em}
.portfolio-stage h3{padding-right:42px;font-size:1.55rem;font-weight:550}
.portfolio-stage p{margin-top:14px;font-size:.94rem;line-height:1.7}
.portfolio-case-story{margin-top:125px;padding:52px;border-radius:30px;background:#143a44;color:#fff}
.portfolio-case-story h2{color:#f0c77f}
.portfolio-case-story p{color:#c9dade}
.portfolio-gallery-section{padding-top:105px}
.portfolio-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:16px}
.portfolio-shot{position:relative;grid-column:span 4;min-height:320px;padding:0;border:0;border-radius:20px;overflow:hidden;background:#163a43;color:#fff;text-align:left;cursor:zoom-in;box-shadow:0 15px 32px rgba(18,55,64,.08)}
.portfolio-shot-1,.portfolio-shot-6{grid-column:span 7;min-height:460px}
.portfolio-shot-2,.portfolio-shot-5{grid-column:span 5;min-height:460px}
.portfolio-shot-3{grid-column:span 5;min-height:355px}
.portfolio-shot-4{grid-column:span 7;min-height:355px}
.portfolio-shot img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .5s}
.portfolio-shot:after{content:'';position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(7,27,33,.84));pointer-events:none}
.portfolio-shot>span{position:absolute;z-index:1;left:20px;right:20px;bottom:18px;display:flex;align-items:end;justify-content:space-between;gap:16px;font-size:.93rem;font-weight:650}
.portfolio-shot small{font-size:.65rem;letter-spacing:.13em;font-weight:600;color:#d3e0e2}
.portfolio-shot:hover img{transform:scale(1.035);filter:saturate(1.05)}
.portfolio-more-work{padding-top:105px}
.portfolio-gallery-more .portfolio-shot{grid-column:span 6;min-height:410px}
.portfolio-gallery-more .portfolio-shot:nth-child(2),.portfolio-gallery-more .portfolio-shot:nth-child(3){min-height:340px}
.portfolio-case-actions{padding-top:62px}
.portfolio-lightbox{width:min(1480px,calc(100% - 36px));max-height:94dvh;padding:24px;border-radius:26px;background:#0d2931;color:#fff;overflow:hidden}
.portfolio-lightbox[open]{display:grid;place-items:center}
.portfolio-lightbox figure{display:grid;place-items:center;gap:15px;width:100%;height:100%}
.portfolio-lightbox img{max-width:100%;max-height:80dvh;width:auto;height:auto;object-fit:contain;border-radius:13px}
.portfolio-lightbox figcaption{max-width:900px;text-align:center;color:#d5e2e4;font-size:.9rem}
.portfolio-lightbox-close{position:fixed;z-index:3;top:22px;right:24px;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(10,36,43,.85);color:#fff;font-size:1.8rem;line-height:1;backdrop-filter:blur(8px)}
.portfolio-lightbox-close:hover{background:#d5a759;color:#102f38}
@media(max-width:980px){
 .portfolio-feature{grid-template-columns:1.05fr .95fr;min-height:540px;border-top-right-radius:80px}.portfolio-feature-content{padding:36px}.portfolio-feature-content dl>div{display:block}.portfolio-feature-content dd{margin-top:4px}
 .portfolio-stage:nth-child(2),.portfolio-stage:nth-child(3){transform:none}.portfolio-stage:last-child{grid-column:span 12;margin-top:0}.portfolio-case-story{margin-top:80px;padding:38px}
 .portfolio-shot{min-height:290px}.portfolio-shot-1,.portfolio-shot-2,.portfolio-shot-5,.portfolio-shot-6{min-height:390px}
}
@media(max-width:700px){
 .portfolio-index-feature{padding-bottom:60px}.portfolio-feature,.portfolio-feature-home{display:flex;flex-direction:column;min-height:0;border-radius:22px 65px 22px 22px}.portfolio-feature-media{height:390px;min-height:0}.portfolio-feature-content{padding:30px 24px 34px}.portfolio-feature-content h2,.portfolio-feature-home .portfolio-feature-content h2{font-size:2.55rem}.portfolio-feature-content dl{margin-block:25px}.portfolio-proof{left:16px;bottom:16px;font-size:.58rem}
 .portfolio-process-preview{padding-block:56px;border-radius:30px}.portfolio-stage-strip{grid-template-columns:1fr;gap:0;border-top:0;border-left:1px solid #bacdca;margin-left:6px}.portfolio-stage-strip li{padding:0 0 25px 25px}.portfolio-stage-strip li:last-child{padding-bottom:0}.portfolio-stage-strip li:before{top:5px;left:-5px}
 .inspiration-section{padding-top:66px}.portfolio-case-cover{border-radius:20px 62px 20px 20px}.portfolio-case-cover>button{height:440px}.portfolio-case-cover figcaption{left:14px;right:14px;bottom:14px}.portfolio-case-meta{margin-bottom:0}
 .portfolio-stage-section{padding-top:65px}.portfolio-stage-grid{display:flex;flex-direction:column;gap:22px}.portfolio-stage{width:100%}.portfolio-stage:last-child{margin-top:0}.portfolio-stage-image{aspect-ratio:1.25}.portfolio-stage>div{padding:23px}.portfolio-stage h3{font-size:1.4rem}
 .portfolio-case-story{margin-top:58px;padding:31px 24px}.portfolio-gallery-section,.portfolio-more-work{padding-top:72px}.portfolio-gallery{grid-template-columns:1fr;gap:14px}.portfolio-shot,.portfolio-shot-1,.portfolio-shot-2,.portfolio-shot-3,.portfolio-shot-4,.portfolio-shot-5,.portfolio-shot-6,.portfolio-gallery-more .portfolio-shot,.portfolio-gallery-more .portfolio-shot:nth-child(2),.portfolio-gallery-more .portfolio-shot:nth-child(3){grid-column:auto;min-height:0;aspect-ratio:1.2}.portfolio-shot:nth-child(3n+2){aspect-ratio:.92}.portfolio-shot>span{font-size:.87rem}
 .portfolio-lightbox{width:calc(100% - 20px);padding:12px;border-radius:18px}.portfolio-lightbox img{max-height:78dvh}.portfolio-lightbox-close{top:17px;right:17px;width:44px;height:44px}.portfolio-lightbox figcaption{font-size:.8rem;padding-inline:12px}
}
@media(prefers-reduced-motion:reduce){.portfolio-feature-media img,.portfolio-stage-image img,.portfolio-shot img,.portfolio-case-cover img{transition:none}.portfolio-feature:hover .portfolio-feature-media img,.portfolio-stage-image:hover img,.portfolio-shot:hover img,.portfolio-case-cover>button:hover img{transform:none}}

/* Real project photographs use the established site layout without sprite cropping. */
.real-photo{position:relative;overflow:hidden;background:#cbd8d9}
.real-photo img,.real-project-photo>img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.2,.65,.25,1)}
.real-project-photo{position:relative;overflow:hidden;background:#cbd8d9}
.real-project-photo:hover>img{transform:scale(1.035)}
.case-cover-photo img{object-position:center 55%}
.about-story-photo img{object-position:center 38%}
.photo-slot .real-stage-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portfolio-index-gallery{padding-top:90px;background:#f7f9f8;border-radius:46px 46px 0 0}
.portfolio-group{padding-top:68px}
.portfolio-group:first-of-type{padding-top:10px}
.portfolio-group-heading{display:grid;grid-template-columns:minmax(210px,.55fr) minmax(0,1fr);column-gap:55px;align-items:end;margin-bottom:27px;padding-top:25px;border-top:1px solid #ccd9d7}
.portfolio-group-heading .eyebrow{grid-row:1 / span 2;margin:0;align-self:start}
.portfolio-group-heading h3{font-size:clamp(1.8rem,3vw,2.7rem);font-weight:520}
.portfolio-group-heading>p:last-child{max-width:660px;margin-top:10px;font-size:.95rem}
@media(max-width:700px){
 .portfolio-index-gallery{padding-top:62px;border-radius:30px 30px 0 0}.portfolio-group{padding-top:54px}.portfolio-group-heading{display:block;margin-bottom:22px;padding-top:22px}.portfolio-group-heading .eyebrow{margin-bottom:14px}.portfolio-group-heading h3{font-size:2rem}.portfolio-group-heading>p:last-child{margin-top:9px}.real-project-photo:hover>img{transform:none}
}
@media(prefers-reduced-motion:reduce){.real-photo img,.real-project-photo>img{transition:none}.real-project-photo:hover>img{transform:none}}

/* Expanded homepage: factual company story, services and conversion journey. */
.home-hero-expanded .home-hero-bg{object-position:center 58%}
.hero-project-note{align-self:end;max-width:405px;margin-left:auto;padding:34px;border:1px solid rgba(255,255,255,.35);border-radius:28px;background:rgba(13,42,50,.72);box-shadow:0 24px 65px rgba(0,0,0,.22);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.hero-project-note .quick-label{color:#f0c77f;font-size:.68rem;letter-spacing:.14em;font-weight:700}
.hero-project-note h2{margin-top:15px;color:#fff;font-size:clamp(2rem,3vw,3rem);font-weight:520}
.hero-project-note>p:not(.quick-label){margin-top:18px;color:#d6e2e4;font-size:.94rem;line-height:1.7}
.hero-project-note .text-link{margin-top:25px;padding-bottom:7px;border-bottom:1px solid rgba(240,199,127,.65);color:#fff}
.home-audience-strip{background:#e9f0ee;border-bottom:1px solid #d5e1df}
.home-audience-strip>.container{display:flex;align-items:center;gap:45px;min-height:92px}
.home-audience-strip p{flex:0 0 auto;color:#5c787f;font-size:.68rem;font-weight:700;letter-spacing:.17em}
.home-audience-strip ul{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;width:100%;padding:0;margin:0;list-style:none}
.home-audience-strip li{position:relative;padding-left:18px;color:#274953;font-size:.88rem;font-weight:600}
.home-audience-strip li:before{content:'';position:absolute;left:0;top:.68em;width:6px;height:6px;border-radius:50%;background:#d5a759}
.home-services-heading>p:not(.eyebrow){max-width:310px;margin-top:22px;font-size:.95rem;line-height:1.7}
.home-service-cta-card{justify-content:flex-end;background:linear-gradient(145deg,#153c46,#0c2d36);border-color:#153c46;color:#fff}
.home-service-cta-card:hover{border-color:#153c46;box-shadow:0 22px 48px rgba(8,40,48,.24)}
.home-service-cta-card .eyebrow{margin:0 0 auto;color:#e7bd76;font-size:.66rem}
.home-service-cta-card h3{color:#fff;font-size:1.7rem}
.home-service-cta-card p{color:#c5d6d9}
.home-service-cta-card .home-service-number{color:#88a8ae}
.home-service-cta-card .home-service-link{border-color:#71919a;color:#fff}
.home-about-section{margin-inline:24px;border-radius:52px;background:linear-gradient(135deg,#eef4f2,#f8faf9)}
.home-about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(60px,8vw,125px);align-items:center}
.home-about-copy h2{font-size:clamp(2.9rem,5vw,5rem);font-weight:500;line-height:1.01}
.home-about-copy h2 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;color:#5c8188}
.home-about-copy>p{margin-top:23px;font-size:1rem;line-height:1.8}
.home-about-copy .home-about-lead{max-width:580px;color:#31545d;font-size:1.2rem;line-height:1.65}
.home-about-copy .audience-tags{margin-block:28px}
.home-approach-list{padding:0;margin:8px 0 30px;list-style:none;border-top:1px solid #cbdad8}
.home-approach-list li{display:grid;grid-template-columns:38px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid #cbdad8}
.home-approach-list li>span{padding-top:2px;color:#a77a35;font-size:.75rem;letter-spacing:.08em}
.home-approach-list strong{display:block;color:#173c45;font-size:1rem;font-weight:650}
.home-approach-list p{margin-top:3px;font-size:.86rem;line-height:1.55}
.home-about-visual{position:relative;min-height:690px}
.home-about-main{width:84%;height:640px;object-fit:cover;object-position:center;border-radius:28px 105px 28px 28px;box-shadow:0 24px 65px rgba(18,55,64,.14)}
.home-about-inset{position:absolute;right:0;bottom:15px;width:47%;height:290px;object-fit:cover;border:9px solid #f5f8f7;border-radius:22px 22px 70px 22px;box-shadow:0 20px 50px rgba(18,55,64,.19)}
.home-about-visual figcaption{position:absolute;left:22px;bottom:67px;padding:10px 14px;border-radius:99px;background:rgba(13,43,51,.82);color:#fff;font-size:.62rem;font-weight:650;letter-spacing:.12em;backdrop-filter:blur(8px)}
.home-why-section{margin-top:24px;border-radius:52px;background:#123a44;color:#fff}
.home-why-section .section-heading{align-items:start}
.home-why-section .section-heading h2{color:#fff;font-size:clamp(2.7rem,4.6vw,4.7rem);font-weight:500}
.home-why-section .section-heading h2 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;color:#e5bd79}
.home-why-section .section-heading>p{color:#bed1d5;line-height:1.75}
.home-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.19)}
.home-why-grid article{min-height:280px;padding:30px 30px 10px;border-right:1px solid rgba(255,255,255,.14)}
.home-why-grid article:last-child{border-right:0}
.home-why-grid article>span{color:#e4b96f;font-size:.72rem;letter-spacing:.12em}
.home-why-grid h3{margin-top:48px;color:#fff;font-size:1.55rem;font-weight:520}
.home-why-grid p{margin-top:18px;color:#bed0d4;font-size:.92rem;line-height:1.7}
.home-commercial-section{padding-top:35px}
.home-commercial-card{position:relative;isolation:isolate;min-height:600px;border-radius:32px 115px 32px 32px;overflow:hidden;background:#123a44;color:#fff}
.home-commercial-card>img,.home-commercial-overlay{position:absolute;inset:0;width:100%;height:100%}
.home-commercial-card>img{z-index:-2;object-fit:cover;object-position:center}
.home-commercial-overlay{z-index:-1;background:linear-gradient(90deg,rgba(7,29,36,.94),rgba(9,35,42,.74) 58%,rgba(9,34,41,.28)),linear-gradient(0deg,rgba(5,24,30,.48),transparent 55%)}
.home-commercial-copy{display:flex;min-height:600px;max-width:690px;flex-direction:column;justify-content:center;padding:clamp(45px,7vw,92px)}
.home-commercial-copy .eyebrow{color:#e7bd76}
.home-commercial-copy h2{color:#fff;font-size:clamp(3rem,5.2vw,5.4rem);font-weight:500;line-height:1}
.home-commercial-copy h2 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;color:#e7bd76}
.home-commercial-copy>p{max-width:590px;margin-top:25px;color:#d4e0e2;font-size:1.04rem;line-height:1.75}
.home-commercial-copy .hero-actions{margin-top:32px}
.home-testimonials{margin-inline:24px;border-radius:52px;background:#eef4f2}
.home-faq{padding-block:105px}
.home-faq .faq-layout>div:first-child>p:last-child{margin-top:22px}
@media(max-width:1050px){
 .home-about-layout{gap:55px}.home-about-visual{min-height:590px}.home-about-main{height:545px}.home-about-inset{height:245px}.home-why-grid{grid-template-columns:repeat(2,1fr)}.home-why-grid article:nth-child(2){border-right:0}.home-why-grid article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}
}
@media(max-width:760px){
 .hero-project-note{max-width:none;margin:0;padding:27px 24px;border-radius:22px}.hero-project-note h2{font-size:2.25rem}.home-audience-strip>.container{display:block;padding-block:23px}.home-audience-strip p{margin-bottom:15px}.home-audience-strip ul{grid-template-columns:1fr 1fr;gap:10px 18px}.home-audience-strip li{font-size:.8rem}
 .home-about-section,.home-testimonials{margin-inline:0;border-radius:34px}.home-about-layout{grid-template-columns:1fr;gap:45px}.home-about-copy h2{font-size:3rem}.home-about-copy .home-about-lead{font-size:1.08rem}.home-about-visual{min-height:505px}.home-about-main{width:100%;height:460px;border-radius:22px 68px 22px 22px}.home-about-inset{width:50%;height:205px;bottom:0;border-width:7px;border-radius:18px 18px 52px 18px}.home-about-visual figcaption{left:14px;bottom:32px;max-width:45%;border-radius:14px;line-height:1.5}
 .home-why-section{border-radius:34px}.home-why-grid{grid-template-columns:1fr}.home-why-grid article,.home-why-grid article:nth-child(2){min-height:0;padding:27px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.home-why-grid article:last-child{border-bottom:0}.home-why-grid h3{margin-top:20px}.home-why-section .section-heading h2{font-size:3rem}
 .home-commercial-section{padding-top:10px}.home-commercial-card{min-height:570px;border-radius:24px 70px 24px 24px}.home-commercial-copy{min-height:570px;padding:38px 25px}.home-commercial-copy h2{font-size:3.15rem}.home-commercial-copy .hero-actions{display:grid;grid-template-columns:1fr}.home-commercial-copy .button{width:100%}.home-faq{padding-block:75px}
}
@media(max-width:420px){.home-audience-strip ul{grid-template-columns:1fr}.home-about-visual{min-height:450px}.home-about-main{height:410px}.home-about-inset{height:180px}.home-about-visual figcaption{display:none}}
