/* Closing composition, based on Desktop - 64 (5120 × 3328.63). */
.exhibit-footer{position:relative;padding-top:clamp(180px,22vh,300px);background:#fff;color:#111;scroll-snap-align:start;font-family:var(--f-ko,Arial,sans-serif)}
.exhibit-footer *{box-sizing:border-box}
.closing{--c:calc(100vw / 1440);position:relative;width:100%;height:calc(935.516 * var(--c));overflow:hidden;background:#fff}
.closing__pink,.closing__lime{position:absolute;display:flex;align-items:center;justify-content:center;overflow:visible;pointer-events:none}
.closing__pink{left:0;top:0;width:calc(848.096 * var(--c));height:calc(743.771 * var(--c))}
.closing__lime{left:calc(305.623 * var(--c));top:calc(416.954 * var(--c));width:calc(1133.358 * var(--c));height:calc(518.562 * var(--c))}
.closing__pink img{width:calc(743.771 * var(--c));height:calc(848.096 * var(--c));max-width:none;flex:none;transform:rotate(90deg) scaleY(-1)}
.closing__lime img{width:calc(518.562 * var(--c));height:calc(1133.36 * var(--c));max-width:none;flex:none;transform:rotate(90deg) scaleY(-1)}
.closing__dots{position:absolute;left:calc(306 * var(--c));top:calc(59 * var(--c));width:calc(1111.159 * var(--c));height:calc(94.912 * var(--c));pointer-events:none}
.closing__title{position:absolute;left:0;top:calc(27.844 * var(--c));margin:0;font:400 calc(64.688 * var(--c))/calc(97.031 * var(--c)) Poppins,Arial,sans-serif;letter-spacing:calc(-1.294 * var(--c));white-space:nowrap}
.closing__title span,.closing__slogan span{background:#111;color:#fff}
.closing__title span{display:block;width:calc(489.971 * var(--c));padding:0 calc(12 * var(--c))}
.closing__copy{position:absolute;left:calc(34.594 * var(--c));top:calc(187.313 * var(--c));font:600 calc(20 * var(--c))/1.5 var(--f-ko);letter-spacing:-.02em;color:#fff}
.closing__copy p{margin:0 0 calc(18 * var(--c))}
.closing__slogan{position:absolute;right:0;top:calc(370.969 * var(--c));display:flex;align-items:flex-end;flex-direction:column;font:400 calc(49.219 * var(--c))/calc(70.031 * var(--c)) var(--f-ko);letter-spacing:calc(-.984 * var(--c));white-space:nowrap}
.closing__slogan span{height:calc(70.031 * var(--c));padding:0 calc(17.72 * var(--c));text-align:right}
.closing__slogan span:first-child{width:calc(635.906 * var(--c))}
.closing__slogan span+span{width:calc(340.779 * var(--c));margin-top:calc(-8.198 * var(--c))}

/* Gradually reveal the original shapes before the copy appears. */
.closing.motion-ready :is(.closing__pink,.closing__lime,.closing__dots,.closing__title,.closing__copy,.closing__slogan){opacity:0}
.closing.motion-ready.is-visible .closing__pink{animation:closing-block 1.05s cubic-bezier(.22,.8,.28,1) .08s both}
.closing.motion-ready.is-visible .closing__lime{animation:closing-block 1.05s cubic-bezier(.22,.8,.28,1) .35s both}
.closing.motion-ready.is-visible .closing__title{animation:closing-text .5s ease-out .35s both}
.closing.motion-ready.is-visible .closing__dots{animation:closing-text .55s ease-out .48s both}
.closing.motion-ready.is-visible .closing__copy{animation:closing-text .6s ease-out .58s both}
.closing.motion-ready.is-visible .closing__slogan{animation:closing-text .6s ease-out .92s both}
@keyframes closing-block{0%{opacity:0;clip-path:inset(0 100% 0 0)}15%{opacity:1}100%{opacity:1;clip-path:inset(0)}}
@keyframes closing-text{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.closing.motion-ready :is(.closing__pink,.closing__lime,.closing__dots,.closing__title,.closing__copy,.closing__slogan){opacity:1;animation:none;translate:none;clip-path:none}}

/* Footer group: 1440 × 246, with its contents kept together. */
.exhibit-footer__bottom{position:relative;display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:clamp(24px,2.22vw,48px);min-height:clamp(220px,17.083vw,420px);padding:clamp(48px,4.72vw,104px) 1.40625% clamp(32px,3.125vw,68px) 1.4453125%;font:400 clamp(13px,1.0417vw,24px)/1.4 var(--f-ko);background:#fff}
.exhibit-footer__bottom::before{content:"";position:absolute;top:0;left:1.4453125%;right:1.40625%;border-top:1px solid #999}
.exhibit-footer__bottom p,.exhibit-footer__bottom address,.exhibit-footer__bottom dl,.exhibit-footer__bottom dd{margin:0;font-style:normal}
.exhibit-footer__logo{display:inline-block;color:#111;text-decoration:none;font:600 clamp(28px,2.279vw,55px)/1 var(--f-wide);letter-spacing:-.06em}
.exhibit-footer__address{margin-top:clamp(12px,.972vw,22px)!important}
.exhibit-footer__copyright{margin-top:clamp(12px,.972vw,22px)!important}
.exhibit-footer__contact{min-width:0;padding-top:clamp(16px,1.6vw,34px)}
.exhibit-footer__social{display:flex;gap:clamp(12px,1.18vw,26px);align-items:center;margin-bottom:clamp(12px,1.04vw,22px)}
.exhibit-footer__social a{display:inline-flex;align-items:center;justify-content:center;flex:none}
.exhibit-footer__social img{display:block;width:clamp(24px,1.82vw,40px);height:auto}
.exhibit-footer__social a:focus-visible,.exhibit-footer__contact a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.exhibit-footer__contact dl>div{display:grid;grid-template-columns:clamp(72px,6.11vw,128px) minmax(0,1fr)}
.exhibit-footer__contact a{color:inherit;text-decoration:none}
.exhibit-footer__contact a:hover{text-decoration:underline}
.exhibit-footer__address,.exhibit-footer__contact dd{overflow-wrap:anywhere}
@media(max-width: 767px), (max-width: 1024px) and (orientation: portrait){
 .exhibit-footer{padding-top:64px}
 .closing{--c:calc(100vw / 650);height:calc(1010 * var(--c))}
 .closing__pink{width:calc(540 * var(--c));height:calc(474 * var(--c))}
 .closing__pink img{width:calc(474 * var(--c));height:calc(540 * var(--c))}
 .closing__dots{left:calc(190 * var(--c));top:calc(45 * var(--c));width:calc(460 * var(--c));height:auto}
 .closing__title{top:calc(24 * var(--c));font-size:calc(51 * var(--c))}
 .closing__copy{left:calc(28 * var(--c));top:calc(125 * var(--c));font-size:calc(19 * var(--c));line-height:1.6}
 .closing__copy p{margin-bottom:calc(17 * var(--c))}
 .closing__lime{left:calc(50 * var(--c));top:calc(520 * var(--c));width:calc(600 * var(--c));height:calc(275 * var(--c))}
 .closing__lime img{width:calc(275 * var(--c));height:calc(600 * var(--c))}
 .closing__slogan{top:calc(592 * var(--c));font-size:calc(28 * var(--c))}
 .exhibit-footer__bottom{grid-template-columns:1fr;min-height:0;padding:32px 20px 36px;gap:26px;font-size:12px;line-height:1.5}
 .exhibit-footer__logo{font-size:27px}
 .exhibit-footer__address,.exhibit-footer__copyright{margin-top:12px!important}
 .exhibit-footer__contact{padding-top:0}
 .exhibit-footer__social{gap:17px;margin-bottom:12px}
 .exhibit-footer__contact dl>div{grid-template-columns:74px 1fr}
}

/* Mobile footer: open spacing and a bottom-aligned social row. */
@media(max-width: 767px), (max-width: 1024px) and (orientation: portrait){
 .mobile-site .closing{display:none}
 .mobile-site .exhibit-footer{padding-top:0}
 .mobile-site .exhibit-footer__bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;margin:0 20px;padding:30px 0 34px;min-height:0;font-size:12px;line-height:1.5}
 .mobile-site .exhibit-footer__bottom::before{left:0;right:0;border-color:#111}
 .mobile-site .exhibit-footer__identity,.mobile-site .exhibit-footer__contact{display:contents}
 .mobile-site .exhibit-footer__logo{grid-column:1/-1;grid-row:1;justify-self:start;align-self:start}
 .mobile-site .exhibit-footer__address{grid-column:1/-1;grid-row:2;margin:18px 0 0!important}
 .mobile-site .exhibit-footer__contact dl{grid-column:1;grid-row:3;min-width:0;margin-top:36px;align-self:end}
 .mobile-site .exhibit-footer__contact dl>div{grid-template-columns:58px minmax(0,1fr)}
 .mobile-site .exhibit-footer__social{grid-column:2;grid-row:3;justify-content:flex-end;align-self:end;gap:2px;margin:0 -9px -10px 0}
 .mobile-site .exhibit-footer__social a{width:42px;height:44px}
 .mobile-site .exhibit-footer__social img{width:26px}
 .mobile-site .exhibit-footer__copyright{grid-column:1/-1;grid-row:4;margin:24px 0 0!important;font-size:10px}
}
@media(max-width:380px){
 .mobile-site .exhibit-footer__contact dl{grid-column:1/-1;grid-row:3}
 .mobile-site .exhibit-footer__social{grid-column:1/-1;grid-row:4;justify-self:end;margin-top:10px}
 .mobile-site .exhibit-footer__copyright{grid-row:5}
}

/* Keep the mobile footer focused on contact and social links. */
@media (max-width: 767px), (max-width: 1024px) and (orientation: portrait){
 .mobile-site .exhibit-footer__address,.mobile-site .exhibit-footer__copyright{display:none}
 .mobile-site .exhibit-footer__contact dl,.mobile-site .exhibit-footer__social{grid-row:2}
}
@media(max-width:380px){
 .mobile-site .exhibit-footer__social{grid-row:3}
}

/* The end-of-page button has its own space below the footer links. */
.exhibit-footer__bottom{padding-bottom:max(clamp(32px,3.125vw,68px),90px)}
.back-to-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:90;width:52px;height:52px;border:0;border-radius:50%;background:#111;color:#fff;font:600 11px/1 Arial,sans-serif;letter-spacing:.03em;display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px) scale(.92);transition:opacity .65s ease,transform .65s cubic-bezier(.22,1,.36,1),visibility 0s linear .65s}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);transition-delay:0s}
.back-to-top:focus-visible{outline:3px solid #4A8BDE;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.back-to-top{transition:none;transform:none}}

/* The footer sits a half-gap below the closing composition. */
@media (min-width: 1025px) and (orientation: portrait), (min-width: 768px) and (orientation: landscape){
 .exhibit-footer__bottom{margin-top:clamp(90px,11vh,150px)}
}

/* Up arrow and footer-aligned placement. */
.back-to-top{width:64px;height:64px}
.back-to-top span{display:block;width:16px;height:16px;border-top:2px solid currentColor;border-left:2px solid currentColor;transform:translateY(4px) rotate(45deg)}
@media (min-width: 1025px) and (orientation: portrait), (min-width: 768px) and (orientation: landscape){
 .back-to-top{position:absolute;top:clamp(48px,4.72vw,104px);right:1.40625%;bottom:auto}
 .exhibit-footer__social{margin-bottom:max(clamp(12px,1.04vw,22px),calc(72px - clamp(16px,1.6vw,34px) - clamp(24px,1.82vw,40px)))}
}
@media (max-width: 767px), (max-width: 1024px) and (orientation: portrait){
 .back-to-top{width:56px;height:56px}
}

/* 마지막 슬로건과 푸터는 한 흐름으로 스크롤한다. */
html.footer-flow{scroll-snap-type:none}
.exhibit-footer{scroll-snap-align:none;scroll-snap-stop:normal}
