: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;
}

/* F.T.M. Website v1.67 — glass tumbler collection and builder */
.tumbler-site{--tumbler-panel:#130e09;--tumbler-line:rgba(218,174,84,.48)}
.tumbler-collection-hero{padding:clamp(3rem,7vw,6rem) 0;background:radial-gradient(circle at 76% 40%,rgba(111,193,199,.17),transparent 34%),linear-gradient(145deg,#080705,#161008)}
.tumbler-hero-grid,.tumbler-included,.tumbler-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.tumbler-hero-grid h1{font-size:clamp(3rem,6vw,6.2rem);line-height:.92;margin:.35rem 0 1.25rem}.tumbler-hero-grid p:not(.eyebrow){font-size:1.18rem;max-width:64ch;line-height:1.65}
.tumbler-hero-grid>img,.tumbler-included>img{width:100%;max-height:540px;object-fit:contain;border:1px solid var(--tumbler-line);border-radius:24px;background:#fff;box-shadow:0 22px 70px #000}
.tumbler-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.tumbler-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--tumbler-line);border-radius:22px;background:linear-gradient(145deg,#171008,#0b0906);box-shadow:0 12px 35px rgba(0,0,0,.35)}
.tumbler-card>img,.tumbler-pair{width:100%;height:300px;background:#fff;object-fit:contain}.tumbler-pair{display:grid;grid-template-columns:1fr 1fr}.tumbler-pair img{width:100%;height:100%;object-fit:cover}.tumbler-card>div:last-child{padding:1.35rem;display:flex;flex-direction:column;align-items:flex-start;flex:1}.tumbler-card h3{font-size:1.8rem;margin:.2rem 0}.tumbler-card p{line-height:1.55}.tumbler-card .btn{margin-top:auto}
.tumbler-builder{display:grid;grid-template-columns:minmax(340px,1fr) minmax(360px,.9fr);gap:clamp(2rem,5vw,5rem);align-items:start}.tumbler-gallery{position:sticky;top:9rem}.tumbler-gallery>img{width:100%;height:min(650px,66vh);object-fit:contain;background:#fff;border:1px solid var(--tumbler-line);border-radius:24px}.tumbler-gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-top:.8rem}.tumbler-gallery-thumbs button{padding:.2rem;border:2px solid transparent;border-radius:12px;background:#fff}.tumbler-gallery-thumbs button.active{border-color:#e8bd61}.tumbler-gallery-thumbs img{width:100%;height:90px;object-fit:contain}
.tumbler-buy-panel{padding:clamp(1.3rem,3vw,2.3rem);border:1px solid var(--tumbler-line);border-radius:24px;background:var(--tumbler-panel);box-shadow:0 18px 55px rgba(0,0,0,.35)}.tumbler-buy-panel h1{font-size:clamp(2.4rem,4vw,4.4rem);line-height:.98;margin:.3rem 0}.tumbler-price{font:700 2rem Georgia,serif;color:#efcb79}.tumbler-includes{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--tumbler-line);border-radius:14px;margin:1.2rem 0;background:#0b0805}.tumbler-includes span,.tumbler-field small,.tumbler-addon small{color:#d8c7a9;line-height:1.5}
.tumbler-field{display:flex;flex-direction:column;gap:.45rem;margin:1rem 0}.tumbler-field>span,.tumbler-addon legend{font-weight:800;color:#f2d48c}.tumbler-field select,.tumbler-field textarea,.tumbler-upload input,.tumbler-upload textarea{width:100%;padding:.78rem .9rem;color:#fff5d9;background:#080604;border:1px solid #8c6a2b;border-radius:10px;font:inherit}.tumbler-addon{display:grid;gap:.7rem;border:1px solid var(--tumbler-line);border-radius:14px;padding:1rem;margin:1.2rem 0}.tumbler-addon label{display:flex;gap:.6rem;align-items:center}.tumbler-upload{display:grid;gap:.75rem;padding:1rem;border-left:3px solid #d2a443;background:#080604}.tumbler-upload label{display:grid;gap:.3rem}.tumbler-upload[hidden]{display:none}.tumbler-summary{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;padding:1rem;border-top:1px solid var(--tumbler-line);border-bottom:1px solid var(--tumbler-line);margin:1.2rem 0}.tumbler-summary span{grid-column:1/-1;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.tumbler-summary strong{line-height:1.45}.tumbler-summary em{font-style:normal;font-weight:800;font-size:1.45rem;color:#efcb79}.tumbler-turnaround{font-size:.9rem;color:#d8c7a9;line-height:1.55}.tumbler-details img{width:100%;background:#fff;border-radius:18px}.tumbler-details li,.tumbler-included li{margin:.65rem 0}
@media(max-width:980px){.tumbler-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tumbler-builder{grid-template-columns:1fr}.tumbler-gallery{position:static}.tumbler-gallery>img{height:520px}}
@media(max-width:700px){.tumbler-hero-grid,.tumbler-included,.tumbler-details{grid-template-columns:1fr}.tumbler-card-grid{grid-template-columns:1fr}.tumbler-card>img,.tumbler-pair{height:260px}.tumbler-gallery>img{height:400px}.tumbler-gallery-thumbs{grid-template-columns:repeat(3,1fr)}.tumbler-buy-panel{padding:1rem}.tumbler-summary{grid-template-columns:1fr}.tumbler-summary em{justify-self:start}}

* { 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.webp');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.webp');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;
  }
}


/* F.T.M. Website v1.62 — Apparel catalog, selectors, galleries, and SEO collection pages */
.apparel-site{background:#090a0c;color:#f5f1e7}.apparel-page-hero{background:radial-gradient(circle at 15% 5%,rgba(184,132,45,.22),transparent 35%),linear-gradient(135deg,#111318,#08090b)}
.apparel-breadcrumbs{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;margin-bottom:1.2rem;font-size:.9rem;color:#cfc6b5}.apparel-breadcrumbs a{color:#e1b861;text-decoration:none}.apparel-breadcrumbs b{opacity:.5}
.apparel-category-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.apparel-category-links a,.apparel-filter-bar button{border:1px solid rgba(225,184,97,.5);background:rgba(18,20,25,.82);color:#f7ead0;padding:.7rem 1rem;border-radius:999px;text-decoration:none;font-weight:750}.apparel-category-links a:hover,.apparel-filter-bar button:hover,.apparel-filter-bar button.active{background:#c79336;color:#100d08;border-color:#f0ca74}
.apparel-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.apparel-product-card{overflow:hidden;padding:0;background:linear-gradient(165deg,#16181d,#0d0f13);border-color:rgba(225,184,97,.28)}.apparel-card-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1.05;background:radial-gradient(circle,#24272e,#0a0b0e 72%);overflow:hidden}.apparel-card-image img{width:100%;height:100%;object-fit:contain;transition:transform .35s ease}.apparel-product-card:hover .apparel-card-image img{transform:scale(1.035)}.apparel-card-copy{padding:1.2rem}.apparel-card-copy h3{margin:.65rem 0}.apparel-card-copy h3 a{color:#fff4dd;text-decoration:none}.apparel-card-copy p{color:#cbc4b8;min-height:4.5em}.apparel-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.apparel-card-bottom strong{font-size:1.35rem;color:#f2c76e}.apparel-filter-bar{display:flex;gap:.65rem;flex-wrap:wrap;margin:0 0 1.5rem}.apparel-filter-bar button{cursor:pointer}.apparel-product-card[hidden]{display:none!important}.apparel-promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.apparel-product-hero{padding:2rem 0 3.5rem;background:radial-gradient(circle at 20% 0,rgba(197,142,50,.18),transparent 32%),#090a0d}.apparel-product-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:2.2rem;align-items:start}.apparel-gallery{position:sticky;top:150px}.apparel-main-image{background:radial-gradient(circle,#2a2c33,#0b0c0f 73%);border:1px solid rgba(225,184,97,.25);border-radius:24px;min-height:650px;display:flex;align-items:center;justify-content:center;overflow:hidden}.apparel-main-image img{width:100%;height:100%;max-height:760px;object-fit:contain}.apparel-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:.8rem}.apparel-thumb{background:#15171c;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:.25rem;cursor:pointer;aspect-ratio:1}.apparel-thumb.active{border-color:#e1b861;box-shadow:0 0 0 2px rgba(225,184,97,.25)}.apparel-thumb img{width:100%;height:100%;object-fit:contain}.apparel-buy-panel{background:linear-gradient(160deg,rgba(26,28,34,.96),rgba(12,13,16,.98));border:1px solid rgba(225,184,97,.32);border-radius:24px;padding:2rem;box-shadow:0 22px 60px rgba(0,0,0,.35)}.apparel-buy-panel h1{font-size:clamp(2rem,4vw,3.45rem);line-height:1.02;margin:.2rem 0 .8rem}.apparel-price{font-size:1.85rem;font-weight:900;color:#efc76d;margin:.25rem 0}.apparel-lead{font-size:1.08rem;color:#d7d0c5}.apparel-status{display:grid;gap:.35rem;padding:1rem;margin:1.25rem 0;background:rgba(225,184,97,.08);border-left:4px solid #d3a249;border-radius:12px}.apparel-status strong{color:#f2cf82}.apparel-status span,.apparel-status small{color:#d3cdc3}.apparel-selector{margin:1.35rem 0}.selector-heading{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.selector-heading span{color:#aaa49a}.selector-heading strong{color:#f1d18b}.apparel-swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.apparel-swatch{display:flex;align-items:center;gap:.55rem;text-align:left;background:#121419;color:#e8e1d6;border:1px solid rgba(255,255,255,.12);border-radius:11px;padding:.55rem;cursor:pointer}.apparel-swatch.active{border-color:#e1b861;box-shadow:0 0 0 2px rgba(225,184,97,.18)}.apparel-swatch span,.color-guide-chip span{display:block;width:26px;height:26px;border-radius:50%;background:var(--swatch);border:1px solid rgba(255,255,255,.45);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}.apparel-swatch b{font-size:.84rem}.mockup-note{font-size:.82rem;color:#9f988e;margin:.6rem 0 0}.apparel-size-buttons{display:flex;flex-wrap:wrap;gap:.55rem}.apparel-size-btn{min-width:58px;background:#121419;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:.75rem;cursor:pointer;font-weight:800}.apparel-size-btn.active{background:#d0a24d;color:#100d08;border-color:#f0cb7b}.apparel-selected{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#0b0c0f;border:1px solid rgba(225,184,97,.22);border-radius:14px;padding:1rem;margin:1.25rem 0}.apparel-selected div{display:grid;gap:.2rem}.apparel-selected span,.apparel-selected small{color:#aaa39a}.apparel-selected em{font-size:1.5rem;font-weight:900;color:#efc76d;font-style:normal}.apparel-cart-row{display:flex;align-items:end;gap:1rem}.apparel-cart-row .uniform-add-cart{flex:1}.apparel-match-link{display:grid;margin-top:1rem;padding:1rem;border-radius:14px;background:rgba(43,102,156,.14);border:1px solid rgba(106,173,226,.32);text-decoration:none;color:#dceeff}.apparel-match-link span{font-size:.8rem;color:#9bbdd7}.apparel-details-section{background:#111318}.apparel-details-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem}.apparel-description-card,.apparel-guide-card{background:#17191e;border:1px solid rgba(225,184,97,.22);border-radius:20px;padding:1.6rem}.apparel-description-card ul{line-height:1.8;color:#d3ccc1}.apparel-guide-card img{width:100%;border-radius:12px;background:white;margin:1rem 0}.size-guide-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.size-chart-card img{width:100%;background:#fff;border-radius:14px}.color-guide-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem}.color-guide-chip{display:flex;align-items:center;gap:.65rem;background:#15171b;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.8rem}.extra-color-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.extra-color-photos figure{background:#fff;color:#111;border-radius:16px;overflow:hidden;margin:0;text-align:center}.extra-color-photos img{width:100%;aspect-ratio:1.1;object-fit:contain}.extra-color-photos figcaption{padding:.7rem;font-weight:800}.apparel-care-card{margin-top:1.5rem}.apparel-card-grid .cart-action{margin-top:1rem}.apparel-card-grid .cart-cup{display:none}
@media(max-width:1000px){.apparel-card-grid{grid-template-columns:repeat(2,1fr)}.apparel-product-layout{grid-template-columns:1fr}.apparel-gallery{position:static}.apparel-main-image{min-height:520px}.apparel-promise-grid,.apparel-details-grid,.size-guide-layout{grid-template-columns:1fr}.color-guide-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.apparel-card-grid{grid-template-columns:1fr}.apparel-main-image{min-height:420px}.apparel-buy-panel{padding:1.2rem}.apparel-swatches{grid-template-columns:repeat(2,1fr)}.apparel-thumbs{grid-template-columns:repeat(3,1fr)}.apparel-cart-row{flex-direction:column;align-items:stretch}.color-guide-grid{grid-template-columns:repeat(2,1fr)}.extra-color-photos{grid-template-columns:1fr}.apparel-promise-grid{grid-template-columns:1fr}}

/* v1.62 apparel reveal safeguard: catalog sections can be taller than the viewport,
   so the section wrapper must not remain hidden while its individual cards reveal. */
.apparel-site .section.reveal-ready{
  opacity:1!important;
  transform:none!important;
}
/* Apparel catalog prioritizes immediate product visibility over scroll-reveal effects. */
.apparel-site .reveal-ready{
  opacity:1!important;
  transform:none!important;
}
/* Preserve readable product names inside apparel cards; global rotating heading color
   uses transparent text fill and should not apply to linked catalog titles. */
.apparel-card-copy h3,
.apparel-card-copy h3 a{
  background:none!important;
  color:#fff4dd!important;
  -webkit-text-fill-color:#fff4dd!important;
}

/* v1.62.1 apparel policy and cart tax repairs */
.apparel-policy-notice{margin-top:1.25rem;padding:0 0 .25rem}.apparel-policy-notice p{margin:0;padding:1rem 1.15rem;border:1px solid rgba(225,184,97,.28);border-radius:14px;background:rgba(225,184,97,.08);color:#d8d0c4}.apparel-policy-notice a,.cart-policy-note a{color:#f0ca77;font-weight:800;text-decoration:underline;text-underline-offset:3px}.cart-policy-note{margin:1rem 0 .75rem;padding:.9rem 1rem;border-radius:12px;background:rgba(225,184,97,.08);border:1px solid rgba(225,184,97,.22);color:#cfc7ba;font-size:.9rem}.policy-help .details-link{display:block;margin-top:1rem}


/* ============================================================
   F.T.M. WEBSITE v1.62.3 — CATEGORY SIDEBARS + ROAST PAGES
   Adds desktop side navigation and a compact mobile browse menu.
   Checkout, tax, Square, product selectors, and cart logic untouched.
   ============================================================ */
.shop-with-sidebar{
  display:grid;
  grid-template-columns:minmax(225px,260px) minmax(0,1fr);
  gap:clamp(1.25rem,2.5vw,2.1rem);
  align-items:start;
}
.shop-content{min-width:0}
.shop-sidebar{min-width:0}
.shop-sidebar-desktop{
  position:sticky;
  top:126px;
  padding:1.25rem;
  border:1px solid rgba(225,184,97,.30);
  border-radius:20px;
  background:linear-gradient(165deg,rgba(27,23,17,.96),rgba(9,8,7,.98));
  box-shadow:0 18px 46px rgba(0,0,0,.28);
}
.shop-sidebar-desktop .eyebrow{margin:0 0 .3rem}
.shop-sidebar-desktop h2{font-size:1.55rem;line-height:1.08;margin:0 0 1rem;color:#fff2d5}
.shop-side-links{display:grid;gap:.55rem}
.shop-side-links a{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.65rem;
  align-items:center;
  min-height:55px;
  padding:.72rem .78rem;
  border:1px solid rgba(225,184,97,.15);
  border-radius:12px;
  color:#eee4d4;
  text-decoration:none;
  background:rgba(255,255,255,.025);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.shop-side-links a:hover{
  transform:translateX(3px);
  border-color:rgba(225,184,97,.48);
  background:rgba(225,184,97,.08);
}
.shop-side-links a.active{
  border-color:#d9aa4d;
  background:linear-gradient(135deg,rgba(202,145,48,.22),rgba(225,184,97,.07));
  box-shadow:inset 3px 0 0 #efc86f;
}
.shop-side-links a span{font-weight:800;line-height:1.2}
.shop-side-links a small{color:#ae9f8a;font-size:.72rem;text-align:right;white-space:nowrap}
.shop-side-links a.active small{color:#e9cc8f}
.shop-sidebar-help{
  margin-top:1rem;
  padding:1rem;
  border-top:1px solid rgba(225,184,97,.18);
  border-radius:0 0 12px 12px;
  background:rgba(0,0,0,.18);
}
.shop-sidebar-help strong{display:block;color:#efc76d;margin-bottom:.35rem}
.shop-sidebar-help p{margin:0;color:#bdb3a4;font-size:.84rem;line-height:1.5}
.shop-sidebar-mobile{display:none}
.roast-pill{border-color:rgba(237,196,105,.48);background:rgba(225,184,97,.11);color:#f5d995}
.roast-category-hero[data-roast-category="light"]{background:radial-gradient(circle at 18% 20%,rgba(235,195,104,.18),transparent 32%)}
.roast-category-hero[data-roast-category="medium"]{background:radial-gradient(circle at 18% 20%,rgba(182,112,42,.20),transparent 34%)}
.roast-category-hero[data-roast-category="dark"]{background:radial-gradient(circle at 18% 20%,rgba(118,55,28,.28),transparent 36%)}
.roast-category-note{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  margin-top:1.4rem;
  padding:1rem 1.15rem;
  border:1px solid rgba(225,184,97,.22);
  border-radius:14px;
  background:rgba(225,184,97,.055);
}
.roast-category-note strong{color:#efc76d;white-space:nowrap}
.roast-category-note p{margin:0;color:#bdb3a4;font-size:.9rem;text-align:right}
@media(max-width:1180px){
  .shop-with-sidebar .grid-3,.shop-with-sidebar .apparel-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .shop-with-sidebar{grid-template-columns:1fr;gap:1rem}
  .shop-sidebar-desktop{display:none}
  .shop-sidebar-mobile{
    display:block;
    border:1px solid rgba(225,184,97,.34);
    border-radius:15px;
    background:linear-gradient(145deg,rgba(30,24,16,.98),rgba(9,8,7,.99));
    overflow:hidden;
  }
  .shop-sidebar-mobile summary{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:center;
    padding:1rem 1.05rem;
    color:#fff2d5;
    cursor:pointer;
    list-style:none;
    font-weight:800;
  }
  .shop-sidebar-mobile summary::-webkit-details-marker{display:none}
  .shop-sidebar-mobile summary::after{content:'+';font-size:1.3rem;color:#efc76d}
  .shop-sidebar-mobile[open] summary::after{content:'–'}
  .shop-sidebar-mobile summary b{margin-left:auto;color:#efc76d;font-size:.82rem}
  .shop-sidebar-mobile .shop-side-links{padding:0 .8rem .8rem}
  .shop-sidebar-mobile .shop-side-links a{min-height:50px}
}
@media(max-width:680px){
  .shop-with-sidebar .grid-3,.shop-with-sidebar .apparel-card-grid{grid-template-columns:1fr}
  .shop-sidebar-mobile summary{align-items:flex-start;flex-wrap:wrap}
  .shop-sidebar-mobile summary b{width:100%;margin:0;font-size:.76rem}
  .roast-category-note{display:grid}
  .roast-category-note p{text-align:left}
}


/* ========================================================================== 
   F.T.M. Website v1.62.5 — consistent single-line desktop header
   - Prevents desktop navigation labels and cart/CTA controls from wrapping.
   - Uses a compact logo-only brand treatment at narrower desktop widths.
   - Preserves the existing hamburger/mobile navigation at 920px and below.
   ========================================================================== */
@media (min-width: 921px) {
  #ftm-v154 .header-inner {
    gap: .65rem;
  }

  #ftm-v154 .main-nav {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: flex-end;
    gap: clamp(.46rem, .72vw, .88rem);
    font-size: clamp(.84rem, .92vw, .95rem);
  }

  #ftm-v154 .main-nav > a,
  #ftm-v154 .main-nav > .btn,
  #ftm-v154 .cart-nav-link,
  #ftm-v154 .cart-nav-link > span {
    white-space: nowrap;
  }

  #ftm-v154 .main-nav > a.btn {
    padding: .72rem .92rem;
  }

  #ftm-v154 .cart-nav-link {
    flex-wrap: nowrap;
  }
}

@media (min-width: 921px) and (max-width: 1180px) {
  #ftm-v154 .brand {
    min-width: auto;
    flex: 0 0 auto;
  }

  #ftm-v154 .brand-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  #ftm-v154 .main-nav {
    gap: .5rem;
    font-size: .86rem;
  }

  #ftm-v154 .main-nav > a.btn {
    padding-inline: .78rem;
  }

  #ftm-v154 .cart-nav-link {
    padding-right: .52rem !important;
    padding-left: .38rem !important;
  }
}

/* ========================================================================== 
   F.T.M. Website v1.62.7 — subtle animated gold header brand name
   - Adds a slow polished-gold sheen to “F.T.M. Coffee Co.” only.
   - Keeps the circular emblem and the smaller tagline calm and stationary.
   - Respects reduced-motion accessibility preferences.
   ========================================================================== */
.site-header .brand-text strong {
  color: var(--champagne);
  background-image: linear-gradient(
    100deg,
    #b57a22 0%,
    #f0c76c 24%,
    #fff3c4 43%,
    #c99439 60%,
    #fff0bd 76%,
    #a96c20 100%
  );
  background-size: 240% 100%;
  background-position: 0% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: ftmHeaderBrandSheen 10s ease-in-out infinite;
  will-change: background-position, filter;
}

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

@media (prefers-reduced-motion: reduce) {
  .site-header .brand-text strong {
    animation: none;
    background-position: 50% 50%;
    filter: none;
    will-change: auto;
  }
}


/* ========================================================================== 
   F.T.M. Website v1.62.8 — Our Story + School Support impact timeline
   ========================================================================== */
.story-hero,
.school-support-hero {
  background:
    radial-gradient(circle at 82% 25%, rgba(225,184,97,.14), transparent 30rem),
    linear-gradient(180deg, rgba(15,11,7,.18), rgba(3,2,1,0));
}

.story-opening-grid {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:clamp(1.5rem,4vw,3.6rem);
  align-items:start;
}
.story-copy h2 { margin-bottom:1.25rem; }
.story-copy p { font-size:1.04rem; line-height:1.82; }
.story-promise-card {
  position:sticky;
  top:130px;
  padding:clamp(1.4rem,3vw,2rem);
  border-color:rgba(225,184,97,.38);
  background:linear-gradient(145deg,rgba(37,27,16,.94),rgba(10,8,6,.98));
}
.story-promise-card h2 { font-size:clamp(1.8rem,3vw,2.65rem); margin-bottom:1rem; }
.story-values-grid { margin-top:1.7rem; }
.story-values-grid .card { min-height:250px; }
.story-values-grid h3 { color:#f5d995; margin-bottom:.8rem; }
.story-legacy-section { align-items:center; }
.story-legacy-section h2 { margin-bottom:1.1rem; }
.story-quote-panel {
  position:relative;
  padding:clamp(1.7rem,4vw,3rem);
  border:1px solid rgba(225,184,97,.34);
  border-radius:var(--radius);
  background:radial-gradient(circle at 85% 10%,rgba(225,184,97,.15),transparent 45%),rgba(255,255,255,.025);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.story-quote-panel > span {
  position:absolute;
  top:-.45rem;
  left:1rem;
  color:rgba(239,199,109,.22);
  font-size:9rem;
  line-height:1;
}
.story-quote-panel blockquote {
  position:relative;
  margin:0;
  color:#fff1cf;
  font-size:clamp(1.45rem,3vw,2.25rem);
  line-height:1.25;
}
.story-purpose-panel {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2rem;
  align-items:center;
  padding:clamp(1.5rem,4vw,2.8rem);
  border:1px solid rgba(225,184,97,.32);
  border-radius:var(--radius);
  background:linear-gradient(135deg,rgba(189,132,43,.13),rgba(255,255,255,.025));
}
.story-purpose-panel h2 { margin-bottom:1rem; }
.story-purpose-action { display:grid; gap:.9rem; min-width:220px; text-align:center; }
.story-closing { max-width:900px; text-align:center; }
.story-closing h2 { margin-inline:auto; }
.story-closing > p:not(.eyebrow) { max-width:760px; margin:1.2rem auto 0; }
.story-closing .hero-actions { justify-content:center; }

.school-support-principles { margin-top:1.7rem; }
.school-support-principles .card { position:relative; min-height:260px; padding-top:3.7rem; }
.school-card-number {
  position:absolute;
  top:1.15rem;
  right:1.25rem;
  color:rgba(239,199,109,.42);
  font-size:1.55rem;
  font-weight:800;
  letter-spacing:.08em;
}
.school-support-principles h3 { color:#f5d995; margin-bottom:.75rem; }
.school-impact-wrap { max-width:1040px; }
.school-impact-heading {
  display:flex;
  justify-content:space-between;
  gap:2rem;
  align-items:end;
  margin-bottom:2rem;
}
.school-impact-heading > p { max-width:470px; text-align:right; margin:0; }
.impact-timeline { position:relative; }
.impact-entry {
  display:grid;
  grid-template-columns:145px 30px minmax(0,1fr);
  gap:1rem;
  align-items:start;
}
.impact-date {
  padding-top:1.35rem;
  color:#f3cf7b;
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:.04em;
  text-align:right;
}
.impact-marker {
  position:relative;
  min-height:100%;
}
.impact-marker::before {
  content:'';
  position:absolute;
  left:50%;
  top:0;
  bottom:-2rem;
  width:1px;
  background:linear-gradient(#efc76d,rgba(225,184,97,.10));
}
.impact-marker::after {
  content:'';
  position:absolute;
  left:50%;
  top:1.45rem;
  width:13px;
  height:13px;
  border:3px solid #0c0906;
  border-radius:50%;
  background:#efc76d;
  box-shadow:0 0 0 1px rgba(239,199,109,.62),0 0 26px rgba(239,199,109,.32);
  transform:translateX(-50%);
}
.impact-card {
  padding:1.5rem 1.6rem;
  border:1px solid rgba(225,184,97,.32);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(34,25,15,.90),rgba(9,7,5,.98));
  box-shadow:0 18px 45px rgba(0,0,0,.28);
}
.impact-card h3 { color:#fff1cf; margin-bottom:.75rem; }
.impact-card p:last-child { margin-bottom:0; }
.impact-growing-note {
  margin:1.6rem 0 0 191px;
  padding:.9rem 1rem;
  border-left:2px solid rgba(239,199,109,.45);
  color:#ad9f8b;
  font-size:.9rem;
}
.school-support-closing { align-items:center; }
.school-support-closing h2 { margin-bottom:1rem; }
.school-support-cta { padding:clamp(1.4rem,3vw,2rem); }
.school-support-cta h3 { color:#f5d995; margin-bottom:.8rem; }
.school-support-cta .btn { margin-top:.45rem; }

@media (max-width:900px) {
  .story-opening-grid { grid-template-columns:1fr; }
  .story-promise-card { position:static; }
  .story-purpose-panel { grid-template-columns:1fr; }
  .story-purpose-action { grid-template-columns:repeat(2,minmax(0,1fr)); min-width:0; align-items:center; }
  .school-impact-heading { display:block; }
  .school-impact-heading > p { max-width:680px; text-align:left; margin-top:1rem; }
}

@media (max-width:680px) {
  .story-purpose-action { grid-template-columns:1fr; }
  .impact-entry { grid-template-columns:1fr; gap:.55rem; }
  .impact-date { padding:0; text-align:left; }
  .impact-marker { display:none; }
  .impact-growing-note { margin-left:0; }
  .story-values-grid .card,
  .school-support-principles .card { min-height:0; }
}

/* ============================================================
   F.T.M. CUSTOM WEBSITE v1.62.9 — PRODUCT-TO-CART JOURNEYS
   Coffee beans fly to the real cart; apparel is hung before it
   travels; tumbler purchases are boxed before heading to cart.
   ============================================================ */

/* The old decorative cup beside coffee buttons is retired. */
.cart-action > .cart-cup,
.uniform-cart-row > .cart-cup,
.apparel-cart-row > .cart-cup {
  display: none !important;
}

.ftm-cart-bean {
  display: block !important;
  opacity: 1;
  animation: none !important;
  z-index: 2147483000 !important;
}

.ftm-mobile-cart-target {
  position: fixed;
  top: max(16px, env(safe-area-inset-top));
  right: 16px;
  width: 72px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 7px 9px;
  border: 1px solid rgba(244,216,146,.58);
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(8,5,3,.98), rgba(35,23,12,.96));
  box-shadow: 0 14px 36px rgba(0,0,0,.48), 0 0 24px rgba(189,132,43,.18);
  pointer-events: none;
  z-index: 2147482990;
}

.ftm-mobile-cart-target .nav-cup-icon {
  transform: scale(.92);
}

.ftm-mini-cart-glyph {
  font-size: 1.2rem;
}

.ftm-cart-arrival {
  animation: ftmCartArrival 820ms cubic-bezier(.2,.82,.2,1) both !important;
}

.ftm-cart-arrival .nav-cup-icon,
.ftm-cart-arrival .cart-count {
  filter: brightness(1.28) drop-shadow(0 0 9px rgba(244,216,146,.45));
}

@keyframes ftmCartArrival {
  0%,100% { transform: translateY(0) scale(1); }
  22% { transform: translateY(-5px) scale(1.1) rotate(-2deg); }
  45% { transform: translateY(2px) scale(.96) rotate(1deg); }
  67% { transform: translateY(-2px) scale(1.04); }
}

.ftm-apparel-flight,
.ftm-tumbler-flight {
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  z-index: 2147483001;
  transform: translate(-50%, -50%);
  transform-origin: center;
  will-change: transform, opacity;
}

.ftm-apparel-flight {
  width: 92px;
  height: 112px;
  transform: translate(-50%, -50%) scale(.72);
  filter: drop-shadow(0 15px 22px rgba(0,0,0,.46));
}

.ftm-flight-hanger {
  position: absolute;
  z-index: 1;
  left: 6px;
  top: -14px;
  width: 80px;
  height: 60px;
  opacity: 0;
  transform-origin: 50% 62%;
}

.ftm-flight-hanger svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.ftm-flight-hanger path {
  fill: none;
  stroke: #e7c675;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.62));
}

.ftm-flight-shirt {
  position: absolute;
  z-index: 2;
  left: 4px;
  top: 24px;
  width: 84px;
  height: 82px;
  display: grid;
  place-items: center;
  clip-path: polygon(24% 0, 39% 0, 42% 9%, 50% 13%, 58% 9%, 61% 0, 76% 0, 100% 24%, 82% 43%, 72% 34%, 74% 100%, 26% 100%, 28% 34%, 18% 43%, 0 24%);
  color: rgba(255,242,203,.9);
  background:
    radial-gradient(ellipse at 35% 15%, rgba(255,255,255,.27), transparent 31%),
    linear-gradient(145deg, color-mix(in srgb, var(--ftm-shirt-color) 82%, white), var(--ftm-shirt-color) 46%, color-mix(in srgb, var(--ftm-shirt-color) 72%, black));
  border: 1px solid rgba(244,216,146,.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), inset 0 -10px 18px rgba(0,0,0,.23), 0 0 15px rgba(189,132,43,.17);
  opacity: 0;
}

.ftm-flight-shirt::before {
  content: '';
  position: absolute;
  left: 50%;
  top: -1px;
  width: 23px;
  height: 14px;
  border-radius: 0 0 50% 50%;
  transform: translateX(-50%);
  background: #120b06;
  border: 1px solid rgba(244,216,146,.48);
  border-top: 0;
}

.ftm-flight-shirt::after {
  content: '';
  position: absolute;
  inset: 7px 17px 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  pointer-events: none;
}

.ftm-flight-shirt > span {
  margin-top: 12px;
  font-family: Georgia, serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  text-shadow: 0 2px 4px rgba(0,0,0,.72);
}

.ftm-tumbler-flight {
  width: 110px;
  height: 126px;
  opacity: 0;
  filter: drop-shadow(0 16px 24px rgba(0,0,0,.48));
}

.ftm-flight-tumbler {
  position: absolute;
  z-index: 1;
  left: 36px;
  top: 0;
  width: 38px;
  height: 86px;
  border-radius: 11px 11px 15px 15px / 7px 7px 13px 13px;
  border: 1px solid rgba(244,216,146,.78);
  background:
    linear-gradient(100deg, rgba(255,255,255,.28), transparent 20% 75%, rgba(0,0,0,.24)),
    linear-gradient(160deg, #d5aa4c, #15100a 40%, #8d5a1d 78%, #080503);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34), inset 0 -10px 18px rgba(0,0,0,.35), 0 0 18px rgba(189,132,43,.2);
  overflow: visible;
}

.ftm-flight-tumbler-lid {
  position: absolute;
  left: -3px;
  right: -3px;
  top: -7px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid rgba(244,216,146,.7);
  background: linear-gradient(180deg, #302217, #080503);
  box-shadow: inset 0 2px 2px rgba(255,255,255,.17);
}

.ftm-flight-tumbler-art {
  position: absolute;
  inset: 14px 5px 11px;
  border-radius: 7px;
  background-color: rgba(8,5,3,.72);
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 0 0 1px rgba(244,216,146,.35);
}

.ftm-flight-box {
  position: absolute;
  z-index: 3;
  left: 13px;
  bottom: 1px;
  width: 84px;
  height: 62px;
  opacity: 0;
  perspective: 150px;
}

.ftm-box-front {
  position: absolute;
  z-index: 4;
  inset: 15px 0 0;
  display: grid;
  place-content: center;
  text-align: center;
  border: 1px solid rgba(244,216,146,.75);
  border-radius: 4px 4px 8px 8px;
  background:
    linear-gradient(125deg, rgba(255,236,181,.13), transparent 38%),
    linear-gradient(145deg, #21150b, #080503 72%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), inset 0 -9px 13px rgba(0,0,0,.32), 0 8px 16px rgba(0,0,0,.3);
  color: #efd58e;
}

.ftm-box-front b {
  font-family: Georgia, serif;
  font-size: 17px;
  line-height: 1;
  letter-spacing: .12em;
}

.ftm-box-front small {
  margin-top: 3px;
  font-size: 7px;
  letter-spacing: .18em;
}

.ftm-box-flap {
  position: absolute;
  z-index: 5;
  top: 5px;
  width: 43px;
  height: 22px;
  border: 1px solid rgba(244,216,146,.68);
  background: linear-gradient(145deg, #2c1b0d, #0c0703);
  transform-origin: bottom center;
}

.ftm-box-flap-left {
  left: 0;
  clip-path: polygon(0 0, 100% 36%, 100% 100%, 0 100%);
  transform: rotate(-32deg);
}

.ftm-box-flap-right {
  right: 0;
  clip-path: polygon(0 36%, 100% 0, 100% 100%, 0 100%);
  transform: rotate(32deg);
}

@media (max-width: 920px) {
  .ftm-apparel-flight { width: 80px; height: 100px; }
  .ftm-flight-shirt { width: 74px; height: 72px; }
  .ftm-flight-hanger { width: 70px; }
  .ftm-tumbler-flight { transform-origin: center; }
}

@media (prefers-reduced-motion: reduce) {
  .ftm-cart-bean,
  .ftm-apparel-flight,
  .ftm-tumbler-flight {
    display: none !important;
  }
  .ftm-cart-arrival {
    animation-duration: 1ms !important;
  }
}


/* ========================================================================== 
   F.T.M. Website v1.63.0 — customer-facing polish
   ========================================================================== */

/* Remove the faint white/gray construction-grid texture from page backgrounds. */
body::before {
  background: radial-gradient(circle at center, transparent 0 38%, rgba(0,0,0,.4) 100%) !important;
  opacity: 1 !important;
}
body::after { display: none !important; }

/* Make product-card hover lighting visibly intentional rather than barely there. */
.product-card,
.apparel-product-card,
.coming-soon-feature {
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, filter .24s ease !important;
}
.product-card:is(:hover,:focus-within),
.apparel-product-card:is(:hover,:focus-within),
.coming-soon-feature:is(:hover,:focus-visible) {
  border-color: rgba(244,216,146,.72) !important;
  box-shadow:
    0 30px 84px rgba(0,0,0,.58),
    0 0 22px rgba(255,225,150,.2),
    0 0 52px rgba(189,132,43,.34),
    inset 0 0 0 1px rgba(255,239,191,.08) !important;
}
.product-card:is(:hover,:focus-within) .product-art,
.apparel-product-card:is(:hover,:focus-within) .apparel-card-image {
  filter: brightness(1.045) saturate(1.04);
}

/* Restore a strong, readable gold control around apparel Add to Cart text. */
.apparel-cart-row .uniform-add-cart.add-cart-btn {
  min-height: 52px !important;
  border: 1px solid rgba(255,232,171,.76) !important;
  color: #170f05 !important;
  background: linear-gradient(135deg,#fff2bf 0%,#e5bd63 34%,#b77a25 72%,#f3d78d 100%) !important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.34),
    0 0 30px rgba(189,132,43,.3),
    inset 0 1px 0 rgba(255,255,255,.52) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.24) !important;
}
.apparel-cart-row .uniform-add-cart.add-cart-btn:is(:hover,:focus-visible) {
  filter: saturate(1.08) brightness(1.08) !important;
  box-shadow:
    0 17px 38px rgba(0,0,0,.4),
    0 0 42px rgba(225,174,70,.48),
    inset 0 1px 0 rgba(255,255,255,.6) !important;
}

@media (prefers-reduced-motion: reduce) {
  .product-card,
  .apparel-product-card,
  .coming-soon-feature { transition-duration: 1ms !important; }
}


/* Custom apparel service listings */
.custom-apparel-panel { display: grid; gap: 1.4rem; }
.custom-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.35rem; }
.custom-service-card { display: flex; flex-direction: column; min-height: 100%; padding: 1.7rem; }
.custom-service-card h3 { margin: .25rem 0 .8rem; color: var(--champagne); }
.custom-service-card > p:not(.eyebrow) { color: #d2c8b9; }
.custom-service-card .btn { align-self: flex-start; margin-top: auto; }
.custom-service-number { position: absolute; right: 1.15rem; top: .8rem; font-family: Georgia,serif; font-size: 2.4rem; color: rgba(244,216,146,.16); }
.custom-service-price { display: grid; gap: .15rem; margin: 1.2rem 0 1.3rem; padding: 1rem; border: 1px solid rgba(244,216,146,.28); border-radius: 14px; background: rgba(189,132,43,.08); }
.custom-service-price strong { color: var(--gold-soft); font-size: 1.65rem; }
.custom-service-price span { color: #c9bdab; font-size: .86rem; }
.custom-service-note { margin: 0; color: #bfb3a2; font-size: .9rem; }
@media(max-width:760px){.custom-service-grid{grid-template-columns:1fr}.custom-service-card .btn{width:100%;justify-content:center}}


/* ========================================================================== 
   F.T.M. Website v1.63.2 — slower, clearer coffee trail
   ========================================================================== */

/* Real F.T.M. logo on the animated apparel shirt. */
.ftm-flight-shirt > span { display: none !important; }
.ftm-flight-shirt > img {
  position: relative;
  z-index: 2;
  display: block;
  width: 34px;
  height: 34px;
  margin-top: 12px;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.78)) drop-shadow(0 0 4px rgba(244,216,146,.22));
}

/* A quiet gold shimmer and a whisper of steam follow the varied-size beans. */
.ftm-coffee-glitter,
.ftm-coffee-steam-trail {
  position: fixed;
  display: block;
  pointer-events: none;
  z-index: 2147482999;
  opacity: 0;
  will-change: transform, opacity;
}

.ftm-coffee-glitter {
  border-radius: 50%;
  background:
    radial-gradient(circle, #fff7cf 0 16%, #f4d892 25%, #c4892f 53%, rgba(196,137,47,0) 74%);
  box-shadow:
    0 0 4px rgba(255,240,184,.88),
    0 0 9px rgba(210,155,60,.52);
}

.ftm-coffee-steam-trail {
  width: 13px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(255,244,211,0), rgba(244,216,146,.32) 42%, rgba(244,216,146,0));
  filter: blur(4px);
  transform-origin: center;
}

@media (max-width: 920px) {
  .ftm-flight-shirt > img { width: 30px; height: 30px; margin-top: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .ftm-coffee-glitter,
  .ftm-coffee-steam-trail { display: none !important; }
}


/* ========================================================================== 
   F.T.M. Website v1.63.2 — slower, clearly readable coffee-cart animation
   ========================================================================== */

/* Larger, warmer beans stay recognizable while moving instead of becoming a blur. */
.ftm-cart-bean {
  filter:
    drop-shadow(0 3px 4px rgba(0,0,0,.72))
    drop-shadow(0 0 5px rgba(208,145,48,.26));
}

/* Make the gold trail deliberately visible while keeping it refined. */
.ftm-coffee-glitter {
  clip-path: polygon(50% 0, 61% 38%, 100% 50%, 61% 62%, 50% 100%, 39% 62%, 0 50%, 39% 38%);
  background: radial-gradient(circle, #fff9d7 0 18%, #f8dd8f 28%, #d79a35 54%, rgba(186,119,29,0) 78%);
  box-shadow:
    0 0 6px rgba(255,246,205,.98),
    0 0 13px rgba(237,190,91,.84),
    0 0 23px rgba(183,112,29,.56);
  filter: saturate(1.16) brightness(1.15);
}

.ftm-coffee-steam-trail {
  width: 16px;
  height: 46px;
  background: linear-gradient(180deg, rgba(255,244,211,0), rgba(244,216,146,.4) 42%, rgba(244,216,146,0));
  filter: blur(4.5px);
}

/* ========================================================================== 
   F.T.M. Website v1.63.3 — dimensional gold bevel system
   Visual-only upgrade: raised framed surfaces, tactile controls, and title plates.
   Cart, inventory, taxes, shipping, and Square checkout logic are unchanged.
   ========================================================================== */
:root {
  --ftm-bevel-light: rgba(255, 244, 207, .48);
  --ftm-bevel-soft: rgba(244, 216, 146, .20);
  --ftm-bevel-mid: rgba(151, 103, 34, .62);
  --ftm-bevel-dark: rgba(0, 0, 0, .94);
  --ftm-bevel-floor: #060301;
}

/* Header bars read like layered, machined plaques. */
.notice-bar {
  box-shadow:
    inset 0 2px 0 rgba(255,244,207,.16),
    inset 0 -2px 0 rgba(0,0,0,.88),
    0 2px 0 rgba(117,73,22,.48),
    0 5px 14px rgba(0,0,0,.34) !important;
}
.site-header {
  border-bottom-color: rgba(244,216,146,.38) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,244,207,.09),
    inset 0 -2px 0 rgba(0,0,0,.86),
    0 3px 0 rgba(105,65,18,.48),
    0 14px 38px rgba(0,0,0,.48) !important;
}

/* Interior title areas become substantial raised gold-edged header plates. */
.page-hero .container,
.apparel-page-hero .container,
.roast-category-hero .container,
.policy-hero .container,
.story-hero .container,
.school-support-hero .container,
.cart-page-hero .container,
.success-hero .container {
  position: relative;
  padding: clamp(1.65rem, 4vw, 3.25rem);
  border: 1px solid rgba(244,216,146,.34);
  border-radius: 26px;
  background:
    linear-gradient(145deg, rgba(31,21,12,.88), rgba(5,3,2,.96));
  outline: 1px solid rgba(255,245,213,.08);
  outline-offset: -6px;
  box-shadow:
    inset 3px 3px 1px var(--ftm-bevel-light),
    inset 7px 7px 15px rgba(255,255,255,.025),
    inset -3px -3px 2px var(--ftm-bevel-dark),
    inset -10px -10px 20px rgba(0,0,0,.30),
    0 2px 0 rgba(255,234,178,.24),
    0 5px 0 rgba(128,82,24,.70),
    0 8px 0 var(--ftm-bevel-floor),
    0 22px 42px rgba(0,0,0,.50),
    0 42px 88px rgba(0,0,0,.23) !important;
}

/* Section headings receive a shallower raised plaque so titles stay readable. */
.section-head {
  padding: 1.15rem 1.35rem 1.2rem;
  border: 1px solid rgba(244,216,146,.25);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(28,19,11,.68), rgba(5,4,3,.82));
  outline: 1px solid rgba(255,245,213,.055);
  outline-offset: -5px;
  box-shadow:
    inset 2px 2px 1px rgba(255,244,207,.28),
    inset -3px -3px 2px rgba(0,0,0,.88),
    0 2px 0 rgba(232,195,112,.15),
    0 5px 0 rgba(72,43,13,.72),
    0 13px 28px rgba(0,0,0,.34) !important;
}
.section-head::after { left: 1.35rem !important; bottom: .62rem !important; }

/* Deep outward bevel for every established framed surface. Backgrounds remain
   product-specific; this layer changes only edge depth and lighting. */
.hero-card,
.card,
.product-card,
.callout,
.table-wrap,
.form-box,
.policy-card,
.success-panel,
.story-quote-panel,
.story-purpose-panel,
.story-promise-card,
.impact-card,
.last-chance-card,
.new-arrivals-panel,
.new-release-card,
.coming-soon-feature,
.simple-origin-card,
.size-chart-card,
.custom-service-card,
.custom-service-price,
.cart-summary,
.cart-shipping-card,
.cart-discount-box,
.cart-policy-note,
.apparel-product-card,
.apparel-buy-panel,
.apparel-description-card,
.apparel-guide-card,
.apparel-care-card,
.apparel-policy-notice p,
.uniform-panel,
.uniform-purchase-card,
.uniform-story-card,
.uniform-origin-card,
.kraken-product-panel,
.kraken-story-card,
.anime-v145-panel {
  position: relative;
  background-clip: padding-box;
  border-color: rgba(244,216,146,.36) !important;
  outline: 1px solid rgba(255,245,213,.065);
  outline-offset: -6px;
  box-shadow:
    inset 3px 3px 1px rgba(255,244,207,.40),
    inset 7px 7px 14px rgba(255,255,255,.025),
    inset -3px -3px 2px rgba(0,0,0,.94),
    inset -9px -9px 18px rgba(0,0,0,.28),
    0 2px 0 rgba(255,232,168,.22),
    0 5px 0 rgba(120,76,22,.68),
    0 8px 0 var(--ftm-bevel-floor),
    0 20px 34px rgba(0,0,0,.46),
    0 38px 74px rgba(0,0,0,.23) !important;
}

/* Hovered surfaces step forward without a distracting tilt. */
.card:is(:hover,:focus-within),
.product-card:is(:hover,:focus-within),
.apparel-product-card:is(:hover,:focus-within),
.coming-soon-feature:is(:hover,:focus-visible),
.new-release-card:is(:hover,:focus-within),
.simple-origin-card:is(:hover,:focus-within),
.custom-service-card:is(:hover,:focus-within) {
  transform: translateY(-6px) !important;
  border-color: rgba(255,235,181,.68) !important;
  box-shadow:
    inset 3px 3px 1px rgba(255,248,221,.52),
    inset 8px 8px 16px rgba(255,255,255,.04),
    inset -4px -4px 3px rgba(0,0,0,.95),
    inset -10px -10px 20px rgba(0,0,0,.31),
    0 3px 0 rgba(255,238,190,.28),
    0 7px 0 rgba(143,91,25,.78),
    0 11px 0 #050301,
    0 28px 46px rgba(0,0,0,.56),
    0 0 46px rgba(189,132,43,.28) !important;
}

/* Smaller image wells, selection groups, and informational tiles use a
   shallower inset/outset bevel so they remain clearly nested. */
.product-art,
.apparel-card-image,
.apparel-main-image,
.apparel-selector,
.uniform-brew-method,
.simple-origin-map-tile,
.feature-item,
.pill,
.price-row span,
.luxury-badge,
.uniform-quantity > div,
.anime-v145-quantity > div,
.cart-discount-entry,
.cart-field input,
.cart-field select {
  border-color: rgba(244,216,146,.30) !important;
  box-shadow:
    inset 2px 2px 1px rgba(255,244,207,.24),
    inset -2px -2px 3px rgba(0,0,0,.88),
    0 2px 0 rgba(203,157,70,.14),
    0 5px 12px rgba(0,0,0,.30) !important;
}

/* Tactile beveled controls. Existing gold fills and animated sheen remain. */
.btn,
.add-cart-btn,
.uniform-add-cart,
.anime-v145-add,
.cart-checkout-button,
.cart-clear-button,
.cart-discount-button,
.nav-toggle,
.apparel-size-btn,
.apparel-swatch,
.uniform-choice-row button,
.anime-v145-edition-button {
  border-color: rgba(255,239,195,.58) !important;
  transform: translateY(0);
  box-shadow:
    inset 2px 2px 1px rgba(255,255,255,.52),
    inset 0 5px 8px rgba(255,255,255,.06),
    inset -3px -3px 5px rgba(0,0,0,.70),
    0 2px 0 rgba(255,235,180,.28),
    0 5px 0 rgba(126,78,20,.82),
    0 8px 0 #060301,
    0 15px 25px rgba(0,0,0,.38) !important;
}

.btn:is(:hover,:focus-visible),
.add-cart-btn:is(:hover,:focus-visible),
.uniform-add-cart:is(:hover,:focus-visible),
.anime-v145-add:is(:hover,:focus-visible),
.cart-checkout-button:is(:hover,:focus-visible),
.cart-clear-button:is(:hover,:focus-visible),
.cart-discount-button:is(:hover,:focus-visible),
.nav-toggle:is(:hover,:focus-visible),
.apparel-size-btn:is(:hover,:focus-visible),
.apparel-swatch:is(:hover,:focus-visible),
.uniform-choice-row button:is(:hover,:focus-visible),
.anime-v145-edition-button:is(:hover,:focus-visible) {
  transform: translateY(-3px) !important;
  box-shadow:
    inset 2px 2px 1px rgba(255,255,255,.62),
    inset 0 6px 9px rgba(255,255,255,.08),
    inset -3px -3px 5px rgba(0,0,0,.72),
    0 3px 0 rgba(255,244,211,.31),
    0 7px 0 rgba(151,94,24,.88),
    0 11px 0 #050301,
    0 22px 35px rgba(0,0,0,.45),
    0 0 28px rgba(189,132,43,.22) !important;
}

.btn:active,
.add-cart-btn:active,
.uniform-add-cart:active,
.anime-v145-add:active,
.cart-checkout-button:active,
.cart-clear-button:active,
.cart-discount-button:active,
.nav-toggle:active,
.apparel-size-btn:active,
.apparel-swatch:active,
.uniform-choice-row button:active,
.anime-v145-edition-button:active {
  transform: translateY(4px) !important;
  box-shadow:
    inset 3px 3px 6px rgba(0,0,0,.66),
    inset -1px -1px 1px rgba(255,255,255,.18),
    0 1px 0 rgba(111,68,18,.76),
    0 3px 8px rgba(0,0,0,.36) !important;
}

/* Navigation links become subtly raised gold-edged tabs on hover/active. */
.main-nav a:not(.btn):is(:hover,:focus-visible,.active),
.cart-nav-link:is(:hover,:focus-visible) {
  border-radius: 9px;
  box-shadow:
    inset 1px 1px 0 rgba(255,244,207,.16),
    inset -1px -1px 2px rgba(0,0,0,.72),
    0 3px 8px rgba(0,0,0,.26);
}

/* Forms read as recessed fields inside the raised panels. */
input,
select,
textarea {
  box-shadow:
    inset 3px 3px 7px rgba(0,0,0,.72),
    inset -1px -1px 1px rgba(255,244,207,.08),
    0 1px 0 rgba(255,255,255,.035) !important;
}

@media (max-width: 620px) {
  .page-hero .container,
  .apparel-page-hero .container,
  .roast-category-hero .container,
  .policy-hero .container,
  .story-hero .container,
  .school-support-hero .container,
  .cart-page-hero .container,
  .success-hero .container {
    padding: 1.45rem 1.1rem;
    border-radius: 21px;
  }

  .hero-card,
  .card,
  .product-card,
  .callout,
  .table-wrap,
  .form-box,
  .policy-card,
  .success-panel,
  .story-quote-panel,
  .story-purpose-panel,
  .impact-card,
  .new-arrivals-panel,
  .new-release-card,
  .coming-soon-feature,
  .apparel-product-card,
  .apparel-buy-panel,
  .apparel-description-card,
  .apparel-guide-card,
  .uniform-panel,
  .uniform-purchase-card,
  .uniform-story-card,
  .uniform-origin-card,
  .anime-v145-panel {
    box-shadow:
      inset 2px 2px 1px rgba(255,244,207,.30),
      inset -3px -3px 3px rgba(0,0,0,.90),
      0 2px 0 rgba(220,179,91,.17),
      0 5px 0 #060301,
      0 18px 34px rgba(0,0,0,.42) !important;
  }
}

@media (hover: none) {
  .card:is(:hover,:focus-within),
  .product-card:is(:hover,:focus-within),
  .apparel-product-card:is(:hover,:focus-within),
  .coming-soon-feature:is(:hover,:focus-visible),
  .new-release-card:is(:hover,:focus-within),
  .simple-origin-card:is(:hover,:focus-within),
  .custom-service-card:is(:hover,:focus-within) {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  .add-cart-btn,
  .uniform-add-cart,
  .anime-v145-add,
  .cart-checkout-button,
  .cart-clear-button,
  .cart-discount-button,
  .nav-toggle,
  .apparel-size-btn,
  .apparel-swatch,
  .uniform-choice-row button,
  .anime-v145-edition-button,
  .card,
  .product-card,
  .apparel-product-card,
  .coming-soon-feature,
  .new-release-card,
  .simple-origin-card,
  .custom-service-card {
    transition-duration: 1ms !important;
  }
}

/* ========================================================================== 
   F.T.M. Website v1.63.3A — rotating foil color on apparel catalog titles
   Restores the continuous brand-color motion to linked product names on the
   All Apparel and apparel category grids. Product pages, cart, and checkout
   behavior are unchanged.
   ========================================================================== */
.apparel-card-copy h3,
.apparel-card-copy h3 a {
  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;
}

/* Keep each card slightly out of phase so the catalog feels naturally alive. */
.apparel-product-card:nth-child(3n + 2) .apparel-card-copy h3,
.apparel-product-card:nth-child(3n + 2) .apparel-card-copy h3 a {
  animation-delay: -2.33s !important;
}
.apparel-product-card:nth-child(3n) .apparel-card-copy h3,
.apparel-product-card:nth-child(3n) .apparel-card-copy h3 a {
  animation-delay: -4.66s !important;
}

.apparel-card-copy h3 a:hover,
.apparel-card-copy h3 a:focus-visible {
  filter: brightness(1.2) !important;
}

@media (prefers-reduced-motion: reduce) {
  .apparel-card-copy h3,
  .apparel-card-copy h3 a {
    animation: none !important;
    background-position: 50% 50% !important;
    filter: none !important;
    will-change: auto;
  }
}

/* ========================================================================== 
   F.T.M. Website v1.66.1 — global desktop header navigation repair
   Keep complete labels visible while retaining the clipped sheen animation.
   ========================================================================== */
@media (min-width: 921px) {
  .site-header .container {
    width: min(1400px, calc(100% - 24px));
  }

  .site-header .main-nav {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: flex-end;
    gap: clamp(.46rem, .72vw, .88rem);
    font-size: clamp(.84rem, .92vw, .95rem);
    flex-wrap: nowrap;
  }

  .site-header .main-nav > a,
  .site-header .main-nav > .btn,
  .site-header .cart-nav-link,
  .site-header .cart-nav-link > span {
    flex: 0 0 auto;
    min-width: max-content;
    white-space: nowrap !important;
  }

  .site-header .main-nav > a:not(.btn) {
    padding-inline: .18rem;
  }

  .site-header .main-nav > a.btn {
    padding: .72rem .92rem;
  }
}

@media (min-width: 921px) and (max-width: 1240px) {
  .site-header .brand {
    min-width: auto;
    flex: 0 0 auto;
  }

  .site-header .brand-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

/* Preserve lowercase descenders in the oversized home-page display line. */
.hero .hero-grid h1 {
  padding-bottom: .14em;
  margin-bottom: -.14em;
}

/* Preserve lowercase descenders in every prominent content heading. */
main h1,
main h2 {
  line-height: 1.08;
  padding-bottom: .16em;
  overflow: visible;
}

.page-hero > .container,
.hero .hero-grid,
.apparel-hero .container {
  padding-top: clamp(1rem, 2vw, 2rem);
  padding-bottom: clamp(1rem, 2vw, 2rem);
}

.testimonial-grid-single {
  grid-template-columns: minmax(0, 1fr);
  max-width: 780px;
}

.product-customer-review-section {
  padding: clamp(3.25rem, 7vw, 6rem) 0;
  background: linear-gradient(180deg, #100d0a, #17100b);
  border-top: 1px solid rgba(215, 74, 32, .24);
}

.product-customer-review-card {
  width: min(100%, 900px);
  margin: 0 auto;
  padding: clamp(1.7rem, 5vw, 3.5rem);
  text-align: center;
  border: 1px solid #8d492d;
  border-radius: 20px;
  background: radial-gradient(circle at top, rgba(215, 74, 32, .12), transparent 48%), #11100e;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .32), inset 0 1px rgba(255, 255, 255, .04);
}

.product-customer-review-card h2 {
  margin: .45rem 0 1.25rem;
}

.product-customer-review-card blockquote {
  margin: 0 auto;
  max-width: 760px;
  color: #eadfc9;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.7;
}

.product-review-author {
  margin: 1.15rem 0 0;
  color: var(--uniform-accent-soft);
  font-weight: 700;
}

/* Keep the entire diagonal merchandising label inside each product card. */
.new-release-card .new-release-ribbon {
  top: 26px;
  left: -32px;
  width: 170px;
  padding: 6px 0;
  box-sizing: border-box;
  transform: rotate(-38deg);
  transform-origin: center;
  white-space: nowrap;
}

/* Center the New Releases introduction within its panel column. */
.new-arrivals-panel > div:first-child {
  min-width: 0;
  min-height: 320px;
  padding: 2rem clamp(1.5rem, 4vw, 4rem);
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
}

.new-arrivals-panel > div:first-child h2 {
  width: min(100%, 720px);
  margin: .55rem auto 0;
}

@media (max-width: 920px) {
  .new-arrivals-panel > div:first-child {
    min-height: 250px;
    padding: 2rem 1.5rem;
  }
}
.review-page{min-height:100vh;background:radial-gradient(circle at top,#37250f 0,#130f0b 34%,#090807 75%);color:#f4eee3}.review-shell{width:min(760px,calc(100% - 28px));margin:0 auto;padding:42px 0 70px}.review-brand{display:flex;align-items:center;gap:13px;color:#f5d47a;text-decoration:none;margin:0 auto 28px;width:max-content}.review-brand img{width:58px;height:58px;object-fit:contain}.review-brand strong,.review-brand small{display:block}.review-brand strong{font-family:Georgia,serif;letter-spacing:.08em}.review-brand small{color:#ae9c78;font-size:.72rem;margin-top:3px}.review-card{background:linear-gradient(145deg,rgba(31,25,19,.98),rgba(13,12,11,.98));border:1px solid #6b5128;border-radius:20px;padding:clamp(25px,5vw,50px);box-shadow:0 28px 70px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.04)}.review-card h1{font-family:Georgia,serif;font-size:clamp(2rem,6vw,3.3rem);margin:8px 0 12px;color:#ffe7a2}.review-card>p{color:#bcb2a1;line-height:1.55}.review-form{display:grid;gap:18px;margin-top:28px}.review-form[hidden]{display:none}.review-product{border:1px solid #4f422d;background:#15120e;border-radius:12px;padding:15px}.review-product span,.review-product strong,.review-product small{display:block}.review-product span{color:#8e8068;font-size:.65rem;text-transform:uppercase;letter-spacing:.09em}.review-product strong{color:#f2d483;margin:5px 0}.review-product small{color:#756b5c}.review-form fieldset{border:0;padding:0;margin:0}.review-form legend,.review-form label{font-weight:700;color:#e9dfca;font-size:.82rem}.review-form label span{font-weight:400;color:#837969}.review-form input[type=text],.review-form input:not([type]),.review-form textarea{display:block;width:100%;margin-top:7px;background:#0b0a09;border:1px solid #443b30;border-radius:10px;color:#fff;padding:12px 13px;font:inherit}.review-form textarea{min-height:145px;resize:vertical}.star-picker{display:flex;flex-direction:row-reverse;justify-content:flex-end;margin-top:8px}.star-picker input{position:absolute;opacity:0}.star-picker label{font-size:2.4rem;color:#4b4337;cursor:pointer;padding-right:5px;line-height:1}.star-picker label:hover,.star-picker label:hover~label,.star-picker input:checked~label{color:#f0c85b}.review-privacy{font-size:.72rem!important;color:#837a6b!important;margin:0}.review-message{margin-top:18px;line-height:1.5}.review-message.error{color:#ffb9b9}.review-message.success{border:1px solid #3c7650;background:rgba(49,116,72,.15);color:#a9ebbf;border-radius:12px;padding:16px}.review-form button:disabled{opacity:.55;cursor:wait}@media(max-width:560px){.review-shell{padding-top:24px}.review-brand small{max-width:220px}.review-card{border-radius:15px}.star-picker label{font-size:2.15rem}}
.verified-reviews-section{padding:68px 0;background:linear-gradient(180deg,#0d0c0b,#16110b);border-top:1px solid rgba(209,166,76,.18)}.verified-reviews-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.verified-reviews-head h2{font-family:Georgia,serif;color:#f4dda0;margin:5px 0 0}.verified-reviews-head [data-review-summary]{color:#d3b767;font-weight:700}.verified-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.verified-review-card{background:#11100e;border:1px solid #453820;border-radius:14px;padding:20px}.verified-review-stars{color:#efc95d;letter-spacing:.08em}.verified-review-card h3{font-family:Georgia,serif;color:#eee1c7;margin:12px 0 7px}.verified-review-card p{color:#b9afa0;line-height:1.55}.verified-review-card footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #30291e;margin-top:16px;padding-top:12px;font-size:.72rem}.verified-review-card footer span{color:#78d39a}.review-loading{color:#867d70}@media(max-width:800px){.verified-review-grid{grid-template-columns:1fr}.verified-reviews-head{align-items:flex-start;flex-direction:column}}


/* ==========================================================
   v1.67.1 — exact tumbler art + real photographed straw repair
   ========================================================== */
.tumbler-gallery>img{padding:1rem;background:radial-gradient(circle at 50% 38%,#fff 0,#f7f3ea 62%,#e8dfd0 100%);object-position:center;image-rendering:auto}
.tumbler-gallery-thumbs{grid-template-columns:repeat(auto-fit,minmax(82px,1fr))}
.tumbler-gallery-thumbs button{min-height:98px;overflow:hidden}.tumbler-gallery-thumbs img{height:86px}
.tumbler-design-preview,.tumbler-straw-preview{display:grid;grid-template-columns:112px 1fr;gap:1rem;align-items:center;padding:.85rem;border:1px solid var(--tumbler-line);border-radius:14px;background:#0a0705;margin:.75rem 0 1rem}
.tumbler-design-preview img,.tumbler-straw-preview img{width:112px;height:132px;object-fit:contain;border-radius:10px;background:#f6f1e8}
.tumbler-design-preview div,.tumbler-straw-preview div{display:grid;gap:.25rem}.tumbler-design-preview small,.tumbler-straw-preview small{color:#d5ad58;text-transform:uppercase;letter-spacing:.09em}.tumbler-design-preview strong,.tumbler-straw-preview strong{color:#fff1ce;line-height:1.25}.tumbler-design-preview span,.tumbler-straw-preview span{color:#d8c7a9;font-size:.86rem;line-height:1.4}
.tumbler-straw-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:.4rem 0 1rem}
.tumbler-straw-picker button{display:grid;grid-template-rows:100px auto;gap:.35rem;align-items:center;padding:.45rem;border:2px solid rgba(218,174,84,.28);border-radius:12px;background:#f6f1e8;color:#2b1b10;font:700 .72rem/1.15 inherit;cursor:pointer;overflow:hidden}
.tumbler-straw-picker button:hover,.tumbler-straw-picker button.active{border-color:#e8bd61;box-shadow:0 0 0 2px rgba(232,189,97,.18)}
.tumbler-straw-picker img{width:100%;height:100px;object-fit:contain}.tumbler-straw-picker span{display:block;min-height:2.2em}.tumbler-straw-picker .straw-none{display:grid;place-items:center;height:100px;color:#72511c}
.tumbler-straw-preview[hidden]{display:none}
@media(max-width:700px){.tumbler-design-preview,.tumbler-straw-preview{grid-template-columns:86px 1fr}.tumbler-design-preview img,.tumbler-straw-preview img{width:86px;height:108px}.tumbler-straw-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.tumbler-gallery>img{height:460px}}

/* Keep artwork-service radio controls compact and readable. */
.tumbler-addon label{align-items:center;line-height:1.35}
.tumbler-addon input[type="radio"]{appearance:auto!important;width:1rem!important;min-width:1rem!important;max-width:1rem!important;height:1rem!important;min-height:1rem!important;flex:0 0 1rem!important;margin:0 .15rem 0 0!important;padding:0!important;accent-color:#e8bd61;box-shadow:none!important}
.tumbler-addon label strong{margin-left:auto;white-space:nowrap}


/* F.T.M. v1.68.0 — locked tumbler placement system */
.tumbler-gallery{position:sticky;top:9rem}
.tumbler-mock-stage{--art-left:21.69%;--art-top:25.25%;--art-width:56.62%;--art-height:52%;position:relative;width:min(100%,560px);margin:0 auto;overflow:hidden;border:1px solid var(--tumbler-line);border-radius:24px;background:radial-gradient(circle at 50% 38%,#fff 0,#f7f3ea 62%,#e8dfd0 100%);box-shadow:0 20px 48px rgba(0,0,0,.32)}
.tumbler-cup-base{display:block;width:100%;height:auto;max-height:720px;object-fit:contain}
.tumbler-art-layer{position:absolute;left:var(--art-left);top:var(--art-top);width:var(--art-width);height:var(--art-height);object-fit:contain;object-position:center;pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.13))}
.tumbler-stage-label{position:absolute;left:50%;bottom:.7rem;transform:translateX(-50%);max-width:88%;padding:.35rem .7rem;border-radius:999px;background:rgba(12,8,5,.84);color:#ffe8aa;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,.28)}
.tumbler-mock-stage.show-cup-only .tumbler-art-layer{display:none}
.tumbler-mock-stage.show-art-only .tumbler-cup-base{opacity:.08}
.tumbler-mock-stage.show-art-only .tumbler-art-layer{left:8%;top:5%;width:84%;height:88%}
.tumbler-mock-stage.special-preview .tumbler-art-layer{display:none}
.tumbler-mock-disclaimer{margin:.75rem auto 0;max-width:600px;color:#d8c7a9;font-size:.83rem;line-height:1.45;text-align:center}
.tumbler-cup-picker,.tumbler-design-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:.7rem 0 1rem;max-height:350px;overflow:auto;padding:.25rem}
.tumbler-cup-picker button,.tumbler-design-picker button{display:grid;grid-template-rows:90px auto;gap:.35rem;align-items:center;padding:.35rem;border:2px solid transparent;border-radius:12px;background:#f7f1e7;color:#21170e;cursor:pointer}
.tumbler-cup-picker button.active,.tumbler-design-picker button.active{border-color:#efc762;box-shadow:0 0 0 2px rgba(239,199,98,.22)}
.tumbler-cup-picker img,.tumbler-design-picker img{width:100%;height:90px;object-fit:contain}
.tumbler-cup-picker span,.tumbler-design-picker span{font-size:.69rem;font-weight:800;line-height:1.15;text-align:center}
.design-picker-note{grid-column:1/-1;color:#d8c7a9;line-height:1.4;padding:.35rem}
@media(max-width:980px){.tumbler-gallery{position:static}.tumbler-mock-stage{width:min(100%,520px)}}
@media(max-width:700px){.tumbler-cup-picker,.tumbler-design-picker{grid-template-columns:repeat(3,minmax(0,1fr));max-height:310px}.tumbler-cup-picker button,.tumbler-design-picker button{grid-template-rows:72px auto}.tumbler-cup-picker img,.tumbler-design-picker img{height:72px}.tumbler-cup-base{max-height:620px}}

.last-chance-size-note{display:block;margin-top:.55rem;color:#f2c45f;font-weight:800;line-height:1.35}

/* =========================================================
   F.T.M. v1.69.0 — Tumbler collection and builder rebuild
   ========================================================= */
.tumbler-builder-section>.container{max-width:1540px}
.tumbler-builder{display:grid;grid-template-columns:minmax(240px,300px) minmax(330px,560px) minmax(380px,1fr);gap:clamp(1.25rem,2.4vw,2.5rem);align-items:start}
.tumbler-info-rail,.tumbler-gallery{position:sticky;top:9rem;align-self:start}
.tumbler-info-rail{display:grid;gap:1rem}
.tumbler-bevel-box{position:relative;overflow:hidden;padding:1.05rem;border:1px solid rgba(232,189,97,.7);border-radius:18px;background:linear-gradient(145deg,#171009 0,#090705 54%,#130d07 100%);box-shadow:inset 0 1px 0 rgba(255,235,177,.2),inset 0 -2px 0 rgba(91,58,15,.55),0 15px 34px rgba(0,0,0,.36)}
.tumbler-bevel-box:before{content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid rgba(232,189,97,.24);border-radius:13px}
.tumbler-bevel-box>*{position:relative;z-index:1}
.tumbler-bevel-box .eyebrow{margin:0 0 .25rem;color:#eac66e}.tumbler-bevel-box h2{margin:.15rem 0 .6rem;font-size:1.35rem;line-height:1.1}.tumbler-bevel-box p{margin:.35rem 0;color:#e6d5b6;font-size:.9rem;line-height:1.55}
.tumbler-finished-box{padding:.85rem}.tumbler-finished-heading{padding:.25rem .25rem .45rem}.tumbler-finished-heading h2{font-size:1.2rem}
.tumbler-finished-image-button{position:relative;display:grid;place-items:center;width:100%;min-height:250px;padding:0;overflow:hidden;border:1px solid rgba(232,189,97,.38);border-radius:13px;background:#050403;cursor:zoom-in}
.tumbler-finished-image-button:disabled{cursor:default}.tumbler-finished-image-button img{display:block;width:100%;height:280px;object-fit:contain;background:#080706}.tumbler-finished-placeholder{display:grid;place-items:center;min-height:240px;padding:1.4rem;color:#f3d68e;text-align:center;line-height:1.5}
.tumbler-finished-caption{min-height:4.3em;margin:.65rem .25rem .3rem!important;font-size:.8rem!important;text-align:center}
.tumbler-carousel-controls{display:grid;grid-template-columns:34px 1fr 34px;gap:.4rem;align-items:center}.tumbler-carousel-controls>button{width:34px;height:34px;padding:0;border:1px solid #a4772e;border-radius:50%;background:#0b0805;color:#f5d68a;font-size:1.35rem;cursor:pointer}.tumbler-carousel-dots{display:flex;justify-content:center;gap:.32rem;flex-wrap:wrap}.tumbler-carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#725526;cursor:pointer}.tumbler-carousel-dots button.active{background:#f0c665;box-shadow:0 0 0 2px rgba(240,198,101,.2)}
.tumbler-gallery{min-width:0}.tumbler-mock-stage{width:100%;max-width:560px}.tumbler-cup-base{width:100%;height:auto;object-fit:contain}.tumbler-accessory-stage{position:absolute;inset:0;width:100%;height:100%;padding:1.25rem;object-fit:contain;background:radial-gradient(circle at 50% 38%,#fff 0,#f7f3ea 62%,#e8dfd0 100%)}
.tumbler-mock-stage.show-accessory .tumbler-cup-base,.tumbler-mock-stage.show-accessory .tumbler-art-layer{visibility:hidden}.tumbler-mock-stage.show-accessory .tumbler-accessory-stage{display:block}
.tumbler-mock-stage.show-full-wrap .tumbler-art-layer{display:none}.tumbler-mock-stage.show-full-wrap .tumbler-cup-base{padding:.4rem;object-fit:contain}
.tumbler-mock-stage.special-art-preview .tumbler-art-layer{display:none}.tumbler-mock-stage.special-art-preview .tumbler-cup-base{padding:7%;object-fit:contain;background:radial-gradient(circle at 50% 40%,#fff 0,#f5efe5 66%,#ded1bd 100%)}
.tumbler-mock-stage.show-art-only .tumbler-cup-base{opacity:.06}.tumbler-mock-stage.show-art-only .tumbler-art-layer{left:8%;top:6%;width:84%;height:86%}
.tumbler-gallery-thumbs{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));max-width:560px;margin-left:auto;margin-right:auto}.tumbler-gallery-thumbs button{background:#f8f2e8}.tumbler-gallery-thumbs img{object-fit:contain}
.tumbler-specialty-options{margin:1rem 0;padding:1rem;border:1px solid rgba(232,189,97,.55);border-radius:14px;background:#0a0705}.tumbler-specialty-options .tumbler-field:first-child{margin-top:0}.tumbler-custom-color-note{margin:.7rem 0 0;color:#d8c7a9;font-size:.87rem;line-height:1.5}.tumbler-custom-color-note a{color:#f1ca70}
.tumbler-field[hidden],.tumbler-addon[hidden],.tumbler-specialty-options[hidden],.tumbler-cup-picker[hidden],.tumbler-finished-placeholder[hidden],.tumbler-carousel-controls[hidden]{display:none!important}
.tumbler-lightbox{width:min(94vw,1100px);max-height:92vh;padding:1rem;border:1px solid #d6a748;border-radius:18px;background:#090705;color:#f7e9c5;box-shadow:0 30px 100px #000}.tumbler-lightbox::backdrop{background:rgba(0,0,0,.86)}.tumbler-lightbox img{display:block;width:100%;max-height:78vh;object-fit:contain;background:#050403;border-radius:12px}.tumbler-lightbox p{text-align:center;line-height:1.5}.tumbler-lightbox button{position:absolute;right:.55rem;top:.45rem;z-index:2;width:38px;height:38px;border:1px solid #d6a748;border-radius:50%;background:#0c0906;color:#f7d883;font-size:1.5rem;cursor:pointer}
.tumbler-hero-finished{position:relative;overflow:hidden;border:1px solid var(--tumbler-line);border-radius:24px;background:#090705;box-shadow:0 22px 70px #000;min-height:min(560px,65vh)}.tumbler-hero-finished img{display:block;width:100%;height:min(560px,65vh);object-fit:contain}.tumbler-hero-rotator img{position:absolute;inset:0;opacity:0;transform:scale(1.012);transition:opacity .8s ease,transform 5s ease;background:#090705}.tumbler-hero-rotator img.active{opacity:1;transform:scale(1)}
.tumbler-card-rotator{position:relative;width:100%;height:310px;overflow:hidden;background:#080706}.tumbler-card-rotator img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(1.015);transition:opacity .7s ease,transform 5s ease;background:#080706}.tumbler-card-rotator img.active{opacity:1;transform:scale(1)}
.specialty-card-preview{position:relative;display:grid;place-items:center;align-content:center;width:100%;height:310px;overflow:hidden;background:radial-gradient(circle at 50% 55%,rgba(147,93,206,.55),transparent 48%),linear-gradient(145deg,#130b1d,#070509);color:#f6dc9b;text-align:center}.specialty-card-preview:before{content:"";width:130px;height:210px;border:4px solid rgba(255,255,255,.75);border-radius:25px 25px 42px 42px;box-shadow:inset 0 0 35px rgba(255,255,255,.3),0 0 35px rgba(170,100,255,.25)}.specialty-card-preview:after{content:"";position:absolute;top:42px;width:145px;height:18px;border-radius:8px;background:linear-gradient(#d7af72,#a7793e);box-shadow:0 2px 0 #704d26}.specialty-card-preview strong,.specialty-card-preview small{position:absolute;z-index:2}.specialty-card-preview strong{bottom:52px;font:700 1.35rem Georgia,serif}.specialty-card-preview small{bottom:28px;color:#e4cfaa}.specialty-card-preview .specialty-liquid{position:absolute;z-index:1;bottom:70px;width:118px;height:115px;border-radius:10px 10px 35px 35px;background:linear-gradient(180deg,rgba(255,97,225,.25),rgba(118,43,211,.88));animation:ftmPotion 4s ease-in-out infinite alternate}.lava-card{background:radial-gradient(circle at 50% 55%,rgba(255,106,28,.45),transparent 48%),linear-gradient(145deg,#1d0c07,#070403)}.lava-card .specialty-liquid{background:linear-gradient(180deg,rgba(255,188,58,.35),rgba(217,45,15,.9));animation-duration:5.5s}@keyframes ftmPotion{from{transform:skewY(-4deg) translateY(2px)}to{transform:skewY(4deg) translateY(-4px)}}
.tumbler-included img{object-fit:contain;background:#080706}
@media(max-width:1240px){.tumbler-builder{grid-template-columns:minmax(230px,280px) minmax(330px,1fr)}.tumbler-buy-panel{grid-column:1/-1}.tumbler-info-rail,.tumbler-gallery{position:static}.tumbler-buy-panel{max-width:900px;margin:0 auto;width:100%}}
@media(max-width:820px){.tumbler-builder{grid-template-columns:1fr}.tumbler-info-rail,.tumbler-gallery,.tumbler-buy-panel{grid-column:auto}.tumbler-info-rail{order:1;grid-template-columns:1fr 1fr}.tumbler-gallery{order:2}.tumbler-buy-panel{order:3}.tumbler-finished-image-button img{height:250px}}
@media(max-width:620px){.tumbler-info-rail{grid-template-columns:1fr}.tumbler-finished-image-button img{height:280px}.tumbler-card-rotator,.specialty-card-preview{height:280px}.tumbler-hero-finished{min-height:430px}.tumbler-hero-finished img{height:430px}.tumbler-mock-stage{border-radius:17px}}
.tumbler-accessory-stage[hidden]{display:none!important}
.tumbler-plate-label{position:absolute;left:14%;bottom:2.7%;width:72%;padding:.18rem .25rem;background:linear-gradient(180deg,#d9ad57,#bd8738);color:#171008;font:900 clamp(.62rem,1.15vw,.95rem)/1 Arial,sans-serif;text-align:center;text-transform:uppercase;letter-spacing:.01em;border-radius:6px;box-shadow:inset 0 1px 0 rgba(255,245,197,.5)}
.tumbler-plate-label[hidden]{display:none!important}
.tumbler-thumb-composite{position:relative;display:block;width:100%;height:86px;overflow:hidden}.tumbler-thumb-composite .thumb-cup{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.tumbler-thumb-composite .thumb-art{position:absolute;left:31%;top:24%;width:38%;height:47%;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
@media(max-width:700px){.tumbler-thumb-composite{height:72px}.tumbler-plate-label{bottom:2.5%;font-size:.67rem}}
[data-finished-image][hidden]{display:none!important}
.tumbler-mock-stage.special-art-preview.show-art-only .tumbler-cup-base{opacity:1}


/* =========================================================
   F.T.M. v1.70.0 — final tumbler deployment repairs
   ========================================================= */
.tumbler-design-preview{display:none!important}
.tumbler-straw-lineup{margin:.55rem 0 1rem;padding:.7rem;border:1px solid rgba(232,189,97,.42);border-radius:14px;background:linear-gradient(145deg,#171009,#080605)}
.tumbler-straw-lineup img{display:block;width:100%;max-height:350px;object-fit:contain;border-radius:10px;background:#303032}
.tumbler-straw-lineup figcaption{margin:.55rem .2rem 0;color:#d8c7a9;font-size:.78rem;line-height:1.45;text-align:center}
.tumbler-straw-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
.tumbler-straw-picker button{grid-template-rows:118px auto;min-height:160px;background:#302f31;color:#fff0ca;border-color:rgba(232,189,97,.36)}
.tumbler-straw-picker img{height:118px;object-fit:contain;background:#302f31;border-radius:8px}
.tumbler-straw-picker .straw-none{height:118px;padding:.5rem;background:#f6f1e8;border-radius:8px;color:#72511c}
.tumbler-straw-preview{grid-template-columns:128px 1fr}
.tumbler-straw-preview img{width:128px;height:180px;background:#302f31}
.tumbler-mock-stage.show-accessory .tumbler-accessory-stage{padding:1rem;background:#302f31;object-fit:contain}
.tumbler-cup-picker{grid-template-columns:repeat(4,minmax(0,1fr))}
.tumbler-design-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;max-height:470px}
.tumbler-design-picker button{grid-template-rows:112px minmax(3.2em,auto);min-height:170px;padding:.5rem;align-content:start}
.tumbler-design-picker img{height:112px;object-fit:contain}
.tumbler-design-picker span{font-size:.72rem;line-height:1.2;overflow-wrap:anywhere}
.tumbler-plate-label{display:none!important}
@media(max-width:700px){.tumbler-design-picker{grid-template-columns:repeat(2,minmax(0,1fr));max-height:430px}.tumbler-design-picker button{grid-template-rows:100px minmax(3em,auto);min-height:155px}.tumbler-design-picker img{height:100px}.tumbler-straw-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.tumbler-straw-preview{grid-template-columns:96px 1fr}.tumbler-straw-preview img{width:96px;height:150px}}

/* Atlas-powered public events */
.featured-event-wrap{margin-bottom:1.5rem}
.featured-event-card{position:relative;overflow:hidden;padding:clamp(1.4rem,3vw,2.2rem);border:1px solid rgba(212,170,72,.55);border-radius:20px;background:linear-gradient(145deg,rgba(27,22,14,.97),rgba(8,10,13,.98));box-shadow:inset 1px 1px 0 rgba(255,255,255,.08),0 18px 45px rgba(0,0,0,.28)}
.featured-event-card:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(212,170,72,.12);border-radius:50%;right:-90px;top:-110px}
.featured-event-card h2{margin:.4rem 0 .5rem}.featured-event-date{font-weight:800;color:#d9b45e}
.event-card-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.events-table td{vertical-align:top}.events-table td:first-child{min-width:145px}.events-table td:nth-child(3){min-width:110px}
.event-featured-badge{display:inline-block;margin-left:.55rem;padding:.18rem .45rem;border:1px solid rgba(204,158,55,.55);border-radius:999px;color:#dcb95f;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}
.featured-event-row{background:rgba(193,148,48,.055)}
.event-links{margin-top:.4rem}.event-links a{font-weight:700}


/* ==========================================================================
   F.T.M. Website v1.73.0 — Atlas Theme Studio runtime
   Visual-only controls. Store, checkout, product, review, and SEO logic stay separate.
   ========================================================================== */
:root{--ftm-theme-accent-rgb:189,132,43}
body[data-ftm-background-style="solid"]{background:var(--bg)!important}
body[data-ftm-background-style="vignette"]{background:radial-gradient(circle at 50% 24%,var(--bg-soft),var(--bg) 72%)!important}
body[data-ftm-background-style="glow"]{background:radial-gradient(circle at top left,rgba(var(--ftm-theme-accent-rgb),.12),transparent 32rem),radial-gradient(circle at top right,rgba(var(--ftm-theme-accent-rgb),.18),transparent 28rem),var(--bg)!important}
body[data-ftm-heading-style="modern"] :where(h1,h2,h3,h4,.brand-text strong,.uniform-title,.anime-v145-title){font-family:Arial,Helvetica,sans-serif!important;letter-spacing:.01em}
body[data-ftm-heading-style="bold"] :where(h1,h2,h3,h4,.uniform-title,.anime-v145-title){font-weight:900!important;letter-spacing:.01em}
body[data-ftm-button-shape="square"] :where(.btn,.details-link,.coming-soon-feature,.uniform-choice-row button,.kraken-choice-row button,.anime-v145-edition-button,.anime-v145-add,.uniform-add-cart,.uniform-quantity,.nav-toggle){border-radius:4px!important}
body[data-ftm-button-shape="soft"] :where(.btn,.details-link,.coming-soon-feature,.uniform-choice-row button,.kraken-choice-row button,.anime-v145-edition-button,.anime-v145-add,.uniform-add-cart,.uniform-quantity,.nav-toggle){border-radius:10px!important}
body[data-ftm-button-shape="rounded"] :where(.btn,.details-link,.coming-soon-feature,.uniform-choice-row button,.kraken-choice-row button,.anime-v145-edition-button,.anime-v145-add,.uniform-add-cart,.uniform-quantity,.nav-toggle){border-radius:18px!important}
body[data-ftm-button-shape="pill"] :where(.btn,.details-link,.coming-soon-feature,.uniform-choice-row button,.kraken-choice-row button,.anime-v145-edition-button,.anime-v145-add,.uniform-add-cart,.uniform-quantity,.nav-toggle){border-radius:999px!important}
body[data-ftm-button-effect="none"] :where(.btn,.add-cart-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,
body[data-ftm-button-effect="glow"] :where(.btn,.add-cart-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,
body[data-ftm-button-effect="raise"] :where(.btn,.add-cart-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{display:none!important;animation:none!important}
body[data-ftm-button-effect="glow"] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add):is(:hover,:focus-visible){box-shadow:0 0 24px rgba(var(--ftm-theme-accent-rgb),.42)!important;filter:brightness(1.05)}
body[data-ftm-button-effect="raise"] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add):is(:hover,:focus-visible){transform:translateY(-3px)!important;box-shadow:0 12px 24px rgba(0,0,0,.32)!important}
body[data-ftm-card-style="outline"] :where(.product-card,.tumbler-card,.uniform-story-card,.uniform-origin-card,.simple-origin-card,.tumbler-buy-panel){border-color:var(--gold)!important;box-shadow:none!important;background:var(--panel)!important}
body[data-ftm-card-style="soft"] :where(.product-card,.tumbler-card,.uniform-story-card,.uniform-origin-card,.simple-origin-card,.tumbler-buy-panel){border-color:rgba(var(--ftm-theme-accent-rgb),.12)!important;box-shadow:0 18px 46px rgba(0,0,0,.4)!important}
body[data-ftm-card-style="flat"] :where(.product-card,.tumbler-card,.uniform-story-card,.uniform-origin-card,.simple-origin-card,.tumbler-buy-panel){border-color:transparent!important;box-shadow:none!important;background:var(--panel)!important}

/* ==========================================================================
   F.T.M. Website v1.74.0 — Atlas Theme Studio scoped backgrounds + motion
   Visual-only runtime. Reduced-motion users receive the static theme.
   ========================================================================== */
body[data-ftm-theme]{--ftm-atmosphere:none;--ftm-art:none;background-color:var(--bg)!important;background-image:var(--ftm-art),var(--ftm-atmosphere)!important;background-attachment:fixed!important;background-repeat:no-repeat!important;background-size:cover!important}
body[data-ftm-background-style="solid"]{--ftm-atmosphere:linear-gradient(var(--bg),var(--bg))}
body[data-ftm-background-style="vignette"]{--ftm-atmosphere:radial-gradient(circle at 50% 24%,var(--bg-soft),var(--bg) 72%)}
body[data-ftm-background-style="glow"]{--ftm-atmosphere:radial-gradient(circle at top left,rgba(var(--ftm-theme-accent-rgb),.12),transparent 32rem),radial-gradient(circle at top right,rgba(var(--ftm-theme-accent-rgb),.18),transparent 28rem)}
body[data-ftm-background-art="none"]{--ftm-art:linear-gradient(transparent,transparent)}
body[data-ftm-background-art="coffeehouse"]{--ftm-art:radial-gradient(ellipse at 12% 18%,rgba(var(--ftm-theme-accent-rgb),.12),transparent 22rem),radial-gradient(ellipse at 86% 74%,rgba(var(--ftm-theme-accent-rgb),.07),transparent 26rem),repeating-radial-gradient(ellipse at 8% 92%,rgba(var(--ftm-theme-accent-rgb),.045) 0 3px,transparent 4px 22px)}
body[data-ftm-background-art="blueberry"]{--ftm-art:radial-gradient(circle at 88% 12%,rgba(103,51,220,.25) 0 2rem,transparent 16rem),radial-gradient(circle at 77% 26%,rgba(28,105,255,.16) 0 1.4rem,transparent 13rem),radial-gradient(circle at 10% 82%,rgba(129,45,196,.18),transparent 21rem),repeating-radial-gradient(circle at 94% 76%,rgba(135,83,235,.09) 0 3px,transparent 4px 24px)}
body[data-ftm-background-art="kraken"]{--ftm-art:radial-gradient(ellipse at 86% 10%,rgba(38,164,168,.19),transparent 25rem),conic-gradient(from 205deg at 86% 68%,transparent 0 10%,rgba(35,145,155,.05) 11% 14%,transparent 15% 25%,rgba(35,145,155,.05) 26% 29%,transparent 30% 100%),radial-gradient(ellipse at 5% 92%,rgba(20,103,114,.15),transparent 29rem)}
body[data-ftm-background-art="celestial"]{--ftm-art:radial-gradient(circle at 16% 18%,rgba(255,228,162,.68) 0 1px,transparent 2px),radial-gradient(circle at 68% 12%,rgba(255,255,255,.58) 0 1px,transparent 2px),radial-gradient(circle at 84% 34%,rgba(255,215,122,.48) 0 1.4px,transparent 2.5px),radial-gradient(circle at 31% 72%,rgba(255,255,255,.4) 0 1px,transparent 2px),radial-gradient(ellipse at 72% 20%,rgba(var(--ftm-theme-accent-rgb),.16),transparent 24rem)}
body[data-ftm-background-art="embers"]{--ftm-art:radial-gradient(circle at 78% 22%,rgba(225,88,29,.20),transparent 18rem),radial-gradient(circle at 12% 83%,rgba(191,67,25,.13),transparent 22rem),linear-gradient(118deg,transparent 62%,rgba(255,147,67,.035) 63% 64%,transparent 65%)}
body[data-ftm-background-art="autumn"]{--ftm-art:radial-gradient(ellipse at 88% 15%,rgba(191,95,34,.18),transparent 22rem),radial-gradient(ellipse at 17% 79%,rgba(156,94,32,.16),transparent 24rem),radial-gradient(circle at 76% 74%,rgba(224,158,54,.07) 0 3rem,transparent 8rem)}
body[data-ftm-background-art="winter"]{--ftm-art:radial-gradient(circle at 84% 13%,rgba(164,204,255,.17),transparent 22rem),radial-gradient(circle at 11% 81%,rgba(225,240,255,.10),transparent 25rem),repeating-radial-gradient(circle at 92% 78%,rgba(255,255,255,.08) 0 1px,transparent 2px 23px)}
body[data-ftm-header-style="glass"] .site-header{background:color-mix(in srgb,var(--panel) 68%,transparent)!important;backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08);border-bottom-color:rgba(var(--ftm-theme-accent-rgb),.25)!important;box-shadow:0 12px 35px rgba(0,0,0,.18)}
body[data-ftm-header-style="solid"] .site-header{background:var(--panel)!important;border-bottom:1px solid var(--gold)!important;backdrop-filter:none!important}
body[data-ftm-header-style="transparent"] .site-header{background:transparent!important;border-bottom-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
body[data-ftm-footer-style="accent"] .footer{border-top:2px solid var(--gold)!important;background:linear-gradient(180deg,var(--panel),var(--bg))!important;box-shadow:0 -12px 36px rgba(var(--ftm-theme-accent-rgb),.07)}
body[data-ftm-footer-style="minimal"] .footer{background:var(--bg)!important;border-top-color:rgba(var(--ftm-theme-accent-rgb),.15)!important;box-shadow:none!important}



/* ========================================================================== 
   F.T.M. Website v1.75.0 — Atlas Theme Studio Cinematic FX Lab
   ========================================================================== */
body[data-ftm-theme]{--ftm-syrup-main:#54206f;--ftm-syrup-highlight:#b85cff;--ftm-syrup-shadow:#180624;--ftm-nature-stem:#294d2b;--ftm-nature-leaf:#477b3e;--ftm-nature-highlight:#8eae66}
.ftm-theme-ambient{position:fixed;inset:0;z-index:6;overflow:hidden;pointer-events:none;contain:strict}.ftm-theme-ambient i{position:absolute;left:calc(var(--x)*1%);display:block;animation-delay:var(--delay);animation-iteration-count:infinite;animation-timing-function:linear;will-change:transform,opacity}.ftm-theme-ambient>*{pointer-events:none}.ftm-theme-ambient i{top:auto;background:none;box-shadow:none;opacity:1;border-radius:0}.ftm-theme-ambient svg{display:block;width:100%;height:100%;overflow:visible}.ftm-fx-snowflakes{top:-14%!important;width:calc(18px + var(--scale)*18px);height:calc(18px + var(--scale)*18px);animation-name:ftm-fx-snow-fall!important;filter:drop-shadow(0 0 5px rgba(210,235,255,.68))}.ftm-fx-snowflakes svg g{fill:none;stroke:rgba(245,252,255,.94);stroke-width:3;stroke-linecap:round}.ftm-fx-fallLeaves{top:-16%!important;width:calc(15px + var(--scale)*16px);height:calc(20px + var(--scale)*20px);animation-name:ftm-fx-leaf-fall!important;filter:drop-shadow(0 4px 4px rgba(0,0,0,.38))}.ftm-fx-fallLeaves .leaf-body{fill:var(--leaf)}.ftm-fx-fallLeaves .leaf-vein{fill:none;stroke:rgba(68,32,14,.62);stroke-width:2}.ftm-fx-stardust{top:calc(var(--y)*1%)!important;width:calc(9px + var(--scale)*10px);height:calc(9px + var(--scale)*10px);animation-name:ftm-fx-star!important;animation-timing-function:ease-in-out!important;filter:drop-shadow(0 0 7px var(--gold-soft))}.ftm-fx-stardust svg{fill:var(--gold-soft);opacity:.8}.ftm-fx-firefly{top:calc(var(--y)*1%)!important;width:15px;height:9px;animation-name:ftm-fx-firefly!important;animation-timing-function:ease-in-out!important;filter:drop-shadow(0 0 8px rgba(255,226,92,.6))}.ftm-fx-firefly b{position:absolute;left:5px;top:2px;width:6px;height:5px;border-radius:55% 65% 48% 52%;background:linear-gradient(90deg,#17130c 0 43%,#ffd957 44% 100%);box-shadow:4px 0 11px #ffe875}.ftm-fx-firefly:before,.ftm-fx-firefly:after{content:"";position:absolute;top:0;width:8px;height:4px;border-radius:80% 25% 75% 20%;background:linear-gradient(135deg,rgba(235,246,230,.75),rgba(164,194,175,.12));border:1px solid rgba(230,245,232,.25);transform-origin:100% 80%;animation:ftm-fx-wing .38s ease-in-out infinite alternate}.ftm-fx-firefly:before{left:0;transform:rotate(-18deg)}.ftm-fx-firefly:after{right:0;transform:scaleX(-1) rotate(-18deg)}.ftm-fx-ember{bottom:-12%!important;width:calc(7px + var(--scale)*8px);height:calc(5px + var(--scale)*6px);clip-path:polygon(8% 28%,34% 0,78% 12%,100% 44%,82% 92%,38% 100%,0 72%);background:radial-gradient(circle at 55% 55%,#ffd177 0 15%,#ff7a22 28%,#b92d10 52%,#2a0d09 76%)!important;box-shadow:0 0 10px #e64615,0 0 20px rgba(255,91,24,.45)!important;animation-name:ftm-fx-ember-rise!important}.ftm-fx-ember b{position:absolute;right:-4px;top:-3px;width:2px;height:2px;background:#ffc44c;border-radius:50%;box-shadow:-5px 4px 0 #ff6a25;animation:ftm-fx-spark .8s steps(2,end) infinite}.ftm-fx-syrup-top{position:absolute;left:-2%;right:-2%;top:-2px;height:46px;background:linear-gradient(180deg,var(--ftm-syrup-highlight),var(--ftm-syrup-main) 38%,var(--ftm-syrup-shadow));border-radius:0 0 40% 44%;box-shadow:0 6px 15px color-mix(in srgb,var(--ftm-syrup-main) 55%,transparent),inset 0 -6px 9px rgba(0,0,0,.3),inset 0 5px 4px rgba(255,255,255,.2)}.ftm-fx-syrup-top:after{content:"";position:absolute;inset:6px 10% 20px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);filter:blur(2px)}.ftm-fx-syrup-drop{top:17px!important;width:calc(10px + var(--scale)*9px);height:calc(22px + var(--scale)*22px);border-radius:50% 50% 58% 58% / 35% 35% 70% 70%!important;background:radial-gradient(circle at 32% 22%,var(--ftm-syrup-highlight) 0 9%,var(--ftm-syrup-main) 38%,var(--ftm-syrup-shadow) 92%)!important;box-shadow:inset -3px -5px 7px rgba(0,0,0,.3),inset 2px 3px 3px rgba(255,255,255,.2),0 5px 12px color-mix(in srgb,var(--ftm-syrup-main) 50%,transparent)!important;animation-name:ftm-fx-syrup-fall!important}.ftm-fx-syrup-drop:before{content:"";position:absolute;left:38%;top:-18px;width:24%;height:20px;background:var(--ftm-syrup-main);border-radius:50%}.ftm-fx-syrup-pool{position:absolute;left:-3%;right:-3%;bottom:-17px;height:38px;background:linear-gradient(180deg,var(--ftm-syrup-highlight),var(--ftm-syrup-main) 28%,var(--ftm-syrup-shadow));border-radius:55% 48% 0 0;box-shadow:0 -5px 17px color-mix(in srgb,var(--ftm-syrup-main) 44%,transparent),inset 0 6px 8px rgba(255,255,255,.17)}.ftm-fx-syrup-pool.full{height:58px;bottom:-24px}.ftm-fx-bubble{bottom:-10%!important;width:calc(8px + var(--scale)*14px);height:calc(8px + var(--scale)*14px);border:1px solid rgba(208,250,255,.55)!important;border-radius:50%!important;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.75) 0 8%,rgba(112,224,232,.14) 20%,rgba(30,110,125,.05) 62%,rgba(255,255,255,.15) 66%,transparent 70%)!important;box-shadow:inset -2px -2px 5px rgba(32,117,128,.22),0 0 9px rgba(99,224,231,.14)!important;animation-name:ftm-fx-bubble-rise!important}.ftm-fx-smoke{bottom:-25%!important;width:calc(90px + var(--scale)*85px);height:calc(48px + var(--scale)*40px);border-radius:50%!important;background:radial-gradient(ellipse,rgba(170,176,179,.22),rgba(92,98,102,.11) 46%,transparent 72%)!important;filter:blur(10px);animation-name:ftm-fx-smoke-rise!important;mix-blend-mode:screen}.ftm-fx-petal{top:-14%!important;width:calc(10px + var(--scale)*9px);height:calc(7px + var(--scale)*6px);border-radius:90% 20% 90% 20%!important;background:linear-gradient(135deg,#ffc7db,#e993b2 65%,#b24c77)!important;box-shadow:inset 1px 1px rgba(255,255,255,.3)!important;animation-name:ftm-fx-leaf-fall!important}.ftm-fx-vine{position:absolute;left:0;right:0;bottom:0;height:42%;pointer-events:none}.ftm-fx-vine svg{width:100%;height:100%;overflow:visible}.ftm-vine-stem{fill:none;stroke:var(--ftm-nature-stem);stroke-width:10;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5));animation:ftm-fx-vine-grow 18s ease-in-out infinite alternate}.ftm-vine-leaves{fill:var(--ftm-nature-leaf);stroke:var(--ftm-nature-highlight);stroke-width:2;opacity:0;animation:ftm-fx-leaves 18s ease-in-out infinite alternate}
body[data-ftm-animation-speed=slow] .ftm-theme-ambient i{animation-duration:18s}body[data-ftm-animation-speed=medium] .ftm-theme-ambient i{animation-duration:11s}body[data-ftm-animation-speed=fast] .ftm-theme-ambient i{animation-duration:6.5s}body[data-ftm-animation-speed=slow] .ftm-vine-stem,body[data-ftm-animation-speed=slow] .ftm-vine-leaves{animation-duration:28s}body[data-ftm-animation-speed=fast] .ftm-vine-stem,body[data-ftm-animation-speed=fast] .ftm-vine-leaves{animation-duration:11s}body[data-ftm-syrup-thickness=thin] .ftm-fx-syrup-drop{width:8px;height:24px}body[data-ftm-syrup-thickness=thick] .ftm-fx-syrup-drop{width:21px;height:50px}
@keyframes ftm-fx-snow-fall{0%{transform:translate3d(0,-12vh,0) rotate(0deg) scale(var(--scale));opacity:0}10%{opacity:.92}45%{transform:translate3d(var(--drift),45vh,0) rotate(95deg) scale(var(--scale))}75%{transform:translate3d(calc(var(--drift)*-.5),78vh,0) rotate(160deg) scale(var(--scale))}100%{transform:translate3d(var(--drift),118vh,0) rotate(225deg) scale(var(--scale));opacity:.2}}@keyframes ftm-fx-leaf-fall{0%{transform:translate3d(0,-12vh,0) rotate3d(1,.2,.4,0deg) scale(var(--scale));opacity:0}10%{opacity:.95}35%{transform:translate3d(calc(var(--drift)*-1),32vh,0) rotate3d(1,.6,.4,145deg) scale(var(--scale))}70%{transform:translate3d(var(--drift),77vh,0) rotate3d(.2,1,.5,310deg) scale(var(--scale))}100%{transform:translate3d(calc(var(--drift)*-.5),116vh,0) rotate3d(1,.4,.8,520deg) scale(var(--scale));opacity:.55}}@keyframes ftm-fx-firefly{0%,100%{transform:translate(-16px,7px) rotate(-4deg);opacity:.18}20%{transform:translate(8px,-16px) rotate(5deg);opacity:.88}45%{transform:translate(24px,9px) rotate(-7deg);opacity:.38}68%{transform:translate(-7px,21px) rotate(4deg);opacity:.95}82%{transform:translate(13px,-7px) rotate(-2deg);opacity:.3}}@keyframes ftm-fx-wing{to{transform:rotate(20deg) scaleY(.72)}}@keyframes ftm-fx-ember-rise{0%{transform:translate3d(0,14vh,0) rotate(0deg) scale(calc(var(--scale)*.7));opacity:0;filter:brightness(1.6)}18%{opacity:.95}65%{filter:brightness(1)}100%{transform:translate3d(var(--drift),-118vh,0) rotate(410deg) scale(var(--scale));opacity:0;filter:brightness(.35)}}@keyframes ftm-fx-spark{50%{opacity:.2;transform:translate(4px,-5px)}}@keyframes ftm-fx-syrup-fall{0%,12%{transform:translateY(-16px) scaleY(.35);opacity:0}20%{opacity:.95}45%{transform:translateY(22vh) scaleY(1.12)}100%{transform:translateY(108vh) scaleY(.92);opacity:.2}}@keyframes ftm-fx-bubble-rise{0%{transform:translate3d(0,12vh,0) scale(.55);opacity:0}20%{opacity:.68}60%{transform:translate3d(var(--drift),-52vh,0) scale(1)}100%{transform:translate3d(calc(var(--drift)*-.5),-116vh,0) scale(1.2);opacity:0}}@keyframes ftm-fx-smoke-rise{0%{transform:translate3d(-15px,15vh,0) scale(.6);opacity:0}20%{opacity:.4}55%{transform:translate3d(var(--drift),-35vh,0) scale(1.15);opacity:.28}100%{transform:translate3d(calc(var(--drift)*-1),-100vh,0) scale(1.75);opacity:0}}@keyframes ftm-fx-star{0%,100%{transform:scale(.45) rotate(0deg);opacity:.08}35%{transform:translate(8px,-9px) scale(1.05) rotate(45deg);opacity:.92}64%{transform:translate(-5px,7px) scale(.55) rotate(90deg);opacity:.22}}@keyframes ftm-fx-vine-grow{0%,8%{stroke-dashoffset:1}80%,100%{stroke-dashoffset:0}}@keyframes ftm-fx-leaves{0%,22%{opacity:0;transform:scale(.72)}70%,100%{opacity:.96;transform:scale(1)}}
.ftm-theme-edge-host{position:relative!important}.ftm-theme-edge-decor{position:absolute;inset:0;z-index:5;overflow:hidden;pointer-events:none;border-radius:inherit}.ftm-theme-edge-page{position:fixed;z-index:7}.ftm-theme-edge-decor .ftm-fx-vine{height:34%}.ftm-theme-edge-decor[data-speed=slow] .ftm-vine-stem,.ftm-theme-edge-decor[data-speed=slow] .ftm-vine-leaves{animation-duration:28s}.ftm-theme-edge-decor[data-speed=fast] .ftm-vine-stem,.ftm-theme-edge-decor[data-speed=fast] .ftm-vine-leaves{animation-duration:11s}.ftm-fx-edge-syrup{position:absolute;inset:0;border-top:12px solid var(--ftm-syrup-main);filter:drop-shadow(0 4px 9px color-mix(in srgb,var(--ftm-syrup-main) 42%,transparent))}.ftm-fx-edge-syrup i{position:absolute;top:0;width:14px;height:34px;border-radius:0 0 50% 50%;background:linear-gradient(var(--ftm-syrup-main),var(--ftm-syrup-shadow));box-shadow:inset 2px 1px rgba(255,255,255,.16);animation:ftm-edge-drip 5s ease-in-out infinite alternate}.ftm-fx-edge-syrup i:nth-child(1){left:10%;height:22px}.ftm-fx-edge-syrup i:nth-child(2){left:31%;height:45px;animation-delay:-1s}.ftm-fx-edge-syrup i:nth-child(3){left:54%;height:29px;animation-delay:-2.3s}.ftm-fx-edge-syrup i:nth-child(4){left:72%;height:52px;animation-delay:-3s}.ftm-fx-edge-syrup i:nth-child(5){left:90%;height:27px;animation-delay:-.6s}.ftm-theme-edge-decor[data-speed=slow] .ftm-fx-edge-syrup i{animation-duration:8s}.ftm-theme-edge-decor[data-speed=fast] .ftm-fx-edge-syrup i{animation-duration:3s}@keyframes ftm-edge-drip{to{transform:scaleY(1.38)}}.ftm-fx-edge-frost{position:absolute;inset:5px;border:2px solid rgba(231,247,255,.82);border-radius:inherit;box-shadow:0 0 10px rgba(177,224,255,.65),inset 0 0 12px rgba(200,235,255,.18)}.ftm-fx-edge-frost:before,.ftm-fx-edge-frost:after{content:"❄  ❅  ❆  ❄  ❅  ❆";position:absolute;left:4%;right:4%;letter-spacing:2vw;white-space:nowrap;color:#effbff;text-shadow:0 0 9px #bde7ff;opacity:.76}.ftm-fx-edge-frost:before{top:-13px}.ftm-fx-edge-frost:after{bottom:-13px;transform:rotate(180deg)}.ftm-fx-edge-embers{position:absolute;inset:0;border-bottom:5px solid #7b2410;box-shadow:inset 0 -10px 16px rgba(243,78,24,.18)}.ftm-fx-edge-embers i{position:absolute;bottom:3px;width:11px;height:8px;background:radial-gradient(circle,#ffd07a,#ff6a20 45%,#3c1009 78%);clip-path:polygon(12% 15%,72% 0,100% 58%,68% 100%,0 76%);box-shadow:0 0 10px #ef5420;animation:ftm-edge-ember 2.2s ease-in-out infinite alternate}.ftm-fx-edge-embers i:nth-child(1){left:8%}.ftm-fx-edge-embers i:nth-child(2){left:25%;animation-delay:-.7s}.ftm-fx-edge-embers i:nth-child(3){left:42%;animation-delay:-1.3s}.ftm-fx-edge-embers i:nth-child(4){left:61%;animation-delay:-.4s}.ftm-fx-edge-embers i:nth-child(5){left:78%;animation-delay:-1.7s}.ftm-fx-edge-embers i:nth-child(6){left:92%;animation-delay:-.9s}@keyframes ftm-edge-ember{to{filter:brightness(1.7);transform:translateY(-4px) rotate(8deg)}}.ftm-fx-edge-filigree{position:absolute;inset:8px}.ftm-fx-edge-filigree b{position:absolute;width:74px;height:74px;border:2px solid var(--gold);border-radius:50% 0 50% 0;opacity:.62;box-shadow:0 0 11px rgba(var(--ftm-theme-accent-rgb),.18)}.ftm-fx-edge-filigree b:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}.ftm-fx-edge-filigree b:nth-child(2){right:0;top:0;transform:scaleX(-1);border-right:0;border-bottom:0}.ftm-fx-edge-filigree b:nth-child(3){left:0;bottom:0;transform:scaleY(-1);border-right:0;border-bottom:0}.ftm-fx-edge-filigree b:nth-child(4){right:0;bottom:0;transform:scale(-1);border-right:0;border-bottom:0}
body[data-ftm-button-shape=beveled] :where(.btn,.add-cart-btn,.details-link,.uniform-choice-row button,.kraken-choice-row button,.anime-v145-edition-button,.anime-v145-add,.uniform-add-cart,.nav-toggle){border-radius:5px!important;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)}body[data-ftm-button-shape=ticket] :where(.btn,.add-cart-btn,.details-link,.uniform-choice-row button,.kraken-choice-row button,.anime-v145-edition-button,.anime-v145-add,.uniform-add-cart,.nav-toggle){border-radius:0!important;clip-path:polygon(7% 0,93% 0,100% 24%,96% 50%,100% 76%,93% 100%,7% 100%,0 76%,4% 50%,0 24%)}
body[data-ftm-button-style=antiqueGold] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){background:linear-gradient(145deg,#f3d784 0,#b77a22 42%,#6f4312 100%)!important;color:#1c1205!important;border-color:#f4dea4!important;box-shadow:inset 0 1px #fff1b7,inset 0 -3px rgba(74,38,5,.4),0 6px 12px rgba(0,0,0,.25)!important}body[data-ftm-button-style=glass] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.035))!important;color:var(--cream)!important;border-color:rgba(var(--ftm-theme-accent-rgb),.42)!important;backdrop-filter:blur(8px)}body[data-ftm-button-style=frost] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){background:linear-gradient(145deg,rgba(225,244,255,.28),rgba(135,191,224,.10))!important;color:#effaff!important;border-color:rgba(224,247,255,.72)!important;box-shadow:inset 0 0 10px rgba(255,255,255,.2),0 0 12px rgba(169,221,255,.2)!important}body[data-ftm-button-style=ember] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){background:linear-gradient(180deg,#2a0c07,#58160b 60%,#220a06)!important;color:#ffd5aa!important;border-color:#c44a1d!important;box-shadow:inset 0 -3px #731d0c,0 0 12px rgba(230,75,25,.18)!important}body[data-ftm-button-style=liquid] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){background:linear-gradient(180deg,var(--ftm-syrup-highlight),var(--ftm-syrup-main) 42%,var(--ftm-syrup-shadow))!important;color:#fff!important;border-color:color-mix(in srgb,var(--ftm-syrup-highlight) 65%,white)!important;box-shadow:inset 0 3px 5px rgba(255,255,255,.2),inset 0 -4px 6px rgba(0,0,0,.25)!important}body[data-ftm-button-style=botanical] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){background:linear-gradient(180deg,var(--ftm-nature-leaf),var(--ftm-nature-stem))!important;color:#f1f7e8!important;border-color:var(--ftm-nature-highlight)!important}body[data-ftm-button-style=celestial] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){background:radial-gradient(circle at 30% 20%,#fff0b7,#d6a13a 36%,#745018 100%)!important;color:#171006!important;border-color:#ffe288!important}body[data-ftm-button-style=neon] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){background:#090a11!important;color:#fff!important;border-color:var(--gold)!important;box-shadow:0 0 5px var(--gold),inset 0 0 6px rgba(var(--ftm-theme-accent-rgb),.2)!important}body[data-ftm-button-style=parchment] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){background:linear-gradient(145deg,#ead7aa,#c6a46b)!important;color:#33230e!important;border-color:#8a6734!important}body[data-ftm-button-style=wood] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){background:repeating-linear-gradient(7deg,#3e2718 0 4px,#51301a 5px 9px,#342014 10px 13px)!important;color:#f3dfbf!important;border-color:#8c5d31!important}body[data-ftm-button-style=espresso] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){background:linear-gradient(#40291a,#24150e)!important;color:#f5dfbd!important;border-color:#a97b47!important}body[data-ftm-button-style=minimal] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){background:transparent!important;color:var(--gold-soft)!important;border-color:rgba(var(--ftm-theme-accent-rgb),.55)!important;box-shadow:none!important}
body[data-ftm-button-effect-speed=slow]{--ftm-btn-fx-speed:4.8s}body[data-ftm-button-effect-speed=medium]{--ftm-btn-fx-speed:2.8s}body[data-ftm-button-effect-speed=fast]{--ftm-btn-fx-speed:1.45s}body[data-ftm-button-effect=pulse] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){animation:ftm-btn-pulse var(--ftm-btn-fx-speed) ease-in-out infinite}body[data-ftm-button-effect=shimmer] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add)::after,body[data-ftm-button-effect=liquidSweep] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add)::after,body[data-ftm-button-effect=starGlint] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add)::after{display:block!important;content:""!important;position:absolute!important;inset:-70% auto -70% -35%!important;width:22%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent)!important;transform:rotate(18deg)!important;animation:ftm-btn-sweep var(--ftm-btn-fx-speed) ease-in-out infinite!important}body[data-ftm-button-effect=ripple] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add)::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border:1px solid rgba(255,255,255,.65);border-radius:50%;transform:translate(-50%,-50%);animation:ftm-btn-ripple var(--ftm-btn-fx-speed) ease-out infinite}body[data-ftm-button-effect=emberGlow] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){animation:ftm-btn-ember var(--ftm-btn-fx-speed) ease-in-out infinite}body[data-ftm-button-effect=frostSparkle] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){animation:ftm-btn-frost var(--ftm-btn-fx-speed) ease-in-out infinite}body[data-ftm-button-effect=botanicalBloom] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){animation:ftm-btn-bloom var(--ftm-btn-fx-speed) ease-in-out infinite}@keyframes ftm-btn-pulse{50%{box-shadow:0 0 24px rgba(var(--ftm-theme-accent-rgb),.5)}}@keyframes ftm-btn-sweep{0%,15%{left:-35%;opacity:0}35%{opacity:1}65%,100%{left:125%;opacity:0}}@keyframes ftm-btn-ripple{0%{width:8px;height:8px;opacity:.8}100%{width:120%;height:180%;opacity:0}}@keyframes ftm-btn-ember{50%{box-shadow:0 0 22px rgba(255,87,28,.7),inset 0 -3px #8b2a12}}@keyframes ftm-btn-frost{50%{box-shadow:0 0 20px rgba(189,232,255,.55),inset 0 0 12px rgba(255,255,255,.28)}}@keyframes ftm-btn-bloom{50%{filter:saturate(1.25) brightness(1.08);box-shadow:0 0 15px color-mix(in srgb,var(--ftm-nature-highlight) 50%,transparent)}}
@media(max-width:760px){.ftm-theme-ambient{opacity:.78}.ftm-fx-smoke{transform:scale(.72)}.ftm-theme-edge-decor[data-effect=creepingVines] .ftm-fx-vine{height:26%}}
@media(prefers-reduced-motion:reduce){.ftm-theme-ambient,.ftm-theme-edge-decor{display:none!important}body[data-ftm-button-effect] :where(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){animation:none!important}}
\n/* v1.75 Theme Studio effect ownership: override the older universal sheen when another effect is selected. */
#ftm-v154[data-ftm-button-effect-speed=slow]{--ftm-btn-fx-speed:4.8s;--ftm-btn-hover-speed:1.8s}#ftm-v154[data-ftm-button-effect-speed=medium]{--ftm-btn-fx-speed:2.8s;--ftm-btn-hover-speed:1.05s}#ftm-v154[data-ftm-button-effect-speed=fast]{--ftm-btn-fx-speed:1.45s;--ftm-btn-hover-speed:.55s}
#ftm-v154[data-ftm-button-effect=sheen] :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{display:block!important;animation:ftmV154PronouncedSheen var(--ftm-btn-hover-speed) cubic-bezier(.18,.68,.25,1) forwards!important}
#ftm-v154:is([data-ftm-button-effect=none],[data-ftm-button-effect=glow],[data-ftm-button-effect=raise],[data-ftm-button-effect=pulse],[data-ftm-button-effect=ripple],[data-ftm-button-effect=emberGlow],[data-ftm-button-effect=frostSparkle],[data-ftm-button-effect=botanicalBloom],[data-ftm-button-effect=borderChase]) :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{display:none!important;animation:none!important}
#ftm-v154:is([data-ftm-button-effect=shimmer],[data-ftm-button-effect=liquidSweep],[data-ftm-button-effect=starGlint]) :is(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add)::after{display:block!important;content:""!important;position:absolute!important;z-index:100!important;top:-70%!important;bottom:-70%!important;left:-35%!important;width:22%!important;height:auto!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent)!important;box-shadow:none!important;filter:none!important;transform:rotate(18deg)!important;animation:ftm-btn-sweep var(--ftm-btn-fx-speed) ease-in-out infinite!important;opacity:1!important}
#ftm-v154[data-ftm-button-effect=starGlint] :is(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add)::after{width:8%!important;background:linear-gradient(90deg,transparent,#fff7cf,transparent)!important;filter:drop-shadow(0 0 5px #ffe7a0)!important}
#ftm-v154[data-ftm-button-effect=borderChase] :is(.btn,.add-cart-btn,.details-link,.uniform-add-cart,.anime-v145-add){animation:ftm-btn-border-chase var(--ftm-btn-fx-speed) linear infinite!important}@keyframes ftm-btn-border-chase{0%,100%{box-shadow:4px 0 12px rgba(var(--ftm-theme-accent-rgb),.28)}25%{box-shadow:0 4px 14px rgba(var(--ftm-theme-accent-rgb),.55)}50%{box-shadow:-4px 0 12px rgba(var(--ftm-theme-accent-rgb),.4)}75%{box-shadow:0 -4px 14px rgba(var(--ftm-theme-accent-rgb),.6)}}

/* v1.75 detailed vector background artwork overlays */
body[data-ftm-background-art="blueberry"]{--ftm-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20800%22%3E%3Cdefs%3E%3CradialGradient%20id%3D%22b%22%20cx%3D%2235%25%22%20cy%3D%2228%25%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%239a7cff%22%2F%3E%3Cstop%20offset%3D%22.18%22%20stop-color%3D%22%235630a9%22%2F%3E%3Cstop%20offset%3D%22.72%22%20stop-color%3D%22%2324104d%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%230d061c%22%2F%3E%3C%2FradialGradient%3E%3ClinearGradient%20id%3D%22l%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%236745a0%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23201234%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cg%20opacity%3D%22.68%22%3E%3Cpath%20d%3D%22M655%20115c39-68%2094-70%20125-22-24%2038-68%2053-125%2022Z%22%20fill%3D%22url%28%23l%29%22%2F%3E%3Cpath%20d%3D%22M690%20160c67-30%20104-1%2095%2047-44%2014-79%200-95-47Z%22%20fill%3D%22url%28%23l%29%22%2F%3E%3Ccircle%20cx%3D%22650%22%20cy%3D%22185%22%20r%3D%2261%22%20fill%3D%22url%28%23b%29%22%2F%3E%3Ccircle%20cx%3D%22745%22%20cy%3D%22245%22%20r%3D%2247%22%20fill%3D%22url%28%23b%29%22%2F%3E%3Ccircle%20cx%3D%22594%22%20cy%3D%22282%22%20r%3D%2243%22%20fill%3D%22url%28%23b%29%22%2F%3E%3Cpath%20d%3D%22M650%20124l-13%2018%2020-7%2014%2012-2-22-19-1Z%22%20fill%3D%22%23c3a8ff%22%20opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22M745%20204l-12%2014%2017-5%2011%2010-1-17-15-2Z%22%20fill%3D%22%23c3a8ff%22%20opacity%3D%22.45%22%2F%3E%3C%2Fg%3E%3Cg%20opacity%3D%22.46%22%20transform%3D%22translate%28-120%20520%29%20scale%28.8%29%22%3E%3Ccircle%20cx%3D%22220%22%20cy%3D%22190%22%20r%3D%2261%22%20fill%3D%22url%28%23b%29%22%2F%3E%3Ccircle%20cx%3D%22315%22%20cy%3D%22240%22%20r%3D%2247%22%20fill%3D%22url%28%23b%29%22%2F%3E%3Ccircle%20cx%3D%22165%22%20cy%3D%22285%22%20r%3D%2243%22%20fill%3D%22url%28%23b%29%22%2F%3E%3Cpath%20d%3D%22M120%20160c45-65%2097-61%20122-10-29%2033-73%2041-122%2010Z%22%20fill%3D%22url%28%23l%29%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),radial-gradient(circle at 50% 15%,rgba(var(--ftm-theme-accent-rgb),.10),transparent 36rem)}
body[data-ftm-background-art="kraken"]{--ftm-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20800%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22t%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%2318656b%22%2F%3E%3Cstop%20offset%3D%22.55%22%20stop-color%3D%22%230a3138%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2303191e%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cg%20opacity%3D%22.42%22%20fill%3D%22none%22%20stroke%3D%22url%28%23t%29%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M775%20730C700%20592%20598%20661%20600%20527c2-126%20149-96%20132-233-11-91-90-148-161-115%22%20stroke-width%3D%2255%22%2F%3E%3Cpath%20d%3D%22M802%20574C672%20521%20718%20413%20625%20381c-74-25-119%2028-133%2087%22%20stroke-width%3D%2239%22%2F%3E%3Cpath%20d%3D%22M773%20366c-108%2013-126-67-211-46-57%2014-74%2056-73%20102%22%20stroke-width%3D%2230%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%2374c9c9%22%20opacity%3D%22.19%22%3E%3Ccircle%20cx%3D%22637%22%20cy%3D%22597%22%20r%3D%228%22%2F%3E%3Ccircle%20cx%3D%22650%22%20cy%3D%22560%22%20r%3D%227%22%2F%3E%3Ccircle%20cx%3D%22651%22%20cy%3D%22521%22%20r%3D%226%22%2F%3E%3Ccircle%20cx%3D%22674%22%20cy%3D%22444%22%20r%3D%227%22%2F%3E%3Ccircle%20cx%3D%22698%22%20cy%3D%22418%22%20r%3D%226%22%2F%3E%3Ccircle%20cx%3D%22620%22%20cy%3D%22345%22%20r%3D%225%22%2F%3E%3Ccircle%20cx%3D%22581%22%20cy%3D%22337%22%20r%3D%225%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),radial-gradient(circle at 50% 15%,rgba(var(--ftm-theme-accent-rgb),.10),transparent 36rem)}
body[data-ftm-background-art="autumn"]{--ftm-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20800%22%3E%3Cg%20opacity%3D%22.42%22%3E%3Cg%20transform%3D%22translate%28620%2080%29%20rotate%2818%29%22%3E%3Cpath%20d%3D%22M0%2012C-22%2050-61%2058-72%2089c23%202%2030%2014%2017%2035%2023-4%2035%208%2024%2030%2022-4%2038%206%2033%2031%2023-6%2037%202%2039%2028%2026-31%2049-70%2055-112-23%2011-37%201-34-22-20%2012-36%204-31-19-21%2011-36%202-31-48Z%22%20fill%3D%22%23c8662a%22%2F%3E%3Cpath%20d%3D%22M2%2033c3%2059%201%20108-13%20159%22%20stroke%3D%22%2365331d%22%20stroke-width%3D%225%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28100%20560%29%20scale%28.8%29%20rotate%28-27%29%22%3E%3Cpath%20d%3D%22M0%2012C-22%2050-61%2058-72%2089c23%202%2030%2014%2017%2035%2023-4%2035%208%2024%2030%2022-4%2038%206%2033%2031%2023-6%2037%202%2039%2028%2026-31%2049-70%2055-112-23%2011-37%201-34-22-20%2012-36%204-31-19-21%2011-36%202-31-48Z%22%20fill%3D%22%23d89a30%22%2F%3E%3Cpath%20d%3D%22M2%2033c3%2059%201%20108-13%20159%22%20stroke%3D%22%2377441f%22%20stroke-width%3D%225%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28720%20600%29%20scale%28.55%29%20rotate%2845%29%22%3E%3Cpath%20d%3D%22M0%2012C-22%2050-61%2058-72%2089c23%202%2030%2014%2017%2035%2023-4%2035%208%2024%2030%2022-4%2038%206%2033%2031%2023-6%2037%202%2039%2028%2026-31%2049-70%2055-112-23%2011-37%201-34-22-20%2012-36%204-31-19-21%2011-36%202-31-48Z%22%20fill%3D%22%23913f26%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E"),radial-gradient(circle at 50% 15%,rgba(var(--ftm-theme-accent-rgb),.10),transparent 36rem)}
body[data-ftm-background-art="winter"]{--ftm-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20800%22%3E%3Cg%20stroke%3D%22%23dff4ff%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.48%22%3E%3Cg%20transform%3D%22translate%28640%2090%29%20scale%281.25%29%22%3E%3Cpath%20d%3D%22M0%200v170M-85%2085H85M-60%2025L60%20145M60%2025L-60%20145%22%20stroke-width%3D%223%22%2F%3E%3Cpath%20d%3D%22M0%2035L-18%2017M0%2035l18-18M0%20135l-18%2018M0%20135l18%2018M-50%2085l-17-17M-50%2085l-17%2017M50%2085l17-17M50%2085l17%2017%22%20stroke-width%3D%222%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%2895%20625%29%20scale%28.8%29%22%3E%3Cpath%20d%3D%22M0%200v170M-85%2085H85M-60%2025L60%20145M60%2025L-60%20145%22%20stroke-width%3D%223%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2285%22%20r%3D%2214%22%20stroke-width%3D%222%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M0%20110c72-24%20101-78%20132-110M0%20135c93-26%20129-84%20166-135M20%20145l-5-45M58%20113l-9-43M98%2076l-19-35M132%2042l-24-27%22%20stroke-width%3D%223%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),radial-gradient(circle at 50% 15%,rgba(var(--ftm-theme-accent-rgb),.10),transparent 36rem)}
body[data-ftm-background-art="coffeehouse"]{--ftm-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20800%22%3E%3Cg%20opacity%3D%22.28%22%20fill%3D%22%237a4f2c%22%20stroke%3D%22%23c38b4a%22%20stroke-width%3D%222%22%3E%3Cg%20transform%3D%22translate%28650%20160%29%20rotate%2828%29%22%3E%3Cellipse%20rx%3D%2248%22%20ry%3D%2268%22%2F%3E%3Cpath%20d%3D%22M-10-58C18-30%2019%2031-7%2061%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28720%20290%29%20scale%28.72%29%20rotate%28-22%29%22%3E%3Cellipse%20rx%3D%2248%22%20ry%3D%2268%22%2F%3E%3Cpath%20d%3D%22M-10-58C18-30%2019%2031-7%2061%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28100%20650%29%20scale%28.9%29%20rotate%2849%29%22%3E%3Cellipse%20rx%3D%2248%22%20ry%3D%2268%22%2F%3E%3Cpath%20d%3D%22M-10-58C18-30%2019%2031-7%2061%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate%28210%20720%29%20scale%28.58%29%20rotate%28-10%29%22%3E%3Cellipse%20rx%3D%2248%22%20ry%3D%2268%22%2F%3E%3Cpath%20d%3D%22M-10-58C18-30%2019%2031-7%2061%22%20fill%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E"),radial-gradient(circle at 50% 15%,rgba(var(--ftm-theme-accent-rgb),.10),transparent 36rem)}
body[data-ftm-background-art="embers"]{--ftm-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20800%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22g%22%3E%3CfeGaussianBlur%20stdDeviation%3D%224%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.38%22%3E%3Cpath%20d%3D%22M640%20800c-35-130%2084-153%2042-298-21-73%2015-136%2078-173%22%20stroke%3D%22%23ff6b25%22%20stroke-width%3D%224%22%20filter%3D%22url%28%23g%29%22%2F%3E%3Cpath%20d%3D%22M640%20800c-35-130%2084-153%2042-298-21-73%2015-136%2078-173%22%20stroke%3D%22%237a2711%22%20stroke-width%3D%2211%22%2F%3E%3Cpath%20d%3D%22M140%20800c28-98-39-150%2019-225%2034-44%2031-91%2011-126%22%20stroke%3D%22%235b2010%22%20stroke-width%3D%2210%22%2F%3E%3Cpath%20d%3D%22M140%20800c28-98-39-150%2019-225%2034-44%2031-91%2011-126%22%20stroke%3D%22%23ff7d2c%22%20stroke-width%3D%223%22%20filter%3D%22url%28%23g%29%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),radial-gradient(circle at 50% 15%,rgba(var(--ftm-theme-accent-rgb),.10),transparent 36rem)}
body[data-ftm-background-art="celestial"]{--ftm-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20800%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23e7c66c%22%20opacity%3D%22.36%22%3E%3Cellipse%20cx%3D%22650%22%20cy%3D%22160%22%20rx%3D%2295%22%20ry%3D%2226%22%20transform%3D%22rotate%28-18%20650%20160%29%22%20stroke-width%3D%223%22%2F%3E%3Ccircle%20cx%3D%22650%22%20cy%3D%22160%22%20r%3D%2247%22%20fill%3D%22%23b68232%22%20opacity%3D%22.13%22%2F%3E%3Cpath%20d%3D%22M570%20650c90-90%20170-130%20230-122%22%20stroke-width%3D%222%22%20stroke-dasharray%3D%224%2018%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23fff2bb%22%20opacity%3D%22.55%22%3E%3Ccircle%20cx%3D%22105%22%20cy%3D%22130%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%22205%22%20cy%3D%2272%22%20r%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%22310%22%20cy%3D%22212%22%20r%3D%222.2%22%2F%3E%3Ccircle%20cx%3D%22498%22%20cy%3D%22105%22%20r%3D%221.2%22%2F%3E%3Ccircle%20cx%3D%22550%22%20cy%3D%22332%22%20r%3D%221.8%22%2F%3E%3Ccircle%20cx%3D%22122%22%20cy%3D%22430%22%20r%3D%221.4%22%2F%3E%3Ccircle%20cx%3D%22355%22%20cy%3D%22585%22%20r%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),radial-gradient(circle at 50% 15%,rgba(var(--ftm-theme-accent-rgb),.10),transparent 36rem)}


/* F.T.M. Website v1.75.4 — coffee collection visibility hardening */
.ftm-shop-static.reveal-ready,
.ftm-shop-static.reveal-ready.is-visible,
.ftm-shop-static .product-card,
.ftm-shop-static .product-card.reveal-ready,
.ftm-shop-static .product-card.reveal-ready.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}


/* v1.75.7 — Search visibility + coffee discovery reinforcement */
.search-product-type{margin:.15rem 0 .45rem;color:var(--gold-soft);font-size:.82rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.seo-coffee-guide{position:relative;overflow:hidden}.seo-coffee-guide::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 10%,rgba(244,216,146,.07),transparent 36%);pointer-events:none}.seo-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;position:relative}.seo-guide-card{display:flex;flex-direction:column;gap:.45rem;min-height:190px;padding:1.35rem;border:1px solid rgba(244,216,146,.23);border-radius:18px;background:linear-gradient(145deg,rgba(244,216,146,.07),rgba(0,0,0,.22));text-decoration:none;box-shadow:0 16px 38px rgba(0,0,0,.18);transition:transform .2s ease,border-color .2s ease}.seo-guide-card:hover{transform:translateY(-3px);border-color:rgba(244,216,146,.48)}.seo-guide-card span{color:var(--muted);font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.seo-guide-card strong{color:var(--gold-soft);font-size:1.15rem}.seo-guide-card p{margin:0;color:var(--text);line-height:1.6}.seo-coffee-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.seo-coffee-help,.search-intent-panel{padding:1.5rem;border:1px solid rgba(244,216,146,.18);border-radius:20px;background:rgba(9,8,6,.72);box-shadow:0 18px 45px rgba(0,0,0,.2)}.seo-coffee-help h3,.search-intent-panel h2{margin:.2rem 0 .7rem}.seo-inline-links{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.seo-inline-links a{display:inline-flex;padding:.55rem .75rem;border:1px solid rgba(244,216,146,.24);border-radius:999px;color:var(--gold-soft);text-decoration:none;font-weight:750;font-size:.84rem}.seo-inline-links a:hover{border-color:rgba(244,216,146,.55);background:rgba(244,216,146,.06)}.search-intent-section{padding-top:1rem;padding-bottom:1rem}.search-intent-panel{max-width:980px;margin:0 auto}.search-intent-panel p:not(.eyebrow){max-width:850px;line-height:1.75}.seo-coffee-discovery .card p{margin:.45rem 0}
@media(max-width:980px){.seo-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.seo-guide-grid,.seo-coffee-help-grid{grid-template-columns:1fr}.seo-guide-card{min-height:0}}


/* F.T.M. Website v1.75.8.0 — Atlas stock availability */
.ftm-stock-message{margin:.75rem 0 .15rem;font-size:.92rem;font-weight:700;line-height:1.35;}
.ftm-stock-message.sold-out{font-weight:800;}
.uniform-choice-row button.stock-unavailable,.uniform-choice-row button:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.55);}
.uniform-add-cart.stock-sold-out,.uniform-add-cart:disabled{opacity:.58;cursor:not-allowed;}
