
  :root{
    --black:#0a0d0a;
    --panel:#0d201a;
    --panel-2:#132b23;
    --green:#0f2e26;
    --gold:#c9a227;
    --gold-bright:#e8c468;
    --gold-deep:#8b6914;
    --cream:#ece4d3;
    --text:rgba(236,228,211,0.82);
    --line: rgba(201,162,39,0.28);
    --shadow: 0 24px 50px -22px rgba(0,0,0,0.7);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:.001ms!important;transition-duration:.001ms!important;} }

  body{
    margin:0;
    background:var(--black);
    color:var(--text);
    font-family:'Cormorant Garamond', serif;
    font-size:18px;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{
    font-family:'Cinzel', serif;
    font-weight:600;
    margin:0;
    color:var(--gold-bright);
    letter-spacing:0.02em;
  }
  a{ color:inherit; text-decoration:none; }
  img{ max-width:100%; display:block; }
  button{ font-family:inherit; cursor:pointer; }
  a:focus-visible, button:focus-visible, input:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

  .eyebrow{
    font-family:'Cinzel', serif;
    font-size:12px;
    letter-spacing:0.28em;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:600;
    display:flex; align-items:center; gap:14px;
  }
  .eyebrow::before, .eyebrow::after{ content:''; height:1px; width:30px; background:var(--gold); opacity:0.7; }
  .eyebrow.centered{ justify-content:center; }

  .crown-div{ color:var(--gold); display:block; margin:16px 0 0; opacity:0.85; }
  .crown-div.center{ margin-left:auto; margin-right:auto; }

  .wrap{ max-width:1280px; margin:0 auto; padding:0 clamp(20px,5vw,64px); position:relative; }

  /* ---------- NAV ---------- */
  header.site-nav{
    position:sticky; top:0; z-index:100;
    background:rgba(10,13,10,0.94);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{ display:flex; align-items:center; justify-content:space-between; padding:12px clamp(20px,5vw,64px); max-width:1280px; margin:0 auto; }
  .brand{ display:flex; align-items:center; gap:14px; color:var(--cream); }
  .brand img{ width:46px; height:46px; flex-shrink:0; }
  .brand .word{ font-family:'Cinzel', serif; font-size:19px; letter-spacing:0.14em; color:var(--gold-bright); }
  .brand .est{ display:block; font-family:'Cormorant Garamond', serif; font-style:italic; font-size:12px; color:rgba(236,228,211,0.55); margin-top:2px; letter-spacing:0.03em; }
  nav.primary-links{ display:flex; gap:36px; font-family:'Cinzel', serif; font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(236,228,211,0.8); }
  nav.primary-links a{ position:relative; padding:4px 0; transition:color .2s; }
  nav.primary-links a:hover{ color:var(--gold-bright); }
  .nav-icons{ display:flex; align-items:center; gap:22px; color:var(--cream); }
  .nav-icons button{ background:none; border:none; color:inherit; opacity:0.85; position:relative; }
  .nav-icons button:hover{ opacity:1; color:var(--gold-bright); }
  .cart-count{ position:absolute; top:-7px; right:-9px; background:var(--gold); color:var(--black); font-size:10px; font-weight:700; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
  .hamburger{ display:none; }
  @media (max-width:900px){ nav.primary-links{ display:none; } .hamburger{ display:flex; background:none; border:none; color:var(--cream);} }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:calc(100svh - 71px);
    max-height:920px;
    display:flex; align-items:center; justify-content:center;
    text-align:center;
    background-image:
      radial-gradient(ellipse 900px 600px at 50% 30%, rgba(201,162,39,0.10), transparent 65%),
      linear-gradient(rgba(6,8,6,0.72), rgba(6,8,6,0.86)),
      url("assets/hero-bg.jpg");
    background-size:cover;
    background-position:center 30%;
    padding:80px 24px;
  }
  .hero-inner{ max-width:760px; }
  .hero-crest{ width:120px; height:120px; margin:0 auto 22px; opacity:0.96; }
  .hero h1{ font-size:clamp(34px,5.2vw,58px); line-height:1.18; color:var(--gold-bright); text-shadow:0 2px 18px rgba(0,0,0,0.6); }
  .hero .sub{ font-family:'Cinzel', serif; font-size:14px; letter-spacing:0.24em; text-transform:uppercase; color:var(--cream); margin-top:18px; }
  .hero p.lede{ font-size:19px; line-height:1.7; color:rgba(236,228,211,0.78); max-width:52ch; margin:22px auto 0; font-style:italic; }
  .hero-badges{ display:flex; gap:28px; justify-content:center; margin-top:26px; flex-wrap:wrap; font-family:'Cinzel', serif; font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); }
  .hero-actions{ display:flex; gap:18px; justify-content:center; margin-top:36px; flex-wrap:wrap; }
  .btn{ display:inline-flex; align-items:center; gap:10px; padding:15px 32px; font-family:'Cinzel', serif; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; font-weight:600; border-radius:1px; border:1px solid var(--gold); transition:all .25s ease; }
  .btn-solid{ background:var(--gold); color:var(--black); }
  .btn-solid:hover{ background:var(--gold-bright); transform:translateY(-2px); box-shadow:var(--shadow); }
  .btn-outline{ color:var(--gold-bright); background:transparent; }
  .btn-outline:hover{ background:rgba(201,162,39,0.12); }

  /* ---------- TRUST STRIP ---------- */
  .trust-strip{ background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .trust-inner{ display:flex; justify-content:center; flex-wrap:wrap; gap:14px 44px; padding:24px clamp(20px,5vw,64px); max-width:1280px; margin:0 auto; }
  .trust-item{ font-family:'Cinzel', serif; font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; color:rgba(236,228,211,0.78); }
  .trust-item span{ color:var(--gold); margin-right:8px; }

  /* ---------- SECTIONS ---------- */
  section{ padding:110px 0; position:relative; }
  .section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:56px; flex-wrap:wrap; }
  .section-head h2{ font-size:clamp(28px,3vw,42px); margin-top:14px; }
  .section-head .desc{ max-width:38ch; color:rgba(236,228,211,0.65); font-size:17px; line-height:1.7; padding-bottom:4px; font-style:italic; }
  .reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.in{ opacity:1; transform:translateY(0); }

  /* ---------- COLLECTIONS ---------- */
  .collections-row{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
  .coll-tile{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--panel); border:1px solid var(--line); }
  .coll-tile img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; filter:saturate(0.92) brightness(0.9); }
  .coll-tile:hover img{ transform:scale(1.07); }
  .coll-tile::after{ content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(8,10,8,0.94) 0%, rgba(8,10,8,0.25) 55%, rgba(8,10,8,0.1) 100%); }
  .coll-tile-copy{ position:absolute; left:0; right:0; bottom:0; padding:20px 16px; z-index:2; }
  .coll-tile-copy .tile-no{ font-family:'Cinzel', serif; color:var(--gold); font-size:11px; letter-spacing:0.1em; display:block; margin-bottom:6px; }
  .coll-tile-copy h3{ font-size:18px; color:var(--gold-bright); line-height:1.2; }
  .coll-tile-copy .notes{ font-size:12px; font-style:italic; color:rgba(236,228,211,0.7); margin-top:8px; }
  @media (max-width:980px){ .collections-row{ grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .collections-row{ gap:12px;} .coll-tile-copy h3{ font-size:15px;} }

  /* ---------- PRODUCT GRID ---------- */
  .bestsellers{ background:var(--panel); }
  .product-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px 24px; }
  .product-card{ background:var(--green); border:1px solid var(--line); transition:border-color .25s, box-shadow .25s; }
  .product-card:hover{ border-color:var(--gold); box-shadow:var(--shadow); }
  .product-photo{ position:relative; aspect-ratio:4/5; overflow:hidden; background:#050705; }
  .product-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; mix-blend-mode:normal; }
  .product-card:hover .product-photo img{ transform:scale(1.05); }
  .product-no{ position:absolute; top:12px; left:12px; background:rgba(8,10,8,0.85); color:var(--gold-bright); font-family:'Cinzel', serif; font-size:10.5px; letter-spacing:0.06em; padding:5px 10px; border:1px solid var(--line); }
  .product-info{ padding:18px 16px 20px; }
  .product-info .p-cat{ font-family:'Cinzel', serif; font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; display:block; }
  .product-info h4{ font-size:19px; font-weight:500; color:var(--cream); line-height:1.25; }
  .product-info .p-notes{ font-size:14px; font-style:italic; color:rgba(236,228,211,0.55); margin:6px 0 12px; }
  .product-info .p-price{ font-family:'Cinzel', serif; font-size:15px; color:var(--gold-bright); }
  @media (max-width:980px){ .product-grid{ grid-template-columns:repeat(2,1fr);} }
  .grid-footer{ display:flex; justify-content:center; margin-top:50px; }

  /* ---------- STORY ---------- */
  .story{
    position:relative;
    background-image:linear-gradient(rgba(6,8,6,0.88), rgba(6,8,6,0.94)), url("assets/story-bg.jpg");
    background-size:cover;
    background-position:center;
  }
  .story-inner{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
  .story p{ font-size:18px; line-height:1.85; color:rgba(236,228,211,0.8); margin-top:22px; font-style:italic; }
  .story p.drop::first-letter{ font-family:'Cinzel', serif; font-size:56px; line-height:0.7; float:left; padding:8px 10px 0 0; color:var(--gold); font-style:normal; }
  .story .sig{ margin-top:30px; font-family:'Cinzel', serif; font-size:14px; letter-spacing:0.08em; color:var(--gold); }
  .ledger-card{ background:rgba(13,32,26,0.75); border:1px solid var(--line); padding:44px; backdrop-filter:blur(4px); }
  .ledger-card .row{ display:flex; justify-content:space-between; padding:15px 0; border-bottom:1px dashed var(--line); font-size:15px; }
  .ledger-card .row:last-child{ border-bottom:none; }
  .ledger-card .row span:first-child{ font-family:'Cinzel', serif; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(236,228,211,0.5); }
  .ledger-card .row span:last-child{ color:var(--gold-bright); font-style:italic; }
  @media (max-width:900px){ .story-inner{ grid-template-columns:1fr; gap:40px; } .ledger-card{ padding:30px; } }

  /* ---------- SPOTLIGHT ---------- */
  .spotlight{ position:relative; overflow:hidden; display:grid; grid-template-columns:1.1fr 0.9fr; background:var(--panel); border:1px solid var(--line); }
  @media (min-width:901px){ .spotlight{ grid-template-rows:1fr; } }
  .spotlight-copy{ padding:64px clamp(24px,5vw,70px); display:flex; flex-direction:column; justify-content:center; gap:16px; }
  .spotlight-copy p{ font-size:17px; line-height:1.75; color:rgba(236,228,211,0.72); max-width:42ch; font-style:italic; }
  .spotlight-photo img{ width:100%; height:100%; object-fit:cover; min-height:320px; }
  @media (max-width:860px){ .spotlight{ grid-template-columns:1fr;} .spotlight-photo{ order:-1; height:280px;} }

  /* ---------- TESTIMONIAL ---------- */
  .testimonial{ text-align:center; }
  .testimonial .mark{ font-family:'Cinzel', serif; font-size:50px; color:var(--gold); display:block; margin-bottom:8px; }
  .testimonial blockquote{ font-family:'Cormorant Garamond', serif; font-style:italic; font-weight:500; font-size:clamp(22px,2.8vw,32px); line-height:1.5; max-width:760px; margin:0 auto; color:var(--cream); }
  .testimonial .attribution{ margin-top:24px; font-family:'Cinzel', serif; font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); }

  /* ---------- REGISTRY ---------- */
  .registry{ background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .registry-inner{ text-align:center; max-width:620px; margin:0 auto; }
  .registry p{ margin-top:16px; color:rgba(236,228,211,0.65); font-size:16px; line-height:1.7; font-style:italic; }
  .registry-form{ display:flex; margin-top:32px; border:1px solid var(--gold); }
  .registry-form input{ flex:1; border:none; background:transparent; padding:16px 18px; font-family:'Cormorant Garamond', serif; font-size:16px; color:var(--cream); }
  .registry-form input::placeholder{ color:rgba(236,228,211,0.4); }
  .registry-form button{ background:var(--gold); color:var(--black); border:none; padding:16px 28px; font-family:'Cinzel', serif; font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; }
  .registry-form button:hover{ background:var(--gold-bright); }
  @media (max-width:520px){ .registry-form{ flex-direction:column; border:none; gap:10px;} .registry-form input{ border:1px solid var(--gold);} }

  /* ---------- FOOTER ---------- */
  footer{ background:#060806; padding-top:70px; border-top:1px solid var(--line); }
  .footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(201,162,39,0.15); }
  .footer-brand .brand{ margin-bottom:16px; }
  .footer-brand p{ font-size:15px; line-height:1.7; max-width:32ch; color:rgba(236,228,211,0.5); font-style:italic; }
  .footer-col h5{ font-family:'Cinzel', serif; font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
  .footer-col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px; }
  .footer-col a{ font-size:15px; color:rgba(236,228,211,0.65); transition:color .2s; }
  .footer-col a:hover{ color:var(--gold-bright); }
  .footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding:24px 0; font-size:12.5px; color:rgba(236,228,211,0.4); flex-wrap:wrap; gap:10px; }
  .footer-bottom .legal{ display:flex; gap:20px; }

  .mobile-drawer{ position:fixed; inset:0; z-index:200; background:var(--black); color:var(--cream); display:flex; flex-direction:column; padding:26px; transform:translateX(100%); transition:transform .35s ease; }
  .mobile-drawer.open{ transform:translateX(0); }
  .mobile-drawer .close-drawer{ align-self:flex-end; background:none; border:none; color:var(--cream); }
  .mobile-drawer nav{ display:flex; flex-direction:column; gap:26px; margin-top:60px; font-family:'Cinzel', serif; font-size:22px; }

  .toast{ position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--panel); color:var(--gold-bright); padding:14px 24px; font-family:'Cinzel', serif; font-size:12px; letter-spacing:0.06em; border:1px solid var(--gold); opacity:0; pointer-events:none; transition:opacity .3s ease, transform .3s ease; z-index:300; }
  .toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

