:root{
    --pearl:#FBF8F4; --pearl-2:#F5EFE6; --cream:#EFE3D0;
    --gold:#B08D57; --gold-light:#D9BE8F; --gold-deep:#8C6B3E;
    --rose:#D9A9A0; --rose-deep:#B97D71;
    --ink:#2B2420; --ink-soft:#71624F;
    --line:rgba(43,36,32,0.12); --shadow:0 20px 60px rgba(43,36,32,0.08);
    --serif:'Cormorant Garamond', serif; --sans:'Jost', sans-serif;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--pearl); color:var(--ink); font-family:var(--sans); font-weight:300; line-height:1.6; overflow-x:hidden;}
  body[dir="rtl"]{font-family:'Noto Naskh Arabic', var(--sans);}
  body[lang="zh"]{font-family:'Noto Sans SC', var(--sans);}
  a{color:inherit; text-decoration:none;}
  img,svg{display:block; max-width:100%;}
  button{font-family:inherit;}
  .eyebrow{font-family:var(--sans); font-size:0.72rem; letter-spacing:0.35em; text-transform:uppercase; color:var(--gold-deep); font-weight:500;}
  body[dir="rtl"] .eyebrow{letter-spacing:0.05em;}
  h1,h2,h3,h4{font-family:var(--serif); font-weight:500; color:var(--ink);}
  body[lang="zh"] h1,body[lang="zh"] h2,body[lang="zh"] h3,body[lang="zh"] h4{font-family:'Noto Sans SC', var(--serif)}
  .wrap{max-width:1180px; margin:0 auto; padding:0 6vw;}
  .divider{width:64px; height:1px; background:var(--gold); margin:22px 0;}
  .divider.center{margin-left:auto; margin-right:auto;}

  .reveal{opacity:0; transform:translateY(28px); transition:opacity 0.9s ease, transform 0.9s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){.reveal{opacity:1; transform:none; transition:none;} html{scroll-behavior:auto;}}

  /* ===== NAV (full-bleed editorial) ===== */
  .site-header,header.site-header{
    position:fixed; top:0; left:0; right:0; z-index:100; width:100%;
    background:linear-gradient(180deg, rgba(251,248,244,0.97) 0%, rgba(245,239,230,0.94) 100%);
    backdrop-filter:blur(16px) saturate(1.1);
    border-bottom:1px solid rgba(176,141,87,0.28);
    box-shadow:0 10px 40px rgba(43,36,32,0.06);
  }
  .site-header__bar{
    height:2px; width:100%;
    background:linear-gradient(90deg, transparent 0%, var(--gold) 20%, var(--gold-light) 50%, var(--gold) 80%, transparent 100%);
    opacity:0.85;
  }
  .site-header__nav{
    display:flex; align-items:center; justify-content:space-between; gap:clamp(1rem, 2.5vw, 2.5rem);
    width:100%; max-width:none; margin:0;
    min-height:78px; height:auto;
    padding:0 clamp(1.25rem, 4.5vw, 4rem);
  }
  nav.wrap{display:flex; align-items:center; justify-content:space-between; height:78px;}
  .logo,.site-header__logo{
    font-family:var(--serif); font-size:clamp(1.35rem, 2vw, 1.7rem); letter-spacing:0.2em; font-weight:600; color:var(--ink);
    flex:0 0 auto; white-space:nowrap; position:relative; z-index:2;
  }
  .logo span,.site-header__logo span{color:var(--gold);}
  .nav-links{
    display:flex; align-items:center; justify-content:center; flex:1 1 auto; flex-wrap:wrap;
    gap:clamp(1.1rem, 2.4vw, 2.6rem); list-style:none;
    font-family:var(--serif); font-size:0.92rem; letter-spacing:0.14em; text-transform:uppercase; font-weight:500;
  }
  body[dir="rtl"] .nav-links{letter-spacing:0.04em; font-size:0.95rem;}
  .nav-links a{
    position:relative; display:inline-block; padding:8px 0 10px; color:var(--ink-soft);
    transition:color 0.3s ease;
  }
  .nav-links a::after{
    content:''; position:absolute; left:50%; bottom:0; width:0; height:1px;
    background:var(--gold); transform:translateX(-50%); transition:width 0.35s ease;
  }
  .nav-links a:hover,.nav-links a.active{color:var(--ink);}
  .nav-links a:hover::after,.nav-links a.active::after{width:100%;}
  .header-tools{display:flex; align-items:center; gap:12px; flex:0 0 auto; margin-inline-start:auto;}
  .lang-switch{display:flex; gap:6px; font-size:0.68rem; letter-spacing:0.06em;}
  .lang-switch button,.lang-switch a{
    background:rgba(255,255,255,0.35); border:1px solid rgba(176,141,87,0.28); color:var(--ink-soft);
    padding:6px 12px; border-radius:999px; cursor:pointer; font-family:var(--sans);
    transition:all 0.25s ease; display:inline-flex; align-items:center; text-decoration:none;
  }
  .lang-switch button.active, .lang-switch button:hover,.lang-switch a.active, .lang-switch a:hover{
    background:var(--ink); color:var(--pearl); border-color:var(--ink);
  }

  /* ===== HERO ===== */
  .hero{min-height:640px; min-height:100vh; display:flex; align-items:center; justify-content:flex-start; position:relative; padding:82px 0 0;
    background:radial-gradient(ellipse 60% 50% at 80% 15%, rgba(217,169,160,0.25), transparent 60%),
      radial-gradient(ellipse 50% 45% at 15% 85%, rgba(176,141,87,0.18), transparent 60%),
      linear-gradient(180deg, var(--pearl) 0%, var(--pearl-2) 100%);
    overflow:hidden; text-align:left; width:100%; max-width:100%;}
  .hero::before{content:''; position:absolute; inset:0; z-index:1;
    background-image:linear-gradient(rgba(176,141,87,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(176,141,87,0.05) 1px, transparent 1px);
    background-size:64px 64px; mask-image:radial-gradient(ellipse 70% 70% at 50% 40%, black, transparent); pointer-events:none;}
  .hero.has-image::before,
  .hero.has-video::before{display:none;}
  .hero-shade{display:none; position:absolute; inset:0; z-index:2; pointer-events:none;
    background:linear-gradient(90deg, rgba(20,16,12,0.55) 0%, rgba(20,16,12,0.28) 42%, rgba(20,16,12,0.08) 72%, transparent 100%);}
  .hero.has-image .hero-shade,
  .hero.has-video .hero-shade{display:block;}
  .hero-slides{position:absolute; inset:0; z-index:1; width:100%; height:100%; min-height:100%;}
  .hero-slide{position:absolute; inset:0; opacity:0; visibility:hidden; z-index:0; transition:opacity 0.9s ease;
    background-color:#1a1a1a; background-size:cover; background-position:center center; background-repeat:no-repeat;
    width:100%; height:100%; min-height:100%;}
  .hero-slide.is-active{opacity:1 !important; visibility:visible !important; z-index:1;}
  .hero-slide__media,
  .hero-slide video{position:absolute; inset:0; width:100%; height:100%; max-width:none !important; object-fit:cover; object-position:center center; pointer-events:none;}
  .hero-arrow{position:absolute; top:50%; z-index:4; transform:translateY(-50%);
    width:44px; height:44px; border:1px solid rgba(255,255,255,0.55); background:rgba(0,0,0,0.28);
    color:#fff; display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
    backdrop-filter:blur(6px); transition:background 0.25s ease, border-color 0.25s ease;}
  .hero-arrow:hover{background:rgba(0,0,0,0.5); border-color:#fff;}
  .hero-arrow--prev{left:1.25rem;}
  .hero-arrow--next{right:1.25rem;}
  body[dir="rtl"] .hero-arrow--prev{left:auto; right:1.25rem;}
  body[dir="rtl"] .hero-arrow--next{right:auto; left:1.25rem;}
  .hero-inner{position:relative; z-index:3; max-width:560px; width:min(560px, 88vw); margin:0 0 0 6vw; padding:0;
    text-align:left; background:transparent; border:0; box-shadow:none;}
  .hero-eyebrow{display:inline-flex; align-items:center; gap:12px; margin-bottom:22px; max-width:100%;
    padding:8px 14px 8px 10px; border:1px solid rgba(255,255,255,0.35); background:rgba(0,0,0,0.22);
    backdrop-filter:blur(6px);}
  .hero-eyebrow__mark{width:8px; height:8px; border-radius:50%; background:var(--gold); flex:0 0 auto;
    box-shadow:0 0 0 4px rgba(197,165,114,0.25);}
  .hero-eyebrow__text{font-family:var(--sans); font-size:0.72rem; letter-spacing:0.22em; text-transform:uppercase;
    color:#f7efdf; font-weight:500; line-height:1.45;}
  body[dir="rtl"] .hero-eyebrow__text{letter-spacing:0.06em;}
  .hero .eyebrow{margin-bottom:22px;}
  .hero-title,
  .hero h1{font-size:clamp(2.2rem, 7vw, 5.2rem); letter-spacing:0.08em; line-height:1.05; font-weight:500; margin:0; color:#fff;
    text-shadow:0 2px 24px rgba(0,0,0,0.35); word-break:break-word;}
  .hero-title em,
  .hero h1 em{font-style:italic; color:var(--gold); font-weight:400;}
  .hero:not(.has-image):not(.has-video) .hero-title,
  .hero:not(.has-image):not(.has-video) .hero h1{color:var(--ink); text-shadow:none;}
  .hero:not(.has-image):not(.has-video) .hero-eyebrow{background:rgba(255,255,255,0.55); border-color:rgba(176,141,87,0.45);}
  .hero:not(.has-image):not(.has-video) .hero-eyebrow__text{color:var(--gold-deep);}
  .hero-sub{font-family:var(--serif); font-style:italic; font-size:clamp(1.05rem, 2.4vw, 1.25rem); color:rgba(255,255,255,0.9); margin:22px 0 8px; max-width:480px;
    text-shadow:0 1px 12px rgba(0,0,0,0.35);}
  .hero:not(.has-image):not(.has-video) .hero-sub{color:var(--ink-soft); text-shadow:none;}
  .hero-tagline2{font-size:0.98rem; color:#f0d0c8; margin:8px 0 0; letter-spacing:0.02em; max-width:480px;
    text-shadow:0 1px 10px rgba(0,0,0,0.3);}
  .hero:not(.has-image):not(.has-video) .hero-tagline2{color:var(--rose-deep); text-shadow:none;}
  .hero-cta{display:inline-flex; align-items:center; justify-content:center; gap:12px; margin-top:36px; padding:16px 40px; border:1px solid rgba(255,255,255,0.85); border-radius:2px; font-size:0.78rem; letter-spacing:0.22em; text-transform:uppercase; background:transparent; color:#fff; cursor:pointer; transition:all 0.35s ease;}
  .hero-cta:hover{background:#fff; color:var(--ink); letter-spacing:0.28em;}
  .hero:not(.has-image):not(.has-video) .hero-cta{border-color:var(--ink); color:var(--ink);}
  .hero:not(.has-image):not(.has-video) .hero-cta:hover{background:var(--ink); color:var(--pearl);}
  .hero-slider-nav{display:flex; gap:10px; margin-top:28px; flex-wrap:wrap;}
  .hero-dot{width:28px; height:3px; border:0; padding:0; background:rgba(255,255,255,0.35); cursor:pointer; transition:background 0.3s ease, width 0.3s ease;}
  .hero-dot.is-active{background:var(--gold); width:42px;}
  .scroll-cue{position:absolute; bottom:34px; left:6vw; transform:none; display:flex; flex-direction:column; align-items:flex-start; gap:10px; font-size:0.65rem; letter-spacing:0.3em; text-transform:uppercase; color:rgba(255,255,255,0.75); z-index:3;}
  .hero:not(.has-image):not(.has-video) .scroll-cue{color:var(--ink-soft);}
  .scroll-cue .line{width:1px; height:36px; background:linear-gradient(var(--gold), transparent); animation:pulse 2.2s ease-in-out infinite;}
  body[dir="rtl"] .hero{text-align:right;}
  body[dir="rtl"] .hero-inner{margin:0 6vw 0 auto; text-align:right;}
  body[dir="rtl"] .hero-shade{background:linear-gradient(270deg, rgba(20,16,12,0.55) 0%, rgba(20,16,12,0.28) 42%, rgba(20,16,12,0.08) 72%, transparent 100%);}
  body[dir="rtl"] .scroll-cue{left:auto; right:6vw; align-items:flex-end;}
  body[dir="rtl"] .hero-slider-nav{justify-content:flex-end;}
  @keyframes pulse{0%,100%{opacity:0.3;}50%{opacity:1;}}

  section{padding:130px 0;}
  /* CMS wrappers must not add their own vertical gaps — inner sections own spacing */
  .bc-block{padding:0 !important; margin:0;}
  section.hero,
  .bc-block--hero,
  .bc-block--hero > section{padding:0 !important; margin:0;}
  .bc-block > .philosophy,
  .bc-block > .auth-section,
  .bc-block > .catalog-cta,
  .bc-block > .certs,
  .bc-block > .contact,
  .bc-block > .presence{display:block;}
  .section-head{text-align:center; max-width:640px; margin:0 auto 70px;}
  .section-head h2{font-size:clamp(2.1rem,4vw,3rem);}
  .section-head p{color:var(--ink-soft); margin-top:18px; font-size:1.02rem;}

  .philosophy{background:var(--ink); color:var(--pearl-2); padding:100px 0; text-align:center;}
  .philosophy .eyebrow{color:var(--gold-light);}
  .philosophy h2{color:var(--pearl); font-size:clamp(1.8rem,3.4vw,2.6rem); max-width:820px; margin:24px auto 0; font-weight:400; line-height:1.4;}
  .philosophy h2 em{color:var(--rose); font-style:italic;}

  /* ===== COLLECTIONS ===== */
  .collection-group{margin-bottom:120px;}
  .collection-group:last-child{margin-bottom:0;}
  .collection-title{display:flex; align-items:baseline; gap:20px; margin-bottom:12px; flex-wrap:wrap;}
  .collection-title h3{font-size:2.1rem;}
  .collection-title .tag{font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-deep); border:1px solid var(--gold-light); padding:5px 14px; border-radius:20px;}
  .collection-desc{color:var(--ink-soft); max-width:560px; margin-bottom:44px;}
  .product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:34px;}
  .product-card{background:var(--pearl-2); border:1px solid var(--line); border-radius:4px; overflow:hidden; cursor:pointer; transition:transform 0.45s ease, box-shadow 0.45s ease; display:flex; flex-direction:column;}
  .product-card:hover{transform:translateY(-8px); box-shadow:var(--shadow);}
  .product-visual{height:230px; display:flex; align-items:center; justify-content:center; background:linear-gradient(160deg, var(--cream), var(--pearl)); position:relative;}
  .product-visual .num{position:absolute; top:16px; left:18px; font-family:var(--serif); font-size:0.75rem; color:var(--ink-soft); letter-spacing:0.08em;}
  body[dir="rtl"] .product-visual .num{left:auto; right:18px;}
  .product-info{padding:26px 26px 30px;}
  .product-info .eyebrow{margin-bottom:8px; font-size:0.66rem;}
  .product-info h4{font-size:1.4rem; margin-bottom:10px;}
  .product-info p{font-size:0.9rem; color:var(--ink-soft); margin-bottom:16px;}
  .chip-row{display:flex; flex-wrap:wrap; gap:8px;}
  .chip{font-size:0.65rem; letter-spacing:0.05em; text-transform:uppercase; background:rgba(176,141,87,0.1); color:var(--gold-deep); padding:5px 10px; border-radius:20px;}
  .view-more{margin-top:14px; font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-deep); display:inline-flex; align-items:center; gap:6px;}
  .bottle{width:74px; height:140px;}

  /* ===== DETAIL TEASER ===== */
  .detail{background:var(--pearl-2); border-radius:6px; overflow:hidden; display:grid; grid-template-columns:1fr 1.1fr; box-shadow:var(--shadow); cursor:pointer;}
  .detail-visual{background:linear-gradient(160deg, var(--cream) 0%, var(--rose) 130%); display:flex; align-items:center; justify-content:center; padding:60px; position:relative;}
  .detail-visual .bottle{width:150px; height:290px;}
  .qr-badge{position:absolute; bottom:28px; right:28px; background:var(--pearl); border-radius:4px; padding:10px; box-shadow:0 10px 24px rgba(43,36,32,0.15); display:flex; flex-direction:column; align-items:center; gap:6px; font-size:0.58rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft);}
  body[dir="rtl"] .qr-badge{right:auto; left:28px;}
  .detail-body{padding:56px; display:flex; flex-direction:column; justify-content:center;}
  .detail-body h3{font-size:2.2rem; margin:6px 0 16px;}
  .detail-body p{color:var(--ink-soft); margin-bottom:24px;}
  .qr-pattern{background:var(--ink); display:grid; grid-template-columns:repeat(6,1fr); grid-template-rows:repeat(6,1fr); padding:6px; gap:2px; border-radius:4px;}
  .qr-pattern span{background:var(--pearl);}
  .qr-pattern span:nth-child(3n){background:var(--gold-light);}

  /* ===== PRODUCT MODAL ===== */
  .modal-overlay{position:fixed; inset:0; background:rgba(43,36,32,0.55); backdrop-filter:blur(4px); z-index:1000; display:none; align-items:center; justify-content:center; padding:30px;}
  .modal-overlay.open{display:flex;}
  .modal-card{background:var(--pearl); max-width:940px; width:100%; max-height:88vh; overflow-y:auto; border-radius:8px; position:relative; box-shadow:0 30px 80px rgba(0,0,0,0.35);}
  .modal-close{position:absolute; top:18px; right:22px; z-index:5; background:var(--pearl); border:1px solid var(--line); width:38px; height:38px; border-radius:50%; font-size:1.2rem; cursor:pointer; color:var(--ink); display:flex; align-items:center; justify-content:center;}
  body[dir="rtl"] .modal-close{right:auto; left:22px;}
  .modal-grid{display:grid; grid-template-columns:0.85fr 1.15fr;}
  .modal-visual{background:linear-gradient(160deg, var(--cream) 0%, var(--rose) 130%); display:flex; align-items:center; justify-content:center; padding:50px;}
  .modal-visual .bottle{width:140px; height:260px;}
  .modal-body{padding:50px;}
  .modal-body h3{font-size:2rem; margin:6px 0 10px;}
  .price-row{display:flex; align-items:center; gap:10px; margin-bottom:22px; font-size:0.8rem; color:var(--ink-soft); letter-spacing:0.02em; flex-wrap:wrap;}
  .price-row span{white-space:nowrap;}
  .tabs{display:flex; gap:0; border-bottom:1px solid var(--line); margin-bottom:24px; flex-wrap:wrap;}
  .tab-btn{background:none; border:none; padding:12px 0; margin-inline-end:26px; font-family:var(--sans); font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); cursor:pointer; position:relative;}
  .tab-btn.active{color:var(--ink);}
  .tab-btn.active::after{content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--gold);}
  .tab-pane{display:none; font-size:0.92rem; color:var(--ink-soft); line-height:1.85; min-height:90px;}
  .tab-pane.active{display:block;}
  .tab-pane ul{padding-inline-start:18px; margin-top:4px;}
  .tab-pane li{margin-bottom:8px;}
  .tab-pane li.benefit::marker{color:var(--gold);}
  .meta-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px 28px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line);}
  .meta-item .eyebrow{font-size:0.6rem; margin-bottom:4px;}
  .meta-item div.val{font-family:var(--serif); font-size:1.05rem;}
  .scan-btn{margin-top:26px; display:inline-flex; align-items:center; gap:10px; padding:13px 28px; background:var(--ink); color:var(--pearl); border-radius:2px; font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; cursor:pointer; border:none; transition:background 0.3s ease;}
  .scan-btn:hover{background:var(--gold-deep);}

  /* ===== AUTHENTICITY ===== */
  .auth-section{background:linear-gradient(180deg, var(--pearl-2), var(--cream)); padding:140px 0;}
  .auth-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px; align-items:center;}
  .auth-copy .eyebrow{margin-bottom:16px;}
  .auth-copy h2{font-size:2.6rem; margin-bottom:20px;}
  .auth-copy p{color:var(--ink-soft); margin-bottom:16px;}
  .auth-steps{margin-top:30px; display:flex; flex-direction:column; gap:18px;}
  .auth-step{display:flex; gap:16px; align-items:flex-start;}
  .auth-step .dot{width:8px; height:8px; border-radius:50%; background:var(--gold); margin-top:8px; flex-shrink:0;}
  .auth-step div b{font-family:var(--serif); font-size:1.05rem; display:block; margin-bottom:2px;}
  .auth-step div span{font-size:0.85rem; color:var(--ink-soft);}
  .cert-card{background:var(--pearl); border-radius:8px; padding:44px; box-shadow:var(--shadow); position:relative; border:1px solid var(--line); max-width:440px; margin:0 auto;}
  .cert-card::before{content:''; position:absolute; inset:10px; border:1px solid var(--gold-light); border-radius:4px; pointer-events:none;}
  .cert-top{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:24px;}
  .cert-top .logo{font-size:1.15rem;}
  .cert-status{display:flex; align-items:center; gap:6px; font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:#5B7A5E;}
  .cert-status .pip{width:7px; height:7px; border-radius:50%; background:#5B7A5E;}
  .cert-product{font-family:var(--serif); font-size:1.5rem; margin-bottom:4px;}
  .cert-code{font-size:0.75rem; color:var(--ink-soft); letter-spacing:0.05em; margin-bottom:24px;}
  .cert-rows{display:grid; grid-template-columns:1fr 1fr; gap:16px 20px; margin-bottom:26px;}
  .cert-rows .eyebrow{font-size:0.58rem; margin-bottom:3px;}
  .cert-rows .v{font-family:var(--serif); font-size:1rem;}
  .qr-visual{display:flex; align-items:center; gap:16px; padding-top:22px; border-top:1px dashed var(--line);}
  .qr-visual .qr-pattern{width:70px; height:70px; flex-shrink:0;}
  .qr-visual p{font-size:0.72rem; color:var(--ink-soft); line-height:1.6;}

  /* ===== ABOUT ===== */
  .about-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;}
  .about-copy .eyebrow{margin-bottom:16px;}
  .about-copy h2{font-size:2.6rem; margin-bottom:22px;}
  .about-copy p{color:var(--ink-soft); margin-bottom:16px;}
  .stat-row{display:flex; gap:50px; margin-top:38px;}
  .stat b{font-family:var(--serif); font-size:2.2rem; display:block; color:var(--gold-deep);}
  .stat span{font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft);}
  .pillar-list{display:flex; flex-direction:column; gap:0;}
  .pillar{padding:28px 0; border-bottom:1px solid var(--line);}
  .pillar:first-child{border-top:1px solid var(--line);}
  .pillar .pnum{font-family:var(--serif); font-size:0.95rem; color:var(--gold);}
  .pillar h4{font-size:1.3rem; margin-bottom:4px;}
  .pillar p{font-size:0.85rem; color:var(--ink-soft); max-width:340px;}

  /* ===== CATALOG CTA ===== */
  .catalog-cta{background:var(--pearl-2); text-align:center; padding:110px 0;}
  .catalog-cta .upload-hint{margin-top:18px; font-size:0.78rem; color:var(--ink-soft); font-style:italic;}
  .catalog-cta .upload-hint code{background:rgba(176,141,87,0.12); padding:2px 8px; border-radius:4px; font-style:normal; color:var(--gold-deep);}

  /* ===== CERTIFICATIONS ===== */
  .certs{background:var(--ink); color:var(--pearl-2);}
  .certs .section-head p{color:rgba(245,239,230,0.6);}
  .certs .eyebrow{color:var(--gold-light);}
  .certs .section-head h2{color:var(--pearl);}
  .cert-badges{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(245,239,230,0.12);}
  .badge{background:var(--ink); padding:44px 30px; text-align:center;}
  .badge svg{margin:0 auto 18px; width:44px; height:44px; stroke:var(--gold-light);}
  .badge h4{color:var(--pearl); font-size:1.15rem; margin-bottom:8px;}
  .badge p{font-size:0.8rem; color:rgba(245,239,230,0.55);}
  .presence{text-align:center;}
  .country-row{display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:40px;}
  .country-row span{border:1px solid var(--line); padding:9px 20px; border-radius:24px; font-size:0.78rem; letter-spacing:0.05em; color:var(--ink-soft);}

  /* ===== CONTACT ===== */
  .contact{background:var(--pearl-2);}
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px;}
  .contact-copy h2{font-size:2.6rem; margin-bottom:20px;}
  .contact-copy p{color:var(--ink-soft); margin-bottom:30px; max-width:420px;}
  .contact-item{display:flex; gap:16px; align-items:flex-start; margin-bottom:22px;}
  .contact-item .ico{width:42px; height:42px; border:1px solid var(--gold-light); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--gold-deep);}
  .contact-item b{font-family:var(--serif); font-size:1.05rem; display:block;}
  .contact-item span{font-size:0.82rem; color:var(--ink-soft);}
  .catalog-inline{margin-top:8px; display:inline-flex; align-items:center; gap:8px; font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-deep); border:1px solid var(--gold-light); padding:8px 16px; border-radius:20px;}
  .form-card{background:var(--pearl); padding:44px; border-radius:6px; box-shadow:var(--shadow);}
  .field{margin-bottom:20px;}
  .field label{display:block; font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:8px;}
  .field input, .field select, .field textarea{width:100%; border:none; border-bottom:1px solid var(--line); background:transparent; padding:10px 2px; font-family:var(--sans); font-size:0.95rem; color:var(--ink);}
  .field input:focus, .field select:focus, .field textarea:focus{outline:none; border-bottom-color:var(--gold);}
  .form-card .scan-btn{width:100%; justify-content:center; margin-top:10px;}

  /* ===== FOOTER ===== */
  footer{background:var(--ink); color:rgba(245,239,230,0.75); padding-top:90px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:50px; padding-bottom:60px; border-bottom:1px solid rgba(245,239,230,0.12);}
  .footer-grid .logo{color:var(--pearl); margin-bottom:16px;}
  .footer-grid p{font-size:0.85rem; line-height:1.8; color:rgba(245,239,230,0.55);}
  .footer-col h5{font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-light); margin-bottom:18px;}
  .footer-col a{display:block; font-size:0.85rem; margin-bottom:12px; color:rgba(245,239,230,0.7); transition:color 0.25s ease;}
  .footer-col a:hover{color:var(--pearl);}
  .footer-bottom{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; padding:26px 0; font-size:0.75rem; color:rgba(245,239,230,0.45);}
