:root{--paper:#f1f4f8;--ink:#101217;--muted:#6f747e;--line:rgba(16,18,23,.16);--acid:#2457ff;--blue-deep:#1743c8;--gutter:clamp(18px,3.2vw,52px);--display:Arial,"Helvetica Neue","Segoe UI","Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif;--cjk:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Noto Sans SC",sans-serif;--mono:"Courier New","Cascadia Mono","Noto Sans Mono CJK SC",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--display);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.noise{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.mono{font-family:var(--mono);font-size:11px;letter-spacing:.04em}.site-header{height:90px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.1fr 2fr 1.1fr;align-items:center;padding:0 var(--gutter);position:relative;z-index:10}.wordmark{font-size:18px;font-weight:900;line-height:.8;letter-spacing:-.07em;width:max-content}.dot{color:#8fb700}.site-nav{justify-self:center;display:flex;gap:clamp(20px,4vw,68px);font-size:13px}.site-nav a{padding:10px 0;color:var(--muted);position:relative}.site-nav a span{font:9px var(--mono);vertical-align:top;margin-right:4px}.site-nav a.active,.site-nav a:hover{color:var(--ink)}.site-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--ink)}.header-meta{text-align:right;font:9px/1.45 var(--mono);letter-spacing:.06em}.menu-toggle{display:none;background:none;border:0;font:11px var(--mono)}
.grid-frame{background-image:linear-gradient(to right,transparent calc(25% - .5px),var(--line) 25%,transparent calc(25% + .5px)),linear-gradient(to right,transparent calc(50% - .5px),var(--line) 50%,transparent calc(50% + .5px)),linear-gradient(to right,transparent calc(75% - .5px),var(--line) 75%,transparent calc(75% + .5px)),linear-gradient(to bottom,transparent calc(50% - .5px),var(--line) 50%,transparent calc(50% + .5px))}.hero{min-height:calc(100vh - 90px);padding:36px var(--gutter) 28px;position:relative;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto 1fr auto;overflow:hidden}.hero-kicker{grid-column:1/3;align-self:start}.hero-title{grid-column:1/4;align-self:center;margin:30px 0 0;font-size:clamp(56px,9.1vw,150px);font-weight:900;line-height:.78;letter-spacing:-.075em;position:relative;z-index:2}.hero-title em,.page-hero h1 em,.contact-hero h1 em{font-style:normal;color:var(--paper);-webkit-text-stroke:2px var(--ink)}.hero-intro{grid-column:3/5;grid-row:2;align-self:end;padding:0 3vw 36px;position:relative;z-index:3}.hero-intro p{font-size:clamp(20px,2.2vw,35px);font-weight:500;line-height:1.02;letter-spacing:-.04em;margin:0 0 28px}.intro-tags{line-height:1.7}.marker{position:absolute;color:#8fb700;font-family:"Segoe Print","Bradley Hand",cursive;font-style:italic;transform:rotate(-6deg);white-space:nowrap}.marker-a{font-size:clamp(23px,3vw,44px);top:-64px;left:2vw}.marker-a:after,.marker-b:after,.marker-c:after,.marker-d:after{content:"";display:block;border-top:3px solid var(--acid);width:105%;transform:rotate(-2deg);margin-top:-3px}.scroll-cue{align-self:end;display:flex;gap:18px}.scroll-cue span{font-size:18px}.hero-orbit{position:absolute;right:12px;top:15%;width:240px;height:240px;border:1px solid var(--line);border-radius:50%;opacity:.65}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;inset:30px;border:1px solid var(--line);border-radius:50%}.hero-orbit:after{inset:75px}.hero-orbit span{position:absolute;font:9px var(--mono)}.hero-orbit span:nth-child(1){top:10px;left:90px}.hero-orbit span:nth-child(2){right:5px;top:112px}.hero-orbit span:nth-child(3){bottom:15px;left:60px}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;filter:saturate(.75) contrast(1.05)}
.hero-video-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(90deg,rgba(241,244,248,.82) 0%,rgba(241,244,248,.42) 48%,rgba(36,87,255,.12) 100%),linear-gradient(to right,transparent calc(25% - .5px),rgba(16,18,23,.18) 25%,transparent calc(25% + .5px)),linear-gradient(to right,transparent calc(50% - .5px),rgba(16,18,23,.18) 50%,transparent calc(50% + .5px)),linear-gradient(to right,transparent calc(75% - .5px),rgba(16,18,23,.18) 75%,transparent calc(75% + .5px)),linear-gradient(to bottom,transparent calc(50% - .5px),rgba(16,18,23,.18) 50%,transparent calc(50% + .5px))}
.hero>.hero-kicker,.hero>.scroll-cue{position:relative;z-index:2}.hero>.hero-orbit{z-index:2}
.sound-toggle{position:absolute;z-index:4;top:30px;right:var(--gutter);display:flex;align-items:center;gap:10px;border:1px solid rgba(16,18,23,.35);background:rgba(241,244,248,.72);backdrop-filter:blur(8px);padding:9px 12px;cursor:pointer}.sound-toggle:hover,.sound-toggle[aria-pressed="true"]{background:var(--acid);border-color:var(--acid);color:#fff}.sound-toggle b{font:inherit}.sound-bars{height:13px;display:flex;align-items:end;gap:2px}.sound-bars i{display:block;width:2px;height:4px;background:currentColor}.sound-bars i:nth-child(2){height:9px}.sound-bars i:nth-child(3){height:6px}.sound-bars i:nth-child(4){height:12px}.sound-toggle[aria-pressed="true"] .sound-bars i{animation:sound-wave .65s ease-in-out infinite alternate}.sound-toggle[aria-pressed="true"] .sound-bars i:nth-child(2){animation-delay:-.2s}.sound-toggle[aria-pressed="true"] .sound-bars i:nth-child(3){animation-delay:-.4s}@keyframes sound-wave{to{height:3px}}
.section-index{color:var(--muted)}.profile-section{padding:110px var(--gutter);display:grid;grid-template-columns:1fr 2fr 1.25fr;gap:4vw;border-top:1px solid var(--line)}.profile-heading{grid-column:2}.eyebrow{font:11px var(--mono);margin:0 0 24px}.profile-heading h2{font-size:clamp(34px,4vw,67px);line-height:.97;letter-spacing:-.055em;margin:0}.highlight{position:relative;z-index:1}.highlight:after{content:"";position:absolute;z-index:-1;left:-5px;right:-10px;bottom:4px;height:28%;background:var(--acid);transform:rotate(-1deg)}.profile-copy{grid-column:3;padding-top:42px}.profile-copy p{font-size:15px;line-height:1.65}.profile-copy .lead{font-size:20px;line-height:1.45;letter-spacing:-.02em}.text-link{display:inline-block;margin-top:24px;font:12px var(--mono);border-bottom:1px solid;padding-bottom:5px}.profile-note{grid-column:1;grid-row:2;border-left:3px solid var(--acid);padding-left:13px;line-height:1.7}.profile-note span{display:block;color:var(--muted);margin-bottom:6px}
.experience-section{padding:0 var(--gutter) 110px}.section-title{font-size:clamp(64px,11vw,170px);line-height:.8;letter-spacing:-.08em;margin:30px 0 60px}.timeline{border-top:1px solid}.timeline-item{display:grid;grid-template-columns:1fr 1.3fr 2fr auto;gap:3vw;padding:28px 0;border-bottom:1px solid var(--line);position:relative}.timeline-item h3{margin:0 0 5px;font-size:18px}.timeline-item p{margin:0;font-size:13px;line-height:1.5;color:#444}.timeline-item>p{max-width:560px}.item-no{border:1px solid;border-radius:50%;width:42px;height:42px;display:grid;place-items:center}.awards-section{display:grid;grid-template-columns:1.1fr 1.9fr;border-top:1px solid}.awards-title{background:var(--ink);color:var(--paper);padding:75px var(--gutter);position:relative}.awards-title h2{font-size:clamp(40px,5.2vw,84px);line-height:.88;letter-spacing:-.06em;margin:55px 0 0}.marker-b{color:var(--acid);font-size:28px;right:8%;bottom:17%}.award-list{padding:55px var(--gutter)}.award{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:20px;padding:30px 0;border-bottom:1px solid var(--line)}.award strong{font-size:18px}.award em{font-style:normal;font-size:13px}
.site-footer{background:var(--ink);color:var(--paper);padding:80px var(--gutter) 22px}.footer-cta{display:block;font-size:clamp(52px,10vw,150px);font-weight:900;line-height:.77;letter-spacing:-.075em;border-bottom:1px solid #444;padding-bottom:70px}.footer-cta span{color:var(--acid)}.footer-bottom{display:flex;justify-content:space-between;padding-top:22px;color:#aaa}.footer-bottom a{color:var(--paper)}
.page-hero{min-height:600px;border-bottom:1px solid var(--line);padding:38px var(--gutter) 50px;position:relative;display:grid;grid-template-columns:1fr 1fr;align-content:space-between}.page-hero h1,.contact-hero h1{grid-column:1/3;font-size:clamp(68px,10vw,155px);font-weight:900;line-height:.78;letter-spacing:-.075em;margin:80px 0 0}.page-deck{grid-column:2;max-width:520px;font-size:18px;line-height:1.5;justify-self:end}.marker-c{right:6vw;top:36%;font-size:34px}.filter-bar{display:flex;gap:12px;padding:24px var(--gutter);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(243,241,234,.92);backdrop-filter:blur(8px);z-index:5;overflow:auto}.filter{border:1px solid var(--line);background:transparent;border-radius:30px;padding:10px 17px;font:10px var(--mono);white-space:nowrap;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);color:var(--paper)}.filter sup{color:#888;margin-left:5px}.works-grid{display:grid;grid-template-columns:1fr 1fr;padding:var(--gutter);gap:90px var(--gutter)}.work-card{min-width:0;transition:opacity .25s,transform .25s}.work-card.is-hidden{display:none}.work-card:nth-child(even){margin-top:120px}.work-wide{grid-column:span 2}.work-wide .work-visual{aspect-ratio:16/8}.work-visual{aspect-ratio:4/3;position:relative;overflow:hidden;background:#ddd;border:1px solid var(--line);transition:transform .4s cubic-bezier(.2,.7,.2,1)}.work-card:hover .work-visual{transform:scale(.985)}.visual-label{position:absolute;top:14px;left:14px;background:var(--paper);padding:7px;z-index:2}.work-info{display:grid;grid-template-columns:1fr auto 35px;gap:25px;padding-top:16px}.work-info h2{font-size:clamp(25px,3vw,46px);letter-spacing:-.045em;margin:8px 0}.work-info p{font-size:12px;line-height:1.5;margin:2px 0;text-align:right}.work-info p span{color:var(--muted);font:9px var(--mono)}.work-arrow{font-size:25px}.visual-01{background:linear-gradient(112deg,#141414 0 24%,#7d7d78 24% 25%,#252b2a 25% 54%,#a8aaa1 54% 55%,#313831 55%)}.visual-01:after{content:"";position:absolute;inset:12% 17%;border:1px solid rgba(255,255,255,.5)}.frame-mark{position:absolute;right:5%;bottom:7%;color:#fff;font:11px var(--mono)}.visual-02{background:radial-gradient(circle at 55% 40%,#dbe0d7 0 7%,transparent 7.5%),radial-gradient(ellipse at 55% 62%,#171817 0 17%,transparent 17.5%),linear-gradient(135deg,#adb1a6,#30342f)}.focus-ring{position:absolute;width:46%;aspect-ratio:1;border:1px solid var(--acid);border-radius:50%;left:32%;top:24%}.visual-03{background:repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.12) 40px),linear-gradient(145deg,#d3ff56,#808d85 48%,#121212)}.type-sculpt{position:absolute;left:9%;bottom:8%;font-size:clamp(44px,7vw,100px);line-height:.7;font-weight:900;letter-spacing:-.1em;color:var(--paper)}.type-sculpt i{color:var(--acid);font-style:normal}.visual-04{background:linear-gradient(90deg,#1c1c1c 0 24.7%,#ece9dd 25% 49.7%,#6d726b 50% 74.7%,#c8ff35 75%)}.contact-sheet{position:absolute;inset:12%;display:flex;align-items:end;justify-content:space-around;color:#fff;font:11px var(--mono);border:1px solid rgba(255,255,255,.7);padding:12px}.visual-05{background:radial-gradient(circle at 50% 40%,#c9ff35 0 2%,transparent 2.3%),linear-gradient(25deg,#0a0d0c,#515f56 58%,#b9bdb4)}.game-grid{position:absolute;inset:10%;background-image:linear-gradient(rgba(201,255,53,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(201,255,53,.22) 1px,transparent 1px);background-size:25px 25px;transform:perspective(400px) rotateX(55deg)}.visual-06{background:linear-gradient(135deg,#ebe8df 0 48%,#111 48% 52%,#9ca099 52%)}.play-button{position:absolute;inset:0;margin:auto;width:72px;height:72px;border:1px solid var(--acid);border-radius:50%;display:grid;place-items:center;color:var(--acid);padding-left:4px;top:calc(50% - 36px)}.replace-note{margin:70px var(--gutter) 130px;border-top:1px solid;padding-top:35px;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:4vw}.replace-note h2{font-size:36px;line-height:1.05;margin:0}.replace-note p{font-size:14px;line-height:1.7;margin:0}.compact{padding-top:65px}
.contact-main{min-height:calc(100vh - 90px)}.contact-hero{min-height:650px;padding:38px var(--gutter);position:relative;border-bottom:1px solid var(--line)}.contact-hero h1{margin:95px 0 0}.marker-d{font-size:clamp(25px,3vw,44px);right:12%;top:28%}.contact-status{position:absolute;right:var(--gutter);bottom:45px;display:flex;gap:12px;font:11px/1.5 var(--mono)}.contact-status span{width:9px;height:9px;background:#82a900;border-radius:50%;box-shadow:0 0 0 5px rgba(201,255,53,.4);margin-top:4px}.contact-status p{margin:0}.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;border-bottom:1px solid var(--line)}.contact-primary{padding:80px var(--gutter);border-right:1px solid var(--line)}.contact-primary>a{display:block;font-size:clamp(38px,6vw,88px);font-weight:900;line-height:.88;letter-spacing:-.055em;margin:70px 0 30px;overflow-wrap:anywhere}.contact-primary>a i{color:#91bd10;font-style:normal}.copy-button{background:transparent;border:1px solid;padding:12px 18px;font:11px var(--mono);cursor:pointer}.copy-button:hover{background:var(--ink);color:var(--paper)}.contact-detail{display:grid;grid-template-columns:1fr 1fr;padding:80px var(--gutter);gap:60px 40px}.contact-detail>div:last-child{grid-column:1/3}.contact-detail p{font-size:15px;line-height:1.7;margin:18px 0 0}.contact-detail a[aria-disabled=true]{color:var(--muted);pointer-events:none}.privacy-note{padding:26px var(--gutter);display:flex;justify-content:space-between;gap:30px}.privacy-note p{font-size:12px;margin:0;color:var(--muted)}.contact-footer{padding-top:45px;overflow:hidden}.contact-marquee{font-size:clamp(50px,8vw,120px);font-weight:900;letter-spacing:-.06em;white-space:nowrap;color:var(--acid);padding-bottom:45px;animation:marquee 18s linear infinite}.contact-marquee span{display:inline-block}@keyframes marquee{to{transform:translateX(-50%)}}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.15s}
@media(max-width:800px){.site-header{height:72px;grid-template-columns:1fr auto}.header-meta{display:none}.menu-toggle{display:block}.site-nav{position:absolute;top:72px;left:0;right:0;background:var(--ink);color:var(--paper);display:none;flex-direction:column;gap:0;padding:20px var(--gutter)}.site-nav.open{display:flex}.site-nav a{color:#aaa;padding:16px 0;border-bottom:1px solid #333}.hero{min-height:720px;grid-template-columns:1fr 1fr}.hero-title{grid-column:1/3;font-size:clamp(55px,16vw,105px)}.hero-intro{grid-column:1/3;grid-row:3;padding:70px 0 45px}.scroll-cue{display:none}.hero-orbit{opacity:.3}.profile-section{grid-template-columns:1fr;padding-top:75px}.profile-heading,.profile-copy,.profile-note{grid-column:1}.profile-note{grid-row:auto;margin-top:30px}.experience-section{padding-bottom:75px}.timeline-item{grid-template-columns:1fr auto}.timeline-item>div:nth-child(2),.timeline-item>p{grid-column:1/3}.item-no{grid-column:2;grid-row:1}.awards-section{grid-template-columns:1fr}.awards-title{min-height:360px}.award{grid-template-columns:45px 1fr}.award em{grid-column:2}.footer-bottom{gap:20px;flex-wrap:wrap}.page-hero{min-height:570px;grid-template-columns:1fr}.page-hero h1{grid-column:1;font-size:clamp(58px,16vw,105px)}.page-deck{grid-column:1}.marker-c{top:47%}.works-grid{grid-template-columns:1fr;gap:60px}.work-card,.work-wide{grid-column:1;margin-top:0!important}.work-wide .work-visual,.work-visual{aspect-ratio:4/3}.work-info{grid-template-columns:1fr 30px}.work-info>p{grid-column:1;text-align:left}.work-info .work-arrow{grid-column:2;grid-row:1}.replace-note{grid-template-columns:1fr}.contact-hero{min-height:610px}.contact-hero h1{font-size:clamp(55px,15.5vw,100px)}.marker-d{top:44%;right:5%}.contact-grid{grid-template-columns:1fr}.contact-primary{border-right:0;border-bottom:1px solid var(--line)}.contact-detail{grid-template-columns:1fr}.contact-detail>div:last-child{grid-column:1}.privacy-note{flex-direction:column}.contact-status{left:var(--gutter);right:auto}.footer-cta{font-size:clamp(48px,15vw,100px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Cobalt blue theme */
.dot,.marker{color:var(--blue-deep)}
.site-nav a.active:after{background:var(--acid)}
.filter-bar{background:rgba(241,244,248,.92)}
.filter.active,.filter:hover{background:var(--acid);border-color:var(--acid);color:#fff}
.visual-03{background:repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.12) 40px),linear-gradient(145deg,#7fa0ff,#65738f 48%,#101217)}
.visual-04{background:linear-gradient(90deg,#1c1c1c 0 24.7%,#e8edf5 25% 49.7%,#596579 50% 74.7%,var(--acid) 75%)}
.visual-05{background:radial-gradient(circle at 50% 40%,var(--acid) 0 2%,transparent 2.3%),linear-gradient(25deg,#0a0d13,#3e4c69 58%,#b9c3d7)}
.game-grid{background-image:linear-gradient(rgba(36,87,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(36,87,255,.28) 1px,transparent 1px)}
.visual-06{background:linear-gradient(135deg,#e8edf5 0 48%,#101217 48% 52%,#8d9ab1 52%)}
.contact-status span{background:var(--acid);box-shadow:0 0 0 5px rgba(36,87,255,.2)}
.contact-primary>a i{color:var(--acid)}
.copy-button:hover{background:var(--acid);border-color:var(--acid);color:#fff}

/* Stronger primary navigation */
.site-nav{gap:10px}
.site-nav a{display:flex;align-items:center;min-height:38px;padding:10px 15px;border:1px solid rgba(16,18,23,.24);background:rgba(241,244,248,.68);backdrop-filter:blur(8px);transition:background .2s,border-color .2s,color .2s,transform .2s}
.site-nav a:hover{background:#fff;border-color:var(--acid);color:var(--acid);transform:translateY(-2px)}
.site-nav a.active{background:var(--acid);border-color:var(--acid);color:#fff}
.site-nav a.active:after{display:none}
.site-nav a.active span{color:rgba(255,255,255,.72)}
.menu-toggle{min-height:36px;padding:9px 14px;border:1px solid var(--acid);background:var(--acid);color:#fff;font-weight:700;letter-spacing:.08em;cursor:pointer}

@media(max-width:800px){.site-nav{gap:10px;padding-top:24px;padding-bottom:24px}.site-nav a{width:100%;min-height:48px;padding:13px 16px;border:1px solid #3f4655;background:#171a21;color:#dfe5f0}.site-nav a:hover{transform:none;background:#202636}.site-nav a.active{background:var(--acid);border-color:var(--acid);color:#fff}.menu-toggle{display:block}}

/* Lightweight GlowCursor adaptation for this static site */
.glow-cursor-canvas{position:fixed;inset:0;z-index:99;width:100vw;height:100vh;display:block;pointer-events:none;user-select:none;mix-blend-mode:multiply;opacity:.92}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.glow-cursor-canvas{display:none}}

/* Editorial navigation — Swiss grid tabs */
.site-nav{position:relative;gap:0;padding:3px;border:1px solid var(--ink);background:rgba(241,244,248,.76);box-shadow:5px 5px 0 rgba(36,87,255,.16);backdrop-filter:blur(10px)}
.site-nav:before{content:"NAV / 03";position:absolute;right:0;top:-16px;font:8px var(--mono);letter-spacing:.08em;color:var(--muted)}
.site-nav a{position:relative;min-height:38px;padding:9px 17px;border:0;border-right:1px solid var(--line);background:transparent;backdrop-filter:none;letter-spacing:-.01em}
.site-nav a:last-child{border-right:0}
.site-nav a:hover{z-index:1;background:rgba(36,87,255,.08);color:var(--acid);transform:none}
.site-nav a.active{background:var(--acid);color:#fff}
.site-nav a.active:after{content:"";display:block;position:absolute;top:5px;right:5px;width:4px;height:4px;background:#fff}
.site-nav a span{margin-right:7px;padding-right:7px;border-right:1px solid currentColor;opacity:.72}
.menu-toggle{position:relative;min-width:76px;box-shadow:4px 4px 0 var(--ink);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)}

@media(max-width:800px){.site-nav{justify-self:stretch;width:100%;gap:0;padding:22px var(--gutter) 26px;border:0;border-top:1px solid #343a48;border-bottom:4px solid var(--acid);background:rgba(16,18,23,.96);box-shadow:0 12px 30px rgba(0,0,0,.2);backdrop-filter:blur(14px)}.site-nav:before{content:"NAVIGATION / SELECT PAGE";position:static;display:block;margin-bottom:15px;color:#818999;font:9px var(--mono)}.site-nav a{display:grid;grid-template-columns:42px 1fr auto;width:100%;min-height:58px;padding:0 16px;border:1px solid #3c4351;border-bottom:0;background:transparent;color:#eef2f8;font-size:16px;letter-spacing:-.025em}.site-nav a:last-child{border-right:1px solid #3c4351;border-bottom:1px solid #3c4351}.site-nav a span{margin:0;padding:0;border:0;color:#818999}.site-nav a:after,.site-nav a.active:after{content:"↗";display:block;position:static;width:auto;height:auto;margin-left:auto;background:none;font:15px var(--mono);color:#818999}.site-nav a:hover{background:#1b202b;color:#fff}.site-nav a.active{background:var(--acid);border-color:var(--acid);color:#fff}.site-nav a.active+ a{border-top-color:var(--acid)}.site-nav a.active span,.site-nav a.active:after{color:#fff}.menu-toggle{display:block}}

/* Profile portrait — aligned to the editorial grid */
.profile-section>.section-index{grid-column:1/4;grid-row:1}
.profile-portrait{grid-column:1;grid-row:2;margin:0;align-self:start;position:relative}
.profile-portrait:before{content:"";position:absolute;inset:-7px 7px 7px -7px;border:1px solid var(--ink);pointer-events:none}
.profile-portrait img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.78) contrast(1.03)}
.profile-portrait figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:11px;color:var(--muted)}
.profile-heading{grid-row:2}
.profile-copy{grid-row:2}
.profile-note{grid-row:3;margin-top:12px}

@media(max-width:800px){.profile-section>.section-index,.profile-portrait,.profile-heading,.profile-copy,.profile-note{grid-column:1;grid-row:auto}.profile-portrait{width:min(86%,420px);margin:22px 0 12px}.profile-note{margin-top:30px}}

/* Larger Chinese navigation labels */
.site-nav:before{content:"导航 / 03"}
.site-nav a{min-height:46px;padding:12px 22px;font-size:15px;font-weight:600;letter-spacing:.02em}
.site-nav a span{font-size:9px;font-weight:400}
.menu-toggle{min-width:84px;min-height:42px;font-size:14px}
@media(max-width:800px){.site-nav:before{content:"页面导航 / 请选择"}.site-nav a{min-height:64px;padding:0 18px;font-size:19px;font-weight:600}.menu-toggle{font-size:14px}}

/* Edge-to-edge top: navigation floats over the opening visual */
.site-header{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(241,244,248,.88),rgba(241,244,248,.5));backdrop-filter:blur(8px);border-bottom:1px solid rgba(16,18,23,.12)}
.hero{min-height:100vh;padding-top:126px}
.page-hero,.contact-hero{padding-top:126px}
.sound-toggle{top:112px}
@media(max-width:800px){.site-header{position:absolute;background:linear-gradient(180deg,rgba(241,244,248,.9),rgba(241,244,248,.55))}.hero{min-height:100svh;padding-top:104px}.page-hero,.contact-hero{padding-top:104px}.sound-toggle{top:92px}}

/* Remove the remaining light header band on the video */
.site-header{background:transparent;backdrop-filter:none}
body[data-page="home"] .site-header{border-bottom-color:rgba(255,255,255,.28)}
body[data-page="home"] .wordmark,body[data-page="home"] .header-meta{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.7)}
body[data-page="home"] .wordmark .dot{color:#7ea0ff}
@media(max-width:800px){.site-header{background:transparent}}

/* Wordmark-style navigation — echoes CHEN ZIHAN */
.site-nav{gap:clamp(16px,2.2vw,34px);padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}
.site-nav:before{display:none}
.site-nav a{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:2px;min-height:0;padding:3px 5px 7px;border:0;background:transparent;color:var(--ink);font-size:20px;font-weight:900;line-height:.86;letter-spacing:-.065em;text-transform:uppercase;box-shadow:none}
.site-nav a span{grid-row:1;margin:0;padding:0;border:0;font:8px/1 var(--mono);letter-spacing:.04em;opacity:.55}
.site-nav a:hover{background:transparent;color:var(--acid);transform:translateY(-2px)}
.site-nav a:after{display:none}
.site-nav a.active{background:transparent;color:var(--acid)}
.site-nav a.active:after{content:"";display:block;position:absolute;left:5px;right:5px;top:auto;bottom:0;width:auto;height:3px;background:currentColor}
.menu-toggle{min-width:0;min-height:0;padding:5px 3px 7px;border:0;border-bottom:3px solid var(--acid);background:transparent;color:var(--ink);box-shadow:none;clip-path:none;font-size:19px;font-weight:900;line-height:.9;letter-spacing:-.05em}
body[data-page="home"] .site-nav a,body[data-page="home"] .menu-toggle{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.7)}
body[data-page="home"] .site-nav a.active,body[data-page="home"] .site-nav a:hover{color:#7ea0ff}

@media(max-width:800px){.site-nav{justify-self:stretch;width:100%;gap:0;padding:24px var(--gutter) 18px;border:0;border-bottom:3px solid var(--acid);background:rgba(16,18,23,.96);box-shadow:0 14px 30px rgba(0,0,0,.22);backdrop-filter:blur(14px)}.site-nav:before{content:"CHEN ZIHAN / NAV";display:block;position:static;margin-bottom:18px;color:#778091;font:8px/1 var(--mono);letter-spacing:.08em}.site-nav a{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:4px;width:100%;min-height:74px;padding:14px 4px 12px;border:0;border-bottom:1px solid #343a47;background:transparent;color:#fff;font-size:27px;font-weight:900;line-height:.84;letter-spacing:-.065em}.site-nav a:last-child{border:0}.site-nav a span{grid-row:1;color:#778091;font-size:8px}.site-nav a:after{display:none}.site-nav a.active{background:transparent;color:#6e93ff}.site-nav a.active:after{content:"";display:block;position:absolute;left:4px;right:auto;top:auto;bottom:7px;width:42px;height:3px;background:currentColor}.site-nav a.active span{color:#6e93ff}.site-nav a:hover{background:transparent;color:#6e93ff}.menu-toggle{display:block;font-size:21px}}

/* Floating back-to-top control */
.floating-top{position:fixed;right:24px;bottom:24px;z-index:90;width:68px;height:68px;display:grid;grid-template-rows:1fr auto;place-items:center;padding:9px 8px 8px;border:1px solid var(--ink);background:rgba(241,244,248,.9);color:var(--ink);box-shadow:5px 5px 0 rgba(36,87,255,.28);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);backdrop-filter:blur(10px);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .25s,transform .25s,visibility .25s,background .2s,color .2s}.floating-top.is-visible{opacity:1;visibility:visible;transform:none}.floating-top span{font-size:29px;font-weight:900;line-height:.75;color:var(--acid)}.floating-top b{font:9px/1 var(--mono);letter-spacing:.08em}.floating-top:hover{background:var(--acid);color:#fff}.floating-top:hover span{color:#fff}.floating-top:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(max-width:800px){.floating-top{right:16px;bottom:16px;width:56px;height:56px;padding:7px}.floating-top span{font-size:24px}.floating-top b{font-size:8px}}

/* Unified editorial controls: audio, mobile menu and back-to-top */
.sound-toggle{grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:3px 8px;min-width:112px;padding:3px 2px 8px;border:0;border-bottom:3px solid var(--acid);background:transparent;color:#fff;box-shadow:none;backdrop-filter:none;text-shadow:0 1px 9px rgba(0,0,0,.75)}
.sound-toggle:before{content:"AUDIO / 01";grid-column:1/3;grid-row:1;justify-self:end;font:7px/1 var(--mono);letter-spacing:.08em;color:rgba(255,255,255,.7)}
.sound-toggle .sound-bars{grid-column:1;grid-row:2;color:#7ea0ff}
.sound-toggle b{grid-column:2;grid-row:2;font-family:var(--display);font-size:16px;font-weight:900;line-height:.9;letter-spacing:-.055em;white-space:nowrap}
.sound-toggle:hover,.sound-toggle[aria-pressed="true"]{background:transparent;border-color:#7ea0ff;color:#7ea0ff}
.sound-toggle:focus-visible{outline:2px solid #fff;outline-offset:5px}

.menu-toggle{position:relative;padding:12px 3px 7px;border:0;border-bottom:0;background:transparent;font-family:var(--display);font-size:22px;font-weight:900;line-height:.82;letter-spacing:-.07em;text-shadow:0 1px 9px rgba(0,0,0,.7)}
.menu-toggle:before{content:"NAV / 03";position:absolute;top:0;right:3px;font:7px/1 var(--mono);letter-spacing:.06em;color:currentColor;opacity:.65}
.menu-toggle:after{content:"";position:absolute;left:3px;bottom:0;width:34px;height:3px;background:var(--acid)}
.menu-toggle:hover{color:#7ea0ff}
.menu-toggle:focus-visible{outline:2px solid currentColor;outline-offset:5px}

.floating-top{width:76px;height:62px;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;padding:9px 10px 8px;border:0;border-left:4px solid var(--acid);background:rgba(241,244,248,.88);color:var(--ink);box-shadow:none;clip-path:none;backdrop-filter:blur(10px)}
.floating-top:before{content:"BACK /";grid-column:1;grid-row:1;justify-self:start;font:7px/1 var(--mono);letter-spacing:.08em;color:var(--muted)}
.floating-top span{grid-column:2;grid-row:1/3;align-self:center;font-size:29px;color:var(--acid)}
.floating-top b{grid-column:1;grid-row:2;align-self:end;justify-self:start;font-family:var(--display);font-size:18px;font-weight:900;line-height:.8;letter-spacing:-.07em}
.floating-top:hover{background:var(--ink);color:#fff}
.floating-top:hover:before{color:#8991a0}
.floating-top:focus-visible{outline:2px solid var(--acid);outline-offset:4px}

@media(max-width:800px){.menu-toggle{display:block;font-size:23px}.sound-toggle{min-width:104px}.sound-toggle b{font-size:15px}.floating-top{right:16px;bottom:16px;width:68px;height:56px;padding:8px 9px 7px}.floating-top span{font-size:25px}.floating-top b{font-size:16px}}

/* Real broadcast-news video projects */
.news-card,.work-wide{margin-top:0!important}
.news-visual{aspect-ratio:16/9;background:#080b11}
.project-video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;background:#080b11}
.creator-card .project-video{object-fit:cover}
.news-card .visual-label{background:rgba(241,244,248,.9);backdrop-filter:blur(8px)}
.news-badge{position:absolute;right:14px;bottom:50px;z-index:2;padding:8px 10px;background:var(--acid);color:#fff}
.news-card .work-arrow{color:var(--acid);font-size:18px}
.news-card .work-info h2{max-width:760px}
@media(max-width:800px){.news-visual,.work-wide .news-visual{aspect-ratio:16/9}.news-badge{top:auto;right:8px;bottom:42px;font-size:8px}.news-card .visual-label{top:8px;left:8px;font-size:8px}}

/* Six-column project grid allows a three-up portrait news gallery */
.works-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.work-card{grid-column:span 3}
.work-wide{grid-column:span 6}
.news-card{grid-column:span 2}
.news-visual{aspect-ratio:3/4}
@media(max-width:800px){.works-grid{grid-template-columns:1fr}.work-card,.work-wide,.news-card{grid-column:1}.news-visual,.work-wide .news-visual{aspect-ratio:3/4}}

/* Real advertising-competition collection */
.collection-header{grid-column:span 6;display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:40px;padding:28px 0 24px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.collection-header.is-hidden{display:none}
.collection-header h2{margin:8px 0 0;font-size:clamp(36px,5vw,76px);line-height:.88;letter-spacing:-.065em}
.collection-header p{margin:0;text-align:right;font-size:13px;line-height:1.7}
.ad-card{grid-column:span 3;margin-top:0!important}
.ad-visual{aspect-ratio:16/9;background:#080b11}
.ad-card .work-arrow{color:var(--acid);font-size:18px}
@media(max-width:800px){.collection-header{grid-column:1;grid-template-columns:1fr;gap:18px;padding-top:24px}.collection-header p{text-align:left}.ad-card{grid-column:1}.ad-visual{aspect-ratio:16/9}}

/* Mixed-format advertising gallery: two portrait films + two landscape films */
.ad-gallery{grid-column:span 6;display:grid;grid-template-columns:1fr 1fr 1.55fr;gap:var(--gutter);align-items:start}
.ad-gallery.is-hidden{display:none}
.ad-gallery .ad-card{grid-column:auto;margin:0!important}
.ad-portrait{grid-row:1/3}
.ad-portrait .ad-visual{aspect-ratio:9/16}
.ad-landscape{grid-column:3}
.ad-landscape .ad-visual{aspect-ratio:16/9}
@media(max-width:800px){.ad-gallery{grid-column:1;grid-template-columns:1fr;gap:65px}.ad-gallery .ad-card{grid-column:1;grid-row:auto}.ad-portrait .ad-visual{aspect-ratio:9/16}.ad-landscape .ad-visual{aspect-ratio:16/9}}

/* Independent self-media collection */
.creator-gallery{grid-column:span 6;display:grid;grid-template-columns:3fr 4fr;gap:var(--gutter);align-items:start}
.creator-gallery.is-hidden{display:none}
.creator-gallery .creator-card{grid-column:auto;margin:0!important}
.creator-visual{background:#080b11}
.creator-card:nth-child(1) .creator-visual{aspect-ratio:9/16}
.creator-card:nth-child(2) .creator-visual{aspect-ratio:3/4}
.creator-card .work-arrow{color:var(--acid);font-size:18px}
@media(max-width:800px){.creator-gallery{grid-column:1;grid-template-columns:1fr;gap:65px}.creator-gallery .creator-card{grid-column:1}.creator-card:nth-child(1) .creator-visual{aspect-ratio:9/16}.creator-card:nth-child(2) .creator-visual{aspect-ratio:3/4}}

/* Chinese typography — readable rhythm within the Swiss editorial system */
body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.mobile-only{display:none}
.hero-intro p,.profile-heading h2,.profile-copy p,.timeline-item h3,.timeline-item p,.award strong,.award em,.page-deck,.filter,.collection-header h2,.collection-header p,.work-info h2,.work-info p,.replace-note h2,.replace-note p,.contact-status p,.contact-detail p,.privacy-note p,.copy-button{font-family:var(--cjk)}
.hero-intro p{line-height:1.24;letter-spacing:-.025em;text-wrap:pretty}
.profile-heading h2{line-height:1.08;letter-spacing:-.03em;text-wrap:balance}
.profile-copy p{line-height:1.78;letter-spacing:.012em;text-wrap:pretty}
.profile-copy .lead{line-height:1.58;letter-spacing:-.012em}
.timeline-item h3{line-height:1.35;letter-spacing:-.015em}
.timeline-item p{line-height:1.75;letter-spacing:.012em}
.award strong{line-height:1.45;letter-spacing:-.012em}
.award em{line-height:1.5;white-space:nowrap}
.page-deck{line-height:1.75;letter-spacing:.012em;text-wrap:pretty}
.filter{font-size:12px;font-weight:600;line-height:1.2;letter-spacing:.02em}
.filter sup{font-family:var(--mono);font-size:8px;font-weight:400;letter-spacing:0}
.collection-header h2{line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.collection-header p{line-height:1.85;letter-spacing:.012em}
.work-info h2{line-height:1.12;letter-spacing:-.028em;text-wrap:balance}
.work-info p{line-height:1.75;letter-spacing:.012em}
.replace-note h2{line-height:1.18;letter-spacing:-.025em;text-wrap:balance}
.replace-note p{line-height:1.85;letter-spacing:.012em}
.contact-status p{font-size:12px;line-height:1.7;letter-spacing:.015em}
.contact-status b{font-family:var(--mono);font-size:9px;letter-spacing:.04em}
.contact-detail p{line-height:1.85;letter-spacing:.012em}
.contact-detail .text-link,.copy-button{font-weight:700;letter-spacing:.035em}
.privacy-note p{line-height:1.75;letter-spacing:.012em}
.site-nav a{letter-spacing:-.035em}

@media(max-width:800px){
  .mobile-only{display:block}
  .hero-intro p{font-size:clamp(19px,5.4vw,24px);line-height:1.36;letter-spacing:-.02em}
  .profile-heading h2{line-height:1.12;letter-spacing:-.025em}
  .profile-copy .lead{font-size:18px;line-height:1.65}
  .profile-copy p{line-height:1.82}
  .timeline-item p{font-size:13px;line-height:1.78}
  .site-nav a{letter-spacing:-.03em}
  .collection-header h2{line-height:1.08;letter-spacing:-.03em}
  .work-info h2{line-height:1.16;letter-spacing:-.025em}
  .page-deck{font-size:17px;line-height:1.72}
  .contact-status p{font-size:11px;line-height:1.72}
}

/* Hero signature — larger and grouped with the role labels */
.marker-a{position:relative;top:auto;left:auto;display:block;width:max-content;margin:0 0 30px;font-size:clamp(42px,4.8vw,72px);line-height:.94;transform:rotate(-5deg)}
.marker-a:after{width:100%;border-top-width:4px;margin-top:2px}
body[data-page="home"] .marker-a{color:#86a7ff;text-shadow:0 2px 18px rgba(0,0,0,.72)}
body[data-page="home"] .marker-a:after{border-color:#86a7ff}
body[data-page="home"] .intro-tags{display:block;width:max-content;max-width:calc(100% - var(--gutter)*2);padding:10px 13px;background:rgba(16,18,23,.48);color:#fff;font-family:var(--cjk);font-size:14px;font-weight:700;line-height:1.85;letter-spacing:.07em;text-align:right;text-shadow:0 1px 8px rgba(0,0,0,.75);backdrop-filter:blur(6px)}
.hero-roles{position:absolute;right:var(--gutter);bottom:84px;z-index:4}
@media(max-width:800px){.marker-a{margin-bottom:28px;font-size:clamp(36px,10.5vw,46px);line-height:.96}.marker-a:after{border-top-width:3px}}
@media(max-width:800px){body[data-page="home"] .intro-tags{font-size:12px;line-height:1.8;padding:8px 10px}.hero-roles{right:var(--gutter);bottom:26px}}

/* Cinematic opening and scroll choreography */
.opening-screen{position:fixed;inset:0;z-index:300;display:grid;grid-template-rows:auto 1fr auto;padding:28px var(--gutter);overflow:hidden;background:var(--ink);color:var(--paper);pointer-events:none;animation:opening-exit 1s cubic-bezier(.76,0,.24,1) 3.05s forwards}
.opening-screen:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,transparent calc(25% - .5px),rgba(255,255,255,.13) 25%,transparent calc(25% + .5px)),linear-gradient(to right,transparent calc(50% - .5px),rgba(255,255,255,.13) 50%,transparent calc(50% + .5px)),linear-gradient(to right,transparent calc(75% - .5px),rgba(255,255,255,.13) 75%,transparent calc(75% + .5px));opacity:0;animation:opening-grid .8s ease .15s forwards}
.opening-meta{position:relative;z-index:1;display:flex;justify-content:space-between;color:#9da5b3;opacity:0;animation:opening-meta .8s ease .25s forwards}
.opening-word{position:relative;z-index:1;align-self:center;width:100%;height:min(56vh,500px);transform-origin:center;animation:opening-compress .8s cubic-bezier(.76,0,.24,1) 2.35s forwards}
.opening-stroke-svg{display:block;width:100%;height:100%;overflow:visible}
.opening-stroke,.opening-fill{font-family:Arial,"Helvetica Neue",sans-serif;font-size:235px;font-weight:900;letter-spacing:-18px;user-select:none}
.opening-stroke{fill:transparent;stroke:#f1f4f8;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:2200;stroke-dashoffset:2200;animation:opening-stroke-draw 1.7s cubic-bezier(.25,.7,.2,1) .2s forwards}
.opening-stroke-b{stroke:#6e93ff;animation-delay:.42s}
.opening-fill{fill:#f1f4f8;stroke:none}
.opening-fill-b{fill:var(--acid)}
.opening-fill-wipe{animation:opening-fill-wipe .82s cubic-bezier(.65,0,.35,1) 1.62s forwards}
.opening-fill-wipe-b{animation-delay:1.84s}
.opening-progress{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}
.opening-progress i{height:2px;background:linear-gradient(90deg,var(--acid),#86a7ff);transform:scaleX(0);transform-origin:left;animation:opening-progress 2.55s cubic-bezier(.16,1,.3,1) .3s forwards}
.opening-progress b{font:inherit;color:#fff}
.opening-screen.skip-opening{display:none}
@keyframes opening-grid{to{opacity:1}}
@keyframes opening-meta{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes opening-stroke-draw{to{stroke-dashoffset:0}}
@keyframes opening-fill-wipe{to{width:1400px}}
@keyframes opening-compress{0%{transform:scaleX(1)}100%{transform:scaleX(.9);opacity:.78}}
@keyframes opening-progress{to{transform:scaleX(1)}}
@keyframes opening-exit{0%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 100% 0);visibility:hidden}}

.title-line{display:block;overflow:hidden;padding:.04em .08em .08em 0;margin-bottom:-.1em}
.title-line-inner{display:block;transform-origin:left bottom}
body.motion-ready .motion-title .title-line-inner{opacity:0;transform:translateY(115%) scaleY(.58)}
body.motion-ready .motion-title.title-ready .title-line-inner{opacity:1;transform:translateY(0) scaleY(1);transition:opacity .8s ease,transform 1.25s cubic-bezier(.16,1,.3,1)}
body.motion-ready .motion-title .title-line:nth-child(2) .title-line-inner{transition-delay:.12s}
body.motion-ready .motion-title .title-line:nth-child(3) .title-line-inner{transition-delay:.24s}

body.motion-ready .wordmark,body.motion-ready .header-meta{opacity:0;transform:translateY(-24px)}
body.motion-ready.motion-started .wordmark,body.motion-ready.motion-started .header-meta{opacity:1;transform:none;transition:opacity .9s ease,transform 1.15s cubic-bezier(.16,1,.3,1)}
body[data-page="home"].motion-ready.motion-started .wordmark,body[data-page="home"].motion-ready.motion-started .header-meta{transition-delay:2.15s}
body.motion-ready .hero-video{--hero-shift:0px;transform:translate3d(0,var(--hero-shift),0) scale(1.12)}
body.motion-ready.motion-started .hero-video{transform:translate3d(0,var(--hero-shift),0) scale(1.04);transition:transform 3.2s cubic-bezier(.16,1,.3,1)}
body.motion-ready .hero-roles{opacity:0;transform:translateY(34px)}
body.motion-ready.motion-started .hero-roles{opacity:1;transform:none;transition:opacity 1s ease 2.65s,transform 1.25s cubic-bezier(.16,1,.3,1) 2.65s}

body.motion-ready .motion-scroll{opacity:0;filter:blur(7px);transform:translateY(72px) scale(.985)}
body.motion-ready .motion-scroll.in-view{opacity:1;filter:blur(0);transform:none;transition:opacity .85s ease var(--motion-delay,0ms),filter 1s ease var(--motion-delay,0ms),transform 1.25s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms)}
body.motion-ready .motion-heading{transform-origin:left center}
body.motion-ready .motion-heading:not(.in-view){transform:translateY(82px) scaleY(.68);letter-spacing:-.1em}
body.motion-ready .motion-heading.in-view{letter-spacing:inherit}
body.motion-ready .motion-media{clip-path:inset(0 100% 0 0)}
body.motion-ready .motion-media.in-view{clip-path:inset(0 0 0 0);transition:clip-path 1.35s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms)}
body.motion-ready .profile-portrait img{transform:translate3d(0,var(--portrait-shift,0px),0) scale(1.045);transform-origin:center}

@media(max-width:800px){.opening-screen{padding:20px var(--gutter)}.opening-word{height:min(48vh,420px)}.opening-stroke,.opening-fill{font-size:245px;letter-spacing:-19px}.opening-progress{gap:10px}.title-line{padding-right:.12em}body.motion-ready .motion-scroll{transform:translateY(48px) scale(.99)}}
@media(prefers-reduced-motion:reduce){.opening-screen{display:none!important}.title-line-inner,.motion-title,.motion-scroll,.motion-heading,.motion-media,.wordmark,.header-meta,.hero-video,.hero-roles,.profile-portrait img{opacity:1!important;filter:none!important;clip-path:none!important;transform:none!important;transition:none!important;animation:none!important}}

/* Final editorial polish */
.mono{font-size:12px}
.header-meta{font-size:10px}
.site-nav a span{font-size:10px}
.visual-label{font-size:10px;letter-spacing:.055em}
.work-info p span{font-size:10px}
.filter sup{font-size:9px}
.marker-c{font-family:var(--cjk);font-style:normal;font-weight:900;letter-spacing:-.035em;transform:rotate(-4deg)}

body[data-page="home"] .hero-title{margin-top:-10px}
body[data-page="home"] .hero-orbit{right:28px;top:20%;opacity:.5}
body[data-page="home"] .hero-roles{bottom:96px}

body[data-page="works"] .floating-top{right:var(--gutter);bottom:96px}
.floating-top:before{content:"返回 /"}
body.has-playing-video .floating-top{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}

.video-cover{position:absolute;inset:0;z-index:3;display:grid;grid-template-rows:auto 1fr auto;align-items:start;width:100%;padding:20px;border:0;color:#fff;text-align:left;overflow:hidden;cursor:pointer;transition:opacity .24s ease,visibility .24s ease}
.video-cover:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.4);pointer-events:none}
.video-cover:before{position:absolute;right:-.04em;bottom:-.18em;color:rgba(255,255,255,.1);font:900 clamp(90px,13vw,210px)/.8 var(--display);letter-spacing:-.09em}
.video-cover span,.video-cover b{position:relative;z-index:1;font:11px/1.2 var(--mono);letter-spacing:.06em}
.video-cover strong{position:relative;z-index:1;align-self:center;max-width:92%;font-family:var(--cjk);font-size:clamp(25px,3vw,46px);font-weight:900;line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.video-cover b{align-self:end;justify-self:end;padding:9px 11px;background:#fff;color:var(--ink)}
.video-cover:hover b,.video-cover:focus-visible b{background:var(--acid);color:#fff}
.video-cover:focus-visible{outline:4px solid #fff;outline-offset:-8px}
.video-cover.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.cover-news{background-color:#101217;background-image:linear-gradient(120deg,rgba(36,87,255,.88),rgba(16,18,23,.32) 58%),repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.12) 40px)}
.cover-news-01:before{content:"N01"}.cover-news-02:before{content:"N02"}.cover-news-03:before{content:"N03"}
.cover-news-02{background-image:linear-gradient(145deg,rgba(16,18,23,.18),rgba(36,87,255,.92)),repeating-linear-gradient(0deg,transparent 0 39px,rgba(255,255,255,.12) 40px)}
.cover-news-03{background-image:radial-gradient(circle at 75% 25%,rgba(134,167,255,.55),transparent 24%),linear-gradient(135deg,#101217,#2457ff)}
.cover-ad{background-color:#1743c8;background-image:linear-gradient(155deg,rgba(36,87,255,.9),rgba(16,18,23,.78)),repeating-linear-gradient(45deg,transparent 0 26px,rgba(255,255,255,.1) 27px)}
.cover-ad-01:before{content:"A01"}.cover-ad-02:before{content:"A02"}.cover-ad-03:before{content:"A03"}.cover-ad-04:before{content:"A04"}
.cover-ad-02{background-image:linear-gradient(25deg,#101217 0 35%,#2457ff 35% 72%,#86a7ff 72%)}
.cover-ad-03{background-image:radial-gradient(circle at 28% 35%,rgba(255,255,255,.22) 0 12%,transparent 12.5%),linear-gradient(135deg,#2457ff,#101217)}
.cover-ad-04{background-image:linear-gradient(90deg,#101217 0 30%,#2457ff 30% 72%,#f1f4f8 72%)}

.contact-email-row{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:680px;margin:-8px 0 18px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--cjk);font-size:14px}
.contact-email-row span{color:var(--muted)}
.contact-email-row a{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.02em}

@media(max-width:800px){
  .mono{font-size:11px}
  body[data-page="home"] .hero-title{margin-top:-2px}
  body[data-page="home"] .hero-orbit{right:8px;top:22%}
  body[data-page="home"] .hero-roles{bottom:32px}
  body[data-page="works"] .floating-top{right:16px;bottom:82px}
  .video-cover{padding:15px}
  .video-cover:after{inset:12px}
  .video-cover span,.video-cover b{font-size:9px}
  .video-cover strong{font-size:clamp(25px,8vw,40px)}
  .contact-email-row{align-items:flex-start;flex-direction:column;gap:6px;font-size:13px}
  .contact-email-row a{font-size:12px}
}

/* Project-cover system — photographic originals + typographic archive cards */
.video-cover{isolation:isolate;padding:24px;background-position:center;background-size:cover}
.video-cover:after{inset:20px;border-color:rgba(255,255,255,.5);box-shadow:inset 0 0 0 1px rgba(16,18,23,.08)}
.video-cover>span{display:flex;align-items:center;gap:12px;width:100%;font-size:10px;font-weight:700}
.video-cover>span:after{content:"";height:1px;flex:1;background:currentColor;opacity:.45}
.video-cover strong{max-width:86%;font-size:clamp(28px,3.4vw,54px);line-height:.96;letter-spacing:-.055em;text-shadow:0 2px 22px rgba(0,0,0,.22)}
.video-cover b{display:flex;align-items:center;gap:9px;padding:11px 13px;border-left:3px solid var(--acid);font-family:var(--cjk);font-size:11px;font-weight:800;letter-spacing:.04em;box-shadow:0 8px 24px rgba(0,0,0,.16)}
.video-cover b:before{content:"▶";font-size:9px;color:var(--acid)}
.video-cover:hover b,.video-cover:focus-visible b{border-left-color:#fff}
.video-cover:hover b:before,.video-cover:focus-visible b:before{color:#fff}

.cover-photo{background-color:transparent;background-image:linear-gradient(180deg,rgba(7,11,19,.5) 0%,rgba(7,11,19,.02) 42%,rgba(7,11,19,.78) 100%)}
.cover-photo:before{right:.02em;bottom:-.12em;color:rgba(255,255,255,.16);text-shadow:0 2px 25px rgba(0,0,0,.2)}
.cover-photo-01:before{content:"C01"}.cover-photo-02:before{content:"C02"}
.cover-photo strong{align-self:end;margin-bottom:18px;font-size:clamp(34px,4.5vw,70px)}
.cover-photo b{background:rgba(241,244,248,.94);backdrop-filter:blur(8px)}

.cover-news{background-color:#101217;background-size:auto,40px 40px}
.cover-news-01{background-image:linear-gradient(135deg,rgba(36,87,255,.96) 0 43%,rgba(16,18,23,.9) 43% 72%,rgba(134,167,255,.82) 72%),linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px)}
.cover-news-02{background-image:radial-gradient(circle at 24% 68%,rgba(255,255,255,.22) 0 12%,transparent 12.5%),linear-gradient(145deg,#101217 0 38%,#2457ff 38% 78%,#86a7ff 78%),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px)}
.cover-news-03{background-image:linear-gradient(25deg,rgba(16,18,23,.98) 0 42%,rgba(36,87,255,.9) 42% 68%,rgba(241,244,248,.18) 68%),repeating-linear-gradient(-45deg,transparent 0 26px,rgba(255,255,255,.1) 27px)}
.cover-news strong{align-self:end;margin-bottom:20px}

.cover-ad{background-color:#1743c8}
.cover-ad-01{background-image:radial-gradient(circle at 72% 28%,rgba(255,255,255,.2) 0 14%,transparent 14.5%),linear-gradient(150deg,#2457ff,#101217 72%)}
.cover-ad-02{background-image:linear-gradient(22deg,#101217 0 28%,#2457ff 28% 64%,#86a7ff 64% 78%,#f1f4f8 78%)}
.cover-ad-03{background-image:repeating-linear-gradient(90deg,transparent 0 47px,rgba(255,255,255,.13) 48px),linear-gradient(135deg,#2457ff 0 55%,#101217 55%)}
.cover-ad-04{background-image:linear-gradient(125deg,#101217 0 32%,#2457ff 32% 66%,#86a7ff 66%)}
.cover-ad strong{align-self:end;margin-bottom:16px}
.cover-ad-02 b{background:#101217;color:#fff;border-left-color:#fff}
.cover-ad-02 b:before{color:#86a7ff}

@media(max-width:800px){
  .video-cover{padding:18px}
  .video-cover:after{inset:14px}
  .video-cover>span{font-size:9px}
  .video-cover strong{font-size:clamp(27px,8.5vw,44px)}
  .video-cover b{padding:9px 10px;font-size:10px}
  .cover-photo strong{font-size:clamp(34px,11vw,58px)}
}

/* Every project cover now uses a real frame from its corresponding video. */
.cover-news,.cover-ad{background-color:transparent;background-image:linear-gradient(180deg,rgba(7,11,19,.5) 0%,rgba(7,11,19,.03) 38%,rgba(7,11,19,.78) 100%)}
.cover-news:before,.cover-ad:before{color:rgba(255,255,255,.18);text-shadow:0 2px 24px rgba(0,0,0,.3)}
.cover-news strong,.cover-ad strong{align-self:end;margin-bottom:18px;text-shadow:0 2px 18px rgba(0,0,0,.7)}
.cover-news b,.cover-ad b{background:rgba(241,244,248,.94);color:var(--ink);border-left-color:var(--acid);backdrop-filter:blur(8px)}
.cover-news b:before,.cover-ad b:before{color:var(--acid)}

/* Balatro-inspired shader background for the first section of inner pages. */
.works-hero,.contact-hero{isolation:isolate;overflow:hidden;background:#dbe3f7}
.balatro-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:block;pointer-events:none;background:radial-gradient(circle at 72% 28%,#f1f4f8 0 12%,transparent 30%),linear-gradient(135deg,#f1f4f8,#86a7ff 52%,#2457ff)}
.works-hero:before,.contact-hero:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(241,244,248,.82) 0%,rgba(241,244,248,.58) 48%,rgba(241,244,248,.32) 100%)}
.works-hero>.hero-kicker,.works-hero>h1,.works-hero>.page-deck,.works-hero>.marker-c,.contact-hero>.hero-kicker,.contact-hero>h1,.contact-hero>.marker-d,.contact-hero>.contact-status{z-index:2}
.works-hero>.hero-kicker,.works-hero>h1,.works-hero>.page-deck,.contact-hero>.hero-kicker,.contact-hero>h1{position:relative}
.works-hero>.marker-c,.contact-hero>.marker-d,.contact-hero>.contact-status{position:absolute}
.works-hero h1,.contact-hero h1{text-shadow:0 1px 0 rgba(241,244,248,.25)}
.works-hero .page-deck,.contact-hero .contact-status{padding:12px 14px;background:rgba(241,244,248,.68);backdrop-filter:blur(7px)}

@media(max-width:800px){
  .works-hero:before,.contact-hero:before{background:linear-gradient(180deg,rgba(241,244,248,.76),rgba(241,244,248,.5))}
  .works-hero .page-deck{padding:10px 12px}
}

@media(prefers-reduced-motion:reduce){.balatro-bg{display:none}}
