:root{--bg:#101214;--panel:#181c20;--text:#f2f4f6;--muted:#adb4bd;--blue:#69b4ff;--line:#30363d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.wrap{width:min(1280px,88%);margin:auto}header{background:#101214;border-bottom:1px solid var(--line)}.header-inner{height:100px;display:flex;align-items:center;gap:50px}.brand{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:36px;font-weight:900;letter-spacing:-2px}.brand>span{font-size:9px;letter-spacing:4px;margin-top:7px}.brand-dot{color:var(--blue)}nav{display:flex;gap:30px;margin-left:auto}nav a{font-size:13px;color:var(--muted)}nav a:hover,nav a[aria-current]{color:var(--text)}nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:9px}.header-cta{border:1px solid var(--line);padding:11px 22px;font-size:13px}.menu-toggle{display:none}.hero{min-height:690px;position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.hero-photo,.hero-shade{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.hero-photo{filter:grayscale(1);object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(8,11,14,.96),rgba(8,11,14,.8) 45%,rgba(8,11,14,.28)),linear-gradient(0deg,#101214,transparent 45%)}.hero-content{position:relative;padding:90px 0 120px}.eyebrow{display:block;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:2.4px;margin-bottom:24px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,5.4vw,78px);line-height:1.08;font-weight:600;letter-spacing:-3px;margin-bottom:26px}h1 em{font-style:normal;color:#acb4bf}h2{font-size:clamp(34px,3.5vw,50px);line-height:1.15;letter-spacing:-1.8px;font-weight:500;margin-bottom:25px}h3{font-size:23px;line-height:1.3;letter-spacing:-.4px}.hero p{max-width:560px;color:#bec5ce;font-size:17px}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:16px 25px;background:var(--blue);color:#071321;font-size:13px;font-weight:700;border:0;cursor:pointer}.button:hover{background:#a0cfff}.text-link{font-size:13px;border-bottom:1px solid #5b6673;padding-bottom:8px}.hero-bottom{position:absolute;bottom:28px;left:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#a2abb7}.section{padding-top:95px;padding-bottom:95px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:40px}.section-top p{max-width:350px;color:var(--muted);font-size:15px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.service{border-top:1px solid var(--line);padding:32px 28px 15px 0}.service+.service{padding-left:28px;border-left:1px solid var(--line)}.number{color:var(--blue);font-size:11px;letter-spacing:2px;display:block;margin-bottom:50px}.service p{font-size:14px;color:var(--muted);max-width:330px}.service a{font-size:12px;display:flex;justify-content:space-between;margin-top:35px}.service a span{color:var(--blue)}.projects-section{background:#15191d;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.muted{color:var(--muted);font-size:12px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}.project-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--panel)}.project img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .3s}.project:hover img{transform:scale(1.035)}.project-image span,.image-panel span{position:absolute;bottom:0;left:0;right:0;background:#101214e8;padding:10px 12px;color:#c5ccd5;font-size:9px;letter-spacing:.6px}.project-label{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.project-label h3{font-size:15px;margin:0}.project-label>span{color:var(--blue)}.process{display:grid;grid-template-columns:1fr 1fr;gap:50px}.process>.eyebrow{grid-column:1/-1;margin-bottom:0}.process p,.about-grid p,.contact-grid p{color:var(--muted);font-size:15px}.cta{border-top:1px solid var(--line);padding:80px 0;position:relative}.cta h2{font-size:clamp(44px,5vw,68px)}.cta .button{position:absolute;right:0;top:140px}.email{font-size:14px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:40px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer a:not(.brand),footer small{font-size:11px;color:var(--muted);margin:0}.page-intro{padding:95px 0 50px;border-bottom:1px solid var(--line)}.page-intro p{max-width:620px;color:var(--muted)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.image-panel{position:relative;height:440px}.image-panel img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.contact-email{color:var(--blue);font-size:clamp(16px,2vw,23px);display:block;margin-bottom:25px}.contact-grid aside p{max-width:350px}form{display:flex;flex-direction:column}label{font-size:12px;margin-bottom:8px}input,select,textarea{width:100%;border:1px solid #4a525c;background:var(--panel);color:var(--text);padding:13px;margin-bottom:23px;border-radius:0}textarea{resize:vertical}form .form-note{font-size:12px}form .button{align-self:start}#form-status{font-size:12px;margin-top:18px}.filters{display:flex;gap:12px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:11px 15px;font-size:12px;cursor:pointer}.filters button.active{background:var(--blue);color:#071321;border-color:var(--blue)}[hidden]{display:none!important}.skip{position:absolute;top:-100px;left:10px;z-index:10;background:var(--blue);color:#101214;padding:10px}.skip:focus{top:10px}@media(min-width:1500px){.hero-bottom{left:calc((100% - 1280px)/2)}}@media(max-width:850px){.header-inner{height:85px;gap:25px}nav{gap:18px}.header-cta{display:none}.hero{min-height:650px}.services{grid-template-columns:1fr}.service,.service+.service{padding:28px 0;border-left:0}.number{margin-bottom:20px}.service p{max-width:550px}.service a{max-width:550px}.gallery{gap:15px}.section-top{align-items:start;gap:25px}.contact-grid{gap:40px}.about-grid{gap:35px}footer{flex-wrap:wrap}}@media(max-width:600px){.wrap{width:88%}.header-inner{position:relative;justify-content:space-between}.menu-toggle{display:block;color:var(--text);background:transparent;border:1px solid var(--line);padding:8px 12px;font-size:12px}nav{display:none;position:absolute;left:-6.8%;right:-6.8%;top:85px;background:var(--panel);z-index:5;padding:25px 6%;margin:0;flex-direction:column;gap:20px}nav.open{display:flex}h1{letter-spacing:-1.7px}.hero-content{padding:70px 0 110px}.hero{min-height:650px}.hero p{font-size:15px}.hero-actions{flex-direction:column;align-items:start;gap:25px}.hero-bottom span:last-child{display:none}.section{padding-top:60px;padding-bottom:60px}.section-top,.process,.about-grid,.contact-grid{display:block}.section-top p{margin-top:25px}.gallery{grid-template-columns:1fr;gap:28px}.project-image{aspect-ratio:16/10}.process>div{margin-top:28px}.cta{padding:60px 0}.cta .button{position:static;margin:8px 0 25px}.email{display:block}.page-intro{padding:65px 0 35px}.about-grid>div+div{margin-top:35px}.image-panel{height:300px}.contact-grid form{margin-top:45px}footer{gap:25px}footer .brand{width:100%}footer p{display:none}footer small{width:100%}.filters{gap:8px}.filters button{font-size:11px}}
.brand-logo{display:block;width:158px;height:auto;filter:invert(1);mix-blend-mode:screen}.brand{flex-shrink:0}footer .brand-logo{width:145px}@media(max-width:600px){.brand-logo{width:140px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.project-image{display:block}.project img{filter:none;object-fit:contain;background:#e7e7e7}

.project img{background:#f5f5f2}

.project img{background:#f5f5f2}

.viewer-open{overflow:hidden}
.image-viewer{width:min(1100px,94vw);max-width:94vw;max-height:94vh;padding:58px 20px 20px;border:1px solid #414953;background:#15191d;color:#f2f4f6;overflow:auto}
.image-viewer::backdrop{background:rgba(0,0,0,.86)}
.image-viewer figure{margin:0;text-align:center}
.image-viewer img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(94vh - 140px);margin:auto;object-fit:contain}
.image-viewer figcaption{margin-top:15px;font-size:14px}
.viewer-close{position:absolute;top:12px;right:16px;padding:8px 14px;border:1px solid #697787;background:#20272f;color:#fff;cursor:pointer}

.about-grid .image-panel img{filter:none}

/* Homepage logo size */
.home-page header .brand-logo{width:237px}
.home-page footer .brand-logo{width:217.5px}
@media(max-width:600px){.home-page header .brand-logo{width:210px}}

/* Updated white logo; clip the attachment's outer screenshot border. */
.brand-logo{filter:grayscale(1) invert(1) contrast(2);mix-blend-mode:screen;clip-path:inset(1.5% 0 .5% .6%)}

/* Content and responsive header polish */
.service .service-detail{margin-top:18px}
.project-description{font-size:13px;line-height:1.6;color:var(--muted);margin:12px 0 0}
.contact-details{padding-left:20px;color:var(--muted);font-size:15px;margin:0 0 25px}
.contact-details li{margin-bottom:12px}
.home-page .header-inner{height:132px}
@media(max-width:1100px){
 .header-inner{position:relative;justify-content:space-between;height:100px;gap:20px}
 .home-page .header-inner{height:112px}
 .home-page header .brand-logo{width:200px}
 .header-cta{display:none}
 .menu-toggle{display:block;color:var(--text);background:transparent;border:1px solid var(--line);padding:10px 14px;font-size:13px;min-height:44px}
 nav{display:none;position:absolute;left:-6.8%;right:-6.8%;top:100%;background:var(--panel);z-index:5;padding:25px 6%;margin:0;flex-direction:column;gap:20px}
 nav.open{display:flex}
 nav a{padding:8px 0}
}
@media(max-width:600px){
 .home-page .header-inner{height:100px}
 .home-page header .brand-logo{width:168px}
 .project-description{font-size:14px}
}
