/* ═══════════════════════════════════════════════════════════
   PRIMAL YIELD  ·  LUXURY PERFORMANCE DESIGN SYSTEM v3
   Rolex × Louis Vuitton × NoBull × Alo × Lululemon
   Cinzel (Heritage) + Montserrat (Precision) + Mono (Data)
═══════════════════════════════════════════════════════════ */

:root {
  /* Core Palette */
  --g:         #C4974B;   /* antique gold              */
  --g1:        #DEB96E;   /* gold light                */
  --g2:        #EDD490;   /* gold bright               */
  --g3:        #9A7535;   /* gold dark                 */
  --g4:        #3A2A10;   /* gold deepest              */
  --pt:        #C8D4DC;   /* platinum                  */
  --pt2:       #8A9BAD;   /* platinum muted            */
  --pt3:       #4A5A68;   /* platinum deep             */
  --n0:        #030710;   /* near-black navy            */
  --n1:        #05091A;   /* bg primary                */
  --n2:        #07101E;   /* bg card                   */
  --n3:        #0A1528;   /* bg elevated               */
  --n4:        #0E1C32;   /* bg highlight              */
  --n5:        #122030;   /* bg accent                 */
  --tx:        #8FA3B3;   /* body text                 */
  --tx2:       #6B8090;   /* secondary text            */
  --w:         #F2F4F6;   /* near-white                */
  --border:    rgba(196,151,75,0.18);
  --border2:   rgba(196,151,75,0.08);
  --border3:   rgba(196,151,75,0.32);
  --mono:      'Share Tech Mono', monospace;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth }
body {
  background:var(--n1); color:var(--tx);
  font-family:'Montserrat',sans-serif;
  font-size:15px; font-weight:300; line-height:1.75;
  overflow-x:hidden;
}
::-webkit-scrollbar { width:2px }
::-webkit-scrollbar-track { background:var(--n0) }
::-webkit-scrollbar-thumb { background:var(--g3) }

/* Subtle global noise grain — the LV signature touch */
body::after {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:9999;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  opacity:1;
}

/* ─── TYPOGRAPHY HELPERS ─── */
.cinzel { font-family:'Cinzel',serif }
.caps { text-transform:uppercase; letter-spacing:4px }

/* ─── AGE GATE ─── */
.agegate-overlay {
  position:fixed; inset:0; z-index:10000;
  background:rgba(3,7,16,0.98);
  display:flex; align-items:center; justify-content:center;
  padding:20px; backdrop-filter:blur(20px);
}
.agegate-overlay.hidden { display:none }
.agegate-box {
  background:var(--n2); border:1px solid var(--border);
  max-width:540px; width:100%; position:relative; overflow:hidden;
}
.agegate-box::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--g1),var(--g2),var(--g1),transparent);
}
.agegate-top {
  background:linear-gradient(160deg,#060C20 0%,#0A1530 100%);
  padding:44px 40px 32px; text-align:center;
  border-bottom:1px solid var(--border2);
}
.agegate-logo {
  display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:32px;
}
.agegate-logo-img {
  height:48px; width:auto;
  filter:drop-shadow(0 0 16px rgba(196,151,75,.45));
}
.agegate-logo-text {
  font-family:'Cinzel',serif; font-size:15px;
  letter-spacing:6px; color:var(--g1); text-transform:uppercase; font-weight:400;
  line-height:1.3;
}
.agegate-logo-text small {
  display:block; font-size:10px; letter-spacing:4px; color:var(--pt); margin-top:2px;
}
.agegate-age {
  font-family:'Cinzel',serif;
  font-size:clamp(22px,5vw,38px); font-weight:400;
  letter-spacing:4px; color:var(--w); line-height:1.1; margin-bottom:10px;
}
.agegate-age span { color:var(--g1) }
.agegate-sub {
  font-size:11px; letter-spacing:4px; color:var(--pt); text-transform:uppercase; font-weight:400;
}
.agegate-body { padding:28px 40px }
.agegate-disclaimer {
  background:rgba(196,151,75,0.04); border:1px solid var(--border2);
  border-left:1px solid var(--g3); padding:16px 18px; margin-bottom:22px;
}
.agegate-disclaimer-title {
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:3px;
  color:var(--g1); text-transform:uppercase; font-weight:600;
  margin-bottom:8px; display:flex; align-items:center; gap:10px;
}
.agegate-disclaimer-title::before { content:'◆'; font-size:9px }
.agegate-disclaimer p { font-size:13px; color:var(--pt); line-height:1.9 }
.agegate-confirm {
  font-size:13px; color:var(--pt); margin-bottom:20px;
  display:flex; align-items:flex-start; gap:12px; cursor:pointer;
}
.agegate-confirm input[type=checkbox] {
  width:16px; height:16px; accent-color:var(--g);
  flex-shrink:0; margin-top:3px; cursor:pointer;
}
.agegate-confirm label { cursor:pointer; line-height:1.7 }
.agegate-btns { display:grid; grid-template-columns:1fr 1fr; gap:10px }
.agegate-enter {
  background:var(--g); color:var(--n1); border:none; padding:15px;
  font-family:'Cinzel',serif; font-size:10px; font-weight:600;
  letter-spacing:5px; cursor:pointer; text-transform:uppercase;
  transition:all .25s; opacity:.4; pointer-events:none;
}
.agegate-enter.ready { opacity:1; pointer-events:all }
.agegate-enter.ready:hover { background:var(--g2) }
.agegate-exit {
  background:transparent; color:var(--pt2);
  border:1px solid var(--border2); padding:15px;
  font-family:'Montserrat',sans-serif; font-size:10px;
  letter-spacing:3px; cursor:pointer; text-transform:uppercase; transition:all .25s;
}
.agegate-exit:hover { border-color:var(--border); color:var(--pt) }
.agegate-note { font-size:11px; color:var(--tx2); text-align:center; margin-top:14px; letter-spacing:1px }

/* ─── DISCLAIMER BANNER ─── */
.site-disclaimer {
  background:var(--n0); border-bottom:1px solid var(--border2); padding:14px 0;
}
.site-disclaimer .section-inner { display:flex; align-items:flex-start; gap:14px }
.disc-icon { font-size:14px; flex-shrink:0; margin-top:3px; opacity:.5 }
.disc-title {
  font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:3px;
  color:var(--g1); text-transform:uppercase; font-weight:600; margin-bottom:4px;
}
.disc-text { font-size:12px; color:var(--pt); line-height:1.85 }

/* ─── NAVIGATION ─── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:500;
  height:72px; display:flex; align-items:center; justify-content:space-between;
  padding:0 56px;
  background:rgba(3,7,16,0.92);
  backdrop-filter:blur(28px) saturate(1.6);
  border-bottom:1px solid var(--border2);
  transition:background .3s;
}
nav::after {
  content:''; position:absolute; bottom:0; left:56px; right:56px; height:1px;
  background:linear-gradient(90deg,transparent,rgba(196,151,75,.3),transparent);
  pointer-events:none;
}
.nav-logo { display:flex; align-items:center; gap:14px; text-decoration:none }
.nav-logo-img {
  height:30px; width:auto;
  filter:drop-shadow(0 0 12px rgba(196,151,75,.3));
  transition:filter .35s;
}
.nav-logo:hover .nav-logo-img { filter:drop-shadow(0 0 22px rgba(196,151,75,.55)) }
.nav-logo-text {
  font-family:'Cinzel',serif; font-size:13px; letter-spacing:5px;
  color:var(--g1); font-weight:400; text-transform:uppercase; line-height:1.2;
}
.nav-logo-text span {
  font-family:'Montserrat',sans-serif; display:block;
  font-size:9px; letter-spacing:4px; color:var(--pt2); margin-top:2px; font-weight:300;
}
.nav-links { display:flex; align-items:center; gap:40px; list-style:none }
.nav-links a {
  font-family:'Montserrat',sans-serif; font-size:10px; letter-spacing:3.5px;
  font-weight:500; text-transform:uppercase; text-decoration:none;
  color:var(--pt); transition:color .25s; position:relative;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-8px; left:0;
  width:0; height:1px;
  background:linear-gradient(90deg,var(--g3),var(--g));
  transition:width .35s;
}
.nav-links a:hover { color:var(--g1) }
.nav-links a:hover::after { width:100% }
.cart-btn {
  display:flex; align-items:center; gap:9px; background:transparent;
  border:1px solid var(--border); color:var(--g);
  padding:9px 24px;
  font-family:'Cinzel',serif; font-size:9px;
  letter-spacing:4px; font-weight:400; cursor:pointer;
  transition:all .28s; text-transform:uppercase;
}
.cart-btn:hover { background:var(--g); color:var(--n1); border-color:var(--g) }
.cart-count {
  background:var(--g); color:var(--n1); width:18px; height:18px;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:9px; font-weight:700;
}
.cart-count.bump { animation:bump .3s ease }
@keyframes bump { 0%,100%{transform:scale(1)} 50%{transform:scale(1.6)} }

/* ─── HERO ─── */
#hero {
  min-height:100vh; min-height:100svh;
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden; padding-top:72px;
}

