@font-face{font-family:Chosun;src:url('../assets/fonts/ChosunilboMyungjo.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Museum;src:url('../assets/fonts/MuseumClassicB.woff') format('woff');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Simplehae;src:url('../assets/fonts/Cafe24Simplehae.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
:root{--header:#4e584d;--header-gold:#e0b883;--gold:#e3b97f;--cream:#f5dbbb;--banner-copy:#f2e8dc;--review-banner:#8e987f;--review-body:#7f876f;--booking-banner:#576e57;--booking-body:#3e513d;--toon:#31442e;--ink:#40392c;--star:#c59152;--button-copy:#ead4b4;--white:#fff;--disclaimer:#72846c;--serif:Chosun,serif;--classic:Museum,serif;--english-title-size:96px;--section-description-size:clamp(11px,1.1111vw,16px);--section-description-line-height:1.3333}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--header);color:var(--ink);font-family:var(--serif)}
img{display:block;max-width:100%}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
button{font:inherit}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.site-main,.site-header,.site-footer{width:100%;max-width:1440px;margin:0 auto}
#site-header.site-header{position:relative;top:auto;z-index:2;height:95px;padding:0;border:0;border-bottom:15px solid var(--header-gold);background:var(--header)}
.site-nav-wrap{height:80px;padding:0 30px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.site-brand{display:block;flex:0 0 55px}
.site-brand img{width:55px;height:auto}
.site-navigation{display:flex;gap:6px;align-items:center}
.image-button{display:flex;position:relative;align-items:center;justify-content:center;flex-shrink:0;isolation:isolate;border:0;border-radius:0;background:transparent url('../assets/actual/button_green.png') center/contain no-repeat;padding:0;text-decoration:none;text-align:center;color:var(--button-copy);font-family:var(--classic);font-weight:400;cursor:pointer}
.image-button span{position:relative;z-index:1}
.image-button:disabled{opacity:1;cursor:default}
.beige-button{width:96px;height:48px;border:1px solid rgba(227,185,127,.75);border-radius:1px;background-color:transparent;background-image:none;box-shadow:none;color:var(--gold);font-size:9.9px;font-family:var(--serif);transition:color 150ms ease,border-color 150ms ease,background-color 150ms ease}
.beige-button:hover{border-color:var(--cream);background-color:rgba(227,185,127,.06);color:var(--cream);box-shadow:none;transform:none}
.beige-button[aria-current="page"]{border-color:var(--cream);background-color:rgba(227,185,127,.08);color:var(--cream);box-shadow:none}
.hero{position:relative;width:100%;aspect-ratio:1440/570;container-type:inline-size}
.banner-art{width:100%;height:auto}
.hero-copy{position:absolute;inset:0 0 0 55%;text-align:center;color:var(--white)}
.hero-candle-effects{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.hero-candle-ambient{position:absolute;left:7.85%;top:91.8%;width:clamp(110px,19cqw,274px);height:clamp(68px,10.5cqw,152px);border-radius:50%;background:radial-gradient(ellipse at 46% 58%,rgba(255,226,166,.24) 0,rgba(246,177,82,.1) 43%,rgba(221,128,42,.025) 66%,transparent 78%);filter:blur(6px);mix-blend-mode:screen;transform:translate(-45%,-75%) scale(.97);transform-origin:46% 58%;opacity:.44;will-change:opacity,transform;animation:hero-candle-ambient 10s ease-in-out infinite}
@keyframes hero-candle-ambient{0%,100%{transform:translate(-45%,-75%) scale(.97);opacity:.38}50%{transform:translate(-45%,-75%) scale(1.025);opacity:.6}}
.hero-copy{z-index:2}
@media(prefers-reduced-motion:reduce){.hero-candle-ambient{animation:none;opacity:.42;will-change:auto}}
.hero-copy h1,.hero-copy p{margin:0}
.hero-phrase{position:absolute;top:13.7%;width:100%;font-size:.9257cqw;letter-spacing:.2em;line-height:1.2;white-space:nowrap}
.hero-copy h1{position:absolute;top:12.5%;left:50%;width:24.3056cqw;transform:translateX(-50%)}
.hero-logo{width:100%;height:auto}
.hero-introduction{position:absolute;top:48.6%;width:100%;font-size:1.2965cqw;line-height:1.6667cqw;letter-spacing:.05em}
.hero-introduction p+p{margin-top:2.5cqw}
.section-banner{position:relative;aspect-ratio:1440/400;container-type:inline-size}
.gold-divider{height:15px;background:var(--gold)}
.review-banner{background:var(--review-banner)}
.booking-banner{background:var(--booking-banner)}
.banner-copy{position:absolute;left:19.5%;width:45%;top:27%;text-align:center}
.display-title{font:400 var(--english-title-size)/1.15 var(--serif);letter-spacing:-.05em;color:var(--cream);margin:0}
.banner-copy .display-title{font-size:var(--english-title-size)}
.banner-copy p{font:400 var(--section-description-size)/var(--section-description-line-height) var(--serif);color:var(--banner-copy);margin:1.5278cqw 0 0}
.booking-banner .banner-copy{top:29%}
.booking-banner .banner-copy p{font-size:var(--section-description-size);margin-top:1.6667cqw}
.review-content{background:var(--review-body);padding:106px 0 173px}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,435px));gap:35px 16px;width:calc(100% - 103px);max-width:1337px;margin:0 auto}
.review-slot{min-width:0;container-type:inline-size}
.review-card{position:relative;width:100%;aspect-ratio:435/320;background:url('../assets/actual/review_card.png') center/contain no-repeat;transition:transform 200ms ease}
.review-card .stars{position:absolute;top:28%;left:0;width:100%;display:flex;justify-content:center;color:var(--star);font:400 3.908cqw/1 sans-serif;letter-spacing:0}
.review-card .stars span{width:3.908cqw;height:3.908cqw}
.review-copy{position:absolute;top:42.5%;left:12%;width:76%;margin:0;color:var(--ink);font:400 3.4483cqw/4.9034cqw Simplehae,sans-serif;text-align:center;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
.review-source{position:absolute;top:75%;left:0;width:100%;color:var(--star);font:400 3.6782cqw/1.3 Simplehae,sans-serif;text-align:center}
.review-more{width:260px;aspect-ratio:2106/564;margin:85px auto 0;font-size:18px}
.booking-content{background:var(--booking-body);padding:116px 0 100px}
.booking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,447px));gap:11px;width:calc(100% - 77px);max-width:1363px;margin:0 auto}
.booking-card{position:relative;aspect-ratio:447/408;min-width:0;container-type:inline-size;transition:transform 200ms ease}
.card-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.booking-card h3{position:absolute;top:24.7%;left:15%;width:70%;margin:0;text-align:center;font:400 6.0403cqw/1.2 var(--classic);color:var(--booking-body)}
.price-list{position:absolute;top:44%;left:17%;width:66%;margin:0;font:400 5.6678cqw/1.3 var(--serif)}
.price-list div{display:flex;justify-content:space-between;align-items:center;height:11.63cqw}
.price-list dd{margin:0}
.price-note{position:absolute;top:73.5%;left:15%;width:70%;font:400 2.8cqw/1.55 var(--serif);text-align:center;margin:0;text-wrap:pretty}
.notice-copy{position:absolute;top:45%;left:11%;width:78%;display:grid;gap:1.15cqw;font:400 3cqw/1.55 var(--serif);text-align:left;letter-spacing:0;word-break:keep-all}
.notice-copy p{margin:0}
.notice-method,.notice-example{font-size:inherit;line-height:inherit}
.notice-button{position:absolute;top:70.9%;left:50%;transform:translateX(-50%);width:53.6913cqw;height:10.1cqw;background:none;overflow:hidden;font-size:3.15cqw;line-height:1}
.notice-button::before{content:"";position:absolute;width:102.7436%;aspect-ratio:2172/724;left:-1.419%;top:-30.26%;background:url('../assets/actual/button_greenlong.png') center/100% 100% no-repeat;z-index:-1}
.contact-actions{position:absolute;top:43%;left:50%;width:52.8cqw;transform:translateX(-50%);display:flex;flex-direction:column;gap:1.566cqw;overflow:visible}
/* Clip only the long button's transparent margins; keep the original PNG and aspect ratio. */
.long-button{width:100%;height:10.1cqw;font-size:3.15cqw;background:none;overflow:hidden}
.long-button::before{content:"";position:absolute;width:102.7436%;aspect-ratio:2172/724;left:-1.419%;top:-30.26%;background:url('../assets/actual/button_greenlong.png') center/100% 100% no-repeat;z-index:-1}
.open-chat-button{overflow:visible;z-index:2}
.open-chat-button::after{content:attr(data-tooltip);position:absolute;left:50%;top:calc(100% + 5px);width:max-content;max-width:240px;padding:4px 7px;border:1px solid var(--gold);background:var(--banner-copy);color:var(--booking-body);font:400 10px/1.35 var(--serif);text-align:center;white-space:normal;opacity:0;pointer-events:none;transform:translate(-50%,2px);transition:opacity 160ms ease,transform 160ms ease;z-index:4}
.open-chat-button:hover::after,.open-chat-button:focus-visible::after{opacity:1;transform:translate(-50%,0)}
.toon-section{background:var(--toon) url('../assets/actual/kylartoon_background.png') center top/100% auto no-repeat;padding:107px 0 171px}
.toon-heading{text-align:center}
.toon-heading p{font:400 var(--section-description-size)/var(--section-description-line-height) var(--serif);color:var(--banner-copy);margin:15px 16px 0}
.toon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,434px));gap:12px;width:calc(100% - 114px);max-width:1326px;margin:31px auto 0}
.toon-card{position:relative;aspect-ratio:434/569;min-width:0;container-type:inline-size;transition:transform 200ms ease}
.toon-preview{position:absolute;top:18%;left:24%;width:52%;height:58%;overflow:auto;text-align:center;scrollbar-width:thin}
.toon-thumbnail{width:92%;margin:0 auto;aspect-ratio:4/5;overflow:hidden}
.toon-thumbnail img{width:100%;height:100%;object-fit:cover}
.toon-preview p{font:400 2.8cqw/1.45 var(--serif);margin:1.2cqw 0 0;overflow-wrap:anywhere}
.toon-preview .episode-number{font-size:2.5cqw;letter-spacing:.05em}
.toon-preview h3{font:400 3.7cqw/1.4 var(--serif);margin:1.2cqw 0 0;overflow-wrap:anywhere}
.toon-button{position:absolute;left:50%;top:77%;transform:translateX(-50%);width:40.553cqw;height:10.599cqw;font-size:3.9931cqw}
.toon-disclaimer{margin:25px auto 0;padding:0 16px;text-align:center;color:var(--disclaimer);font:400 10.67px/1.6 var(--serif)}
.reveal{transition:opacity 650ms ease,transform 650ms ease}
.reveal-pending{opacity:0;transform:translateY(22px)}
@media(hover:hover){.review-card:hover,.booking-card:hover,.toon-card:hover{transform:translateY(-6px)}}
.site-footer{padding:20px 80px;background:#223321;color:#7F876F;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:56px;align-items:center;font:400 11px/1.45 Simplehae,sans-serif}
.footer-column{min-width:0}
.footer-column p{margin:0}
.footer-legal{justify-self:start;white-space:nowrap}
.footer-contact address{font:inherit;font-style:normal;white-space:normal}
.footer-contact address p{margin:0;white-space:pre-wrap}
.footer-follow{justify-self:end}
.footer-follow nav{display:flex;align-items:center;white-space:pre-wrap;font:inherit}
.site-footer a{color:inherit;text-decoration:none}
.site-footer a:hover{opacity:.78}
.collection-content{padding-bottom:100px}
.collection-content .review-copy{display:block;max-height:29%;overflow:auto;-webkit-line-clamp:unset;scrollbar-width:thin}
.collection-count{text-align:center;color:var(--cream);margin:0 16px 40px}
.review-pagination{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:8px;margin-top:48px;padding-inline:12px;color:var(--cream)}
.review-pagination[hidden]{display:none}
.review-pagination button{background:var(--booking-body);color:var(--cream);border:1px solid var(--gold);padding:10px 16px;cursor:pointer}
.review-pagination button:disabled{opacity:.5;cursor:default}
.review-message{grid-column:1/-1;text-align:center;color:var(--cream);padding:30px 12px}
.review-message button,.review-pagination a{border:1px solid var(--gold);background:var(--booking-body);color:var(--cream);padding:8px 10px;text-decoration:none}
.review-pagination [aria-current="page"]{outline:1px solid var(--cream);outline-offset:2px}
.review-pagination [aria-disabled="true"]{opacity:.55}
.collection-page .review-copy{white-space:pre-wrap}
@media(min-width:1025px) and (max-width:1439px){.review-grid{width:92.8472%}.booking-grid{width:94.6528%}.toon-grid{width:92.0833%}}
@media(max-width:1024px){
 .site-nav-wrap{padding:0 24px}.site-navigation{gap:6px}.beige-button{width:72px;height:48px}
 .site-footer{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;padding-inline:40px}
 .footer-legal{white-space:normal}
 .footer-contact address{white-space:normal}
 .review-grid{grid-template-columns:repeat(2,minmax(0,435px));width:calc(100% - 48px);max-width:886px}
 .booking-grid{grid-template-columns:repeat(2,minmax(0,447px));width:calc(100% - 48px);max-width:905px;gap:24px 11px}
 .toon-grid{grid-template-columns:repeat(2,minmax(0,434px));width:calc(100% - 48px);max-width:880px;gap:24px 12px}
 .booking-card:last-child:nth-child(odd),.toon-card:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc((100% - 12px)/2)}
 .booking-card:last-child:nth-child(odd){width:calc((100% - 11px)/2)}
 .review-content{padding:72px 0 87px}.booking-content{padding:72px 0 80px}.review-more{margin-top:64px}
 :root{--english-title-size:clamp(48px,6.667vw,80px)}
 .toon-section{padding-top:76px;padding-bottom:100px}
}
@media(max-width:768px){
 #site-header.site-header{height:77px}.site-nav-wrap{height:62px}
 .site-nav-wrap{padding:0 16px;gap:12px}.site-brand{flex-basis:40px}.site-brand img{width:40px}
 .site-navigation{flex:1;justify-content:flex-end;gap:2.5px}.beige-button{width:clamp(32.4px,9.48vw,66px);height:36px;font-size:clamp(7.2px,1.575vw,9.9px)}
 .review-grid,.booking-grid,.toon-grid{grid-template-columns:minmax(0,1fr);width:calc(100% - 32px);justify-items:center}
 .review-slot{width:100%;max-width:435px}.booking-card{width:100%;max-width:447px}.toon-card{width:100%;max-width:434px}
 .booking-card:last-child:nth-child(odd),.toon-card:last-child:nth-child(odd){grid-column:auto;width:100%}
 .review-content{padding:48px 0 53px}.review-grid{row-gap:24px}.review-more{width:220px;margin-top:48px;font-size:16px}
 .booking-content{padding:48px 0 64px}.booking-grid{gap:24px}
 :root{--english-title-size:clamp(32px,7.5vw,57px)}
 .toon-section{padding:48px 0 80px}
 .toon-disclaimer{max-width:460px;font-size:10px;line-height:1.7}
 .site-footer{grid-template-columns:1fr;padding:24px 40px;row-gap:18px}
 .footer-legal,.footer-contact,.footer-follow{justify-self:stretch;text-align:center}
 .footer-follow nav{justify-content:center}
}
@media(min-width:769px){
 .site-navigation{gap:22px}
 .site-navigation .beige-button{width:auto;height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--gold);font-size:14px;line-height:1.2}
 .site-navigation .beige-button span{padding:3px 0;border-bottom:1px solid transparent;transition:color 150ms ease,border-color 150ms ease}
 .site-navigation .beige-button:hover,.site-navigation .beige-button[aria-current="page"]{border:0;background:transparent;box-shadow:none;color:var(--cream)}
 .site-navigation .beige-button:hover span,.site-navigation .beige-button[aria-current="page"] span{border-bottom-color:var(--cream)}
}
#review .review-content{padding-bottom:86.5px}
@media(max-width:1024px){#review .review-content{padding-bottom:43.5px}}
@media(max-width:768px){#review .review-content{padding-bottom:26.5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.review-card,.booking-card,.toon-card{transition:none}.reveal-pending{opacity:1;transform:none}.review-card:hover,.booking-card:hover,.toon-card:hover{transform:none}}
