/* ── Pretendard local fonts ──────────────────────────────────────────────── */
@font-face { font-family:"Pretendard"; src:url("../fonts/Pretendard-Regular.otf") format("opentype"); font-weight:400; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("../fonts/Pretendard-Bold.otf") format("opentype"); font-weight:700; font-display:swap; }
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,400;1,500&display=swap');

/* ── Tokens ─────────────────────────────────────────────────────────────── */
:root {
  --red:#E60023; --red-dark:#B8001C; --red-bg:#FFF5F6;
  --pink:#FDE1E8; --pink-light:#FFF4F6; --pink-deep:#F5C0CF;
  --blue:#BFE8FA; --blue-light:#E8F4FB;
  --cream:#FAF6F0; --white:#FFFFFF; --bg:#FAFAFA; --bg2:#F6F6F7;
  --text:#1A1A2E; --text-mid:#555566; --text-soft:#9999AA;
  --border:#E8E8EC; --border-soft:#F2F2F4;
  --sans:"Pretendard",-apple-system,BlinkMacSystemFont,sans-serif;
  --serif:"Cormorant Garamond",serif;
  --max:1280px;
  --r:10px; --r-lg:16px; --r-xl:22px; --r-pill:999px;
  --sh-sm:0 1px 4px rgba(0,0,0,.05); --sh:0 6px 24px rgba(0,0,0,.07); --sh-lg:0 16px 48px rgba(0,0,0,.1);
  --ease:cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.65;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased;}
