:root[data-scheme=light] .hero{--wash:color-mix(in srgb, var(--bg) 75%, transparent)}:root[data-scheme=light] :is(.work-intro,.contact){--muted:var(--text)}:root[data-scheme=light] .contact-linkedin{padding:var(--space-3) var(--space-4);border:1px solid var(--wire);border-radius:var(--radius-sm);background:var(--bg)}:root[data-scheme=light] .footer-bar a:hover{color:var(--text);text-decoration:underline}@media (prefers-color-scheme:light){:root:not([data-scheme]) .hero{--wash:color-mix(in srgb, var(--bg) 75%, transparent)}:root:not([data-scheme]) :is(.work-intro,.contact){--muted:var(--text)}:root:not([data-scheme]) .contact-linkedin{padding:var(--space-3) var(--space-4);border:1px solid var(--wire);border-radius:var(--radius-sm);background:var(--bg)}:root:not([data-scheme]) .footer-bar a:hover{color:var(--text);text-decoration:underline}}.tower-backdrop{z-index:-2;pointer-events:none;background:radial-gradient(ellipse 70% 60% at 70% 120%, var(--glow), transparent 70%), linear-gradient(180deg, color-mix(in srgb, var(--depth) 95%, transparent), transparent 72%), var(--bg);position:fixed;inset:0}.tower-canvas{z-index:2;opacity:0;width:100%;height:100%;transition:opacity var(--motion-page) var(--ease-out);display:block;position:relative}html[data-tower=live] .tower-canvas,html[data-tower=ready] .tower-canvas{opacity:1}html[data-tower=ready] .tower-canvas{transition:none}.tower-immediate-fallback .tower-canvas{transition:none!important}.tower-still{z-index:1;opacity:0;display:none;position:absolute;inset:0}html[data-tower=loading] .tower-still[data-displayed],html[data-tower=live] .tower-still[data-displayed],html[data-tower=still] .tower-still[data-displayed],.tower-still[data-pending]{display:block}.tower-still[data-displayed]{opacity:0}html[data-tower=loading] .tower-still[data-displayed],html[data-tower=live] .tower-still[data-displayed],html[data-tower=still] .tower-still[data-displayed]{opacity:1}.tower-still[data-pending]{opacity:0!important}.tower-still img{object-fit:cover;width:100%;height:100%;display:block}.site-main{isolation:isolate}.hero,.work,.contact{position:relative}.contact{z-index:1}.motion-toggle{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text);font:500 var(--size-small) / 1 var(--font-text);cursor:pointer;transition:border-color var(--motion-ui) var(--ease-out), color var(--motion-ui) var(--ease-out);background:0 0;border:1px solid #0000;flex:none;place-items:center;padding:0;display:inline-grid}.motion-toggle:hover{border-color:var(--accent);color:var(--accent)}:root[data-scheme=light] .motion-toggle:focus-visible{box-shadow:0 0 0 8px var(--surface)}.motion-toggle svg{fill:currentColor;width:12px;height:12px}.motion-toggle[hidden],.motion-toggle[aria-pressed=true] .icon-pause,.motion-toggle:not([aria-pressed=true]) .icon-play{display:none}.contact{--contact-pad-bottom:max(var(--space-6), env(safe-area-inset-bottom));padding-bottom:var(--contact-pad-bottom)}.hero{min-height:calc(100svh - var(--site-header-height) - 45px);align-items:end;display:grid}@media (width>=960px) and (aspect-ratio>=1){.hero{align-items:center}}.hero-inner{--pad-top:var(--hero-pad-top);--pad-bottom:var(--hero-pad-bottom);justify-items:start;gap:var(--space-6);padding-block:var(--pad-top) var(--pad-bottom);display:grid;position:relative}.hero h1{font-size:var(--size-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display);max-width:var(--text-box)}.hero-tagline{color:var(--muted)}.hero-roles{row-gap:var(--space-2);margin:0;padding:0;list-style:none}.hero-actions{gap:var(--space-4);flex-wrap:wrap;display:flex}.arrival-line{display:block}@media (prefers-reduced-motion:no-preference){html[data-arrival] .arrival-line{clip-path:polygon(-5% -50%,105% -50%,105% 100%,-5% 100%);margin-bottom:-.15em;padding-bottom:.15em}html[data-arrival] .arrival-line>span{animation:arrival-rise var(--arrival-duration) var(--ease-reveal) both;animation-delay:calc(.3s + var(--line-index) * .14s);display:block}}.contact{align-items:end;min-height:100svh;display:grid;position:relative}.work-intro{min-height:0;padding-block:var(--space-12) var(--space-8);display:block;position:relative}.work{padding-bottom:var(--section-pad)}:is(.work-intro,.contact)>.wrap{position:relative}:root{--ease:#0000, #00000002 5%, #00000007 10%, #0000000f 15%, #0000001b 20%, #00000028 25%, #00000037 30%, #00000048 35%, #0000005a 40%, #0000006c 45%, #00000080 50%, #00000093 55%, #000000a5 60%, #000000b7 65%, #000000c8 70%, #000000d7 75%, #000000e4 80%, #000000ef 85%, #000000f8 90%, #000000fd 95%, #000;--ease-over:#0000, #0000001f 5%, #0000003a 10%, #00000053 15%, #00000069 20%, #0000007c 25%, #0000008d 30%, #0000009d 35%, #000000ab 40%, #000000b7 45%, #000000c2 50%, #000000cb 55%, #000000d4 60%, #000000dc 65%, #000000e3 70%, #000000e9 75%, #000e 80%, #000000f3 85%, #000000f8 90%, #000000fc 95%, #000;--wash-across:radial-gradient(ellipse calc(var(--wash-x) + var(--wash-reach)) 180% at 0 50%, #000 var(--wash-x), #000000fd calc(var(--wash-x) + var(--wash-reach) * .05), #000000f8 calc(var(--wash-x) + var(--wash-reach) * .1), #000000f0 calc(var(--wash-x) + var(--wash-reach) * .15), #000000e4 calc(var(--wash-x) + var(--wash-reach) * .2), #000000d7 calc(var(--wash-x) + var(--wash-reach) * .25), #000000c8 calc(var(--wash-x) + var(--wash-reach) * .3), #000000b7 calc(var(--wash-x) + var(--wash-reach) * .35), #000000a5 calc(var(--wash-x) + var(--wash-reach) * .4), #00000093 calc(var(--wash-x) + var(--wash-reach) * .45), #00000080 calc(var(--wash-x) + var(--wash-reach) * .5), #0000006c calc(var(--wash-x) + var(--wash-reach) * .55), #0000005a calc(var(--wash-x) + var(--wash-reach) * .6), #00000048 calc(var(--wash-x) + var(--wash-reach) * .65), #00000037 calc(var(--wash-x) + var(--wash-reach) * .7), #00000028 calc(var(--wash-x) + var(--wash-reach) * .75), #0000001b calc(var(--wash-x) + var(--wash-reach) * .8), #00000010 calc(var(--wash-x) + var(--wash-reach) * .85), #00000007 calc(var(--wash-x) + var(--wash-reach) * .9), #00000002 calc(var(--wash-x) + var(--wash-reach) * .95), #0000 calc(var(--wash-x) + var(--wash-reach)))}.hero:before,.hero-inner:before,.contact:after,:is(.work-intro,.contact):before,:is(.work-intro,.contact)>.wrap:before{z-index:-1;background:var(--wash);pointer-events:none;-webkit-mask-image:var(--across,linear-gradient(#000, #000)), linear-gradient(to bottom, var(--ramp-top,var(--ease))), linear-gradient(#000, #000), linear-gradient(to top, var(--ramp-bottom,var(--ease)));mask-image:var(--across,linear-gradient(#000, #000)), linear-gradient(to bottom, var(--ramp-top,var(--ease))), linear-gradient(#000, #000), linear-gradient(to top, var(--ramp-bottom,var(--ease)));-webkit-mask-size:100% 100%, 100% var(--ft,0px), 100% calc(100% - var(--ft,0px) - var(--fb,0px) + 2px), 100% var(--fb,0px);mask-size:100% 100%, 100% var(--ft,0px), 100% calc(100% - var(--ft,0px) - var(--fb,0px) + 2px), 100% var(--fb,0px);-webkit-mask-position:0 0, 0 0, 0 calc(var(--ft,0px) - 1px), 0 100%;mask-position:0 0, 0 0, 0 calc(var(--ft,0px) - 1px), 0 100%;-webkit-mask-composite:source-in, source-over, source-over, source-over;position:absolute;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;mask-composite:intersect,add,add,add}:is(.work-intro,.contact)>.wrap:before,.hero-inner:before{content:""}.hero-inner:before{inset:calc(-1 * var(--fade)) 0 calc(-1 * var(--section-pad));--ft:calc(var(--fade) + var(--pad-top));--fb:calc(var(--hero-pad-bottom) + var(--section-pad));--ramp-bottom:var(--ease-over)}.work-intro>.wrap:before{inset:calc(-1 * var(--fade)) 0 calc(-1 * var(--fade));--ft:var(--fade);--fb:var(--fade)}.contact>.wrap:before{inset:calc(-1 * var(--fade)) 0 calc(-1 * var(--contact-pad-bottom));--ft:var(--fade)}.work-intro{padding-bottom:var(--space-8)}@media (width>=960px) and (aspect-ratio>=1){:is(.work-intro,.contact)>.wrap:before,.hero-inner:before{content:none}.work-intro{padding-bottom:var(--space-8)}:is(.work-intro,.contact):before{content:"";--across:var(--wash-across);inset:0}.hero:before{content:"";inset:0 0 calc(-1 * var(--section-pad));--across:var(--wash-across);--fb:calc(var(--fade) + var(--section-pad));--ramp-bottom:var(--ease-over)}.work-intro:before{inset:calc(-1 * var(--fade)) 0 calc(-1 * var(--fade));--ft:calc(var(--fade) + var(--section-pad));--fb:var(--fade);--ramp-top:var(--ease-over)}.contact:before{inset:calc(-1 * var(--fade)) 0 0;--ft:calc(var(--fade) + var(--section-pad))}.contact:after{content:"";height:calc(130px + var(--fade) * .75);--ft:calc(var(--fade) * .75);inset:auto 0 0}}.section-heading{max-width:var(--text-box);gap:var(--space-4);display:grid}.section-heading h2{font-size:var(--size-heading-l);line-height:var(--leading-heading-l);letter-spacing:var(--tracking-heading-l)}.section-heading .section-note{margin-top:var(--space-2)}.section-note{color:var(--muted)}.work-list{gap:55svh;padding-bottom:35svh;display:grid}@media (width<=767px){.work-list{gap:clamp(64px,18svh,160px);padding-bottom:clamp(48px,12svh,104px)}}.work-card{border:1px solid var(--panel-edge);border-radius:var(--radius);background:var(--panel);backdrop-filter:var(--panel-blur);box-shadow:var(--panel-shadow);grid-template-columns:minmax(0,1fr);display:grid;position:relative;overflow:hidden}.work-card>.work-cover{aspect-ratio:16/9;border-bottom:1px solid var(--panel-edge)}.work-card .frame-banner img{object-fit:contain}.work-heading,.work-copy{align-content:start;gap:var(--space-3);min-width:0;padding:var(--inset-l);display:grid}.work-heading{padding-bottom:var(--space-6)}@media (width>=768px){.work-card>:is(.work-cover,.card-reel){grid-row:1}.work-card.is-coming-soon>.work-cover{grid-row:2}.work-heading{padding-bottom:0}.work-copy{padding-top:var(--space-6)}}.work-ribbon{padding:var(--space-3) var(--inset-l);background:var(--action);color:var(--on-action);grid-row:1}.work-meta{color:var(--panel-muted)}.work-meta .label-number,.work-meta>:not(:last-child):after{color:var(--panel-accent)}.work-name{color:var(--panel-muted);font-weight:500}.work-card h3{font-size:var(--size-heading-m);line-height:var(--leading-heading-m);letter-spacing:var(--tracking-heading-m)}.work-link{color:var(--text);transition:color var(--motion-ui) var(--ease-out);text-decoration:none}.work-title{display:block}.work-link:after{content:"";z-index:1;position:absolute;inset:0}.work-role{margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line)}.work-role .label{color:var(--panel-muted);display:block}.work-cta{color:var(--panel-accent);font-weight:var(--strong-weight)}.work-cta-arrow{transition:transform var(--motion-ui) var(--ease-out);display:inline-block}.work-cta-label{transition:background-size var(--motion-ui) var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 100%/0% 2px no-repeat;padding-bottom:2px}.work-card.has-link:hover .work-cta-label,.work-card:has(.work-link:focus-visible) .work-cta-label{background-size:100% 2px}.work-card.has-link:hover .work-link,.work-card.has-link:focus-within .work-link{color:var(--panel-accent)}.work-card.has-link:hover .work-cover-frame{transform:scale(1.03)}.work-card.has-link:hover .work-cta-arrow{transform:translateX(var(--travel-sm))}.work-card:has(.work-link:focus-visible){outline:2px solid var(--accent);outline-offset:4px}:root[data-scheme=light] .work-card:has(.work-link:focus-visible){box-shadow:0 0 0 8px var(--surface), var(--panel-shadow)}.work-link:focus-visible{outline:none}@media (width>=960px){.work-card{width:var(--panel-width)}.work-card:nth-child(2n){justify-self:end}}@media (prefers-reduced-motion:reduce){.work-card.has-link:hover .work-cover-frame,.work-card.has-link:hover .work-cta-arrow{transform:none}}.contact{background:0 0;border-top:0}
