:root{--ink:#090b0d;--line:rgba(255,255,255,.14);--muted:#9c9ea1;--warm:#c7a779;--rail:78px;--gutter:clamp(25px,4vw,78px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--ink);color:#f0f0ee;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #eacb9a;outline-offset:6px}.skip{position:fixed;top:0;left:20px;padding:15px;background:white;color:black;z-index:99;transform:translateY(-150%)}.skip:focus{transform:none}img{display:block;width:100%}.masthead{height:87px;position:absolute;top:0;left:var(--rail);right:0;z-index:20;display:flex;align-items:center;gap:40px;padding:0 var(--gutter);border-bottom:1px solid rgba(255,255,255,.06)}.brand{font-size:27px;font-weight:400;letter-spacing:.01em;line-height:1}.brand span{display:block;font-size:7px;letter-spacing:.29em;margin-top:7px}.masthead nav{display:flex;align-items:center;gap:32px;margin-left:auto}.masthead nav a,.header-cta{font-size:10px;font-weight:600;letter-spacing:.055em}.masthead nav a{color:#cdcdcd;padding:12px 0;position:relative}.masthead nav a:after{content:'';position:absolute;bottom:3px;height:1px;left:0;width:0;background:white;transition:width .2s}.masthead nav a:hover:after{width:100%}.header-cta{border:1px solid #6f7274;border-radius:30px;padding:12px 17px;display:flex;gap:20px;align-items:center}.header-cta:hover{background:white;color:#111}.header-cta span{font-size:18px}.menu-toggle{display:none}.build-scroll{height:600svh;position:relative}.build-stage{height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden;background:#0d1012}.architecture,.cinema-shade{position:absolute;inset:0}.architecture{left:var(--rail)}.scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;will-change:transform,opacity,clip-path;transform:scale(1.025)}.scene-foundation{opacity:1}.scene-structure,.scene-complete{opacity:0}.cinema-shade{background:linear-gradient(90deg,#090b0d 0%,rgba(9,11,13,.89) 15%,rgba(9,11,13,.73) 31%,rgba(9,11,13,.15) 61%,rgba(9,11,13,.05) 84%),linear-gradient(0deg,rgba(5,7,9,.6),transparent 28%,transparent 75%,rgba(5,7,9,.27))}.stage-rail{position:absolute;left:0;top:0;bottom:0;width:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;background:rgba(8,10,12,.83);z-index:4}.rail-item{padding:24px 12px;color:#6a6c70;border-left:2px solid transparent;transition:color .25s,border-color .25s}.rail-item span{display:block;font-size:21px;font-weight:400;margin-bottom:10px}.rail-item small{font-size:7px;line-height:1.5;letter-spacing:.02em;display:block}.rail-item.active{color:white;border-color:#dfba87;background:linear-gradient(90deg,rgba(223,186,135,.07),transparent)}.chapters{position:absolute;left:calc(var(--rail) + var(--gutter));top:50%;transform:translateY(-45%);width:min(570px,43vw);height:490px}.chapter{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(25px);transition:opacity .45s,transform .6s,visibility .45s}.chapter.current{opacity:1;visibility:visible;transform:none}.kicker{font-size:9px;font-weight:600;letter-spacing:.12em;margin:0 0 22px;color:#c4c4c4}h1,h2{font-weight:400;letter-spacing:-.045em;line-height:.97;margin:0}h1{font-size:clamp(44px,4.3vw,76px)}h1 span{color:#b9bbbc;font-size:.85em;white-space:nowrap}h2{font-size:clamp(42px,4.2vw,72px)}.chapter-description{font-size:14px;line-height:1.55;color:#bebfc1;max-width:330px;margin:26px 0 30px}.chapter-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.solid-button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;background:#f5f4ef;color:#191c1e;padding:16px 21px;font-size:10px;font-weight:600;letter-spacing:.04em;transition:background .2s,transform .2s}.solid-button span{font-size:20px;line-height:.6}.solid-button:hover{background:#dfc5a2;transform:translateY(-2px)}.watch-build{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.06em;font-weight:600}.play-circle{border:1px solid #666a6d;border-radius:50%;height:37px;width:37px;display:grid;place-items:center;font-size:17px}.under-link{display:inline-flex;align-items:center;gap:27px;font-size:10px;font-weight:600;letter-spacing:.06em;padding:10px 0;border-bottom:1px solid #747779}.under-link span{font-size:19px}.discipline{position:absolute;top:24%;right:var(--gutter);display:flex;flex-direction:column;gap:5px;font-size:8px;line-height:1.3;letter-spacing:.04em;color:#b6b7b9}.build-bottom{position:absolute;bottom:31px;left:calc(var(--rail) + var(--gutter));right:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:20px}.phase-status{font-size:9px;letter-spacing:.08em;display:flex;gap:9px;align-items:center}.status-dot{width:4px;height:4px;border-radius:50%;background:#d5b486;box-shadow:0 0 10px #c29c65}.scroll-cue{font-size:9px;letter-spacing:.07em;display:flex;gap:19px;align-items:center;color:#c0c0c0}.scroll-cue span{font-size:20px}.build-percentage{font-size:10px;color:#989b9d;font-variant-numeric:tabular-nums}.build-track{position:absolute;bottom:-31px;left:0;right:0;height:2px;background:#24272a}.build-track i{display:block;height:100%;width:0;background:#c7a779}.stage-anchor{position:absolute;left:0;top:calc(var(--stop)*125svh);pointer-events:none;width:1px;height:1px}.section{position:relative;display:grid;grid-template-columns:var(--rail) 1fr;border-top:1px solid var(--line)}.section-rail{border-right:1px solid var(--line);padding:32px 12px;color:#909295}.section-rail span{font-size:21px}.section-rail small{display:block;font-size:7px;line-height:1.6;margin-top:15px}.section-content{padding:70px var(--gutter)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.section-heading h2{font-size:clamp(32px,3.2vw,51px)}.section-heading p{font-size:12px;line-height:1.65;color:var(--muted);max-width:315px;margin:0}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.work-card{background:none;border:none;padding:0;text-align:left;cursor:pointer}.work-image{position:relative;overflow:hidden;background:#1a1c1e;aspect-ratio:1.38}.work-image img{height:100%;object-fit:cover;transition:transform .7s,filter .7s;filter:saturate(.72)}.work-card:hover img{transform:scale(1.06);filter:saturate(1)}.work-image span{position:absolute;bottom:12px;right:12px;background:rgba(10,11,12,.55);border:1px solid rgba(255,255,255,.4);height:30px;width:30px;display:grid;place-items:center;backdrop-filter:blur(10px)}.work-card h3{font-size:16px;font-weight:400;margin:17px 0 8px}.work-card p,.work-note{font-size:9px;letter-spacing:.015em;color:#939598}.work-note{margin-top:28px}.services-section{background:#0d1012}.services{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;gap:35px;cursor:pointer;padding:24px 0}summary::-webkit-details-marker{display:none}summary span{font-size:11px;color:#8c8e91}summary h3{font-size:clamp(17px,2vw,28px);font-weight:400;margin:0;letter-spacing:-.02em}summary b{margin-left:auto;font-size:23px;font-weight:300}details[open] summary b{transform:rotate(45deg)}details p{max-width:660px;margin:0 0 24px 48px;color:#a0a3a5;line-height:1.7;font-size:14px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:60px 0 0;gap:28px}.process-grid li{position:relative;border-top:1px solid #45494c;padding-top:30px}.process-grid li>span{position:absolute;left:0;top:-17px;background:#090b0d;border:1px solid #7b7e80;height:34px;width:34px;border-radius:50%;display:grid;place-items:center;font-size:10px}.process-grid h3{text-transform:uppercase;font-size:14px;font-weight:400}.process-grid p{font-size:12px;line-height:1.6;color:#929699;max-width:210px}.about-section{background:#111417}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.about-grid h2{font-size:clamp(32px,3.5vw,58px)}.about-grid p{font-size:14px;color:#9a9da0;line-height:1.7;max-width:470px;margin:0 0 24px}.about-grid .about-lead{font-size:20px;color:#e0e0de;line-height:1.5}.contact-section{min-height:580px;overflow:hidden}.contact-image{position:absolute;inset:0;background:linear-gradient(90deg,#090b0d 0%,rgba(9,11,13,.92) 36%,rgba(9,11,13,.17) 90%),url('/assets/architecture/complete.webp') center 40%/cover}.contact-section .section-content,.contact-section .section-rail{position:relative}.contact-section .section-content{padding-top:90px}.contact-section h2{font-size:clamp(36px,4.5vw,76px)}.contact-section p:not(.kicker){font-size:14px;line-height:1.6;color:#b5b6b7;margin:26px 0 32px}.email-link{display:block;font-size:12px;margin-top:28px;color:#b9babb}footer{display:flex;align-items:center;gap:35px;flex-wrap:wrap;padding:38px var(--gutter) 38px calc(var(--rail) + var(--gutter));border-top:1px solid var(--line)}footer p{font-size:10px;line-height:1.6;color:#888c90}footer nav{margin-left:auto;display:flex;gap:24px;font-size:9px}footer small{font-size:9px;color:#76797b}.project-dialog{border:1px solid #444;background:#111417;color:white;padding:0;max-width:850px;width:90vw;max-height:90vh}.project-dialog::backdrop{background:rgba(0,0,0,.85);backdrop-filter:blur(9px)}.dialog-content{padding:35px}.dialog-content img{max-height:50vh;object-fit:contain;background:#080a0b}.dialog-content h2{font-size:32px;margin:27px 0 14px}.dialog-content p{font-size:14px;color:#b7b8ba;line-height:1.7}.dialog-content .kicker{font-size:10px;color:#b4a388}.dialog-close{position:absolute;right:12px;top:12px;font-size:28px;border:1px solid #626262;background:#15191b;color:white;width:40px;height:40px;z-index:2;cursor:pointer}.noscript-note{padding:24px;margin:0;background:#191c1f;font-size:12px}
@media(min-width:1700px){.chapters{width:620px;height:540px}.chapter-description{font-size:16px;max-width:380px}.scene{object-position:center}.masthead nav{gap:42px}}
@media(max-width:1100px){:root{--rail:58px;--gutter:28px}.rail-item{padding:18px 8px}.rail-item small,.section-rail small{font-size:6px}.masthead{gap:20px}.masthead nav{gap:22px}.chapters{width:49vw;height:450px}h1{font-size:55px}.discipline{display:none}.chapter-actions{gap:15px}.chapter-description{font-size:13px}.section-heading{align-items:start}.section-heading p{max-width:230px}.work-grid{gap:15px}.about-grid{gap:35px}}
@media(max-width:720px){:root{--rail:0px;--gutter:23px}.masthead{height:76px;gap:15px;padding:0 23px}.brand{font-size:24px}.header-cta{margin-left:auto;font-size:8px;padding:10px 12px;gap:12px}.menu-toggle{display:flex;gap:8px;align-items:center;background:none;border:none;padding:10px 0;font-size:8px;order:3}.menu-toggle span{font-size:20px}.masthead nav{display:none;position:absolute;top:76px;left:0;right:0;background:#121518;border-bottom:1px solid #404348;margin:0;padding:28px;gap:26px}.masthead nav.open{display:flex;flex-wrap:wrap}.stage-rail{display:none}.build-stage{min-height:620px}.scene{object-position:65% center}.cinema-shade{background:linear-gradient(90deg,rgba(8,10,12,.92),rgba(8,10,12,.7) 45%,rgba(8,10,12,.15)),linear-gradient(0deg,rgba(8,10,12,.62),transparent 40%)}.chapters{top:43%;transform:translateY(-40%);width:calc(100% - 46px);height:400px}h1{font-size:clamp(43px,9.5vw,62px)}h1 span{font-size:.8em}.chapter h2{font-size:clamp(42px,10vw,62px)}.kicker{font-size:8px;letter-spacing:.09em;margin-bottom:23px}.chapter-description{max-width:280px;font-size:13px;margin:23px 0}.solid-button{padding:14px 16px;font-size:9px;gap:22px}.watch-build{font-size:8px;gap:9px}.play-circle{width:31px;height:31px}.build-bottom{bottom:24px}.scroll-cue{font-size:7px;gap:10px}.phase-status{font-size:8px}.build-percentage{display:none}.build-track{bottom:-24px}.section{display:block}.section-rail{border-right:none;padding:24px 23px 0;display:flex;align-items:center;gap:15px}.section-rail span{font-size:16px}.section-rail small{margin:0;font-size:8px}.section-content{padding:30px 23px 50px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:35px}.section-heading p{margin-top:25px;max-width:none;font-size:12px}.work-grid{grid-template-columns:1fr;gap:30px}.work-image{aspect-ratio:1.65}.work-card h3{font-size:18px}.work-card p{font-size:10px}.services summary{gap:17px;padding:22px 0}summary h3{font-size:18px}details p{margin-left:29px;font-size:13px}.process-grid{grid-template-columns:1fr 1fr;gap:48px 24px;margin-top:43px}.about-grid{display:block}.about-grid h2{font-size:38px;margin-bottom:30px}.about-grid .about-lead{font-size:19px}.contact-section{min-height:530px}.contact-section .section-content{padding-top:36px}.contact-section h2{font-size:44px}.contact-image{background-position:65% center}.contact-section p:not(.kicker){font-size:13px}.email-link{font-size:11px}footer{padding:30px 23px;gap:25px}footer nav{width:100%;margin:0;justify-content:space-between}footer small{margin-top:4px}.dialog-content{padding:20px}.dialog-content h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.build-scroll{height:100svh}.scene-foundation,.scene-structure{display:none}.scene-complete{opacity:1!important;clip-path:none!important;transform:none!important}.stage-rail{display:none}.build-track,.build-percentage,.scroll-cue,.watch-build{display:none}.work-card:hover img{transform:none}}
/* Continuous native 3D construction replaces the staged image wipes. */
.architecture{left:0}.scene-foundation{opacity:.4;mask-image:linear-gradient(90deg,#000 0%,#000 62%,transparent 97%)}.scene-complete{opacity:1;clip-path:none;transition:opacity .6s}.architecture.webgl-ready .scene-complete{opacity:0;pointer-events:none}#building-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}.build-stage:before{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--rail);border-right:1px solid var(--line);z-index:5;background:rgba(8,10,12,.3)}.cinema-shade{z-index:2;pointer-events:none}.chapters,.discipline,.build-bottom{z-index:4}.build-stage{min-height:620px}.build-scroll{height:500svh}.stage-anchor{top:calc(var(--stop)*100svh)}.architecture.failed #building-canvas{display:none}.architecture.failed .scene-complete{opacity:1}@media(prefers-reduced-motion:reduce){.architecture.webgl-ready .scene-complete{opacity:0!important;display:none}}

/* The live scene owns the ground, horizon, light and shadows. */
.architecture.webgl-ready .scene-foundation{display:none}.architecture.webgl-ready{background:#10151b}.architecture.webgl-ready #building-canvas{background:#10151b}

/* A single skyline grades continuously from monochrome into golden blue hour. */
.vegas-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 43%;filter:grayscale(1) saturate(.15) brightness(.58);transform:scale(1.025);will-change:filter;z-index:0}.architecture.webgl-ready #building-canvas{background:transparent}.architecture.webgl-ready{background:#11151a}@media(max-width:720px){.vegas-backdrop{object-position:64% center}}

/* Dedicated phone composition: copy above, complete scroll construction below. */
@media(max-width:720px){
 .build-stage{height:100svh;min-height:620px}
 .architecture{top:285px;bottom:40px}
 .chapters{top:108px;left:23px;width:calc(100% - 46px);height:265px;transform:none}
 .chapter h1{font-size:clamp(30px,8.3vw,41px);line-height:.94}
 .chapter h1 br:nth-of-type(1),.chapter h1 br:nth-of-type(2){display:none}
 .chapter h1 span{font-size:.8em}
 .chapter h2{font-size:clamp(30px,8.3vw,41px);line-height:.98}
 .chapter h2 br{display:none}
 .chapter h2 br:after{content:' '}
 .chapter .kicker{margin-bottom:15px;font-size:7px}
 .chapter-description{font-size:12px;line-height:1.5;max-width:340px;margin:17px 0}
 .chapter-actions{gap:18px}
 .cinema-shade{background:linear-gradient(180deg,#090b0d 0%,#090b0d 20%,rgba(9,11,13,.85) 32%,transparent 54%,transparent 85%,#090b0d 100%)}
 .vegas-backdrop{object-position:67% center}
 .build-bottom{bottom:22px}
}
@media(max-width:380px){.architecture{top:305px}.chapters{height:280px}.chapter h2{font-size:30px}.chapter-actions{gap:12px}.solid-button{padding:13px 14px}}
@media(max-width:720px) and (prefers-reduced-motion:reduce){.build-scroll{height:740px}.build-stage{height:740px}}