/* Layered deep navy atmosphere */
.hero-bg {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 120% 55% at 50% -5%, rgba(196,151,75,.08) 0%, transparent 48%),
    radial-gradient(ellipse 75% 75% at 50% 50%, #08142A 0%, #05091A 55%, #020610 100%);
}
.hero-bg::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 40% 40% at 50% 44%, rgba(196,151,75,.05) 0%, transparent 55%);
}
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(2,5,12,.72) 0%, rgba(2,5,12,.2) 30%, rgba(2,5,12,.2) 70%, rgba(2,5,12,.88) 100%),
    linear-gradient(90deg, rgba(2,5,12,.75) 0%, transparent 30%, transparent 70%, rgba(2,5,12,.75) 100%);
}

/* Precision grid — barely visible */
.hero-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(196,151,75,.012) 1px, transparent 1px),
    linear-gradient(90deg, rgba(196,151,75,.012) 1px, transparent 1px);
  background-size:88px 88px;
  mask-image:radial-gradient(ellipse 55% 55% at 50% 50%, black 0%, transparent 100%);
}

/* Particle image — ghosted atmospheric right-side */
.hero-particle-img {
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center 30%;
  opacity:0; animation:heroFade 2.4s 1.2s forwards;
  mix-blend-mode:screen;
  mask-image:radial-gradient(ellipse 85% 85% at 50% 50%,
    rgba(0,0,0,.35) 0%, rgba(0,0,0,.18) 55%, transparent 100%);
}

/* Center stack */
.hero-content {
  position:relative; z-index:2;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:0 40px; max-width:840px; width:100%;
}

/* Logo — the centerpiece */
.hero-logo-wrap {
  position:relative; margin-bottom:28px;
  opacity:0; animation:dropIn 1.2s .1s cubic-bezier(.22,1,.36,1) forwards;
}
.hero-logo-glow {
  position:absolute; inset:-80%;
  background:radial-gradient(ellipse 50% 50% at 50% 50%, rgba(196,151,75,.1) 0%, transparent 65%);
  animation:breathe 4s ease-in-out infinite; pointer-events:none;
}
@keyframes breathe { 0%,100%{opacity:.4;transform:scale(1)} 50%{opacity:1;transform:scale(1.12)} }
.hero-logo-img {
  width:clamp(240px,36vw,480px); height:auto;
  position:relative; z-index:1;
  filter:drop-shadow(0 0 70px rgba(196,151,75,.25)) drop-shadow(0 6px 30px rgba(0,0,0,.95));
}

/* Rule · Eyebrow */
.hero-eyebrow {
  display:flex; align-items:center; gap:24px;
  opacity:0; animation:riseIn .8s .7s forwards; margin-bottom:18px;
}
.hero-eye-line { height:1px; width:56px; flex-shrink:0 }
.hero-eye-line.left { background:linear-gradient(90deg,transparent,var(--g)) }
.hero-eye-line.right { background:linear-gradient(90deg,var(--g),transparent) }
.hero-eye-text {
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:6px;
  color:var(--g); text-transform:uppercase; font-weight:400; white-space:nowrap;
}

/* Headline — Cinzel, tracking like a luxury watchmaker */
.hero-title {
  font-family:'Cinzel',serif;
  font-size:clamp(46px,7vw,96px);
  font-weight:400;
  letter-spacing:clamp(12px,1.8vw,28px);
  text-transform:uppercase; color:var(--w);
  line-height:.96; margin-bottom:0;
  opacity:0; animation:riseIn .9s .9s forwards;
  text-shadow:0 2px 50px rgba(196,151,75,.1);
}
.hero-title-sub {
  font-family:'Cinzel',serif;
  font-size:clamp(18px,2.4vw,34px);
  font-weight:400;
  letter-spacing:clamp(14px,2.4vw,30px);
  text-transform:uppercase; color:var(--g1);
  line-height:1; margin-bottom:0;
  opacity:0; animation:riseIn .9s 1.05s forwards;
}

/* Gold ornament divider */
.hero-rule {
  display:flex; align-items:center; justify-content:center; gap:18px;
  opacity:0; animation:riseIn .7s 1.22s forwards; margin:30px 0;
}
.hero-rule-line { height:1px; width:80px }
.hero-rule-line.left { background:linear-gradient(90deg,transparent,var(--g3),var(--g)) }
.hero-rule-line.right { background:linear-gradient(90deg,var(--g),var(--g3),transparent) }
.hero-rule-diamond {
  width:5px; height:5px; background:var(--g); transform:rotate(45deg);
  box-shadow:0 0 12px rgba(196,151,75,.7); flex-shrink:0;
}

/* Tagline */
/* Primary page heading — sits between the hero logo and the tagline */
.hero-h1 {
  font-family:'Cinzel',serif;
  font-size:clamp(17px,1.9vw,26px);
  font-weight:400; letter-spacing:5px; text-transform:uppercase;
  line-height:1.4; color:var(--w);
  max-width:520px; margin-bottom:22px;
  opacity:0; animation:riseIn .8s 1.1s forwards;
}
.hero-h1 em { color:var(--g1); font-style:normal }
@media (max-width:768px) {
  .hero-h1 { font-size:15px; letter-spacing:3.5px; margin-bottom:16px }
}

.hero-sub {
  font-family:'Montserrat',sans-serif;
  font-size:clamp(12px,.95vw,14px);
  color:var(--pt); line-height:2.2;
  max-width:400px; letter-spacing:1.5px; font-weight:300;
  margin-bottom:46px;
  opacity:0; animation:riseIn .8s 1.38s forwards;
}

/* CTAs */
.hero-ctas {
  display:flex; gap:16px; justify-content:center; flex-wrap:wrap;
  opacity:0; animation:riseIn .8s 1.55s forwards;
}
.hero-cta-primary {
  background:var(--g); color:var(--n1);
  border:1px solid var(--g); padding:16px 52px;
  font-family:'Cinzel',serif; font-size:9.5px;
  font-weight:600; letter-spacing:6px; text-transform:uppercase;
  cursor:pointer; text-decoration:none; display:inline-block;
  transition:all .35s; position:relative; overflow:hidden;
}
.hero-cta-primary::before {
  content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);
  transition:left .6s;
}
.hero-cta-primary:hover { background:var(--g2); box-shadow:0 16px 60px rgba(196,151,75,.28) }
.hero-cta-primary:hover::before { left:100% }
.hero-cta-secondary {
  background:transparent; color:var(--pt);
  border:1px solid rgba(196,151,75,.25); padding:15px 44px;
  font-family:'Cinzel',serif; font-size:9.5px;
  font-weight:400; letter-spacing:6px; text-transform:uppercase;
  cursor:pointer; text-decoration:none; display:inline-block; transition:all .3s;
}
.hero-cta-secondary:hover { border-color:var(--g); color:var(--g1); background:rgba(196,151,75,.04) }

/* Utility buttons used in other sections */
.btn-gold {
  background:var(--g); color:var(--n1); border:1px solid var(--g);
  padding:15px 48px; font-family:'Cinzel',serif; font-size:9.5px;
  font-weight:600; letter-spacing:6px; text-transform:uppercase;
  cursor:pointer; text-decoration:none; display:inline-block; transition:all .28s;
}
.btn-gold:hover { background:var(--g2); box-shadow:0 12px 44px rgba(196,151,75,.25) }
.btn-outline {
  background:transparent; color:var(--pt);
  border:1px solid rgba(196,151,75,.25); padding:14px 42px;
  font-family:'Cinzel',serif; font-size:9.5px;
  font-weight:400; letter-spacing:6px; text-transform:uppercase;
  cursor:pointer; text-decoration:none; display:inline-block; transition:all .28s;
}
.btn-outline:hover { border-color:var(--g); color:var(--g1) }

/* Stats bar */
.hero-stats {
  position:absolute; bottom:0; left:0; right:0;
  display:flex; justify-content:center;
  opacity:0; animation:riseIn .8s 1.8s forwards;
  border-top:1px solid var(--border2);
  background:rgba(3,7,16,.7); backdrop-filter:blur(20px);
}
.hero-stat {
  padding:22px 68px;
  display:flex; flex-direction:column; align-items:center;
  border-right:1px solid var(--border2);
}
.hero-stat:last-child { border-right:none }
.stat-num {
  font-family:'Cinzel',serif; font-size:22px; font-weight:400;
  letter-spacing:4px; color:var(--g1); line-height:1; margin-bottom:7px;
}
.stat-label {
  font-family:'Montserrat',sans-serif; font-size:9px;
  letter-spacing:3px; color:var(--pt2); text-transform:uppercase; font-weight:400;
}

