@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');

:root{font-family:'DM Sans',Arial,sans-serif;color:#171717;background:#f6f5f1;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper:#f6f5f1;--ink:#171717;--muted:#777873;--line:#d8d7d1;--orange:#f0441b;--gutter:clamp(24px,4.5vw,64px);--radius:22px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;min-width:320px;background:var(--paper)}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.site-header{height:72px;margin:0 var(--gutter);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;position:relative;z-index:5;background:var(--paper)}
.brand{justify-self:start;display:flex;align-items:center;gap:24px;font-size:16px;letter-spacing:-.035em}
.monogram{font-size:29px;line-height:1;font-weight:600;letter-spacing:-.09em}.monogram span{color:var(--orange)}
.main-nav{display:flex;align-items:center;gap:34px;height:100%;justify-self:center;margin:0}
.main-nav a{height:100%;display:flex;align-items:center;position:relative;font-size:14px;letter-spacing:-.02em;color:#282824;transition:color .2s}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--ink)}
.main-nav a[aria-current="page"]:after{content:"";position:absolute;bottom:12px;left:0;right:0;height:2px;background:var(--orange)}
.contact-link{justify-self:end}
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}
.film-controls button{display:grid;place-items:center}
.film-controls .ui-icon{width:19px;height:19px}
.film-play-button .ui-icon{width:23px;height:23px}
.contact-link,.site-footer>a{border:1px solid #858680;border-radius:999px;padding:11px 19px;font-size:14px;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.contact-link:hover,.site-footer>a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.contact-link span,.site-footer>a span{margin-left:6px}
main{margin:0 var(--gutter)}
.page{padding-top:40px;min-height:calc(100vh - 142px)}
.page[hidden]{display:none}
.work-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:2px 0 24px}
.eyebrow{font-size:11px;line-height:1.4;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#6c6d68;margin:0 0 13px}
h1,h2,h3,p{margin-top:0}
.work-intro h1,.ai-intro h1{font-size:clamp(48px,6vw,78px);font-weight:400;line-height:.98;letter-spacing:-.075em;margin:0}
.work-intro h1 span,.ai-intro h1 span{color:var(--orange)}
.reel-switch{display:flex;border:1px solid #92938d;border-radius:999px;padding:2px;margin-bottom:4px;flex:0 0 auto}
.reel-switch button{min-height:40px;padding:0 24px;border:0;border-radius:999px;background:transparent;font-size:14px;cursor:pointer;transition:background .2s,color .2s}
.reel-switch button[aria-pressed="true"]{background:var(--ink);color:white}
.reel-frame{position:relative;width:100%;aspect-ratio:3.43/1;overflow:hidden;border-radius:var(--radius);background:#1d292f}
.reel-poster{display:block;width:100%;height:100%;object-fit:cover;object-position:center 54%;transition:opacity .24s}
.reel-video{display:block;width:100%;height:100%;object-fit:cover;background:#171717}
.reel-video[hidden]{display:none}
.reel-label{position:absolute;top:18px;left:22px;color:white;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:600;text-shadow:0 1px 9px #0008}
.reel-caption{display:flex;align-items:center;justify-content:space-between;padding:12px 0 0;color:var(--muted);font-size:14px}
.section-rule{height:1px;background:var(--line);margin:27px 0 18px}
.selected-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.selected-heading .eyebrow{margin:0}
.filter-tabs{display:flex;align-items:center;gap:12px}
.filter{border:0;background:transparent;border-radius:999px;padding:8px 16px;font-size:14px;cursor:pointer;transition:background .18s,color .18s}
.filter.active{background:var(--ink);color:white}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.project .media-frame{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius)}
.project-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:11px}
.project-meta>div{min-width:0}
.project h3,.project p{white-space:pre-wrap;overflow-wrap:anywhere}
.project p{line-height:1.45}
.project h3,.film-item h3,.app-item h3,.experiment-grid h3{font-size:22px;font-weight:400;letter-spacing:-.055em;margin:0 0 2px}
.project p,.film-item>p,.app-item>p,.experiment-grid p{font-size:15px;color:var(--muted);margin:0;letter-spacing:-.025em}
.round-arrow{width:42px;height:42px;border:1px solid #a1a19a;border-radius:50%;display:grid;place-items:center;font-size:18px;flex:0 0 auto}
.about-page{padding-top:36px}
.about-intro{text-align:center;padding:0 24px 28px}
.about-intro h1{font-size:clamp(42px,5vw,66px);font-weight:400;letter-spacing:-.07em;line-height:1;margin:0 0 10px}
.about-intro>p{font-size:18px;letter-spacing:-.035em;color:var(--muted);margin:0 0 19px}
.scroll-hint{font-size:13px;color:var(--muted)}
.timeline{max-width:1110px;margin:0 auto 100px;position:relative;isolation:isolate}
.timeline:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:#aaa9a2;transform:translateX(-.5px);z-index:-1}
.timeline-item{display:grid;grid-template-columns:minmax(0,1fr) 108px minmax(0,1fr);align-items:center;gap:0;min-height:300px;position:relative;transition:min-height .45s cubic-bezier(.2,.8,.2,1);--focus:1}
.timeline-item .media-frame{grid-column:1;justify-self:end;width:min(88%,490px);height:clamp(140px,24vw,300px);object-fit:contain;border-radius:var(--radius);transform:scale(var(--focus));transform-origin:right center;transition:transform .3s ease,opacity .3s ease;opacity:calc(.5 + var(--focus)*.5);z-index:1}
.timeline-item time{grid-column:2;grid-row:1;justify-self:center;padding:9px 12px;background:var(--paper);color:var(--muted);font-size:22px;letter-spacing:-.045em;z-index:2;transform:scale(var(--focus));transition:transform .3s,color .3s,font-size .3s;white-space:nowrap}
.timeline-copy{grid-column:3;grid-row:1;padding-left:8px;transform:scale(var(--focus));transform-origin:left center;transition:transform .3s ease,opacity .3s ease;opacity:calc(.55 + var(--focus)*.45);z-index:1}
.timeline-copy h2{font-size:clamp(21px,2.4vw,36px);line-height:1.1;font-weight:400;letter-spacing:-.06em;margin:0 0 12px}
.timeline-copy p{max-width:410px;font-size:clamp(14px,1.4vw,18px);line-height:1.45;color:var(--muted);letter-spacing:-.025em;margin:0}
.timeline-item.is-active time{color:var(--orange);font-size:27px}
.timeline-item.is-active{z-index:2}
.ai-page{padding-top:37px;padding-bottom:24px}
.ai-intro{padding:0 0 28px}
.ai-intro .eyebrow{margin-bottom:12px}
.ai-intro h1{font-size:clamp(48px,6vw,72px);margin-bottom:8px}
.ai-lede{color:var(--muted);font-size:18px;letter-spacing:-.035em;margin:0 0 18px}
.section-nav{display:flex;gap:28px;font-size:14px}
.section-nav a{transition:color .2s}.section-nav a:hover{color:var(--orange)}.section-nav span{margin-left:5px}
.ai-section{border-top:1px solid var(--line);padding:18px 0 22px;scroll-margin-top:30px}
.ai-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.ai-section-heading>div{display:flex;align-items:baseline;gap:22px}
.ai-section-heading h2{font-weight:400;font-size:clamp(33px,4vw,44px);line-height:1;letter-spacing:-.07em;margin:0}
.ai-section-heading p{font-size:14px;color:var(--muted);letter-spacing:-.025em;margin:0}
.view-all{font-size:14px;white-space:nowrap}.view-all span{margin-left:5px}
.film-grid,.app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.image-wrap{position:relative}.film-item .media-frame,.app-item .media-frame,.experiment-grid .media-frame{display:block;width:100%;object-fit:contain;border-radius:var(--radius)}
.film-item .media-frame{aspect-ratio:1.8/1}
.film-player{aspect-ratio:1.8/1;overflow:hidden;border-radius:var(--radius);background:#171717;isolation:isolate}
.film-item video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0;background:#171717}
.play-icon{position:absolute;bottom:14px;left:14px;width:36px;height:36px;border:1px solid #ffffffdd;color:white;border-radius:50%;display:grid;place-items:center;font-size:11px;padding-left:2px;background:#15151520}
.film-play-button{position:absolute;z-index:2;top:50%;left:50%;width:54px;height:54px;transform:translate(-50%,-50%);border:1px solid #ffffffdd;border-radius:50%;display:grid;place-items:center;padding:2px 0 0 4px;background:#151515a8;color:#fff;font-size:17px;cursor:pointer;backdrop-filter:blur(5px)}
.film-play-button[hidden]{display:none}
.film-controls{position:absolute;z-index:3;left:12px;right:12px;bottom:11px;display:grid;grid-template-columns:28px minmax(36px,1fr) auto 28px minmax(38px,70px) 28px;align-items:center;gap:6px;padding:8px;border-radius:999px;background:#121212c9;color:#fff;opacity:0;visibility:hidden;transition:opacity .16s ease,visibility .16s ease;backdrop-filter:blur(7px)}
.film-player:hover .film-controls,.film-player:focus-within .film-controls,.film-player.is-hovered .film-controls{opacity:1;visibility:visible}
.film-controls button{width:30px;height:26px;padding:0;border:0;background:transparent;color:#fff;font-size:16px;cursor:pointer}
.film-progress,.film-volume{width:100%;min-width:0;height:4px;margin:0;padding:0;appearance:none;-webkit-appearance:none;border:0;border-radius:99px;background:#ffffff70;cursor:pointer}
.film-progress::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border:0;border-radius:50%;background:#fff}
.film-progress::-moz-range-thumb{width:11px;height:11px;border:0;border-radius:50%;background:#fff}
.film-volume::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border:0;border-radius:50%;background:#fff}
.film-volume::-moz-range-thumb{width:11px;height:11px;border:0;border-radius:50%;background:#fff}
.film-time{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;color:#ffffffde}
@media(hover:none){.film-controls{opacity:1;visibility:visible}}
.film-item h3,.app-item h3{font-size:19px;margin-top:8px}
.film-item>p,.app-item>p,.experiment-grid p{font-size:14px}
.app-item .media-frame{aspect-ratio:2/1;border:1px solid var(--line)}
.experiment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.experiment-grid .media-frame{aspect-ratio:1.8/1;margin-bottom:8px}
.experiment-grid h3{font-size:18px;margin-bottom:2px}
.site-footer{min-height:72px;margin:34px var(--gutter) 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:14px;letter-spacing:-.025em}
.site-footer>a{padding:9px 17px;font-size:13px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){:root{--gutter:22px;--radius:16px}.site-header{height:104px;grid-template-columns:1fr 1fr;grid-template-rows:58px 46px}.main-nav{grid-column:1/-1;grid-row:2}.contact-link{grid-column:2;grid-row:1}.brand{gap:10px;font-size:14px}.monogram{font-size:25px}.main-nav{gap:28px;margin:0}.main-nav a{font-size:13px}.main-nav a[aria-current="page"]:after{bottom:9px}.contact-link{padding:9px 12px;font-size:12px}.page{padding-top:30px}.work-intro{align-items:flex-start;flex-direction:column;margin-bottom:18px;gap:18px}.work-intro h1,.ai-intro h1{font-size:clamp(44px,11vw,70px)}.reel-switch{align-self:flex-end;margin-top:-3px}.reel-switch button{min-height:36px;padding:0 18px;font-size:13px}.reel-frame{aspect-ratio:1.42/1}.reel-poster{object-position:48% center}.reel-caption{font-size:12px;gap:14px}.project-grid{gap:14px}.project h3{font-size:18px}.project p{font-size:12px}.round-arrow{width:34px;height:34px}.about-intro{padding-bottom:22px}.about-intro h1{font-size:45px}.about-intro>p{font-size:15px}.timeline{margin-bottom:70px}.timeline-item{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);min-height:230px}.timeline-item .media-frame{width:92%;height:150px}.timeline-item time{font-size:16px;padding:7px 5px}.timeline-item.is-active time{font-size:19px}.timeline-copy{padding-left:6px}.timeline-copy h2{font-size:clamp(17px,4vw,25px);margin-bottom:8px}.timeline-copy p{font-size:13px}.ai-intro{padding-bottom:22px}.ai-lede{font-size:16px}.ai-section-heading>div{display:block}.ai-section-heading h2{font-size:35px;margin-bottom:5px}.ai-section-heading p{font-size:13px}.film-grid,.app-grid{gap:14px}.film-item h3,.app-item h3{font-size:17px}.experiment-grid{gap:11px}.experiment-grid h3{font-size:15px}.experiment-grid p{font-size:12px}.site-footer{margin-top:25px}}
@media(max-width:480px){.site-header{margin:0 16px}.main-nav{gap:26px;margin:0}.main-nav a{font-size:12px}.brand{font-size:0;gap:0}.monogram{font-size:27px}.contact-link{padding:8px 10px;font-size:11px}main{margin:0 16px}.page{padding-top:25px}.work-intro h1{font-size:47px}.reel-frame{aspect-ratio:1.18/1}.project-grid{grid-template-columns:1fr}.selected-heading{align-items:flex-start;flex-direction:column;gap:10px}.filter-tabs{gap:5px}.filter{padding:7px 13px;font-size:13px}.timeline-item{grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);min-height:210px}.timeline-item .media-frame{width:96%;height:115px}.timeline-item time{font-size:14px;padding:7px 3px}.timeline-item.is-active time{font-size:17px}.timeline-copy h2{font-size:17px}.timeline-copy p{font-size:12px;line-height:1.35}.about-intro h1{font-size:41px}.film-grid,.app-grid{grid-template-columns:1fr;gap:18px}.film-item .media-frame{aspect-ratio:1.65/1}.app-item .media-frame{aspect-ratio:1.75/1}.experiment-grid{grid-template-columns:1fr;gap:16px}.experiment-grid article{display:grid;grid-template-columns:38% 1fr;column-gap:12px;align-items:center}.experiment-grid .media-frame{grid-row:span 2;aspect-ratio:1.35/1;margin:0}.experiment-grid h3{font-size:16px;align-self:end}.experiment-grid p{align-self:start}.ai-section-heading{align-items:center}.site-footer{margin-left:16px;margin-right:16px}}
@media(max-width:480px){.film-controls{left:7px;right:7px;bottom:7px;grid-template-columns:26px minmax(35px,1fr) auto 26px 42px 26px;gap:4px;padding:6px}.film-controls button{width:26px;font-size:14px}.film-time{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

@media(hover:hover) and (pointer:fine){.film-play-button,.play-icon{opacity:0;transition:opacity .16s ease}.film-player:hover .film-play-button,.film-player:focus-within .film-play-button,.film-player.is-hovered .film-play-button,.image-wrap:hover .play-icon{opacity:1}}

.film-player .film-poster{position:absolute;inset:0;z-index:1;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;pointer-events:none}

summary.ai-section-heading{list-style:none;cursor:pointer;margin-bottom:0;gap:18px;min-height:44px}
summary.ai-section-heading::-webkit-details-marker{display:none}
summary.ai-section-heading::marker{content:""}
summary.ai-section-heading:focus-visible{outline:2px solid var(--orange);outline-offset:6px;border-radius:4px}
.ai-section[open]>summary{margin-bottom:14px}
.section-toggle{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--line);border-radius:50%}
.section-toggle .ui-icon{width:19px;height:19px;transition:transform .18s ease}
.ai-section[open] .section-toggle .ui-icon{transform:rotate(180deg)}

.media-frame{position:relative;overflow:hidden}.media-frame>img,.reel-frame>.reel-poster,.film-player>.film-poster{position:absolute;inset:auto;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;border-radius:0;aspect-ratio:auto}

.media-frame>img{left:50%;top:50%;transform:translate(-50%,-50%)}
