*{box-sizing:border-box}
body.nav-open{overflow:hidden}
img{display:block;width:100%;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400}
h1{font-size:clamp(38px,4.5vw,58px);line-height:1.03;letter-spacing:-.035em;margin-bottom:18px}
h2{font-size:clamp(29px,3.1vw,40px);line-height:1.08;letter-spacing:-.025em;margin-bottom:14px}
h3{font-size:18px;line-height:1.22;margin-bottom:8px}
p{color:var(--muted);font-size:14px;line-height:1.75;margin-bottom:14px}
em{font-style:normal;color:var(--gold)}
.section{padding:68px 0}
.section-compact{padding:58px 0}
.section-tight{padding:34px 0 52px}
.soft-bg{background:var(--soft)}
.skip-link{position:fixed;top:-60px;left:14px;z-index:9999;background:#fff;padding:10px 14px;border:1px solid var(--gold)}
.skip-link:focus{top:12px}
.eyebrow{display:inline-block;color:var(--gold-dark);font-weight:700;letter-spacing:.19em;text-transform:uppercase;margin-bottom:11px}
.eyebrow.light{color:#d4a45d}
.gold-line{height:1px;width:34px;background:var(--gold);margin:16px 0 19px}
.gold-line.center{margin:14px auto 0}
.center-head{text-align:center;max-width:630px;margin:0 auto 34px}
.center-head p{max-width:560px;margin-inline:auto}
.line-icon{width:28px;height:28px;display:block}
/* Header */
.footer-brand .brand-logo{width:205px}
.brand-mark{display:flex;align-items:center;color:var(--gold-2);font-family:var(--serif);font-size:34px;line-height:1}
.brand-mark i{font-style:normal;display:block;transform:scaleX(.72);margin-right:-7px}
.brand-copy{display:flex;flex-direction:column;line-height:1.04;padding-left:3px}
.brand-copy strong{font-family:var(--serif);font-size:14px;font-weight:400;letter-spacing:.12em}
.brand-copy small{font-size:14px;color:#bbb5aa;letter-spacing:.18em;margin-top:4px}
.main-nav>a:not(.quote-btn)::after{content:"";position:absolute;height:1px;bottom:17px;left:0;right:100%;background:var(--gold);transition:.2s}
.main-nav>a.active{color:var(--gold-2)}
.main-nav>a.active::after,.main-nav>a:hover::after{right:0}
.quote-btn{border:1px solid rgba(209,164,97,.62);color:#fff;padding:11px 17px;display:inline-flex;gap:10px;align-items:center;white-space:nowrap;transition:.2s}
.quote-btn:hover{background:var(--gold);border-color:var(--gold)}
.menu-toggle{display:none;background:transparent;border:0;width:42px;height:42px;padding:8px}
.menu-toggle span{display:block;height:1px;background:#fff;margin:7px 0;transition:.2s}
.menu-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
/* Heroes: real editable image element covers the complete hero section */
.hero-copy h1{color:#fff}
.hero-copy p{color:#ddd7ce;max-width:480px;line-height:1.7}
.page-hero-ref .hero-copy{width:49%;padding:40px 0}
/* Hero image focal points. Change these percentages if final project photos need different cropping. */
.home-hero{min-height:430px;--hero-position:58% center}
.page-hero-ref{min-height:340px;--hero-position:62% center}
.contact-hero-ref{min-height:330px;--hero-position:66% center}
.breadcrumb{display:flex;align-items:center;gap:8px;margin-top:22px;color:#c7c0b6}
.breadcrumb a{color:#e9e3da}
.breadcrumb span{color:var(--gold)}
.btn-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{min-height:38px;padding:10px 17px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;transition:.2s}
.btn-gold{background:var(--gold);color:#fff;border-color:var(--gold)}
.btn-gold:hover{background:#b77d38;border-color:#b77d38}
.btn-outline{border-color:rgba(219,175,107,.55);color:#fff;background:rgba(0,0,0,.16)}
.btn-outline:hover{background:rgba(198,148,78,.14);border-color:var(--gold)}
.btn-line{border-color:#cfad77;color:#6b4c27;background:#fff}
.btn-line:hover{background:#111;color:#fff;border-color:#111}
/* Split image/content */
.split-reference{display:grid;grid-template-columns:.78fr 1.22fr;gap:62px;align-items:center}
.copy-block p{max-width:410px}
.reference-image{position:relative;padding:10px 10px 0 0}
.reference-image img{height:310px;object-fit:cover;position:relative;z-index:2}
.corner{position:absolute;z-index:1;right:0;top:0;width:118px;height:98px;border-top:1px solid var(--gold);border-right:1px solid var(--gold)}
.dot-motif{position:absolute;width:48px;height:48px;left:-24px;bottom:-20px;background-image:radial-gradient(#cba16b 1px,transparent 1px);background-size:7px 7px;opacity:.65}
/* Service cards */
.service-preview-card:hover,.service-reference-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(20,14,8,.08)}
.card-number,.service-ref-top b{position:absolute;right:16px;top:14px;color:#ded8ce;font-family:var(--serif);font-size:24px;font-weight:400}
.icon-wrap{color:var(--gold);display:inline-flex;margin-bottom:10px}
.icon-wrap .line-icon{width:25px;height:25px}
.service-preview-body h3,.service-ref-body h3{font-family:var(--sans);font-size:14px;font-weight:700;margin-bottom:9px}
.service-preview-body a,.service-ref-body a{font-size:14px;color:var(--gold-dark)}
.center-action{text-align:center;margin-top:25px}
.service-ref-top{min-height:30px;position:relative}
.service-ref-body p{font-size:14px;line-height:1.65;min-height:38px}
/* Home project preview */
.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.section-title-row h2{margin-bottom:0}
.section-title-row>a{font-size:14px;color:var(--gold-dark);font-weight:600}
.project-tile:hover img{transform:scale(1.035)}
.project-overlay small{font-size:14px;letter-spacing:.12em;color:#f0bf79;font-weight:700}
.project-overlay h3{font-family:var(--sans);font-size:15px;font-weight:700;margin:6px 0 3px;color:#fff}
.project-overlay span{font-size:14px;color:#f2eee8;line-height:1.45}
/* Clients */
.client-name-grid{display:grid;gap:1px;background:#ebe6dd;border:1px solid #ebe6dd}
.client-name-grid div{background:#fff;min-height:92px;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;font-family:var(--serif);font-size:16px;color:#28231d}
/* About journey */
.journey-section{padding:55px 0 58px}
.journey-grid::before{content:"";position:absolute;top:24px;left:12%;right:12%;height:1px;background:#d8c39f}
.journey-item{text-align:center;padding:0 18px;position:relative;z-index:1}
.journey-item .line-icon{margin:0 auto 12px;width:46px;height:46px;color:var(--gold);background:var(--soft);padding:8px}
.journey-item h3{font-size:18px;margin-bottom:7px}
.journey-item p{font-size:14px;line-height:1.55;margin:0 auto;max-width:160px}
.experts-intro{padding-right:26px}
.expert-card h3{font-size:14px;margin-bottom:6px}
.expert-card p{font-size:14px;line-height:1.55}
/* Why panel */
.why-copy h2{font-size:26px;margin:0}
.why-item .line-icon{color:var(--gold);width:27px;height:27px;margin-bottom:11px}
.why-item h3{font-family:var(--sans);font-size:14px;font-weight:700;margin-bottom:6px}
.why-item p{font-size:14px;line-height:1.5;margin-bottom:0}
/* Project page */
.filter-tabs button.active{background:#0d0c0b;color:#fff;border-color:#0d0c0b}
.project-card-ref.hide{display:none}
.project-lightbox-trigger:hover>img{transform:scale(1.035);filter:brightness(.82)}
.project-zoom-hint{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(8,8,7,.72);color:#fff;border:1px solid rgba(255,255,255,.28);opacity:0;transform:translateY(-4px);transition:.2s;pointer-events:none}
.project-lightbox-trigger:hover .project-zoom-hint,.project-lightbox-trigger:focus-visible .project-zoom-hint{opacity:1;transform:none}
.project-zoom-hint svg{width:18px;height:18px;fill:currentColor}
.featured-lightbox-trigger,.featured-lightbox-trigger>img{height:100%}
body.lightbox-open{overflow:hidden}
.project-lightbox.open{opacity:1;visibility:visible;pointer-events:auto}
.project-lightbox-image{display:block;width:auto;max-width:100%;height:auto;max-height:80vh;object-fit:contain;box-shadow:0 20px 70px rgba(0,0,0,.45)}
.project-lightbox-caption{color:#fff;text-align:center;font-size:14px;line-height:1.5;margin-top:12px;min-height:21px}
.project-lightbox-close,.project-lightbox-nav{position:absolute;border:0;background:rgba(18,18,17,.7);color:#fff;display:flex;align-items:center;justify-content:center;transition:.2s}
.project-lightbox-close:hover,.project-lightbox-nav:hover,.project-lightbox-close:focus-visible,.project-lightbox-nav:focus-visible{background:var(--gold);outline:none}
.project-lightbox-close{top:18px;right:22px;width:46px;height:46px;border-radius:50%;font-size:34px;line-height:1}
.project-lightbox-nav{top:50%;width:46px;height:58px;transform:translateY(-50%);font-size:28px}
.project-lightbox-prev{left:20px}
.project-lightbox-next{right:20px}
.project-card-body small{color:var(--gold-2);font-size:14px;letter-spacing:.1em}
.project-card-body h3{font-family:var(--sans);font-size:14px;font-weight:600;color:#fff;margin:4px 0 2px}
.project-card-body p{color:#c7c1b8;font-size:14px;margin:0 0 10px}
.featured-copy h2{color:#fff;font-size:34px}
.featured-copy p{color:#c7c0b8;max-width:390px}
.feature-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);padding:16px 0;margin:12px 0 18px}
.feature-facts div{display:flex;align-items:center;gap:8px;font-size:14px;color:#cfc9c0}
.feature-facts .line-icon{width:24px;height:24px;color:var(--gold)}
.feature-facts b{display:block;color:#fff;font-size:14px}
.process-strip{background:#f8f6f2;border-top:1px solid #e9e3da;border-bottom:1px solid #e9e3da}
.process-title{padding-right:22px}
.process-title h2{font-size:27px;margin-bottom:0}
.process-step{text-align:center;padding:20px 9px;position:relative}
.process-step:not(:last-child)::after{content:"";position:absolute;top:40px;right:-10px;width:20px;height:1px;background:#d6c8b3}
.process-step .line-icon{margin:0 auto 8px;color:var(--gold);width:25px;height:25px}
.process-step b{font-size:14px;display:block;margin-bottom:4px}
.process-step p{font-size:14px;line-height:1.4;margin:0}
.presence-reference{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px;align-items:center}
/* Contact */
.contact-info-title{padding-top:4px}
.contact-cards-ref article:last-child{border-right:0}
.contact-icon{display:inline-flex;color:var(--gold);margin-bottom:13px}
.contact-icon .line-icon{width:28px;height:28px}
.contact-cards-ref h3{font-family:var(--sans);font-size:14px;font-weight:700;margin-bottom:9px}
.contact-main-ref{background:#fff;padding-top:34px}
.map-frame-ref iframe{width:100%;height:100%;border:0}
.contact-form-wrap{padding-top:0}
.enquiry-form-ref{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.enquiry-form-ref input,.enquiry-form-ref select,.enquiry-form-ref textarea{width:100%;border:1px solid #e0d9cf;background:#fff;padding:12px 12px;color:#292521;outline:none;font-size:14px;min-height:41px}
.enquiry-form-ref textarea{resize:vertical;min-height:95px}
.enquiry-form-ref input:focus,.enquiry-form-ref select:focus,.enquiry-form-ref textarea:focus{border-color:var(--gold)}
.enquiry-form-ref .full{grid-column:1/-1}
.form-submit{width:100%;border:0}
.privacy-note{text-align:center;color:#7a746c;font-size:14px}
.hp-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important}
.form-status.success{background:#eff9f1;color:#2f6636;border-color:#cfe7d3}
.form-status.error{background:#fff2ef;color:#8a382d;border-color:#eccac4}
/* CTA */
.cta-reference h2{color:#fff;font-size:31px;margin-bottom:8px}
.cta-reference p{color:#d4cec5;max-width:430px;margin-bottom:0}
/* Footer */
.footer-brand{margin-bottom:14px}
.footer-grid>div>a:hover{color:var(--gold-2)}
.social-note{color:#78736d;display:block;margin-top:12px}
.footer-bottom{border-top:1px solid #25231f}
.footer-bottom-inner{display:flex;justify-content:space-between;gap:20px;padding:12px 0;color:#807b74}
.reveal{transition:.55s ease}
@media (min-width:1200px){
  :root{--header:86px}
  body{font-size:15px}
  .section{padding:76px 0}
  .section-compact{padding:66px 0}
  .home-hero{min-height:500px}
  .page-hero-ref{min-height:390px}
  .reference-image img{height:360px}
  .map-frame-ref{height:320px}
}
@media (max-width:980px){
  .quote-btn{padding:10px 12px}
  .hero-copy,.page-hero-ref .hero-copy{width:58%}
  .why-item:nth-of-type(3),.why-item:nth-of-type(4){border-top:1px solid #dfd8cd}
}
@media (max-width:820px){
  .home-hero{min-height:420px}
  .page-hero-ref{min-height:330px}
  .hero-shade{background:linear-gradient(90deg,rgba(7,7,6,.90),rgba(7,7,6,.66) 55%,rgba(7,7,6,.20))}
  .number-item:nth-child(4),.number-item:nth-child(5){border-top:1px solid rgba(255,255,255,.14)}
  .featured-copy{padding:28px}
  .feature-facts{grid-template-columns:1fr;gap:6px}
  .process-step{padding-top:15px}
  .journey-grid{row-gap:30px}
  .journey-grid::before{display:none}
  .contact-cards-ref article:nth-child(2){border-right:0}
  .contact-cards-ref article:nth-child(-n/**/+2){border-bottom:1px solid #e7e1d7}
}
@media (max-width:620px){
  h1{font-size:36px}
  h2{font-size:28px}
  .brand-copy strong{font-size:14px}
  .brand-mark{font-size:31px}
  .home-hero{background-position:62% center}
  .page-hero-ref{background-position:65% center}
  .hero-shade{background:linear-gradient(90deg,rgba(7,7,6,.92),rgba(7,7,6,.76) 68%,rgba(7,7,6,.45))}
  .dot-motif{left:8px}
  .service-preview-body,.service-ref-body{padding:14px}
  .service-ref-body p{min-height:0}
  .number-item:nth-child(2),.number-item:nth-child(4){border-left:0}
  .section-title-row{align-items:flex-start;flex-direction:column}
  .client-name-grid div{min-height:80px;font-size:14px;padding:12px}
  .journey-item{padding:0 8px}
  .why-item{padding:19px 15px}
  .filter-tabs button{padding:9px 15px}
  .featured-copy{padding:26px 22px}
  .featured-copy h2{font-size:29px}
  .feature-facts{grid-template-columns:repeat(3,1fr)}
  .process-grid{padding-bottom:16px}
  .contact-cards-ref article{min-height:155px;padding:18px 14px}
  .map-frame-ref{height:250px}
  .privacy-note{text-align:left}
  .cta-reference h2{font-size:28px}
  .wa-float{width:44px;height:44px;right:14px;bottom:14px}
}
@media (max-width:420px){
  h1{font-size:33px}
  h2{font-size:26px}
  .feature-facts{grid-template-columns:1fr}
}
/* Footer social media */
.footer-socials{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.footer-social-link{display:inline-flex!important;align-items:center;gap:8px;width:auto!important;margin:0!important;padding:8px 11px;border:1px solid #2d2a25;color:#e9e3da!important;transition:.2s}
.footer-social-link:hover,.footer-social-link:focus-visible{border-color:var(--gold);color:var(--gold-2)!important;background:rgba(201,150,85,.08);outline:none}
.footer-social-link svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto}
.footer-social-link span{font-size:13px!important}
@media (max-width:620px){
  .project-lightbox{padding:60px 14px 78px}
  .project-lightbox-figure{max-height:84vh}
  .project-lightbox-image{max-height:72vh}
  .project-lightbox-nav{top:auto;bottom:14px;transform:none;width:46px;height:46px;border-radius:50%}
  .project-lightbox-prev{left:calc(50% - 56px)}
  .project-lightbox-next{right:calc(50% - 56px)}
  .project-lightbox-close{top:10px;right:12px;width:42px;height:42px}
  .project-zoom-hint{opacity:1;transform:none;width:31px;height:31px}
}
.main-nav>a:not(.quote-btn){color:#f1eee7;padding:26px 0 23px;position:relative;white-space:nowrap;font-size:14px;line-height:1.25}
.quote-btn,.btn,.filter-tabs button,.breadcrumb,.eyebrow{font-size:14px}
.site-footer,.site-footer p,.site-footer a,.site-footer span,.site-footer h4{font-size:14px}
.footer-grid h4{font-family:var(--sans);margin:0 0 11px;color:#fff;font-size:15px}
.footer-intro p,.footer-contact p{color:#aba59c;font-size:14px;line-height:1.7}
.footer-grid>div>a:not(.brand){display:block;color:#bdb7af;font-size:14px;line-height:1.5;margin:7px 0}
.social-note,.footer-bottom-inner{font-size:14px}
.hero-copy p,.page-hero-ref .hero-copy p,.cta-reference p{font-size:14px}
.form-status{padding:10px 12px;margin-bottom:12px;border:1px solid;font-size:14px}
@media (max-width:620px){
  body{font-size:14px}
  .hero-copy p{font-size:14px}
}
.numbers-title{padding:30px 28px;display:flex;flex-direction:column;justify-content:center}
.numbers-title h2{color:#fff;font-size:31px;margin:6px 0 10px}
.numbers-title p{color:#c7bfb5;max-width:320px;margin:0;font-size:14px;line-height:1.7}
.number-item{border-left:0;padding:26px 22px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;text-align:left}
.number-item .line-icon{color:var(--gold);width:34px;height:34px;margin-bottom:18px}
.number-item strong{font-family:var(--serif);font-weight:400;font-size:37px;color:#fff;line-height:1.05;margin-bottom:8px}
.number-item span{font-size:12px;color:#e1ba78;margin-top:0;line-height:1.45;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.number-item p{font-size:14px;color:#c8c2b9;line-height:1.72;margin:10px 0 0}
@media (max-width:820px){
  .numbers-title{grid-row:auto;padding:26px 22px;text-align:left}
  .number-item{padding:22px 18px}
  .number-item strong{font-size:32px}
}
@media (max-width:620px){
  .numbers-title{padding:24px 18px;text-align:left}
  .numbers-title h2{font-size:28px}
  .number-item{padding:20px 16px}
  .number-item .line-icon{width:30px;height:30px;margin-bottom:14px}
  .number-item strong{font-size:30px}
  .number-item span{font-size:11px;letter-spacing:.15em}
  .number-item p,.numbers-title p{font-size:13px;line-height:1.65}
}
.project-lightbox-trigger>img{transition:transform .3s ease,filter .3s ease;display:block}
:root{--ink:#0b0a09;--ink-2:#141210;--gold:#c99655;--gold-2:#e0b16c;--gold-dark:#9e7139;--paper:#fff;--soft:#f8f6f1;--line:#e8e2d8;--muted:#68635c;--serif:Georgia,"Times New Roman",serif;--sans:Inter,Arial,Helvetica,sans-serif;--header:82px;--container:1240px}
html{scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:calc(var(--header) + 18px)}
body{margin:0;color:#191714;font-family:var(--sans);font-size:14px;line-height:1.58;-webkit-font-smoothing:antialiased;min-width:320px;overflow-x:clip;background:#fff}
main{overflow:visible}
.container{width:min(1240px,calc(100% - 48px));max-width:1240px;margin-inline:auto}
section[id],#enquiry{scroll-margin-top:calc(var(--header) + 18px)}
/* Prevent grid/flex content from forcing horizontal overflow */
.nav-wrap,.main-nav,.split-reference>*,.service-preview-grid>*,.service-reference-grid>*,.numbers-grid>*,.project-preview-four>*,.client-name-grid>*,.journey-grid>*,.experts-layout>*,.why-panel>*,.project-grid-reference>*,.featured-project>*,.process-grid>*,.presence-reference>*,.contact-info-layout>*,.contact-cards-ref>*,.contact-two-col>*,.footer-grid>*{min-width:0}
p,a,h1,h2,h3,h4,span,strong,small{overflow-wrap:break-word}
/* Header: stable sticky positioning and no mid-width overlap */
.site-header{height:var(--header);background:#090908;border-bottom:1px solid rgba(255,255,255,.05);position:sticky;top:0;z-index:1000}
.site-header.scrolled{top:0;box-shadow:0 8px 26px rgba(0,0,0,.18);position:sticky}
.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;flex:0 1 auto;min-width:0}
.brand-logo{display:block;max-width:100%;width:220px;height:auto}
.main-nav{display:flex;align-items:center;gap:26px;margin-left:auto;flex:0 0 auto}
/* Hero/content visibility */
.home-hero,.page-hero-ref{position:relative;background:#0a0a09;color:#fff;overflow:hidden;z-index:0;isolation:isolate}
.hero-bg-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--hero-position,center center);z-index:0;background:#151411}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,6,.90) 0%,rgba(7,7,6,.76) 31%,rgba(7,7,6,.34) 60%,rgba(7,7,6,.10) 100%);z-index:1;pointer-events:none}
.hero-content,.page-hero-content{position:relative;min-height:inherit;display:flex;align-items:center;z-index:2}
.hero-copy{width:52%;padding:46px 0;position:relative;z-index:2}
.hero-copy h1,.page-hero-ref .hero-copy h1{text-shadow:0 2px 18px rgba(0,0,0,.28)}
/* Visibility must not depend on JavaScript */
.reveal,.reveal.in-view{opacity:1!important;transform:none!important;visibility:visible!important}
/* Wide-screen cards scale cleanly inside the 1240px container */
.service-preview-grid,.service-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-preview-card,.service-reference-card{background:#fff;border:1px solid #ebe5da;position:relative;transition:.2s;display:flex;flex-direction:column;height:100%;overflow:hidden}
.service-preview-card img,.service-reference-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#eee9e0}
.service-preview-body,.service-ref-body{padding:18px 18px 16px;position:relative;flex:1;display:flex;flex-direction:column}
.service-preview-body>a,.service-ref-body>a{margin-top:auto}
/* Numbers: intentional section background and stable five-card layout */
.numbers-band{color:#fff;background:var(--soft);padding:52px 0}
.numbers-grid{display:grid;min-height:auto;align-items:stretch;grid-template-columns:1.25fr repeat(5,minmax(0,1fr));gap:18px}
.numbers-title,.number-item{background:#0e0e0d;border:1px solid rgba(201,155,91,.18);border-radius:18px;box-shadow:0 18px 42px rgba(17,13,8,.08);min-height:244px;height:100%;overflow:hidden}
.number-item p,.numbers-title p{overflow-wrap:anywhere}
/* Home project cards */
.project-preview-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.project-tile{position:relative;background:#111;overflow:hidden;min-height:300px;height:300px}
.project-tile img{transition:.35s;position:relative;z-index:1;height:100%;object-fit:cover}
.project-overlay{position:absolute;left:0;right:0;bottom:0;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85);z-index:3;padding:70px 18px 18px;background:linear-gradient(0deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.88) 47%,rgba(0,0,0,.42) 75%,rgba(0,0,0,0) 100%)}
.project-overlay small,.project-overlay h3,.project-overlay span{position:relative;z-index:4}
/* Client / journey / expert grids */
.client-name-grid,.client-grid-large{grid-template-columns:repeat(4,minmax(0,1fr))}
.journey-grid{display:grid;margin-top:34px;position:relative;grid-template-columns:repeat(4,minmax(0,1fr))}
.experts-layout{display:grid;align-items:start;grid-template-columns:1.8fr repeat(4,minmax(0,1fr));gap:18px}
.expert-card img{margin-bottom:12px;height:auto;aspect-ratio:4/3;object-fit:cover;background:#eee9e0}
/* Services why-us panel: keep content and image contained */
.why-panel{margin-top:8px;margin-bottom:12px;background:#f5f3ef;border:1px solid #e6dfd4;display:grid;grid-template-columns:1.25fr repeat(4, .75fr) 1.25fr;align-items:center;min-height:160px;overflow:hidden}
.why-copy,.why-item{padding:25px 18px;border-right:1px solid #dfd8cd;min-width:0}
.why-image{min-width:0;overflow:hidden}
.why-image img{min-height:160px;width:100%;height:100%;object-fit:cover}
/* Portfolio: optimized thumbnails stay visible without blank content-visibility placeholders */
.projects-section{overflow:visible}
.filter-tabs{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:25px;max-width:100%;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}
.filter-tabs button{border:0;background:#fff;color:#322d28;padding:10px 19px;border-bottom:1px solid #eee;flex:0 0 auto;white-space:nowrap}
.project-grid-reference{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.project-card-ref{color:#fff;overflow:hidden;transition:.2s;contain-intrinsic-size:340px;content-visibility:visible;contain:none;display:flex;flex-direction:column;height:100%;background:#0d0d0c}
.project-lightbox-trigger{display:block;position:relative;overflow:hidden;cursor:zoom-in;min-height:0;aspect-ratio:3/2;background:#171714}
.project-lightbox-trigger>img,.project-card-ref img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;background:#171714}
.project-card-body{display:flex;flex-direction:column;flex:1;padding:16px 17px 17px}
.project-card-body a{font-size:14px;color:#fff;border-top:1px solid rgba(255,255,255,.15);padding-top:9px;display:flex;justify-content:space-between;margin-top:auto}
.featured-project{display:grid;background:#0e0e0d;color:#fff;margin-bottom:0;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);overflow:hidden}
.featured-image,.featured-lightbox-trigger{min-height:360px}
.featured-lightbox-trigger{aspect-ratio:auto}
.featured-image img{width:100%;height:100%;min-height:360px;object-fit:cover}
.featured-copy{padding:38px 42px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.project-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;padding:54px 78px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;overscroll-behavior:contain}
.project-lightbox-figure{margin:0;max-height:88vh;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:min(1240px,90vw)}
/* Process / presence */
.process-grid{display:grid;min-height:135px;align-items:center;grid-template-columns:1.25fr repeat(5,minmax(0,1fr))}
.location-grid-reference{display:grid;border-left:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr))}
.location-grid-reference span{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif);font-size:15px;background:#fff;overflow-wrap:anywhere}
/* Contact: stop long address/email strings from overlapping cards */
.contact-info-layout{display:grid;gap:45px;align-items:stretch;grid-template-columns:minmax(240px,.75fr) minmax(0,2.25fr)}
.contact-cards-ref{display:grid;border:1px solid #e7e1d7;grid-template-columns:repeat(4,minmax(0,1fr))}
.contact-cards-ref article{padding:22px 17px;border-right:1px solid #e7e1d7;background:#fff;min-height:170px;height:100%;overflow:hidden}
.contact-cards-ref p,.contact-cards-ref a{font-size:14px;line-height:1.65;color:#5d5851;display:block;overflow-wrap:anywhere;word-break:normal}
.contact-two-col{display:grid;gap:50px;align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.enquiry-form-ref>*{min-width:0}
.map-frame-ref{height:270px;border:1px solid #ddd6cb;margin:15px 0 15px;background:#f5f5f5;overflow:hidden}
/* CTA: fix background stacking and content overlap */
.cta-reference{position:relative;background:#0c0c0b;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;z-index:0;isolation:isolate;margin-top:48px;margin-bottom:48px;min-height:250px;padding:46px 52px;overflow:hidden}
.cta-reference .cta-bg-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;display:block;max-width:none;filter:brightness(1.12)}
.cta-reference::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,8,7,.97) 0%,rgba(8,8,7,.91) 25%,rgba(8,8,7,.64) 43%,rgba(8,8,7,.25) 58%,rgba(8,8,7,.06) 72%,rgba(8,8,7,0) 100%);pointer-events:none}
.cta-reference>div{position:relative;z-index:2;min-width:0}
.cta-reference .btn-row{margin-top:0;justify-content:flex-start}
/* Footer */
.site-footer{background:#0d0d0c;color:#fff;margin-top:0;overflow:hidden}
.footer-grid{display:grid;grid-template-columns:1.25fr .75fr 1fr 1.25fr;gap:48px;padding:52px 0 38px}
.footer-contact a,.footer-contact p{overflow-wrap:anywhere}
.wa-float{position:fixed;right:22px;bottom:20px;width:48px;height:48px;border-radius:50%;background:#20c766;color:#fff;display:grid;place-items:center;border:3px solid #fff;box-shadow:0 8px 24px rgba(0,0,0,.25);font-size:14px;font-weight:700;z-index:1200}
/* Navigation switches earlier so logo and links never collide */
@media (max-width:1120px){
  :root{--container:1240px;--header:78px}
  .container{width:calc(100% - 40px);max-width:1240px}
  .site-header{position:sticky;top:0}
  .brand-logo{width:200px}
  .menu-toggle{display:block;flex:0 0 42px;margin-left:auto}
  .main-nav{position:fixed;top:var(--header);left:0;right:0;width:100%;max-height:calc(100dvh - var(--header));overflow-y:auto;background:#0a0a09;padding:14px 20px 24px;display:none;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid rgba(255,255,255,.07);box-shadow:0 18px 40px rgba(0,0,0,.22)}
  .main-nav.open{display:flex}
  .main-nav>a:not(.quote-btn){padding:14px 4px;font-size:14px;border-bottom:1px solid rgba(255,255,255,.07)}
  .main-nav>a:not(.quote-btn)::after{display:none}
  .quote-btn{margin-top:14px;justify-content:center}
  .why-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why-copy{grid-column:1/-1;grid-row:auto}
  .why-image{grid-column:1/-1;grid-row:auto;height:230px}
  .why-image img{min-height:230px}
  .experts-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
  .experts-intro{grid-column:1/-1;grid-row:auto;padding-right:0}
}
@media (max-width:980px){
  :root{--container:1240px;--header:78px}
  .container{width:calc(100% - 36px);max-width:1240px}
  .split-reference{grid-template-columns:1fr 1fr;gap:34px}
  .numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .numbers-title{grid-column:1/-1;min-height:auto}
  .number-item{min-height:210px}
  .project-grid-reference{grid-template-columns:repeat(3,minmax(0,1fr))}
  .project-preview-four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-name-grid,.client-grid-large{grid-template-columns:repeat(3,minmax(0,1fr))}
  .process-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:24px 0}
  .process-title{grid-column:1/-1;text-align:center;padding:0 0 8px}
  .process-step:not(:last-child)::after{display:none}
  .contact-info-layout{grid-template-columns:1fr}
  .contact-cards-ref{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-cards-ref article{border-bottom:1px solid #e7e1d7}
  .contact-cards-ref article:nth-child(2n){border-right:0}
  .contact-cards-ref article:nth-last-child(-n/**/+2){border-bottom:0}
  .footer-grid{grid-template-columns:1.25fr 1fr 1fr;gap:34px}
  .footer-contact{grid-column:1/-1;border-top:1px solid #25231f;padding-top:24px}
}
@media (max-width:820px){
  .container{width:calc(100% - 32px)}
  .hero-copy,.page-hero-ref .hero-copy{width:min(82%,640px)}
  .split-reference{grid-template-columns:1fr;gap:30px}
  .reference-image img{height:auto;aspect-ratio:4/3}
  .service-preview-grid,.service-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .project-grid-reference{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .featured-project{grid-template-columns:1fr}
  .featured-image,.featured-lightbox-trigger,.featured-image img{min-height:280px;height:280px}
  .presence-reference{grid-template-columns:1fr;gap:28px}
  .contact-two-col{grid-template-columns:1fr;gap:40px}
  .cta-reference{margin-top:38px;margin-bottom:38px;min-height:210px;padding:36px 30px;background-size:cover;background-position:center center}
  .cta-reference::before{background:linear-gradient(90deg,rgba(9,9,8,.95) 0%,rgba(9,9,8,.72) 48%,rgba(9,9,8,.12) 100%)}
}
@media (max-width:620px){
  :root{--header:76px}
  .container{width:calc(100% - 28px)}
  .brand-logo{width:178px}
  .home-hero,.page-hero-ref{min-height:390px}
  .contact-hero-ref{min-height:390px}
  .hero-copy,.page-hero-ref .hero-copy{width:92%;padding:40px 0}
  .section,.section-compact{padding:48px 0}
  .numbers-band{padding:34px 0}
  .numbers-grid{grid-template-columns:1fr;gap:12px}
  .numbers-title{grid-column:1}
  .numbers-title,.number-item{min-height:auto}
  .service-preview-grid,.service-reference-grid{grid-template-columns:1fr}
  .project-preview-four{grid-template-columns:1fr}
  .project-tile{height:270px;min-height:270px}
  .project-grid-reference{grid-template-columns:1fr}
  .project-lightbox-trigger{aspect-ratio:3/2}
  .client-name-grid,.client-grid-large{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journey-grid{grid-template-columns:1fr;row-gap:28px}
  .experts-layout{grid-template-columns:1fr}
  .contact-cards-ref{grid-template-columns:1fr}
  .contact-cards-ref article{border-right:0!important;border-bottom:1px solid #e7e1d7!important}
  .contact-cards-ref article:last-child{border-bottom:0!important}
  .location-grid-reference{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-grid{grid-template-columns:1fr 1fr}
  .process-title{grid-column:1/-1}
  .process-step:last-child{grid-column:1/-1}
  .enquiry-form-ref{grid-template-columns:1fr}
  .enquiry-form-ref .full{grid-column:1}
  .cta-reference{margin-top:32px;margin-bottom:32px;min-height:190px;padding:30px 22px;display:block}
  .cta-reference .btn-row{margin-top:18px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px;padding:42px 0 30px}
  .footer-intro,.footer-contact{grid-column:1/-1}
  .footer-bottom-inner{flex-direction:column;gap:5px}
}
@media (max-width:420px){
  .container{width:calc(100% - 24px)}
  .brand-logo{width:165px}
  .client-name-grid,.client-grid-large,.location-grid-reference,.process-grid,.footer-grid{grid-template-columns:1fr}
  .process-step:last-child{grid-column:1}
  .footer-intro,.footer-contact{grid-column:1}
  .project-lightbox{padding-left:10px;padding-right:10px}
}
@media (max-width:620px){
  .filter-tabs{justify-content:center;flex-wrap:wrap;overflow:visible;gap:7px;padding-bottom:0}
  .filter-tabs button{flex:0 1 auto}
  .featured-image,.featured-lightbox-trigger{width:100%;max-width:100%;overflow:hidden}
  .featured-lightbox-trigger{aspect-ratio:auto!important}
  .featured-lightbox-trigger>img{width:100%;max-width:100%;height:100%;object-fit:cover}
}
/* Premium recognized organizations carousel */
.clients-section{position:relative;overflow:hidden;padding-top:76px;padding-bottom:82px}
.clients-section::before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;right:-220px;top:-220px;background:radial-gradient(circle,rgba(201,155,91,.14),rgba(201,155,91,0) 70%);pointer-events:none}
.clients-section .center-head{position:relative;z-index:1;margin-bottom:34px}
.clients-section .center-head h2{max-width:920px;margin-left:auto;margin-right:auto}
.clients-section .center-head p{max-width:620px;margin-left:auto;margin-right:auto}
.client-carousel{position:relative;z-index:1}
.client-carousel-shell{position:relative;padding:0 54px}
.client-carousel-viewport{overflow:hidden;border-radius:20px}
.client-carousel-track{display:flex;gap:18px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.client-logo-card{flex:0 0 calc((100% - 54px)/4);min-width:0;background:#fff;border:1px solid #e4ddd2;border-radius:18px;min-height:228px;padding:28px 22px 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 14px 35px rgba(32,23,12,.06);position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.client-logo-card::after{content:"";position:absolute;left:22px;right:22px;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;transition:.25s}
.client-logo-card:hover{transform:translateY(-5px);box-shadow:0 20px 46px rgba(32,23,12,.11);border-color:#d6bd98}
.client-logo-card:hover::after{opacity:1}
.client-logo-mark{width:92px;height:92px;border-radius:24px;border:1px solid #e6dccd;background:linear-gradient(145deg,#fbf9f5,#f0eadf);display:grid;place-items:center;margin-bottom:22px;color:#0d0d0c;font-family:var(--serif);font-size:29px;line-height:1;font-weight:600;letter-spacing:.02em;box-shadow:inset 0 0 0 7px #fff,0 8px 18px rgba(44,31,17,.07);position:relative;overflow:hidden}
.client-logo-mark::before{content:"";position:absolute;width:31px;height:2px;background:#c9965500;bottom:17px;left:50%;transform:translateX(-50%)}
.client-logo-mark.small-text{font-family:var(--sans);font-size:16px;font-weight:800;letter-spacing:.07em}
.client-logo-card h3{font-family:var(--serif);font-size:20px;line-height:1.28;margin:0;color:#17130f;min-height:52px;display:flex;align-items:center;justify-content:center}
.client-logo-card>span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);font-weight:700;margin-top:10px}
.client-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid #d8c7ad;background:#0e0e0d;color:#fff;display:grid;place-items:center;cursor:pointer;z-index:4;box-shadow:0 10px 26px rgba(0,0,0,.13);transition:.2s;font-size:26px;line-height:1;padding:0 0 2px}
.client-carousel-btn:hover{background:var(--gold);border-color:var(--gold);color:#0e0e0d}
.client-carousel-btn.prev{left:0}
.client-carousel-btn.next{right:0}
.client-carousel-dots{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px}
.client-carousel-dot{width:8px;height:8px;border:0;border-radius:50%;background:#d7cec2;padding:0;cursor:pointer;transition:.2s}
.client-carousel-dot.active{width:26px;border-radius:99px;background:var(--gold)}
.client-carousel-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:980px){
  .clients-section{padding-top:64px;padding-bottom:70px}
  .client-carousel-shell{padding:0 48px}
  .client-logo-card{flex-basis:calc((100% - 36px)/3)}
}
@media (max-width:820px){
  .client-carousel-shell{padding:0 44px}
  .client-logo-card{flex-basis:calc((100% - 18px)/2);min-height:205px;padding:24px 18px}
  .client-logo-mark{width:78px;height:78px;border-radius:21px;margin-bottom:18px}
  .client-logo-card h3{font-size:18px}
  .client-carousel-btn{width:38px;height:38px}
}
@media (max-width:620px){
  .clients-section{padding-top:52px;padding-bottom:58px}
  .clients-section .center-head{margin-bottom:26px}
  .client-carousel-shell{padding:0 38px}
  .client-logo-card{flex-basis:100%;min-height:198px}
  .client-carousel-track{gap:14px}
  .client-carousel-btn{width:34px;height:34px;font-size:22px}
}





/* =========================================================
   FINAL V10 — shared numbers, services alignment & CTA polish
   ========================================================= */

/* Same 6-card company numbers section on Home / About / Services / Portfolio */
.company-numbers{background:var(--soft);padding:52px 0}
.company-numbers .numbers-grid{
  display:grid;
  grid-template-columns:1.25fr repeat(5,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.company-numbers .numbers-title,
.company-numbers .number-item{
  min-height:280px;
  height:100%;
  border-radius:18px;
  background:#0e0e0d;
  border:1px solid rgba(201,155,91,.18);
  box-shadow:0 18px 42px rgba(17,13,8,.08);
  overflow:hidden;
}
.company-numbers .numbers-title{
  padding:32px 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.company-numbers .numbers-title h2{
  margin:7px 0 0;
  color:#fff;
  font-size:25px;
  line-height:1.08;
}
.company-numbers .number-item{
  padding:34px 26px 30px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
}
.company-numbers .number-item .line-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  margin:0 0 28px;
  color:var(--gold);
}
.company-numbers .number-item strong{
  margin:0 0 10px;
  color:#fff;
  font-family:var(--serif);
  font-size:35px;
  font-weight:400;
  line-height:1;
  white-space:nowrap;
}
.company-numbers .number-item span{
  margin:0;
  color:#e1aa59;
  font-size:12px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.18em;
  text-transform:uppercase;
}

/* Why Work With Us — equal icon baseline + smaller image */
.why-panel{
  grid-template-columns:1.22fr repeat(4,minmax(0,.82fr)) minmax(170px,.82fr);
  align-items:stretch;
  min-height:255px;
}
.why-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.why-item{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  min-width:0;
  padding:30px 18px 24px;
}
.why-item .line-icon{
  display:block;
  width:31px;
  height:31px;
  min-width:31px;
  min-height:31px;
  flex:0 0 31px;
  margin:0 0 14px;
  color:var(--gold);
}
.why-item h3{margin:0 0 8px;line-height:1.35}
.why-item p{margin:0;line-height:1.62}
.why-image{
  width:100%;
  max-width:220px;
  min-width:0;
  justify-self:end;
  align-self:stretch;
  overflow:hidden;
}
.why-image img{
  width:100%;
  height:100%;
  min-height:255px;
  object-fit:cover;
  object-position:center;
}

/* Services CTA — more breathing space between right copy and buttons */
.services-cta{gap:76px}
.services-cta .cta-heading{flex:1 1 45%}
.services-cta .cta-action-group{flex:0 1 500px}
.services-cta .cta-action-group p{margin:0;max-width:500px}
.services-cta .cta-action-group .btn-row{margin-top:26px;gap:15px}

@media (max-width:1120px){
  .company-numbers .numbers-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
  .company-numbers .numbers-title{grid-column:1/-1;min-height:auto}
  .company-numbers .number-item{min-height:235px}

  .why-panel{grid-template-columns:repeat(2,minmax(0,1fr));min-height:auto}
  .why-copy{grid-column:1/-1;min-height:auto;padding:28px 24px}
  .why-item{min-height:190px}
  .why-image{grid-column:1/-1;max-width:none;height:210px}
  .why-image img{min-height:210px}
}

@media (max-width:820px){
  .company-numbers{padding:38px 0}
  .company-numbers .numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .company-numbers .numbers-title{grid-column:1/-1;padding:27px 24px}
  .company-numbers .number-item{min-height:215px;padding:26px 20px}
  .company-numbers .number-item .line-icon{margin-bottom:20px}
  .company-numbers .number-item strong{font-size:36px}

  .services-cta{gap:34px}
  .services-cta .cta-action-group{flex-basis:46%}
  .services-cta .cta-action-group .btn-row{margin-top:22px}
}

@media (max-width:620px){
  .company-numbers{padding:32px 0}
  .company-numbers .numbers-grid{grid-template-columns:1fr}
  .company-numbers .numbers-title,
  .company-numbers .number-item{grid-column:1;min-height:auto}
  .company-numbers .numbers-title{padding:25px 21px}
  .company-numbers .numbers-title h2{font-size:29px}
  .company-numbers .number-item{padding:24px 21px 25px}
  .company-numbers .number-item .line-icon{width:32px;height:32px;flex-basis:32px;margin-bottom:17px}
  .company-numbers .number-item strong{font-size:34px}

  .why-panel{grid-template-columns:1fr}
  .why-copy,.why-item,.why-image{grid-column:1}
  .why-item{min-height:auto;padding:24px 20px}
  .why-image{height:180px}
  .why-image img{min-height:180px}

  .services-cta{display:block}
  .services-cta .cta-action-group{margin-top:24px}
  .services-cta .cta-action-group .btn-row{margin-top:22px;gap:12px}
}

/* =========================================================
   FINAL V11 — consistent vertical spacing between sections
   ========================================================= */

/* Keep every direct content section visually separated. */
main > section + section{
  margin-top:40px;
}

/* Full-width content sections retain their own internal padding. */
main > .section,
main > .numbers-band,
main > .process-strip,
main > .clients-section,
main > .contact-main-ref{
  position:relative;
}

/* Container-style standalone panels should not touch nearby sections. */
main > .why-panel,
main > .featured-project,
main > .cta-reference{
  margin-top:40px;
}

/* CTA already has strong internal padding; keep bottom breathing room before footer. */
main > .cta-reference:last-child{
  margin-bottom:40px;
}

@media (max-width:980px){
  main > section + section,
  main > .why-panel,
  main > .featured-project,
  main > .cta-reference{
    margin-top:32px;
  }
  main > .cta-reference:last-child{
    margin-bottom:32px;
  }
}

@media (max-width:620px){
  main > section + section,
  main > .why-panel,
  main > .featured-project,
  main > .cta-reference{
    margin-top:24px;
  }
  main > .cta-reference:last-child{
    margin-bottom:24px;
  }
}

/* =========================================================
   PORTFOLIO V12 — project-wise showcase design
   ========================================================= */
.portfolio-showcase-section{background:#fff}
.portfolio-intro-row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:30px}
.portfolio-intro-row>div:first-child{max-width:760px}
.portfolio-intro-row h2{margin-bottom:10px}
.portfolio-intro-row p{max-width:690px;margin-bottom:0}
.portfolio-summary{flex:0 0 auto;text-align:right;border-left:1px solid var(--line);padding-left:32px}
.portfolio-summary strong{display:block;font-family:var(--serif);font-size:44px;font-weight:400;line-height:1;color:#161310}
.portfolio-summary span{display:block;margin-top:8px;color:var(--gold-dark);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.portfolio-project-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.portfolio-project-filters button{border:1px solid #ddd5ca;background:#fff;color:#29241f;padding:11px 19px;font-size:14px;transition:.2s}
.portfolio-project-filters button:hover,.portfolio-project-filters button.active{background:#0d0d0c;color:#fff;border-color:#0d0d0c}
.portfolio-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.portfolio-project-card{min-width:0;background:#fff;border:1px solid #e7e0d6;box-shadow:0 16px 42px rgba(22,16,10,.055);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.portfolio-project-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(22,16,10,.10)}
.portfolio-project-card[hidden]{display:none!important}
.portfolio-project-media{position:relative;width:100%;height:350px;display:grid;grid-template-columns:minmax(0,2.15fr) minmax(120px,.85fr);gap:3px;padding:0;border:0;background:#111;overflow:hidden;text-align:left;cursor:pointer}
.portfolio-project-main-image,.portfolio-project-side-images,.portfolio-project-side-images>span{display:block;min-width:0;min-height:0;overflow:hidden}
.portfolio-project-main-image img,.portfolio-project-side-images img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .35s ease}
.portfolio-project-side-images{display:grid;grid-template-rows:1fr 1fr;gap:3px}
.portfolio-project-card:hover .portfolio-project-main-image img{transform:scale(1.025)}
.portfolio-project-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 45%,rgba(0,0,0,.58) 100%);pointer-events:none}
.portfolio-photo-count{position:absolute;z-index:2;top:18px;left:18px;background:rgba(10,10,9,.86);color:#fff;padding:9px 12px;font-family:var(--serif);font-size:18px;line-height:1;backdrop-filter:blur(5px)}
.portfolio-photo-count small{font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#d7cfc3;margin-left:4px}
.portfolio-view-overlay{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:flex;align-items:center;justify-content:space-between;color:#fff}
.portfolio-view-overlay b{font-size:14px;letter-spacing:.03em}
.portfolio-view-overlay i{font-style:normal;width:38px;height:38px;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;font-size:18px;transition:.2s}
.portfolio-project-card:hover .portfolio-view-overlay i{background:var(--gold);border-color:var(--gold)}
.portfolio-project-content{padding:24px 25px 26px}
.portfolio-project-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px;color:var(--gold-dark);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.portfolio-project-meta span:last-child{color:#9c958c}
.portfolio-project-content h3{font-size:28px;margin-bottom:3px;color:#17130f}
.portfolio-project-short{font-size:13px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8b8175!important;margin-bottom:12px!important}
.portfolio-project-content>p:not(.portfolio-project-short){margin-bottom:21px;max-width:560px}
.portfolio-project-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:17px}
.portfolio-gallery-link{border:0;background:transparent;padding:0;color:#211b15;font-size:14px;font-weight:700;cursor:pointer}
.portfolio-gallery-link span,.portfolio-project-actions>a span{color:var(--gold);margin-left:7px}
.portfolio-project-actions>a{font-size:13px;color:#6e675f}
.portfolio-method-band{background:#0e0e0d;color:#fff;padding:44px 0}
.portfolio-method-grid{display:grid;grid-template-columns:1.25fr repeat(4,minmax(0,1fr));gap:0;align-items:stretch}
.portfolio-method-title{padding:16px 28px 16px 0;border-right:1px solid rgba(255,255,255,.12)}
.portfolio-method-title h2{color:#fff;font-size:30px;margin:4px 0 0}
.portfolio-method-item{padding:18px 24px;border-right:1px solid rgba(255,255,255,.12)}
.portfolio-method-item:last-child{border-right:0}
.portfolio-method-item .line-icon{color:var(--gold);width:30px;height:30px;margin-bottom:12px}
.portfolio-method-item b{display:block;color:#fff;font-size:14px;margin-bottom:7px}
.portfolio-method-item p{color:#aaa39a;font-size:13px;line-height:1.55;margin:0}

body.portfolio-gallery-open{overflow:hidden}
.portfolio-gallery-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:28px;opacity:0;visibility:hidden;pointer-events:none;transition:.2s}
.portfolio-gallery-modal.open{opacity:1;visibility:visible;pointer-events:auto}
.portfolio-gallery-backdrop{position:absolute;inset:0;background:rgba(5,5,5,.94);backdrop-filter:blur(6px)}
.portfolio-gallery-dialog{position:relative;z-index:1;width:min(1180px,94vw);max-height:92vh;background:#10100f;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 90px rgba(0,0,0,.55);display:flex;flex-direction:column;overflow:hidden}
.portfolio-gallery-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:21px 24px;border-bottom:1px solid rgba(255,255,255,.12)}
.portfolio-gallery-category{display:block;color:var(--gold-2);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:3px}
.portfolio-gallery-header h2{color:#fff;font-size:28px;margin:0}
.portfolio-gallery-close{width:44px;height:44px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;font-size:30px;line-height:1;cursor:pointer}
.portfolio-gallery-close:hover{background:var(--gold);border-color:var(--gold)}
.portfolio-gallery-stage{position:relative;min-height:0;flex:1;display:flex;align-items:center;justify-content:center;background:#080808;padding:18px 70px}
.portfolio-gallery-stage figure{margin:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}
.portfolio-gallery-stage img{display:block;width:auto;max-width:100%;height:auto;max-height:62vh;object-fit:contain}
.portfolio-gallery-stage figcaption{color:#c9c2b9;font-size:12px;letter-spacing:.12em;margin-top:10px}
.portfolio-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:58px;border:1px solid rgba(255,255,255,.18);background:rgba(20,20,19,.8);color:#fff;font-size:34px;cursor:pointer;z-index:2}
.portfolio-gallery-nav:hover{background:var(--gold);border-color:var(--gold)}
.portfolio-gallery-nav.prev{left:15px}.portfolio-gallery-nav.next{right:15px}
.portfolio-gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding:12px 14px 14px;background:#151513;border-top:1px solid rgba(255,255,255,.09)}
.portfolio-gallery-thumbs button{flex:0 0 100px;width:100px;height:68px;padding:0;border:2px solid transparent;background:#222;opacity:.58;cursor:pointer;overflow:hidden;transition:.2s}
.portfolio-gallery-thumbs button:hover,.portfolio-gallery-thumbs button.active{opacity:1;border-color:var(--gold)}
.portfolio-gallery-thumbs img{width:100%;height:100%;object-fit:cover}

@media(max-width:980px){
  .portfolio-project-grid{gap:20px}
  .portfolio-project-media{height:300px;grid-template-columns:2fr .8fr}
  .portfolio-project-content{padding:21px}
  .portfolio-project-content h3{font-size:24px}
  .portfolio-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portfolio-method-title{grid-column:1/-1;border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:0 0 22px;margin-bottom:8px}
  .portfolio-method-item:nth-child(3){border-right:0}
}
@media(max-width:760px){
  .portfolio-intro-row{align-items:flex-start;flex-direction:column;gap:18px}
  .portfolio-summary{text-align:left;border-left:0;border-top:1px solid var(--line);padding:16px 0 0;width:100%}
  .portfolio-project-grid{grid-template-columns:1fr}
  .portfolio-project-media{height:340px}
  .portfolio-gallery-modal{padding:12px}
  .portfolio-gallery-dialog{width:100%;max-height:95vh}
  .portfolio-gallery-stage{padding:14px 48px}
  .portfolio-gallery-stage img{max-height:60vh}
  .portfolio-gallery-header{padding:16px}
  .portfolio-gallery-header h2{font-size:23px}
  .portfolio-gallery-thumbs button{flex-basis:82px;width:82px;height:58px}
}
@media(max-width:520px){
  .portfolio-project-media{height:275px;grid-template-columns:1fr}
  .portfolio-project-side-images{display:none}
  .portfolio-photo-count{top:14px;left:14px}
  .portfolio-view-overlay{left:15px;right:15px;bottom:14px}
  .portfolio-project-content{padding:19px 18px 20px}
  .portfolio-project-content h3{font-size:23px}
  .portfolio-project-meta{align-items:flex-start;flex-direction:column;gap:4px}
  .portfolio-project-actions{align-items:flex-start;flex-direction:column}
  .portfolio-method-grid{grid-template-columns:1fr}
  .portfolio-method-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:18px 0}
  .portfolio-method-item:last-child{border-bottom:0}
  .portfolio-gallery-stage{padding:12px 36px}
  .portfolio-gallery-nav{width:34px;height:48px;font-size:27px}
  .portfolio-gallery-nav.prev{left:4px}.portfolio-gallery-nav.next{right:4px}
}


/* =========================================================
   PORTFOLIO V12.2 — homepage-style client carousel + spacing
   ========================================================= */
.process-strip{
  padding:58px 0;
  margin:0;
  background:#f8f6f2;
  border-top:1px solid #e9e3da;
  border-bottom:1px solid #e9e3da;
}
.process-strip .process-grid{
  min-height:auto;
  align-items:center;
}
.process-strip .process-title{padding-top:8px;padding-bottom:8px}
.process-strip .process-step{padding-top:18px;padding-bottom:18px}
.portfolio-client-experience{
  padding-top:82px;
  padding-bottom:86px;
  margin:0;
}
.portfolio-client-experience .center-head{margin-bottom:38px}
.portfolio-client-experience .client-carousel{margin-top:0}
.portfolio-client-experience .client-logo-mark{
  color:#17130f;
}
@media(max-width:980px){
  .process-strip{padding:48px 0}
  .portfolio-client-experience{padding-top:68px;padding-bottom:72px}
}
@media(max-width:620px){
  .process-strip{padding:38px 0}
  .portfolio-client-experience{padding-top:54px;padding-bottom:58px}
  .portfolio-client-experience .center-head{margin-bottom:28px}
}

/* Homepage feedback themes: testimonial-style without claiming named endorsements */
.client-feedback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.client-feedback-card{position:relative;background:#fff;border:1px solid #e4ddd2;padding:30px 26px 25px;min-height:220px;box-shadow:0 14px 34px rgba(30,21,12,.05)}
.client-feedback-card .feedback-mark{display:block;font-family:var(--serif);font-size:54px;line-height:.7;color:var(--gold);margin-bottom:18px}
.client-feedback-card p{font-size:15px;line-height:1.72;color:#4f4942;margin-bottom:22px}
.client-feedback-card small{display:block;border-top:1px solid var(--line);padding-top:15px;color:var(--gold-dark);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:820px){.client-feedback-grid{grid-template-columns:1fr}.client-feedback-card{min-height:0}}


/* =========================================================
   SERVICES PROCESS V13 — Scope to Handover
   Dedicated 4-step layout (does not affect portfolio process)
   ========================================================= */
.services-process{
  position:relative;
  overflow:hidden;
  padding:72px 0;
  margin-top:40px;
  background:
    radial-gradient(circle at 86% 18%,rgba(198,148,78,.12),rgba(198,148,78,0) 28%),
    linear-gradient(135deg,#f7f3ed 0%,#fbfaf8 55%,#f3eee6 100%);
  border-top:1px solid #e7dfd3;
  border-bottom:1px solid #e7dfd3;
}
.services-process::after{
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  right:-150px;
  bottom:-190px;
  border:1px solid rgba(198,148,78,.16);
  border-radius:50%;
  pointer-events:none;
}
.services-process-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(230px,.82fr) minmax(0,3.18fr);
  gap:54px;
  align-items:stretch;
}
.services-process-intro{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:10px 16px 10px 0;
}
.services-process-intro .eyebrow{margin-bottom:13px}
.services-process-intro h2{
  font-size:clamp(32px,2.65vw,42px);
  line-height:1.02;
  margin:0;
}
.services-process-intro .gold-line{margin:20px 0 18px;width:46px}
.services-process-intro p{
  max-width:285px;
  margin:0;
  color:#615a52;
  font-size:14px;
  line-height:1.68;
}
.services-process-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.services-process-card{
  position:relative;
  min-width:0;
  min-height:224px;
  padding:24px 22px 22px;
  background:rgba(255,255,255,.92);
  border:1px solid #e2d9cc;
  box-shadow:0 14px 34px rgba(37,27,16,.055);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.services-process-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:0;
  height:3px;
  background:var(--gold);
  transition:width .28s ease;
}
.services-process-card:not(:last-child)::after{
  content:"";
  position:absolute;
  z-index:3;
  top:48px;
  right:-17px;
  width:17px;
  height:1px;
  background:#cda66d;
}
.services-process-card:hover{
  transform:translateY(-5px);
  border-color:#d5c4aa;
  box-shadow:0 22px 45px rgba(37,27,16,.10);
}
.services-process-card:hover::before{width:100%}
.services-process-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:25px;
}
.services-process-icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  color:var(--gold-dark);
  background:#f8f2e8;
  border:1px solid #e2cfb2;
}
.services-process-icon .line-icon{width:25px;height:25px}
.services-process-number{
  color:#cdbfae;
  font-family:var(--serif);
  font-size:30px;
  line-height:1;
  letter-spacing:-.03em;
}
.services-process-card h3{
  margin:0 0 9px;
  color:#181512;
  font-family:var(--sans);
  font-size:15px;
  font-weight:700;
  letter-spacing:.01em;
}
.services-process-card p{
  margin:0;
  color:#665f57;
  font-size:14px;
  line-height:1.62;
}
@media(max-width:1120px){
  .services-process-shell{grid-template-columns:1fr;gap:30px}
  .services-process-intro{padding-right:0;max-width:720px}
  .services-process-intro p{max-width:620px}
}
@media(max-width:900px){
  .services-process{padding:60px 0;margin-top:32px}
  .services-process-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .services-process-card:not(:last-child)::after{display:none}
}
@media(max-width:620px){
  .services-process{padding:48px 0;margin-top:24px}
  .services-process-shell{gap:24px}
  .services-process-intro h2{font-size:32px}
  .services-process-flow{grid-template-columns:1fr;gap:12px}
  .services-process-card{min-height:0;padding:21px 20px}
  .services-process-card-head{margin-bottom:18px}
  .services-process-icon{width:46px;height:46px}
  .services-process-number{font-size:27px}
}

/* Portfolio video support */
.portfolio-gallery-video{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:80vh;
  background:#000;
  box-shadow:0 20px 70px rgba(0,0,0,.45);
}
.portfolio-video-thumb{position:relative;overflow:hidden}
.portfolio-video-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.portfolio-video-play{
  position:absolute;
  left:50%;top:50%;
  width:42px;height:42px;
  transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:rgba(10,10,9,.78);
  color:#fff;
  border:1px solid rgba(255,255,255,.35);
  font-size:15px;
  padding-left:2px;
  pointer-events:none;
}
.portfolio-video-thumb.active .portfolio-video-play{background:var(--gold);border-color:var(--gold)}
@media (max-width:620px){
  .portfolio-gallery-video{max-height:72vh;width:100%}
}


/* FINAL PORTFOLIO VIDEO VISIBILITY FIX */
.portfolio-gallery-video {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 62vh;
  object-fit: contain;
  background: #000;
}
.portfolio-gallery-video[hidden],
.portfolio-gallery-stage img[hidden] {
  display: none !important;
}
@media (max-width: 620px) {
  .portfolio-gallery-video {
    max-height: 60vh;
    width: auto;
    max-width: 100%;
  }
}

.footer-socials{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  margin-top:16px;
}

.footer-social-link{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex:0 0 auto;
  width:auto!important;
  margin:0!important;
  padding:8px 10px;
}

.footer-social-link svg{
  width:17px;
  height:17px;
  flex:0 0 17px;
}

.footer-social-link span{
  white-space:nowrap;
  font-size:12px!important;
}