:root {
  --bg: #030201;
  --bg-soft: #0b0907;
  --panel: #14100c;
  --panel-2: #21180f;
  --gold: #bd842b;
  --gold-2: #8f5f1a;
  --gold-soft: #f4d892;
  --champagne: #fff0c2;
  --cream: #fbf1df;
  --ivory: #fff7e9;
  --muted: #c0ad8e;
  --muted-2: #8d7a60;
  --line: rgba(219, 167, 75, 0.30);
  --line-strong: rgba(244, 216, 146, 0.55);
  --danger: #8b2e2e;
  --success: #5e8b5e;
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.48);
  --glow: 0 0 34px rgba(189, 132, 43, 0.18);
  --radius: 24px;
  --max: 1180px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--cream);
  background:
    radial-gradient(circle at top left, rgba(212, 167, 67, 0.12), transparent 32rem),
    radial-gradient(circle at top right, rgba(102, 68, 30, 0.28), transparent 28rem),
    var(--bg);
  line-height: 1.55;
}

body.nav-open { overflow: hidden; }

img { max-width: 100%; display: block; }

a { color: inherit; text-decoration: none; }

p { color: var(--muted); margin: 0 0 1rem; }

.container {
  width: min(var(--max), calc(100% - 36px));
  margin: 0 auto;
}

.notice-bar {
  border-bottom: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.42);
  color: var(--gold-soft);
  font-size: 0.92rem;
  text-align: center;
  padding: 0.55rem 1rem;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(8, 7, 6, 0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}

.header-inner {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.brand {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-width: 220px;
}

.logo-mark {
  width: 48px;
  height: 48px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--gold-soft);
  font-weight: 700;
  letter-spacing: 0.08em;
  background: linear-gradient(145deg, rgba(212,167,67,.16), rgba(255,255,255,.03));
  box-shadow: inset 0 0 0 3px rgba(212,167,67,.08);
}

.brand-text strong {
  display: block;
  color: var(--cream);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-size: 0.98rem;
}

.brand-text span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nav-toggle {
  display: none;
  background: transparent;
  border: 1px solid var(--line);
  color: var(--cream);
  padding: 0.65rem 0.8rem;
  border-radius: 999px;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.95rem;
  color: var(--muted);
}

.main-nav a:hover, .main-nav a.active { color: var(--gold-soft); }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border-radius: 999px;
  padding: 0.82rem 1.15rem;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--cream);
  cursor: pointer;
  transition: 0.2s ease;
  font-family: inherit;
}

.btn:hover { transform: translateY(-1px); border-color: var(--gold); color: var(--gold-soft); }

.btn-primary {
  color: #130d05;
  background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  border-color: transparent;
  font-weight: 700;
}

.btn-primary:hover { color: #130d05; filter: brightness(1.05); }

.btn-ghost { background: rgba(255,255,255,.03); }

.hero {
  padding: 5.2rem 0 4.5rem;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items: center;
  gap: 2.5rem;
}

.eyebrow {
  color: var(--gold-soft);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 0.78rem;
  margin: 0 0 0.85rem;
}

h1, h2, h3, h4 { line-height: 1.05; margin: 0; }

h1 {
  font-size: clamp(3rem, 8vw, 6.1rem);
  letter-spacing: -0.05em;
  max-width: 780px;
}

h2 {
  font-size: clamp(2rem, 4vw, 3.55rem);
  letter-spacing: -0.035em;
}

h3 { font-size: 1.35rem; }

.lead {
  font-size: clamp(1.08rem, 1.5vw, 1.27rem);
  max-width: 680px;
  margin-top: 1.2rem;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.8rem;
}

.hero-card {
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(212,167,67,.12), rgba(255,255,255,.03));
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 1.2rem;
  min-height: 440px;
  display: grid;
  align-content: end;
  position: relative;
  overflow: hidden;
}

.hero-card::before {
  content: '';
  position: absolute;
  inset: 1rem;
  border: 1px solid rgba(212,167,67,.22);
  border-radius: calc(var(--radius) - 8px);
  pointer-events: none;
}

.hero-card::after {
  content: '';
  position: absolute;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  border: 1px solid rgba(212,167,67,.16);
  top: -100px;
  right: -90px;
}

.mock-label {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(212,167,67,.36);
  border-radius: 18px;
  background: rgba(0,0,0,.48);
  padding: 1.4rem;
}

.mock-label .label-top {
  color: var(--gold-soft);
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: .72rem;
}

.mock-label strong {
  display: block;
  font-size: 2.1rem;
  line-height: 1;
  margin: .65rem 0 .5rem;
}

.mock-label small { color: var(--muted); }

.section {
  padding: 4.5rem 0;
}

.section.alt {
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00));
  border-top: 1px solid rgba(212,167,67,.12);
  border-bottom: 1px solid rgba(212,167,67,.08);
}

.section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 2rem;
  margin-bottom: 2rem;
}

.section-head p { max-width: 580px; }

.grid {
  display: grid;
  gap: 1rem;
}

.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }

.card {
  background: rgba(255,255,255,.035);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.25rem;
  min-height: 100%;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
}

.card h3, .card h4 { margin-bottom: .5rem; }
.card p { font-size: .98rem; }

.product-card {
  display: flex;
  flex-direction: column;
  gap: .8rem;
}

.product-art {
  aspect-ratio: 4/3;
  border-radius: 18px;
  border: 1px solid rgba(212,167,67,.2);
  background:
    radial-gradient(circle at 50% 35%, rgba(212,167,67,.18), transparent 38%),
    linear-gradient(145deg, #1e1915, #0b0a09);
  display: grid;
  place-items: center;
  color: var(--gold-soft);
  text-align: center;
  padding: 1rem;
}

.product-art span {
  display: block;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .78rem;
  color: var(--muted);
}

.product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .35rem 0;
}

.pill {
  display: inline-flex;
  border: 1px solid rgba(212,167,67,.25);
  color: var(--gold-soft);
  border-radius: 999px;
  padding: .25rem .55rem;
  font-size: .78rem;
  background: rgba(212,167,67,.06);
}

.price-row {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  color: var(--cream);
  font-size: .92rem;
}

.split {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 2rem;
  align-items: center;
}

.feature-list {
  display: grid;
  gap: 1rem;
}

.feature-item {
  border-left: 2px solid var(--gold);
  padding-left: 1rem;
}

.quote {
  font-size: 1.2rem;
  color: var(--cream);
}

.form-box {
  display: grid;
  gap: .8rem;
}

input, textarea, select {
  width: 100%;
  border: 1px solid var(--line);
  background: rgba(0,0,0,.35);
  color: var(--cream);
  padding: .9rem 1rem;
  border-radius: 14px;
  font: inherit;
}

textarea { min-height: 130px; resize: vertical; }

.helper { color: var(--muted); font-size: .88rem; }

.footer {
  border-top: 1px solid var(--line);
  background: #050504;
  padding: 3rem 0 2rem;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.3fr repeat(4, 1fr);
  gap: 1.5rem;
}

.footer a, .footer p { color: var(--muted); }
.footer a:hover { color: var(--gold-soft); }
.footer-links { display: grid; gap: .5rem; }

.copyright {
  border-top: 1px solid rgba(212,167,67,.12);
  margin-top: 2rem;
  padding-top: 1rem;
  color: #877965;
  font-size: .9rem;
}

.page-hero {
  padding: 4.5rem 0 2.5rem;
  border-bottom: 1px solid rgba(212,167,67,.1);
}

.page-hero h1 { font-size: clamp(2.6rem, 5vw, 4.8rem); }

.table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.table {
  width: 100%;
  border-collapse: collapse;
  min-width: 700px;
}

.table th, .table td {
  border-bottom: 1px solid rgba(212,167,67,.12);
  padding: .85rem;
  text-align: left;
}

.table th { color: var(--gold-soft); background: rgba(212,167,67,.08); }
.table td { color: var(--muted); }

.callout {
  border: 1px solid var(--gold);
  background: linear-gradient(145deg, rgba(212,167,67,.13), rgba(212,167,67,.04));
  border-radius: var(--radius);
  padding: 1.3rem;
}

@media (max-width: 920px) {
  .nav-toggle { display: inline-flex; }
  .main-nav {
    position: fixed;
    inset: 82px 18px auto 18px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    background: rgba(12, 10, 8, .98);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 1rem;
    box-shadow: var(--shadow);
  }
  body.nav-open .main-nav { display: flex; }
  .main-nav a, .main-nav .btn { width: 100%; justify-content: center; }
  .hero-grid, .split, .grid-2 { grid-template-columns: 1fr; }
  .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .section-head { display: block; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .hero { padding: 3.2rem 0; }
  .section { padding: 3.2rem 0; }
  .footer-grid { grid-template-columns: 1fr; }
  .brand-text span { display: none; }
}


/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.1 — PREMIUM POLISH
   Direction: approachable premium, warm black/gold, boutique not snobby.
   ============================================================ */

html { scroll-behavior: smooth; }

body {
  color: var(--ivory);
  background:
    radial-gradient(circle at 16% 7%, rgba(244, 216, 146, 0.12), transparent 29rem),
    radial-gradient(circle at 92% 9%, rgba(189, 132, 43, 0.18), transparent 31rem),
    radial-gradient(circle at 50% 110%, rgba(100, 60, 18, 0.18), transparent 34rem),
    linear-gradient(135deg, #030201 0%, #090704 45%, #020101 100%);
  overflow-x: hidden;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 84px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.012) 0 1px, transparent 1px 84px),
    radial-gradient(circle at center, transparent 0 35%, rgba(0,0,0,.35) 100%);
  opacity: .75;
}

body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 20% 20%, rgba(244,216,146,.05) 0 1px, transparent 1px),
    radial-gradient(circle at 80% 30%, rgba(189,132,43,.045) 0 1px, transparent 1px);
  background-size: 34px 34px, 48px 48px;
  opacity: .35;
}

.notice-bar {
  background: linear-gradient(90deg, rgba(35,22,9,.94), rgba(8,6,4,.86), rgba(35,22,9,.94));
  color: var(--champagne);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .78rem;
  border-bottom: 1px solid rgba(244,216,146,.28);
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.7);
}

.site-header {
  background: linear-gradient(180deg, rgba(6,4,2,.96), rgba(6,4,2,.86));
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

.header-inner { min-height: 88px; }

.logo-mark {
  border: 1px solid transparent;
  background:
    linear-gradient(145deg, rgba(7,5,3,.98), rgba(23,16,9,.92)) padding-box,
    conic-gradient(from 135deg, rgba(244,216,146,.22), var(--gold), var(--champagne), var(--gold-2), rgba(244,216,146,.22)) border-box;
  color: var(--champagne);
  text-shadow: 0 0 18px rgba(244,216,146,.42);
  box-shadow: inset 0 0 0 3px rgba(244,216,146,.06), 0 0 0 1px rgba(0,0,0,.8), var(--glow);
}

.brand-text strong {
  color: var(--champagne);
  text-shadow: 0 0 18px rgba(189,132,43,.18);
}

.main-nav a {
  position: relative;
  padding: .25rem .05rem;
}

.main-nav a:not(.btn)::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.35rem;
  height: 1px;
  transform: scaleX(0);
  transform-origin: center;
  background: linear-gradient(90deg, transparent, var(--gold-soft), transparent);
  transition: transform .25s ease;
}

.main-nav a:not(.btn):hover::after,
.main-nav a:not(.btn).active::after { transform: scaleX(1); }

.btn {
  border-color: rgba(244,216,146,.26);
  color: var(--ivory);
  background: rgba(255,255,255,.02);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.btn:hover {
  border-color: rgba(244,216,146,.6);
  box-shadow: 0 10px 26px rgba(0,0,0,.25), 0 0 22px rgba(189,132,43,.12);
}

.btn-primary {
  color: #170f05;
  background:
    linear-gradient(135deg, #fff2bf 0%, #e5bd63 34%, #b77a25 72%, #f3d78d 100%);
  border-color: rgba(244,216,146,.5);
  box-shadow: 0 14px 34px rgba(0,0,0,.25), 0 0 28px rgba(189,132,43,.18), inset 0 1px 0 rgba(255,255,255,.45);
}

.btn-primary:hover { filter: saturate(1.05) brightness(1.04); }

.btn-ghost {
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
}

.hero {
  position: relative;
  padding: 6.3rem 0 5.4rem;
  isolation: isolate;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 72% 42%, rgba(189,132,43,.20), transparent 26rem),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 65%);
}

.hero::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(920px, 82vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(244,216,146,.52), transparent);
}

h1, h2, h3, h4 {
  color: var(--ivory);
  text-wrap: balance;
}

h1 {
  letter-spacing: -.055em;
  text-shadow: 0 24px 70px rgba(0,0,0,.72);
}

h2 { text-shadow: 0 18px 42px rgba(0,0,0,.35); }

.lead {
  color: #deccb0;
}

.eyebrow {
  color: var(--champagne);
  letter-spacing: .21em;
}

.luxury-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  border: 1px solid rgba(244,216,146,.33);
  background: linear-gradient(135deg, rgba(244,216,146,.10), rgba(255,255,255,.025));
  color: var(--champagne);
  border-radius: 999px;
  padding: .45rem .72rem;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 0 24px rgba(189,132,43,.12);
  margin: 0 0 1rem;
}

.luxury-badge::before,
.luxury-badge::after { content: '✦'; color: var(--gold-soft); font-size: .65rem; }

.ornament-divider {
  display: flex;
  align-items: center;
  gap: .75rem;
  color: var(--gold-soft);
  margin: 1.25rem 0;
  opacity: .9;
}

.ornament-divider::before,
.ornament-divider::after {
  content: '';
  height: 1px;
  width: 90px;
  max-width: 22vw;
  background: linear-gradient(90deg, transparent, rgba(244,216,146,.55));
}

.ornament-divider::after { background: linear-gradient(90deg, rgba(244,216,146,.55), transparent); }

.hero-card,
.card,
.callout,
.table-wrap {
  border: 1px solid transparent;
  background:
    linear-gradient(145deg, rgba(14,10,7,.94), rgba(29,20,12,.78)) padding-box,
    linear-gradient(135deg, rgba(244,216,146,.45), rgba(189,132,43,.16), rgba(255,255,255,.06)) border-box;
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.045);
}

.card,
.callout { position: relative; overflow: hidden; }

.card::before,
.callout::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 10% 0%, rgba(244,216,146,.10), transparent 14rem),
    linear-gradient(135deg, rgba(255,255,255,.035), transparent 38%);
  opacity: .75;
}

.card > *, .callout > * { position: relative; z-index: 1; }

.card:hover,
.product-card:hover {
  transform: translateY(-3px);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  box-shadow: 0 28px 80px rgba(0,0,0,.5), 0 0 30px rgba(189,132,43,.10);
}

.product-card { transition: transform .22s ease, box-shadow .22s ease; }

.hero-card {
  min-height: 465px;
  background:
    linear-gradient(145deg, rgba(12,8,5,.92), rgba(34,23,12,.80)) padding-box,
    conic-gradient(from 130deg, rgba(244,216,146,.5), rgba(189,132,43,.15), rgba(255,255,255,.07), rgba(244,216,146,.42)) border-box;
}

.hero-card::before {
  border-color: rgba(244,216,146,.28);
  box-shadow: inset 0 0 40px rgba(189,132,43,.055);
}

.hero-card::after {
  border-color: rgba(244,216,146,.18);
  box-shadow: 0 0 120px rgba(189,132,43,.14);
}

.mock-label {
  background:
    radial-gradient(circle at top, rgba(244,216,146,.12), transparent 55%),
    linear-gradient(145deg, rgba(4,3,2,.88), rgba(20,13,8,.78));
  border-color: rgba(244,216,146,.43);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.55), 0 20px 60px rgba(0,0,0,.35);
}

.mock-label::before,
.mock-label::after {
  content: '✦';
  position: absolute;
  color: rgba(244,216,146,.5);
  font-size: 1.05rem;
}

.mock-label::before { top: .65rem; right: .85rem; }
.mock-label::after { bottom: .65rem; left: .85rem; }

.mock-label strong { color: var(--champagne); text-shadow: 0 0 24px rgba(189,132,43,.24); }

.product-art {
  position: relative;
  background:
    radial-gradient(circle at 50% 22%, rgba(244,216,146,.22), transparent 24%),
    radial-gradient(circle at 20% 78%, rgba(189,132,43,.10), transparent 28%),
    linear-gradient(145deg, #22170e, #050403 64%);
  border-color: rgba(244,216,146,.28);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.55), inset 0 0 35px rgba(0,0,0,.44);
  overflow: hidden;
}

.product-art::before {
  content: '';
  position: absolute;
  inset: .75rem;
  border: 1px solid rgba(244,216,146,.20);
  border-radius: 14px;
  pointer-events: none;
}

.product-art::after {
  content: '';
  position: absolute;
  top: -40%;
  left: -70%;
  width: 70%;
  height: 180%;
  transform: rotate(22deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.11), transparent);
  opacity: .45;
}

.product-art strong { color: var(--champagne); text-shadow: 0 0 22px rgba(244,216,146,.18); }

.pill {
  border-color: rgba(244,216,146,.30);
  background: rgba(189,132,43,.09);
  color: var(--champagne);
}

.price-row span {
  display: inline-flex;
  padding: .35rem .6rem;
  border: 1px solid rgba(244,216,146,.20);
  border-radius: 999px;
  background: rgba(255,255,255,.03);
  color: #ead8b9;
}

.feature-item {
  border-left: 0;
  border: 1px solid rgba(244,216,146,.16);
  border-radius: 18px;
  padding: 1rem 1rem 1rem 1.2rem;
  background: rgba(255,255,255,.025);
  position: relative;
}

.feature-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 1rem;
  bottom: 1rem;
  width: 2px;
  background: linear-gradient(180deg, transparent, var(--gold-soft), transparent);
}

.section.alt {
  background:
    linear-gradient(180deg, rgba(244,216,146,.03), rgba(255,255,255,.00)),
    linear-gradient(90deg, transparent, rgba(189,132,43,.035), transparent);
  border-top-color: rgba(244,216,146,.12);
  border-bottom-color: rgba(244,216,146,.10);
}

.section-head {
  position: relative;
  padding-bottom: .8rem;
}

.section-head::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(440px, 70vw);
  height: 1px;
  background: linear-gradient(90deg, rgba(244,216,146,.52), transparent);
}

.page-hero {
  position: relative;
  padding: 5.1rem 0 3.2rem;
  background:
    radial-gradient(circle at 75% 0%, rgba(189,132,43,.15), transparent 28rem),
    linear-gradient(180deg, rgba(255,255,255,.018), transparent);
}

.page-hero::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(900px, 86vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(244,216,146,.48), transparent);
}

input, textarea, select {
  background: rgba(0,0,0,.42);
  border-color: rgba(244,216,146,.25);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: rgba(244,216,146,.65);
  box-shadow: 0 0 0 3px rgba(189,132,43,.14);
}

.footer {
  background:
    radial-gradient(circle at 12% 0%, rgba(189,132,43,.11), transparent 22rem),
    #030201;
}

.footer strong { color: var(--champagne); }

.table th {
  background: linear-gradient(135deg, rgba(244,216,146,.12), rgba(189,132,43,.05));
  color: var(--champagne);
}

@media (max-width: 920px) {
  .main-nav {
    background:
      linear-gradient(145deg, rgba(7,5,3,.99), rgba(22,15,9,.98)) padding-box,
      linear-gradient(135deg, rgba(244,216,146,.46), rgba(189,132,43,.14)) border-box;
    border: 1px solid transparent;
  }
}

@media (max-width: 620px) {
  .hero { padding: 4rem 0 3.6rem; }
  h1 { font-size: clamp(2.65rem, 13vw, 3.9rem); }
}


/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.2 — CLICKABLE SOCIAL ICONS
   Facebook, Instagram, and TikTok links are styled as premium
   gold social buttons. Update the hrefs in each HTML file if
   an exact social URL changes later.
   ============================================================ */

.social-icons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .62rem;
  margin: .65rem 0 .35rem;
}

.social-icon {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  border: 1px solid transparent;
  background:
    linear-gradient(145deg, rgba(7,5,3,.95), rgba(29,20,12,.86)) padding-box,
    conic-gradient(from 135deg, rgba(244,216,146,.26), var(--gold), var(--champagne), var(--gold-2), rgba(244,216,146,.20)) border-box;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 12px 28px rgba(0,0,0,.28), 0 0 18px rgba(189,132,43,.12);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.social-icon::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 35% 18%, rgba(255,255,255,.22), transparent 36%);
  opacity: .55;
  pointer-events: none;
}

.social-icon svg {
  position: relative;
  z-index: 1;
  width: 21px;
  height: 21px;
  fill: var(--champagne);
  filter: drop-shadow(0 0 8px rgba(244,216,146,.22));
}

.social-icon:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 18px 38px rgba(0,0,0,.34), 0 0 26px rgba(189,132,43,.20);
  filter: brightness(1.06);
}

.social-handle {
  color: var(--muted);
  font-size: .9rem;
  letter-spacing: .06em;
}

.footer .social-icons { margin-top: .4rem; }
.footer .social-icon { width: 40px; height: 40px; }
.footer .social-icon svg { width: 19px; height: 19px; }

@media (max-width: 620px) {
  .social-icon { width: 42px; height: 42px; }
}


/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.4 — STRONGER COFFEE MOTION EFFECTS
   Stronger visible steam and a bigger coffee-bean add-to-cart
   burst that pops upward, then lands below the button.
   ============================================================ */

.motion-hint {
  border-left: 3px solid rgba(244,216,146,.5);
  padding-left: .9rem;
  color: var(--champagne);
}

.product-art > div {
  position: relative;
  z-index: 4;
}

.product-card .product-art {
  isolation: isolate;
}

.product-card .product-art::before {
  z-index: 3;
}

.product-card .product-art::after {
  z-index: 5;
}

.product-card .product-art .steam {
  position: absolute;
  bottom: 31%;
  left: 50%;
  width: 18px;
  height: 118px;
  border-radius: 999px;
  background: linear-gradient(to top,
    rgba(255, 241, 215, 0),
    rgba(255, 241, 215, .18),
    rgba(255, 241, 215, .55),
    rgba(244, 216, 146, .25),
    rgba(255, 241, 215, 0));
  box-shadow:
    0 0 26px rgba(244,216,146,.18),
    0 0 44px rgba(255,241,215,.10);
  filter: blur(7px);
  opacity: .28;
  transform: translate3d(-50%, 36px, 0) scale(.75) rotate(0deg);
  pointer-events: none;
  z-index: 2;
  animation: ftmSteamRise 3.8s ease-in-out infinite;
  mix-blend-mode: screen;
}

.product-card .product-art .steam-two {
  left: 39%;
  height: 108px;
  width: 17px;
  animation-delay: .55s;
  transform: translate3d(-50%, 42px, 0) scale(.72) rotate(-10deg);
}

.product-card .product-art .steam-three {
  left: 59%;
  height: 132px;
  width: 20px;
  animation-delay: 1.05s;
  transform: translate3d(-50%, 39px, 0) scale(.84) rotate(10deg);
}

.product-card .product-art .steam-four {
  left: 48%;
  height: 96px;
  width: 14px;
  animation-delay: 1.55s;
  transform: translate3d(-50%, 47px, 0) scale(.66) rotate(16deg);
  opacity: .22;
}

.product-card .product-art .steam-five {
  left: 67%;
  height: 104px;
  width: 15px;
  animation-delay: 2.1s;
  transform: translate3d(-50%, 45px, 0) scale(.68) rotate(-15deg);
  opacity: .20;
}

.product-card:hover .product-art .steam,
.product-art:hover .steam {
  opacity: 1;
}

.product-card:hover .product-art {
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.55),
    inset 0 0 36px rgba(0,0,0,.42),
    0 0 48px rgba(189,132,43,.20),
    0 0 90px rgba(244,216,146,.08);
}

.product-card:hover .product-art::after {
  animation: ftmGoldSweep 1.55s ease forwards;
}

@keyframes ftmSteamRise {
  0% {
    opacity: .12;
    transform: translate3d(-50%, 46px, 0) scale(.70) rotate(-6deg);
  }
  24% { opacity: .78; }
  50% { opacity: .92; }
  72% { opacity: .48; }
  100% {
    opacity: 0;
    transform: translate3d(calc(-50% + 26px), -108px, 0) scale(1.38) rotate(12deg);
  }
}