/* Animations */
@keyframes dropIn  { from{opacity:0;transform:translateY(-18px)} to{opacity:1;transform:translateY(0)} }
@keyframes riseIn  { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes heroFade{ from{opacity:0} to{opacity:.55} }
@keyframes fadeIn  { from{opacity:0} to{opacity:1} }

/* ─── MARQUEE ─── */
.marquee-bar {
  background:linear-gradient(90deg,var(--g4),var(--g3),var(--g),var(--g3),var(--g4));
  padding:11px 0; overflow:hidden; white-space:nowrap;
}
.marquee-track { display:inline-flex; animation:marquee 40s linear infinite }
.marquee-item {
  font-family:'Cinzel',serif; font-size:9.5px;
  letter-spacing:6px; color:var(--g2); padding:0 36px; font-weight:400; text-transform:uppercase;
}
.marquee-item::after { content:'◆'; padding-left:36px; opacity:.28 }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ─── SECTION BASE ─── */
section { padding:120px 0 }
.section-inner { max-width:1340px; margin:0 auto; padding:0 60px }
.section-label {
  display:flex; align-items:center; gap:16px; margin-bottom:18px;
  font-family:'Cinzel',serif; font-size:10px;
  letter-spacing:5px; color:var(--g1); text-transform:uppercase; font-weight:400;
}
.section-label::before {
  content:''; width:28px; height:1px;
  background:linear-gradient(90deg,var(--g3),var(--g));
}
.section-title {
  font-family:'Cinzel',serif;
  font-size:clamp(28px,3.8vw,56px);
  font-weight:400; letter-spacing:5px; text-transform:uppercase;
  line-height:1.1; margin-bottom:22px; color:var(--w);
}
.section-title em { color:var(--g1); font-style:normal }
.section-desc {
  font-family:'Montserrat',sans-serif;
  font-size:14px; color:var(--pt); max-width:480px;
  line-height:2.1; margin-bottom:56px; font-weight:300; letter-spacing:.3px;
}

/* ─── SECTION DIVIDER ─── */
.section-divider {
  display:flex; align-items:center; gap:20px; margin:0 60px 80px;
}
.section-divider-line { flex:1; height:1px; background:linear-gradient(90deg,transparent,var(--border2),transparent) }
.section-divider-mark {
  font-family:'Cinzel',serif; font-size:9px; letter-spacing:4px;
  color:var(--pt2); text-transform:uppercase; white-space:nowrap;
}

/* ─── WHY US ─── */
#why { background:var(--n2); padding:120px 0 }
.why-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--border2);
}
.why-card {
  padding:48px 32px; background:var(--n2);
  position:relative; overflow:hidden; transition:background .38s;
}
.why-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--g1),transparent);
  opacity:0; transition:opacity .4s;
}
.why-card:hover { background:var(--n3) }
.why-card:hover::before { opacity:1 }
.why-number {
  font-family:'Cinzel',serif; font-size:11px; letter-spacing:3px;
  color:var(--g1); margin-bottom:22px; display:block;
}
.why-icon { font-size:20px; margin-bottom:16px; display:block; opacity:.8 }
.why-name {
  font-family:'Cinzel',serif; font-size:13px; letter-spacing:3px;
  color:var(--w); margin-bottom:14px; font-weight:400; text-transform:uppercase;
}
.why-text { font-size:13px; color:var(--tx); line-height:2; font-weight:300 }

