@font-face {
  font-family: "Pretendard";
  src: url("../fonts/pretendard/Pretendard-Regular.woff2?v=20261107-tabs") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Hunmeme Style Names";
  src: url("../fonts/maru-buri/HunmemeStyleNames-Light.woff2?v=20261114-upbit-drops") format("woff2");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "Hunmeme Style Names";
  src: url("../fonts/maru-buri/HunmemeStyleNames-Regular.woff2?v=20261112-artist-taglines-400") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Hunmeme Style Names";
  src: url("../fonts/maru-buri/HunmemeStyleNames-Bold.woff2?v=20261112-artist-name-role") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
.home-showcase,
.showcase-footer,
.showcase-dialog {
  --showcase-ink: #171717;
  --showcase-muted: #777;
  --showcase-line: #dedede;
  box-sizing: border-box;
  color: var(--showcase-ink);
  font-family: system-ui, -apple-system, "Malgun Gothic", sans-serif;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}
.home-showcase *, .showcase-footer *, .showcase-dialog * { box-sizing: border-box; }
.showcase-page { display: flow-root; container-type: inline-size; width: 100%; padding-top: 64px; background: #fff; }
.home-showcase { --showcase-thumbnail-title-size: clamp(14px, 1.05vw, 18px); --showcase-thumbnail-caption-height: calc(var(--showcase-thumbnail-title-size) * 1.5 + 16px); --showcase-inset: max(16px, calc((100cqw - 430px) / 2)); width: min(430px, calc(100% - 32px)); margin-inline: auto; background: #fff; }
.home-showcase + .home-showcase { margin-top: 72px; }
.showcase-page > .showcase-footer { margin-top: 48px; }
/* Match the visible workspace outline, including its expansion beyond .stage. */
body.background-only .home-showcase {
  --showcase-inset: max(0px, calc(var(--canvas-side-margin) - var(--picture-expand-x)));
  width: auto;
  margin-inline: var(--showcase-inset);
}
.home-showcase button, .showcase-footer button, .showcase-dialog button { font: inherit; color: inherit; cursor: pointer; }
.home-showcase a, .showcase-footer a { color: inherit; text-decoration: none; }
.home-showcase :focus-visible, .showcase-footer :focus-visible, .showcase-dialog :focus-visible { outline: 3px solid #0043ff; outline-offset: 5px; }
.showcase-brand { display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0 0 32px; }
.showcase-brand img { display: block; width: clamp(107.52px, 8.64vw, 153.6px); height: auto; }
.showcase-video { width: 100%; aspect-ratio: 16 / 9; background: #000; }
.showcase-video video { display: block; width: 100%; height: 100%; object-fit: contain; }
.showcase-photo { width: 100%; }
.showcase-photo img { display: block; width: 100%; height: auto; }
.showcase-photo--placeholder { aspect-ratio: 2560 / 1392; background: #e5e5e5; }
.showcase-section-heading { margin-bottom: 60px; text-align: center; }
.showcase-section-intro { max-width: 44em; margin: 16px auto 0; color: #656560; font-family: "Pretendard", system-ui, "Malgun Gothic", sans-serif; font-size: 15px; font-weight: 400; line-height: 1.8; letter-spacing: -.02em; text-align: center; white-space: pre-line; word-break: keep-all; }
:is(#showcase-02, #showcase-03, #showcase-04) .showcase-section-intro { margin-top: 8px; }
#showcase-03 .showcase-intro-first-line { position: relative; top: 3px; }
.showcase-brand .showcase-section-intro { margin-top: 1px; }
.showcase-section-divider { width: min(44%, 680px); height: 2px; margin: 0 auto 48px; border: 0; background: var(--showcase-ink); }
/* Match the following character section's spacing below the carousel progress line. */
#showcase-02 .showcase-section-divider { margin-bottom: 125px; }
.showcase-placeholder-grid { display: grid; gap: clamp(18px, 1.4vw, 26px); }
.showcase-placeholder-row { min-width: 0; }
.home-showcase--placeholder-grid .showcase-track { --showcase-gap: clamp(18px, 1.4vw, 26px); margin: 0; padding: 0; scroll-padding-inline: 0; }
.home-showcase--placeholder-grid .showcase-item { flex: 0 0 calc((100% - 3 * var(--showcase-gap)) / 4); }
.showcase-placeholder-tile { display: block; overflow: hidden; aspect-ratio: 1; min-width: 0; background: #f7f7f7; }
.showcase-artwork-trigger { display: block; width: 100%; margin: 0; padding: 0; border: 0; background: none; text-align: inherit; }
.showcase-artwork-trigger img { -webkit-touch-callout: none; -webkit-user-drag: none; user-select: none; }
.showcase-thumbnail { min-width: 0; }
.showcase-thumbnail-title { display: block; margin-top: 16px; font-family: "Hunmeme Style Names", "MaruBuri", "Batang", serif; font-size: var(--showcase-thumbnail-title-size); font-weight: 300; font-synthesis: none; line-height: 1.5; letter-spacing: -.04em; text-align: center; }
.showcase-thumbnail-title--bold { font-weight: 700; }
#showcase-03 .showcase-thumbnail-title { font-weight: 400; }
.showcase-placeholder-row .showcase-placeholder-tile img { display: block; width: 100%; height: 100%; object-fit: contain; }
.showcase-artist-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(18px, 1.4vw, 26px); margin: 0; padding: 0; list-style: none; }
.showcase-artist-grid > :first-child { grid-column: 2; }
.showcase-artist-grid img { display: block; width: 100%; height: 100%; object-fit: contain; }
.showcase-artist-tagline { margin: 16px 0 0; color: #555; font: 400 clamp(11px, .9vw, 14px)/1.288 "Hunmeme Style Names", "MaruBuri", "Batang", serif; font-synthesis: none; letter-spacing: -.035em; text-align: center; word-break: keep-all; }
.showcase-artist-grid .showcase-thumbnail-title { margin-top: 4.83px; line-height: 1.2075; }
.showcase-artist-bio {
  margin: 18px 0 0;
  padding: 16px 0 0;
  border-top: 1px dotted #999;
  list-style: none;
  color: #555;
  font: 400 clamp(11px, .8vw, 14px)/1.8 "Pretendard", system-ui, "Malgun Gothic", sans-serif;
  letter-spacing: -.035em;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.showcase-company-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: calc(clamp(18px, 1.4vw, 26px) * 6 / 7); margin: 0; padding: 0; list-style: none; }
.showcase-company-grid img { display: block; width: 100%; height: 100%; object-fit: contain; }
.showcase-company-grid .showcase-thumbnail-title { white-space: pre-line; word-break: keep-all; overflow-wrap: anywhere; }
@media (min-width: 768px) {
  .showcase-company-grid .showcase-thumbnail-title { margin-top: calc(16px * 6 / 7); font-size: calc(var(--showcase-thumbnail-title-size) * 6 / 7); }
}
.showcase-placeholder-divider { width: min(44%, 680px); height: 2px; margin: 32px auto 0; border: 0; background: var(--showcase-ink); }
@media (max-width: 767px) {
  .showcase-placeholder-grid { gap: 14px; }
  .home-showcase--placeholder-grid .showcase-track { --showcase-gap: 14px; }
  .home-showcase--placeholder-grid .showcase-item { flex-basis: calc((100% - var(--showcase-gap)) / 2); }
  .showcase-artist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .showcase-artist-grid > :first-child { grid-column: auto; }
  .showcase-company-grid { grid-template-columns: 1fr; gap: 14px; }
}
.showcase-hero { position: relative; width: 100%; min-height: 450px; aspect-ratio: 16 / 7; overflow: hidden; isolation: isolate; }
.showcase-hero--01 { background: #f6f2eb; }
.showcase-hero--02 { background: #f8eeeb; }
.showcase-hero--03 { background: #edf3f6; }
.showcase-hero-art { position: absolute; inset: 0; z-index: -1; display: block; }
.showcase-hero-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.showcase-hero-copy { position: absolute; left: 6%; top: 50%; width: 43%; transform: translateY(-50%); }
.showcase-eyebrow { margin: 0 0 24px; font-size: clamp(10px, .8vw, 14px); font-weight: 650; letter-spacing: .17em; }
.showcase-hero h2 { margin: 0; font-size: clamp(34px, 3.5vw, 68px); font-weight: 750; line-height: 1.24; letter-spacing: -.065em; word-break: keep-all; }
.showcase-hero-description { margin: 26px 0 0; color: #55534e; font-size: clamp(13px, 1.1vw, 19px); line-height: 1.85; letter-spacing: -.03em; word-break: keep-all; }
.showcase-explore { display: inline-flex; align-items: center; gap: 24px; margin-top: 36px; padding: 0 0 8px; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 600; }
.showcase-explore span { font-size: 20px; }
.showcase-hero-number { position: absolute; right: 3%; bottom: 28px; font-size: 11px; letter-spacing: .12em; }
.showcase-gallery { --showcase-gap: 16px; --showcase-gutter: 0px; --showcase-track-extension: calc(var(--showcase-inset) + var(--showcase-gutter)); margin-top: 32px; padding: 76px 0 64px; background: #fff; scroll-margin-top: 24px; }
.showcase-gallery-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; padding: 0 var(--showcase-gutter); margin-bottom: 34px; }
.showcase-section-heading h2,
.showcase-gallery-heading h3 { margin: 0; font-size: clamp(25px, 2.1vw, 40px); line-height: 1.4; font-weight: 720; letter-spacing: -.055em; }
/* Align the heading and first card with the hero; extend only the row's right edge. */
.showcase-track { display: flex; gap: var(--showcase-gap); margin: 0 calc(-1 * var(--showcase-inset)) 0 0; padding: 8px 0 16px var(--showcase-gutter); overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--showcase-gutter) 0; scrollbar-width: none; list-style: none; }
.showcase-track::-webkit-scrollbar { display: none; }
.showcase-item { flex: 0 0 calc((100% - var(--showcase-track-extension) - 4 * var(--showcase-gap)) / 5.25); min-width: 0; scroll-snap-align: start; }
.showcase-card { display: block; overflow: clip; width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; text-align: left; }
.showcase-card-visual { display: block; }
.showcase-card-media { display: block; overflow: hidden; width: 100%; aspect-ratio: 1; border-radius: 12px; background: #f7f7f7; }
.showcase-card-media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.showcase-card-media--hover { position: relative; }
.showcase-card-media--hover .showcase-card-hover-image { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
.showcase-card-media img,
.showcase-placeholder-tile img { transition: transform 350ms ease; }
/* Keep the swap's fade alongside the shared thumbnail zoom. */
.showcase-card-media--hover img { transition: opacity 180ms ease, transform 350ms ease; }
@media (hover: hover) and (pointer: fine) {
  .showcase-card:hover .showcase-card-media--hover > img:first-child { opacity: 0; }
  .showcase-card:hover .showcase-card-hover-image { opacity: 1; }
}
.showcase-card:focus-visible .showcase-card-media--hover > img:first-child { opacity: 0; }
.showcase-card:focus-visible .showcase-card-hover-image { opacity: 1; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  :is(.showcase-card-media, .showcase-placeholder-tile):hover img { transform: scale(1.035); }
}
@media (prefers-reduced-motion: no-preference) {
  .showcase-card:focus-visible .showcase-card-media img { transform: scale(1.035); }
}
.showcase-card-caption { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding-top: 23px; }
.showcase-card-caption strong { font-size: clamp(17px, 1.35vw, 24px); font-weight: 650; letter-spacing: -.04em; }
.showcase-gallery-controls { display: flex; align-items: center; justify-content: center; gap: 50px; padding: 30px var(--showcase-gutter) 0; }
.showcase-progress-track { position: relative; width: min(44%, 680px); height: 2px; background: #e6e6e6; overflow: hidden; }
.showcase-progress-thumb { position: absolute; inset: 0 auto 0 0; width: 65.625%; background: #171717; }
.showcase-arrows { display: flex; gap: 12px; }
.showcase-arrow { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; padding: 0; border: 1px solid #d9d9d9; border-radius: 50%; background: transparent; transition: background 180ms ease, border-color 180ms ease; }
.showcase-arrow:hover:not(:disabled) { background: #f0f0f0; border-color: #aaa; }
.showcase-arrow:disabled { opacity: .28; cursor: default; }
.showcase-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.showcase-footer { background: #f8f8f7; border-top: 1px solid #e8e8e5; font-family: "Pretendard", system-ui, "Malgun Gothic", sans-serif; }
.showcase-footer-inner { max-width: 1920px; margin: 0 auto; padding: 52px clamp(24px, 4vw, 76px) 28px; }
.showcase-footer-main { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(320px, 1.2fr) auto; align-items: start; gap: clamp(24px, 4vw, 64px); padding-bottom: 44px; }
.showcase-footer-brand > a { display: inline-flex; align-items: baseline; gap: 12px; font-size: 26px; font-weight: 750; line-height: 1.3; letter-spacing: -.065em; }
.showcase-footer-brand > a span { font-size: 9px; font-weight: 600; letter-spacing: .14em; }
.showcase-footer-brand p { margin: 14px 0 0; color: #656560; font-size: 13px; line-height: 1.7; letter-spacing: -.02em; word-break: keep-all; }
.showcase-footer-nav ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 28px; margin: 0; padding: 0; list-style: none; }
.showcase-footer-nav a { display: inline-flex; align-items: center; min-height: 32px; color: #51514d; font-size: 13px; line-height: 1.6; letter-spacing: -.02em; word-break: keep-all; }
.showcase-footer-contact p { margin: 6px 0 10px; color: #656560; font-size: 12px; line-height: 1.6; }
.showcase-footer-contact > a { display: inline-flex; align-items: center; gap: 16px; min-height: 32px; color: #292927; font-size: 14px; line-height: 1.6; }
.showcase-footer-contact svg { flex: none; }
.showcase-footer a:hover { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.showcase-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 56px 0 0; border-top: 1px solid #dededb; }
.showcase-footer-bottom small { color: #70706b; font-size: 11px; line-height: 1.8; }
.showcase-footer-bottom nav { display: flex; flex-wrap: wrap; gap: 24px; font-size: 12px; line-height: 1.8; }
.showcase-footer-bottom nav a { display: inline-flex; align-items: center; min-height: 28px; color: #595954; }
.showcase-footer-bottom nav a:first-child { color: #333330; font-weight: 650; }
@media (min-width: 768px) and (max-width: 1100px) {
  .showcase-footer-main { grid-template-columns: 1fr 1.2fr; gap: 26px 40px; }
  .showcase-footer-brand { grid-row: span 2; }
  .showcase-footer-contact { grid-column: 2; }
}
/* Desktop page only: give the company section room, then finish compactly. */
@media (min-width: 768px) {
  body.background-only .showcase-page > .showcase-footer { margin-top: 120px; }
  body.background-only .showcase-footer-inner { padding-top: 32px; padding-bottom: 20px; }
  body.background-only .showcase-footer-main { padding-bottom: 24px; }
  body.background-only .showcase-footer-nav ul { row-gap: 2px; }
  body.background-only .showcase-footer-nav a { min-height: 28px; }
  body.background-only .showcase-footer-bottom { padding-top: 14px; }
}
.showcase-dialog { position: fixed; width: min(760px, calc(100vw - 40px)); max-height: calc(100dvh - 40px); margin: auto; padding: 22px; border: 0; border-radius: 20px; background: #fff; box-shadow: 0 24px 100px #0003; overflow-y: auto; overscroll-behavior: contain; }
.showcase-dialog::backdrop { background: #101010a6; backdrop-filter: blur(8px); }
.showcase-dialog-close { position: absolute; z-index: 1; top: 20px; right: 20px; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid #e2e2e2; border-radius: 50%; background: #ffffffed; }
.showcase-dialog-close:hover { background: #eee; }
.showcase-dialog-image { display: flex; justify-content: center; min-height: 0; border-radius: 12px; background: #f7f7f7; }
.showcase-dialog-image img { display: block; width: min(100%, 62dvh); max-width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
:is(.showcase-dialog--notebook, .showcase-dialog--character-pages) .showcase-dialog-image { position: relative; width: min(100%, calc(62dvh * 1800 / 1480)); margin-inline: auto; aspect-ratio: 1800 / 1480; overflow: hidden; }
:is(.showcase-dialog--notebook, .showcase-dialog--character-pages) .showcase-dialog-image img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
.showcase-dialog.showcase-dialog--company { width: min(var(--company-dialog-width, 760px), calc(100vw - 28px), calc(62dvh * var(--company-image-ratio, 1) + 20px)); padding: 10px; border-radius: 16px; }
.showcase-dialog--company .showcase-dialog-image { position: relative; width: 100%; margin-inline: auto; aspect-ratio: var(--company-image-ratio, 1); overflow: hidden; }
.showcase-dialog--company .showcase-dialog-image img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
.showcase-dialog--company .showcase-dialog-image video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; background: #000; }
.showcase-dialog-image :is(img, video)[hidden] { display: none; }
.showcase-dialog--company .showcase-dialog-close { top: 18px; right: 18px; }
.showcase-dialog--company .showcase-dialog-caption { justify-content: center; padding: 12px 0 2px; }
.showcase-dialog--company .showcase-dialog-details { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.showcase-dialog--company .showcase-dialog-actions { justify-content: center; }
.showcase-dialog-caption { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 22px 6px 6px; }
.showcase-dialog-details { flex: 1; min-width: 0; }
.showcase-dialog-word { margin: 0 0 7px; color: #777; font-size: 12px; }
.showcase-dialog-caption h2 { margin: 0; font-size: 25px; font-weight: 700; letter-spacing: -.04em; }
.showcase-dialog-actions { display: flex; flex: none; align-items: center; gap: 22px; }
.showcase-dialog-navigation { display: flex; align-items: center; gap: 15px; }
.showcase-dialog-status { min-width: 38px; text-align: center; color: #666; font-size: 12px; }
.showcase-dialog-purchase { display: inline-flex; flex: none; align-items: center; justify-content: center; min-width: 100px; min-height: 36px; padding: 9px 22px; border-radius: 999px; background: #000; color: #fff; font-size: 14px; font-weight: 600; line-height: 1.3; text-decoration: none; white-space: nowrap; }
.showcase-dialog-purchase[hidden] { display: none; }
.showcase-dialog-purchase:hover:not([aria-disabled="true"]) { background: #292929; }
.showcase-dialog-purchase[aria-disabled="true"] { background: #767676; cursor: not-allowed; }
.showcase-dialog-purchase.is-sold-out[aria-disabled="true"] { background: #d32f2f; }
@media (max-width: 600px) {
  .showcase-dialog-caption { flex-wrap: wrap; }
  .showcase-dialog-details { flex-basis: 100%; }
  .showcase-dialog-actions { width: 100%; justify-content: space-between; gap: 16px; }
  .showcase-dialog-purchase { min-height: 44px; }
}
/* The vertical entrance collection uses a contained four-card carousel. */
.home-showcase--contained .showcase-gallery { --showcase-gap: clamp(18px, 1.4vw, 26px); margin-top: 24px; padding: 0 0 32px; }
.home-showcase--strip .showcase-gallery { margin-top: 24px; padding: 0 0 32px; }
#showcase-02 .showcase-card-caption { display: none; }
.home-showcase--contained .showcase-gallery-heading,
.home-showcase--strip .showcase-gallery-heading { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.showcase-carousel { position: relative; }
.home-showcase--contained .showcase-track { margin: 0; padding: 8px 0; scroll-padding-inline: 0; }
.home-showcase--contained .showcase-item { flex-basis: calc((100% - 3 * var(--showcase-gap)) / 4); }
.home-showcase--contained .showcase-card { position: relative; }
.home-showcase--contained .showcase-card:focus-visible { outline-offset: -3px; }
.home-showcase--contained .showcase-card-visual { position: relative; }
.home-showcase--contained .showcase-card-media { min-height: 230px; border-radius: 0; }
.home-showcase--contained .showcase-card-media img { padding: 24px 12px 14px; }
.home-showcase--contained .showcase-card-caption { position: absolute; z-index: 1; inset: 22px 10px auto; display: block; padding: 0; text-align: center; }
.home-showcase--contained .showcase-card-caption strong { font-size: clamp(17px, 1.2vw, 24px); line-height: 1.4; }
.home-showcase--contained .showcase-card-cta { position: absolute; z-index: 2; left: 50%; bottom: 18px; display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 10px 23px; border-radius: 30px; background: #000; color: #fff; font-size: 13px; font-weight: 650; white-space: nowrap; opacity: 0; transform: translate(-50%, 18px); transition: opacity 220ms ease, transform 280ms cubic-bezier(.22, 1, .36, 1); pointer-events: none; }
.home-showcase--contained .showcase-card:hover .showcase-card-cta,
.home-showcase--contained .showcase-card:focus-visible .showcase-card-cta { opacity: 1; transform: translate(-50%, 0); }
.home-showcase--contained .showcase-gallery-controls { justify-content: center; padding: 24px 0 0; }
.showcase-carousel-arrow { position: absolute; z-index: 3; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; background: #ffffffeb; box-shadow: 0 1px 3px #00000005; }
.showcase-carousel-arrow--prev { left: 16px; }
.showcase-carousel-arrow--next { right: 16px; }
.showcase-placeholder-row .showcase-carousel-arrow { top: calc((100% - var(--showcase-thumbnail-caption-height)) / 2); width: min(44px, var(--showcase-inset)); border: 0; border-radius: 0; background: transparent; color: #888; box-shadow: none; }
.showcase-placeholder-row .showcase-carousel-arrow:hover:not(:disabled) { border: 0; background: transparent; }
.showcase-placeholder-row .showcase-carousel-arrow svg { flex: none; }
.showcase-placeholder-row .showcase-carousel-arrow:disabled { visibility: hidden; }
.showcase-placeholder-row .showcase-carousel-arrow--prev { left: auto; right: calc(100% - 8px); }
.showcase-placeholder-row .showcase-carousel-arrow--next { left: calc(100% - 8px); right: auto; }
@media (hover: none), (pointer: coarse) {
  .home-showcase--contained .showcase-card-cta { opacity: 1; transform: translate(-50%, 0); }
}
.showcase-back-to-top { position: fixed; z-index: 40; right: max(24px, env(safe-area-inset-right)); bottom: max(24px, env(safe-area-inset-bottom)); display: grid; place-items: center; width: 50px; height: 50px; padding: 0; border: 0; border-radius: 50%; background: #808080; color: #fff; box-shadow: 0 1px 4px #00000012; cursor: pointer; transition: background 180ms ease; }
.showcase-back-to-top[hidden] { display: none; }
.showcase-back-to-top:hover { background: #616161; }
.showcase-back-to-top:focus-visible { outline: 3px solid #0043ff; outline-offset: 4px; }
@media (min-width: 768px) and (max-width: 1439px) {
  .showcase-item { flex-basis: calc((100% - var(--showcase-track-extension) - 3 * var(--showcase-gap)) / 4.25); }
  .showcase-card-caption { align-items: start; flex-direction: column; gap: 10px; }
}
@media (max-width: 767px) {
  .home-showcase--contained .showcase-gallery { --showcase-gap: 14px; margin-top: 24px; padding-top: 0; padding-bottom: 28px; }
  .home-showcase--contained .showcase-item { flex-basis: 78%; }
  .home-showcase--contained .showcase-card-caption { top: 24px; }
  .home-showcase--contained .showcase-card-caption strong { font-size: 22px; }
  .home-showcase--contained .showcase-card-media img { padding: 28px 12px 18px; }
  .home-showcase--contained .showcase-card-cta { min-height: 44px; padding: 11px 23px; }
  .showcase-carousel-arrow--prev { left: 10px; }
  .showcase-carousel-arrow--next { right: 10px; }
  .showcase-back-to-top { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); width: 46px; height: 46px; }
  .showcase-page { padding-top: 36px; }
  .home-showcase + .home-showcase { margin-top: 44px; }
  .showcase-page > .showcase-footer { margin-top: 28px; }
  .showcase-hero { display: flex; flex-direction: column; min-height: 0; aspect-ratio: auto; padding: 36px 0 44px; }
  .showcase-hero-art { position: relative; inset: auto; z-index: 0; order: 2; flex: none; width: 180%; height: auto; aspect-ratio: 16 / 7; margin: 28px 0 -6px -80%; }
  .showcase-hero-art img { object-fit: contain; }
  .showcase-hero-copy { position: relative; top: auto; left: auto; width: 86%; margin: 0 7%; transform: none; }
  .showcase-eyebrow { margin-bottom: 16px; font-size: 11px; }
  .showcase-hero h2 { font-size: clamp(32px, 7.5vw, 52px); }
  .showcase-hero-description { margin-top: 20px; font-size: 15px; line-height: 1.7; }
  .showcase-explore { margin-top: 20px; font-size: 13px; }
  .showcase-hero-number { right: 7%; bottom: 23px; }
  .showcase-gallery { --showcase-gap: 14px; margin-top: 24px; padding-top: 47px; padding-bottom: 44px; }
  .showcase-gallery-heading { align-items: start; margin-bottom: 22px; }
  .showcase-section-heading { margin-bottom: 36px; }
  .showcase-section-divider { margin-bottom: 32px; }
  #showcase-02 .showcase-section-divider { margin-bottom: 98px; }
  .showcase-section-heading h2,
  .showcase-gallery-heading h3 { font-size: 26px; line-height: 1.45; }
  .showcase-item { flex-basis: calc((100% - var(--showcase-track-extension)) * .78); }
  .showcase-card-caption { padding-top: 20px; }
  .showcase-card-caption strong { font-size: 24px; }
  .showcase-gallery-controls { justify-content: space-between; gap: 25px; padding-top: 20px; }
  .showcase-progress-track { width: 55%; }
  .showcase-arrow { width: 46px; height: 46px; }
  .showcase-footer-inner { padding: 36px 24px 28px; }
  .showcase-footer-main { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-bottom: 28px; }
  .showcase-footer-brand > a { font-size: 25px; }
  .showcase-footer-brand p { margin-top: 10px; }
  .showcase-footer-nav ul { gap: 2px 16px; }
  .showcase-footer-nav a { min-height: 44px; }
  .showcase-footer-contact p { margin: 0 0 2px; }
  .showcase-footer-contact > a { min-height: 44px; }
  .showcase-footer-bottom { align-items: start; flex-direction: column-reverse; gap: 12px; padding: 16px 0 0; }
  .showcase-footer-bottom nav { gap: 24px; }
  .showcase-footer-bottom nav a { min-height: 44px; }
  .showcase-dialog { width: calc(100vw - 28px); padding: 14px; border-radius: 16px; }
  .showcase-dialog-close { top: 24px; right: 24px; }
  .showcase-dialog-caption { padding: 22px 4px 8px; }
  .showcase-dialog-caption h2 { font-size: 26px; }
  .showcase-dialog-navigation { gap: 10px; }
}
/* The first collection shows every style. Stable item slots anchor Dock motion. */
.home-showcase--dock .showcase-gallery {
  position: relative;
  isolation: isolate;
}
@media (min-width: 768px) {
  .home-showcase--dock .showcase-gallery {
    /* Place the visible group 15px above the midpoint between video and divider. */
    translate: 0 41.4px;
  }
}
.home-showcase--dock .showcase-gallery-heading {
  position: relative;
  z-index: 1;
  pointer-events: none;
  justify-content: center;
  text-align: center;
  margin-bottom: 12px;
}
.showcase-section-heading h2,
.home-showcase--dock .showcase-gallery-heading h3 {
  font-family: "Hunmeme Style Names", "MaruBuri", serif;
  font-weight: 700;
  font-synthesis: none;
}
.home-showcase--dock .showcase-track {
  --dock-enlargement: 1.4784;
  --dock-layout-scale: .8208;
  position: relative;
  z-index: 0;
  left: 50%;
  width: min(calc(100% * var(--dock-enlargement)), calc(100vw - 32px));
  transform: translate(-50%, -70px);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  gap: calc(var(--dock-size, 120px) * .6 + 28px) calc(16px * var(--dock-enlargement) * var(--dock-layout-scale));
  margin: 0;
  padding: calc(var(--dock-reference-size, 120px) * .6 + 16px) 24px calc(18px * var(--dock-layout-scale));
  overflow: visible;
  scroll-snap-type: none;
  isolation: isolate;
}
.home-showcase--dock .showcase-item {
  position: relative;
  z-index: var(--dock-layer, 0);
  flex: 0 0 var(--dock-size, 120px);
  min-width: 0;
  scroll-snap-align: none;
}
.home-showcase--dock .showcase-card { overflow: visible; touch-action: manipulation; }
:is(.home-showcase--dock, .image-style-collection) .showcase-dock-motion {
  display: block;
  transform: translate3d(var(--dock-shift, 0px), 0, 0);
}
.home-showcase--dock .showcase-card-media {
  border-radius: calc(16px * var(--dock-layout-scale));
}
:is(.home-showcase--dock, .image-style-collection) .showcase-card-media {
  transform: scale(var(--dock-scale, 1));
  transform-origin: center bottom;
}
.home-showcase--dock .showcase-card-caption {
  display: block;
  padding-top: calc(16px * var(--dock-layout-scale));
  text-align: center;
}
.home-showcase--dock .showcase-card-caption strong {
  display: block;
  font-family: "Hunmeme Style Names", "MaruBuri", serif;
  font-weight: 300;
  font-synthesis: none;
  font-size: calc(clamp(14px, 1.05vw, 18px) - 4pt);
  line-height: 1.5;
  letter-spacing: -.04em;
  white-space: nowrap;
}
:is(.home-showcase--dock, .image-style-collection) .showcase-card:focus-visible { outline: none; }
:is(.home-showcase--dock, .image-style-collection) .showcase-card:focus-visible .showcase-card-media {
  outline: 3px solid #0043ff;
  outline-offset: 5px;
}
@media (max-width: 767px) {
  .home-showcase--dock .showcase-gallery { transform: translateY(-40px); }
  .home-showcase--dock .showcase-gallery-heading { margin-bottom: 22px; }
  .home-showcase--dock .showcase-track {
    width: calc(100% * var(--dock-layout-scale));
    transform: translate(-50%, -30px);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
    gap: calc(24px * var(--dock-layout-scale)) calc(12px * var(--dock-layout-scale));
    padding: 12px 0 8px;
  }
  .home-showcase--dock .showcase-card-media { border-radius: calc(12px * var(--dock-layout-scale)); }
  .home-showcase--dock .showcase-card-caption { padding-top: calc(12px * var(--dock-layout-scale)); }
  .home-showcase--dock .showcase-card-caption strong { font-size: calc(14px - 4pt); }
}
@media (prefers-reduced-motion: reduce) {
  :is(.home-showcase--dock, .image-style-collection) .showcase-dock-motion,
  :is(.home-showcase--dock, .image-style-collection) .showcase-card-media { transform: none; }
  .showcase-card-media img, .showcase-placeholder-tile img, .showcase-arrow, .showcase-back-to-top, .showcase-card-cta { transition: none; }
}

/* The artwork stays fitted; only the circular lens magnifies its details. */
.artwork-viewer {
  --artwork-viewer-edge-height: calc(66px + max(env(safe-area-inset-top, 0px), env(safe-area-inset-bottom, 0px)));
  position: fixed; inset: 0; width: 100%; height: 100dvh; max-width: none; max-height: none;
  margin: 0; padding: 0; border: 0; border-radius: 0; overflow: hidden;
  background: rgba(12, 14, 16, .97); color: #f6f6f6;
  font-family: system-ui, -apple-system, "Noto Sans KR", sans-serif; text-align: left;
  overscroll-behavior: contain; -webkit-font-smoothing: antialiased;
}
.artwork-viewer[open] { display: grid; grid-template-rows: var(--artwork-viewer-edge-height) minmax(0, 1fr) var(--artwork-viewer-edge-height); }
.artwork-viewer::backdrop { background: rgba(0, 0, 0, .92); }
.artwork-viewer *, .artwork-viewer *::before, .artwork-viewer *::after { box-sizing: border-box; }
.artwork-viewer button { flex-shrink: 0; margin: 0; color: inherit; font: inherit; cursor: pointer; }
.artwork-viewer :focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.artwork-viewer-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: max(8px, env(safe-area-inset-top)) 24px 8px; }
.artwork-viewer-header p { margin: 0 0 4px; color: #aaaeb2; font-size: 12px; line-height: 1.4; }
.artwork-viewer-header h2 { margin: 0; color: inherit; font-family: inherit; font-size: 18px; font-weight: 500; line-height: 1.5; letter-spacing: -.02em; }
.artwork-viewer .artwork-viewer-icon {
  display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
  padding: 0; border: 1px solid #ffffff26; border-radius: 50%; background: #ffffff0a;
}
.artwork-viewer button:hover:enabled { background: #ffffff1f; }
.artwork-viewer button:disabled { opacity: .32; cursor: default; }
.artwork-viewer-stage { position: relative; min-width: 0; min-height: 0; margin: 0 24px; overflow: hidden; transform: translateY(-15px); touch-action: none; user-select: none; }
.artwork-viewer-stage.has-lens { cursor: none; }
.artwork-viewer-image { position: absolute; left: 50%; top: 50%; display: block; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; border-radius: 0; transform-origin: center; object-fit: contain; -webkit-user-drag: none; -webkit-touch-callout: none; user-select: none; }
.artwork-viewer-image[hidden] { display: none; }
.artwork-viewer-lens {
  position: absolute; z-index: 1; left: 0; top: 0; width: clamp(150px, 20vmin, 220px); aspect-ratio: 1;
  overflow: hidden; border: 2px solid #ffffffc9; border-radius: 50%; background: #0c0e10;
  box-shadow: 0 0 0 1px #0003, 0 8px 28px #0005; pointer-events: none; contain: paint;
}
.artwork-viewer-lens[hidden] { display: none; }
.artwork-viewer-lens img { position: absolute; left: 0; top: 0; display: block; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; -webkit-user-drag: none; }
.artwork-viewer-message { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; padding: 24px; color: #c9cbd0; font-size: 14px; text-align: center; pointer-events: none; }
.artwork-viewer-message:empty { display: none; }
.artwork-viewer-footer { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 12px; padding: 10px 24px max(12px, env(safe-area-inset-bottom)); }
.artwork-viewer-footer .artwork-viewer-icon { width: 36px; height: 36px; }
.artwork-viewer-pages { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; }
.artwork-viewer-page-status { min-width: 40px; color: #e4e5e7; font-size: 13px; font-variant-numeric: tabular-nums; text-align: center; }
/* A light surround separates dark artworks from the edge of the viewer. */
.artwork-viewer:is([data-artwork-theme="light"], [data-artwork-theme="white"]) { background: #f3f3f1; color: #202124; }
.artwork-viewer:is([data-artwork-theme="light"], [data-artwork-theme="white"])::backdrop { background: #f3f3f1; }
.artwork-viewer:is([data-artwork-theme="light"], [data-artwork-theme="white"]) :focus-visible { outline-color: #202124; }
.artwork-viewer:is([data-artwork-theme="light"], [data-artwork-theme="white"]) .artwork-viewer-header p,
.artwork-viewer:is([data-artwork-theme="light"], [data-artwork-theme="white"]) .artwork-viewer-message { color: #62666b; }
.artwork-viewer:is([data-artwork-theme="light"], [data-artwork-theme="white"]) .artwork-viewer-icon { border-color: #20212426; background: #ffffff80; }
.artwork-viewer:is([data-artwork-theme="light"], [data-artwork-theme="white"]) button:hover:enabled { background: #2021240d; }
.artwork-viewer:is([data-artwork-theme="light"], [data-artwork-theme="white"]) .artwork-viewer-page-status { color: #494d52; }
.artwork-viewer:is([data-artwork-theme="light"], [data-artwork-theme="white"]) .artwork-viewer-lens { border-color: #a7aaad; background: #f3f3f1; }
.artwork-viewer[data-artwork-theme="white"],
.artwork-viewer[data-artwork-theme="white"]::backdrop,
.artwork-viewer[data-artwork-theme="white"] .artwork-viewer-lens { background: #fff; }
@media (max-width: 767px) {
  .artwork-viewer { --artwork-viewer-edge-height: calc(58px + max(env(safe-area-inset-top, 0px), env(safe-area-inset-bottom, 0px))); }
  .artwork-viewer-header { padding: max(6px, env(safe-area-inset-top)) 16px 6px; }
  .artwork-viewer-header h2 { font-size: 16px; }
  .artwork-viewer-stage { margin-inline: 12px; }
  .artwork-viewer-footer { padding: 8px 8px max(10px, env(safe-area-inset-bottom)); gap: 6px; }
  .artwork-viewer-footer .artwork-viewer-icon { width: 32px; height: 32px; }
  .artwork-viewer-pages { gap: 4px; }
  .artwork-viewer-page-status { min-width: 32px; font-size: 12px; }
}
@media (max-height: 480px) and (min-width: 600px) {
  .artwork-viewer { --artwork-viewer-edge-height: calc(58px + max(env(safe-area-inset-top, 0px), env(safe-area-inset-bottom, 0px))); }
  .artwork-viewer-header { padding-block: 8px; }
  .artwork-viewer-footer { padding-block: 8px; gap: 4px; }
  .artwork-viewer-header p { display: none; }
}