.footer-bottom .lang-switch button,.footer-bottom .lang-switch a{border-color:rgba(245,239,230,0.2); color:rgba(245,239,230,0.6);}
.footer-bottom .lang-switch button.active,.footer-bottom .lang-switch button:hover,.footer-bottom .lang-switch a.active,.footer-bottom .lang-switch a:hover{background:var(--gold); border-color:var(--gold); color:var(--ink);}

  @media (max-width: 980px){
    .nav-links{display:none;}
    .product-grid{grid-template-columns:repeat(2,1fr);}
    .detail, .modal-grid{grid-template-columns:1fr;}
    .auth-grid, .about-grid, .contact-grid{grid-template-columns:1fr; gap:50px;}
    .cert-badges{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width: 600px){
    .product-grid{grid-template-columns:1fr;}
    .cert-badges{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .stat-row{gap:30px;}
    section:not(.hero):not(.bc-block){padding:90px 0;}
    .bc-block > section:not(.hero){padding-top:90px;padding-bottom:90px;}
    .modal-body, .detail-body{padding:30px;}
  }

/* ===== Mobile nav (CMS addition, matches template palette) ===== */
.nav-toggle{display:none;background:rgba(255,255,255,0.4);border:1px solid rgba(176,141,87,0.35);width:42px;height:42px;border-radius:50%;cursor:pointer;align-items:center;justify-content:center;color:var(--ink);}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:16px;height:1px;background:currentColor;position:relative;transition:0.25s ease;}
.nav-toggle span::before,.nav-toggle span::after{content:''; position:absolute;left:0;}
.nav-toggle span::before{top:-5px;}
.nav-toggle span::after{top:5px;}
.nav-mobile{display:none;}
.nav-mobile__sub{margin-top:12px;padding-inline-start:16px;list-style:none;display:flex;flex-direction:column;gap:12px;}
@media (max-width: 980px){
  .nav-toggle{display:inline-flex;}
  .nav-links{display:none;}
  .site-header__nav{min-height:68px; padding:0 5vw;}
  .nav-mobile.open{display:block;position:fixed;inset:70px 0 0 0;background:rgba(251,248,244,0.98);backdrop-filter:blur(14px);z-index:99;padding:28px 5vw 40px;border-top:1px solid rgba(176,141,87,0.22);overflow-y:auto;}
  .nav-mobile.open ul{list-style:none;display:flex;flex-direction:column;gap:20px;font-family:var(--serif);font-size:1.05rem;letter-spacing:0.12em;text-transform:uppercase;}
  .nav-mobile.open a{color:var(--ink-soft);}
  .nav-mobile.open a:hover,.nav-mobile.open a.active{color:var(--ink);}
}
.product-card a,.product-card a:hover{color:inherit;}
.product-visual img{max-height:180px;width:auto;object-fit:contain;}
.hero.has-image{background-size:cover;background-position:center center;}
.hero.has-video > video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;z-index:0;}
.hero.has-video .hero-inner,.hero.has-video .scroll-cue,.hero.has-image .hero-inner,.hero.has-image .scroll-cue{z-index:3;}
.bc-block{width:100%;max-width:100%;overflow-x:clip;padding:0 !important;margin:0;}
.bc-block--hero{overflow:hidden;}
.bc-block--hero > .hero{min-height:640px;min-height:100vh;}
/* Avoid double vertical padding: wrapper is zeroed; only the inner section keeps spacing */
.bc-block > section{padding-top:130px;padding-bottom:130px;}
.bc-block > section.hero{padding:0 !important;}
.bc-block__overlay{display:none;}
.alert-flash{position:fixed;top:90px;left:50%;transform:translateX(-50%);z-index:200;background:var(--pearl);border:1px solid var(--gold-light);padding:14px 22px;border-radius:4px;box-shadow:var(--shadow);font-size:0.85rem;max-width:90vw;}
.page-shell{padding:140px 0 80px;}
.breadcrumb{font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:28px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.breadcrumb a:hover{color:var(--gold-deep);}
.page-content{color:var(--ink-soft);line-height:1.85;}
.page-content h1,.page-content h2,.page-content h3{margin:1.2em 0 0.5em;}
.page-content p{margin-bottom:1em;}
.dropdown{position:relative;}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:200px;background:var(--pearl);border:1px solid var(--line);padding:12px 0;box-shadow:var(--shadow);z-index:20;}
[dir="rtl"] .dropdown-menu{left:auto;right:0;}
.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{display:block;}
.dropdown-menu a{display:block;padding:10px 18px;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);}
.dropdown-menu a:hover{color:var(--ink);background:rgba(176,141,87,0.08);}