@keyframes ftmGoldSweep {
  0% { left: -75%; opacity: 0; }
  25% { opacity: .42; }
  100% { left: 120%; opacity: 0; }
}

.add-cart-btn {
  position: relative;
  overflow: visible;
  min-width: 134px;
}

.add-cart-btn.added {
  animation: ftmButtonPulse .95s ease;
}

@keyframes ftmButtonPulse {
  0% { box-shadow: 0 0 0 rgba(244,216,146,0); transform: translateY(0) scale(1); }
  35% { box-shadow: 0 0 40px rgba(244,216,146,.42); transform: translateY(-2px) scale(1.03); }
  100% { box-shadow: 0 0 0 rgba(244,216,146,0); transform: translateY(0) scale(1); }
}

.coffee-bean {
  position: fixed;
  width: 14px;
  height: 20px;
  border-radius: 55% 45% 55% 45%;
  background:
    radial-gradient(circle at 35% 28%, rgba(255,240,194,.34), transparent 22%),
    linear-gradient(135deg, #5b2c16, #1b0d07 55%, #7f3f1d);
  box-shadow:
    inset 1px 1px 2px rgba(255,255,255,.18),
    inset -2px -2px 3px rgba(0,0,0,.42),
    0 8px 18px rgba(0,0,0,.34),
    0 0 13px rgba(189,132,43,.28);
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  transform: translate(-50%, -50%) rotate(var(--r, 0deg)) scale(.72);
  animation: ftmBeanBurst 1350ms cubic-bezier(.18,.78,.18,1) forwards;
  will-change: transform, opacity;
}

.coffee-bean::after {
  content: '';
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 50%;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(to bottom, rgba(255,230,174,.24), rgba(20,8,4,.68), rgba(255,230,174,.16));
  transform: translateX(-50%) rotate(8deg);
}

@keyframes ftmBeanBurst {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(var(--r, 0deg)) scale(.55);
  }
  10% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(calc(var(--r, 0deg) + 28deg)) scale(.92);
  }
  42% {
    opacity: 1;
    transform:
      translate(calc(-50% + var(--pop-x, 0px)), calc(-50% + var(--pop-y, -130px)))
      rotate(calc(var(--r, 0deg) + 165deg))
      scale(1.02);
  }
  82% {
    opacity: .96;
    transform:
      translate(calc(-50% + var(--land-x, 0px)), calc(-50% + var(--land-y, 88px)))
      rotate(calc(var(--r, 0deg) + 315deg))
      scale(.78);
  }
  100% {
    opacity: 0;
    transform:
      translate(calc(-50% + var(--land-x, 0px)), calc(-50% + var(--land-y, 94px)))
      rotate(calc(var(--r, 0deg) + 360deg))
      scale(.55);
  }
}

.added-toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%) translateY(22px);
  background:
    linear-gradient(145deg, rgba(10,7,4,.96), rgba(35,23,12,.92)) padding-box,
    linear-gradient(135deg, rgba(244,216,146,.75), rgba(189,132,43,.28)) border-box;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--champagne);
  padding: .7rem 1.05rem;
  font-size: .92rem;
  letter-spacing: .03em;
  box-shadow: 0 18px 50px rgba(0,0,0,.45), 0 0 32px rgba(189,132,43,.18);
  z-index: 10000;
  opacity: 0;
  pointer-events: none;
  animation: ftmToastInOut 2.1s ease forwards;
}

@keyframes ftmToastInOut {
  0% { opacity: 0; transform: translateX(-50%) translateY(22px); }
  15% { opacity: 1; transform: translateX(-50%) translateY(0); }
  78% { opacity: 1; transform: translateX(-50%) translateY(0); }
  100% { opacity: 0; transform: translateX(-50%) translateY(16px); }
}

@media (prefers-reduced-motion: reduce) {
  .product-card .product-art .steam,
  .coffee-bean,
  .added-toast,
  .add-cart-btn.added,
  .product-card:hover .product-art::after {
    animation: none !important;
  }

  .product-card .product-art .steam,
  .coffee-bean,
  .added-toast {
    display: none !important;
  }
}


/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.5 — CUP CATCH + BUTTON/TAB SHINE
   Beans now arc from Add to Cart into a coffee cup beside the
   button. Premium shimmer added to buttons and navigation tabs.
   ============================================================ */

.cart-action {
  display: flex;
  align-items: center;
  gap: .78rem;
  margin-top: auto;
  position: relative;
  z-index: 2;
}

.cart-action .add-cart-btn {
  flex: 1 1 auto;
}

.cart-cup {
  flex: 0 0 auto;
  width: 54px;
  height: 46px;
  position: relative;
  display: inline-block;
  filter: drop-shadow(0 12px 18px rgba(0,0,0,.28));
  transform-origin: 50% 78%;
}

.cup-bowl {
  position: absolute;
  left: 5px;
  top: 9px;
  width: 37px;
  height: 26px;
  border: 1px solid rgba(244,216,146,.74);
  border-radius: 5px 5px 13px 13px;
  background:
    linear-gradient(180deg, rgba(255,242,191,.24), rgba(183,122,37,.12)),
    linear-gradient(145deg, rgba(8,5,3,.96), rgba(39,25,12,.90));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.15),
    inset 0 -8px 16px rgba(0,0,0,.28),
    0 0 18px rgba(189,132,43,.16);
  overflow: hidden;
}

.cup-bowl::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 16%, rgba(255,255,255,.18) 45%, transparent 72%);
  opacity: .42;
  transform: translateX(-75%);
}

.cart-cup.catching .cup-bowl::after {
  animation: ftmCupGleam .72s ease forwards;
}

.cup-coffee {
  position: absolute;
  left: 4px;
  right: 4px;
  top: 4px;
  height: 7px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 36% 35%, rgba(255,230,174,.26), transparent 28%),
    linear-gradient(90deg, #2a1208, #6b3518, #2a1208);
  box-shadow: inset 0 0 6px rgba(0,0,0,.6), 0 0 12px rgba(189,132,43,.12);
}

.cup-handle {
  position: absolute;
  left: 39px;
  top: 14px;
  width: 14px;
  height: 17px;
  border: 2px solid rgba(244,216,146,.62);
  border-left: 0;
  border-radius: 0 12px 12px 0;
  box-shadow: 0 0 10px rgba(189,132,43,.10);
}

.cup-saucer {
  position: absolute;
  left: 3px;
  top: 36px;
  width: 45px;
  height: 7px;
  border-radius: 50%;
  border: 1px solid rgba(244,216,146,.38);
  background: linear-gradient(90deg, rgba(90,54,19,.20), rgba(244,216,146,.18), rgba(90,54,19,.20));
}

.cup-steam {
  position: absolute;
  top: -4px;
  width: 6px;
  height: 20px;
  border-radius: 999px;
  background: linear-gradient(to top, transparent, rgba(255,241,215,.45), transparent);
  filter: blur(3px);
  opacity: .35;
  animation: ftmCupSteam 2.9s ease-in-out infinite;
  pointer-events: none;
}

.cup-steam-one { left: 16px; animation-delay: .15s; }
.cup-steam-two { left: 28px; animation-delay: .8s; height: 24px; }

.cart-cup.catching {
  animation: ftmCupCatch 1.08s ease;
}

.cart-cup.catching .cup-coffee {
  animation: ftmCupRipple 1.05s ease;
}

@keyframes ftmCupCatch {
  0%, 100% { transform: rotate(0deg) translateY(0) scale(1); }
  26% { transform: rotate(2.8deg) translateY(-2px) scale(1.04); }
  52% { transform: rotate(-2deg) translateY(1px) scale(1.01); }
  76% { transform: rotate(1deg) translateY(0) scale(1.02); }
}

@keyframes ftmCupRipple {
  0% { transform: scaleX(1); filter: brightness(1); }
  28% { transform: scaleX(1.16); filter: brightness(1.22); }
  58% { transform: scaleX(.94); filter: brightness(1.05); }
  100% { transform: scaleX(1); filter: brightness(1); }
}

@keyframes ftmCupGleam {
  0% { transform: translateX(-85%); opacity: .18; }
  45% { opacity: .75; }
  100% { transform: translateX(92%); opacity: 0; }
}

@keyframes ftmCupSteam {
  0% { opacity: 0; transform: translateY(9px) scale(.75); }
  34% { opacity: .48; }
  100% { opacity: 0; transform: translateY(-16px) translateX(7px) scale(1.18); }
}

.coffee-bean.bean-to-cup {
  animation: ftmBeanToCup 1180ms cubic-bezier(.17,.77,.21,1) forwards;
}

@keyframes ftmBeanToCup {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(var(--r, 0deg)) scale(.58);
  }
  9% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(calc(var(--r, 0deg) + 20deg)) scale(.92);
  }
  46% {
    opacity: 1;
    transform:
      translate(calc(-50% + var(--mid-x, 45px)), calc(-50% + var(--mid-y, -110px)))
      rotate(calc(var(--r, 0deg) + 178deg))
      scale(1.03);
  }
  84% {
    opacity: .96;
    transform:
      translate(calc(-50% + var(--end-x, 95px)), calc(-50% + var(--end-y, -8px)))
      rotate(calc(var(--r, 0deg) + 330deg))
      scale(.74);
  }
  100% {
    opacity: 0;
    transform:
      translate(calc(-50% + var(--end-x, 95px)), calc(-50% + var(--end-y, -4px)))
      rotate(calc(var(--r, 0deg) + 390deg))
      scale(.22);
  }
}

/* Premium shimmer sweep for buttons */
.btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.add-cart-btn {
  overflow: visible;
}

.btn::after {
  content: '';
  position: absolute;
  top: -72%;
  left: -95%;
  width: 56%;
  height: 240%;
  transform: rotate(22deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), rgba(244,216,146,.24), transparent);
  opacity: 0;
  pointer-events: none;
  z-index: 0;
}

.btn:hover::after,
.btn.added::after {
  animation: ftmButtonShine .96s ease forwards;
}

.btn > *, .btn { z-index: 1; }

@keyframes ftmButtonShine {
  0% { left: -95%; opacity: 0; }
  22% { opacity: .65; }
  100% { left: 140%; opacity: 0; }
}

/* Premium sweep for nav tabs/links */
.main-nav a:not(.btn) {
  overflow: hidden;
  border-radius: 999px;
}

.main-nav a:not(.btn)::before {
  content: '';
  position: absolute;
  top: -90%;
  left: -70%;
  width: 42%;
  height: 270%;
  transform: rotate(22deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), rgba(244,216,146,.14), transparent);
  opacity: 0;
  pointer-events: none;
}

.main-nav a:not(.btn):hover::before,
.main-nav a:not(.btn).active::before {
  animation: ftmTabShine 1.05s ease forwards;
}

@keyframes ftmTabShine {
  0% { left: -80%; opacity: 0; }
  30% { opacity: .72; }
  100% { left: 125%; opacity: 0; }
}

@media (max-width: 620px) {
  .cart-action {
    gap: .62rem;
  }
  .cart-cup {
    width: 50px;
    height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cart-cup.catching,
  .cart-cup.catching .cup-coffee,
  .cart-cup.catching .cup-bowl::after,
  .coffee-bean.bean-to-cup,
  .btn:hover::after,
  .btn.added::after,
  .main-nav a:not(.btn):hover::before,
  .main-nav a:not(.btn).active::before {
    animation: none !important;
  }
}


/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.6 — CLEAN BUTTON SHINE + COFFEE CUP CART
   - Removed the fast blur/wisp sweep from Add to Cart buttons.
   - Kept a cleaner, slower premium shine on regular buttons and nav tabs.
   - Added a small coffee-cup cart icon in the navigation.
   ============================================================ */

/* Add to Cart should stay clean: glow/pulse only, no sweep/wisp overlay. */
.add-cart-btn::after,
.add-cart-btn:hover::after,
.add-cart-btn.added::after {
  display: none !important;
  animation: none !important;
  opacity: 0 !important;
}

.add-cart-btn:hover {
  box-shadow:
    0 14px 34px rgba(0,0,0,.28),
    0 0 24px rgba(189,132,43,.16),
    inset 0 1px 0 rgba(255,255,255,.34);
}

/* Cleaner premium shine for non-cart buttons only. */
.btn:not(.add-cart-btn)::after {
  top: -54%;
  left: -82%;
  width: 34%;
  height: 205%;
  transform: rotate(20deg);
  background: linear-gradient(90deg,
    transparent,
    rgba(255,255,255,.18),
    rgba(244,216,146,.20),
    rgba(255,255,255,.12),
    transparent);
  opacity: 0;
  filter: none;
}

.btn:not(.add-cart-btn):hover::after {
  animation: ftmCleanButtonShine 1.35s ease forwards;
}

@keyframes ftmCleanButtonShine {
  0% { left: -82%; opacity: 0; }
  24% { opacity: .46; }
  100% { left: 118%; opacity: 0; }
}

/* Cleaner nav/tab shine: slower, narrower, less wispy. */
.main-nav a:not(.btn)::before {
  width: 30%;
  height: 220%;
  background: linear-gradient(90deg,
    transparent,
    rgba(255,255,255,.12),
    rgba(244,216,146,.13),
    transparent);
  filter: none;
}

.main-nav a:not(.btn):hover::before,
.main-nav a:not(.btn).active::before {
  animation: ftmCleanTabShine 1.35s ease forwards;
}

@keyframes ftmCleanTabShine {
  0% { left: -70%; opacity: 0; }
  34% { opacity: .42; }
  100% { left: 112%; opacity: 0; }
}

.cart-nav-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid rgba(244,216,146,.22);
  border-radius: 999px;
  padding: .32rem .62rem .32rem .45rem !important;
  background: rgba(244,216,146,.035);
  color: var(--muted);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.cart-nav-link:hover,
.cart-nav-link.active {
  color: var(--champagne) !important;
  border-color: rgba(244,216,146,.48);
  background: rgba(244,216,146,.075);
  box-shadow: 0 0 18px rgba(189,132,43,.12), inset 0 1px 0 rgba(255,255,255,.055);
}

.nav-cup-icon {
  width: 30px;
  height: 27px;
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.26));
}

.nav-cup-bowl {
  position: absolute;
  left: 3px;
  top: 7px;
  width: 21px;
  height: 15px;
  border: 1px solid rgba(244,216,146,.72);
  border-radius: 3px 3px 8px 8px;
  background:
    linear-gradient(180deg, rgba(255,242,191,.20), rgba(183,122,37,.10)),
    linear-gradient(145deg, rgba(8,5,3,.96), rgba(39,25,12,.88));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), inset 0 -5px 10px rgba(0,0,0,.25), 0 0 10px rgba(189,132,43,.13);
  overflow: hidden;
}

.nav-cup-coffee {
  position: absolute;
  left: 3px;
  right: 3px;
  top: 3px;
  height: 4px;
  border-radius: 50%;
  background: linear-gradient(90deg, #2a1208, #6b3518, #2a1208);
}

.nav-cup-handle {
  position: absolute;
  left: 23px;
  top: 10px;
  width: 8px;
  height: 10px;
  border: 1.5px solid rgba(244,216,146,.62);
  border-left: 0;
  border-radius: 0 8px 8px 0;
}

.nav-cup-saucer {
  position: absolute;
  left: 2px;
  top: 22px;
  width: 27px;
  height: 4px;
  border-radius: 50%;
  border: 1px solid rgba(244,216,146,.34);
  background: linear-gradient(90deg, rgba(90,54,19,.18), rgba(244,216,146,.16), rgba(90,54,19,.18));
}

.nav-cup-steam {
  position: absolute;
  top: -1px;
  width: 4px;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(to top, transparent, rgba(255,241,215,.40), transparent);
  filter: blur(2px);
  opacity: .32;
  animation: ftmNavCupSteam 2.8s ease-in-out infinite;
  pointer-events: none;
}

.nav-cup-steam-one { left: 9px; animation-delay: .1s; }
.nav-cup-steam-two { left: 17px; animation-delay: .8s; height: 14px; }

@keyframes ftmNavCupSteam {
  0% { opacity: 0; transform: translateY(7px) scale(.72); }
  34% { opacity: .42; }
  100% { opacity: 0; transform: translateY(-10px) translateX(4px) scale(1.05); }
}

@media (max-width: 920px) {
  .cart-nav-link {
    width: 100%;
    justify-content: center;
    padding: .64rem .85rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn:not(.add-cart-btn):hover::after,
  .main-nav a:not(.btn):hover::before,
  .main-nav a:not(.btn).active::before,
  .nav-cup-steam {
    animation: none !important;
  }
}


/* v1.7 slogan styling */
.slogan-line {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 1.05rem 0 .35rem;
  color: var(--gold-soft);
  font-size: clamp(1rem, 1.6vw, 1.22rem);
  letter-spacing: .055em;
  text-transform: uppercase;
  font-weight: 700;
  text-shadow: 0 0 18px rgba(212, 167, 67, .22);
}
.slogan-line::before,
.slogan-line::after {
  content: '';
  display: inline-block;
  width: 34px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(244,216,146,.78), transparent);
}
.page-slogan {
  margin-top: 1.1rem;
  color: var(--gold-soft);
  font-size: 1.02rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  font-weight: 700;
}
.footer-slogan {
  margin-top: .7rem;
  color: var(--gold-soft);
  font-size: .92rem;
  letter-spacing: .04em;
  font-weight: 700;
}
@media (max-width: 640px) {
  .slogan-line { display: block; letter-spacing: .035em; }
  .slogan-line::before, .slogan-line::after { display: none; }
}


/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.8 — REAL LOGO, CENTER SLOGAN,
   AND EXTRA PREMIUM MOTION
   - Uses Nicole's uploaded logo file exactly as supplied.
   - Moves the slogan into the centered band under the header.
   - Adds richer product/card motion, aroma-anchor emphasis,
     scroll reveal, and coffee-cup cart fill feedback.
   ============================================================ */

.logo-image-wrap {
  width: 72px;
  height: 60px;
  border-radius: 16px;
  border: 1px solid rgba(244,216,146,.18);
  background: radial-gradient(circle at center, rgba(244,216,146,.08), rgba(0,0,0,.16));
  overflow: hidden;
  box-shadow: 0 0 22px rgba(189,132,43,.14), inset 0 1px 0 rgba(255,255,255,.04);
}

.brand-logo-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.site-header {
  border-bottom-color: rgba(244,216,146,.24);
}

.slogan-band {
  position: relative;
  z-index: 4;
  min-height: 92px;
  display: grid;
  place-items: center;
  border-bottom: 1px solid rgba(244,216,146,.16);
  background:
    radial-gradient(circle at 50% 20%, rgba(244,216,146,.12), transparent 24rem),
    linear-gradient(180deg, rgba(20,13,7,.76), rgba(5,3,2,.88));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 20px 70px rgba(0,0,0,.22);
  overflow: hidden;
}

.slogan-band::before,
.slogan-band::after {
  content: '';
  position: absolute;
  left: 50%;
  width: min(880px, 86vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(244,216,146,.45), transparent);
  pointer-events: none;
}

.slogan-band::before { top: 0; }
.slogan-band::after { bottom: 0; opacity: .7; }

.slogan-band-inner {
  text-align: center;
  position: relative;
}

.slogan-foil {
  display: inline-block;
  position: relative;
  color: var(--gold-soft);
  text-transform: uppercase;
  letter-spacing: clamp(.08em, .7vw, .18em);
  font-weight: 800;
  font-size: clamp(1.05rem, 2.1vw, 1.55rem);
  line-height: 1.25;
  text-shadow: 0 0 22px rgba(212,167,67,.24), 0 15px 42px rgba(0,0,0,.55);
  background: linear-gradient(100deg, #b57a22 0%, #fff0bd 24%, #c99439 48%, #fff7d0 68%, #9f641b 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: ftmGoldFoilShift 7s ease-in-out infinite;
  background-size: 220% 100%;
}

.slogan-foil::before,
.slogan-foil::after {
  content: '✦';
  color: var(--gold-soft);
  -webkit-text-fill-color: var(--gold-soft);
  margin: 0 .75rem;
  font-size: .78em;
  opacity: .72;
}

@keyframes ftmGoldFoilShift {
  0%, 100% { background-position: 0% 50%; filter: brightness(1); }
  50% { background-position: 100% 50%; filter: brightness(1.12); }
}

.hero { padding-top: 4.8rem; }

/* Product hover: premium lift + warm border energy */
.product-card {
  will-change: transform, box-shadow;
}

.product-card:hover {
  transform: translateY(-7px) scale(1.006);
  box-shadow: 0 34px 96px rgba(0,0,0,.58), 0 0 42px rgba(189,132,43,.16);
}

.product-card:hover .pill {
  border-color: rgba(244,216,146,.44);
  box-shadow: 0 0 14px rgba(189,132,43,.10);
}

/* Blueberry Confession gets extra aroma-anchor energy. */
.product-card.aroma-anchor {
  background:
    radial-gradient(circle at 50% 0%, rgba(127,51,92,.14), transparent 13rem),
    linear-gradient(145deg, rgba(14,10,7,.94), rgba(29,20,12,.78)) padding-box,
    linear-gradient(135deg, rgba(244,216,146,.50), rgba(139,70,137,.24), rgba(255,255,255,.06)) border-box;
}

.product-card.aroma-anchor .product-art {
  background:
    radial-gradient(circle at 50% 22%, rgba(244,216,146,.24), transparent 25%),
    radial-gradient(circle at 78% 26%, rgba(133,62,124,.24), transparent 28%),
    radial-gradient(circle at 20% 78%, rgba(189,132,43,.12), transparent 28%),
    linear-gradient(145deg, #24120f, #050403 64%);
}

.product-card.aroma-anchor:hover .product-art {
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.55),
    inset 0 0 40px rgba(0,0,0,.42),
    0 0 60px rgba(189,132,43,.20),
    0 0 92px rgba(127,51,92,.18);
}

.aroma-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  gap: .35rem;
  color: var(--champagne);
  border: 1px solid rgba(244,216,146,.32);
  background: linear-gradient(135deg, rgba(244,216,146,.12), rgba(127,51,92,.16));
  border-radius: 999px;
  padding: .28rem .62rem;
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 0 18px rgba(127,51,92,.10);
}

.aroma-badge::before { content: '☕'; }

.product-card.aroma-anchor .steam {
  background: linear-gradient(to top,
    rgba(255, 241, 215, 0),
    rgba(255, 241, 215, .22),
    rgba(255, 226, 241, .60),
    rgba(244, 216, 146, .31),
    rgba(255, 241, 215, 0));
  box-shadow:
    0 0 30px rgba(244,216,146,.21),
    0 0 48px rgba(127,51,92,.16);
}

/* Coffee cup catch/fill feedback */
.cart-cup.has-coffee .cup-coffee,
.cart-cup.catching .cup-coffee {
  animation: ftmCupFillRipple 1.25s ease;
}

.cart-cup.has-coffee .cup-bowl {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.15),
    inset 0 -8px 16px rgba(0,0,0,.28),
    0 0 26px rgba(189,132,43,.24);
}

@keyframes ftmCupFillRipple {
  0% { height: 5px; filter: brightness(1); transform: scaleX(.86); }
  35% { height: 10px; filter: brightness(1.24); transform: scaleX(1.18); }
  75% { height: 8px; filter: brightness(1.08); transform: scaleX(.96); }
  100% { height: 7px; filter: brightness(1); transform: scaleX(1); }
}

/* Top coffee-cup cart count/fill */
.cart-nav-link {
  position: relative;
}

.cart-count {
  min-width: 1.35rem;
  height: 1.35rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  padding: 0 .32rem;
  font-size: .72rem;
  line-height: 1;
  color: #130d05;
  background: linear-gradient(135deg, var(--champagne), var(--gold));
  box-shadow: 0 0 16px rgba(244,216,146,.22);
  font-weight: 800;
}

.cart-nav-link.filled .nav-cup-bowl {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), inset 0 -5px 10px rgba(0,0,0,.25), 0 0 18px rgba(189,132,43,.28);
}

.cart-nav-link.cart-pop {
  animation: ftmCartPop .75s ease;
}

