@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#101717;--bg2:#172120;--panel:#1d2928;--white:#f3f4ee;--muted:#a1adaa;--teal:#49e2c2;--line:#ffffff20;--mono:'DM Mono',monospace;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:var(--sans);font-size:15px;line-height:1.6}body.modal-open{overflow:hidden}button,a{font:inherit;color:inherit}a{text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.boot{padding:40px;font-weight:800}.boot span,.wordmark>span:first-child,.dot{color:var(--teal)}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--bg)}.wordmark{font-weight:800;font-size:19px;letter-spacing:.09em;line-height:1;white-space:nowrap}.wordmark small{display:block;font:9px var(--mono);letter-spacing:.19em;color:var(--muted);margin-top:8px}.nav-links{display:flex;align-items:center;gap:34px}.nav-links>a{font-size:12px;color:#c6cecb;transition:color .2s}.nav-links>a:hover,.nav-links>a[aria-current=page]{color:var(--teal)}.audio-toggle,.menu-toggle{background:none;border:0;color:var(--muted);font:10px var(--mono);letter-spacing:.07em}.audio-toggle:disabled{opacity:.42;cursor:help}.menu-toggle{display:none}.button{border:1px solid var(--teal);background:var(--teal);color:#0b1614;padding:15px 19px;font-size:12px;font-weight:800;display:inline-flex;gap:26px;align-items:center;transition:background .2s,color .2s}.button:hover{background:transparent;color:var(--teal)}.button-small{padding:11px 13px;font-size:11px}.button-quiet{background:transparent;color:var(--white);border-color:var(--line)}.button:disabled{opacity:.45;cursor:default}.text-link{border:0;background:none;padding:0;color:var(--teal);font-size:12px;font-weight:700;display:inline-flex;gap:14px;align-items:center}.text-link span,.button span{font-size:17px}.hero{height:min(760px,calc(100vh - 88px));min-height:580px;position:relative;overflow:hidden;background:#18211f}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity 1s ease;pointer-events:none}.hero-slide.active{opacity:1;pointer-events:auto}.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b1111e8 0%,#0b1111a8 39%,#0b111130 78%),linear-gradient(0deg,#0b1111a8,transparent 25%)}.hero-slide img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.hero-copy{position:absolute;z-index:1;left:11%;top:50%;transform:translateY(-43%);max-width:680px}.eyebrow{font:10px var(--mono);letter-spacing:.13em;color:#b9c6c1;display:flex;gap:10px;align-items:center}.eyebrow i{width:21px;height:1px;background:var(--teal);display:inline-block}.hero h1,.page-hero h1{font-size:clamp(48px,7.4vw,104px);line-height:.98;letter-spacing:-.065em;margin:22px 0 12px;font-weight:600}.hero h1{max-width:700px}.hero h1 em,.page-hero em,.intro em,.section-heading em,.split em,.closing em,.updates em{font-style:normal;color:var(--teal)}.hero-copy>p:not(.eyebrow){color:#dae0dc;margin:0 0 30px;font-size:16px}.hero-bottom{position:absolute;z-index:2;bottom:31px;left:5vw;right:5vw;display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.12em;color:#dce4e0}.hero-controls{display:flex;gap:15px;align-items:center}.hero-controls button{background:none;border:1px solid #ffffff80;color:white;width:35px;height:35px;border-radius:50%}.hero-controls span{min-width:53px;text-align:center}.hero-progress{height:2px;position:absolute;z-index:2;left:5vw;right:5vw;bottom:17px;background:#ffffff40}.hero-progress i{display:block;height:100%;width:33.33%;background:var(--teal)}.sample-note{font:9px var(--mono);letter-spacing:.08em;color:#a6b2ad}.hero>.sample-note{position:absolute;z-index:2;right:5vw;top:28px;color:#d8e2de}.section-pad{padding:112px 11vw}.intro{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:5vw;border-bottom:1px solid var(--line)}.intro h2,.section-heading h2,.closing h2,.updates h2,.split h2{font-size:clamp(38px,5vw,68px);line-height:1.04;letter-spacing:-.055em;font-weight:500;margin:0}.intro-aside{align-self:end}.intro-aside p{color:var(--muted);margin:0 0 24px;max-width:330px;font-size:14px}.capabilities{background:#141d1c}.section-heading{display:grid;grid-template-columns:1fr 1.5fr auto;align-items:end;gap:25px;margin-bottom:44px}.section-heading .eyebrow{grid-column:1/-1;margin:0}.section-heading .text-link{margin-bottom:8px}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cap-item{position:relative;height:370px;overflow:hidden;background:var(--panel);padding:26px;display:flex;flex-direction:column;justify-content:flex-end}.cap-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b1111e8,transparent 72%)}.cap-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .6s;filter:brightness(.7)}.cap-item:hover img{transform:scale(1.045);filter:brightness(.92)}.cap-number,.cap-item h3,.cap-arrow{z-index:1;position:relative}.cap-number{font:10px var(--mono);color:var(--teal)}.cap-item h3{font-size:22px;margin:5px 0 0;font-weight:500}.cap-arrow{position:absolute;right:26px;bottom:27px;color:var(--teal)}.selected{background:#101717}.project-pair{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.project-card img{width:100%;height:420px;object-fit:cover;filter:brightness(.8)}.project-1{padding-top:80px}.project-1 img{height:340px}.project-card small{display:block;color:var(--teal);font:10px var(--mono);margin-top:13px}.project-card h3{font-weight:500;font-size:23px;margin:3px 0}.project-card .sample-caption{color:#788480;font:9px var(--mono);margin:0}.statement{padding:80px 11vw;background:var(--teal);color:#101717;display:flex;justify-content:space-between;align-items:center}.statement p{font-size:clamp(24px,3vw,42px);font-weight:700;line-height:1.1;letter-spacing:-.04em;max-width:600px;margin:0}.statement span{font:10px var(--mono);letter-spacing:.1em}.updates{display:grid;grid-template-columns:1fr 1fr;gap:7vw;border-bottom:1px solid var(--line)}.updates h2{margin-top:18px}.updates article{border-top:1px solid var(--line);padding-top:22px}.updates article small{color:var(--teal);font:10px var(--mono)}.updates h3{font-size:23px;font-weight:500}.updates article p{color:var(--muted)}.closing{background:#182321;display:flex;justify-content:space-between;align-items:end}.closing h2{margin-top:20px}.page-hero{padding:116px 11vw 100px;display:flex;justify-content:space-between;align-items:center;min-height:430px;background:radial-gradient(ellipse at 80% 45%,#1d3230 0%,#101717 58%)}.page-hero h1{font-size:clamp(48px,7vw,86px);margin:22px 0}.page-hero>div:first-child{max-width:850px}.page-hero>div>p:not(.eyebrow){color:var(--muted);max-width:580px;font-size:16px}.page-hero-mark{font-size:170px;font-weight:800;color:#ffffff0a;letter-spacing:-.1em}.page-hero-mark span{color:#49e2c20c}.page-hero.compact{min-height:360px;padding-top:85px;padding-bottom:65px}.wide-image{height:500px;overflow:hidden}.wide-image img{width:100%;height:100%;object-fit:cover;filter:brightness(.72)}.split{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.split p{color:var(--muted)}.split .lead{font-size:21px;color:var(--white);line-height:1.5}.split .sample-note{margin:26px 0}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;background:#16201f}.principles article{border-top:1px solid var(--teal);padding-top:20px}.principles b,.service-num{font:10px var(--mono);color:var(--teal)}.principles h3{font-weight:500;font-size:20px}.principles p{color:var(--muted);font-size:13px}.service-row{min-height:530px;padding:68px 11vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;border-bottom:1px solid var(--line)}.service-row:nth-child(even){background:#141d1c}.service-row img{width:100%;height:390px;object-fit:cover;filter:brightness(.82)}.service-row h2{font-size:clamp(32px,4vw,49px);line-height:1.1;letter-spacing:-.04em;font-weight:500;margin:20px 0}.service-row p{color:var(--muted);max-width:470px}.service-row ul{list-style:none;padding:0;margin:24px 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.service-row li{font-size:12px;color:#c8d0cc}.service-row li:before{content:"+ ";color:var(--teal)}.gallery{padding-top:30px}.filter-bar{display:flex;gap:22px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:25px;flex-wrap:wrap}.filter-bar>span,.gallery-count{font:9px var(--mono);color:var(--muted);letter-spacing:.08em}.filter{border:0;background:none;color:#9aa6a1;font-size:11px;padding:6px 0}.filter.active{color:var(--teal);border-bottom:1px solid var(--teal)}.gallery-count{margin-left:auto}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card{border:0;background:none;text-align:left;padding:0;display:flex;flex-direction:column;align-items:flex-start}.gallery-card[hidden]{display:none}.gallery-card img{width:100%;height:290px;object-fit:cover;filter:brightness(.82);transition:filter .3s,transform .5s}.gallery-card:hover img{filter:brightness(1);transform:translateY(-4px)}.gallery-card.g0{grid-row:span 1}.gallery-card.g0 img{height:355px}.gallery-card span{font:9px var(--mono);color:var(--teal);margin-top:14px}.gallery-card b{font-size:18px;font-weight:500}.gallery-card small{font:9px var(--mono);color:#788480;margin-top:4px}.lightbox{display:none;position:fixed;inset:0;z-index:35;background:#080d0deF;align-items:center;justify-content:center;flex-direction:column;padding:5vw}.lightbox.open{display:flex}.lightbox img{max-width:min(1100px,90vw);max-height:78vh;object-fit:contain}.lightbox p{color:var(--muted)}.lightbox-close{position:absolute;right:5vw;top:4vh;border:0;background:none;color:white;font-size:38px}.contact-layout{padding-top:35px;display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.contact-info>div{border-bottom:1px solid var(--line);padding:20px 0}.contact-info small{display:block;font:9px var(--mono);color:var(--teal);letter-spacing:.1em}.contact-info a,.contact-info p{display:inline-block;margin:6px 0 0;color:#dbe0dc}.contact-layout iframe{width:100%;height:390px;border:0;filter:grayscale(.9) invert(.9) contrast(.8)}.footer{padding:48px 5vw;display:flex;gap:35px;align-items:center;border-top:1px solid var(--line)}.footer p{color:var(--muted);font-size:12px;margin-right:auto}.footer>small{font:9px var(--mono);color:#7f8b86}.footer .text-link{white-space:nowrap}.enter{animation:enter .3s ease}@keyframes enter{from{opacity:.6;transform:translateY(7px)}to{opacity:1;transform:none}}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:50}.error-page{padding:15vh 10vw}.modal-open #app{filter:blur(6px) brightness(.48);transition:filter .25s}.quote-dialog{position:fixed;z-index:41;top:50%;left:50%;transform:translate(-50%,-50%);width:min(760px,calc(100vw - 32px));max-height:min(90vh,900px);overflow:auto;background:#131c1b;border:1px solid #ffffff24;padding:34px 42px;box-shadow:0 30px 100px #0009;animation:dialog-in .25s ease}.modal-backdrop{position:fixed;z-index:40;inset:0;background:#050a09aa;backdrop-filter:blur(9px);animation:fade-in .2s}@keyframes dialog-in{from{opacity:0;transform:translate(-50%,-47%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between}.dialog-head .eyebrow{font-size:9px}.dialog-head h2{font-size:28px;font-weight:500;margin:4px 0 22px}.close-modal{border:0;background:none;color:var(--muted);font-size:28px}.step-progress{display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:27px}.step-item{flex:1;position:relative;padding:12px 5px;color:#77827e;display:flex;flex-direction:column;gap:4px}.step-item b{font:9px var(--mono)}.step-item span{font-size:9px;white-space:nowrap}.step-item.active,.step-item.done{color:var(--teal)}.step-item i{height:2px;position:absolute;bottom:-1px;left:0;right:0}.step-item.active i{background:var(--teal)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field:has(textarea),.form-field:has(input[type=file]){grid-column:1/-1}.form-field>span{font-size:11px;color:#d6ddda}.form-field b{color:var(--teal)}.form-field input,.form-field select,.form-field textarea{background:#0c1312;border:1px solid #ffffff24;padding:12px;color:var(--white);border-radius:0;font:12px var(--sans);width:100%}.form-field textarea{resize:vertical}.form-field [aria-invalid=true]{border-color:#ff776c}.field-error{color:#ff958a;min-height:0;font-size:10px}.form-message{min-height:20px;color:#ff958a;font-size:11px}.dialog-actions{display:flex;justify-content:space-between;margin-top:15px}.review-row{grid-column:1/-1;display:grid;grid-template-columns:150px 1fr;padding:11px 0;border-bottom:1px solid var(--line);gap:18px}.review-row small{font:9px var(--mono);text-transform:uppercase;color:var(--teal)}.review-row span{font-size:12px;overflow-wrap:anywhere}.success-mark{width:55px;height:55px;border-radius:50%;background:var(--teal);color:#101717;display:grid;place-items:center;font-size:28px;margin:25px 0}.quote-dialog>.eyebrow{margin:20px 0}.quote-dialog>h2{font-weight:500;font-size:32px}.quote-dialog>p:not(.eyebrow){color:var(--muted)}
@media(max-width:900px){.nav-links{gap:17px}.section-pad{padding:82px 7vw}.intro{grid-template-columns:.6fr 1.4fr;gap:25px}.intro-aside{grid-column:2}.section-heading{grid-template-columns:1fr 1.5fr}.section-heading>.text-link{grid-column:2}.service-row{padding:55px 7vw;gap:4vw}.page-hero{padding-left:7vw;padding-right:7vw}.footer{padding:40px 5vw;flex-wrap:wrap}.footer p{margin-right:auto}.contact-layout{gap:4vw}}
@media(max-width:680px){.nav{height:72px;padding:0 20px}.wordmark{font-size:17px}.menu-toggle{display:block;font-size:20px}.nav-links{display:none;position:absolute;top:71px;left:0;right:0;padding:24px;background:#101717f5;border-bottom:1px solid var(--line);align-items:stretch;flex-direction:column;gap:18px}.nav-links.open{display:flex}.nav-links>a{font-size:14px}.audio-toggle{text-align:left}.button-small{align-self:flex-start}.hero{height:calc(88vh - 72px);min-height:560px}.hero-copy{left:7vw;right:7vw;top:48%}.hero h1{font-size:clamp(44px,14vw,75px)}.hero-copy>p:not(.eyebrow){font-size:14px}.hero-bottom{left:6vw;right:6vw;bottom:31px}.hero>.sample-note{top:17px;left:6vw;right:auto;font-size:7px}.section-pad{padding:68px 7vw}.intro{display:block}.intro h2{font-size:52px;margin:22px 0}.intro-aside{margin-left:20vw}.section-heading{display:block}.section-heading h2{margin:16px 0 20px}.cap-grid{grid-template-columns:1fr}.cap-item{height:340px}.project-pair{grid-template-columns:1fr;gap:32px}.project-card img,.project-1 img{height:300px}.project-1{padding-top:0}.statement{padding:55px 7vw;display:block}.statement span{display:block;margin-top:24px}.updates{display:block}.updates article{margin-top:34px}.closing{align-items:flex-start;gap:35px;flex-direction:column}.page-hero{padding:82px 7vw 60px;min-height:360px}.page-hero h1{font-size:clamp(48px,13vw,72px)}.page-hero-mark{display:none}.wide-image{height:300px}.split{display:block}.split>div+div{margin-top:30px}.principles{grid-template-columns:1fr;gap:25px}.service-row{padding:50px 7vw;grid-template-columns:1fr;gap:25px}.service-row img{height:290px;grid-row:1}.service-row h2{font-size:36px}.gallery-grid{grid-template-columns:1fr 1fr;gap:20px 12px}.gallery-card img,.gallery-card.g0 img{height:220px}.gallery-card.g0{grid-column:span 2}.gallery-card.g0 img{height:280px}.gallery{padding-top:18px}.filter-bar{gap:13px}.filter-bar>span{width:100%}.gallery-count{margin-left:0}.contact-layout{display:block}.contact-layout iframe{margin-top:34px;height:300px}.footer{padding:34px 7vw;gap:18px}.footer p{width:100%;order:2}.footer .text-link{order:3}.footer>small{order:4;margin-left:auto}.quote-dialog{padding:24px 20px;max-height:92vh}.dialog-head h2{font-size:23px}.step-item span{font-size:7px}.step-item{padding:10px 3px}.form-grid{grid-template-columns:1fr;gap:14px}.form-field:has(textarea),.form-field:has(input[type=file]){grid-column:auto}.review-row{grid-column:auto;grid-template-columns:105px 1fr}.dialog-actions .button{padding:12px 13px}.lightbox img{max-width:100%;max-height:72vh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