/* ─── SHOP ─── */
#shop { background:var(--n1) }
.shop-search-row { display:flex; align-items:center; gap:14px; margin-bottom:36px }
.shop-search { flex:1; max-width:300px; position:relative }
.shop-search input {
  width:100%; background:var(--n2);
  border:none; border-bottom:1px solid var(--border2);
  color:var(--w); padding:11px 0 11px 34px;
  font-family:'Montserrat',sans-serif; font-size:11px;
  letter-spacing:2px; outline:none; transition:border-color .25s; font-weight:300;
}
.shop-search input::placeholder { color:var(--tx2) }
.shop-search input:focus { border-bottom-color:var(--g) }
.shop-search-icon {
  position:absolute; left:0; top:50%; transform:translateY(-50%);
  color:var(--g3); font-size:12px; pointer-events:none;
}
.filter-bar { display:flex; flex-wrap:wrap; gap:6px; flex:1 }
.filter-btn {
  background:transparent; border:1px solid var(--border2);
  color:var(--pt); padding:9px 20px;
  font-family:'Cinzel',serif; font-size:9.5px;
  letter-spacing:2.5px; font-weight:400; text-transform:uppercase;
  cursor:pointer; transition:all .25s;
}
.filter-btn:hover, .filter-btn.active {
  background:var(--g); border-color:var(--g); color:var(--n1);
}
.products-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr));
  gap:1px; background:rgba(196,151,75,.06);
}
.product-card {
  background:var(--n2); position:relative;
  overflow:hidden; transition:background .35s;
  display:flex; flex-direction:column; cursor:pointer;
}
.product-card:hover { background:var(--n3) }
.product-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--g),transparent);
  transform:scaleX(0); transition:transform .45s;
}
.product-card:hover::after { transform:scaleX(1) }
.product-badge {
  position:absolute; top:14px; right:14px;
  background:var(--g); color:var(--n1);
  font-family:'Cinzel',serif; font-size:9px;
  letter-spacing:2px; font-weight:700;
  padding:4px 10px; text-transform:uppercase; z-index:2;
}
.product-visual {
  height:210px; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(ellipse 70% 70% at 50% 50%, #0E1C34 0%, #05091A 100%);
  overflow:hidden; position:relative;
}
.product-visual::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 50% 40% at 50% 15%, rgba(196,151,75,.055) 0%, transparent 65%);
}
.product-visual svg {
  transition:transform .5s cubic-bezier(.34,1.56,.64,1);
  filter:drop-shadow(0 10px 30px rgba(0,0,0,.9));
}
.product-card:hover .product-visual svg { transform:scale(1.08) translateY(-6px) }
.product-info { padding:22px 20px 12px; flex:1; display:flex; flex-direction:column }
.product-category {
  font-family:'Cinzel',serif; font-size:9px; letter-spacing:3px;
  color:var(--g1); text-transform:uppercase; font-weight:400; margin-bottom:8px;
}
.product-name {
  font-family:'Cinzel',serif; font-size:15px; letter-spacing:2px;
  color:var(--w); margin-bottom:6px; line-height:1.25;
  font-weight:400; text-transform:uppercase;
}
.product-dose {
  font-size:11px; color:var(--pt2); font-family:var(--mono);
  margin-bottom:10px; letter-spacing:1px;
}
.product-desc {
  font-size:13px; color:var(--tx); line-height:1.85; flex:1; font-weight:300;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.product-footer {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px; border-top:1px solid var(--border2);
}
.product-price {
  font-family:'Cinzel',serif; font-size:22px;
  color:var(--g1); font-weight:400; letter-spacing:1px;
}
.product-price small {
  font-size:11px; color:var(--pt2);
  font-family:'Montserrat',sans-serif; font-weight:300; letter-spacing:1px;
}
.add-btn {
  background:transparent; color:var(--g);
  border:1px solid rgba(196,151,75,.28); padding:9px 16px;
  font-family:'Cinzel',serif; font-size:9px;
  font-weight:600; letter-spacing:2.5px; cursor:pointer;
  text-transform:uppercase; transition:all .25s;
}
.add-btn:hover { background:var(--g); color:var(--n1); border-color:var(--g) }

/* ─── PRODUCT DETAIL MODAL ─── */
.pd-hero {
  display:grid; grid-template-columns:minmax(280px,42%) 1fr;
  background:linear-gradient(145deg,#08102A,#0C1A34);
}
.pd-visual {
  display:flex; align-items:center; justify-content:center;
  min-height:420px; overflow:hidden;
  background:radial-gradient(ellipse 80% 80% at 50% 50%,#0E1C34 0%,#050916 100%);
  border-right:1px solid var(--border2);
}
.pd-visual img { width:100%; height:100%; object-fit:cover; object-position:center; display:block }
.pd-header { padding:36px 36px 30px }
.pd-cat {
  font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:3px;
  color:var(--g1); text-transform:uppercase; font-weight:400; margin-bottom:10px;
}
.pd-name {
  font-family:'Cinzel',serif; font-size:26px; letter-spacing:2px;
  color:var(--w); line-height:1.1; margin-bottom:6px;
  font-weight:400; text-transform:uppercase;
}
.pd-dose { font-family:var(--mono); font-size:12px; color:var(--pt2); margin-bottom:16px }
.pd-badge {
  display:inline-block; background:var(--g); color:var(--n1);
  font-family:'Cinzel',serif; font-size:9px; letter-spacing:2px; font-weight:700;
  padding:4px 12px; text-transform:uppercase; margin-bottom:14px;
}
.pd-variants { margin-bottom:18px }
.pd-variants-label {
  font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:3px;
  color:var(--g1); text-transform:uppercase; font-weight:400; margin-bottom:8px;
}
.pd-variant-btns { display:flex; gap:8px; flex-wrap:wrap }
.pd-variant-btn {
  background:var(--n3); border:1px solid var(--border2);
  color:var(--pt2); padding:7px 14px;
  font-family:'Cinzel',serif; font-size:9px; font-weight:400;
  letter-spacing:1.5px; cursor:pointer; transition:all .2s; text-transform:uppercase;
}
.pd-variant-btn:hover { border-color:var(--border); color:var(--g) }
.pd-variant-btn.selected { background:rgba(196,151,75,.09); border-color:var(--g); color:var(--g1) }
.pd-variant-btn.out-of-stock { opacity:.55; text-decoration:line-through }
.pd-buy { display:flex; align-items:center; gap:16px; margin-top:4px }
.pd-price {
  font-family:'Cinzel',serif; font-size:34px; color:var(--g1); line-height:1; font-weight:400;
}
.pd-price small {
  font-size:12px; color:var(--pt2);
  font-family:'Montserrat',sans-serif; font-weight:300; letter-spacing:1px; margin-left:2px;
}
.pd-add-btn {
  background:var(--g); color:var(--n1); border:none;
  padding:13px 28px; font-family:'Cinzel',serif;
  font-size:9px; font-weight:600; letter-spacing:4px;
  cursor:pointer; text-transform:uppercase; transition:all .25s; white-space:nowrap;
}
.pd-add-btn:hover { background:var(--g2) }
.pd-add-btn:disabled { background:#545861; color:#c8c8c8; cursor:not-allowed }
.pd-add-btn:disabled:hover { background:#545861 }
.pd-tabs { display:flex; border-bottom:1px solid var(--border2); background:var(--n3) }
.pd-tab {
  flex:1; padding:13px 20px; font-family:'Cinzel',serif;
  font-size:9.5px; letter-spacing:2.5px; color:var(--pt2); text-transform:uppercase;
  font-weight:400; cursor:pointer; border:none; background:transparent;
  border-bottom:2px solid transparent; transition:all .22s;
}
.pd-tab:hover { color:var(--pt) }
.pd-tab.active { color:var(--g); border-bottom-color:var(--g); background:rgba(196,151,75,.04) }
.pd-content { padding:28px }
.pd-panel { display:none }
.pd-panel.active { display:block }
.pd-plain-text { font-size:14px; color:var(--tx); line-height:2; font-weight:300 }
.pd-sci { display:flex; flex-direction:column; gap:16px }
.pd-sci-block { background:var(--n3); border-left:1px solid var(--g3); padding:14px 16px }
.pd-sci-title {
  font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:2.5px;
  color:var(--g1); text-transform:uppercase; font-weight:600; margin-bottom:8px;
}
.pd-sci-text { font-size:13px; color:var(--tx); line-height:1.9; font-family:var(--mono) }
@media(max-width:768px){
  .pd-hero{grid-template-columns:1fr}
  .pd-visual{min-height:0;height:260px;border-right:none;border-bottom:1px solid var(--border2)}
  .pd-header{padding:20px 18px}
  .pd-name{font-size:20px}
  .pd-content{padding:18px}
  .pd-buy{flex-direction:column;align-items:flex-start;gap:10px}
  .pd-add-btn{width:100%;text-align:center;padding:16px}
}

/* ─── BUNDLE CARDS ─── */
.bundle-card { background:linear-gradient(160deg,#0C1A2E 0%,#080F1E 100%) }
.bundle-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--g2),transparent);
}
.bundle-badge {
  background:linear-gradient(135deg,var(--g4),var(--g1)); color:var(--n1);
  font-size:9px; font-weight:700; letter-spacing:2px;
}

/* ─── ABOUT / SPLIT BANNER ─── */
.split-banner { display:grid; grid-template-columns:1fr 1fr }
.banner-side { padding:96px 72px; display:flex; flex-direction:column; justify-content:center }
.banner-side.left {
  background:linear-gradient(150deg,#07102A 0%,#0A1832 100%);
  border-right:1px solid var(--border2);
}
.banner-side.right { background:linear-gradient(150deg,#090F26 0%,#0C162E 100%) }
.banner-eyebrow {
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:5px;
  color:var(--g1); text-transform:uppercase; font-weight:400; margin-bottom:22px;
}
.banner-title {
  font-family:'Cinzel',serif;
  font-size:clamp(28px,3.2vw,46px);
  color:var(--w); line-height:1.12; margin-bottom:22px;
  font-weight:400; letter-spacing:5px; text-transform:uppercase;
}
.banner-text {
  font-size:14px; color:var(--pt); line-height:2.1;
  margin-bottom:38px; max-width:380px; font-weight:300;
}

/* ─── CONTACT ─── */
#contact { background:var(--n2) }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start }
.contact-info { display:flex; flex-direction:column; gap:12px }
.contact-item {
  display:flex; align-items:flex-start; gap:16px; padding:22px 20px;
  border:1px solid var(--border2); background:var(--n3); transition:all .3s;
}
.contact-item:hover { border-color:var(--border); transform:translateX(6px) }
.contact-icon {
  width:40px; height:40px;
  background:rgba(196,151,75,.07); border:1px solid var(--border2);
  display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;
}
.contact-label {
  font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:3px;
  color:var(--g1); text-transform:uppercase; font-weight:600; margin-bottom:5px;
}
.contact-value { font-size:14px; color:var(--w); font-weight:500 }
.contact-value a { color:var(--w); text-decoration:none; transition:color .2s }
.contact-value a:hover { color:var(--g) }
.contact-form { background:var(--n3); border:1px solid var(--border2); padding:44px }
.form-title {
  font-family:'Cinzel',serif; font-size:17px; letter-spacing:4px;
  color:var(--w); margin-bottom:28px; font-weight:400; text-transform:uppercase;
}
.form-group { margin-bottom:22px }
.form-label {
  font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:3px;
  color:var(--g1); text-transform:uppercase; font-weight:600; display:block; margin-bottom:10px;
}
.form-input, .form-textarea {
  width:100%; background:transparent;
  border:none; border-bottom:1px solid var(--border2);
  color:var(--w); padding:11px 0;
  font-family:'Montserrat',sans-serif; font-size:14px;
  outline:none; transition:border-color .28s; resize:none;
  letter-spacing:.5px; font-weight:300;
}
.form-input:focus, .form-textarea:focus { border-bottom-color:var(--g) }
.form-textarea { height:88px }
.form-submit {
  width:100%; background:var(--g); color:var(--n1); border:none;
  padding:16px; font-family:'Cinzel',serif;
  font-size:9.5px; font-weight:600; letter-spacing:6px;
  cursor:pointer; text-transform:uppercase; transition:all .28s; margin-top:8px;
}
.form-submit:hover { background:var(--g2) }

/* ─── RESOURCES ─── */
#resources { background:var(--n1); padding:120px 0 }
.res-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr));
  gap:1px; background:rgba(196,151,75,.06); margin-top:48px;
}
.res-card {
  background:var(--n2); display:flex; flex-direction:column;
  transition:background .35s; text-decoration:none; color:inherit;
  position:relative; overflow:hidden; cursor:pointer;
}
.res-card:hover { background:var(--n3) }
.res-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--g),transparent);
  transform:scaleX(0); transition:transform .4s;
}
.res-card:hover::after { transform:scaleX(1) }
.res-card-top {
  height:108px; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(ellipse 75% 75% at 50% 50%,#0E1C34,#050916);
  font-size:36px; position:relative;
}
.res-card-top::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 55% 45% at 50% 0%,rgba(196,151,75,.06),transparent 70%);
}
.res-card-accent { height:1px; background:linear-gradient(90deg,transparent,var(--g),transparent) }
.res-card-body { padding:20px 20px 14px; flex:1; display:flex; flex-direction:column }
.res-card-type {
  font-family:'Cinzel',serif; font-size:9px; letter-spacing:3px;
  color:var(--g1); text-transform:uppercase; font-weight:400; margin-bottom:6px;
}
.res-card-title {
  font-family:'Cinzel',serif; font-size:14px; letter-spacing:2px;
  color:var(--w); line-height:1.25; margin-bottom:8px;
  font-weight:400; text-transform:uppercase;
}
.res-card-desc { font-size:13px; color:var(--tx); line-height:1.9; flex:1; font-weight:300 }
.res-card-footer {
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 20px; border-top:1px solid var(--border2);
}
.res-card-meta {
  font-family:'Cinzel',serif; font-size:9px; color:var(--pt2); letter-spacing:1.5px;
}
.res-dl-btn {
  background:var(--g); color:var(--n1); border:none;
  padding:8px 16px; font-family:'Cinzel',serif;
  font-size:9px; font-weight:600; letter-spacing:2px;
  cursor:pointer; text-transform:uppercase; text-decoration:none;
  display:inline-flex; align-items:center; gap:5px; transition:background .25s;
}
.res-dl-btn:hover { background:var(--g2) }

