/* Paint-bound masks: images retain their natural ratio, so the fade reaches
   the actual cut edge rather than the empty space of an object-fit box. */
.hero-returner .hr-stage-person{height:auto;max-height:none;width:min(85%,calc(var(--hr-room) * 1.12));right:-8%;bottom:11%;object-fit:fill;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 88%,transparent),linear-gradient(0deg,transparent,#000 24%,#000 88%,transparent);mask-composite:intersect}
.hero-returner .hr-cross-person{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:4/3;object-fit:fill;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(0deg,transparent,#000 21%,#000 87%,transparent);mask-composite:intersect}
.hero-returner .hr-work-links{align-items:end}
.hero-returner .hr-soundtrack button{display:grid;grid-template-columns:72px minmax(0,1fr) auto;grid-template-rows:auto;gap:22px;align-items:center;min-height:150px;padding:32px 11%;background-size:100% 235%;}
.hero-returner .hr-soundtrack .hr-music-icon{grid-column:1;grid-row:1;width:72px;height:72px;position:static}
.hero-returner .hr-soundtrack .hr-track-title{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:7px;min-width:0}
.hero-returner .hr-soundtrack small{display:block;margin:0;line-height:1.4}
.hero-returner .hr-soundtrack strong{display:block;font-size:clamp(23px,2.7vw,34px);line-height:1.4;white-space:nowrap}
.hero-returner .hr-soundtrack [data-soundtrack-label]{grid-column:3;grid-row:1;position:static;margin:0;font-size:14px;line-height:1.5;text-align:right}
#heroMusic,#heroPrologue{scroll-margin-top:calc(var(--hr-header) + 12px)}
.hero-returner .hr-webtoon-teaser{min-height:420px}
.hero-returner .hr-webtoon-copy{min-height:420px;justify-content:flex-end;padding:34px 5%;background:linear-gradient(0deg,#142337 0%,#142337ed 26%,#14233744 70%,transparent)}
.hero-returner .hr-webtoon-teaser>img{width:100%;height:100%;object-position:50% 30%}
.hero-returner .hr-webtoon-copy strong{white-space:nowrap;max-width:none;width:100%;font-size:clamp(19px,4.1vw,51px);letter-spacing:-.055em;line-height:1.3;margin:14px 0}
.hero-returner .hr-webtoon-copy b{margin-top:18px;min-height:44px;font-size:15px;padding:12px 30px}
.hero-returner .hr-map-pin{width:48px;height:48px;display:block;left:var(--pin-x);top:var(--pin-y);text-decoration:none}
.hero-returner .hr-map-pin .hr-pin-face{width:46px;height:46px;margin:0}
.hero-returner .hr-map .hr-pin-face img{object-fit:cover;object-position:50% 0%;transform:scale(1.65);transform-origin:50% 10%}
.hero-returner .hr-map-pin b{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);font-size:11px;opacity:0;transition:opacity .15s;pointer-events:none}
.hero-returner .hr-map-pin:hover b,.hero-returner .hr-map-pin:focus-visible b{opacity:1}
.hero-returner .hr-map-pin.is-near .hr-pin-face{border-color:#e0f7ff;box-shadow:0 0 16px #88dfff85}
.hr-route-line{fill:none;stroke:#f5d497;stroke-width:1.3;stroke-linecap:round;stroke-dasharray:2 2.4}
.hero-returner .hr-return-bg{filter:brightness(.32) saturate(.5);transition:filter 1.1s,transform 1.1s}
.hero-returner .hr-return-dawn{display:none}
.hero-returner .hr-return.is-returned .hr-return-bg{filter:brightness(.8) saturate(1);transform:scale(1)}
.hr-return-veil{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;background:#080e18;display:grid;place-items:center;font:700 clamp(27px,4vw,64px) 'Gowun Hero',serif;color:#edf4ff;letter-spacing:.1em}
.hr-return-veil b{font:inherit}
.hr-return.is-rewinding .hr-return-veil{animation:hr-time-fold 1.15s both}
.hr-return.is-rewinding .hr-return-crystal{animation:hr-crystal-reverse 1.15s both}
.hr-return-clock{display:flex;gap:16px;align-items:center;color:#dbc294;font-size:14px;margin:18px 0 0}
.hr-return-clock b{font-size:22px;font-family:'Gowun Hero',serif;color:#fff0d8}
.hr-memory-track{display:flex;align-items:center;gap:10px;max-width:350px;margin:17px 0;color:#c7dcea;font-size:12px}
.hr-memory-track i{height:3px;flex:1;background:#8abedb44;position:relative}
.hr-memory-track i:after{content:'';position:absolute;inset:0;background:#9cdfff;transform:scaleX(1);transform-origin:left;transition:transform .9s}
.is-returned .hr-memory-track i:after{transform:scaleX(.08)}
.hero-returner .hr-return-copy h2{font-size:clamp(34px,4.7vw,66px);margin:18px 0 20px}
.hero-returner .hr-return-status{color:#d2efff;font-size:16px;line-height:1.6;min-height:26px}
.hero-returner .hr-ending-portrait{height:57%;object-position:50% 0%}
.hero-returner .hr-ending-copy{top:63%;}
@keyframes hr-time-fold{0%{opacity:0;clip-path:inset(50% 0)}25%,65%{opacity:1;clip-path:inset(0)}100%{opacity:0;clip-path:inset(50% 0)}}
@keyframes hr-crystal-reverse{0%{transform:translateY(-50%) rotate(0) scale(1)}55%{transform:translateY(-50%) rotate(-150deg) scale(1.7)}100%{transform:translateY(-50%) rotate(-270deg) scale(1)}}
@media(min-width:601px) and (max-height:650px){
 .hero-returner .hr-ending-portrait{height:46%;object-position:50% 0%}
 .hero-returner .hr-card-front:after{top:49%}
 .hero-returner .hr-ending-copy{top:50%;bottom:6%}
 .hero-returner .hr-ending-copy>span{font-size:13px;line-height:1.45}
 .hero-returner .hr-ending-copy i{display:none}
 .hero-returner .hr-return-copy{padding:8px 0;max-width:650px}
 .hero-returner .hr-return-copy h2{font-size:32px;margin:10px 0}
 .hero-returner .hr-return-clock{margin:8px 0}.hr-memory-track{margin:8px 0}
 .hero-returner .hr-return-copy p{margin:8px 0}
 .hero-returner .hr-return-copy .hr-button{margin-top:8px}
}
@media(max-width:900px){
 .hero-returner .hr-soundtrack button{grid-template-columns:52px minmax(0,1fr);gap:4px 14px;padding:30px 12%;min-height:160px}
 .hero-returner .hr-soundtrack .hr-music-icon{grid-row:1/3;width:52px;height:62px}
 .hero-returner .hr-soundtrack [data-soundtrack-label]{grid-row:2;grid-column:2;text-align:left}
}
@media(max-width:600px){
 .hero-returner .hr-soundtrack{padding:16px 12px}
 .hero-returner .hr-soundtrack button{padding:26px 14%;grid-template-columns:36px minmax(0,1fr);gap:6px 10px;min-height:164px}
 .hero-returner .hr-soundtrack .hr-music-icon{width:36px;height:54px}
 .hero-returner .hr-soundtrack strong{font-size:22px}
 .hero-returner .hr-soundtrack [data-soundtrack-label]{font-size:12px}
 .hero-returner .hr-webtoon{padding:22px 12px}
 .hero-returner .hr-webtoon-teaser,.hero-returner .hr-webtoon-copy{min-height:330px}
 .hero-returner .hr-webtoon-copy{padding:22px 14px}
 .hero-returner .hr-webtoon-copy strong{font-size:clamp(18px,5.9vw,26px);margin:10px 0}
 .hero-returner .hr-webtoon-copy b{font-size:13px;margin-top:14px}
 .hero-returner .hr-journey-sticky{grid-template-rows:136px minmax(0,1fr)}
 .hero-returner .hr-map{overflow-x:auto;overflow-y:hidden;display:block;touch-action:pan-x pan-y}
 .hero-returner .hr-map-canvas{width:680px;max-width:none;height:114px}
 .hero-returner .hr-map .hr-map-art{object-position:50% 70%}
 .hero-returner .hr-map-pin{left:calc(34px + var(--pin-index) * 55px);top:48%;width:46px;height:46px}
 .hero-returner .hr-map-pin b{opacity:1;font-size:10px;bottom:-19px}
 .hero-returner .hr-map-caption{position:sticky;left:0;bottom:auto;display:block;height:22px;font-size:11px;line-height:22px;background:#203b45}
 .hero-returner .hr-stage-person{width:85%;height:auto;max-height:none;right:-23%;bottom:46px}
 .hero-returner .hr-stage-copy h2{max-width:83%}
 .hero-returner .hr-cross-person{height:auto;min-height:0;width:100%;max-height:none}
 .hero-returner .hr-ending-portrait{height:48%;object-position:50% 0%}
 .hero-returner .hr-card-front:after{top:50%}
 .hero-returner .hr-ending-copy{top:53%;bottom:6%}
 .hero-returner .hr-return-copy{margin:0 20px;width:auto}
 .hero-returner .hr-return-copy h2{font-size:clamp(26px,8vw,38px);margin:12px 0}
 .hero-returner .hr-return-copy p{font-size:14px;line-height:1.65}
 .hero-returner .hr-return-copy .hr-button{margin-top:10px}
 .hero-returner .hr-return-clock{font-size:12px;margin-top:12px;gap:10px}
 .hero-returner .hr-return-clock b{font-size:20px}
 .hero-returner .hr-return-status{font-size:14px;min-height:45px}
 .hr-memory-track{margin:12px 0;font-size:11px}
}
@media(max-width:600px) and (max-height:700px){
 .hero-returner .hr-journey-sticky{grid-template-rows:112px minmax(0,1fr)}
 .hero-returner .hr-map-canvas{height:90px}
 .hero-returner .hr-stage-person{width:66%;right:-13%}
 .hero-returner .hr-return-copy{padding:8px 0}
 .hero-returner .hr-return-copy .hr-overline{font-size:11px}
 .hero-returner .hr-return-copy h2{font-size:26px;margin:8px 0}
 .hero-returner .hr-return-copy p{font-size:13px;line-height:1.5;margin:6px 0}
 .hero-returner .hr-return-clock{margin-top:6px}
 .hero-returner .hr-return-status{min-height:38px;margin-top:6px;font-size:12px}
 .hr-memory-track{margin:8px 0}
 .hero-returner .hr-ending-copy>span{font-size:13px;line-height:1.5}
 .hero-returner .hr-ending-copy i{display:none}
}
@media(prefers-reduced-motion:reduce){.hr-return.is-rewinding .hr-return-veil,.hr-return.is-rewinding .hr-return-crystal{animation:none}.hr-memory-track i:after,.hero-returner .hr-return-bg{transition:none}}

/* The ornate frame's safe text area excludes its crystal tips. */
.hero-returner .hr-soundtrack button{grid-template-columns:minmax(0,1fr) auto;padding-left:19%;padding-right:19%;gap:18px}
.hero-returner .hr-soundtrack .hr-music-icon{display:none}
.hero-returner .hr-soundtrack .hr-track-title{grid-column:1;grid-row:1}
.hero-returner .hr-soundtrack [data-soundtrack-label]{grid-column:2;grid-row:1}
@media(max-width:900px){.hero-returner .hr-soundtrack button{grid-template-columns:1fr;gap:5px;text-align:center}.hero-returner .hr-soundtrack .hr-track-title{align-items:center}.hero-returner .hr-soundtrack [data-soundtrack-label]{grid-column:1;grid-row:2;text-align:center}.hero-returner .hr-soundtrack small{font-size:12px}}

/* Override the earlier positional nth-child rule with the same specificity. */
.hero-returner .hr-soundtrack button>span.hr-track-title{grid-column:1;grid-row:1}
.hero-returner .hr-map .hr-pin-face img{transform:scale(1.9);transform-origin:50% 8%}
.hero-returner .hr-map,.hero-returner .hr-work-links{scrollbar-width:thin;scrollbar-color:#a48b5d transparent}

.hero-returner .hr-map img{-webkit-user-drag:none;user-select:none}
.hero-returner .hr-map.is-dragging{cursor:grabbing;user-select:none}
.hero-returner .hr-map-pin b{font-size:12px;color:#fff7e4;background:#172d3bd9;padding:0 3px;border-radius:3px;white-space:nowrap}
@media(max-width:600px){.hero-returner .hr-map-caption{display:none}.hero-returner .hr-map-canvas{height:calc(100% - 10px)}.hero-returner .hr-map-pin b{font-size:12px;bottom:-20px}.hero-returner .hr-memory-track{font-size:12px}}

@media(min-width:601px){.hero-returner .hr-return{height:calc(var(--hr-room) - 24px);min-height:0;max-height:none}.hero-returner .hr-return-copy{padding:10px 0;max-width:650px}.hero-returner .hr-return-copy h2{font-size:clamp(32px,6vh,48px);margin:12px 0}.hero-returner .hr-return-copy p{margin:10px 0}.hero-returner .hr-return-copy .hr-button{margin-top:12px}}

/* Journey bounds include the whole sticky box; no negative margin escapes. */
.hero-returner .hr-journey{display:grid;isolation:isolate;clip-path:inset(0)}
.hero-returner .hr-journey-sticky{grid-area:1/1;align-self:start;margin-bottom:0;z-index:1}
.hero-returner .hr-scroll-track{grid-area:1/1;min-width:0}
.hero-returner .hr-map-canvas:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 72% 21% at 50% 80%,transparent 25%,#06101bd9 100%);transition:opacity .3s}
.hero-returner [data-active-region="1"] .hr-map-canvas:after{background:radial-gradient(ellipse 72% 23% at 50% 56%,transparent 25%,#06101bd9 100%)}
.hero-returner [data-active-region="2"] .hr-map-canvas:after{background:radial-gradient(ellipse 72% 23% at 50% 33%,transparent 25%,#06101bd9 100%)}
.hero-returner [data-active-region="3"] .hr-map-canvas:after{background:radial-gradient(ellipse 72% 22% at 50% 12%,transparent 25%,#06101bd9 100%)}
.hero-returner .hr-map-pin{z-index:2;filter:brightness(.4) saturate(.4);transition:filter .3s}
.hero-returner .hr-map-pin.is-near,.hero-returner .hr-map-pin:hover,.hero-returner .hr-map-pin:focus-visible{filter:none}
@media(max-width:600px){
 .hero-returner .hr-map-canvas:after{background:radial-gradient(ellipse 21% 140% at 13% 50%,transparent 30%,#06101be6 100%)}
 .hero-returner [data-active-region="1"] .hr-map-canvas:after{background:radial-gradient(ellipse 21% 140% at 37% 50%,transparent 30%,#06101be6 100%)}
 .hero-returner [data-active-region="2"] .hr-map-canvas:after{background:radial-gradient(ellipse 21% 140% at 62% 50%,transparent 30%,#06101be6 100%)}
 .hero-returner [data-active-region="3"] .hr-map-canvas:after{background:radial-gradient(ellipse 21% 140% at 86% 50%,transparent 30%,#06101be6 100%)}
}

/* Home banner uses the same approved Comfy cutout and palace art. */
.home-hero-journey[data-theme="returner"] .hr-home-person{position:absolute;inset:0;width:100%;height:100%;object-fit:contain!important;object-position:80% bottom!important;pointer-events:none;mask-image:linear-gradient(90deg,transparent 28%,#000 47%,#000 95%,transparent),linear-gradient(0deg,transparent,#000 18%);mask-composite:intersect}
.home-hero-journey[data-theme="returner"] .hero-media:after{background:linear-gradient(90deg,#101923d9,transparent 75%)}

@media(max-width:600px){#view-home .home-hero-journey[data-theme="returner"] #heroMedia img.hr-home-person{object-position:center top!important;mask-image:linear-gradient(0deg,transparent 0%,#000 35%);mask-size:100% calc(100vw * .75);mask-repeat:no-repeat;mask-position:top;mask-composite:add}}

/* Work catalogue: the approved Comfy cutout and palace form one cover. */
.work-library-card.theme-returner .hr-entry-art{position:relative;isolation:isolate;overflow:hidden;background:#172a34}
.work-library-card.theme-returner .hr-entry-background{position:absolute;inset:0;filter:brightness(.78)}
.work-library-card.theme-returner .hr-entry-person{position:relative;z-index:1;object-fit:cover;object-position:50% 18%;mask-image:linear-gradient(#000 75%,transparent 100%)}
.work-library-card.theme-returner{background:#142730;border-color:#cfb98755}
.work-library-card.theme-returner small{color:#e2c997}

/* Home's horizontal introduction is a separate surface from the works catalogue. */
#homeUpcomingWork .hr-home-entry{background:#142730;border-color:#cfb98755}
#homeUpcomingWork .hr-home-entry .hr-home-art{position:relative;isolation:isolate;overflow:hidden;width:180px;height:145px;background:#142730}
#homeUpcomingWork .hr-home-entry .hr-home-art img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
#homeUpcomingWork .hr-home-entry .hr-home-background{object-position:50% 45%;filter:brightness(.65);mask-image:linear-gradient(90deg,#000 70%,transparent)}
#homeUpcomingWork .hr-home-entry .hr-home-person{object-position:50% 16%;mask-image:linear-gradient(90deg,#000 70%,transparent);z-index:1}
#homeUpcomingWork .hr-home-entry>span{min-width:0;padding-block:14px}
#homeUpcomingWork .hr-home-entry small{color:#e2c997}
@media(max-width:800px){#homeUpcomingWork .hr-home-entry{grid-template-columns:95px minmax(0,1fr) 18px;gap:10px;padding-right:10px}#homeUpcomingWork .hr-home-entry .hr-home-art{width:95px;height:160px}#homeUpcomingWork .hr-home-entry b{font-size:19px;line-height:1.35;word-break:keep-all}#homeUpcomingWork .hr-home-entry em{font-size:12px;line-height:1.55;word-break:keep-all}}
