/* =============================================
   삼백당 SAMBAEKDANG
   beanbrothers.co.kr 구조 모방
   Color palette: PETAL/BLUSH/TERRACOTTA/CLAY/RUST/ONYX
   ============================================= */
:root {
    --petal: #fcf8f5;
    --blush: #cfa899;
    --terracotta: #a75a4a;
    --clay: #8b372d;
    --rust: #5d241d;
    --onyx: #330601;
    --white: #fff;
    --bg: #faf8f5;
    --text: #2c2420;
    --text-light: #7a6e65;
    --border: #e6ddd5;
    --font-serif: 'Noto Serif KR', serif;
    --font-en: 'Cormorant Garamond', serif;
    --font-display: 'Playfair Display', serif;
    --font-sans: 'Noto Sans KR', sans-serif;
    --container: 1200px;
    --px: clamp(20px, 4vw, 60px);
    --ease: cubic-bezier(.16,1,.3,1);
}

/* Reset */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.7;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{background:none;border:none;font-family:inherit;cursor:pointer}
img{max-width:100%;display:block}
::selection{background:var(--clay);color:var(--petal)}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--px)}

/* ── Loader ── */
.loader{position:fixed;inset:0;background:var(--onyx);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .5s,visibility .5s}
.loader.loaded{opacity:0;visibility:hidden;pointer-events:none}
.loader-text{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--petal);animation:pulse 1.4s ease infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ── Top Strip ── */
.top-strip{background:var(--onyx);color:var(--blush);font-size:.72rem;letter-spacing:.04em;text-align:center;padding:10px var(--px);position:relative}
.strip-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--blush);font-size:1.1rem;opacity:.5;transition:opacity .3s}
.strip-close:hover{opacity:1}
.top-strip.hidden{display:none}

/* ── Header ── */
.header{background:var(--onyx);border-bottom:none;position:sticky;top:0;z-index:100}
.header-top{display:flex;align-items:center;justify-content:center;padding:16px var(--px);position:relative}
.header-top-left{position:absolute;left:var(--px)}
.header-top-right{position:absolute;right:var(--px)}
.header-logo img{height:40px}
/* Nav (beanbrothers dropdown style) */
.header-nav{display:flex;justify-content:center;gap:clamp(24px,4vw,56px);padding:0 var(--px) 0;border-top:none}
.nav-item{position:relative;padding:0 0 14px}
.nav-subject{display:flex;flex-direction:column;align-items:center;gap:1px;font-family:var(--font-en);transition:color .3s}
.nav-en{font-size:.82rem;font-weight:500;letter-spacing:.14em;color:var(--petal)}
.nav-kr{font-size:.65rem;color:var(--blush);opacity:0;transition:opacity .2s}
.nav-item:hover .nav-en{color:var(--white)}
.nav-item:hover .nav-kr{opacity:1}
/* Dropdown */
.nav-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:160px;background:var(--white);border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;box-shadow:0 8px 24px rgba(51,6,1,.08);padding:12px 0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;z-index:200}
.nav-item:hover .nav-dropdown{opacity:1;visibility:visible}
.nav-drop-link{display:block;padding:6px 20px;font-size:.82rem;color:var(--text-light);white-space:nowrap;transition:color .2s,background .2s}
.nav-drop-link:hover{color:var(--clay);background:var(--petal)}
.header.scrolled{box-shadow:0 4px 16px rgba(51,6,1,.25)}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;padding:8px;z-index:200}
.hamburger span{display:block;width:20px;height:1.5px;background:var(--petal);transition:all .3s var(--ease)}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(4.6px,4.6px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(4.6px,-4.6px)}

/* Mobile overlay */
.mobile-overlay{position:fixed;inset:0;background:var(--onyx);z-index:101;transform:translateX(100%);transition:transform .45s var(--ease);overflow-y:auto;display:flex;flex-direction:column}
.mobile-overlay.active{transform:translateX(0)}
.mobile-close{position:absolute;top:20px;right:var(--px);background:none;border:none;color:var(--petal);font-size:2rem;cursor:pointer;line-height:1;padding:8px;z-index:10}
.mobile-nav{display:flex;flex-direction:column;gap:6px;padding:100px var(--px) 40px}
.mobile-nav>a{font-family:var(--font-en);font-size:1.5rem;letter-spacing:.08em;color:var(--petal);padding:6px 0}
.mobile-group{border-top:1px solid rgba(252,248,245,.15);padding-top:16px;margin-top:8px}
.mobile-group-title{font-family:var(--font-en);font-size:.72rem;font-weight:600;letter-spacing:.15em;color:var(--blush);display:block;margin-bottom:8px}
.mobile-group a{display:block;font-size:.95rem;color:rgba(252,248,245,.7);padding:5px 0 5px 8px;transition:color .2s}
.mobile-group a:hover{color:var(--petal)}
.mobile-info{padding:20px var(--px);border-top:1px solid rgba(252,248,245,.15);margin-top:auto}
.mobile-info p{font-size:.82rem;color:rgba(252,248,245,.5);line-height:1.8}