img,svg{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
button{font-family:var(--sans);cursor:pointer;border:0;background:none;}
h1,h2,h3,h4,h5,h6{font-family:var(--sans);font-weight:700;line-height:1.2;letter-spacing:-.02em;}

/* ── Layout ─────────────────────────────────────────────────────────────── */
.container{max-width:var(--max);margin:0 auto;padding:0 40px;}
.section-pad{padding:96px 0;}
.text-center{text-align:center;}

/* ── Type ────────────────────────────────────────────────────────────────── */
.eyebrow{display:inline-block;font-weight:700;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin-bottom:14px;}
.eyebrow-label{display:inline-block;font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:18px;}
.h2{font-weight:700;font-size:clamp(26px,3.2vw,40px);line-height:1.22;letter-spacing:-.025em;margin-bottom:14px;}
.h2-sub{font-weight:400;font-size:15px;color:var(--text-mid);max-width:520px;margin:0 auto;}

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:var(--r-pill);font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:.02em;white-space:nowrap;transition:all .25s var(--ease);cursor:pointer;}
.btn-primary{background:var(--red);color:#fff;border:2px solid var(--red);}
.btn-primary:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(230,0,35,.22);}
.btn-outline{background:transparent;color:var(--text);border:2px solid var(--text);}
.btn-outline:hover{background:var(--text);color:#fff;}
.btn-outline-red{background:transparent;color:var(--red);border:2px solid var(--red);}
.btn-outline-red:hover{background:var(--red);color:#fff;}
.btn-white{background:#fff;color:var(--red);border:2px solid #fff;}
.btn-white:hover{background:transparent;color:#fff;}
.btn-sm{padding:10px 20px;font-size:13px;}
.btn-lg{padding:18px 36px;font-size:15px;}
.btn .arr{transition:transform .25s var(--ease);}
.btn:hover .arr{transform:translateX(4px);}
.link-arr{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--text);border-bottom:1.5px solid currentColor;padding-bottom:3px;transition:color .2s,gap .2s;}
.link-arr:hover{color:var(--red);gap:12px;}

/* ── Tags / Pills ────────────────────────────────────────────────────────── */
.tag{display:inline-block;padding:5px 12px;border-radius:var(--r-pill);font-weight:700;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#fff;}
.tag-best{background:var(--red);}
.tag-new{background:#222;}
.tag-collabo{background:#fff;color:var(--text);border:1px solid var(--border);}
.pill{display:inline-block;padding:8px 18px;background:#fff;border-radius:var(--r-pill);font-weight:700;font-size:13px;color:var(--text);box-shadow:var(--sh-sm);}

/* ── Fade-in ──────────────────────────────────────────────────────────────── */
.fi{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.fi.iv{opacity:1;transform:none;}
.fi-d1{transition-delay:.08s;} .fi-d2{transition-delay:.16s;} .fi-d3{transition-delay:.24s;} .fi-d4{transition-delay:.32s;}

/* ── Nav ─────────────────────────────────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.95);border-bottom:1px solid var(--border-soft);transition:box-shadow .25s var(--ease);}
.nav.scrolled{box-shadow:0 2px 16px rgba(0,0,0,.06);}
.nav-inner{max-width:var(--max);margin:0 auto;padding:0 40px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:40px;}
.nav-logo img{height:22px;width:auto;}
.nav-menu{display:flex;align-items:center;gap:40px;flex:1;justify-content:center;}
.nav-menu a{font-weight:700;font-size:13px;letter-spacing:.08em;color:var(--text-mid);position:relative;padding-bottom:4px;transition:color .2s;}
.nav-menu a:hover,.nav-menu a.active{color:var(--text);}
.nav-menu a.active::after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2.5px;background:var(--red);border-radius:2px;}
.nav-cta{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.nav-burger{display:none;width:36px;height:36px;flex-direction:column;justify-content:center;gap:5px;padding:4px;}
.nav-burger span{display:block;width:18px;height:2px;background:var(--text);margin-left:auto;border-radius:2px;transition:all .25s var(--ease);}





/* ── Page Hero (all subpages) ───────────────────────────────────────────── */
.page-hero{padding:148px 0 72px;background:linear-gradient(180deg,var(--pink-light) 0%,#fff 100%);text-align:center;}
.page-hero h1{font-weight:700;font-size:clamp(30px,4.5vw,52px);line-height:1.2;letter-spacing:-.025em;margin-bottom:14px;}
.page-hero p{font-weight:400;font-size:15px;color:var(--text-mid);max-width:540px;margin:0 auto 8px;}
.page-hero .en-sub{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--text-soft);}
.contact-notice{max-width:720px;margin:28px auto 0;padding:14px 22px;background:var(--red-bg);border-left:4px solid var(--red);border-radius:8px;font-size:14px;}

/* ── CTA banner (red) ────────────────────────────────────────────────────── */
.cta-banner{background:var(--red);color:#fff;padding:80px 0;text-align:center;}
.cta-banner h3{font-weight:700;font-size:clamp(22px,3vw,36px);letter-spacing:-.02em;margin-bottom:12px;}
.cta-banner p{color:rgba(255,255,255,.72);margin-bottom:32px;font-size:15px;}
.cta-banner .cta-sub{margin-top:20px;font-size:12px;color:rgba(255,255,255,.5);letter-spacing:.05em;}

/* ── Footer (white) ──────────────────────────────────────────────────────── */
.footer{background:#fff;padding:72px 0 32px;border-top:1px solid var(--border);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.footer-logo img{height:22px;margin-bottom:14px;opacity:1;}
.footer-desc{font-size:13px;line-height:1.85;color:var(--text-soft);}
.footer h4{font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text);margin-bottom:16px;}
.footer ul{display:flex;flex-direction:column;gap:10px;}
.footer ul li,.footer ul a{font-size:13px;color:var(--text-soft);transition:color .2s;}
.footer ul a:hover{color:var(--red);}
.footer-bottom{border-top:1px solid var(--border-soft);padding-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-soft);}
.footer-bottom-links{display:flex;gap:24px;}
.footer-bottom-links a:hover{color:var(--red);}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media(max-width:1024px){.container{padding:0 28px;}.footer-grid{grid-template-columns:1fr 1fr;gap:32px;}}
@media(max-width:768px){.container{padding:0 20px;}.section-pad{padding:64px 0;}.nav-inner{padding:0 20px;}.nav-menu{display:none;}.nav-burger{display:flex;}.nav-cta .btn:not(.mobile-show){display:none;}.page-hero{padding:110px 0 52px;}.footer{padding:52px 0 24px;}.footer-grid{grid-template-columns:1fr;gap:24px;}.footer-bottom{flex-direction:column;gap:10px;text-align:center;}}
@media(max-width:480px){.container{padding:0 16px;}}

/* ── Policy Modal ────────────────────────────────────────────────────────── */
.policy-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;align-items:center;justify-content:center;padding:20px;}
.policy-overlay.open{display:flex;}
.policy-modal{background:#fff;border-radius:var(--r-xl);max-width:640px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--sh-lg);}
.policy-modal-head{padding:28px 32px 20px;border-bottom:1px solid var(--border-soft);display:flex;justify-content:space-between;align-items:center;}
.policy-modal-head h3{font-weight:700;font-size:20px;}
.policy-modal-close{font-size:24px;cursor:pointer;color:var(--text-soft);line-height:1;padding:4px;transition:color .2s;}
.policy-modal-close:hover{color:var(--text);}
.policy-modal-body{padding:28px 32px;overflow-y:auto;font-size:14px;color:var(--text-mid);line-height:1.85;}
.policy-modal-body h4{font-weight:700;font-size:15px;color:var(--text);margin:20px 0 8px;}
.policy-modal-body h4:first-child{margin-top:0;}

/* ── Mobile menu z-index fix ─────────────────────────────────────────────── */
.nav { z-index: 1000 !important; }

/* ── Mobile responsive: hero slider min-height ───────────────────────────── */
@media (max-width: 768px) {
  .hero-slide .hero-img-wrap,
  .hero-slider .hero-img-wrap {
    min-height: 280px !important;
    aspect-ratio: auto !important;
  }
  .hero-img-wrap img {
    min-height: 280px !important;
    object-fit: cover !important;
  }
  /* Product card image min-height */
  .product-img img,
  .product-img {
    min-height: 180px !important;
  }
  /* Ensure press grid is single column */
  .press-grid { grid-template-columns: 1fr !important; }
  /* Video grid single column */
  .video-grid { grid-template-columns: 1fr !important; }
}

/* ── Mobile menu (fixed, outside nav) ───────────────────────────────────── */
.mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  padding: 100px 32px 60px;
  display: none;
  flex-direction: column;
  gap: 0;
  z-index: 999;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.mobile-menu.open { display: flex; }
.mobile-menu a {
  padding: 20px 0;
  font-weight: 700;
  font-size: 18px;
  border-bottom: 1px solid #f0f0f0;
  color: #1A1A2E;
}
.mobile-menu .btn-primary { margin-top: 28px; justify-content: center; }
