@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--bg:#f8f8f4;--ink:#242923;--muted:#696e65;--line:#dcded5;--accent:#405c3b;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:#dce5cd}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:500;line-height:1.15}em{font-family:var(--serif);font-weight:400}h1{font-size:clamp(58px,7.5vw,104px);letter-spacing:-5px;line-height:.99}h2{font-size:34px;letter-spacing:-1.2px}h3{font-size:23px;letter-spacing:-.6px}p{color:var(--muted)}.wrap{width:calc(100% - 112px);max-width:1160px;margin:0 auto}.site-header{height:106px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:40px}.brand{font-size:36px;letter-spacing:-3px;font-weight:650;line-height:1}.brand span{color:#759163}.site-header nav{display:flex;gap:32px;margin-left:auto;font-size:14px}.site-header nav a{padding:10px 0;color:var(--muted)}.site-header nav a[aria-current],.site-header nav a:hover{color:var(--ink)}.site-header nav a[aria-current]:after{content:'';display:block;height:3px;width:3px;background:var(--accent);border-radius:50%;margin:4px auto -7px}.header-contact{font-size:14px;border-left:1px solid var(--line);padding-left:32px}.header-contact span{margin-left:14px}.hero{padding-top:77px;padding-bottom:40px}.hero-eyebrow,.eyebrow{font-size:10px;font-weight:550;letter-spacing:1.7px;line-height:1.6}.eyebrow{display:block;color:var(--muted)}.hero-eyebrow{display:flex;align-items:center;gap:9px;color:#535d4c}.status-dot{width:6px;height:6px;border-radius:50%;background:#6b8258}.hero-location{margin-left:auto;color:var(--muted)}.hero h1{margin-top:35px}.hero h1 em{color:#68725f;letter-spacing:-3px}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-top:36px}.hero-bottom p{font-size:17px;max-width:510px;line-height:1.65}.button{border:1px solid var(--line);background:transparent;padding:13px 22px;display:inline-flex;align-items:center;gap:30px;font-size:13px;border-radius:4px;cursor:pointer;white-space:nowrap;transition:background .2s,transform .2s}.button:hover{background:#e9eddf;transform:translateY(-2px)}.button.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.button.dark:hover{background:#40533b}.hero-notes{display:flex;gap:24px;margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.hero-notes span+span:before{content:'·';margin-right:24px;color:#98a28c}.section{padding:55px 0 80px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:13px}.section-heading h2{font-size:28px}.section-aside{font-size:12px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.project-art{position:relative;height:320px;overflow:hidden;border-radius:5px;transition:filter .25s}.art-link{display:block}.art-link:hover .project-art{filter:brightness(.97)}.art-caption{position:absolute;top:25px;left:26px;font-size:8px;letter-spacing:1.6px;font-weight:550;color:#526048}.art-foot{position:absolute;bottom:22px;left:26px;font-size:8px;letter-spacing:1.3px;color:#526048}.parking-art{background:#e5eadd}.parking-diagram{display:flex;align-items:center;justify-content:center;gap:23px;height:100%;padding:40px 28px}.parking-sign{height:166px;width:108px;flex-shrink:0;border:2px solid #506e48;outline:5px solid #fdfdf8;background:#fdfdf8;color:#35633b;border-radius:5px;display:flex;align-items:center;flex-direction:column;justify-content:center;transform:rotate(-7deg);box-shadow:8px 12px 25px #2d452517}.parking-sign>b{font-size:55px;line-height:1;font-weight:600;letter-spacing:-4px}.parking-sign>span{font-size:16px;font-weight:650;line-height:1.4}.parking-sign .small{font-size:9px;vertical-align:super}.parking-sign strong{font-size:12px}.parking-sign .sign-arrow{font-size:35px;line-height:1}.diagram-connector{color:#809176;font-size:28px}.interpretation{max-width:185px}.tiny-label{font-size:8px;letter-spacing:1.4px;display:block;color:#687a5d;margin-bottom:12px}.interpretation strong{font-family:var(--serif);font-size:29px;font-weight:400;line-height:1.07;display:block;color:#364a31}.interpretation-foot{font-size:9px;display:block;margin-top:16px;color:#687a5d}.droid-art{background:#e9e7ef}.droid-art .art-caption,.droid-art .art-foot{color:#71697f}.agent-diagram{display:flex;align-items:center;justify-content:center;gap:13px;padding:96px 15px 0}.agent-input{width:90px;height:97px;background:#f8f7fb;border:1px solid #d4cfdf;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 5px 10px #37284c05}.agent-input>span{font-size:31px;color:#6b617a;line-height:1.2}.agent-input small,.agent-output small{font-size:9px;margin-top:4px;color:#736a80}.agent-plus{color:#9c93aa}.agent-output{display:flex;flex-direction:column;align-items:center}.agent-output>span{font-size:43px;line-height:1;font-family:var(--serif);color:#5e506f}.droid-stats{display:flex;justify-content:center;gap:17px;margin-top:23px;font-size:9px;color:#786e88}.droid-stats span+span{border-left:1px solid #c8c2d0;padding-left:17px}.project-heading{display:flex;justify-content:space-between;align-items:center;margin:22px 0 7px}.project-heading h3 a:hover{text-decoration:underline;text-underline-offset:5px}.circle-link{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:16px}.circle-link:hover{background:#e3e9da}.project-card>p{font-size:14px;max-width:440px;line-height:1.6}.tags{display:flex;gap:7px;margin-top:17px;flex-wrap:wrap}.tags span{font-size:9px;letter-spacing:.2px;border:1px solid var(--line);padding:3px 9px;border-radius:3px;color:var(--muted)}.research-strip{margin-top:36px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:25px}.research-symbol{font-family:var(--serif);font-size:48px;color:#8a795d;background:#eeebe3;width:76px;height:76px;border-radius:5px;display:grid;place-items:center;flex-shrink:0}.research-strip .eyebrow{font-size:8px;margin-bottom:7px}.research-strip h3{font-size:21px}.research-strip p{font-size:12px;margin-top:6px}.strip-year{font-size:12px;color:var(--muted);margin-left:auto}.research-strip:hover h3{text-decoration:underline;text-underline-offset:5px}.row-arrow{font-size:23px;font-weight:400}.about-band{background:#efefe8;border-top:1px solid #e5e6dd;border-bottom:1px solid #e5e6dd}.about-teaser{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:68px;padding-bottom:68px}.about-teaser h2{font-size:44px;line-height:1.15;margin-top:20px}.about-teaser em{color:#65705c}.about-teaser p{font-size:15px;margin-bottom:20px}.text-link{font-size:13px;display:inline-flex;align-items:center;gap:16px;line-height:1.6}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.writing-row{display:flex;gap:35px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.writing-row time{font-size:12px;color:var(--muted);align-self:start;padding-top:3px}.writing-row h3{font-size:18px;line-height:1.4;letter-spacing:-.4px}.writing-row div>span{font-size:10px;color:var(--muted);display:block;margin-top:6px}.writing-row i{font-style:normal;padding:0 8px}.writing-row>.row-arrow{margin-left:auto;color:#78816f}.writing-row:hover h3{color:var(--accent)}.archive-note{font-size:11px;margin-top:20px}.contact-section{border-top:1px solid var(--line);padding:64px 0 85px}.contact-section h2{font-size:64px;letter-spacing:-2.5px;line-height:1.06;margin-top:25px}.contact-section em{color:#68725f}.contact-link{font-size:16px;display:inline-flex;gap:30px;margin-top:30px;border-bottom:1px solid #a7b19b;padding-bottom:7px}footer{border-top:1px solid var(--line);padding-top:33px;padding-bottom:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}.footer-name{font-size:14px;font-weight:550}.footer-name span{font-size:11px;color:var(--muted);margin-left:9px;font-weight:400}footer p{font-size:11px;margin-top:7px}.footer-links{display:flex;gap:23px;align-items:start}.footer-links a{font-size:11px}.footer-bottom{width:100%;display:flex;justify-content:space-between;color:#7c8176;font-size:10px;margin-top:26px;padding-top:19px;border-top:1px solid var(--line)}.page-intro{padding-top:75px;padding-bottom:60px}.page-intro h1{font-size:76px;margin:25px 0 28px;letter-spacing:-3px}.page-intro h1 em{color:#68725f}.page-intro>p{max-width:620px;font-size:17px}.filter-bar{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-bottom:23px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:transparent;padding:7px 16px;font-size:12px;border-radius:30px;cursor:pointer;color:var(--muted)}.filter.active{background:var(--ink);border-color:var(--ink);color:white}.filter-bar>span{margin-left:auto;font-size:11px;color:var(--muted)}.writing-list{padding-bottom:85px}.writing-row[hidden]{display:none}.bio-grid{display:grid;grid-template-columns:220px 1fr;gap:70px;padding-bottom:40px}.avatar{border-radius:50%;filter:grayscale(.25)}.small-note{font-size:12px;line-height:1.6;margin-top:20px;margin-bottom:18px}.prose{font-size:16px;line-height:1.85;min-width:0;overflow-wrap:anywhere}.prose h2{font-size:30px;letter-spacing:-.8px;margin:40px 0 18px;line-height:1.3}.prose h2:first-child{margin-top:0}.prose h1{font-size:36px;letter-spacing:-1px;line-height:1.3;margin:36px 0 18px}.prose h3{font-size:23px;margin:30px 0 16px;line-height:1.4}.prose h4{font-size:19px;margin-top:26px}.prose p{margin-bottom:20px}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.prose ul,.prose ol{padding-left:25px;color:var(--muted);margin:20px 0}.prose img{margin:28px auto;max-height:650px;object-fit:contain}.prose pre{background:#edeee7;padding:20px;overflow:auto;max-width:100%;font-size:12px;line-height:1.7}.prose code{font-size:.85em}.prose table{border-collapse:collapse;display:block;overflow-x:auto;max-width:100%;margin:24px 0;font-size:13px}.prose th,.prose td{border:1px solid var(--line);padding:9px 12px}.prose blockquote{border-left:2px solid #9eae8e;padding:2px 0 2px 22px;margin:26px 0}.timeline-row{display:grid;grid-template-columns:130px 1fr;gap:20px;border-top:1px solid var(--line);padding:27px 0}.timeline-row>span{font-size:12px;color:var(--muted)}.timeline-row h3{font-size:20px;line-height:1.3}.timeline-row h4{font-size:13px;color:var(--accent);margin:8px 0 10px}.timeline-row p{font-size:14px}.personal-section{padding:50px 0 80px;border-top:1px solid var(--line)}.personal-section h2{font-size:48px;margin:23px 0}.personal-section>p{max-width:550px;margin-bottom:25px}.creative-row{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:45px 0;border-top:1px solid var(--line);align-items:center}.creative-row h2{margin:18px 0}.creative-row p{font-size:15px;margin-bottom:20px}.creative-list{padding-bottom:70px}.link-stack{display:flex;flex-direction:column;align-items:start;gap:15px}.film-tile{background:#e5e7dd;padding:35px;min-height:240px;position:relative;border-radius:4px}.film-tile>span:first-child{font-family:var(--serif);font-size:65px}.film-tile>p{font-size:10px;letter-spacing:3px}.film-icon{position:absolute;bottom:30px;right:35px;color:#69765d;font-size:20px}.creative-photo{background:#f0f0eb;padding:20px;border-radius:4px}.logo-photo img{max-height:220px;margin:auto;object-fit:contain}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.photo-grid img{height:260px;width:100%;object-fit:cover;border-radius:4px}.case-intro{padding:45px 0 50px}.back-link{display:block;font-size:12px;color:var(--muted);margin-bottom:50px}.case-intro>.eyebrow{margin-bottom:22px}.case-intro h1{font-size:80px;letter-spacing:-3px}.case-intro>p{font-size:20px;max-width:650px;margin-top:22px}.case-visual .project-art{height:400px}.case-visual .parking-diagram{transform:scale(1.25)}.case-visual .agent-diagram{padding-top:120px;transform:scale(1.3)}.case-visual .droid-stats{margin-top:50px}.case-body{display:grid;grid-template-columns:240px 1fr;gap:75px;padding:65px 0}.case-facts>div{margin-bottom:30px}.case-facts .eyebrow{font-size:9px}.case-facts p{font-size:14px;margin-top:7px}.case-facts .text-link{font-size:12px}.callout{background:#eeefe7;padding:26px 30px;border-left:2px solid #91a17b;margin:30px 0}.callout>span{font-size:9px;letter-spacing:1.5px;color:#758265}.callout>p{color:var(--ink);font-size:20px;line-height:1.5;margin:10px 0 0}.case-end{padding-bottom:65px;display:flex;justify-content:space-between}.device-art{background:#e9e8e0}.device-diagram{display:flex;align-items:center;justify-content:center;height:100%;gap:40px;color:#78735b}.device-diagram>span{font-size:15px}.device-diagram>b{font-weight:400}.device-core{width:130px;height:180px;border:2px solid #9b977d;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;background:#f6f5ef;box-shadow:10px 10px 0 #dddbce}.device-core strong{font-size:36px;font-family:var(--serif);font-weight:400}.cv-chinese{display:block;font-size:27px;letter-spacing:1px;margin-top:25px;color:var(--muted)}.cv-actions{display:flex;align-items:center;gap:30px;margin-bottom:50px}.cv-content{padding-bottom:60px}.cv-block{display:grid;grid-template-columns:220px 1fr;gap:30px;border-top:1px solid var(--line);padding:30px 0}.cv-block>h2{font-size:19px;letter-spacing:-.4px}.cv-block h3{font-size:19px}.cv-block p{font-size:14px;line-height:1.8;margin-top:10px}.cv-block .timeline-row:first-child{border-top:0;padding-top:0}.cv-block .timeline-row{grid-template-columns:90px 1fr}.education h3:not(:first-child){margin-top:25px}.article-shell{max-width:820px;padding-top:45px;padding-bottom:80px}.article-heading h1{font-size:45px;line-height:1.3;letter-spacing:-1.5px;margin:20px 0}.article-heading>p{font-size:12px}.article-heading>p span{margin:0 10px}.archive-banner{font-size:11px;background:#edeee7;padding:12px 18px;margin:30px 0 38px;color:var(--muted)}.article-back{margin-top:40px}.error-links{display:flex;gap:25px;align-items:center;padding-bottom:80px}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:10px 20px;z-index:99}.skip:focus{top:10px}
@media(min-width:1500px){.hero h1{font-size:112px}.hero{padding-top:95px}.project-art{height:345px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}h1{letter-spacing:-3px}.hero{padding-top:55px}.hero h1{font-size:88px}.hero-bottom{gap:35px}.hero-bottom p{font-size:16px;max-width:470px}.section-aside{display:none}.project-art{height:280px}.parking-diagram{gap:15px;padding:35px 18px}.parking-sign{width:85px;height:145px}.parking-sign>b{font-size:46px}.interpretation strong{font-size:25px}.agent-diagram{gap:8px;padding-top:82px}.agent-input{width:73px;height:85px}.agent-output>span{font-size:36px}.art-caption{font-size:7px;left:20px}.art-foot{left:20px}.project-grid{gap:22px}.about-teaser{gap:40px}.about-teaser h2{font-size:39px}.bio-grid{grid-template-columns:170px 1fr;gap:40px}.case-body{grid-template-columns:190px 1fr;gap:45px}.creative-row{gap:40px}.cv-block{grid-template-columns:170px 1fr}.page-intro h1{font-size:66px}}
@media(max-width:680px){.wrap{width:calc(100% - 40px)}.site-header{height:82px;gap:20px}.brand{font-size:31px}.site-header nav{gap:21px;font-size:12px}.header-contact{display:none}.hero{padding-top:44px;padding-bottom:15px}.hero-eyebrow{font-size:8px;letter-spacing:1.2px}.hero-location{font-size:7px;letter-spacing:.6px}.hero h1{font-size:clamp(56px,12vw,78px);letter-spacing:-3px;margin-top:30px}.hero h1 em{letter-spacing:-2px}.hero-bottom{display:block;margin-top:28px}.hero-bottom p{font-size:15px}.hero-bottom .button{margin-top:24px}.hero-notes{gap:12px;font-size:9px;margin-top:32px;padding-top:18px}.hero-notes span+span:before{margin-right:12px}.section{padding:40px 0 55px}.section-heading{gap:20px;align-items:start;margin-bottom:25px}.section-heading h2{font-size:25px;line-height:1.2;letter-spacing:-.8px}.section-heading>.text-link{font-size:11px;white-space:nowrap;gap:7px;margin-top:28px}.eyebrow{font-size:9px;letter-spacing:1.3px}.project-grid{grid-template-columns:1fr;gap:35px}.project-art{height:290px}.parking-diagram{gap:24px}.parking-sign{width:100px;height:156px}.interpretation strong{font-size:29px}.agent-diagram{gap:12px;padding-top:88px}.agent-input{width:83px;height:91px}.project-heading{margin-top:17px}.project-card>p{font-size:13px}.research-strip{gap:15px;margin-top:28px;padding:22px 0}.research-symbol{width:52px;height:65px;font-size:36px}.research-strip h3{font-size:18px}.research-strip p{font-size:11px}.research-strip .eyebrow{font-size:7px}.strip-year{display:none}.research-strip .row-arrow{margin-left:auto}.about-teaser{grid-template-columns:1fr;gap:26px;padding:44px 0}.about-teaser h2{font-size:39px;margin-top:15px}.about-teaser p{font-size:14px;margin-bottom:16px}.writing-row{gap:17px;padding:22px 0}.writing-row h3{font-size:16px}.writing-row time{font-size:11px}.writing-row .row-arrow{font-size:18px}.contact-section{padding:45px 0 55px}.contact-section h2{font-size:47px;letter-spacing:-1.8px}.contact-link{font-size:14px;gap:15px}footer{padding-top:25px}.footer-links{gap:20px;margin-top:5px}.footer-bottom{font-size:9px;gap:15px;flex-wrap:wrap;margin-top:15px}.footer-bottom>span:nth-child(2){display:none}.page-intro{padding-top:45px;padding-bottom:38px}.page-intro h1{font-size:54px;letter-spacing:-2px;margin:22px 0}.page-intro>p{font-size:15px}.filter{padding:7px 12px;font-size:11px}.filter-bar{gap:6px}.filter-bar>span{font-size:10px}.writing-list{padding-bottom:50px}.bio-grid{grid-template-columns:1fr;gap:30px}.bio-grid aside{display:grid;grid-template-columns:85px 1fr;column-gap:20px;align-items:center}.bio-grid .avatar{width:85px;height:85px;grid-row:span 2}.bio-grid .small-note{margin:0;font-size:11px}.bio-grid aside>.text-link{font-size:11px}.prose{font-size:15px;line-height:1.85}.prose h2{font-size:26px}.timeline-row{grid-template-columns:80px 1fr;gap:15px;padding:23px 0}.timeline-row h3{font-size:18px}.timeline-row h4{font-size:12px}.timeline-row p{font-size:13px}.timeline-row>span{font-size:10px}.personal-section{padding:35px 0 50px}.personal-section h2{font-size:37px}.personal-section p{font-size:14px}.creative-row{grid-template-columns:1fr;gap:25px;padding:30px 0}.creative-row h2{font-size:30px}.creative-row p{font-size:14px}.photo-grid img{height:220px}.case-intro{padding-top:30px;padding-bottom:35px}.back-link{margin-bottom:35px;font-size:11px}.case-intro h1{font-size:54px;letter-spacing:-2.5px}.case-intro>p{font-size:16px}.case-visual .project-art{height:290px}.case-visual .parking-diagram{transform:none}.case-visual .agent-diagram{padding-top:88px;transform:none}.case-visual .droid-stats{margin-top:25px}.case-body{grid-template-columns:1fr;gap:20px;padding:35px 0}.case-facts{display:grid;grid-template-columns:1fr 1fr;gap:15px}.case-facts>div{margin-bottom:14px}.case-facts p{font-size:12px}.case-facts .eyebrow{font-size:8px}.callout{padding:20px}.callout>p{font-size:18px}.case-end{padding-bottom:45px;gap:20px}.case-end .text-link{font-size:11px}.device-diagram{gap:15px}.device-diagram>span{font-size:10px}.device-core{width:95px;height:150px;font-size:11px}.device-core strong{font-size:30px}.cv-actions{gap:20px;margin-bottom:35px}.cv-actions .text-link{font-size:11px}.cv-block{grid-template-columns:1fr;gap:20px;padding:25px 0}.cv-block .timeline-row{grid-template-columns:75px 1fr}.cv-chinese{font-size:24px}.article-shell{padding-top:30px}.article-heading h1{font-size:32px;letter-spacing:-.6px}.article-heading .eyebrow{font-size:9px}.prose h1{font-size:29px}.archive-banner{font-size:10px}.prose pre{padding:14px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:white;font-size:10pt;color:#111}.site-header,footer,.cv-actions,.skip{display:none}.wrap{width:100%;max-width:none}.page-intro{padding:0 0 20px}.page-intro h1{font-size:30pt;letter-spacing:-1px;margin:10px 0}.page-intro>p{font-size:10pt}.cv-chinese{display:inline;font-size:16pt;margin-left:15px}.cv-content{padding:0}.cv-block{grid-template-columns:130px 1fr;gap:20px;padding:15px 0}.cv-block>h2{font-size:12pt}.cv-block h3,.timeline-row h3{font-size:11pt}.cv-block p,.timeline-row p{font-size:9pt;margin-top:5px}.timeline-row{padding:10px 0;break-inside:avoid}.cv-block .timeline-row{grid-template-columns:75px 1fr}.timeline-row h4{font-size:9pt;margin:4px 0}.education h3:not(:first-child){margin-top:15px}.link-stack{gap:8px}.text-link{font-size:9pt}.cv-block .text-link{display:block}.eyebrow{font-size:8pt}@page{size:A4;margin:15mm}}
/* The full portfolio keeps technical and creative work equally discoverable. */
.portfolio-index{display:flex;gap:28px;padding:0 0 25px;border-bottom:1px solid var(--line);flex-wrap:wrap}.portfolio-index a{font-size:13px;display:inline-flex;gap:12px;align-items:center}.portfolio-index a:hover{color:var(--accent)}.portfolio-index a>span{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:0 6px}.portfolio-section{scroll-margin-top:30px}.creative-row h3{font-size:34px;letter-spacing:-1.2px;margin:18px 0 10px}.creative-row .project-original-title{font-size:12px;color:var(--accent);margin-bottom:18px;letter-spacing:.6px}.interviews-tile{background:#e9e7ef}.yanan-tile{background:#ece5da}.film-tile{display:block;transition:background .2s}.film-tile:hover{filter:brightness(.97)}.portfolio-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.portfolio-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px}.poster-photo img{max-height:310px;object-fit:contain;margin:auto}
@media(max-width:680px){.portfolio-index{gap:14px 22px}.portfolio-index a{font-size:12px;gap:8px}.creative-row h3{font-size:30px}.portfolio-gallery{gap:7px}.site-header nav{gap:17px}}
@media(max-width:360px){.site-header nav{gap:12px;font-size:11px}.site-header{gap:14px}}

/* Original landscape mark, kept at its native scale for a crisp small logo. */
.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand img{width:40px;height:40px;border-radius:9px}
@media(max-width:680px){.brand img{width:34px;height:34px;border-radius:8px}}