/* ── HERO SPLIT ── */
.hero-split{display:grid;grid-template-columns:1fr 1fr;min-height:70vh}
.hero-left{display:flex;align-items:center;justify-content:center;padding:clamp(40px,8vw,80px);opacity:0;transform:translateX(-30px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.hero-left.revealed{opacity:1;transform:translateX(0)}
.hero-left-content{max-width:380px}
.hero-right{position:relative;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;padding:clamp(40px,8vw,80px);opacity:0;transform:translateX(30px);transition:opacity .8s var(--ease) .15s,transform .8s var(--ease) .15s}
.hero-right.revealed{opacity:1;transform:translateX(0)}
.hero-right-overlay{position:absolute;inset:0;background:rgba(51,6,1,.35)}
.hero-right-content{position:relative;z-index:1;text-align:center}

.hero-label{font-family:var(--font-en);font-size:.78rem;font-weight:500;letter-spacing:.25em;color:var(--terracotta);margin-bottom:16px}
.hero-label.light{color:var(--blush)}
.hero-title-kr{font-family:var(--font-serif);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;color:var(--onyx);line-height:1.3;margin-bottom:16px}
.hero-title-kr.light{color:var(--white)}
.hero-sub{font-size:.9rem;color:var(--text-light);line-height:1.8;margin-bottom:24px}
.hero-sub.light{color:var(--blush)}
.hero-link{font-family:var(--font-en);font-size:.85rem;font-weight:500;letter-spacing:.12em;color:var(--clay);border-bottom:1px solid var(--clay);padding-bottom:2px;transition:color .3s}
.hero-link:hover{color:var(--terracotta)}

/* ── Section Head ── */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.section-head.center{justify-content:center;text-align:center;border-bottom:none}
.sec-title-en{font-family:var(--font-display);font-size:clamp(1rem,2vw,1.3rem);font-weight:600;letter-spacing:.03em;color:var(--onyx)}
.sec-title-kr{font-family:var(--font-serif);font-size:.85rem;font-weight:400;color:var(--text-light);margin-top:2px}
.sec-shop-link{font-family:var(--font-en);font-size:.78rem;font-weight:500;letter-spacing:.1em;color:var(--text-light);transition:color .3s}
.sec-shop-link:hover{color:var(--clay)}
.sec-count{font-family:var(--font-en);font-size:.75rem;color:var(--text-light)}

/* ── Product Section ── */
.product-section{padding:clamp(48px,8vw,96px) 0}

/* ── Product Grid ── */
.product-grid{display:grid;gap:clamp(16px,2vw,28px)}
.product-grid.c4{grid-template-columns:repeat(4,1fr)}

.product-card{transition:transform .45s var(--ease)}
.product-card:hover{transform:translateY(-4px)}
.pcard-img{aspect-ratio:1/1;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;margin-bottom:14px;transition:box-shadow .4s}
.product-card:hover .pcard-img{box-shadow:0 8px 30px rgba(51,6,1,.1)}
.pcard-initial{font-family:var(--font-serif);font-size:2.2rem;font-weight:700;color:var(--clay);opacity:.2}
.pcard-initial.light{color:var(--petal)}
.pcard-badge{position:absolute;top:10px;left:10px;padding:3px 10px;background:var(--terracotta);color:#fff;font-size:.65rem;font-weight:600;letter-spacing:.06em;border-radius:3px}
.pcard-info{padding:0 2px}
.pcard-name{font-family:var(--font-serif);font-size:.92rem;font-weight:500;color:var(--onyx);margin-bottom:1px}
.pcard-eng{font-family:var(--font-en);font-size:.75rem;color:var(--text-light);margin-bottom:8px}
.pcard-bottom{display:flex;align-items:center;justify-content:space-between}
.pcard-option{font-family:var(--font-en);font-size:.65rem;color:var(--text-light);border:1px solid var(--border);border-radius:20px;padding:1px 8px}
.pcard-price{font-family:var(--font-en);font-size:.92rem;font-weight:600;color:var(--clay)}

/* More card */
.more-card .pcard-img{flex-direction:column;gap:8px}
.more-arrow{font-family:var(--font-en);font-size:1.6rem;color:var(--clay);opacity:.5}
.more-text{font-size:.8rem;color:var(--text-light)}

/* ── Dual Banner ── */
.dual-banner{padding:0 0 clamp(48px,8vw,96px)}
.dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,32px)}
.dual-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px}
.dual-label{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--onyx);display:block}
.dual-label-kr{font-family:var(--font-serif);font-size:.8rem;color:var(--text-light)}
.dual-link{font-family:var(--font-en);font-size:.75rem;letter-spacing:.1em;color:var(--text-light);transition:color .3s}
.dual-link:hover{color:var(--clay)}
.dual-img{aspect-ratio:16/10;border-radius:8px;background-size:cover;background-position:center;margin-bottom:12px;transition:transform .5s var(--ease);overflow:hidden}
.dual-item:hover .dual-img{transform:scale(1.02)}
.dual-desc{font-size:.82rem;color:var(--text-light);line-height:1.6}

