@font-face{font-family:"Wanted Sans";src:url('/assets/fonts/wanted-sans-variable.woff2') format('woff2-variations');font-style:normal;font-weight:400 1000;font-display:swap}
:root{color-scheme:dark;--bg:#101010;--surface:#191919;--text:#f5f5f2;--muted:#929292;--line:#343434;--accent:#6ba9ff;--red:var(--accent);--accent-gradient:linear-gradient(115deg,#203986 0%,#2769ee 48%,#8bd6ff 100%);--ease:cubic-bezier(.22,1,.36,1);--soft:cubic-bezier(.45,0,.25,1);font-family:"Wanted Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%}p,h1,h2{margin-top:0}::selection{background:var(--red);color:#fff}*:focus-visible{outline:2px solid #fff;outline-offset:4px}.skip-link{position:fixed;z-index:100;left:18px;top:-100px;background:#fff;color:#111;padding:10px 14px;border-radius:999px}.skip-link:focus{top:18px}.scroll-progress{position:fixed;z-index:80;left:0;right:0;top:0;height:2px;pointer-events:none}.scroll-progress span{display:block;width:100%;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left center;will-change:transform}
.site-header{position:fixed;z-index:60;left:0;right:0;top:0;height:76px;padding:0 max(24px,5.4vw);display:flex;align-items:center;justify-content:space-between;color:#fff;mix-blend-mode:difference;transition:background-color .5s var(--ease),backdrop-filter .5s var(--ease),mix-blend-mode .2s}.site-header.is-scrolled{mix-blend-mode:normal;background:#101010b8;backdrop-filter:blur(18px)}.category-nav{display:flex;align-items:center;gap:13px;font-size:14px;font-weight:500;text-transform:lowercase}.category-nav i{font-style:normal;opacity:.35}.category-nav a{position:relative;transition:opacity .35s var(--ease)}.category-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}.category-nav a:hover,.category-nav a.is-active{opacity:.68}.category-nav a:hover:after,.category-nav a.is-active:after{transform:scaleX(1);transform-origin:left}.header-signature{font-size:16px;font-weight:700;letter-spacing:-.02em}.header-signature sup{font-size:.55em;vertical-align:top;margin-left:1px}
.home{position:relative;height:100svh;min-height:620px;padding:14px;overflow:hidden;background:#171717}.home-media{position:absolute;inset:14px;border-radius:22px;overflow:hidden;background:#2a1112;isolation:isolate}.home-media iframe,.home-poster{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}.home-poster{transform:translate3d(0,var(--home-shift,0),0) scale(var(--home-scale,1.04));will-change:transform;transition:filter .7s var(--ease)}.home-media iframe{transform:scale(1.08);pointer-events:none}.home-wash{position:absolute;inset:0;background:linear-gradient(180deg,#0003 0%,transparent 36%,#0002 72%,#0007 100%),linear-gradient(90deg,#0003,transparent 45%,#0001);z-index:2}.home-copy{position:absolute;z-index:3;left:50%;top:50%;width:min(92%,1100px);text-align:center;transform:translate(-50%,-46%);color:#fff}.home-kicker{font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 15px}.home-copy h1{font-size:clamp(100px,16.5vw,238px);font-weight:600;line-height:.72;letter-spacing:-.075em;margin:0;text-shadow:0 5px 30px #0002}.home-role{font-size:clamp(16px,1.45vw,22px);font-weight:500;margin:34px 0 0}.home-foot{position:absolute;z-index:3;left:36px;right:36px;bottom:30px;display:flex;justify-content:space-between;gap:20px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#fff}.scroll-cue{position:absolute;z-index:4;right:37px;bottom:66px;display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.scroll-cue span{display:block;width:28px;height:1px;background:#fff;animation:scroll-cue 1.8s var(--soft) infinite}@keyframes scroll-cue{50%{transform:scaleX(.45);transform-origin:right}}
.projects,.play{padding:140px max(24px,5.4vw);background:var(--bg)}.section-intro{min-height:175px;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;border-top:1px solid var(--line);padding-top:18px}.section-intro p,.section-intro span{font-size:13px;color:var(--muted);margin:0}.section-intro span{text-align:right}.section-intro h2{font-size:clamp(62px,8vw,120px);font-weight:500;line-height:.84;letter-spacing:-.06em;text-transform:uppercase;margin:-2px 0 0;text-align:center}
.showreel{position:relative;width:100%;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#202020;transform-style:preserve-3d}.showreel-media,.showreel-media img,.showreel-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.showreel-media img{object-fit:cover;transition:transform 1.15s var(--ease);transform:scale(1.01)}.showreel-media iframe{object-fit:cover}.showreel-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0008,transparent 38%,#0001 58%,#0008)}.showreel-top,.showreel-bottom{position:absolute;z-index:2;left:30px;right:30px;display:flex;justify-content:space-between;gap:18px;font-size:13px;letter-spacing:.07em}.showreel-top{top:25px}.showreel-bottom{bottom:24px}.showreel-center{position:absolute;z-index:2;left:50%;top:50%;display:flex;align-items:center;gap:14px;transform:translate(-50%,-50%);white-space:nowrap}.showreel-center strong{font-size:17px;letter-spacing:.08em}.play-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;padding-left:3px;background:#fff;color:#111;transition:transform .55s var(--ease),background .4s}.showreel>button,.project-card>button{position:absolute;z-index:5;inset:0;width:100%;height:100%;border:0;background:transparent}.showreel:hover .showreel-media img{transform:scale(1.045)}.showreel:hover .play-mark{transform:scale(1.1);background:var(--red);color:#fff}
.project-masonry{columns:3;column-gap:16px;margin-top:16px}.project-card{position:relative;width:100%;margin:0 0 16px;break-inside:avoid;border-radius:16px;overflow:hidden;background:#202020;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .7s var(--ease)}.project-card.ratio-square{aspect-ratio:1}.project-card.ratio-wide{aspect-ratio:16/9}.project-card.ratio-tall{aspect-ratio:4/5}.project-card.ratio-portrait{aspect-ratio:3/4}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .6s var(--ease)}.project-card:nth-child(2) img,.project-card:nth-child(5) img{object-position:center 32%}.card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,#000b);opacity:.72;transition:opacity .5s}.project-card p{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0;opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.project-card p strong{font-size:clamp(16px,1.6vw,23px);font-weight:600}.project-card p span{font-size:11px;color:#ddd;text-align:right}.project-card:hover img{transform:scale(1.055);filter:saturate(1.08)}.project-card:hover .card-shade{opacity:1}.project-card:hover p{opacity:1;transform:none}
.play{padding-top:60px}.play-stage{position:relative;aspect-ratio:1.75;border-radius:22px;overflow:hidden;background:#1b1b1b}.play-image,.play-image img{position:absolute;inset:0;width:100%;height:100%}.play-image{opacity:0;transform:scale(1.07);transition:opacity 1s var(--soft),transform 1.5s var(--ease)}.play-image.is-active{opacity:1;transform:scale(1)}.play-image img{object-fit:cover}.play-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0002,transparent 44%,#0008)}.play-title{position:absolute;left:30px;top:26px;display:flex;flex-direction:column;gap:8px}.play-title span{font-size:12px;letter-spacing:.12em}.play-title strong{font-size:clamp(38px,6vw,90px);font-weight:500;letter-spacing:-.055em}.play-controls{position:absolute;left:30px;right:30px;bottom:26px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff55}.play-controls button{display:flex;justify-content:space-between;gap:15px;padding:14px 0 0;border:0;background:none;text-align:left;opacity:.48;cursor:pointer;transition:opacity .4s var(--ease),transform .4s var(--ease)}.play-controls button+button{padding-left:20px}.play-controls button.is-active,.play-controls button:hover{opacity:1}.play-controls button.is-active{transform:translateY(-3px)}.play-controls span{font-variant-numeric:tabular-nums}
.about{min-height:760px;padding:160px max(24px,5.4vw) 150px;border-top:1px solid var(--line);display:grid;grid-template-columns:32% 68%;gap:0;background:#e8e8e3;color:#111}.about-identity{display:flex;flex-direction:column;align-items:flex-start;padding-top:6px}.about-identity p{font-size:34px;font-weight:700;line-height:1;margin:0 0 65px}.about-identity sup{font-size:.45em;vertical-align:top}.about-identity span{font-size:15px;line-height:1.45}.about-copy{max-width:900px}.about-copy h2{font-size:clamp(34px,4.3vw,66px);font-weight:550;line-height:1.03;letter-spacing:-.045em;text-transform:uppercase;margin:0 0 65px}.about-copy>p{max-width:720px;font-size:18px;line-height:1.55;margin:0 0 20px}.social-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:55px}.social-list span{border:1px solid #111;border-radius:999px;padding:9px 18px;font-size:15px;text-transform:lowercase}
.site-footer{min-height:110px;padding:25px max(24px,5.4vw);display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.site-footer p{margin:0}.site-footer a{transition:color .3s}.site-footer a:hover{color:#fff}
.project-dialog{width:min(1120px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #555;border-radius:18px;background:#151515;color:#fff;overflow:auto}.project-dialog::backdrop{background:#000d;backdrop-filter:blur(10px)}.dialog-close{position:sticky;top:14px;float:right;z-index:5;display:grid;place-items:center;width:44px;height:44px;margin:14px 14px -58px 0;border:0;border-radius:50%;background:#fff;color:#111;font-size:30px;line-height:1;cursor:pointer}.dialog-media{aspect-ratio:16/9;background:#080808}.dialog-media img,.dialog-media iframe{display:block;width:100%;height:100%;object-fit:cover;border:0}.dialog-info{display:flex;justify-content:space-between;gap:30px;padding:28px}.dialog-info h2{font-size:clamp(42px,6vw,80px);line-height:1;letter-spacing:-.05em;margin:6px 0 0}.dialog-info p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}.dialog-info>p{max-width:310px;align-self:end}
.category-nav a,.header-signature{display:flex;align-items:center;min-height:44px}.home-media iframe,.showreel-media iframe{z-index:1}.home-media.has-video .home-poster,.showreel-media.has-video>img{opacity:0;pointer-events:none}.motion-ready .reveal{opacity:0;transform:translate3d(0,34px,0);transition:opacity .9s var(--ease),transform .9s var(--ease)}.motion-ready .reveal.is-visible{opacity:1;transform:none}.project-masonry .reveal:nth-child(2n){transition-delay:.08s}.project-masonry .reveal:nth-child(3n){transition-delay:.16s}
@media(max-width:900px){.site-header{height:68px;padding:0 24px}.projects,.play{padding-left:24px;padding-right:24px}.section-intro{min-height:135px}.section-intro h2{font-size:72px}.project-masonry{columns:2;column-gap:12px}.project-card{margin-bottom:12px}.showreel-top,.showreel-bottom,.play-title,.play-controls{left:20px;right:20px}.about{grid-template-columns:1fr;gap:80px}.about-identity p{margin-bottom:25px}.about-copy h2{max-width:800px}}
@media(max-width:600px){.site-header{height:58px;padding:0 16px}.category-nav{gap:7px;font-size:11px}.category-nav i{opacity:.3}.header-signature{font-size:13px}.home{min-height:620px;padding:7px}.home-media{inset:7px;border-radius:16px}.home-poster{object-position:58% center}.home-copy{transform:translate(-50%,-42%)}.home-kicker{font-size:10px;margin-bottom:12px}.home-copy h1{font-size:32vw;line-height:.75}.home-role{font-size:14px;margin-top:26px}.home-foot{left:18px;right:18px;bottom:18px;font-size:9px}.home-foot span:first-child{max-width:180px}.scroll-cue{display:none}.projects,.play{padding:90px 16px}.section-intro{min-height:118px;grid-template-columns:1fr auto}.section-intro p{font-size:10px}.section-intro h2{grid-column:1/-1;grid-row:2;font-size:58px;text-align:left;margin-top:22px}.section-intro span{font-size:10px}.showreel{border-radius:14px}.showreel-top,.showreel-bottom{left:13px;right:13px;font-size:9px}.showreel-top{top:12px}.showreel-bottom{bottom:11px}.showreel-bottom span:last-child{display:none}.showreel-center{gap:8px}.showreel-center strong{font-size:11px}.play-mark{width:38px;height:38px;font-size:11px}.project-masonry{columns:2;column-gap:8px;margin-top:8px}.project-card{margin-bottom:8px;border-radius:10px}.project-card p{left:10px;right:10px;bottom:10px;display:block;opacity:1;transform:none}.project-card p strong{font-size:12px}.project-card p span{display:none}.card-shade{opacity:.75}.play{padding-top:30px}.play-stage{aspect-ratio:4/5;border-radius:14px}.play-title{left:16px;right:16px;top:16px}.play-title span{font-size:9px}.play-title strong{font-size:38px}.play-controls{left:16px;right:16px;bottom:15px;display:flex;gap:14px}.play-controls button{font-size:0;flex:1;padding-top:9px}.play-controls button+button{padding-left:0}.play-controls button span{font-size:11px}.about{min-height:0;padding:100px 16px 110px;gap:65px}.about-identity p{font-size:30px}.about-identity span{font-size:13px}.about-copy h2{font-size:33px;margin-bottom:42px}.about-copy>p{font-size:15px}.social-list{margin-top:42px}.social-list span{font-size:13px;padding:8px 14px}.site-footer{min-height:86px;padding:20px 16px;font-size:9px}.dialog-info{display:block;padding:20px}.dialog-info>p{margin-top:20px}.project-dialog{border-radius:12px}.motion-ready .reveal{transform:translate3d(0,22px,0)}}
@media(hover:none){.project-card{transform:none}.showreel:hover .showreel-media img,.project-card:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-cue span{animation:none}.home-poster,.showreel-media img,.project-card,.project-card img,.play-image,.play-controls button,.category-nav a:after{transition:none!important}.motion-ready .reveal{opacity:1;transform:none;transition:none}}

/* Independent category pages */
.projects-page,.play-page{padding:150px max(24px,5.4vw) 90px;min-height:100svh}.page-hero{min-height:430px;padding:24px 0 90px;display:grid;grid-template-columns:32% 68%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.page-hero>p{margin:0;color:var(--muted);font-size:13px}.page-hero>div{display:flex;flex-direction:column;align-items:flex-start}.page-hero h1{font-size:clamp(90px,13vw,190px);font-weight:500;line-height:.78;letter-spacing:-.075em;text-transform:uppercase;margin:0}.page-hero div>p{max-width:610px;margin:80px 0 0;font-size:20px;line-height:1.45;color:var(--muted)}.work-section{padding:115px 0 35px}.work-heading{display:grid;grid-template-columns:32% 68%;padding-bottom:38px}.work-heading h2{font-size:clamp(30px,4vw,58px);font-weight:500;line-height:1;letter-spacing:-.04em;text-transform:lowercase;margin:0}.work-heading p{max-width:590px;margin:4px 0 0;font-size:16px;line-height:1.5;color:var(--muted)}.work-grid{display:grid;gap:16px;margin-top:16px}.work-grid-three{grid-template-columns:repeat(3,1fr)}.work-grid-two{grid-template-columns:repeat(2,1fr)}.work-grid .project-card{margin:0}.placeholder-note{max-width:680px;margin:110px 0 20px;color:var(--muted);font-size:14px}.play-page .page-hero{min-height:390px}.play-feature{padding:90px 0 40px}.play-notes{padding:130px 0 50px;border-top:1px solid var(--line)}.play-notes>h2{font-size:clamp(42px,6vw,88px);font-weight:500;letter-spacing:-.05em;margin:0 0 25px}.play-notes>p{max-width:620px;color:var(--muted);font-size:17px;line-height:1.5;margin-bottom:65px}.play-note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.play-note{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:#202020}.play-note img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.play-note span,.play-note strong{position:absolute;z-index:2;top:18px}.play-note span{left:18px;font-size:12px}.play-note strong{right:18px;font-size:13px}.play-note:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0008,transparent 35%)}.play-note:hover img{transform:scale(1.055)}.light-page{background:#e8e8e3;color:#111}.about-page{min-height:calc(100svh - 110px);background:#e8e8e3}.about-page .about{min-height:770px;padding-top:160px;border-top:0}.about-copy h1{font-size:clamp(34px,4.3vw,66px);font-weight:550;line-height:1.03;letter-spacing:-.045em;text-transform:uppercase;margin:0 0 65px}.about-contact{padding:60px max(24px,5.4vw) 100px;display:flex;align-items:end;justify-content:space-between;gap:30px;background:#e8e8e3;color:#111;border-top:1px solid #1113}.about-contact p{max-width:800px;font-size:clamp(36px,6vw,92px);font-weight:550;line-height:.94;letter-spacing:-.055em;margin:0}.about-contact span{font-size:14px}.light-footer{background:#e8e8e3;color:#111;border-top:1px solid #1113}.light-footer a:hover{color:#555}
@media(max-width:900px){.projects-page,.play-page{padding-left:24px;padding-right:24px}.page-hero{grid-template-columns:1fr;min-height:390px}.page-hero>div{margin-top:55px}.page-hero div>p{margin-top:55px}.work-heading{grid-template-columns:1fr;gap:24px}.work-grid-three{grid-template-columns:repeat(2,1fr)}.work-grid-three .project-card:last-child{grid-column:1/-1}.play-note-grid{grid-template-columns:repeat(2,1fr)}.play-note:last-child{grid-column:1/-1;aspect-ratio:16/9}}
@media(max-width:600px){.projects-page,.play-page{padding:100px 16px 70px}.page-hero{min-height:330px;padding:18px 0 60px}.page-hero>*{min-width:0}.page-hero>p{font-size:10px}.page-hero>div{margin-top:46px}.page-hero h1{font-size:20.5vw}.page-hero div>p{margin-top:40px;font-size:15px}.work-section{padding:80px 0 20px}.work-heading{gap:17px;padding-bottom:24px}.work-heading h2{font-size:32px}.work-heading p{font-size:14px}.work-grid{gap:8px;margin-top:8px}.work-grid-three,.work-grid-two{grid-template-columns:repeat(2,1fr)}.work-grid-three .project-card:last-child{grid-column:1/-1;aspect-ratio:16/9}.placeholder-note{margin-top:75px;font-size:12px}.play-feature{padding:65px 0 30px}.play-notes{padding:90px 0 20px}.play-notes>h2{font-size:42px}.play-notes>p{font-size:15px;margin-bottom:40px}.play-note-grid{gap:8px}.play-note{border-radius:10px}.play-note span,.play-note strong{top:10px}.play-note span{left:10px}.play-note strong{right:10px;font-size:11px}.about-page .about{padding-top:120px}.about-copy h1{font-size:33px;margin-bottom:42px}.about-contact{padding:55px 16px 75px;display:block}.about-contact p{font-size:42px}.about-contact span{display:block;margin-top:35px;font-size:12px}}

.home-edits{padding:135px max(24px,5.4vw) 120px;background:#101010}.home-edits-head{display:grid;grid-template-columns:22% 1fr auto;gap:30px;align-items:start;padding:0 0 90px;border-top:1px solid var(--line);padding-top:22px}.home-edits-head p,.home-edits-head span{margin:0;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.home-edits-head h2{max-width:790px;margin:0;font-size:clamp(48px,7.4vw,112px);font-weight:500;line-height:.9;letter-spacing:-.065em;text-transform:uppercase}.home-edit-grid{columns:3;column-gap:14px}.home-edit-card{position:relative;width:100%;margin:0 0 14px;break-inside:avoid;border-radius:14px;overflow:hidden;background:#202020;isolation:isolate}.home-edit-card.ratio-landscape{aspect-ratio:16/10}.home-edit-card.ratio-square{aspect-ratio:1}.home-edit-card.ratio-portrait{aspect-ratio:4/5}.home-edit-card.ratio-tall{aspect-ratio:3/4}.home-edit-media,.home-edit-media img,.home-edit-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.home-edit-media img{object-fit:cover;transform:scale(1.015);transition:transform 1s var(--ease),filter .7s var(--ease)}.home-edit-media iframe{z-index:1;object-fit:cover;transform:scale(1.02);pointer-events:none}.home-edit-media.has-video img{opacity:0}.home-edit-card:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,transparent 48%,#000b);opacity:.3;transition:opacity .5s var(--ease)}.home-edit-card p{position:absolute;z-index:3;left:16px;right:16px;bottom:14px;display:flex;align-items:end;justify-content:space-between;gap:15px;margin:0;color:#fff;opacity:0;transform:translateY(9px);transition:opacity .45s var(--ease),transform .45s var(--ease)}.home-edit-card p strong{font-size:11px;font-weight:500}.home-edit-card p span{font-size:12px;font-weight:600;letter-spacing:.03em;text-align:right}.home-edit-card:hover:after{opacity:.78}.home-edit-card:hover p{opacity:1;transform:none}.home-edit-card:hover img{transform:scale(1.06)}.home-edit-card:nth-child(5n+2) img{object-position:65% center;filter:saturate(.82) contrast(1.06)}.home-edit-card:nth-child(5n+3) img{object-position:57% center;filter:saturate(.76) brightness(.9)}.home-edit-card:nth-child(5n+4) img{filter:hue-rotate(-10deg) saturate(.9)}.home-edit-card:nth-child(5n) img{object-position:38% center;filter:contrast(1.08)}
@media(max-width:900px){.home-edits{padding:105px 24px 90px}.home-edits-head{grid-template-columns:1fr auto;padding-bottom:65px}.home-edits-head h2{grid-column:1/-1;grid-row:2;margin-top:30px}.home-edit-grid{column-gap:10px}.home-edit-card{margin-bottom:10px;border-radius:11px}}
@media(max-width:600px){.home-edits{padding:90px 16px 70px}.home-edits-head{gap:20px;padding-bottom:50px}.home-edits-head p,.home-edits-head span{font-size:9px}.home-edits-head h2{font-size:14vw;line-height:.92}.home-edit-grid{columns:2;column-gap:7px}.home-edit-card{margin-bottom:7px;border-radius:8px}.home-edit-card p{left:9px;right:9px;bottom:8px;opacity:1;transform:none}.home-edit-card p span{font-size:9px}.home-edit-card p strong{font-size:9px}.home-edit-card:after{opacity:.55}}
@media(hover:none){.home-edit-card:hover img{transform:scale(1.015)}}
@media(prefers-reduced-motion:reduce){.home-edit-media img,.home-edit-card p,.home-edit-card:after{transition:none!important}}

/* Home video collage */
.home-edits{padding-top:150px;padding-bottom:160px}.home-edits-head{width:min(100%,1080px);grid-template-columns:1fr auto;gap:22px;margin:0 auto;padding-bottom:70px}.home-edits-head h2{grid-column:1/-1;grid-row:2;max-width:620px;margin-top:16px;font-size:clamp(42px,5.4vw,78px);line-height:.94}.home-edit-grid{display:grid;columns:auto;width:min(100%,1080px);margin:0 auto;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(8,clamp(58px,5.3vw,82px));gap:7px;align-items:stretch}.home-edit-card{margin:0;border-radius:2px;aspect-ratio:auto;overflow:hidden;--card-scale:1;--card-y:0px}.home-edit-card:nth-of-type(1){grid-column:3/5;grid-row:1/3}.home-edit-card:nth-of-type(2){grid-column:5/7;grid-row:1/4}.home-edit-card:nth-of-type(3){grid-column:7/11;grid-row:2/5}.home-edit-card:nth-of-type(4){grid-column:2/5;grid-row:3/7}.home-edit-card:nth-of-type(5){grid-column:5/7;grid-row:4/5}.home-edit-card:nth-of-type(6){grid-column:11/13;grid-row:3/5}.home-edit-card:nth-of-type(7){grid-column:5/8;grid-row:5/7}.home-edit-card:nth-of-type(8){grid-column:8/10;grid-row:5/8}.home-edit-card:nth-of-type(9){grid-column:10/12;grid-row:5/7}.collage-note{z-index:3;margin:0;color:#b6b6b6;font-size:10px;font-weight:600;line-height:1.25;letter-spacing:.09em;text-transform:lowercase;pointer-events:none}.note-left{grid-column:1/3;grid-row:2;align-self:end;text-align:right}.note-title{grid-column:7/10;grid-row:1;font-size:clamp(18px,2.1vw,31px);font-weight:500;font-style:italic;letter-spacing:-.025em;line-height:.9}.note-right{grid-column:11/13;grid-row:2;align-self:end}.note-bottom{grid-column:2/5;grid-row:7;align-self:start}.motion-ready .home-edit-card.reveal{opacity:0;transform:perspective(900px) translate3d(0,26px,0) scale(.965) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:opacity .75s var(--ease),transform .9s var(--ease)}.motion-ready .home-edit-card.reveal.is-visible{opacity:1;transform:perspective(900px) translate3d(0,var(--card-y),0) scale(var(--card-scale)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}.motion-ready .home-edit-card.reveal.is-visible:hover{--card-scale:1.025;--card-y:-4px;z-index:5}.home-edit-card:nth-of-type(2){transition-delay:.05s!important}.home-edit-card:nth-of-type(3){transition-delay:.1s!important}.home-edit-card:nth-of-type(4){transition-delay:.15s!important}.home-edit-card:nth-of-type(5){transition-delay:.2s!important}.home-edit-card:nth-of-type(6){transition-delay:.25s!important}.home-edit-card:nth-of-type(7){transition-delay:.3s!important}.home-edit-card:nth-of-type(8){transition-delay:.35s!important}.home-edit-card:nth-of-type(9){transition-delay:.4s!important}
@media(max-width:900px){.home-edits{padding-top:115px;padding-bottom:120px}.home-edits-head{padding-bottom:55px}.home-edit-grid{grid-template-rows:repeat(8,clamp(46px,6.3vw,62px))}.collage-note{font-size:8px}}
@media(max-width:600px){.home-edits{padding-top:95px;padding-bottom:90px}.home-edits-head{padding-bottom:42px}.home-edits-head h2{font-size:12.5vw}.home-edit-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(10,52px);gap:5px}.home-edit-card{border-radius:1px}.home-edit-card:nth-of-type(1){grid-column:1/3;grid-row:1/3}.home-edit-card:nth-of-type(2){grid-column:3/5;grid-row:1/4}.home-edit-card:nth-of-type(3){grid-column:5/7;grid-row:2/5}.home-edit-card:nth-of-type(4){grid-column:1/3;grid-row:3/6}.home-edit-card:nth-of-type(5){grid-column:3/5;grid-row:4/5}.home-edit-card:nth-of-type(6){grid-column:5/7;grid-row:5/7}.home-edit-card:nth-of-type(7){grid-column:1/4;grid-row:6/8}.home-edit-card:nth-of-type(8){grid-column:4/6;grid-row:7/10}.home-edit-card:nth-of-type(9){grid-column:1/4;grid-row:8/10}.note-left,.note-right{display:none}.note-title{grid-column:5/7;grid-row:1;font-size:14px;text-align:right}.note-bottom{grid-column:1/4;grid-row:10;font-size:7px}.home-edit-card p{left:7px;right:7px;bottom:6px}.home-edit-card p span,.home-edit-card p strong{font-size:8px}}

/* Continuous home video orbit */
.home-edits{padding-left:0;padding-right:0;overflow:hidden}.home-edits-head{display:block;width:min(88%,820px);margin:0 auto;padding:22px 0 45px;text-align:center}.home-edits-head p{color:var(--red);margin-bottom:18px}.home-edits-head h2{max-width:none;margin:0;font-size:clamp(48px,6vw,88px);line-height:.92}.home-edits-head span{display:block;margin-top:25px}.video-orbit{position:relative;width:100%;height:clamp(390px,43vw,610px);overflow:hidden;perspective:1200px;isolation:isolate}.video-orbit:before,.video-orbit:after{content:"";position:absolute;z-index:7;top:0;bottom:0;width:min(11vw,160px);pointer-events:none}.video-orbit:before{left:0;background:linear-gradient(90deg,#101010,transparent)}.video-orbit:after{right:0;background:linear-gradient(-90deg,#101010,transparent)}.video-orbit-track{display:flex;align-items:flex-start;gap:clamp(10px,1.25vw,19px);width:max-content;padding:55px 0 120px;will-change:transform}.video-orbit .home-edit-card{flex:0 0 clamp(260px,25vw,400px);width:clamp(260px,25vw,400px);aspect-ratio:16/10;margin:0;border-radius:16px;transform:translate3d(0,var(--orbit-y,0px),0) rotateY(var(--orbit-turn,0deg)) scale(var(--orbit-scale,1)) scale(var(--hover-scale,1));transform-style:preserve-3d;transition:transform .55s var(--soft),filter .5s var(--ease),opacity .5s var(--ease),box-shadow .5s var(--ease);will-change:transform}.video-orbit .home-edit-card:nth-of-type(3n+2){flex-basis:clamp(235px,22vw,350px);width:clamp(235px,22vw,350px)}.video-orbit .home-edit-card:nth-of-type(4n){flex-basis:clamp(285px,27vw,430px);width:clamp(285px,27vw,430px)}.video-orbit .home-edit-card:hover{--hover-scale:1.14;z-index:10;box-shadow:0 28px 75px #0009}.video-orbit.is-paused .home-edit-card:not(:hover){filter:brightness(.48) saturate(.75);opacity:.62}.video-orbit .home-edit-card:after{opacity:.68}.video-orbit .home-edit-card:hover:after{opacity:.88}.video-orbit .home-edit-card p{opacity:.78;transform:none}.video-orbit .home-edit-card:hover p{opacity:1}.video-orbit .home-edit-card>button{position:absolute;z-index:6;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.video-orbit .home-edit-card>button:focus-visible{outline:2px solid #fff;outline-offset:-6px}.orbit-help{display:flex;align-items:center;justify-content:center;gap:10px;margin:4px 0 0;color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.orbit-help span{width:34px;height:1px;background:var(--red);animation:scroll-cue 1.8s var(--soft) infinite}
@media(max-width:900px){.home-edits-head{padding-bottom:35px}.video-orbit{height:470px}.video-orbit-track{padding-top:44px}.video-orbit .home-edit-card{flex-basis:330px;width:330px}.video-orbit .home-edit-card:nth-of-type(3n+2){flex-basis:290px;width:290px}.video-orbit .home-edit-card:nth-of-type(4n){flex-basis:350px;width:350px}}
@media(max-width:600px){.home-edits{padding-top:90px;padding-bottom:80px}.home-edits-head{width:calc(100% - 32px);padding-bottom:28px}.home-edits-head p{margin-bottom:14px}.home-edits-head h2{font-size:12vw}.home-edits-head span{margin-top:18px}.video-orbit{height:365px}.video-orbit:before,.video-orbit:after{width:34px}.video-orbit-track{gap:9px;padding-top:32px}.video-orbit .home-edit-card,.video-orbit .home-edit-card:nth-of-type(3n+2),.video-orbit .home-edit-card:nth-of-type(4n){flex-basis:72vw;width:72vw;border-radius:12px}.video-orbit .home-edit-card:hover{--hover-scale:1.06}.orbit-help{margin-top:0;font-size:8px}}
@media(prefers-reduced-motion:reduce){.video-orbit{overflow-x:auto;scroll-snap-type:x mandatory}.video-orbit-track{transform:none!important}.video-orbit .home-edit-card{scroll-snap-align:center;transform:none!important}.orbit-help span{animation:none}}

/* First-person curved video ring */
.video-orbit{height:clamp(430px,48vw,650px);perspective:900px;cursor:grab;touch-action:pan-y;user-select:none}.video-orbit:focus-visible{outline:1px solid #ffffff8a;outline-offset:-4px}.video-orbit.is-dragging{cursor:grabbing}.video-orbit-track{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;transform:none!important;transform-style:preserve-3d;will-change:auto}.video-orbit .home-edit-card,.video-orbit .home-edit-card:nth-of-type(3n+2),.video-orbit .home-edit-card:nth-of-type(4n){position:absolute;left:50%;top:48%;display:block;flex:none;width:clamp(240px,20vw,320px);height:auto;aspect-ratio:16/10;margin:0;border-radius:18px;transform-origin:center center;transition:filter .35s var(--ease),opacity .25s linear,box-shadow .35s var(--ease);backface-visibility:hidden}.video-orbit .home-edit-card.is-hovered{box-shadow:0 32px 90px #000c;filter:brightness(1.08) saturate(1.08)}.video-orbit .home-edit-card.is-hovered:after{opacity:.88}.video-orbit .home-edit-card.is-hovered p{opacity:1}.video-orbit.is-dragging .home-edit-card{pointer-events:none}.video-orbit:before,.video-orbit:after{width:min(8vw,110px);opacity:.82}.orbit-help span{width:46px}.orbit-help:after{content:"↔";font-size:14px;color:#fff}
@media(max-width:900px){.video-orbit{height:500px;perspective:780px}.video-orbit .home-edit-card,.video-orbit .home-edit-card:nth-of-type(3n+2),.video-orbit .home-edit-card:nth-of-type(4n){width:270px}.video-orbit .home-edit-card{top:48%}}
@media(max-width:600px){.video-orbit{height:390px;perspective:650px}.video-orbit .home-edit-card,.video-orbit .home-edit-card:nth-of-type(3n+2),.video-orbit .home-edit-card:nth-of-type(4n){width:62vw;border-radius:12px}.video-orbit .home-edit-card{top:47%}.orbit-help{padding:0 16px}}
@media(prefers-reduced-motion:reduce){.video-orbit{overflow-x:auto;cursor:auto}.video-orbit-track{position:relative;display:flex;align-items:center;gap:10px;width:max-content;padding:40px 20px}.video-orbit .home-edit-card,.video-orbit .home-edit-card:nth-of-type(3n+2),.video-orbit .home-edit-card:nth-of-type(4n){position:relative;left:auto;top:auto;flex:0 0 300px;width:300px;transform:none!important;opacity:1!important;visibility:visible!important}}

.video-orbit .home-edit-card,.video-orbit .home-edit-card:nth-of-type(3n+2),.video-orbit .home-edit-card:nth-of-type(4n){top:31%;width:clamp(280px,23vw,350px)}
@media(max-width:900px){.video-orbit .home-edit-card,.video-orbit .home-edit-card:nth-of-type(3n+2),.video-orbit .home-edit-card:nth-of-type(4n){top:33%;width:300px}}
@media(max-width:600px){.video-orbit .home-edit-card,.video-orbit .home-edit-card:nth-of-type(3n+2),.video-orbit .home-edit-card:nth-of-type(4n){top:38%;width:72vw}}
@media(prefers-reduced-motion:reduce){.video-orbit .home-edit-card,.video-orbit .home-edit-card:nth-of-type(3n+2),.video-orbit .home-edit-card:nth-of-type(4n){top:auto;width:min(75vw,320px)}}
.video-orbit .home-edit-card,.video-orbit .home-edit-card:nth-of-type(3n+2),.video-orbit .home-edit-card:nth-of-type(4n){transition:filter .35s var(--ease),box-shadow .35s var(--ease)}

/* Compact project index, following the reference's three-column rhythm. */
body[data-page="projects"] .projects-page{width:min(90%,2240px);margin:0 auto;padding:112px 0 100px}
body[data-page="projects"] .page-hero{display:block;min-height:0;padding:8px 0 92px;border:0;text-align:center}
body[data-page="projects"] .page-hero>p{margin:0 0 12px;color:var(--red);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
body[data-page="projects"] .page-hero>div{display:block;margin:0}
body[data-page="projects"] .page-hero h1{font-size:clamp(42px,4vw,64px);font-weight:600;line-height:1.05;letter-spacing:-.045em}
body[data-page="projects"] .page-hero div>p{max-width:none;margin:14px auto 0;font-size:clamp(13px,1.15vw,16px);line-height:1.45;text-align:center}
body[data-page="projects"] .work-section{padding:0 0 108px;scroll-margin-top:90px}
body[data-page="projects"] .work-heading{display:block;padding:0 0 24px}
body[data-page="projects"] .work-heading h2{font-size:clamp(23px,2.3vw,32px);font-weight:600;font-style:normal;text-transform:uppercase;line-height:1.1;letter-spacing:-.035em}
body[data-page="projects"] .work-heading p{max-width:710px;margin:7px 0 0;font-size:14px;line-height:1.5}
.project-tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.project-tile{position:relative;display:block;min-width:0;width:100%;padding:0;border:0;background:none;color:inherit;text-align:center;cursor:pointer}
.project-thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#222;isolation:isolate}
.project-thumb img,.project-thumb iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;object-fit:cover}
.project-thumb img{transition:transform .55s var(--ease),filter .55s var(--ease)}
.project-thumb iframe{pointer-events:none}
.project-thumb.has-video img{opacity:0}
.project-caption{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;border-radius:12px;background:#0009;color:#fff;font-size:clamp(14px,1.4vw,20px);font-weight:550;line-height:1.4;letter-spacing:-.01em;opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}
@media(hover:hover) and (pointer:fine){.project-tile:hover .project-thumb img{transform:scale(1.045);filter:brightness(1.08)}.project-tile:hover .project-caption{opacity:1}}
.project-tile:focus-visible .project-caption{opacity:1}
@media(hover:none),(pointer:coarse){.project-caption{opacity:1;align-items:flex-end;padding:12px;background:linear-gradient(transparent 40%,#000b)}}
.project-tile:focus-visible{outline:none}.project-tile:focus-visible .project-thumb{outline:2px solid #fff;outline-offset:4px}
.motion-ready .project-tile.reveal{transform:translateY(16px);transition:opacity .55s var(--ease),transform .65s var(--ease)}
.motion-ready .project-tile.reveal.is-visible{transform:none}
.project-tile:nth-child(4n+2){transition-delay:.04s}.project-tile:nth-child(4n+3){transition-delay:.08s}.project-tile:nth-child(4n){transition-delay:.12s}
body[data-page="projects"] .placeholder-note{margin:10px 0 25px;font-size:12px}
@media(min-width:601px) and (max-width:1000px){.project-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){body[data-page="projects"] .projects-page{width:100%;padding:104px 18px 70px}body[data-page="projects"] .page-hero{padding-bottom:76px}body[data-page="projects"] .page-hero h1{font-size:42px}body[data-page="projects"] .page-hero div>p{font-size:13px}body[data-page="projects"] .work-section{padding-bottom:76px}body[data-page="projects"] .work-heading{padding-bottom:18px}body[data-page="projects"] .work-heading h2{font-size:23px}body[data-page="projects"] .work-heading p{font-size:13px}.project-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-thumb{border-radius:9px}.project-caption{padding:12px;border-radius:9px;font-size:14px}}

/* The dialog stays mounted until its exit transition finishes. */
.project-dialog{opacity:0;transform:translateY(22px) scale(.975);transition:opacity .28s var(--ease),transform .35s var(--ease)}
.project-dialog.is-open{opacity:1;transform:translateY(0) scale(1)}
.project-dialog::backdrop{opacity:0;transition:opacity .35s var(--ease)}
.project-dialog.is-open::backdrop{opacity:1}
@media(prefers-reduced-motion:reduce){.project-dialog,.project-dialog::backdrop,.project-thumb img,.project-caption,.motion-ready .project-tile.reveal{transition:none!important}.project-dialog{transform:none}.motion-ready .project-tile.reveal{opacity:1;transform:none}}

/* Personal films: four square thumbnails, with labels above each frame. */
html:has(body[data-page="play"]){color-scheme:light;--bg:#e8e8e3;--text:#111;--muted:#676762;--line:#1113}
body[data-page="play"] .site-header.is-scrolled{background:#e8e8e3e8;color:#111}
.play-library{min-height:calc(100svh - 110px);padding:145px 3.8vw 100px}
.personal-intro{display:flex;align-items:baseline;justify-content:space-between;gap:32px;margin-bottom:clamp(128px,10vw,192px)}
.personal-intro h1{margin:0;font-size:32px;font-weight:680;letter-spacing:-.045em;line-height:1}
.personal-intro h1 span{color:var(--red)}
.personal-intro p{margin:0;max-width:340px;font-size:16px;color:var(--muted);line-height:1.48}
.personal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(20px,1.6vw,36px);row-gap:clamp(48px,4.4vw,90px)}
.personal-card{display:flex;flex-direction:column;min-width:0;padding:0;border:0;background:none;text-align:left;cursor:pointer}
.personal-card-label{display:block;color:#767671;font-size:clamp(14px,1.15vw,20px);line-height:1.35;margin-bottom:5px}
.personal-card-title{display:block;margin:0 0 18px;color:#111;font-size:clamp(18px,1.5vw,26px);font-weight:500;line-height:1.3;letter-spacing:-.02em}
.personal-card-media{margin-top:auto;position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden;background:#deded8;isolation:isolate}
.personal-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease),filter .4s var(--ease)}

.personal-card:focus-visible{outline-color:#111;outline-offset:7px}
.personal-note{max-width:640px;margin:64px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
.motion-ready .personal-card.reveal{transition:opacity .55s var(--ease),transform .65s var(--ease)}
.motion-ready .personal-card.reveal:nth-child(4n+2){transition-delay:.045s}
.motion-ready .personal-card.reveal:nth-child(4n+3){transition-delay:.09s}
.motion-ready .personal-card.reveal:nth-child(4n+4){transition-delay:.135s}
body[data-page="play"] .project-dialog{background:#e8e8e3;color:#111;border-color:#1113}
body[data-page="play"] .dialog-close{background:#111;color:#fff}
body[data-page="play"] .dialog-info p{color:#676762}
body[data-page="play"] .project-dialog::backdrop{background:#1119}
@media(hover:hover) and (pointer:fine){.personal-card:hover .personal-card-media img{transform:scale(1.035)}.personal-card:hover }
@media(max-width:1000px){.personal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 24px}.play-library{padding:125px 5.4vw 80px}.personal-intro{margin-bottom:112px}}
@media(max-width:520px){.play-library{padding:105px 18px 65px}.personal-intro{display:block;margin-bottom:80px}.personal-intro h1{font-size:31px}.personal-intro p{margin-top:16px;font-size:14px;line-height:1.5}.personal-grid{gap:32px 14px}.personal-card-label{font-size:14px}.personal-card-title{font-size:18px;margin-bottom:12px}.personal-note{margin-top:42px}}
@media(max-width:360px){.personal-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.personal-card-media img,.motion-ready .personal-card.reveal{transition:none!important}.personal-card:hover .personal-card-media img{transform:none}.motion-ready .personal-card.reveal{opacity:1;transform:none}}

/* Ordinary Folk inspired Play archive: generous field, six-column circular index. */
.play-archive{width:min(100%,1280px);min-height:100svh;margin:0 auto;padding:0 max(24px,5vw) 126px}
.play-intro{position:relative;display:grid;grid-template-columns:50% 25% 25%;min-height:534px;padding-top:245px}
.play-intro h1{position:absolute;top:113px;left:0;margin:0;font-size:32px;font-weight:680;line-height:1;letter-spacing:-.045em}
.play-intro h1 span{color:var(--red)}
.play-intro-line,.play-intro-note{margin:0;padding-right:30px;font-size:16px;font-weight:480;line-height:1.48}
.play-intro-line{grid-column:2}
.play-intro-note{grid-column:3;max-width:270px;color:#c7c7c4}
.play-collection-heading{display:flex;align-items:baseline;justify-content:space-between;gap:30px;padding-bottom:58px}
.play-collection-heading h2{margin:0;color:#5b5b5b;font-size:clamp(48px,5.1vw,72px);font-weight:580;line-height:1.1;letter-spacing:-.04em}
.play-collection-heading p{margin:0;color:#929292;font-size:11px;letter-spacing:.1em}
.play-circle-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));row-gap:58px}
.play-archive-item{min-width:0;min-height:192px;padding-right:12px}
.play-archive-item h3{min-height:39px;margin:0;color:#111;font-size:15px;font-weight:480;line-height:1.28;letter-spacing:-.01em}
.play-archive-item>p{margin:14px 0 0;color:var(--muted);font-size:11px;letter-spacing:.07em;text-align:center}
.play-disc{position:relative;width:88px;height:88px;margin:11px auto 0;border-radius:50%;overflow:hidden;isolation:isolate;transform:translate3d(0,0,0);transition:transform .24s var(--ease),filter .24s var(--ease)}
.play-disc-art,.play-disc-art i{position:absolute;display:block}
.play-disc--notes{background:#ebe4d6}
.play-disc--notes .play-disc-art{inset:18px 25px 17px 24px;background:#f9f7f0;border:1px solid #b3aca0;transform:rotate(-11deg);box-shadow:4px 7px 9px #473d3038}
.play-disc--notes .play-disc-art:before{content:"HUN";position:absolute;left:5px;top:6px;color:#333;font-size:8px;font-weight:700}
.play-disc--notes .play-disc-art i{left:5px;right:5px;height:1px;background:#555}.play-disc--notes .play-disc-art i:nth-child(1){top:31px}.play-disc--notes .play-disc-art i:nth-child(2){top:37px}.play-disc--notes .play-disc-art i:nth-child(3){top:43px;right:12px}
.play-disc--cut{background:#2b2325}
.play-disc--cut .play-disc-art{inset:29px 10px;display:flex;align-items:center;gap:3px}
.play-disc--cut .play-disc-art i{position:relative;flex:1;height:17px;background:#bd5a52}.play-disc--cut .play-disc-art i:nth-child(2){height:25px;background:#eee9e4}.play-disc--cut .play-disc-art i:nth-child(3){height:11px;background:#85433f}
.play-disc--cut:after{content:"";position:absolute;left:14px;right:14px;top:66px;height:1px;background:#d8a6a1}
.play-disc--map{background:#4d677b}
.play-disc--map .play-disc-art{inset:20px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:rotate(9deg)}
.play-disc--map .play-disc-art:before,.play-disc--map .play-disc-art:after,.play-disc--map .play-disc-art i:nth-child(1),.play-disc--map .play-disc-art i:nth-child(2){content:"";position:relative;display:block;background:#223748}
.play-disc--map .play-disc-art:after{background:#9d5b55}.play-disc--map .play-disc-art i:nth-child(1){background:#a6b8c1}.play-disc--map .play-disc-art i:nth-child(2){background:#273c4e}
.play-disc--project{background:#1c2532}
.play-disc--project .play-disc-art{inset:19px;border:8px solid #7795b9;border-right-color:#d7e1ec;border-radius:50%;transform:rotate(-30deg)}
.play-disc--project .play-disc-art:after{content:"";position:absolute;inset:7px;border:1px solid #c9d9ed70;border-radius:50%}
.play-disc--preset{background:#aa433e}
.play-disc--preset .play-disc-art{inset:19px 16px;display:flex;align-items:center;justify-content:space-between;gap:3px}
.play-disc--preset .play-disc-art i{position:relative;flex:1;border-radius:20px;background:#f6e1d9}.play-disc--preset .play-disc-art i:nth-child(1){height:24px}.play-disc--preset .play-disc-art i:nth-child(2){height:50px}.play-disc--preset .play-disc-art i:nth-child(3){height:32px}
.play-disc--plugin{background:#deded8}
.play-disc--plugin .play-disc-art{inset:20px;transform:rotate(45deg)}
.play-disc--plugin .play-disc-art:before,.play-disc--plugin .play-disc-art:after{content:"";position:absolute;display:block;background:#30312f}
.play-disc--plugin .play-disc-art:before{top:18px;left:0;right:0;height:12px}.play-disc--plugin .play-disc-art:after{left:18px;top:0;bottom:0;width:12px}
.play-archive-note{margin:86px 0 0;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.5}
@keyframes play-ring-turn{to{transform:rotate(330deg)}}
@keyframes play-wave-breathe{50%{transform:scaleY(.62)}}
@media(prefers-reduced-motion:no-preference){.play-archive-item.is-ambient .play-disc--project .play-disc-art{animation:play-ring-turn 12s linear infinite}.play-archive-item.is-ambient .play-disc--preset .play-disc-art i{animation:play-wave-breathe 2.8s var(--soft) infinite}.play-archive-item.is-ambient .play-disc--preset .play-disc-art i:nth-child(2){animation-delay:-.7s}.play-archive-item.is-ambient .play-disc--preset .play-disc-art i:nth-child(3){animation-delay:-1.4s}}
.is-page-hidden .play-disc-art,.is-page-hidden .play-disc-art i{animation-play-state:paused!important}
@media(hover:hover) and (pointer:fine){.play-archive-item:hover .play-disc{filter:brightness(1.08)}.play-archive-item:hover h3{color:#444}.play-archive-item:hover .play-disc--project .play-disc-art{transform:rotate(12deg)}.play-archive-item:hover .play-disc--map .play-disc-art{transform:rotate(-2deg)}}
@media(max-width:900px){.play-archive{padding-left:5vw;padding-right:5vw}.play-intro{grid-template-columns:1fr 1fr;column-gap:26px;min-height:455px;padding-top:225px}.play-intro-line{grid-column:1}.play-intro-note{grid-column:2}.play-circle-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:42px}}
@media(max-width:600px){.play-archive{padding:0 18px 76px}.play-intro{display:block;min-height:425px;padding-top:204px}.play-intro h1{top:105px;font-size:31px}.play-intro-line,.play-intro-note{max-width:330px;padding:0;font-size:14px;line-height:1.52}.play-intro-note{margin-top:20px}.play-collection-heading{display:block;padding-bottom:41px}.play-collection-heading h2{font-size:46px}.play-collection-heading p{margin-top:9px;font-size:10px}.play-circle-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:34px}.play-archive-item{min-height:183px;padding-right:0}.play-archive-item h3{min-height:37px;font-size:13px}.play-disc{width:84px;height:84px}.play-archive-item>p{font-size:10px}.play-archive-note{margin-top:46px;font-size:12px}body[data-page="play"] .site-footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){.play-disc,.play-disc-art{transition:none!important}.play-archive-item:hover .play-disc{transform:none!important}}

.play-library .play-collection{margin-top:0;padding-top:0;border-top:0}
.personal-collection{margin-top:110px;padding-top:52px;border-top:1px solid var(--line);scroll-margin-top:100px}
.play-collection{scroll-margin-top:100px}
.play-library .play-collection-heading h2,.personal-collection .play-collection-heading h2{font-size:clamp(36px,4vw,56px);color:#111}
.play-library .play-archive-item h3{font-size:15px}
.play-library .play-archive-item>p{font-size:12px}
.play-library .play-collection-heading p{font-size:12px;color:var(--muted)}
.play-library .play-archive-note{font-size:14px}
@media(max-width:600px){.personal-collection{margin-top:70px;padding-top:32px}.play-library .play-collection-heading h2,.personal-collection .play-collection-heading h2{font-size:36px}}

/* Keep one opaque snapshot underneath the arriving page, including its background. */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--page-shift:clamp(3px,.4vw,6px)}
@view-transition{navigation:auto}
.site-header,main{view-transition-name:none}
@keyframes page-fade-in{from{opacity:0}}
@keyframes page-arrive{from{opacity:.86;transform:translate3d(var(--page-shift),0,0)}}
@keyframes page-arrive-back{from{opacity:.86;transform:translate3d(calc(-1 * var(--page-shift)),0,0)}}
::view-transition-group(root){animation-duration:.28s;animation-timing-function:var(--ease-out)}
::view-transition-image-pair(root){isolation:isolate}
::view-transition-old(root){animation:none;opacity:1;mix-blend-mode:normal}
::view-transition-new(root){animation:page-fade-in .28s var(--ease-out) both;mix-blend-mode:normal}
html[data-page-arrival] main{animation:page-arrive .28s var(--ease-out) both}
html[data-page-arrival="backwards"] main{animation-name:page-arrive-back}
.category-nav a{transition:opacity .18s var(--ease-out),transform .16s var(--ease-out)}
.category-nav a:after{transition:transform .22s var(--ease-out)}
.category-nav a:active{transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){
  ::view-transition-new(root){animation-duration:.1s}
  html[data-page-arrival] main{animation:page-fade-in .1s linear both}
  .category-nav a:active{transform:none}
}

/* Community continues the quiet editorial spacing of Play. */
.community-page{width:min(100%,1280px);min-height:calc(100svh - 100px);margin:0 auto;padding:0 max(24px,5vw) 130px}
.community-intro{position:relative;display:grid;grid-template-columns:50% 25% 25%;min-height:450px;padding-top:245px}
.community-intro h1{position:absolute;top:113px;left:0;margin:0;font-size:32px;font-weight:680;line-height:1;letter-spacing:-.045em}
.community-intro h1 span{display:inline-block;color:var(--red);line-height:1;transform-origin:center bottom;animation:community-dot-bounce 2.25s var(--soft) infinite;will-change:transform}
@keyframes community-dot-bounce{
  0%,8%,72%,100%{transform:translate3d(0,0,0) scale(1)}
  13%{transform:translate3d(0,0,0) scale(1.12,.82)}
  28%{transform:translate3d(0,-.28em,0) scale(.94,1.08)}
  45%{transform:translate3d(0,0,0) scale(1.1,.86)}
  57%{transform:translate3d(0,-.12em,0) scale(.97,1.04)}
}
@keyframes community-dot-breathe{50%{opacity:.72}}
.is-page-hidden .community-intro h1 span{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.community-intro h1 span{animation:community-dot-breathe 4s var(--soft) infinite;will-change:auto}}
.community-intro>p{margin:0;padding-right:30px;font-size:16px;line-height:1.48}
.community-intro>p:first-of-type{grid-column:2}
.community-intro>p:last-of-type{grid-column:3;max-width:280px;color:#c7c7c4}
.community-index-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:35px;border-bottom:1px solid var(--line)}
.community-index-heading p{margin:0 0 14px;color:var(--muted);font-size:11px;letter-spacing:.1em}
.community-index-heading h2{margin:0;color:#ddd;font-size:clamp(46px,5.2vw,72px);font-weight:580;line-height:1;letter-spacing:-.055em}
.community-write,.community-retry{min-height:44px;border:1px solid #666;border-radius:999px;background:transparent;color:#f5f5f2;padding:9px 20px;font-size:14px;cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.community-write:hover,.community-retry:hover{border-color:#fff;background:#ffffff18}
.community-write[hidden]{display:none}
.community-status{margin:48px 0;color:#b8b8b8;font-size:16px}
.community-empty{display:grid;grid-template-columns:25% 1fr;min-height:255px;padding:40px 0;border-bottom:1px solid var(--line)}
.community-empty span{color:var(--muted);font-size:12px;letter-spacing:.1em}
.community-empty p{margin:0;color:#e4e4e1;font-size:clamp(20px,2.3vw,30px);line-height:1.35;white-space:pre-line}
.community-post{border-bottom:1px solid var(--line);scroll-margin-top:95px}
.community-post-head{display:grid;grid-template-columns:8% minmax(0,1fr) 118px 110px;gap:16px;align-items:start;padding:30px 0}
.community-post-number,.community-post-date{padding-top:5px;color:#929292;font-size:12px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.community-post-toggle{display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-width:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}
.community-post-category{color:var(--red);font-size:11px;letter-spacing:.12em}
.community-post-toggle strong{color:#f1f1ee;font-size:clamp(22px,2.6vw,35px);font-weight:540;line-height:1.16;letter-spacing:-.035em;overflow-wrap:anywhere;transition:color .2s var(--ease)}
.community-post-toggle:hover strong{color:#b9b9b6}
.community-post-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.community-post-actions button{min-height:32px;padding:0;border:0;background:transparent;color:#aaa;font-size:12px;cursor:pointer;transition:color .2s var(--ease)}
.community-post-actions button:hover{color:#fff}
.community-post-actions .community-delete:hover{color:#ee756d}
.community-post-actions button:disabled{opacity:.4;cursor:wait}
.community-post-details{padding:0 0 38px 8%;max-width:820px}
.community-post-body{margin:0;color:#d2d2cf;font-size:16px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}
.community-post-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.community-post-links a{display:inline-flex;align-items:center;min-height:38px;border:1px solid #555;border-radius:999px;padding:7px 14px;font-size:13px;transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.community-post-links a:hover{border-color:#aaa;background:#ffffff12}
.community-video{display:block;width:min(100%,660px);aspect-ratio:16/9;margin-top:26px;border:0;border-radius:12px;background:#222}
.community-editor{width:min(610px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0;border:1px solid #505050;border-radius:18px;background:#171717;color:#f5f5f2;overflow:auto}
.community-editor::backdrop{background:#000b;backdrop-filter:blur(8px)}
.community-editor form{padding:30px}
.community-editor-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:30px}
.community-editor-head p{margin:0 0 7px;color:#aaa;font-size:11px;letter-spacing:.1em}
.community-editor-head h2{margin:0;font-size:38px;font-weight:550;letter-spacing:-.05em}
.community-editor-close{border:0;background:none;color:#ddd;font-size:32px;line-height:1;cursor:pointer}
.community-editor label{display:block;margin:0 0 20px;font-size:13px;color:#ccc}
.community-editor label span{color:#888}
.community-editor input,.community-editor textarea,.community-editor select{display:block;width:100%;margin-top:9px;padding:12px 14px;border:1px solid #454545;border-radius:10px;background:#222;color:#fff;font:inherit;font-size:15px;outline-offset:2px}
.community-editor textarea{resize:vertical;line-height:1.5}
.community-editor input:focus,.community-editor textarea:focus,.community-editor select:focus{border-color:#aaa}
.community-form-message{min-height:21px;margin:0;color:#ee8c84;font-size:13px}
.community-editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.community-editor-actions button{min-height:44px;padding:9px 19px;border:1px solid #666;border-radius:999px;background:transparent;color:#fff;cursor:pointer}
.community-editor-actions button[type="submit"]{border-color:#fff;background:#f5f5f2;color:#111}
.community-editor-actions button:disabled{opacity:.5;cursor:wait}
@media(max-width:900px){.community-page{padding-left:5vw;padding-right:5vw}.community-intro{grid-template-columns:1fr 1fr;column-gap:24px;min-height:390px;padding-top:220px}.community-intro>p:first-of-type{grid-column:1}.community-intro>p:last-of-type{grid-column:2}.community-post-head{grid-template-columns:38px minmax(0,1fr) 86px 75px;gap:10px}.community-post-details{padding-left:48px}}
@media(max-width:600px){.site-header{gap:8px}.category-nav{flex:1;min-width:0;max-width:calc(100% - 48px);overflow-x:auto;white-space:nowrap;scrollbar-width:none}.category-nav::-webkit-scrollbar{display:none}.category-nav a,.category-nav i{flex:none}.header-signature{flex:none}.community-page{padding:0 18px 76px}.community-intro{display:block;min-height:350px;padding-top:185px}.community-intro h1{top:105px;font-size:31px}.community-intro>p{max-width:340px;padding:0;font-size:14px;line-height:1.5}.community-intro>p:last-of-type{margin-top:18px}.community-index-heading{align-items:start;padding-bottom:25px}.community-index-heading h2{font-size:39px}.community-index-heading p{font-size:10px}.community-write{padding:9px 12px;font-size:12px;white-space:nowrap}.community-empty{grid-template-columns:1fr;gap:22px;min-height:215px}.community-post-head{grid-template-columns:28px minmax(0,1fr) 62px;gap:8px;padding:24px 0}.community-post-toggle strong{font-size:22px}.community-post-date{font-size:10px}.community-post-actions{grid-column:2/-1;justify-content:flex-start;gap:22px}.community-post-details{padding:0 0 30px 36px}.community-post-body{font-size:15px}.community-video{border-radius:8px}.community-editor form{padding:22px}body[data-page="community"] .site-footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){.community-post-toggle strong,.community-post-actions button,.community-post-links a{transition:none}}

.community-post-excerpt{display:-webkit-box;max-width:580px;color:#8d8d8a;font-size:13px;line-height:1.45;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:pre-line}
.community-post-toggle:hover .community-post-excerpt{color:#b5b5b2}
.community-image-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:-8px 0 20px}
.community-image-preview:empty{display:none}
.community-image-preview img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#252525}
.community-editor input[type="file"]{font-size:12px;color:#aaa}
.community-editor input[type="file"]::file-selector-button{margin-right:12px;padding:7px 12px;border:1px solid #777;border-radius:999px;background:#2d2d2d;color:#fff;font:inherit;cursor:pointer}
.community-detail-page{width:min(100%,1080px);min-height:calc(100svh - 110px);margin:0 auto;padding:135px max(24px,5vw) 125px}
.community-back{display:inline-flex;align-items:center;min-height:44px;color:#a9a9a6;font-size:14px;transition:color .25s var(--ease)}
.community-back:hover{color:#fff}
.community-detail-page article{margin-top:72px}
.community-detail-meta{display:flex;align-items:center;gap:20px;color:#929292;font-size:12px;letter-spacing:.04em}
.community-detail-title{max-width:970px;margin:18px 0 22px;font-size:clamp(48px,8.5vw,112px);font-weight:540;line-height:1.04;letter-spacing:-.065em;overflow-wrap:anywhere}
.community-detail-actions{display:flex;gap:22px;padding:0 0 27px;border-bottom:1px solid var(--line)}
.community-detail-actions button{min-height:36px;padding:0;border:0;background:none;color:#aaa;font-size:13px;cursor:pointer;transition:color .2s var(--ease)}
.community-detail-actions button:hover{color:#fff}
.community-detail-actions .community-delete:hover{color:#ee756d}
.community-detail-actions button:disabled{opacity:.4}
.community-detail-body{max-width:730px;margin:65px 0 0;color:#dfdfdc;font-size:clamp(17px,1.8vw,21px);line-height:1.82;white-space:pre-wrap;overflow-wrap:anywhere}
.community-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:65px}
.community-gallery img{display:block;width:100%;height:auto;border-radius:12px;object-fit:cover;background:#252525}
.community-gallery img:only-child{grid-column:1/-1}
.community-detail-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:70px;padding-top:22px;border-top:1px solid var(--line)}
.community-detail-links h2{width:100%;margin:0 0 12px;color:#999;font-size:13px;font-weight:500;letter-spacing:.08em}
.community-detail-links a{display:inline-flex;align-items:center;min-height:42px;border:1px solid #555;border-radius:999px;padding:8px 16px;font-size:14px;transition:border-color .25s var(--ease),background-color .25s var(--ease)}
.community-detail-links a:hover{border-color:#aaa;background:#ffffff12}
.community-detail-links .community-video{width:min(100%,740px);margin-top:20px}
.community-back-bottom{margin-top:95px}
@media(max-width:600px){.community-detail-page{padding:86px 18px 70px}.community-detail-page article{margin-top:45px}.community-detail-title{font-size:clamp(42px,13vw,64px)}.community-detail-body{margin-top:44px;font-size:17px}.community-gallery{grid-template-columns:1fr;gap:8px;margin-top:44px}.community-gallery img{border-radius:8px}.community-detail-links{margin-top:50px}.community-back-bottom{margin-top:66px}}

.community-filters{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px;border-bottom:1px solid var(--line);--active-index:0}
.community-filters button{display:flex;align-items:baseline;gap:9px;min-width:0;min-height:72px;padding:19px 10px 18px 0;border:0;background:transparent;color:#f1f1ee;font-size:clamp(17px,2vw,25px);font-weight:520;letter-spacing:-.035em;text-align:left;opacity:.46;cursor:pointer;transition:opacity .18s var(--ease)}
.community-filters button span{color:#989894;font-size:11px;font-weight:450;font-variant-numeric:tabular-nums;letter-spacing:0}
.community-filters button[aria-selected="true"]{opacity:1}
.community-filter-indicator{position:absolute;left:0;bottom:-1px;width:25%;height:2px;background:#efefeb;transform:translateX(calc(var(--active-index) * 100%));transition:transform .25s var(--soft);pointer-events:none}
.community-feed{opacity:1;transform:translate3d(0,0,0);transition:opacity .16s var(--ease),transform .18s var(--ease)}
.community-feed.is-changing{opacity:0;transform:translate3d(0,8px,0);pointer-events:none}
.community-post{position:relative}
.community-post::after{content:"";position:absolute;right:0;bottom:-1px;left:8%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease);pointer-events:none}
.community-post-toggle{transition:transform .18s var(--ease)}
@media(hover:hover) and (pointer:fine){.community-filters button:hover{opacity:.85}.community-post:hover::after{transform:scaleX(1)}.community-post-toggle:hover{transform:translate3d(4px,0,0)}}
@media(max-width:600px){.community-filters{margin-top:12px}.community-filters button{gap:4px;min-height:61px;padding:16px 4px 14px 0;font-size:15px}.community-filters button span{font-size:9px}.community-post::after{left:36px}}
@media(prefers-reduced-motion:reduce){.community-filter-indicator{transition-duration:.12s}.community-feed{transition:opacity .12s var(--ease);transform:none!important}.community-post::after,.community-post-toggle{transition:none}.community-post-toggle:hover{transform:none}}
.community-editor[open]{opacity:1;transform:translate3d(0,0,0) scale(1);transition:opacity .22s var(--ease),transform .22s var(--ease)}
.community-editor.is-opening,.community-editor.is-closing{opacity:0;transform:translate3d(0,8px,0) scale(.97)}
.community-editor::backdrop{opacity:1;transition:opacity .22s var(--ease)}
.community-editor.is-opening::backdrop,.community-editor.is-closing::backdrop{opacity:0}
@media(prefers-reduced-motion:reduce){.community-editor[open],.community-editor::backdrop{transition:opacity .12s var(--ease)}.community-editor.is-opening,.community-editor.is-closing{transform:none}}

/* Portrait films keep their native format in the Shortform collection. */
#shortform .shortform-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
#shortform .project-thumb{aspect-ratio:9/16}
#shortform .project-caption{font-size:clamp(14px,1.1vw,18px);padding:16px}
#shortform .project-tile:nth-child(n){transition-delay:0s}
#shortform .project-tile:nth-child(5n+2){transition-delay:.03s}
#shortform .project-tile:nth-child(5n+3){transition-delay:.06s}
#shortform .project-tile:nth-child(5n+4){transition-delay:.09s}
#shortform .project-tile:nth-child(5n){transition-delay:.12s}
.project-dialog.is-portrait{width:min(440px,calc(100vw - 32px),calc((100dvh - 180px)*.5625))}
.project-dialog.is-portrait .dialog-media{aspect-ratio:9/16}
.project-dialog.is-portrait .dialog-info{display:block;padding:20px}
.project-dialog.is-portrait .dialog-info h2{font-size:clamp(20px,3vw,28px);line-height:1.3;letter-spacing:-.025em}
.project-dialog.is-portrait .dialog-info>p{margin-top:10px}
@media(max-width:1000px){#shortform .shortform-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#shortform .shortform-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#shortform .project-caption{padding:12px;font-size:14px}}

/* Community shares Play's title and introduction alignment. */
.community-page{width:100%;margin:0;padding:145px 3.8vw 130px}
.community-intro{display:flex;align-items:baseline;justify-content:space-between;gap:32px;min-height:0;padding:0;margin-bottom:clamp(128px,10vw,192px)}
.community-intro h1{position:static;flex:none;margin:0;font-size:32px}
.community-intro-copy{min-width:0;max-width:340px}
.community-intro-copy p{margin:0;font-size:16px;line-height:1.48}
.community-intro-copy p+p{margin-top:16px;color:var(--muted)}
@media(max-width:1000px){.community-page{padding:125px 5.4vw 80px}.community-intro{margin-bottom:112px}}
@media(max-width:520px){.community-page{padding:105px 18px 76px}.community-intro{display:block;margin-bottom:80px}.community-intro h1{font-size:31px}.community-intro-copy{margin-top:16px}.community-intro-copy p{font-size:14px;line-height:1.5}}

/* Scroll-driven brand entrance and an asymmetric editorial introduction. */
.home-scroll-intro{position:relative;background:#f5f5f2;color:#161616}
.home-intro-stage{position:relative;min-height:100svh;overflow:hidden}
.home-intro-mark{display:none}
.home-intro-copy{position:relative;min-height:100svh}
.home-introduction-title{margin:0;font-weight:650;letter-spacing:-.055em;line-height:1.02}
.intro-piece{position:absolute;display:block;white-space:nowrap}
.intro-hello{left:8%;top:22%;font-size:clamp(76px,13vw,250px)}
.intro-identity{left:48%;top:46%;font-size:clamp(40px,5.8vw,108px);font-style:italic;letter-spacing:-.045em}
.intro-name{display:block;margin:0 0 14px 3px;font-size:16px;font-weight:450;font-style:normal;line-height:1.4;letter-spacing:0}
.intro-stories{left:13%;top:70%;font-size:clamp(60px,8.4vw,160px)}
.intro-love{display:block;margin:0 0 12px 3px;font-size:16px;font-weight:450;line-height:1.4;letter-spacing:0}
.home-intro-enter{display:none;position:absolute;left:50%;bottom:34px;transform:translateX(-50%);border:0;background:none;color:#656561;font:inherit;font-size:12px;white-space:nowrap;padding:12px;cursor:pointer;gap:24px;align-items:center}
.home-intro-enter:focus-visible{outline-color:#161616}
.intro-motion-ready .home-scroll-intro{height:220svh}
.intro-motion-ready .home-intro-stage{position:sticky;top:0;height:100svh;min-height:0}
.intro-motion-ready .home-intro-mark{display:block;position:absolute;left:0;top:calc(50% - .52em);width:100%;text-align:center;font-size:clamp(150px,27vw,540px);font-weight:650;line-height:1;letter-spacing:-.085em;transform-origin:50% 50%;will-change:transform,opacity}
.intro-motion-ready .home-intro-enter{display:flex}
.intro-motion-ready .intro-piece{opacity:0;will-change:transform,opacity}
.home-reel-dot{position:relative;display:inline-block;vertical-align:baseline;width:.62em;height:.62em;min-width:44px;min-height:44px;margin:0 0 0 .14em;padding:0;border:0;border-radius:50%;overflow:hidden;background:#161616;cursor:pointer;isolation:isolate;transform:translateY(.025em);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.home-reel-dot img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease),filter .6s var(--ease);filter:brightness(.76)}
.home-reel-play{position:absolute;left:50%;top:50%;width:0;height:0;border-top:.085em solid transparent;border-bottom:.085em solid transparent;border-left:.14em solid #fff;transform:translate(-35%,-50%);opacity:.85;transition:opacity .4s var(--ease)}
.home-reel-dot:hover,.home-reel-dot:focus-visible{transform:translateY(.025em) scale(1.1)}
.home-reel-dot:hover img,.home-reel-dot:focus-visible img{transform:scale(1.08);filter:brightness(1)}
.home-reel-dot:focus-visible{outline:2px solid #161616;outline-offset:7px}

@media(max-width:700px){.intro-hello{left:6%;top:25%;font-size:clamp(64px,19vw,125px)}.intro-identity{left:20%;top:47%;font-size:clamp(30px,8.5vw,59px)}.intro-name,.intro-love{font-size:13px;margin-bottom:9px}.intro-stories{left:6%;top:69%;font-size:clamp(34px,9vw,63px)}.intro-motion-ready .home-scroll-intro{height:205svh}.home-reel-dot{width:.8em;height:.8em;min-width:26px;min-height:26px;overflow:visible}.home-reel-dot img{border-radius:50%}.home-reel-dot:after{content:"";position:absolute;inset:-10px;border-radius:50%}}
@media(max-height:550px) and (min-width:701px){.intro-hello{top:24%;font-size:10vw}.intro-identity{top:48%;font-size:4.8vw}.intro-stories{top:72%;font-size:6vw}.intro-name,.intro-love{font-size:12px;margin-bottom:5px}}
@media(hover:none){.home-reel-dot:hover{transform:translateY(.025em)}.home-reel-dot:hover img{transform:none;filter:brightness(.76)}}
@media(prefers-reduced-motion:reduce){.home-reel-dot,.home-reel-dot img,.home-reel-play{transition:none}.home-reel-dot:hover,.home-reel-dot:focus-visible{transform:none}}

body[data-page="home"] .site-header.is-scrolled.is-home-intro{background:#f5f5f2e8;color:#161616;mix-blend-mode:normal}

/* One quiet brand welcome per tab session; no simulated loading percentages. */
.site-welcome{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;flex-direction:column;gap:25px;background:#f5f5f2;color:#161616;pointer-events:none}
[data-welcome] .site-welcome{display:flex;animation:welcome-safety 3s var(--ease) forwards}
.welcome-brand{display:flex;font-size:clamp(66px,11vw,170px);font-weight:650;letter-spacing:-.085em;line-height:1}
.welcome-brand span{display:block;animation:welcome-letter .75s var(--ease) both}
.welcome-brand span:nth-child(2){animation-delay:.08s}.welcome-brand span:nth-child(3){animation-delay:.16s}
.welcome-line{width:clamp(56px,7vw,100px);height:1px;background:#16161620;overflow:hidden}
.welcome-line span{display:block;width:100%;height:100%;background:var(--accent-gradient);transform-origin:left;animation:welcome-line 1.15s var(--soft) both}
[data-welcome="enter"] .site-header,[data-welcome="enter"] #main,[data-welcome="enter"] .site-footer{opacity:0}
[data-welcome="leave"] .site-welcome{animation:welcome-exit .65s var(--ease) forwards}
[data-welcome="leave"] .site-header,[data-welcome="leave"] #main,[data-welcome="leave"] .site-footer{animation:welcome-content .7s var(--ease) both}
@keyframes welcome-letter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes welcome-line{from{transform:scaleX(.05)}to{transform:scaleX(1)}}
@keyframes welcome-exit{to{opacity:0;visibility:hidden}}
@keyframes welcome-content{from{opacity:0}to{opacity:1}}
@keyframes welcome-safety{0%,75%{opacity:1}100%{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.welcome-brand span{animation:none}.welcome-line span{animation:none}[data-welcome="leave"] .site-welcome,[data-welcome="leave"] .site-header,[data-welcome="leave"] #main,[data-welcome="leave"] .site-footer{animation-duration:.15s}}

/* A coherent three-line rhythm; the final period grows in place into a film. */
.intro-hello{left:8%;top:26%;font-size:clamp(58px,7.4vw,150px)}
.intro-identity{left:24%;top:44%;font-size:clamp(58px,7.4vw,150px);font-style:normal;letter-spacing:-.055em}
.intro-stories{left:12%;top:64%;font-size:clamp(54px,6.8vw,138px)}
.home-reel-dot{width:.8em;height:.8em;min-width:0;min-height:0;margin-left:.12em;vertical-align:baseline;transform-origin:0 100%;transition:none;transform:scale(1);overflow:hidden}
.home-reel-dot img,.home-reel-play{transition:none}
.intro-motion-ready .home-reel-dot{transform:scale(.18)}
.intro-motion-ready .home-reel-dot img,.intro-motion-ready .home-reel-play{opacity:0}
.home-reel-dot:hover,.home-reel-dot:focus-visible{transform:scale(1)}
@media(max-width:700px){.intro-hello{left:7%;top:29%;font-size:clamp(29px,8vw,56px)}.intro-identity{left:15%;top:45%;font-size:clamp(30px,8.4vw,59px)}.intro-stories{left:7%;top:63%;font-size:clamp(28px,7.5vw,52px)}.home-reel-dot{width:.9em;height:.9em;overflow:visible}.home-reel-dot:after{inset:-10px}}
@media(max-height:550px) and (min-width:701px){.intro-hello{top:27%;font-size:6.2vw}.intro-identity{top:47%;font-size:6.2vw}.intro-stories{top:69%;font-size:5.6vw}}
[data-welcome="bridge"] .site-welcome{display:flex;animation:none;background:transparent}
[data-welcome="bridge"] .welcome-line{opacity:0;transition:opacity .3s var(--ease)}
[data-welcome="bridge"] .home-intro-mark{visibility:hidden}
[data-welcome="bridge"] .site-header,[data-welcome="bridge"] .home-intro-enter{animation:welcome-content .8s var(--ease) both}

/* Carry the Home's warm light surface through the curved film collection. */
body[data-page="home"]{background:#f5f5f2}
body[data-page="home"] .home-edits{background:#f5f5f2;color:#161616}
body[data-page="home"] .home-edits-head{border-top-color:#16161624}
body[data-page="home"] .home-edits-head span,body[data-page="home"] .orbit-help{color:#656561}
body[data-page="home"] .video-orbit:before{background:linear-gradient(90deg,#f5f5f2,transparent)}
body[data-page="home"] .video-orbit:after{background:linear-gradient(-90deg,#f5f5f2,transparent)}
body[data-page="home"] .orbit-help:after{color:#161616}
body[data-page="home"] .video-orbit:focus-visible{outline-color:#161616}
body[data-page="home"] .site-footer{background:#f5f5f2;color:#656561;border-top-color:#16161624}
body[data-page="home"] .site-footer a:hover{color:#161616}
body[data-page="home"] .site-footer a:focus-visible{outline-color:#161616}
body[data-page="home"] .site-header.is-scrolled{background:#f5f5f2e8;color:#161616;mix-blend-mode:normal}
@media(hover:hover) and (pointer:fine){body[data-page="home"] .video-orbit .home-edit-card:hover{box-shadow:0 18px 42px #1616161f}}

/* Quiet ambient depth behind the films; the group lifts into view once. */
body[data-page="home"] .orbit-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 68% 42% at 50% 43%,#857b9e29,transparent 76%),radial-gradient(ellipse 38% 33% at 23% 44%,#c2937626,transparent 78%),radial-gradient(ellipse 38% 33% at 80% 39%,#829aa523,transparent 80%)}
body[data-page="home"] .video-orbit-track{z-index:1}
.motion-ready body[data-page="home"] .video-orbit.reveal{opacity:0;transform:translate3d(0,56px,0);transition:opacity 1.3s var(--soft),transform 1.6s var(--ease)}
.motion-ready body[data-page="home"] .video-orbit.reveal.is-visible{opacity:1;transform:none}
.motion-ready body[data-page="home"] .video-orbit.reveal .orbit-atmosphere{opacity:0;transition:opacity 1.8s var(--soft) .12s}
.motion-ready body[data-page="home"] .video-orbit.reveal.is-visible .orbit-atmosphere{opacity:1}
@media(max-width:600px){.motion-ready body[data-page="home"] .video-orbit.reveal{transform:translate3d(0,32px,0)}.motion-ready body[data-page="home"] .video-orbit.reveal.is-visible{transform:none}}
@media(prefers-reduced-motion:reduce){.motion-ready body[data-page="home"] .video-orbit.reveal,.motion-ready body[data-page="home"] .video-orbit.reveal .orbit-atmosphere{opacity:1;transform:none;transition:none}}


/* First Home visit: the approved hairline orbit forms before a quiet crossfade. */
body[data-page="home"] .site-welcome{background:#101010;color:#f5f5f2}
[data-welcome] body[data-page="home"] .site-welcome{animation:welcome-safety 4s var(--ease) forwards}
.welcome-orbit{display:block;width:clamp(220px,38vw,580px);max-width:80vw;max-height:68svh;overflow:visible;opacity:0;transform:scale(.97);animation:orbit-welcome-appear 800ms var(--ease) both}
.welcome-orbit-path{stroke:currentColor;stroke-width:.28;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:orbit-welcome-draw 1600ms var(--soft) 100ms both}
.welcome-satellite{fill:var(--accent-paint,var(--accent));opacity:0;transform-box:fill-box;transform-origin:center;animation:orbit-satellite-appear 600ms var(--ease) both}
.welcome-satellite--0{animation-delay:800ms}.welcome-satellite--1{animation-delay:180ms}
[data-welcome="leave"] body[data-page="home"] .site-welcome{animation:welcome-exit 950ms var(--ease) forwards}
[data-welcome="leave"] .welcome-orbit{animation:orbit-welcome-retreat 850ms var(--soft) forwards}
[data-welcome="leave"] body[data-page="home"] .site-header,[data-welcome="leave"] body[data-page="home"] #main,[data-welcome="leave"] body[data-page="home"] .site-footer{animation:welcome-content 950ms var(--ease) both}
@keyframes orbit-welcome-appear{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
/* Drawing a single tiny SVG path is the intentional paint exception to transform/opacity motion. */
@keyframes orbit-welcome-draw{to{stroke-dashoffset:0}}
@keyframes orbit-satellite-appear{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@keyframes orbit-welcome-retreat{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-18px) scale(.97)}}
@media(prefers-reduced-motion:reduce){
 .welcome-orbit{animation:none;opacity:1;transform:none}
 .welcome-orbit-path{animation:none;stroke-dashoffset:0}
 .welcome-satellite{animation:none;opacity:1;transform:none}
 [data-welcome="leave"] .welcome-orbit{animation:welcome-exit 150ms var(--ease) forwards}
 [data-welcome="leave"] body[data-page="home"] .site-welcome,[data-welcome="leave"] body[data-page="home"] .site-header,[data-welcome="leave"] body[data-page="home"] #main,[data-welcome="leave"] body[data-page="home"] .site-footer{animation-duration:150ms}
}

/* Letter motion is nested so scroll-driven transforms remain interruptible. */
.home-intro-mark > span{display:inline-block}
.home-intro-mark.is-arriving > span{animation:home-brand-letter-in 1200ms var(--ease) both}
.home-intro-mark.is-arriving > span:nth-child(2){animation-delay:70ms}
.home-intro-mark.is-arriving > span:nth-child(3){animation-delay:140ms}
@keyframes home-brand-letter-in{from{opacity:0;transform:translate3d(0,.16em,0) scale(.96)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@media(prefers-reduced-motion:reduce){.home-intro-mark.is-arriving > span{animation:none}}

/* Project and Personal Project viewers keep the frame dedicated to the video. */
body[data-page="home"] .project-dialog .dialog-info,body[data-page="projects"] .project-dialog .dialog-info,body[data-page="play"] .project-dialog .dialog-info{display:none}
body[data-page="home"] .project-dialog,body[data-page="projects"] .project-dialog,body[data-page="play"] .project-dialog{width:min(1120px,calc(100vw - 32px),calc((100dvh - 32px)*1.777778))}
body[data-page="home"] .project-dialog.is-portrait,body[data-page="projects"] .project-dialog.is-portrait,body[data-page="play"] .project-dialog.is-portrait{width:min(440px,calc(100vw - 32px),calc((100dvh - 32px)*.5625))}

/* No bright frame seam around embedded video; retain focus on actual controls. */
body .project-dialog{border:0;outline:none;overflow:hidden}
.project-dialog .dialog-media{overflow:hidden}
.project-dialog .dialog-media iframe{outline:none}

/* Give the sentences more scroll room; the last period grows only after they settle. */
.intro-motion-ready .home-scroll-intro{height:280svh}
.home-reel-dot{width:.58em;height:.58em;margin-left:.04em}
.intro-motion-ready .home-reel-dot{transform:scale(.30)}
@media(max-width:700px){.intro-motion-ready .home-scroll-intro{height:250svh}.home-reel-dot{width:.58em;height:.58em}}

/* HUN's initial ㅎ: a quiet ring and two strokes, drawn as one personal signature. */
.hieut-symbol{display:block;width:100%;height:auto;overflow:visible;stroke:currentColor;stroke-width:5.2;stroke-linecap:round}
.hieut-cap{stroke:var(--accent-paint,var(--accent));transform-box:fill-box;transform-origin:center}
.hieut-bar{transform-box:fill-box;transform-origin:center}
body[data-page="home"] .welcome-hieut{width:clamp(160px,26vw,340px);max-width:58vw}
.welcome-hieut .hieut-ring{stroke-dasharray:1;stroke-dashoffset:1;animation:hieut-draw 1500ms var(--soft) 100ms both;transform:rotate(-90deg);transform-origin:32px 41px}
.welcome-hieut .hieut-bar{animation:hieut-stroke 1000ms var(--ease) 600ms both}
.welcome-hieut .hieut-cap{animation:hieut-stroke 900ms var(--ease) 950ms both}
.intro-motion-ready .home-intro-mark{top:50%;margin-top:clamp(-180px,-12vw,-75px)}
.home-intro-mark .hieut-symbol{width:clamp(150px,24vw,360px);margin:auto}
.home-intro-mark.is-arriving .hieut-symbol{animation:home-brand-letter-in 1400ms var(--ease) both}
.home-intro-mark.is-arriving .hieut-bar{animation:hieut-stroke 1000ms var(--ease) 100ms both}
.home-intro-mark.is-arriving .hieut-cap{animation:hieut-stroke 1000ms var(--ease) 250ms both}
@keyframes hieut-draw{to{stroke-dashoffset:0}}
@keyframes hieut-stroke{from{opacity:0;transform:scaleX(.4)}to{opacity:1;transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.welcome-hieut .hieut-ring,.welcome-hieut .hieut-bar,.welcome-hieut .hieut-cap,.home-intro-mark.is-arriving .hieut-symbol,.home-intro-mark.is-arriving .hieut-bar,.home-intro-mark.is-arriving .hieut-cap{animation:none;stroke-dashoffset:0}}

/* The same ellipse becomes the bowl of ㅎ; no swap between separate logos. */
body[data-page="home"] .orbit-to-hieut{width:clamp(180px,30vw,400px);max-width:70vw}
[data-welcome="enter"] body[data-page="home"] .site-welcome{animation-duration:6.5s}
.orbit-hieut-ring{transform-origin:32px 41px;stroke-dasharray:1;stroke-dashoffset:1;animation:orbit-ring-draw 1000ms var(--soft) 100ms both,orbit-ring-to-hieut 1400ms var(--soft) 1200ms both}
/* This tiny SVG changes stroke weight as the ellipse becomes a letter. */
@keyframes orbit-ring-draw{to{stroke-dashoffset:0}}
@keyframes orbit-ring-to-hieut{from{transform:translateY(-9px) rotate(-30deg) scale(1.657333,.724);stroke-width:.28}to{transform:translateY(0) rotate(0) scale(1);stroke-width:5.2}}
.orbit-to-hieut .welcome-satellite{animation:orbit-satellite-merge 1750ms var(--ease) both}
@keyframes orbit-satellite-merge{0%{opacity:0}20%,68%{opacity:1}100%{opacity:0}}
.orbit-to-hieut .hieut-bar{animation:hieut-stroke 900ms var(--ease) 2100ms both}
.orbit-to-hieut .hieut-cap{animation:hieut-stroke 800ms var(--ease) 2400ms both}
@media(prefers-reduced-motion:reduce){.orbit-hieut-ring{animation:none;stroke-dashoffset:0;transform:none;stroke-width:5.2}.orbit-to-hieut .welcome-satellite{animation:none;opacity:0}.orbit-to-hieut .hieut-bar,.orbit-to-hieut .hieut-cap{animation:none}}

/* Scroll through the centre of ㅎ before revealing the navigation and introduction. */
.intro-motion-ready .home-scroll-intro{height:320svh}
.intro-motion-ready .home-intro-mark{top:50%;margin-top:0;transform-origin:50% 50%;height:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.home-intro-mark .hieut-symbol{flex:none;margin:0}
.intro-motion-ready body[data-page="home"] .site-header{opacity:0;will-change:transform,opacity}
.intro-motion-ready[data-welcome="leave"] body[data-page="home"] .site-header{animation:none}
@media(max-width:700px){.intro-motion-ready .home-scroll-intro{height:300svh}}

/* The two strokes bend into outer rings before spiralling into the central opening.
   Only two short SVG paths are repainted; the large portal remains transform-only. */
.intro-motion-ready .home-scroll-intro{height:360svh}
@media(max-width:700px){.intro-motion-ready .home-scroll-intro{height:330svh}}

/* Keep the orbit welcome in the same paper tone as Home. */
body[data-page="home"] .site-welcome{background:#f5f5f2;color:#161616}

/* Redraw vectors at the actual zoom level instead of enlarging a cached texture. */
.intro-motion-ready .home-intro-mark{will-change:auto;transform:none}
.home-intro-mark .hieut-symbol{will-change:auto;shape-rendering:geometricPrecision}

/* Reference-led film wall: three staggered columns, flat frames, no carousel. */
.home-film-library{background:#f5f5f2;color:#161616;padding:100px 24px 80px}
.home-film-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.home-film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.home-film-column{display:flex;flex-direction:column;gap:24px;min-width:0}
.home-film{position:relative;aspect-ratio:var(--film-ratio);min-width:0;border-radius:20px;overflow:hidden;background:#e7e7e2;isolation:isolate}
.home-film>img{position:absolute;inset:-.4%;width:100.8%;height:100.8%;max-width:none;object-fit:cover}
.home-film-player{position:absolute;inset:0;overflow:hidden}
.home-film-player iframe{position:absolute;left:50%;top:50%;width:var(--preview-width);height:var(--preview-height);transform:translate(-50%,-50%);border:0;pointer-events:none}
.home-film-open{position:absolute;inset:0;width:100%;height:100%;border:0;background:none;cursor:pointer;border-radius:inherit}
.home-film-open:focus-visible{outline:3px solid var(--red);outline-offset:-5px}
.home-film-stop{display:none;position:absolute;right:12px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:#f5f5f2;color:#161616;font-size:25px;cursor:pointer;z-index:2}
.home-film.is-playing .home-film-stop{display:block}
.home-film.is-playing .home-film-player{background:#080808}
.home-film.is-playing .home-film-player iframe{width:100%;height:100%;pointer-events:auto}
@media(hover:hover) and (pointer:fine){.home-film-open{transition:background 250ms var(--ease)}.home-film-open:hover{background:#ffffff08}}
@media(max-width:800px){.home-film-library{padding:84px 16px 64px}.home-film-grid,.home-film-column{gap:16px}.home-film{border-radius:15px}}
@media(max-width:540px){.home-film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-film-library{padding:76px 14px 50px}.home-film-grid,.home-film-column{gap:14px}.home-film{border-radius:14px}}

.home-film-library{position:relative}
.home-film-pause{display:block;margin:0 0 18px auto;padding:5px 0;border:0;background:none;color:#676762;font-size:12px;cursor:pointer}
.home-film-pause:focus-visible{outline-color:#161616}

/* A bounded gallery keeps large desktop screens calm instead of scaling every film up. */
.home-film-library{padding:88px max(6vw,calc((100% - 1504px)/2)) 104px}
.home-film-grid,.home-film-column{gap:32px}
.home-film{border-radius:18px}
.home-film-pause{margin-bottom:24px}
@media(max-width:1000px){.home-film-library{padding:80px 5vw 80px}.home-film-grid,.home-film-column{gap:24px}.home-film{border-radius:16px}}
@media(max-width:700px){.home-film-library{padding:76px max(18px,calc((100% - 560px)/2)) 64px}.home-film-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-film{border-radius:12px}}

/* Play artifacts: original icon artwork, real files and expandable information. */
.play-circle-grid{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:24px}
button.play-disc{display:block;border:0;padding:0;cursor:pointer}
button.play-disc:hover{transform:translateY(-4px)}
button.play-disc:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.play-archive-item>p.artifact-caption{min-height:18px;font-size:12px;letter-spacing:0;color:#53534f}
.play-archive-item>p.artifact-status{margin-top:6px;font-size:12px;letter-spacing:0;color:#62625c}
.artifact-detail{position:relative;margin-top:44px;padding:32px 0 8px;border-top:1px solid #b9b9b2;color:#161616}
.artifact-detail[hidden]{display:none}
.artifact-detail h3{margin:0 85px 24px 0;font-size:clamp(26px,3vw,38px);letter-spacing:-.03em}
.artifact-detail p,.artifact-detail li{font-size:15px;line-height:1.8;max-width:65ch}
.artifact-detail ul{padding-left:20px}.artifact-requirements{color:#53534f}
.artifact-detail-close{position:absolute;right:0;top:34px;background:none;border:0;padding:8px 0 8px 12px;color:#161616;cursor:pointer}
.artifact-downloads{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.artifact-downloads a{display:inline-block;padding:12px 20px;background:#161616;color:#f5f5f2;border-radius:6px;text-decoration:none;font-size:14px}
.artifact-links{display:flex;flex-wrap:wrap;gap:24px}.artifact-links a{color:#161616;text-underline-offset:5px}
@media(max-width:800px){.play-circle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 18px}}
@media(max-width:500px){.play-circle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.artifact-detail{margin-top:28px}.artifact-downloads a{flex:1;text-align:center;padding:12px}}
@media(prefers-reduced-motion:reduce){button.play-disc:hover{transform:none}}

/* Blue sky accent: indigo → electric blue → pale sky. */
body:is(.light-page,[data-page="home"],[data-page="play"]){--accent:#2456ce;--red:var(--accent)}
.scroll-progress span,.orbit-help span,.community-post::after{background:var(--accent-gradient)}
.personal-intro h1 span,.play-intro h1 span,.community-intro h1 span{color:var(--accent);background-image:var(--accent-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
body[data-page="projects"] .page-hero>p{color:#79baff}

/* Carry the blue sky gradient through the entire ㅎ and Home punctuation. */
.hieut-symbol{stroke:var(--accent-paint,var(--accent))}
.intro-blue-period{color:var(--accent);background-image:var(--accent-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* One persistent Home SVG: orbit → ㅎ → scroll portal, with no dissolve/swap. */
body[data-page="home"] .site-welcome{display:none!important}
[data-welcome] body[data-page="home"] #main{opacity:1;animation:none}
[data-welcome="enter"] body[data-page="home"] .home-intro-copy,
[data-welcome="enter"] body[data-page="home"] .home-intro-enter,
[data-welcome="enter"] body[data-page="home"] .home-film-library{visibility:hidden}
[data-welcome="enter"] body[data-page="home"] .home-intro-mark .hieut-symbol:not(.orbit-to-hieut){visibility:hidden}
.home-intro-mark .hieut-symbol.orbit-to-hieut{width:clamp(150px,24vw,360px);max-width:none}
.home-intro-mark .orbit-hieut-ring{animation:orbit-ring-draw 1000ms var(--soft) 100ms both,orbit-ring-to-hieut 1400ms var(--soft) 2200ms both}
.home-intro-mark .orbit-to-hieut .welcome-satellite{animation-duration:2750ms}
.home-intro-mark .orbit-to-hieut .hieut-bar{animation-delay:3100ms}
.home-intro-mark .orbit-to-hieut .hieut-cap{animation-delay:3400ms}
[data-welcome="leave"] body[data-page="home"] .home-intro-enter{animation:welcome-content .35s var(--ease) both}
@media(prefers-reduced-motion:reduce){[data-welcome="enter"] body[data-page="home"] .home-intro-mark .hieut-symbol:not(.orbit-to-hieut){visibility:visible}.home-intro-mark .orbit-hieut-ring{animation:none;stroke-dashoffset:0;transform:none}.home-intro-mark .orbit-to-hieut .hieut-bar,.home-intro-mark .orbit-to-hieut .hieut-cap{animation:none}}

/* Bespoke grain illustrations, recolored in HUN's blue-sky accent. */
button.play-disc--illustrated{width:clamp(112px,10vw,148px);height:auto;aspect-ratio:1;background:#252122;overflow:hidden;border-radius:50%;margin-top:11px;transform:none}
.play-disc--illustrated img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;pointer-events:none}
button.play-disc--illustrated:hover{transform:none;filter:none}
@media(hover:hover) and (pointer:fine){button.play-disc--illustrated:hover{transform:translateY(-4px);filter:brightness(1.08)}}
@media(max-width:500px){button.play-disc--illustrated{width:112px}}
@media(prefers-reduced-motion:reduce){button.play-disc--illustrated:hover{transform:none}}

/* The scroll boundary uses the same canvas as the page, with no blend-mode switch. */
html{overscroll-behavior-y:none}
html:has(body[data-page="home"]){color-scheme:light;background:#f5f5f2}
html:has(body.light-page){color-scheme:light;background:#e8e8e3}
.site-header,.site-header.is-scrolled{mix-blend-mode:normal;backdrop-filter:none;transition:background-color .24s var(--ease-out);color:#f5f5f2}
body:is(.light-page,[data-page="home"]) .site-header{color:#161616}
body.light-page .site-header.is-scrolled{background:#e8e8e3f5}
body[data-page="home"] .site-header.is-scrolled{background:#f5f5f2f5}

/* Mobile: larger navigation and a closer introduction-to-gallery handoff. */
@media(max-width:700px){
  .site-header{height:64px;padding-inline:16px;gap:12px}
  .category-nav{font-size:14px;gap:8px;white-space:nowrap}
  .category-nav i{display:none}
  .category-nav a{min-height:44px}
  .header-signature{font-size:16px;flex-shrink:0}
  .intro-motion-ready .home-film-library{margin-top:-28svh;padding-top:20px}
  .home-film-pause{margin-bottom:16px}
}
@media(max-width:360px){
  .site-header{padding-inline:12px;gap:8px}
  .category-nav{font-size:13px;gap:6px}
  .header-signature{font-size:15px}
}
@media(max-width:700px) and (max-height:550px){
  .intro-motion-ready .home-film-library{margin-top:-16svh}
}

/* Native disclosure keeps Artifacts closed on entry and keyboard accessible. */
.artifact-toggle{list-style:none;cursor:pointer;min-height:60px;padding-bottom:24px;align-items:center}
.artifact-toggle::-webkit-details-marker{display:none}
.artifact-toggle-end{display:flex;align-items:center;gap:20px;color:var(--muted);font-size:12px;letter-spacing:.1em}
.artifact-toggle-end svg{flex-shrink:0;transition:transform .2s var(--ease-out)}
.artifact-collection[open]>.artifact-toggle{padding-bottom:42px}
.artifact-collection[open]>.artifact-toggle .artifact-toggle-end svg{transform:rotate(180deg)}
.artifact-toggle:focus-visible{outline-color:var(--accent);outline-offset:6px}
.artifact-collection+.personal-collection{margin-top:64px}
@media(max-width:600px){
  .artifact-toggle{display:flex;gap:16px}
  .artifact-toggle-end>span{display:none}
  .artifact-collection+.personal-collection{margin-top:40px}
}
@media(prefers-reduced-motion:reduce){.artifact-toggle-end svg{transition:none}}

/* Retain menu dividers without shrinking the mobile labels. */
@media(max-width:700px){.category-nav{gap:4px}.category-nav i{display:inline;font-size:11px;opacity:.36}}
@media(max-width:360px){.category-nav{gap:3px}}
.artifact-collection{overflow-anchor:none}
.artifact-collection[open]>.artifact-toggle{padding-bottom:24px}
.artifact-collection-description{max-width:650px;margin:0 0 38px;color:#676762;font-size:15px;line-height:1.7}
.artifact-collection-content{padding-top:18px;transition:opacity .18s var(--ease-out)}
.artifact-collection[data-expanded="false"]>.artifact-toggle .artifact-toggle-end svg{transform:rotate(0deg)}
button.play-disc--grab{background:transparent}
@media(prefers-reduced-motion:reduce){.artifact-collection-content{transition:none}}

/* Explicit accordion panel: both directions retain layout throughout the transition. */
.artifact-heading{margin:0;font-size:clamp(36px,4vw,56px);font-weight:580;line-height:1.1;letter-spacing:-.04em}
.artifact-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:0 0 24px;border:0;background:none;text-align:left;font:inherit;color:#111;letter-spacing:inherit;cursor:pointer}
.artifact-collapse{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .42s var(--ease-out),opacity .28s var(--ease-out)}
.artifact-collapse-clip{min-height:0;overflow:hidden}
.artifact-collection[data-expanded="true"] .artifact-collapse{grid-template-rows:1fr;opacity:1}
.artifact-collection[data-expanded="true"] .artifact-toggle-end svg{transform:rotate(180deg)}
.artifact-collection-content{transition:none;padding-top:18px;padding-bottom:4px}
@media(prefers-reduced-motion:reduce){.artifact-collapse{transition-duration:.1s}}

@media(min-width:1001px){.play-circle-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* Portfolio completion: actionable contacts and released tools first. */
.social-list a{display:inline-flex;align-items:center;min-height:44px;border:1px solid #111;border-radius:999px;padding:9px 18px;font-size:15px;text-transform:lowercase;text-decoration:none;color:inherit;transition:background .18s,color .18s}
.social-list a:hover{background:#111;color:#e8e8e3}
.social-list a:focus-visible,.about-contact-link:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.about-contact-link{flex-shrink:0;max-width:100%;color:inherit;text-decoration:underline;text-underline-offset:5px}
.about-contact-link:hover{color:var(--accent)}
.play-circle-grid--artifacts{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
@media(max-width:700px){.play-circle-grid--artifacts{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}}
@media(max-width:600px){.social-list a{font-size:13px;padding:8px 14px}.about-contact-link{display:inline-block;margin-top:32px}.about-contact-link span{margin-top:0}}

/* Tool details use the same native modal layer as films, with their own readable layout. */
.artifact-dialog{width:min(1000px,calc(100vw - 48px));max-height:calc(100dvh - 48px);margin:auto;padding:0;border:0;border-radius:20px;background:#f5f5f2;color:#171717;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b9b9b2 #f5f5f2;opacity:0;transform:translate3d(0,16px,0) scale(.97);transition:transform 260ms var(--ease-out),opacity 220ms var(--ease-out)}
.artifact-dialog::backdrop{background:#101419a8;opacity:0;transition:opacity 220ms var(--ease-out)}
.artifact-dialog.is-open{opacity:1;transform:translate3d(0,0,0) scale(1)}
.artifact-dialog.is-open::backdrop{opacity:1}
.artifact-dialog.is-closing{pointer-events:none}
.artifact-modal-toolbar{position:sticky;top:0;height:0;z-index:2}
.artifact-modal-close{position:absolute;display:flex;align-items:center;justify-content:center;top:16px;right:16px;z-index:2;width:44px;height:44px;margin:0;padding:0;border:1px solid #17171724;border-radius:50%;background:#f5f5f2;color:#171717;cursor:pointer;transition:background 160ms ease}
.artifact-modal-close svg{width:20px;height:20px}
.artifact-modal-close:focus-visible,.artifact-dialog a:focus-visible{outline:2px solid #2769ee;outline-offset:4px}
.artifact-modal-content{padding:46px}
.artifact-modal-hero{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:30px;padding-right:22px;padding-bottom:36px;border-bottom:1px solid #17171726}
.artifact-modal-icon{width:132px;height:132px;border-radius:50%;object-fit:cover}
.artifact-modal-type{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 10px;font-size:13px;color:#5b5b55}
.artifact-modal-type span{border:1px solid #17171726;border-radius:5px;padding:3px 7px;font-size:12px}
.artifact-modal-hero h2{margin:0 0 14px;font-size:clamp(34px,4.5vw,52px);font-weight:600;line-height:1.05;letter-spacing:-.035em}
.artifact-modal-lead{margin:0;font-size:18px;line-height:1.55;word-break:keep-all}
.artifact-modal-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:40px;padding-top:34px}
.artifact-modal-description{font-size:16px;line-height:1.8;margin:0 0 28px;word-break:keep-all;color:#484842}
.artifact-feature{display:flex;gap:14px;padding:18px 0;border-top:1px solid #1717171a}
.artifact-feature>svg{width:22px;height:22px;flex-shrink:0;color:#2455c4;margin-top:1px}
.artifact-feature h3{font-size:16px;font-weight:600;line-height:1.5;margin:0 0 5px}
.artifact-feature p{font-size:14px;line-height:1.75;margin:0;color:#5b5b55;word-break:keep-all}
.artifact-install{align-self:start;padding:24px;background:#e9edf4;border-radius:12px;min-width:0}
.artifact-install>h3{font-size:20px;font-weight:600;margin:0 0 8px;letter-spacing:-.025em}
.artifact-install-intro{font-size:13px;line-height:1.6;color:#505761;margin:0 0 20px}
.artifact-modal-downloads{display:grid;gap:10px}
.artifact-modal-downloads a{display:flex;gap:12px;align-items:center;justify-content:center;min-height:48px;padding:12px;background:#2455c4;color:#fff;border:1px solid #2455c4;border-radius:8px;text-decoration:none;font-size:14px;font-weight:550;transition:background 160ms ease}
.artifact-modal-downloads a:nth-child(2){background:transparent;color:#1c3e8c;border-color:#9baed2}
.artifact-modal-downloads svg{height:20px;width:20px;flex-shrink:0}
.artifact-modal-requirements{font-size:12px;line-height:1.65;margin:24px 0 18px}
.artifact-modal-requirements>div+div{margin-top:12px}
.artifact-modal-requirements dt{font-weight:600;color:#272d37;margin:0 0 3px}
.artifact-modal-requirements dd{color:#505761;margin:0}
.artifact-modal-note{font-size:12px;line-height:1.75;color:#505761;margin:0;padding-top:16px;border-top:1px solid #bcc6d6}
.artifact-modal-guide,.artifact-modal-bundle{display:block;width:fit-content;color:#1c3e8c;font-size:13px;line-height:1.6;text-underline-offset:4px;margin-top:20px}
.artifact-modal-bundle{margin-top:12px}
.artifact-modal-upcoming{margin:30px 0 0;font-size:16px;line-height:1.7;color:#5b5b55}
.artifact-dialog[data-gentle="true"]{transform:none;transition:opacity 120ms var(--ease-out)}
.artifact-dialog[data-gentle="true"]::backdrop{transition-duration:120ms}
@media(hover:hover) and (pointer:fine){.artifact-modal-close:hover{background:#e0e0da}.artifact-modal-downloads a:hover{background:#183e98}.artifact-modal-downloads a:nth-child(2):hover{background:#d9e2f1}.artifact-modal-guide:hover,.artifact-modal-bundle:hover{color:#171717}}
@media(max-width:740px){.artifact-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:16px}.artifact-modal-content{padding:30px 24px}.artifact-modal-hero{grid-template-columns:76px minmax(0,1fr);gap:18px;padding-top:18px;padding-right:0;padding-bottom:26px}.artifact-modal-icon{width:76px;height:76px}.artifact-modal-type{font-size:11px;gap:6px;padding-right:14px}.artifact-modal-type span{font-size:11px}.artifact-modal-hero h2{font-size:32px;letter-spacing:-.03em;margin-bottom:10px}.artifact-modal-lead{font-size:14px}.artifact-modal-layout{grid-template-columns:1fr;gap:26px;padding-top:24px}.artifact-modal-description{font-size:15px}.artifact-modal-close{top:10px;right:10px}.artifact-install{padding:22px}.artifact-modal-downloads{grid-template-columns:1fr;gap:8px}.artifact-modal-downloads a{padding:10px 6px;font-size:12px;gap:6px}.artifact-modal-downloads svg{width:18px;height:18px}}
@media(max-width:360px){.artifact-modal-content{padding:26px 18px}.artifact-modal-hero{grid-template-columns:60px minmax(0,1fr);gap:12px}.artifact-modal-icon{width:60px;height:60px}.artifact-modal-hero h2{font-size:28px}.artifact-modal-downloads{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.artifact-dialog{transform:none;transition:opacity 120ms var(--ease-out)}.artifact-dialog::backdrop{transition-duration:120ms}}