/* ─── PEPTIDE CALCULATOR CTA ─── */
.res-cta-banner {
  display:flex; align-items:center; justify-content:center;
  gap:20px; margin-bottom:48px; padding:28px 32px;
  background:linear-gradient(135deg,rgba(196,151,75,0.08) 0%,rgba(196,151,75,0.02) 100%);
  border:1px solid rgba(196,151,75,0.22);
  position:relative; overflow:hidden;
}
.res-cta-banner::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--g1),var(--g2),var(--g1),transparent);
}
.res-cta-text {
  font-family:'Cinzel',serif; font-size:14px; letter-spacing:3px;
  color:var(--w); text-transform:uppercase; font-weight:400;
}
.res-cta-btn {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--g); color:var(--n1);
  padding:14px 32px; border:none; cursor:pointer;
  font-family:'Cinzel',serif; font-size:12px; font-weight:600;
  letter-spacing:3px; text-transform:uppercase; text-decoration:none;
  transition:background .3s, transform .2s;
}
.res-cta-btn:hover { background:var(--g2); transform:translateY(-1px) }
.res-cta-btn span { font-size:16px }
@media(max-width:640px) {
  .res-cta-banner { flex-direction:column; text-align:center; gap:16px; padding:24px 20px }
  .res-cta-text { font-size:12px; letter-spacing:2px }
}

/* ─── PRODUCT INQUIRY CTA ─── */
.inq-banner { margin:56px 0 0; justify-content:space-between }
.inq-banner .res-cta-text { font-size:13px }
.inq-modal { max-width:520px }
.inq-textarea {
  min-height:104px; resize:vertical; line-height:1.65;
  font-family:'Montserrat',sans-serif;
}
@media(max-width:640px) {
  .inq-banner { margin-top:40px; justify-content:center }
  .inq-banner .res-cta-text { font-size:11.5px }
}

/* ─── RESOURCE MODAL ─── */
.res-modal-overlay {
  position:fixed; inset:0; z-index:10001;
  background:rgba(3,7,16,0.92); backdrop-filter:blur(12px);
  display:none; align-items:center; justify-content:center;
  padding:20px; overflow-y:auto;
}
.res-modal-overlay.active { display:flex }
.res-modal {
  background:var(--n2); border:1px solid var(--border);
  max-width:720px; width:100%; max-height:85vh; overflow-y:auto;
  position:relative;
}
.res-modal::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--g1),var(--g2),var(--g1),transparent);
}
.res-modal-header {
  padding:36px 40px 24px; border-bottom:1px solid var(--border2);
  position:sticky; top:0; background:var(--n2); z-index:2;
}
.res-modal-close {
  position:absolute; top:16px; right:20px; background:none; border:none;
  color:var(--pt2); font-size:24px; cursor:pointer; padding:8px;
  transition:color .2s;
}
.res-modal-close:hover { color:var(--g1) }
.res-modal-label {
  font-family:'Cinzel',serif; font-size:9px; letter-spacing:3px;
  color:var(--g1); text-transform:uppercase; margin-bottom:8px;
}
.res-modal-title {
  font-family:'Cinzel',serif; font-size:20px; letter-spacing:3px;
  color:var(--w); text-transform:uppercase; font-weight:400;
}
.res-modal-body {
  padding:32px 40px 40px; font-size:14px; line-height:1.85;
  color:var(--tx);
}
.res-modal-body h3 {
  font-family:'Cinzel',serif; font-size:13px; letter-spacing:2px;
  color:var(--g1); text-transform:uppercase; font-weight:400;
  margin:28px 0 12px; padding-top:20px;
  border-top:1px solid var(--border2);
}
.res-modal-body h3:first-child { margin-top:0; padding-top:0; border-top:none }
.res-modal-body p { margin-bottom:14px }
.res-modal-body ul, .res-modal-body ol {
  margin:0 0 16px 20px;
}
.res-modal-body li { margin-bottom:6px }
.res-modal-body strong { color:var(--w); font-weight:500 }
.res-modal-body .step-num {
  display:inline-block; width:24px; height:24px; line-height:24px;
  text-align:center; background:var(--g); color:var(--n1);
  font-family:'Cinzel',serif; font-size:11px; font-weight:700;
  margin-right:8px;
}
@media(max-width:640px) {
  .res-modal-header { padding:28px 24px 20px }
  .res-modal-body { padding:24px 24px 32px }
  .res-modal-title { font-size:16px; letter-spacing:2px }
}

/* ─── FOOTER ─── */
footer {
  background:var(--n2); border-top:1px solid var(--border2); padding:88px 0 44px;
}
footer::before {
  content:''; display:block; height:1px; margin-bottom:88px;
  max-width:1340px; margin-left:auto; margin-right:auto; padding:0 60px;
  background:linear-gradient(90deg,transparent,var(--g3),var(--g1),var(--g3),transparent);
}
.footer-inner { max-width:1340px; margin:0 auto; padding:0 60px }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:52px; margin-bottom:56px }
.footer-logo-img {
  height:44px; width:auto; margin-bottom:16px; display:block;
  filter:drop-shadow(0 0 12px rgba(196,151,75,.25));
}
.footer-tagline {
  font-size:13px; color:var(--tx); line-height:2; max-width:240px; font-weight:300;
}
.footer-heading {
  font-family:'Cinzel',serif; font-size:11px; letter-spacing:3px;
  color:var(--g1); text-transform:uppercase; font-weight:600;
  margin-bottom:18px; padding-bottom:10px; border-bottom:1px solid var(--border2);
}
.footer-links { list-style:none; display:flex; flex-direction:column; gap:10px }
.footer-links a {
  color:var(--tx); text-decoration:none; font-size:13px;
  letter-spacing:.5px; transition:color .2s; font-weight:300;
}
.footer-links a:hover { color:var(--g) }
.footer-bottom {
  border-top:1px solid var(--border2); padding-top:28px;
  display:flex; justify-content:space-between; align-items:center;
}
.footer-copy { font-size:12px; color:var(--tx2); letter-spacing:1px; font-weight:300 }
.footer-mono { font-family:var(--mono); font-size:11px; color:var(--g3); letter-spacing:2px }