/* ── About Banner (MORE ABOUT Bb style) ── */
.about-banner{padding:clamp(48px,8vw,80px) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.about-banner-inner{display:flex;gap:clamp(40px,6vw,80px);align-items:flex-start}
.about-banner-left{flex-shrink:0}
.about-b-label{font-family:var(--font-display);font-size:.85rem;letter-spacing:.08em;color:var(--text-light);display:block}
.about-b-logo{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);font-weight:900;color:var(--onyx);display:block;line-height:1.2}
.about-banner-right{flex:1;display:flex;flex-direction:column;gap:20px}
.about-b-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border)}
.about-b-row:last-child{border-bottom:none}
.ab-label{font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--onyx);margin-right:12px}
.ab-kr{font-family:var(--font-serif);font-size:.8rem;color:var(--text-light)}
.about-b-row a{font-size:.85rem;color:var(--text-light);transition:color .3s}
.about-b-row a:hover{color:var(--clay)}

/* ── Page Hero ── */
.page-hero{background:var(--onyx);text-align:center;padding:clamp(48px,8vw,80px) var(--px);position:relative}
.page-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--rust),var(--onyx))}
.page-hero-inner{position:relative;z-index:1}
.ph-label{font-family:var(--font-en);font-size:.78rem;letter-spacing:.3em;color:var(--blush);margin-bottom:12px}
.ph-title{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--petal)}
.ph-sub{font-family:var(--font-en);font-size:.9rem;letter-spacing:.25em;color:var(--blush);margin-top:8px}

/* ── Menu Page ── */
.menu-page{padding:clamp(48px,8vw,80px) 0}
.menu-tabs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:48px;position:sticky;top:90px;background:var(--bg);padding:12px 0;z-index:10}
.mtab{padding:7px 18px;font-family:var(--font-en);font-size:.72rem;font-weight:500;letter-spacing:.1em;color:var(--text-light);border:1px solid var(--border);border-radius:50px;transition:all .3s var(--ease)}
.mtab:hover,.mtab.active{background:var(--clay);border-color:var(--clay);color:var(--petal)}
.menu-cat{margin-bottom:56px}

/* ── Story ── */
.story-section{padding:clamp(48px,8vw,80px) 0}
.story-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:start}
.story-title{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2rem);font-weight:600;color:var(--onyx);margin-bottom:20px}
.story-text .about-label{font-family:var(--font-en);font-size:.78rem;letter-spacing:.2em;color:var(--terracotta);margin-bottom:8px;display:block}
.story-text p{font-size:.92rem;line-height:2;color:var(--text-light);margin-bottom:14px}
.story-text strong{color:var(--onyx);font-weight:600}
.story-text em{color:var(--clay);font-style:normal;font-weight:500}
.story-cards{display:flex;flex-direction:column;gap:14px}
.sb-card{padding:24px;border-radius:10px;text-align:center;transition:transform .4s var(--ease)}
.sb-card:hover{transform:scale(1.03)}
.sb-k{font-size:2rem;display:block;margin-bottom:4px;color:var(--petal)}
.sb-k.dark{color:var(--clay)}
.sb-card h3{font-family:var(--font-serif);font-size:1rem;font-weight:600;color:var(--petal);margin-bottom:2px}
.sb-card h3.dark{color:var(--onyx)}
.sb-card p{font-size:.78rem;color:rgba(252,248,245,.6)}
.sb-card p.dark{color:var(--text-light)}

/* ── Values ── */
.values-section{padding:clamp(48px,8vw,80px) 0;background:var(--petal)}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.val-card{background:var(--white);border-radius:10px;padding:32px 24px;transition:transform .4s var(--ease),box-shadow .4s}
.val-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(51,6,1,.06)}
.val-num{font-family:var(--font-en);font-size:1.8rem;font-weight:300;color:var(--clay);opacity:.25;display:block;margin-bottom:14px}
.val-card h3{font-family:var(--font-serif);font-size:1rem;font-weight:600;color:var(--onyx);margin-bottom:8px}
.val-card p{font-size:.85rem;line-height:1.8;color:var(--text-light)}

/* ── Facilities ── */
.fac-section{padding:clamp(48px,8vw,80px) 0}
.fac-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:28px}
.fac-tag{padding:8px 22px;border:1px solid var(--border);border-radius:50px;font-size:.85rem;color:var(--text);transition:all .3s var(--ease)}
.fac-tag:hover{background:var(--clay);border-color:var(--clay);color:var(--petal);transform:translateY(-2px)}

/* ── Location ── */
.loc-section{padding:clamp(48px,8vw,80px) 0}
.loc-grid{display:grid;grid-template-columns:380px 1fr;gap:36px;align-items:start}
.loc-block{padding:18px 0;border-bottom:1px solid var(--border)}
.loc-block:first-child{padding-top:0}
.loc-block h3{font-family:var(--font-en);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);margin-bottom:4px}
.loc-block p{font-size:.88rem;color:var(--text);line-height:1.7}
.loc-block a{color:var(--clay)}
.loc-sub{font-size:.8rem!important;color:var(--text-light)!important;margin-top:3px}
.loc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.loc-tag{padding:3px 12px;border:1px solid var(--border);border-radius:20px;font-size:.72rem;color:var(--text-light)}
.loc-map{width:100%;min-height:480px;border-radius:10px;overflow:hidden;background:var(--petal)}
.loc-map iframe{width:100%;height:100%;min-height:480px}

