:root{--bg:#111;--fg:#f1f0ec;--muted:#858580;--line:#363633;--accent:#e7dfd2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Manrope,'Noto Sans KR',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.topbar{height:82px;padding:0 5.3vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:22px;font-weight:800;letter-spacing:-2px}.wordmark span{font:10px 'DM Mono',monospace;vertical-align:top;margin-left:3px;color:var(--accent)}.nav{display:flex;gap:38px;font:11px 'DM Mono',monospace;letter-spacing:.06em}.nav a{color:#aaa;transition:color .2s}.nav a:hover,.nav .active{color:var(--fg)}.nav sup{color:var(--accent);font-size:8px}.arrow{color:var(--accent)}.menu-toggle{display:none;background:none;border:0}.intro{min-height:570px;padding:91px 10vw 66px;display:flex;flex-direction:column;justify-content:space-between;border-bottom:1px solid var(--line)}.eyebrow{font:10px 'DM Mono',monospace;letter-spacing:.1em;color:#a5a59f}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:8px;box-shadow:0 0 12px #e7dfd280}.year{float:right;color:#686863}.intro h1{margin:62px 0 42px;font-size:clamp(74px,12vw,174px);line-height:.79;letter-spacing:-.095em;font-weight:600}.intro h1 em{font-style:normal;color:var(--accent)}.intro-bottom{display:flex;align-items:flex-end;justify-content:space-between}.intro-bottom p{margin:0;color:#b6b6b0;font-size:14px;line-height:1.8}.intro-bottom strong{color:var(--fg);font-weight:600}.scroll-link{font:9px 'DM Mono',monospace;letter-spacing:.08em;color:#aaa}.scroll-link span{color:var(--accent);margin-left:13px;font-size:15px}.works{padding:120px 10vw 75px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end}.section-heading h2{font-size:clamp(42px,6vw,78px);letter-spacing:-.07em;font-weight:500;margin:18px 0 0}.period{color:var(--accent)}.section-heading p{font-size:12px;line-height:1.8;color:#92928d;margin:0 0 8px}.filters{display:flex;gap:28px;margin:53px 0 29px;border-bottom:1px solid var(--line);padding-bottom:15px}.filter{appearance:none;border:0;background:none;padding:0;color:#777;font:10px 'DM Mono',monospace;cursor:pointer;transition:color .2s}.filter span{font-size:8px;color:#62625d;margin-left:4px}.filter.active,.filter:hover{color:var(--accent)}.project-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;row-gap:62px}.project{display:block;min-width:0}.project:nth-child(even){margin-top:95px}.project-image{height:clamp(250px,35vw,510px);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:filter .3s}.project:hover .project-image{filter:brightness(1.08)}.project-open{position:absolute;right:18px;top:17px;width:36px;height:36px;border-radius:50%;background:#111;color:var(--accent);display:grid;place-items:center;font-size:17px;transition:transform .3s}.project:hover .project-open{transform:rotate(45deg)}.project-meta{display:flex;justify-content:space-between;padding-top:17px}.project-type,.project-year{font:9px 'DM Mono',monospace;color:#858580;letter-spacing:.08em}.project h3{font-size:20px;font-weight:500;letter-spacing:-.04em;margin:7px 0 0}.project-year{padding-top:4px}.image-serein{background:linear-gradient(140deg,#d6d0c1,#c8c0af 55%,#bcb3a3);color:#26352d;flex-direction:column}.ser-logo{font-family:Georgia,serif;font-size:clamp(42px,7vw,100px);letter-spacing:-.09em}.ser-logo span{font:12px Manrope;vertical-align:top;margin-left:8px}.image-caption{position:absolute;bottom:25px;font:8px 'DM Mono',monospace;letter-spacing:.21em}.image-nova{background:radial-gradient(ellipse at 55% 45%,#6a73c8,#282b60 40%,#171833 80%);color:white}.nova-orbit{position:absolute;width:55%;height:80%;border:1px solid #ffffff55;border-radius:50%;transform:rotate(34deg)}.orbit-two{width:70%;height:52%;transform:rotate(-30deg);border-color:#c7cbff66}.nova-core{width:80px;height:80px;border-radius:50%;background:linear-gradient(140deg,#e9f8ff,#9cafff 55%,#5d65c5);color:#292d65;display:grid;place-items:center;font-size:35px;font-weight:700;box-shadow:0 0 70px #b6c3ff88}.nova-label{position:absolute;left:24px;bottom:24px;font:9px 'DM Mono',monospace;line-height:1.5;letter-spacing:.12em}.image-after{background:linear-gradient(145deg,#e3b39e,#c8786e 54%,#733d48);color:#4a2634;flex-direction:column}.after-sun{position:absolute;width:40%;aspect-ratio:1;border-radius:50%;background:linear-gradient(140deg,#f8d6a0,#e89370);top:14%;right:15%;mix-blend-mode:screen}.after-title{z-index:1;align-self:flex-start;margin-left:12%;font:clamp(45px,7vw,95px)/.76 Georgia,serif;letter-spacing:-.08em}.after-sub{position:absolute;bottom:26px;left:12%;font:8px 'DM Mono',monospace;letter-spacing:.13em}.image-morrow{background:#c3d4a8;color:#253426}.morrow-stamp{position:absolute;left:13%;top:15%;width:80px;height:80px;border:1px solid #253426;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:25px Georgia;text-align:center}.morrow-stamp small{font:6px 'DM Mono',monospace;line-height:1.4;margin-top:4px}.morrow-name{font:clamp(53px,8vw,108px)/.7 Georgia,serif;letter-spacing:-.1em;transform:rotate(-8deg)}.morrow-name i{font-size:.58em;margin-left:30%;font-weight:400}.work-note{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:86px;padding-top:14px;color:#70706b;font:8px 'DM Mono',monospace;letter-spacing:.1em}.about{padding:105px 10vw 80px;border-top:1px solid var(--line)}.about-content{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;margin:36px 0 62px}.about h2{font-size:clamp(48px,8vw,104px);line-height:1.08;letter-spacing:-.09em;font-weight:500;margin:0}.about h2 em{font-style:normal;color:var(--accent)}.about-copy p{font-size:13px;line-height:1.9;color:#aaa;margin:0 0 24px}.text-link{font:9px 'DM Mono',monospace;letter-spacing:.1em;border-bottom:1px solid #62625d;padding-bottom:9px}.text-link span{color:var(--accent);margin-left:20px}.skills{display:flex;gap:9px;flex-wrap:wrap}.skills span{padding:10px 13px;border:1px solid var(--line);color:#aaa;font:8px 'DM Mono',monospace;letter-spacing:.07em}footer{background:var(--accent);color:#111;padding:66px 10vw 23px}.footer-top{border-bottom:1px solid #1115;padding-bottom:50px}.footer-top .eyebrow{color:#45512b}.contact-cta{display:flex;justify-content:space-between;align-items:center;font-size:clamp(65px,12vw,150px);font-weight:600;letter-spacing:-.09em;margin-top:28px;line-height:.9}.contact-cta span{font-size:.48em;align-self:flex-start}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:20px;font:8px 'DM Mono',monospace;letter-spacing:.06em}.footer-bottom .wordmark span{color:#45512b}.footer-bottom>span{color:#45512b}.footer-bottom div{display:flex;gap:23px}.footer-bottom div a{color:#303923}.project.hidden{display:none}@media(min-width:1500px){.intro,.works,.about{padding-left:max(10vw,calc((100vw - 1180px)/2));padding-right:max(10vw,calc((100vw - 1180px)/2))}}@media(max-width:700px){.topbar{height:66px;padding:0 6vw}.nav{gap:17px;font-size:9px}.intro{min-height:490px;padding:75px 7vw 42px}.intro h1{font-size:clamp(65px,15vw,110px);margin:70px 0 50px}.eyebrow{font-size:8px}.year{display:none}.intro-bottom p{font-size:12px}.scroll-link{font-size:7px}.works{padding:83px 7vw 55px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px}.section-heading h2{font-size:48px}.section-heading p br{display:none}.section-heading p{font-size:11px}.filters{gap:15px;overflow-x:auto;margin-top:39px}.filter{white-space:nowrap;font-size:8px}.project-grid{column-gap:12px;row-gap:40px}.project:nth-child(even){margin-top:55px}.project-image{height:clamp(180px,57vw,300px)}.project h3{font-size:15px}.project-type,.project-year{font-size:7px}.project-meta{padding-top:12px}.project-open{right:9px;top:9px;width:29px;height:29px;font-size:14px}.ser-logo{font-size:12vw}.nova-core{width:55px;height:55px;font-size:25px}.nova-label{font-size:6px;left:12px;bottom:12px}.after-title{font-size:12vw}.morrow-name{font-size:13vw}.morrow-stamp{width:55px;height:55px;font-size:17px}.morrow-stamp small{font-size:4px}.work-note{margin-top:55px;font-size:6px}.about{padding:75px 7vw 60px}.about-content{grid-template-columns:1fr;gap:25px;margin:27px 0 40px}.about h2{font-size:56px}.about-copy p{font-size:12px}.skills{gap:6px}.skills span{font-size:7px;padding:8px}.footer-top .eyebrow{font-size:8px}.footer-top{padding-bottom:35px}.contact-cta{font-size:18vw}.footer-bottom{flex-wrap:wrap;gap:16px;font-size:7px}.footer-bottom>span{order:3;width:100%}}@media(max-width:390px){.nav{gap:12px}.nav a{font-size:8px}.filter{font-size:7px}.filters{gap:12px}}

/* Portfolio images and editorial project cards */
.project-image{background-size:cover;background-position:center;isolation:isolate}
.project-image:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(0deg,#0b0b0bd9,transparent 65%)}
.image-evnne{background-image:url('images/evnne-hour.jpg')}
.image-eightest{background-image:url('images/eightest-izna.jpg')}
.cover-copy{position:absolute;left:24px;bottom:24px;z-index:2;display:flex;flex-direction:column;gap:9px;color:white}
.cover-copy span{font:8px 'DM Mono',monospace;letter-spacing:.1em;color:#ffffffb8}
.cover-copy strong{font-size:clamp(30px,4vw,56px);line-height:.88;letter-spacing:-.07em;font-weight:600;text-shadow:0 2px 15px #0005}
.project-open{font:9px 'DM Mono',monospace;z-index:3}
.project-summary{font-size:11px;line-height:1.8;color:#aaa;margin:3px 0 calc(1.8em + 12px);min-height:calc(1.8em * 3);max-width:58ch}
.project-credit{display:inline-block;box-sizing:border-box;width:fit-content;max-width:100%;margin-top:10px;padding:7px 10px;border:1px solid #3b3b37;border-radius:999px;font:10px 'DM Mono','Noto Sans KR',sans-serif;color:#c4c0b7;letter-spacing:.01em;font-weight:600;line-height:1.7}
.project-credit span{color:inherit;font-weight:600}
.project-credit span::before{content:'·';margin-right:7px}
.cover-onartist{background:radial-gradient(ellipse at 75% 35%,#7383cc,#30365e 48%,#171823)}
.cover-onartist:before{content:"";position:absolute;width:60%;height:80%;right:10%;top:10%;border:1px solid #d9e2ff9c;border-radius:50%;transform:rotate(33deg)}
.cover-orbit{position:absolute;width:30%;aspect-ratio:1;right:25%;top:27%;border:1px solid #e8e9ff8a;border-radius:50%;box-shadow:0 0 55px #b3c7ff88}
.cover-tingle{background:radial-gradient(ellipse at 72% 38%,#b57d86,#5f3a54 42%,#1e1924)}
.sound-rings{position:absolute;right:14%;top:13%;width:53%;height:72%;border:1px solid #f6d7e680;border-radius:50%;transform:rotate(-24deg)}
.sound-rings:before,.sound-rings:after{content:"";position:absolute;inset:10%;border:1px solid #f6d7e655;border-radius:50%}.sound-rings:after{inset:22%}
.cover-performance{background:linear-gradient(135deg,#7e9db4,#2c5d7a 50%,#162e46)}
.performance-lines{position:absolute;inset:0;background:repeating-linear-gradient(108deg,transparent 0 17%,#d8f2ff24 17.2% 17.5%,transparent 17.7% 31%);transform:scale(1.2)}
.cover-showcase{background:radial-gradient(ellipse at 70% 35%,#a692d4,#574773 42%,#201d32)}
.showcase-grid{position:absolute;inset:10% 14% 14% 42%;border:1px solid #e5dfff77;background:linear-gradient(90deg,transparent 49%,#f8f3ff38 50%,transparent 51%),linear-gradient(0deg,transparent 49%,#f8f3ff38 50%,transparent 51%);background-size:34% 34%;transform:perspective(500px) rotateY(-18deg);box-shadow:0 20px 70px #120d1e70}
@media(max-width:700px){.cover-copy{left:13px;bottom:14px;gap:6px}.cover-copy span{font-size:6px}.cover-copy strong{font-size:clamp(24px,7vw,36px)}.project-summary{font-size:10px;margin:3px 0 calc(1.8em + 9px);min-height:calc(1.8em * 3)}.project-credit{font-size:9px}}

.video-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}
.video-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#222;isolation:isolate}
.video-thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s,filter .3s}
.video-thumb:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,#101010d9);z-index:1;pointer-events:none}
.video-thumb:hover img{transform:scale(1.06);filter:brightness(.8)}
.video-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:#e7dfd2;color:#111;display:grid;place-items:center;font-size:10px;padding-left:2px}
.video-label{position:absolute;z-index:2;left:8px;right:6px;bottom:7px;color:white;font:7px 'DM Mono','Noto Sans KR',sans-serif;letter-spacing:.04em;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
@media(max-width:700px){.video-thumbs{gap:5px;margin-top:13px}.video-play{width:24px;height:24px;font-size:8px}.video-label{left:5px;bottom:5px;font-size:6px}}

/* Project category navigation is the primary heading on the WORK page. */
.filters{gap:clamp(25px,4vw,58px);margin:44px 0 33px;padding-bottom:17px}
.filter{display:inline-flex;align-items:baseline;gap:8px;font-size:14px;letter-spacing:.08em}
.filter span{font:600 17px Manrope,sans-serif;color:#b4b4ad;margin-left:0;transition:color .2s}
.filter.active span,.filter:hover span{color:var(--accent)}
@media(max-width:700px){.filters{gap:23px;margin:32px 0 25px;padding-bottom:13px}.filter{font-size:10px;gap:5px}.filter span{font-size:13px}}

/* With the WORK intro removed, bring the project index directly under the nav. */
body:not(.home-page) .works{padding-top:56px}
@media(max-width:700px){body:not(.home-page) .works{padding-top:42px}}
body:not(.home-page) .works .filters{margin-top:0}

.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-parent{display:block;padding:12px 0}
.nav-submenu{position:absolute;top:100%;left:auto;right:0;z-index:20;display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:13px;min-width:min(250px,92vw);max-width:92vw;box-sizing:border-box;padding:22px 20px 24px;background:rgba(16,16,16,.96);border-top:1px solid #ffffff25;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-submenu a{font:700 21px/1.1 Manrope,'Noto Sans KR',sans-serif;letter-spacing:-.045em;color:#b8b8b5;white-space:nowrap;transition:color .2s,transform .2s}
.nav-submenu a:hover,.nav-submenu a:focus-visible{color:#fff;transform:translateX(-4px)}
.nav-parent.active{color:var(--fg)}
@media(max-width:700px){.nav-dropdown{position:static}.nav-submenu{left:auto;right:4vw;top:58px;min-width:220px;padding:18px 16px}.nav-submenu a{font-size:18px}}

.wordmark{font-size:17px;letter-spacing:-.055em;white-space:nowrap;font-weight:800}
.footer-bottom .wordmark{font-size:15px}
@media(max-width:700px){.wordmark{font-size:13px;letter-spacing:-.055em}.footer-bottom .wordmark{font-size:12px}}

.wordmark{display:inline-flex;align-items:baseline;gap:.24em;font-family:Manrope,'Noto Sans KR',sans-serif;font-size:17px;font-weight:400;letter-spacing:0;white-space:nowrap}
.topbar .wordmark{font-size:16px}
.topbar .wordmark span{font-family:'DM Mono',monospace;font-size:inherit;line-height:inherit}
.topbar .wordmark .brand-portfolio{font-size:1.04em}
.brand-name{font-weight:400;letter-spacing:.005em}
.brand-portfolio{font-weight:800;letter-spacing:-.075em;font-size:1.04em}
.footer-bottom .wordmark{font-size:15px}
@media(max-width:700px){.wordmark{font-size:13px;gap:.2em}.topbar .wordmark{font-size:13px}.footer-bottom .wordmark{font-size:12px}}

.wordmark .brand-name,.wordmark .brand-portfolio,.footer-bottom .wordmark .brand-name,.footer-bottom .wordmark .brand-portfolio{color:#fff}
.wordmark .brand-portfolio{-webkit-text-stroke:.45px currentColor;font-weight:800}

/* Match the filter and WORKS menu typography to the Portfolio wordmark. */
.nav,.nav .nav-parent,.nav-submenu a,.filter,.filter span{font-family:Manrope,'Noto Sans KR',sans-serif!important}
.nav{font-weight:700;letter-spacing:-.035em}
.nav-submenu a{font-weight:800;letter-spacing:-.055em}
.filter{font-weight:800;letter-spacing:-.045em}
.filter span{font-weight:800}

/* Keep HOME, WORKS and CONTACT on the same vertical center line. */
.nav{align-items:center}
.nav>a{display:flex;align-items:center;padding:12px 0}
.nav .nav-dropdown{align-self:center}

footer{background:#e7dfd2;color:#171613;padding-top:48px}
.footer-top .eyebrow{color:#726a5d}
.footer-bottom .wordmark .brand-name,.footer-bottom .wordmark .brand-portfolio{color:#171613}
.footer-bottom .wordmark span{color:#171613}
.footer-bottom>span{color:#726a5d}
.footer-bottom div a{color:#3f3a32}
.contact-cta{font-size:clamp(32px,5vw,68px);letter-spacing:-.07em;margin-top:20px;line-height:1;justify-content:flex-start;gap:22px}
.contact-cta span{font-size:.55em;align-self:center}
@media(max-width:700px){footer{padding-top:38px}.contact-cta{font-size:clamp(30px,8vw,44px);margin-top:18px}}

.filter span{color:var(--accent);font-weight:900;-webkit-text-stroke:.35px currentColor}
.filter.active span,.filter:hover span{color:var(--accent)}
.video-play{width:36px;height:36px;border:2px solid var(--accent);font-size:12px;font-weight:900;-webkit-text-stroke:.45px currentColor;box-shadow:0 0 0 2px #1118}
@media(max-width:700px){.video-play{width:30px;height:30px;font-size:10px}}
.nav-submenu{background:rgba(16,16,16,.52);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}

.filters{justify-content:center;align-items:center;gap:clamp(28px,4vw,58px)}
.filter{justify-content:center;align-items:center;font-size:18px;font-weight:400;letter-spacing:-.045em;color:#fff;gap:8px}
.filter span{font:400 14px Manrope,'Noto Sans KR',sans-serif;color:#fff;letter-spacing:-.02em;-webkit-text-stroke:0}
.filter.active,.filter.active span{color:var(--accent);font-weight:400}
.filter:not(.active):hover,.filter:not(.active):hover span{color:#fff;opacity:.72}
@media(max-width:700px){.filters{display:grid;grid-template-columns:repeat(2,max-content);justify-content:center;gap:14px 34px;overflow:visible;margin:24px 0;padding:17px 0}.filter{font-size:16px;gap:7px}.filter span{font-size:13px}}
.filter.active{font-weight:800}
.filter.active span{font-weight:800;-webkit-text-stroke:.3px currentColor}

.video-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:28px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.video-modal.is-open{opacity:1;visibility:visible}
.video-modal-backdrop{position:absolute;inset:0;background:rgba(10,10,10,.82);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.video-modal-dialog{position:relative;z-index:1;width:min(100%,1100px);transform:translateY(12px) scale(.985);transition:transform .25s}
.video-modal.is-open .video-modal-dialog{transform:translateY(0) scale(1)}
.video-modal-frame{width:100%;aspect-ratio:16/9;background:#000;box-shadow:0 24px 100px #0009}
.video-modal-frame iframe{width:100%;height:100%;border:0;display:block}
.video-modal-close{position:absolute;right:0;top:-50px;width:40px;height:40px;border:1px solid #ffffff85;border-radius:50%;background:#1118;color:#fff;font:300 29px/1 Manrope,sans-serif;cursor:pointer}
.video-modal-fallback{display:inline-block;margin-top:13px;color:#e7dfd2;font:10px 'DM Mono',monospace;letter-spacing:.1em}
body.video-modal-open{overflow:hidden}
@media(max-width:700px){.video-modal{padding:16px}.video-modal-close{top:-43px;width:34px;height:34px;font-size:25px}.video-modal-fallback{font-size:8px}}

.poster-cover{--poster:none;position:relative;isolation:isolate;background:#161616}
.poster-cover:before{content:"";position:absolute;inset:-12px;z-index:0;background-image:var(--poster);background-position:center;background-size:cover;filter:blur(14px) brightness(.42);transform:scale(1.04)}
.poster-cover:after{background:linear-gradient(0deg,#0b0b0d55,transparent 70%)}
.poster-image{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.poster-evnne{--poster:url('images/evnne-hour-poster.webp')}
.poster-eightest{--poster:url('images/eightest-poster.webp')}
.poster-onartist{--poster:url('images/on-your-artist-poster.webp')}
.poster-tingle{--poster:url('images/tingle-poster.webp')}
.poster-performance{--poster:url('images/move-to-performance-poster.jpg');background:var(--bg)}
.poster-performance:before{display:none}
.poster-pf37{--poster:url('images/pf37-teaser.png');background:var(--bg)}
.poster-pf37:before{display:none}
.poster-miiwan{--poster:url('images/miiwan-debut-live-clip.jpg')}
.poster-welive{--poster:url('images/welive-poster.png')}
.poster-welive:before{display:none}
.project-image.poster-welive:hover .poster-image,.project-image.poster-welive:focus-visible .poster-image{filter:none;transform:none}

/* Persistent left-side project categories, like an editorial index rail. */
body:not(.home-page) .works{display:grid;grid-template-columns:clamp(170px,12vw,230px) minmax(0,1fr);column-gap:clamp(20px,2.5vw,44px);align-items:start;padding:56px 4vw 75px 2vw}
body:not(.home-page) .works .filters{grid-column:1;grid-row:1;position:sticky;top:calc(50vh - 54px);align-self:start;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;margin-top:calc(50vh - 188px);padding:0;border:0;overflow:visible}
body:not(.home-page) .works .filter{font-size:clamp(16px,1.2vw,23px);gap:7px;justify-content:flex-start;white-space:nowrap}
body:not(.home-page) .works .filter span{font-size:clamp(13px,.95vw,18px)}
body:not(.home-page) .project-grid{grid-column:2;grid-row:1;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));column-gap:clamp(14px,1.5vw,28px);row-gap:52px}
body:not(.home-page) .project:nth-child(even){margin-top:0}
body:not(.home-page) .project-image{height:clamp(280px,25vw,460px)}
body:not(.home-page) .work-note{grid-column:2;grid-row:2;margin-top:55px}
body:not(.home-page) .about{margin-left:0}
@media(max-width:700px){
  body:not(.home-page) .works{display:block;padding:24px 6vw 55px}
  body:not(.home-page) .works .filters{position:sticky;top:66px;z-index:20;display:flex;flex-direction:row;gap:20px;justify-content:flex-start;align-items:center;width:100%;margin:0 0 24px;padding:12px 0;background:rgba(17,17,17,.95);backdrop-filter:blur(8px);overflow-x:auto;border-bottom:1px solid var(--line);transform:none}
  body:not(.home-page) .works .filter{font-size:12px;gap:5px;white-space:nowrap}
  body:not(.home-page) .works .filter span{font-size:11px}
  body:not(.home-page) .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:35px}
  body:not(.home-page) .project-image{height:clamp(180px,56vw,300px)}
  body:not(.home-page) .work-note{margin-top:42px}
}
@media(max-width:430px){body:not(.home-page) .project-grid{grid-template-columns:1fr}}

/* Present projects as a vertical poster-led list. */
body:not(.home-page) .project-grid{grid-template-columns:minmax(0,1fr);row-gap:76px}
body:not(.home-page) .project-image{width:min(100%,520px);height:auto;aspect-ratio:2/3}
@media(max-width:700px){body:not(.home-page) .project-grid{grid-template-columns:minmax(0,1fr);row-gap:52px}body:not(.home-page) .project-image{width:min(100%,520px);height:auto;aspect-ratio:2/3}}

/* Two projects per row, with each project's linked videos stacked below. */
body:not(.home-page) .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,64px);row-gap:76px}
body:not(.home-page) .video-thumbs{grid-template-columns:minmax(0,1fr);gap:12px}
@media(max-width:700px){body:not(.home-page) .project-grid{grid-template-columns:minmax(0,1fr);row-gap:52px}body:not(.home-page) .video-thumbs{grid-template-columns:minmax(0,1fr)}}

body:not(.home-page) .project{padding-bottom:26px;border-bottom:1px solid var(--line)}

/* Compact, horizontally browsable video previews on the WORKS index only. */
body:not(.home-page) .works .video-carousel{position:relative;margin-top:34px}
body:not(.home-page) .works .video-thumbs{display:flex;grid-template-columns:none;gap:8px;margin:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}
body:not(.home-page) .works .video-thumbs::-webkit-scrollbar{display:none}
body:not(.home-page) .works .video-thumbs .video-thumb{flex:0 0 calc((100% - 16px)/3);scroll-snap-align:start}
.video-carousel-controls{position:absolute;z-index:5;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.video-carousel-controls[hidden]{display:none}
.video-carousel-arrow{width:30px;height:30px;display:grid;place-items:center;border:1px solid #e7dfd2;border-radius:50%;background:#e7dfd2;color:#111;font:19px/1 Manrope,sans-serif;cursor:pointer;pointer-events:auto;box-shadow:0 2px 8px #0008;transition:background .2s,color .2s,opacity .2s}
.video-carousel-arrow:hover:not(:disabled){background:#e7dfd2;color:#111}
.video-carousel-arrow:disabled{opacity:.5;cursor:default}
@media(max-width:700px){body:not(.home-page) .works .video-thumbs{gap:6px}body:not(.home-page) .works .video-thumbs .video-thumb{flex-basis:calc((100% - 12px)/3)}}

body:not(.home-page) .works .video-carousel-controls{position:relative;inset:auto;transform:none;justify-content:space-between;gap:7px;margin:0 0 8px;pointer-events:auto}
.video-play{width:auto;height:auto;border:0;border-radius:0;background:transparent;color:#fff;font-size:25px;font-weight:700;padding:0;box-shadow:none;text-shadow:0 1px 8px #000b;opacity:.8}
@media(max-width:700px){.video-play{width:auto;height:auto;font-size:21px}}

.video-carousel-arrow{width:32px;height:32px;border:0;border-radius:0;background:transparent;color:#fff;font-size:30px;font-weight:500;box-shadow:none;text-shadow:0 1px 8px #000b}
.video-carousel-arrow:hover:not(:disabled){background:transparent;color:#fff;opacity:.72}
.video-carousel-arrow:disabled{opacity:.45}
.video-carousel-arrow[hidden]{display:none}
body:not(.home-page) .works .video-carousel-controls.is-at-start{justify-content:flex-end}
body:not(.home-page) .works .video-carousel-controls.is-at-end{justify-content:flex-start}

body:not(.home-page) .works .project-image[href^="project.html"]{cursor:pointer}
.project-visit-label{position:absolute;z-index:4;left:15px;bottom:15px;display:inline-flex;align-items:center;gap:18px;padding:10px 13px;background:var(--accent);color:#171613;font:9px 'DM Mono',monospace;letter-spacing:.08em;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;pointer-events:none}
.project-visit-label b{font:14px/1 Manrope,sans-serif}
.project-image[href^="project.html"]:hover .project-visit-label,.project-image[href^="project.html"]:focus-visible .project-visit-label{opacity:1;transform:translateY(0)}
@media(max-width:700px){.project-visit-label{left:9px;bottom:9px;gap:12px;padding:8px 10px;font-size:8px;opacity:1;transform:none}}

/* Let each poster keep its own proportions and make the detail cue the hover focus. */
.works .project-image.poster-evnne{aspect-ratio:0.709}
.works .project-image.poster-eightest{aspect-ratio:0.706}
.works .project-image.poster-onartist{aspect-ratio:0.709}
.works .project-image.poster-tingle{aspect-ratio:0.709}
.works .project-image.poster-tingle{height:auto!important;aspect-ratio:0.709!important}
.works .project-image.poster-tingle .poster-image{object-fit:contain!important}
.works .project-image.poster-performance{aspect-ratio:16/9}
.works .project-image.poster-pf37{aspect-ratio:16/9}
.works .project-image.cover-showcase{aspect-ratio:0.88}
.works .project-image.poster-miiwan{aspect-ratio:1974/1104}
.works .project-image.poster-welive{aspect-ratio:1/1}
.poster-welive .poster-image{object-fit:cover}
.project:hover .project-image[href^="project.html"]{filter:none}
.project-image[href^="project.html"] .poster-image{transition:filter .35s,transform .35s}
.project-image[href^="project.html"]:hover .poster-image,.project-image[href^="project.html"]:focus-visible .poster-image{filter:brightness(.45) blur(2.5px);transform:scale(1.025)}
.project-image[href^="project.html"]:hover:after,.project-image[href^="project.html"]:focus-visible:after{background:linear-gradient(0deg,#08080865,#08080865)}
.project-visit-label{left:50%;bottom:auto;top:50%;gap:24px;padding:18px 24px;font-size:14px;transform:translate(-50%,calc(-50% + 12px)) scale(.96)}
.project-visit-label b{font-size:20px}
.project-image[href^="project.html"]:hover .project-visit-label,.project-image[href^="project.html"]:focus-visible .project-visit-label{transform:translate(-50%,-50%) scale(1)}
@media(max-width:700px){.project-visit-label{left:50%;bottom:auto;top:50%;gap:18px;padding:14px 18px;font-size:11px;transform:translate(-50%,-50%)}.project-visit-label b{font-size:17px}}
.project-visit-label{background:transparent;color:#fff;text-shadow:0 2px 14px #000c}
.project-visit-label b{color:#fff}

.detail-main{min-height:70vh;padding:36px 8vw 110px}
.detail-back{display:inline-block;color:#aaa;font:10px 'DM Mono',monospace;letter-spacing:.08em;transition:color .2s}
.detail-back:hover,.detail-next:hover{color:var(--accent)}
.detail-project{max-width:1280px;margin:46px auto 0}
.detail-hero{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1fr);gap:clamp(48px,9vw,140px);align-items:center}
.detail-art{position:relative;width:100%;max-width:540px;aspect-ratio:2/3;overflow:hidden;background:#171717}
.detail-art .poster-image,.detail-art img{position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:contain}
.detail-art.poster-cover:before{content:"";position:absolute;inset:-12px;background-image:var(--poster);background-size:cover;background-position:center;filter:blur(14px) brightness(.4);transform:scale(1.04)}
.detail-art.poster-performance{aspect-ratio:16/9;max-width:700px}
.detail-art.poster-performance{background:var(--bg)}
.detail-art.poster-performance:before{display:none}
.detail-art.poster-pf37{aspect-ratio:16/9;max-width:700px;background:var(--bg)}
.detail-art.poster-pf37:before{display:none}
.detail-art.poster-miiwan{aspect-ratio:1974/1104;max-width:760px}
.detail-art.poster-welive{aspect-ratio:1/1;max-width:540px}
.detail-art.poster-welive .poster-image{object-fit:cover}
.detail-copy{align-self:center}
.detail-copy h1{max-width:800px;margin:22px 0 10px;font-size:clamp(42px,7vw,100px);line-height:.98;letter-spacing:-.075em;font-weight:600}
.detail-year{color:var(--accent);font:11px 'DM Mono',monospace;letter-spacing:.08em}
.detail-summary{max-width:55ch;margin:12px 0 calc(1.9em + 18px);min-height:calc(1.9em * 3);color:#c5c3bd;font-size:15px;line-height:1.9}
.detail-credit{display:inline-block;box-sizing:border-box;width:fit-content;max-width:100%;padding:9px 12px;border:1px solid #3b3b37;border-radius:999px;color:#c4c0b7;font:12px 'DM Mono','Noto Sans KR',sans-serif;font-weight:600;line-height:1.8}
.detail-credit span+span{color:inherit;font-weight:600}
.detail-credit span+span::before{content:'·';margin-right:8px}
.detail-videos{margin:82px auto 0;width:min(100%,680px)}
.detail-section-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}
.detail-video-count{color:#858580;font:9px 'DM Mono',monospace;letter-spacing:.08em}
.detail-videos .video-thumbs{grid-template-columns:minmax(0,1fr);gap:14px;margin:0}
.detail-next{display:flex;justify-content:space-between;max-width:760px;margin:80px 0 0 auto;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:10px 'DM Mono',monospace;letter-spacing:.1em;transition:color .2s}
.detail-next span{color:var(--accent)}
.detail-art.cover-showcase{aspect-ratio:2/3}
.detail-art{height:auto;aspect-ratio:auto}
.detail-art .poster-image,.detail-art img{width:100%;height:auto;object-fit:contain}
.detail-art.poster-performance,.detail-art.poster-pf37,.detail-art.poster-miiwan,.detail-art.poster-welive{aspect-ratio:auto}
.detail-art.poster-welive .poster-image{object-fit:contain}
.detail-copy.poster-miiwan h1{font-size:clamp(40px,4.8vw,68px);line-height:1.05;letter-spacing:-.065em}
.detail-copy.poster-tingle h1,.detail-copy.poster-pf37 h1,.detail-copy.poster-onartist h1{font-size:clamp(38px,6.3vw,72px);white-space:nowrap;line-height:1.05;letter-spacing:-.085em}
.detail-story{width:min(100%,640px);margin:88px auto 0}
.story-slider{touch-action:pan-y}
.story-slides{position:relative;aspect-ratio:16/9;overflow:hidden;background:#050505;border:1px solid #ffffff1c;border-radius:22px;isolation:isolate}
.story-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .6s cubic-bezier(.22,.61,.36,1)}
.story-slide.is-active{opacity:1;visibility:visible}
.story-slide img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.018);transition:transform .9s cubic-bezier(.22,.61,.36,1)}
.story-slide.is-active img{transform:scale(1)}
.story-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:16px;color:#aaa;font:10px 'DM Mono',monospace;letter-spacing:.08em}
.story-count b{color:var(--accent);font-weight:700}
.story-dots{display:flex;align-items:center;gap:7px}
.story-dots button{width:18px;height:3px;padding:0;border:0;background:#ffffff50;cursor:pointer;transition:width .2s,background .2s}
.story-dots button.is-active{width:32px;background:var(--accent)}
.story-arrows{display:flex;justify-content:flex-end;gap:8px}
.story-arrows button{width:34px;height:34px;border:1px solid #ffffff55;border-radius:50%;background:transparent;color:var(--fg);font-size:16px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.story-arrows button:hover{background:var(--accent);border-color:var(--accent);color:#111}
.story-copy{width:min(100%,760px);display:grid;gap:22px;margin:42px auto 0;text-align:left}
.story-copy p{margin:0;color:#c5c3bd;font-size:15px;line-height:1.95;word-break:keep-all}
.detail-missing{min-height:55vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.detail-missing h1{font-size:clamp(36px,7vw,80px);letter-spacing:-.07em}
@media(max-width:700px){.detail-main{padding:28px 6vw 75px}.detail-project{margin-top:35px}.detail-hero{grid-template-columns:1fr;gap:34px}.detail-art{width:min(100%,440px);margin:auto}.detail-copy h1{font-size:clamp(40px,12vw,68px);margin:16px 0 8px}.detail-copy.poster-miiwan h1{font-size:clamp(32px,8.5vw,46px);line-height:1.1}.detail-copy.poster-tingle h1,.detail-copy.poster-pf37 h1,.detail-copy.poster-onartist h1{font-size:clamp(38px,8vw,56px)}.detail-summary{font-size:13px;margin:10px 0 calc(1.9em + 18px);min-height:calc(1.9em * 3)}.detail-story{margin-top:58px}.story-slides{border-radius:16px}.story-controls{gap:10px;margin-top:12px}.story-dots{gap:4px}.story-dots button{width:10px;height:2px}.story-dots button.is-active{width:20px;height:3px}.story-arrows{gap:5px}.story-arrows button{width:30px;height:30px;font-size:14px}.story-copy{gap:18px;margin-top:30px}.story-copy p{font-size:13px;line-height:1.9}.detail-videos{margin:60px auto 0;width:min(100%,900px)}.detail-next{margin-top:55px}}

.about-details{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:0 0 42px;padding-top:24px;border-top:1px solid var(--line)}
.about-details h3{margin:0 0 20px;color:#a5a59f;font:10px 'DM Mono',monospace;letter-spacing:.1em}
.about-profile dl{display:grid;gap:14px;margin:0}
.about-profile dl div{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:baseline}
.about-profile dt,.career-entry span{color:#858580;font:10px 'DM Mono',monospace;letter-spacing:.04em}
.about-profile dd{margin:0;color:var(--fg);font-size:13px}
.about-profile a:hover{color:var(--accent)}
.about-career{display:flex;flex-direction:column;align-items:stretch}
.career-entry{display:flex;justify-content:space-between;gap:20px;padding:0 0 13px;margin:0 0 13px;border-bottom:1px solid #ffffff18}
.career-entry strong{font-size:14px;font-weight:600}
.about-content{grid-template-columns:1fr 1fr;gap:7vw;align-items:start;margin:0}
.about-intro{padding-top:8px}
.about-intro h2{font-size:clamp(32px,5vw,68px);white-space:nowrap;letter-spacing:-.075em}
.about-intro h2{text-align:center}
.about-values{display:grid;gap:40px;margin-top:42px}
.about-values h3{margin:0 0 8px;color:var(--fg);font:800 12px Manrope,'Noto Sans KR',sans-serif;letter-spacing:.025em}
.about-values p{margin:0;color:#aaa;font-size:12px;line-height:1.85;word-break:keep-all}
.about-intro .about-copy{max-width:440px;margin-top:32px}
.about-side{border-left:1px solid var(--line);padding:8px 0 0 34px}
.about-side>section+section{margin-top:54px;padding-top:0;border-top:0}
.about-side h3{margin:0 0 18px;color:#a5a59f;font:800 11px Manrope,'Noto Sans KR',sans-serif;letter-spacing:.08em}
.profile-name{margin:20px 0 0;color:var(--fg);font-size:18px;font-weight:700;letter-spacing:-.04em}
.profile-email span{display:inline-block;margin-left:5px;color:var(--accent);font-size:.9em;transition:transform .2s}
.profile-email:hover span{transform:translate(2px,-2px)}
.about-tools img{display:block;width:min(100%,470px);height:auto}
@media(max-width:700px){.about-content{grid-template-columns:1fr;gap:40px}.about-intro h2{font-size:clamp(29px,8vw,48px)}.about-values{gap:32px;margin-top:30px}.about-values p{font-size:12px}.about-side{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}.about-side>section+section{margin-top:42px;padding-top:0}.about-tools img{width:min(100%,390px)}}
@media(max-width:700px){.about-details{grid-template-columns:1fr;gap:30px;margin-bottom:34px}.about-profile dl div{grid-template-columns:120px 1fr;gap:12px}.about-profile dt,.career-entry span{font-size:9px}.about-profile dd,.career-entry strong{font-size:12px}}

/* EVNNE HOUR story carousel: advance through three stills at a time. */
.detail-story{width:min(100%,1280px)}
.story-slides{aspect-ratio:5/1;border:0;background:transparent}
.story-slide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(5px,1.2vw,16px);align-items:stretch}
.story-slide img{min-width:0;border-radius:16px;object-fit:cover;transform:scale(1);transition:filter .6s cubic-bezier(.22,.61,.36,1)}
.story-slide.is-active img{transform:none}
.story-slide:not(.is-active){pointer-events:none}
@media(max-width:700px){.story-slides{aspect-ratio:5/1}.story-slide{gap:5px}.story-slide img{border-radius:8px}}

/* Beige lettering for the upper-left wordmark. */
.topbar .wordmark{padding:0;background:transparent;align-items:center}
.topbar .wordmark .brand-name,.topbar .wordmark .brand-portfolio{color:var(--accent);-webkit-text-stroke:0}
@media(max-width:700px){.topbar .wordmark{padding:0}}

/* New show thumbnails use the source video still as their artwork. */
.poster-mashup-potato,.poster-cookie,.poster-best-challenge{background:#171717}
.poster-mashup-potato:before,.poster-cookie:before,.poster-best-challenge:before{display:none}
.detail-art.poster-mashup-potato,.detail-art.poster-cookie,.detail-art.poster-best-challenge{max-width:900px;aspect-ratio:16/9;background:#171717}
.detail-art.poster-mashup-potato .poster-image,.detail-art.poster-cookie .poster-image,.detail-art.poster-best-challenge .poster-image{width:100%;height:100%;object-fit:cover}

/* Match the new program artwork guides to their source video formats. */
.works .project-image.poster-mashup-potato,.works .project-image.poster-best-challenge{height:auto;aspect-ratio:16/9}
.works .project-image.poster-mashup-potato .poster-image,.works .project-image.poster-best-challenge .poster-image{object-fit:cover}
.works .project-image.poster-cookie{height:auto;aspect-ratio:9/16}
.works .project-image.poster-cookie .poster-image{object-fit:cover}
.project-cookie .video-thumbs .video-thumb{aspect-ratio:9/16}
.detail-project.poster-cookie .detail-art{max-width:360px;aspect-ratio:9/16}
.detail-project.poster-cookie .detail-art .poster-image{height:100%;object-fit:cover}
.detail-project.poster-cookie .detail-videos{width:min(100%,360px)}
.detail-project.poster-cookie .detail-videos .video-thumb{aspect-ratio:9/16}

/* Let horizontal source thumbnails fill their card and crop embedded black bands. */
.works .project-image.poster-mashup-potato,.works .project-image.poster-best-challenge{width:100%;aspect-ratio:16/9}
.works .project-image.poster-mashup-potato .poster-image,.works .project-image.poster-best-challenge .poster-image{width:100%;height:100%;object-fit:cover;transform:scale(1.14)}
.works .project-image.poster-mashup-potato:hover .poster-image,.works .project-image.poster-best-challenge:hover .poster-image{transform:scale(1.14)}
.detail-project.poster-mashup-potato .detail-art .poster-image,.detail-project.poster-best-challenge .detail-art .poster-image{transform:scale(1.14)}

/* Keep COOKIE's vertical poster and video preview visually compact. */
.works .project-cookie .project-image.poster-cookie{width:min(100%,220px);margin-inline:auto}
body:not(.home-page) .works .project-cookie .video-carousel{width:min(100%,160px);margin:34px auto 0}
body:not(.home-page) .works .project-cookie .video-thumbs{width:100%;margin:0}
body:not(.home-page) .works .project-cookie .video-thumbs .video-thumb{flex:0 0 100%;aspect-ratio:9/16}
.detail-project.poster-cookie .detail-art{max-width:280px}
.detail-project.poster-cookie .detail-videos{width:min(100%,220px)}

/* Keep COOKIE's vertical preview smaller and show the full landscape artwork. */
body:not(.home-page) .works .project-cookie .video-carousel{width:min(100%,112px)}
body:not(.home-page) .works .project-cookie .video-thumbs{width:100%;margin:0}
body:not(.home-page) .works .project-cookie .video-thumbs .video-thumb{flex:0 0 100%;aspect-ratio:9/16}
.works .project-image.poster-mashup-potato .poster-image,.works .project-image.poster-best-challenge .poster-image{transform:none;object-fit:contain}
.works .project-image.poster-mashup-potato:hover .poster-image,.works .project-image.poster-best-challenge:hover .poster-image{transform:none}
.detail-project.poster-mashup-potato .detail-art .poster-image,.detail-project.poster-best-challenge .detail-art .poster-image{transform:none;object-fit:contain}
/* Match the square COOKIE cover while keeping its Shorts previews compact. */
.works .project-image.poster-cookie{aspect-ratio:1/1}
.detail-art.poster-cookie{aspect-ratio:1/1}
.detail-art.poster-cookie .poster-image{height:100%;object-fit:cover}
/* Show the complete horizontal still inside the landscape poster guides. */
.detail-art.poster-mashup-potato,.detail-art.poster-best-challenge{aspect-ratio:16/9}
.detail-art.poster-mashup-potato .poster-image,.detail-art.poster-best-challenge .poster-image{height:100%;object-fit:contain;transform:none}
/* Show three compact COOKIE Shorts previews at once in the works carousel. */
body:not(.home-page) .works .project-cookie .video-carousel{width:min(100%,360px);margin:34px auto 0}
body:not(.home-page) .works .project-cookie .video-thumbs{width:100%;margin:0;gap:8px}
body:not(.home-page) .works .project-cookie .video-thumbs .video-thumb{flex:0 0 calc((100% - 16px)/3);aspect-ratio:9/16}
/* Slightly zoom landscape artwork to reduce black letterbox bands. */
.works .project-image.poster-mashup-potato .poster-image,.works .project-image.poster-best-challenge .poster-image{object-fit:cover;transform:scale(1.18)}
.works .project-image.poster-mashup-potato:hover .poster-image,.works .project-image.poster-best-challenge:hover .poster-image{transform:scale(1.22)}
.detail-art.poster-mashup-potato .poster-image,.detail-art.poster-best-challenge .poster-image{object-fit:cover;transform:scale(1.14)}
/* Match the landscape YouTube poster thumbnails without cropping their edges. */
.works .project-image.poster-mashup-potato,.works .project-image.poster-best-challenge{height:auto;aspect-ratio:4/3}
.works .project-image.poster-mashup-potato .poster-image,.works .project-image.poster-best-challenge .poster-image{width:100%;height:100%;object-fit:contain;transform:none}
.works .project-image.poster-mashup-potato:hover .poster-image,.works .project-image.poster-best-challenge:hover .poster-image{transform:none}
.detail-art.poster-mashup-potato,.detail-art.poster-best-challenge{width:100%;height:auto;max-width:700px;aspect-ratio:4/3}
.detail-art.poster-mashup-potato .poster-image,.detail-art.poster-best-challenge .poster-image{width:100%;height:100%;object-fit:contain;transform:none}
/* Match poster framing while softly trimming the embedded top/bottom bands. */
.works .project-image.poster-mashup-potato,.works .project-image.poster-best-challenge{aspect-ratio:4/3}
.works .project-image.poster-mashup-potato .poster-image,.works .project-image.poster-best-challenge .poster-image{object-fit:cover;transform:scaleY(1.14)}
.works .project-image.poster-mashup-potato:hover .poster-image,.works .project-image.poster-best-challenge:hover .poster-image{transform:scaleY(1.16)}
.detail-art.poster-mashup-potato,.detail-art.poster-best-challenge{aspect-ratio:4/3}
.detail-art.poster-mashup-potato .poster-image,.detail-art.poster-best-challenge .poster-image{object-fit:cover;transform:scaleY(1.14)}
.detail-art.poster-mashup-potato:hover .poster-image,.detail-art.poster-best-challenge:hover .poster-image{transform:scaleY(1.14)}
/* COOKIE carousel thumbnails: 80% of the previous overall width. */
body:not(.home-page) .works .project-cookie .video-carousel{width:min(100%,288px)}

/* WORKS: use the videos' 16:9 frame to crop the black bands embedded in hqdefault stills. */
.works .project-image.poster-mashup-potato,
.works .project-image.poster-best-challenge{width:100%;height:auto;aspect-ratio:16/9;background:transparent}
.works .project-image.poster-mashup-potato .poster-image,
.works .project-image.poster-best-challenge .poster-image{width:100%;height:100%;object-fit:cover!important;object-position:center;transform:none!important}
.works .project-image.poster-mashup-potato:hover .poster-image,
.works .project-image.poster-best-challenge:hover .poster-image{transform:none!important}

/* Match the About page's bottom breathing room to its content's top offset. */
.about{padding-bottom:105px}
@media(max-width:700px){.about{padding-bottom:65px}}

/* KCON artwork keeps each supplied thumbnail's original 16:9 frame. */
.kcon-poster-stack,.detail-artwork-stack{display:grid;gap:16px;align-content:start;min-width:0}
.works .project-image.poster-kcon{width:100%;height:auto;aspect-ratio:16/9;background:transparent}
.works .project-image.poster-kcon .poster-image{display:block;width:100%;height:100%;object-fit:contain;transform:none}
.poster-kcon:before{display:none!important}
.detail-art.poster-kcon{width:100%;height:auto;aspect-ratio:16/9;background:transparent}
.detail-art.poster-kcon img{display:block;width:100%;height:auto;object-fit:contain}
.detail-project.poster-kcon h1{font-size:clamp(28px,3.5vw,58px);overflow-wrap:anywhere}

/* Selected production cases within a program detail page. */
.project-cases{width:min(100%,1080px);margin:90px auto 0}
.case-section-heading{margin-bottom:38px}.case-section-heading h2{font-size:26px;margin:12px 0;font-weight:700}
.project-case{padding:42px 0;border-top:1px solid #e7dfd230}
.case-heading h3{font-size:clamp(24px,3vw,38px);margin:12px 0 20px;letter-spacing:-.035em}
.case-role{display:grid;gap:10px;color:var(--accent);font-size:13px;line-height:1.8;margin:0 0 28px}
.case-role b{font-size:12px;color:#aaa}
.case-gallery,.case-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0}
.case-gallery img,.case-examples img{display:block;width:100%;height:auto;border-radius:14px}
.case-blocks{display:grid;gap:28px;max-width:850px;margin-top:30px}
.case-blocks h4,.case-examples h4{font-size:17px;color:var(--accent);margin:0 0 12px}
.case-blocks p,.case-examples p{font-size:14px;line-height:1.95;color:#c5c3bd;margin:0 0 14px;word-break:keep-all}
.case-examples figure{margin:0}.case-examples img{margin-bottom:12px}.case-examples figcaption{margin-top:20px}
.case-video-link{display:inline-block;color:var(--accent);font-size:13px;border-bottom:1px solid #e7dfd260;padding:0 0 8px;margin-top:14px}
@media(max-width:700px){.project-cases{margin-top:60px}.project-case{padding:30px 0}.case-gallery{grid-template-columns:1fr;gap:12px}.case-examples{grid-template-columns:1fr;gap:28px}.case-blocks p{font-size:13px}}

.case-editing-frames{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.case-frame-crop{position:relative;overflow:hidden;border-radius:14px;margin:0;background:#111}
.case-frame-crop img{position:absolute;display:block;max-width:none;height:auto}
@media(max-width:600px){.case-editing-frames{grid-template-columns:1fr}}

.case-editing-frames{grid-template-columns:repeat(var(--frame-columns,2),minmax(0,1fr))}
@media(max-width:700px){.case-editing-frames{grid-template-columns:1fr}}

.project-case.case-subsection{border-top:0;padding-top:0}
.case-subsection .case-heading h3{font-size:17px;color:var(--accent);letter-spacing:normal;margin:0 0 12px}

.case-frames-before{margin:0 0 26px}
.case-frame-crop:only-child{max-width:540px;width:100%}

/* Center detail content containers while preserving left-aligned typography. */
.project-cases .case-section-heading,
.project-case{width:100%;max-width:850px;margin-left:auto;margin-right:auto}
.case-blocks{width:100%;margin-left:auto;margin-right:auto}
.detail-next{margin-left:auto;margin-right:auto}

.case-frame-crop:has(img[src$="miiwan-ai.png"]){aspect-ratio:685/448!important}
.case-frame-crop:nth-child(2):has(img[src$="miiwan-ai.png"]) img{transform:scaleY(1.067153285);transform-origin:top}