/* ===== Phase 4 polish (design-preserving) ===== */
html,body{max-width:100%;}
img,video{height:auto;}
.hero-slide__media,.hero-slide video,.hero.has-video > video{height:100% !important; max-width:none !important;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.nav-toggle:focus-visible,.lang-switch a:focus-visible,.lang-switch button:focus-visible{
  outline:2px solid var(--gold); outline-offset:3px;
}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;padding:10px 16px;background:var(--ink);color:var(--pearl);z-index:9999;border-radius:2px;}
body.no-animations .reveal,body.no-animations .reveal.in{opacity:1;transform:none;transition:none;}
body.no-animations .scroll-cue .line{animation:none;}
@media (prefers-reduced-motion: reduce){
  .scroll-cue .line{animation:none;}
  .product-card{transition:none;}
  .product-card:hover{transform:none;}
  .hero-cta{transition:none;}
}
.nav-toggle[aria-expanded="true"] span{background:transparent;}
.nav-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg);}
.nav-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg);}
.lang-switch__code{display:none;}
.lang-switch__full{display:inline;}
.site-header{overflow:visible;}
.footer-bottom .lang-switch a{border-color:rgba(245,239,230,0.2);color:rgba(245,239,230,0.6);}
.footer-bottom .lang-switch a.active,.footer-bottom .lang-switch a:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.toast-host{position:fixed;top:96px;right:20px;z-index:300;display:flex;flex-direction:column;gap:10px;max-width:min(360px,92vw);pointer-events:none;}
[dir="rtl"] .toast-host{right:auto;left:20px;}
.toast{pointer-events:auto;background:var(--pearl);border:1px solid var(--line);border-inline-start:3px solid var(--gold);box-shadow:var(--shadow);padding:14px 16px;border-radius:4px;font-size:0.85rem;color:var(--ink);display:flex;gap:12px;align-items:flex-start;animation:toast-in .35s ease;}
.toast-success{border-inline-start-color:#5B7A5E;}
.toast-error{border-inline-start-color:var(--rose-deep);}
.toast-warning{border-inline-start-color:var(--gold-deep);}
.toast-info{border-inline-start-color:var(--gold);}
.toast-close{margin-inline-start:auto;background:none;border:none;cursor:pointer;color:var(--ink-soft);font-size:1.1rem;line-height:1;}
@keyframes toast-in{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion: reduce){.toast{animation:none;}}
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.search-bar{display:flex;align-items:center;gap:8px;}
.search-bar input{border:1px solid rgba(176,141,87,0.28);background:rgba(255,255,255,0.45);padding:8px 14px;border-radius:999px;font-family:inherit;font-size:0.76rem;color:var(--ink);width:150px;max-width:22vw;transition:border-color .25s ease, width .25s ease, background .25s ease;}
.search-bar input:focus{outline:none;border-color:var(--gold);background:#fff;width:180px;}
.search-bar button{background:rgba(255,255,255,0.45);border:1px solid rgba(176,141,87,0.28);width:36px;height:36px;border-radius:50%;cursor:pointer;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center;transition:all .25s ease;}
.search-bar button:hover{border-color:var(--ink);color:var(--ink);background:#fff;}
.dropdown-menu{border-color:rgba(176,141,87,0.25)!important;padding:14px 0!important;min-width:220px!important;}
.dropdown-menu a{font-family:var(--serif);letter-spacing:0.08em;}
.search-results{display:grid;gap:22px;}
.search-card{display:block;padding:22px 24px;border:1px solid var(--line);border-radius:4px;background:var(--pearl-2);transition:transform .3s ease,box-shadow .3s ease;}
.search-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.search-card .eyebrow{margin-bottom:8px;}
.search-card h3{font-size:1.35rem;margin-bottom:8px;}
.search-card p{color:var(--ink-soft);font-size:0.92rem;}
.error-shell{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:140px 6vw 80px;}
.error-shell .code{font-family:var(--serif);font-size:clamp(4rem,12vw,7rem);color:var(--gold-deep);line-height:1;}
.error-shell h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:12px 0 16px;}
.error-shell p{color:var(--ink-soft);max-width:420px;margin:0 auto 28px;}
.breadcrumb[aria-label] a[aria-current="page"]{color:var(--ink);pointer-events:none;}
@media (max-width: 980px){
  .search-bar{display:none;}
  .nav-mobile .search-bar{display:flex; width:100%;}
  .nav-mobile .search-bar input{flex:1; max-width:none; width:auto;}
  .wrap{padding:0 5vw;}
  .toast-host{top:88px;right:12px;left:12px;max-width:none;}
  [dir="rtl"] .toast-host{left:12px;right:12px;}
  .stat-row{flex-wrap:wrap;gap:24px;}
  .detail-body,.modal-body{padding:36px;}
  .form-card{padding:28px;}
  .country-row{gap:10px;}
  .lang-switch__full{display:none;}
  .lang-switch__code{display:inline;}
  .lang-switch a{padding:6px 8px; font-size:0.68rem; min-width:2.2rem; justify-content:center;}
  .site-header{backdrop-filter:none; background:rgba(251,248,244,0.98);}
  .site-header__nav{min-height:64px; flex-wrap:nowrap;}
  .nav-mobile.open{inset:66px 0 0 0;}
  .hero,.bc-block--hero > .hero{padding-top:66px; align-items:flex-end; min-height:640px; min-height:100vh;}
  .hero-inner{width:auto; max-width:none; margin:0 5vw 18vh; padding-inline-end:0;}
  body[dir="rtl"] .hero-inner{margin:0 5vw 18vh;}
  .hero-shade{
    background:linear-gradient(180deg, rgba(20,16,12,0.2) 0%, rgba(20,16,12,0.45) 40%, rgba(20,16,12,0.78) 100%);
  }
  body[dir="rtl"] .hero-shade{
    background:linear-gradient(180deg, rgba(20,16,12,0.2) 0%, rgba(20,16,12,0.45) 40%, rgba(20,16,12,0.78) 100%);
  }
  .hero-slide,
  .hero-slide__media,
  .hero-slide video{object-position:center center; background-position:center center;}
  .hero-arrow{top:auto; bottom:7.5rem; transform:none; width:38px; height:38px;}
  .hero-arrow--prev{left:1rem;}
  .hero-arrow--next{right:1rem;}
  body[dir="rtl"] .hero-arrow--prev{left:auto; right:1rem;}
  body[dir="rtl"] .hero-arrow--next{right:auto; left:1rem;}
  .scroll-cue{display:none;}
  .philosophy,.auth-section,.catalog-cta{padding:90px 0;}
  .collection-group{margin-bottom:80px;}
  .about-copy h2,.auth-copy h2,.contact-copy h2{font-size:clamp(1.9rem,5vw,2.4rem);}
}
@media (max-width: 768px){
  .hero-title,.hero h1{font-size:clamp(2rem, 10vw, 3.1rem); letter-spacing:0.04em;}
  .hero-eyebrow{margin-bottom:16px; max-width:100%;}
  .hero-eyebrow__text{font-size:0.66rem; letter-spacing:0.12em;}
  .hero-sub{font-size:1.05rem; margin-top:16px;}
  .hero-tagline2{font-size:0.92rem;}
  .hero-cta{margin-top:24px; padding:14px 28px; letter-spacing:0.16em;}
  .hero-slider-nav{margin-top:22px;}
  .meta-grid,.cert-rows{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column; align-items:flex-start;}
  .logo{font-size:1.25rem; letter-spacing:0.1em;}
}
@media (max-width: 600px){
  .hero-title,.hero h1{letter-spacing:0.03em; line-height:1.08;}
  .hero-inner{margin-bottom:16vh;}
  .hero-cta,.scan-btn{width:100%;justify-content:center;text-align:center;}
  .hero-arrow{bottom:6.5rem; width:34px; height:34px;}
  .page-shell{padding:110px 0 60px;}
  .cert-card{padding:28px;}
  .footer-grid{gap:36px;}
  .modal-overlay{padding:12px;}
  .modal-card{max-height:92vh;}
  .section-head{margin-bottom:48px;}
  .product-info{padding:22px;}
}
@media (max-width: 380px){
  .lang-switch a{padding:5px 6px;font-size:0.62rem; min-width:1.9rem;}
  .hero-arrow{display:none;}
  .logo{font-size:1.1rem; letter-spacing:0.08em;}
}