/* ── Footer ── */
.footer-cta{padding:clamp(40px,6vw,64px) var(--px);border-top:1px solid var(--border);max-width:var(--container);margin:0 auto;display:flex;gap:clamp(40px,6vw,80px);align-items:flex-start}
.footer-cta-label{font-family:var(--font-display);font-size:.82rem;letter-spacing:.08em;color:var(--text-light);display:block}
.footer-cta-logo{font-family:var(--font-serif);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:900;color:var(--onyx);display:block;line-height:1.2}
.footer-cta-links{flex:1}
.footer-cta-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border)}
.footer-cta-row:last-child{border-bottom:none}
.cta-label{font-family:var(--font-display);font-size:.82rem;font-weight:600;color:var(--onyx);margin-right:10px}
.cta-sublabel{font-family:var(--font-serif);font-size:.78rem;color:var(--text-light)}
.cta-arrow{font-size:.82rem;color:var(--text-light);transition:color .3s}
.cta-arrow:hover{color:var(--clay)}

.footer-bottom{background:var(--onyx);padding:48px var(--px) 28px}
.footer-info{max-width:var(--container);margin:0 auto;display:flex;gap:60px;padding-bottom:32px;border-bottom:1px solid rgba(207,168,153,.1)}
.footer-col h4{font-family:var(--font-en);font-size:.7rem;font-weight:600;letter-spacing:.12em;color:var(--petal);margin-bottom:8px}
.footer-col p{font-size:.78rem;color:var(--blush);opacity:.5;line-height:1.8}
.footer-copy{max-width:var(--container);margin:0 auto;padding-top:16px;text-align:center}
.footer-copy p{font-size:.7rem;color:var(--blush);opacity:.25}

/* ── Back top ── */
.back-top{position:fixed;bottom:28px;right:28px;width:40px;height:40px;background:var(--clay);color:var(--petal);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .4s var(--ease);z-index:90;box-shadow:0 4px 16px rgba(93,36,29,.3)}
.back-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-top:hover{transform:translateY(-2px);background:var(--rust)}

/* ── Product Grid c3 (menu page with sidebar) ── */
.product-grid.c3{grid-template-columns:repeat(3,1fr)}

/* ── Product card desc ── */
.pcard-desc{font-size:.75rem;color:var(--text-light);line-height:1.5;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ── Brand Story ── */
.brand-story{padding:clamp(48px,8vw,96px) 0;background:var(--petal)}
.brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:center}
.brand-img{border-radius:10px;overflow:hidden}
.brand-img img{width:100%;height:auto;transition:transform .6s var(--ease)}
.brand-img:hover img{transform:scale(1.03)}
.brand-label{font-family:var(--font-en);font-size:.78rem;letter-spacing:.25em;color:var(--terracotta);margin-bottom:16px;display:block}
.brand-title{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--onyx);line-height:1.3;margin-bottom:24px}
.brand-title span{font-family:var(--font-en);font-weight:300;font-size:.7em;color:var(--text-light)}
.brand-desc{font-size:.92rem;line-height:2;color:var(--text-light);margin-bottom:12px}
.brand-more{font-family:var(--font-en);font-size:.82rem;font-weight:500;letter-spacing:.1em;color:var(--clay);display:inline-block;margin-top:16px;border-bottom:1px solid var(--clay);padding-bottom:2px;transition:color .3s}
.brand-more:hover{color:var(--terracotta)}

/* ── Feature Section (wholesale service style) ── */
.feature-section{padding:clamp(48px,8vw,96px) 0;background:var(--white)}
.feature-list{margin-top:48px;display:flex;flex-direction:column;gap:clamp(40px,6vw,80px)}
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:center}
.feature-row.reverse .feature-img{order:2}
.feature-row.reverse .feature-text{order:1}
.feature-img{border-radius:10px;overflow:hidden}
.feature-img img{width:100%;height:auto;transition:transform .6s var(--ease)}
.feature-img:hover img{transform:scale(1.03)}
.feature-label{font-family:var(--font-en);font-size:.72rem;letter-spacing:.2em;color:var(--terracotta);margin-bottom:10px;display:block}
.feature-title{font-family:var(--font-serif);font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:600;color:var(--onyx);margin-bottom:16px}
.feature-desc{font-size:.9rem;line-height:2;color:var(--text-light);margin-bottom:20px}
.feature-link{font-family:var(--font-en);font-size:.82rem;font-weight:500;letter-spacing:.08em;color:var(--clay);transition:color .3s}
.feature-link:hover{color:var(--terracotta)}

