@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/manrope-latin-400-normal.PaqtzbVb.woff2)format("woff2"),url(/_astro/manrope-latin-400-normal.8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/manrope-latin-500-normal.BYYD-dBL.woff2)format("woff2"),url(/_astro/manrope-latin-500-normal.DMZssgOp.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/manrope-latin-600-normal.4f0koTD-.woff2)format("woff2"),url(/_astro/manrope-latin-600-normal.BqgrALkZ.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-400-normal.DQi5PRDE.woff2)format("woff2"),url(/_astro/source-sans-3-latin-400-normal.AFMiCETP.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-latin-600-normal.DeckBYAU.woff2)format("woff2"),url(/_astro/source-sans-3-latin-600-normal.BvDVuF-j.woff)format("woff")}:root{--ink:#09080d;--surface:#111017;--paper:#f0ecf5;--muted:#aaa3b4;--mint:#c2a4ff;--teal:#c2a4ff;--amber:#e6b875;--line:#29242f;--font-display:"Manrope", sans-serif;--font-body:"Source Sans 3", sans-serif;--shell:1320px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink);color-scheme:dark;scroll-padding-top:32px}body{font-family:var(--font-body);color:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-size:18px;line-height:1.6}::selection{color:var(--ink);background:var(--mint)}a{color:inherit;text-decoration:none}button,input,summary{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}img,video,svg{max-width:100%}img{height:auto;display:block}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500}h1,h2{text-wrap:balance}p{text-wrap:pretty}h2{letter-spacing:-.055em;font-size:clamp(36px,4.3vw,62px);line-height:1.12}em{color:var(--mint);font-style:normal}a,button,summary{outline-offset:6px}:focus-visible{outline:2px solid var(--mint)}.shell{width:min(var(--shell), calc(100% - 104px));margin-inline:auto}.eyebrow{font-family:var(--font-display);letter-spacing:.17em;align-items:center;gap:12px;font-size:10px;font-weight:600;line-height:1.6;display:flex}.status-dot{background:var(--mint);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 4px #88d6c40b}.mint{color:var(--mint)}.arrow{vertical-align:middle;flex:none;transition:transform .2s}.arrow--down{transform:rotate(90deg)}.arrow--right{transform:rotate(45deg)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:50;background:var(--mint);color:var(--ink);padding:12px 20px;position:fixed;top:10px;left:10px;transform:translateY(-180%)}.skip-link:focus{transform:none}.button{min-height:52px;font-family:var(--font-display);justify-content:center;align-items:center;gap:24px;padding:14px 22px;font-size:12px;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.button-primary{color:var(--ink);background:var(--mint);border:1px solid var(--mint)}.button-primary:hover{background:#b0ebdd;transform:translateY(-2px)}.text-link{align-items:center;gap:20px;padding-block:12px;font-size:14px;display:inline-flex}.text-link:hover .arrow{transform:translate(3px,-3px)}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:32px;height:110px;display:flex}.wordmark{font-family:var(--font-display);align-items:center;gap:13px;font-size:14px;line-height:1.3;display:flex}.wordmark small{font-family:var(--font-body);letter-spacing:.14em;color:var(--muted);margin-top:5px;font-size:8px;display:block}.monogram{letter-spacing:-.12em;margin-right:6px;font-size:39px;font-weight:600;line-height:1}.monogram span{color:var(--mint)}.desktop-nav{gap:36px;margin-left:auto;margin-right:66px;font-size:13px;display:flex}.desktop-nav a,.header-contact{padding-block:12px}.desktop-nav a:hover{color:var(--mint)}.header-contact{align-items:center;gap:32px;font-size:13px;display:flex}.header-contact .arrow{color:var(--mint)}.mobile-nav{z-index:20;display:none;position:relative}.hero{grid-template-columns:1.08fr 1fr;column-gap:12px;padding-top:76px;display:grid;position:relative}.hero-copy{z-index:2;position:relative}.hero-eyebrow{color:var(--muted);margin-bottom:31px;font-size:9px}.hero h1{letter-spacing:-.065em;max-width:770px;font-size:clamp(44px,5.8vw,86px);font-weight:500;line-height:1.08}.hero-accent{color:var(--mint)}.hero-intro{color:var(--muted);max-width:400px;margin-top:28px;font-size:16px;line-height:1.8}.hero-actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:31px;display:flex}.hero-actions .text-link{font-size:12px}.hero-art{align-self:center;min-width:0;margin:-28px -23px 0 -38px;position:relative}.hero-poster{aspect-ratio:12/11;object-fit:contain;width:100%;transition:opacity .25s}.art-coordinate{letter-spacing:.15em;color:var(--muted);z-index:3;justify-content:space-between;align-items:center;gap:12px;font-size:8px;display:flex;position:absolute;left:34px;right:24px}.art-coordinate-top{border-top:1px solid var(--line);padding-top:13px;top:8px}.art-coordinate-top span:last-child{color:var(--mint);font-size:18px}.art-coordinate-bottom{bottom:12px}.scene-toggle{color:var(--mint);background:0 0;border:none;border-bottom:1px solid #88d6c44d;min-height:44px;padding:8px 0;font-size:10px}.scene-toggle:hover{color:var(--paper)}.hero-canvas{touch-action:pan-y;position:absolute;inset:40px 0}.hero-foot{border-top:1px solid var(--line);letter-spacing:.12em;color:var(--muted);grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;margin-top:70px;padding:30px 0 28px;font-size:8px;display:flex}.hero-foot>span:first-child{align-items:center;gap:12px;display:flex}.small-cross{color:var(--mint);font-size:23px;line-height:1}.hero-location span{color:var(--paper);margin-left:25px;display:inline-block}.hero-foot>a{align-items:center;gap:22px;min-height:44px;display:flex}.hero-foot>a span{color:var(--mint);font-size:20px}.paper-section{color:var(--ink);background:var(--paper);color-scheme:light}.work-section{padding:88px 0 80px}.section-topline{justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px;display:flex}.section-side-note{color:var(--muted);font-size:12px}.paper-section .section-side-note{color:#58666a}.section-heading{grid-template-columns:1.4fr 1fr;align-items:end;gap:60px;margin-bottom:62px;display:grid}.section-heading>p{max-width:340px;color:var(--muted);justify-self:end;margin-bottom:5px;font-size:16px;line-height:1.7}.paper-section .section-heading>p{color:#58666a}.projects-grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:70px 36px;display:grid}.project-card:nth-child(2n){padding-top:65px}.project-art-link{display:block}.project-art{background:#dce5df;position:relative;overflow:hidden}.project-art img{aspect-ratio:3/2;object-fit:cover;width:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project-art-link:hover img{transform:scale(1.035)}.project-image-label{letter-spacing:.14em;color:#243d37;background:#f2f0e9d9;padding:5px 8px;font-size:8px;position:absolute;top:18px;left:20px}.project-open{background:var(--paper);width:40px;height:40px;color:var(--ink);border-radius:50%;place-items:center;transition:background .2s,transform .2s;display:grid;position:absolute;bottom:18px;right:18px}.project-art-link:hover .project-open{background:var(--mint);transform:rotate(45deg)}.project-meta{letter-spacing:.1em;text-transform:uppercase;color:#566460;justify-content:space-between;gap:15px;margin-top:23px;font-size:9px;display:flex}.project-title-row{justify-content:space-between;align-items:center;gap:20px;margin-top:7px;display:flex}.project-title-row h3{letter-spacing:-.04em;font-size:29px}.project-title-row a:hover{color:var(--teal)}.project-card>p{color:#53605c;max-width:410px;margin-top:10px;font-size:16px;line-height:1.55}.project-tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.project-tags span{color:#40534c;border:1px solid #cbd2ca;border-radius:3px;padding:3px 10px;font-size:10px}.archive-link{font-family:var(--font-display);letter-spacing:-.035em;border-top:1px solid #ccd2ca;justify-content:space-between;align-items:center;gap:25px;margin-top:66px;padding:25px 0 4px;font-size:22px;display:flex}.archive-link small{letter-spacing:.13em;color:#5b6861;margin-bottom:10px;font-size:8px;display:block}.archive-subtitle{font-family:var(--font-body);letter-spacing:normal;color:#596a62;margin-left:30px;font-size:15px}.archive-link:hover{color:var(--teal)}.approach-section .section-heading{margin-bottom:58px}.approach-grid{grid-template-columns:repeat(3,1fr);gap:42px;display:grid}.approach-card{border-top:1px solid var(--line);padding-top:30px;position:relative}.approach-symbol{width:90px;height:75px;margin-bottom:28px}.approach-symbol svg{fill:none;width:100%;stroke:var(--mint);stroke-width:1px}.approach-index{color:#8faaa0;font-size:11px;position:absolute;top:34px;right:0}.approach-card h3{letter-spacing:-.035em;margin-bottom:15px;font-size:21px}.approach-card p{color:var(--muted);font-size:15px;line-height:1.75}.approach-card ul{color:#91ada4;flex-wrap:wrap;gap:6px 12px;margin:24px 0 0;padding:0;font-size:10px;list-style:none;display:flex}.about-section{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:95px}.about-grid{grid-template-columns:1fr 1fr;gap:110px;display:grid}.about-intro h2{margin-top:30px;margin-bottom:30px}.about-intro>p{color:var(--muted);max-width:440px;margin-bottom:18px;font-size:16px}.about-intro .about-lead{color:var(--paper);font-size:21px;line-height:1.5}.about-intro .text-link{color:var(--mint);margin-top:10px}.experience-item{border-top:1px solid #35434a;padding:26px 0}.experience-dates{color:var(--mint);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;font-size:10px;display:flex}.experience-dates span{color:var(--muted);font-size:9px}.experience-item h3{letter-spacing:-.02em;font-size:18px}.experience-item h4{font-family:var(--font-body);color:var(--muted);margin-top:3px;font-size:14px}.experience-item p{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.65}.summit-note{border-top:1px solid #35434a;align-items:flex-start;gap:17px;padding-top:23px;display:flex}.summit-note p{color:var(--muted);font-size:12px;line-height:1.7}.summit-note strong{color:var(--paper);font-weight:600}.contact-section{padding:92px 0 85px}.contact-section .eyebrow{color:var(--muted);margin-bottom:30px}.contact-grid{grid-template-columns:1.4fr 1fr;align-items:end;gap:60px;display:grid}.contact-grid>div{justify-self:end;max-width:320px}.contact-grid p{color:var(--muted);margin-bottom:18px;font-size:16px}.contact-email{font-family:var(--font-display);border-bottom:1px solid var(--mint);align-items:center;gap:35px;padding-bottom:8px;font-size:20px;display:inline-flex}.contact-email:hover{color:var(--mint)}.footer{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:38px;padding-top:32px;padding-bottom:25px;display:grid}.footer-name{font-family:var(--font-display);font-size:13px}.footer-name span{font-family:var(--font-body);color:var(--muted);margin-top:5px;font-size:11px;display:block}.footer-links{justify-content:flex-end;align-items:flex-start;gap:30px;font-size:11px;display:flex}.footer-links a{align-items:center;gap:7px;min-height:44px;display:inline-flex}.footer-links a:hover{color:var(--mint)}.footer-links .arrow{width:13px}.footer-bottom{color:var(--muted);border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;gap:20px;padding-top:20px;font-size:9px;display:flex}.case-hero{padding-top:45px}.back-link{color:var(--muted);padding-block:10px;font-size:13px;display:inline-block}.back-link:hover{color:var(--mint)}.case-eyebrow{color:var(--muted);justify-content:space-between;margin-top:55px}.case-hero h1{letter-spacing:-.065em;overflow-wrap:anywhere;margin-top:20px;font-size:clamp(48px,8vw,112px);line-height:1.1}.case-description{max-width:820px;color:var(--muted);margin-top:24px;font-size:clamp(19px,2.4vw,30px);line-height:1.4}.case-facts{border-top:1px solid var(--line);grid-template-columns:1.2fr .8fr 1fr;gap:30px;margin:45px 0;padding-top:25px;display:grid}.case-facts dt{color:var(--muted);letter-spacing:.12em;margin-bottom:9px;font-size:9px}.case-facts dd{margin:0;font-size:14px}.case-media{margin-bottom:55px}.case-media>img,.case-media>video{object-fit:cover;background:var(--surface);aspect-ratio:3/2;width:100%;max-height:650px;display:block}.case-media figcaption{color:var(--muted);padding-top:13px;font-size:11px}.case-grid{grid-template-columns:240px 1fr;gap:90px;display:grid}.case-aside{align-self:start;position:sticky;top:30px}.case-aside .eyebrow{color:#53635b;font-size:9px}.case-aside nav{flex-direction:column;align-items:flex-start;margin-top:23px;display:flex}.case-aside nav a{padding-block:10px;font-size:14px}.case-aside nav a:hover{color:var(--teal)}.external-project{color:var(--teal);margin-top:25px;font-size:12px}.case-content{min-width:0;max-width:780px}.case-content>section{margin-bottom:70px;scroll-margin-top:35px}.case-content>section:last-child{margin-bottom:0}.case-content .eyebrow{color:var(--teal);margin-bottom:18px}.case-content h2{margin-bottom:25px;font-size:clamp(30px,3.3vw,45px)}.case-content p{color:#4e6057;font-size:17px;line-height:1.8}.case-content .case-overview{font-size:21px;line-height:1.7}.contributions article{border-bottom:1px solid #ccd3cb;align-items:flex-start;gap:28px;padding:25px 0;display:flex}.contribution-num{font-family:var(--font-display);color:var(--teal);padding-top:5px;font-size:11px}.case-content h3{letter-spacing:-.025em;margin-bottom:10px;font-size:19px}.contributions p{font-size:16px}.system-flow{margin:30px 0 0;padding:0;list-style:none}.system-flow li{background:#e5e8df;border:1px solid #d3dacf;gap:20px;margin-bottom:22px;padding:24px;display:flex;position:relative}.system-index{background:var(--ink);color:var(--mint);flex-shrink:0;place-items:center;width:29px;height:29px;font-size:10px;display:grid}.system-flow h3{font-size:16px}.system-flow p{font-size:14px;line-height:1.65}.flow-arrow{color:var(--teal);font-size:18px;position:absolute;bottom:-24px;left:33px}.system-flow li:last-child .flow-arrow{display:none}.considerations{margin-top:20px}.considerations article{border-bottom:1px solid #ccd3cb;padding-block:22px}.considerations p{font-size:16px}.scope-note{border-left:2px solid var(--teal);gap:18px;margin-top:28px;padding-left:20px;display:flex}.scope-note>span{color:var(--teal)}.scope-note p{font-size:13px}.next-project{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;padding-block:60px;display:flex}.next-project .eyebrow{color:var(--muted);margin-bottom:15px}.next-project h2{font-size:clamp(30px,4vw,52px)}.next-project>.arrow{width:44px;height:44px;color:var(--mint)}.next-project:hover h2{color:var(--mint)}.transcript{margin-top:20px;font-size:15px}.transcript summary{cursor:pointer;padding:10px 0}.transcript p{color:var(--muted);max-width:800px}.not-found{padding-block:120px}.not-found h1{letter-spacing:-.055em;margin:20px 0;font-size:clamp(40px,6vw,80px)}.not-found p{color:var(--muted);margin-bottom:30px}@media (width>=1600px){.hero{padding-top:95px}.hero-art{margin-right:-40px}}@media (width<=1100px){.shell{width:calc(100% - 64px)}.desktop-nav{gap:24px;margin-right:20px}.hero{padding-top:58px}.hero h1{font-size:clamp(43px,6vw,70px)}.hero-art{margin-left:-25px}.hero-intro{font-size:15px}.hero-actions{gap:18px}.hero-foot{margin-top:55px}.hero-location{display:none}.section-heading{gap:40px}.about-grid{gap:60px}.case-grid{grid-template-columns:200px 1fr;gap:45px}.art-caption{display:none}.art-coordinate-bottom{justify-content:flex-end}}@media (width<=760px){.shell{width:calc(100% - 40px)}.header{gap:20px;height:86px}.wordmark{font-size:12px}.wordmark small{font-size:6.5px}.monogram{font-size:34px}.desktop-nav,.header-contact{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px;width:44px;height:44px;list-style:none;display:flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{background:var(--paper);width:24px;height:1px}.mobile-nav summary span:last-child{width:17px}.mobile-nav[open] summary span{background:var(--mint)}.mobile-nav nav{background:var(--surface);border:1px solid var(--line);flex-direction:column;width:min(300px,100vw - 40px);padding:15px 20px;display:flex;position:absolute;top:54px;right:0;box-shadow:0 20px 35px #0005}.mobile-nav nav a{border-bottom:1px solid var(--line);padding:12px 0;font-size:16px}.mobile-nav nav a:last-child{border:0}.hero{padding-top:43px;display:block}.hero-eyebrow{letter-spacing:.12em;gap:9px;margin-bottom:24px;font-size:8px}.hero h1{max-width:590px;font-size:clamp(39px,8.9vw,66px)}.hero-intro{max-width:410px;margin-top:22px;font-size:16px}.hero-actions{gap:22px;margin-top:26px}.button{gap:18px;padding:13px 18px}.hero-art{width:min(520px,100%);margin:40px auto 0}.hero-poster{max-height:460px}.art-coordinate{left:12px;right:12px}.art-coordinate-top{top:0}.art-coordinate-bottom{bottom:0}.art-caption{font-size:7px;display:inline}.art-coordinate-bottom{justify-content:space-between}.hero-foot{gap:10px;margin-top:24px;padding:19px 0;font-size:7px}.hero-foot>span:first-child{gap:8px;max-width:170px}.hero-foot>a{gap:10px}.work-section{padding:56px 0 50px}.section-topline{margin-bottom:24px}.section-side-note{font-size:10px}.eyebrow{letter-spacing:.12em;font-size:8px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:36px}.section-heading>p{justify-self:start;max-width:450px;font-size:16px}h2{font-size:clamp(35px,7.6vw,52px)}.projects-grid{grid-template-columns:1fr;gap:42px}.project-card:nth-child(2n){padding-top:0}.project-meta{margin-top:17px;font-size:8px}.project-title-row h3{font-size:26px}.project-card>p{max-width:none}.project-tags{margin-top:14px}.project-image-label{font-size:7px;top:12px;left:12px}.archive-link{margin-top:40px;font-size:22px}.archive-subtitle{margin:6px 0 0;font-size:14px;display:block}.approach-section{padding-block:60px}.approach-section .section-heading{margin-bottom:32px}.approach-grid{grid-template-columns:1fr;gap:35px}.approach-symbol{width:72px;height:60px;margin-bottom:15px}.approach-card{padding-top:22px}.approach-card p{max-width:490px;font-size:16px}.approach-card ul{margin-top:17px;font-size:11px}.about-section{padding-block:60px}.about-grid{grid-template-columns:1fr;gap:45px}.about-intro h2{margin-top:23px}.about-intro>p{max-width:none}.experience-item h3{font-size:19px}.experience-item p{font-size:15px}.contact-section{padding-block:60px}.contact-grid{grid-template-columns:1fr;gap:28px}.contact-grid>div{justify-self:start}.contact-email{font-size:21px}.footer{grid-template-columns:1fr;gap:22px;padding-top:26px}.footer-links{flex-wrap:wrap;justify-content:flex-start;gap:24px}.footer-bottom{gap:15px;font-size:8px}.case-hero{padding-top:25px}.case-eyebrow{flex-wrap:wrap;gap:8px 20px;margin-top:32px}.case-hero h1{margin-top:16px;font-size:clamp(39px,10vw,72px)}.case-description{margin-top:18px;font-size:21px}.case-facts{grid-template-columns:1fr;gap:18px;margin:28px 0}.case-facts>div{grid-template-columns:85px 1fr;gap:15px;display:grid}.case-facts dt{padding-top:3px}.case-facts dd{font-size:13px}.case-media{margin-bottom:35px}.case-media figcaption{font-size:10px}.case-body{padding-block:45px}.case-grid{grid-template-columns:1fr;gap:40px}.case-aside{border-bottom:1px solid #ccd3cb;padding-bottom:25px;position:static}.case-aside nav{flex-flow:wrap;gap:0 20px;margin-top:12px}.case-aside nav a{font-size:12px}.external-project{margin-top:5px}.case-content>section{margin-bottom:50px}.case-content .case-overview{font-size:19px}.contributions article{gap:18px}.system-flow li{gap:14px;padding:18px}.flow-arrow{left:27px}.next-project{padding-block:40px}.not-found{padding-block:75px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}html{background:var(--ink);scroll-padding-top:95px}body{background:var(--ink)}.shell{width:min(1400px,100% - 112px)}.header{z-index:10;border:0;height:104px;position:absolute;inset:0 0 auto}.wordmark{letter-spacing:-.03em;font-size:14px;font-weight:600}.monogram{font-size:38px}.desktop-nav{gap:35px;margin:0 0 0 auto;font-size:11px}.header-contact{gap:17px;margin-left:26px;font-size:11px}.header-contact .arrow{width:16px}.spatial-hero{isolation:isolate;flex-direction:column;justify-content:center;height:100svh;min-height:min(1050px,100svh);padding:90px 0 0;display:flex;position:relative;overflow:hidden}.hero-atmosphere{z-index:-1;pointer-events:none;background:radial-gradient(at 50% 60%,#39204c40,#0000 46%);position:absolute;inset:0}.hero-glow{filter:blur(55px);background:#8742c211;border-radius:50%;width:40vw;height:53vh;position:absolute;top:53%;left:50%;transform:translate(-50%,-50%)}.hero-orbit{border:1px solid #c2a4ff08;border-radius:50%;width:55vw;height:55vw;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.hero-orbit-two{width:71vw;height:71vw}.hero-stage{flex:1;grid-template-columns:.85fr 1.4fr 1fr;align-items:center;column-gap:0;min-height:0;display:grid;position:relative}.hero-identity{z-index:3;padding-bottom:20px;position:relative}.hero-greeting{font-family:var(--font-display);color:var(--mint);margin-bottom:16px;font-size:clamp(16px,1.5vw,23px);font-weight:400}.spatial-hero h1{letter-spacing:-.065em;font-size:clamp(46px,5.2vw,83px);font-weight:500;line-height:1.02}.spatial-hero h1>span{color:var(--mint)}.hero-full-name{letter-spacing:.11em;text-transform:uppercase;color:#b4a8be;margin-top:15px;font-size:10px}.hero-positioning{color:var(--muted);margin-top:32px;font-size:14px;line-height:1.65}.hero-work-link{border-bottom:1px solid #716080;align-items:center;gap:29px;margin-top:28px;padding:13px 0;font-size:11px;display:inline-flex}.hero-work-link .arrow{color:var(--mint);width:18px}.hero-work-link:hover{color:var(--mint)}.spatial-hero .hero-art{justify-content:center;align-self:stretch;align-items:center;min-width:0;margin:0 -35px 0 -45px;display:flex;position:relative}.spatial-hero .hero-poster{object-fit:contain;object-position:50% 50%;aspect-ratio:auto;width:100%;height:100%;max-height:min(850px,100svh - 130px);mask-image:linear-gradient(#0000,#000 12% 88%,#0000),linear-gradient(90deg,#0000,#000 13% 87%,#0000);mask-composite:intersect}.spatial-hero .hero-art.portrait-fallback .hero-poster{object-fit:cover;border-radius:40% 40% 10% 10%;width:85%;height:70%}.spatial-hero .hero-canvas{width:100%;height:100%;position:absolute;inset:0}.hero-motion{object-fit:contain;width:100%;height:100%;position:absolute;inset:0;mask-image:linear-gradient(#0000,#000 12% 88%,#0000)}.portrait-controls{z-index:4;justify-content:center;gap:25px;display:flex;position:absolute;bottom:27px;left:0;right:0}.scene-toggle,.motion-toggle{color:#d1b9ec;background:0 0;border:0;border-bottom:1px solid #887298;align-items:center;gap:20px;min-height:44px;padding:10px 0;font-size:10px;display:inline-flex}.scene-toggle:hover,.motion-toggle:hover{color:#fff}.portrait-caption{text-align:center;color:#b2a5bd;letter-spacing:.2em;font-size:6px;position:absolute;bottom:13px;left:0;right:0}.hero-role{z-index:3;padding-bottom:15px;padding-left:24px;position:relative}.hero-role>p:first-child{color:var(--muted);margin-bottom:18px;font-size:14px}.role-display{font-family:var(--font-display);letter-spacing:-.065em;font-size:clamp(40px,4.7vw,74px);font-weight:500;line-height:1.09}.role-display>span{display:block}.role-lavender{color:var(--mint)}.role-dot{color:#ebd1ed}.hero-role-note{color:var(--muted);margin-top:27px;font-size:12px;line-height:1.75}.hero-contact-link{color:#d3c7df;align-items:center;gap:13px;margin-top:18px;padding:10px 0;font-size:9px;display:inline-flex}.hero-contact-link .arrow{width:13px;color:var(--mint)}.spatial-hero .hero-foot{border:0;flex:none;margin:0 auto;padding:13px 0 21px;font-size:8px;display:flex}.hero-foot>a{gap:15px}.hero-foot>a:first-child{color:var(--paper)}.hero-foot>a span{font-size:16px}.hero-foot .hero-location{align-items:center;gap:11px;font-size:8px;display:flex}.hero-foot .hero-location span{margin:0}.hero-foot .status-dot{width:4px;height:4px;box-shadow:0 0 8px #c2a4ff66}.intro-section{border-top:1px solid var(--line);grid-template-columns:.7fr 1.5fr;align-items:start;gap:100px;padding-block:130px;display:grid}.intro-index{color:var(--mint);letter-spacing:.12em;margin-bottom:24px;font-size:10px}.intro-aside{color:var(--muted);max-width:270px;font-size:17px;line-height:1.7}.intro-section h2{max-width:900px;font-size:clamp(40px,4.3vw,68px);line-height:1.18}.intro-section h2 span{color:var(--mint)}.intro-section .text-link{color:var(--mint);margin-top:28px;font-size:12px}.paper-section{background:var(--ink);color:var(--paper);color-scheme:dark}.paper-section :focus-visible{outline-color:var(--mint)}.work-section{background:linear-gradient(180deg, #0e0c12, var(--ink));border-top:1px solid var(--line);padding:80px 0 100px}.section-topline{margin-bottom:30px}.section-topline .eyebrow{color:var(--mint);font-size:9px}.section-side-note,.paper-section .section-side-note{color:var(--muted);font-size:11px}.section-heading{grid-template-columns:1.6fr 1fr;margin-bottom:75px}.section-heading h2{font-size:clamp(42px,5.5vw,82px)}.section-heading>p,.paper-section .section-heading>p{color:var(--muted);font-size:15px}.muted-heading{color:#95889e}.projects-grid{grid-template-columns:1fr;gap:80px;display:grid}.project-card{grid-template-columns:1.4fr 1fr;align-items:center;column-gap:70px;display:grid}.project-card:nth-child(2n){grid-template-columns:1fr 1.4fr;padding-top:0}.project-card:nth-child(2n) .project-art-link,.project-card:nth-child(2n) .project-art-wrap{order:2}.project-card:nth-child(2n) .project-copy{order:1}.project-art{background:#15111d;border:1px solid #342d3b;border-radius:5px}.project-art img{aspect-ratio:3/2}.project-image-label{color:#e3d4ee;background:#09080dcc;border:1px solid #ffffff1c;font-size:7px}.project-open{color:var(--mint);background:#0c0915db;border:1px solid #ffffff30;width:46px;height:46px}.project-art-link:hover .project-open{color:var(--ink)}.project-motion{color:var(--mint);margin-top:12px;font-size:11px}.project-motion summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:44px;list-style:none;display:flex}.project-motion summary::-webkit-details-marker{display:none}.project-motion video{aspect-ratio:3/2;background:var(--surface);border-radius:4px;width:100%;display:block}.project-motion figcaption{color:var(--muted);padding-top:10px;font-size:10px}.project-meta{color:var(--muted);border-bottom:1px solid var(--line);margin-top:0;padding-bottom:23px;font-size:8px}.project-title-row{gap:10px;margin-top:22px}.project-title-row h3{font-size:clamp(27px,3vw,46px);line-height:1.2}.project-number{color:var(--mint);font-size:11px}.project-copy>p{color:var(--muted);margin-top:18px;font-size:16px;line-height:1.8}.project-tags{gap:12px;margin-top:25px}.project-tags span{color:#bcafc6;border:0;padding:0;font-size:9px}.project-tags span:not(:last-child):after{content:"/";color:#594d66;margin-left:12px}.project-read-link{color:var(--mint);gap:20px;margin-top:25px;font-size:11px}.archive-link{border-color:var(--line);margin-top:70px;padding-top:30px}.archive-link small{color:var(--mint)}.archive-subtitle{color:var(--muted)}.approach-grid{gap:50px}.approach-card h3{font-size:23px}.approach-index,.approach-card ul{color:#b9a6ca}.about-section{background:#0e0c13;padding-block:115px}.about-intro h2{font-size:clamp(44px,4.8vw,72px)}.about-intro .eyebrow{color:var(--mint)}.about-lead{font-size:22px!important}.about-portrait{object-fit:cover;border-radius:4px;width:80px;height:95px;margin:34px 0 22px}.experience-item,.summit-note{border-color:var(--line)}.experience-item h3{font-size:20px}.field-notes{padding-block:115px}.field-notes-heading{margin-bottom:56px}.field-notes-gallery{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:30px;display:grid}.moment-figure:nth-child(2){margin-top:65px}.moment-figure:nth-child(3){margin-top:125px}.moment-image-wrap{background:var(--surface);border-radius:4px;overflow:hidden}.moment-image{object-fit:cover;width:100%;height:420px;transition:transform .6s}.moment-figure:nth-child(2) .moment-image{height:370px}.moment-figure:nth-child(3) .moment-image{height:290px}.moment-figure:hover .moment-image{transform:scale(1.03)}.moment-caption{gap:17px;padding-top:23px;display:flex}.moment-number{color:var(--mint);font-family:var(--font-display);padding-top:4px;font-size:10px}.moment-meta{letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:8px;display:block}.moment-caption h3{font-size:19px;line-height:1.4}.moment-caption p:not(.moment-meta){color:var(--muted);margin-top:9px;font-size:13px;line-height:1.7}.immersive-note{border-top:1px solid var(--line);grid-template-columns:.65fr 1.4fr;align-items:center;gap:75px;margin-top:120px;padding-top:70px;display:grid}.immersive-status{color:var(--mint);letter-spacing:.08em;margin-bottom:20px;font-size:9px;display:block}.immersive-copy h3{letter-spacing:-.04em;margin-bottom:20px;font-size:clamp(30px,3vw,46px);line-height:1.15}.immersive-copy p:not(.immersive-status){color:var(--muted);font-size:15px}.immersive-video{width:100%}.immersive-video video{aspect-ratio:16/9;border:1px solid var(--line);background:var(--surface);border-radius:5px;width:100%;height:auto;display:block}.immersive-caption{color:var(--muted);margin-top:14px;font-size:11px;line-height:1.6}.contact-section{border-top:1px solid var(--line);background:radial-gradient(at 35% 110%,#3319435c,#0000 64%);padding-block:120px}.contact-grid{grid-template-columns:1.5fr 1fr}.contact-grid h2{font-size:clamp(48px,6.2vw,95px)}.contact-grid p{font-size:15px}.contact-email{gap:22px;font-size:21px}.footer{padding-top:35px}body:has(.case-hero) .header,body:has(.not-found) .header{position:relative}.case-body{background:#100d16}.case-aside .eyebrow,.case-content p,.case-content .case-overview{color:var(--muted)}.case-content h3{color:var(--paper)}.case-content .eyebrow{color:var(--mint)}.case-aside{top:35px}.contributions article,.considerations article,.case-aside{border-color:var(--line)}.system-flow li{background:#18131f;border-color:#332a3e}.system-index{color:var(--mint);background:#0a080f}.scope-note{border-color:var(--mint)}.back-link{padding-top:25px}@media (width>=1700px){.hero-stage{max-width:1600px}}@media (width>=761px) and (height<=620px){.spatial-hero{height:700px;min-height:700px}.spatial-hero .hero-poster{max-height:570px}}@media (width<=1100px){.shell{width:calc(100% - 64px)}.hero-stage{grid-template-columns:.85fr 1.1fr 1fr}.spatial-hero h1{font-size:57px}.role-display{font-size:48px}.hero-role{padding-left:0}.hero-positioning{font-size:12px}.hero-full-name{font-size:8px}.hero-contact-link{display:none}.intro-section{gap:55px}.project-card,.project-card:nth-child(2n){column-gap:35px}.project-meta{flex-direction:column;gap:7px}.moment-image{height:340px}.moment-figure:nth-child(2) .moment-image{height:300px}.moment-figure:nth-child(3) .moment-image{height:230px}.immersive-note{gap:40px}}@media (width<=760px){.shell{width:calc(100% - 40px)}.header{height:78px}.monogram{font-size:34px}.wordmark{font-size:13px}.desktop-nav,.header-contact{display:none}.mobile-nav nav{background:#17111f}.spatial-hero{height:auto;min-height:100svh;padding-top:105px;display:block}.hero-stage{grid-template-columns:1fr 1fr;align-items:start;column-gap:15px}.hero-identity{padding-bottom:0}.hero-greeting{margin-bottom:9px;font-size:14px}.spatial-hero h1{font-size:clamp(43px,10vw,65px)}.hero-full-name{margin-top:10px;font-size:6px}.hero-positioning{margin-top:17px;font-size:11px}.hero-work-link{gap:15px;margin-top:15px;font-size:9px}.hero-role{padding:8px 0 0}.hero-role>p:first-child{margin-bottom:12px;font-size:9px}.role-display{letter-spacing:-.07em;font-size:clamp(29px,7.2vw,46px)}.hero-role-note{margin-top:20px;font-size:10px}.spatial-hero .hero-art{grid-area:2/1/auto/-1;height:min(550px,56svh);margin:-4px -12px 0}.spatial-hero .hero-poster{max-height:none;mask-image:linear-gradient(#0000,#000 5% 88%,#0000)}.spatial-hero .hero-art.portrait-fallback .hero-poster{width:70%;height:90%}.portrait-controls{bottom:28px}.portrait-caption{font-size:5px;bottom:10px}.spatial-hero .hero-foot{width:calc(100% - 40px);margin-top:10px;padding:5px 0 15px;font-size:6px}.hero-foot .hero-location{font-size:6px;display:none}.hero-foot>a{min-height:44px}.intro-section{grid-template-columns:1fr;gap:30px;padding-block:65px}.intro-index{margin-bottom:12px}.intro-aside{max-width:400px;font-size:14px}.intro-section h2{font-size:34px}.work-section,.approach-section,.about-section,.field-notes{padding-block:65px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:40px}.section-heading h2{font-size:clamp(36px,8.4vw,56px)}.section-heading>p{max-width:440px;font-size:15px}.section-side-note{display:none}.projects-grid{gap:50px}.project-card,.project-card:nth-child(2n){grid-template-columns:1fr;gap:22px}.project-card:nth-child(2n) .project-art-link,.project-card:nth-child(2n) .project-art-wrap,.project-card:nth-child(2n) .project-copy{order:initial}.project-meta{flex-direction:row;gap:12px;padding-bottom:13px;font-size:7px}.project-title-row{margin-top:14px}.project-title-row h3{font-size:30px}.project-copy>p{margin-top:12px;font-size:15px}.project-tags{margin-top:15px}.project-read-link{margin-top:10px}.archive-link{margin-top:40px;font-size:22px}.about-grid{grid-template-columns:1fr;gap:40px}.about-intro h2{font-size:44px}.about-portrait{margin-top:24px}.field-notes-gallery{grid-template-columns:1fr;gap:36px}.moment-figure:nth-child(2),.moment-figure:nth-child(3){margin-top:0}.moment-image,.moment-figure:nth-child(2) .moment-image{aspect-ratio:4/5;height:auto}.moment-figure:nth-child(3) .moment-image{aspect-ratio:4/3;height:auto}.moment-caption h3{font-size:21px}.immersive-note{grid-template-columns:1fr;gap:28px;margin-top:65px;padding-top:40px}.immersive-copy h3{font-size:35px}.contact-section{padding-block:70px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-grid h2{font-size:47px}.contact-grid>div{justify-self:start}.footer-links{gap:20px}.case-grid{grid-template-columns:1fr}.case-aside{position:static}}@media (prefers-reduced-motion:no-preference){.hero-identity,.hero-role{animation:.9s both portrait-enter}.hero-role{animation-delay:.12s}.hero-art{animation:1.3s .15s both portrait-enter}@keyframes portrait-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){.hero-motion{display:none!important}}.header .wordmark{letter-spacing:-.02em;white-space:nowrap;font-size:14px;font-weight:500}.spatial-hero h1{white-space:nowrap;letter-spacing:-.055em;font-size:clamp(28px,3.15vw,50px);line-height:1.15}.hero-socials{align-items:center;gap:26px;display:flex}.hero-socials a{align-items:center;gap:12px;min-height:44px;display:inline-flex}.hero-socials a:hover,.hero-socials a span{color:var(--mint)}@media (width<=1100px){.spatial-hero h1{font-size:clamp(27px,3.3vw,40px)}}@media (width<=760px){.header .wordmark{font-size:12px}.spatial-hero h1{font-size:clamp(23px,6.05vw,40px)}.hero-socials{gap:17px}}.intro-section{padding-block:76px}.intro-index,.section-topline .eyebrow,.project-meta,.project-tags span{font-size:11px}.header .desktop-nav,.header-contact{font-size:12px}.hero-full-name{font-size:11px}.hero-positioning{font-size:15px}.hero-work-link{font-size:13px}.hero-role-note{font-size:14px}.hero-contact-link{font-size:12px}.spatial-hero .hero-foot,.hero-foot .hero-location{font-size:10px}.portrait-caption{display:none}.scene-toggle{font-size:12px}.hero-atmosphere{background:radial-gradient(at 50% 73%,#8748ba43,#0000 43%)}.hero-glow{filter:blur(60px);background:#933ac22b;width:42vw;height:44vh;top:73%}.hero-orbit{border-color:#c2a4ff04}.role-outline{color:#eae2f2;-webkit-text-stroke:0}.role-display{font-weight:600}.role-display .role-lavender{color:var(--mint)}.approach-section{padding-block:82px}.capabilities-heading{grid-template-columns:.6fr 1.5fr;align-items:start;gap:60px;margin-bottom:48px;display:grid}.capabilities-heading .eyebrow{color:var(--mint);padding-top:12px;font-size:11px}.capabilities-heading h2{font-size:clamp(36px,4.2vw,60px)}.capability-row{border-top:1px solid var(--line);grid-template-columns:56px 1fr 1.35fr;align-items:start;gap:36px;padding:29px 0;display:grid}.capability-number{color:var(--mint);font-size:12px;font-family:var(--font-display);padding-top:4px}.capability-row h3{letter-spacing:-.03em;font-size:24px;line-height:1.35}.capability-row p{color:var(--muted);font-size:16px;line-height:1.7}.capability-row ul{color:#c0add3;flex-wrap:wrap;gap:8px 18px;margin:17px 0 0;padding:0;font-size:11px;list-style:none;display:flex}.about-section{padding-block:82px}.about-intro h2{margin-bottom:30px}.contact-compact{padding-block:55px}.contact-compact .contact-grid{grid-template-columns:1fr 1fr}.contact-compact .contact-grid h2{font-size:clamp(32px,3.4vw,48px)}.project-motion summary{font-size:12px}.footer-links{gap:22px;font-size:12px}.footer-name{font-size:14px}.footer-bottom{font-size:11px}@media (width<=760px){.intro-section{padding-block:50px}.intro-index{font-size:10px}.hero-full-name{font-size:8px}.hero-positioning{font-size:12px}.hero-work-link{font-size:11px}.hero-role-note{font-size:12px}.spatial-hero .hero-foot{font-size:9px}.hero-glow{width:75vw;height:35vh;top:76%}.scene-toggle{font-size:11px}.capabilities-heading{grid-template-columns:1fr;gap:18px;margin-bottom:26px}.capabilities-heading h2{font-size:34px}.capability-row{grid-template-columns:25px 1fr;gap:12px 16px;padding-block:25px}.capability-row h3{font-size:22px}.capability-row>div{grid-column:2}.capability-row p{font-size:15px}.about-section,.approach-section{padding-block:56px}.contact-compact{padding-block:40px}.contact-compact .contact-grid{grid-template-columns:1fr}}.scene-toggle{color:#f0ecf5;background:#100916eb;border:1px solid #8d709f;border-radius:4px;gap:17px;padding:9px 15px}.scene-toggle:hover{border-color:var(--mint);background:#271336}.portrait-controls{bottom:22px}@media (width<=760px){.portrait-controls{bottom:20px}}.project-image-label{font-size:10px}.fyp-feature-art>span,.fyp-feature-copy .eyebrow,.experience-dates,.experience-dates span,.immersive-status{font-size:11px}.about-grid>div,.contact-grid>div{min-width:0}.contact-grid>div{max-width:100%}.contact-email{width:fit-content;max-width:100%;display:flex}.contact-email>span{overflow-wrap:anywhere;min-width:0}.hero-identity,.hero-role,.role-display{min-width:0}@media (width<=760px){.hero-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero-full-name,.hero-role>p:first-child,.spatial-hero .hero-foot,.about-intro>.eyebrow{font-size:10px}.role-display>span{overflow-wrap:anywhere}.moment-story-context{font-size:10px}.hero-foot{flex-wrap:wrap}}.section-heading>*,.field-notes-heading>*{min-width:0}.field-notes-heading h2{overflow-wrap:anywhere}.contact-section>.shell>.eyebrow{font-size:10px}@media (width<=760px){.shell{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}.intro-section>div{min-width:0}.intro-section h2{overflow-wrap:anywhere}.moments-gallery{min-width:0}.moments-gallery-toolbar{justify-content:space-between;align-items:center;gap:28px;margin-bottom:24px;display:flex}.moments-gallery-hint{color:var(--muted);max-width:470px;font-size:12px;line-height:1.6}.moments-gallery-navigation{flex-shrink:0;align-items:center;gap:10px;display:flex}.moments-gallery-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:14px;font-size:12px}.moments-gallery-count>span:first-child{color:var(--mint)}.moments-gallery-stage{position:relative}.moments-story-arrows{pointer-events:none;z-index:3;position:absolute;inset:0}.moments-gallery-arrow{min-width:46px;min-height:46px;color:var(--mint);pointer-events:auto;background:#17101fef;border:1px solid #796190;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:22px;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 15px #0005}.moments-gallery-arrow[data-moments-previous]{left:-20px}.moments-gallery-arrow[data-moments-next]{right:-20px}.moments-gallery-arrow>span:not([aria-hidden]){font-size:10px}.moments-gallery-arrow:hover{color:var(--paper);border-color:var(--mint);background:#21192c}.moments-gallery-arrow:disabled{opacity:.35;cursor:default}.moments-gallery-track{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#604679 #16101f;grid-auto-columns:91%;grid-auto-flow:column;align-items:start;gap:24px;padding:3px 0 22px;scroll-padding-inline:0;display:grid;position:relative;overflow:auto hidden}.moments-gallery-track:focus-visible{outline-offset:5px}.moments-gallery-track::-webkit-scrollbar{height:5px}.moments-gallery-track::-webkit-scrollbar-track{background:#16101f}.moments-gallery-track::-webkit-scrollbar-thumb{background:#604679;border-radius:20px}.moments-gallery .moment-story{scroll-snap-align:start;background:#100d16;border:1px solid #33273f;border-radius:8px;grid-template-columns:1.18fr 1fr;align-self:start;min-width:0;margin:0;display:grid;overflow:hidden}.moment-story-media{background:#19131f;flex-direction:column;min-width:0;display:flex}.moment-photo-stage{position:relative}.moment-photo-track{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#604679 #16101f;grid-auto-columns:100%;grid-auto-flow:column;display:grid;overflow:auto hidden}.moment-photo-spread{scroll-snap-align:start;min-width:0}.moment-photo{min-width:0}.moment-photo>a{display:block;position:relative}.moments-gallery .moment-story .moment-photo .moment-image{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;min-height:0;max-height:none}.moments-gallery .moment-story .moment-photo .moment-document-image{object-fit:contain;background:#19131f}.moment-photo figcaption{color:#bbb0c6;min-height:64px;padding:14px 19px 0;font-size:11px;line-height:1.7}.moment-photo-arrows{pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:calc(50% - 32px);left:12px;right:12px;transform:translateY(-50%)}.moment-photo-arrows button{color:#f0ecf5;pointer-events:auto;background:#0b0814de;border:1px solid #ffffff70;border-radius:50%;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.moment-photo-arrows button:hover{background:#342443}.moment-photo-arrows button:disabled{opacity:.3;cursor:default}.moment-photo-footer{justify-content:space-between;align-items:center;gap:15px;padding:7px 19px 12px;display:flex}.moment-photo-count{color:var(--mint);font-variant-numeric:tabular-nums;font-size:11px}.moment-photo-count-label{color:var(--muted);margin-left:7px;font-size:10px}.moment-photo-pagination{align-items:center;display:flex}.moment-photo-pagination button{background:0 0;border:0;place-items:center;width:32px;min-height:44px;display:grid}.moment-photo-pagination button>span{background:#8d779e;border-radius:50%;width:5px;height:5px}.moment-photo-pagination button[aria-current=true]>span{background:var(--mint);box-shadow:0 0 0 4px #c2a4ff20}.moment-story-primary{border-radius:0;min-width:0;height:100%;min-height:430px}.moment-story-primary>a{height:100%;display:block;position:relative}.moments-gallery .moment-story .moment-image{object-fit:cover;width:100%;height:100%;min-height:430px;max-height:620px;transition:none;display:block;transform:none}.moment-story-extra{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:20px;display:grid}.moment-story-extra figure{min-width:0}.moment-story-extra img{object-fit:cover;border-radius:3px;width:100%;height:135px;display:block}.moment-story-extra a{display:block}.moment-story-extra a>span{color:var(--mint);margin-top:7px;font-size:10px;display:block}.moment-story-copy{min-width:0;padding:clamp(28px,3.5vw,52px)}.moment-story-topline{align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.moment-story-topline .moment-number{flex-shrink:0;padding-top:1px;font-size:11px}.moment-story-context{letter-spacing:.1em;text-transform:uppercase;color:var(--mint);font-size:10px;line-height:1.65}.moment-story h3{letter-spacing:-.04em;overflow-wrap:break-word;margin-bottom:21px;font-size:clamp(30px,3vw,45px);line-height:1.17}.moment-story-description{color:#c5bccf;font-size:16px;line-height:1.8}.moment-story-facts{border-top:1px solid var(--line);gap:14px;margin:28px 0 0;padding-top:23px;display:grid}.moment-story-facts>div{grid-template-columns:75px 1fr;gap:16px;display:grid}.moment-story-facts dt{color:var(--muted);font-size:10px;line-height:1.8}.moment-story-facts dd{color:var(--paper);margin:0;font-size:13px;line-height:1.6}.moment-story-details{color:var(--muted);margin:25px 0 0;padding-left:17px;font-size:13px;line-height:1.8}.moment-story-details li+li{margin-top:10px}.moment-story-details li::marker{color:#b598d1}.moment-story-more{border-top:1px solid var(--line);margin-top:24px}.moment-story-more summary{min-height:48px;color:var(--mint);cursor:pointer;justify-content:space-between;align-items:center;gap:20px;font-size:12px;list-style:none;display:flex}.moment-story-more summary::-webkit-details-marker{display:none}.moment-story-more summary>span{font-size:21px;line-height:1}.moment-story-more[open] summary>span{transform:rotate(45deg)}.moment-story-more .moment-story-details{margin-top:8px}.moments-gallery-pagination{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:23px;display:flex}.moments-gallery-pagination button{width:36px;min-height:44px;color:var(--muted);font-variant-numeric:tabular-nums;background:0 0;border:0;border-bottom:1px solid #0000;place-items:center;font-size:11px;display:grid}.moments-gallery-pagination button:hover{color:var(--paper)}.moments-gallery-pagination button[aria-current=true]{color:var(--mint);border-bottom-color:var(--mint)}@media (width<=1100px){.moments-gallery-track{grid-auto-columns:94%;gap:18px}.moment-story-copy{padding:30px}.moments-gallery .moment-story .moment-image,.moment-story-primary{min-height:380px}.moment-story h3{font-size:32px}}@media (width<=760px){.moments-gallery-toolbar{align-items:flex-end;gap:16px;margin-bottom:18px}.moments-gallery-hint{max-width:185px;font-size:10px}.moments-gallery-count{margin-right:4px;font-size:10px}.moments-gallery-navigation{gap:7px}.moments-story-arrows{justify-content:space-between;margin-bottom:15px;display:flex;position:relative}.moments-gallery-stage{flex-direction:column;display:flex}.moments-gallery-arrow{min-height:44px;position:static;transform:none}.moments-gallery-arrow[data-moments-previous],.moments-gallery-arrow[data-moments-next]{left:auto;right:auto}.moments-gallery-track{scroll-snap-type:x proximity;grid-auto-columns:94%;gap:14px;padding-bottom:18px}.moments-gallery .moment-story{grid-template-columns:1fr}.moment-story-primary{height:auto;min-height:0}.moments-gallery .moment-story .moment-image{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;min-height:0;max-height:300px}.moments-gallery .moment-story .moment-photo .moment-image{max-height:300px}.moment-photo figcaption{min-height:61px;padding:12px 16px 0;font-size:10px}.moment-photo-footer{padding:3px 16px 8px}.moment-photo-count-label{display:none}.moment-photo-arrows{left:9px;right:9px}.moment-photo-pagination button{width:30px}.moment-story-extra{grid-template-columns:repeat(2,minmax(0,1fr))}.moment-story-extra img{height:100px}.moment-story-copy{padding:26px 24px 30px}.moment-story-topline{gap:13px;margin-bottom:17px}.moment-story-context{font-size:9px}.moment-story h3{margin-bottom:17px;font-size:29px}.moment-story-description{font-size:15px;line-height:1.75}.moment-story-facts{gap:11px;margin-top:22px;padding-top:20px}.moment-story-facts>div{grid-template-columns:70px 1fr;gap:13px}.moment-story-details{margin-top:20px;font-size:12px}.moment-story-more{margin-top:20px}.moments-gallery-pagination{gap:4px;margin-top:14px}.moments-gallery-pagination button{width:30px}}.moment-story-topline .moment-story-context{font-size:10px}.moment-photo-spread-paired{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;padding:16px 14px 10px;display:grid}.moment-photo-spread-document:not(.moment-photo-spread-paired){padding:16px 14px 10px}.moments-gallery .moment-story .moment-photo .moment-portrait-graphic{aspect-ratio:auto;object-fit:contain;background:#19131f;width:100%;height:auto;min-height:0;max-height:480px}.moment-photo-spread-document .moment-photo>a{width:fit-content;max-width:100%;margin-inline:auto}.moment-photo-spread-document:not(.moment-photo-spread-paired) .moment-photo>a{width:min(100%,335px)}.moment-photo-spread-document .moment-photo figcaption{min-height:0;padding:12px 2px 0}.moment-story-media-spreads .moment-photo-stage{flex-direction:column;display:flex}.moment-story-media-spreads .moment-photo-arrows{order:-1;margin:10px 12px 0;position:static;transform:none}.moment-story-media-spreads .moment-photo-arrows button{width:44px;height:44px;font-size:19px}.moment-story-media-spreads .moment-photo-footer{flex-wrap:wrap;justify-content:center;gap:0 12px;padding:11px 53px 12px}.moment-story-media-spreads .moment-photo-count-label{display:inline}@media (width<=760px){.moment-photo-spread-paired{grid-template-columns:1fr;gap:20px;padding:17px 14px 16px}.moments-gallery .moment-story .moment-photo .moment-portrait-graphic{max-height:340px}.moment-photo-spread-document .moment-photo>a,.moment-photo-spread-document:not(.moment-photo-spread-paired) .moment-photo>a{width:min(100%,280px)}.moment-photo-spread-document .moment-photo figcaption{max-width:280px;margin-inline:auto;font-size:11px}.moment-story-media-spreads .moment-photo-footer{padding-inline:45px}}.case-media>video{object-fit:contain;border:1px solid var(--line);background:#09080d;border-radius:5px;width:100%;height:auto;max-height:none;display:block}.case-media figcaption{justify-content:space-between;align-items:flex-start;gap:25px;line-height:1.7;display:flex}.case-media-duration{white-space:nowrap;color:var(--mint);flex-shrink:0}.case-media-description{max-width:860px;color:var(--muted);margin:-18px 0 38px;font-size:14px;line-height:1.8}.case-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0 0 58px;display:grid}.case-gallery figure{min-width:0}.case-gallery a{border:1px solid #3a2d46;border-radius:4px;display:block;position:relative;overflow:hidden}.case-gallery img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.case-gallery a>span{color:var(--paper);background:#09080ddd;border-radius:3px;padding:6px 9px;font-size:10px;position:absolute;bottom:12px;right:12px}.case-gallery a:hover{border-color:var(--mint)}.case-gallery figcaption{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.65}.transcript{color:var(--muted);margin:-18px 0 35px;font-size:14px}.transcript summary{min-height:44px;color:var(--mint);cursor:pointer}.transcript p{margin-top:12px}.project-demonstrations{margin:62px 0 70px}.project-demonstrations-heading{justify-content:space-between;align-items:center;gap:25px;margin-bottom:32px;display:flex}.project-demonstrations-heading .eyebrow{color:var(--mint)}.project-demonstrations-heading h2{font-size:clamp(28px,3.2vw,43px)}.project-demo{border-top:1px solid #493453}.project-demo:last-child{border-bottom:1px solid #493453}.project-demo summary{cursor:pointer;align-items:center;gap:24px;min-height:90px;padding:26px 0;list-style:none;display:flex}.project-demo summary::-webkit-details-marker{display:none}.project-demo-index{color:var(--mint);flex-shrink:0;width:24px;font-size:11px}.project-demo-summary{flex:1;min-width:0;display:block}.project-demo-title{font-family:var(--font-display);letter-spacing:-.035em;font-size:22px;line-height:1.35;display:block}.project-demo-description{color:var(--muted);margin-top:9px;font-size:13px;line-height:1.75;display:block}.project-demo-duration{color:var(--muted);white-space:nowrap;font-size:11px}.project-demo-symbol{color:var(--mint);text-align:center;flex-shrink:0;width:28px;font-size:29px}.project-demo[open] .project-demo-symbol{transform:rotate(45deg)}.project-demo-content{max-width:1000px;margin:0 0 30px 48px}.project-demo-video{border:1px solid var(--line);background:#09080d;border-radius:5px;width:100%;height:auto;display:block}.project-demo-content figcaption{color:var(--muted);margin-top:13px;font-size:12px;line-height:1.7}@media (width<=760px){.case-media figcaption{flex-direction:column;gap:8px}.case-media-description{margin-top:-10px;font-size:13px}.case-gallery{grid-template-columns:1fr;gap:27px;margin-bottom:38px}.case-gallery figcaption{font-size:12px}.project-demonstrations{margin:40px 0}.project-demonstrations-heading{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:22px}.project-demonstrations-heading h2{font-size:32px}.project-demo summary{flex-wrap:wrap;gap:12px;padding:22px 0}.project-demo-title{font-size:19px}.project-demo-description{font-size:12px}.project-demo-index{width:19px}.project-demo-duration{order:4;margin-left:31px;font-size:10px}.project-demo-symbol{width:20px;font-size:24px}.project-demo-content{margin-left:0}}.fyp-feature{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:60px;margin-top:80px;padding-top:45px;display:grid}.fyp-feature-art{border:1px solid var(--line);border-radius:5px;display:block;position:relative;overflow:hidden}.fyp-feature-art img{aspect-ratio:16/9;object-fit:cover;width:100%}.fyp-feature-art>span{letter-spacing:.12em;color:var(--paper);background:#09080dcc;border:1px solid #ffffff30;padding:6px 9px;font-size:7px;position:absolute;top:16px;left:16px}.fyp-feature-copy .eyebrow{color:var(--mint);margin-bottom:18px;font-size:8px}.fyp-feature h3{letter-spacing:-.04em;margin-bottom:15px;font-size:clamp(28px,3vw,44px);line-height:1.2}.fyp-feature-copy>p:not(.eyebrow){color:var(--muted);max-width:470px;font-size:15px;line-height:1.8}.fyp-feature-copy .text-link{color:var(--mint);margin-top:20px;font-size:11px}@media (width<=760px){.fyp-feature{grid-template-columns:1fr;gap:25px;margin-top:45px;padding-top:35px}.fyp-feature h3{font-size:30px}}.meeting-button{color:var(--paper);border:1px solid #86719e;min-height:48px;margin-bottom:9px;padding:13px 17px;font-size:11px}.meeting-button:hover{border-color:var(--mint);background:#24182f}.meeting-button .arrow{color:var(--mint);width:16px}.contact-grid .meeting-note{color:var(--muted);margin:0 0 23px;font-size:11px}.fyp-feature .fyp-feature-art>span,.fyp-feature .fyp-feature-copy .eyebrow{font-size:10px}.case-hero-new{--case-accent:#6540aa;color:#201e26;color-scheme:light;background:#f4f1ed;border-bottom:1px solid #d9d4dd;padding:14px 0 68px;position:relative;overflow:hidden}.case-hero-new .case-back-link{color:#51465e;margin-bottom:24px;padding:10px 0;font-size:12px}.case-hero-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:54px;display:grid}.case-hero-copy{min-width:0;padding:12px 0}.case-hero-new .case-eyebrow{color:var(--case-accent);flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:15px;margin:0 0 22px;font-size:9px;display:flex}.case-hero-new .case-eyebrow>span:last-child{color:#605b68;letter-spacing:.09em;font-size:9px}.case-hero-new h1{letter-spacing:-.055em;overflow-wrap:normal;margin:0;font-size:clamp(43px,4.65vw,73px);line-height:1.08}.case-hero-new h1>span{color:var(--case-accent)}.case-hero-new .case-description{color:#514b59;max-width:490px;margin:24px 0 0;font-size:clamp(17px,1.6vw,23px);line-height:1.55}.case-hero-new .case-facts{border-color:#cec7d4;grid-template-columns:1fr;gap:14px;margin:30px 0;padding-top:23px;display:grid}.case-hero-new .case-facts>div{grid-template-columns:70px 1fr;gap:18px;display:grid}.case-hero-new .case-facts dt{color:var(--case-accent);padding-top:2px;font-size:8px}.case-hero-new .case-facts dd{color:#302b37;margin:0;font-size:12px;line-height:1.65}.case-hero-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.case-primary-action{color:#fff;background:var(--case-accent);border:1px solid var(--case-accent);border-radius:4px;justify-content:center;align-items:center;gap:18px;min-height:48px;padding:14px 17px;font-size:11px;font-weight:600;display:inline-flex}.case-primary-action:hover{background:#4b2b83;border-color:#4b2b83}.case-primary-action .arrow{width:15px;height:15px}.case-external-action{min-height:46px;color:var(--case-accent);border-bottom:1px solid #564169;align-items:center;gap:12px;font-size:11px;display:inline-flex}.case-external-action .arrow{width:14px;height:14px}.case-external-action:hover{color:#33204e;border-color:#33204e}.case-hero-new .case-cover{background:#f4f1ed;border:1px solid #ded8e4;border-radius:7px;min-width:0;margin:0;padding:0;position:relative;overflow:hidden;box-shadow:0 18px 45px #3021380b}.case-cover>img,.case-cover-play img{aspect-ratio:5/4;object-fit:cover;background:#17111f;border-radius:5px;width:100%;height:auto;min-height:345px;max-height:540px;display:block}.case-cover-play{display:block;position:relative}.case-cover-play img{aspect-ratio:5/4;object-position:51% 50%}.case-cover-play-label{color:#f0ecf5;backdrop-filter:blur(12px);background:#0b0814df;border:1px solid #ffffff32;border-radius:5px;align-items:center;gap:13px;padding:13px 17px;font-size:13px;display:flex;position:absolute;bottom:20px;left:20px}.case-play-symbol{color:#c2a4ff;border:1px solid #c2a4ff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:24px;display:grid}.case-cover-play-label>span:last-child>span{color:#d0c2df;margin-top:3px;font-size:10px;display:block}.case-cover-play:hover .case-play-symbol{background:var(--case-accent);color:#100d16}.case-hero-new .case-cover figcaption{color:#51465e;letter-spacing:.08em;text-transform:uppercase;background:#ebe6ef;justify-content:space-between;align-items:center;gap:20px;padding:14px 17px;font-size:9px;display:flex}.case-cover-index{color:var(--case-accent);font-size:11px}.case-showcase{padding-top:68px;scroll-margin-top:35px}.case-showcase-heading{justify-content:space-between;align-items:center;gap:25px;margin-bottom:26px;display:flex}.case-showcase-heading .eyebrow{color:var(--mint)}.case-showcase-heading h2{font-size:clamp(27px,3vw,42px)}.case-introduction{color:#d2c6de;margin-bottom:26px;font-size:18px;line-height:1.8}@media (width<=1100px){.case-hero-grid{grid-template-columns:1fr 1.05fr;gap:30px}.case-hero-new h1{font-size:52px}.case-hero-new .case-description{font-size:18px}.case-cover>img,.case-cover-play img{min-height:390px}.case-hero-actions{gap:13px}.case-primary-action{padding:13px}}@media (width<=760px){.case-hero-new{padding:3px 0 42px}.case-hero-new .case-back-link{margin-bottom:17px;font-size:11px}.case-hero-grid{grid-template-columns:1fr;gap:27px}.case-hero-copy{padding:0}.case-hero-new .case-eyebrow{gap:9px;margin-bottom:17px;font-size:8px}.case-hero-new .case-eyebrow>span:last-child{font-size:8px}.case-hero-new h1{font-size:clamp(41px,10.5vw,57px)}.case-hero-new .case-description{margin-top:19px;font-size:17px}.case-hero-new .case-facts{gap:12px;margin:23px 0;padding-top:19px}.case-hero-new .case-facts>div{grid-template-columns:59px 1fr;gap:13px}.case-hero-new .case-facts dd{font-size:11px}.case-primary-action{gap:12px;font-size:10px}.case-external-action{font-size:10px}.case-hero-new .case-cover{padding:0}.case-cover>img,.case-cover-play img{aspect-ratio:4/3;height:auto;min-height:0;max-height:370px}.case-cover-play-label{padding:10px 12px;font-size:12px;bottom:12px;left:12px}.case-hero-new .case-cover figcaption{padding:12px 14px;font-size:8px}.case-showcase{padding-top:40px}.case-showcase-heading{flex-direction:column;align-items:flex-start;gap:13px;margin-bottom:21px}.case-showcase-heading h2{font-size:32px}.case-introduction{font-size:16px}}.contact-email{margin-bottom:22px}.case-hero-new .case-eyebrow,.case-hero-new .case-eyebrow>span:last-child,.case-hero-new .case-facts dt,.case-hero-new .case-cover figcaption{font-size:10px}.case-hero-new .case-facts dd,.case-external-action,.case-primary-action{font-size:13px}.case-cover>img,.case-cover-play img{aspect-ratio:3/2;min-height:0}.case-cover-play img{aspect-ratio:16/9;object-fit:contain}.case-cover>img{aspect-ratio:auto;object-fit:contain;max-height:none}.case-body{padding-block:65px}@media (width<=760px){.case-hero-new .case-facts dd{font-size:12px}.case-hero-new .case-cover figcaption{font-size:9px}.case-primary-action,.case-external-action{font-size:11px}}body:has(.case-hero-new){background:#f4f1ed}body:has(.case-hero-new) .header{isolation:isolate;color:#27222f;border-bottom:1px solid #d5cedc;position:relative}body:has(.case-hero-new) .header:before{content:"";z-index:-1;background:#f4f1ed;width:100vw;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}body:has(.case-hero-new) .header .wordmark{color:#27222f}body:has(.case-hero-new) .desktop-nav a{color:#51465e}body:has(.case-hero-new) .desktop-nav a:hover{color:#6540aa}body:has(.case-hero-new) .header-contact{color:#473358;background:0 0;border:1px solid #8c77a6;border-radius:4px;min-height:44px;padding:10px 15px}body:has(.case-hero-new) .header-contact:hover{background:#e8e0f0}body:has(.case-hero-new) .header-contact .arrow{color:#6540aa}body:has(.case-hero-new) .mobile-nav nav{color:#27222f;background:#f8f5f1;border-color:#c6b6d6}body:has(.case-hero-new) .mobile-nav summary span{background:#473358}body:has(.case-hero-new) .case-showcase,body:has(.case-hero-new) .next-project,body:has(.case-hero-new) .contact-section,body:has(.case-hero-new) .footer{background:var(--ink);color:var(--paper)}body:has(.case-hero-new) .case-showcase,body:has(.case-hero-new) .next-project,body:has(.case-hero-new) .footer{width:100%;padding-inline:max(56px,50vw - 700px)}.case-hero-new :focus-visible,body:has(.case-hero-new) .header :focus-visible{outline-color:#6540aa}@media (width<=760px){body:has(.case-hero-new) .case-showcase,body:has(.case-hero-new) .next-project,body:has(.case-hero-new) .footer{padding-inline:24px}}.workflow-diagram{--workflow-accent:#c2a4ff;margin-top:37px}.workflow-light{--workflow-accent:#9bdedc}.workflow-dark{--workflow-accent:#a6baff}.workflow-amber{--workflow-accent:#edc294}.workflow-enhanced{grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;display:grid}.workflow-ring{aspect-ratio:1;background:radial-gradient(circle,#34223d55,#0000 61%);width:100%;min-width:0;max-width:480px;margin-inline:auto;position:relative}.workflow-orbit{border:1px dashed #8b739f70;border-bottom-color:#0000;border-radius:50%;position:absolute;inset:17%;transform:rotate(18deg)}.workflow-center{text-align:center;flex-direction:column;align-items:center;width:38%;display:flex;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.workflow-center-mark{color:var(--workflow-accent);margin-bottom:10px;font-size:35px;line-height:1}.workflow-center strong{color:var(--paper);font-family:var(--font-display);letter-spacing:-.03em;font-size:15px;font-weight:500;line-height:1.5}.workflow-center>span:last-child{color:var(--muted);letter-spacing:.06em;margin-top:8px;font-size:10px}.workflow-stage{left:var(--stage-x);top:var(--stage-y);color:#c1b6cd;background:#100d16;border:0;border-radius:7px;flex-direction:column;align-items:center;gap:7px;width:29%;min-height:70px;padding:9px 4px;display:flex;position:absolute;transform:translate(-50%,-50%)}.workflow-stage-number{width:36px;height:36px;color:var(--workflow-accent);background:#16101f;border:1px solid #79618d;border-radius:50%;place-items:center;font-size:11px;display:grid}.workflow-stage-title{font-family:var(--font-display);letter-spacing:-.02em;text-align:center;font-size:10px;line-height:1.45}.workflow-stage[aria-pressed=true] .workflow-stage-number{color:#100d16;background:var(--workflow-accent);border-color:var(--workflow-accent);box-shadow:0 0 0 5px #c2a4ff12}.workflow-stage[aria-pressed=true]{color:var(--paper)}.workflow-stage:hover .workflow-stage-number{border-color:#ece2ff}.workflow-ring-instruction{text-align:center;color:#b9a9c7;font-size:10px;position:absolute;bottom:1%;left:0;right:0}.workflow-diagram .system-flow{margin-top:0}.workflow-diagram .system-flow li{background:0 0;border:0;border-top:1px solid #6a487b;border-radius:0;gap:16px;margin-bottom:0;padding:24px 0;scroll-margin-top:120px}.workflow-diagram .system-index{width:34px;height:34px;color:var(--workflow-accent);border:1px solid #6e547d;border-radius:50%}.workflow-detail-eyebrow{color:var(--workflow-accent);letter-spacing:.1em;margin-bottom:14px;font-size:9px;display:block}.workflow-diagram .system-flow h3{letter-spacing:-.035em;color:var(--paper);margin-bottom:17px;font-size:clamp(21px,2.1vw,30px);line-height:1.25}.workflow-diagram .system-flow p{color:var(--muted);font-size:15px;line-height:1.9}.workflow-enhanced .system-flow{min-height:235px}.workflow-enhanced .system-flow li{padding:27px 0}@media (width<=1100px){.workflow-enhanced{grid-template-columns:1fr;gap:28px}.workflow-ring{max-width:430px}.workflow-enhanced .system-flow{min-height:160px}}@media (width<=760px){.workflow-diagram{margin-top:25px}.workflow-enhanced{gap:19px}.workflow-ring{max-width:370px;margin-bottom:14px}.workflow-stage{gap:5px;width:30%;min-height:68px}.workflow-stage-title{font-size:10px}.workflow-stage-number{width:32px;height:32px;font-size:10px}.workflow-center strong{font-size:12px}.workflow-center-mark{margin-bottom:7px;font-size:28px}.workflow-center>span:last-child{font-size:10px}.workflow-ring-instruction{font-size:10px;bottom:-5%}.workflow-diagram .system-flow h3{font-size:24px}.workflow-diagram .system-flow p{font-size:14px}.workflow-enhanced .system-flow{min-height:195px}}@media (prefers-reduced-motion:no-preference){.workflow-stage-number{transition:background .2s,box-shadow .2s,border-color .2s}.workflow-enhanced [data-workflow-detail]:not([hidden]){animation:.25s both workflow-reveal}@keyframes workflow-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}.tech-stack-section{border-top:1px solid var(--line);padding-block:90px 110px}.tech-stack-heading{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:35px;margin-bottom:48px;display:grid}.tech-stack-heading h2{font-size:clamp(40px,4.5vw,65px)}.tech-stack-intro>p{max-width:470px;color:var(--muted);margin-top:22px;font-size:15px;line-height:1.8}.tech-stack-art{justify-self:end;width:min(100%,420px);min-width:0}.tech-stack-art>img{object-fit:contain;mix-blend-mode:screen;width:100%;height:auto;max-height:230px;display:block;mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000),linear-gradient(#0000,#000 7% 93%,#0000);mask-composite:intersect}.tech-stack-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;display:grid}.tech-stack-group{--stack-accent:#c2a4ff;border-top:1px solid color-mix(in srgb, var(--stack-accent) 48%, #29242f);min-width:0;padding-top:25px}.stack-accent-cyan{--stack-accent:#9bdedc}.stack-accent-magenta{--stack-accent:#dea7d5}.tech-stack-group-heading{align-items:center;gap:14px;display:flex}.tech-stack-group-heading>span{color:var(--stack-accent);font-size:10px}.tech-stack-group h3{letter-spacing:-.03em;font-size:24px;line-height:1.25}.tech-stack-group-description{color:var(--muted);min-height:50px;margin-top:17px;font-size:14px;line-height:1.75}.tech-stack-tools{margin:23px 0 0;padding:0;list-style:none}.tech-stack-tools li{border-top:1px solid #2c2335;align-items:flex-start;gap:15px;padding-block:16px;display:flex}.tech-stack-tool-mark{color:var(--stack-accent);padding-top:2px;font-size:17px;line-height:1.2}.tech-stack-tools strong{color:var(--paper);font-family:var(--font-display);font-size:15px;font-weight:500;line-height:1.5;display:block}.tech-stack-tools li div>span{color:#a99bb6;margin-top:4px;font-size:12px;line-height:1.6;display:block}.project-tech-stack{border-top:1px solid #3b2b48;border-bottom:1px solid #3b2b48;margin-top:32px;padding:24px 0 26px}.project-tech-label{color:var(--mint);letter-spacing:.1em;font-size:9px}.project-tech-stack ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 24px;margin:20px 0 0;padding:0;list-style:none;display:grid}.project-tech-stack li{min-width:0}.project-tech-stack strong{color:var(--paper);font-family:var(--font-display);font-size:13px;font-weight:500;display:block}.project-tech-stack li span{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.6;display:block}.project-tech-stack>p{color:var(--muted);margin:20px 0 0;font-size:12px;line-height:1.75}@media (width<=1000px){.tech-stack-groups{gap:29px}.tech-stack-group h3{font-size:21px}}@media (width<=760px){.tech-stack-section{padding-block:55px 65px}.tech-stack-heading{grid-template-columns:1fr;gap:22px;margin-bottom:35px}.tech-stack-heading h2{font-size:40px}.tech-stack-intro>p{margin-top:17px}.tech-stack-art{justify-self:center;width:min(100%,350px)}.tech-stack-art>img{max-height:205px}.tech-stack-groups{grid-template-columns:1fr;gap:29px}.tech-stack-group-description{min-height:0}.tech-stack-tools{margin-top:18px}.tech-stack-tools li{padding-block:14px}.tech-stack-group h3{font-size:25px}.project-tech-stack ul{grid-template-columns:1fr;gap:16px}}:root{--cyan:#6ee8e2;--magenta:#eaa0df}.project-card>*,.career-highlights-heading>*,.career-highlights-grid>*,.tech-stack-heading>*,.case-hero-grid>*,.contributions>article>div,.considerations>article{min-width:0}.section-heading h2,.capabilities-heading h2,.about-intro h2,.career-highlights h2,.tech-stack-heading h2,.case-content h2,.case-content h3{overflow-wrap:anywhere}.project-meta{flex-wrap:wrap}.project-title-row h3,.capability-row>*,.capabilities-heading>*{min-width:0}.project-title-row h3,.capability-row h3{overflow-wrap:anywhere}.project-number{flex:none}.case-hero-new .case-eyebrow{max-width:100%}.case-hero-new .case-eyebrow>span{overflow-wrap:anywhere;max-width:100%}.case-hero-new h1{overflow-wrap:anywhere}.case-facts dd,.case-eyebrow>span{overflow-wrap:anywhere;min-width:0}.case-facts dt,.case-content p,.workflow-stage-title{overflow-wrap:anywhere}.workflow-stage-title{max-width:100%}.career-metrics dd{white-space:normal;overflow-wrap:anywhere}.role-display{overflow-wrap:anywhere}.tech-stack-group-heading>h3{overflow-wrap:anywhere;min-width:0}.career-highlights .career-metrics dd{white-space:normal;overflow-wrap:anywhere}.hero-identity h1{max-width:100%}.contact-grid h2,.contact-grid>div,.contact-grid .meeting-button{overflow-wrap:anywhere;min-width:0}.contact-grid .meeting-button{max-width:100%}@media (width<=760px){.header>.wordmark{white-space:normal;overflow-wrap:anywhere;min-width:0}.header .mobile-nav{flex:none}.header{gap:20px}.spatial-hero h1{white-space:normal;overflow-wrap:anywhere}}.about-intro>.about-invitation{color:#d7c6e7;margin-top:26px}.concept-motion{border-block:1px solid #534060;margin-top:40px}.concept-motion summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:88px;padding:20px 0;list-style:none;display:flex}.concept-motion summary::-webkit-details-marker{display:none}.concept-motion summary .eyebrow{color:var(--cyan);margin-bottom:5px;font-size:10px}.concept-motion summary strong{font-family:var(--font-display);font-size:23px;font-weight:500}.concept-motion summary>span:last-child{color:var(--mint);font-size:26px}.concept-motion video{aspect-ratio:16/9;border-radius:5px;width:100%;height:auto;display:block}.concept-motion figcaption{color:var(--muted);margin:16px 0 25px;font-size:13px;line-height:1.7}.development-evidence{margin:34px 0 40px}.development-detail{border-block:1px solid #534060}.development-detail summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:88px;padding-block:20px;list-style:none;display:flex}.development-detail summary::-webkit-details-marker{display:none}.development-detail summary .eyebrow{margin-bottom:6px}.development-detail summary strong{font-family:var(--font-display);font-size:22px;font-weight:500}.development-detail summary>span:last-child{color:var(--mint);font-size:27px}.development-detail[open] summary>span:last-child{transform:rotate(45deg)}.development-detail ol{margin-bottom:26px}.workflow-stage-art{width:76px;height:76px;margin-inline:auto;display:block;position:relative}.workflow-stage-art img{object-fit:contain;filter:saturate(.8);width:100%;height:100%}.workflow-stage .workflow-stage-number{background:#100d16;width:24px;height:24px;font-size:10px;position:absolute;bottom:0;left:-3px}.workflow-stage[aria-pressed=true] .workflow-stage-art img{filter:saturate(1.2)}.workflow-stage:is(:hover,:focus-visible) .workflow-stage-art img{transform:translateY(-3px)}.workflow-stage-art img{transition:transform .2s,filter .2s}@media (width<=760px){.workflow-stage-art{width:60px;height:60px}}@media (prefers-reduced-motion:reduce){.workflow-stage-art img{transition:none}.workflow-stage:is(:hover,:focus-visible) .workflow-stage-art img{transform:none}}.development-evidence>h3{margin:10px 0 25px;font-size:24px}.development-evidence figure a{border:1px solid #584466;border-radius:6px;display:block;position:relative;overflow:hidden}.development-evidence img{aspect-ratio:3/2;object-fit:contain;width:100%;height:auto}.development-evidence figure a>span{color:var(--paper);background:#09080de8;padding:8px 10px;font-size:11px;position:absolute;bottom:14px;right:14px}.development-evidence figcaption{color:var(--muted);margin-top:14px;font-size:12px;line-height:1.7}.development-evidence ol{color:#c8b8d5;margin:24px 0 0;padding-left:22px;font-size:15px;line-height:1.8}.development-evidence li{margin-bottom:10px;padding-left:8px}.header .desktop-nav{gap:clamp(15px,2vw,29px)}.nav-cv{color:var(--cyan);gap:10px;display:inline-flex}.moment-source-link{color:var(--mint);gap:16px;margin-block:18px 6px;font-size:12px}.project-art:has(img[src*="/images/home/"]),.fyp-feature-art{background:0 0;border:0;border-radius:0}.project-art img[src*="/images/home/"]{object-fit:contain}.projects-grid>.project-card:nth-of-type(odd){grid-template-columns:1.4fr 1fr}.projects-grid>.project-card:nth-of-type(odd) .project-art-wrap{order:1}.projects-grid>.project-card:nth-of-type(odd) .project-copy{order:2}.projects-grid>.project-card:nth-of-type(2n){grid-template-columns:1fr 1.4fr}.projects-grid>.project-card:nth-of-type(2n) .project-art-wrap{order:2}.projects-grid>.project-card:nth-of-type(2n) .project-copy{order:1}.home-gameplay{min-width:0}.home-gameplay video{aspect-ratio:3/2;object-fit:contain;background:var(--ink);width:100%;height:auto;display:block}.home-gameplay figcaption{color:var(--muted);justify-content:space-between;gap:20px;margin-top:13px;font-size:11px;line-height:1.7;display:flex}.home-gameplay figcaption>span:last-child{color:var(--mint)}.tech-stack-section{padding-block:70px 78px}.tech-stack-tools li{padding-block:12px}.tech-stack-heading{margin-bottom:34px}.career-highlights{padding-block:66px 72px}.about-grid{gap:60px}.about-intro>p{max-width:550px}.fiverr-evidence{margin:0}.fiverr-evidence a{display:block}.fiverr-evidence img{object-fit:contain;border-radius:6px;width:100%;height:auto;display:block}.fiverr-full-record{color:#dfc7ff;align-items:center;gap:10px;min-height:44px;padding-top:8px;font-size:13px;display:flex}.fiverr-full-record .arrow{width:14px}.fiverr-evidence a:hover .fiverr-full-record{color:var(--paper)}.fiverr-evidence figcaption{color:#c5b8d4;margin-top:12px;font-size:12px;line-height:1.7}.moment-story-topline .moment-story-context,.moment-photo figcaption,.moment-photo-count-label,.moments-gallery-arrow>span:not([aria-hidden]){font-size:11px}.moments-gallery .moment-story .moment-image-open{font-size:10px}@media (width<=760px){.home-gameplay figcaption{flex-wrap:wrap;gap:6px 18px}.projects-grid>.project-card:nth-of-type(n){grid-template-columns:minmax(0,1fr)}.projects-grid>.project-card:nth-of-type(n) .project-art-wrap{order:1}.projects-grid>.project-card:nth-of-type(n) .project-copy{order:2}}:root,html[data-theme=dark]{color-scheme:dark;--background:#100b18;--foreground:#f7f2fc;--muted:#c7bbd2;--subtle:#aa9bb8;--accent:#d49af8;--accent-hover:#e4b9ff;--accent-foreground:#241032;--accent-soft:#2a1938;--border:#3d2e4b;--border-strong:#705184;--surface:#191221;--surface-raised:#23182e;--surface-section:#140e1d;--accent-cyan:#93dfe3;--accent-magenta:#e5afd9;--accent-amber:#e7c398;--ambient-top:#61364b17;--ambient-center:#7035522e;--ambient-ground:#ab62bd40;--ambient-contact:#67357d2e;--ambient-image:url(/images/theme/velvet-ambient-refined.webp);--orbit:#a377c20c;--card-shadow:0 18px 48px #05020c24;--media-background:#0d0914;--media-overlay:#170e24ed;--media-foreground:#f7f2fc;--media-muted:#d2c3df;--media-accent:#dda8ff;--media-border:#b29bc46b;--art-studio:#f4f1ed}html[data-theme=light]{color-scheme:light;--background:#f3eff9;--foreground:#2b2035;--muted:#65566f;--subtle:#725e7d;--accent:#7939a9;--accent-hover:#5e2788;--accent-foreground:#fff;--accent-soft:#e9def4;--border:#d5c6e1;--border-strong:#a387b7;--surface:#faf7ff;--surface-raised:#e9e0f3;--surface-section:#eee7f6;--accent-cyan:#256f77;--accent-magenta:#8c417e;--accent-amber:#8a5b27;--ambient-top:#d9b7eb48;--ambient-center:#cc9ee04a;--ambient-ground:#b477d43b;--ambient-contact:#d9b8eb4d;--ambient-image:none;--orbit:#9266ab1d;--card-shadow:0 18px 48px #65417c0b}:root{--ink:var(--background);--paper:var(--foreground);--mint:var(--accent);--teal:var(--accent);--cyan:var(--accent-cyan);--magenta:var(--accent-magenta);--amber:var(--accent-amber);--line:var(--border)}html[data-theme]{background:var(--background);accent-color:var(--accent)}html[data-theme] body,html[data-theme] body:has(.case-hero-new){background:var(--background);color:var(--foreground)}html[data-theme] ::selection{color:var(--accent-foreground);background:var(--accent)}html[data-theme] :focus-visible,html[data-theme] .paper-section :focus-visible,html[data-theme] .case-hero-new :focus-visible,html[data-theme] body:has(.case-hero-new) .header :focus-visible{outline-color:var(--accent)}html[data-theme] .button-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}html[data-theme] .button-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}html[data-theme] .skip-link{color:var(--accent-foreground)}html[data-theme] .header,html[data-theme] body:has(.case-hero-new) .header,html[data-theme] .header .wordmark,html[data-theme] body:has(.case-hero-new) .header .wordmark{color:var(--foreground);border-color:var(--border)}html[data-theme] body:has(.case-hero-new) .header:before{background:var(--background)}html[data-theme] .desktop-nav a,html[data-theme] body:has(.case-hero-new) .desktop-nav a{color:var(--foreground)}html[data-theme] .desktop-nav a:hover,html[data-theme] body:has(.case-hero-new) .desktop-nav a:hover{color:var(--accent)}html[data-theme] .desktop-nav .nav-cv,html[data-theme] body:has(.case-hero-new) .desktop-nav .nav-cv{color:var(--accent-cyan)}html[data-theme] .header-contact,html[data-theme] body:has(.case-hero-new) .header-contact{color:var(--foreground);border-color:var(--border-strong);background:0 0}html[data-theme] body:has(.case-hero-new) .header-contact:hover{background:var(--accent-soft)}html[data-theme] .header-contact .arrow,html[data-theme] body:has(.case-hero-new) .header-contact .arrow{color:var(--accent)}html[data-theme] .mobile-nav nav,html[data-theme] body:has(.case-hero-new) .mobile-nav nav{color:var(--foreground);background:var(--surface);border-color:var(--border-strong);box-shadow:var(--card-shadow)}html[data-theme] .mobile-nav summary span,html[data-theme] body:has(.case-hero-new) .mobile-nav summary span{background:var(--foreground)}html[data-theme] .mobile-nav[open] summary span{background:var(--accent)}.theme-toggle{min-width:44px;min-height:44px;color:var(--foreground);border:1px solid var(--border);font-family:var(--font-display);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;gap:7px;padding:9px 11px;font-size:11px;line-height:1.2;display:inline-flex}.theme-toggle:hover{color:var(--accent);border-color:var(--border-strong);background:var(--accent-soft)}.theme-toggle svg{flex:none;width:18px;height:18px}html[data-theme=dark] .theme-toggle-moon,html[data-theme=light] .theme-toggle-sun{display:none}html[data-theme=dark] .theme-toggle-sun,html[data-theme=light] .theme-toggle-moon{display:block}html[data-theme] .hero-atmosphere{background:radial-gradient(ellipse at 50% 7%, var(--ambient-top), transparent 57%), var(--ambient-image) center / cover no-repeat, radial-gradient(ellipse at 50% 63%, var(--ambient-center), transparent 43%)}html[data-theme] .hero-glow{background:var(--ambient-ground);filter:blur(68px);width:min(48vw,720px);height:min(38vh,330px);top:72%}html[data-theme] .hero-atmosphere:after{content:"";background:radial-gradient(ellipse, var(--ambient-ground), transparent 70%);filter:blur(13px);border-radius:50%;width:min(44vw,640px);height:62px;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}html[data-theme] .hero-orbit{border-color:var(--orbit);width:57vw;height:57vw;top:49%}html[data-theme] .hero-orbit-two{width:73vw;height:73vw}html[data-theme] .hero-full-name{color:var(--subtle)}html[data-theme] .hero-work-link,html[data-theme] .hero-contact-link{color:var(--foreground);border-bottom:1px solid var(--border-strong)}html[data-theme] .hero-work-link:hover,html[data-theme] .hero-contact-link:hover{color:var(--accent);border-color:var(--accent)}html[data-theme] .role-display{color:var(--foreground);font-weight:600}html[data-theme] .role-outline{color:#0000;letter-spacing:-.035em;-webkit-text-stroke:1.2px var(--foreground)}html[data-theme] .role-display .role-lavender,html[data-theme] .role-dot{color:var(--accent)}html[data-theme] .scene-toggle,html[data-theme] .motion-toggle{color:var(--foreground);background:var(--surface);border-color:var(--border-strong)}html[data-theme] .scene-toggle:hover,html[data-theme] .motion-toggle:hover{background:var(--accent-soft);border-color:var(--accent)}html[data-theme] .paper-section{color:var(--foreground);background:var(--background);color-scheme:inherit}html[data-theme] .work-section{background:linear-gradient(180deg, var(--surface-section), var(--background) 42%)}html[data-theme] .about-section{background:var(--surface-section)}html[data-theme] [data-motion-accent=violet]{--section-accent:var(--accent)}html[data-theme] [data-motion-accent=cyan]{--section-accent:var(--accent-cyan)}html[data-theme] [data-motion-accent=magenta]{--section-accent:var(--accent-magenta)}html[data-theme] .muted-heading{color:var(--subtle)}html[data-theme] .project-art{background:var(--surface);border-color:var(--border)}html[data-theme] .project-art:has(img[src*="/images/home/"]),html[data-theme] .fyp-feature-art{background:0 0;border:0}html[data-theme=dark] .project-art img[src*="/images/home/"],html[data-theme=light] .project-art img{mix-blend-mode:normal}html[data-theme] .project-image-label,html[data-theme] .fyp-feature-art>span{background:var(--media-overlay);color:var(--media-foreground);border-color:var(--media-border)}html[data-theme] .project-open{color:var(--accent);background:var(--surface);border-color:var(--border-strong)}html[data-theme] .project-art-link:hover .project-open{color:var(--accent-foreground);background:var(--accent)}html[data-theme] .project-tags{gap:8px}html[data-theme] .project-tags span{color:var(--foreground);background:color-mix(in srgb, var(--accent-soft) 55%, transparent);border:1px solid var(--border-strong);border-radius:20px;padding:5px 12px;font-size:11px;line-height:1.55}html[data-theme] .project-tags span:not(:last-child):after{content:none}html[data-theme] .project-read-link{border-bottom:1px solid var(--border-strong)}html[data-theme] .approach-index,html[data-theme] .approach-card ul,html[data-theme] .capability-row ul{color:var(--accent)}html[data-theme] .about-intro>.about-invitation{color:var(--foreground)}html[data-theme] .tech-stack-group{--stack-accent:var(--accent);border-color:var(--border-strong)}html[data-theme] .stack-accent-cyan{--stack-accent:var(--accent-cyan)}html[data-theme] .stack-accent-magenta{--stack-accent:var(--accent-magenta)}html[data-theme] .tech-stack-tools li,html[data-theme] .project-tech-stack{border-color:var(--border)}html[data-theme] .tech-stack-tools li div>span{color:var(--muted)}html[data-theme=light] .tech-stack-art>img{mix-blend-mode:normal}html[data-theme] .tech-stack-group-icon{object-fit:contain;flex:none;width:64px;height:64px}html[data-theme] .theme-image-light,html[data-theme=light] .theme-image-dark{display:none}html[data-theme=light] .theme-image-light{display:block}html[data-theme] .career-highlights{--career-cyan:var(--accent-cyan);--career-magenta:var(--accent-magenta)}html[data-theme] .career-freelance{background:linear-gradient(125deg, var(--accent-soft), var(--surface));border-color:var(--border-strong);box-shadow:var(--card-shadow)}html[data-theme] .career-freelance .career-milestone-meta,html[data-theme] .career-freelance .career-metrics dd{color:var(--accent)}html[data-theme] .career-freelance .career-milestone-meta>span:last-child,html[data-theme] .career-freelance .career-milestone-description,html[data-theme] .career-freelance .career-metrics dt,html[data-theme] .career-metrics dt,html[data-theme] .career-employment-arrangement,html[data-theme] .fiverr-evidence figcaption{color:var(--muted)}html[data-theme] .career-employment{border-color:var(--border-strong)}html[data-theme] .fiverr-full-record{color:var(--accent)}html[data-theme] .fiverr-evidence img,html[data-theme] .career-certificate img{outline:1px solid var(--border);outline-offset:-1px}html[data-theme] .moments-gallery .moment-story{color:var(--foreground);background:var(--surface);border-color:var(--border)}html[data-theme] .moment-story-media,html[data-theme] .moments-gallery .moment-story .moment-photo .moment-document-image,html[data-theme] .moments-gallery .moment-story .moment-photo .moment-portrait-graphic{background:var(--surface-raised)}html[data-theme] .moment-photo figcaption,html[data-theme] .moment-story-description,html[data-theme] .workflow-ring-instruction{color:var(--muted)}html[data-theme] .moment-story-details li::marker{color:var(--accent)}html[data-theme] .moments-gallery-arrow{color:var(--accent);background:var(--surface);border-color:var(--border-strong);box-shadow:var(--card-shadow)}html[data-theme] .moments-gallery-arrow:hover{color:var(--foreground);background:var(--accent-soft);border-color:var(--accent)}html[data-theme] .moment-photo-arrows button{color:var(--media-foreground);background:var(--media-overlay);border-color:var(--media-border)}html[data-theme] .moment-photo-arrows button:hover{background:#3c2552}html[data-theme] .moment-photo-pagination button>span{background:var(--subtle)}html[data-theme] .moment-photo-pagination button[aria-current=true]>span{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent)}html[data-theme] .moments-gallery-track,html[data-theme] .moment-photo-track{scrollbar-color:var(--border-strong) var(--surface-raised)}html[data-theme] .moments-gallery-track::-webkit-scrollbar-track{background:var(--surface-raised)}html[data-theme] .moments-gallery-track::-webkit-scrollbar-thumb{background:var(--border-strong)}html[data-theme] .case-hero-new{--case-accent:var(--accent);color:var(--foreground);color-scheme:inherit;background:radial-gradient(ellipse at 18% 70%, var(--ambient-contact), transparent 58%), var(--background);border-color:var(--border)}html[data-theme] .case-hero-new .case-back-link,html[data-theme] .case-hero-new .case-eyebrow>span:last-child,html[data-theme] .case-hero-new .case-description{color:var(--muted)}html[data-theme] .case-hero-new .case-facts{border-color:var(--border)}html[data-theme] .case-hero-new .case-facts dd{color:var(--foreground)}html[data-theme] .case-primary-action{color:var(--accent-foreground);background:var(--accent);border-color:var(--accent)}html[data-theme] .case-primary-action:hover{background:var(--accent-hover);border-color:var(--accent-hover)}html[data-theme] .case-external-action{color:var(--accent);border-color:var(--border-strong)}html[data-theme] .case-external-action:hover{color:var(--accent-hover);border-color:var(--accent)}html[data-theme] .case-hero-new .case-cover{background:var(--art-studio);border-color:var(--border);box-shadow:var(--card-shadow)}html[data-theme] .case-cover>img{background:var(--art-studio)}html[data-theme] .case-cover:has(>img[src*=-transparent\.webp]){box-shadow:none;background:0 0;border:0}html[data-theme] .case-cover>img[src*=-transparent\.webp]{object-fit:contain;background:0 0;border-radius:0}html[data-theme] .case-cover:has(>img[src*=-transparent\.webp]) figcaption{border-color:var(--border);background:0 0}html[data-theme] .case-cover-play img{background:var(--media-background)}html[data-theme] .case-hero-new .case-cover figcaption{color:var(--muted);background:var(--surface);border-top:1px solid var(--border)}html[data-theme] .case-cover-play-label{color:var(--media-foreground);background:var(--media-overlay);border-color:var(--media-border)}html[data-theme] .case-play-symbol{color:var(--media-accent);border-color:var(--media-accent)}html[data-theme] .case-cover-play-label>span:last-child>span{color:var(--media-muted)}html[data-theme] .case-cover-play:hover .case-play-symbol{color:#241032;background:var(--media-accent)}html[data-theme] .case-body{background:var(--surface-section)}html[data-theme] .case-introduction{color:var(--muted)}html[data-theme] .case-content h2,html[data-theme] .case-content h3,html[data-theme] .case-content h4{color:var(--foreground)}html[data-theme] .case-content p,html[data-theme] .case-content .case-overview,html[data-theme] .case-content .contributions p,html[data-theme] .case-content .considerations p{color:var(--muted)}html[data-theme] .case-content .contribution-num,html[data-theme] .case-content .eyebrow{color:var(--accent)}html[data-theme] .case-aside .eyebrow{color:var(--muted)}html[data-theme] .case-aside nav a{color:var(--foreground)}html[data-theme] .case-aside nav a:hover{color:var(--accent)}html[data-theme] body:has(.case-hero-new) :is(.case-showcase,.next-project,.footer){background:var(--background);color:var(--foreground)}html[data-theme] .workflow-diagram{--workflow-accent:var(--accent)}html[data-theme] .workflow-light{--workflow-accent:var(--accent-cyan)}html[data-theme] .workflow-dark{--workflow-accent:var(--accent)}html[data-theme] .workflow-amber{--workflow-accent:var(--accent-amber)}html[data-theme] .workflow-enhanced{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px}html[data-theme] .workflow-ring{aspect-ratio:auto;background:0 0;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;max-width:none;margin:0;display:grid}html[data-theme] .workflow-orbit,html[data-theme] .workflow-center,html[data-theme] .workflow-ring-instruction{display:none}html[data-theme] .workflow-stage{width:100%;min-height:158px;color:var(--foreground);background:var(--surface);border:1px solid var(--border);border-radius:7px;justify-content:flex-start;gap:14px;padding:16px 9px;position:relative;top:auto;left:auto;transform:none}html[data-theme] .workflow-stage-art{flex:none;width:64px;height:64px;margin-inline:auto}html[data-theme] .workflow-stage-title{color:var(--foreground);font-size:13px;line-height:1.5}html[data-theme] .workflow-stage .workflow-stage-number{color:var(--workflow-accent);background:var(--surface);border-color:var(--border-strong);width:24px;height:24px;font-size:10px}html[data-theme] .workflow-stage[aria-pressed=true]{color:var(--foreground);background:var(--accent-soft);border-color:var(--workflow-accent)}html[data-theme] .workflow-stage[aria-pressed=true] .workflow-stage-number{color:var(--accent-foreground);background:var(--workflow-accent);border-color:var(--workflow-accent);box-shadow:0 0 0 5px color-mix(in srgb, var(--workflow-accent) 12%, transparent)}html[data-theme] .workflow-stage:hover .workflow-stage-number{border-color:var(--workflow-accent)}html[data-theme] .system-flow li{background:var(--surface);border-color:var(--border)}html[data-theme] .system-index{color:var(--accent);background:var(--background)}html[data-theme] .workflow-enhanced .system-flow{min-height:0}html[data-theme] .workflow-diagram .system-flow li{background:var(--surface);border:1px solid var(--border);border-radius:7px;gap:18px;margin-bottom:16px;padding:24px}html[data-theme] .workflow-enhanced .system-flow li{margin-bottom:0}html[data-theme] .workflow-diagram .system-index{border-color:var(--border-strong)}html[data-theme] .workflow-diagram .system-flow h3{color:var(--foreground);font-size:clamp(23px,2.1vw,30px)}html[data-theme] .workflow-diagram .system-flow p{color:var(--muted)}html[data-theme] .concept-motion,html[data-theme] .development-detail,html[data-theme] .development-evidence figure a{border-color:var(--border-strong)}html[data-theme] .development-evidence ol{color:var(--muted)}html[data-theme] .case-media>video,html[data-theme] .project-demo-video,html[data-theme] .immersive-video video{background:var(--media-background);border-color:var(--border)}html[data-theme] .case-gallery a{border-color:var(--border)}html[data-theme] .case-gallery a:hover{border-color:var(--accent)}html[data-theme] .case-gallery a>span,html[data-theme] .development-evidence figure a>span{color:var(--media-foreground);background:var(--media-overlay)}html[data-theme] .project-demo,html[data-theme] .project-demo:last-child{border-color:var(--border-strong)}html[data-theme] .home-gameplay video,html[data-theme] .project-motion video{background:var(--media-background)}html[data-theme] .home-gameplay video{background:0 0}html[data-theme] .tech-stack-art>img{mix-blend-mode:normal;mask-image:none}html[data-theme] .contact-section,html[data-theme] body:has(.case-hero-new) .contact-section{color:var(--foreground);background:radial-gradient(ellipse at 35% 110%, var(--ambient-contact), transparent 68%), var(--background)}html[data-theme] .meeting-button{color:var(--foreground);border-color:var(--border-strong);background:var(--surface)}html[data-theme] .meeting-button:hover{border-color:var(--accent);background:var(--accent-soft)}html[data-theme] .footer-links a,html[data-theme] .footer-name{color:var(--foreground)}html[data-theme] .footer-bottom,html[data-theme] .footer-copyright,html[data-theme] .footer-copyright a{color:var(--muted)}html[data-theme] .footer-links a:hover,html[data-theme] .footer-copyright a:hover{color:var(--accent)}html[data-theme] .not-found{color:var(--foreground)}@media (width<=1100px){.theme-toggle{padding:9px}}@media (width>=761px) and (width<=1050px){html[data-theme] .header{gap:20px;height:88px}html[data-theme] .header .desktop-nav,html[data-theme] .header .header-contact{display:none}html[data-theme] .header .theme-toggle{margin-left:auto}html[data-theme] .header .mobile-nav{display:block}html[data-theme] .mobile-nav summary{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;min-height:44px;list-style:none;display:flex}html[data-theme] .mobile-nav summary::-webkit-details-marker{display:none}html[data-theme] .mobile-nav summary span{width:24px;height:1px}html[data-theme] .mobile-nav nav{border:1px solid var(--border-strong);flex-direction:column;width:min(300px,100vw - 40px);padding:15px 20px;display:flex;position:absolute;top:54px;right:0}html[data-theme] .mobile-nav nav a{border-bottom:1px solid var(--border);padding:12px 0;font-size:16px}html[data-theme] .mobile-nav nav a:last-child{border:0}}@media (width>=761px) and (width<=1100px){html[data-theme] .workflow-ring{grid-template-columns:repeat(6,minmax(0,1fr))}html[data-theme] .workflow-stage{grid-column:span 2;min-height:145px}html[data-theme] .workflow-stage:first-of-type{grid-column:2/4}html[data-theme] .workflow-stage:nth-of-type(2){grid-column:4/6}}@media (width<=760px){html[data-theme] .header{gap:12px}html[data-theme] .header .wordmark{flex:auto}html[data-theme] .header .theme-toggle{margin-left:auto}html[data-theme] .tech-stack-group-icon{width:48px;height:48px}html[data-theme] .workflow-enhanced{gap:22px}html[data-theme] .workflow-ring{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr);gap:0}html[data-theme] .workflow-stage{border:0;border-bottom:1px solid var(--border);background:0 0;border-left:2px solid #0000;border-radius:0;flex-direction:row;justify-content:flex-start;align-items:center;gap:17px;min-height:89px;padding:12px 12px 12px 8px}html[data-theme] .workflow-stage[aria-pressed=true]{border-left-color:var(--workflow-accent);background:var(--accent-soft)}html[data-theme] .workflow-stage-art{width:64px;height:64px;margin:0}html[data-theme] .workflow-stage-title{text-align:left;font-size:14px}html[data-theme] .workflow-diagram .system-flow li{gap:12px;padding:20px 17px}html[data-theme] .workflow-diagram .system-index{width:28px;height:28px;font-size:10px}html[data-theme] .workflow-diagram .system-flow h3{font-size:23px}html[data-theme] .hero-orbit{width:104vw;height:104vw;top:57%}html[data-theme] .hero-orbit-two{width:141vw;height:141vw}html[data-theme] .hero-glow{filter:blur(48px);width:82vw;height:29vh;top:74%}html[data-theme] .hero-atmosphere:after{width:72vw;height:45px;bottom:10%}html[data-theme] .role-outline{-webkit-text-stroke-width:1px}html[data-theme] .project-tags span{padding:4px 10px;font-size:10px}.theme-toggle{width:44px;padding:9px}.theme-toggle-label{display:none}}@media (prefers-reduced-motion:reduce){.theme-toggle{transition:none}}.footer-bottom[data-astro-cid-jo6i4kqk]{flex-wrap:wrap}.footer-copyright[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;align-items:center;gap:4px 12px;max-width:100%;display:inline-flex}.footer-copyright[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.footer-copyright[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--mint)}:root{--section-motion-distance:18px;--section-motion-duration:.42s;--section-motion-ease:cubic-bezier(.2, .7, .2, 1)}[data-motion-accent=violet]{--section-accent:#c2a4ff}[data-motion-accent=cyan]{--section-accent:#9bdedc}[data-motion-accent=magenta]{--section-accent:#dea7d5}:is(.section-topline,.capabilities-heading)>.eyebrow{color:var(--section-accent,var(--mint))}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";transform-origin:0;background:currentColor;height:1px;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:is(:hover,:focus-visible):after{transform:scaleX(1)}@media (prefers-reduced-motion:no-preference){[data-motion-state]{transition:opacity var(--section-motion-duration) var(--section-motion-ease), transform var(--section-motion-duration) var(--section-motion-ease)}[data-motion-state=pending]{opacity:0;transform:translate3d(0, var(--section-motion-distance), 0)}[data-motion-state]:has(a,button,summary,input,select,textarea,[tabindex]){transition-property:opacity;transform:none}[data-motion-state=entered]{opacity:1;transform:none}[data-motion-immediate]{transition:none!important}.desktop-nav a:after{transition:transform .18s}@view-transition{navigation:auto}::view-transition-old(root){animation:.16s both section-page-out}::view-transition-new(root){animation:.18s both section-page-in}@keyframes section-page-out{to{opacity:0}}@keyframes section-page-in{0%{opacity:0}to{opacity:1}}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project-art-link .project-art{transition:transform .24s var(--section-motion-ease), border-color .24s ease}.project-art-link:is(:hover,:focus-visible) .project-art{border-color:var(--section-accent,var(--mint));transform:translateY(-4px)rotate(-.4deg)}.project-card:nth-child(2n) .project-art-link:is(:hover,:focus-visible) .project-art{transform:translateY(-4px)rotate(.4deg)}.case-gallery a{transition:transform .22s var(--section-motion-ease), border-color .22s ease}.case-gallery a:is(:hover,:focus-visible){transform:translateY(-3px)}}@media print{[data-motion-state]{opacity:1!important;transition:none!important;transform:none!important}}@media (prefers-reduced-motion:reduce){[data-motion-state]{opacity:1!important;transition:none!important;transform:none!important}::view-transition-old(root),::view-transition-new(root){animation:none}}
