:root{--td-bg:#090909;--td-panel:#0f0f10;--td-text:#f2f2f2;--td-muted:#a6a6aa;--td-line:#242429;--td-accent:#bf76ff;--td-accent-soft:#d7a9ff;--td-sidebar:216px}*{box-sizing:border-box}html{background:var(--td-bg);scroll-behavior:smooth}body{min-width:320px;margin:0;color:var(--td-text);background:radial-gradient(circle at 76% 5%,rgb(120 65 155 / 12%),transparent 24%),var(--td-bg);font-family:Quicksand,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%}.td-sidebar{position:fixed;z-index:2;inset:0 auto 0 0;display:flex;width:var(--td-sidebar);min-height:100vh;padding:38px 33px 31px;flex-direction:column;border-right:1px solid var(--td-line);background:#0b0b0c}.td-logo{display:inline-block;width:fit-content;margin-bottom:65px;color:#f7f6f4;font-size:38px;font-weight:300;letter-spacing:-.075em;line-height:.9}.td-main-nav,.td-category-nav{display:flex;flex-direction:column}.td-main-nav{gap:17px;font-size:15px}.td-main-nav a{width:fit-content;color:#b8b4b8}.td-main-nav .active{color:var(--td-text);font-weight:700}.td-rule{width:17px;height:1px;margin:39px 0;background:#69666a}.td-category-nav{gap:8px;color:#cbc7c9;font-size:14px}.td-category-nav a{display:flex;width:150px;min-height:38px;padding:0 12px;align-items:center;border-radius:22px}.td-category-nav a:hover{background:#141419;color:#fff}.td-category-nav .active{background:#1a1522;color:#fff;font-weight:700}.td-category-nav .active::after{width:6px;height:6px;margin-left:auto;border-radius:50%;background:var(--td-accent);content:""}.td-sidebar-footer{margin-top:auto;color:#77737a;font-size:11px;line-height:1.55}.td-content{min-height:100vh;margin-left:var(--td-sidebar);padding:0 42px 36px}.td-project{width:min(100%,1220px);margin:0 auto;padding-top:50px}.td-back{display:inline-flex;margin-bottom:48px;align-items:center;gap:8px;color:var(--td-accent-soft);font-size:12px}.td-back span{font-size:18px;line-height:1}.td-hero{display:grid;margin-bottom:44px;grid-template-columns:minmax(290px,.72fr) minmax(520px,1.28fr);gap:34px;align-items:center}.td-kicker{margin-bottom:16px;color:var(--td-accent);font-size:11px;letter-spacing:.11em;text-transform:uppercase}.td-hero h1{margin:0 0 20px;font-size:clamp(42px,4.25vw,55px);font-weight:300;letter-spacing:-.045em;line-height:.98}.td-summary{max-width:360px;margin:0 0 30px;color:#c3c3c7;font-size:14px;line-height:1.65}.td-tags{display:flex;max-width:370px;flex-wrap:wrap;gap:9px}.td-tag{padding:8px 11px;border:1px solid #2e2e33;border-radius:5px;background:rgb(255 255 255 / 1%);color:#9999a0;font-size:10px}.td-hero-media{position:relative;height:360px;overflow:hidden;background:#111}.td-hero-media img{height:100%;object-fit:cover;filter:brightness(.82) saturate(.92)}.td-hero-media::after{position:absolute;inset:0;background:linear-gradient(90deg,rgb(9 9 9 / 50%) 0%,rgb(9 9 9 / 2%) 25%,rgb(9 9 9 / 2%) 78%,rgb(9 9 9 / 16%) 100%);content:""}.td-meta{display:grid;margin-bottom:48px;border:1px solid var(--td-line);background:rgb(255 255 255 / 1%);grid-template-columns:repeat(2,1fr)}.td-meta-item{position:relative;padding:22px 26px}.td-meta-item+.td-meta-item::before{position:absolute;top:20px;bottom:20px;left:0;width:1px;background:var(--td-line);content:""}.td-meta-label{display:block;margin-bottom:9px;color:var(--td-accent);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.td-meta-value{color:#d1d1d4;font-size:12px}.td-section{margin-bottom:34px}.td-section h2{margin:0 0 15px;font-size:22px;font-weight:400;letter-spacing:-.02em}.td-copy{max-width:930px;margin:0;color:#aaaab0;font-size:13px;line-height:1.75}.td-feature{aspect-ratio:16/7.1;margin-top:28px;overflow:hidden;background:#111}.td-feature img{height:100%;object-fit:cover;filter:brightness(.82)}.td-gallery{display:grid;margin-top:12px;grid-template-columns:1fr 1fr;gap:12px}.td-gallery a{aspect-ratio:1.35/1;overflow:hidden;background:#111}.td-gallery img{height:100%;object-fit:cover;filter:brightness(.82);transition:transform .35s ease,filter .35s ease}.td-gallery a:hover img{filter:brightness(.96);transform:scale(1.04)}.td-responsibilities{display:grid;margin:18px 0 0;grid-template-columns:1fr 1fr;gap:10px 42px}.td-responsibilities div{position:relative;padding-left:26px;color:#a7a7ad;font-size:12px;line-height:1.55}.td-responsibilities div::before{position:absolute;top:0;left:0;display:grid;width:15px;height:15px;border:1px solid var(--td-accent);border-radius:50%;color:var(--td-accent);content:"✓";font-size:9px;place-items:center}.td-pagination{display:grid;margin-top:28px;padding:22px 0 8px;border-top:1px solid var(--td-line);grid-template-columns:1fr 1fr;gap:30px}.td-pagination a:last-child{text-align:right}.td-pagination-label{margin-bottom:8px;color:var(--td-accent-soft);font-size:12px}.td-pagination-name{color:#66666c;font-size:12px}@media(max-width:1050px){:root{--td-sidebar:185px}.td-sidebar{padding-inline:22px}.td-content{padding-inline:28px}.td-hero{grid-template-columns:1fr}.td-hero-copy{max-width:620px}.td-hero-media{height:420px}}@media(max-width:720px){:root{--td-sidebar:0px}.td-sidebar{position:relative;width:100%;min-height:0;padding:22px 20px;border-right:0;border-bottom:1px solid var(--td-line)}.td-logo{margin-bottom:26px;font-size:30px}.td-main-nav{flex-direction:row;gap:22px}.td-rule{margin:24px 0 18px}.td-category-nav{flex-direction:row;flex-wrap:wrap}.td-sidebar-footer{display:none}.td-content{margin-left:0;padding:0 18px 30px}.td-project{padding-top:32px}.td-back{margin-bottom:34px}.td-hero-media{height:auto;aspect-ratio:16/10}.td-meta,.td-gallery,.td-responsibilities,.td-pagination{grid-template-columns:1fr}.td-meta-item+.td-meta-item::before{top:0;right:20px;bottom:auto;left:20px;width:auto;height:1px}.td-pagination a:last-child{text-align:left}}
body[data-project="maris-reception"] .td-copy{max-width:none;text-align:justify;font-size:16px;line-height:1.8}
body[data-project="gucci-town"] .td-copy{max-width:none;text-align:justify}
 .td-feature video{display:block;width:100%;height:100%;object-fit:cover;background:#111}
.td-copy ul{margin:0 0 1.8em;padding-left:1.4em}.td-copy li+li{margin-top:.45em}
.td-feature:has(video){margin-bottom:44px;overflow:visible}.td-feature figcaption{margin-top:12px;color:var(--td-muted);font-size:12px;text-align:center}
body[data-project="maris-reception"] .td-feature:has(video){height:auto;aspect-ratio:auto}body[data-project="maris-reception"] .td-feature video{height:auto;object-fit:contain}
body[data-project="nook-n-go-animal-crossing"] .td-feature:has(video){height:auto;aspect-ratio:auto}body[data-project="nook-n-go-animal-crossing"] .td-feature video{height:auto;object-fit:contain}
body[data-project="kitchen"] .td-feature:has(video){height:auto;aspect-ratio:auto}body[data-project="kitchen"] .td-feature video{height:auto;object-fit:contain}
body[data-project="nook-n-go-animal-crossing"] .td-summary a{color:var(--td-accent);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
body[data-project="kitchen"] .td-summary a{color:var(--td-accent);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.td-comparison{margin:12px 0}.td-comparison>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.td-comparison a{aspect-ratio:1.35/1;overflow:hidden;background:#111}.td-comparison img{height:100%;object-fit:cover}.td-comparison figcaption{margin-top:12px;color:var(--td-muted);font-size:12px;text-align:center}@media(max-width:720px){.td-comparison>div{grid-template-columns:1fr}}
.td-lightbox{max-width:min(96vw,1800px);max-height:96vh;padding:0;border:0;background:transparent}.td-lightbox::backdrop{background:rgb(0 0 0 / 88%)}.td-lightbox img{display:block;max-width:96vw;max-height:96vh;width:auto;height:auto}.td-lightbox button{position:fixed;display:grid;width:42px;height:42px;padding:0;border:1px solid rgb(255 255 255 / 45%);border-radius:50%;background:rgb(0 0 0 / 42%);color:#fff;cursor:pointer;font-size:30px;line-height:1;place-items:center}.td-lightbox-close{top:18px;right:22px}.td-lightbox-prev,.td-lightbox-next{top:50%;transform:translateY(-50%)}.td-lightbox-prev{left:22px}.td-lightbox-next{right:22px}
.td-gallery--gucci{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}.td-gallery--gucci a{aspect-ratio:1.48/1}@media(max-width:1050px){.td-gallery--gucci{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.td-gallery--gucci{grid-template-columns:repeat(2,minmax(0,1fr))}}
:root{--td-bg:#090909;--td-panel:#0f0f10;--td-text:#f2f2f2;--td-muted:#a6a6aa;--td-line:#242429;--td-accent:#bf76ff;--td-accent-soft:#d7a9ff;--td-sidebar:216px}.td-three-d-project-links{display:flex;margin:1px 0 4px 12px;flex-direction:column;gap:3px}.td-three-d-project-links a{display:block;width:auto;min-height:0;padding:2px 0;border-radius:0;color:#8e8a90;font-size:11px;line-height:1.25}.td-three-d-project-links a:hover{background:transparent;color:var(--td-accent)}.td-three-d-project-links a.active{background:transparent;color:#fff;font-weight:600}
:root{--td-bg:#090909;--td-panel:#0f0f10;--td-text:#f2f2f2;--td-muted:#a6a6aa;--td-line:#242429;--td-accent:#bf76ff;--td-accent-soft:#d7a9ff;--td-sidebar:216px}.td-three-d-project-links{display:flex;margin:1px 0 4px 12px;flex-direction:column;gap:3px}.td-three-d-project-links a{display:block;width:auto;min-height:0;padding:2px 0;border-radius:0;color:#8e8a90;font-size:11px;line-height:1.25}.td-three-d-project-links a:hover{background:transparent;color:var(--td-accent)}.td-three-d-project-links a.active{background:transparent;color:#fff;font-weight:600}@media(max-width:720px){.td-three-d-project-links{display:none}}
.td-concept-credit{display:inline-block;margin:-8px 0 20px;color:var(--td-accent-soft);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.td-concept-credit:hover{color:#fff}
/* Unified Project Overview typography across all 3D project pages. */
.td-copy{font-size:16px;line-height:1.8}
.td-responsibilities div{font-size:16px;line-height:1.8}
.td-responsibilities div::before{top:50%;transform:translateY(-50%)}
body[data-project] .td-responsibilities div::before{top:50%;transform:translateY(-50%)}
body[data-project]{--td-accent:#8BAA7A;--td-accent-soft:#8BAA7A;background:radial-gradient(circle at 76% 5%,rgb(139 170 122 / 12%),transparent 24%),var(--td-bg)}.td-category-nav .active{background:#151a14}
body.ui-project-page{--td-accent:#8BAA7A;--td-accent-soft:#8BAA7A;background:radial-gradient(circle at 76% 5%,rgb(139 170 122 / 12%),transparent 24%),var(--td-bg)}body.ui-project-page .td-category-nav .active{background:#151a14}
body.ui-project-page .td-summary{max-width:none}
body.ui-project-page .ui-project-hero{display:block;margin-bottom:34px}body.ui-project-page .ui-artwork-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}body.ui-project-page .ui-artwork-gallery button{display:block;aspect-ratio:1/1;padding:0;overflow:hidden;border:1px solid var(--td-line);background:#111;cursor:zoom-in}body.ui-project-page .ui-artwork-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}body.ui-project-page .ui-artwork-gallery button:hover{border-color:var(--td-accent)}body.ui-project-page .ui-artwork-gallery button:hover img{filter:brightness(1.05);transform:scale(1.04)}.ui-project-lightbox{max-width:min(96vw,1800px);max-height:96vh;padding:0;border:0;background:transparent}.ui-project-lightbox::backdrop{background:rgb(0 0 0 / 88%)}.ui-project-lightbox img{display:block;max-width:96vw;max-height:96vh;width:auto;height:auto}.ui-project-lightbox button{position:fixed;top:18px;right:22px;display:grid;width:42px;height:42px;padding:0;border:1px solid rgb(255 255 255 / 45%);border-radius:50%;background:rgb(0 0 0 / 42%);color:#fff;cursor:pointer;font-size:30px;line-height:1;place-items:center}@media(max-width:1050px){body.ui-project-page .ui-artwork-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){body.ui-project-page .ui-artwork-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
body.ui-project-page .ui-artwork-gallery+.ui-artwork-gallery{margin-top:12px}
body.ui-project-page .ui-standalone-artwork{display:grid;margin-bottom:12px;gap:12px}body.ui-project-page .ui-standalone-artwork button{display:block;width:100%;max-height:760px;padding:0;overflow:hidden;border:1px solid var(--td-line);background:#111;cursor:zoom-in}body.ui-project-page .ui-standalone-artwork img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain}
body.ui-project-page .ui-gallery-video{width:min(100%,820px);margin:28px auto 0}body.ui-project-page .ui-gallery-video video{display:block;width:100%;height:auto;background:#111}
.td-gallery video{display:block;width:100%;height:100%;aspect-ratio:1.35/1;background:#111;object-fit:cover}
body[data-project] .td-copy{max-width:none}
.td-givenchy-videos{display:grid;margin-top:28px;grid-template-columns:1fr 1fr;gap:12px}.td-givenchy-videos video{display:block;width:100%;aspect-ratio:1.35/1;background:#111;object-fit:cover}@media(max-width:720px){.td-givenchy-videos{grid-template-columns:1fr}}
body[data-project] .td-three-d-project-links{gap:7px}
.three-d-nav-group{display:grid;width:150px;grid-template-columns:minmax(0,1fr) 28px;align-items:center}.three-d-nav-group>a{width:auto}.three-d-nav-toggle{display:grid;width:28px;height:28px;padding:0;border:0;background:transparent;color:currentColor;cursor:pointer;place-items:center}.three-d-nav-toggle::before{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;content:"";transform:rotate(45deg) translate(-2px,-2px);transition:transform 160ms ease}.three-d-nav-group.is-open .three-d-nav-toggle::before{transform:rotate(225deg) translate(-2px,-2px)}.three-d-nav-group>.td-three-d-project-links{display:none;grid-column:1/-1}.three-d-nav-group.is-open>.td-three-d-project-links{display:flex}
@media(min-width:721px){.three-d-nav-group.is-open>.td-three-d-project-links{margin-top:12px!important}}
/* Animations uses the same category-page shell as UI & Illustrations. */
body.animations-project-page .animation-media-stack{display:grid;gap:34px}
body.animations-project-page .ui-gallery-video{width:min(100%,820px);margin:0 auto}
@media(min-width:721px){body.animations-project-page .ui-gallery-video{width:100%}}
body.animations-project-page .ui-gallery-video figcaption{margin-top:12px;color:var(--td-muted);font-size:12px;text-align:center}
/* UI gallery lightbox navigation. */
.ui-project-lightbox{width:min(96vw,1800px);height:96vh;overflow:hidden}
.ui-project-lightbox:not([open]){display:none}
.ui-lightbox-open,.ui-lightbox-open body{overflow:hidden}
.ui-project-lightbox img{position:fixed;top:50%;left:50%;width:40vw;height:40vh;max-width:96vw;max-height:96vh;margin:0;cursor:zoom-in;object-fit:contain;object-position:center;transform:translate(-50%,-50%);transition:transform 180ms ease}
.ui-project-lightbox img.is-large-gallery-image{width:68vw;height:68vh}
.ui-project-lightbox img.is-double-size-gallery-image{width:80vw;height:80vh}
.ui-project-lightbox img.is-zoomed{cursor:zoom-out;transform:translate(-50%,-50%) scale(1.18)}
@media(max-width:720px){.ui-project-lightbox img.is-mobile-large-gallery-image{width:68vw;height:68vh}.ui-project-lightbox img.is-mobile-medium-gallery-image{width:48vw;height:48vh}.ui-project-lightbox img.is-mobile-second-row-third-image{width:72vw;height:72vh}.ui-project-lightbox img.is-mobile-double-gallery-image{width:80vw;height:80vh}}
.ui-project-lightbox .ui-project-lightbox-prev,.ui-project-lightbox .ui-project-lightbox-next{top:50%;right:auto;transform:translateY(-50%)}
.ui-project-lightbox .ui-project-lightbox-prev{left:22px}
.ui-project-lightbox .ui-project-lightbox-next{right:22px;left:auto}
@media(max-width:720px){html,body{max-width:100%;overflow-x:hidden}.td-content,.td-project,.td-hero-copy,.td-summary{min-width:0}.td-hero h1{overflow-wrap:anywhere}.td-tag{max-width:100%;overflow-wrap:anywhere}.td-lightbox-prev{left:10px}.td-lightbox-next{right:10px}.td-lightbox-close{top:10px;right:10px}}
@media(max-width:720px){.td-sidebar .td-main-nav,.td-sidebar .td-category-nav,.td-sidebar .td-rule{display:none}.td-sidebar .mobile-nav-toggle{position:absolute;top:18px;right:18px;display:grid;width:40px;height:40px;padding:0;border:1px solid #38363b;border-radius:50%;background:#111114;color:#f4f2ef;cursor:pointer;place-content:center;gap:4px}.td-sidebar .mobile-nav-toggle span{display:block;width:15px;height:1px;background:currentColor;transition:transform 160ms ease,opacity 160ms ease}.td-sidebar.is-mobile-nav-open .td-category-nav{position:absolute;z-index:20;top:70px;right:18px;display:flex;width:170px;margin:0;padding:10px;border:1px solid #38363b;border-radius:10px;background:#111114;box-shadow:0 12px 28px rgb(0 0 0 / 35%);flex-direction:column;flex-wrap:nowrap;align-items:flex-start}.td-sidebar.is-mobile-nav-open .td-category-nav>a,.td-sidebar.is-mobile-nav-open .td-category-nav>.three-d-nav-group{width:150px}.td-sidebar.is-mobile-nav-open .mobile-nav-toggle span:first-child{transform:translateY(5px) rotate(45deg)}.td-sidebar.is-mobile-nav-open .mobile-nav-toggle span:nth-child(2){opacity:0}.td-sidebar.is-mobile-nav-open .mobile-nav-toggle span:last-child{transform:translateY(-5px) rotate(-45deg)}}
