@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Oswald:wght@400;500;600;700&display=swap');
:root{--black:#101112;--ink:#171819;--white:#fff;--gray:#a8a8a8;--paper:#f5f5f2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{max-width:1220px;margin:auto;padding-left:32px;padding-right:32px}.top{height:84px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}.brand{display:flex;gap:12px;align-items:center;font-family:Oswald,sans-serif;font-weight:700;font-size:24px;line-height:1}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:2px;margin-top:7px}.bolt{font-size:38px}.top nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.top nav a:hover{opacity:.55}.nav-cta{background:#111;color:#fff;padding:16px 18px}.menu{display:none;background:none;border:0;font-size:28px}.hero{background:#111;color:#fff;min-height:700px;padding:100px max(5%,calc((100vw - 1220px)/2)) 25px;display:grid;grid-template-columns:1.2fr 0.8fr;gap:35px;position:relative}.eyebrow,.kicker{font-size:11px;font-weight:800;letter-spacing:2.5px}.eyebrow{color:#d4d4d4}.dot{display:inline-block;background:#fff;width:7px;height:7px;border-radius:50%;margin-right:9px}.hero h1,h2{font-family:Oswald,'Arial Narrow',sans-serif;font-weight:700;letter-spacing:-1.8px;line-height:1.08}.hero h1{font-size:clamp(54px,6.3vw,100px);margin:30px 0}.hero h1 em{font-style:normal;color:#858585}.lead{color:#c2c2c2;max-width:520px;line-height:1.8;font-size:16px}.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:32px}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:18px 23px;font-size:12px;font-weight:800;letter-spacing:1px;cursor:pointer}.button.white{background:#fff;color:#111}.button.black{background:#111;color:#fff;margin-top:18px}.button:hover{opacity:.8}.textlink{font-size:11px;font-weight:800;letter-spacing:1.2px}.hero-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}.logo-frame{background:#fff;padding:15px;aspect-ratio:1/1;display:grid;place-items:center;width:100%;max-width:430px}.logo-frame img{width:100%;display:block}.hero-logo p{font-size:10px;letter-spacing:2px;color:#a0a0a0;text-align:center}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #3a3a3a;padding-top:22px;color:#999;font-size:10px;letter-spacing:2px}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;padding-top:110px;padding-bottom:110px;align-items:end}.kicker{color:#777}.intro h2,.section-head h2,.about h2,.contact h2{font-size:clamp(42px,5vw,72px);margin:20px 0}.intro h2 span{color:#aaa}.intro>p{max-width:420px;line-height:1.9;color:#626262}.services{background:#eaeae7;padding:100px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-head p{max-width:280px;color:#666;line-height:1.7}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:42px}.service-card{background:#fff;padding:28px;min-height:310px;display:flex;flex-direction:column}.card-no{font-size:12px;color:#aaa}.symbol{font-size:40px;margin:30px 0 12px}.service-card h3{font-family:Oswald,sans-serif;font-size:23px;line-height:1.2;margin:0 0 12px}.service-card p{font-size:13px;line-height:1.7;color:#666;margin:0}.legal{font-size:12px;color:#666;margin-top:25px}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center;padding-top:125px;padding-bottom:125px}.about-mark{height:380px;background:#171717;color:#fff;display:flex;align-items:center;justify-content:center;font:700 110px Oswald,sans-serif;letter-spacing:-8px}.about-mark span{font-size:140px;padding:0 6px}.about p:not(.kicker){color:#666;line-height:1.9}.projects{background:#fff;padding:105px 0}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:35px}.project-placeholder{min-height:250px;background:linear-gradient(135deg,#252525,#444);color:#fff;padding:22px;display:flex;flex-direction:column;justify-content:space-between}.project-placeholder span{font-size:12px;color:#aaa}.project-placeholder strong{font-family:Oswald,sans-serif;font-size:28px}.project-placeholder small{font-size:10px;letter-spacing:1.5px;color:#bbb}.contact{background:#151515;color:#fff;padding:110px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{font-size:clamp(60px,7vw,110px)}.contact p{color:#bbb;line-height:1.8;max-width:390px}.service-area{border-top:1px solid #555;margin-top:70px;padding-top:25px;font-size:11px;letter-spacing:1.5px}.service-area strong{display:block;margin-top:12px;font-size:15px}.contact form{display:flex;flex-direction:column}.contact label{font-size:10px;font-weight:800;letter-spacing:1.7px;margin:15px 0 8px}.contact input,.contact select,.contact textarea{background:#242424;border:1px solid #494949;color:#fff;padding:15px;border-radius:0;outline:none;width:100%}.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:#fff}.contact form button{margin-top:25px}.form-note{font-size:11px;line-height:1.6!important}footer{background:#fff;padding:45px 0}footer .wrap{display:flex;align-items:center;gap:45px;justify-content:space-between}footer img{width:190px}footer div div{display:flex;flex-direction:column;gap:7px;font-size:10px;letter-spacing:1px}footer p{font-size:10px;color:#777}@media(max-width:900px){.top{height:72px}.menu{display:block}.top nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:24px;gap:22px}.top nav.open{display:flex}.hero{grid-template-columns:1fr;padding:70px 24px 25px}.hero-logo{max-width:400px;margin:auto}.hero-foot{gap:10px}.intro,.about,.contact-grid{grid-template-columns:1fr;gap:25px}.cards{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr}.about-mark{height:240px}.section-head{display:block}.wrap{padding-left:24px;padding-right:24px}footer .wrap{flex-wrap:wrap}}@media(max-width:520px){.hero h1{font-size:56px}.hero{padding-top:48px}.hero-foot{font-size:8px}.cards{grid-template-columns:1fr}.service-card{min-height:230px}.intro,.about{padding-top:70px;padding-bottom:70px}.services,.projects,.contact{padding:70px 0}.about-mark{font-size:80px}.about-mark span{font-size:100px}footer .wrap{display:block}footer .wrap>*{margin-bottom:22px}}

.visual-showcase{padding:70px 0;background:#fff}.visual-showcase h2{font-size:clamp(34px,4vw,58px);margin:16px 0 26px}.visual-showcase img{width:100%;height:auto;display:block;border-radius:4px}.visual-disclaimer{font-size:12px;color:#555;line-height:1.7;max-width:950px;margin-top:14px}

.project-photo{position:relative;min-height:340px;overflow:hidden;background:#252525;color:#fff;display:flex;align-items:flex-end}.project-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.project-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.9))}.project-photo>div{position:relative;z-index:1;padding:24px;display:flex;flex-direction:column;gap:7px}.project-photo strong{font-size:clamp(18px,2vw,26px);line-height:1.1}.project-photo small{font-size:12px;letter-spacing:.08em;color:#eee}.projects .visual-disclaimer{margin-top:18px;color:#777;font-size:12px;line-height:1.5}

.hidden-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.project-photo strong,.project-photo small{display:block;line-height:1.45;}
.project-photo small{margin-top:7px;}

/* Center service photography across desktop, tablet, and phone */
.visual-showcase .wrap{display:flex;flex-direction:column;align-items:center}
.visual-showcase img{display:block;width:100%;max-width:1120px;height:auto;margin-inline:auto;object-fit:contain;object-position:center center}
.project-grid{align-items:stretch}
.project-photo{width:100%;min-width:0;isolation:isolate}
.project-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;margin:0 auto}
.project-photo>div{width:100%;box-sizing:border-box}
@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-photo{min-height:320px}}
@media(max-width:600px){.visual-showcase{padding:45px 0}.visual-showcase .wrap{padding-inline:16px}.visual-showcase img{width:100%;max-width:100%;object-fit:contain}.project-grid{grid-template-columns:minmax(0,1fr);gap:18px}.project-photo{height:330px;min-height:0}.project-photo img{object-position:center center}.project-photo>div{padding:20px}.project-photo strong{font-size:23px}}

/* Clean service section design: hide numerical markers */
.card-no{display:none!important}

/* Mobile-friendly service imagery: clean photographs and separate captions */
.project-photo{display:flex;flex-direction:column;align-items:stretch;min-height:0;height:auto;background:#181818;overflow:hidden}
.project-photo img{position:static;inset:auto;width:100%;height:230px;object-fit:cover;object-position:center;flex:none}
.project-photo:after{display:none}
.project-photo>div{position:static;padding:20px 22px 23px;background:#171717;min-height:106px;justify-content:center}
.project-photo strong{font-family:Oswald,Arial,sans-serif;font-size:clamp(21px,2.1vw,27px);letter-spacing:.01em;line-height:1.18}
.project-photo small{font-size:12px;letter-spacing:.025em;line-height:1.5;color:#ddd;margin-top:3px}
@media(max-width:900px){.project-grid{grid-template-columns:1fr}.project-photo{height:auto;min-height:0}.project-photo img{height:260px}.project-photo>div{padding:18px 20px;min-height:100px}}
@media(max-width:600px){.project-photo{height:auto;min-height:0}.project-photo img{height:245px;object-fit:cover;object-position:center}.project-photo>div{padding:18px 20px}.project-photo strong{font-size:23px}.project-grid{gap:20px}}