/* ─── CART ─── */
.cart-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.6);
  z-index:800; opacity:0; pointer-events:none;
  transition:opacity .3s; backdrop-filter:blur(6px);
}
.cart-overlay.open { opacity:1; pointer-events:all }
.cart-sidebar {
  position:fixed; right:0; top:0; bottom:0; width:420px;
  background:var(--n2); border-left:1px solid var(--border);
  z-index:801; transform:translateX(100%);
  transition:transform .38s cubic-bezier(.4,0,.2,1);
  display:flex; flex-direction:column;
}
.cart-sidebar.open { transform:translateX(0) }
.cart-header {
  padding:24px 28px; border-bottom:1px solid var(--border2);
  display:flex; align-items:center; justify-content:space-between;
}
.cart-title {
  font-family:'Cinzel',serif; font-size:13px; letter-spacing:5px;
  color:var(--w); font-weight:400; text-transform:uppercase;
}
.cart-close {
  background:transparent; border:1px solid var(--border2);
  color:var(--pt2); width:34px; height:34px;
  cursor:pointer; font-size:14px;
  display:flex; align-items:center; justify-content:center; transition:all .2s;
}
.cart-close:hover { border-color:var(--g); color:var(--g) }
.cart-items { flex:1; overflow-y:auto; padding:18px 28px; display:flex; flex-direction:column; gap:12px }
.cart-empty { text-align:center; padding:80px 20px; color:var(--pt2) }
.cart-empty-icon { font-size:38px; margin-bottom:14px; opacity:.25 }
.cart-empty p { font-family:'Cinzel',serif; font-size:10px; letter-spacing:4px; text-transform:uppercase }
.cart-item {
  display:flex; gap:12px; padding:14px; background:var(--n3);
  border:1px solid var(--border2); position:relative; align-items:center;
}
.ci-mini { flex-shrink:0; display:flex; align-items:center; justify-content:center }
.ci-info { flex:1; min-width:0 }
.ci-name {
  font-family:'Cinzel',serif; font-size:13px; letter-spacing:1.5px;
  color:var(--w); line-height:1.25; margin-bottom:3px;
  font-weight:400; text-transform:uppercase;
}
.ci-cat { font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:2.5px; color:var(--g1); text-transform:uppercase; margin-bottom:9px }
.ci-controls { display:flex; align-items:center; gap:9px }
.qty-btn {
  background:transparent; border:1px solid var(--border2);
  color:var(--pt); width:26px; height:26px;
  cursor:pointer; font-size:15px;
  display:flex; align-items:center; justify-content:center; transition:all .2s;
}
.qty-btn:hover { border-color:var(--g); color:var(--g) }
.qty-num { font-family:var(--mono); font-size:13px; color:var(--w); min-width:20px; text-align:center }
.ci-price { font-family:'Cinzel',serif; font-size:18px; color:var(--g1); flex-shrink:0; font-weight:400 }
.rm-btn {
  position:absolute; top:9px; right:9px; background:transparent;
  border:none; color:var(--pt2); cursor:pointer;
  font-size:13px; line-height:1; transition:color .2s; padding:0;
}
.rm-btn:hover { color:#ff5f5f }
.cart-footer { padding:22px 28px; border-top:1px solid var(--border2) }
.cart-sub { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px }
.sub-label { font-family:'Cinzel',serif; font-size:10px; letter-spacing:3px; color:var(--pt2); text-transform:uppercase }
.sub-price { font-family:'Cinzel',serif; font-size:28px; color:var(--g1); font-weight:400 }
.cart-note { font-size:11px; color:var(--pt2); margin-bottom:18px; letter-spacing:.5px }
.checkout-btn {
  width:100%; background:var(--g); color:var(--n1); border:none;
  padding:18px; font-family:'Cinzel',serif;
  font-size:9.5px; font-weight:600; letter-spacing:6px;
  cursor:pointer; text-transform:uppercase; transition:all .28s;
}
.checkout-btn:hover { background:var(--g2) }

/* ─── DISCOUNT ─── */
.discount-row { display:flex; gap:8px; margin-bottom:8px }
.discount-input {
  flex:1; background:var(--n3); border:none; border-bottom:1px solid var(--border2);
  color:var(--w); padding:8px 0;
  font-family:'Montserrat',sans-serif; font-size:11px; letter-spacing:1.5px; outline:none;
}
.discount-input::placeholder { color:var(--tx2) }
.discount-input:focus { border-bottom-color:var(--g) }
.discount-apply {
  background:transparent; border:1px solid var(--border2); color:var(--pt);
  padding:8px 16px; font-family:'Cinzel',serif;
  font-size:9px; font-weight:600; letter-spacing:2px;
  cursor:pointer; text-transform:uppercase; transition:all .2s; white-space:nowrap;
}
.discount-apply:hover { border-color:var(--border); color:var(--g) }
.discount-line { display:flex; justify-content:space-between; align-items:center; padding:4px 0; font-size:12px; color:var(--g) }
.discount-remove { background:none; border:none; color:var(--pt2); cursor:pointer; font-size:14px; padding:0 0 0 8px; line-height:1 }
.discount-remove:hover { color:#ff5f5f }

/* ─── PAYMENT MODAL ─── */
.modal-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.9); z-index:1000;
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .3s;
  backdrop-filter:blur(12px); padding:20px; overflow-y:auto;
}
.modal-overlay.open { opacity:1; pointer-events:all }
.modal {
  background:var(--n2); border:1px solid var(--border);
  width:100%; max-width:560px; position:relative; overflow:hidden;
  max-height:90vh; overflow-y:auto; margin:auto;
}
/* ─── MODAL SHELL ─── */
.modal-overlay .modal {
  max-height:92vh; overflow-y:auto;
  scrollbar-width:thin; scrollbar-color:var(--border2) transparent;
}

/* ─── MODAL HEADER ─── */
.modal-top {
  background:linear-gradient(160deg,#06101F,#0D1A30);
  padding:28px 36px 22px; border-bottom:1px solid var(--border2); position:relative;
}
.modal-top::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--g),var(--g2),transparent);
}
.modal-logo { display:flex; align-items:center; gap:10px; margin-bottom:10px }
.modal-logo-img { height:26px; width:auto; filter:drop-shadow(0 0 8px rgba(196,151,75,.35)) }
.modal-logo-text {
  font-family:'Cinzel',serif; font-size:9px; letter-spacing:5px;
  color:var(--g1); font-weight:400; text-transform:uppercase;
}
.modal-headline {
  font-family:'Cinzel',serif; font-size:21px; letter-spacing:4px;
  color:var(--w); line-height:1.1; margin-bottom:5px; font-weight:400; text-transform:uppercase;
}
.modal-sub { font-size:11.5px; color:var(--pt2); letter-spacing:.5px }

/* ─── STEP TABS ─── */
.modal-steps { display:flex; border-bottom:1px solid var(--border2); background:rgba(0,0,0,.25) }
.modal-step {
  flex:1; padding:13px 14px;
  font-family:'Cinzel',serif; font-size:9px; letter-spacing:2.5px;
  color:var(--tx2); text-transform:uppercase; font-weight:400;
  text-align:center; border-bottom:2px solid transparent; transition:all .25s;
  display:flex; align-items:center; justify-content:center; gap:7px;
}
.modal-step.active { color:var(--g); border-bottom-color:var(--g); background:rgba(196,151,75,.05) }
.modal-step.done { color:var(--g2) }

/* ─── STEP PANELS ─── */
.modal-step-panel { display:none }
.modal-step-panel.active { display:block }
.modal-body { padding:28px 36px 32px }

/* ─── SECTION HEADINGS ─── */
.modal-section-title {
  font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:4px;
  color:var(--g); text-transform:uppercase; font-weight:600; margin-bottom:16px;
  padding-bottom:8px; border-bottom:1px solid var(--border2);
  display:flex; align-items:center; gap:8px;
}
.modal-section-title::before { content:''; width:3px; height:14px; background:var(--g); flex-shrink:0 }

/* ─── ORDER SUMMARY ─── */
.order-summary {
  background:rgba(0,0,0,.2); border:1px solid var(--border2);
  padding:14px 16px; margin-bottom:24px; max-height:130px; overflow-y:auto;
  border-radius:1px;
}
.order-line {
  display:flex; justify-content:space-between; align-items:center;
  font-size:12px; color:var(--pt2); padding:5px 0;
  border-bottom:1px solid rgba(255,255,255,.04); line-height:1.4;
}
.order-line:last-child {
  border:none; color:var(--g1); font-size:14px;
  padding-top:10px; margin-top:4px; font-weight:700; letter-spacing:.5px;
}

/* ─── SHIPPING FORM ─── */
.ship-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px }
.ship-grid.full { grid-template-columns:1fr }
.ship-grid.three { grid-template-columns:2fr 1fr 1fr }
.ship-field { display:flex; flex-direction:column; gap:6px }
.ship-label {
  font-family:'Cinzel',serif; font-size:8.5px; letter-spacing:2.5px;
  color:var(--g1); text-transform:uppercase; font-weight:600;
}
.ship-input {
  background:rgba(255,255,255,.04); border:1px solid var(--border2);
  border-bottom:2px solid var(--border2);
  color:var(--w); padding:11px 13px;
  font-family:'Montserrat',sans-serif; font-size:13.5px; outline:none;
  transition:all .2s; width:100%; font-weight:300; box-sizing:border-box;
}
.ship-input:focus {
  border-color:rgba(196,151,75,.4);
  border-bottom-color:var(--g);
  background:rgba(196,151,75,.04);
}
.ship-input::placeholder { color:rgba(180,196,210,.3); font-size:12px }