/* ── Gallery Section (Mosaic) ── */
.gallery-section{padding:clamp(48px,8vw,96px) 0;background:var(--petal)}
.gallery-mosaic{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:40px}
.gm-hero{position:relative;border-radius:12px;overflow:hidden;min-height:480px}
.gm-hero img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gm-hero:hover img{transform:scale(1.04)}
.gm-hero-overlay{position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(51,6,1,.7));display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(24px,4vw,40px)}
.gm-hero-label{font-family:var(--font-en);font-size:.72rem;letter-spacing:.25em;color:var(--blush);margin-bottom:8px}
.gm-hero-title{font-family:var(--font-serif);font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:600;color:var(--petal);margin-bottom:16px}
.gm-hero-link{font-family:var(--font-en);font-size:.82rem;letter-spacing:.1em;color:var(--blush);transition:color .3s}
.gm-hero-link:hover{color:var(--white)}
.gm-side{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.2fr 1fr;gap:16px}
.gm-item{border-radius:10px;overflow:hidden;position:relative}
.gm-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gm-item:hover img{transform:scale(1.08)}
.gm-item.gm-tall{grid-row:span 2;grid-column:1}
.gm-caption{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:linear-gradient(transparent,rgba(51,6,1,.5));opacity:0;transition:opacity .4s}
.gm-item:hover .gm-caption{opacity:1}
.gm-caption span{font-family:var(--font-serif);font-size:.82rem;color:var(--petal)}
.gm-bottom-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
.gm-strip-item{border-radius:10px;overflow:hidden;aspect-ratio:3/2}
.gm-strip-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gm-strip-item:hover img{transform:scale(1.08)}

/* ── Visit Banner ── */
.visit-banner{padding:clamp(48px,8vw,80px) 0;border-top:1px solid var(--border)}
.visit-inner{display:flex;align-items:center;gap:clamp(32px,5vw,60px);flex-wrap:wrap}
.visit-label{font-family:var(--font-en);font-size:.72rem;letter-spacing:.2em;color:var(--terracotta);margin-bottom:8px;display:block}
.visit-title{font-family:var(--font-serif);font-size:clamp(1.3rem,3vw,1.8rem);font-weight:600;color:var(--onyx);margin-bottom:12px}
.visit-addr{font-size:.88rem;color:var(--text-light)}
.visit-hours{font-size:.82rem;color:var(--text-light);margin-top:4px}
.visit-tags{display:flex;gap:6px;flex-wrap:wrap}
.visit-tag{padding:5px 16px;border:1px solid var(--border);border-radius:50px;font-size:.78rem;color:var(--text-light)}
.visit-btn{font-family:var(--font-en);font-size:.82rem;font-weight:500;letter-spacing:.08em;color:var(--white);background:var(--clay);padding:12px 28px;border-radius:6px;transition:background .3s;margin-left:auto}
.visit-btn:hover{background:var(--rust)}

/* ── Shop Layout (sidebar + content) ── */
.shop-layout{display:grid;grid-template-columns:220px 1fr;gap:clamp(32px,4vw,56px);align-items:start}
.shop-sidebar{position:sticky;top:120px}
.sidebar-title{font-family:var(--font-en);font-size:.72rem;font-weight:600;letter-spacing:.14em;color:var(--clay);margin-bottom:14px}
.sidebar-list{list-style:none;margin-bottom:24px}
.sidebar-list.sub{border-left:2px solid var(--border);padding-left:12px}
.sidebar-link{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--text-light);padding:6px 0;transition:color .3s}
.sidebar-link:hover,.sidebar-link.active{color:var(--clay);font-weight:500}
.sidebar-count{font-family:var(--font-en);font-size:.72rem;color:var(--text-light);opacity:.5}
.sidebar-info{border-top:1px solid var(--border);padding-top:20px;margin-top:8px}
.sidebar-note{font-size:.78rem;color:var(--text-light);line-height:1.6;margin-bottom:8px}
.sidebar-tel{font-family:var(--font-en);font-size:.82rem;color:var(--clay);font-weight:500;display:block;margin-top:12px}

/* ── Product Detail ── */
.page-hero.mini{padding:clamp(20px,3vw,32px) var(--px)}
.page-hero.mini::before{background:linear-gradient(135deg,var(--rust),var(--onyx))}
.breadcrumb{display:flex;gap:8px;align-items:center;font-family:var(--font-en);font-size:.75rem;letter-spacing:.06em;color:var(--blush)}
.breadcrumb a{color:var(--blush);opacity:.6;transition:opacity .3s}
.breadcrumb a:hover{opacity:1}
.breadcrumb .current{color:var(--petal)}

.pd-section{padding:clamp(48px,8vw,80px) 0}
.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:start}
.pd-photo-main{aspect-ratio:1/1;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative}
.pd-initial{font-family:var(--font-serif);font-size:clamp(4rem,8vw,6rem);font-weight:700;color:var(--clay);opacity:.15}
.pd-initial.light{color:var(--petal)}
.pd-badge{position:absolute;top:16px;left:16px;padding:5px 14px;background:var(--terracotta);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.06em;border-radius:4px}

.pd-info-top{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border)}
.pd-name{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--onyx);margin-bottom:4px}
.pd-eng{font-family:var(--font-en);font-size:1rem;color:var(--text-light);margin-bottom:16px}
.pd-price{font-family:var(--font-en);font-size:clamp(1.3rem,2.5vw,1.6rem);font-weight:700;color:var(--clay)}

.pd-desc{margin-bottom:24px}
.pd-desc p{font-size:.92rem;line-height:1.9;color:var(--text-light)}

