:root{--ink:#05070d;--graphite:#0c1017;--graphite-2:#0a0e16;--panel:#ffffff07;--panel-lift:#ffffff0e;--hair:#ffffff1a;--hair-strong:#ffffff2e;--brass:#d6a94a;--brass-lift:#f3cf7a;--brass-dim:#d6a94a57;--paper:#eef1f6;--muted:#98a3b5;--steel:#6f7b8d;--success:#7fe0b1;--font-display:"Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--ease:cubic-bezier(.2, .6, .2, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--ink);color:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;font-weight:400;font-stretch:100%;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{max-width:100%;display:block}::selection{background:var(--brass);color:#0a0a0a}:focus-visible{outline:2px solid var(--brass-lift);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-display);letter-spacing:-.022em;font-weight:700}h3{font-family:var(--font-display);letter-spacing:-.012em;font-weight:600}h1{max-width:15ch;margin-bottom:26px;font-size:clamp(2.9rem,5.1vw,4.95rem);line-height:.94}.eyebrow{color:var(--brass-lift);font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:14px;margin:0 0 20px;font-size:.79rem;font-weight:600;line-height:1;display:flex}.eyebrow:before{content:"";background:currentColor;flex:none;width:1px;height:11px}.eyebrow:after{content:"";opacity:.5;background:linear-gradient(90deg,currentColor,#0000);flex:auto;min-width:24px;height:1px}.site-shell{min-height:100vh;overflow:hidden}main[id],section[id]{scroll-margin-top:100px}.site-header{z-index:50;min-height:88px;transition:min-height .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease);background:0 0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:16px clamp(18px,4vw,54px);display:flex;position:fixed;top:0;left:0;right:0}.site-header:before{content:"";z-index:-1;pointer-events:none;transition:opacity .3s var(--ease);background:linear-gradient(#05070d9e,#0000);position:absolute;inset:0}.site-header.is-scrolled{border-bottom-color:var(--hair);-webkit-backdrop-filter:blur(24px);background:#05070d9e;min-height:66px}.site-header.is-scrolled:before{opacity:0}.brand{width:208px;height:50px;transition:width .3s var(--ease), height .3s var(--ease);align-items:center;display:flex}.site-header.is-scrolled .brand{width:178px;height:42px}.brand img{object-fit:contain;object-position:left center;filter:drop-shadow(0 6px 16px #00000080);width:100%;height:100%}.nav-links{color:var(--paper);letter-spacing:.01em;align-items:center;gap:clamp(18px,2.6vw,32px);font-size:.875rem;font-weight:500;display:flex}.nav-links a{color:#eef1f6b8;transition:color .2s var(--ease);padding:6px 0;position:relative}.nav-links a:after{content:"";background:var(--brass);transform-origin:0;height:1px;transition:transform .24s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-links a:hover{color:#fff}.nav-links a:hover:after{transform:scaleX(1)}.header-actions{align-items:center;gap:10px;display:flex}.phone-link,.header-icon-link,.header-quote-link{letter-spacing:.005em;min-height:40px;transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:.845rem;font-weight:600;display:inline-flex}.phone-link,.header-icon-link{border:1px solid var(--hair-strong);color:var(--paper)}.phone-link:hover,.header-icon-link:hover{border-color:var(--brass);color:var(--brass-lift)}.phone-link svg,.header-icon-link svg{color:var(--brass-lift)}.header-quote-link{border:1px solid var(--brass);background:var(--brass);color:#0d0b06;font-weight:650}.header-quote-link:hover{background:var(--brass-lift);border-color:var(--brass-lift)}.menu-button{border:1px solid var(--hair-strong);color:#fff;cursor:pointer;background:#ffffff0a;place-items:center;width:44px;height:44px;display:none}.hero{align-items:end;min-height:93vh;padding:150px clamp(18px,5vw,72px) 58px;display:grid;position:relative}.hero:after{content:"";z-index:2;pointer-events:none;background:#03060b;height:9px;position:absolute;bottom:-1px;left:0;right:0}.hero-bg,.hero-overlay{position:absolute;inset:0}.hero-bg{filter:saturate(1.08)contrast(1.05);background-position:62% 38%;background-size:cover;transform:scale(1.12)}.hero-overlay{background:linear-gradient(90deg, #05070ded 0%, #05070d9e 48%, #05070d1a 100%), linear-gradient(0deg, var(--ink) 0%, transparent 38%)}.hero-inner{grid-template-columns:minmax(0,860px);align-items:end;gap:clamp(24px,4vw,64px);width:min(1320px,100%);margin:0 auto;display:grid;position:relative}.hero-lede{color:#eef1f6d1;max-width:56ch;font-size:clamp(1.02rem,1.5vw,1.22rem);line-height:1.62}.hero-actions,.contact-methods,.footer-links{flex-wrap:wrap;gap:12px;display:flex}.hero-actions{margin-top:34px}.button{cursor:pointer;min-height:54px;font-family:var(--font-body);letter-spacing:.005em;transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 26px;font-size:.95rem;font-weight:650;display:inline-flex}.button-primary{background:var(--brass);color:#0d0b06}.button-primary:hover{background:var(--brass-lift)}.button-secondary{border-color:var(--hair-strong);color:var(--paper);background:0 0}.button-secondary:hover{border-color:var(--brass);color:var(--brass-lift)}.button svg{transition:transform .22s var(--ease)}.button:hover svg{transform:translate(3px)}.button-primary:hover svg{transform:none}.trust-strip,.stats-band,.logo-marquee,.section,.site-footer{padding-left:clamp(18px,5vw,72px);padding-right:clamp(18px,5vw,72px)}.trust-strip{background:var(--graphite);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);grid-template-columns:220px 1fr;align-items:center;gap:22px;padding-top:26px;padding-bottom:26px;display:grid}.strip-label{color:var(--muted);font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;font-size:.77rem;font-weight:600}.trust-badges{grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;gap:16px;display:grid}.cert-badge{object-fit:contain;filter:drop-shadow(0 8px 16px #0000004d);background:0 0;border:0;width:100%;max-width:none;height:74px;padding:0}.stats-band{border-bottom:1px solid var(--hair);background:var(--graphite-2);grid-template-columns:repeat(4,1fr);display:grid}.stat{border-right:1px solid var(--hair);flex-direction:column;justify-content:center;gap:10px;min-height:148px;padding:30px 24px;display:flex}.stat:last-child{border-right:0}.stat strong{color:var(--brass-lift);font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:clamp(2.1rem,3.6vw,3.4rem);font-weight:700;line-height:1;display:block}.stat span{color:var(--muted);font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;font-size:.77rem;font-weight:600;line-height:1.4}.logo-marquee{border-top:0;border-bottom:1px solid var(--hair);background:#03060b;margin-top:-1px;padding-top:26px;padding-bottom:26px;position:relative;overflow:hidden;box-shadow:0 -8px #03060b}.logo-marquee:before{content:"";z-index:2;pointer-events:none;background:#03060b;height:10px;position:absolute;top:0;left:0;right:0}.marquee-track{z-index:1;gap:14px;width:max-content;animation:80s linear infinite marquee;display:flex;position:relative}.logo-card{background:0 0;justify-content:center;align-items:center;width:190px;height:70px;padding:0 20px;display:inline-flex}.logo-card img{object-fit:contain;opacity:.82;filter:drop-shadow(0 6px 12px #0000008c);width:100%;height:100%}.logo-card-on-dark img{filter:brightness(0)invert()drop-shadow(0 6px 12px #0000008c)}.section{width:min(1360px,100%);margin:0 auto;padding-top:clamp(76px,9vw,130px);padding-bottom:clamp(76px,9vw,130px)}.section-heading{max-width:800px;margin-bottom:44px}.section-heading h2,.contact-copy h2{margin-bottom:18px;font-size:clamp(2.1rem,3.7vw,3.6rem);line-height:1.02}.section-heading p,.contact-copy p,.service-card p,.case-card p{max-width:62ch;color:var(--muted);font-size:1.02rem;line-height:1.68}.project-slideshow{gap:22px;display:grid}.project-slide-frame{min-height:clamp(520px,54vw,720px);position:relative}.project-slide{border:1px solid var(--hair);background:var(--graphite);height:clamp(520px,54vw,720px);position:relative;overflow:hidden}.project-slide img{object-fit:cover;width:100%;height:100%}.project-slide:after{content:"";background:linear-gradient(#05070d38 38%,#05070df0 100%),linear-gradient(90deg,#05070da8,#05070d00);position:absolute;inset:0}.project-slide-content{z-index:1;position:absolute;bottom:clamp(22px,4vw,54px);left:clamp(20px,4vw,54px);right:clamp(20px,4vw,54px)}.project-slide-title{align-items:center;gap:14px;margin-bottom:14px;display:flex}.project-slide-title svg{color:var(--brass-lift);flex:none}.project-slide-title h3{letter-spacing:-.028em;margin:0;font-size:clamp(2.2rem,4.4vw,4.6rem);font-weight:700;line-height:.96}.project-slide-content span{color:var(--brass-lift);font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;font-size:.81rem;font-weight:600;display:inline-flex}.project-slide-content p{color:#eef1f6d9;max-width:62ch;font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.62}.project-photo-count{z-index:1;border:1px solid var(--hair-strong);-webkit-backdrop-filter:blur(10px);min-height:34px;color:var(--paper);font-family:var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:.05em;background:#05070db8;align-items:center;padding:0 13px;font-size:.8rem;font-weight:550;display:inline-flex;position:absolute;bottom:18px;right:18px}.project-slide-arrow{z-index:3;border:1px solid var(--hair-strong);-webkit-backdrop-filter:blur(10px);color:#fff;cursor:pointer;width:54px;height:54px;transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);background:#05070db3;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.project-slide-arrow:hover{border-color:var(--brass);background:var(--brass);color:#0d0b06}.project-slide-arrow-left{left:-78px}.project-slide-arrow-right{right:-78px}.project-slide-tabs{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.project-slide-tab{border:1px solid var(--hair);color:#eef1f6b3;cursor:pointer;min-width:158px;min-height:50px;font-family:var(--font-body);transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);background:0 0;justify-content:center;align-items:center;gap:9px;padding:0 20px;font-size:.9rem;font-weight:550;display:inline-flex}.project-slide-tab svg{color:var(--brass-lift);transition:color .2s var(--ease)}.project-slide-tab:hover{border-color:var(--brass-dim);background:var(--panel);color:#fff}.project-slide-tab.active{border-color:var(--brass);background:var(--brass);color:#0d0b06}.project-slide-tab.active svg{color:#0d0b06}.service-grid,.sector-grid,.case-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.service-card,.sector-card,.case-card{border:1px solid var(--hair);background:var(--panel);transition:background .24s var(--ease), border-color .24s var(--ease);flex-direction:column;padding:30px 28px 34px;display:flex}.section-heading>:last-child,.service-card>:last-child,.sector-card>:last-child,.case-card>:last-child{margin-bottom:0}.service-card:hover,.sector-card:hover,.case-card:hover{border-color:var(--brass-dim);background:var(--panel-lift)}.service-card svg{color:var(--brass-lift);margin-bottom:22px}.service-card h3,.sector-card h3,.case-card h3{margin-bottom:12px;font-size:1.24rem;line-height:1.25}.sectors-section{padding-top:0}.sector-card{position:relative;overflow:hidden}.sector-card:before{content:"";background:var(--brass);width:56px;height:1px;transition:width .32s var(--ease);position:absolute;top:0;left:0}.sector-card:hover:before{width:100%}.sector-card h3{margin-top:6px}.sector-card p{color:var(--muted);line-height:1.68}.case-scope{font-weight:550;color:var(--paper)!important}.about-grid{grid-template-columns:.85fr 1fr;align-items:start;gap:clamp(28px,6vw,80px);display:grid}.about-heading{margin-bottom:0}.about-copy{border-left:1px solid var(--hair);gap:20px;padding-left:clamp(0px,3vw,44px);display:grid}.about-copy p{max-width:62ch;color:var(--muted);font-size:1.02rem;line-height:1.68}.about-copy .about-lede{color:var(--ink);font-size:clamp(1.08rem,1.5vw,1.22rem);line-height:1.55}.contact-section{grid-template-columns:.85fr 1fr;align-items:start;gap:clamp(28px,6vw,80px);display:grid}.contact-methods{flex-direction:column;gap:4px;margin-top:32px}.contact-methods a,.contact-methods span{min-height:44px;color:var(--paper);transition:color .2s var(--ease);align-items:center;gap:12px;font-size:1.02rem;font-weight:550;display:inline-flex}.contact-methods a:hover,.contact-methods svg{color:var(--brass-lift)}.enquiry-form{border:1px solid var(--hair);background:var(--graphite);gap:16px;padding:clamp(22px,3.4vw,36px);display:grid}.form-row{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}label{color:var(--muted);font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;gap:9px;font-size:.75rem;font-weight:600;display:grid}input,textarea{border:1px solid var(--hair);color:#fff;width:100%;font-family:var(--font-body);letter-spacing:normal;text-transform:none;transition:border-color .2s var(--ease), background .2s var(--ease);background:#ffffff09;padding:14px;font-size:.98rem}textarea{resize:vertical}input:hover,textarea:hover{border-color:var(--hair-strong)}input:focus,textarea:focus{border-color:var(--brass);background:#ffffff0e}.upload-box{border:1px dashed var(--brass-dim);min-height:86px;color:var(--brass-lift);cursor:pointer;transition:border-color .2s var(--ease), background .2s var(--ease);justify-content:center;align-items:center;gap:12px;display:flex;position:relative}.upload-box:hover{border-color:var(--brass);background:#d6a94a0d}.upload-box input{opacity:0;cursor:pointer;position:absolute;inset:0}.form-success{color:var(--success);margin:0;font-size:.95rem;font-weight:550}.site-footer{border-top:1px solid var(--hair);background:#020409;justify-content:space-between;gap:24px;padding-top:18px;padding-bottom:18px;display:flex}.site-footer strong{font-family:var(--font-display);letter-spacing:-.01em;font-size:1rem;font-weight:600;line-height:1.3;display:block}.site-footer p{max-width:620px;color:var(--steel);margin:4px 0 0;font-size:.9rem;line-height:1.4}.company-number{color:var(--steel);line-height:1.3;font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;margin-top:5px;font-size:.76rem;font-weight:500;display:inline-flex}.footer-links{gap:20px}.footer-links a{color:var(--paper);transition:color .2s var(--ease);font-size:.95rem;font-weight:550}.footer-links a:hover{color:var(--brass-lift)}.footer-meta{flex-direction:column;justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.floating-actions{z-index:60;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;top:50%;right:16px;transform:translateY(-50%)}.floating-actions a{border:1px solid var(--hair-strong);color:#fff;-webkit-backdrop-filter:blur(14px);background:#0a0e16db;justify-content:center;align-items:center;min-width:52px;height:52px;padding:0 16px;font-size:.9rem;font-weight:650;display:inline-flex}.floating-actions .quote-float{background:var(--brass);border-color:var(--brass);color:#0d0b06}@media (width>=821px){.floating-actions{display:none}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width<=1040px){.hero-inner,.about-grid,.contact-section{grid-template-columns:1fr}.about-heading{margin-bottom:28px}.about-copy{border-left:0;border-top:1px solid var(--hair);padding-top:28px;padding-left:0}.project-slide-arrow-left{left:16px}.project-slide-arrow-right{right:16px}.service-grid,.sector-grid,.case-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.site-header{min-height:72px}.site-header.is-scrolled{min-height:62px}main[id],section[id]{scroll-margin-top:84px}.brand,.site-header.is-scrolled .brand{width:138px;height:40px}.nav-links{-webkit-backdrop-filter:blur(22px);border-bottom:1px solid var(--hair);background:#05070df0;gap:4px;padding:20px clamp(18px,4vw,54px) 24px;font-size:1rem;display:none;position:fixed;top:72px;left:0;right:0}.nav-links.is-open{display:grid}.nav-links a{border-bottom:1px solid var(--hair);padding:12px 0}.phone-link,.header-icon-link,.header-quote-link{display:none}.menu-button{display:grid}.hero{min-height:92vh;padding-top:124px}h1{max-width:none;font-size:clamp(2.5rem,10.5vw,4rem)}.trust-strip{grid-template-columns:1fr}.trust-badges{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.stats-band{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:first-child,.stat:nth-child(2){border-bottom:1px solid var(--hair)}.service-grid,.sector-grid,.case-grid,.form-row{grid-template-columns:1fr}.project-slide-frame{min-height:460px}.project-slide{height:460px}.project-slide-arrow{width:46px;height:46px}.project-slide-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.project-slide-tab{min-width:0;padding:0 12px}.site-footer{display:grid}.footer-meta{align-items:flex-start}.eyebrow{letter-spacing:.12em;align-items:flex-start;gap:12px}.eyebrow:before{margin-top:1px}.eyebrow:after{display:none}}@media (width<=560px){.hero{min-height:auto;padding-bottom:40px}.hero-actions .button,.enquiry-form .button{width:100%}.project-slide-frame{min-height:620px}.project-slide{height:620px}.project-slide-arrow{width:44px;height:44px;top:18px;transform:none}.project-slide-arrow-left{left:18px}.project-slide-arrow-right{right:18px}.project-slide-content{bottom:76px;left:22px;right:22px}.project-slide-title h3{font-size:clamp(2rem,10vw,2.9rem)}.project-slide-content p{margin-bottom:0;font-size:.98rem;line-height:1.55}.project-photo-count{bottom:18px;right:18px}.stats-band{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--hair);min-height:0}.stat:last-child{border-bottom:0}.floating-actions{top:auto;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));flex-direction:row;transform:none}.floating-actions a{flex:1;min-width:0}.floating-actions .quote-float{flex:2}.site-footer{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.footer-links{gap:10px;display:grid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
