:root{--ink:#101113;--muted:#77797e;--hair:#d9d9d8;--paper:#f8f8f7;--soft:#f0f0ee;--accent:#5a7180;--display:Arial,Helvetica,system-ui,sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,.gallery-track:focus-visible{outline:3px solid #6d8cab;outline-offset:4px}
::selection{background:#17191d;color:white}.sr-only{position:absolute;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:16px;top:-80px;padding:14px 20px;background:#111;color:#fff;z-index:101}.skip-link:focus{top:15px}
.shell{width:min(100% - 96px,1512px);margin-inline:auto}.section-pad{padding-top:clamp(85px,10vw,150px);padding-bottom:clamp(85px,10vw,150px)}
.site-header{position:sticky;top:0;z-index:30;background:rgba(248,248,247,.89);border-bottom:1px solid rgba(0,0,0,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:16px;font-size:12px;letter-spacing:.29em;font-weight:650;white-space:nowrap}.brand strong{font-weight:360}.brand-mark{width:30px;height:30px;flex-shrink:0}.nav-links{display:flex;gap:clamp(18px,2.7vw,46px);align-items:center;margin-left:auto}.nav-links a{font:550 10px var(--mono);letter-spacing:.13em;transition:opacity .2s}.nav-links a:hover{opacity:.5}.nav-cta{display:flex;align-items:center;gap:18px;padding:14px 21px;background:#151618;color:#fff;border-radius:2px;font:550 10px var(--mono);letter-spacing:.14em;white-space:nowrap;transition:background .2s,transform .2s}.nav-cta:hover{background:#3c4650;transform:translateY(-2px)}.nav-cta span{font-size:15px}
.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(128deg,#fbfbfa 0%,#f1f1f0 70%,#e8eaeb 100%)}.hero-noise{position:absolute;inset:0;opacity:.3;pointer-events:none;z-index:-1;background-image:linear-gradient(to right,transparent calc(100% - 1px),#b8bec1 calc(100% - 1px)),linear-gradient(to bottom,transparent calc(100% - 1px),#c1c5c7 calc(100% - 1px));background-size:154px 154px;mask-image:linear-gradient(90deg,transparent 10%,black 93%);-webkit-mask-image:linear-gradient(90deg,transparent 10%,black 93%)}.hero-inner{min-height:min(760px,calc(100svh - 82px));display:grid;grid-template-columns:1.02fr 1.08fr;align-items:center;gap:4%;padding-top:56px;padding-bottom:35px}.hero-content{position:relative;z-index:3;padding-top:35px;padding-bottom:12px}.eyebrow,.mini-label,.section-meta,.hero-bottom-line,.scroll-indicator,.photo-stamp,.photo-footnote,.hero-side-note,.gallery-toolbar,.gallery-bottom,.portrait-caption,.service-top,.contact-links small,.footer-meta{font-family:var(--mono);font-size:10px;font-weight:520;letter-spacing:.14em}.eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:13px;color:#585e61}.status-dot{height:7px;width:7px;border-radius:50%;background:#506875;box-shadow:0 0 0 4px #dfe5e8}.eyebrow-number{margin-left:auto;color:#8f979b}.hero h1,.section-intro h2,.about-copy h2,.contact-headline h2{font-family:var(--display);font-weight:800;letter-spacing:-.073em;text-transform:uppercase}.hero h1{margin:42px 0 30px;font-size:clamp(57px,6.3vw,108px);line-height:.92;white-space:nowrap}.light-title,.text-muted{color:#969da1}.fullstop{color:#7d8992}.hero-description{max-width:455px;color:#575a5e;font-size:clamp(15px,1.15vw,18px);line-height:1.65;margin:0 0 34px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:54px;padding:0 22px;font:600 11px var(--mono);letter-spacing:.06em;border-radius:3px;transition:transform .2s,background .2s,border .2s}.button span{font-size:17px}.button:hover{transform:translateY(-3px)}.button-dark{background:#121417;color:white;border:1px solid #121417}.button-dark:hover{background:#3c4650}.button-outline{border:1px solid #a6aaad;background:rgba(255,255,255,.25)}.button-outline:hover{background:#fff}.hero-bottom-line{border-top:1px solid #bdc0c2;color:#686e72;max-width:460px;margin-top:70px;padding-top:18px;display:flex;justify-content:space-between;gap:8px}.diagonal-arrow{font-size:15px}
.hero-visual{position:relative;min-width:0;padding:45px 8px 30px 0}.hero-photo-wrap{height:clamp(420px,43vw,615px);position:relative;overflow:hidden;border-radius:3px;background:#d5d7d7;box-shadow:0 28px 70px rgba(16,20,26,.13)}.hero-photo{height:100%;width:100%;object-fit:cover;object-position:49% 51%;transition:transform .8s cubic-bezier(.2,.7,.15,1)}.hero-photo-wrap:hover .hero-photo{transform:scale(1.025)}.hero-photo-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,8,15,.22),transparent 27%,transparent 64%,rgba(2,8,15,.58));pointer-events:none}.photo-stamp{position:absolute;top:25px;left:22px;color:#fff;z-index:2;display:flex;gap:10px;align-items:center;text-shadow:0 1px 6px #0009}.tiny-cross{font-size:20px;font-weight:100}.photo-footnote{position:absolute;z-index:2;bottom:22px;left:22px;right:22px;color:white;display:flex;justify-content:space-between;gap:6px;font-size:9px;text-shadow:0 1px 8px #0009}.corner-cross{position:absolute;z-index:2;color:#fff;font:normal 22px var(--mono);opacity:.9}.corner-cross-one{top:18%;right:6%}.corner-cross-two{bottom:18%;left:5%}.drone-decoration{position:absolute;z-index:4;width:clamp(150px,17vw,230px);height:auto;right:-5%;top:-4%;transform:rotate(7deg);opacity:.87;pointer-events:none;filter:drop-shadow(10px 15px 8px rgba(12,16,21,.16));animation:drone-bob 6s ease-in-out infinite}.hero-side-note{position:absolute;z-index:5;right:-25px;bottom:13px;font-size:9px;color:#777;transform:rotate(-90deg) translateX(100%);transform-origin:bottom right}.hero-side-note span{font-weight:800;color:#151618}.scroll-indicator{display:flex;gap:15px;align-items:center;color:#808386;padding-top:3px;padding-bottom:24px}.scroll-line{width:46px;height:1px;background:#a5a8aa}
.marquee-band{height:55px;display:flex;align-items:center;background:#e9eaeb;border-top:1px solid #d2d3d4;border-bottom:1px solid #d2d3d4;overflow:hidden}.marquee-track{display:flex;align-items:center;width:max-content;white-space:nowrap;animation:marquee 42s linear infinite}.marquee-track span{flex:none;font:550 11px var(--mono);letter-spacing:.17em}.marquee-track em{font:normal 17px sans-serif;margin:0 35px;vertical-align:-1px;color:#959b9e}.marquee-band:hover .marquee-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes drone-bob{0%,100%{transform:translateY(0) rotate(7deg)}50%{transform:translateY(-9px) rotate(7deg)}}
.section-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#7c8185;padding-bottom:19px;border-bottom:1px solid var(--hair)}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-intro h2{font-size:clamp(62px,8.2vw,140px);line-height:.87;margin:21px 0 0}.section-intro>p{max-width:350px;line-height:1.65;font-size:16px;color:#6e7377;margin:0 0 8px}.mini-label{margin:0;color:#85898d}.work-section{background:#fbfbfa;overflow:hidden}.work-intro{padding-top:40px;padding-bottom:60px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-bottom:26px}.filters{display:flex;gap:28px;align-items:center}.filter-button{border:0;border-bottom:2px solid transparent;background:none;color:#818587;padding:12px 0;font:550 11px var(--mono);letter-spacing:.1em;white-space:nowrap;transition:color .2s,border-color .2s}.filter-button span{font-size:9px;color:#aaa;vertical-align:top;margin-left:2px}.filter-button.is-active{border-color:#18191b;color:#161719}.filter-button:hover{color:#111}.gallery-controls{display:flex;align-items:center;gap:11px}.gallery-counter{min-width:60px;text-align:right;color:#777e81;margin-right:10px;font:550 11px var(--mono)}.icon-button{height:40px;width:40px;display:grid;place-items:center;background:white;border:1px solid #d5d6d6;border-radius:50%;font-size:20px;color:#151718;transition:background .2s,color .2s,transform .2s}.icon-button:hover:not(:disabled){background:#17191b;color:white;transform:translateY(-2px)}.icon-button:disabled{opacity:.3;cursor:default}.gallery-window{padding-left:max(48px,calc((100vw - 1512px)/2));overflow:hidden}.gallery-track{display:flex;align-items:stretch;gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-left:0;scrollbar-width:none;padding-right:48px}.gallery-track::-webkit-scrollbar{display:none}.gallery-item{margin:0;flex:0 0 clamp(300px,39vw,580px);scroll-snap-align:start;min-width:0}.gallery-item[hidden]{display:none}.gallery-image-button{display:block;position:relative;width:100%;border:0;padding:0;overflow:hidden;background:#dedfdf;text-align:left;aspect-ratio:1.46;border-radius:3px}.gallery-image-button img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.gallery-image-button:hover img{transform:scale(1.055)}.gallery-expand{position:absolute;right:15px;top:15px;display:grid;place-items:center;height:40px;width:40px;border-radius:50%;color:#101113;background:#fff;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s;font-size:19px}.gallery-image-button:hover .gallery-expand,.gallery-image-button:focus-visible .gallery-expand{opacity:1;transform:translateY(0)}.gallery-item figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dbdbda;padding:18px 0 24px}.gallery-item figcaption strong{display:block;font-size:17px;letter-spacing:-.035em;font-weight:650}.gallery-item figcaption small{display:block;margin-top:6px;font-size:12px;color:#7e8183}.item-index{align-self:flex-start;font:11px var(--mono);color:#a0a2a3}.gallery-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:33px}.gallery-bottom p,.gallery-bottom>span{font:550 10px var(--mono);color:#84888b;letter-spacing:.14em}.gallery-bottom>span span{color:#1a1b1c;font-size:16px}
.about-section{background:#eff0ef}.about-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(65px,9vw,145px);align-items:center}.about-portrait-wrap{position:relative}.portrait-artboard{aspect-ratio:4/4.45;background:#565657;overflow:hidden;position:relative;border-radius:3px}.portrait-artboard::after{content:"";position:absolute;inset:0;border:1px solid #00000010;pointer-events:none}.portrait-artboard img{width:100%;height:100%;object-fit:cover;object-position:center 37%;filter:saturate(.78) contrast(1.02)}.portrait-caption{padding-top:20px;display:flex;justify-content:space-between;gap:14px;color:#73777b}.about-copy{max-width:680px}.about-copy .section-meta{margin-bottom:74px}.about-copy h2{font-size:clamp(70px,7.7vw,126px);line-height:.9;margin:23px 0 42px}.about-copy .about-lead{font-size:22px;color:#191a1c;letter-spacing:-.04em;font-weight:600;line-height:1.4}.about-copy>p:not(.mini-label):not(.about-lead){font-size:16px;line-height:1.75;color:#64696d;max-width:545px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;font:600 11px var(--mono);letter-spacing:.12em;margin-top:38px;padding-bottom:12px;border-bottom:1px solid #313537;transition:gap .2s}.text-link:hover{gap:50px}.text-link span{font-size:18px}
.services-section{background:#fbfbfa}.service-intro{padding:55px 0 68px}.service-intro h2{font-size:clamp(54px,6.5vw,100px);line-height:.95}.service-intro>p{max-width:315px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dedfdf;border-bottom:1px solid #dedfdf}.service-item{min-height:375px;padding:28px 30px 30px 0;display:flex;flex-direction:column;justify-content:flex-start;gap:90px}.service-item+.service-item{padding-left:30px;border-left:1px solid #dedfdf}.service-top{display:flex;justify-content:space-between;align-items:center;color:#85898c}.service-top span:last-child{font-size:23px;font-family:Arial,sans-serif;font-weight:300;color:#33383b}.service-item h3{font-size:clamp(23px,2.3vw,35px);line-height:1.07;letter-spacing:-.06em;margin:0 0 18px}.service-item p{font-size:14px;line-height:1.7;color:#767a7e;max-width:315px;margin:0}.service-item:nth-child(3n+1){padding-left:0;border-left:0}.service-item:nth-child(n+4){border-top:1px solid #dedfdf}.service-item:nth-child(3){border-bottom:1px solid #dedfdf}.service-item:last-child{border-right:1px solid #dedfdf}
.contact-section{background:#111315;color:#f1f2f1;padding-top:105px;overflow:hidden}.section-meta-inverse{border-color:#34383b;color:#a6adaf}.contact-headline{padding-top:90px;padding-bottom:80px}.contact-headline .mini-label{color:#969d9f}.contact-headline h2{font-size:clamp(68px,10.6vw,182px);line-height:.89;margin:35px 0 0;letter-spacing:-.077em}.contact-headline h2 span{color:#8a949c}.contact-divider{height:1px;background:#383e41}.contact-info{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding:70px 0 125px}.contact-prompt{max-width:340px}.contact-asterisk{font-size:50px;color:#8999a3}.contact-prompt p{font-size:21px;line-height:1.5;letter-spacing:-.04em;color:#aaaeb0}.contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.contact-links a{display:flex;align-items:end;justify-content:space-between;gap:10px;border:1px solid #393e42;min-height:137px;padding:22px;border-radius:2px;transition:background .2s,border-color .2s}.contact-links a:hover{background:#262c30;border-color:#6f7a81}.contact-links a small{display:block;margin-bottom:17px;color:#92999e}.contact-links a strong{font-size:clamp(14px,1.45vw,20px);letter-spacing:-.03em;font-weight:540;overflow-wrap:anywhere}.contact-links a>span:last-child{font-size:23px;color:#abb3b7;align-self:start}.site-footer{border-top:1px solid #33383c;padding:54px 0 26px}.footer-wordmark{display:flex;align-items:baseline;gap:15px;font-weight:800;font-size:clamp(43px,8.7vw,135px);line-height:1;letter-spacing:-.073em;white-space:nowrap}.footer-wordmark span:not(.footer-arrow){font-weight:330}.footer-wordmark .footer-arrow{margin-left:auto;font-size:clamp(32px,6vw,85px);font-weight:300}.footer-meta{display:flex;justify-content:space-between;gap:16px;color:#777e83;margin-top:35px;border-top:1px solid #30363a;padding-top:20px;font-size:9px}
.lightbox{width:min(1050px,calc(100vw - 32px));max-height:calc(100vh - 32px);border:0;background:#111315;color:#fff;padding:22px;box-shadow:0 30px 90px #0008}.lightbox::backdrop{background:rgba(5,8,10,.88);backdrop-filter:blur(7px)}.lightbox form{display:flex;justify-content:flex-end}.lightbox-close{display:grid;place-items:center;width:40px;height:40px;color:white;background:#363c41;border:1px solid #555e65;cursor:pointer}.lightbox-inner img{width:100%;height:auto;max-height:calc(100vh - 155px);object-fit:contain}.lightbox-inner p{font:11px var(--mono);letter-spacing:.1em;color:#bbb;margin:16px 0 0}
@media(max-width:1250px){.shell{width:min(100% - 64px,1512px)}.hero-inner{gap:3%;grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(58px,6.1vw,84px)}.hero-photo-wrap{height:520px}.gallery-window{padding-left:32px}.contact-headline h2{font-size:10.4vw}.about-layout{gap:7vw}.about-copy h2{font-size:7.8vw}}
@media(max-width:900px){.nav-links{gap:15px}.nav-links a{font-size:9px}.nav-cta{padding:12px 14px;gap:10px}.brand{gap:10px;font-size:11px;letter-spacing:.19em}.hero-inner{grid-template-columns:1fr;min-height:unset;padding-top:68px;padding-bottom:30px;gap:15px}.hero h1{font-size:clamp(64px,10.6vw,115px);margin-top:30px}.hero-content{padding-top:0}.hero-description{max-width:570px}.hero-bottom-line{margin-top:42px}.hero-visual{padding:24px 10px 18px 0}.hero-photo-wrap{height:480px}.drone-decoration{width:205px;right:-3%;top:-8%}.hero-side-note{display:none}.section-intro h2{font-size:10vw}.about-layout{gap:50px}.about-copy .section-meta{margin-bottom:35px}.about-copy h2{font-size:8vw}.contact-info{gap:40px}.contact-links{grid-template-columns:1fr}.contact-links a{min-height:90px}}
@media(max-width:620px){html{scroll-padding-top:72px}.shell{width:calc(100% - 38px)}.nav-wrap{height:68px;gap:10px}.brand{font-size:10px;letter-spacing:.13em;gap:8px}.brand-mark{width:26px;height:26px}.nav-links{display:none}.nav-cta{font-size:9px;padding:12px 13px}.hero-inner{padding-top:46px;padding-bottom:12px}.hero h1{font-size:clamp(47px,12.3vw,77px);line-height:.95;letter-spacing:-.075em;margin:31px 0 23px}.eyebrow{font-size:9px;gap:10px}.eyebrow-number{display:none}.hero-description{font-size:15px;line-height:1.6;margin-bottom:25px}.hero-actions{gap:9px}.button{min-height:48px;padding:0 15px;font-size:9px;gap:12px}.hero-bottom-line{margin-top:37px;font-size:8px}.hero-visual{padding:23px 0 4px}.hero-photo-wrap{height:350px}.drone-decoration{width:150px;right:-5%;top:-14%;opacity:.85}.photo-stamp{top:17px;left:15px;font-size:8px}.photo-footnote{bottom:16px;left:15px;right:15px;font-size:7px}.scroll-indicator{padding-bottom:15px;font-size:8px}.marquee-band{height:48px}.marquee-track span{font-size:10px}.marquee-track em{margin:0 24px}.section-pad{padding-top:78px;padding-bottom:78px}.section-meta{font-size:8px;gap:10px}.section-meta span:last-child{max-width:55%;text-align:right}.work-intro{padding-top:37px;padding-bottom:34px}.section-intro{display:block}.section-intro h2{font-size:clamp(63px,16vw,95px);margin-top:18px}.section-intro>p{font-size:14px;line-height:1.65;margin-top:23px;max-width:350px}.gallery-toolbar{align-items:end;gap:12px;flex-wrap:wrap;padding-bottom:18px}.filters{gap:18px;max-width:100%;overflow-x:auto}.filter-button{font-size:9px}.gallery-controls{margin-left:auto}.gallery-window{padding-left:19px}.gallery-track{gap:13px;padding-right:19px}.gallery-item{flex-basis:83vw}.gallery-image-button{aspect-ratio:1.22}.gallery-expand{opacity:1;transform:none;height:32px;width:32px;top:10px;right:10px;font-size:17px}.gallery-item figcaption{padding:14px 0 20px}.gallery-item figcaption strong{font-size:15px}.gallery-item figcaption small{font-size:11px}.gallery-bottom{padding-top:20px;align-items:start}.gallery-bottom p,.gallery-bottom>span{font-size:8px;line-height:1.5}.gallery-bottom p{max-width:175px;margin:0}.about-layout{grid-template-columns:1fr;gap:44px}.portrait-artboard{aspect-ratio:1/1.12}.portrait-caption{font-size:8px}.about-copy h2{font-size:clamp(74px,16vw,105px);margin:24px 0}.about-copy .section-meta{margin-bottom:35px}.about-copy .about-lead{font-size:19px}.about-copy>p:not(.mini-label):not(.about-lead){font-size:15px}.service-intro{padding:36px 0 34px}.service-intro h2{font-size:clamp(43px,11vw,68px)}.services-grid{grid-template-columns:1fr}.service-item{min-height:245px;padding:25px 0}.service-item+.service-item{padding-left:0;border-left:0;border-top:1px solid #dedfdf}.service-item:nth-child(3){border-bottom:0}.service-item:last-child{border-right:0}.service-item h3{font-size:29px}.service-item p{max-width:365px}.contact-section{padding-top:72px}.contact-headline{padding-top:60px;padding-bottom:63px}.contact-headline h2{font-size:clamp(47px,11.2vw,74px);line-height:.97}.contact-info{grid-template-columns:1fr;gap:28px;padding:48px 0 75px}.contact-asterisk{font-size:33px}.contact-prompt p{font-size:19px}.contact-links a{min-height:91px;padding:18px}.contact-links a strong{font-size:17px}.contact-links a small{margin-bottom:12px}.site-footer{padding:30px 0 20px}.footer-wordmark{font-size:10vw;gap:8px}.footer-wordmark .footer-arrow{font-size:36px}.footer-meta{font-size:8px;line-height:1.8;flex-wrap:wrap}.footer-meta span:last-child{margin-left:auto}}
@media(max-width:390px){.brand{font-size:9px}.nav-cta{font-size:8px}.hero h1{font-size:12vw}.hero-photo-wrap{height:300px}.hero-description{font-size:14px}.filters{gap:11px}.filter-button{font-size:8px}.contact-headline h2{font-size:11vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.marquee-track{transform:none!important}}
