:root{--bg:#f6f5f0;--ink:#172f2e;--blue:#2458db;--muted:#697471;--line:#d8ddd5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.7}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:5px}header{height:96px;display:flex;align-items:center;justify-content:space-between;max-width:1328px;padding:0 64px;margin:auto;background:var(--bg);position:sticky;top:0;z-index:5}.brand{font-size:21px;font-weight:700}.brand span{font-size:13px;font-weight:400;margin-left:12px}nav{display:flex;gap:30px;align-items:center;font-size:14px}.resume{border:1px solid var(--ink);padding:8px 16px;border-radius:3px}main,footer{max-width:1328px;margin:auto;padding:0 64px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding:74px 0 70px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;margin:0 0 24px;color:var(--muted)}h1{font-size:64px;line-height:1.35;letter-spacing:-3px;font-weight:600;margin:0 0 26px}h1 em{font-style:normal;color:var(--blue)}.intro{color:var(--muted);line-height:1.95;margin-bottom:30px}.actions{display:flex;gap:12px}.button{background:#173d3a;color:white;padding:12px 24px;border:1px solid #173d3a;border-radius:3px;font-size:14px}.outline{background:transparent;color:var(--ink)}.hero-art{padding:0;position:relative;border:0;background:#e9e6da;border-radius:3px;overflow:hidden;width:100%;text-align:left}.hero-art>img{display:block;width:100%;aspect-ratio:1.25;object-fit:contain;padding:25px}.hero-caption{display:flex;justify-content:space-between;background:#e1e4d9;padding:16px 22px;font-size:13px}.play{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;background:#f6f5f0ed;border-radius:50%;font-size:16px;color:var(--ink);box-shadow:0 3px 18px #0002}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;margin-bottom:108px}.stats>div{padding:0 36px;border-right:1px solid var(--line)}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats strong{font-size:42px;font-weight:500;letter-spacing:-1px}.stats p{font-size:13px;margin:2px 0;color:var(--muted)}h2{font-size:31px;line-height:1.5;font-weight:600;letter-spacing:-1px;margin:0}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.section-head .eyebrow{margin-bottom:12px}.section-head>p{font-size:14px;color:var(--muted)}.filters{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:36px;overflow:auto}.filters button{border:0;background:none;white-space:nowrap;padding:10px 0 14px;font-size:14px;color:var(--muted);border-bottom:2px solid transparent}.filters .active{color:var(--blue);border-color:var(--blue)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 32px}.card[hidden]{display:none}.media{display:block;position:relative;width:100%;padding:0;border:0;background:#e7e7de;overflow:hidden;border-radius:3px}.media img{width:100%;aspect-ratio:1.6;object-fit:contain;display:block;transition:transform .35s}.media:hover img{transform:scale(1.025)}.card[data-category=brand] .media{background:#e4e3da}.card .meta{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;color:var(--muted);margin:20px 0 7px}.card h3{font-size:21px;line-height:1.5;margin:0 0 8px;font-weight:600;display:flex;justify-content:space-between;gap:10px}.card p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.work{padding-bottom:110px}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:78px 0 90px}.about p{color:var(--muted);margin:0 0 18px}.about .eyebrow{font-size:11px}.about dl{font-size:14px;margin:28px 0}.about dt{font-weight:bold;margin-top:16px}.about dd{margin:3px 0;color:var(--muted)}.text-link{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:6px}.contact{padding:70px 0 80px;border-top:1px solid var(--line)}.contact h2{margin-bottom:24px}.contact>a{font-size:25px;color:var(--blue)}.contact>p:last-child{font-size:14px;color:var(--muted)}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;padding-bottom:28px;font-size:11px;color:var(--muted)}dialog{width:min(1050px,94vw);max-height:94vh;border:0;border-radius:4px;padding:20px;background:var(--bg);color:var(--ink)}dialog::backdrop{background:#0c1919dd}.viewer-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:16px}.viewer-head button{border:0;background:none;white-space:nowrap}#viewer-body{display:flex;justify-content:center;background:#121818}#viewer-body video{width:100%;max-height:70vh;display:block}#viewer-body img{max-width:100%;max-height:75vh;object-fit:contain}#viewer-desc{font-size:13px;color:var(--muted);margin-bottom:0}body.modal-open{overflow:hidden}@media(min-width:1500px){.hero{padding-top:95px;padding-bottom:90px}h1{font-size:68px}}@media(max-width:800px){header{padding:0 24px;height:78px}.brand span{display:none}nav{gap:16px;font-size:12px}.resume{padding:6px 10px}main,footer{padding-left:24px;padding-right:24px}.hero{grid-template-columns:1fr;gap:36px;padding:40px 0}h1{font-size:45px;letter-spacing:-2px}.hero-art>img{aspect-ratio:1.5}.stats{margin-bottom:64px;padding:24px 0}.stats>div{padding:0 16px}.stats strong{font-size:30px}.stats p{font-size:11px}.section-head{display:block}.section-head>p{margin-top:12px}h2{font-size:27px}.grid{gap:35px 20px}.card h3{font-size:18px}.card p{font-size:13px}.about{grid-template-columns:1fr;gap:30px;padding:55px 0}.work{padding-bottom:65px}.contact{padding:50px 0}.contact>a{font-size:20px}}@media(max-width:520px){.grid{grid-template-columns:1fr}.filters{gap:22px}.hero h1{font-size:40px}.stats strong{font-size:27px}.stats>div{padding:0 12px}.stats p{max-width:100px}.contact h2{font-size:25px}footer{gap:15px}.card .media img{aspect-ratio:1.5}}

header{height:84px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px}.monogram{font-size:28px;letter-spacing:-2px}.monogram span{color:var(--blue);font-size:22px;margin:0}.brand .brand-name{font-size:16px;font-weight:700;margin:0;line-height:1.45}.brand-name small{display:block;font-size:10px;color:var(--muted);font-weight:400;letter-spacing:1px}.hero-kicker{display:flex;justify-content:space-between;padding-top:36px;font-size:11px;letter-spacing:1px}.hero-kicker>span:last-child{color:var(--muted);letter-spacing:0}.hero{gap:56px;padding:38px 0 44px;grid-template-columns:1.05fr 1fr;min-height:540px}h1{font-size:57px;letter-spacing:-2px}.hero-art{border:1px solid #d9d6ce}.hero-art>img{height:350px;aspect-ratio:auto;padding:0;object-fit:contain;background:#eae6dd}.art-top{display:flex;justify-content:space-between;padding:14px 18px;font-size:10px;letter-spacing:1px;background:#eee9df}.art-top>span{font-size:10px;color:var(--muted);letter-spacing:0}.hero-caption{background:#eee9df;padding:16px 20px}.stats{margin-bottom:90px;padding:28px 0}.tools{border-top:1px solid var(--line);padding:68px 0 80px}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:35px}.tool-grid>div{border-top:1px solid var(--line);padding-top:22px}.tool-grid span{font-size:11px;color:var(--muted)}.tool-grid h3{font-size:19px;font-weight:500}.tool-grid p{font-size:14px;color:var(--muted)}@media(max-width:800px){header{padding:0 24px}.brand .brand-name{display:block}nav{gap:14px}nav a[href="#tools"]{display:none}.hero{grid-template-columns:1fr;padding:38px 0;min-height:0}.hero-kicker{padding-top:24px}.hero-kicker>span:last-child{display:none}.hero-art>img{height:300px}.hero h1{font-size:44px}.tool-grid{grid-template-columns:1fr}.stats{margin-bottom:65px}}@media(max-width:520px){.monogram{display:none}.hero h1{font-size:39px}nav{gap:12px}.brand .brand-name{font-size:15px}.hero-art>img{height:280px}}

/* Separate the video projects from the image gallery while retaining the original grid. */
.image-section{margin-top:100px;padding-top:48px;border-top:1px solid var(--line)}
.image-section .section-head{margin-bottom:30px}
.image-section[hidden],#projects[hidden]{display:none}
@media(max-width:800px){.image-section{margin-top:66px;padding-top:36px}}
