:root{
    --ink:#1c1a1b;
    --wine:#7d2842;        /* 비에레브 포인트 - 딥 와인/버건디 */
    --wine-soft:#a34b64;
    --pink:#e9c9d1;
    --pink-bg:#f7eef0;
    --line:#e7e3e4;
    --muted:#8a8385;
    --bg:#ffffff;
    --sale:#c0392b;
    --maxw:1240px;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{
    font-family:"Noto Sans KR",system-ui,sans-serif;
    color:var(--ink);
    background:var(--bg);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .serif{font-family:"Cormorant Garamond",serif}
  .eyebrow{font-family:"Cormorant Garamond",serif;letter-spacing:.28em;font-size:13px;color:var(--wine);text-transform:uppercase}
  .sec-title{font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:600;letter-spacing:.04em;text-align:center;margin:8px 0 4px}
  .sec-sub{text-align:center;color:var(--muted);font-size:14px;font-weight:300;margin-bottom:38px}
  .btn-line{display:inline-block;border:1px solid var(--ink);padding:13px 34px;font-size:13px;letter-spacing:.14em;transition:.25s}
  .btn-line:hover{background:var(--ink);color:#fff}
  .btn-wine{display:inline-block;background:var(--wine);color:#fff;padding:14px 40px;font-size:13px;letter-spacing:.14em;transition:.25s}
  .btn-wine:hover{background:#621e33}

  /* ===== 상단 공지 바 ===== */
  .topbar{background:var(--wine);color:#fff;font-size:13px;text-align:center;padding:9px 12px;letter-spacing:.02em}
  .topbar b{font-weight:500}

  /* ===== 헤더 ===== */
  header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
  .head-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:92px}
  nav.main{display:flex;gap:34px;font-size:15px;font-weight:500}
  nav.main a{position:relative;padding:6px 0}
  nav.main a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--wine);transition:.25s}
  nav.main a:hover::after{width:100%}
  .brand{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:700;letter-spacing:.02em;text-align:center;color:var(--wine)}
  .brand small{display:block;font-family:"Noto Sans KR";font-size:11px;letter-spacing:.5em;color:var(--ink);margin-top:-4px}
  .head-tools{display:flex;justify-content:flex-end;gap:20px;align-items:center}
  .icn{width:22px;height:22px;cursor:pointer;opacity:.85}
  .icn:hover{opacity:1}
  .cart-badge{position:relative}
  .cart-badge span{position:absolute;top:-7px;right:-9px;background:var(--wine);color:#fff;font-size:10px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center}

  /* ===== 히어로 슬라이더 ===== */
  .hero{position:relative;overflow:hidden;background:#efeaea}
  .slides{display:flex;transition:transform .7s cubic-bezier(.6,.05,.2,1)}
  .slide{min-width:100%;position:relative;height:470px}
  .slide img{width:100%;height:470px;object-fit:cover;object-position:center}
  .slide .caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:14px;padding-left:9%}
  .slide .caption .eyebrow{color:var(--wine)}
  .slide .caption h2{font-family:"Cormorant Garamond",serif;font-size:52px;font-weight:600;line-height:1.1;margin:0;color:var(--ink)}
  .slide .caption p{max-width:360px;color:#4a4446;font-weight:300}
  .slide.text-hero{background:linear-gradient(120deg,#f7eef0 0%,#efe3e6 100%)}
  .slide.text-hero.dark{background:linear-gradient(120deg,#2a2023 0%,#4a2c37 100%)}
  .slide.text-hero.dark h2,.slide.text-hero.dark p{color:#fff}
  .slide.text-hero .caption{height:470px}
  .dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:5}
  .dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(0,0,0,.25);cursor:pointer;padding:0}
  .dots button.on{background:var(--wine);width:24px;border-radius:5px}
  .arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.75);border:0;cursor:pointer;font-size:18px;color:#333}
  .arrow:hover{background:#fff}
  .arrow.prev{left:22px}
  .arrow.next{right:22px}

  /* ===== 프로모 스트립 ===== */
  .promo{border-bottom:1px solid var(--line)}
  .promo .wrap{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;padding:16px 24px;font-size:13.5px;color:var(--muted)}
  .promo b{color:var(--wine)}

  /* ===== 섹션 공통 ===== */
  section.block{padding:78px 0}
  section[id],div[id]{scroll-margin-top:100px}

  /* ===== 상품 그리드/캐러셀 ===== */
  .prod{position:relative}
  .prod .thumb{position:relative;overflow:hidden;background:#f4f1f2;aspect-ratio:1/1}
  .prod .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
  .prod:hover .thumb img{transform:scale(1.05)}
  .prod .wish{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.85);display:grid;place-items:center;font-size:15px;color:#b98;opacity:0;transition:.25s}
  .prod:hover .wish{opacity:1}
  .prod .badge{position:absolute;top:12px;left:12px;background:var(--wine);color:#fff;font-size:11px;font-weight:500;padding:4px 9px;letter-spacing:.05em}
  .prod .name{margin-top:16px;font-size:15px;font-weight:500;color:var(--ink);min-height:44px}
  .prod .price{display:flex;align-items:baseline;gap:8px;margin-top:4px}
  .prod .sale{color:var(--sale);font-weight:700}
  .prod .now{font-weight:700;font-size:16px}
  .prod .was{color:#b7b1b3;text-decoration:line-through;font-size:13px}

  .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 26px}

  /* carousel */
  .rail{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
  .rail .prod{min-width:288px;scroll-snap-align:start}
  .rail::-webkit-scrollbar{height:6px}
  .rail::-webkit-scrollbar-thumb{background:#dcd6d8;border-radius:3px}

  /* ===== 피처 배너 (브랜드 스토리) ===== */
  .feature{background:linear-gradient(115deg,#241a1d 0%,#502e39 100%);color:#fff;overflow:hidden}
  .feature .wrap{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;padding-top:0;padding-bottom:0}
  .feature .txt{padding:80px 0}
  .feature .eyebrow{color:var(--pink)}
  .feature h2{font-family:"Cormorant Garamond",serif;font-size:46px;line-height:1.15;font-weight:600;margin:12px 0 18px}
  .feature p{color:#e4d7db;font-weight:300;max-width:440px;margin-bottom:30px}
  .feature .btn-line{border-color:#fff;color:#fff}
  .feature .btn-line:hover{background:#fff;color:var(--ink)}
  .feature .media{align-self:stretch;position:relative}
  .feature .media img{width:100%;height:100%;min-height:440px;object-fit:cover}

  /* ===== 리뷰 ===== */
  .reviews{background:var(--pink-bg)}
  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .rev-card{background:#fff;padding:28px 26px;border:1px solid #f0e4e7}
  .stars{color:#e0a23c;font-size:14px;letter-spacing:2px}
  .rev-card p{font-size:14.5px;margin:12px 0 18px;min-height:66px}
  .rev-card .meta{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:14px}
  .rev-card .meta img{width:46px;height:46px;object-fit:cover;border-radius:6px}
  .rev-card .meta .p{font-size:12.5px;color:var(--muted)}
  .rev-card .meta .p b{display:block;color:var(--ink);font-weight:500}

  /* ===== 멤버십 CTA ===== */
  .member{background:var(--wine);color:#fff;text-align:center;padding:66px 24px}
  .member .eyebrow{color:var(--pink)}
  .member h2{font-family:"Cormorant Garamond",serif;font-size:38px;font-weight:600;margin:10px 0 8px}
  .member p{color:#f0dbe1;font-weight:300;margin-bottom:26px}
  .member .btn-line{border-color:#fff;color:#fff}
  .member .btn-line:hover{background:#fff;color:var(--wine)}

  /* ===== 푸터 ===== */
  footer{background:#1c1a1b;color:#b7b0b2;font-size:13px;padding:60px 0 40px}
  .foot-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;padding-bottom:40px;border-bottom:1px solid #332e30}
  .foot-top h4{color:#fff;font-size:13px;letter-spacing:.05em;margin:0 0 16px;font-weight:500}
  .foot-top a{display:block;padding:5px 0;color:#b7b0b2}
  .foot-top a:hover{color:#fff}
  .cs .num{font-family:"Cormorant Garamond",serif;font-size:30px;color:#fff;font-weight:600}
  .cs .small{font-size:12px;color:#8a8385;margin-top:2px}
  .cs .bank{margin-top:18px;font-size:12.5px;line-height:1.7}
  .cs .bank b{color:#fff;font-weight:500}
  .foot-bottom{padding-top:26px;font-size:12px;color:#8a8385;line-height:1.9}
  .foot-bottom .brand-f{font-family:"Cormorant Garamond",serif;font-size:22px;color:#fff;letter-spacing:.04em;margin-bottom:14px}
  .foot-bottom .links{display:flex;gap:18px;margin-bottom:14px;flex-wrap:wrap}
  .foot-bottom .links a{color:#cfc9cb}
  .foot-bottom .links a:hover{color:#fff}

  /* ===== 반응형 ===== */
  @media(max-width:1000px){
    .grid4{grid-template-columns:repeat(2,1fr)}
    .rev-grid{grid-template-columns:1fr}
    .feature .wrap{grid-template-columns:1fr}
    .feature .txt{padding:56px 0 40px}
    .feature .media img{min-height:320px}
    .foot-top{grid-template-columns:1fr 1fr}
  }
  @media(max-width:720px){
    .head-inner{grid-template-columns:auto 1fr auto;height:66px}
    nav.main{display:none}
    .brand{font-size:26px;text-align:left}
    .slide img,.slide.text-hero .caption{height:380px}
    .slide .caption h2{font-size:34px}
    .sec-title{font-size:32px}
    .grid4{grid-template-columns:repeat(2,1fr);gap:22px 16px}
    .foot-top{grid-template-columns:1fr}
    section.block{padding:52px 0}
  }