:root{--ink:#121317;--paper:#f6f6f4;--blue:#a3b9ff;--line:rgba(18,19,23,.2);--header:78px;scroll-behavior:smooth}*{box-sizing:border-box}html{scroll-padding-top:var(--header)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}h1,h2,p{margin:0}::selection{background:var(--blue);color:var(--ink)}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:100;padding:.75rem 1rem;background:#fff;color:#000}.skip-link:focus{top:1rem}.progress{height:2px;background:var(--blue);position:fixed;top:0;left:0;z-index:30;width:0;transform-origin:left}.site-header{height:var(--header);padding:0 clamp(22px,4vw,70px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--paper);position:relative;z-index:20}.wordmark{font-size:20px;font-weight:800;letter-spacing:-.055em;white-space:nowrap}.wordmark span{font-weight:400}.wordmark-dot,.heading-period,.footer-logo span{color:#647cd4}.main-nav{display:flex;gap:clamp(22px,3.2vw,56px)}.main-nav a{display:flex;align-items:flex-start;gap:4px;font-size:14px;transition:opacity .25s}.main-nav a:hover,.header-contact:hover,.site-footer a:hover{opacity:.55}.nav-index{font-size:9px;line-height:1.1;color:#8c8d91}.header-contact{font-size:12px;font-weight:700;letter-spacing:.1em;white-space:nowrap}.header-contact span{font-size:18px;margin-left:8px;font-weight:400}.hero{min-height:min(830px,calc(100svh - var(--header)));background:#111216;color:#f4f4f1;position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;padding:80px clamp(24px,5vw,80px) 100px;isolation:isolate}.hero-grain{position:absolute;inset:0;z-index:-1;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}.hero-orbit{position:absolute;width:55vw;height:55vw;min-width:650px;min-height:650px;border:1px solid rgba(163,185,255,.14);border-radius:50%;left:-17vw;top:-28vw;z-index:-1}.hero-orbit:after{content:"";position:absolute;inset:10%;border:1px solid rgba(163,185,255,.1);border-radius:50%}.hero-copy{z-index:2;position:relative}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.23em;font-weight:700}.eyebrow{color:#c3cee9;display:flex;align-items:center;gap:14px;margin-bottom:35px}.eyebrow-line{display:block;width:28px;height:1px;background:var(--blue)}.hero h1{font-size:clamp(64px,8.35vw,156px);line-height:.88;letter-spacing:-.086em;font-weight:500;white-space:nowrap}.hero h1 em,.about-heading em,.contact-section em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.08em}.hero h1 em{color:var(--blue)}.hero-intro{font-size:clamp(17px,1.5vw,21px);line-height:1.5;max-width:510px;margin:42px 0 42px;color:#d0d0d1}.text-link{font-size:12px;font-weight:700;letter-spacing:.13em;padding-bottom:14px;border-bottom:1px solid currentColor;display:inline-flex;gap:70px;align-items:center;transition:gap .35s,color .3s}.text-link:hover{gap:90px;color:var(--blue)}.hero-image-wrap{width:min(33vw,490px);height:min(62vh,650px);min-height:440px;justify-self:end;position:relative;margin-right:5vw;filter:grayscale(.12)}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center top}.hero-image-wrap:before{content:"";position:absolute;z-index:1;inset:0;box-shadow:inset 0 0 100px rgba(8,15,30,.2)}.image-caption{position:absolute;right:-24px;bottom:-19px;color:#fff;font-size:9px;letter-spacing:.18em;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.hero-side{position:absolute;right:25px;top:46%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;color:#b7b8bd}.hero-side span{font-size:22px;margin-top:20px}.hero-footer{position:absolute;bottom:32px;left:clamp(24px,5vw,80px);right:clamp(24px,5vw,80px);display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.2);padding-top:15px;color:#a4a6ad;font-size:10px;letter-spacing:.15em}.statement{padding:clamp(110px,13vw,210px) clamp(24px,7vw,115px) 100px}.statement .section-kicker{margin-bottom:45px}.statement-text{font-size:clamp(36px,5.1vw,84px);max-width:1220px;line-height:1.12;letter-spacing:-.057em;font-weight:500}.statement-text em{font-family:Georgia,serif;font-weight:400}.statement-rule{height:1px;background:var(--line);margin:90px 0 22px}.statement-meta{display:flex;gap:24px;justify-content:space-between;font-size:10px;letter-spacing:.18em;color:#696a70}.work-section{padding:110px clamp(24px,4vw,70px) 120px;background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:60px}.section-heading .section-kicker{margin-bottom:25px}.section-heading h2{font-size:clamp(70px,9vw,148px);font-weight:500;letter-spacing:-.085em;line-height:.9}.section-aside{text-align:right;font-size:15px;line-height:1.6;color:#53545a}.section-aside span{color:#8c8d90}.work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:18px;row-gap:48px}.work-card{min-width:0}.work-card:nth-child(8n + 1),.work-card:nth-child(8n + 4){grid-column:span 2}.work-card:nth-child(8n + 1) .work-media,.work-card:nth-child(8n + 4) .work-media{aspect-ratio:1.5}.work-media{width:100%;aspect-ratio:.78;position:relative;overflow:hidden;background:#e7e8e9;isolation:isolate}.work-card:nth-child(5n+1) .work-media{background:#c6d0df}.work-card:nth-child(5n+2) .work-media{background:#e4e0db}.work-card:nth-child(5n+3) .work-media{background:#c8ccd0}.work-card:nth-child(5n+4) .work-media{background:#d8d8d4}.work-card:nth-child(5n) .work-media{background:#bbc3c8}.work-media:before{content:"";position:absolute;inset:-35%;z-index:-1;background:linear-gradient(125deg,transparent 25%,rgba(255,255,255,.45) 50%,transparent 75%);transform:rotate(-15deg) translateY(var(--card-parallax,0px));transition:transform .5s ease}.work-card:hover .work-media:before{transform:rotate(-15deg) translateY(var(--card-parallax,0px)) translateX(12%)}.work-media:after{content:"";position:absolute;inset:12px;border:1px solid rgba(18,19,23,.14);pointer-events:none}.work-number{position:absolute;top:26px;left:27px;font-size:11px;letter-spacing:.16em;font-weight:700}.work-corner{position:absolute;top:25px;right:27px;font-size:12px}.work-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;padding:25px}.play-glyph{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;border:1px solid rgba(18,19,23,.6);font-size:20px;padding-left:4px;transition:transform .35s,background .35s}.work-card:hover .play-glyph{transform:scale(1.12);background:rgba(255,255,255,.32)}.work-center span:last-child{font-size:10px;letter-spacing:.2em;font-weight:700}.work-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:15px;border-top:1px solid var(--line);margin-top:13px;font-size:12px;letter-spacing:.04em}.work-meta strong{font-weight:600}.work-meta span{color:#8a8b8e}.work-end{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:80px;padding-top:15px;font-size:10px;letter-spacing:.16em}.about-section{background:#b9cafa;color:#111216;padding:clamp(100px,12vw,180px) clamp(24px,7vw,115px) 110px;position:relative;overflow:hidden;isolation:isolate}.about-backdrop{font-size:65vw;line-height:.7;letter-spacing:-.14em;font-weight:800;position:absolute;top:8%;right:-9%;color:rgba(255,255,255,.12);z-index:-1;user-select:none}.about-heading{display:grid;grid-template-columns:1fr 2fr;gap:35px;align-items:start}.about-heading h2{font-size:clamp(70px,9vw,146px);letter-spacing:-.08em;line-height:.86;font-weight:500}.about-content{display:grid;grid-template-columns:1fr 2fr;gap:35px;margin-top:100px}.about-lede{font-size:clamp(22px,2.25vw,34px);line-height:1.25;letter-spacing:-.035em;max-width:340px}.about-details{display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:17px;line-height:1.65;max-width:900px}.about-facts{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px;border-top:1px solid rgba(18,19,23,.35);padding-top:26px}.about-facts div{display:flex;flex-direction:column;gap:14px}.about-facts strong{font-size:clamp(38px,4vw,64px);font-weight:500;letter-spacing:-.07em}.about-facts span{font-size:10px;letter-spacing:.15em;line-height:1.5;font-weight:700}.expertise{margin-top:120px;display:grid;grid-template-columns:1fr 2fr;gap:0 35px}.expertise>span{font-size:11px;letter-spacing:.2em;font-weight:700;padding-top:24px}.expertise>div{grid-column:2;border-top:1px solid rgba(18,19,23,.35);padding:21px 0;font-size:clamp(20px,2.8vw,42px);letter-spacing:-.05em;display:flex;justify-content:space-between}.expertise>div:last-child{border-bottom:1px solid rgba(18,19,23,.35)}.expertise i{font-size:.55em;font-style:normal;letter-spacing:0}.contact-section{background:#111216;color:#f7f7f5;padding:clamp(110px,13vw,210px) clamp(24px,7vw,115px) 130px;min-height:75vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.contact-section .section-kicker{color:var(--blue);margin-bottom:55px}.contact-section h2{font-size:clamp(70px,10vw,165px);line-height:.86;letter-spacing:-.085em;font-weight:500}.contact-section em{color:var(--blue)}.contact-email{margin-top:70px;border-bottom:1px solid #f7f7f5;padding:0 0 14px;font-size:clamp(16px,2vw,25px);letter-spacing:.08em;font-weight:700;display:flex;gap:80px;align-items:center;transition:color .3s,gap .3s}.contact-email:hover{color:var(--blue);gap:100px}.contact-email span{font-size:1.35em;font-weight:400}.contact-address{margin-top:20px;color:#a6a6ad;font-size:15px}.site-footer{background:#111216;border-top:1px solid rgba(255,255,255,.2);color:#eee;padding:35px clamp(24px,4vw,70px);display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:25px;align-items:center;font-size:10px;letter-spacing:.13em}.footer-logo{font-size:18px;font-weight:800;letter-spacing:-.055em}.site-footer small{text-align:right;font-size:10px;color:#999}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}.reveal.in-view{opacity:1;transform:translateY(0)}@media(max-width:1050px){.hero{grid-template-columns:1fr .8fr}.hero h1{font-size:clamp(64px,8.8vw,110px)}.hero-image-wrap{margin-right:0;width:min(39vw,400px);height:55vh;min-height:390px}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-card:nth-child(n){grid-column:span 1}.work-card:nth-child(7n+1){grid-column:span 2}.work-card:nth-child(n) .work-media{aspect-ratio:.86}.work-card:nth-child(7n+1) .work-media{aspect-ratio:1.55}.about-heading,.about-content,.expertise{grid-template-columns:1fr 2fr}}@media(max-width:720px){:root{--header:70px}.site-header{padding:0 20px}.wordmark{font-size:18px}.main-nav{gap:16px}.main-nav a{font-size:12px}.nav-index,.header-contact{display:none}.hero{min-height:auto;display:flex;flex-direction:column;align-items:stretch;padding:75px 22px 70px;gap:42px}.hero-copy{z-index:2}.hero h1{font-size:clamp(66px,14vw,110px)}.hero-intro{font-size:17px;margin:30px 0}.eyebrow{margin-bottom:25px;font-size:9px}.hero-image-wrap{width:75%;max-width:420px;min-height:0;height:auto;aspect-ratio:.75;margin:0 0 0 auto}.hero-side{display:none}.hero-footer{position:static;margin-top:18px;gap:20px;font-size:8px}.hero-orbit{top:-30vw;left:-60vw}.statement{padding:100px 24px 70px}.statement .section-kicker{margin-bottom:28px}.statement-text{font-size:clamp(36px,7.4vw,57px)}.statement-rule{margin:65px 0 18px}.statement-meta{font-size:8px;line-height:1.5;gap:13px}.work-section{padding:85px 20px}.section-heading{align-items:start;flex-direction:column;gap:25px;margin-bottom:35px}.section-heading h2{font-size:80px}.section-aside{text-align:left}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px}.work-card:nth-child(n){grid-column:span 1}.work-card:nth-child(5n+1){grid-column:span 2}.work-card:nth-child(n) .work-media{aspect-ratio:.78}.work-card:nth-child(5n+1) .work-media{aspect-ratio:1.45}.work-number{top:18px;left:18px}.work-corner{top:17px;right:18px}.work-center{gap:12px}.play-glyph{width:54px;height:54px}.work-center span:last-child{font-size:8px}.work-meta{font-size:10px;align-items:flex-start}.work-meta span{text-align:right}.about-section{padding:100px 24px 90px}.about-heading,.about-content,.expertise{display:block}.about-heading h2{font-size:clamp(70px,13vw,100px);margin-top:28px}.about-content{margin-top:70px}.about-lede{max-width:600px}.about-details{display:block;margin-top:35px;font-size:16px}.about-details p+p{margin-top:20px}.about-facts{margin-top:50px}.expertise{margin-top:90px}.expertise>span{display:block;padding:0 0 20px}.expertise>div{font-size:25px}.contact-section{min-height:65vh;padding:110px 24px}.contact-section h2{font-size:clamp(70px,13vw,105px)}.contact-email{gap:40px;font-size:16px}.site-footer{grid-template-columns:1fr 1fr;gap:24px}.site-footer small{text-align:left}}@media(max-width:400px){.main-nav{gap:10px}.main-nav a{font-size:11px}.hero h1{font-size:64px}.statement-meta{flex-direction:column}.about-facts{grid-template-columns:1fr 1fr;row-gap:30px}.contact-section h2{font-size:65px}.site-footer{grid-template-columns:1fr}.site-footer small{text-align:left}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-orbit,.about-backdrop,.hero-image-wrap{transform:none!important}.work-media:before{transition:none}.play-glyph,.text-link,.contact-email{transition:none}}
.work-media video{display:block;width:100%;height:100%;object-fit:cover;background:#111216}
.hero-image{object-position:center 58%}

/* Portfolio gallery */
.work-intro{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:15px 0 22px;margin-top:20px;font-size:10px;font-weight:700;letter-spacing:.17em}
.work-card__button{display:block;width:100%;border:0;padding:0;background:none;color:inherit;text-align:left;cursor:pointer}
.work-card__button:focus-visible,.work-filters button:focus-visible,.film-dialog button:focus-visible{outline:2px solid #647cd4;outline-offset:4px}
.work-media{display:block;background:#181a20!important;aspect-ratio:.83;overflow:hidden}
.work-media:before{z-index:1;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3),transparent 35%,rgba(0,0,0,.16));transform:none!important;pointer-events:none}
.work-media:after{inset:0;border:0;background:rgba(14,17,23,.05);transition:background .4s}
.work-card:hover .work-media:after{background:rgba(14,17,23,.2)}
.work-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1);transform:scale(1.12) translateY(var(--card-parallax,0px))}
.work-card:hover .work-media img{transform:scale(1.18) translateY(var(--card-parallax,0px))}
.work-number{z-index:2;top:20px;left:20px;color:#fff;font-size:10px;text-shadow:0 1px 12px #000}
.work-play{z-index:2;position:absolute;right:19px;bottom:19px;width:44px;height:44px;display:grid;place-items:center;background:#fff;border-radius:50%;font-size:22px;transition:transform .3s,background .3s}
.work-card:hover .work-play{transform:rotate(45deg);background:var(--blue)}
.work-meta{display:flex;min-height:47px;align-items:start;padding-top:13px;line-height:1.35;font-size:12px}
.work-meta span{color:#64666c;text-align:right;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:60px 18px}
.featured-grid .work-card:nth-child(n){grid-column:span 1}
.featured-grid .work-card:nth-child(6n+1){grid-column:span 2}
.featured-grid .work-card:nth-child(n) .work-media{aspect-ratio:.9}
.featured-grid .work-card:nth-child(6n+1) .work-media{aspect-ratio:1.8}
.archive-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;border-top:1px solid var(--line);padding-top:38px;margin-top:120px;margin-bottom:30px}
.archive-heading h3{font-size:clamp(42px,5vw,75px);letter-spacing:-.07em;font-weight:500;line-height:1;margin:15px 0 0}
.archive-heading>span{font-size:10px;font-weight:700;letter-spacing:.14em}
.work-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:35px}
.work-filters button{border:1px solid #c5c6c7;border-radius:99px;background:#fff;padding:10px 17px;cursor:pointer;font-size:11px;letter-spacing:.045em;transition:background .25s,color .25s,border-color .25s}
.work-filters button:hover,.work-filters button.is-active{background:#111216;color:#fff;border-color:#111216}
.archive-grid{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:45px}
.archive-grid .work-card:nth-child(n){grid-column:span 1}
.archive-grid .work-card:nth-child(n) .work-media{aspect-ratio:.86}
.film-open{overflow:hidden}
.film-dialog{display:none;position:fixed;inset:0;z-index:100;background:rgba(6,7,9,.95);color:#fff}
.film-dialog.is-open{display:grid;place-items:center}
.film-dialog__backdrop{position:absolute;inset:0}
.film-dialog__panel{position:relative;z-index:1;width:min(94vw,1280px);max-height:96svh;display:flex;flex-direction:column}
.film-dialog__top,.film-dialog__bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}
.film-dialog__top{padding:0 0 16px;font-size:11px;font-weight:700;letter-spacing:.17em}
.film-dialog__close{border:0;background:none;color:#fff;cursor:pointer;font-size:11px;letter-spacing:.17em;padding:6px 0}
.film-dialog__close span{font-size:30px;line-height:0;vertical-align:middle;margin-left:13px;font-weight:300}
.film-dialog__video{display:grid;place-items:center;background:#111;min-height:0;max-height:75svh;overflow:hidden}
.film-dialog__video video{display:block;width:100%;height:auto;max-height:75svh;object-fit:contain;background:#111}
.film-dialog__bottom{padding:20px 0 0;align-items:start}
.film-dialog__bottom h3{font-size:clamp(22px,3vw,37px);letter-spacing:-.04em;font-weight:500;margin:0}
.film-dialog__bottom p{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#a9a9ad;margin:7px 0 0}
.film-variants{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.film-variants button{width:38px;height:38px;border:1px solid #666;background:transparent;color:#fff;cursor:pointer;border-radius:50%;font-size:11px}
.film-variants button:hover,.film-variants button.is-active{background:#fff;color:#111;border-color:#fff}
@media(max-width:1050px){.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.archive-grid .work-card:nth-child(n){grid-column:span 1}.archive-grid .work-card:nth-child(n) .work-media{aspect-ratio:.86}}
@media(max-width:720px){.featured-grid,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 12px}.featured-grid .work-card:nth-child(n),.archive-grid .work-card:nth-child(n){grid-column:span 1}.featured-grid .work-card:nth-child(5n+1){grid-column:span 2}.featured-grid .work-card:nth-child(n) .work-media,.archive-grid .work-card:nth-child(n) .work-media{aspect-ratio:.8}.featured-grid .work-card:nth-child(5n+1) .work-media{aspect-ratio:1.48}.work-meta{display:block;font-size:11px}.work-meta span{display:block;text-align:left;margin-top:4px;font-size:9px}.work-number{top:14px;left:14px}.work-play{width:34px;height:34px;right:12px;bottom:12px;font-size:17px}.work-intro{font-size:9px}.archive-heading{margin-top:85px}.archive-heading>span{display:none}.work-filters{gap:6px}.work-filters button{font-size:10px;padding:9px 12px}.film-dialog__panel{width:100vw;max-height:100svh;padding:15px}.film-dialog__video{max-height:70svh}.film-dialog__video video{max-height:70svh}.film-dialog__bottom{display:block}.film-variants{justify-content:flex-start;margin-top:15px}.film-dialog__top{padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.work-media img,.work-play,.work-media:after{transition:none}.work-media img{transform:none!important}}