.pd-option-group{margin-bottom:24px}
.pd-label{font-family:var(--font-en);font-size:.72rem;font-weight:600;letter-spacing:.12em;color:var(--clay);margin-bottom:10px}
.pd-options{display:flex;gap:8px}
.pd-opt-tag{padding:6px 18px;border:1px solid var(--border);border-radius:50px;font-family:var(--font-en);font-size:.78rem;color:var(--text);cursor:default;transition:all .3s}
.pd-opt-tag:hover{border-color:var(--clay);color:var(--clay)}

.pd-detail-info{border-top:1px solid var(--border);padding-top:20px;margin-bottom:24px}
.pd-detail-row{display:flex;padding:8px 0;border-bottom:1px solid var(--border)}
.pd-detail-row:last-child{border-bottom:none}
.pd-detail-label{font-size:.82rem;font-weight:600;color:var(--onyx);min-width:80px;flex-shrink:0}
.pd-detail-value{font-size:.82rem;color:var(--text-light)}

.pd-notice{background:var(--petal);border-radius:8px;padding:16px 20px;margin-bottom:24px}
.pd-notice p{font-size:.82rem;color:var(--text-light);line-height:1.7}

.pd-actions{display:flex;gap:10px}
.pd-btn{flex:1;text-align:center;padding:14px 20px;border-radius:6px;font-size:.88rem;font-weight:500;transition:all .3s}
.pd-btn.primary{background:var(--clay);color:var(--petal)}
.pd-btn.primary:hover{background:var(--rust)}
.pd-btn.secondary{background:var(--white);color:var(--clay);border:1px solid var(--clay)}
.pd-btn.secondary:hover{background:var(--petal)}

.pd-recommend{padding:0 0 clamp(48px,8vw,80px);border-top:1px solid var(--border);padding-top:clamp(48px,8vw,80px)}

/* ── Info Page Layout (brand/space shared) ── */
.info-page{padding:clamp(48px,8vw,80px) 0}
.info-layout{display:grid;grid-template-columns:200px 1fr;gap:clamp(32px,4vw,56px);align-items:start}
.info-sidebar{position:sticky;top:120px}
.sidebar-cta{border-top:1px solid var(--border);padding-top:20px;margin-top:16px}
.sidebar-cta-text{font-size:.82rem;color:var(--text-light);margin-bottom:12px;line-height:1.6}
.sidebar-cta-btn{display:block;text-align:center;padding:10px 16px;background:var(--clay);color:var(--petal);border-radius:6px;font-size:.82rem;font-weight:500;transition:background .3s}
.sidebar-cta-btn:hover{background:var(--rust)}

.info-content{display:flex;flex-direction:column;gap:clamp(48px,6vw,80px)}
.info-block{}
.info-block-head{margin-bottom:32px}

/* Info rows (alternating image+text — wholesaleservice style) */
.info-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:center}
.info-row.reverse .info-col.img{order:2}
.info-row.reverse .info-col.text{order:1}
.info-col.img{border-radius:10px;overflow:hidden}
.info-col.img img{width:100%;height:auto;display:block;transition:transform .6s var(--ease)}
.info-col.img:hover img{transform:scale(1.03)}
.info-label{font-family:var(--font-en);font-size:.72rem;letter-spacing:.2em;color:var(--terracotta);margin-bottom:10px;display:block}
.info-title{font-family:var(--font-serif);font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:600;color:var(--onyx);margin-bottom:16px}
.info-desc{font-size:.9rem;line-height:2;color:var(--text-light);margin-bottom:10px}
.info-desc strong{color:var(--onyx);font-weight:600}
.info-link{font-family:var(--font-en);font-size:.82rem;font-weight:500;letter-spacing:.08em;color:var(--clay);display:inline-block;margin-top:8px;transition:color .3s}
.info-link:hover{color:var(--terracotta)}

/* Brand identity card */
.brand-identity-card{background:var(--petal);border-radius:12px;padding:clamp(32px,4vw,56px);text-align:center}
.brand-logo-big{height:60px;margin:0 auto 20px}
.brand-id-name{font-family:var(--font-serif);font-size:1.8rem;font-weight:700;color:var(--onyx)}
.brand-id-sub{font-family:var(--font-en);font-size:.78rem;letter-spacing:.15em;color:var(--text-light);margin-top:4px}
.brand-id-since{font-family:var(--font-en);font-size:.72rem;color:var(--blush);margin-top:12px}

/* Identity grid (삼백 cards) */
.identity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.identity-card{padding:clamp(24px,3vw,40px);border-radius:12px;text-align:center;transition:transform .4s var(--ease)}
.identity-card:hover{transform:scale(1.03)}
.identity-kanji{font-size:2.4rem;display:block;margin-bottom:8px;color:var(--petal)}
.identity-kanji.dark{color:var(--clay)}
.identity-name{font-family:var(--font-serif);font-size:1.1rem;font-weight:600;color:var(--petal);margin-bottom:8px}
.identity-name.dark{color:var(--onyx)}
.identity-desc{font-size:.78rem;color:rgba(252,248,245,.65);line-height:1.7}
.identity-desc.dark{color:var(--text-light)}