/* ─── PAYMENT METHODS ─── */
.payment-methods { display:flex; flex-direction:column; gap:10px; margin-bottom:22px }
.payment-row {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; background:rgba(255,255,255,.03);
  border:1px solid var(--border2); transition:all .2s; border-radius:1px;
}
.payment-row:hover { border-color:rgba(196,151,75,.35); background:rgba(196,151,75,.04) }
.payment-app { display:flex; align-items:center; gap:13px }
.payment-icon {
  width:38px; height:38px; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  font-size:18px; flex-shrink:0;
}
.icon-venmo { background:linear-gradient(135deg,#0074DE,#00A5FF) }
.icon-zelle { background:linear-gradient(135deg,#6D1ED4,#8B3DFF) }
.icon-cashapp { background:linear-gradient(135deg,#00C244,#00A33A) }
.payment-app-name {
  font-family:'Cinzel',serif; font-size:14px; color:var(--w); font-weight:400; letter-spacing:1px;
}
.payment-handle { font-family:var(--mono); font-size:11px; color:var(--g1); margin-top:2px }
.copy-btn {
  background:var(--g); border:1px solid var(--g); color:var(--n1);
  padding:9px 18px; font-family:'Cinzel',serif;
  font-size:9px; letter-spacing:2.5px; cursor:pointer; transition:all .2s;
  text-transform:uppercase; font-weight:700; white-space:nowrap;
}
.copy-btn:hover { background:var(--g2); border-color:var(--g2); color:var(--n1) }

/* ─── MEMO BOX ─── */
.memo-box {
  background:rgba(196,151,75,.06); border:1px solid rgba(196,151,75,.25);
  padding:14px 16px; margin-bottom:20px; border-left:3px solid var(--g2);
}
.memo-label {
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:2.5px;
  color:var(--g1); text-transform:uppercase; font-weight:600; margin-bottom:6px;
}
.memo-value {
  font-family:var(--mono); font-size:15px; color:var(--g); letter-spacing:3px; font-weight:700;
}

/* ─── INSTRUCTION NOTICE ─── */
.modal-notice {
  font-size:12px; color:var(--w); line-height:1.8; margin-bottom:22px;
  padding:14px 16px; border-left:3px solid var(--g);
  background:rgba(196,151,75,.10); font-weight:500;
}

/* ─── ACTION BUTTONS ─── */
.modal-actions { display:flex; gap:10px; margin-top:4px }

@keyframes pulse-gold {
  0%,100% { box-shadow: 0 0 0 0 rgba(196,151,75,.55); }
  50% { box-shadow: 0 0 0 10px rgba(196,151,75,0); }
}
.confirm-btn {
  flex:1; background:var(--g); color:var(--n1); border:none;
  padding:15px; font-family:'Cinzel',serif; font-size:10.5px;
  font-weight:700; letter-spacing:4px; cursor:pointer; text-transform:uppercase; transition:all .25s;
  animation: pulse-gold 2s ease-in-out infinite;
}
.confirm-btn:hover { background:var(--g2); animation:none; }
.confirm-btn:disabled { opacity:.4; cursor:not-allowed; animation:none }
.cancel-btn {
  background:transparent; color:var(--pt2); border:1px solid var(--border2);
  padding:15px 22px; font-family:'Cinzel',serif; font-size:9.5px;
  letter-spacing:2px; cursor:pointer; text-transform:uppercase; transition:all .2s; white-space:nowrap;
}
.cancel-btn:hover { border-color:var(--g2); color:var(--g) }

/* ─── CLOSE BUTTON ─── */
.modal-close-x {
  position:absolute; top:16px; right:16px; background:transparent;
  border:1px solid rgba(255,255,255,.12); color:var(--pt2);
  width:30px; height:30px; cursor:pointer; font-size:12px;
  display:flex; align-items:center; justify-content:center; transition:all .2s; border-radius:1px;
}
.modal-close-x:hover { border-color:var(--g); color:var(--g) }

/* ─── SUCCESS MODAL ─── */
.success-modal {
  background:var(--n2); border:1px solid var(--border);
  width:100%; max-width:440px; padding:52px 44px; text-align:center; position:relative;
}
.success-modal::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--g),var(--g2),transparent);
}
.success-icon { font-size:52px; margin-bottom:20px; display:block }
.success-title {
  font-family:'Cinzel',serif; font-size:20px; letter-spacing:5px;
  color:var(--w); margin-bottom:12px; font-weight:400; text-transform:uppercase;
}
.success-text { font-size:13.5px; color:var(--pt2); line-height:2; margin-bottom:24px; font-weight:300 }
.success-note {
  font-size:12px; color:var(--g1); line-height:1.7; letter-spacing:.5px;
  margin-bottom:28px; padding:14px 16px;
  border:1px solid rgba(196,151,75,.25); background:rgba(196,151,75,.06);
  border-left:3px solid var(--g);
}
.success-close {
  background:var(--g); color:var(--n1); border:none; padding:14px 42px;
  font-family:'Cinzel',serif; font-size:9.5px; font-weight:700;
  letter-spacing:5px; cursor:pointer; text-transform:uppercase; transition:all .25s;
}
.success-close:hover { background:var(--g2) }

/* ─── TOAST ─── */
.toast {
  position:fixed; bottom:30px; left:50%; transform:translateX(-50%) translateY(16px);
  background:var(--n2); border:1px solid var(--border); color:var(--pt);
  padding:12px 28px; font-family:'Cinzel',serif; font-size:9px; letter-spacing:4px;
  z-index:9998; opacity:0; transition:all .3s; pointer-events:none; white-space:nowrap;
}
.toast.show { opacity:1; transform:translateX(-50%) translateY(0) }

/* ─── HAMBURGER ─── */
.hamburger {
  display:none; flex-direction:column; justify-content:center; gap:5px;
  background:transparent; border:1px solid var(--border2);
  width:40px; height:40px; cursor:pointer; padding:9px; flex-shrink:0;
}
.hamburger span { display:block; height:1px; background:var(--g); transition:all .3s; transform-origin:center }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg) }
.hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0) }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg) }
.mobile-menu {
  position:fixed; inset:0; background:rgba(3,7,16,.98);
  z-index:490; display:flex; flex-direction:column; align-items:center; justify-content:center;
  transform:translateX(-100%); transition:transform .4s cubic-bezier(.4,0,.2,1);
  backdrop-filter:blur(28px);
}
.mobile-menu.open { transform:translateX(0) }
.mobile-menu a {
  font-family:'Cinzel',serif; font-size:20px; letter-spacing:8px;
  color:var(--pt2); text-decoration:none; text-transform:uppercase; font-weight:400;
  padding:22px 0; border-bottom:1px solid var(--border2);
  width:68%; text-align:center; transition:color .2s;
}
.mobile-menu a:last-child { border-bottom:none }
.mobile-menu a:hover { color:var(--g1) }
.mobile-menu-close {
  position:absolute; top:24px; right:24px;
  background:transparent; border:1px solid var(--border2); color:var(--pt2);
  width:40px; height:40px; font-size:16px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:all .2s;
}
.mobile-menu-close:hover { border-color:var(--border); color:var(--g) }

