  /* product video — process/trust piece between hero and specs */
  .product-video { padding:clamp(80px,10vw,120px) 0; background:#FBF9F4; }
  .product-video .head { max-width:600px; margin:0 auto clamp(40px,6vw,56px); text-align:center; }
  .product-video .head .eyebrow { justify-content:center; display:flex; }
  .video-frame { max-width:920px; margin:0 auto; position:relative; aspect-ratio:16/9; overflow:hidden; background:#0A0A0A; box-shadow:0 30px 60px rgba(28,19,12,.16); }
  .video-frame::after { content:''; position:absolute; inset:0; border:1px solid #E0D3AE; transform:translate(14px,14px); z-index:-1; pointer-events:none; }
  .video-cover { position:absolute; inset:0; background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; cursor:pointer; border:0; padding:0; width:100%; }
  .video-cover::before { content:''; position:absolute; inset:0; background:rgba(10,10,10,.3); transition:background .35s ease; }
  .video-cover:hover::before { background:rgba(10,10,10,.46); }
  .video-cover .play-btn { position:relative; z-index:1; width:78px; height:78px; border-radius:50%; background:rgba(249,247,241,.96); display:flex; align-items:center; justify-content:center; transition:transform .4s cubic-bezier(.34,1.56,.64,1); }
  .video-cover:hover .play-btn { transform:scale(1.08); }
  .video-cover .play-btn svg { margin-left:4px; }
  .video-cover .caption { position:absolute; z-index:1; bottom:24px; left:50%; transform:translateX(-50%); color:#F8F2E4; font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; }
  .video-embed iframe, .video-embed video { position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }

  @media (max-width:600px) {
    .video-cover .play-btn { width:60px; height:60px; }
    .video-cover .play-btn svg { width:20px; height:20px; }
    .video-cover .caption { font-size:11px; bottom:16px; }
  }

  /* ===== Product detail page ===== */


  /* product hero — image + essentials */
  .product-hero { padding:clamp(28px,4vw,40px) 0 clamp(80px,10vw,120px); background:#F9F7F1; }
  .product-hero .grid { display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(40px,6vw,80px); align-items:center; }
  .product-hero .frame { width:100%; aspect-ratio:4/5; background-size:cover; background-position:center; position:relative; border-radius:6px; box-shadow:0 0 0 10px #FFFFFF, 0 0 0 11px #E4D9C4, 0 28px 56px -18px rgba(28,19,12,.22); }
  .product-hero .kicker { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#A6821D; margin-bottom:16px; }
  .product-hero h1 { font-family:'Fraunces',serif; font-weight:400; font-size:clamp(32px,4.4vw,50px); line-height:1.12; color:#1C130C; margin-bottom:20px; }
  .product-hero .lede { font-family:'Cormorant Garamond',serif; font-size:19px; line-height:1.75; color:#4A3B2C; max-width:480px; margin-bottom:28px; }
  .product-hero .badges { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; }
  .product-hero .badge { font-size:11.5px; letter-spacing:.04em; text-transform:uppercase; color:#5A4F3C; border:1px solid #D8CBA0; padding:8px 16px; }
  .product-hero .cta-row { display:flex; flex-wrap:wrap; gap:16px; }

  /* specifications table */
  .product-description { padding:0 0 clamp(40px,6vw,64px); background:#F9F7F1; }
  .product-description .head { max-width:560px; margin:0 auto clamp(24px,3vw,32px); text-align:center; }
  .product-description .head .eyebrow { justify-content:center; display:flex; }
  .product-description .body { max-width:720px; margin:0 auto; }
  .product-description .body p { font-family:'Cormorant Garamond',serif; font-size:18.5px; line-height:1.85; color:#4A3B2C; margin:0 0 22px; }
  .product-description .body p:last-child { margin-bottom:0; }
  .product-description:empty, .product-description[hidden] { display:none; }

  .specs { padding:clamp(80px,10vw,120px) 0; background:#FFFFFF; }
  .specs .head { max-width:560px; margin:0 auto clamp(48px,6vw,64px); text-align:center; }
  .specs .head .eyebrow { justify-content:center; display:flex; }
  .specs .table { max-width:820px; margin:0 auto; border-top:1px solid #E0D3AE; }
  .specs .row { display:grid; grid-template-columns:220px 1fr; gap:clamp(16px,3vw,32px); padding:20px 4px; border-bottom:1px solid #E0D3AE; }
  .specs .row .k { font-family:'Fraunces',serif; font-weight:500; font-size:15px; color:#1C130C; }
  .specs .row .v { font-size:15px; line-height:1.6; color:#5A4F3C; }
  .specs .note { max-width:820px; margin:28px auto 0; font-size:13px; color:#9A8B6C; text-align:center; }

  @media (max-width:900px) {
    .product-hero .grid { grid-template-columns:1fr; }
    .product-hero .frame { max-width:400px; margin:0 auto; }
    .product-hero div[data-aos] { text-align:center; }
    .product-hero .lede { margin-left:auto; margin-right:auto; }
    .product-hero .badges, .product-hero .cta-row { justify-content:center; }
  }
  @media (max-width:600px) {
    .product-hero .cta-row { flex-wrap:nowrap; gap:10px; }
    .product-hero .cta-row .btn {
      flex:1 1 0; text-align:center; padding:14px 10px; font-size:12px; letter-spacing:.02em;
    }
  }
  @media (max-width:380px) {
    .product-hero .cta-row .btn { padding:13px 8px; font-size:11px; }
  }
  @media (max-width:600px) {
    .specs .row { grid-template-columns:1fr; gap:6px; }
    .specs .row .k { font-size:14px; }
  }
