@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#141514;--muted:#a5a49d;--gold:#dfa65a;--paper:#eeeae0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--paper);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}header{height:96px;display:flex;justify-content:space-between;align-items:center;padding:0 6%;border-bottom:1px solid #ffffff15}.brand{display:flex;gap:12px;align-items:center;font-size:19px;letter-spacing:1px}.brandmark{font-size:44px;color:var(--gold)}b{color:var(--gold)}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:4px}nav{display:flex;gap:34px;align-items:center;font-size:13px}.navcta{border:1px solid #ffffff45;padding:12px 20px}.hero{display:grid;grid-template-columns:1.03fr 1fr;min-height:690px}.hero-copy{padding:85px 7% 55px 12%}.eyebrow{font-size:11px;letter-spacing:2.4px;color:var(--gold);font-weight:600;margin:0 0 27px}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500;letter-spacing:-2.5px;margin:0}h1{font-size:clamp(44px,4.7vw,76px);line-height:1.12}em{font-style:normal;color:var(--gold)}.intro{max-width:400px;font-size:16px;line-height:1.8;color:var(--muted);margin:30px 0}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.button{background:var(--gold);color:#151514;padding:17px 24px;border:0;display:inline-block;font-weight:600;font-size:13px}.button:hover{background:#f0bb78}.textlink{font-size:13px;border-bottom:1px solid #ffffff40;padding:8px 0}.hero-note{display:flex;gap:25px;margin-top:65px;align-items:center;font-size:11px;color:var(--muted)}.hero-note span{color:var(--gold);border-right:1px solid #555;padding-right:25px}.hero-note p{line-height:1.6}.hero-image{position:relative;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;filter:brightness(.73)}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#141514bb,transparent 50%)}.image-caption{position:absolute;bottom:50px;left:40px;z-index:2}.image-caption span{display:block;font-size:10px;letter-spacing:2px;margin-bottom:13px}.image-caption strong{font-size:21px;font-weight:400}.orb{position:absolute;top:30px;right:30px;width:92px;height:92px;border:1px solid #e4af67;border-radius:50%;z-index:2}.orb:after{content:'360°';display:grid;place-items:center;height:100%;font-size:23px}.explore,.portfolio,.process,.contact{padding:95px 6%}.explore{background:#1c1d1a}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:25px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:0}h2{font-size:clamp(34px,3.7vw,55px);line-height:1.2}.section-heading>p:last-child{color:var(--muted);max-width:340px;justify-self:end;line-height:1.8;font-size:14px}.explore-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;margin-top:35px;align-items:center}.scene{height:420px;position:relative;perspective:900px;overflow:hidden;background:radial-gradient(ellipse,#a97a3b20,transparent 65%);touch-action:pan-y}.house{position:absolute;left:50%;top:54%;width:310px;height:240px;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(60deg) rotateZ(-35deg);transition:transform .15s}.floor{position:absolute;inset:0;background:#b7a28a;border:7px solid #d8b787;box-shadow:25px 30px 35px #0008}.wall{position:absolute;background:#ddd6c8;border:2px solid #b9ae9e;height:140px;transform-origin:bottom;bottom:100%}.back{width:310px;transform:rotateX(-90deg)}.side{width:240px;left:0;bottom:0;transform-origin:left bottom;transform:rotateX(-90deg) rotateY(-90deg)}.part{position:absolute;transform-style:preserve-3d;border:1px solid #f2c383;background:#9b6f40;color:white}.part:hover,.part:focus-visible{background:#f1b365;outline:3px solid white}.part span{position:absolute;white-space:nowrap;left:50%;top:50%;transform:translate(-50%,-50%);font-size:12px;background:#151514e8;padding:8px;color:#f7d09e}.roof{width:310px;height:100px;top:-15px;transform:translateZ(150px) rotateX(-15deg);background:repeating-linear-gradient(90deg,#40382f 0 15px,#6c5844 16px 18px)}.foundation{width:310px;height:30px;bottom:-30px;background:#787b74}.panel{width:18px;height:150px;left:178px;top:30px;transform:translateZ(50px);background:#eee9db}.window{width:88px;height:55px;left:25px;top:17px;transform:translateZ(100px);background:#ffe1a1;box-shadow:0 0 35px #ffc96766}.cabinet{width:85px;height:58px;right:15px;bottom:15px;transform:translateZ(35px);background:#a57141}.pipe{width:75px;height:18px;left:20px;bottom:30px;transform:translateZ(12px);background:#5f838a}.scene-note{position:absolute;bottom:0;width:100%;text-align:center;font-size:9px;letter-spacing:2px;color:#a5a49d}.service-detail{border-left:1px solid #ffffff20;padding:30px 0 30px 45px}.service-detail>span{font-size:10px;letter-spacing:2px;color:var(--gold)}h3{font-size:30px;letter-spacing:-1px;margin-top:22px}.service-detail p{color:var(--muted);line-height:1.8;font-size:14px;max-width:390px}.service-detail ul{padding:0;list-style:none;line-height:2.3;font-size:13px;margin:22px 0}.service-detail li:before{content:'↗';color:var(--gold);margin-right:12px}.gold{color:var(--gold)}.service-tabs{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.service-tabs button,.filters button,.outline{background:transparent;border:1px solid #ffffff25;color:var(--muted);padding:13px 17px;font-size:12px}.service-tabs button.active,.filters button.active{color:#171714;background:var(--gold);border-color:var(--gold)}.portfolio{background:var(--paper);color:#252723}.portfolio-heading{display:flex;justify-content:space-between;gap:30px;align-items:end}.portfolio .eyebrow{color:#8b5c25}.portfolio em{color:#95652e}.portfolio-heading>p{font-size:13px;line-height:1.8;color:#73746b}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:40px 0 25px}.filters button,.outline{border-color:#25272335;color:#555}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.photo{border:0;padding:0;background:transparent;text-align:left;color:#252723}.photo img{width:100%;height:290px;object-fit:cover;transition:transform .4s}.photo .photo-wrap{overflow:hidden;background:#d8d3c7}.photo:hover img{transform:scale(1.04)}.photo p{font-size:14px;margin:13px 0 5px}.photo small{color:#79796f;font-size:10px;letter-spacing:1px}.outline{display:block;margin:35px auto 0;padding:15px 30px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.steps article{border-top:1px solid #ffffff25;padding-top:25px}.steps span{color:var(--gold);font-size:12px}.steps p{color:var(--muted);font-size:14px;line-height:1.8;max-width:310px}.contact{background:#24241e;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact p{color:var(--muted);font-size:14px;line-height:1.8}.phone{display:inline-block;font-size:25px;margin-top:25px;color:var(--gold)}form{display:flex;flex-direction:column;gap:10px}label{font-size:11px;color:#d3d0c5;margin-top:8px}input,select,textarea{border:1px solid #ffffff30;background:#171815;color:var(--paper);padding:15px;border-radius:0;width:100%;font-size:13px}textarea{resize:vertical}form .button{margin-top:10px}form small{color:var(--muted);font-size:10px;line-height:1.6}.identity{padding:65px 6%;display:flex;gap:60px;align-items:center;justify-content:center}.identity img{width:240px}.identity p{font-size:14px;line-height:2.3;color:var(--muted);max-width:430px}footer{padding:28px 6%;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1px}.floating{position:fixed;right:20px;bottom:20px;background:var(--gold);color:#171714;padding:14px 20px;font-size:12px;z-index:10;box-shadow:0 4px 20px #0005}dialog{border:0;background:#161715;color:var(--paper);max-width:90vw;width:1000px;padding:25px}dialog::backdrop{background:#000d}dialog>img{display:block;max-height:75vh;max-width:100%;margin:auto}dialog p{text-align:center;font-size:13px}.close{position:absolute;right:8px;top:5px;border:0;background:#151514;color:white;font-size:28px}dialog>div{display:flex;justify-content:center;gap:20px}dialog>div button{background:transparent;color:white;border:1px solid #555;padding:8px 20px}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}@media(max-width:900px){header{padding:0 5%;height:80px}nav{gap:15px}nav>a:first-child{display:none}.brand{font-size:14px}.hero{grid-template-columns:1fr}.hero-copy{padding:60px 6% 40px}.hero-image{height:390px}.hero-note{margin-top:35px}.section-heading{grid-template-columns:1fr}.section-heading>p:last-child{justify-self:start}.explore-grid{grid-template-columns:1fr;gap:15px}.service-detail{padding:25px;border-left:0;border-top:1px solid #ffffff20}.scene{height:370px}.explore,.portfolio,.process,.contact{padding:65px 6%}.portfolio-heading{display:block}.gallery{grid-template-columns:repeat(2,1fr);gap:18px}.photo img{height:250px}.steps{gap:25px}.contact{grid-template-columns:1fr;gap:35px}.identity{gap:30px}.identity img{width:160px}}@media(max-width:550px){nav .navcta{padding:10px;font-size:11px}nav>a:nth-child(2){display:none}.hero-image{height:320px}h1{font-size:43px}.gallery{grid-template-columns:1fr 1fr;gap:18px 12px}.photo img{height:205px}.photo p{font-size:12px}.steps{grid-template-columns:1fr;gap:20px}.steps h3{margin-top:10px}.identity{flex-direction:column;gap:10px;text-align:center}.identity img{width:220px}footer{flex-wrap:wrap;padding-bottom:85px}.section-heading h2,.portfolio h2,.contact h2,.process h2{font-size:35px}.house{scale:.85}.floating{padding:12px 15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-logo{background:#101110;display:flex;align-items:center;justify-content:center}.hero-logo>img{height:auto;width:100%;max-height:760px;object-fit:contain;filter:none}.hero-logo:after{display:none}@media(max-width:900px){.hero-image.hero-logo{height:auto;min-height:0}.hero-logo>img{max-height:none;width:100%}}