/* ================= SHOP + PRODUCT PAGE ADDITIONS ================= */

.breadcrumb{
  font-family:'Cinzel', serif;
  font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
  color:rgba(236,228,211,0.5);
  padding:22px 0 0; display:flex; gap:8px; flex-wrap:wrap;
}
.breadcrumb a{ color:rgba(236,228,211,0.5); transition:color .2s; }
.breadcrumb a:hover{ color:var(--gold-bright); }
.breadcrumb span.sep{ opacity:0.5; }
.breadcrumb span.current{ color:var(--gold); }

.shop-header{ padding:50px 0 40px; text-align:center; }
.shop-header h1{ font-size:clamp(30px,4vw,46px); margin-top:12px; }
.shop-header p{ max-width:56ch; margin:16px auto 0; color:rgba(236,228,211,0.65); font-size:17px; line-height:1.7; font-style:italic; }

.filter-row{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; padding:0 0 50px; }
.filter-pill{
  border:1px solid var(--gold); background:transparent; color:var(--gold-bright);
  padding:9px 18px; font-family:'Cinzel', serif; font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
  border-radius:100px; transition:all .2s ease;
}
.filter-pill:hover{ background:rgba(201,162,39,0.1); }
.filter-pill.active{ background:var(--gold); color:var(--black); }