@keyframes ftmCartPop {
  0%, 100% { transform: translateY(0) scale(1); }
  32% { transform: translateY(-2px) scale(1.05); }
  62% { transform: translateY(1px) scale(.99); }
}

/* Scroll reveal. JS adds .reveal-ready so no one sees hidden content if JS fails. */
.reveal-ready {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .72s ease, transform .72s ease;
}

.reveal-ready.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-ready.product-card,
.reveal-ready.card {
  transition: opacity .72s ease, transform .72s ease, box-shadow .22s ease;
}

@media (max-width: 920px) {
  .brand { min-width: auto; }
  .logo-image-wrap { width: 62px; height: 52px; }
  .slogan-band { min-height: 76px; }
}

@media (max-width: 620px) {
  .logo-image-wrap { width: 54px; height: 46px; border-radius: 12px; }
  .brand-text strong { font-size: .86rem; }
  .slogan-foil::before, .slogan-foil::after { display: none; }
  .slogan-band { min-height: 68px; }
}

@media (prefers-reduced-motion: reduce) {
  .slogan-foil,
  .cart-nav-link.cart-pop,
  .cart-cup.has-coffee .cup-coffee,
  .cart-cup.catching .cup-coffee,
  .reveal-ready {
    animation: none !important;
    transition: none !important;
  }
  .reveal-ready { opacity: 1 !important; transform: none !important; }
}



/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.13 — CLEAN RESET
   - Keeps the corrected icon-only F.T.M. logo.
   - Removes experimental themed hover/tentacle prototypes.
   - Keeps safe premium effects: steam, product gleam, coffee cup cart, bean burst, slogan shimmer, and scroll reveal.
   ============================================================ */

.logo-image-wrap {
  width: 58px;
  height: 58px;
  border-radius: 999px;
  padding: 4px;
  background: radial-gradient(circle at 50% 45%, rgba(244,216,146,.12), rgba(0,0,0,.22) 68%);
  border-color: rgba(244,216,146,.32);
}

.brand-logo-img {
  object-fit: contain;
  object-position: center;
  transform: scale(1.03);
}

/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.14 — REALISTIC BEANS + CUP CLEANUP
   - Removes active themed hover experiments for Kraken, Alma, and First Voyage.
   - Makes the add-to-cart coffee beans less cartoon-like with darker roast color,
     textured highlights, and a more natural center crease.
   - Refines the coffee cup into a more realistic black/gold mug style.
   ============================================================ */

/* Safety: if any old themed layers were ever left in the HTML, hide them. */
.theme-layer,
.tentacle,
.vine,
.leaf,
.ship,
.water-line {
  display: none !important;
}

/* More realistic flying beans */
.coffee-bean {
  width: 12px;
  height: 18px;
  border-radius: 48% 52% 50% 46% / 56% 48% 52% 44%;
  background:
    radial-gradient(ellipse at 28% 18%, rgba(255,216,143,.36) 0 10%, transparent 26%),
    radial-gradient(ellipse at 72% 82%, rgba(0,0,0,.38) 0 15%, transparent 38%),
    radial-gradient(ellipse at 52% 48%, rgba(117,57,27,.50), transparent 58%),
    linear-gradient(145deg, #7a3f1d 0%, #3c190b 38%, #130704 68%, #5c2b14 100%);
  box-shadow:
    inset 1px 1px 2px rgba(255,223,158,.24),
    inset -3px -3px 5px rgba(0,0,0,.62),
    inset 0 0 7px rgba(255,224,162,.06),
    0 7px 16px rgba(0,0,0,.42),
    0 0 9px rgba(189,132,43,.18);
}

.coffee-bean::before {
  content: '';
  position: absolute;
  inset: 2px 3px;
  border-radius: inherit;
  background:
    radial-gradient(ellipse at 33% 22%, rgba(255,238,187,.22), transparent 22%),
    radial-gradient(ellipse at 64% 70%, rgba(0,0,0,.28), transparent 35%);
  opacity: .72;
  mix-blend-mode: screen;
  pointer-events: none;
}

.coffee-bean::after {
  content: '';
  position: absolute;
  top: 1px;
  bottom: 1px;
  left: 50%;
  width: 4px;
  border-radius: 999px;
  background:
    linear-gradient(to bottom,
      rgba(255,214,145,.18) 0%,
      rgba(63,25,11,.85) 28%,
      rgba(14,6,3,.92) 52%,
      rgba(91,42,18,.72) 75%,
      rgba(255,214,145,.14) 100%);
  box-shadow:
    inset 1px 0 1px rgba(255,231,174,.16),
    inset -1px 0 2px rgba(0,0,0,.72);
  transform: translateX(-50%) rotate(9deg);
  filter: blur(.08px);
}

/* A more realistic black/gold coffee cup beside Add to Cart */
.cart-cup {
  width: 62px;
  height: 52px;
  filter: drop-shadow(0 16px 20px rgba(0,0,0,.42)) drop-shadow(0 0 12px rgba(189,132,43,.13));
}

.cup-bowl {
  left: 7px;
  top: 14px;
  width: 42px;
  height: 28px;
  border: 1px solid rgba(244,216,146,.78);
  border-radius: 7px 7px 17px 17px / 6px 6px 18px 18px;
  background:
    radial-gradient(ellipse at 28% 18%, rgba(255,241,201,.20), transparent 32%),
    linear-gradient(115deg, rgba(255,229,161,.12), transparent 28%, rgba(0,0,0,.25) 62%, rgba(255,229,161,.08)),
    linear-gradient(160deg, #090704 0%, #191008 45%, #050302 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,244,210,.22),
    inset 0 -10px 18px rgba(0,0,0,.46),
    inset -8px 0 14px rgba(0,0,0,.28),
    0 0 18px rgba(189,132,43,.18);
  overflow: visible;
}

.cup-bowl::before {
  content: '';
  position: absolute;
  left: -2px;
  right: -2px;
  top: -7px;
  height: 12px;
  border: 1px solid rgba(244,216,146,.74);
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 50% 50%, #271006 0 48%, #633016 49% 62%, rgba(244,216,146,.42) 63% 68%, #090604 69% 100%);
  box-shadow:
    inset 0 1px 3px rgba(255,229,167,.22),
    0 2px 8px rgba(0,0,0,.32);
  z-index: 2;
}

.cup-bowl::after {
  content: '';
  position: absolute;
  top: -5px;
  left: 5px;
  width: 30px;
  height: 9px;
  border-radius: 50%;
  background: linear-gradient(105deg, transparent 0 20%, rgba(255,239,197,.24) 42%, transparent 68%);
  opacity: .62;
  transform: translateX(-70%);
  z-index: 3;
}

.cart-cup.catching .cup-bowl::after {
  animation: ftmCupGleam .78s ease forwards;
}

.cup-coffee {
  left: 5px;
  right: 5px;
  top: -2px;
  height: 8px;
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 35% 36%, rgba(255,218,144,.24), transparent 26%),
    radial-gradient(ellipse at 66% 70%, rgba(0,0,0,.38), transparent 42%),
    linear-gradient(90deg, #1d0903, #6d3517 48%, #1d0903);
  box-shadow:
    inset 0 0 7px rgba(0,0,0,.72),
    0 0 10px rgba(189,132,43,.18);
  z-index: 4;
}

.cup-handle {
  left: 46px;
  top: 18px;
  width: 15px;
  height: 19px;
  border: 2px solid rgba(244,216,146,.68);
  border-left: 0;
  border-radius: 0 15px 15px 0;
  background: radial-gradient(ellipse at 36% 50%, rgba(255,230,174,.10), transparent 54%);
  box-shadow:
    inset -2px 0 3px rgba(0,0,0,.40),
    0 0 10px rgba(189,132,43,.12);
}

.cup-saucer {
  left: 3px;
  top: 42px;
  width: 53px;
  height: 8px;
  border-radius: 50%;
  border: 1px solid rgba(244,216,146,.42);
  background:
    radial-gradient(ellipse at 50% 50%, rgba(244,216,146,.18), transparent 52%),
    linear-gradient(90deg, rgba(0,0,0,.42), rgba(244,216,146,.20), rgba(0,0,0,.42));
}

.cup-steam {
  top: -6px;
  width: 7px;
  height: 22px;
  background: linear-gradient(to top, transparent, rgba(255,241,215,.55), transparent);
  filter: blur(4px);
  opacity: .42;
}

.cup-steam-one { left: 20px; }
.cup-steam-two { left: 32px; height: 26px; }

/* Nav cart cup gets the same less-cartoon, black/gold mug feel. */
.nav-cup-icon {
  filter: drop-shadow(0 5px 8px rgba(0,0,0,.35));
}

.nav-cup-bowl {
  border-color: rgba(244,216,146,.72);
  background:
    radial-gradient(ellipse at 33% 20%, rgba(255,241,201,.18), transparent 28%),
    linear-gradient(155deg, #0b0805, #211509 58%, #050302);
  box-shadow:
    inset 0 1px 0 rgba(255,244,210,.18),
    inset 0 -6px 10px rgba(0,0,0,.44),
    0 0 10px rgba(189,132,43,.16);
}

.nav-cup-bowl::before {
  content: '';
  position: absolute;
  left: -1px;
  right: -1px;
  top: -4px;
  height: 7px;
  border-radius: 50%;
  border: 1px solid rgba(244,216,146,.60);
  background: radial-gradient(ellipse at 50% 50%, #281107 0 50%, #703719 51% 66%, #090604 67% 100%);
}

.nav-cup-coffee {
  background:
    radial-gradient(ellipse at 35% 35%, rgba(255,218,144,.20), transparent 28%),
    linear-gradient(90deg, #1b0803, #6b3518, #1b0803);
}

/* Keep Add to Cart clean and premium. The card gleam stays on product art, not on this button. */
.add-cart-btn::after,
.add-cart-btn:hover::after,
.add-cart-btn.added::after {
  display: none !important;
  animation: none !important;
}


/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.15 — REAL PRODUCT IMAGERY + DETAIL PAGES
   Actual product mockups are now used on selected coffee cards.
   Product detail pages can use coffee artwork as a dark, blurred
   atmospheric background instead of a flat solid color.
   ============================================================ */

.product-art.has-product-image {
  aspect-ratio: 4 / 4.65;
  padding: .55rem;
  background:
    radial-gradient(circle at 50% 25%, rgba(244,216,146,.16), transparent 36%),
    linear-gradient(145deg, rgba(19,14,9,.96), rgba(4,3,2,.98));
}

.product-art.has-product-image::before {
  inset: .42rem;
  border-radius: 16px;
  z-index: 2;
}

.product-image-link {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 3;
  overflow: hidden;
  border-radius: 14px;
  background: radial-gradient(circle at 50% 20%, rgba(255,255,255,.04), transparent 45%);
}

.product-art.has-product-image img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: 100%;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 16px 26px rgba(0,0,0,.42));
  transition: transform .35s ease, filter .35s ease;
}

.product-card:hover .product-art.has-product-image img {
  transform: translateY(-3px) scale(1.025);
  filter: drop-shadow(0 20px 34px rgba(0,0,0,.52)) saturate(1.05);
}

.details-link {
  color: var(--champagne);
  font-weight: 800;
  font-size: .9rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  width: fit-content;
  border-bottom: 1px solid rgba(244,216,146,.35);
  padding-bottom: .18rem;
}

.details-link:hover {
  color: var(--gold-soft);
  border-bottom-color: var(--gold-soft);
}

.product-detail-hero {
  position: relative;
  overflow: hidden;
  min-height: 72vh;
  padding: 6rem 0 5rem;
  border-bottom: 1px solid rgba(244,216,146,.16);
}

.product-detail-hero::before {
  content: '';
  position: absolute;
  inset: -3rem;
  background-image: var(--product-bg);
  background-size: cover;
  background-position: center;
  filter: blur(18px) saturate(1.08);
  transform: scale(1.08);
  opacity: .36;
}

.product-detail-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 68% 32%, rgba(244,216,146,.15), transparent 34rem),
    linear-gradient(90deg, rgba(0,0,0,.84), rgba(0,0,0,.50), rgba(0,0,0,.86)),
    linear-gradient(180deg, rgba(4,3,2,.40), rgba(4,3,2,.96));
  pointer-events: none;
}

.product-detail-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(280px, 0.92fr) minmax(300px, 1.08fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.product-detail-image {
  position: relative;
  border-radius: 28px;
  border: 1px solid rgba(244,216,146,.28);
  background:
    linear-gradient(145deg, rgba(255,255,255,.035), rgba(0,0,0,.42)) padding-box,
    linear-gradient(135deg, rgba(244,216,146,.46), rgba(189,132,43,.08)) border-box;
  padding: 1rem;
  box-shadow: 0 28px 80px rgba(0,0,0,.48), 0 0 56px rgba(189,132,43,.12);
  overflow: hidden;
}

.product-detail-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.11) 46%, transparent 70%);
  transform: translateX(-125%) rotate(6deg);
  animation: ftmSlowImageGleam 4.8s ease-in-out infinite;
  pointer-events: none;
}

.product-detail-image img {
  width: 100%;
  max-height: 680px;
  object-fit: contain;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 1;
}

.product-detail-copy .eyebrow {
  margin-bottom: .8rem;
}

.product-detail-copy h1 {
  font-size: clamp(3rem, 6vw, 6rem);
  line-height: .92;
  margin-bottom: 1rem;
}

.product-detail-copy .lead {
  font-size: 1.13rem;
  max-width: 680px;
}

.product-detail-prices {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin: 1.4rem 0 1.4rem;
}

.product-detail-prices span {
  display: inline-flex;
  border: 1px solid rgba(244,216,146,.30);
  background: rgba(244,216,146,.07);
  color: var(--cream);
  border-radius: 999px;
  padding: .55rem .8rem;
  font-weight: 800;
}

.product-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  align-items: center;
  margin-top: 1.3rem;
}

.product-detail-notes {
  margin-top: 1.3rem;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.product-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.1rem;
  margin-top: 1.5rem;
}

.product-gallery img {
  width: 100%;
  border-radius: 20px;
  border: 1px solid rgba(244,216,146,.18);
  box-shadow: 0 18px 40px rgba(0,0,0,.25);
}

.product-page-note {
  color: var(--muted);
  font-size: .95rem;
  max-width: 720px;
}

@keyframes ftmSlowImageGleam {
  0%, 60% { transform: translateX(-125%) rotate(6deg); opacity: 0; }
  68% { opacity: .58; }
  88% { transform: translateX(135%) rotate(6deg); opacity: 0; }
  100% { transform: translateX(135%) rotate(6deg); opacity: 0; }
}

@media (max-width: 920px) {
  .product-detail-layout {
    grid-template-columns: 1fr;
  }
  .product-detail-hero {
    padding: 4.5rem 0 3.5rem;
  }
  .product-gallery {
    grid-template-columns: 1fr;
  }
}


