/* Local review v4: blue curtains, scroll-linked poses and portrait-video support. */
:root{--concierge-height:0px;--preview-ink:#282238;--preview-line:#e7e0ed}
html,body{height:100%;overflow:hidden}
body{-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:'Noto Sans KR','Malgun Gothic',sans-serif}
.site-scroll{position:relative;width:100%;height:calc(100dvh - var(--concierge-height));overflow:auto;scroll-padding-top:120px;scrollbar-width:thin;scroll-behavior:smooth}
.logo{text-decoration:none}
button,a,summary{touch-action:manipulation}
button{font:inherit}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #cbaef1;outline-offset:5px}
.header{width:100%}
.hero{display:flex;min-height:100dvh;padding:130px 40px 110px;isolation:isolate;background:#101426}
.hero::before{content:none}
.hero-stage{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.curtain-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.1s ease;pointer-events:none}
.hero-video-wrap{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity .7s;pointer-events:none}
#hero-video-player{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border:0;pointer-events:none;max-width:none}
.hero[data-video-format="portrait"] .hero-video-wrap{top:200px;background:#0b1019;mask-image:linear-gradient(to bottom,transparent,#000 22%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%)}
.hero[data-video-format="portrait"] #hero-video-player{object-fit:contain}
.hero[data-state="playing"] .hero-video-wrap,.hero[data-state="paused"] .hero-video-wrap{opacity:1}
.hero[data-state="curtain"] .curtain-poster,.hero[data-state="blocked"] .curtain-poster{opacity:1}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,8,23,.15),rgba(7,10,24,.20) 45%,rgba(6,8,22,.57))}
.hero-content{z-index:3;max-width:820px;position:relative;padding:0}
.hero h1{font-size:4rem;color:var(--velvet-accent);line-height:1.35;text-shadow:0 3px 24px #0008;margin-bottom:24px}
.hero .hero-description{font-size:1.35rem;line-height:1.85;word-break:keep-all;text-shadow:0 2px 16px #0009;margin-bottom:32px}
.hero-buttons{justify-content:center}
.mobile-break{display:none}
.hero-scroll-link{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;color:#fffc;font-size:8px;letter-spacing:.25em;text-decoration:none;z-index:4}
.hero-scroll-link span{font-size:22px;line-height:1}
.products img{height:auto;cursor:zoom-in}
.contact-info h3{font-size:25px;letter-spacing:-.04em}
.contact-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px 16px}
.contact-item>div:nth-child(3){grid-column:2;margin-top:12px}
.contact-item .contact-icon-wrapper{width:36px;height:36px;flex-shrink:0}
.contact-item a[href^="tel:"]{white-space:nowrap}
.contact-item h4{font-size:15px}
.contact-item p{font-size:15px;line-height:1.9}
.concierge-dock{position:fixed;right:10px;bottom:12px;width:114px;z-index:1010;display:flex;flex-direction:column;align-items:center;pointer-events:none}
.rail-caption,.concierge-kicker,.concierge-copy p,.concierge-hours{display:none}
.concierge-copy{order:2;text-align:center}
.concierge-character{order:1;display:block;width:114px;height:clamp(140px,26dvh,262px);padding:0;margin:0 0 6px;border:0;background:transparent;pointer-events:none}
#concierge-canvas{display:block;width:100%;height:100%;filter:drop-shadow(0 4px 5px #18122420)}
.concierge-call{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;background:#522084;color:#fff;border:1px solid #ffffff60;border-radius:20px;padding:8px 13px;font-size:11px;text-decoration:none;pointer-events:auto;box-shadow:0 3px 12px #39215a20}
.concierge-call svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.7}
.concierge-collapse{order:3;border:0;background:#ffffffd9;color:#6f5488;border-radius:50%;width:26px;height:26px;cursor:pointer;margin-top:5px;pointer-events:auto}
.concierge-expand{padding:9px 13px;background:#522084;color:white;font-size:11px;border:1px solid #ffffff60;border-radius:20px;pointer-events:auto;cursor:pointer}
.concierge-expand[hidden]{display:none}
body.concierge-collapsed .concierge-character,body.concierge-collapsed .concierge-copy,body.concierge-collapsed .concierge-collapse{display:none}
.product-lightbox{max-width:min(94vw,1000px);width:max-content;max-height:92dvh;padding:24px;margin:auto;border:0;border-radius:12px;background:white;box-shadow:0 24px 100px #16101980;overflow:auto}
.product-lightbox::backdrop{background:#19111fcc;backdrop-filter:blur(8px)}
.lightbox-close{position:sticky;display:block;top:0;margin:-8px -8px 8px auto;width:40px;height:40px;border-radius:50%;border:1px solid #dfd5e4;color:#4e345a;background:#fff;font-size:26px;cursor:pointer;z-index:1}
.lightbox-image{display:block;max-width:100%;width:auto;max-height:70dvh;height:auto;margin:auto;object-fit:contain}
#lightbox-title{font-size:13px;text-align:center;margin-top:16px;color:#62536b}
@media(min-width:901px){
 .container{max-width:min(1200px,calc(100% - 136px));margin-left:max(24px,calc((100% - 1200px)/2));margin-right:auto;min-width:0}
 #product-search .container{max-width:min(1200px,calc(100% - 136px))}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .product-card{min-width:0}
 .table-scroll{max-width:100%}
 .site-footer{padding-right:146px}
}
@media(min-width:901px) and (max-width:1180px){
 .header-content{padding:12px 24px}
 .delivery-truck-container{width:125px;flex-shrink:0}
 .truck-animation{transform:scale(.7);transform-origin:left center}
 .logo-container{gap:12px}
 .nav{gap:4px}
 .nav a{font-size:13px;padding:9px}
 .hero-content{margin-right:110px;max-width:720px}
 .hero h1{font-size:48px}
 .hero .hero-description{font-size:18px}
}
@media(max-width:900px){
 .site-scroll{scroll-padding-top:76px}
 .header-content{min-height:66px;padding:10px 20px;gap:12px}
 .logo{font-size:24px}
 .logo-container{gap:12px}
 .delivery-truck-container{--truck-scale:.48;--truck-exit:126px;display:block;width:114px;height:40px;flex:0 0 114px;transform:none;overflow:hidden}
 .truck-animation{width:180px;height:90px;transform:translateX(0) scale(var(--truck-scale));transform-origin:top left;top:0;left:0;animation:mobileTruckDrive 5s linear infinite;animation-delay:0s}
 .truck-logo{top:6px;left:3px;right:3px;padding:2px 1px;line-height:1.12;text-shadow:0 1px 2px #793200;letter-spacing:-.35px;background:#aa3b001f}
 .truck-brand{display:block;font-size:18px;font-weight:900}
 .truck-service{display:block;font-size:14px;font-weight:800;letter-spacing:0}
 .nav{display:none}
 .mobile-menu-btn{display:block;width:42px;height:42px;border:1px solid #ddd0e8;border-radius:50%;padding:10px}
 .menu-line{display:block;height:2px;width:18px;margin:5px 0;background:var(--velvet-primary)}
 .nav.active{position:absolute;display:flex;flex-direction:column;top:100%;left:12px;right:12px;width:auto;background:#fff;border-radius:10px;padding:12px;border:1px solid #e5dced}
 .nav a{padding:12px;font-size:14px}
 .hero{height:min(720px,calc(100svh - var(--concierge-height)));min-height:480px;padding:100px 28px 96px;display:flex}
 .hero-content{max-width:620px;padding:0}
 .curtain-poster{top:66px;height:calc(100% - 66px)}
 .hero h1{font-size:42px;animation:none;line-height:1.4;margin-bottom:22px}
 .hero .hero-description{font-size:16px;margin-bottom:24px;line-height:1.9}
 .hero-buttons{gap:10px}
 .hero-buttons .btn{padding:12px 20px;font-size:14px;min-height:46px}
 .concierge-character{order:1;width:96px;height:124px;flex-shrink:0;margin:0}
 .about-content,.contact-content,.location-grid{grid-template-columns:1fr}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .product-card{min-width:0}
 .container{padding:0 24px;min-width:0}
 .section-title{font-size:32px}
 .table-scroll{max-width:100%}
}
/* Keep the full-height page available; only the figure and call link take input.
   Short touch screens also cover phones wider than 900px in landscape. */
@media(max-width:900px), (pointer:coarse) and (max-height:500px){
 .hero-scroll-link{display:none}
 .concierge-dock{inset:auto auto calc(8px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px));width:max-content;height:auto;padding:0;gap:0;background:transparent;border:0;pointer-events:none}
 .concierge-dock *{pointer-events:none}
 .concierge-collapse,.concierge-expand{display:none}
 .concierge-copy{display:flex;justify-content:center;margin-top:4px}
 .concierge-dock .concierge-call{width:86px;min-height:44px;padding:8px 6px;gap:4px;white-space:nowrap;pointer-events:auto}
 .concierge-dock .concierge-call:focus-visible{outline-offset:2px}
 .concierge-character{margin:0}
 body.concierge-collapsed .concierge-character{display:block}
 body.concierge-collapsed .concierge-copy{display:flex}
 .concierge-dock.is-movable{left:var(--concierge-x);top:var(--concierge-y);right:auto;bottom:auto}
 .concierge-dock.is-movable .concierge-character{pointer-events:auto;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
 .concierge-dock.is-dragging .concierge-character{cursor:grabbing}
 .concierge-dock.is-movable .concierge-character:focus-visible{outline:2px solid #b293ce;outline-offset:2px;border-radius:8px}
}
.concierge-drag-bounds{position:fixed;inset:calc(8px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px));visibility:hidden;pointer-events:none}
@media(max-width:600px){
 .hero{height:min(680px,calc(100svh - var(--concierge-height)));min-height:480px;padding:94px 20px 90px}
 .hero h1{font-size:38px;letter-spacing:-.05em;max-width:340px;margin:0 auto 22px;word-break:keep-all}
 .hero .hero-description{font-size:14px;line-height:1.95;max-width:350px}
 .mobile-break{display:block}
 .hero-buttons .btn{font-size:12px;padding:12px 15px;gap:8px}
 .container{padding:0 18px}
 .section{padding:42px 0}
 .section-title{font-size:27px}
 .products .container>p{font-size:14px!important;line-height:1.9;margin-bottom:26px!important;word-break:keep-all}
 .category-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px}
 .category-btn{min-width:0;width:100%;font-size:12px;padding:10px 7px!important}
 .product-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .product-card{padding:20px}
 .product-card h3{font-size:23px}
 .product-card h4{font-size:14px}
 .product-card>div[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
 .product-card img{max-width:100%!important}
 .product-description{font-size:14px!important;line-height:1.9;text-align:left!important}
 .guide-grid{grid-template-columns:1fr}
 .guide-lead,.guide-card p,.purchase-copy{font-size:14px;line-height:1.9}
 .guide-card{padding:24px}
 .guide-card h3{font-size:19px}
 .purchase-detail>summary{font-size:14px}
 #product-search .container{max-width:100%}
 #product-search .container>p{font-size:14px!important;line-height:1.9}
 .search-group{flex-direction:column;gap:8px;padding:14px}
 .search-group h3{flex-basis:auto;text-align:left;border:0;padding:0;font-size:14px}
 .search-fields{padding:0;width:100%;gap:8px}
 .search-fields input{min-width:0;width:100%;flex:1 1 calc(50% - 8px);font-size:16px;padding:10px}
 #search-results{min-width:1050px;font-size:12px}
 .about-text h3{font-size:23px}
 .about-text p,.about-text ul{font-size:14px;line-height:1.9}
 .timeline-item{flex-direction:column;text-align:left}
 .location-panel{padding:24px}
 .location-panel h3{font-size:23px}
 .location-panel p,.location-panel li{font-size:14px}
 .contact-info{padding:22px}
 .contact-info h3{font-size:22px}
 .contact-item h4,.contact-item p{font-size:14px}
 .map-container{min-height:240px}
 .site-footer{padding:26px 20px;font-size:12px}
 .site-footer nav{font-size:11px;gap:12px}
 .product-lightbox{padding:16px;max-width:calc(100vw - 20px)}
}
@media(max-width:350px){
 .header-content{padding:10px 15px}
 .logo{font-size:22px}
 .delivery-truck-container{width:104px;flex-basis:104px;--truck-exit:116px}
 .hero h1{font-size:33px}
 .hero .hero-description{font-size:12px}
 .hero-buttons .btn{font-size:11px;padding:10px 12px}
 .concierge-character{width:84px}
}
@media(max-height:500px) and (max-width:900px){
 .hero{height:calc(100svh - var(--concierge-height));min-height:300px;padding:78px 105px 52px}
 .hero h1{font-size:30px;margin-bottom:10px;max-width:none}
 .hero .hero-description{font-size:12px;margin-bottom:14px;line-height:1.6;max-width:none}
 .hero .hero-description br{display:none}
 .hero-buttons .btn{font-size:11px;min-height:34px;padding:7px 14px}
 .concierge-character{height:70px;width:65px}
}
@keyframes mobileTruckDrive{
 0%{transform:translateX(calc(-180px * var(--truck-scale))) scale(var(--truck-scale))}
 18%,74%{transform:translateX(0) scale(var(--truck-scale))}
 100%{transform:translateX(var(--truck-exit)) scale(var(--truck-scale))}
}
@media(min-width:769px) and (max-width:900px){
 .delivery-truck-container{--truck-scale:.56;--truck-exit:138px;width:126px;flex-basis:126px;height:46px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 .site-scroll{scroll-behavior:auto}
 .truck-animation{animation:none!important}
}
