:root{color-scheme:light;--case-paper:var(--site-bg,#f7f7f7);--case-ink:var(--site-ink,#262626);--case-muted:var(--site-muted,#777);--case-rule:var(--site-line,#dedede);--case-wash:var(--site-surface,#ededed);--case-accent:var(--site-yellow,#FBB034);--case-ease:cubic-bezier(.22,.7,.12,1);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Segoe UI",sans-serif;font-synthesis:none;background:var(--case-paper);color:var(--case-ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;line-height:1.75;-webkit-font-smoothing:antialiased}button,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--case-accent);outline-offset:5px}::selection{background:var(--site-yellow,#FBB034);color:#262626}[hidden]{display:none!important}.case-shell{width:min(1320px,calc(100% - 112px));margin-inline:auto}.case-header{padding:27px 0 20px;border-bottom:1px solid var(--case-rule);display:flex;justify-content:space-between;align-items:baseline;gap:30px;font-size:11px;letter-spacing:.025em}.case-header>a{white-space:nowrap}.case-review-notice{color:var(--case-muted);font-size:10px;margin:0}.case-skip{position:fixed;left:16px;top:12px;padding:10px 15px;background:var(--case-ink);color:var(--case-paper);z-index:30;transform:translateY(-160%)}.case-skip:focus{transform:none}
.case-title-block{display:grid;grid-template-columns:1fr 210px;gap:50px;align-items:center;padding:49px 0 35px}.case-kicker,.case-label{font-size:10px;letter-spacing:.11em;color:var(--case-muted);font-weight:400;margin:0 0 18px}.case-title-block h1{font-size:clamp(37px,4.6vw,67px);font-weight:400;letter-spacing:-.06em;line-height:1.4;margin:0 0 17px;overflow-wrap:anywhere}.case-intro{font-size:15px;line-height:1.95;max-width:720px;color:var(--case-muted);margin:0}.case-hand{font-family:"Apple Chancery","Snell Roundhand","Segoe Script",cursive;font-size:23px;font-weight:400;font-style:italic;letter-spacing:.005em;color:var(--case-accent);transform:rotate(-4deg);line-height:1.5}.case-title-note{padding:24px 0 0;text-align:center}.case-title-note small{display:block;font-family:inherit;font-size:11px;margin-top:12px;opacity:.8}
.case-film{margin:0}.case-player-wrap{position:relative;background:#202020;aspect-ratio:var(--case-film-ratio,2538 / 1080);overflow:hidden}.case-video{width:100%;height:100%;object-fit:contain;background:#202020}.case-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:13px;flex-direction:column;background:linear-gradient(transparent 55%,#17171740);border:0;color:#fff;font-size:13px;text-shadow:0 1px 9px #17171770}.case-play-icon{display:grid;place-items:center;width:62px;height:62px;border:1px solid #ffffffb0;border-radius:50%;background:#1717172b;backdrop-filter:blur(3px);padding-left:3px;transition:background .2s,transform .25s var(--case-ease)}.case-play:hover .case-play-icon{background:#17171765;transform:scale(1.045)}.case-film-controls{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:16px 0 0}.case-film-controls>p{font-size:10px;color:var(--case-muted);margin:0}.case-quality{display:flex;gap:23px;align-items:center}.case-quality-label{font-size:10px;color:var(--case-muted)}.case-quality button{padding:3px 0 4px;background:none;border:0;border-bottom:1px solid transparent;font-size:11px;color:var(--case-muted)}.case-quality button[aria-pressed="true"]{color:var(--case-ink);border-color:var(--case-ink)}.case-quality button>small{font-size:9px;margin-left:6px;opacity:.75}.case-film-caption{font-size:11px;color:var(--case-muted);line-height:1.9;margin:14px 0 0;max-width:930px}.case-player-status{font-size:11px;color:var(--case-muted);min-height:0;margin:0}.case-player-status:not(:empty){margin-top:11px}.case-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 40px;border-bottom:1px solid var(--case-rule);margin:0;padding:32px 0 33px}.case-meta dt{font-size:10px;color:var(--case-muted);margin-bottom:7px}.case-meta dd{font-size:13px;line-height:1.85;margin:0;overflow-wrap:anywhere}
.case-section{padding-top:105px}.case-section-head{display:grid;grid-template-columns:240px minmax(0,1fr);gap:55px;margin-bottom:34px;align-items:start}.case-section-head h2,.case-prose h2{font-size:29px;line-height:1.5;font-weight:400;letter-spacing:-.04em;margin:0}.case-section-intro{font-size:15px;color:var(--case-muted);max-width:740px;margin:0;line-height:2}.case-prose{width:min(760px,calc(100% - 48px));margin-inline:auto}.case-prose>h2{margin-bottom:25px}.case-prose p,.case-text p{font-size:16px;line-height:2.1;letter-spacing:.005em;color:var(--case-muted);margin:0 0 21px;overflow-wrap:anywhere}.case-prose p:last-child,.case-text p:last-child{margin-bottom:0}.case-origin{display:grid;grid-template-columns:240px minmax(0,1fr);gap:55px}.case-origin h2{font-size:29px;font-weight:400;line-height:1.5;letter-spacing:-.04em;margin:0}.case-origin .case-text{max-width:760px}
.case-vision-layout{display:grid;grid-template-columns:2.06fr 1fr;gap:24px;align-items:start}.case-image-figure{margin:0;min-width:0}.case-image-button{display:block;width:100%;padding:0;background:none;border:0;text-align:left;overflow:hidden;cursor:zoom-in}.case-image-button img{width:100%;height:auto;transition:transform .65s var(--case-ease)}.case-image-button:hover img{transform:scale(1.012)}.case-image-figure figcaption{display:flex;justify-content:space-between;gap:18px;font-size:10px;line-height:1.8;color:var(--case-muted);margin-top:11px}.case-image-figure time{font-size:9px;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.05em}.case-vision-details{display:grid;gap:23px}.case-palette{display:flex;margin-top:28px;gap:0}.case-swatch{flex:1;min-width:0}.case-swatch span{display:block;height:14px;background:var(--swatch)}.case-swatch p{font-size:9px;line-height:1.6;color:var(--case-muted);padding-right:9px;margin:10px 0 0}.case-vision-foot{display:flex;justify-content:space-between;gap:45px;align-items:start;margin-top:28px}.case-vision-notes{margin:0;padding:0;list-style:none;max-width:800px}.case-vision-notes li{font-size:12px;line-height:1.95;color:var(--case-muted);margin:0 0 8px}.case-vision-foot .case-hand{font-size:20px;margin:0;white-space:nowrap}.case-process-text{max-width:760px;margin:0 0 32px auto}.case-process-images{display:grid;gap:26px}.case-process-images.case-process-pair{grid-template-columns:1fr 1.8fr;align-items:center;gap:40px}.case-process-images.case-process-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}.case-process-images:not(.case-process-pair):not(.case-process-grid){width:min(1080px,100%);margin-inline:auto}.case-process-images .case-image-figure figcaption{justify-content:flex-start}
.case-music{display:grid;grid-template-columns:240px minmax(0,1fr);gap:55px}.case-music h2{font-size:29px;font-weight:400;line-height:1.5;letter-spacing:-.04em;margin:0}.case-music .case-hand{font-size:20px;margin-top:27px}.case-music .case-text{max-width:760px}.case-tools{width:min(1050px,calc(100% - 112px));margin-inline:auto}.case-tools h2{font-size:27px;font-weight:400;line-height:1.5;letter-spacing:-.03em;margin:0 0 30px}.case-tool-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:45px;padding:19px 0;border-top:1px solid var(--case-rule)}.case-tool-row:last-child{border-bottom:1px solid var(--case-rule)}.case-tool-row h3{font-size:15px;font-weight:400;line-height:1.9;margin:0}.case-tool-row p{font-size:13px;line-height:2;color:var(--case-muted);margin:0;overflow-wrap:anywhere}.case-reflections .case-hand{margin:35px 0 0;text-align:right;font-size:24px}.case-questions{width:min(760px,calc(100% - 48px));margin:65px auto 90px;border-top:1px solid var(--case-rule);border-bottom:1px solid var(--case-rule);padding:20px 0}.case-questions summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;font-size:13px;list-style:none}.case-questions summary::-webkit-details-marker{display:none}.case-questions summary:after{content:"+";font-size:21px;color:var(--case-muted)}.case-questions[open] summary:after{content:"−"}.case-questions ul{padding-left:19px;margin:23px 0 4px;color:var(--case-muted);font-size:13px;line-height:1.95}.case-questions li{padding-left:4px;margin-bottom:12px}.case-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--case-rule);padding:26px 0 35px;font-size:10px;color:var(--case-muted)}
.case-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:55px 38px 30px;background:#171717f5;color:#f4f4f4;overflow:auto}.case-lightbox::backdrop{background:#171717f0}.case-lightbox:not([open]){display:none}.case-lightbox figure{margin:0;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.case-lightbox img{max-width:100%;max-height:calc(100dvh - 130px);width:auto;height:auto;object-fit:contain}.case-lightbox figcaption{font-size:12px;color:#d5d5d5;max-width:950px;text-align:center;line-height:1.8}.case-lightbox-close{position:fixed;right:26px;top:16px;border:0;background:none;color:#f4f4f4;padding:8px 12px;font-size:12px}.case-lightbox-close span{font-size:21px;margin-left:14px}.case-lightbox button:focus-visible{outline-color:var(--site-yellow,#FBB034)}.case-revealed{animation:case-arrive .68s var(--case-ease) both}@keyframes case-arrive{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:none}}
.case-shell .case-process-images.case-process-trio{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:34px 30px;align-items:start}.case-process-trio>.case-image-figure:last-child{grid-column:1 / -1}
.case-section h2,.case-intro{text-wrap:balance}
.case-title-block{row-gap:0}.case-kicker-row{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:18px}.case-kicker-row .case-kicker{margin:0}.case-date{font-size:10px;letter-spacing:.08em;color:var(--case-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.case-roles{display:flex;flex-wrap:wrap;gap:17px 34px;margin:24px 0 0}.case-roles>div{display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:baseline;position:relative;padding-left:22px}.case-roles>div:before{content:"";position:absolute;left:0;top:.65em;width:12px;height:2px;background:var(--site-yellow,#FBB034)}.case-roles dt{font-size:9px;color:var(--case-muted);font-weight:300;letter-spacing:.025em}.case-roles dd{font-size:12px;font-weight:300;margin:0;line-height:1.7}
.case-shell .case-process-images.case-process-canvas-first{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:34px 30px;align-items:start}.case-process-canvas-first>.case-image-figure:first-child{grid-column:1 / -1}
/* Exactly four process images: larger, balanced 2 × 2 canvases on desktop only. */
@media(min-width:761px){.case-process-images.case-process-grid:has(> .case-image-figure:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
.case-music-content{max-width:760px;min-width:0}.case-tracks{margin-top:31px}.case-track{padding:18px 0 17px;border-top:1px solid var(--case-rule)}.case-track:last-child{border-bottom:1px solid var(--case-rule)}.case-track-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:11px}.case-track-heading h3{font-size:13px;font-weight:400;line-height:1.8;margin:0;overflow-wrap:anywhere}.case-track-heading>span{font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--case-muted)}.case-track audio{display:block;width:100%;height:36px;max-width:100%}.case-audio-status{font-size:11px;line-height:1.8;color:var(--case-muted);margin:0}.case-audio-status:not(:empty){margin-top:10px}.case-track-source{font-size:9px;color:var(--case-muted);margin-top:8px}.case-track-source summary{cursor:pointer;width:fit-content}.case-track-source p{font-size:10px;margin:7px 0 0;overflow-wrap:anywhere}.case-prompt{margin-top:38px}.case-prompt-label{font-size:13px;font-weight:400;margin:0 0 23px}.case-prompt-quote{position:relative;margin:0;border-left:1px solid var(--site-line,#dedede);padding:18px 0 2px 28px}.case-prompt-mark{position:absolute;left:27px;top:-15px;font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1;color:var(--case-accent)}.case-prompt-lyrics,.case-prompt-style{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--case-muted)}.case-prompt-lyrics{font-family:"Apple Chancery","Snell Roundhand","Segoe Script",cursive;font-style:italic;font-weight:300;font-size:15px;line-height:1.85;letter-spacing:.01em}.case-prompt-style{font-size:13px;font-weight:300;font-style:italic;font-synthesis:style;line-height:2.05;margin-top:27px}
@media(max-width:1100px){.case-shell{width:calc(100% - 64px)}.case-title-block{grid-template-columns:1fr 150px;gap:30px}.case-title-note{font-size:20px}.case-section-head,.case-origin,.case-music{grid-template-columns:180px 1fr;gap:34px}.case-tools{width:calc(100% - 112px)}.case-vision-layout{gap:20px}.case-tool-row{grid-template-columns:170px 1fr;gap:30px}.case-meta{gap:24px}.case-process-images.case-process-pair{gap:28px}}
@media(max-width:760px){html{scroll-padding-top:20px}.case-shell{width:calc(100% - 36px)}.case-header{padding:20px 0 16px;gap:15px;align-items:start;font-size:10px}.case-review-notice{font-size:9px;max-width:230px}.case-header>a{font-size:9px}.case-title-block{display:block;padding:32px 0 25px}.case-kicker{font-size:9px;letter-spacing:.07em;margin-bottom:15px}.case-title-block h1{font-size:34px;line-height:1.45;letter-spacing:-.055em;margin-bottom:17px}.case-intro{font-size:13px;line-height:1.95}.case-title-note{font-size:19px;text-align:right;padding:0;margin:23px 7px 0;line-height:1.3}.case-title-note small{display:none}.case-play{font-size:10px;gap:8px}.case-play-icon{width:42px;height:42px}.case-play-icon svg{width:13px;height:13px}.case-film-controls{gap:14px;align-items:start;padding-top:12px}.case-film-controls>p{font-size:9px;max-width:135px;line-height:1.7}.case-quality{gap:15px}.case-quality-label{display:none}.case-quality button{font-size:10px}.case-quality button>small{display:block;margin:2px 0 0;font-size:8px}.case-film-caption{font-size:10px;margin-top:13px}.case-meta{grid-template-columns:1fr 1fr;gap:22px 27px;padding:25px 0 27px}.case-meta dt{font-size:9px;margin-bottom:5px}.case-meta dd{font-size:11px}.case-section{padding-top:64px}.case-section-head,.case-origin,.case-music{display:block}.case-section-head{margin-bottom:24px}.case-section-head h2,.case-origin h2,.case-music h2,.case-prose h2{font-size:25px;margin:0 0 21px;line-height:1.5}.case-section-intro{font-size:13px;line-height:2}.case-text p,.case-prose p{font-size:14px;line-height:2.05;margin-bottom:20px}.case-prose{width:calc(100% - 40px)}.case-vision-layout{display:block}.case-vision-details{grid-template-columns:1fr 1fr;gap:15px;margin-top:22px}.case-image-figure figcaption{display:block;margin-top:9px;font-size:9px;line-height:1.75}.case-image-figure time{display:block;font-size:8px;margin-top:5px}.case-palette{margin-top:22px}.case-swatch span{height:11px}.case-swatch p{font-size:8px;padding-right:7px;margin-top:7px}.case-vision-foot{display:block;margin-top:21px}.case-vision-notes li{font-size:11px}.case-vision-foot .case-hand{text-align:right;font-size:18px;margin-top:18px}.case-process-text{margin-bottom:25px}.case-process-images.case-process-pair{display:block}.case-process-images.case-process-pair>figure+figure{margin-top:27px}.case-process-images.case-process-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 9px}.case-process-grid .case-image-figure figcaption{font-size:8px}.case-music .case-hand{margin:0 0 23px;font-size:19px}.case-tools{width:calc(100% - 40px)}.case-tools h2{font-size:25px;margin-bottom:23px}.case-tool-row{grid-template-columns:97px 1fr;gap:22px;padding:17px 0}.case-tool-row h3{font-size:13px}.case-tool-row p{font-size:12px;line-height:1.95}.case-reflections .case-hand{font-size:22px;margin-top:26px}.case-questions{width:calc(100% - 40px);margin:45px auto 60px;padding:18px 0}.case-questions summary{font-size:12px}.case-questions ul{font-size:12px;padding-left:17px}.case-footer{font-size:9px;gap:20px;padding:22px 0 29px;align-items:start}.case-footer>span{max-width:220px}.case-footer>a{white-space:nowrap}.case-lightbox{padding:62px 18px 28px}.case-lightbox-close{right:8px;top:13px}.case-lightbox figcaption{font-size:11px;line-height:1.9}.case-lightbox img{max-height:calc(100dvh - 155px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.case-image-button:hover img,.case-play:hover .case-play-icon{transform:none}}
@media(max-width:760px){.case-shell .case-process-images.case-process-trio,.case-process-images.case-process-grid{display:grid;grid-template-columns:1fr;gap:28px}.case-process-grid .case-image-figure figcaption{font-size:10px}}
@media(max-width:760px){.case-kicker-row{margin-bottom:15px}.case-date{font-size:9px}.case-roles{gap:12px 21px;margin-top:20px}.case-roles>div{column-gap:7px;padding-left:17px}.case-roles>div:before{width:10px}.case-roles dt{font-size:8px}.case-roles dd{font-size:11px}.case-shell .case-process-images.case-process-canvas-first{grid-template-columns:1fr;gap:28px}.case-tracks{margin-top:25px}.case-track-heading{gap:12px}.case-track-heading h3{font-size:12px}.case-track-heading>span{font-size:9px}.case-prompt{margin-top:31px}.case-prompt-label{font-size:12px}.case-prompt-quote{padding-left:20px}.case-prompt-mark{left:19px}.case-prompt-lyrics{font-size:13.5px}.case-prompt-style{font-size:12px;line-height:2.05}}
/* Evidence-led chapters: text, source image and prompt share the same reading order. */
.case-chapter{padding-top:76px;scroll-margin-top:105px}.case-chapter:last-of-type{padding-bottom:90px}.case-chapter-heading{border-top:1px solid var(--case-rule);padding-top:23px;display:flex;align-items:baseline;gap:20px;margin-bottom:30px}.case-chapter-heading>span{font-size:10px;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--case-muted)}.case-chapter-heading h2{font-size:27px;line-height:1.5;font-weight:400;letter-spacing:-.025em;margin:0}.case-chapter-blocks{display:grid;gap:32px}.case-chapter-text{width:min(760px,100%);margin-inline:auto}.case-chapter-image{width:min(1080px,100%);margin-inline:auto}.case-chapter-gallery{display:grid;gap:25px;align-items:start}.case-chapter-gallery-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.case-chapter-gallery-triptych{grid-template-columns:repeat(3,minmax(0,1fr))}.case-chapter .case-prompt{margin-top:4px;width:min(760px,100%)}.case-chapter .case-prompt-style{margin-top:0}.case-chapter .case-prompt-label{margin-bottom:26px}.case-chapter figcaption{font-size:11px;line-height:1.85}.case-chapter .case-text p{color:var(--case-ink)}
@media(max-width:760px){.case-chapter{padding-top:46px;scroll-margin-top:85px}.case-chapter:last-of-type{padding-bottom:60px}.case-chapter-heading{padding-top:18px;margin-bottom:21px;gap:14px}.case-chapter-heading h2{font-size:23px}.case-chapter-blocks{gap:24px}.case-chapter-gallery{grid-template-columns:1fr;gap:25px}.case-chapter figcaption{font-size:10px}}
/* Portfolio review mode: the shared personal-site header, scoped to this page. */
.case-chapter-essay{padding-top:72px}.case-chapter-essay .case-chapter-heading{display:block;width:min(760px,100%);margin-inline:auto;padding-top:0;border:0}.case-chapter-essay .case-chapter-heading h2{font-size:29px;line-height:1.6}.case-chapter-essay .case-chapter-image,.case-chapter-essay .case-chapter-gallery{width:min(760px,100%);margin-inline:auto}.case-chapter-essay .case-chapter-blocks{gap:35px}.case-chapter-essay .case-chapter-gallery{gap:18px}
.case-chapter-essay#credits{padding-top:48px}.case-chapter-essay#credits .case-chapter-heading{padding-top:24px;border-top:1px solid var(--case-rule);margin-bottom:14px}.case-chapter-essay#credits .case-chapter-heading h2{font-size:13px;font-weight:400;letter-spacing:.04em;color:var(--case-muted)}.case-chapter-essay#credits .case-chapter-text p{font-size:12px;line-height:2;margin:0;color:var(--case-muted)}
@media(max-width:760px){.case-chapter-essay{padding-top:43px}.case-chapter-essay .case-chapter-heading h2{font-size:24px}.case-chapter-essay .case-chapter-blocks{gap:27px}.case-chapter-essay .case-chapter-gallery{gap:18px}}
.case-role-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}.case-role-label{font-size:9px;font-weight:300;letter-spacing:.025em;color:var(--case-muted)}
.case-title-portfolio h1{letter-spacing:-.025em}
.case-interlude{padding-top:66px}
@media(max-width:760px){.case-interlude{padding-top:36px}.case-interlude .case-vision-details{grid-template-columns:1fr;gap:18px;margin-top:18px}}
html[data-theme="dark"]{color-scheme:dark;--case-paper:var(--site-bg,#202020);--case-ink:var(--site-ink,#efefef);--case-muted:var(--site-muted,#aaa);--case-rule:var(--site-line,#3b3b3b);--case-wash:var(--site-surface,#292929);--case-accent:var(--site-yellow,#FBB034)}.case-portfolio .pk-header{position:sticky;top:0;z-index:40;background:rgba(247,245,240,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--case-rule);font-family:"Jost","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}.case-portfolio .pk-shell{width:min(100% - 112px,1320px);margin-inline:auto}.case-portfolio .pk-header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.case-portfolio .pk-identity{display:flex;align-items:center;gap:18px;font-size:15px;white-space:nowrap;min-width:0}.case-portfolio .pk-identity-name{font-weight:500;letter-spacing:.06em;max-width:260px;overflow:hidden;text-overflow:ellipsis}.case-portfolio .pk-identity-divider{color:var(--case-muted)}.case-portfolio .pk-identity-label{font-size:9px;letter-spacing:.08em;font-weight:500;color:var(--case-muted)}.case-portfolio .pk-header-right{display:flex;gap:32px;align-items:center;flex-shrink:0}.case-portfolio .pk-desktop-nav{display:flex;gap:32px;font-size:12px}.case-portfolio .pk-desktop-nav a{position:relative}.case-portfolio .pk-desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--case-accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.case-portfolio .pk-desktop-nav a:hover:after{transform:scaleX(1)}.case-portfolio .pk-demo{font-size:9px;color:var(--case-muted);white-space:nowrap}.case-portfolio .pk-theme{display:grid;place-items:center;width:32px;height:36px;border:0;background:transparent;font-size:23px}.case-portfolio .pk-menu-button{display:none}.case-portfolio .pk-mobile-nav{padding:14px 24px 28px;border-top:1px solid var(--case-rule)}.case-portfolio .pk-mobile-nav a{display:block;padding:12px 0;font-size:20px}.case-title-block.case-title-portfolio{display:block;padding:49px 0 35px}.case-title-portfolio .case-date{display:block;margin:0;letter-spacing:.06em}.case-role-line{font-size:12px;font-weight:300;line-height:1.8;margin:15px 0 0;padding-left:23px;position:relative}.case-role-line:before{content:"";position:absolute;left:0;top:.75em;width:12px;height:2px;background:var(--site-yellow,#FBB034)}.case-portfolio .case-film-controls{justify-content:flex-end}.case-origin-plain{display:block;max-width:760px;padding-top:72px}.case-portfolio .case-reflections{margin-bottom:90px}html[data-theme="dark"] .pk-header{background:rgba(32,36,31,.94)}html[data-theme="dark"] .case-prompt-quote{border-color:var(--site-line,#3b3b3b)}
@media(max-width:1100px){.case-portfolio .pk-shell{width:calc(100% - 64px)}.case-portfolio .pk-header-right{gap:23px}.case-portfolio .pk-demo{display:none}}
@media(max-width:1000px){.case-portfolio .pk-identity-label{display:none}.case-portfolio .pk-desktop-nav{gap:20px}}
@media(max-width:760px){.case-portfolio .pk-shell{width:calc(100% - 36px)}.case-portfolio .pk-header-inner{height:64px;gap:10px}.case-portfolio .pk-identity{font-size:13px;gap:10px}.case-portfolio .pk-header-right{gap:12px}.case-portfolio .pk-desktop-nav{display:none}.case-portfolio .pk-theme{width:28px;height:40px;font-size:22px}.case-portfolio .pk-menu-button{display:flex;align-items:center;gap:8px;border:0;background:none;height:42px;padding:0;font-size:11px}.case-portfolio .pk-menu-button>span{font-size:21px}.case-title-block.case-title-portfolio{padding:32px 0 27px}.case-role-line{font-size:11px;margin-top:13px;padding-left:21px}.case-origin-plain{padding-top:43px}.case-portfolio .case-reflections{margin-bottom:60px}}
.case-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.case-gallery{padding:42px 90px 45px;background:#171717f7;cursor:zoom-out}.case-gallery::backdrop{background:#171717}.case-gallery figure{min-height:100%;pointer-events:auto}.case-gallery img{max-height:calc(100dvh - 150px)}.case-gallery figcaption{color:#d2d2d2}.case-gallery-prev,.case-gallery-next{position:fixed;z-index:1;top:calc(50% - 26px);width:52px;height:52px;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:50%;background:#20202080;color:#f4f4f4;cursor:pointer;transition:background .2s}.case-gallery-prev{left:22px}.case-gallery-next{right:22px}.case-gallery-prev:hover,.case-gallery-next:hover{background:#ffffff22}.case-gallery button svg{width:24px;height:24px}.case-gallery button:focus-visible{outline-color:var(--site-yellow,#FBB034)}.case-gallery-count{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.1em;color:#bbb;font-variant-numeric:tabular-nums}
@media(max-width:760px){.case-gallery{padding:30px 18px 82px}.case-gallery img{max-height:calc(100dvh - 200px)}.case-gallery-prev,.case-gallery-next{top:auto;bottom:16px;width:44px;height:44px}.case-gallery-prev{left:calc(50% - 110px)}.case-gallery-next{right:calc(50% - 110px)}.case-gallery-count{bottom:28px}}
@media print{.case-play,.case-quality,.case-lightbox,.case-questions,.case-footer>a{display:none!important}.case-section{break-inside:avoid;padding-top:40px}.case-shell,.case-prose,.case-tools{width:100%}.case-header{font-size:9px}.case-title-block{padding-top:30px}.case-title-block h1{font-size:34px}.case-review-notice{font-size:9px}}

/* Resolved maintenance-room masthead, not a second homepage design.
   Source HEAD: 917675acf9a95eec69e5dd4fa2e93dd235423892
   Source personal-kit.css SHA-256:
   493185ed5ae4bc6358ac761cec95b081bdd1eca2da9816dc5bf66e53f0bba11d
   Load after case-study.css. Article typography and layout remain there. */

html.case-kwei {
  color-scheme: light;
  --pk-bg: #f7f7f7;
  --pk-surface: #ededed;
  --pk-ink: #262626;
  --pk-muted: #777;
  --pk-line: #dedede;
  --pk-accent: var(--site-yellow,#FBB034);
  --pk-header: rgba(247, 247, 247, .93);
  --pk-font: "Jost", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --case-paper: var(--pk-bg);
  --case-wash: var(--pk-surface);
  --case-ink: var(--pk-ink);
  --case-muted: var(--pk-muted);
  --case-rule: var(--pk-line);
  --case-accent: var(--pk-accent);
}

html.case-kwei[data-theme="dark"] {
  color-scheme: dark;
  --pk-bg: #202020;
  --pk-surface: #292929;
  --pk-ink: #efefef;
  --pk-muted: #aaa;
  --pk-line: #3b3b3b;
  --pk-accent: var(--site-yellow,#FBB034);
  --pk-header: rgba(32, 32, 32, .93);
}

html.case-kwei ::selection { background: var(--site-yellow,#FBB034); color: #262626; }
html.case-kwei .case-prompt-quote { border-color: var(--pk-line); }
html.case-kwei :is(.case-video, .case-player-wrap) { background: #202020; }

html.case-kwei .case-portfolio .pk-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--pk-header);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--pk-line);
  color: var(--pk-ink);
  font-family: var(--pk-font);
  line-height: 1.6;
}

.case-portfolio .pk-header .pk-shell { width: min(calc(100% - 128px), 1280px); margin-inline: auto; }
.case-portfolio .pk-header-inner { height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.case-portfolio .pk-identity { display: flex; align-items: baseline; gap: 15px; min-width: 0; font-size: 14px; font-weight: 600; line-height: 1.3; letter-spacing: 0; white-space: nowrap; }
.case-portfolio .pk-identity-name { display: inline-flex; align-items: baseline; max-width: none; overflow: hidden; text-overflow: ellipsis; color: var(--pk-ink); font-size: 14px; font-weight: 500; line-height: 1.3; letter-spacing: .015em; }
.case-portfolio .pk-identity-name > [data-pk-zh] { font-size: inherit; font-weight: inherit; white-space: pre; }
.case-portfolio .pk-identity-divider { display: block; font-size: 13px; font-weight: 400; line-height: 1; color: var(--pk-muted); }
.case-portfolio .pk-identity-label { display: inline-flex; align-items: baseline; gap: 9px; font-size: 12px; font-weight: 500; line-height: 1.3; letter-spacing: 0; color: var(--pk-muted); }
.case-portfolio .kw-library-label { font-size: 11px; line-height: 1.3; letter-spacing: .015em; color: var(--pk-muted); }
.case-portfolio .pk-header-right { display: flex; align-items: center; flex-shrink: 0; gap: 26px; }
.case-portfolio .pk-desktop-nav { display: flex; gap: 27px; font-size: 12px; }
.case-portfolio .pk-desktop-nav a { position: relative; }
.case-portfolio .pk-desktop-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 1px; background: var(--pk-accent); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.case-portfolio .pk-desktop-nav a:hover::after { transform: scaleX(1); }
.case-portfolio .kw-header-controls { display: flex; align-items: center; gap: 14px; padding-left: 23px; border-left: 1px solid var(--pk-line); }
.case-portfolio .kw-language { width: 30px; height: 36px; padding: 0; border: 0; background: none; font-size: 11px; }
.case-portfolio .pk-theme { display: grid; place-items: center; width: 30px; height: 36px; border: 0; background: transparent; font-size: 23px; }
.case-portfolio .pk-theme svg { width: 19px; height: 19px; }
.case-portfolio .kw-sun { display: none; }
.case-portfolio .kw-moon { display: block; }
html.case-kwei[data-theme="dark"] .case-portfolio .kw-sun { display: block; }
html.case-kwei[data-theme="dark"] .case-portfolio .kw-moon { display: none; }
.case-portfolio .pk-menu-button { display: none; }
.case-portfolio .pk-mobile-nav { padding: 14px 24px 28px; border-top: 1px solid var(--pk-line); }
.case-portfolio .pk-mobile-nav a { display: block; padding: 12px 0; font-size: 20px; }
.case-portfolio .pk-menu-button > [data-pk-zh] { font: inherit; }
.case-portfolio .pk-header :is(a, button):is(:hover, :focus-visible) { color: var(--pk-accent); }
.case-portfolio .pk-identity:is(:hover, :focus-visible) :is(.pk-identity-name, .pk-identity-label, .pk-identity-divider) { color: var(--pk-accent); }
.case-portfolio .pk-header :is(a, button):focus-visible { outline: 2px solid var(--pk-accent); outline-offset: 5px; }
.case-portfolio :is(.pk-identity-name, .pk-identity-label, .pk-identity-divider, .pk-desktop-nav a, .pk-mobile-nav a, .kw-language, .pk-theme, .pk-menu-button) { transition: color .18s ease, border-color .18s ease; }

/* The article footer follows the established 760 px reading column. */
html.case-kwei .case-portfolio .case-footer { width: min(760px, calc(100% - 48px)); margin-inline: auto; }

@media (min-width: 1600px) {
  .case-portfolio .pk-header .pk-shell { width: min(calc(100% - 160px), 1440px); }
}

@media (max-width: 1179px) {
  .case-portfolio .pk-header .pk-shell { width: calc(100% - 64px); }
  .case-portfolio .kw-library-label { display: none; }
}

@media (max-width: 760px) {
  .case-portfolio .pk-header .pk-shell { width: calc(100% - 36px); }
  .case-portfolio .pk-header-inner { height: 58px; gap: 10px; }
  .case-portfolio .pk-identity { font-size: 12px; gap: 8px; }
  .case-portfolio .pk-identity-name { font-size: 12px; }
  .case-portfolio .pk-identity-divider { font-size: 11px; }
  .case-portfolio .pk-identity-label { font-size: 10px; }
  .case-portfolio .pk-header-right { gap: 9px; }
  .case-portfolio .pk-desktop-nav { display: none; }
  .case-portfolio .kw-header-controls { padding-left: 0; border: 0; gap: 3px; }
  .case-portfolio .kw-language { width: 26px; }
  .case-portfolio .pk-theme { width: 26px; font-size: 22px; }
  .case-portfolio .pk-menu-button { display: flex; align-items: center; gap: 8px; height: 42px; padding: 0; border: 0; background: none; font-size: 10px; }
  .case-portfolio .pk-menu-button > span { font-size: 21px; }
  .case-portfolio .pk-menu-button > [data-pk-zh] { font: inherit; }
  html.case-kwei .case-portfolio .case-footer { width: calc(100% - 40px); }
}

@media (prefers-reduced-motion: reduce) {
  .case-portfolio .pk-header a,
  .case-portfolio .pk-header button,
  .case-portfolio .pk-header a *,
  .case-portfolio .pk-desktop-nav a::after { transition: none; }
}