.hero-product-image {
  padding: .85rem;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.hero-product-link {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border-radius: 24px;
  position: relative;
  overflow: hidden;
}

.hero-product-link img {
  width: 100%;
  max-height: 620px;
  object-fit: contain;
  filter: drop-shadow(0 22px 42px rgba(0,0,0,.52));
  transition: transform .35s ease, filter .35s ease;
}

.hero-product-image:hover img {
  transform: translateY(-4px) scale(1.018);
  filter: drop-shadow(0 28px 58px rgba(0,0,0,.62)) saturate(1.08);
}


/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.16 — FULL COFFEE IMAGERY + ROAST GAUGES
   ============================================================ */
.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}
.product-card{position:relative}
.last-chance-card{border-color:rgba(196,57,57,.55)!important;box-shadow:0 18px 48px rgba(90,8,8,.24),inset 0 1px 0 rgba(255,255,255,.04)}
.last-chance-ribbon{position:absolute;z-index:7;top:1.15rem;left:1.15rem;padding:.38rem .66rem;border-radius:999px;background:linear-gradient(135deg,#7f1717,#c64a3e);color:#fff5e5;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.last-chance-banner{display:inline-flex;margin:0 0 1rem;padding:.6rem .85rem;border:1px solid rgba(230,92,73,.55);border-radius:999px;color:#ffd6c9;background:rgba(116,18,18,.48);font-weight:800;letter-spacing:.04em}
.product-page .product-detail-hero::before{filter:blur(3px) saturate(1.16) contrast(1.06);opacity:.68;transform:scale(1.035);background-position:center;background-attachment:fixed}
.product-page .product-detail-hero::after{background:radial-gradient(circle at 70% 28%,rgba(244,216,146,.12),transparent 28rem),linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.52),rgba(0,0,0,.72)),linear-gradient(180deg,rgba(2,2,2,.18),rgba(3,2,1,.90))}
.product-detail-copy{padding:1.3rem;border-radius:26px;background:linear-gradient(145deg,rgba(4,3,2,.52),rgba(15,10,6,.72));border:1px solid rgba(244,216,146,.16);box-shadow:0 30px 80px rgba(0,0,0,.28);backdrop-filter:blur(8px)}
.roast-meter{margin:1.5rem 0 1.25rem;padding:1.05rem 1rem .85rem;border:1px solid rgba(244,216,146,.28);border-radius:18px;background:linear-gradient(145deg,rgba(0,0,0,.50),rgba(88,49,13,.16));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.roast-meter-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--muted)}
.roast-meter-heading strong{color:var(--champagne);font-size:.9rem}
.roast-track{height:15px;border-radius:999px;position:relative;background:linear-gradient(90deg,#d9b477 0%,#bc864b 20%,#8c562c 40%,#63391f 60%,#382318 80%,#160f0c 100%);border:1px solid rgba(255,245,210,.25);box-shadow:inset 0 2px 6px rgba(0,0,0,.55)}
.roast-fill{position:absolute;inset:0 auto 0 0;width:var(--roast-position);border-radius:999px;background:linear-gradient(90deg,rgba(255,241,184,.45),rgba(219,160,55,.35));box-shadow:0 0 18px rgba(230,177,76,.20)}
.roast-marker{position:absolute;left:var(--roast-position);top:50%;width:24px;height:24px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 30%,#fff2be 0 12%,#d5a341 28%,#6e3e16 66%,#1a0e07 100%);border:2px solid #f4d892;box-shadow:0 0 0 4px rgba(0,0,0,.45),0 0 24px rgba(244,216,146,.55)}
.roast-marker::after{content:'◆';position:absolute;inset:0;display:grid;place-items:center;color:#180e07;font-size:.65rem}
.roast-labels{display:grid;grid-template-columns:repeat(6,1fr);gap:.25rem;margin-top:.62rem;color:#a79475;font-size:.62rem;line-height:1.1;text-align:center}
.roast-labels span:first-child{text-align:left}.roast-labels span:last-child{text-align:right}
.roast-note{font-size:.8rem;margin:.55rem 0 0;color:#b9a486}
.product-purchase-panel{margin-top:1.2rem;padding:1rem;border-radius:20px;border:1px solid rgba(244,216,146,.22);background:rgba(0,0,0,.34)}
.variant-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.variant-grid label{display:grid;gap:.35rem;color:var(--gold-soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.variant-grid select{margin:0;text-transform:none;letter-spacing:normal;color:var(--cream)}
.selected-variant{display:flex;flex-wrap:wrap;align-items:baseline;gap:.7rem;margin:.85rem 0;color:var(--muted)}.selected-variant strong{font-size:1.7rem;color:var(--champagne)}.selected-variant small{margin-left:auto}
.product-story-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:2rem;align-items:start}.product-story-card{position:sticky;top:120px}
.product-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.product-gallery figure{margin:0;overflow:hidden;border-radius:20px;background:#070604;border:1px solid rgba(244,216,146,.18)}.product-gallery img{height:auto;max-height:760px;object-fit:contain;background:#070604}
.new-arrivals-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}.coming-soon-stack{display:grid;gap:.65rem}.coming-soon-stack span{padding:.85rem 1rem;border:1px solid rgba(244,216,146,.25);border-radius:16px;background:linear-gradient(135deg,rgba(244,216,146,.08),rgba(0,0,0,.22));color:var(--gold-soft);font-weight:800;letter-spacing:.06em}
@media(max-width:920px){.product-page .product-detail-hero::before{background-attachment:scroll}.product-story-grid,.new-arrivals-panel{grid-template-columns:1fr}.product-story-card{position:static}.roast-labels{font-size:.56rem}.variant-grid{grid-template-columns:1fr}.selected-variant small{margin-left:0;width:100%}}
@media(max-width:620px){.product-detail-copy{padding:1rem}.roast-labels{grid-template-columns:repeat(3,1fr);row-gap:.45rem;text-align:left}.roast-labels span:last-child{text-align:left}.product-gallery{grid-template-columns:1fr}}


/* v1.17 — robust, visibly themed product backgrounds.
   The background is now a real HTML layer so local-file previews resolve image paths reliably. */
.product-detail-hero.has-visible-art {
  isolation: isolate;
  background: #050403;
}

.product-detail-hero.has-visible-art::before {
  display: none;
}

.product-detail-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: .78;
  filter: saturate(1.18) contrast(1.08);
  transform: scale(1.015);
}

.product-detail-backdrop::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 36%, rgba(0,0,0,.05), rgba(0,0,0,.34) 48%, rgba(0,0,0,.66) 100%),
    linear-gradient(90deg, rgba(0,0,0,.58), rgba(0,0,0,.22) 46%, rgba(0,0,0,.66)),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.72));
}

.product-detail-hero.has-visible-art::after {
  z-index: 1;
  background:
    radial-gradient(circle at 70% 30%, rgba(244,216,146,.10), transparent 34rem),
    linear-gradient(180deg, rgba(4,3,2,.02), rgba(4,3,2,.34) 58%, rgba(4,3,2,.80));
}

.product-detail-hero.has-visible-art .product-detail-layout {
  z-index: 3;
}

.product-detail-hero.has-visible-art .product-detail-copy {
  padding: clamp(1.1rem, 2vw, 1.8rem);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(3,3,3,.72), rgba(10,7,4,.48));
  border: 1px solid rgba(244,216,146,.19);
  box-shadow: 0 18px 55px rgba(0,0,0,.34);
  backdrop-filter: blur(7px);
}

.coming-soon-feature {
  display: grid;
  gap: .35rem;
  padding: 1rem 1.15rem;
  border-radius: 16px;
  border: 1px solid rgba(244,216,146,.28);
  background:
    radial-gradient(circle at 85% 10%, rgba(189,132,43,.18), transparent 42%),
    linear-gradient(145deg, rgba(45,24,9,.72), rgba(8,7,6,.88));
  box-shadow: inset 0 1px rgba(255,255,255,.035), 0 14px 35px rgba(0,0,0,.22);
}
.coming-soon-feature strong { color: var(--gold-soft); font-size: 1.15rem; }
.coming-soon-feature small { color: var(--muted); }


/* v1.18 — CINEMATIC FIVE PRODUCT PAGE SYSTEM */
.cinematic-product{position:relative;background:#030403;color:#f7edd8}
.cinematic-hero{position:relative;min-height:900px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid rgba(213,163,61,.25)}
.cinematic-art{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.20) 43%,rgba(0,0,0,.55) 66%,rgba(0,0,0,.75)),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.55)),var(--cin-bg);background-size:cover;background-position:center;filter:saturate(1.14) contrast(1.05);transform:scale(1.01)}
.cinematic-art:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 32% 40%,transparent 0 24%,rgba(0,0,0,.10) 55%,rgba(0,0,0,.48) 100%)}
.cinematic-shell{position:relative;z-index:2;width:100%;padding:4rem 0}
.cinematic-info-panel{margin-left:auto;width:min(850px,64vw);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:1.2rem;padding:1.35rem;border:1px solid rgba(217,164,62,.55);border-radius:28px;background:linear-gradient(145deg,rgba(2,8,8,.83),rgba(4,4,3,.92));box-shadow:0 35px 90px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.025);backdrop-filter:blur(11px)}
.cinematic-copy{padding:1rem 1.25rem}
.cinematic-copy h1{font-size:clamp(3rem,5.2vw,5.8rem);line-height:.92;margin:.5rem 0 1rem;color:#e7b44f;text-shadow:0 3px 24px rgba(203,135,30,.22)}
.cinematic-copy .lead{font-size:1.05rem;line-height:1.8;max-width:58ch}
.cinematic-meter{margin:1.5rem 0}
.cin-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1.4rem 0}
.cin-note{min-height:104px;border:1px solid rgba(217,164,62,.20);background:rgba(0,0,0,.28);border-radius:16px;padding:.8rem;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:.4rem}
.cin-note-icon{font-size:1.35rem;color:#e7b44f}
.cin-note strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#f7edd8}
.brew-block{border-top:1px solid rgba(217,164,62,.25);padding-top:1rem}
.brew-block h3{text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;color:#e7b44f;text-align:center}
.brew-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.brew-item{text-align:center;font-size:.73rem;color:#e8dbc2}.brew-icon{display:block;font-size:1.35rem;margin-bottom:.25rem}
.cinematic-buy{align-self:start;border:1px solid rgba(217,164,62,.32);border-radius:22px;padding:1rem;background:linear-gradient(180deg,rgba(0,0,0,.46),rgba(0,0,0,.77));box-shadow:0 24px 70px rgba(0,0,0,.45)}
.cinematic-bag{height:430px;display:grid;place-items:center;margin:-2rem auto .5rem}
.cinematic-bag img{max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 28px 28px rgba(0,0,0,.65))}
.cinematic-buy .variant-grid{grid-template-columns:1fr 1fr}
.cinematic-buy .selected-variant{text-align:center;margin:1rem 0}
.cinematic-buy .selected-variant strong{font-size:2rem}
.cinematic-buy .cart-action{justify-content:center}.cinematic-buy .add-cart-btn{width:100%;font-size:1rem}
.cinematic-story{position:relative;background:linear-gradient(180deg,#040504,#090703)}
.cinematic-story:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.88),rgba(0,0,0,.92)),var(--cin-bg);background-size:cover;background-position:center;opacity:.32;filter:blur(2px)}
.story-glass{position:relative;max-width:900px;margin:auto;padding:2.4rem;border:1px solid rgba(217,164,62,.25);border-radius:24px;background:rgba(5,5,4,.80);box-shadow:0 24px 70px rgba(0,0,0,.35)}
.story-glass p{font-size:1.08rem;line-height:1.85;color:#eadfca}.story-glass h2{font-size:clamp(2.3rem,4vw,4rem);color:#e7b44f}.story-glass h3{color:#e7b44f;margin-top:1.7rem}.story-glass blockquote{margin:2rem 0 0;padding:1.3rem 1.5rem;border-left:3px solid #e7b44f;background:rgba(231,180,79,.06);font-family:Georgia,serif;font-size:1.35rem;font-style:italic;color:#f5e5bd}
@media(max-width:1100px){.cinematic-info-panel{width:min(940px,92vw);grid-template-columns:1fr 360px}.cinematic-art{background-position:35% center}.cinematic-copy h1{font-size:clamp(2.8rem,6vw,4.6rem)}}
@media(max-width:820px){.cinematic-hero{min-height:auto}.cinematic-art{background-position:35% center}.cinematic-info-panel{grid-template-columns:1fr;width:94vw;margin:auto}.cinematic-bag{height:360px;margin:0 auto}.cin-notes{grid-template-columns:1fr 1fr}.brew-grid{grid-template-columns:1fr 1fr}.cinematic-copy h1{font-size:clamp(2.8rem,12vw,4.4rem)}}
@media(max-width:520px){.cinematic-shell{padding:2rem 0}.cinematic-info-panel{padding:.75rem;border-radius:20px}.cinematic-copy{padding:.6rem}.cin-notes{grid-template-columns:1fr}.cinematic-buy .variant-grid{grid-template-columns:1fr}.story-glass{padding:1.4rem}.cinematic-art{background-position:30% center}.cinematic-bag{height:300px}}


/* ==========================================================
   v1.19 — Corrected cinematic Kraken product page
   Uses Nicole's exact bag image unchanged; shadow is CSS only.
   ========================================================== */
.kraken-page{background:#020707;color:#f7ecd5}
.kraken-page .site-header{position:relative;background:#030605;border-bottom:1px solid rgba(215,164,60,.40)}
.kraken-product-page{background:#020707}
.kraken-stage{position:relative;min-height:calc(100vh - 82px);overflow:hidden;display:flex;align-items:center;background:#031011}
.kraken-stage-art{position:absolute;inset:0;background-image:url('../images/products/kraken-art-only.jpg');background-repeat:no-repeat;background-size:auto 116%;background-position:left 44%;filter:saturate(1.14) contrast(1.06) brightness(.88);transform:scale(1.015);transform-origin:left center}
.kraken-stage-art::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.00) 0%,rgba(0,0,0,.06) 32%,rgba(0,0,0,.58) 60%,rgba(0,0,0,.92) 100%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.30))}
.kraken-stage-vignette{position:absolute;inset:0;background:radial-gradient(circle at 29% 48%,rgba(15,180,180,.12),transparent 34%),radial-gradient(circle at 74% 46%,rgba(216,160,54,.10),transparent 30%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.20));pointer-events:none}
.kraken-stage-wrap{position:relative;z-index:2;width:min(1540px,calc(100% - 48px));margin:0 auto;padding:24px 0}
.kraken-product-panel{width:min(980px,68vw);margin-left:auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:18px;padding:20px;border:1px solid rgba(218,163,53,.62);border-radius:24px;background:linear-gradient(145deg,rgba(1,11,12,.88),rgba(2,4,4,.94));box-shadow:0 36px 95px rgba(0,0,0,.58),inset 0 0 0 1px rgba(255,255,255,.025);backdrop-filter:blur(12px)}
.kraken-copy-column{padding:14px 18px 12px}
.kraken-kicker{margin:0 0 4px;color:#d9a747;font-size:.92rem;letter-spacing:.18em;text-transform:uppercase}
.kraken-copy-column h1{font-size:clamp(3.5rem,5.1vw,5.85rem);line-height:.89;letter-spacing:-.035em;color:#e8b64e;text-shadow:0 5px 26px rgba(218,147,31,.22);margin:0 0 12px;max-width:none}
.kraken-roast-name{color:#5fc8b6;text-transform:uppercase;letter-spacing:.14em;font-size:1.02rem;margin:0 0 12px}
.kraken-lead{font-size:1.03rem;line-height:1.65;color:#e7dcc8;margin:0 0 16px}
.kraken-section-heading{display:flex;align-items:center;gap:12px;margin:0 0 12px;color:#d6a343;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
.kraken-section-heading::before,.kraken-section-heading::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(211,159,56,.65))}
.kraken-section-heading::after{background:linear-gradient(90deg,rgba(211,159,56,.65),transparent)}
.kraken-roast-meter{padding:4px 0 14px;border-bottom:1px solid rgba(212,159,56,.22)}
.kraken-roast-label-row{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;color:#c9b89c;font-size:.60rem;line-height:1.05;text-align:center;margin-bottom:7px}
.kraken-roast-label-row .active{color:#efbd55}
.kraken-roast-track{position:relative;height:6px;border-radius:999px;background:linear-gradient(90deg,#e8c88b,#b87c3a 25%,#73451f 54%,#2a1d17 100%);border:1px solid rgba(255,238,190,.26);box-shadow:inset 0 2px 4px rgba(0,0,0,.65)}
.kraken-roast-progress{position:absolute;inset:0 auto 0 0;width:var(--roast-position);border-radius:999px;background:linear-gradient(90deg,rgba(255,245,198,.66),rgba(223,163,49,.36))}
.kraken-roast-marker{position:absolute;left:var(--roast-position);top:50%;width:18px;height:18px;border-radius:50%;transform:translate(-50%,-50%);background:#dba541;border:2px solid #ffe3a1;box-shadow:0 0 0 3px rgba(0,0,0,.62),0 0 15px rgba(223,170,59,.42)}
.kraken-notes{padding:18px 0 10px}
.kraken-note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kraken-note-grid>div{text-align:center;padding:12px 7px;border:1px solid rgba(212,159,56,.26);border-radius:15px;background:rgba(0,0,0,.24)}
.kraken-note-icon{display:block;color:#e8b247;font-size:1.65rem;line-height:1;margin-bottom:7px}
.kraken-note-grid strong{font-size:.82rem;line-height:1.25;text-transform:uppercase;letter-spacing:.03em;color:#f4ead5}
.kraken-brew{padding-top:10px}
.kraken-brew-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}
.kraken-brew-grid div{display:grid;gap:4px;color:#f1dfbc}
.kraken-brew-grid span{font-size:1.25rem;color:#e2ae43}
.kraken-brew-grid small{font-size:.68rem;color:#d3c1a4}
.kraken-purchase-column{align-self:center;min-width:0}
.kraken-bag-stage{height:470px;display:flex;align-items:center;justify-content:center;padding:2px 6px 0;position:relative}
.kraken-bag-stage img{max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(18px 28px 18px rgba(0,0,0,.70)) drop-shadow(-8px 8px 12px rgba(0,91,100,.18)) drop-shadow(7px 3px 8px rgba(212,152,36,.18));transform:translateY(3px)}
.kraken-options-card{border:1px solid rgba(213,161,55,.38);border-radius:18px;padding:13px;background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.72));box-shadow:0 20px 45px rgba(0,0,0,.34)}
.kraken-option-group>span{display:block;text-align:center;color:#dda947;text-transform:uppercase;letter-spacing:.1em;font-size:.73rem;margin-bottom:7px}
.kraken-choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px}
.kraken-option-group:nth-of-type(2) .kraken-choice-row{grid-template-columns:1fr 1fr}
.kraken-choice-row button{appearance:none;border:1px solid rgba(224,181,91,.28);background:rgba(0,0,0,.36);color:#e7dcc8;border-radius:6px;padding:9px 7px;font:inherit;font-size:.76rem;cursor:pointer}
.kraken-choice-row button.active{border-color:#e3ad45;color:#f1c469;background:rgba(113,70,15,.22);box-shadow:0 0 16px rgba(222,165,55,.08)}
.kraken-options-card select{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.kraken-selected-variant{text-align:center;display:grid;gap:3px;padding:4px 0 11px}
.kraken-selected-variant strong{font-size:2rem;color:#fff2d3;font-weight:400}
.kraken-selected-variant span{font-size:.82rem;color:#d8c7aa}
.kraken-selected-variant small{font-size:.73rem;color:#d3e8cf}
.kraken-stock-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#53c96c;margin-right:5px}
.kraken-selected-variant em{font-style:normal;font-size:.64rem;color:#9f8e73}
.kraken-add-cart{width:100%;border:0;border-radius:6px;padding:12px 16px;background:linear-gradient(135deg,#eacb80,#bd7d1e);color:#160f07;font:700 1rem Georgia,'Times New Roman',serif;cursor:pointer;box-shadow:0 10px 28px rgba(177,108,17,.20)}
.kraken-story-section{position:relative;padding:70px 0;background:linear-gradient(180deg,#020707,#070805)}
.kraken-story-section::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.88),rgba(0,0,0,.92)),url('../images/products/kraken-art-only.jpg');background-size:cover;background-position:center;opacity:.28}
.kraken-story-card{position:relative;max-width:900px;margin:0 auto;padding:36px;border:1px solid rgba(213,161,55,.32);border-radius:22px;background:rgba(2,6,6,.80);box-shadow:0 24px 60px rgba(0,0,0,.42)}
.kraken-story-card h2{color:#e8b64e;margin-bottom:18px}
.kraken-story-card blockquote{margin:24px 0 0;padding:18px 0 0;border-top:1px solid rgba(213,161,55,.32);font-size:1.4rem;text-align:center;color:#63c5b3;font-style:italic}
@media(max-width:1180px){.kraken-product-panel{width:min(1040px,92vw)}.kraken-stage-art{background-position:20% 44%;opacity:.82}}
@media(max-width:860px){.kraken-stage{min-height:auto}.kraken-stage-wrap{width:min(96%,760px);padding:28px 0}.kraken-product-panel{grid-template-columns:1fr;width:100%;margin:0}.kraken-copy-column h1{font-size:clamp(3.5rem,13vw,5.2rem)}.kraken-stage-art{background-size:auto 100%;background-position:center top;opacity:.45}.kraken-bag-stage{height:420px}.kraken-note-grid{grid-template-columns:1fr 1fr}.kraken-brew-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.kraken-stage-wrap{width:calc(100% - 22px)}.kraken-product-panel{padding:10px;border-radius:17px}.kraken-copy-column{padding:12px 10px}.kraken-roast-label-row{grid-template-columns:repeat(3,1fr);row-gap:6px}.kraken-note-grid{grid-template-columns:1fr}.kraken-bag-stage{height:330px}.kraken-story-card{padding:24px 18px}.kraken-choice-row button{font-size:.7rem;padding:8px 4px}}

/* ==========================================================
   v1.20 — Kraken cinematic composition refinement
   Full artwork visible + more transparent glass + exact title art
   ========================================================== */
.kraken-stage{
  min-height:calc(100vh - 78px);
  background:#021012;
  isolation:isolate;
}
.kraken-stage-art{
  inset:0;
  background:none;
  filter:none;
  transform:none;
  opacity:1;
  overflow:hidden;
}
.kraken-stage-art::before{
  content:'';
  position:absolute;
  inset:-28px;
  background-image:url('../images/products/kraken-full-art-bg.webp');
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  filter:blur(22px) brightness(.42) saturate(1.08);
  transform:scale(1.06);
  opacity:.78;
}
.kraken-stage-art::after{
  content:'';
  position:absolute;
  inset:0;
  background-image:url('../images/products/kraken-full-art-bg.webp');
  background-repeat:no-repeat;
  background-size:auto 100%;
  background-position:left center;
  filter:brightness(.88) saturate(1.12) contrast(1.03);
  opacity:1;
}
.kraken-stage-vignette{
  background:
    linear-gradient(90deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.02) 38%,rgba(0,5,7,.14) 54%,rgba(0,5,7,.48) 75%,rgba(0,3,4,.67) 100%),
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.22));
}
.kraken-stage-wrap{
  width:min(1660px,calc(100% - 34px));
  padding:18px 0 24px;
}
.kraken-product-panel{
  width:min(1040px,64vw);
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);
  gap:16px;
  padding:18px;
  border-color:rgba(218,163,53,.55);
  background:
    linear-gradient(145deg,rgba(0,13,15,.48),rgba(0,5,6,.63));
  box-shadow:0 30px 86px rgba(0,0,0,.43),inset 0 0 0 1px rgba(255,255,255,.02);
  backdrop-filter:blur(5px) saturate(1.06);
  -webkit-backdrop-filter:blur(5px) saturate(1.06);
}
.kraken-copy-column{padding:10px 16px 8px}
.kraken-title-lockup-wrap{margin:0 0 10px;max-width:520px}
.kraken-title-lockup{
  display:block;
  width:min(100%,520px);
  height:auto;
  filter:drop-shadow(0 5px 18px rgba(0,0,0,.35)) drop-shadow(0 0 8px rgba(214,154,38,.12));
}
.kraken-title-lockup-wrap .kraken-kicker{
  margin:5px 0 0;
  color:#68cbb8;
  text-align:center;
  font-family:Georgia,'Times New Roman',serif;
  font-size:.96rem;
  letter-spacing:.20em;
}
.kraken-copy-column>h1.sr-only{position:absolute}
.kraken-roast-name{margin-top:7px}
.kraken-lead{font-size:1rem;line-height:1.58;color:#eee3cf}
.kraken-roast-meter,
.kraken-notes,
.kraken-brew{
  background:rgba(0,0,0,.07);
  border-radius:14px;
}
.kraken-roast-meter{padding:10px 12px 15px;border:1px solid rgba(212,159,56,.14)}
.kraken-notes{padding:13px 10px 10px;margin-top:12px;border:1px solid rgba(212,159,56,.13)}
.kraken-brew{padding:12px 10px 9px;margin-top:10px;border:1px solid rgba(212,159,56,.12)}
.kraken-note-grid>div{
  background:rgba(0,4,5,.12);
  border-color:rgba(212,159,56,.18);
}
.kraken-bag-stage{height:470px;padding:0;overflow:visible}
.kraken-bag-stage img{
  max-height:100%;
  filter:
    drop-shadow(20px 28px 20px rgba(0,0,0,.74))
    drop-shadow(-7px 8px 12px rgba(0,126,134,.16))
    drop-shadow(8px 4px 10px rgba(214,154,38,.18));
  transform:translateY(2px) rotate(.15deg);
}
.kraken-options-card{
  background:linear-gradient(180deg,rgba(0,4,5,.27),rgba(0,2,3,.46));
  border-color:rgba(213,161,55,.30);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.kraken-choice-row button{background:rgba(0,0,0,.20)}
.kraken-story-card{background:rgba(2,8,8,.60);backdrop-filter:blur(5px)}

@media(max-width:1300px){
  .kraken-product-panel{width:min(1040px,72vw)}
  .kraken-stage-art::after{background-size:auto 100%;background-position:left center}
}
@media(max-width:980px){
  .kraken-product-panel{width:min(940px,94vw)}
  .kraken-stage-art::after{background-size:auto 100%;background-position:30% center;opacity:.70}
  .kraken-stage-vignette{background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.44))}
}
@media(max-width:860px){
  .kraken-title-lockup-wrap{max-width:100%}
  .kraken-title-lockup{width:min(100%,560px)}
  .kraken-stage-art::after{background-size:auto 84%;background-position:center top;opacity:.48}
  .kraken-product-panel{background:linear-gradient(145deg,rgba(0,12,14,.62),rgba(0,4,5,.72))}
}

/* ==========================================================
   v1.21 — Approved Kraken scene + clean exact title
   Preserves exact standard prices and weight mappings.
   ========================================================== */
.kraken-stage{
  min-height:calc(100vh - 78px);
  background:#020b0c;
  align-items:center;
}
.kraken-stage-art{
  position:absolute;
  inset:0;
  background-image:url('../images/products/kraken-approved-background.webp');
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  filter:none;
  transform:none;
  opacity:1;
}
.kraken-stage-art::before,
.kraken-stage-art::after{content:none}
.kraken-stage-vignette{
  background:
    linear-gradient(90deg,rgba(0,0,0,.01) 0%,rgba(0,0,0,.02) 34%,rgba(0,6,8,.08) 51%,rgba(0,4,5,.22) 72%,rgba(0,2,3,.34) 100%),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.12));
}
.kraken-stage-wrap{
  width:min(1620px,calc(100% - 36px));
  padding:24px 0 30px;
}
.kraken-product-panel{
  width:min(930px,61vw);
  margin-left:auto;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);
  gap:18px;
  padding:18px 18px 16px;
  border:1px solid rgba(218,163,53,.55);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(0,13,15,.49),rgba(0,4,5,.61));
  box-shadow:0 30px 88px rgba(0,0,0,.48),inset 0 0 0 1px rgba(255,255,255,.018);
  backdrop-filter:blur(4px) saturate(1.06);
  -webkit-backdrop-filter:blur(4px) saturate(1.06);
}
.kraken-copy-column{padding:12px 16px 10px}
.kraken-title-lockup-wrap{max-width:470px;margin:0 0 10px}
.kraken-title-lockup{
  display:block;
  width:min(100%,470px);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 5px 18px rgba(0,0,0,.48)) drop-shadow(0 0 8px rgba(214,154,38,.13));
}
.kraken-title-lockup-wrap .kraken-kicker{margin:7px 0 0}
.kraken-roast-meter,
.kraken-notes,
.kraken-brew{
  background:rgba(0,7,8,.13);
  border-color:rgba(212,159,56,.18);
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
}
.kraken-note-grid>div{background:rgba(0,4,5,.15)}
.kraken-bag-stage{height:445px}
.kraken-options-card{
  background:linear-gradient(180deg,rgba(0,4,5,.34),rgba(0,2,3,.53));
  border-color:rgba(213,161,55,.34);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.kraken-story-section::before{
  background-image:linear-gradient(rgba(0,0,0,.76),rgba(0,0,0,.84)),url('../images/products/kraken-approved-background.webp');
  background-size:cover;
  background-position:center;
  opacity:.44;
}
.kraken-story-card{background:rgba(2,8,8,.57)}

@media(max-width:1300px){
  .kraken-product-panel{width:min(930px,68vw)}
}
@media(max-width:1020px){
  .kraken-product-panel{width:min(930px,92vw)}
  .kraken-stage-vignette{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.30))}
}
@media(max-width:860px){
  .kraken-stage-art{background-position:34% center}
  .kraken-product-panel{grid-template-columns:1fr;background:linear-gradient(145deg,rgba(0,12,14,.66),rgba(0,4,5,.78))}
  .kraken-title-lockup-wrap{max-width:100%}
  .kraken-title-lockup{width:min(100%,520px)}
}

/* ==========================================================
   v1.22 — Kraken full background shown once, uncropped
   Uses the exact 1920x1080 approved background without cover-cropping.
   ========================================================== */
@media (min-width:861px){
  .kraken-stage{
    min-height:0;
    height:auto;
    aspect-ratio:16 / 9;
    align-items:center;
    background:#020b0c;
  }
  .kraken-stage-art{
    inset:0;
    background-image:url('../images/products/kraken-approved-background.webp');
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center center;
    background-color:#020b0c;
  }
  .kraken-stage-wrap{
    width:min(1620px,calc(100% - 36px));
    padding:18px 0 24px;
  }
}

/* Do not repeat the Kraken artwork beneath the hero. */
.kraken-story-section{
  background:linear-gradient(180deg,#020707 0%,#050807 58%,#070805 100%);
}
.kraken-story-section::before{
  content:none !important;
  background:none !important;
  opacity:0 !important;
}

/* ==========================================================
   v1.23 — Ascension cinematic page from locked Kraken v1.22 master
   One full uncropped background, exact label title, exact bag asset.
   ========================================================== */
.ascension-page{background:#080704;color:#f7ecd5}
.ascension-page .site-header{background:#050504;border-bottom-color:rgba(210,160,54,.42)}
.ascension-stage{background:#090806}
.ascension-stage .kraken-stage-art{
  background-image:url('../images/products/ascension-approved-background.webp');
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center center;
  background-color:#090806;
  filter:none;
  transform:none;
  opacity:1;
}
.ascension-stage .kraken-stage-vignette{
  background:
    linear-gradient(90deg,rgba(0,0,0,.01) 0%,rgba(0,0,0,.02) 34%,rgba(10,7,2,.08) 51%,rgba(8,5,2,.20) 72%,rgba(4,3,2,.30) 100%),
    linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.12));
}
.ascension-stage .kraken-product-panel{
  background:linear-gradient(145deg,rgba(14,11,5,.48),rgba(5,4,2,.62));
  border-color:rgba(218,163,53,.56);
}
.ascension-stage .kraken-title-lockup-wrap{max-width:560px;margin-bottom:8px}
.ascension-stage .kraken-title-lockup{width:min(100%,560px);filter:drop-shadow(0 5px 18px rgba(0,0,0,.48))}
.ascension-stage .kraken-roast-name{color:#e8c477}
.ascension-stage .kraken-roast-meter,
.ascension-stage .kraken-notes,
.ascension-stage .kraken-brew{background:rgba(12,9,3,.13);border-color:rgba(212,159,56,.18)}
.ascension-stage .kraken-note-grid>div{background:rgba(10,7,2,.16)}
.ascension-stage .kraken-options-card{background:linear-gradient(180deg,rgba(10,7,2,.34),rgba(3,2,1,.54))}
.ascension-stage .kraken-bag-stage img{
  filter:drop-shadow(18px 28px 19px rgba(0,0,0,.70)) drop-shadow(8px 5px 9px rgba(214,154,38,.16));
}
.ascension-story-section{background:linear-gradient(180deg,#080704 0%,#0b0905 60%,#070603 100%)}
.ascension-story-section::before{content:none!important;background:none!important;opacity:0!important}
.ascension-story-section .kraken-story-card{background:rgba(9,7,3,.66);border-color:rgba(213,161,55,.32)}
.ascension-story-section .kraken-story-card h2{color:#e8c477}
.ascension-story-section .kraken-story-card blockquote{color:#e8c477}
@media (min-width:861px){
  .ascension-stage{min-height:0;height:auto;aspect-ratio:16 / 9;align-items:center}
  .ascension-stage .kraken-stage-art{background-size:contain;background-position:center center}
}
@media(max-width:860px){
  .ascension-stage .kraken-stage-art{background-size:auto 100%;background-position:25% top;opacity:.48}
  .ascension-stage .kraken-product-panel{background:linear-gradient(145deg,rgba(15,11,4,.68),rgba(5,4,2,.80))}
}


/* ==========================================================
   v1.24 — Alma del Bosque cinematic page
   Built from locked Kraken/Ascension template.
   One full 16:9 background, exact title crop, exact bag image.
   ========================================================== */
.alma-page{background:#020704;color:#f2ead9}
.alma-page .site-header{background:#020503;border-bottom-color:rgba(183,137,37,.44)}
.alma-stage{background:#020704}
.alma-stage .kraken-stage-art{
  background-image:url('../images/products/alma-approved-background.webp');
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center center;
  background-color:#020704;
  filter:none;
  transform:none;
  opacity:1;
}
.alma-stage .kraken-stage-vignette{
  background:
    linear-gradient(90deg,rgba(0,0,0,.01) 0%,rgba(0,0,0,.02) 32%,rgba(0,8,4,.07) 49%,rgba(0,6,3,.20) 72%,rgba(0,3,2,.35) 100%),
    linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.14));
}
.alma-stage .kraken-product-panel{
  background:linear-gradient(145deg,rgba(1,16,8,.46),rgba(0,6,3,.62));
  border-color:rgba(196,147,45,.55);
}
.alma-stage .kraken-title-lockup-wrap{max-width:560px;margin-bottom:8px}
.alma-stage .kraken-title-lockup{width:min(100%,560px);filter:drop-shadow(0 5px 18px rgba(0,0,0,.52))}
.alma-stage .kraken-roast-name{color:#d7b55c}
.alma-stage .kraken-roast-meter,
.alma-stage .kraken-notes,
.alma-stage .kraken-brew{background:rgba(0,13,6,.15);border-color:rgba(190,143,41,.20)}
.alma-stage .kraken-note-grid>div{background:rgba(0,10,5,.18)}
.alma-stage .kraken-options-card{background:linear-gradient(180deg,rgba(0,12,6,.36),rgba(0,4,2,.56))}
.alma-stage .kraken-bag-stage img{
  filter:drop-shadow(18px 28px 20px rgba(0,0,0,.72)) drop-shadow(-6px 6px 12px rgba(15,128,72,.17)) drop-shadow(8px 5px 9px rgba(200,148,38,.15));
}
.alma-story-section{background:linear-gradient(180deg,#020704 0%,#040b06 60%,#030603 100%)}
.alma-story-section::before{content:none!important;background:none!important;opacity:0!important}
.alma-story-section .kraken-story-card{background:rgba(1,12,6,.67);border-color:rgba(194,145,42,.31)}
.alma-story-section .kraken-story-card h2{color:#d8b55c}
.alma-story-section .kraken-story-card blockquote{color:#79d49b}
@media (min-width:861px){
  .alma-stage{min-height:0;height:auto;aspect-ratio:16 / 9;align-items:center}
  .alma-stage .kraken-stage-art{background-size:contain;background-position:center center}
}
@media(max-width:860px){
  .alma-stage .kraken-stage-art{background-size:auto 100%;background-position:25% top;opacity:.48}
  .alma-stage .kraken-product-panel{background:linear-gradient(145deg,rgba(1,17,8,.68),rgba(0,5,3,.80))}
}

/* ==========================================================
   v1.25 — Blueberry Confession cinematic page
   Locked master layout: one 16:9 background, exact title art,
   Nicole's exact angled bag image, correct live variants.
   ========================================================== */
.blueberry-page{background:#050109;color:#f7edf8}
.blueberry-page .site-header{background:#040107;border-bottom-color:rgba(173,88,236,.42)}
.blueberry-stage{background:#050109}
.blueberry-stage .kraken-stage-art{
  background-image:url('../images/products/blueberry-approved-background.webp');
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center center;
  background-color:#050109;
  filter:none;
  transform:none;
  opacity:1;
}
.blueberry-stage .kraken-stage-vignette{
  background:
    linear-gradient(90deg,rgba(0,0,0,.01) 0%,rgba(0,0,0,.02) 32%,rgba(14,3,26,.06) 49%,rgba(10,2,19,.18) 72%,rgba(4,0,9,.34) 100%),
    linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.14));
}
.blueberry-stage .kraken-product-panel{
  background:linear-gradient(145deg,rgba(14,3,25,.45),rgba(4,1,9,.62));
  border-color:rgba(193,105,243,.47);
  box-shadow:0 30px 88px rgba(0,0,0,.52),0 0 46px rgba(70,21,126,.09),inset 0 0 0 1px rgba(255,255,255,.018);
}
.blueberry-stage .kraken-title-lockup-wrap{max-width:570px;margin-bottom:5px}
.blueberry-stage .kraken-title-lockup{
  width:min(100%,570px);
  filter:drop-shadow(0 5px 18px rgba(0,0,0,.58)) drop-shadow(0 0 15px rgba(80,105,255,.18)) drop-shadow(0 0 9px rgba(255,67,221,.13));
}
.blueberry-stage .kraken-roast-name{color:#dda8ff}
.blueberry-stage .kraken-section-heading span{color:#d98eff}
.blueberry-stage .kraken-roast-meter,
.blueberry-stage .kraken-notes,
.blueberry-stage .kraken-brew{background:rgba(12,2,21,.14);border-color:rgba(189,96,238,.20)}
.blueberry-stage .kraken-note-grid>div{background:rgba(10,2,18,.18);border-color:rgba(170,84,229,.22)}
.blueberry-stage .kraken-note-icon{color:#8aa8ff;text-shadow:0 0 10px rgba(91,113,255,.38)}
.blueberry-stage .kraken-brew-grid span{color:#e896ff}
.blueberry-stage .kraken-roast-marker{box-shadow:0 0 0 4px rgba(183,78,233,.15),0 0 18px rgba(114,80,255,.45)}
.blueberry-stage .kraken-options-card{
  background:linear-gradient(180deg,rgba(12,2,21,.35),rgba(3,0,7,.58));
  border-color:rgba(186,92,235,.33);
}
.blueberry-stage .kraken-choice-row button.active{border-color:#d985ff;box-shadow:0 0 15px rgba(101,69,255,.17)}
.blueberry-stage .kraken-bag-stage img{
  filter:drop-shadow(18px 28px 20px rgba(0,0,0,.73)) drop-shadow(-7px 7px 13px rgba(93,54,235,.18)) drop-shadow(8px 5px 10px rgba(221,158,46,.14));
}
.blueberry-story-section{background:linear-gradient(180deg,#050109 0%,#09020f 60%,#050107 100%)}
.blueberry-story-section::before{content:none!important;background:none!important;opacity:0!important}
.blueberry-story-section .kraken-story-card{background:rgba(9,2,15,.68);border-color:rgba(185,88,235,.30)}
.blueberry-story-section .kraken-story-card h2{color:#dd9cff}
.blueberry-story-section .kraken-story-card blockquote{color:#86a6ff}
@media (min-width:861px){
  .blueberry-stage{min-height:0;height:auto;aspect-ratio:16 / 9;align-items:center}
  .blueberry-stage .kraken-stage-art{background-size:contain;background-position:center center}
}
@media(max-width:860px){
  .blueberry-stage .kraken-stage-art{background-size:auto 100%;background-position:22% top;opacity:.48}
  .blueberry-stage .kraken-product-panel{background:linear-gradient(145deg,rgba(16,3,28,.68),rgba(4,1,9,.81))}
}


/* ==========================================================
   v1.26 — Midnight cinematic page + Blueberry cleanup
   Clean title lettering only: no decorative objects around titles.
   Blueberry left-side partial gold frame removed from background.
   ========================================================== */
.blueberry-stage .kraken-title-lockup{
  filter:drop-shadow(0 5px 16px rgba(0,0,0,.58));
}
.midnight-page{background:#090301;color:#f6e6cf}
.midnight-page .site-header{background:#080301;border-bottom-color:rgba(218,102,34,.44)}
.midnight-stage{background:#090301}
.midnight-stage .kraken-stage-art{
  background-image:url('../images/products/midnight-approved-background.webp');
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center center;
  background-color:#090301;
  filter:none;
  transform:none;
  opacity:1;
}
.midnight-stage .kraken-stage-vignette{
  background:
    linear-gradient(90deg,rgba(0,0,0,.01) 0%,rgba(0,0,0,.02) 31%,rgba(33,5,0,.07) 49%,rgba(21,4,0,.20) 72%,rgba(7,1,0,.37) 100%),
    linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.15));
}
.midnight-stage .kraken-product-panel{
  background:linear-gradient(145deg,rgba(25,5,1,.46),rgba(7,2,0,.64));
  border-color:rgba(225,119,43,.54);
  box-shadow:0 30px 88px rgba(0,0,0,.55),0 0 44px rgba(157,45,8,.09),inset 0 0 0 1px rgba(255,255,255,.018);
}
.midnight-stage .kraken-title-lockup-wrap{max-width:590px;margin-bottom:8px}
.midnight-stage .kraken-title-lockup{
  width:min(100%,590px);
  filter:drop-shadow(0 5px 17px rgba(0,0,0,.62));
}
.midnight-stage .kraken-roast-name{color:#ff7544}
.midnight-stage .kraken-section-heading span{color:#e8a14e}
.midnight-stage .kraken-roast-meter,
.midnight-stage .kraken-notes,
.midnight-stage .kraken-brew{background:rgba(27,5,1,.15);border-color:rgba(219,102,32,.22)}
.midnight-stage .kraken-note-grid>div{background:rgba(20,4,1,.20);border-color:rgba(213,91,27,.24)}
.midnight-stage .kraken-note-icon{color:#ff8a43;text-shadow:none}
.midnight-stage .kraken-brew-grid span{color:#ef9b42}
.midnight-stage .kraken-roast-marker{box-shadow:0 0 0 4px rgba(208,68,18,.15),0 0 18px rgba(255,87,28,.46)}
.midnight-stage .kraken-options-card{
  background:linear-gradient(180deg,rgba(25,5,1,.37),rgba(7,1,0,.62));
  border-color:rgba(215,96,29,.36);
}
.midnight-stage .kraken-choice-row button.active{border-color:#ef8b3d;box-shadow:0 0 15px rgba(220,73,23,.16)}
.midnight-stage .kraken-bag-stage img{
  filter:drop-shadow(18px 28px 20px rgba(0,0,0,.75)) drop-shadow(8px 6px 11px rgba(235,93,21,.17)) drop-shadow(9px 5px 10px rgba(221,158,46,.13));
}
.midnight-story-section{background:linear-gradient(180deg,#090301 0%,#100401 60%,#070201 100%)}
.midnight-story-section::before{content:none!important;background:none!important;opacity:0!important}
.midnight-story-section .kraken-story-card{background:rgba(14,3,1,.70);border-color:rgba(218,98,29,.32)}
.midnight-story-section .kraken-story-card h2{color:#f09a46}
.midnight-story-section .kraken-story-card blockquote{color:#ff7544}
@media (min-width:861px){
  .midnight-stage{min-height:0;height:auto;aspect-ratio:16 / 9;align-items:center}
  .midnight-stage .kraken-stage-art{background-size:contain;background-position:center center}
}
@media(max-width:860px){
  .midnight-stage .kraken-stage-art{background-size:auto 100%;background-position:22% top;opacity:.48}
  .midnight-stage .kraken-product-panel{background:linear-gradient(145deg,rgba(28,6,1,.70),rgba(7,2,0,.83))}
}


/* ==========================================================
   v1.27 — Kindred Souls cinematic page + Blueberry title repair
   Titles are clean lettering only. No frames, vines, berries,
   tentacles, smoke, jewels, or decorative fragments are added.
   ========================================================== */
.blueberry-stage .kraken-title-lockup-wrap{
  max-width:620px;
  overflow:visible;
  padding:0 10px;
}
.blueberry-stage .kraken-title-lockup{
  display:block;
  width:min(100%,600px);
  height:auto;
  object-fit:contain;
  filter:none;
  overflow:visible;
}
.kindred-page{background:#090403;color:#f8eadc}
.kindred-page .site-header{background:#070302;border-bottom-color:rgba(190,71,45,.46)}
.kindred-stage{background:#090403}
.kindred-stage .kraken-stage-art{
  background-image:url('../images/products/kindred-approved-background.webp');
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center center;
  background-color:#090403;
  filter:none;
  transform:none;
  opacity:1;
}
.kindred-stage .kraken-stage-vignette{
  background:
    linear-gradient(90deg,rgba(0,0,0,.01) 0%,rgba(0,0,0,.02) 31%,rgba(32,5,3,.07) 49%,rgba(19,3,2,.19) 72%,rgba(7,1,1,.36) 100%),
    linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.15));
}
.kindred-stage .kraken-product-panel{
  background:linear-gradient(145deg,rgba(25,5,4,.47),rgba(8,2,1,.65));
  border-color:rgba(199,71,49,.52);
  box-shadow:0 30px 88px rgba(0,0,0,.55),0 0 42px rgba(126,20,17,.08),inset 0 0 0 1px rgba(255,255,255,.018);
}
.kindred-stage .kraken-title-lockup-wrap{max-width:600px;margin-bottom:5px;overflow:visible}
.kindred-stage .kraken-title-lockup{
  display:block;
  width:min(100%,600px);
  height:auto;
  object-fit:contain;
  filter:none;
  overflow:visible;
}
.kindred-stage .kraken-roast-name{color:#e7a58e}
.kindred-stage .kraken-section-heading span{color:#d98d72}
.kindred-stage .kraken-roast-meter,
.kindred-stage .kraken-notes,
.kindred-stage .kraken-brew{background:rgba(25,4,3,.15);border-color:rgba(199,67,45,.22)}
.kindred-stage .kraken-note-grid>div{background:rgba(20,3,2,.20);border-color:rgba(189,58,39,.24)}
.kindred-stage .kraken-note-icon{color:#e2a45d;text-shadow:none}
.kindred-stage .kraken-brew-grid span{color:#e5a259}
.kindred-stage .kraken-roast-marker{box-shadow:0 0 0 4px rgba(173,42,30,.16),0 0 18px rgba(225,92,44,.38)}
.kindred-stage .kraken-options-card{background:linear-gradient(180deg,rgba(25,4,3,.38),rgba(7,1,1,.63));border-color:rgba(190,59,40,.36)}
.kindred-stage .kraken-choice-row button.active{border-color:#d27c59;box-shadow:0 0 15px rgba(183,47,30,.16)}
.kindred-stage .kraken-bag-stage img{
  filter:drop-shadow(18px 28px 20px rgba(0,0,0,.76)) drop-shadow(-7px 7px 12px rgba(152,25,22,.14)) drop-shadow(8px 5px 10px rgba(221,158,46,.13));
}
.kindred-story-section{background:linear-gradient(180deg,#090403 0%,#100403 60%,#070202 100%)}
.kindred-story-section::before{content:none!important;background:none!important;opacity:0!important}
.kindred-story-section .kraken-story-card{background:rgba(14,3,2,.70);border-color:rgba(193,60,40,.32)}
.kindred-story-section .kraken-story-card h2{color:#e0a16f}
.kindred-story-section .kraken-story-card blockquote{color:#d76d5c}
@media (min-width:861px){
  .kindred-stage{min-height:0;height:auto;aspect-ratio:16 / 9;align-items:center}
  .kindred-stage .kraken-stage-art{background-size:contain;background-position:center center}
}
@media(max-width:860px){
  .kindred-stage .kraken-stage-art{background-size:auto 100%;background-position:22% top;opacity:.48}
  .kindred-stage .kraken-product-panel{background:linear-gradient(145deg,rgba(28,6,4,.70),rgba(7,2,1,.83))}
}


/* ==========================================================
   v1.28 — Clean side-art layout for Blueberry + Kindred
   No stretched label backgrounds. No cropped title images.
   Exact label artwork is shown as a contained left-side feature.
   ========================================================== */
.blueberry-stage,
.kindred-stage{
  min-height:calc(100vh - 78px) !important;
  height:auto !important;
  aspect-ratio:auto !important;
  padding:34px 0 42px;
  overflow:hidden;
}
.blueberry-stage .kraken-stage-art{
  background:
    radial-gradient(circle at 13% 28%,rgba(89,48,190,.34),transparent 30%),
    radial-gradient(circle at 29% 76%,rgba(198,40,214,.18),transparent 34%),
    radial-gradient(circle at 78% 30%,rgba(80,42,150,.12),transparent 34%),
    linear-gradient(110deg,#050109 0%,#0d0520 39%,#090215 66%,#030106 100%) !important;
  background-color:#050109 !important;
  opacity:1 !important;
}
.kindred-stage .kraken-stage-art{
  background:
    radial-gradient(circle at 14% 30%,rgba(154,50,35,.27),transparent 29%),
    radial-gradient(circle at 28% 76%,rgba(129,28,23,.20),transparent 34%),
    radial-gradient(circle at 78% 34%,rgba(75,67,28,.12),transparent 34%),
    linear-gradient(110deg,#090302 0%,#190705 39%,#100403 67%,#050202 100%) !important;
  background-color:#090302 !important;
  opacity:1 !important;
}
.blueberry-stage .kraken-stage-vignette{
  background:linear-gradient(90deg,rgba(0,0,0,.03),rgba(0,0,0,.02) 34%,rgba(0,0,0,.10) 68%,rgba(0,0,0,.24)) !important;
}
.kindred-stage .kraken-stage-vignette{
  background:linear-gradient(90deg,rgba(0,0,0,.03),rgba(0,0,0,.02) 34%,rgba(0,0,0,.11) 68%,rgba(0,0,0,.25)) !important;
}
.blueberry-stage .kraken-stage-wrap,
.kindred-stage .kraken-stage-wrap{
  width:min(1720px,calc(100% - 54px));
  margin:0 auto;
  padding:0;
  display:grid;
  grid-template-columns:minmax(330px,430px) minmax(760px,1fr);
  gap:clamp(30px,3.2vw,66px);
  align-items:center;
}
.blueberry-stage .kraken-product-panel,
.kindred-stage .kraken-product-panel{
  width:100%;
  max-width:1050px;
  margin:0 0 0 auto;
  background:linear-gradient(145deg,rgba(8,2,15,.64),rgba(3,1,7,.78));
  backdrop-filter:blur(8px) saturate(1.04);
  -webkit-backdrop-filter:blur(8px) saturate(1.04);
}
.kindred-stage .kraken-product-panel{
  background:linear-gradient(145deg,rgba(25,6,4,.66),rgba(8,2,1,.80));
}
.ftm-side-showcase{
  margin:0;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:16px;
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.006));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 28px 70px rgba(0,0,0,.48),inset 0 0 0 1px rgba(255,255,255,.018);
}
.ftm-side-showcase::before{
  content:'';
  position:absolute;
  inset:8% 6%;
  border-radius:32%;
  filter:blur(46px);
  opacity:.44;
  z-index:-1;
}
.blueberry-side-showcase::before{background:radial-gradient(circle,rgba(118,65,255,.62),rgba(227,54,213,.22) 42%,transparent 72%)}
.kindred-side-showcase::before{background:radial-gradient(circle,rgba(198,70,35,.45),rgba(218,158,55,.18) 42%,transparent 72%)}
.ftm-side-showcase img{
  display:block;
  width:100%;
  max-width:390px;
  max-height:760px;
  height:auto;
  object-fit:contain;
  border-radius:17px;
  box-shadow:0 24px 54px rgba(0,0,0,.56);
}
.blueberry-side-showcase img{border:1px solid rgba(181,99,244,.31)}
.kindred-side-showcase img{border:1px solid rgba(209,142,51,.30)}
.ftm-text-title{
  margin:0 0 18px;
  max-width:100%;
  overflow:visible;
}
.blueberry-text-title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:.82;
  padding:12px 12px 16px 8px;
}
.blueberry-title-kicker{
  display:block;
  margin:0 0 10px 16px;
  font-family:"Segoe Script","Brush Script MT","Lucida Handwriting",cursive;
  font-size:clamp(1.35rem,1.65vw,2rem);
  line-height:1.1;
  color:#d69b78;
  text-shadow:0 2px 9px rgba(0,0,0,.75);
}
.blueberry-title-blue,
.blueberry-title-pink{
  display:block;
  width:max-content;
  max-width:100%;
  padding:.04em .13em .14em;
  font-family:"Segoe Script","Brush Script MT","Lucida Handwriting",cursive;
  font-weight:700;
  font-size:clamp(3.45rem,4.9vw,6rem);
  letter-spacing:-.065em;
  white-space:nowrap;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-stroke:.7px rgba(255,255,255,.42);
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.68));
}
.blueberry-title-blue{
  background-image:linear-gradient(180deg,#e5f3ff 0%,#82c6ff 26%,#5174ff 58%,#b269ff 100%);
}
.blueberry-title-pink{
  margin-top:-.08em;
  margin-left:.55em;
  background-image:linear-gradient(180deg,#fff0ff 0%,#ff97e9 25%,#ff48cf 60%,#ae5dff 100%);
}
.kindred-text-title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:6px 8px 10px;
  font-family:"Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  font-weight:600;
  font-size:clamp(4rem,5.15vw,6.2rem);
  line-height:.73;
  letter-spacing:.025em;
  text-transform:uppercase;
  background:linear-gradient(180deg,#fff8db 0%,#e9c57e 38%,#fff0b2 68%,#aa6c2f 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-stroke:.55px rgba(255,251,224,.34);
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.66));
}
.kindred-text-title span:last-child{margin-left:1.05em}
.blueberry-stage .kraken-copy-column,
.kindred-stage .kraken-copy-column{min-width:0;overflow:visible}
.blueberry-stage .kraken-bag-stage,
.kindred-stage .kraken-bag-stage{height:420px}

@media(max-width:1280px){
  .blueberry-stage .kraken-stage-wrap,
  .kindred-stage .kraken-stage-wrap{grid-template-columns:minmax(280px,350px) minmax(690px,1fr);gap:28px}
  .ftm-side-showcase img{max-width:330px;max-height:680px}
  .blueberry-title-blue,.blueberry-title-pink{font-size:clamp(3rem,4.5vw,5rem)}
  .kindred-text-title{font-size:clamp(3.5rem,4.7vw,5.3rem)}
}
@media(max-width:1020px){
  .blueberry-stage .kraken-stage-wrap,
  .kindred-stage .kraken-stage-wrap{grid-template-columns:1fr;width:min(940px,calc(100% - 28px));gap:26px}
  .ftm-side-showcase{max-width:520px;margin:0 auto;padding:12px}
  .ftm-side-showcase img{max-width:390px;max-height:600px}
  .blueberry-stage .kraken-product-panel,
  .kindred-stage .kraken-product-panel{margin:0;width:100%;max-width:none}
}
@media(max-width:620px){
  .blueberry-stage,.kindred-stage{padding:22px 0 30px}
  .ftm-side-showcase{border-radius:20px}
  .ftm-side-showcase img{max-height:520px;border-radius:12px}
  .blueberry-text-title{align-items:center;padding:8px 2px 14px;text-align:center}
  .blueberry-title-kicker{margin-left:0}
  .blueberry-title-blue,.blueberry-title-pink{font-size:clamp(2.55rem,13vw,4rem);white-space:normal;text-align:center;width:auto}
  .blueberry-title-pink{margin-left:0}
  .kindred-text-title{align-items:center;font-size:clamp(3rem,14vw,4.4rem);line-height:.78}
  .kindred-text-title span:last-child{margin-left:0}
}


/* ==========================================================================\n   F.T.M. Website v1.42 — unified coffee product system\n   ========================================================================== */
.uniform-product-page{--uniform-accent:#bd842b;--uniform-accent-soft:#f3d58a;background:#030201;color:#f7efe0}
.uniform-product-page main{overflow:hidden;background:#030201}
.uniform-stage{position:relative;min-height:820px;background:#040302;isolation:isolate;border-bottom:1px solid color-mix(in srgb,var(--uniform-accent) 38%,transparent)}
.uniform-stage::before{content:"";position:absolute;inset:0;background-image:var(--uniform-bg);background-size:cover;background-position:left center;background-repeat:no-repeat;filter:saturate(1.06) contrast(1.04) brightness(.76);z-index:-3;transform:scale(1.01)}
.uniform-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.10) 35%,rgba(0,0,0,.64) 57%,rgba(0,0,0,.96) 100%),linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.34));z-index:-2}
.uniform-stage-shell{position:relative;width:min(1720px,100%);min-height:820px;margin:0 auto;display:grid;grid-template-columns:minmax(400px,55%) minmax(650px,45%);align-items:center}
.uniform-art-space{min-height:760px}
.uniform-panel{margin:34px 30px 34px 0;padding:26px 28px 28px;border:1px solid color-mix(in srgb,var(--uniform-accent) 58%,#1b140c);border-radius:24px;background:linear-gradient(150deg,rgba(6,5,4,.95),rgba(1,1,1,.985));box-shadow:0 28px 80px rgba(0,0,0,.68),inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(7px)}
.uniform-panel-top{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:22px;align-items:center}
.uniform-heading-block{min-width:0}
.uniform-kicker,.uniform-subtitle,.uniform-roast-name,.uniform-section-heading,.uniform-option-group>span,.uniform-selected>div>span,.uniform-quantity>span{letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.uniform-kicker{font-size:.68rem;color:var(--uniform-accent-soft);margin:0 0 6px}
.uniform-title{font-family:"Cinzel","Trajan Pro","Times New Roman",serif;font-weight:600;font-size:clamp(3.1rem,4vw,5.3rem);line-height:.88;letter-spacing:.02em;margin:0;color:#f4e8c7;text-shadow:0 2px 0 #000,0 0 20px color-mix(in srgb,var(--uniform-accent) 55%,transparent)}
.uniform-title.title-sticky{font-family:"Cormorant Garamond","Palatino Linotype",Georgia,serif;font-style:italic;letter-spacing:-.02em}
.uniform-title.title-voyage{font-family:"Baskerville","Palatino Linotype",Georgia,serif;letter-spacing:-.04em}
.uniform-title.title-reserve{font-family:"Garamond","Times New Roman",serif;letter-spacing:.06em}
.uniform-title.title-celestial{font-family:"Cinzel","Trajan Pro",Georgia,serif;letter-spacing:.08em}
.uniform-title.title-forest,.uniform-title.title-mystic{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;letter-spacing:.01em}
.uniform-subtitle{margin:11px 0 0;color:var(--uniform-accent-soft);font-size:.78rem}
.uniform-roast-name{margin:10px 0 0;color:#dcb65f;font-size:.76rem}
.uniform-lead{margin:13px 0 0;color:#e8dfd0;line-height:1.55;font-size:.92rem;max-width:58ch}
.uniform-bag-stage{height:260px;display:flex;align-items:center;justify-content:center;position:relative}
.uniform-bag-stage::before{content:"";position:absolute;width:78%;height:24%;bottom:2px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.82),transparent 72%);filter:blur(7px)}
.uniform-bag-stage img{position:relative;z-index:1;display:block;max-height:258px;max-width:220px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.78))}
.uniform-section-heading{display:flex;align-items:center;gap:10px;justify-content:center;color:var(--uniform-accent-soft);font-size:.68rem;margin-bottom:12px}
.uniform-section-heading::before,.uniform-section-heading::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--uniform-accent),transparent)}
.uniform-roast-meter,.uniform-notes,.uniform-brew{margin-top:16px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--uniform-accent) 28%,#332714);border-radius:14px;background:rgba(0,0,0,.32)}
.uniform-roast-labels{display:grid;grid-template-columns:repeat(6,1fr);font-size:.54rem;color:#bfb5a5;text-align:center;gap:4px}
.uniform-roast-track{position:relative;height:8px;margin:11px 8px 2px;border-radius:99px;background:linear-gradient(90deg,#e5c278 0 15%,#bd8451 15% 33%,#8c5d3a 33% 50%,#6a3e2a 50% 68%,#3c241b 68% 84%,#16100e 84%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.uniform-roast-progress{position:absolute;inset:0 auto 0 0;width:var(--roast-position);border-radius:99px;background:linear-gradient(90deg,rgba(255,230,164,.35),color-mix(in srgb,var(--uniform-accent) 80%,transparent))}
.uniform-roast-marker{position:absolute;left:var(--roast-position);top:50%;width:22px;height:22px;border:3px solid #ffe6a4;border-radius:50%;background:var(--uniform-accent);transform:translate(-50%,-50%);box-shadow:0 0 16px color-mix(in srgb,var(--uniform-accent) 88%,transparent)}
.uniform-note-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.uniform-note{min-height:64px;padding:9px 7px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}
.uniform-note span{width:8px;height:8px;transform:rotate(45deg);background:var(--uniform-accent);box-shadow:0 0 10px color-mix(in srgb,var(--uniform-accent) 70%,transparent)}
.uniform-note strong{font-family:Georgia,serif;color:#f7ead0;font-size:.72rem;line-height:1.18}
.uniform-brew-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.uniform-brew-method{min-height:82px;padding:8px 5px;border-radius:10px;background:rgba(255,255,255,.018);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#ddd1bd;font-size:.65rem;text-align:center}
.uniform-brew-method img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--uniform-accent) 32%,transparent))}
.uniform-purchase-card{margin-top:16px;padding:15px;border:1px solid color-mix(in srgb,var(--uniform-accent) 52%,#24180c);border-radius:16px;background:linear-gradient(180deg,rgba(18,11,6,.74),rgba(2,2,2,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.uniform-options-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.uniform-option-group>span{display:block;font-size:.66rem;color:#ead7ae;margin:0 0 7px}
.uniform-choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.uniform-option-group:nth-child(2) .uniform-choice-row{grid-template-columns:repeat(2,1fr)}
.uniform-choice-row button{appearance:none;border:1px solid #564832;border-radius:8px;background:#080808;color:#f0e8da;padding:10px 6px;font-weight:800;font-size:.72rem;cursor:pointer;transition:.18s ease}
.uniform-choice-row button:hover,.uniform-choice-row button.active{border-color:var(--uniform-accent-soft);background:linear-gradient(180deg,color-mix(in srgb,var(--uniform-accent) 86%,#2a1208),color-mix(in srgb,var(--uniform-accent) 64%,#160904));color:#fff7dd;box-shadow:0 0 14px color-mix(in srgb,var(--uniform-accent) 35%,transparent)}
.uniform-option-group select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.uniform-selected{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--uniform-accent) 65%,#33220f);border-radius:10px;background:#050403}
.uniform-selected>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.uniform-selected>div>span{font-size:.58rem;color:var(--uniform-accent-soft)}
.uniform-selected strong{font-size:.82rem;color:#f6eddd}
.uniform-selected small{font-size:.58rem;color:#9d9487}
.uniform-selected em{font-family:Georgia,serif;font-style:normal;font-size:2rem;color:#f5c760;font-weight:700;white-space:nowrap}
.uniform-cart-row{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:end;margin-top:12px}
.uniform-quantity>span{display:block;font-size:.62rem;color:#ead7ae;margin-bottom:6px}
.uniform-quantity>div{height:48px;display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid #5a4c38;border-radius:9px;background:#050505;overflow:hidden}
.uniform-quantity button{border:0;background:transparent;color:#fff3d5;font-size:1.35rem;cursor:pointer}.uniform-quantity strong{display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem}
.uniform-add-cart{height:48px;border:1px solid var(--uniform-accent-soft);border-radius:9px;background:linear-gradient(180deg,color-mix(in srgb,var(--uniform-accent) 94%,#3d1d09),color-mix(in srgb,var(--uniform-accent) 70%,#1d0b04));color:#fff6e0;font-family:Georgia,serif;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:.92rem;cursor:pointer;box-shadow:0 0 18px color-mix(in srgb,var(--uniform-accent) 25%,transparent)}
.uniform-cart-row .cart-action{display:grid;grid-template-columns:1fr 52px;gap:8px;align-items:end}.uniform-cart-row .cart-cup{margin:0}
.uniform-story-section{padding:74px 0 84px;background:radial-gradient(circle at 18% 10%,color-mix(in srgb,var(--uniform-accent) 7%,transparent),transparent 30rem),#040302;border-bottom:1px solid rgba(189,132,43,.25)}
.uniform-story-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);gap:28px;align-items:stretch}
.uniform-story-card,.uniform-origin-card{border:1px solid color-mix(in srgb,var(--uniform-accent) 40%,#2b2116);border-radius:20px;background:linear-gradient(145deg,rgba(14,11,8,.94),rgba(4,3,2,.98));padding:34px 36px;box-shadow:0 24px 50px rgba(0,0,0,.38)}
.uniform-story-card h2,.uniform-origin-card h2{font-family:Georgia,serif;color:var(--uniform-accent-soft);font-size:clamp(2rem,3vw,3.5rem);margin:.2rem 0 1rem;line-height:1.02}
.uniform-origin-card h2{font-size:2rem}.uniform-story-card p,.uniform-origin-card p{color:#d8cebf;line-height:1.72}.uniform-story-card blockquote{margin:24px 0 0;padding:18px 0 0;border-top:1px solid color-mix(in srgb,var(--uniform-accent) 38%,transparent);font-family:Georgia,serif;font-style:italic;text-align:center;color:var(--uniform-accent-soft);font-size:1.25rem}
.uniform-origin-placeholder{margin:22px 0;padding:18px;border:1px dashed color-mix(in srgb,var(--uniform-accent) 52%,#403020);border-radius:13px;background:rgba(255,255,255,.018);display:flex;flex-direction:column;gap:7px}.uniform-origin-placeholder strong{color:#f3e5c7}.uniform-origin-placeholder span{color:#aaa092;font-size:.85rem;line-height:1.5}
.uniform-origin-card .btn{margin-top:auto}
@media(max-width:1200px){.uniform-stage-shell{grid-template-columns:minmax(260px,42%) minmax(600px,58%)}.uniform-stage::after{background:linear-gradient(90deg,rgba(0,0,0,.14),rgba(0,0,0,.52) 40%,rgba(0,0,0,.96) 100%)}.uniform-panel{margin-right:18px}}
@media(max-width:960px){.uniform-stage{min-height:auto}.uniform-stage-shell{grid-template-columns:1fr;min-height:auto;padding:390px 16px 30px}.uniform-stage::before{background-position:center top;background-size:auto 470px}.uniform-stage::after{background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.65) 380px,rgba(0,0,0,.98) 540px)}.uniform-art-space{display:none}.uniform-panel{margin:0 auto;width:min(760px,100%)}.uniform-story-layout{grid-template-columns:1fr}}
@media(max-width:680px){.uniform-stage-shell{padding:310px 10px 20px}.uniform-stage::before{background-size:auto 370px}.uniform-panel{padding:20px 15px}.uniform-panel-top{grid-template-columns:1fr}.uniform-bag-stage{height:240px;grid-row:1}.uniform-title{text-align:center;font-size:clamp(2.6rem,13vw,4rem)}.uniform-kicker,.uniform-subtitle,.uniform-roast-name,.uniform-lead{text-align:center}.uniform-note-grid{grid-template-columns:1fr 1fr}.uniform-roast-labels{grid-template-columns:repeat(3,1fr);row-gap:5px}.uniform-options-row{grid-template-columns:1fr}.uniform-cart-row{grid-template-columns:1fr}.uniform-story-card,.uniform-origin-card{padding:26px 20px}.uniform-selected{align-items:flex-start}.uniform-selected em{font-size:1.55rem}}

/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.43 — APPROVED ART RESTORE
   Keeps the v1.42 control system while restoring the locked
   coffee artwork, transparent selector bags, and black shop cards.
   ============================================================ */
.uniform-stage::before{
  background-size:var(--uniform-bg-size,cover)!important;
  background-position:var(--uniform-bg-position,left center)!important;
  filter:saturate(1.04) contrast(1.03) brightness(.88)!important;
  transform:none!important;
}
.uniform-stage::after{
  background:linear-gradient(90deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.68) 61%,rgba(0,0,0,.98) 100%),linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20))!important;
}
.uniform-stage-shell{grid-template-columns:minmax(440px,58%) minmax(620px,42%)!important;}
.uniform-panel{max-width:720px;width:calc(100% - 24px);justify-self:end;margin-right:24px!important;}
.uniform-bag-stage{background:transparent!important;overflow:visible!important;}
.uniform-bag-stage::before{display:none!important;}
.uniform-bag-stage img{background:transparent!important;border:0!important;border-radius:0!important;mix-blend-mode:normal!important;filter:drop-shadow(0 20px 28px rgba(0,0,0,.82))!important;}

/* The collection page intentionally uses clean black image wells. */
.product-art.has-product-image{
  background:#000!important;
  border:1px solid rgba(196,145,46,.38)!important;
  padding:.7rem!important;
  overflow:visible!important;
}
.product-art.has-product-image::before{
  inset:.42rem!important;
  border:1px solid rgba(242,202,112,.20)!important;
  background:transparent!important;
}
.product-art.has-product-image::after{display:none!important;}
.product-image-link{
  background:#000!important;
  overflow:visible!important;
}
.product-art.has-product-image img{
  height:96%!important;
  max-height:96%!important;
  transition:transform .32s cubic-bezier(.2,.8,.2,1),filter .32s ease!important;
  transform:translateY(0) scale(1)!important;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.72))!important;
}
.product-card:hover .product-art.has-product-image img,
.product-card:focus-within .product-art.has-product-image img{
  transform:translateY(-18px) scale(1.025)!important;
  filter:drop-shadow(0 28px 34px rgba(0,0,0,.88)) saturate(1.06)!important;
}
.product-card:hover .product-art.has-product-image{
  border-color:rgba(244,216,146,.72)!important;
  box-shadow:0 18px 34px rgba(0,0,0,.55),0 0 22px rgba(196,145,46,.12)!important;
}

.coming-soon-stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;}
.coming-soon-feature{display:flex!important;flex-direction:column!important;gap:6px!important;min-height:118px;padding:18px!important;border:1px solid rgba(196,145,46,.34)!important;border-radius:14px!important;background:linear-gradient(145deg,rgba(14,10,6,.96),rgba(2,2,2,.98))!important;}
.coming-soon-feature strong{font-family:Georgia,serif;color:#f1d28c;font-size:1.18rem;}
.coming-soon-feature span{color:#f4ede2;font-weight:700;}
.coming-soon-feature small{color:#bdb2a2;line-height:1.45;}

/* Anime keeps its exact six image selectors, but the live panel now matches
   the premium control language used across the standard coffee pages. */
.anime-control-panel{
  background:linear-gradient(150deg,rgba(6,5,8,.97),rgba(1,1,2,.99))!important;
  border:1px solid color-mix(in srgb,var(--anime-accent) 58%,#8b6b2c)!important;
  border-radius:20px!important;
  box-shadow:0 28px 70px rgba(0,0,0,.78),inset 0 1px 0 rgba(255,255,255,.04)!important;
  backdrop-filter:blur(7px);
}
.anime-panel-title{color:#f4ead8!important;font-family:Georgia,serif!important;letter-spacing:.06em!important;}
.edition-button{background:#000!important;border-color:rgba(255,255,255,.14)!important;border-radius:9px!important;}
.selected-box{background:#050403!important;border-radius:10px!important;}
.qty-control{background:#050403!important;border-radius:9px!important;}
.anime-add-button{border-radius:9px!important;box-shadow:0 0 18px color-mix(in srgb,var(--anime-accent) 25%,transparent)!important;}
.anime-story-section{border-top:1px solid rgba(214,77,182,.32);}
.anime-story-brew{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px;}

@media(max-width:1200px){
  .uniform-stage-shell{grid-template-columns:minmax(300px,46%) minmax(600px,54%)!important;}
  .uniform-panel{width:calc(100% - 18px);margin-right:18px!important;}
}
@media(max-width:960px){
  .uniform-stage-shell{grid-template-columns:1fr!important;}
  .uniform-panel{width:min(760px,100%);margin:0 auto!important;}
}
@media(max-width:720px){
  .coming-soon-stack{grid-template-columns:1fr!important;}
  .product-card:hover .product-art.has-product-image img,
  .product-card:focus-within .product-art.has-product-image img{transform:translateY(-10px) scale(1.015)!important;}
}
/* Pull the Anime story upward after removing the baked-in feature strip. */
.anime-story-section{margin-top:-170px;position:relative;z-index:4;}
@media(max-width:980px){.anime-story-section{margin-top:-120px;}}


/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.44 — GOLD ORIGIN MAPS + NEW COFFEES
   Transparent signature-gold maps; no white map backgrounds.
   ============================================================ */
.uniform-origin-map{
  margin:18px 0 20px;padding:16px 14px;border:1px solid color-mix(in srgb,var(--uniform-accent) 34%,#2b2116);border-radius:16px;background:radial-gradient(circle at center,color-mix(in srgb,var(--uniform-accent) 7%,transparent),transparent 68%);display:grid;grid-template-columns:minmax(96px,42%) 1fr;gap:16px;align-items:center;
}
.uniform-origin-map img{width:100%;height:142px;object-fit:contain;background:transparent!important;filter:drop-shadow(0 0 12px rgba(189,132,43,.18));}
.uniform-origin-map figcaption{display:flex;flex-direction:column;gap:5px;min-width:0;}
.uniform-origin-map strong{font-family:Georgia,serif;color:var(--gold-soft);font-size:1.08rem;line-height:1.1;}
.uniform-origin-map span{color:#bfb2a0;font-size:.82rem;line-height:1.45;}

.coming-soon-feature{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;}
.coming-soon-feature:hover,.coming-soon-feature:focus-visible{transform:translateY(-6px);border-color:rgba(244,216,146,.74)!important;box-shadow:0 18px 34px rgba(0,0,0,.46),0 0 22px rgba(189,132,43,.13);outline:none;}
.coming-soon-feature b{margin-top:auto;color:var(--gold-soft);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;}

.coming-soon-stage::before{filter:saturate(1.03) contrast(1.02) brightness(.96)!important;}
.coming-soon-stage::after{background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.22) 48%,rgba(0,0,0,.88) 67%,rgba(0,0,0,.98))!important;}
.coming-soon-art-space{position:relative;min-height:760px;overflow:hidden;}
.coming-orbit{position:absolute;left:16%;top:23%;width:330px;height:330px;border:1px solid color-mix(in srgb,var(--uniform-accent) 62%,transparent);border-radius:50%;box-shadow:0 0 70px color-mix(in srgb,var(--uniform-accent) 22%,transparent),inset 0 0 55px color-mix(in srgb,var(--uniform-accent) 12%,transparent);}
.coming-orbit::before,.coming-orbit::after{content:"";position:absolute;border-radius:50%;border:1px solid color-mix(in srgb,var(--uniform-accent-soft) 38%,transparent);}
.coming-orbit::before{inset:48px}.coming-orbit::after{inset:108px;background:radial-gradient(circle,color-mix(in srgb,var(--uniform-accent) 26%,transparent),transparent 70%);}
.coming-spark{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--uniform-accent-soft);box-shadow:0 0 18px var(--uniform-accent-soft);}
.coming-spark-one{left:20%;top:18%}.coming-spark-two{left:43%;top:64%}
.coming-soon-panel{max-width:720px;}
.coming-bag-reserve{height:258px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:#a99d8a;text-align:center;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;}
.coming-bag-outline{width:122px;height:170px;border:1px solid color-mix(in srgb,var(--uniform-accent-soft) 62%,transparent);border-radius:10px 10px 16px 16px;position:relative;background:linear-gradient(160deg,rgba(255,255,255,.025),rgba(0,0,0,.22));box-shadow:0 0 28px color-mix(in srgb,var(--uniform-accent) 12%,transparent);}
.coming-bag-outline::before{content:"";position:absolute;left:-1px;right:-1px;top:24px;height:8px;border-top:1px solid color-mix(in srgb,var(--uniform-accent-soft) 50%,transparent);border-bottom:1px solid color-mix(in srgb,var(--uniform-accent-soft) 34%,transparent);}
.coming-bag-outline::after{content:"?";position:absolute;inset:0;display:grid;place-items:center;font-family:Georgia,serif;color:var(--uniform-accent-soft);font-size:3.1rem;text-shadow:0 0 18px color-mix(in srgb,var(--uniform-accent) 48%,transparent);}
.coming-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;}
.coming-detail-chip{min-height:54px;display:flex;align-items:center;justify-content:center;padding:10px;border:1px solid color-mix(in srgb,var(--uniform-accent) 30%,#2b2116);border-radius:11px;background:rgba(255,255,255,.018);color:#e6dccb;text-align:center;font-size:.76rem;font-weight:700;}
.coming-launch-card{margin-top:16px;padding:20px;border:1px solid color-mix(in srgb,var(--uniform-accent) 48%,#2b2116);border-radius:15px;background:linear-gradient(180deg,rgba(18,11,6,.62),rgba(2,2,2,.94));}
.coming-launch-card h2{font-family:Georgia,serif;margin:.25rem 0 .7rem;color:var(--uniform-accent-soft);font-size:1.6rem;}
.coming-launch-card p{font-size:.88rem;line-height:1.58;}.coming-launch-card .btn{margin-top:6px;}
@media(max-width:680px){.uniform-origin-map{grid-template-columns:1fr;text-align:center}.uniform-origin-map img{height:130px}.coming-detail-grid{grid-template-columns:1fr}.coming-orbit{width:230px;height:230px;left:calc(50% - 115px)}}


/* ==========================================================================\n   F.T.M. Website v1.45 — Anime unified panel, premium button gleam, Kindred HD\n   ========================================================================== */
.anime-v145-page{--anime-accent:#d64db6;background:#030202;color:#f8f0e2;}
.anime-v145-main{background:#030202;overflow:hidden;}
.anime-v145-stage{--anime-v145-bg:url('../images/products/anime-editions/ae01-clean-v143.webp');--anime-accent:#d64db6;position:relative;min-height:850px;isolation:isolate;border-bottom:1px solid color-mix(in srgb,var(--anime-accent) 40%,transparent);background:#020102;}
.anime-v145-stage::before{content:"";position:absolute;inset:0;background-image:var(--anime-v145-bg);background-size:cover;background-position:left 43%;background-repeat:no-repeat;filter:saturate(1.02) contrast(1.02) brightness(.92);z-index:-3;transition:background-image .18s ease;}
.anime-v145-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.05) 37%,rgba(0,0,0,.57) 54%,rgba(0,0,0,.96) 68%,#020102 100%),linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28));z-index:-2;}
.anime-v145-shell{width:min(1760px,100%);min-height:850px;margin:0 auto;display:grid;grid-template-columns:minmax(420px,55%) minmax(650px,45%);align-items:center;}
.anime-v145-art-space{min-height:810px;}
.anime-v145-panel{margin:30px 28px 30px 0;padding:25px 27px 27px;border:1px solid color-mix(in srgb,var(--anime-accent) 60%,#2f2218);border-radius:24px;background:linear-gradient(150deg,rgba(7,5,8,.965),rgba(1,1,2,.992));box-shadow:0 28px 82px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.045);backdrop-filter:blur(7px);}
.anime-v145-panel-top{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:20px;align-items:center;}
.anime-v145-kicker,.anime-v145-subtitle,.anime-v145-roast,.anime-v145-section-heading,.anime-v145-selected span,.anime-v145-quantity>span{letter-spacing:.15em;text-transform:uppercase;font-weight:800;}
.anime-v145-kicker{margin:0 0 6px;color:color-mix(in srgb,var(--anime-accent) 45%,#f5d590);font-size:.68rem;}
.anime-v145-title{margin:0;color:#f8ecdd;font:600 clamp(2.7rem,3.55vw,4.8rem)/.94 Georgia,"Times New Roman",serif;letter-spacing:-.025em;text-shadow:0 2px 0 #000,0 0 20px color-mix(in srgb,var(--anime-accent) 46%,transparent);}
.anime-v145-title.is-long{font-size:clamp(2rem,2.7vw,3.65rem);line-height:.98;}
.anime-v145-subtitle{margin:10px 0 0;color:color-mix(in srgb,var(--anime-accent) 52%,#f4d695);font-size:.72rem;}
.anime-v145-roast{margin:9px 0 0;color:#dfb95e;font-size:.72rem;}
.anime-v145-lead{margin:12px 0 0;color:#e7ded2;line-height:1.5;font-size:.86rem;max-width:58ch;}
.anime-v145-bag-stage{height:245px;display:flex;align-items:center;justify-content:center;position:relative;min-width:0;}
.anime-v145-bag-stage::before{content:"";position:absolute;width:82%;height:22%;bottom:2px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.86),transparent 72%);filter:blur(8px);}
.anime-v145-bag-stage img{position:relative;z-index:1;display:block;max-height:242px;max-width:205px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.78));transition:opacity .15s ease,transform .18s ease;}
.anime-v145-section-heading{display:flex;align-items:center;gap:10px;justify-content:center;color:color-mix(in srgb,var(--anime-accent) 48%,#f2d28d);font-size:.67rem;margin-bottom:10px;}
.anime-v145-section-heading::before,.anime-v145-section-heading::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--anime-accent),transparent);}
.anime-v145-notes,.anime-v145-editions{margin-top:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--anime-accent) 28%,#382c1e);border-radius:14px;background:rgba(0,0,0,.34);}
.anime-v145-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.anime-v145-note-grid>div{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px;border:1px solid color-mix(in srgb,var(--anime-accent) 34%,#3c3023);border-radius:9px;background:rgba(255,255,255,.018);color:#f3eadc;font-size:.72rem;font-weight:800;text-align:center;}
.anime-v145-edition-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;}
.anime-v145-edition-button{appearance:none;min-width:0;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#000;color:#f6efe4;overflow:hidden;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.55);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.anime-v145-edition-button img{display:block;width:100%;height:94px;object-fit:cover;object-position:center 28%;}
.anime-v145-edition-button span{display:flex;flex-direction:column;gap:2px;padding:6px 3px 7px;line-height:1.05;}
.anime-v145-edition-button b{font-size:.68rem;color:#fff;}
.anime-v145-edition-button small{font-size:.53rem;color:#cbbfb1;white-space:normal;}
.anime-v145-edition-button:hover,.anime-v145-edition-button:focus-visible{transform:translateY(-3px);border-color:#fff;outline:none;}
.anime-v145-edition-button.is-active{border:2px solid var(--anime-accent);box-shadow:0 0 18px color-mix(in srgb,var(--anime-accent) 60%,transparent);}
.anime-v145-selected{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--anime-accent) 62%,#3c2f22);border-radius:11px;background:#050403;}
.anime-v145-selected>div{min-width:0;display:flex;flex-direction:column;gap:4px;}
.anime-v145-selected span{color:var(--anime-accent);font-size:.62rem;}
.anime-v145-selected strong{color:#fff;font-size:.82rem;line-height:1.28;}
.anime-v145-selected small{color:#a99e90;font-size:.62rem;}
.anime-v145-selected em{font-style:normal;color:color-mix(in srgb,var(--anime-accent) 68%,#ffd373);font:800 clamp(1.75rem,2.1vw,2.65rem)/1 Georgia,serif;white-space:nowrap;}
.anime-v145-cart-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;align-items:end;margin-top:13px;}
.anime-v145-quantity{display:flex;flex-direction:column;gap:7px;}
.anime-v145-quantity>span{font-size:.62rem;color:#f0e6d8;}
.anime-v145-quantity>div{display:grid;grid-template-columns:1fr 1fr 1fr;height:49px;border:1px solid #5a4a37;border-radius:9px;background:#050403;overflow:hidden;}
.anime-v145-quantity button,.anime-v145-quantity strong{display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#fff;font-size:1.15rem;}
.anime-v145-quantity button{cursor:pointer;}
.anime-v145-quantity button:hover,.anime-v145-quantity button:focus-visible{background:rgba(255,255,255,.09);outline:none;}
.anime-v145-cart-action{display:grid;grid-template-columns:minmax(0,1fr) 68px;gap:9px;align-items:center;}
.anime-v145-add{height:49px;border:1px solid color-mix(in srgb,var(--anime-accent) 76%,#fff);border-radius:9px;background:linear-gradient(135deg,color-mix(in srgb,var(--anime-accent) 82%,#171717),var(--anime-accent));color:#fff;font:800 .92rem/1 Georgia,serif;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb,var(--anime-accent) 28%,transparent);}
.anime-v145-cart-action .cart-cup{position:relative;right:auto;top:auto;transform:scale(.9);justify-self:center;display:inline-block!important;visibility:visible!important;opacity:1!important;}
.anime-v145-page .coffee-bean{z-index:2147483000!important;display:block!important;visibility:visible!important;}
.anime-v145-page .anime-story-section{margin-top:0!important;position:relative;z-index:1;}
.anime-v145-page .anime-story-brew{grid-template-columns:repeat(2,minmax(0,1fr));}

/* Premium gleam restored to live product controls, including Add to Cart. */
.uniform-choice-row button,.uniform-add-cart.add-cart-btn,.anime-v145-edition-button,.anime-v145-add.add-cart-btn{position:relative;isolation:isolate;overflow:hidden;}
.uniform-choice-row button::after,.uniform-add-cart.add-cart-btn::after,.anime-v145-edition-button::after,.anime-v145-add.add-cart-btn::after{content:""!important;display:block!important;position:absolute;top:-65%;left:-88%;width:36%;height:230%;transform:rotate(21deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),rgba(255,226,156,.34),rgba(255,255,255,.15),transparent);opacity:0!important;pointer-events:none;z-index:3;}
.uniform-choice-row button:hover::after,.uniform-choice-row button:focus-visible::after,.uniform-add-cart.add-cart-btn:hover::after,.uniform-add-cart.add-cart-btn:focus-visible::after,.anime-v145-edition-button:hover::after,.anime-v145-edition-button:focus-visible::after,.anime-v145-add.add-cart-btn:hover::after,.anime-v145-add.add-cart-btn:focus-visible::after{animation:ftmV145ControlGleam 1.05s ease-out forwards!important;}
.uniform-choice-row button>*,.uniform-add-cart.add-cart-btn>*,.anime-v145-edition-button>*,.anime-v145-add.add-cart-btn>*{position:relative;z-index:4;}
@keyframes ftmV145ControlGleam{0%{left:-88%;opacity:0}24%{opacity:.68}100%{left:128%;opacity:0}}

@media(max-width:1200px){.anime-v145-shell{grid-template-columns:minmax(310px,45%) minmax(610px,55%)}.anime-v145-panel{margin-right:18px}.anime-v145-title{font-size:clamp(2.5rem,3.4vw,4rem)}}
@media(max-width:960px){.anime-v145-stage{min-height:auto;padding:34px 0}.anime-v145-stage::before{background-position:22% top;opacity:.58}.anime-v145-stage::after{background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.86) 52%,#020102 100%)}.anime-v145-shell{grid-template-columns:1fr;min-height:0;width:min(940px,calc(100% - 28px))}.anime-v145-art-space{min-height:430px}.anime-v145-panel{width:100%;margin:0}.anime-v145-story-section{margin-top:0!important}}
@media(max-width:700px){.anime-v145-panel{padding:18px 15px;border-radius:18px}.anime-v145-panel-top{grid-template-columns:1fr 150px;gap:10px}.anime-v145-bag-stage{height:200px}.anime-v145-bag-stage img{max-height:198px;max-width:150px}.anime-v145-edition-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.anime-v145-edition-button img{height:104px}.anime-v145-cart-row{grid-template-columns:1fr}.anime-v145-cart-action{grid-template-columns:minmax(0,1fr) 62px}.anime-v145-note-grid{grid-template-columns:1fr}.anime-v145-title{font-size:clamp(2rem,9vw,3.1rem)}}
@media(prefers-reduced-motion:reduce){.uniform-choice-row button:hover::after,.uniform-add-cart.add-cart-btn:hover::after,.anime-v145-edition-button:hover::after,.anime-v145-add.add-cart-btn:hover::after{animation:none!important}}

/* v1.45 stacking correction: keep the approved Anime art visible behind the right-side panel. */
.anime-v145-stage::before{z-index:0!important;}
.anime-v145-stage::after{z-index:1!important;}
.anime-v145-shell{position:relative;z-index:2;}

/* v1.45 background reliability correction: render approved Anime art on the stage itself. */
.anime-v145-stage{background-image:var(--anime-v145-bg)!important;background-size:cover!important;background-position:left 43%!important;background-repeat:no-repeat!important;}
.anime-v145-stage::before{display:none!important;}
.anime-v145-stage::after{z-index:0!important;}
.anime-v145-shell{z-index:1!important;}

/* v1.45 final Anime background fallback; JS swaps this exact image per edition. */
.anime-v145-stage{background-image:url('../images/products/anime-editions/ae01-clean-v143.webp')!important;}

/* v1.45 final Anime transition: fully masks the old baked-in copy/bag area while preserving the approved left artwork. */
.anime-v145-stage::after{background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.04) 36%,rgba(0,0,0,.74) 48%,rgba(0,0,0,.97) 59%,#020102 100%),linear-gradient(180deg,rgba(0,0,0,.01),rgba(0,0,0,.24))!important;}

/* v1.45 final clean split: retain only the approved character scene on the left; fully hide baked copy/bag before the live panel. */
.anime-v145-stage::after{background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.03) 37%,rgba(0,0,0,.88) 43%,#020102 50%,#020102 100%),linear-gradient(180deg,rgba(0,0,0,.01),rgba(0,0,0,.20))!important;}


/* v1.46 Anime cleanup: fully cover the final sliver of baked-in copy/selector art
   at the live panel boundary while preserving the approved character background. */
.anime-v145-stage::after{
  background:
    linear-gradient(90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.02) 33%,
      rgba(0,0,0,.46) 38%,
      rgba(2,1,2,.94) 42%,
      #020102 46%,
      #020102 100%),
    linear-gradient(180deg,rgba(0,0,0,.01),rgba(0,0,0,.20))!important;
}
.anime-v145-art-space{position:relative;z-index:1;}
.anime-v145-art-space::after{
  content:"";
  position:absolute;
  top:0;
  right:-118px;
  bottom:0;
  width:210px;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(2,1,2,0),rgba(2,1,2,.88) 58%,#020102 78%);
  z-index:2;
}
.anime-v145-panel{position:relative;z-index:3;}
@media(max-width:960px){
  .anime-v145-art-space::after{display:none;}
}


/* ==========================================================================\n   F.T.M. Website v1.47 — seven approved backgrounds installed\n   Exact user-approved artwork; no regenerated overlays, horizontal fades, or\n   decorative placeholders. Existing v1.46 controls and behavior are retained.\n   ========================================================================== */
.approved-bg-page .uniform-stage::before{
  background-size:cover!important;
  background-position:center center!important;
  filter:none!important;
  transform:none!important;
}
.approved-bg-page .uniform-stage::after{
  background:linear-gradient(180deg,rgba(0,0,0,.015),rgba(0,0,0,.10))!important;
}
.approved-bg-page .uniform-panel{
  background:linear-gradient(150deg,rgba(6,5,4,.965),rgba(1,1,1,.992));
  backdrop-filter:none;
}
.approved-bg-page .coming-soon-art-space{min-height:760px;}
.approved-bg-page .coming-soon-ready-bag img{
  max-height:258px;
  max-width:220px;
  object-fit:contain;
}
.southern-approved-bg-page .uniform-stage::after{background:transparent!important;}
.southern-approved-bg-page .uniform-panel{background:linear-gradient(150deg,rgba(8,5,3,.965),rgba(2,1,1,.992));}
.aurora-approved-bg-page .uniform-stage::after,
.helios-approved-bg-page .uniform-stage::after,
.eclipse-approved-bg-page .uniform-stage::after{background:linear-gradient(180deg,rgba(0,0,0,.01),rgba(0,0,0,.08))!important;}
@media(max-width:960px){
  .approved-bg-page .uniform-stage::before{background-position:center top!important;background-size:auto 470px!important;}
}
@media(max-width:680px){
  .approved-bg-page .uniform-stage::before{background-size:auto 370px!important;}
}


/* v1.49 live new-release cards */
.new-release-card{position:relative;overflow:hidden}
.new-release-ribbon{position:absolute;z-index:3;top:14px;left:-38px;width:145px;text-align:center;transform:rotate(-38deg);padding:5px 0;background:linear-gradient(90deg,#8a5a1e,#e4bd70,#8a5a1e);color:#17100a;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 14px rgba(0,0,0,.32)}
.live-release-feature b{color:#f1c979}


/* F.T.M. Website v1.50 — live release product details */
.uniform-product-details-list{list-style:none;margin:18px 0 24px;padding:0;display:grid;gap:10px}
.uniform-product-details-list li{padding:10px 12px;border-left:2px solid var(--uniform-accent);background:rgba(255,255,255,.035);color:#f2e8d2}
.new-release-card{position:relative}
.new-release-ribbon{position:absolute;z-index:4;top:12px;left:12px;padding:6px 10px;border:1px solid rgba(255,210,118,.7);border-radius:999px;background:rgba(8,6,3,.88);color:#f3c76d;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}



/* ========================================================================== 
   F.T.M. Website v1.53 — clean bags, clean origin maps, verified global sheen
   ========================================================================== */

/* Shop cards: exact clean bag only, on a true black stage. */
.shop-bean-pile,.shop-garnish{display:none!important;}
.product-art.has-product-image{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  background:#000!important;
}
.product-art.has-product-image .product-image-link{
  position:relative!important;z-index:2!important;display:flex!important;
  align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;
  overflow:hidden!important;
}
.product-art.has-product-image .product-image-link>img{
  position:relative!important;z-index:2!important;width:auto!important;height:96%!important;
  max-width:96%!important;max-height:96%!important;object-fit:contain!important;
  transform:none!important;filter:drop-shadow(0 17px 22px rgba(0,0,0,.76))!important;
  transition:transform .28s ease,filter .28s ease!important;
}
.product-card:hover .product-art.has-product-image .product-image-link>img,
.product-card:focus-within .product-art.has-product-image .product-image-link>img{
  transform:translateY(-5px) scale(1.012)!important;
  filter:drop-shadow(0 23px 28px rgba(0,0,0,.88)) saturate(1.025)!important;
}

/* Clean prior-style origin cards: simple gold silhouettes, no rough screenshots. */
.simple-origin-map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:12px;margin:18px 0 20px;}
.simple-origin-map-tile{margin:0;padding:14px 10px 12px;border:1px solid color-mix(in srgb,var(--uniform-accent) 36%,#2b2116);border-radius:16px;background:radial-gradient(circle at center,color-mix(in srgb,var(--uniform-accent) 7%,transparent),transparent 68%);text-align:center;}
.simple-origin-map-tile img{display:block;width:100%!important;height:135px!important;object-fit:contain!important;background:transparent!important;filter:drop-shadow(0 0 12px rgba(189,132,43,.18))!important;}
.simple-origin-map-tile figcaption{display:flex;flex-direction:column;gap:4px;margin-top:5px;}
.simple-origin-map-tile strong{font-family:Georgia,serif;color:var(--gold-soft);font-size:1rem;line-height:1.15;}
.simple-origin-map-tile span{color:#bfb2a0;font-size:.78rem;line-height:1.35;}
.simple-origin-card .btn{margin-top:auto;}
@media(max-width:580px){.simple-origin-map-grid{grid-template-columns:1fr 1fr}.simple-origin-map-grid.count-3 .simple-origin-map-tile:last-child{grid-column:1/-1;max-width:240px;width:100%;justify-self:center}.simple-origin-map-tile img{height:120px!important;}}

/* Final, genuinely site-wide darker bronze sheen. */
:where(a[href],button:not(:disabled),[role="button"]){position:relative;isolation:isolate;}
:where(.btn,.details-link,.coming-soon-feature,.main-nav a,.uniform-choice-row button,.kraken-choice-row button,.anime-v145-edition-button,.anime-v145-add,.uniform-add-cart,.uniform-quantity button,.anime-v145-quantity button,.nav-toggle,.product-image-link){overflow:hidden!important;}
:where(.btn,.details-link,.coming-soon-feature,.main-nav a,.uniform-choice-row button,.kraken-choice-row button,.anime-v145-edition-button,.anime-v145-add,.uniform-add-cart,.uniform-quantity button,.anime-v145-quantity button,.nav-toggle,.product-image-link)::after{
  content:""!important;display:block!important;position:absolute!important;z-index:20!important;
  top:-85%!important;left:-74%!important;width:43%!important;height:275%!important;
  transform:rotate(18deg)!important;pointer-events:none!important;opacity:0!important;
  background:linear-gradient(90deg,transparent 0%,rgba(5,3,2,.15) 10%,rgba(12,7,3,.88) 34%,rgba(111,66,18,.88) 49%,rgba(10,6,3,.88) 64%,transparent 100%)!important;
  box-shadow:0 0 9px rgba(240,194,95,.2)!important;
}
:where(.btn,.details-link,.coming-soon-feature,.main-nav a,.uniform-choice-row button,.kraken-choice-row button,.anime-v145-edition-button,.anime-v145-add,.uniform-add-cart,.uniform-quantity button,.anime-v145-quantity button,.nav-toggle,.product-image-link):is(:hover,:focus-visible)::after{
  animation:ftmV153DarkSheen 1.02s cubic-bezier(.2,.68,.28,1) forwards!important;
}
@keyframes ftmV153DarkSheen{0%{left:-74%;opacity:0}14%{opacity:1}100%{left:137%;opacity:0}}

/* Clickable/card title words receive a matching visible text sweep. */
.product-card h3,.section-head h2,.page-hero h1,.uniform-title,.uniform-section-heading span,.uniform-story-card h2,.uniform-origin-card h2{transition:filter .2s ease,color .2s ease;}
.product-card:hover h3,.section-head h2:hover,.page-hero h1:hover,.uniform-title:hover,.uniform-section-heading:hover span,.uniform-story-card h2:hover,.uniform-origin-card h2:hover{
  color:transparent!important;background:linear-gradient(100deg,var(--gold-soft) 0%,#71481d 36%,#090604 50%,#9b6724 64%,var(--champagne) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:ftmV153TextSheen 1.08s ease-out forwards;
}
@keyframes ftmV153TextSheen{from{background-position:120% 0}to{background-position:-120% 0}}
@media(prefers-reduced-motion:reduce){
  :where(.btn,.details-link,.coming-soon-feature,.main-nav a,.uniform-choice-row button,.kraken-choice-row button,.anime-v145-edition-button,.anime-v145-add,.uniform-add-cart,.uniform-quantity button,.anime-v145-quantity button,.nav-toggle,.product-image-link):is(:hover,:focus-visible)::after{animation:none!important;}
  .product-card:hover h3,.section-head h2:hover,.page-hero h1:hover,.uniform-title:hover,.uniform-section-heading:hover span,.uniform-story-card h2:hover,.uniform-origin-card h2:hover{animation:none!important;color:var(--gold-soft)!important;background:none!important;}
}

/* v1.53 specificity lock: overrides older no-sheen Add to Cart rules. */
body .btn,
body .add-cart-btn,
body .details-link,
body .coming-soon-feature,
body .main-nav a,
body .uniform-choice-row button,
body .kraken-choice-row button,
body .anime-v145-edition-button,
body .anime-v145-add,
body .uniform-add-cart,
body .uniform-quantity button,
body .anime-v145-quantity button,
body .nav-toggle,
body .product-image-link{position:relative!important;isolation:isolate!important;overflow:hidden!important;}
body .btn::after,
body .add-cart-btn::after,
body .details-link::after,
body .coming-soon-feature::after,
body .main-nav a::after,
body .uniform-choice-row button::after,
body .kraken-choice-row button::after,
body .anime-v145-edition-button::after,
body .anime-v145-add::after,
body .uniform-add-cart::after,
body .uniform-quantity button::after,
body .anime-v145-quantity button::after,
body .nav-toggle::after,
body .product-image-link::after{
  content:""!important;display:block!important;position:absolute!important;z-index:20!important;
  top:-85%!important;left:-74%!important;width:43%!important;height:275%!important;
  transform:rotate(18deg)!important;pointer-events:none!important;opacity:0!important;
  background:linear-gradient(90deg,transparent 0%,rgba(5,3,2,.15) 10%,rgba(12,7,3,.9) 34%,rgba(119,70,19,.9) 49%,rgba(10,6,3,.9) 64%,transparent 100%)!important;
  box-shadow:0 0 9px rgba(240,194,95,.2)!important;
  animation:none!important;
}
body .btn:is(:hover,:focus-visible)::after,
body .add-cart-btn:is(:hover,:focus-visible)::after,
body .details-link:is(:hover,:focus-visible)::after,
body .coming-soon-feature:is(:hover,:focus-visible)::after,
body .main-nav a:is(:hover,:focus-visible)::after,
body .uniform-choice-row button:is(:hover,:focus-visible)::after,
body .kraken-choice-row button:is(:hover,:focus-visible)::after,
body .anime-v145-edition-button:is(:hover,:focus-visible)::after,
body .anime-v145-add:is(:hover,:focus-visible)::after,
body .uniform-add-cart:is(:hover,:focus-visible)::after,
body .uniform-quantity button:is(:hover,:focus-visible)::after,
body .anime-v145-quantity button:is(:hover,:focus-visible)::after,
body .nav-toggle:is(:hover,:focus-visible)::after,
body .product-image-link:is(:hover,:focus-visible)::after{
  animation:ftmV153DarkSheen 1.02s cubic-bezier(.2,.68,.28,1) forwards!important;
}

/* ========================================================================== 
   F.T.M. Website v1.54 — truly clean bags + pronounced universal sheen
   ========================================================================== */

/* Remove every leftover decorative/image-well layer from the clean black bag stages. */
.product-art.has-product-image::before,
.product-art.has-product-image::after{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  opacity:0!important;
}
.product-art.has-product-image{
  background:#000!important;
  background-image:none!important;
}
.product-art.has-product-image .product-image-link{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
.product-art.has-product-image .product-image-link>img,
.uniform-bag-stage img,
.anime-v145-bag-stage img{
  background:transparent!important;
  background-image:none!important;
}

/* One stronger sheen system for every real button/control. The dark shoulders
   stay visible on gold controls; the champagne center stays visible on black. */
#ftm-v154 :is(
  button:not(:disabled),
  a.btn,
  a.details-link,
  a.coming-soon-feature,
  .main-nav a,
  a.product-image-link,
  a.social-icon,
  a.hero-product-link,
  a.cart-nav-link,
  [role="button"]
){
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}

#ftm-v154 :is(
  button:not(:disabled),
  a.btn,
  a.details-link,
  a.coming-soon-feature,
  .main-nav a,
  a.product-image-link,
  a.social-icon,
  a.hero-product-link,
  a.cart-nav-link,
  [role="button"]
)::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:100!important;
  top:-95%!important;
  left:-92%!important;
  width:58%!important;
  height:300%!important;
  pointer-events:none!important;
  opacity:0!important;
  transform:rotate(17deg)!important;
  transform-origin:center!important;
  background:linear-gradient(105deg,
    transparent 0%,
    transparent 12%,
    rgba(6,3,1,.42) 20%,
    rgba(18,9,3,.98) 30%,
    rgba(144,84,19,.98) 41%,
    rgba(255,240,190,1) 50%,
    rgba(211,139,43,.99) 59%,
    rgba(18,8,2,.98) 70%,
    rgba(5,2,1,.45) 80%,
    transparent 89%,
    transparent 100%)!important;
  box-shadow:
    -11px 0 15px rgba(0,0,0,.48),
    0 0 20px rgba(255,221,137,.62),
    11px 0 15px rgba(0,0,0,.46)!important;
  filter:saturate(1.18) contrast(1.12)!important;
  animation:none!important;
}

#ftm-v154 :is(
  button:not(:disabled),
  a.btn,
  a.details-link,
  a.coming-soon-feature,
  .main-nav a,
  a.product-image-link,
  a.social-icon,
  a.hero-product-link,
  a.cart-nav-link,
  [role="button"]
):is(:hover,:focus-visible,:active)::after{
  animation:ftmV154PronouncedSheen 1.16s cubic-bezier(.18,.68,.25,1) forwards!important;
}

@keyframes ftmV154PronouncedSheen{
  0%{left:-92%;opacity:0}
  9%{opacity:1}
  78%{opacity:1}
  100%{left:148%;opacity:0}
}

/* Make the heading sweep match the stronger control sheen. */
.product-card:hover h3,
.section-head h2:hover,
.page-hero h1:hover,
.uniform-title:hover,
.uniform-section-heading:hover span,
.uniform-story-card h2:hover,
.uniform-origin-card h2:hover{
  color:transparent!important;
  background:linear-gradient(100deg,
    #754617 0%,
    #c7872a 29%,
    #fff1bf 48%,
    #9a5a1c 67%,
    #f2d18a 100%)!important;
  background-size:260% 100%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  animation:ftmV154TextSheen 1.16s ease-out forwards!important;
}
@keyframes ftmV154TextSheen{from{background-position:125% 0}to{background-position:-125% 0}}

@media(prefers-reduced-motion:reduce){
  #ftm-v154 :is(
    button:not(:disabled),a.btn,a.details-link,a.coming-soon-feature,
    .main-nav a,a.product-image-link,a.social-icon,a.hero-product-link,
    a.cart-nav-link,[role="button"]
  ):is(:hover,:focus-visible,:active)::after{animation:none!important;opacity:.56!important;left:20%!important;}
}

/* ========================================================================== 
   F.T.M. Website v1.55 — persistent shopping cart and launch-ready controls
   ========================================================================== */
.cart-page-hero{padding-bottom:34px;}
.cart-page-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.75fr);gap:30px;align-items:start;}
.cart-items-column{min-width:0;}
.cart-items{display:grid;gap:18px;}
.cart-empty{text-align:center;padding:42px 30px;}
.cart-empty .btn{margin-top:12px;}
.cart-line-item{display:grid;grid-template-columns:122px minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px;border:1px solid rgba(213,168,76,.34);border-radius:18px;background:linear-gradient(145deg,rgba(26,22,17,.96),rgba(8,7,6,.98));box-shadow:0 16px 38px rgba(0,0,0,.26);}
.cart-line-image{display:flex;align-items:center;justify-content:center;min-height:132px;border-radius:14px;background:#000;overflow:hidden;}
.cart-line-image img{display:block;width:100%;height:132px;object-fit:contain;background:transparent;}
.cart-line-details{display:grid;gap:5px;align-content:center;}
.cart-line-title{font-family:Georgia,serif;color:var(--gold-soft);font-size:1.24rem;font-weight:700;text-decoration:none;}
.cart-line-details p{margin:0;color:var(--cream);}
.cart-line-details small,.cart-line-controls small{color:#ad9f8e;}
.cart-remove,.cart-clear-button{justify-self:start;padding:0;border:0;background:transparent;color:#e7c67c;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font:inherit;}
.cart-line-controls{display:grid;gap:7px;justify-items:end;min-width:145px;}
.cart-line-controls strong{color:var(--champagne);font-size:1.14rem;}
.cart-quantity{display:grid;grid-template-columns:36px 42px 36px;align-items:center;text-align:center;border:1px solid rgba(213,168,76,.42);border-radius:999px;overflow:hidden;background:#0a0806;}
.cart-quantity button{width:36px;height:36px;padding:0;border:0;background:rgba(213,168,76,.1);color:var(--gold-soft);font-size:1.18rem;cursor:pointer;}
.cart-quantity span{font-weight:800;color:var(--cream);}
.cart-summary{position:sticky;top:112px;padding:26px;display:grid;gap:16px;}
.cart-summary-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid rgba(213,168,76,.25);border-bottom:1px solid rgba(213,168,76,.25);font-size:1.12rem;}
.cart-summary-row strong{color:var(--champagne);font-size:1.28rem;}
.cart-summary-note{margin:0;color:#cbbfad;font-size:.93rem;line-height:1.55;}
.cart-checkout-button:disabled{opacity:.56;cursor:not-allowed;filter:grayscale(.18);}
.cart-clear-button{justify-self:center;margin-top:2px;}
.cart-nav-link.active{border-color:rgba(240,194,95,.54);background:rgba(184,124,34,.12);}
@media(max-width:900px){.cart-page-layout{grid-template-columns:1fr}.cart-summary{position:static}.cart-line-item{grid-template-columns:100px minmax(0,1fr);}.cart-line-controls{grid-column:2;grid-template-columns:auto auto;align-items:center;justify-content:space-between;justify-items:start;width:100%;}.cart-line-controls small{grid-column:1/-1;}}
@media(max-width:560px){.cart-line-item{grid-template-columns:82px minmax(0,1fr);gap:13px;padding:13px}.cart-line-image{min-height:102px}.cart-line-image img{height:102px}.cart-line-title{font-size:1.05rem}.cart-line-controls{grid-column:1/-1}.cart-summary{padding:20px}.cart-page-hero h1{font-size:clamp(2rem,11vw,3rem)}}


/* v1.56 Square Sandbox checkout feedback */
.cart-checkout-status{min-height:1.5em;margin:0;text-align:center;color:var(--champagne);font-size:.92rem;line-height:1.45}.cart-checkout-button[disabled]{opacity:.66}.cart-checkout-button:not([disabled]){cursor:pointer}


/* F.T.M. Website v1.57 — shipping threshold summary */
.cart-summary-row.cart-summary-secondary{padding:11px 0;border-top:0;font-size:1rem;}
.cart-summary-row.cart-summary-secondary strong{font-size:1.05rem;}
.cart-summary-row.cart-summary-total{margin-top:2px;border-top:1px solid rgba(213,168,76,.45);border-bottom:1px solid rgba(213,168,76,.45);}
.cart-summary-row.cart-summary-total strong{font-size:1.4rem;}
.cart-free-shipping-status{padding:12px 14px;border:1px solid rgba(213,168,76,.32);border-radius:12px;background:rgba(213,168,76,.08);color:#f2d79b;font-weight:700;line-height:1.35;}
.cart-free-shipping-status:empty{display:none;}
.cart-free-shipping-status.unlocked{background:rgba(125,177,118,.12);border-color:rgba(148,204,139,.38);color:#d8f2d3;}


/* F.T.M. Website v1.58 — destination-based Missouri food tax and shipping address */
.cart-shipping-card{display:grid;gap:13px;padding:17px;border:1px solid rgba(213,168,76,.34);border-radius:14px;background:linear-gradient(145deg,rgba(25,20,14,.86),rgba(7,6,5,.94));}
.cart-shipping-card .eyebrow{margin:0;color:var(--gold-soft);}
.cart-shipping-intro,.cart-address-note{margin:0;color:#cbbfad;font-size:.85rem;line-height:1.5;}
.cart-shipping-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.cart-field{display:grid;gap:5px;min-width:0;}
.cart-field-wide{grid-column:1/-1;}
.cart-field span{color:#ead29d;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;}
.cart-field span em{font-style:normal;color:#9f9485;font-weight:500;letter-spacing:0;text-transform:none;}
.cart-field input,.cart-field select{width:100%;min-width:0;margin:0;padding:11px 12px;border:1px solid rgba(213,168,76,.36);border-radius:9px;background:#070605;color:#f4ead9;font:inherit;}
.cart-field input:focus,.cart-field select:focus{outline:2px solid rgba(238,194,96,.42);outline-offset:1px;border-color:#d9ad51;}
.cart-field select{appearance:auto;}
@media(max-width:560px){.cart-shipping-grid{grid-template-columns:1fr}.cart-field-wide{grid-column:auto}.cart-shipping-card{padding:14px}.cart-field input,.cart-field select{font-size:16px}}


/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.59 — CONTACT + CUSTOMER POLICIES
   ============================================================ */
.policy-hero .lead { max-width: 820px; }
.policy-updated { margin-top: 1rem; font-size: .9rem; color: var(--muted-2); }
.policy-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.25rem; align-items: start; }
.policy-card { padding: clamp(1.35rem, 3vw, 2.5rem); }
.policy-block + .policy-block { border-top: 1px solid rgba(212,167,67,.16); margin-top: 1.65rem; padding-top: 1.65rem; }
.policy-block h2 { font-size: clamp(1.55rem, 3vw, 2.15rem); margin-bottom: .85rem; color: var(--gold-soft); }
.policy-block p:last-child { margin-bottom: 0; }
.policy-block ul { margin: .65rem 0 1rem; padding-left: 1.35rem; color: var(--muted); }
.policy-block li + li { margin-top: .45rem; }
.policy-block a, .policy-help a:not(.btn), .contact-details a:not(.social-icon):not(.btn) { color: var(--gold-soft); text-decoration: underline; text-decoration-color: rgba(244,216,146,.34); text-underline-offset: 3px; }
.policy-help { position: sticky; top: 108px; }
.policy-help h2 { font-size: 2rem; margin-bottom: 1rem; }
.policy-email { display: inline-block; overflow-wrap: anywhere; font-weight: 700; }
.field-label { display: grid; gap: .38rem; color: var(--gold-soft); font-size: .9rem; letter-spacing: .035em; }
.field-label span { color: var(--muted-2); font-size: .82rem; }
.consent-row { display: grid; grid-template-columns: 20px 1fr; gap: .65rem; align-items: start; color: var(--muted); font-size: .9rem; line-height: 1.45; }
.consent-row input { width: 18px; height: 18px; margin: .13rem 0 0; accent-color: var(--gold); }
.form-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-details h2 { margin-bottom: 1rem; }
.contact-policy-links { display: grid; gap: .45rem; margin: 1.25rem 0; padding: 1rem 0; border-top: 1px solid rgba(212,167,67,.16); border-bottom: 1px solid rgba(212,167,67,.16); }
.success-hero { min-height: 66vh; display: grid; place-items: center; }
.success-panel { text-align: center; display: grid; justify-items: center; }
.success-panel .lead { max-width: 700px; }
.success-panel .hero-actions { justify-content: center; }
@media (max-width: 920px) {
  .policy-layout { grid-template-columns: 1fr; }
  .policy-help { position: static; }
}


/* v1.59.1 form confirmation route fix */
.form-status-section{padding:1.25rem 0 0}.form-status-message{max-width:900px;margin:0 auto;padding:1rem 1.2rem;border:1px solid rgba(220,181,87,.58);border-radius:14px;background:linear-gradient(135deg,rgba(46,34,14,.96),rgba(12,12,12,.97));box-shadow:0 16px 36px rgba(0,0,0,.28);color:#f7ead0}.form-status-message strong{display:block;margin-bottom:.25rem;color:#f2c96f;font-size:1.08rem}.form-status-message span{display:block;line-height:1.55}.form-status-message[hidden]{display:none!important}


/* v1.60 — persistent shipping announcement + subscriber welcome offer */
.site-top-stack {
  position: sticky;
  top: 0;
  z-index: 1200;
  isolation: isolate;
}
.site-top-stack .site-header {
  position: relative;
  top: auto;
  z-index: 2;
}
.shipping-announcement {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  padding: .48rem 1rem;
  background:
    linear-gradient(90deg, rgba(70,38,10,.98), rgba(13,8,3,.99) 38%, rgba(13,8,3,.99) 62%, rgba(70,38,10,.98));
  color: var(--champagne, #f4d892);
  border-bottom: 1px solid rgba(244,216,146,.38);
  box-shadow: 0 5px 20px rgba(0,0,0,.38), inset 0 -1px 0 rgba(0,0,0,.75);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .075em;
  font-size: .78rem;
  line-height: 1.25;
}
.shipping-announcement strong { color: #fff4cf; font-weight: 800; }
.shipping-announcement-dot { color: var(--gold, #d4a743); font-size: 1rem; }
.welcome-offer-note {
  display: grid;
  gap: .35rem;
  margin-top: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(244,216,146,.3);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(189,132,43,.13), rgba(255,255,255,.025));
}
.welcome-offer-note strong { color: var(--champagne, #f4d892); font-size: 1.08rem; }
.welcome-offer-note span { color: var(--muted); font-size: .9rem; }
.welcome-code {
  display: inline-block;
  margin: 0 .18rem;
  padding: .12rem .42rem;
  border: 1px solid rgba(244,216,146,.42);
  border-radius: 6px;
  background: rgba(0,0,0,.35);
  color: #fff4cf;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .08em;
}
.cart-discount-box {
  margin: .9rem 0;
  padding: .9rem;
  border: 1px solid rgba(244,216,146,.22);
  border-radius: 12px;
  background: rgba(0,0,0,.18);
}
.cart-discount-box > label { display:block; margin-bottom:.5rem; color:var(--champagne); font-weight:700; }
.cart-discount-entry { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.55rem; }
.cart-discount-entry input {
  min-width: 0;
  border: 1px solid rgba(244,216,146,.28);
  border-radius: 10px;
  background: rgba(0,0,0,.35);
  color: #fff;
  padding: .72rem .8rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.cart-discount-button { padding: .66rem 1rem; }
.cart-discount-status { min-height:1.25rem; margin:.48rem 0 0; font-size:.86rem; }
.cart-discount-status.is-valid { color:#bfe3a4; }
.cart-discount-status.is-invalid { color:#ffb0a6; }
@media (max-width: 650px) {
  .shipping-announcement { gap:.35rem; padding:.42rem .55rem; font-size:.64rem; letter-spacing:.045em; }
  .shipping-announcement-dot { font-size:.8rem; }
  .cart-discount-entry { grid-template-columns:1fr; }
}


/* ============================================================
   F.T.M. Website v1.60.6 — approved product backgrounds restored
   Background artwork is painted directly on each product stage.
   The existing overlay remains above it for text readability.
   ============================================================ */
.uniform-product-page:not(.anime-v145-page) .uniform-stage{
  background-color:#040302!important;
  background-image:var(--uniform-bg)!important;
  background-size:var(--uniform-bg-size,cover)!important;
  background-position:var(--uniform-bg-position,left center)!important;
  background-repeat:no-repeat!important;
}
.uniform-product-page:not(.anime-v145-page) .uniform-stage::before{
  background-image:none!important;
}
@media(max-width:960px){
  .uniform-product-page:not(.anime-v145-page) .uniform-stage{
    background-position:center top!important;
    background-size:auto 470px!important;
  }
}
@media(max-width:680px){
  .uniform-product-page:not(.anime-v145-page) .uniform-stage{
    background-size:auto 370px!important;
  }
}


/* F.T.M. Website v1.60.7 — hardwired HTML background image layers
   The approved art is now a real <img> inside every non-Anime product stage.
   This avoids custom-property URL resolution and negative z-index failures. */
.uniform-product-page:not(.anime-v145-page) .uniform-stage{
  position:relative!important;
  overflow:hidden!important;
  background:#040302!important;
  isolation:isolate!important;
}
.uniform-product-page:not(.anime-v145-page) .uniform-page-background{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  pointer-events:none!important;
  user-select:none!important;
}
.uniform-product-page:not(.anime-v145-page) .uniform-stage::before{
  content:none!important;
  display:none!important;
  background:none!important;
}
.uniform-product-page:not(.anime-v145-page) .uniform-stage::after{
  z-index:1!important;
  pointer-events:none!important;
}
.uniform-product-page:not(.anime-v145-page) .uniform-stage-shell{
  position:relative!important;
  z-index:2!important;
}
@media(max-width:960px){
  .uniform-product-page:not(.anime-v145-page) .uniform-page-background{
    object-position:center top!important;
  }
}

/* ========================================================================== 
   F.T.M. Website v1.60.8 — continuous brand-color heading rotation
   Mirrors the slow foil motion used by “Because Mornings Never Ask For Forgiveness.”
   ========================================================================== */
:where(main h1, main h2, main h3) {
  color: transparent !important;
  background-image: linear-gradient(
    100deg,
    #9f641b 0%,
    #d99b3c 18%,
    #fff0bd 38%,
    #c99439 55%,
    #fff7d0 72%,
    #b57a22 100%
  ) !important;
  background-size: 260% 100% !important;
  background-position: 0% 50%;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  animation: ftmHeadingBrandCycle 7s ease-in-out infinite !important;
  will-change: background-position, filter;
}

/* Stagger the phases so the page feels alive without every heading moving together. */
main h2 { animation-delay: -1.75s !important; }
main h3 { animation-delay: -3.5s !important; }

@keyframes ftmHeadingBrandCycle {
  0%, 100% { background-position: 0% 50%; filter: brightness(1); }
  50% { background-position: 100% 50%; filter: brightness(1.12); }
}

@media (prefers-reduced-motion: reduce) {
  :where(main h1, main h2, main h3) {
    animation: none !important;
    background-position: 50% 50% !important;
    filter: none !important;
    will-change: auto;
  }
}

/* ========================================================================== 
   F.T.M. Website v1.60.9 — mobile shop visibility + product art showcase
   - Mobile cards no longer depend on scroll-reveal observers.
   - Non-Anime product pages reserve a large, clean artwork viewport before
     the detail panel so the approved backgrounds remain a major visual.
   ========================================================================== */
@media (max-width: 960px) {
  /* Mobile browsers occasionally leave reveal targets at opacity:0 even though
     their links remain tappable. Keep the full mobile storefront visible. */
  .reveal-ready,
  .reveal-ready.is-visible,
  .section.reveal-ready,
  .page-hero.reveal-ready,
  .card.reveal-ready,
  .product-card.reveal-ready {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .product-card,
  .product-card > *,
  .product-card .product-art,
  .product-card .product-image-link,
  .product-card .product-image-link > img {
    visibility: visible !important;
    opacity: 1 !important;
  }

  .grid.grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Give each approved background a dedicated mobile showcase before the
     details. The panel overlaps the softened bottom edge by a few pixels. */
  .uniform-product-page:not(.anime-v145-page) .uniform-stage {
    --ftm-mobile-art-height: clamp(500px, 68svh, 650px);
    min-height: 0 !important;
    padding: 0 !important;
    background: #030201 !important;
  }

  .uniform-product-page:not(.anime-v145-page) .uniform-page-background {
    inset: 0 0 auto 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: var(--ftm-mobile-art-height) !important;
    object-fit: cover !important;
    object-position: var(--uniform-bg-position, center center) !important;
    filter: saturate(1.05) contrast(1.03) brightness(.93) !important;
  }

  .uniform-product-page:not(.anime-v145-page) .uniform-stage::after {
    inset: 0 0 auto 0 !important;
    height: var(--ftm-mobile-art-height) !important;
    background: linear-gradient(
      180deg,
      rgba(0,0,0,.02) 0%,
      rgba(0,0,0,.04) 48%,
      rgba(0,0,0,.26) 70%,
      rgba(3,2,1,.82) 90%,
      #030201 100%
    ) !important;
  }

  .uniform-product-page:not(.anime-v145-page) .uniform-stage-shell {
    display: block !important;
    width: min(100%, 780px) !important;
    min-height: 0 !important;
    padding: calc(var(--ftm-mobile-art-height) - 24px) 14px 30px !important;
  }

  .uniform-product-page:not(.anime-v145-page) .uniform-art-space {
    display: none !important;
  }

  .uniform-product-page:not(.anime-v145-page) .uniform-panel {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    background: linear-gradient(155deg, rgba(8,6,4,.96), rgba(1,1,1,.985)) !important;
    box-shadow: 0 24px 66px rgba(0,0,0,.72), inset 0 1px 0 rgba(255,255,255,.045) !important;
  }
}

@media (max-width: 720px) {
  .grid.grid-3,
  .grid.grid-4,
  .grid.grid-2 {
    grid-template-columns: 1fr !important;
  }

  .product-card {
    width: 100% !important;
    max-width: 560px;
    margin-inline: auto;
  }

  .product-card .product-art {
    min-height: 300px;
    aspect-ratio: 4 / 3;
  }

  .uniform-product-page:not(.anime-v145-page) .uniform-stage {
    --ftm-mobile-art-height: clamp(455px, 65svh, 570px);
  }

  .uniform-product-page:not(.anime-v145-page) .uniform-stage-shell {
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-bottom: 22px !important;
  }

  .uniform-product-page:not(.anime-v145-page) .uniform-panel {
    padding: 18px 14px 20px !important;
    border-radius: 20px !important;
  }

  .uniform-product-page:not(.anime-v145-page) .uniform-bag-stage {
    height: 205px !important;
  }

  .uniform-product-page:not(.anime-v145-page) .uniform-bag-stage img {
    max-height: 203px !important;
    max-width: 180px !important;
  }
}

@media (max-width: 430px) {
  .uniform-product-page:not(.anime-v145-page) .uniform-stage {
    --ftm-mobile-art-height: clamp(420px, 61svh, 520px);
  }

  .product-card .product-art {
    min-height: 270px;
  }
}

/* ========================================================================== 
   F.T.M. Website v1.60.10 — Anime mobile artwork showcase
   The Anime page uses six dynamic widescreen backgrounds, so it needs its own
   mobile composition rather than the uniform-product background treatment.
   ========================================================================== */
@media (max-width: 960px) {
  .anime-v145-page .anime-v145-stage {
    --ftm-anime-mobile-art-height: clamp(500px, 68svh, 650px);
    min-height: 0 !important;
    padding: 0 0 30px !important;
    background-color: #020102 !important;
    background-size: auto var(--ftm-anime-mobile-art-height) !important;
    background-position: left top !important;
    background-repeat: no-repeat !important;
  }

  /* Keep the selected character artwork fully visible first, then fade the
     bottom into the control panel. */
  .anime-v145-page .anime-v145-stage::after {
    inset: 0 0 auto 0 !important;
    width: 100% !important;
    height: var(--ftm-anime-mobile-art-height) !important;
    background: linear-gradient(
      180deg,
      rgba(0,0,0,.01) 0%,
      rgba(0,0,0,.02) 52%,
      rgba(0,0,0,.22) 72%,
      rgba(2,1,2,.82) 91%,
      #020102 100%
    ) !important;
    pointer-events: none;
  }

  .anime-v145-page .anime-v145-shell {
    display: block !important;
    width: min(100%, 780px) !important;
    min-height: 0 !important;
    padding: calc(var(--ftm-anime-mobile-art-height) - 28px) 14px 0 !important;
  }

  .anime-v145-page .anime-v145-art-space {
    display: none !important;
    min-height: 0 !important;
  }

  .anime-v145-page .anime-v145-panel {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    background: linear-gradient(150deg,rgba(7,5,8,.965),rgba(1,1,2,.992)) !important;
    box-shadow: 0 24px 66px rgba(0,0,0,.74), inset 0 1px 0 rgba(255,255,255,.045) !important;
  }

  /* Keep all six editions in one swipeable row so the selector does not eat
     most of the phone screen. */
  .anime-v145-page .anime-v145-edition-strip {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
    padding: 2px 2px 10px !important;
  }

  .anime-v145-page .anime-v145-edition-button {
    flex: 0 0 138px !important;
    scroll-snap-align: start;
  }

  .anime-v145-page .anime-v145-edition-button img {
    height: 112px !important;
  }

  .anime-v145-page .anime-v145-note-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .anime-v145-page .anime-v145-stage {
    --ftm-anime-mobile-art-height: clamp(455px, 65svh, 570px);
    padding-bottom: 22px !important;
  }

  .anime-v145-page .anime-v145-shell {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .anime-v145-page .anime-v145-panel {
    padding: 18px 14px 20px !important;
    border-radius: 20px !important;
  }

  .anime-v145-page .anime-v145-panel-top {
    grid-template-columns: minmax(0, 1fr) 132px !important;
    gap: 10px !important;
  }

  .anime-v145-page .anime-v145-bag-stage {
    height: 185px !important;
  }

  .anime-v145-page .anime-v145-bag-stage img {
    max-height: 183px !important;
    max-width: 136px !important;
  }

  .anime-v145-page .anime-v145-note-grid {
    gap: 6px !important;
  }

  .anime-v145-page .anime-v145-note-grid > div {
    min-height: 48px !important;
    padding: 7px 5px !important;
    font-size: .62rem !important;
  }
}

@media (max-width: 430px) {
  .anime-v145-page .anime-v145-stage {
    --ftm-anime-mobile-art-height: clamp(420px, 61svh, 520px);
  }

  .anime-v145-page .anime-v145-panel-top {
    grid-template-columns: minmax(0, 1fr) 112px !important;
  }

  .anime-v145-page .anime-v145-bag-stage {
    height: 160px !important;
  }

  .anime-v145-page .anime-v145-bag-stage img {
    max-height: 158px !important;
    max-width: 112px !important;
  }

  .anime-v145-page .anime-v145-edition-button {
    flex-basis: 124px !important;
  }

  .anime-v145-page .anime-v145-edition-button img {
    height: 102px !important;
  }
}