/* ─── BREAKPOINTS ─── */
@media(max-width:1024px) {
  .why-grid{grid-template-columns:1fr 1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .split-banner{grid-template-columns:1fr}
  nav{padding:0 28px}
  nav::after{left:28px;right:28px}
  .nav-links{gap:26px}
  .section-inner{padding:0 40px}
  .footer-inner{padding:0 40px}
}

@media(max-width:768px) {
  body{padding-bottom:env(safe-area-inset-bottom)}
  nav{padding:0 16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));height:62px}
  nav::after{display:none}
  .nav-links{display:none}
  .hamburger{display:flex}
  .cart-btn{padding:8px 14px;font-size:8.5px;letter-spacing:1.5px;min-height:40px}
  #hero{padding-top:62px;min-height:100svh}
  .hero-content{padding:0 20px 108px;max-width:100%}
  .hero-logo-img{width:clamp(200px,70vw,320px)}
  .hero-logo-wrap{margin-bottom:26px}
  .hero-eye-line{width:26px}
  .hero-eye-text{font-size:9px;letter-spacing:4px}
  .hero-title{font-size:clamp(32px,10vw,52px);letter-spacing:8px}
  .hero-title-sub{font-size:clamp(12px,3.5vw,20px);letter-spacing:10px}
  .hero-rule{margin:16px 0}
  .hero-rule-line{width:34px}
  .hero-sub{font-size:12px;line-height:2.1;margin-bottom:24px;letter-spacing:1px}
  .hero-cta-primary,.hero-cta-secondary{padding:13px 26px;font-size:9.5px;letter-spacing:2.5px}
  .hero-particle-img{opacity:.14;width:100%;right:0;mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.18) 40%,rgba(0,0,0,.3) 100%)}
  .hero-stats{padding-bottom:max(0px,env(safe-area-inset-bottom))}
  .hero-stat{padding:14px 18px;flex:1}
  .stat-num{font-size:16px;letter-spacing:2px}
  .stat-label{font-size:8px;letter-spacing:2px}
  section{padding:72px 0}
  .section-inner{padding:0 20px}
  .section-title{font-size:clamp(22px,8vw,38px);letter-spacing:3px}
  .section-desc{font-size:13px;margin-bottom:32px}
  .why-grid{grid-template-columns:1fr 1fr;gap:1px}
  .why-card{padding:24px 18px}
  .why-name{font-size:12px}
  .why-text{font-size:12px}
  .shop-search-row{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:22px}
  .shop-search{max-width:100%}
  .filter-bar{gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px;scrollbar-width:none}
  .filter-bar::-webkit-scrollbar{display:none}
  .filter-btn{padding:8px 14px;font-size:9px;white-space:nowrap;min-height:38px;flex-shrink:0}
  .products-grid{grid-template-columns:1fr 1fr;gap:1px}
  .product-visual{height:148px}
  .product-info{padding:14px 12px 8px}
  .product-name{font-size:12px;letter-spacing:1px}
  .product-price{font-size:18px}
  .product-footer{padding:10px 12px}
  .add-btn{padding:8px 10px;font-size:8.5px}
  .banner-side{padding:52px 24px}
  .banner-title{font-size:26px;letter-spacing:3px}
  .contact-grid{grid-template-columns:1fr}
  .contact-form{padding:24px 20px}
  .form-input,.form-textarea{font-size:16px}
  .footer-inner{padding:0 20px}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
  .footer-rule{padding:0 20px}
  .agegate-overlay{padding:12px;align-items:flex-end}
  .agegate-box{margin:0;border-radius:12px 12px 0 0;max-height:92svh;overflow-y:auto}
  .agegate-top{padding:24px 20px 16px}
  .agegate-logo-img{height:38px}
  .agegate-age{font-size:28px}
  .agegate-body{padding:18px 20px;padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .agegate-confirm input[type=checkbox]{width:22px;height:22px}
  .agegate-btns{grid-template-columns:1fr;gap:10px}
  .agegate-enter,.agegate-exit{padding:16px;font-size:13px;min-height:52px}
  .cart-sidebar{width:100%;border-left:none;border-top:1px solid var(--border)}
  .cart-header{padding:18px 20px;padding-top:max(18px,env(safe-area-inset-top))}
  .cart-items{padding:14px 20px}
  .cart-footer{padding:16px 20px;padding-bottom:max(16px,env(safe-area-inset-bottom))}
  .cart-item{padding:12px}
  .ci-name{font-size:12px}
  .qty-btn{width:32px;height:32px;font-size:18px}
  .sub-price{font-size:22px}
  .checkout-btn{padding:18px;min-height:54px}
  .modal-overlay{padding:0;align-items:flex-end}
  .modal{margin:0;border-radius:12px 12px 0 0;max-height:92svh;overflow-y:auto;border-left:none;border-right:none;border-bottom:none}
  .modal-top{padding:20px 22px 16px;padding-top:max(20px,env(safe-area-inset-top))}
  .modal-body{padding:20px 22px 28px;padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .modal-headline{font-size:17px;letter-spacing:2px}
  .ship-grid{grid-template-columns:1fr;gap:12px}
  .ship-grid.three{grid-template-columns:1fr 1fr}
  .ship-input{font-size:16px;min-height:48px;padding:13px}
  .modal-actions{flex-direction:column-reverse;gap:10px}
  .cancel-btn,.confirm-btn{text-align:center;padding:16px;min-height:54px}
  .payment-row{padding:14px;min-height:58px}
  .modal-close-x{width:36px;height:36px;top:16px;right:16px}
  .modal-overlay .success-modal{border-radius:12px 12px 0 0;padding:36px 22px;padding-bottom:max(32px,env(safe-area-inset-bottom));margin:0;border-left:none;border-right:none;border-bottom:none}
  .toast{font-size:10px;padding:12px 20px;width:calc(100% - 32px);left:16px;transform:translateY(16px);text-align:center;white-space:normal;bottom:max(20px,env(safe-area-inset-bottom))}
  .toast.show{transform:translateY(0)}
  .res-grid{grid-template-columns:1fr;gap:1px}
}

@media(max-width:390px) {
  .products-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .hero-title{font-size:36px;letter-spacing:6px}
  .agegate-age{font-size:24px}
}

/* ═══════════════════════════════════════════════════════════
   MULTI-PAGE LAYER
   Added when the shop moved from a section of the home page to
   /shop plus a page per product. Everything below styles the
   interior pages: page headers, breadcrumbs, the product detail
   page and the home page's featured strip.
═══════════════════════════════════════════════════════════ */

/* ── Interior page header (sits under the fixed 72px nav) ── */
.page-head {
  padding:150px 0 54px; position:relative; overflow:hidden;
  background:radial-gradient(ellipse 80% 120% at 50% -20%, #0E1C34 0%, var(--n1) 70%);
  border-bottom:1px solid var(--border2);
}
.page-head::after {
  content:''; position:absolute; bottom:0; left:10%; right:10%; height:1px;
  background:linear-gradient(90deg,transparent,rgba(196,151,75,.3),transparent);
}
.page-head .section-label { margin-bottom:14px }
.page-head .section-desc { margin-bottom:0 }
.page-head-title {
  font-family:'Cinzel',serif; font-weight:400;
  font-size:clamp(34px,5.4vw,60px); line-height:1.08;
  letter-spacing:4px; text-transform:uppercase; color:var(--w);
  margin-bottom:18px;
}
.page-head-title em { font-style:normal; color:var(--g); font-weight:500 }

/* ── Breadcrumbs ── */
.breadcrumb {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-family:var(--mono); font-size:11px; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--tx2); margin-bottom:22px;
}
.breadcrumb a { color:var(--pt2); text-decoration:none; transition:color .2s }
.breadcrumb a:hover { color:var(--g) }
.breadcrumb span[aria-current] { color:var(--g1) }
.breadcrumb .sep { color:var(--g3) }

/* ── Catalogue cards: name is the link, and it covers the card ── */
.product-link { color:inherit; text-decoration:none }
.product-link::after { content:''; position:absolute; inset:0; z-index:1 }
.product-card .product-footer { position:relative; z-index:2 }
.add-btn-link { text-decoration:none; display:inline-flex; align-items:center; justify-content:center }

/* ── Shop toolbar ── */
.shop-result-count {
  font-family:var(--mono); font-size:11px; letter-spacing:2px;
  text-transform:uppercase; color:var(--tx2); margin:0 0 22px;
}
.shop-no-results {
  display:none; text-align:center; padding:60px 20px;
  border:1px solid var(--border2); background:var(--n2);
}
.shop-no-results-title {
  font-family:'Cinzel',serif; font-size:18px; letter-spacing:2px;
  color:var(--w); text-transform:uppercase; margin-bottom:10px;
}

/* ── Product detail page ── */
.pd-page { padding:110px 0 0 }
.pd-name { font-size:clamp(26px,3.2vw,38px); margin-bottom:8px }
.pd-summary {
  font-size:14px; line-height:1.95; color:var(--tx); font-weight:300;
  margin-top:22px; max-width:52ch;
}
.sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Active page marker in the shared nav */
.page-shop .nav-links a[href="/shop"],
.page-resources .nav-links a[href="/resources"] { color:var(--g) }
.pd-layout {
  max-width:1120px; margin:0 auto; padding:0 60px;
}
.pd-card {
  background:var(--n2); border:1px solid var(--border);
  position:relative; overflow:hidden; margin-bottom:28px;
}
.pd-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--g2),transparent); z-index:1;
}
.pd-back {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:11px; letter-spacing:2px;
  text-transform:uppercase; color:var(--pt2); text-decoration:none;
  margin-bottom:30px; transition:color .2s;
}
.pd-back:hover { color:var(--g) }
.pd-share {
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  margin-top:22px; padding-top:20px; border-top:1px solid var(--border2);
}
.pd-share-label {
  font-family:var(--mono); font-size:10px; letter-spacing:2px;
  text-transform:uppercase; color:var(--tx2);
}
.pd-share-url {
  font-family:var(--mono); font-size:11px; color:var(--pt2);
  word-break:break-all; flex:1; min-width:180px;
}
.pd-copy-btn {
  background:transparent; border:1px solid var(--border3); color:var(--g1);
  font-family:'Montserrat',sans-serif; font-size:10px; font-weight:600;
  letter-spacing:2px; text-transform:uppercase; padding:8px 14px;
  cursor:pointer; transition:all .2s;
}
.pd-copy-btn:hover { background:rgba(196,151,75,.1); border-color:var(--g) }
.pd-includes { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px }
.pd-include-tag {
  font-size:10px; letter-spacing:1px; color:var(--g1);
  border:1px solid rgba(196,151,75,.35); padding:4px 9px;
  text-transform:uppercase; font-weight:600;
}
.pd-disclaimer {
  background:var(--n2); border:1px solid var(--border2);
  border-left:2px solid var(--g3); padding:18px 22px;
  font-size:12px; line-height:1.9; color:var(--tx2); margin-bottom:28px;
}
.pd-disclaimer strong { color:var(--pt); font-weight:600 }

/* ── Related products rail ── */
.pd-related { padding:70px 0 110px }
.pd-related-head {
  display:flex; align-items:baseline; justify-content:space-between;
  gap:20px; flex-wrap:wrap; margin-bottom:26px;
}
.pd-related-title {
  font-family:'Cinzel',serif; font-size:20px; letter-spacing:3px;
  text-transform:uppercase; color:var(--w); font-weight:400;
}
.pd-related-link {
  font-family:var(--mono); font-size:11px; letter-spacing:2px;
  text-transform:uppercase; color:var(--g1); text-decoration:none;
}
.pd-related-link:hover { color:var(--g2) }

/* ── Home page featured strip ── */
.featured-head {
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px; flex-wrap:wrap; margin-bottom:36px;
}
.featured-head .section-desc { margin-bottom:0 }

@media(max-width:1024px){
  .pd-layout { padding:0 32px }
}
@media(max-width:768px){
  .page-head { padding:120px 0 40px }
  .pd-page { padding:96px 0 0 }
  .pd-layout { padding:0 20px }
  .pd-related { padding:50px 0 80px }
  .pd-share { flex-direction:column; align-items:flex-start }
}