/* Full-width branded opening */
header{position:relative;z-index:3;height:100px;background:#121310}.original-brand img{display:block;width:125px;height:84px;object-fit:contain}.banner{position:relative;display:block;min-height:710px;overflow:hidden;background:#151714;isolation:isolate}.banner-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:-3}.banner-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,10,.94),rgba(10,12,10,.82) 45%,rgba(10,12,10,.38)),linear-gradient(0deg,#11140fd9,transparent 60%);z-index:-2}.banner-content{display:grid;grid-template-columns:minmax(220px,25%) 1fr;gap:7%;align-items:center;padding:110px 6% 145px;min-height:650px}.banner-brand img{display:block;width:100%;height:auto;box-shadow:0 20px 60px #0005;border:1px solid #e4b77925}.banner-brand p{font-size:10px;line-height:1.8;letter-spacing:3px;color:#d6be99;margin:25px 0;text-align:center}.banner-message h1{font-size:clamp(38px,4.2vw,65px);line-height:1.15;letter-spacing:-2px}.banner-message .intro{max-width:540px;color:#dedfd4;text-shadow:0 2px 10px #000;font-size:16px}.banner-bottom{position:absolute;bottom:0;left:6%;right:6%;display:flex;gap:35px;align-items:center;padding:26px 0;border-top:1px solid #ffffff30;font-size:10px;letter-spacing:2px;color:#d6d5c9}.banner-bottom a{margin-left:auto;color:var(--gold);letter-spacing:0;font-size:12px}@media(max-width:900px){.banner-content{gap:5%;grid-template-columns:25% 1fr;padding:80px 6% 125px}.banner-message h1{font-size:42px}.banner-bottom{gap:20px}.banner-bottom span:nth-child(3),.banner-bottom span:nth-child(4){display:none}}@media(max-width:600px){header{height:85px}.original-brand img{height:72px;width:100px}.banner{min-height:750px}.banner-content{grid-template-columns:1fr;padding:35px 6% 105px;gap:25px}.banner-brand{width:46%;max-width:210px}.banner-brand p{display:none}.banner-message h1{font-size:36px;letter-spacing:-1.3px}.banner-message .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:20px}.banner-message .intro{font-size:14px;margin:23px 0}.banner-shade{background:linear-gradient(90deg,#0c0e0be8,#0c0e0bb5),linear-gradient(0deg,#0c0e0be8,transparent)}.banner-bottom{font-size:8px;letter-spacing:1px;gap:15px}.banner-bottom a{font-size:10px}.banner-background{object-position:60% center}.actions{gap:18px}}

.banner-brand img{background:transparent;border:0;box-shadow:none;filter:drop-shadow(0 3px 7px rgba(0,0,0,.35))}.original-brand img,.identity img{background:transparent;border:0;box-shadow:none}
