:root{--blue:#199de1;--black:#080b0f;--white:#f6f7f8;--gray:#a7adb4;--line:rgba(255,255,255,.16);--darkline:rgba(8,11,15,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",Arial,sans-serif;background:var(--black);color:var(--white);font-size:16px}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-weight:300;letter-spacing:-.055em;line-height:.94}em{font-style:normal;color:var(--blue)}
.site-header{height:84px;position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.75),transparent);transition:.3s}.site-header.scrolled{height:66px;background:rgba(8,11,15,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.wordmark{font-weight:600;font-size:1.25rem;letter-spacing:-.04em}.wordmark span{color:var(--blue)}nav{display:flex;gap:2.2rem;font-size:.9rem}nav a,.quote-link{transition:color .2s}nav a:hover,.quote-link:hover{color:var(--blue)}.quote-link{font-size:.9rem;border-bottom:1px solid currentColor;padding-bottom:.25rem}.menu{display:none;background:none;border:0;width:40px;height:40px}.menu span{display:block;height:1px;background:#fff;margin:7px 0}
.dark{background:var(--black);color:var(--white)}.light{background:var(--white);color:var(--black)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:600;color:var(--blue);margin-bottom:1.5rem}.section-head h2{font-size:clamp(4rem,8vw,8rem)}
.hero{min-height:100vh;display:grid;grid-template-columns:44% 56%;padding:9rem 4vw 4rem;overflow:hidden;position:relative}.hero-copy{display:flex;flex-direction:column;justify-content:center;z-index:2}.hero h1{font-size:clamp(4rem,7.2vw,8rem)}.hero-intro{max-width:33rem;margin:2.2rem 0;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.5;color:#c1c6ca;font-weight:300}.button{display:inline-flex;align-items:center;justify-content:space-between;width:210px;padding:1rem 1.2rem;background:var(--blue);color:#071017;font-weight:600}.hero-visual{align-self:center;position:relative;height:min(70vh,700px);margin-left:-3vw}.hero-visual>img{height:100%;filter:saturate(.65);clip-path:polygon(8% 0,100% 0,100% 90%,0 100%,0 12%)}.floating-card{position:absolute;background:#111822;padding:.55rem;box-shadow:0 20px 60px #000;max-width:34%;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.floating-card img{aspect-ratio:1.35}.floating-card span{display:block;padding:.55rem .25rem .2rem}.finished{right:-1vw;bottom:2rem}.detail{left:-3rem;top:-2rem;width:28%}.scroll-note{position:absolute;left:4vw;bottom:2rem;color:#7f878e;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.scroll-note span{color:var(--blue);padding-left:.6rem}
.statement{padding:12vw 8vw}.statement h2{max-width:72rem;font-size:clamp(3rem,6vw,6.5rem)}.accent-line{font-size:clamp(1.1rem,2vw,1.6rem);color:#737a81;margin-top:3rem}.accent-line::before{content:"";display:inline-block;width:4rem;height:2px;background:var(--blue);vertical-align:middle;margin-right:1rem}
.services,.projects,.process,.faq,.contact{padding:10vw 4vw}.services .section-head,.projects .section-head,.process .section-head,.faq .section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8vw}.services .section-head h2,.process .section-head h2{text-align:right}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-bottom:7vw}.service-card{padding:2rem 2rem 4rem 0;border-right:1px solid var(--line)}.service-card+article{padding-left:2rem}.service-card span,.project-label span{font-size:.72rem;color:var(--blue);letter-spacing:.12em;text-transform:uppercase}.service-card h3{font-size:1.6rem;font-weight:400;margin:4rem 0 1rem}.service-card p{line-height:1.6;color:#aab0b5;max-width:23rem}.wide-image{position:relative}.wide-image img{height:min(65vw,720px)}.wide-image>div{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(0,0,0,.9));padding:7rem 3rem 2.5rem;display:flex;justify-content:space-between;align-items:end}.wide-image strong{font-size:clamp(2rem,4vw,4.5rem);font-weight:300}.wide-image span{color:#c7cbd0}
.projects .section-head h2{text-align:right}.project{margin-bottom:5vw}.project img{aspect-ratio:1.6;filter:saturate(.82)}.project.feature img{aspect-ratio:1.85}.project-label{display:grid;grid-template-columns:20% 45% 35%;padding:1.5rem 0;border-bottom:1px solid var(--darkline);align-items:start}.project-label h3{font-size:clamp(1.5rem,3vw,3rem);font-weight:400}.project-label p{color:#6f767c;line-height:1.5}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:2vw}.project-pair .project-label{display:block}.project-pair .project-label h3{margin-top:.7rem}.interior-strip{display:grid;grid-template-columns:1.25fr .75fr;gap:2vw}.interior-strip img{height:42vw;max-height:600px}
.process{position:relative;overflow:hidden}.process ol{list-style:none;margin:0 0 0 38%;padding:0;border-top:1px solid var(--line);position:relative;z-index:2}.process li{display:grid;grid-template-columns:15% 1fr;padding:2rem 0;border-bottom:1px solid var(--line)}.process li>span{color:var(--blue);font-size:.75rem}.process h3{font-weight:400;font-size:1.7rem;margin-bottom:.75rem}.process li p{color:#969da4;max-width:32rem;line-height:1.55}.process-image{width:30%;height:42vw;max-height:560px;position:absolute;left:4vw;bottom:8vw;opacity:.5;filter:grayscale(1)}
.faq .section-head h2{text-align:right}.faq-list{margin-left:25%;border-top:1px solid var(--darkline)}details{border-bottom:1px solid var(--darkline)}summary{font-size:clamp(1.2rem,2.2vw,2rem);padding:1.8rem 0;list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem}summary::-webkit-details-marker{display:none}summary span{color:var(--blue);font-weight:300}details[open] summary span{transform:rotate(45deg)}details p{max-width:50rem;color:#626970;line-height:1.6;padding:0 4rem 2rem 0}
.contact{background:var(--blue);color:#071017;padding-bottom:2rem}.contact-lead{display:grid;grid-template-columns:1fr 2fr;gap:3rem;padding-bottom:8vw}.contact-lead .eyebrow{color:#071017}.contact-lead h2{font-size:clamp(3.5rem,8vw,8rem);grid-row:1/3;grid-column:2}.contact-lead h2 em{color:#fff}.contact-lead>p:last-child{align-self:end;line-height:1.6;max-width:25rem}.contact-links{border-top:1px solid rgba(0,0,0,.25)}.contact-links a{display:grid;grid-template-columns:18% 1fr auto;align-items:center;padding:1.6rem 0;border-bottom:1px solid rgba(0,0,0,.25)}.contact-links strong{font-weight:400;font-size:clamp(1.25rem,2.7vw,2.5rem)}.contact-links b{font-size:1.5rem}footer{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;padding-top:8vw}footer .wordmark{font-size:clamp(2rem,5vw,5rem)}footer p{line-height:1.5}footer small{text-align:right}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:68px;padding:0 1.2rem}.site-header nav,.quote-link{display:none}.menu{display:block}.site-header.open nav{display:flex;position:absolute;top:68px;left:0;right:0;background:#080b0f;flex-direction:column;padding:2rem 1.2rem;font-size:1.4rem}.hero{grid-template-columns:1fr;padding:8rem 1.2rem 5rem;min-height:auto}.hero h1{font-size:clamp(3.5rem,17vw,6rem)}.hero-visual{height:70vw;margin:4rem 0 0}.floating-card{display:none}.scroll-note{display:none}.statement,.services,.projects,.process,.faq,.contact{padding:7rem 1.2rem}.services .section-head,.projects .section-head,.process .section-head,.faq .section-head{display:block;margin-bottom:4rem}.services .section-head h2,.projects .section-head h2,.process .section-head h2,.faq .section-head h2{text-align:left;font-size:3.8rem}.service-grid{grid-template-columns:1fr}.service-card,.service-card+article{padding:2rem 0;border-right:0;border-bottom:1px solid var(--line)}.service-card h3{margin:2rem 0 1rem}.wide-image img{height:85vw}.wide-image>div{padding:5rem 1rem 1.25rem;display:block}.wide-image span{display:block;margin-top:.5rem}.project-label{grid-template-columns:1fr;gap:.7rem}.project-pair{grid-template-columns:1fr}.interior-strip{grid-template-columns:1fr}.interior-strip img{height:80vw}.process ol{margin-left:0}.process-image{display:none}.faq-list{margin-left:0}.contact-lead{display:block}.contact-lead h2{margin:2rem 0}.contact-links a{grid-template-columns:1fr auto}.contact-links a span{grid-column:1/3;margin-bottom:.6rem}.contact-links strong{font-size:1.15rem}footer{grid-template-columns:1fr;gap:2rem}footer small{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Cinematic motion update */
.hero{display:flex;align-items:center;grid-template-columns:none;isolation:isolate}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,8,12,.86) 0%,rgba(5,8,12,.58) 43%,rgba(5,8,12,.1) 75%,rgba(5,8,12,.24) 100%)}
.hero::before{content:"";position:absolute;z-index:0;inset:-40% -25%;background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.25),rgba(255,255,255,0) 45%);mix-blend-mode:soft-light;animation:cloudLight 14s ease-in-out infinite alternate;pointer-events:none}
.hero-copy{width:min(57rem,72%);text-shadow:0 3px 30px rgba(0,0,0,.5)}
.hero-intro{color:#d4d8db}
.hero-visual{position:absolute;inset:0;z-index:-2;margin:0;height:auto;overflow:hidden}
.hero-visual>img{height:100%;width:100%;object-fit:cover;object-position:center;clip-path:none;filter:saturate(.94) contrast(1.03) brightness(1.15);animation:heroDrift 18s ease-in-out infinite alternate}
.scroll-note{z-index:2;color:#b4bac0}
@keyframes heroDrift{from{transform:scale(1.035) translate3d(-.4%,0,0)}to{transform:scale(1.09) translate3d(.8%,-.8%,0)}}
@keyframes cloudLight{from{transform:translate3d(-16%,0,0) scale(.9);opacity:.25}to{transform:translate3d(17%,3%,0) scale(1.15);opacity:.9}}

.service-card{overflow:hidden}
.service-card .capability-number{display:block;font-size:clamp(5rem,9vw,9rem);font-weight:600;line-height:.8;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:1.5px var(--blue);transform:scale(var(--number-scale,1));transform-origin:left center;transition:transform .12s linear,color .35s ease}
.service-card:hover .capability-number{color:var(--blue);-webkit-text-stroke-color:var(--blue)}
.service-card h3{margin-top:3rem}
.wide-image span{font-size:1.15rem}

.photo-motion{position:relative;overflow:hidden}
.photo-motion::after{content:"";position:absolute;left:0;right:0;top:0;height:calc(100% - 110px);pointer-events:none;background:linear-gradient(115deg,rgba(4,12,25,.45),rgba(255,220,150,.08) 42%,rgba(255,255,255,.26) 53%,rgba(7,18,38,.55) 78%);background-size:240% 100%;mix-blend-mode:multiply;animation:dayNight 18s ease-in-out infinite alternate}
.photo-motion img{animation:projectBreath 18s ease-in-out infinite alternate}
.photo-motion .project-label{position:relative;z-index:2;background:var(--white)}
@keyframes dayNight{0%{background-position:0 50%;opacity:.78}48%{opacity:.14}100%{background-position:100% 50%;opacity:.88}}
@keyframes projectBreath{from{transform:scale(1);filter:saturate(.78) brightness(.78)}50%{filter:saturate(.95) brightness(1.08)}to{transform:scale(1.035);filter:saturate(.72) brightness(.72)}}

footer{grid-template-columns:1.2fr 1fr 1fr;gap:3rem}
footer .wordmark{line-height:.82;align-self:end}
footer p,footer small{align-self:end;margin:0;line-height:1.45}

@media(max-width:800px){.hero{display:flex;min-height:88vh;padding:8rem 1.2rem 5rem}.hero-copy{width:100%}.hero-visual{height:auto;margin:0}.service-card .capability-number{font-size:6rem}footer{grid-template-columns:1fr;gap:2rem}.photo-motion::after{height:calc(100% - 150px)}}
@media(prefers-reduced-motion:reduce){.hero-visual>img,.hero::before,.photo-motion::after,.photo-motion img{animation:none}}

/* Separate closing brand band */
.contact{padding-bottom:0}
.contact footer{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.35rem;background:#dfe3e6;color:#111820;margin:8vw -4vw 0;padding:5rem 4vw 2.25rem}
.contact footer .wordmark{font-size:clamp(3rem,7vw,6.5rem);line-height:.85}
.contact footer p{font-size:1.05rem;line-height:1.6;max-width:34rem}
.contact footer small{text-align:center;color:#5b646c}
@media(max-width:800px){.contact footer{margin:6rem -1.2rem 0;padding:4rem 1.2rem 2rem}.contact footer .wordmark{font-size:3.4rem}}

.process li{grid-template-columns:minmax(7.5rem,24%) 1fr;align-items:center;min-height:12rem}
.process li .process-number{display:block;font-size:clamp(4.8rem,8vw,8.5rem);font-weight:600;line-height:.8;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:1.5px var(--blue);transform:scale(var(--number-scale,1));transform-origin:left center;transition:transform .12s linear,color .35s ease}
.process li:hover .process-number{color:var(--blue);-webkit-text-stroke-color:var(--blue)}
@media(max-width:800px){.process li{grid-template-columns:7rem 1fr;min-height:9.5rem;gap:1rem}.process li .process-number{font-size:4.7rem}}

.project-reel{height:min(65vw,720px);overflow:hidden;background:#0b1117}
.project-reel .reel-track{position:absolute;inset:0 auto 0 0;padding:0;background:none;display:flex;width:800%;height:100%;animation:projectReel 38s cubic-bezier(.76,0,.24,1) infinite}
.project-reel .reel-track img{flex:0 0 12.5%;width:12.5%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.04)}
.project-reel .reel-title{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;padding:3rem;background:linear-gradient(180deg,transparent 40%,rgba(3,8,13,.76) 100%)}
.project-reel .reel-title strong{font-size:clamp(3.6rem,8vw,8.5rem);line-height:.86;letter-spacing:-.06em;font-weight:400;color:#fff;text-shadow:0 3px 30px rgba(0,0,0,.35)}
@keyframes projectReel{0%,10%{transform:translateX(0)}14%,24%{transform:translateX(-12.5%)}28%,38%{transform:translateX(-25%)}42%,52%{transform:translateX(-37.5%)}56%,66%{transform:translateX(-50%)}70%,80%{transform:translateX(-62.5%)}84%,94%{transform:translateX(-75%)}100%{transform:translateX(-87.5%)}}
@media(max-width:800px){.project-reel{height:90vw}.project-reel .reel-title{padding:1.25rem}.project-reel .reel-title strong{font-size:3.5rem}}
@media(prefers-reduced-motion:reduce){.project-reel .reel-track{animation:none}}

.project-pair{background:#dfe3e6;padding:2vw;gap:2vw;margin:0 -2vw 5vw}
.project-pair .project{margin-bottom:0;background:#eef0f2}
.project-pair .project-label{padding:1.5rem}
.technical-strip{display:grid;grid-template-columns:.8fr 1.2fr;gap:2vw;background:#0b1016;padding:2vw;margin-top:2vw}
.technical-strip figure{margin:0;position:relative;overflow:hidden}
.technical-strip img{height:40vw;max-height:580px;object-fit:cover;transition:transform .8s ease}
.technical-strip figure:hover img{transform:scale(1.025)}
.technical-strip figcaption{position:absolute;left:1.25rem;bottom:1.25rem;color:#fff;background:rgba(5,10,15,.72);padding:.7rem 1rem;text-transform:uppercase;font-size:.72rem;letter-spacing:.14em}
.performance-grid{display:grid;grid-template-columns:repeat(3,1fr);background:#dfe3e6;margin:2vw -2vw 0;padding:2vw}
.performance-grid article{padding:2rem 2rem 3rem;border-right:1px solid rgba(8,11,15,.15)}
.performance-grid article:last-child{border-right:0}
.performance-grid span{display:block;color:var(--blue);font-weight:600;font-size:clamp(4.5rem,8vw,8rem);line-height:.9;letter-spacing:-.06em}
.performance-grid h3{font-size:clamp(1.7rem,3vw,3rem);font-weight:400;margin:2rem 0 1rem}
.performance-grid p{color:#5e676e;line-height:1.6;max-width:24rem}
@media(max-width:800px){.project-pair{margin:0 -1.2rem 4rem;padding:1.2rem}.technical-strip{grid-template-columns:1fr;margin:0 -1.2rem;padding:1.2rem}.technical-strip img{height:75vw}.performance-grid{grid-template-columns:1fr;margin:1.2rem -1.2rem 0;padding:1.2rem}.performance-grid article{border-right:0;border-bottom:1px solid rgba(8,11,15,.15);padding:2rem 1rem}.performance-grid article:last-child{border-bottom:0}.performance-grid h3{margin:1.5rem 0 .8rem}}

/* Construction reels */
.technical-strip{grid-template-columns:1fr}
.technical-strip .sequence-reel{height:min(56vw,760px);background:#101923;isolation:isolate}
.sequence-reel .reel-frames{position:absolute;inset:0;overflow:hidden}
.technical-strip .sequence-reel .reel-frames img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity 1s ease,transform 4s ease}
.technical-strip .sequence-reel .reel-frames img.active{opacity:1;transform:scale(1)}
.technical-strip .sequence-reel:hover img{transform:none}
.technical-strip .sequence-reel figcaption{inset:auto 0 0;display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:4rem 1.25rem 1.25rem;background:linear-gradient(transparent,rgba(4,9,15,.9));font-size:clamp(.9rem,1.2vw,1.1rem);letter-spacing:.04em;text-transform:none}
.sequence-reel figcaption small{display:block;margin-top:.35rem;color:#c8d4de;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.sequence-reel .reel-controls{display:flex;align-items:center;gap:1rem;white-space:nowrap}
.sequence-reel .reel-count{font-variant-numeric:tabular-nums;font-size:.78rem;color:#d4e0e8}
.sequence-reel .reel-toggle{display:grid;place-items:center;width:2.4rem;height:2.4rem;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(0,0,0,.28);color:white;cursor:pointer;font-size:1rem;line-height:1}
.sequence-reel .reel-toggle:hover,.sequence-reel .reel-toggle:focus-visible{background:var(--blue);color:#091018;outline:2px solid white;outline-offset:2px}
@media(max-width:800px){.technical-strip{grid-template-columns:1fr;gap:1.2rem}.technical-strip .sequence-reel{height:70vw;min-height:280px}.technical-strip .sequence-reel figcaption{padding:3rem 1rem 1rem}}
@media(prefers-reduced-motion:reduce){.technical-strip .sequence-reel .reel-frames img{transition:none;transform:none}}
