:root{color-scheme:dark;--bg: #100f0d;--bg-soft: #171512;--bg-panel: #1d1a16;--text: #f4efe7;--text-soft: #c9bda9;--text-muted: #8f8577;--line: #38332c;--line-bright: #766a5b;--accent: #d5b17b;--accent-soft: #a56d4b;--shadow: rgba(0, 0, 0, .5);--max-width: 1420px}*{box-sizing:border-box}html{min-width:320px;background:var(--bg);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text);font-family:Segoe UI,Arial,sans-serif;letter-spacing:0}body::selection{background:var(--accent);color:#17120d}a,button{color:inherit;font:inherit}a{text-decoration:none}button{border:0;background:transparent;cursor:pointer}img,video{display:block;max-width:100%}:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.site-main:focus{outline:none}.media{width:100%;height:100%;object-fit:cover;background:#201d18}.navigation-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:72px;padding:0 4vw;background:#100f0deb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.navigation ul{display:flex;align-items:center;gap:clamp(1.1rem,2vw,2.4rem);margin:0;padding:0;list-style:none}.navigation a{display:inline-flex;align-items:center;min-height:40px;color:var(--text-muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;transition:color .18s ease}.navigation a:hover,.navigation a[aria-current=page]{color:var(--text)}.nav-mark{color:var(--text)!important;font-family:Georgia,Times New Roman,serif;font-size:1.05rem!important;letter-spacing:.03em!important;text-transform:none!important}body:has(.work-page) .navigation-top,body:has(.experiments-page) .navigation-top,body:has(.about-page) .navigation-top{min-height:112px}body:has(.work-page) .navigation-top ul,body:has(.experiments-page) .navigation-top ul,body:has(.about-page) .navigation-top ul{gap:clamp(1.6rem,3vw,4rem)}body:has(.work-page) .navigation-top a,body:has(.experiments-page) .navigation-top a,body:has(.about-page) .navigation-top a{min-height:72px;font-size:clamp(1.56rem,1.9vw,1.75rem)}body:has(.work-page) .navigation-top .nav-mark,body:has(.experiments-page) .navigation-top .nav-mark,body:has(.about-page) .navigation-top .nav-mark{font-size:2.1rem!important}.home-shell{min-height:100svh;display:grid;grid-template-columns:minmax(260px,28vw) minmax(0,1fr);background:var(--bg)}.home-intro{display:flex;flex-direction:column;justify-content:flex-start;gap:3rem;min-width:0;padding:clamp(2rem,4vw,4.5rem);background:#12110f;border-right:1px solid var(--line)}.home-intro h1,.page-heading h1,.detail-header h1,.not-found h1{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:0}.home-intro h1{font-size:clamp(2.2rem,3.5vw,3.4rem);font-weight:400;line-height:1;white-space:nowrap}.home-role{margin:2rem 0 0;color:var(--text);font-size:clamp(.83rem,1.33vw,1.2rem)}.home-summary{max-width:22rem;margin:1rem 0 0;color:var(--text-soft);font-size:clamp(.78rem,1.05vw,.98rem);line-height:1.55}.navigation-home ul{display:grid;align-items:start;gap:.65rem}.navigation-home{margin-top:clamp(4rem,16vh,9rem)}.navigation-home a{min-height:58px;font-size:clamp(1.5rem,1.9vw,1.75rem);letter-spacing:.06em}.home-visuals{display:grid;grid-template-rows:40fr 60fr;min-height:100svh}.home-bottom-row{display:grid;grid-template-columns:56fr 44fr;min-width:0}.home-visual-panel{position:relative;display:block;min-height:0;overflow:hidden;isolation:isolate;background:#211e1a}.home-visual-panel:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;content:"";background:linear-gradient(180deg,#0000001f,#0000007a),linear-gradient(90deg,rgba(0,0,0,.28),transparent 55%)}.home-visual-panel .media{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .7s ease,filter .3s ease}.panel-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:#0000;transition:background .26s ease}.panel-copy{position:absolute;left:clamp(1.2rem,3vw,3rem);bottom:clamp(1.2rem,3vw,3rem);z-index:4;display:grid;gap:.7rem;max-width:min(34rem,calc(100% - 2.4rem))}.panel-title{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.2rem,2.3vw,2.6rem);line-height:.96;transition:transform .26s ease,color .26s ease}.panel-description{max-width:30rem;color:var(--text-soft);font-size:clamp(.9rem,1vw,1rem);line-height:1.45;opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}.home-visual-panel:hover .media,.home-visual-panel:focus-visible .media{transform:scale(1.035)}.home-visual-panel:hover .panel-shade,.home-visual-panel:focus-visible .panel-shade{background:#00000038}.home-visual-panel:hover .panel-title,.home-visual-panel:focus-visible .panel-title{color:#fffaf2;transform:translateY(-2px)}.home-visual-panel:hover .panel-description,.home-visual-panel:focus-visible .panel-description{opacity:1;transform:translateY(0)}.home-visuals:has(.home-visual-panel:hover) .home-visual-panel:not(:hover) .media{filter:brightness(.68) saturate(.84)}.page{width:min(var(--max-width),calc(100% - 8vw));margin:0 auto;padding:clamp(4rem,8vw,7rem) 0}.page-narrow{width:min(820px,calc(100% - 8vw))}.page-heading{margin-bottom:clamp(2.4rem,6vw,5rem)}.page-heading h1,.detail-header h1,.not-found h1{font-size:clamp(3.6rem,9vw,9rem);line-height:.88}.eyebrow{margin:0 0 .8rem;color:var(--accent);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.category-timeline{position:sticky;top:72px;z-index:15;margin:0 0 clamp(3rem,6vw,6rem);padding:1.1rem 0 1.45rem;background:linear-gradient(180deg,#100f0dfa,#100f0de6)}body:has(.work-page) .category-timeline{top:112px}.category-timeline ul{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0;padding:0;list-style:none}.timeline-line{position:absolute;left:0;right:0;top:1.68rem;height:1px;background:var(--line)}.category-timeline li{position:relative}.category-timeline button{display:grid;gap:.75rem;width:100%;color:var(--text-muted);text-align:left;transition:color .18s ease}.category-timeline button:hover,.category-timeline button.is-active{color:var(--text)}.timeline-dot{width:11px;height:11px;border:1px solid currentColor;border-radius:50%;background:var(--bg);transition:background .18s ease,border-color .18s ease}.category-timeline button.is-active .timeline-dot{background:var(--text);border-color:var(--text)}.timeline-label{max-width:18rem;font-size:clamp(1.56rem,2.2vw,1.9rem);line-height:1.2}.work-sections{display:grid;gap:clamp(5rem,11vw,10rem)}.work-section{padding-top:clamp(2rem,4vw,4rem);scroll-margin-top:240px}.section-label-row{display:flex;align-items:end;justify-content:flex-start;gap:2rem;margin-bottom:clamp(1.4rem,3vw,2.4rem);border-bottom:1px solid var(--line);padding-bottom:1rem}.section-label-row h2{margin:0;color:var(--accent);font-family:Segoe UI,Arial,sans-serif;font-size:clamp(.67rem,1.47vw,1.83rem);font-weight:400;letter-spacing:.14em;line-height:1.2}.section-label-prefix{text-transform:uppercase}.section-label-name{font-size:1.33em}.project-grid{display:grid;gap:clamp(.8rem,1.4vw,1.4rem)}.project-grid-ai-assisted{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid-ai-explorations{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid-cg-work{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{display:grid;gap:.8rem;min-width:0}.project-card-featured{grid-column:1 / -1}.project-media-wrap{position:relative;display:block;overflow:hidden;aspect-ratio:16 / 10;background:var(--bg-panel)}.project-grid-ai-assisted .project-card-featured .project-media-wrap{aspect-ratio:21 / 9}.project-grid-ai-explorations .project-media-wrap{aspect-ratio:1 / 1}.project-grid-cg-work .project-media-wrap{aspect-ratio:16 / 11}.project-media-wrap .media{transition:transform .5s ease,filter .26s ease}.project-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;transition:background .22s ease}.project-hover-info{position:absolute;left:1rem;right:1rem;bottom:1rem;display:grid;gap:.28rem;opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}.project-hover-info span:first-child,.project-mobile-info span:first-child{color:var(--text);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.2rem,2.2vw,2.1rem)}.project-hover-info span:not(:first-child),.project-mobile-info span:not(:first-child){color:var(--text-soft);font-size:.83rem;line-height:1.35}.project-card:hover .project-media-wrap .media,.project-card:focus-visible .project-media-wrap .media{transform:scale(1.035);filter:brightness(.78)}.project-card:hover .project-overlay,.project-card:focus-visible .project-overlay{background:#00000047}.project-card:hover .project-hover-info,.project-card:focus-visible .project-hover-info{opacity:1;transform:translateY(0)}.project-mobile-info{display:none}.experiment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,1.4vw,1.4rem)}.experiment-tile{position:relative;display:block;overflow:hidden;aspect-ratio:4 / 5;background:var(--bg-panel)}.experiment-tile:nth-child(4n+1){aspect-ratio:16 / 11;grid-column:span 2}.experiment-overlay{position:absolute;inset:auto 0 0 0;display:grid;gap:.35rem;padding:1.2rem;background:linear-gradient(180deg,transparent,rgba(0,0,0,.62));opacity:0;transition:opacity .2s ease}.experiment-overlay span:first-child{font-family:Georgia,Times New Roman,serif;font-size:1.35rem}.experiment-overlay span:last-child{color:var(--text-soft);font-size:.8rem}.experiment-tile:hover .experiment-overlay,.experiment-tile:focus-visible .experiment-overlay{opacity:1}.about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1rem,4vw,4rem)}.about-layout section{border-top:1px solid var(--line);padding-top:1.5rem}.about-layout h2{margin:0 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.4rem,2.3vw,2.4rem);font-weight:400}.about-layout p,.about-layout li,.detail-text{color:var(--text-soft);font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.7}.about-layout ul{display:grid;gap:.45rem;margin:0;padding-left:1rem}.detail-header{display:grid;gap:1rem;margin-bottom:clamp(2rem,5vw,4rem)}.detail-header p:last-child{margin:0;color:var(--text-soft)}.detail-blocks{display:grid;gap:clamp(1rem,2vw,1.8rem)}.detail-media-wide{aspect-ratio:16 / 9;overflow:hidden;background:var(--bg-panel)}.detail-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,1.4vw,1.4rem)}.detail-media-grid .media{aspect-ratio:4 / 3}.detail-text{width:min(720px,100%);margin:clamp(.5rem,2vw,1.5rem) 0}.detail-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:clamp(3rem,7vw,6rem);border-top:1px solid var(--line);padding-top:1.2rem}.detail-nav a,.text-link{color:var(--text-soft);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;transition:color .18s ease}.detail-nav a:hover,.text-link:hover{color:var(--text)}.footer{display:flex;justify-content:space-between;gap:1rem;padding:2rem 4vw;border-top:1px solid var(--line);color:var(--text-muted);font-size:.8rem}.footer p{margin:0}.not-found{min-height:62vh}@media (max-width: 1100px){.home-shell{grid-template-columns:minmax(230px,26vw) minmax(0,1fr)}.project-grid-ai-explorations,.experiment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.navigation-top{position:static;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1.2rem 5vw}.navigation ul{flex-wrap:wrap;gap:.8rem 1.2rem}.navigation a{min-height:32px;font-size:.72rem}.home-shell{display:block;min-height:auto}.home-intro{min-height:46svh;padding:1.5rem 5vw 2rem;border-right:0;border-bottom:1px solid var(--line)}.home-intro h1{font-size:clamp(2.2rem,10vw,3.4rem)}.home-summary{max-width:28rem}.navigation-home{margin-top:clamp(2.5rem,8vh,4rem)}.navigation-home a{min-height:42px;font-size:clamp(1rem,4.2vw,1.2rem)}.home-visuals,.home-bottom-row{display:block;min-height:auto}.home-visual-panel{min-height:54svh}.home-visual-panel .media{position:absolute}.panel-description{opacity:1;transform:none}.panel-title{font-size:clamp(1.7rem,8vw,2.4rem)}.page{width:min(100% - 10vw,var(--max-width));padding:3.2rem 0}.page-heading{margin-bottom:2rem}.page-heading h1,.detail-header h1,.not-found h1{font-size:clamp(3.4rem,18vw,6rem)}.category-timeline{position:relative;top:auto;margin-bottom:2.4rem;overflow-x:auto}.category-timeline ul{min-width:620px}.work-section{scroll-margin-top:2rem}.section-label-row{display:grid;gap:.5rem}.project-grid,.project-grid-ai-assisted,.project-grid-ai-explorations,.project-grid-cg-work,.experiment-grid,.about-layout,.detail-media-grid{grid-template-columns:1fr}.project-grid-ai-assisted .project-card-featured .project-media-wrap,.project-media-wrap,.detail-media-wide{aspect-ratio:4 / 3}.project-hover-info{display:none}.project-mobile-info{display:grid;gap:.25rem}.experiment-tile,.experiment-tile:nth-child(4n+1){grid-column:auto;aspect-ratio:4 / 3}.experiment-overlay{opacity:1}.detail-nav{flex-direction:column}.footer{display:grid;padding:1.5rem 5vw}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
