/* Approved mobile storefront: individual treatments for the twelve real products. */
/* Keep a poster's illustration and lettering together while its image decodes. */
html.gyeol-art-managed :is(.home-card-art,.catalog-cover,.discovery-slide,.service-intro-hero):has(.poster-copy) img,
html.gyeol-art-managed :is(.home-card-art,.catalog-cover,.discovery-slide,.service-intro-hero) .poster-copy,
html.gyeol-art-managed .discovery-slide .banner-meta{transition:opacity .18s ease-out}
html.gyeol-art-managed :is(.home-card-art,.catalog-cover,.discovery-slide,.service-intro-hero):not([data-art-state]) .poster-copy,
html.gyeol-art-managed .discovery-slide:not([data-art-state]) .banner-meta{opacity:0}
html.gyeol-art-managed :is(.home-card-art,.catalog-cover,.service-intro-hero):not([data-art-state]):has(.poster-copy)>img,
html.gyeol-art-managed .discovery-slide:not([data-art-state]):has(.poster-copy) .banner-illustration img{opacity:0}
html.gyeol-art-managed :is(.home-card-art,.catalog-cover,.service-intro-hero)[data-art-state="error"]>img,
html.gyeol-art-managed .discovery-slide[data-art-state="error"] .banner-illustration img{opacity:0}
html.gyeol-art-managed :is(.home-card-art,.catalog-cover,.discovery-slide):not([data-art-state]):has(.poster-copy)::before,
html.gyeol-art-managed .service-intro-hero:not([data-art-state]):has(.poster-copy)::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,#e3e8df,#f0f2ec 52%,#e2e8df);animation:art-wait 1.6s ease-in-out infinite alternate}
html.gyeol-art-managed .service-intro-hero:not([data-art-state]):has(.poster-copy)::before{bottom:auto;aspect-ratio:4/5}
html.gyeol-art-managed :is(.home-card-art,.catalog-cover,.discovery-slide,.service-intro-hero)[data-art-state="error"]:has(.poster-copy)::before{content:"이미지를 불러오지 못했어요";position:absolute;inset:0;z-index:1;display:flex;justify-content:center;align-items:flex-start;padding:18px 8px;color:#56665d;background:#e7ebe4;font:12px/1.5 var(--sans);pointer-events:none}
html.gyeol-art-managed .service-intro-hero[data-art-state="error"]:has(.poster-copy)::before{bottom:auto;aspect-ratio:4/5}
@keyframes art-wait{from{opacity:.68}to{opacity:1}}
html.gyeol-catalog-pending #shop-app,html.gyeol-home-pending #app{display:none}
#catalog-loading,#home-loading{display:none}
html.gyeol-catalog-pending #catalog-loading,html.gyeol-home-pending #home-loading{display:block;position:relative;padding:32px 22px;color:#59665d;min-height:160px}
/* Song Myung OFL source/license: design/service-wordmarks/fonts/. */
@font-face{font-family:GyeolPosterTrial;src:url('assets/fonts/GyeolPosterTrial.woff2?v=20261027-complete1') format('woff2');font-weight:400 900;font-display:swap}
body.gyeol-app-shell #app:empty{min-height:100dvh}
body.gyeol-app-shell header.site-header,body.gyeol-app-shell .workspace>header.site-header{min-height:60px;padding-top:8px;padding-bottom:8px;grid-template-rows:44px}
body.gyeol-app-shell #app .home-discovery [data-home-category]{min-height:44px;padding:10px 8px}
body.gyeol-app-shell #app .home-discovery .directory-tabs{padding-inline:20px;min-height:44px}
body.gyeol-app-shell #app .home-discovery section.directory-feature{margin:24px 8px 12px;padding:0;border:0}
body.gyeol-app-shell #app .home-discovery .recommend-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:-1px}
body.gyeol-app-shell #app #home-service-carousel .discovery-slide{height:auto;aspect-ratio:4/5;container-type:inline-size;border-radius:12px}
body.gyeol-app-shell #app #home-service-carousel .banner-illustration::after{display:none}
body.gyeol-app-shell #app #home-service-carousel .banner-illustration img{object-position:38% center}
body.gyeol-app-shell #app #home-service-carousel .discovery-controls{min-height:44px}
body.gyeol-app-shell #app #home-service-carousel .discovery-dots{flex:0 1 auto}
body.gyeol-app-shell #app .brand-story{margin:0 20px 18px;padding:0;min-height:0;border:0;border-radius:0;background:none;text-align:center}
body.gyeol-app-shell #app .brand-story::before{display:none}
body.gyeol-app-shell #app .brand-story p{font:12px/1.5 var(--sans);color:#59665d;margin:0}
body.gyeol-app-shell #app .home-shelf-heading h2{font:700 20px/1.4 var(--sans);letter-spacing:-.035em}
body.gyeol-app-shell #app .home-shelf-heading p{font-size:12px}
body.gyeol-app-shell .home-shelf{margin-bottom:32px}
body.gyeol-app-shell :is(.home-card-art,.catalog-cover):has(.poster-copy){container-type:inline-size}
body.gyeol-app-shell :is(.home-card-art,.catalog-cover):has(.poster-copy)::after{display:none!important}
body.gyeol-app-shell .product-art-copy.poster-copy{position:absolute;z-index:2;pointer-events:none;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:10px 8px 12px;text-align:center;background:linear-gradient(180deg,transparent 32%,#fbf6eb08 46%,#fbf6ebc4 73%,#fbf6ebf2 100%);color:#254639}
body.gyeol-app-shell #app .home-discovery .poster-copy h3,body.gyeol-app-shell .poster-copy h1,body.gyeol-app-shell .poster-copy h2,body.gyeol-app-shell .poster-copy h3{font:400 20px/1.12 GyeolPosterTrial,var(--design-prose);color:inherit;margin:0;text-align:center;letter-spacing:-.055em;word-break:keep-all;text-shadow:0 1px 1px #fff9ef80}
.poster-copy .poster-lead{display:block;font-size:12cqw;line-height:1.1;margin-bottom:5px}
.poster-copy strong{display:block;font:inherit;font-size:18cqw;line-height:1.08;font-weight:400;letter-spacing:-.07em;white-space:nowrap}
body.gyeol-app-shell .poster-copy .product-art-subtitle{margin-top:9px;font:500 11px/1.5 var(--sans);color:inherit;text-align:center;letter-spacing:-.04em;text-shadow:0 1px 1px #fff8}
body.gyeol-app-shell .poster-copy.poster-inner-heart{align-items:flex-end;background:linear-gradient(180deg,transparent 35%,#13282705 48%,#13282799 77%,#132827eb 100%);color:#fff7e5}
body.gyeol-app-shell .poster-inner-heart strong{font-size:24cqw;letter-spacing:-.05em}
body.gyeol-app-shell .poster-inner-heart .poster-lead{font-size:12cqw}
body.gyeol-app-shell .poster-copy.poster-inner-heart :is(h2,h3,.product-art-subtitle){text-shadow:0 2px 5px #102820}
body.gyeol-app-shell .poster-copy.poster-love-signal{color:#75464a}
body.gyeol-app-shell .poster-love-signal strong{font-size:16.5cqw}
body.gyeol-app-shell .poster-love-signal .poster-lead{font-size:13cqw}
body.gyeol-app-shell .poster-copy.poster-saju-2027{color:#284c3d}
body.gyeol-app-shell .poster-saju-2027 .poster-lead{font-size:21cqw;letter-spacing:-.06em}
body.gyeol-app-shell .poster-saju-2027 strong{font-size:19cqw}
body.gyeol-app-shell #home-service-carousel .poster-copy{padding:24px 20px 62px}
body.gyeol-app-shell #home-service-carousel .poster-copy .poster-lead{font-size:11cqw;margin-bottom:8px}
body.gyeol-app-shell #home-service-carousel .poster-copy strong{font-size:17cqw}
body.gyeol-app-shell #home-service-carousel .poster-copy .product-art-subtitle{font-size:12px;margin-top:16px}
body.gyeol-app-shell #home-service-carousel .poster-inner-heart strong{font-size:20cqw}
body.gyeol-app-shell #home-service-carousel .poster-love-signal strong{font-size:14cqw}
.banner-meta{position:absolute;z-index:3;inset:auto 12px 16px;display:flex;align-items:center;justify-content:center;gap:12px;color:#294b3d;font:500 11px/1.5 var(--sans)}
body.gyeol-app-shell #home-service-carousel .banner-meta .commerce-price{font:inherit;color:inherit}
body.gyeol-app-shell #home-service-carousel .banner-meta .commerce-price strong{font-size:12px;color:inherit}
body.gyeol-app-shell #app #home-service-carousel .banner-meta .banner-offer,body.gyeol-app-shell #app #home-service-carousel .banner-meta .commerce-price strong{color:inherit!important;text-shadow:none!important}
.discovery-slide[data-product="inner-heart"] .banner-meta{color:#fff7e5}
.home-topic-links{border-top:1px solid var(--design-line);padding:20px;margin-bottom:16px}
.home-topic-links h2{font:700 18px/1.5 var(--sans);margin:0 0 12px}.home-topic-links nav{display:flex;flex-wrap:wrap;gap:8px 16px}.home-topic-links a{display:inline-flex;align-items:center;min-height:44px;color:#355442;text-underline-offset:5px;font:13px/1.6 var(--sans)}

/* Each treatment uses the illustration's empty space; no opaque panels. */
body.gyeol-app-shell .poster-copy.poster-love-signal{color:#573038;background:linear-gradient(180deg,transparent 38%,#fff7ef15 48%,#fff7efd9 85%,#fff7eff2);text-shadow:0 1px 2px #fff}
body.gyeol-app-shell .poster-love-signal strong{-webkit-text-stroke:.2px currentColor}
body.gyeol-app-shell .poster-saju-2027 .poster-lead{font-size:18cqw;line-height:.94;margin-bottom:0;letter-spacing:-.08em}
body.gyeol-app-shell #home-service-carousel .poster-saju-2027 .poster-lead{font-size:15cqw;line-height:.94;margin-bottom:0}
body.gyeol-app-shell .poster-copy.poster-inner-heart{padding-bottom:9px;align-items:flex-end}
body.gyeol-app-shell .poster-inner-heart :is(h1,h2,h3){text-align:right!important}
body.gyeol-app-shell .poster-inner-heart .poster-lead{font-size:10cqw}
body.gyeol-app-shell .poster-copy.poster-flirt-to-love{background:linear-gradient(180deg,transparent 46%,#f9f4e72b 58%,#f9f4e7ed 100%);color:#3d4e3c;padding-bottom:10px}
body.gyeol-app-shell .poster-flirt-to-love strong{font-size:15cqw}
body.gyeol-app-shell .poster-flirt-to-love .poster-lead{font-size:14cqw}
body.gyeol-app-shell .poster-copy.poster-first-message{align-items:flex-end;background:linear-gradient(180deg,transparent 42%,#332c2408 52%,#332c24df 100%);color:#fff5df}
body.gyeol-app-shell .poster-first-message :is(h1,h2,h3){text-align:right!important;text-shadow:0 2px 4px #261d15!important}
body.gyeol-app-shell .poster-first-message strong{font-size:17cqw}
body.gyeol-app-shell .poster-copy.poster-wait-or-release{justify-content:flex-end;align-items:flex-end;padding-bottom:13px;background:linear-gradient(180deg,transparent 42%,#1c2937df 100%);color:#fff3dc}
body.gyeol-app-shell .poster-wait-or-release :is(h1,h2,h3){text-align:right!important;text-shadow:0 2px 4px #202630!important}
body.gyeol-app-shell .poster-wait-or-release strong{font-size:22cqw}
body.gyeol-app-shell .poster-wait-or-release .product-art-subtitle{max-width:75%;text-align:right}
body.gyeol-app-shell .poster-copy.poster-love-three-months{color:#fff5dd;background:linear-gradient(180deg,transparent 50%,#273b2b15 60%,#273b2be8 100%)}
body.gyeol-app-shell .poster-love-three-months strong{font-size:19cqw}
body.gyeol-app-shell .poster-love-three-months .poster-lead{font-size:12cqw}
body.gyeol-app-shell .poster-copy.poster-new-connection{color:#345044;background:linear-gradient(180deg,transparent 50%,#fbf6e944 66%,#fbf6e9f5 100%)}
body.gyeol-app-shell .poster-new-connection strong{font-size:21cqw}
body.gyeol-app-shell .poster-new-connection .poster-lead{font-size:10cqw}
body.gyeol-app-shell .poster-copy.poster-career-move{align-items:flex-end;color:#fff5dc;background:linear-gradient(180deg,transparent 42%,#24382b11 55%,#24382be8 100%)}
body.gyeol-app-shell .poster-career-move :is(h1,h2,h3){text-align:right!important;text-shadow:0 2px 4px #24382b!important}
body.gyeol-app-shell .poster-career-move strong{font-size:17cqw}
body.gyeol-app-shell .poster-career-move .poster-lead{font-size:13cqw}
body.gyeol-app-shell .poster-copy.poster-saju-detail{justify-content:flex-end;align-items:flex-end;color:#fff8e7;background:linear-gradient(180deg,transparent 42%,#273b3115 56%,#273b31ee 100%)}
body.gyeol-app-shell .poster-saju-detail :is(h1,h2,h3){text-align:right!important;text-shadow:0 2px 4px #273b31!important}
body.gyeol-app-shell .poster-saju-detail strong{font-size:21cqw}
body.gyeol-app-shell .poster-saju-detail .poster-lead{font-size:14cqw}
body.gyeol-app-shell .poster-copy.poster-saju-2025{align-items:flex-end;color:#fff4dc;background:linear-gradient(180deg,transparent 46%,#513a2408 55%,#513a24e8 100%)}
body.gyeol-app-shell .poster-saju-2025 :is(h1,h2,h3){text-align:right!important;text-shadow:0 2px 4px #513a24!important}
body.gyeol-app-shell .poster-saju-2025 strong{font-size:17cqw}
body.gyeol-app-shell .poster-saju-2025 .poster-lead{font-size:23cqw;line-height:1}
body.gyeol-app-shell .poster-copy.poster-saju-2026{color:#344b38;background:linear-gradient(180deg,transparent 44%,#faf3e311 53%,#faf3e3f2 100%)}
body.gyeol-app-shell .poster-saju-2026 strong{font-size:20cqw}
body.gyeol-app-shell .poster-saju-2026 .poster-lead{font-size:24cqw;line-height:1}
body.gyeol-app-shell #app #home-service-carousel .discovery-controls{justify-content:center;gap:0;padding:0;min-height:44px}
body.gyeol-app-shell #app #home-service-carousel .discovery-dots{gap:0}
body.gyeol-app-shell #app #home-service-carousel .discovery-dots button{flex-basis:44px}
body.gyeol-app-shell #app .brand-story{height:auto;margin:0 16px;overflow:visible}
body.gyeol-app-shell #app .brand-story .home-price-note{border:0;padding:0;margin:2px 0 0}
body.gyeol-app-shell #app .home-quick-links{margin-top:8px;margin-bottom:28px}

/* Keep category tabs stationary on hover and press. */
body #app .directory-tabs button:hover,body #app .directory-tabs button:active,body #catalog-methods button:hover,body #catalog-methods button:active{transform:none}

/* Fixed widths keep category positions steady while web fonts load. */
body.gyeol-app-shell #app .home-discovery .directory-tabs button{flex:0 0 40px;width:40px;min-width:40px;box-sizing:border-box;text-align:center;white-space:nowrap}

/* Keep hover and press padding equal to the resting category tabs. */
body.gyeol-app-shell #app .home-discovery .directory-tabs button:hover:not(:disabled),body.gyeol-app-shell #app .home-discovery .directory-tabs button:active{padding:10px 8px;min-height:44px}

/* Generated covers contain the approved lettering. Keep existing semantic headings accessible. */
body .home-card-art:has(img[src*="remaster-v1/"]) .poster-copy,
body .catalog-cover:has(img[src*="remaster-v1/"]) .poster-copy,
body .service-intro-hero:has(img[src*="remaster-v1/"]) .poster-copy,
body .discovery-slide:has(img[src*="remaster-v1/"]) .poster-copy{opacity:0!important;pointer-events:none!important}
body .home-card-art:has(img[src*="remaster-v1/"]) .home-cover-wordmark{display:none!important}
body .service-intro-hero:has(img[src*="remaster-v1/"]) .product-art-subtitle{display:none!important}
body .home-card-art:has(img[src*="remaster-v1/"])::after,
body .catalog-cover:has(img[src*="remaster-v1/"])::after{display:none!important}
body.gyeol-mobile-ui #reading-app .service-intro-hero:has(img[src*="remaster-v1/"]){aspect-ratio:auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
body.gyeol-mobile-ui .service-intro-hero img.lead-art[src*="remaster-v1/"]{position:relative!important;inset:auto!important;display:block;width:100%!important;height:auto!important;aspect-ratio:4/5!important;max-height:none!important;object-fit:contain!important;object-position:center!important;border-radius:15px}
body .home-card-art>img[src*="remaster-v1/"],body .catalog-cover img[src*="remaster-v1/"]{object-fit:cover!important;object-position:center!important}
body #home-service-carousel .discovery-slide:has(img[src*="remaster-v1/"]){background:#142921}
body #home-service-carousel .discovery-slide img[src*="remaster-v1/"]{object-fit:contain!important;object-position:center!important}
body.gyeol-app-shell #app #home-service-carousel .discovery-slide:has(img[src*="remaster-v1/"]){aspect-ratio:auto!important;height:auto!important;display:flex;flex-direction:column}
body #home-service-carousel .discovery-slide:has(img[src*="remaster-v1/"]) .banner-illustration{position:relative!important;inset:auto!important;display:block;width:100%;height:auto!important;aspect-ratio:4/5}
body #home-service-carousel .discovery-slide:has(img[src*="remaster-v1/"]) .banner-meta{position:static!important;display:flex;align-items:center;justify-content:center;min-height:0;margin:0;padding:0 8px;background:#fbf7ee;color:#294b3d;text-shadow:none}
@media(min-width:641px){body.gyeol-mobile-ui .service-intro-hero img.lead-art[src*="remaster-v1/"]{max-width:min(100%,calc((100svh - 240px)*.8));margin-inline:auto}}
/* Match the existing desktop shell's html zoom:1.25 when fitting portrait art above the action bar. */
@media(min-width:641px) and (hover:hover) and (pointer:fine){body.gyeol-mobile-ui .service-intro-hero img.lead-art[src*="remaster-v1/"]{max-width:min(100%,calc((100svh - 240px)*.64))}}


/* Restore the original title design; omit the small subtitle and lower the title slightly. */
body .poster-copy .product-art-subtitle{visibility:hidden!important}
body .poster-copy :is(h1,h2,h3){transform:translateY(2.5cqw)}

/* Keep the three carousel titles and their supporting wash in the lower part of each poster. */
body.gyeol-app-shell #home-service-carousel .poster-copy{padding:20px 20px 4cqw}
body.gyeol-app-shell #home-service-carousel .poster-copy .product-art-subtitle{display:none!important}
body.gyeol-app-shell #home-service-carousel .poster-copy :is(h1,h2,h3){transform:none}
body.gyeol-app-shell #home-service-carousel .poster-copy.poster-saju-2027{background:linear-gradient(180deg,transparent 62%,#fbf6eb10 68%,#fbf6ebcf 88%,#fbf6ebf2 100%)}
body.gyeol-app-shell #home-service-carousel .poster-copy.poster-inner-heart{background:linear-gradient(180deg,transparent 62%,#13282710 68%,#132827b8 88%,#132827eb 100%)}
body.gyeol-app-shell #home-service-carousel .poster-copy.poster-love-signal{background:linear-gradient(180deg,transparent 62%,#fff7ef10 68%,#fff7efcf 88%,#fff7eff2 100%)}