.shop-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px 24px; padding-bottom:100px; }
@media (max-width:980px){ .shop-grid{ grid-template-columns:repeat(2,1fr);} }
.product-card.hidden{ display:none; }

/* Product detail page */
.pdp{ display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:40px 0 100px; align-items:flex-start; }
.pdp-gallery{ position:sticky; top:100px; }
.pdp-gallery-main{ aspect-ratio:1/1; overflow:hidden; background:var(--green); position:relative; border:1px solid var(--line); }
.pdp-gallery-main::before, .pdp-gallery-main::after{ content:''; position:absolute; width:32px; height:32px; z-index:3; pointer-events:none; }
.pdp-gallery-main::before{ top:14px; right:14px; border-top:1px solid var(--gold); border-right:1px solid var(--gold); }
.pdp-gallery-main::after{ bottom:14px; left:14px; border-bottom:1px solid var(--gold); border-left:1px solid var(--gold); }
.pdp-gallery-main img{ width:100%; height:100%; object-fit:cover; }
.pdp-thumbs{ display:flex; gap:10px; margin-top:12px; }
.pdp-thumbs img{ width:70px; height:70px; object-fit:cover; cursor:pointer; border:1px solid var(--line); opacity:0.65; transition:opacity .2s, border-color .2s; }
.pdp-thumbs img:hover, .pdp-thumbs img.active{ opacity:1; border-color:var(--gold); }