/* Values grid with images */
.values-grid.v4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px}
.values-grid.v4 .val-card{background:var(--white);border-radius:10px;overflow:hidden;padding:0}
.val-icon-wrap{aspect-ratio:4/3;overflow:hidden}
.val-icon-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.val-card:hover .val-icon-wrap img{transform:scale(1.06)}
.values-grid.v4 .val-card .val-num{padding:20px 20px 0;margin-bottom:8px}
.values-grid.v4 .val-card h3{padding:0 20px;margin-bottom:6px}
.values-grid.v4 .val-card p{padding:0 20px 20px;font-size:.82rem}

/* Space gallery (wholesaleservice studio style) */
.space-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:10px}
.sg-item{border-radius:8px;overflow:hidden}
.sg-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.sg-item:hover img{transform:scale(1.06)}
.sg-item.large{grid-column:span 2;grid-row:span 2}

/* Space CTA */
.space-cta{background:var(--clay);border-radius:12px;padding:clamp(32px,5vw,56px);text-align:center}
.space-cta-title{font-family:var(--font-serif);font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:600;color:var(--petal);margin-bottom:16px}
.space-cta-desc{font-size:.88rem;color:var(--blush);margin-bottom:4px}
.space-cta-actions{display:flex;gap:10px;justify-content:center;margin-top:24px}
.space-cta-actions .pd-btn{flex:0;min-width:140px}
.space-cta-actions .pd-btn.secondary{border-color:var(--blush);color:var(--petal)}
.space-cta-actions .pd-btn.secondary:hover{background:rgba(252,248,245,.1)}

