*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',sans-serif;background:#FAF6F0;color:#1C1C1C;line-height:1.7}
#age-gate{position:fixed;inset:0;background:#FAF6F0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}
.gate-logo{margin-bottom:2.5rem}
#age-gate h2{font-size:1rem;font-weight:500;color:#4A3C32;margin-bottom:.4rem}
#age-gate .gate-sub{font-size:.82rem;color:#8A7A70;margin-bottom:2rem}
.gate-form{display:flex;flex-direction:column;align-items:center;gap:.9rem;width:100%;max-width:270px}
.gate-form label{font-size:.78rem;color:#6B5B4E;align-self:flex-start;letter-spacing:.05em}
.gate-form input[type=date]{width:100%;padding:.75rem 1rem;border:1px solid #D9CFC6;border-radius:8px;background:#fff;font-size:1rem;font-family:inherit;color:#1C1C1C;outline:none;-webkit-appearance:none}
.gate-form input:focus{border-color:#8B5E3C}
.gate-btn{width:100%;padding:.8rem;background:#1C1C1C;color:#FAF6F0;border:none;border-radius:8px;font-size:.9rem;font-family:inherit;font-weight:500;cursor:pointer;letter-spacing:.04em;transition:background .2s}
.gate-btn:hover{background:#3A2E28}
#gate-error{font-size:.8rem;color:#B85C38;min-height:1.2em}
.gate-notice{font-size:.72rem;color:#A0907A;margin-top:1.5rem;max-width:250px;line-height:1.6}
nav{position:sticky;top:0;z-index:200;background:#FAF6F0;border-bottom:1px solid #EDE4DA;padding:.9rem 2rem;display:flex;align-items:center;justify-content:space-between;overflow:visible}
.nav-logo-wrap{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.nav-logo-text{font-size:.95rem;font-weight:700;letter-spacing:.04em;color:#1C1C1C}
.hamburger{background:none;border:none;cursor:pointer;padding:.3rem;display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px}
.hamburger span{display:block;height:1.5px;background:#1C1C1C;border-radius:1px;transition:transform .25s,opacity .25s,width .25s}
.hamburger span:nth-child(2){width:70%}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;width:0}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
#nav-menu{position:absolute;top:calc(100% + 1px);right:1rem;width:190px;background:#FAF6F0;border:1px solid #EDE4DA;border-radius:10px;overflow:hidden;display:none;box-shadow:0 8px 24px rgba(0,0,0,.08)}
#nav-menu.open{display:block}
#nav-menu a, #nav-menu button.lang-btn{display:block;width:100%;text-align:left;padding:.75rem 1.2rem;font-size:.88rem;color:#4A3C32;text-decoration:none;border:none;background:none;border-bottom:1px solid #EDE4DA;letter-spacing:.02em;transition:background .15s;font-family:inherit;cursor:pointer}
#nav-menu a:last-child, #nav-menu button.lang-btn{border-bottom:none}
#nav-menu a:hover, #nav-menu button.lang-btn:hover{background:#F0E9DF}
.menu-divider{height:1px;background:#EDE4DA;margin:0}
.lang-btn{display:flex!important;align-items:center;gap:.55rem;color:#6B5B4E!important}
.lang-icon{font-size:13px;line-height:1}
#hero{min-height:88vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5rem 2rem;border-bottom:1px solid #EDE4DA}
.hero-logo-wrap{margin-bottom:2.8rem}
#hero h1{font-size:clamp(1.8rem,5vw,3.2rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:1.2rem}
#hero .hero-en{font-size:.78rem;letter-spacing:.2em;color:#8A7A70;margin-bottom:1.2rem}
#hero p{font-size:1rem;color:#6B5B4E;max-width:460px;line-height:1.9}
.scroll-indicator{margin-top:3rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.7rem;letter-spacing:.14em;color:#A0907A}
@keyframes poke{0%,100%{transform:translateY(0);opacity:.5}25%{transform:translateY(10px);opacity:1}45%{transform:translateY(5px);opacity:.8}65%{transform:translateY(11px);opacity:1}}
.scroll-arrow{animation:poke 2s ease-in-out infinite}
#about{padding:6rem 2rem;max-width:720px;margin:0 auto;text-align:center}
.sec-label{font-size:.7rem;letter-spacing:.2em;color:#8A7A70;text-transform:uppercase;margin-bottom:1rem}
#about h2{font-size:clamp(1.4rem,3.5vw,2.1rem);font-weight:700;line-height:1.3;margin-bottom:1.8rem;letter-spacing:-.01em}
#about p{font-size:.97rem;color:#4A3C32;line-height:1.95;margin-bottom:.9rem}
#products{padding:6rem 2rem;background:#F2EBE0;border-top:1px solid #EDE4DA;border-bottom:1px solid #EDE4DA}
.products-inner{max-width:1000px;margin:0 auto}
.sec-header-center{text-align:center;margin-bottom:3rem}
#products h2{font-size:clamp(1.4rem,3.5vw,2.1rem);font-weight:700;letter-spacing:-.01em;margin-bottom:.5rem}
.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.4rem}
.product-card{background:#FAF6F0;border-radius:12px;overflow:hidden;border:1px solid #E0D5C8}
.product-img{height:190px;background:#E8DDD0;display:flex;align-items:center;justify-content:center}
.bottle-icon{width:56px;height:56px;background:#D4C9B5;border-radius:50%;display:flex;align-items:center;justify-content:center}
.product-info{padding:1.1rem 1.3rem}
.product-type{font-size:.7rem;letter-spacing:.15em;color:#8A7A70;text-transform:uppercase;margin-bottom:.3rem}
.product-name{font-size:1rem;font-weight:700;margin-bottom:.4rem}
.product-desc{font-size:.83rem;color:#6B5B4E;line-height:1.6}
.product-abv{display:inline-block;margin-top:.7rem;font-size:.75rem;color:#8A7A70;border:1px solid #C9BFB5;padding:.18rem .55rem;border-radius:20px}
.more-link-wrap{text-align:center;margin-top:2.5rem}
.more-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;color:#4A3C32;border:1px solid #C9BFB5;padding:.65rem 1.5rem;border-radius:6px;transition:background .2s,border-color .2s;cursor:pointer;background:transparent;font-family:inherit;letter-spacing:.02em}
.more-link:hover{background:#FAF6F0;border-color:#8B5E3C;color:#1C1C1C}
#events{padding:6rem 2rem;max-width:1000px;margin:0 auto}
#events h2{font-size:clamp(1.4rem,3.5vw,2.1rem);font-weight:700;letter-spacing:-.01em;margin-bottom:.5rem}
.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.4rem;margin-top:2.8rem}
.event-card{border:1px solid #E0D5C8;border-radius:12px;padding:1.5rem 1.6rem;background:#fff;display:flex;flex-direction:column;gap:.6rem}
.event-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem}
.event-date{font-size:.72rem;letter-spacing:.08em;color:#8A7A70}
.event-badge{font-size:.68rem;padding:.2rem .65rem;border-radius:20px;font-weight:500;letter-spacing:.04em}
.badge-ongoing{background:#E8F5E3;color:#3A6E2A}
.badge-upcoming{background:#E8EDF8;color:#2A3F7A}
.badge-closed{background:#F0EDEA;color:#7A6B60}
.event-card h3{font-size:1rem;font-weight:700;color:#1C1C1C;line-height:1.35}
.event-card p{font-size:.84rem;color:#6B5B4E;line-height:1.65;flex:1}
.event-more{font-size:.78rem;color:#8A7A70;text-decoration:none;letter-spacing:.04em;margin-top:.4rem;display:inline-flex;align-items:center;gap:.3rem}
.event-more:hover{color:#1C1C1C}
#notices{padding:4rem 2rem 6rem;max-width:720px;margin:0 auto}
#notices h2{font-size:clamp(1.4rem,3.5vw,2.1rem);font-weight:700;letter-spacing:-.01em;margin-bottom:.5rem}
.notice-list{margin-top:2.5rem;border-top:1px solid #E0D5C8}
.notice-item{border-bottom:1px solid #E0D5C8;overflow:hidden}
.notice-header{display:flex;align-items:center;gap:1rem;padding:1rem 0;cursor:pointer;user-select:none}
.notice-header:hover .notice-title{color:#1C1C1C}
.notice-date{font-size:.72rem;letter-spacing:.06em;color:#A0907A;white-space:nowrap;min-width:80px}
.notice-title{font-size:.9rem;color:#4A3C32;flex:1;transition:color .2s}
.notice-toggle{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .25s}
.notice-item.open .notice-toggle{transform:rotate(45deg)}
.notice-body{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s}
.notice-item.open .notice-body{max-height:200px;padding-bottom:1rem}
.notice-body p{font-size:.85rem;color:#6B5B4E;line-height:1.75;padding-left:calc(80px + 1rem)}
#contact{padding:6rem 2rem;background:#F2EBE0;border-top:1px solid #EDE4DA}
.contact-inner{max-width:560px;margin:0 auto}
#contact h2{font-size:clamp(1.3rem,3vw,1.9rem);font-weight:700;letter-spacing:-.01em;margin-bottom:.4rem}
#contact .sub{font-size:.85rem;color:#8A7A70}
.contact-form{display:flex;flex-direction:column;gap:.9rem}
.contact-form input,.contact-form textarea{width:100%;padding:.8rem 1rem;border:1px solid #D9CFC6;border-radius:8px;background:#fff;font-size:.93rem;font-family:inherit;color:#1C1C1C;outline:none;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:#8B5E3C}
.contact-form textarea{min-height:120px}
.submit-btn{padding:.85rem;background:#1C1C1C;color:#FAF6F0;border:none;border-radius:8px;font-size:.92rem;font-family:inherit;font-weight:500;cursor:pointer;letter-spacing:.04em;transition:background .2s}
.submit-btn:hover{background:#3A2E28}
.contact-info{display:flex;gap:2rem;justify-content:center;margin-top:2.2rem;flex-wrap:wrap}
.contact-item{text-align:center}
.ci-label{font-size:.68rem;letter-spacing:.14em;color:#A0907A;text-transform:uppercase;margin-bottom:.25rem}
.ci-val{font-size:.88rem;color:#4A3C32}
footer{border-top:1px solid #EDE4DA;padding:2rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;background:#FAF6F0}
.footer-brand{font-size:.83rem;font-weight:600;color:#4A3C32;letter-spacing:.04em}
.footer-copy{font-size:.72rem;color:#A0907A}
.footer-sns{display:flex;gap:1.2rem}
.sns-link{font-size:.78rem;color:#6B5B4E;text-decoration:none;letter-spacing:.04em;transition:color .2s}
.sns-link:hover{color:#1C1C1C}
#products-page{display:none;min-height:100vh;background:#FAF6F0}
.pp-nav{border-bottom:1px solid #EDE4DA;padding:1rem 2rem;display:flex;align-items:center;gap:1.5rem;background:#FAF6F0;position:sticky;top:0;z-index:50}
.pp-back{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#6B5B4E;cursor:pointer;background:none;border:none;font-family:inherit;padding:0}
.pp-back:hover{color:#1C1C1C}
.pp-body{max-width:1020px;margin:0 auto;padding:3rem 2rem 5rem}
.pp-body h1{font-size:clamp(1.5rem,4vw,2.3rem);font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}
.pp-body .pp-sub{font-size:.88rem;color:#8A7A70;margin-bottom:2.5rem}
.filter-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2.5rem}
.filter-btn{font-size:.78rem;padding:.4rem 1rem;border:1px solid #C9BFB5;border-radius:20px;background:#FAF6F0;color:#6B5B4E;cursor:pointer;font-family:inherit;transition:all .2s}
.filter-btn.active,.filter-btn:hover{background:#1C1C1C;color:#FAF6F0;border-color:#1C1C1C}
.pp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.4rem}
.fade{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.fade.visible{opacity:1;transform:none}