.pdp-info .eyebrow{ margin-bottom:4px; }
.pdp-info h1{ font-size:clamp(28px,3.2vw,42px); margin-top:12px; line-height:1.1; }
.pdp-price{ font-family:'Cinzel', serif; font-size:22px; color:var(--gold-bright); margin-top:16px; }
.pdp-desc{ font-size:17px; line-height:1.8; color:rgba(236,228,211,0.72); margin-top:22px; max-width:52ch; font-style:italic; }
.pdp-meta{ display:flex; gap:26px; margin-top:24px; flex-wrap:wrap; font-family:'Cinzel', serif; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:rgba(236,228,211,0.5); }
.pdp-meta strong{ display:block; color:var(--gold-bright); font-family:'Cormorant Garamond', serif; font-style:italic; text-transform:none; letter-spacing:0; font-size:16px; margin-top:4px; }

.pdp-buy{ margin-top:34px; padding-top:30px; border-top:1px solid var(--line); }
.buy-placeholder{ border:1px dashed var(--gold); padding:18px 20px; font-size:14px; line-height:1.6; color:rgba(236,228,211,0.72); background:rgba(201,162,39,0.05); }
.buy-placeholder strong{ color:var(--gold-bright); display:block; margin-bottom:4px; font-family:'Cinzel', serif; letter-spacing:0.05em; text-transform:uppercase; font-size:11px; }

.pdp-trust{ display:flex; gap:22px; margin-top:26px; flex-wrap:wrap; }
.pdp-trust span{ font-family:'Cinzel', serif; font-size:10.5px; letter-spacing:0.05em; text-transform:uppercase; color:rgba(236,228,211,0.55); }
.pdp-trust span::before{ content:'✦'; color:var(--gold); margin-right:7px; }

@media (max-width:900px){
  .pdp{ grid-template-columns:1fr; gap:36px; }
  .pdp-gallery{ position:static; }
}

.related{ padding:70px 0 100px; border-top:1px solid var(--line); }
.related h2{ font-size:24px; margin-bottom:30px; }
.related-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
@media (max-width:980px){ .related-row{ grid-template-columns:repeat(2,1fr);} }

.placeholder-flag{
  display:inline-block; font-family:'Cinzel', serif; font-size:10px; letter-spacing:0.06em; text-transform:uppercase;
  color:#c96a4a; border:1px solid #c96a4a; padding:3px 8px; margin-top:10px;
}