/* ── Mall Page ── */
.mall-page{padding:clamp(48px,8vw,80px) 0}
.mall-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px)}
.mall-card{background:var(--white);border-radius:12px;overflow:hidden;border:1px solid var(--border);transition:box-shadow .3s,transform .3s var(--ease)}
.mall-card:hover{box-shadow:0 8px 30px rgba(51,6,1,.08);transform:translateY(-2px)}
.mall-card-img{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;position:relative}
.mall-card-info{padding:16px 20px 20px}
.mall-card-info .pcard-name{font-size:.95rem;margin-bottom:2px}
.mall-card-info .pcard-eng{margin-bottom:6px}
.mall-desc{font-size:.78rem;color:var(--text-light);line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mall-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.mall-price{font-family:var(--font-en);font-size:1.1rem;font-weight:700;color:var(--clay)}
.mall-option-wrap{display:flex;gap:4px}
.mall-opt{padding:4px 12px;border:1px solid var(--border);border-radius:20px;font-size:.72rem;font-family:var(--font-en);color:var(--text-light);transition:all .2s}
.mall-opt.active{background:var(--clay);border-color:var(--clay);color:var(--petal)}
.mall-qty-row{display:flex;align-items:center;gap:10px}
.mall-qty{display:flex;align-items:center;border:1px solid var(--border);border-radius:6px;overflow:hidden}
.qty-btn{width:32px;height:32px;font-size:1rem;color:var(--text);display:flex;align-items:center;justify-content:center;transition:background .2s}
.qty-btn:hover{background:var(--petal)}
.qty-num{width:36px;text-align:center;font-family:var(--font-en);font-size:.88rem;font-weight:500;border-left:1px solid var(--border);border-right:1px solid var(--border)}
.mall-add-btn{flex:1;padding:8px 16px;background:var(--clay);color:var(--petal);border-radius:6px;font-size:.85rem;font-weight:500;transition:background .3s}
.mall-add-btn:hover{background:var(--rust)}
.mall-add-btn.added{background:var(--terracotta)}
.mall-detail-link{font-family:var(--font-en);font-size:.72rem;letter-spacing:.06em;color:var(--text-light);display:inline-block;margin-bottom:10px;transition:color .2s;border-bottom:1px solid transparent}
.mall-detail-link:hover{color:var(--clay);border-bottom-color:var(--clay)}

/* Cart summary (floating) */
.cart-summary{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(80px);z-index:90;background:var(--onyx);color:var(--petal);border-radius:50px;padding:10px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 8px 32px rgba(51,6,1,.25);opacity:0;visibility:hidden;transition:all .4s var(--ease)}
.cart-summary.has-items{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.cart-icon-wrap{position:relative;font-size:1.2rem}
.cart-count{position:absolute;top:-6px;right:-10px;background:var(--terracotta);color:#fff;font-size:.65rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.cart-detail{display:flex;align-items:center;gap:14px}
.cart-total{font-family:var(--font-en);font-size:.95rem;font-weight:600}
.cart-order-btn{padding:8px 20px;background:var(--clay);color:var(--petal);border-radius:50px;font-size:.82rem;font-weight:500;transition:background .3s}
.cart-order-btn:hover{background:var(--terracotta)}

/* Order modal */
.order-modal{position:fixed;inset:0;z-index:200;background:rgba(51,6,1,.5);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.order-modal.active{opacity:1;visibility:visible}
.order-modal-inner{background:var(--white);border-radius:16px;max-width:520px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(51,6,1,.2)}
.order-modal-head{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--border)}
.order-modal-head h2{font-family:var(--font-serif);font-size:1.2rem;font-weight:600;color:var(--onyx)}
.order-modal-close{font-size:1.5rem;color:var(--text-light);transition:color .2s}
.order-modal-close:hover{color:var(--clay)}
.order-modal-body{flex:1;overflow-y:auto;padding:20px 28px}
.order-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.order-row:last-child{border-bottom:none}
.order-item-info{flex:1}
.order-item-name{font-family:var(--font-serif);font-size:.9rem;color:var(--onyx);display:block}
.order-item-name small{font-family:var(--font-en);font-size:.75rem;color:var(--text-light)}
.order-item-price{font-family:var(--font-en);font-size:.78rem;color:var(--text-light)}
.order-item-subtotal{font-family:var(--font-en);font-size:.92rem;font-weight:600;color:var(--clay);min-width:80px;text-align:right}
.order-item-remove{color:var(--text-light);font-size:1.1rem;padding:4px 8px;transition:color .2s}
.order-item-remove:hover{color:var(--terracotta)}
.order-modal-foot{padding:20px 28px;border-top:1px solid var(--border)}
.order-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.order-total span{font-family:var(--font-serif);font-size:1rem;color:var(--text)}
.order-total strong{font-family:var(--font-en);font-size:1.3rem;color:var(--clay)}
.order-notice{font-size:.78rem;color:var(--text-light);text-align:center;margin-bottom:16px}
.order-call-btn{display:block;width:100%;text-align:center;padding:14px;background:var(--clay);color:var(--petal);border-radius:8px;font-size:.95rem;font-weight:500;transition:background .3s}
.order-call-btn:hover{background:var(--rust)}

/* ── Animations ── */
[data-anim]{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
[data-anim].visible{opacity:1;transform:translateY(0)}

/* ── Responsive ── */
@media(max-width:1024px){
    .product-grid.c4{grid-template-columns:repeat(3,1fr)}
    .product-grid.c3{grid-template-columns:repeat(2,1fr)}
    .hero-split{grid-template-columns:1fr;min-height:auto}
    .hero-left,.hero-right{padding:clamp(48px,8vw,72px)}
    .hero-right{min-height:50vh}
    .story-grid{grid-template-columns:1fr;gap:40px}
    .story-cards{flex-direction:row}
    .sb-card{flex:1}
    .loc-grid{grid-template-columns:1fr}
    .values-grid{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}
    .values-grid.v4{grid-template-columns:repeat(2,1fr)}
    .about-banner-inner,.footer-cta{flex-direction:column;gap:24px}
    .footer-info{flex-direction:column;gap:24px}
    .dual-grid{grid-template-columns:1fr}
    .brand-grid{grid-template-columns:1fr;gap:40px}
    .feature-row,.feature-row.reverse{grid-template-columns:1fr}
    .feature-row.reverse .feature-img{order:0}
    .feature-row.reverse .feature-text{order:0}
    .gallery-mosaic{grid-template-columns:1fr;gap:12px}
    .gm-hero{min-height:360px}
    .gm-side{grid-template-columns:repeat(3,1fr);grid-template-rows:auto}
    .gm-item.gm-tall{grid-row:span 1;grid-column:1}
    .gm-bottom-strip{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
    .shop-layout{grid-template-columns:1fr}
    .shop-sidebar{display:none}
    .mall-grid{grid-template-columns:repeat(2,1fr)}
    .pd-grid{grid-template-columns:1fr}
    .visit-inner{flex-direction:column;align-items:flex-start;gap:20px}
    .visit-btn{margin-left:0}
    .info-layout{grid-template-columns:1fr}
    .info-sidebar{display:none}
    .info-row,.info-row.reverse{grid-template-columns:1fr}
    .info-row.reverse .info-col.img{order:0}
    .info-row.reverse .info-col.text{order:0}
    .identity-grid{grid-template-columns:repeat(3,1fr)}
    .space-gallery{grid-template-columns:repeat(3,1fr);grid-auto-rows:150px}
    .sg-item.large{grid-column:span 2}
}
@media(max-width:768px){
    .header-nav{display:none}
    .hamburger{display:flex}
    .product-grid.c4{grid-template-columns:repeat(2,1fr)}
    .product-grid.c3{grid-template-columns:repeat(2,1fr)}
    .story-cards{flex-direction:column}
    .about-b-row{flex-direction:column;align-items:flex-start;gap:6px}
    .footer-cta-row{flex-direction:column;align-items:flex-start;gap:4px}
    .gm-side{grid-template-columns:1fr 1fr}
    .gm-item.gm-tall{grid-row:span 2;grid-column:1}
    .gm-bottom-strip{grid-template-columns:repeat(2,1fr)}
    .pd-actions{flex-direction:column}
    .mall-grid{grid-template-columns:1fr}
    .identity-grid{grid-template-columns:1fr}
    .values-grid.v4{grid-template-columns:1fr}
    .space-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:130px}
    .sg-item.large{grid-column:span 2;grid-row:span 1}
    .space-cta-actions{flex-direction:column}
}
@media(max-width:480px){
    .product-grid.c4,.product-grid.c3{grid-template-columns:1fr 1fr;gap:10px}
    .pcard-name{font-size:.85rem}
    .hero-split{grid-template-columns:1fr}
    .gm-bottom-strip{grid-template-columns:1fr 1fr}
    .space-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:110px}
}
