:root {
  --font-display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --font-body: "Sora", ui-sans-serif, system-ui, sans-serif;
  --ink: #05090a;
  --ink-2: #091214;
  --ink-3: #0d1d1e;
  --paper: #f2e7d2;
  --paper-2: #e4d5bb;
  --gold: #c79039;
  --gold-2: #f0c66e;
  --gold-dark: #815c24;
  --ivory: #f7edd9;
  --teal: #0b8d83;
  --teal-2: #0c5f5a;
  --red: #d94b39;
  --coral: #e56c43;
  --muted: #a7977c;
  --line: rgba(199, 144, 57, 0.38);
  --max: 1420px;
  --radius: 22px;
  --shadow: 0 30px 80px rgba(0, 0, 0, 0.32);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  background: var(--ink);
}
body {
  margin: 0;
  background: radial-gradient(
      circle at 18% 8%,
      rgba(11, 141, 131, 0.08),
      transparent 28%
    ),
    linear-gradient(180deg, #040708 0%, #071012 46%, #05090a 100%);
  color: var(--ivory);
  font-family: var(--font-body);
  line-height: 1.55;
  overflow-x: hidden;
}
body:before,
body:after {
  content: "";
  position: fixed;
  top: 0;
  bottom: 0;
  width: 94px;
  z-index: 2;
  pointer-events: none;
  background-image: url("../ornaments/corner-floral.svg");
  background-size: 100% auto;
  background-repeat: repeat-y;
  opacity: 0.78;
  filter: saturate(1.08);
}
body:before {
  left: 0;
  background-position: left top;
}
body:after {
  right: 0;
  transform: scaleX(-1);
  background-position: left top;
}
body.drawer-open {
  overflow: hidden;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}
button {
  cursor: pointer;
}
img {
  display: block;
  max-width: 100%;
}
::selection {
  background: var(--gold);
  color: #111;
}
.skip-link {
  position: fixed;
  left: 12px;
  top: 12px;
  z-index: 999;
  transform: translateY(-160%);
  background: var(--ivory);
  color: #111;
  padding: 10px 14px;
  border-radius: 8px;
}
.skip-link:focus {
  transform: none;
}
.top-note {
  position: relative;
  z-index: 8;
  min-height: 34px;
  background: linear-gradient(
    90deg,
    var(--gold-dark),
    var(--gold),
    var(--gold-dark)
  );
  color: #15110b;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 7px 20px;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 900;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}
.site-nav {
  position: sticky;
  top: 0;
  z-index: 90;
  background: rgba(4, 8, 9, 0.9);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(20px);
}
.nav-inner {
  height: 78px;
  width: min(var(--max), calc(100% - 150px));
  margin: auto;
  display: flex;
  align-items: center;
  gap: 34px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  min-width: max-content;
}
.nav-links {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 27px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.nav-links a {
  position: relative;
  color: rgba(247, 237, 217, 0.82);
}
.nav-links a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -10px;
  height: 2px;
  background: linear-gradient(90deg, var(--gold), var(--teal));
  transition: 0.25s;
}
.nav-links a:hover:after {
  right: 0;
}
.nav-links a:hover {
  color: var(--ivory);
}
.menu-btn {
  display: none;
  border: 0;
  background: transparent;
  color: var(--ivory);
  padding: 10px;
}
.menu-btn span {
  display: block;
  width: 24px;
  height: 2px;
  background: currentColor;
  margin: 4px 0;
}
.menu-btn b {
  display: none;
}
.cart-trigger,
.floating-cart {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.035);
  color: var(--ivory);
  border-radius: 999px;
  padding: 8px 10px 8px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 900;
}
.cart-trigger b,
.floating-cart b {
  width: 27px;
  height: 27px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--gold);
  color: #111;
}
.kicker {
  display: block;
  margin-bottom: 14px;
  color: var(--gold-2);
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 900;
}
.kicker b {
  color: var(--red);
}
.kicker.dark {
  color: var(--teal);
}
.btn {
  min-height: 48px;
  border-radius: 8px;
  padding: 12px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  font-size: 12px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-weight: 900;
  transition:
    transform 0.2s,
    background 0.2s,
    border-color 0.2s,
    box-shadow 0.2s;
}
.btn:hover {
  transform: translateY(-2px);
}
.btn.gold {
  background: linear-gradient(135deg, var(--gold-2), var(--gold));
  color: #17110a;
  box-shadow: 0 12px 32px rgba(199, 144, 57, 0.22);
}
.btn.outline {
  border-color: rgba(240, 198, 110, 0.52);
  background: rgba(4, 9, 10, 0.34);
  color: var(--ivory);
  backdrop-filter: blur(10px);
}
.btn.dark {
  background: linear-gradient(135deg, #102421, #06100f);
  color: var(--ivory);
  border-color: var(--gold-dark);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.25);
}
.btn.outline-dark {
  background: transparent;
  border-color: var(--gold-dark);
  color: var(--gold-dark);
}
.btn.wide {
  width: 100%;
}
.ornamental-frame {
  border-bottom: 1px solid var(--gold-dark);
}
.section-frame {
  position: relative;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.section-frame:before,
.section-frame:after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 190px;
  height: 140px;
  background: url("../ornaments/corner-floral.svg") center/contain no-repeat;
  pointer-events: none;
  opacity: 0.78;
}
.section-frame:before {
  top: 0;
  left: 52px;
}
.section-frame:after {
  bottom: 0;
  right: 52px;
  transform: rotate(180deg);
}
.ornament-divider {
  height: 42px;
  background: url("../ornaments/divider.svg") center/780px 58px no-repeat;
  margin: 4px 0 26px;
  opacity: 0.85;
}
.commerce-ribbon {
  position: relative;
  z-index: 6;
  width: min(1240px, calc(100% - 190px));
  margin: -26px auto 0;
  padding: 20px 24px;
  background: linear-gradient(90deg, #0b2421, #0b1617, #0b2421);
  border: 1px solid var(--gold-dark);
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: repeat(4, 1fr) auto;
  align-items: center;
  gap: 22px;
}
.commerce-ribbon div {
  display: grid;
  gap: 4px;
  border-right: 1px solid rgba(240, 198, 110, 0.16);
}
.commerce-ribbon span {
  font-size: 9px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--teal);
}
.commerce-ribbon b {
  font-family: var(--font-display);
  font-size: 16px;
}
.commerce-ribbon del {
  color: rgba(247, 237, 217, 0.42);
  font-size: 12px;
  margin-left: 6px;
}
.section {
  width: min(var(--max), calc(100% - 160px));
  margin: 72px auto;
  padding: 74px 64px;
  background: linear-gradient(
    180deg,
    rgba(247, 237, 217, 0.985),
    rgba(229, 215, 190, 0.985)
  );
  color: #17120d;
  box-shadow: var(--shadow);
}
.section-heading {
  max-width: 760px;
}
.section-heading.center {
  text-align: center;
  margin: 0 auto;
}
.section-heading h2,
.story-copy h2,
.origin-copy h2,
.final-cta h2,
.product-info-panel h1,
.product-story h2,
.related-section h2 {
  font-family: var(--font-display);
  font-size: clamp(36px, 4.4vw, 68px);
  line-height: 0.98;
  letter-spacing: -0.035em;
  margin: 0 0 16px;
  text-wrap: balance;
}
.section-heading p {
  color: #655a4b;
  font-size: 16px;
}
.region-filters {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.region-filters button {
  border: 1px solid rgba(129, 92, 36, 0.38);
  background: rgba(255, 255, 255, 0.4);
  padding: 10px 15px;
  border-radius: 999px;
  color: #3b2d1e;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.region-filters button.active,
.region-filters button:hover {
  background: #0d2926;
  color: var(--ivory);
  border-color: #0d2926;
}
.collection-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.product-card {
  background: #091112;
  color: var(--ivory);
  border: 1px solid var(--gold-dark);
  overflow: hidden;
  position: relative;
  transition:
    transform 0.25s,
    border-color 0.25s,
    box-shadow 0.25s;
}
.product-card:hover {
  transform: translateY(-5px);
  border-color: var(--gold);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.28);
}
.product-visual {
  height: 330px;
  display: grid;
  place-items: center;
  background: radial-gradient(
      circle at 50% 32%,
      rgba(199, 144, 57, 0.14),
      transparent 38%
    ),
    linear-gradient(180deg, #101a1b, #060a0b);
  position: relative;
  overflow: hidden;
}
.product-visual:after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../ornaments/pattern-tile.svg") center/190px 190px;
  opacity: 0.08;
}
.product-visual img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 10px;
  transition: transform 0.35s;
}
.product-card:hover .product-visual img {
  transform: scale(1.035);
}
.product-badge {
  position: absolute;
  z-index: 2;
  left: 12px;
  top: 12px;
  background: rgba(5, 9, 10, 0.78);
  border: 1px solid rgba(240, 198, 110, 0.42);
  padding: 6px 9px;
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.product-info {
  padding: 17px;
}
.product-region {
  display: block;
  margin: 0 0 9px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--teal);
}
.product-info h3 {
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1.05;
  margin: 0 0 5px;
  color: var(--gold-2);
}
.product-info p {
  margin: 0;
  color: rgba(247, 237, 217, 0.62);
  font-size: 12px;
  min-height: 38px;
}
.product-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: end;
  margin-top: 15px;
}
.product-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.product-price strong {
  font-size: 18px;
}
.product-price del {
  font-size: 11px;
  color: rgba(247, 237, 217, 0.38);
}
.product-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}
.product-actions a,
.product-actions button {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 1px solid rgba(240, 198, 110, 0.38);
  background: transparent;
  color: var(--gold-2);
  font-size: 17px;
}
.product-actions button:hover,
.product-actions a:hover {
  background: var(--gold);
  color: #111;
}
.card-purchase {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin-top: 14px;
}
.card-purchase select {
  min-height: 38px;
  border: 1px solid rgba(240, 198, 110, 0.28);
  background: #071011;
  color: var(--ivory);
  padding: 0 9px;
  border-radius: 5px;
  font-size: 11px;
}
.card-purchase button {
  min-height: 38px;
  border: 0;
  border-radius: 5px;
  background: var(--gold);
  color: #111;
  padding: 0 13px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.dark-section {
  width: min(var(--max), calc(100% - 160px));
  margin: 72px auto;
  padding: 72px 64px;
  background: linear-gradient(130deg, #081617, #05090a 65%);
  display: grid;
  grid-template-columns: 0.76fr 1.24fr;
  gap: 54px;
  align-items: center;
  box-shadow: var(--shadow);
}
.story-copy h2 {
  color: var(--ivory);
}
.story-copy p {
  color: rgba(247, 237, 217, 0.68);
}
.story-points {
  padding: 0;
  margin: 22px 0 28px;
  list-style: none;
}
.story-points li {
  padding: 9px 0 9px 25px;
  position: relative;
  color: rgba(247, 237, 217, 0.8);
}
.story-points li:before {
  content: "◆";
  position: absolute;
  left: 0;
  color: var(--teal);
}
.mural-rail {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 190px;
  gap: 12px;
}
.mural-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(240, 198, 110, 0.34);
  background: #030607;
}
.mural-card.tall {
  grid-row: span 2;
}
.mural-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 12px;
  background: radial-gradient(circle at 50% 35%, rgba(199, 144, 57, 0.12), transparent 44%), #071011;
  transition: transform 0.35s;
}
.mural-card:hover img {
  transform: scale(1.04);
}
.mural-card figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 26px 14px 12px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.88));
  display: grid;
}
.mural-card b {
  font-family: var(--font-display);
  color: var(--gold-2);
}
.mural-card span {
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(247, 237, 217, 0.65);
}
.buying-section {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 44px;
  align-items: start;
}
.buying-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.buying-grid article {
  display: flex;
  gap: 14px;
  padding: 20px;
  border: 1px solid rgba(129, 92, 36, 0.28);
  background: rgba(255, 255, 255, 0.34);
}
.buying-grid article > span {
  font-family: var(--font-display);
  font-size: 26px;
  color: var(--teal);
}
.buying-grid h3 {
  margin: 0 0 4px;
  font-family: var(--font-display);
  font-size: 20px;
}
.buying-grid p {
  margin: 0;
  color: #6a5d4b;
  font-size: 12px;
}
.buying-section > .btn {
  grid-column: 2;
  justify-self: start;
}
.origin-section {
  width: min(var(--max), calc(100% - 160px));
  margin: 72px auto;
  background: linear-gradient(115deg, #071314, #0a2521);
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  color: var(--ivory);
  box-shadow: var(--shadow);
}
.origin-visual {
  min-height: 530px;
  display: grid;
  place-items: center;
  background: radial-gradient(circle, rgba(199, 144, 57, 0.12), transparent 48%),
    #05090a;
  overflow: hidden;
}
.origin-visual img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  max-height: 600px;
  padding: 25px;
}
.origin-copy {
  padding: 70px;
}
.origin-copy p {
  color: rgba(247, 237, 217, 0.68);
  font-size: 16px;
}
.origin-points {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 22px 0 26px;
}
.origin-points span {
  padding: 8px 11px;
  border: 1px solid rgba(240, 198, 110, 0.28);
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.final-cta {
  text-align: center;
}
.final-cta p {
  max-width: 690px;
  margin: 0 auto 26px;
  color: #645847;
}
.final-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.site-footer {
  position: relative;
  width: min(var(--max), calc(100% - 160px));
  margin: 0 auto 42px;
  border: 1px solid var(--line);
  background: #05090a;
}
.footer-ornament {
  height: 34px;
  background: url("../ornaments/divider.svg") center/760px 55px no-repeat;
  border-bottom: 1px solid var(--line);
}
.footer-main {
  display: grid;
  grid-template-columns: 1.05fr 0.8fr 1.2fr;
  gap: 36px;
  padding: 36px;
}
.footer-main p {
  color: rgba(247, 237, 217, 0.56);
  font-size: 12px;
}
.footer-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.footer-columns div {
  display: grid;
  align-content: start;
  gap: 6px;
}
.footer-columns b {
  font-family: var(--font-display);
  color: var(--gold-2);
}
.footer-columns a {
  font-size: 11px;
  color: rgba(247, 237, 217, 0.65);
}
.footer-columns a:hover {
  color: var(--gold-2);
}
.footer-bottom {
  border-top: 1px solid var(--line);
  padding: 14px 36px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: rgba(247, 237, 217, 0.42);
  font-size: 10px;
}
.floating-cart {
  position: fixed;
  right: 28px;
  bottom: 24px;
  z-index: 70;
  background: #0b2421;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.38);
}
.drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 110;
  background: rgba(0, 0, 0, 0.68);
  backdrop-filter: blur(4px);
}
.cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 120;
  width: min(520px, 100%);
  background: linear-gradient(180deg, #f5ead8, #dfceb0);
  color: #17120d;
  transform: translateX(105%);
  transition: transform 0.28s;
  box-shadow: -24px 0 60px rgba(0, 0, 0, 0.4);
  display: grid;
  grid-template-rows: auto 1fr auto;
}
.cart-drawer.open {
  transform: none;
}
.cart-head {
  padding: 24px 25px;
  border-bottom: 1px solid rgba(129, 92, 36, 0.25);
  display: flex;
  justify-content: space-between;
  align-items: start;
}
.cart-head h2,
.dialog-head h2 {
  font-family: var(--font-display);
  font-size: 38px;
  margin: 0;
}
.cart-head > button,
.dialog-close {
  border: 0;
  background: transparent;
  font-size: 32px;
  line-height: 1;
}
.cart-items {
  padding: 16px 22px;
  overflow: auto;
}
.cart-item {
  display: grid;
  grid-template-columns: 95px 1fr auto;
  gap: 13px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(129, 92, 36, 0.2);
}
.cart-item img {
  width: 95px;
  height: 112px;
  object-fit: contain;
  background: #0a1112;
}
.cart-region {
  font-size: 8px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--teal);
}
.cart-item h3 {
  font-family: var(--font-display);
  margin: 3px 0 8px;
  font-size: 18px;
}
.cart-controls {
  display: flex;
  gap: 7px;
}
.cart-controls select,
.cart-controls input {
  height: 34px;
  border: 1px solid rgba(129, 92, 36, 0.36);
  background: rgba(255, 255, 255, 0.45);
  padding: 0 8px;
}
.cart-controls input {
  width: 58px;
}
.cart-remove {
  border: 0;
  background: transparent;
  padding: 5px 0;
  color: #8d312a;
  font-size: 10px;
  text-decoration: underline;
}
.cart-item-total {
  font-weight: 900;
  white-space: nowrap;
}
.cart-empty {
  padding: 42px 25px;
  text-align: center;
}
.cart-empty b {
  font-family: var(--font-display);
  font-size: 24px;
}
.cart-totals {
  padding: 20px 25px 26px;
  border-top: 1px solid rgba(129, 92, 36, 0.25);
  background: rgba(255, 255, 255, 0.26);
}
.cart-totals > div {
  display: flex;
  justify-content: space-between;
  margin-bottom: 7px;
}
.cart-totals small {
  display: block;
  margin: 12px 0;
  color: #6e604e;
}
.checkout-dialog {
  width: min(780px, calc(100% - 28px));
  border: 1px solid var(--gold-dark);
  border-radius: 18px;
  background: linear-gradient(180deg, #f6ead8, #e2d0b2);
  color: #17120d;
  padding: 0;
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.55);
}
.checkout-dialog::backdrop {
  background: rgba(0, 0, 0, 0.74);
  backdrop-filter: blur(7px);
}
.checkout-dialog form {
  padding: 26px;
}
.dialog-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
}
.payment-choice {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 20px 0;
}
.payment-choice label {
  position: relative;
}
.payment-choice input {
  position: absolute;
  opacity: 0;
}
.payment-choice span {
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px solid rgba(129, 92, 36, 0.34);
  background: rgba(255, 255, 255, 0.34);
}
.payment-choice input:checked + span {
  border-color: var(--teal);
  box-shadow: 0 0 0 2px rgba(11, 141, 131, 0.16);
}
.payment-choice small {
  color: #6f604d;
}
.checkout-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}
.checkout-grid label {
  display: grid;
  gap: 5px;
}
.checkout-grid label.full {
  grid-column: 1/-1;
}
.checkout-grid span {
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.checkout-grid input,
.checkout-grid select,
.checkout-grid textarea {
  width: 100%;
  border: 1px solid rgba(129, 92, 36, 0.34);
  background: rgba(255, 255, 255, 0.5);
  padding: 11px;
}
.checkout-summary {
  margin: 18px 0;
  padding: 17px;
  background: #0d2724;
  color: var(--ivory);
  display: grid;
}
.checkout-summary span {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: var(--teal);
}
.checkout-summary b {
  font-family: var(--font-display);
  font-size: 27px;
}
.checkout-summary small {
  color: rgba(247, 237, 217, 0.6);
}
.checkout-result {
  min-height: 22px;
  text-align: center;
  color: var(--teal);
}
.toast {
  position: fixed;
  left: 50%;
  bottom: 30px;
  z-index: 140;
  transform: translate(-50%, 120px);
  background: #071513;
  color: var(--ivory);
  border: 1px solid var(--gold-dark);
  padding: 11px 16px;
  box-shadow: var(--shadow);
  transition: 0.25s;
}
.toast.show {
  transform: translate(-50%, 0);
}
.product-page {
  background: linear-gradient(180deg, #040708, #071112);
}
.product-page main {
  min-height: 60vh;
}
.product-shell {
  width: min(var(--max), calc(100% - 160px));
  margin: 38px auto 64px;
}
.breadcrumbs {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(247, 237, 217, 0.55);
  margin-bottom: 18px;
}
.product-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(390px, 0.88fr);
  gap: 26px;
  align-items: start;
}
.product-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.gallery-main {
  position: relative;
  min-height: 650px;
  background: radial-gradient(
      circle at 50% 35%,
      rgba(199, 144, 57, 0.14),
      transparent 38%
    ),
    #071011;
  border: 1px solid var(--gold-dark);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.gallery-main:before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../ornaments/pattern-tile.svg") center/210px 210px;
  opacity: 0.08;
}
.gallery-main img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-height: 680px;
  object-fit: contain;
  padding: 22px;
}
.gallery-caption {
  position: absolute;
  z-index: 2;
  left: 18px;
  bottom: 16px;
  padding: 8px 10px;
  background: rgba(5, 9, 10, 0.76);
  border: 1px solid rgba(240, 198, 110, 0.3);
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.product-info-panel {
  position: sticky;
  top: 100px;
  background: linear-gradient(180deg, #0b1819, #05090a);
  border: 1px solid var(--gold-dark);
  padding: 30px;
  color: var(--ivory);
}
.product-info-panel h1 {
  font-size: clamp(45px, 5vw, 74px);
  color: var(--gold-2);
  margin-bottom: 8px;
}
.product-info-panel h1 span {
  display: block;
  margin-top: 10px;
  color: var(--ivory);
  font-family: var(--font-body);
  font-size: 0.42em;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.015em;
}
.product-tagline {
  font-family: var(--font-display);
  font-size: 20px;
  color: rgba(247, 237, 217, 0.75);
}
.product-price-panel {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 20px 0;
}
.product-price-panel strong {
  font-size: 31px;
}
.product-price-panel del {
  color: rgba(247, 237, 217, 0.38);
}
.product-price-panel span {
  margin-left: auto;
  padding: 6px 9px;
  border: 1px solid rgba(240, 198, 110, 0.3);
  font-size: 9px;
  text-transform: uppercase;
}
.product-buy {
  display: grid;
  grid-template-columns: 1fr 90px;
  gap: 9px;
}
.product-buy select,
.product-buy input {
  min-height: 46px;
  background: #071011;
  color: var(--ivory);
  border: 1px solid rgba(240, 198, 110, 0.32);
  padding: 0 12px;
}
.product-buy .btn {
  grid-column: 1/-1;
}
.product-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 18px;
}
.product-benefits article {
  padding: 12px;
  border: 1px solid rgba(240, 198, 110, 0.18);
  text-align: center;
}
.product-benefits b {
  display: block;
  color: var(--gold-2);
  font-family: var(--font-display);
}
.product-benefits span {
  font-size: 9px;
  color: rgba(247, 237, 217, 0.52);
}
.product-story {
  width: min(var(--max), calc(100% - 160px));
  margin: 0 auto 62px;
  padding: 58px 64px;
  background: linear-gradient(180deg, #f4e8d5, #e5d3b4);
  color: #17120d;
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: 50px;
  border: 1px solid var(--gold-dark);
}
.product-story-text > p {
  font-size: 17px;
  color: #5f5446;
}
.symbol-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 24px 0;
}
.symbol-list article {
  padding: 17px;
  border: 1px solid rgba(129, 92, 36, 0.28);
  background: rgba(255, 255, 255, 0.32);
}
.symbol-list b {
  font-family: var(--font-display);
  color: var(--teal);
  font-size: 18px;
}
.symbol-list p {
  margin: 5px 0 0;
  font-size: 12px;
  color: #6b5e4c;
}
.source-list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.source-list a {
  padding: 8px 10px;
  border: 1px solid rgba(129, 92, 36, 0.35);
  font-size: 10px;
  font-weight: 800;
}
.legal-note {
  padding: 13px;
  border-left: 3px solid var(--red);
  background: rgba(217, 75, 57, 0.08);
  font-size: 12px !important;
}
.related-section {
  width: min(var(--max), calc(100% - 160px));
  margin: 0 auto 72px;
}
.related-section > h2 {
  color: var(--ivory);
}
.related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.related-card {
  border: 1px solid var(--gold-dark);
  background: #071011;
}
.related-card img {
  height: 280px;
  width: 100%;
  object-fit: contain;
}
.related-card div {
  padding: 14px;
}
.related-card h3 {
  margin: 0;
  font-family: var(--font-display);
  color: var(--gold-2);
}
.related-card p {
  margin: 4px 0 0;
  color: rgba(247, 237, 217, 0.56);
  font-size: 10px;
}
@media (max-width: 1180px) {
  body:before,
  body:after {
    width: 64px;
  }
  .nav-inner,
  .section,
  .dark-section,
  .origin-section,
  .site-footer,
  .product-shell,
  .product-story,
  .related-section {
    width: calc(100% - 92px);
  }
  .commerce-ribbon {
    width: calc(100% - 110px);
    grid-template-columns: repeat(2, 1fr) auto;
  }
  .commerce-ribbon div:nth-child(2) {
    border-right: 0;
  }
  .commerce-ribbon .btn {
    grid-row: 1/3;
    grid-column: 3;
  }
  .collection-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .dark-section {
    grid-template-columns: 1fr;
  }
  .buying-section {
    grid-template-columns: 1fr;
  }
  .buying-section > .btn {
    grid-column: 1;
  }
  .product-layout {
    grid-template-columns: 1fr;
  }
  .product-info-panel {
    position: static;
  }
  .product-gallery {
    grid-template-columns: 1fr;
  }
  .related-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 820px) {
  body:before,
  body:after {
    display: none;
  }
  .top-note {
    font-size: 9px;
  }
  .nav-inner {
    width: calc(100% - 28px);
    height: 68px;
  }
  .menu-btn {
    display: block;
    margin-left: auto;
  }
  .nav-links {
    position: fixed;
    left: 14px;
    right: 14px;
    top: 106px;
    display: none;
    background: #071011;
    border: 1px solid var(--gold-dark);
    padding: 18px;
    flex-direction: column;
    align-items: stretch;
  }
  .nav-links.open {
    display: flex;
  }
  .nav-links a {
    padding: 9px 0;
    border-bottom: 1px solid rgba(240, 198, 110, 0.12);
  }
  .cart-trigger span {
    display: none;
  }
  .commerce-ribbon {
    width: calc(100% - 28px);
    margin: -12px auto 0;
    grid-template-columns: 1fr 1fr;
    padding: 15px;
    gap: 12px;
  }
  .commerce-ribbon div:nth-child(2) {
    border-right: 0;
  }
  .commerce-ribbon div:nth-child(3),
  .commerce-ribbon div:nth-child(4) {
    display: none;
  }
  .commerce-ribbon .btn {
    grid-row: auto;
    grid-column: 1/-1;
  }
  .section,
  .dark-section,
  .origin-section,
  .site-footer,
  .product-shell,
  .product-story,
  .related-section {
    width: calc(100% - 28px);
  }
  .section,
  .dark-section {
    margin: 36px auto;
    padding: 42px 20px;
  }
  .section-frame:before,
  .section-frame:after {
    display: none;
  }
  .section-heading h2,
  .story-copy h2,
  .origin-copy h2,
  .final-cta h2,
  .product-story h2 {
    font-size: 40px;
  }
  .collection-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .product-visual {
    height: 250px;
  }
  .product-info {
    padding: 13px;
  }
  .product-info h3 {
    font-size: 18px;
  }
  .product-info p {
    min-height: 0;
  }
  .product-meta {
    align-items: center;
  }
  .card-purchase {
    grid-template-columns: 1fr;
  }
  .card-purchase button {
    width: 100%;
  }
  .dark-section {
    grid-template-columns: 1fr;
  }
  .mural-rail {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 160px;
  }
  .mural-card.tall {
    grid-row: span 1;
  }
  .buying-grid {
    grid-template-columns: 1fr;
  }
  .origin-section {
    grid-template-columns: 1fr;
    margin: 36px auto;
  }
  .origin-visual {
    min-height: 360px;
  }
  .origin-copy {
    padding: 42px 22px;
  }
  .footer-main {
    grid-template-columns: 1fr;
    padding: 28px 20px;
  }
  .footer-columns {
    grid-template-columns: repeat(3, 1fr);
  }
  .footer-bottom {
    padding: 14px 20px;
    flex-direction: column;
  }
  .floating-cart {
    right: 14px;
    bottom: 14px;
  }
  .product-shell {
    margin: 20px auto 36px;
  }
  .product-layout {
    grid-template-columns: 1fr;
  }
  .product-gallery {
    grid-template-columns: 1fr;
  }
  
  .gallery-main {
    min-height: 500px;
  }
  .product-info-panel {
    padding: 22px;
  }
  .product-story {
    grid-template-columns: 1fr;
    padding: 40px 22px;
    gap: 18px;
  }
  .symbol-list {
    grid-template-columns: 1fr;
  }
  .related-grid {
    grid-template-columns: 1fr 1fr;
  }
  .related-card img {
    height: 230px;
  }
}
@media (max-width: 540px) {
  .btn {
    padding: 10px 12px;
    font-size: 9px;
  }
  .commerce-ribbon {
    grid-template-columns: 1fr 1fr;
  }
  .commerce-ribbon b {
    font-size: 14px;
  }
  .section,
  .dark-section {
    padding: 36px 14px;
  }
  .collection-grid {
    grid-template-columns: 1fr;
  }
  .product-visual {
    height: 330px;
  }
  .region-filters {
    justify-content: flex-start;
    overflow: auto;
    flex-wrap: nowrap;
    padding-bottom: 6px;
  }
  .region-filters button {
    white-space: nowrap;
  }
  .mural-rail {
    grid-template-columns: 1fr;
    grid-auto-rows: 250px;
  }
  .buying-grid article {
    padding: 15px;
  }
  .footer-columns {
    grid-template-columns: 1fr 1fr;
  }
  .payment-choice,
  .checkout-grid {
    grid-template-columns: 1fr;
  }
  .checkout-grid label.full {
    grid-column: auto;
  }
  .cart-item {
    grid-template-columns: 75px 1fr;
  }
  .cart-item img {
    width: 75px;
    height: 95px;
  }
  .cart-item-total {
    grid-column: 2;
  }
  .gallery-main {
    min-height: 420px;
  }
  .related-grid {
    grid-template-columns: 1fr;
  }
  .related-card img {
    height: 300px;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}
:root {
  --ink: #030506;
  --ink-2: #070b0c;
  --ink-3: #0b1314;
  --paper: #f4ead9;
  --paper-2: #e8d8bd;
  --gold: #b9873e;
  --gold-2: #e6bb68;
  --gold-dark: #6f4b20;
  --ivory: #f6ecd9;
  --teal: #0b7772;
  --teal-2: #064f4d;
  --red: #c53f51;
  --coral: #e0643e;
  --blue: #1e8eae;
  --muted: #9f9078;
  --line: rgba(214, 170, 82, 0.42);
}
body {
  background:
    linear-gradient(rgba(3, 5, 6, 0.965), rgba(3, 5, 6, 0.965)),
    url("../ornaments/pattern-tile.svg") center top/220px 220px repeat;
}
body:before,
body:after {
  width: 112px;
  opacity: 0.92;
  background-size: 110px auto;
  filter: none;
}
.top-note {
  background: linear-gradient(90deg, #6c471c, #d0a14c, #7b5120);
  color: #120e08;
  border-top: 1px solid #ecc66e;
  border-bottom: 1px solid #624016;
}
.site-nav {
  background: rgba(3, 5, 6, 0.96);
  border-top: 1px solid rgba(230, 187, 104, 0.42);
  border-bottom: 1px solid rgba(230, 187, 104, 0.55);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.42);
}
.site-nav:before,
.site-nav:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 5px;
  pointer-events: none;
  background: url("../ornaments/pattern-tile.svg") center/74px 74px repeat-x;
  opacity: 0.33;
}
.site-nav:before {
  top: 0;
}
.site-nav:after {
  bottom: 0;
  transform: scaleY(-1);
}
.brand {
  gap: 12px;
}
.nav-links a {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 10px;
}
.ornamental-frame {
  border-top: 1px solid var(--gold-dark);
  border-bottom: 1px solid var(--gold-dark);
}
.section-frame {
  border-color: rgba(214, 170, 82, 0.48);
  box-shadow: inset 0 0 0 1px rgba(214, 170, 82, 0.08);
}
.section-frame:before,
.section-frame:after {
  opacity: 0.95;
  width: 220px;
  height: 162px;
}
.section,
.dark-section,
.origin-section,
.product-story,
.product-info-panel,
.gallery-main,
.related-card,
.product-card,
.buying-grid article,
.commerce-ribbon {
  position: relative;
}
.section:after,
.dark-section:after,
.origin-section:after,
.product-story:after,
.product-info-panel:after,
.gallery-main:after,
.commerce-ribbon:after {
  content: "";
  position: absolute;
  inset: 7px;
  pointer-events: none;
  border: 1px solid rgba(214, 170, 82, 0.18);
}
.collection-section,
.buying-section {
  background:
    linear-gradient(
      180deg,
      rgba(244, 234, 217, 0.99),
      rgba(231, 214, 184, 0.99)
    ),
    url("../ornaments/pattern-tile.svg") center/190px 190px repeat;
}
.dark-section,
.site-footer,
.product-info-panel,
.related-card {
  background:
    linear-gradient(rgba(5, 8, 9, 0.96), rgba(5, 8, 9, 0.96)),
    url("../ornaments/pattern-tile.svg") center/200px 200px repeat;
}
.product-card,
.related-card,
.gallery-main,
.product-info-panel {
  border-color: rgba(214, 170, 82, 0.55);
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.28),
    inset 0 0 0 4px rgba(3, 5, 6, 0.62),
    inset 0 0 0 5px rgba(214, 170, 82, 0.12);
}
.product-card:before,
.related-card:before {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(214, 170, 82, 0.18);
  pointer-events: none;
  z-index: 3;
}
.product-card:hover {
  border-color: var(--gold-2);
  box-shadow:
    0 26px 56px rgba(0, 0, 0, 0.34),
    0 0 0 1px rgba(230, 187, 104, 0.24);
}
.ornament-divider {
  background-size: 900px 70px;
  height: 52px;
  opacity: 1;
}
.arena-frame {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  border: 8px solid transparent;
  border-image: linear-gradient(90deg, #6f4b20, #e1b963, #6f4b20) 1;
  box-shadow:
    inset 0 0 0 2px #050707,
    inset 0 0 0 4px rgba(230, 187, 104, 0.34),
    inset 0 0 75px rgba(0, 0, 0, 0.42);
}
.arena-frame:before,
.arena-frame:after {
  content: "";
  position: absolute;
  width: 250px;
  height: 185px;
  top: 0;
  background: url("../ornaments/corner-floral.svg") center/contain no-repeat;
  opacity: 0.85;
}
.arena-frame:before {
  left: 0;
}
.arena-frame:after {
  right: 0;
  transform: scaleX(-1);
}
.commerce-ribbon {
  background: linear-gradient(180deg, #090e0f, #050707);
  border: 1px solid rgba(214, 170, 82, 0.52);
}
.commerce-ribbon:before {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 7px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-2), transparent);
  opacity: 0.55;
}
.site-footer {
  border-top: 1px solid rgba(214, 170, 82, 0.56);
}
.footer-ornament {
  background-image: url("../ornaments/pattern-tile.svg");
  background-size: 120px 120px;
  opacity: 0.18;
}
@media (max-width: 820px) {
  body:before,
  body:after {
    display: none;
  }
  .arena-frame {
    border-width: 5px;
  }
  .arena-frame:before,
  .arena-frame:after {
    width: 150px;
    height: 110px;
    opacity: 0.62;
  }
}
body {
  background:
    linear-gradient(rgba(4, 7, 7, 0.96), rgba(4, 7, 7, 0.96)),
    url("../ornaments/pattern-tile.svg") center top/220px 220px repeat;
}
body:before,
body:after {
  width: 108px;
  background-image: url("../ornaments/edge-pattern.svg");
  background-size: 108px 504px;
  background-repeat: repeat-y;
  opacity: 0.94;
  filter: none;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.48);
}
.site-nav {
  background:
    linear-gradient(
      90deg,
      rgba(4, 8, 8, 0.98),
      rgba(7, 13, 13, 0.96),
      rgba(4, 8, 8, 0.98)
    ),
    url("../ornaments/pattern-tile.svg") center/180px 180px repeat;
  border-bottom-color: rgba(184, 134, 61, 0.55);
}
.site-nav:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 3px;
  background: linear-gradient(
    90deg,
    transparent,
    #9f7533 12%,
    #0f8f87 36%,
    #e34d58 50%,
    #0f8f87 64%,
    #9f7533 88%,
    transparent
  );
  opacity: 0.65;
}
.top-note {
  background: #080d0d;
  color: var(--gold-2);
  border-top: 1px solid rgba(184, 134, 61, 0.4);
  border-bottom: 1px solid rgba(184, 134, 61, 0.5);
  box-shadow: inset 0 -1px rgba(15, 143, 135, 0.16);
}
.section-frame,
.product-card,
.product-info-panel,
.gallery-main,
.related-card,
.site-footer,
.commerce-ribbon {
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.018),
    var(--shadow);
}
.section-frame:before,
.section-frame:after {
  width: 230px;
  height: 165px;
  opacity: 0.92;
}
.section {
  background:
    linear-gradient(
      180deg,
      rgba(247, 238, 219, 0.985),
      rgba(229, 214, 186, 0.985)
    ),
    url("../ornaments/pattern-tile.svg") center/220px 220px repeat;
}
.dark-section,
.site-footer,
.product-info-panel,
.related-card,
.product-card {
  background:
    linear-gradient(180deg, rgba(8, 14, 14, 0.96), rgba(4, 8, 8, 0.98)),
    url("../ornaments/pattern-tile.svg") center/220px 220px repeat;
}
.product-card:before,
.related-card:before,
.product-info-panel:before {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(184, 134, 61, 0.18);
  pointer-events: none;
  z-index: 3;
}
.product-card,
.related-card,
.product-info-panel {
  position: relative;
}
.product-card:hover {
  border-color: #d6a550;
  box-shadow:
    0 20px 44px rgba(0, 0, 0, 0.42),
    inset 0 0 0 1px rgba(15, 143, 135, 0.16);
}
.product-visual:after,
.gallery-main:before {
  opacity: 0.14;
  background-size: 220px 220px;
}
.commerce-ribbon {
  background:
    linear-gradient(
      90deg,
      rgba(7, 17, 16, 0.98),
      rgba(4, 9, 9, 0.98),
      rgba(7, 17, 16, 0.98)
    ),
    url("../ornaments/pattern-tile.svg") center/180px 180px repeat;
}
.footer-ornament {
  height: 42px;
  background-size: 800px 64px;
}
.collection-section:after,
.buying-section:after,
.final-cta:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1px;
  transform: translateX(-50%);
  width: min(760px, 70%);
  height: 34px;
  background: url("../ornaments/divider.svg") center/760px 62px no-repeat;
  opacity: 0.5;
  pointer-events: none;
}
.origin-section,
.product-story {
  background:
    linear-gradient(
      180deg,
      rgba(245, 232, 207, 0.985),
      rgba(225, 207, 174, 0.985)
    ),
    url("../ornaments/pattern-tile.svg") center/220px 220px repeat;
}
@media (max-width: 1180px) {
  body:before,
  body:after {
    width: 70px;
    background-size: 70px 327px;
  }
}
@media (max-width: 820px) {
  body:before,
  body:after {
    display: none;
  }
}
.brand-with-logo {
  gap: 10px;
  min-width: 0;
  align-items: center;
}
.brand-logo-wrap {
  width: 178px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}
.brand-logo-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: saturate(1.04) contrast(1.04);
}
.brand-playeras {
  font-family: var(--font-display);
  color: var(--gold-2);
  font-size: 12px;
  letter-spacing: 0.22em;
  font-weight: 900;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  line-height: 1;
}
.footer-brand .brand-logo-wrap {
  width: 210px;
  height: 68px;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.footer-brand .brand-playeras {
  font-size: 13px;
}
.heritage-statements {
  position: relative;
  width: min(var(--max), calc(100% - 150px));
  margin: 34px auto;
  display: grid;
  grid-template-columns: 1.45fr 0.72fr 0.72fr;
  gap: 14px;
  isolation: isolate;
}
.heritage-statements:before,
.heritage-statements:after {
  content: "";
  position: absolute;
  z-index: 3;
  width: 210px;
  height: 108px;
  background: url("../ornaments/floral-cluster.svg") center/contain no-repeat;
  pointer-events: none;
}
.heritage-statements:before {
  left: -42px;
  bottom: -28px;
}
.heritage-statements:after {
  right: -42px;
  top: -28px;
  transform: scale(-1);
}
.heritage-panel {
  position: relative;
  min-height: 190px;
  padding: 30px 32px;
  border: 1px solid rgba(210, 161, 68, 0.58);
  background:
    linear-gradient(135deg, rgba(6, 10, 10, 0.98), rgba(10, 16, 15, 0.96)),
    url("../ornaments/relief-tile.svg") center/360px 240px repeat;
  color: var(--ivory);
  overflow: hidden;
  box-shadow:
    inset 0 0 0 5px #070a0a,
    inset 0 0 0 6px rgba(191, 139, 53, 0.32),
    0 24px 56px rgba(0, 0, 0, 0.32);
}
.heritage-panel:before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(199, 144, 57, 0.26);
  pointer-events: none;
}
.heritage-panel:after {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 13px;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--gold),
    var(--teal),
    var(--red),
    var(--gold),
    transparent
  );
  opacity: 0.7;
}
.heritage-panel-primary {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 54px;
}
.heritage-eyebrow,
.heritage-panel-compact span {
  display: block;
  color: var(--teal);
  font-size: 9px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 900;
}
.heritage-panel h2 {
  margin: 7px 0 9px;
  font-family: var(--font-display);
  font-size: clamp(30px, 3.2vw, 49px);
  line-height: 1.02;
  font-weight: 500;
  color: var(--ivory);
}
.heritage-panel h2 strong {
  color: var(--gold-2);
  font-weight: 500;
}
.heritage-panel p {
  max-width: 720px;
  margin: 0;
  color: rgba(247, 237, 217, 0.68);
  font-size: 13px;
}
.heritage-panel-compact {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 190px;
  padding: 29px 25px;
}
.heritage-panel-compact b {
  display: block;
  margin-top: 8px;
  font-family: var(--font-display);
  font-size: 25px;
  line-height: 1.05;
  color: var(--gold-2);
}

.dark-section,
.site-footer,
.product-info-panel,
.related-card,
.product-card,
.commerce-ribbon {
  background-image: linear-gradient(
      180deg,
      rgba(7, 12, 12, 0.94),
      rgba(3, 7, 7, 0.985)
    ),
    url("../ornaments/relief-tile.svg");
  background-size:
    auto,
    360px 240px;
  background-repeat: repeat;
}
.story-showcase:before,
.origin-section:before,
.final-cta:before {
  background-image: url("../ornaments/floral-cluster.svg");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.9;
}
.collection-section {
  background-image: linear-gradient(
      180deg,
      rgba(246, 235, 213, 0.985),
      rgba(229, 213, 183, 0.985)
    ),
    url("../ornaments/relief-tile.svg");
  background-size:
    auto,
    360px 240px;
}
.protected-media {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.protected-media:after {
  content: "TE AMO GUERRERO PLAYERAS  •  VISTA DE CATÁLOGO  •  ";
  position: absolute;
  z-index: 5;
  inset: -35%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(248, 235, 207, 0.12);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.18em;
  white-space: nowrap;
  transform: rotate(-28deg);
  pointer-events: none;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
.protected-media:before {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    -28deg,
    transparent 0 88px,
    rgba(240, 198, 110, 0.035) 89px 90px
  );
}
.protected-media img,
img[data-protected="true"] {
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-touch-callout: none;
  user-select: none;
}
body.catalog-guard {
  user-select: auto;
}
body.catalog-guard .protected-media,
body.catalog-guard .protected-media img {
  user-select: none;
  -webkit-user-select: none;
}
body.protection-active .protected-media img {
  filter: blur(22px) brightness(0.35) !important;
  opacity: 0.2 !important;
}
body.protection-active .protected-media:after {
  color: rgba(248, 235, 207, 0.72);
  font-size: 17px;
}
.screen-shield {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: none;
  place-items: center;
  background: #050808;
  color: var(--ivory);
  text-align: center;
  padding: 30px;
}
.screen-shield.active {
  display: grid;
}
.screen-shield > div {
  width: min(430px, 86vw);
  padding: 30px;
  border: 1px solid var(--gold-dark);
  background:
    linear-gradient(180deg, #0a1211, #050808),
    url("../ornaments/relief-tile.svg") center/360px 240px repeat;
  box-shadow:
    inset 0 0 0 7px #050808,
    inset 0 0 0 8px rgba(199, 144, 57, 0.28);
}
.screen-shield img {
  width: 250px;
  margin: 0 auto 20px;
  padding: 7px 11px;
  background: #f7f3e9;
  border-radius: 6px;
}
.screen-shield b {
  display: block;
  color: var(--gold-2);
  font-family: var(--font-display);
  font-size: 27px;
}
.screen-shield span {
  display: block;
  margin-top: 7px;
  color: rgba(247, 237, 217, 0.66);
  font-size: 12px;
}
.protection-toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 10002;
  transform: translate(-50%, 16px);
  opacity: 0;
  padding: 10px 16px;
  border: 1px solid rgba(199, 144, 57, 0.55);
  background: rgba(4, 9, 9, 0.96);
  color: var(--gold-2);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  pointer-events: none;
  transition: 0.22s;
}
.protection-toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}
@media print {
  body > * {
    display: none !important;
  }
  body:after {
    content: "Contenido protegido · TE AMO GUERRERO PLAYERAS";
    display: grid !important;
    position: fixed !important;
    inset: 0 !important;
    width: auto !important;
    background: #fff !important;
    color: #111 !important;
    place-items: center;
    font:
      700 22px Georgia,
      serif !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
@media (max-width: 980px) {
  .brand-logo-wrap {
    width: 145px;
    height: 48px;
  }
  .brand-playeras {
    font-size: 10px;
  }
  .heritage-statements {
    width: calc(100% - 48px);
    grid-template-columns: 1fr 1fr;
    margin: 28px auto;
  }
  .heritage-panel-primary {
    grid-column: 1/-1;
  }
  
}
@media (max-width: 650px) {
  .brand-with-logo {
    gap: 5px;
  }
  .brand-logo-wrap {
    width: 122px;
    height: 42px;
    padding: 3px 6px;
  }
  .brand-playeras {
    font-size: 8px;
    letter-spacing: 0.13em;
  }
  .heritage-statements {
    width: calc(100% - 24px);
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .heritage-statements:before,
  .heritage-statements:after {
    width: 135px;
    height: 70px;
  }
  .heritage-panel-primary {
    grid-column: auto;
    padding: 34px 25px;
    min-height: 220px;
  }
  .heritage-panel-compact {
    min-height: 130px;
  }
  .heritage-panel h2 {
    font-size: 34px;
  }
  
  
}

.product-card:hover .product-visual img,
.related-card:hover img,
.gallery-main:hover img {
  transform: none !important;
}
.product-visual {
  padding: 8px 10px;
}
.product-visual img {
  padding: 0;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
.gallery-main img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 680px;
  padding: 20px;
}

.related-card img {
  display: block;
  width: 100%;
  height: 280px;
  padding: 10px;
}
@media (max-width: 820px) {
  .gallery-main img {
    max-height: 500px;
    padding: 14px;
  }
  .related-card img {
    height: 230px;
  }
}
@media (max-width: 540px) {
  .related-card img {
    height: 300px;
  }
}

@media (max-width: 700px) {
  .arena-frame:before,
  .arena-frame:after {
    width: 105px !important;
    height: 78px !important;
    opacity: 0.45 !important;
  }
}

@media (max-width: 520px) {
  
}

@media (max-width: 1180px) {
  
}
@media (max-width: 900px) {
  
}
@media (max-width: 700px) {
  
  
}
@keyframes carouselAura {
  to {
    transform: rotate(360deg);
  }
}
@keyframes carouselShirtFloat {
  0%,
  100% {
    transform: translateZ(24px) translateY(0);
  }
  50% {
    transform: translateZ(36px) translateY(-7px);
  }
}

h1, h2, h3 { font-family: var(--font-display); }
.product-gallery { grid-template-columns: minmax(0, 1fr); }
.product-gallery .gallery-main { width: 100%; }

:root {
  --font-display: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
  --font-body: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
  --launch-max: 1220px;
  --launch-space: clamp(18px, 4vw, 56px);
  --launch-radius: 8px;
  --launch-button-h: 52px;
  --launch-fast: 180ms;
  --launch-slow: 520ms;
  --state-error: #a52831;
  --state-success: #075b58;
  --ink: #080604;
  --ink-2: #17100b;
  --ink-3: #26170f;
  --paper: #f6e7bd;
  --paper-2: #e8cf91;
  --gold: #c8922f;
  --gold-2: #f2d47e;
  --gold-dark: #7b4d16;
  --ivory: #fff3d1;
  --teal: #078d87;
  --teal-2: #075b58;
  --red: #be343e;
  --coral: #df5c2e;
  --pink: #cf4774;
  --green: #667c2e;
  --line: rgba(232,190,90,.55);
  --shadow: 0 26px 70px rgba(0,0,0,.38);
}

body {
  background:
    linear-gradient(rgba(8,6,4,.965),rgba(8,6,4,.985)),
    url('../ornaments/23_olinala-tile.svg') center top/320px 240px repeat;
  color: var(--ivory);
  font-family: var(--font-body);
}
body:before, body:after {
  width: 96px;
  background-image: url('../ornaments/23_olinala-edge.svg');
  background-size: 96px 432px;
  background-repeat: repeat-y;
  opacity: .96;
  filter: none;
}
h1, h2, h3, .product-info-panel h1, .product-card h3, .related-card h3, .confidence-grid b {
  font-family: var(--font-display);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 20, "WONK" 1;
}
.launch-home { overflow-x: hidden; }

.top-note {
  min-height: 38px;
  background:
    linear-gradient(rgba(8,6,4,.9),rgba(8,6,4,.9)),
    url('../ornaments/23_olinala-band.svg') center/auto 38px repeat-x;
  color: var(--gold-2);
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
  letter-spacing: .16em;
  font-size: 10px;
  text-shadow: 0 1px 8px #000;
}
.site-nav, .launch-home .site-nav {
  background: rgba(8,6,4,.96);
  border-bottom-color: rgba(242,212,126,.55);
}
.site-nav:before, .site-nav:after {
  background-image: url('../ornaments/23_olinala-band.svg');
  background-size: auto 32px;
  opacity: .32;
}
.nav-links a { color: rgba(255,243,209,.86); }
.nav-links a:after { background: linear-gradient(90deg,var(--coral),var(--gold-2),var(--teal)); }
.cart-trigger, .floating-cart { border-color: rgba(242,212,126,.62); background: rgba(255,243,209,.055); }
.cart-trigger b, .floating-cart b { background: var(--gold-2); color: #160d08; }

.launch-hero {
  width: min(1120px,calc(100% - 28px));
  margin: 14px auto 0;
  min-height: 0;
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  align-items: center;
  gap: 24px;
  padding: clamp(28px,4vw,52px);
  text-align: center;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(rgba(10,7,4,.94),rgba(10,7,4,.98)),
    url('../ornaments/23_olinala-tile.svg') center/320px 240px repeat;
  border: 2px solid var(--gold);
  box-shadow: inset 0 0 0 6px #0a0704,inset 0 0 0 7px rgba(242,212,126,.35),var(--shadow);
}
.launch-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg,transparent,rgba(7,141,135,.16),transparent),
    url('../ornaments/23_olinala-band.svg') top center/auto 50px repeat-x;
  opacity: .72;
}
.launch-hero-copy, .launch-hero-media { position: relative; z-index: 1; }
.launch-hero-copy { width: min(880px,100%); margin-inline: auto; }
.launch-hero-copy .kicker {
  color: var(--gold-2);
  font-size: 11px;
  letter-spacing: .2em;
  margin-bottom: 12px;
}
.launch-hero-copy h1 {
  color: var(--ivory);
  font-weight: 900;
  font-size: clamp(52px,7.4vw,100px);
  line-height: .88;
  letter-spacing: -.055em;
  text-wrap: balance;
  margin: 14px auto 20px;
  max-width: 930px;
  text-shadow: 0 5px 28px rgba(0,0,0,.5);
}
.launch-hero-copy > p {
  color: #fff2ce;
  font-family: var(--font-body);
  font-size: clamp(17px,1.65vw,22px);
  font-weight: 600;
  line-height: 1.55;
  max-width: 820px;
  margin: 0 auto;
  text-wrap: balance;
}
.launch-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}
.launch-hero-actions .btn { min-height: var(--launch-button-h); }
.launch-hero-media {
  width: min(760px,100%);
  height: clamp(300px,48vh,520px);
  max-height: 50vh;
  min-height: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  margin-inline: auto;
  background: #fff;
  border: 2px solid var(--gold);
  box-shadow: inset 0 0 0 5px #0a0704,inset 0 0 0 6px rgba(242,212,126,.4),0 18px 48px rgba(0,0,0,.38);
}
.launch-hero-media video, .launch-poster { grid-area: 1/1; width: 100%; height: 100%; }
.launch-poster { display: grid; place-items: center; background: #fff; }
.launch-poster img, .launch-hero-media video { width: 100%; height: 100%; object-fit: contain; }
.launch-hero-media video { background: #fff; opacity: 0; transition: opacity var(--launch-slow) ease; }
.launch-hero-media.is-video-ready video { opacity: 1; }
.launch-hero-media.is-video-ready .launch-poster { opacity: 0; }
.launch-hero-media.is-reduced-motion video, .launch-hero-media.has-video-error video { display: none; }
.video-fallback { display: none; position: absolute; inset: auto 14px 14px; background: rgba(8,6,4,.9); color: var(--ivory); padding: 10px 12px; font-size: 12px; }
.launch-hero-media.has-video-error .video-fallback { display: block; }

.btn { border-radius: 4px; min-height: 52px; }
.btn.gold { background: var(--gold-2); color: #180e08; border-color: #fff0b6; box-shadow: 0 10px 30px rgba(200,146,47,.28); }
.btn.outline { border-color: rgba(255,243,209,.72); color: var(--ivory); background: rgba(8,6,4,.44); }
.btn.outline-dark { border-color: #7b4d16; color: #1f120a; background: #fff4d5; }
.btn.compact { min-height: 42px; padding: 10px 14px; font-size: 10px; }
.btn:focus-visible, a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid #12b6ad; outline-offset: 3px; }

.section-frame:before, .section-frame:after { background-image: url('../ornaments/23_olinala-tile.svg'); opacity: .34; }
.collection-section, .buying-section, .product-story, .product-essentials {
  background:
    linear-gradient(rgba(248,234,194,.98),rgba(231,204,139,.98)),
    url('../ornaments/23_olinala-tile.svg') center/320px 240px repeat;
  color: #1b1009;
}
.dark-section, .site-footer, .related-card, .product-info-panel, .product-card {
  background:
    linear-gradient(rgba(12,8,5,.95),rgba(7,5,3,.985)),
    url('../ornaments/23_olinala-tile.svg') center/320px 240px repeat;
}
.ornament-divider, .footer-ornament { background-image: url('../ornaments/23_olinala-band.svg'); background-size: auto 58px; opacity: .82; }

.launch-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.launch-product-card .product-visual { aspect-ratio: 3/4; }
.launch-product-card .product-info { min-height: 310px; display: flex; flex-direction: column; }
.launch-product-card .product-meta { margin-top: auto; align-items: center; }
.launch-product-card, .related-card, .gallery-main, .product-info-panel {
  border-color: rgba(242,212,126,.64);
  box-shadow: inset 0 0 0 5px #090604,inset 0 0 0 6px rgba(242,212,126,.24),0 20px 48px rgba(0,0,0,.34);
}
.launch-product-card:before, .related-card:before, .product-info-panel:before { border-color: rgba(15,154,147,.28); }
.product-badge, .availability-label { color: #f6d67e; }
.availability-label { font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.product-region { color: #51c8c0; font-size: 11px; font-weight: 800; }
.product-info p { color: rgba(255,243,209,.82); font-size: 13px; }
.product-info h3 { color: #fff0bd; font-size: 25px; font-weight: 800; }
.product-price strong { color: #fff0bd; }

.commerce-ribbon {
  background:
    linear-gradient(rgba(9,6,4,.94),rgba(9,6,4,.96)),
    url('../ornaments/23_olinala-band.svg') center/auto 58px repeat-x;
  border-color: var(--gold);
}
.commerce-ribbon span { color: #57c7c0; }
.commerce-ribbon b { color: #fff0bd; }

.launch-editorial { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.72fr); gap: clamp(24px,5vw,72px); align-items: center; }
.launch-editorial-copy h2 { font-size: clamp(42px,5vw,72px); color: var(--ivory); line-height: .98; margin: 16px 0 20px; }
.launch-editorial-copy p { color: rgba(255,243,209,.82); font-size: 17px; line-height: 1.75; max-width: 680px; }
.launch-editorial-image { min-height: 560px; display: grid; place-items: center; background: #0a0704; border: 1px solid rgba(242,212,126,.58); }
.launch-editorial-image img { width: 100%; height: 100%; max-height: 650px; object-fit: contain; }
.launch-explore .section-heading { max-width: 760px; }
.launch-lookbook { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-top: 32px; }
.launch-lookbook figure { margin: 0; background: #0a0704; border: 1px solid rgba(242,212,126,.58); overflow: hidden; }
.launch-lookbook img { width: 100%; aspect-ratio: 3/4; object-fit: contain; display: block; }
.launch-lookbook figcaption { padding: 15px; color: var(--ivory); font-size: 12px; letter-spacing: .03em; }

.confidence-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 28px 0; }
.confidence-grid article, .essential-grid article {
  padding: 22px;
  border: 2px solid #a76f20;
  background: #fff0c6;
  color: #1c1008;
  box-shadow: inset 0 0 0 4px #f7e2a5,inset 0 0 0 5px rgba(123,77,22,.36);
}
.confidence-grid b, .essential-grid b { display: block; color: #211208; font-weight: 900; margin-bottom: 8px; }
.confidence-grid p, .confidence-grid a, .essential-grid span { color: #432817; font-size: 14px; font-weight: 600; line-height: 1.55; }

.product-page { background: linear-gradient(180deg,#080604,#130c08); }
.launch-product-shell .product-info-panel h1 span, .product-info-panel h1 span { color: #fff2cc; font-family: var(--font-body); font-size: clamp(17px,2vw,24px); font-weight: 700; line-height: 1.35; margin-top: 12px; }
.product-info-panel h1 { color: #f7d77f; font-weight: 900; }
.product-tagline { color: rgba(255,243,209,.86); font-family: var(--font-body); font-size: 17px; }
.product-availability { padding: 12px 14px; border-left: 4px solid #df5c2e; background: #f3da94; color: #24150b; font-size: 13px; line-height: 1.55; font-weight: 650; }
.product-buy { display: grid; grid-template-columns: 1fr 90px; gap: 9px; }
.product-buy label { display: grid; gap: 6px; }
.product-buy label > span { color: #ffe69a; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; }
.product-buy select, .product-buy input { min-height: 48px; background: #fff5d8; color: #17100b; border: 2px solid #bd852c; padding: 0 12px; font-weight: 750; }
.product-buy select option { color: #17100b; background: #fff5d8; }
.product-buy .btn { grid-column: 1/-1; }
.contact-link { display: inline-flex; margin-top: 14px; color: #59d0c8; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.product-price-panel strong { color: #fff0bd; }
.product-price-panel del { color: rgba(255,243,209,.58); }
.product-price-panel span { color: #ffe7a0; border-color: rgba(242,212,126,.55); }
.product-essentials { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(24px,6vw,86px); }
.product-essentials h2 { font-size: clamp(38px,4vw,64px); }
.essential-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.story-details { border: 1px solid #925c19; background: #fff4d3; }
.story-details summary { cursor: pointer; padding: 18px 20px; font-weight: 800; color: #5b3514; }
.details-body { padding: 0 20px 20px; }
.details-body, .details-body p { color: #3c2415; }
.symbol-list article { background: #fff0c6; border-color: #a76f20; }
.symbol-list b { color: #074f4c; }
.symbol-list p { color: #432817; }
.redirect-page { min-height: 100vh; display: grid; place-content: center; gap: 18px; text-align: center; padding: 24px; }
.toast[data-state="error"] { background: var(--state-error); color: #fff; }
.site-footer button { border: 0; background: none; color: inherit; padding: 0; text-align: left; cursor: pointer; font: inherit; }

@media (max-width:1050px) {
  .launch-grid, .launch-lookbook { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
  body:before, body:after { display: none; }
  .launch-hero { width: 100%; margin: 0; padding: 24px 16px 28px; gap: 20px; border-left: 0; border-right: 0; }
  .launch-hero-copy h1 { font-size: clamp(48px,14vw,68px); line-height: .9; }
  .launch-hero-copy > p { font-size: 16px; line-height: 1.55; }
  .launch-hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .launch-hero-actions .btn { width: 100%; }
  .launch-hero-media { width: min(620px,100%); height: min(46vh,430px); max-height: 50vh; }
  .launch-editorial { grid-template-columns: 1fr; }
  .launch-editorial-image { min-height: 420px; }
  .confidence-grid { grid-template-columns: 1fr 1fr; }
  .product-essentials { grid-template-columns: 1fr; }
}
@media (max-width:560px) {
  .top-note { font-size: 9px; letter-spacing: .11em; padding-inline: 12px; }
  .launch-hero-copy h1 { font-size: clamp(44px,13.6vw,60px); }
  .launch-hero-media { height: min(44vh,390px); }
  .launch-grid, .launch-lookbook, .confidence-grid, .essential-grid { grid-template-columns: 1fr; }
  .launch-product-card .product-info { min-height: 0; }
  .launch-editorial-image { min-height: 360px; }
  .launch-lookbook img { max-height: 570px; }
  .product-info-panel { padding: 24px 20px; }
  .essential-grid article { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .launch-hero-media video { display: none !important; }
  .launch-poster { opacity: 1 !important; }
  *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

:root {
  --launch-radius: 16px;
  --shadow: 0 22px 48px rgba(0,0,0,.26);
  --paper: #f4e7bf;
  --paper-2: #ead59b;
  --gold: #bf8a29;
  --gold-2: #f0d48d;
  --gold-dark: #80521f;
  --ivory: #fff5dc;
  --teal: #0d8f88;
  --teal-2: #0a625d;
  --red: #bf3d40;
  --coral: #d56334;
  --pink: #c65c78;
  --line: rgba(240, 212, 141, .42);
}

body {
  background:
    linear-gradient(rgba(8,6,4,.975),rgba(8,6,4,.992)),
    url('../ornaments/23_olinala-tile.svg') center top/420px 315px repeat;
}
.top-note { letter-spacing: .14em; }
.launch-hero {
  width: min(1140px, calc(100% - 28px));
  border-radius: 24px;
  padding: clamp(26px,4vw,48px);
  background:
    linear-gradient(180deg, rgba(10,7,4,.95), rgba(10,7,4,.985)),
    url('../ornaments/23_olinala-tile.svg') center/420px 315px repeat;
  box-shadow: 0 28px 62px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,245,220,.12);
}
.launch-hero:before {
  background:
    radial-gradient(circle at 50% 10%, rgba(240,212,141,.08), transparent 45%),
    linear-gradient(90deg, transparent, rgba(13,143,136,.08), transparent);
  opacity: 1;
}
.launch-hero-copy { max-width: 920px; }
.launch-hero-copy .kicker { display:none !important; }
.launch-hero-copy h1 {
  font-size: clamp(54px, 7vw, 96px);
  line-height: .9;
  letter-spacing: -.03em;
  text-shadow: 0 8px 24px rgba(0,0,0,.24);
}
.launch-hero-copy > p {
  color: rgba(255,245,220,.94);
  max-width: 760px;
}
.launch-hero-media {
  border-radius: 22px;
  background: linear-gradient(180deg,#0d0b09,#15110d);
  border: 1px solid rgba(240,212,141,.36);
  box-shadow: 0 18px 42px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.06);
}
.launch-poster, .launch-hero-media video { background: transparent; }
.commerce-ribbon {
  border-radius: 18px;
  width: min(1120px, calc(100% - 28px));
  margin-inline: auto;
}
.launch-product-card, .related-card, .gallery-main, .product-info-panel, .confidence-grid article, .essential-grid article, .story-details, .launch-lookbook figure, .launch-editorial-image {
  border-radius: 20px;
}
.launch-product-card, .related-card, .gallery-main, .product-info-panel {
  box-shadow: 0 18px 44px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,245,220,.08);
}
.product-card, .related-card, .product-info-panel, .dark-section, .site-footer {
  background:
    linear-gradient(rgba(12,8,5,.96),rgba(7,5,3,.99)),
    url('../ornaments/23_olinala-tile.svg') center/420px 315px repeat;
}
.collection-section, .buying-section, .product-story, .product-essentials {
  background:
    linear-gradient(rgba(248,234,194,.985),rgba(234,214,160,.985)),
    url('../ornaments/23_olinala-tile.svg') center/420px 315px repeat;
}
.section-heading h2, .launch-editorial-copy h2, .product-essentials h2 { letter-spacing: -.025em; }
.product-visual,
.gallery-main,
.launch-lookbook figure,
.launch-editorial-image,
.related-card {
  display: grid;
  place-items: center;
}
.product-visual img,
.gallery-main img,
.launch-lookbook img,
.launch-editorial-image img,
.related-card img,
.cart-item img,
.origin-visual img,
.mural-card img {
  display: block;
  margin-inline: auto;
  object-fit: contain;
  object-position: center center;
  image-rendering: auto;
}
.product-visual img {
  width: 100%;
  height: 100%;
  max-width: 94%;
  max-height: 94%;
  padding: 0;
}
.gallery-main img {
  width: 100%;
  height: 100%;
  max-width: 94%;
  max-height: 94%;
  padding: 18px;
}
.launch-editorial-image img { max-width: 92%; }
.launch-lookbook img,
.related-card img {
  width: 100%;
  height: 100%;
  max-width: 94%;
  max-height: 94%;
  padding: 10px;
}
.product-info p { color: rgba(255,245,220,.88); }
.product-region { color: #6dd0c7; }
.confidence-grid b, .essential-grid b { font-size: 1.05rem; }
.confidence-grid p, .confidence-grid a, .essential-grid span { color: #3f2817; }
.footer-bottom span:last-child { opacity: .85; }
@media (max-width: 820px) {
  .launch-hero { width: calc(100% - 12px); margin: 8px auto 0; border-radius: 20px; }
  .commerce-ribbon { width: calc(100% - 12px); }
}
@media (max-width: 560px) {
  .launch-hero-copy h1 { font-size: clamp(42px, 13vw, 56px); }
  .launch-hero { padding: 22px 14px 24px; }
  .launch-hero-media { border-radius: 18px; }
  .launch-lookbook img, .related-card img { max-width: 92%; }
}

:root {
  --font-display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --font-body: "Manrope", ui-sans-serif, system-ui, sans-serif;
  --lacquer: #080706;
  --lacquer-soft: #100d0a;
  --ivory-v25: #f8efd9;
  --ivory-deep: #e8d8af;
  --gold-v25: #c89a45;
  --gold-light-v25: #ecd393;
  --teal-v25: #198e88;
  --red-v25: #b83e42;
  --orange-v25: #cf6237;
  --line-v25: rgba(236,211,147,.32);
  --shadow-v25: 0 24px 60px rgba(0,0,0,.28);
}
html { scroll-padding-top: 92px; }
body {
  font-family: var(--font-body);
  background:
    radial-gradient(circle at 50% -10%, rgba(200,154,69,.07), transparent 36rem),
    linear-gradient(180deg,#080706 0%,#0b0907 55%,#080706 100%);
}
body:before, body:after {
  width: 30px;
  opacity: .2;
  background-size: 30px 135px;
  filter: saturate(.7);
}
h1,h2,h3,.product-info-panel h1,.confidence-grid b,.essential-grid b {
  font-family: var(--font-display);
  font-variation-settings: normal;
  letter-spacing: -.018em;
}
.site-nav,.launch-home .site-nav {
  background: rgba(8,7,6,.88);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(236,211,147,.19);
}
.site-nav:before,.site-nav:after { opacity: .08; }
.top-note {
  min-height: 34px;
  font-family: var(--font-body);
  background: #0b0907;
  border-color: rgba(236,211,147,.28);
  color: var(--gold-light-v25);
  letter-spacing: .18em;
}

.launch-hero {
  width: min(1180px,calc(100% - 32px));
  margin: 18px auto 0;
  padding: clamp(34px,5vw,66px);
  gap: clamp(24px,4vw,44px);
  border: 1px solid rgba(236,211,147,.28);
  border-radius: 28px;
  background:
    linear-gradient(180deg,rgba(16,13,10,.97),rgba(8,7,6,.99));
  box-shadow: var(--shadow-v25), inset 0 1px rgba(255,255,255,.04);
}
.launch-hero:before {
  background:
    url('../ornaments/23_olinala-band.svg') top center/auto 36px repeat-x,
    radial-gradient(circle at 50% 0%,rgba(200,154,69,.08),transparent 45%);
  opacity: .2;
}
.launch-hero-copy { width:min(980px,100%); }
.launch-hero-copy .kicker { display:none !important; }
.launch-hero-copy h1 {
  max-width: 980px;
  margin: 0 auto 18px;
  color: var(--ivory-v25);
  font-family: var(--font-display);
  font-size: clamp(62px,9vw,126px);
  font-weight: 800;
  line-height: .82;
  letter-spacing: -.045em;
  text-transform: none;
  text-shadow: 0 10px 32px rgba(0,0,0,.26);
}
.launch-hero-copy > p {
  max-width: 780px;
  color: rgba(248,239,217,.86);
  font-size: clamp(16px,1.5vw,20px);
  font-weight: 500;
  line-height: 1.7;
}
.launch-hero-actions { margin-top: 26px; gap:10px; }
.launch-hero-actions .btn { min-width: 210px; }
.btn {
  border-radius: 999px;
  font-family: var(--font-body);
  font-weight: 800;
  letter-spacing: .04em;
  transition: transform .18s ease,background-color .18s ease,border-color .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn.gold {
  background: var(--ivory-v25);
  color: #17110a;
  border-color: var(--ivory-v25);
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
.btn.outline { background:transparent; border-color:rgba(248,239,217,.38); }
.launch-hero-media {
  width:min(720px,100%);
  height:clamp(300px,48vh,510px);
  max-height:50vh;
  border-radius:24px;
  border:1px solid rgba(236,211,147,.28);
  background:#f8f5ed;
  box-shadow:0 18px 44px rgba(0,0,0,.24);
}
.launch-poster,.launch-hero-media video { background:#f8f5ed; }
.commerce-ribbon { display:none !important; }

.collection-section {
  margin-top: clamp(30px,5vw,72px);
  background: linear-gradient(180deg,#f5ead0,#ead9b0);
}
.section-frame:before,.section-frame:after { opacity:.12; }
.section-heading { max-width: 840px; }
.section-heading h2 {
  font-size: clamp(48px,6vw,78px);
  line-height:.92;
  color:#24170e;
}
.section-heading p { color:#5b4635; font-size:16px; line-height:1.7; }
.ornament-divider { opacity:.38; height:42px; }
.launch-grid { gap:18px; }
.launch-product-card {
  position:relative;
  overflow:hidden;
  border:1px solid rgba(236,211,147,.28);
  border-radius:22px;
  background:linear-gradient(180deg,#100d0a,#080706);
  box-shadow:0 16px 36px rgba(40,24,12,.16);
}
.launch-product-card:before {
  content:"";
  position:absolute;
  z-index:4;
  inset:0 0 auto;
  height:10px;
  opacity:.72;
  background:var(--product-pattern) center/auto 44px repeat-x;
  border:0;
}
.launch-product-card:after {
  content:"";
  position:absolute;
  z-index:4;
  inset:auto 0 0;
  height:6px;
  opacity:.35;
  background:var(--product-pattern) center/auto 44px repeat-x;
}
.launch-product-card[data-product="diablos-negros"] { --product-pattern:url('../ornaments/25_diablos-negros.svg'); }
.launch-product-card[data-product="diablo-de-teloloapan"] { --product-pattern:url('../ornaments/25_diablo-teloloapan.svg'); }
.launch-product-card[data-product="ritual-de-sangre"] { --product-pattern:url('../ornaments/25_ritual-zitlala.svg'); }
.launch-product-card[data-product="porrazo-de-tigres"] { --product-pattern:url('../ornaments/25_porrazos.svg'); }
.product-visual {
  height:auto;
  aspect-ratio:7/9;
  padding:18px 12px 8px;
  background:
    radial-gradient(circle at 50% 40%,rgba(255,255,255,.055),transparent 48%),
    #0b0907;
}
.product-visual:after { opacity:0 !important; }
.product-visual img,
.gallery-main img,
.launch-lookbook img,
.related-card img,
.launch-editorial-image img {
  display:block;
  object-fit:contain;
  object-position:50% 50%;
  margin:auto;
  filter:none;
}
.product-visual img { width:100%;height:100%;max-width:96%;max-height:96%;padding:0; }
.product-badge {
  top:18px;
  left:16px;
  border-radius:999px;
  border-color:rgba(236,211,147,.28);
  background:rgba(8,7,6,.72);
  backdrop-filter:blur(8px);
}
.launch-product-card .product-info { min-height:268px;padding:22px 20px 24px; }
.product-info h3 { font-size:32px;line-height:.92;color:var(--ivory-v25); }
.product-region { color:#7fd0c9;font-size:10px; }
.product-info p { color:rgba(248,239,217,.7);font-size:13px; }
.launch-product-card .product-price { display:none !important; }
.launch-product-card .product-meta { justify-content:flex-start; }
.launch-product-card .product-meta .btn { width:100%; }
.btn.outline-dark {
  background:transparent;
  color:var(--ivory-v25);
  border-color:rgba(236,211,147,.35);
}

.launch-editorial {
  grid-template-columns:1fr;
  text-align:center;
  justify-items:center;
  padding-block:clamp(70px,10vw,130px);
  background:
    linear-gradient(180deg,rgba(9,7,6,.98),rgba(13,10,8,.99));
}
.launch-editorial-copy { max-width:860px; }
.launch-editorial-copy h2 {
  font-size:clamp(56px,7vw,96px);
  line-height:.88;
}
.launch-editorial-copy p { max-width:760px;margin-inline:auto; }
.launch-editorial-image { display:none !important; }
.launch-explore { background:#f6ead0; }
.launch-lookbook { gap:14px; }
.launch-lookbook figure {
  border-radius:20px;
  border:1px solid rgba(126,84,30,.22);
  background:#100d0a;
}
.launch-lookbook img { aspect-ratio:7/9;max-width:96%;padding:8px; }
.launch-lookbook figcaption { font-weight:700; }

.buying-section { background:linear-gradient(180deg,#ead9b0,#f5ead0); }
.confidence-grid { gap:0;border-top:1px solid rgba(67,40,23,.2); }
.confidence-grid article {
  border:0;
  border-right:1px solid rgba(67,40,23,.16);
  border-bottom:1px solid rgba(67,40,23,.16);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.confidence-grid article:nth-child(3n) { border-right:0; }
.confidence-grid b { font-size:27px;line-height:1;color:#24170e; }

body[data-product-theme="diablos-negros"] { --page-pattern:url('../ornaments/25_diablos-negros.svg'); }
body[data-product-theme="diablo-de-teloloapan"] { --page-pattern:url('../ornaments/25_diablo-teloloapan.svg'); }
body[data-product-theme="ritual-de-sangre"] { --page-pattern:url('../ornaments/25_ritual-zitlala.svg'); }
body[data-product-theme="porrazo-de-tigres"] { --page-pattern:url('../ornaments/25_porrazos.svg'); }
.product-shell:before,
.related-section:before {
  content:"";
  display:block;
  height:9px;
  margin-bottom:24px;
  opacity:.62;
  background:var(--page-pattern,url('../ornaments/23_olinala-band.svg')) center/auto 44px repeat-x;
}
.gallery-main {
  min-height:620px;
  border-radius:24px;
  border:1px solid rgba(236,211,147,.26);
  background:radial-gradient(circle at 50% 44%,rgba(255,255,255,.05),transparent 52%),#0c0a08;
}
.gallery-main:before { opacity:0 !important; }
.gallery-main img { width:100%;height:100%;max-width:96%;max-height:96%;padding:16px; }
.product-info-panel { border-radius:24px;border:1px solid rgba(236,211,147,.26); }
.product-info-panel h1 { font-size:clamp(52px,5vw,74px);line-height:.86; }
.product-info-panel h1 span { font-family:var(--font-body); }
.product-availability { border-radius:12px; }
.product-buy select,.product-buy input { border-radius:12px; }
.product-essentials,.product-story { background:linear-gradient(180deg,#f5ead0,#ead9b0); }
.essential-grid article {
  border:0;
  border-left:3px solid rgba(184,62,66,.45);
  border-radius:0 14px 14px 0;
  box-shadow:none;
  background:rgba(255,250,237,.52);
}
.story-details { border-radius:16px; }
.related-card {
  position:relative;
  overflow:hidden;
  border-radius:18px;
}
.related-card img { height:290px;max-width:95%;padding:8px; }

.floating-cart {
  width:56px;
  height:56px;
  min-width:56px;
  padding:0;
  right:16px;
  bottom:16px;
  border-radius:50%;
  border:1px solid rgba(236,211,147,.44);
  background:rgba(8,7,6,.92);
  box-shadow:0 10px 28px rgba(0,0,0,.3);
  opacity:0;
  pointer-events:none;
  transform:translateY(12px);
  transition:opacity .2s ease,transform .2s ease;
}
body.past-hero .floating-cart,.product-page .floating-cart {
  opacity:1;
  pointer-events:auto;
  transform:none;
}
.floating-cart span {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.floating-cart:before {
  content:"";
  width:19px;
  height:16px;
  border:2px solid var(--gold-light-v25);
  border-top:0;
  border-radius:2px 2px 5px 5px;
  transform:translateY(2px);
}
.floating-cart:after {
  content:"";
  position:absolute;
  width:10px;
  height:7px;
  border:2px solid var(--gold-light-v25);
  border-bottom:0;
  border-radius:7px 7px 0 0;
  top:13px;
  left:22px;
}
.floating-cart b {
  position:absolute;
  top:-5px;
  right:-3px;
  min-width:23px;
  height:23px;
  padding:0 5px;
  display:grid;
  place-items:center;
  font-size:10px;
}

@media (max-width:1050px) {
  .confidence-grid article:nth-child(3n) { border-right:1px solid rgba(67,40,23,.16); }
  .confidence-grid article:nth-child(2n) { border-right:0; }
}
@media (max-width:820px) {
  body:before,body:after { display:none; }
  .launch-hero { width:calc(100% - 12px);margin-top:8px;padding:28px 16px 30px;border-radius:22px; }
  .launch-hero-copy h1 { font-size:clamp(54px,16vw,76px);line-height:.83; }
  .launch-hero-copy > p { font-size:15px;line-height:1.65; }
  .launch-hero-actions { display:grid;width:100%; }
  .launch-hero-actions .btn { width:100%; }
  .launch-hero-media { height:min(46vh,420px);border-radius:18px; }
  .gallery-main { min-height:500px; }
  .confidence-grid article:nth-child(2n) { border-right:0; }
}
@media (max-width:560px) {
  .launch-hero-copy h1 { font-size:clamp(48px,15.5vw,64px); }
  .section-heading h2 { font-size:48px; }
  .launch-product-card .product-info { min-height:0; }
  .product-info h3 { font-size:36px; }
  .confidence-grid { grid-template-columns:1fr; }
  .confidence-grid article { border-right:0 !important; }
  .gallery-main { min-height:420px; }
  .related-card img { height:310px; }
}
@media (prefers-reduced-motion:reduce) {
  .btn:hover { transform:none; }
  .floating-cart { transition:none; }
}

:root { --font-display: "Oswald", Impact, sans-serif; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.launch-hero { border:0 !important; box-shadow:0 24px 56px rgba(0,0,0,.24) !important; background:linear-gradient(180deg,rgba(11,9,8,.98),rgba(6,6,6,.99)) !important; }
.launch-hero::before,.launch-hero::after,.ornamental-frame::before,.ornamental-frame::after { display:none !important; content:none !important; }
.launch-hero-copy h1 { font-family: var(--font-display) !important; font-size: clamp(52px,8vw,104px) !important; line-height:.94 !important; letter-spacing:.01em !important; text-transform:uppercase; }
.launch-hero-copy > p { font-size: clamp(17px,1.8vw,21px) !important; line-height:1.55 !important; color:rgba(248,239,217,.92) !important; max-width:760px; }
.launch-hero-media,.launch-poster,.launch-hero-media video { background:#000 !important; }
.launch-hero-media { border:1px solid rgba(255,255,255,.06) !important; box-shadow:0 16px 34px rgba(0,0,0,.28) !important; }
.launch-poster img,.launch-hero-media video { object-fit:contain !important; }
.cart-trigger { transform: translateY(8px); opacity:0; pointer-events:none; transition: opacity .22s ease, transform .22s ease; min-width:54px; width:54px; height:54px; padding:0; border-radius:999px; box-shadow:0 12px 24px rgba(0,0,0,.18); }
body.show-floating-cart .cart-trigger { transform:translateY(0); opacity:1; pointer-events:auto; }
.cart-trigger span { display:none; }
@media (max-width:699px){ .launch-hero{ width:min(100% - 12px,1180px); padding:28px 16px 24px; } .launch-hero-copy h1{ font-size:clamp(42px,12.2vw,58px) !important; letter-spacing:.015em !important; } .launch-hero-copy > p{ font-size:16px !important; } .launch-hero-media{ height:min(46vh,420px); max-height:46vh; } }

.compact-product-shell { padding-bottom: clamp(34px, 5vw, 62px); }
.compact-product-layout { grid-template-columns: minmax(320px, .88fr) minmax(330px, .72fr); gap: clamp(20px, 3vw, 42px); align-items: start; }
.compact-product-gallery .gallery-main { min-height: 0; height: clamp(420px, 57vw, 610px); }
.compact-product-gallery .gallery-main img { max-width: 88%; max-height: 88%; padding: 8px; }
.compact-buy-panel { position: sticky; top: 88px; padding: clamp(20px, 2.6vw, 30px); }
.compact-buy-panel h1 { font-size: clamp(42px, 4.5vw, 62px); line-height: .9; margin-bottom: 12px; }
.compact-buy-panel h1 span { font-size: 14px; margin-top: 8px; }
.product-history-hook { margin: 12px 0 8px; color: #f5d988; font-family: var(--font-display); font-size: clamp(25px, 2.3vw, 34px); line-height: 1; }
.compact-buy-panel .product-tagline { font-size: 14px; line-height: 1.55; margin: 0 0 15px; }
.compact-commerce-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; margin: 12px 0; }
.compact-commerce-row .product-price-panel { margin: 0; padding: 0; }
.compact-commerce-row .product-price-panel strong { font-size: 28px; }
.compact-commerce-row .product-price-panel span { font-size: 10px; padding: 5px 8px; }
.compact-availability { margin: 0; text-align: right; font-size: 10px; line-height: 1.35; color: rgba(255,245,220,.74); }
.compact-availability b, .compact-availability span { display: block; }
.compact-product-buy { grid-template-columns: minmax(0,1fr) 76px; gap: 7px; }
.compact-product-buy label { gap: 4px; }
.compact-product-buy label > span { font-size: 9px; }
.compact-product-buy select, .compact-product-buy input { min-height: 40px; height: 40px; border-width: 1px; font-size: 13px; }
.compact-product-buy .btn { min-height: 44px; }
.compact-delivery { margin: 12px 0 0; color: rgba(255,245,220,.62); font-size: 10px; line-height: 1.45; }
.compact-buy-panel .contact-link { margin-top: 8px; font-size: 12px; }

.wearing-story, .history-context, .documentary-section, .design-symbols, .design-process, .full-history, .sources-section, .history-closing { padding: clamp(54px, 8vw, 108px) max(22px, calc((100vw - 1180px)/2)); }
.wearing-story { display: grid; grid-template-columns: auto minmax(0, 820px); justify-content: center; gap: clamp(20px, 5vw, 76px); background: linear-gradient(180deg,#f5ead0,#ead9b0); color:#21150d; }
.story-number { color: rgba(128,82,31,.28); font-family: var(--font-display); font-size: clamp(76px, 11vw, 150px); line-height: .8; }
.wearing-story h2, .history-context h2, .design-symbols h2, .full-history h2, .history-closing h2 { color:#21150d; font-size: clamp(42px, 5vw, 72px); line-height:.94; margin: 12px 0 22px; }
.wearing-story p { max-width: 820px; color:#4a3424; font-size: clamp(17px,1.7vw,21px); line-height:1.8; }
.history-context { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; padding-block:0; background:#24170e; }
.history-context article { padding: clamp(46px, 7vw, 88px); background:#f7edda; }
.history-context article:nth-child(2) { background:#efe0bf; }
.history-label { color:#8d6329; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.history-context h2 { font-size: clamp(32px,3.5vw,52px); }
.history-context p { color:#4a3424; line-height:1.78; }
.documentary-section { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px; align-items:center; background:#0b0907; color:#fff3d8; }
.documentary-section h2, .design-process h2, .sources-section h2 { color:#fff3d8; font-size:clamp(42px,5vw,72px); line-height:.94; margin:12px 0 18px; }
.documentary-section p, .design-process p, .sources-section p { max-width:760px; color:rgba(255,243,216,.72); line-height:1.75; }
.documentary-actions { display:flex; flex-direction:column; gap:10px; min-width:min(100%,310px); }
.documentary-actions .btn { white-space:normal; text-align:center; }
.design-symbols, .full-history, .history-closing { background:linear-gradient(180deg,#f5ead0,#ead9b0); color:#21150d; }
.symbol-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:34px; }
.symbol-grid article { min-height:210px; padding:24px; border:1px solid rgba(80,49,25,.15); border-radius:16px; background:rgba(255,249,232,.64); }
.symbol-grid article > span { color:#a36b26; font-size:11px; font-weight:800; }
.symbol-grid h3 { color:#21150d; font-size:28px; line-height:1; margin:18px 0 12px; }
.symbol-grid p { color:#4a3424; font-size:13px; line-height:1.65; }
.design-process { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(30px,6vw,90px); background:#17110d; color:#fff3d8; }
.design-process p { font-size:clamp(16px,1.6vw,20px); }
.history-chapters { max-width:980px; margin:36px auto 0; border-top:1px solid rgba(80,49,25,.18); }
.history-chapter { border-bottom:1px solid rgba(80,49,25,.18); }
.history-chapter summary { display:grid; grid-template-columns:52px 1fr; align-items:center; gap:12px; padding:22px 4px; cursor:pointer; color:#21150d; font-family:var(--font-display); font-size:clamp(24px,2.4vw,34px); line-height:1; list-style:none; }
.history-chapter summary::-webkit-details-marker { display:none; }
.history-chapter summary span { color:#a36b26; font-family:var(--font-body); font-size:11px; font-weight:800; }
.history-chapter summary::after { content:'+'; justify-self:end; font-family:var(--font-body); font-size:22px; }
.history-chapter[open] summary::after { content:'−'; }
.history-chapter > div { padding:0 4px 26px 64px; }
.history-chapter p { max-width:850px; color:#4a3424; line-height:1.8; }
.sources-section { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(30px,6vw,90px); background:#0b0907; color:#fff3d8; }
.rich-source-list { display:grid; gap:8px; }
.rich-source-list a { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:15px 0; border-bottom:1px solid rgba(255,243,216,.14); color:#fff3d8; text-decoration:none; }
.rich-source-list a span { line-height:1.45; }
.rich-source-list a b { flex:0 0 auto; color:#73d0c8; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.history-closing { text-align:center; }
.history-closing p { max-width:760px; margin:0 auto; color:#4a3424; font-size:18px; line-height:1.75; }
.closing-buy { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:26px; }

@media (max-width:900px) {
  .compact-product-layout { grid-template-columns:1fr; }
  .compact-buy-panel { position:static; }
  .history-context { grid-template-columns:1fr; }
  .documentary-section, .design-process, .sources-section { grid-template-columns:1fr; }
  .symbol-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .compact-product-gallery .gallery-main { height:410px; }
  .compact-commerce-row { grid-template-columns:1fr; }
  .compact-availability { text-align:left; }
  .wearing-story { grid-template-columns:1fr; gap:12px; }
  .story-number { font-size:76px; }
  .symbol-grid { grid-template-columns:1fr; }
  .symbol-grid article { min-height:0; }
  .history-chapter summary { grid-template-columns:38px 1fr auto; }
  .history-chapter > div { padding-left:50px; }
}

.launch-home .launch-hero-media,
.launch-home .launch-poster,
.launch-home .launch-hero-media video {
  overflow: hidden;
}
.launch-home .launch-poster img,
.launch-home .launch-hero-media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center center !important;
}
.launch-home .launch-hero-media {
  display: grid;
  place-items: center;
  margin-inline: auto;
  background: #0a0908;
}
.launch-home .launch-poster,
.launch-home .launch-hero-media video {
  background: #0a0908;
}
@media (min-width: 900px) {
  .launch-home main,
  .product-page main {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  .launch-home main > *,
  .product-page main > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .launch-home .launch-hero {
    padding-block: 28px;
    gap: 24px;
  }
  .launch-home .launch-hero-media {
    width: min(100%, 840px);
    height: min(46vh, 420px);
    max-height: 50vh;
  }
  .launch-home .collection-section,
  .launch-home .launch-editorial,
  .launch-home .launch-explore,
  .launch-home #confianza,
  .product-page .wearing-story,
  .product-page .history-context,
  .product-page .documentary-section,
  .product-page .design-symbols,
  .product-page .design-process,
  .product-page .full-history,
  .product-page .sources-section,
  .product-page .history-closing,
  .product-page .related-section {
    margin-top: 0 !important;
  }
}
@media (max-width: 899px) {
  .launch-home .launch-hero-media {
    width: min(100%, 620px);
    height: min(43vh, 360px);
    max-height: 50vh;
  }
}

.media-lightbox {
  width: min(1120px, calc(100vw - 24px));
  max-width: 1120px;
  border: 0;
  padding: 0;
  background: transparent;
}
.media-lightbox::backdrop {
  background: rgba(4, 3, 2, .82);
  backdrop-filter: blur(8px);
}
.lightbox-shell {
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(236, 211, 147, .22);
  background: linear-gradient(180deg, rgba(10, 8, 6, .98), rgba(14, 11, 9, .98));
  box-shadow: 0 30px 80px rgba(0,0,0,.45);
}
.lightbox-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(236, 211, 147, .16);
}
.lightbox-head strong {
  color: #f8efd9;
  font-size: 18px;
  line-height: 1.25;
}
.lightbox-head span {
  display: block;
  color: rgba(248,239,217,.68);
  font-size: 12px;
  margin-top: 4px;
}
.lightbox-close {
  min-width: 46px;
  min-height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(236, 211, 147, .22);
  background: rgba(255,255,255,.03);
  color: #f8efd9;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.lightbox-body {
  padding: 14px 18px 18px;
}
.lightbox-frame {
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: min(60vh, 640px);
  max-height: 72vh;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(236, 211, 147, .16);
  background: #000;
}
.lightbox-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
  background: #000;
}
.lightbox-note {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-top: 12px;
  flex-wrap: wrap;
}
.lightbox-note p {
  margin: 0;
  color: rgba(248,239,217,.68);
  font-size: 12px;
  line-height: 1.6;
}
.lightbox-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.documentary-actions {
  align-items: stretch;
}
.documentary-actions .btn {
  min-height: 50px;
}
@media (max-width: 700px) {
  .media-lightbox {
    width: calc(100vw - 12px);
  }
  .lightbox-head,
  .lightbox-body {
    padding-inline: 12px;
  }
  .lightbox-frame {
    min-height: 42vh;
  }
  .lightbox-note {
    align-items: stretch;
  }
  .lightbox-actions {
    width: 100%;
  }
  .lightbox-actions .btn {
    flex: 1 1 100%;
  }
}

:root {
  --story-accent: #c89a45;
  --story-secondary: #198e88;
  --story-pattern: url('../ornaments/23_olinala-band.svg');
  --story-deep: #100b08;
  --story-paper: #f5ead0;
}

.launch-home .launch-hero-media {
  position: relative;
  width: min(100%, 880px) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 16 / 9;
  display: grid;
  place-items: center;
  overflow: hidden;
  margin-inline: auto;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 20px;
  background: #070605 !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.28) !important;
  isolation: isolate;
}
.launch-home .launch-hero-media::before,
.launch-home .launch-hero-media::after {
  display: none !important;
  content: none !important;
}
.launch-home .launch-poster,
.launch-home .launch-hero-media video {
  grid-area: 1 / 1;
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-width: 0;
  min-height: 0;
  border: 0 !important;
  outline: 0 !important;
  border-radius: inherit;
  object-fit: contain !important;
  object-position: center center !important;
  background: #070605 !important;
  transform: translateZ(0);
  backface-visibility: hidden;
}
.launch-home .launch-poster img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 0 !important;
  outline: 0 !important;
  image-rendering: auto;
}
.launch-home .launch-hero-media video {
  opacity: 0;
  transition: opacity .22s ease;
}
.launch-home .launch-hero-media.is-video-ready video { opacity: 1; }
.launch-home .launch-hero-media.is-video-ready .launch-poster { opacity: 0; }
.launch-home .launch-hero-media.is-video-loading::after {
  display: block !important;
  content: '' !important;
  position: absolute;
  z-index: 4;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.18);
  border-top-color: rgba(255,255,255,.72);
  animation: heroVideoSpin .8s linear infinite;
}
@keyframes heroVideoSpin { to { transform: rotate(360deg); } }
.launch-home .video-fallback {
  z-index: 5;
  inset: auto 12px 12px;
  width: auto;
  text-align: center;
  border-radius: 12px;
}
.video-retry {
  display: none;
  position: absolute;
  z-index: 6;
  inset: auto 50% 18px auto;
  transform: translateX(50%);
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(248,239,217,.32);
  border-radius: 999px;
  background: rgba(8,7,6,.88);
  color: #f8efd9;
  font: 800 12px/1 var(--font-body);
  cursor: pointer;
}
.launch-hero-media.has-video-error .video-retry { display: inline-flex; align-items: center; }
.launch-hero-media.has-video-error .video-fallback { display: block; bottom: 68px; }

@media (min-width: 900px) {
  .launch-home .launch-hero-media {
    width: min(100%, 880px) !important;
    aspect-ratio: 16 / 9;
    max-height: min(49vh, 495px) !important;
  }
}
@media (max-width: 899px) {
  .launch-home .launch-hero-media {
    width: min(100%, 512px) !important;
    aspect-ratio: 512 / 646;
    max-height: 48vh !important;
  }
}

.product-page[data-product-theme="diablos-negros"] {
  --story-accent: #d64334;
  --story-secondary: #0b817a;
  --story-pattern: url('../ornaments/25_diablos-negros.svg');
  --story-deep: #120908;
}
.product-page[data-product-theme="diablo-de-teloloapan"] {
  --story-accent: #e2383f;
  --story-secondary: #00a09a;
  --story-pattern: url('../ornaments/25_diablo-teloloapan.svg');
  --story-deep: #100707;
}
.product-page[data-product-theme="ritual-de-sangre"] {
  --story-accent: #d9aa2f;
  --story-secondary: #0a8f88;
  --story-pattern: url('../ornaments/25_ritual-zitlala.svg');
  --story-deep: #100b05;
}
.product-page[data-product-theme="porrazo-de-tigres"] {
  --story-accent: #d65a2e;
  --story-secondary: #07969b;
  --story-pattern: url('../ornaments/25_porrazos.svg');
  --story-deep: #100906;
}

.story-product-shell {
  padding: 0 max(10px, calc((100vw - 1240px)/2)) 5px;
  background: #080604;
}
.story-product-shell .breadcrumbs {
  padding: 14px 8px 12px;
  color: rgba(255,245,220,.62);
}
.story-product-grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(220px, 1fr);
  gap: 5px;
  align-items: stretch;
}
.story-product-stage {
  position: relative;
  min-height: min(76vh, 760px);
  overflow: hidden;
  border-radius: 22px 6px 6px 22px;
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,.055), transparent 48%),
    linear-gradient(150deg, var(--story-deep), #080604 72%);
  box-shadow: inset 0 0 0 1px rgba(255,245,220,.07);
}
.story-product-stage::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    var(--story-pattern) center top / auto 54px repeat-x,
    linear-gradient(90deg, transparent 0 58%, rgba(8,6,4,.82) 92%);
  opacity: .2;
  pointer-events: none;
}
.story-product-image {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px min(38%, 420px) 24px 20px;
}
.story-product-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 690px;
  max-height: 700px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 24px 36px rgba(0,0,0,.3));
}
.story-product-overlay {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: clamp(22px, 4vw, 62px);
  width: min(37%, 410px);
  transform: translateY(-50%);
}
.story-product-region {
  display: inline-flex;
  padding: 7px 11px;
  border: 1px solid color-mix(in srgb, var(--story-accent) 55%, transparent);
  border-radius: 999px;
  color: #f8efd9;
  background: rgba(8,6,4,.58);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.story-product-overlay h1 {
  margin: 18px 0 8px;
  color: #f8efd9;
  font-size: clamp(54px, 6vw, 92px);
  line-height: .86;
  letter-spacing: -.03em;
}
.story-product-phrase {
  margin: 0 0 14px;
  color: color-mix(in srgb, var(--story-accent) 76%, #f8efd9);
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 46px);
  line-height: .94;
}
.story-product-summary {
  margin: 0;
  color: rgba(248,239,217,.76);
  font-size: 14px;
  line-height: 1.7;
}
.story-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 20px;
}
.story-keywords span {
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  color: rgba(248,239,217,.76);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.story-buy-rail {
  position: sticky;
  top: 88px;
  align-self: start;
  min-height: 100%;
  padding: 22px 17px;
  border-radius: 6px 22px 22px 6px;
  background:
    linear-gradient(180deg, rgba(18,13,9,.99), rgba(8,6,4,.99)),
    var(--story-pattern) top center / auto 46px repeat-x;
  box-shadow: inset 0 0 0 1px rgba(255,245,220,.08);
}
.buy-mini-label {
  color: var(--story-secondary);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.buy-mini-title {
  margin: 9px 0 10px;
  color: #f8efd9;
  font-family: var(--font-display);
  font-size: clamp(25px, 2.3vw, 35px);
  line-height: .9;
}
.buy-mini-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 12px 0 15px;
}
.buy-mini-price strong { color: #fff0bd; font-size: 28px; }
.buy-mini-price del { color: rgba(255,245,220,.42); font-size: 12px; }
.buy-mini-price span {
  display: block;
  color: rgba(255,245,220,.65);
  font-size: 9px;
}
.buy-mini-controls {
  display: grid;
  grid-template-columns: 1fr 62px;
  gap: 6px;
}
.buy-mini-controls label { display: grid; gap: 4px; }
.buy-mini-controls label > span {
  color: rgba(255,245,220,.68);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.buy-mini-controls select,
.buy-mini-controls input {
  width: 100%;
  height: 38px;
  min-height: 38px;
  border: 1px solid rgba(236,211,147,.34);
  border-radius: 9px;
  background: #fff5d8;
  color: #17100b;
  padding-inline: 8px;
  font: 700 12px/1 var(--font-body);
}
.buy-mini-controls .btn {
  grid-column: 1 / -1;
  min-height: 42px;
  margin-top: 2px;
  padding-inline: 10px;
  font-size: 10px;
}
.buy-mini-details {
  margin-top: 13px;
  border-top: 1px solid rgba(255,245,220,.1);
}
.buy-mini-details summary {
  padding: 12px 0 5px;
  color: rgba(255,245,220,.7);
  cursor: pointer;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.buy-mini-details p {
  margin: 5px 0 8px;
  color: rgba(255,245,220,.55);
  font-size: 9px;
  line-height: 1.55;
}
.buy-mini-details a {
  color: #79d2cc;
  font-size: 10px;
  font-weight: 800;
}

.story-index {
  position: sticky;
  z-index: 30;
  top: 70px;
  display: flex;
  justify-content: center;
  gap: 4px;
  overflow-x: auto;
  padding: 7px max(10px, calc((100vw - 1180px)/2));
  background: rgba(8,6,4,.92);
  border-top: 1px solid rgba(255,245,220,.06);
  border-bottom: 1px solid rgba(255,245,220,.1);
  backdrop-filter: blur(14px);
  scrollbar-width: none;
}
.story-index::-webkit-scrollbar { display: none; }
.story-index a {
  flex: 0 0 auto;
  padding: 8px 11px;
  border-radius: 999px;
  color: rgba(248,239,217,.7);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}
.story-index a:hover,
.story-index a:focus-visible {
  background: color-mix(in srgb, var(--story-accent) 18%, transparent);
  color: #fff3d8;
}

.product-page .wearing-story,
.product-page .history-context,
.product-page .documentary-section,
.product-page .design-symbols,
.product-page .design-process,
.product-page .full-history,
.product-page .sources-section,
.product-page .history-closing {
  position: relative;
  overflow: hidden;
}
.product-page .wearing-story {
  min-height: min(72vh, 720px);
  align-items: center;
  background:
    linear-gradient(110deg, rgba(245,234,208,.98), rgba(235,215,174,.96)),
    var(--story-pattern) center / auto 64px repeat-x;
}
.product-page .wearing-story::after {
  content: '';
  position: absolute;
  right: -8vw;
  bottom: -16vw;
  width: 42vw;
  height: 42vw;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--story-accent) 18%, transparent), transparent 68%);
}
.product-page .wearing-story > * { position: relative; z-index: 1; }
.product-page .wearing-story h2 {
  max-width: 900px;
  font-size: clamp(54px, 7vw, 108px);
  letter-spacing: -.035em;
}
.product-page .wearing-story p {
  max-width: 880px;
  font-size: clamp(18px, 1.8vw, 23px);
  line-height: 1.78;
}
.product-page .story-number {
  color: color-mix(in srgb, var(--story-accent) 28%, transparent);
}
.product-page .history-context {
  gap: 5px;
  background: #080604;
}
.product-page .history-context article {
  min-height: 560px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(46px, 7vw, 96px);
  border-top: 8px solid var(--story-accent);
}
.product-page .history-context article:nth-child(2) {
  border-top-color: var(--story-secondary);
}
.product-page .history-context h2 {
  font-size: clamp(40px, 4.6vw, 70px);
  max-width: 720px;
}
.product-page .history-context p {
  max-width: 760px;
  font-size: 16px;
  line-height: 1.86;
}
.product-page .documentary-section {
  min-height: 520px;
  background:
    linear-gradient(90deg, rgba(7,5,4,.97), rgba(12,8,6,.88)),
    var(--story-pattern) right center / auto 90px repeat-y;
}
.product-page .documentary-section::before {
  content: '▶';
  position: absolute;
  right: clamp(20px, 8vw, 110px);
  top: 50%;
  transform: translateY(-50%);
  color: color-mix(in srgb, var(--story-accent) 18%, transparent);
  font-size: clamp(130px, 22vw, 300px);
  line-height: 1;
}
.product-page .documentary-section > * { position: relative; z-index: 1; }
.product-page .documentary-actions { max-width: 360px; }
.product-page .design-symbols {
  background:
    linear-gradient(180deg, rgba(245,234,208,.98), rgba(233,215,175,.97)),
    var(--story-pattern) top center / auto 58px repeat-x;
}
.product-page .symbol-grid {
  grid-template-columns: repeat(12, minmax(0,1fr));
  grid-auto-flow: dense;
}
.product-page .symbol-grid article {
  grid-column: span 4;
  min-height: 230px;
  border-top: 5px solid var(--story-accent);
  background: rgba(255,250,238,.78);
  transition: transform .2s ease, box-shadow .2s ease;
}
.product-page .symbol-grid article:nth-child(2n) { border-top-color: var(--story-secondary); }
.product-page .symbol-grid article:nth-child(1),
.product-page .symbol-grid article:nth-child(5) { grid-column: span 6; }
.product-page .symbol-grid article:hover { transform: translateY(-3px); box-shadow: 0 18px 34px rgba(60,35,18,.12); }
.product-page .design-process {
  min-height: 560px;
  align-items: center;
  background:
    linear-gradient(110deg, rgba(10,7,5,.98), rgba(20,12,8,.95)),
    var(--story-pattern) left center / auto 86px repeat-y;
}
.product-page .design-process h2 {
  font-size: clamp(56px, 7vw, 96px);
}
.product-page .design-process p {
  padding: clamp(24px, 4vw, 52px);
  border-left: 5px solid var(--story-accent);
  background: rgba(255,255,255,.025);
}
.product-page .full-history {
  background:
    linear-gradient(180deg, rgba(245,234,208,.99), rgba(235,217,180,.98)),
    var(--story-pattern) top center / auto 62px repeat-x;
}
.product-page .history-chapter summary span { color: var(--story-accent); }
.product-page .history-chapter[open] summary { color: color-mix(in srgb, var(--story-accent) 75%, #21150d); }
.product-page .sources-section {
  background: linear-gradient(135deg, #080604, var(--story-deep));
}
.product-page .rich-source-list a:hover { color: color-mix(in srgb, var(--story-accent) 70%, #fff3d8); }
.product-page .history-closing {
  min-height: 480px;
  display: grid;
  place-content: center;
  background:
    linear-gradient(180deg, rgba(245,234,208,.97), rgba(230,207,159,.97)),
    var(--story-pattern) center bottom / auto 72px repeat-x;
}
.product-page .history-closing h2 {
  font-size: clamp(58px, 8vw, 112px);
  letter-spacing: -.04em;
}
.product-page .related-section { margin-top: 5px !important; }

.product-static-fallback .product-layout {
  grid-template-columns: minmax(0,4fr) minmax(220px,1fr);
  gap: 5px;
}
.product-static-fallback .product-info-panel {
  padding: 18px;
}
.product-static-fallback .product-info-panel > p { display: none; }

@media (max-width: 960px) {
  .story-product-grid { grid-template-columns: 1fr; }
  .story-product-stage { min-height: 680px; border-radius: 20px; }
  .story-product-image { padding: 24px 36% 24px 8px; }
  .story-product-overlay { width: min(42%, 380px); right: 24px; }
  .story-buy-rail {
    position: static;
    display: grid;
    grid-template-columns: minmax(130px,.7fr) minmax(220px,1.3fr) auto;
    align-items: center;
    gap: 12px;
    border-radius: 18px;
    min-height: 0;
  }
  .buy-mini-title { margin: 4px 0 0; }
  .buy-mini-price { margin: 0; }
  .buy-mini-controls { grid-template-columns: minmax(110px,1fr) 62px minmax(150px,1fr); }
  .buy-mini-controls .btn { grid-column: auto; margin-top: 0; }
  .buy-mini-details { display: none; }
}

@media (max-width: 700px) {
  .story-product-shell { padding-inline: 6px; }
  .story-product-stage {
    min-height: 660px;
    border-radius: 18px;
  }
  .story-product-stage::before {
    background: linear-gradient(180deg, transparent 34%, rgba(8,6,4,.94) 76%), var(--story-pattern) top center / auto 48px repeat-x;
  }
  .story-product-image {
    inset: 0 0 220px;
    padding: 12px;
  }
  .story-product-overlay {
    top: auto;
    right: 18px;
    bottom: 24px;
    left: 18px;
    width: auto;
    transform: none;
  }
  .story-product-overlay h1 { font-size: clamp(45px, 14vw, 66px); }
  .story-product-phrase { font-size: clamp(27px, 8vw, 38px); }
  .story-product-summary { font-size: 13px; line-height: 1.58; }
  .story-keywords { margin-top: 12px; }
  .story-buy-rail {
    display: block;
    padding: 16px;
  }
  .buy-mini-title { font-size: 28px; }
  .buy-mini-price { margin: 10px 0; }
  .buy-mini-controls { grid-template-columns: minmax(0,1fr) 62px; }
  .buy-mini-controls .btn { grid-column: 1 / -1; }
  .buy-mini-details { display: block; }
  .story-index { top: 62px; justify-content: flex-start; }
  .product-page .wearing-story { min-height: 620px; }
  .product-page .history-context { grid-template-columns: 1fr; }
  .product-page .history-context article { min-height: auto; }
  .product-page .symbol-grid { grid-template-columns: 1fr; }
  .product-page .symbol-grid article,
  .product-page .symbol-grid article:nth-child(1),
  .product-page .symbol-grid article:nth-child(5) { grid-column: auto; }
  .product-static-fallback .product-layout { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .launch-home .launch-hero-media.is-video-loading::after { animation: none; }
  .product-page .symbol-grid article { transition: none; }
}

.history-gateway {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(72px, 9vw, 132px) max(22px, calc((100vw - 1180px) / 2));
  background:
    linear-gradient(180deg, rgba(7,6,5,.96), rgba(17,11,8,.97)),
    url('../ornaments/32_memoria-guerrero.svg') center 24% / min(920px, 92vw) auto no-repeat;
  color: #fff1cf;
}
.history-gateway::before,
.history-gateway::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
}
.history-gateway::before {
  background: url('../ornaments/32_memoria-guerrero.svg') center / 760px 380px repeat;
  color: #d6a64f;
  opacity: .055;
}
.history-gateway::after {
  background:
    radial-gradient(circle at 10% 25%, rgba(9,143,136,.13), transparent 28%),
    radial-gradient(circle at 88% 72%, rgba(190,52,62,.12), transparent 30%);
}
.history-gateway-intro { max-width: 980px; margin: 0 auto 44px; text-align: center; }
.history-gateway-intro h2 {
  max-width: 980px;
  margin: 16px auto 22px;
  color: #fff1cf;
  font-size: clamp(50px, 7vw, 96px);
  line-height: .92;
}
.history-gateway-intro p {
  max-width: 780px;
  margin: 0 auto;
  color: rgba(255,241,207,.76);
  font-size: clamp(16px,1.6vw,20px);
  line-height: 1.75;
}
.history-portals { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; max-width: 1120px; margin: 0 auto; }
.history-portal {
  --portal-accent: #d29e42;
  position: relative;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(28px,4vw,48px);
  overflow: hidden;
  border: 1px solid rgba(238,212,148,.2);
  border-radius: 20px;
  background: linear-gradient(155deg, rgba(25,18,13,.9), rgba(8,7,6,.97));
  color: #fff1cf;
  text-decoration: none;
  box-shadow: inset 0 1px rgba(255,255,255,.04);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.history-portal::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--portal-pattern) right 16px top 16px / 260px auto no-repeat;
  opacity: .16;
  filter: saturate(.78);
}
.history-portal::after { content:''; position:absolute; inset:auto 0 0; height:4px; background:var(--portal-accent); opacity:.82; }
.history-portal:hover, .history-portal:focus-visible { transform: translateY(-3px); border-color: rgba(238,212,148,.48); background: linear-gradient(155deg, rgba(37,25,16,.94), rgba(8,7,6,.99)); }
.history-portal > * { position: relative; z-index: 1; }
.history-portal[data-story="diablos-negros"] { --portal-accent:#d64334; --portal-pattern:url('../ornaments/25_diablos-negros.svg'); }
.history-portal[data-story="diablo-de-teloloapan"] { --portal-accent:#e2383f; --portal-pattern:url('../ornaments/25_diablo-teloloapan.svg'); }
.history-portal[data-story="ritual-de-sangre"] { --portal-accent:#a2bc3d; --portal-pattern:url('../ornaments/25_ritual-zitlala.svg'); }
.history-portal[data-story="porrazo-de-tigres"] { --portal-accent:#0c9f99; --portal-pattern:url('../ornaments/25_porrazos.svg'); }
.history-portal-index { color: var(--portal-accent); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.history-portal h3 { margin: 17px 0 8px; color: #fff1cf; font-size: clamp(42px,4.4vw,68px); line-height: .9; }
.history-portal p { margin: 0 0 28px; color: rgba(255,241,207,.68); font-size: 15px; }
.history-portal b { display:flex; justify-content:space-between; gap:16px; align-items:center; color:#fff1cf; font-size:12px; letter-spacing:.04em; }
.history-portal b span { color:var(--portal-accent); font-size:22px; }
.history-gateway-note { max-width:820px; margin:30px auto 0; color:rgba(255,241,207,.55); text-align:center; font-size:12px; line-height:1.65; }

.documentary-section { align-items: start; }
.documentary-guidance { margin-top: 14px; color: rgba(255,243,216,.54) !important; font-size: 12px; }
.documentary-actions { display:grid; grid-template-columns:1fr; gap:8px; min-width:min(100%,420px); }
.artisan-video-button {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  min-height:76px;
  padding:12px 15px 12px 12px;
  border:1px solid rgba(239,213,151,.24);
  border-radius:16px;
  background:
    linear-gradient(100deg, rgba(255,255,255,.035), transparent),
    rgba(255,245,220,.025);
  color:#fff1cf;
  text-decoration:none;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.artisan-video-button:hover, .artisan-video-button:focus-visible { transform:translateX(3px); border-color:rgba(239,213,151,.56); background:rgba(255,245,220,.055); }
.artisan-video-icon { width:48px; height:48px; display:grid; place-items:center; color:var(--accent,#c89a45); }
.artisan-video-icon svg { width:44px; height:44px; fill:none; stroke:currentColor; stroke-width:1.5; }
.artisan-video-icon .play-fill { fill:currentColor; stroke:none; }
.artisan-video-copy { display:grid; gap:4px; min-width:0; }
.artisan-video-copy small { color:var(--accent,#c89a45); font-size:9px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.artisan-video-copy b { color:#fff1cf; font-size:12px; line-height:1.4; }
.artisan-video-arrow { color:rgba(255,241,207,.5); font-size:18px; }

.lightbox-frame { position:relative; }
.lightbox-frame iframe, .lightbox-frame video { width:100%; height:100%; border:0; background:#000; }
.lightbox-frame video { display:none; object-fit:contain; }
.media-lightbox.shows-direct-video .lightbox-frame iframe { display:none; }
.media-lightbox.shows-direct-video .lightbox-frame video { display:block; }

@media (max-width: 820px) {
  .history-portals { grid-template-columns:1fr; }
  .history-portal { min-height:250px; }
  .history-gateway-intro h2 { font-size:clamp(44px,12vw,66px); }
}
@media (max-width: 560px) {
  .history-gateway { padding-inline:12px; }
  .history-portal { border-radius:16px; padding:26px 22px; }
  .history-portal h3 { font-size:42px; }
  .artisan-video-button { grid-template-columns:42px minmax(0,1fr) auto; padding:10px; min-height:70px; }
  .artisan-video-icon, .artisan-video-icon svg { width:40px; height:40px; }
}

.protected-media{position:relative;isolation:isolate;overflow:hidden;border-radius:clamp(18px,2vw,28px)}
.protected-media::before{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:radial-gradient(circle at center, rgba(255,255,255,.07), transparent 38%),url("../brand/te-amo-guerrero-logo.png") center 58% / min(44%,220px) auto no-repeat,repeating-linear-gradient(-28deg, transparent 0 84px, rgba(240,198,110,.06) 85px 86px, transparent 87px 170px);opacity:.78}
.protected-media::after{content:"TE AMO GUERRERO PLAYERAS · CATÁLOGO PROTEGIDO · VISTA DE MUESTRA ·";position:absolute;z-index:5;inset:-28%;display:flex;align-items:center;justify-content:center;color:rgba(248,235,207,.18);font-size:13px;font-weight:900;letter-spacing:.22em;white-space:nowrap;transform:rotate(-28deg);pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.42)}
.product-visual img,.story-product-image img,.related-card img,.gallery-main img{display:block;width:100%;height:auto;object-fit:contain}
.story-product-image img{border-radius:clamp(20px,2vw,28px);box-shadow:0 28px 65px rgba(0,0,0,.42)}
.launch-product-card .product-visual{padding:14px;background:linear-gradient(180deg,rgba(16,11,10,.95),rgba(12,8,7,.92));border-radius:26px}
.launch-product-card .product-visual img{filter:drop-shadow(0 20px 32px rgba(0,0,0,.36))}
body.product-page{background-color:#070505}
body.product-page .story-product-shell,body.product-page .wearing-story,body.product-page .history-context,body.product-page .documentary-section,body.product-page .design-symbols,body.product-page .design-process,body.product-page .full-history,body.product-page .sources-section,body.product-page .history-closing,body.product-page .related-section{position:relative;overflow:hidden}
body.product-page .story-product-shell>*,body.product-page .wearing-story>*,body.product-page .history-context>*,body.product-page .documentary-section>*,body.product-page .design-symbols>*,body.product-page .design-process>*,body.product-page .full-history>*,body.product-page .sources-section>*,body.product-page .history-closing>*,body.product-page .related-section>*{position:relative;z-index:1}
body.product-page .story-product-shell::before,body.product-page .wearing-story::before,body.product-page .history-context::before,body.product-page .documentary-section::before,body.product-page .design-symbols::before,body.product-page .design-process::before,body.product-page .full-history::before,body.product-page .sources-section::before,body.product-page .history-closing::before,body.product-page .related-section::before{content:"";position:absolute;inset:0;z-index:0;background-position:center;background-repeat:no-repeat;background-size:cover;opacity:.24}
body.product-page .story-product-shell::after,body.product-page .wearing-story::after,body.product-page .history-context::after,body.product-page .documentary-section::after,body.product-page .design-symbols::after,body.product-page .design-process::after,body.product-page .full-history::after,body.product-page .sources-section::after,body.product-page .history-closing::after,body.product-page .related-section::after{content:"";position:absolute;inset:0;z-index:0}
body.product-page .story-product-shell::before,body.product-page .history-closing::before{background-image:url("../story-bg/story-stage.webp")}
body.product-page .wearing-story::before,body.product-page .design-process::before{background-image:url("../story-bg/story-glow.webp")}
body.product-page .history-context::before,body.product-page .full-history::before{background-image:url("../story-bg/story-border.webp")}
body.product-page .documentary-section::before,body.product-page .sources-section::before,body.product-page .related-section::before{background-image:url("../story-bg/story-diagonal.webp")}
body.product-page .design-symbols::before{background-image:url("../story-bg/story-stage.webp")}
body[data-product-theme="diablos-negros"]{--theme-hl:214,67,52}body[data-product-theme="diablo-de-teloloapan"]{--theme-hl:226,56,63}body[data-product-theme="ritual-de-sangre"]{--theme-hl:182,158,54}body[data-product-theme="porrazo-de-tigres"]{--theme-hl:20,139,166}
body.product-page .story-product-shell::after,body.product-page .wearing-story::after,body.product-page .history-context::after,body.product-page .documentary-section::after,body.product-page .design-symbols::after,body.product-page .design-process::after,body.product-page .full-history::after,body.product-page .sources-section::after,body.product-page .history-closing::after,body.product-page .related-section::after{background:radial-gradient(circle at top left, rgba(var(--theme-hl),.18), transparent 30%),radial-gradient(circle at bottom right, rgba(var(--theme-hl),.10), transparent 26%),linear-gradient(180deg, rgba(7,5,5,.88), rgba(7,5,5,.78))}
.story-index{backdrop-filter:blur(10px);background:rgba(7,5,5,.7)}.documentary-section .artisan-video-button,.source-list a,.history-chapter,.story-buy-rail{backdrop-filter:blur(8px)}.product-card .product-visual{overflow:hidden}
@media (max-width:820px){.protected-media::after{font-size:11px;inset:-35%}.protected-media::before{background-size:auto,min(52%,180px) auto,auto}body.product-page .story-product-shell::before,body.product-page .wearing-story::before,body.product-page .history-context::before,body.product-page .documentary-section::before,body.product-page .design-symbols::before,body.product-page .design-process::before,body.product-page .full-history::before,body.product-page .sources-section::before,body.product-page .history-closing::before,body.product-page .related-section::before{opacity:.18}}

.protected-media::before {
  content: none !important;
  display: none !important;
}

/* v52 — marca de agua rediseñada: un sello pequeño y discreto en la
   esquina, en vez de la banda diagonal repetida sobre toda la imagen. */
.protected-media::after {
  content: "TE AMO GUERRERO PLAYERAS";
  position: absolute;
  z-index: 5;
  inset: auto 10px 10px auto;
  display: block;
  width: auto;
  max-width: calc(100% - 20px);
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(7, 5, 5, .5);
  color: rgba(248, 235, 207, .58);
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: .12em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transform: none;
  text-shadow: none;
  pointer-events: none;
}
body.protection-active .protected-media::after {
  background: rgba(7, 5, 5, .72);
  color: rgba(248, 235, 207, .85);
}
/* El slider principal del home no lleva sello visible (sí conserva el
   bloqueo de clic derecho / arrastre / copiado). */
.hero-showcase.protected-media::after {
  content: none !important;
  display: none !important;
}
@media (max-width: 480px) {
  .protected-media::after { font-size: 7.5px; padding: 3px 8px; inset: auto 8px 8px auto; }
}
.launch-home .launch-hero-media video {
  opacity: 1;
}
.launch-home .launch-hero-media.is-video-ready video {
  opacity: 1;
}
.launch-home .launch-hero-media.is-video-ready .launch-poster {
  opacity: 0;
  visibility: hidden;
}
.launch-home .launch-hero-media.has-video-error .launch-poster {
  opacity: 1;
  visibility: visible;
}

.diseno-cerca {
  padding: clamp(54px, 8vw, 108px) max(22px, calc((100vw - 1180px) / 2));
  background: linear-gradient(180deg, #f5ead0, #ead9b0);
  color: #21150d;
}

.diseno-cerca .section-heading {
  max-width: 840px;
}

.diseno-cerca .section-heading h2 {
  color: #21150d;
  font-size: clamp(34px, 4.4vw, 62px);
  line-height: 0.96;
  margin: 12px 0 18px;
}

.diseno-cerca .section-heading p {
  max-width: 62ch;
  color: #4a3424;
  font-size: 16px;
  line-height: 1.7;
}

.cerca-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 34px;
}

@media (max-width: 900px) {
  .cerca-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.cerca-pieza {
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(80, 49, 25, 0.15);
  border-radius: 16px;
  background: rgba(255, 249, 232, 0.64);
  overflow: hidden;
}

@media (max-width: 900px) and (min-width: 520px) {
  .cerca-pieza {
    display: grid;
    grid-template-columns: 220px 1fr;
    align-items: center;
  }
}

.cerca-vista {
  position: relative;
  aspect-ratio: 3 / 2;
  
  background-repeat: no-repeat;
  background-size: 266.67% 500%;
  background-color: #1a120c;
  border-bottom: 1px solid rgba(80, 49, 25, 0.15);
}

@media (max-width: 900px) and (min-width: 520px) {
  .cerca-vista {
    height: 100%;
    border-bottom: 0;
    border-right: 1px solid rgba(80, 49, 25, 0.15);
  }
}

.cerca-lupa {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(12, 8, 5, 0.78);
  color: #f0d79a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.cerca-texto {
  padding: 18px 20px 22px;
}

.cerca-indice {
  display: block;
  margin-bottom: 8px;
  color: #a36b26;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.cerca-texto h3 {
  margin: 0 0 10px;
  color: #21150d;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.05;
}

.cerca-texto p {
  margin: 0;
  color: #4a3424;
  font-size: 14px;
  line-height: 1.65;
}

.cerca-ver-todo {
  display: inline-block;
  margin-top: 26px;
  padding: 11px 20px;
  border: 1px solid rgba(80, 49, 25, 0.3);
  border-radius: 999px;
  color: #4a3424;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: border-color 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.cerca-ver-todo:hover,
.cerca-ver-todo:focus-visible {
  border-color: #8d5a1c;
  background: rgba(141, 90, 28, 0.08);
  color: #21150d;
}

.efectos-activos [data-revelar] {
  opacity: 0;
  transform: translate3d(0, 26px, 0);
  transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1),
              transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: opacity, transform;
}

.efectos-activos [data-revelar].visible {
  opacity: 1;
  transform: none;
  will-change: auto;
}

.efectos-activos [data-revelar][style*="--retraso"] {
  transition-delay: var(--retraso);
}

.launch-product-card,
.related-card,
.history-portal {
  transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1),
              box-shadow 0.4s ease,
              border-color 0.4s ease;
}

.launch-product-card:hover,
.related-card:hover,
.history-portal:hover,
.launch-product-card:focus-within,
.related-card:focus-within,
.history-portal:focus-within {
  transform: translate3d(0, -6px, 0);
  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.42);
}

.launch-product-card .product-visual,
.related-card img {
  overflow: hidden;
}

.launch-product-card .product-visual img,
.related-card img {
  transition: transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.launch-product-card:hover .product-visual img,
.related-card:hover img {
  transform: scale(1.045);
}

.launch-product-card,
.history-portal {
  position: relative;
}

.launch-product-card:after,
.history-portal:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(200, 154, 69, 0);
  transition: box-shadow 0.4s ease;
}

.launch-product-card:hover:after,
.history-portal:hover:after {
  box-shadow: inset 0 0 0 1px rgba(200, 154, 69, 0.55);
}

.btn.gold {
  position: relative;
  overflow: hidden;
}

.btn.gold:before {
  content: "";
  position: absolute;
  top: 0;
  left: -60%;
  width: 45%;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(
    100deg,
    transparent,
    rgba(255, 255, 255, 0.34),
    transparent
  );
  transform: skewX(-18deg);
  transition: left 0.75s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.btn.gold:hover:before,
.btn.gold:focus-visible:before {
  left: 125%;
}

.launch-hero-media {
  --desplazamiento: 0px;
  transform: translate3d(0, var(--desplazamiento), 0);
  will-change: transform;
}

.efectos-activos img[loading="lazy"] {
  opacity: 0;
  transition: opacity 0.55s ease;
}

.efectos-activos img[loading="lazy"].cargada,
.efectos-activos img[loading="lazy"][data-protected="true"].cargada {
  opacity: 1;
}

.story-index a {
  position: relative;
  transition: color 0.3s ease;
}

.story-index a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #c89a45, transparent);
  transform: scaleX(0);
  transition: transform 0.35s ease;
}

.story-index a:hover:after,
.story-index a.activo:after {
  transform: scaleX(1);
}

.story-index a.activo {
  color: #f0d79a;
}

@media (prefers-reduced-motion: reduce) {
  .efectos-activos [data-revelar] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .efectos-activos img[loading="lazy"] {
    opacity: 1 !important;
    transition: none !important;
  }
  .launch-product-card,
  .related-card,
  .history-portal,
  .launch-product-card .product-visual img,
  .related-card img,
  .btn.gold:before,
  .story-index a:after {
    transition: none !important;
  }
  .launch-product-card:hover,
  .related-card:hover,
  .history-portal:hover,
  .launch-product-card:hover .product-visual img,
  .related-card:hover img {
    transform: none !important;
  }
  .launch-hero-media {
    --desplazamiento: 0px !important;
  }
}

.launch-home .collection-section { scroll-margin-top: 92px; }
.launch-home .history-gateway { scroll-margin-top: 92px; }

.product-carousel {
  position: relative;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-radius: inherit;
  isolation: isolate;
  touch-action: pan-y;
}
.product-carousel-track {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.product-slide {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateX(8%);
  transition: opacity .42s ease, transform .42s ease, visibility .42s step-end;
  pointer-events: none;
}
.product-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition: opacity .42s ease, transform .42s ease, visibility 0s;
  pointer-events: auto;
}
.product-slide img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
.carousel-arrow {
  position: absolute;
  z-index: 7;
  top: 50%;
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  border: 1px solid rgba(248,239,217,.34);
  border-radius: 50%;
  background: rgba(8,6,4,.72);
  color: #fff0c2;
  font: 500 30px/1 Georgia,serif;
  box-shadow: 0 8px 24px rgba(0,0,0,.24);
  backdrop-filter: blur(8px);
  cursor: pointer;
}
.carousel-arrow:hover,
.carousel-arrow:focus-visible { background: rgba(184,130,47,.92); color: #15100a; }
.carousel-prev { left: 10px; }
.carousel-next { right: 10px; }
.carousel-dots {
  position: absolute;
  z-index: 8;
  left: 50%;
  bottom: 12px;
  display: flex;
  align-items: center;
  gap: 7px;
  transform: translateX(-50%);
  padding: 7px 9px;
  border-radius: 999px;
  background: rgba(8,6,4,.66);
  backdrop-filter: blur(8px);
}
.carousel-dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 1px solid rgba(255,240,194,.72);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.carousel-dot.is-active { background: #d8a851; border-color: #d8a851; transform: scale(1.18); }

.launch-product-card .product-visual {
  position: relative;
  display: block;
  aspect-ratio: 3 / 4;
  min-height: 0;
  overflow: hidden;
}
.product-carousel-card .product-slide { padding: 0; text-decoration: none; }
.product-carousel-card .product-slide img { filter: drop-shadow(0 20px 32px rgba(0,0,0,.36)); }
.product-version-chip {
  position: absolute;
  z-index: 6;
  left: 14px;
  bottom: 48px;
  max-width: calc(100% - 28px);
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(8,6,4,.76);
  color: #fff2cf;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}
.launch-product-card .product-badge { z-index: 9; }
.product-version-prices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 12px 0 18px;
}
.product-version-prices span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(17,13,9,.12);
  border-radius: 12px;
  background: rgba(255,255,255,.42);
  color: rgba(24,17,12,.68);
  font-size: 10px;
  line-height: 1.25;
}
.product-version-prices b { color: #17100b; font-size: 15px; }

.product-page #productRoot { scroll-margin-top: 86px; }
.product-carousel-detail { border-radius: clamp(18px,2vw,28px); }
.product-carousel-detail .product-slide { padding: 0; }
.product-carousel-detail .product-slide img {
  filter: drop-shadow(0 24px 36px rgba(0,0,0,.30));
  border-radius: clamp(18px,2vw,28px);
  box-shadow: 0 20px 52px rgba(0,0,0,.32);
}
.product-carousel-detail figcaption {
  position: absolute;
  z-index: 6;
  left: 50%;
  bottom: 46px;
  transform: translateX(-50%);
  max-width: calc(100% - 120px);
  padding: 7px 12px;
  border: 1px solid rgba(248,239,217,.2);
  border-radius: 999px;
  background: rgba(8,6,4,.72);
  color: #fff0bd;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
  backdrop-filter: blur(8px);
}
.product-carousel-detail .carousel-dots { bottom: 12px; }
.product-carousel-detail .carousel-prev { left: 12px; }
.product-carousel-detail .carousel-next { right: 12px; }

.version-selector { display: none !important; }

img, video, iframe { max-width: 100%; }
.product-card, .story-product-grid, .story-product-stage, .story-buy-rail,
.history-portal, .confidence-grid article, .related-card { min-width: 0; }
.story-product-summary, .history-portal p, .product-info p,
.buy-mini-price span, .footer-main p { overflow-wrap: anywhere; }
.btn, button, select, input, a { -webkit-tap-highlight-color: transparent; }

@media (max-width: 960px) {
  .story-product-stage { min-height: 650px; }
  .story-product-image { padding: 22px 38% 22px 10px; }
  .story-product-overlay { width: min(40%, 350px); right: 20px; }
  .story-buy-rail {
    grid-template-columns: minmax(118px,.65fr) minmax(200px,1.15fr) minmax(300px,1.45fr);
    gap: 10px;
  }
  .product-carousel-detail figcaption { bottom: 44px; }
  .launch-grid { gap: 16px; }
}

@media (max-width: 820px) {
  .nav-inner { gap: 10px; }
  .brand { min-width: 0; max-width: calc(100% - 106px); }
  .brand-logo-wrap { min-width: 0; }
  .brand-logo-wrap img { max-width: 100%; height: auto; }
  .cart-trigger { flex: 0 0 auto; }
  .menu-btn { flex: 0 0 auto; }
  .nav-links { z-index: 120; max-height: calc(100dvh - 128px); overflow-y: auto; }
  .collection-grid.launch-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .launch-product-card .product-info { padding-inline: 14px; }
  .product-version-prices { grid-template-columns: 1fr; }
  .carousel-arrow { width: 40px; height: 40px; min-width: 40px; min-height: 40px; }
}

@media (max-width: 700px) {
  .story-product-stage { min-height: 690px; }
  .story-product-image {
    inset: 0 0 255px;
    padding: 10px 8px 4px;
  }
  .story-product-overlay {
    right: 16px;
    bottom: 20px;
    left: 16px;
  }
  .story-product-overlay h1 { margin-top: 11px; }
  .story-product-summary {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .product-carousel-detail figcaption { bottom: 44px; max-width: calc(100% - 110px); }
  .product-carousel-detail .carousel-arrow { top: 48%; }
  .story-buy-rail { margin-top: 6px; }
  .buy-mini-price { flex-wrap: wrap; }
  .buy-mini-price span { flex-basis: 100%; }
  .story-index { overflow-x: auto; scrollbar-width: none; }
  .story-index::-webkit-scrollbar { display:none; }
}

@media (max-width: 560px) {
  .collection-grid.launch-grid { grid-template-columns: 1fr; }
  .launch-product-card .product-visual { aspect-ratio: 3 / 4; }
  .launch-product-card .product-info { min-height: 0 !important; }
  .product-version-prices { grid-template-columns: 1fr 1fr; }
  .product-version-chip { bottom: 48px; }
  .carousel-prev { left: 8px; }
  .carousel-next { right: 8px; }
  .history-gateway { padding-inline: 10px !important; }
  .history-portal { min-height: 0 !important; }
}

@media (max-width: 390px) {
  .nav-inner { width: calc(100% - 18px); }
  .brand-playeras { display: none; }
  .story-product-stage { min-height: 660px; }
  .story-product-overlay h1 { font-size: clamp(39px,12.6vw,54px); }
  .story-product-phrase { font-size: clamp(24px,7.5vw,32px); }
  .story-keywords { display: none; }
  .product-version-prices { grid-template-columns: 1fr; }
  .carousel-arrow { width: 38px; height: 38px; min-width:38px; min-height:38px; }
}

@media (prefers-reduced-motion: reduce) {
  .product-slide { transition: none; transform: none; }
  .carousel-dot { transition: none; }
}

.story-product-image.protected-media { position: absolute !important; }
.product-slide.protected-media { position: absolute !important; }
@media (max-width:390px) {
  .story-product-image { bottom: 260px; }
}

.product-carousel-detail .product-slide img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

@media (max-width:700px) {
  .product-carousel-detail figcaption {
    top: 12px;
    bottom: auto;
  }
  .product-carousel-detail .carousel-dots {
    top: 50px;
    bottom: auto;
  }
}

.product-card-version .product-version-chip {
  bottom: 14px;
}
.product-card-version .product-info > p {
  margin-bottom: 10px;
  color: rgba(248,239,217,.68);
  font-weight: 800;
  letter-spacing: .03em;
}
.product-single-price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 18px;
}
.product-single-price strong {
  color: #fff0bd;
  font-size: 24px;
  line-height: 1;
}
.product-single-price del {
  color: rgba(248,239,217,.42);
  font-size: 12px;
}
.product-single-price span {
  flex-basis: 100%;
  color: rgba(248,239,217,.58);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.product-card-version .product-info { min-height: 286px; }
@media (max-width:560px) {
  .product-card-version .product-info { min-height: 0; }
}

#toast:empty { display: none; }

@media (min-width: 701px) and (max-width: 960px) {
  .product-carousel-detail .carousel-next { right: 44px; }
  .story-buy-rail {
    grid-template-columns: minmax(120px,.7fr) minmax(220px,1.25fr) minmax(260px,1.35fr);
  }
  .story-buy-rail .buy-mini-controls {
    grid-column: 1 / 3;
    width: 100%;
    grid-template-columns: minmax(140px,1fr) 62px minmax(135px,1fr);
  }
}

html, body { overflow-x: clip; }
button, .btn, .cart-trigger, .menu-btn, select, input { min-height: 44px; }
.product-card, .history-portal, .confidence-grid article, .related-card { contain: layout paint; }
.product-visual img, .product-carousel img { backface-visibility: hidden; transform: translateZ(0); }
@media (max-width: 700px) {
  .site-nav { isolation: isolate; }
  .nav-links.open { max-height: min(68dvh, 520px); overscroll-behavior: contain; }
  .checkout-dialog { width: min(94vw, 680px); max-height: 88dvh; overflow: auto; }
  .cart-drawer { width: min(94vw, 430px); }
}
@media (max-width: 390px) {
  .cart-trigger span { display: none; }
  .cart-trigger { min-width: 46px; padding-inline: 10px; }
}

/* ==========================================================
   TAG v45 · Correcciones visuales y responsive
   Objetivo: eliminar solapes, estabilizar carruseles y
   mejorar jerarquía visual en móvil, tablet y escritorio.
   ========================================================== */

:root {
  --font-display: "Oswald", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Manrope", ui-sans-serif, system-ui, sans-serif;
}

/* Cabecera: evita el rótulo vertical que se encimaba con el logo */
.site-nav .brand-with-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.site-nav .brand-playeras {
  writing-mode: horizontal-tb !important;
  transform: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 5px 8px;
  border: 1px solid rgba(242,212,126,.34);
  border-radius: 999px;
  color: rgba(255,243,209,.82);
  background: rgba(255,243,209,.04);
  font-size: 9px;
  letter-spacing: .16em;
  line-height: 1;
  white-space: nowrap;
}
.site-nav .brand-logo-wrap {
  flex: 0 1 178px;
  width: 178px;
  height: 56px;
}

/* Hero: mejor ritmo tipográfico, sin titulares que se salgan */
.launch-hero-copy h1 {
  max-width: 980px;
  margin-inline: auto;
  text-wrap: balance;
}
.launch-hero-copy > p {
  max-width: 760px;
  margin-inline: auto;
  text-wrap: pretty;
}
.launch-hero-actions .btn {
  white-space: normal;
  text-align: center;
  line-height: 1.25;
}

/* Colección: corrige contraste y reduce escala excesiva del encabezado */
.launch-home .collection-section .section-heading h2 {
  color: #352316 !important;
  opacity: 1 !important;
  font-size: clamp(46px, 5.1vw, 76px) !important;
  line-height: .94 !important;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.launch-home .collection-section .section-heading .kicker,
.launch-home .collection-section .section-heading .kicker.dark {
  color: #7b5520 !important;
  opacity: 1 !important;
}
.launch-home .collection-section .section-heading p {
  color: #5f4933 !important;
}
.launch-grid {
  align-items: stretch;
}
.launch-product-card {
  height: 100%;
  overflow: hidden;
}
.launch-product-card .product-visual {
  aspect-ratio: 1000 / 1327 !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: #130d0b !important;
}
.launch-product-card .product-visual img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
  filter: none !important;
}
.launch-product-card .product-info {
  display: flex;
  flex-direction: column;
}
.launch-product-card .product-meta {
  margin-top: auto;
}
.product-card-version .product-version-chip {
  bottom: 12px !important;
  left: 12px !important;
}

/* Carrusel: nunca superpone dos playeras durante el cambio. */
.product-carousel .product-slide {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateX(12%) !important;
  transition: none !important;
  pointer-events: none !important;
}
.product-carousel .product-slide.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0) !important;
  pointer-events: auto !important;
  animation: tagV45SlideIn .28s cubic-bezier(.2,.75,.2,1) both;
}
@keyframes tagV45SlideIn {
  from { opacity: .25; transform: translateX(5%); }
  to   { opacity: 1; transform: translateX(0); }
}
.product-carousel-detail .product-slide img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Ficha de producto: separación clara de playera, relato y compra. */
.story-product-shell {
  padding: 0 max(12px, calc((100vw - 1240px)/2)) 18px !important;
}
.story-product-grid {
  grid-template-columns: minmax(0, 1fr) 292px !important;
  gap: 14px !important;
  align-items: stretch !important;
}
.story-product-stage {
  display: grid !important;
  grid-template-columns: minmax(0, 58%) minmax(0, 42%) !important;
  min-height: 690px !important;
  border-radius: 24px !important;
}
.story-product-stage::before {
  z-index: 0 !important;
  opacity: .17 !important;
  background:
    var(--story-pattern) center top / auto 54px repeat-x,
    linear-gradient(90deg, transparent 0 54%, rgba(8,6,4,.8) 100%) !important;
}
.story-product-image,
.story-product-image.protected-media {
  position: relative !important;
  inset: auto !important;
  grid-column: 1 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 22px 10px 22px 22px !important;
  overflow: hidden !important;
  z-index: 1 !important;
}
.story-product-image .product-carousel-detail {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 20px !important;
  background: rgba(0,0,0,.12);
}
.story-product-overlay {
  position: relative !important;
  inset: auto !important;
  grid-column: 2 !important;
  align-self: center !important;
  width: auto !important;
  padding: 38px 34px 38px 20px !important;
  transform: none !important;
  z-index: 2 !important;
}
.story-product-overlay h1 {
  margin: 16px 0 10px !important;
  font-size: clamp(52px, 5.2vw, 78px) !important;
  line-height: .9 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-wrap: balance;
}
.story-product-phrase {
  font-size: clamp(28px, 2.8vw, 42px) !important;
  line-height: 1 !important;
  text-wrap: balance;
}
.story-product-summary {
  max-width: 42ch;
  font-size: 14px !important;
  line-height: 1.65 !important;
}
.story-buy-rail {
  position: sticky !important;
  top: 92px !important;
  align-self: start !important;
  min-height: 0 !important;
  border-radius: 22px !important;
  padding: 24px 18px !important;
}
.buy-mini-title {
  font-size: clamp(29px, 2.5vw, 38px) !important;
  line-height: 1 !important;
}
.buy-mini-price {
  gap: 7px !important;
}
.buy-mini-price strong { font-size: 30px !important; }
.buy-mini-price span { line-height: 1.35 !important; }
.buy-mini-controls {
  gap: 9px !important;
}
.buy-mini-controls select,
.buy-mini-controls input,
.buy-mini-controls .btn {
  width: 100% !important;
  min-width: 0 !important;
}

/* Flechas y etiqueta del carrusel: visibles sin estorbar la playera. */
.product-carousel-detail figcaption {
  top: 14px !important;
  bottom: auto !important;
  left: 50% !important;
  max-width: calc(100% - 128px) !important;
}
.product-carousel-detail .carousel-dots {
  top: auto !important;
  bottom: 14px !important;
}
.product-carousel-detail .carousel-arrow {
  top: 50% !important;
  background: rgba(8,6,4,.76) !important;
}

/* Índice: no tapa contenido y permite desplazamiento horizontal estable. */
.story-index {
  gap: 4px !important;
  padding-inline: 10px !important;
  overflow-x: auto !important;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.story-index::-webkit-scrollbar { display: none; }
.story-index a { white-space: nowrap; }

/* Tablet */
@media (max-width: 980px) {
  .site-nav .brand-playeras { display: none !important; }
  .story-product-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .story-product-stage {
    display: block !important;
    min-height: 0 !important;
    border-radius: 22px !important;
  }
  .story-product-stage::before {
    background:
      var(--story-pattern) center top / auto 52px repeat-x,
      linear-gradient(180deg, transparent 0 62%, rgba(8,6,4,.78) 100%) !important;
  }
  .story-product-image,
  .story-product-image.protected-media {
    position: relative !important;
    width: 100% !important;
    height: min(73vw, 620px) !important;
    padding: 18px !important;
  }
  .story-product-overlay {
    position: relative !important;
    width: 100% !important;
    padding: 20px 28px 30px !important;
  }
  .story-product-overlay h1 {
    font-size: clamp(50px, 8vw, 68px) !important;
  }
  .story-product-phrase {
    font-size: clamp(30px, 4.6vw, 40px) !important;
  }
  .story-product-summary { max-width: 62ch; }
  .story-buy-rail {
    position: static !important;
    display: grid !important;
    grid-template-columns: minmax(150px,.7fr) minmax(190px,.9fr) minmax(280px,1.4fr) !important;
    gap: 14px !important;
    align-items: center !important;
    border-radius: 20px !important;
  }
  .story-buy-rail .buy-mini-controls {
    display: grid !important;
    grid-template-columns: minmax(120px,1fr) 70px minmax(130px,1fr) !important;
    align-items: end !important;
  }
  .story-buy-rail .buy-mini-controls .btn {
    grid-column: auto !important;
    margin: 0 !important;
  }
  .story-buy-rail .buy-mini-details { display: none !important; }
}

/* Móvil */
@media (max-width: 700px) {
  .site-nav .nav-inner {
    width: calc(100% - 18px) !important;
    gap: 8px !important;
  }
  .site-nav .brand-logo-wrap {
    width: 122px !important;
    height: 46px !important;
    flex-basis: 122px !important;
    padding: 3px 7px !important;
  }
  .site-nav .brand-playeras { display: none !important; }
  .menu-btn { min-width: 48px !important; }

  .launch-hero {
    padding: 22px 14px 24px !important;
    gap: 18px !important;
  }
  .launch-hero-copy h1 {
    font-size: clamp(43px, 12.4vw, 56px) !important;
    line-height: .93 !important;
    letter-spacing: -.025em !important;
  }
  .launch-hero-copy > p {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
  .launch-hero-actions { margin-top: 18px !important; }
  .launch-hero-actions .btn {
    min-height: 50px !important;
    padding-inline: 18px !important;
    font-size: 10px !important;
  }
  .launch-hero-media {
    height: min(112vw, 500px) !important;
    max-height: none !important;
  }

  .launch-home .collection-section {
    padding-inline: 12px !important;
  }
  .launch-home .collection-section .section-heading {
    padding-inline: 8px !important;
  }
  .launch-home .collection-section .section-heading h2 {
    font-size: clamp(40px, 11.4vw, 50px) !important;
    line-height: .96 !important;
  }
  .collection-grid.launch-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .launch-product-card .product-info {
    padding: 18px 16px 20px !important;
  }
  .launch-product-card .product-info h3 {
    font-size: clamp(32px, 10vw, 44px) !important;
    line-height: .94 !important;
  }
  .product-card-version .product-info { min-height: 0 !important; }

  .story-product-shell {
    padding: 0 8px 14px !important;
  }
  .story-product-shell .breadcrumbs {
    padding: 12px 6px 10px !important;
    margin-bottom: 6px !important;
    line-height: 1.4 !important;
  }
  .story-product-stage {
    min-height: 0 !important;
    border-radius: 18px !important;
  }
  .story-product-image,
  .story-product-image.protected-media {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: min(118vw, 500px) !important;
    padding: 10px !important;
  }
  .story-product-overlay {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    padding: 20px 16px 24px !important;
    transform: none !important;
  }
  .story-product-region {
    max-width: 100%;
    white-space: normal;
    line-height: 1.3;
  }
  .story-product-overlay h1 {
    margin: 14px 0 8px !important;
    font-size: clamp(39px, 12vw, 52px) !important;
    line-height: .95 !important;
    letter-spacing: -.02em !important;
    text-wrap: balance;
  }
  .story-product-phrase {
    margin-bottom: 12px !important;
    font-size: clamp(25px, 7.4vw, 32px) !important;
    line-height: 1.02 !important;
  }
  .story-product-summary {
    display: block !important;
    max-width: 100% !important;
    font-size: 13px !important;
    line-height: 1.58 !important;
    overflow: visible !important;
  }
  .story-keywords {
    margin-top: 14px !important;
    gap: 6px !important;
  }
  .story-keywords span { font-size: 8px !important; }

  .story-buy-rail {
    display: block !important;
    padding: 18px 16px !important;
    border-radius: 18px !important;
  }
  .story-buy-rail .buy-mini-controls {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 72px !important;
    gap: 9px !important;
  }
  .story-buy-rail .buy-mini-controls .btn {
    grid-column: 1 / -1 !important;
  }
  .story-buy-rail .buy-mini-details { display: block !important; }
  .buy-mini-price strong { font-size: 28px !important; }

  .product-carousel-detail figcaption {
    top: 10px !important;
    max-width: calc(100% - 104px) !important;
    font-size: 9px !important;
  }
  .product-carousel-detail .carousel-dots {
    bottom: 10px !important;
  }
  .product-carousel-detail .carousel-arrow {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }
  .product-carousel-detail .carousel-prev { left: 8px !important; }
  .product-carousel-detail .carousel-next { right: 8px !important; }

  .story-index {
    top: 0 !important;
    position: relative !important;
    padding: 10px 8px !important;
  }
  .floating-cart {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    right: 12px !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
  }
  .floating-cart:after { left: 19px !important; top: 11px !important; }
}

@media (max-width: 390px) {
  .launch-hero-copy h1 {
    font-size: clamp(40px, 11.8vw, 48px) !important;
  }
  .launch-home .collection-section .section-heading h2 {
    font-size: clamp(38px, 10.8vw, 44px) !important;
  }
  .story-product-image,
  .story-product-image.protected-media {
    height: min(120vw, 470px) !important;
    bottom: auto !important;
  }
  .story-product-overlay h1 {
    font-size: clamp(37px, 11.2vw, 47px) !important;
  }
  .story-product-phrase {
    font-size: clamp(24px, 7vw, 30px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-carousel .product-slide.is-active { animation: none !important; }
}

/* ===================================================================
   v46 — Experiencia 3D + Historias
   Bloque nuevo, aditivo. No modifica reglas anteriores; las sobre-
   escribe sólo donde es necesario por estar al final de la cascada.
   =================================================================== */

/* Cuándo (ficha): micro-etiqueta junto a región, mismo lenguaje visual
   que .story-product-region. */
.story-product-when {
  display: block;
  margin: 8px 0 0;
  font-size: 12.5px;
  line-height: 1.4;
  color: rgba(248, 239, 217, .78);
  max-width: 42ch;
}
.story-product-when span {
  margin-right: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(216, 168, 81, .16);
  color: #f0cf8e;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Nota discreta en tarjetas del home: la pieza también existe en
   Oversize dama, sin fragmentar el home en 8 tarjetas. */
.section-subheading {
  margin: 10px auto 0;
  max-width: 52ch;
  font-size: 14px;
  color: rgba(248, 239, 217, .68);
}
.product-also-version {
  display: block;
  margin-top: 8px;
  font-size: 10.5px;
  letter-spacing: .04em;
  color: rgba(248, 239, 217, .56);
}

/* -------------------------------------------------------------
   Profundidad 3D — tarjetas del home y portales de historia.
   Sólo con puntero fino y sin prefers-reduced-motion (la clase
   .efectos-activos ya respeta ambas condiciones desde site.js).
   ------------------------------------------------------------- */
@media (hover: hover) and (pointer: fine) {
  .efectos-activos .product-card,
  .efectos-activos .history-portal {
    --tilt-rx: 0deg;
    --tilt-ry: 0deg;
    perspective: 900px;
    transform-style: preserve-3d;
    transition: transform .2s ease-out, box-shadow .3s ease, border-color .25s ease;
    will-change: transform;
  }
  .efectos-activos .product-card:hover,
  .efectos-activos .product-card:focus-within {
    transform: rotateX(var(--tilt-rx)) rotateY(var(--tilt-ry)) translateY(-6px) translateZ(0) !important;
    box-shadow: 0 30px 54px rgba(0,0,0,.42), 0 0 0 1px color-mix(in srgb, var(--card-accent, var(--gold)) 35%, transparent);
  }
  .efectos-activos .history-portal:hover,
  .efectos-activos .history-portal:focus-visible {
    transform: rotateX(var(--tilt-rx)) rotateY(var(--tilt-ry)) translateY(-5px) translateZ(0) !important;
    box-shadow: 0 26px 48px rgba(0,0,0,.4), 0 0 0 1px color-mix(in srgb, var(--portal-accent, var(--gold)) 32%, transparent);
  }
  .efectos-activos .product-card .product-visual img {
    transition: transform .4s ease;
  }
  .efectos-activos .product-card:hover .product-visual img {
    transform: scale(1.045) translateZ(20px);
  }
}

/* Ficha: la playera entra con una leve sensación de profundidad al
   cambiar de versión (Caballero/Dama). Redefine el keyframe existente
   (misma técnica ya usada en v45) para sumar un matiz de escala/Z sin
   tocar la lógica del carrusel. Duración ajustada a 450-700ms. */
@keyframes tagV45SlideIn {
  from { opacity: .2; transform: translateX(4%) translateZ(-16px) scale(.98); }
  to   { opacity: 1; transform: translateX(0) translateZ(0) scale(1); }
}
.efectos-activos .product-carousel-detail { perspective: 900px; }
.efectos-activos .product-carousel-detail .product-slide.is-active {
  animation-duration: .55s;
}

/* Historia: capas con leve profundidad atmosférica al hacer scroll
   (usa el mismo patrón de fondo ya definido por tradición). */
@media (min-width: 981px) {
  .efectos-activos .story-product-stage::before {
    transition: opacity .4s ease;
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-card, .history-portal, .product-carousel-detail .product-slide.is-active {
    transition: none !important;
    animation-duration: .01ms !important;
  }
}

/* ===================================================================
   v48 — Captación de atención sitewide
   Bloque nuevo y aditivo, mismo criterio que v46: no se tocan reglas
   previas, sólo se agregan al final. Todo respeta prefers-reduced-motion.
   =================================================================== */

/* Acento bajo cada kicker/etiqueta de sección, en todo el sitio. */
.kicker {
  position: relative;
  padding-bottom: 10px;
}
.kicker::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 34px;
  height: 2px;
  background: currentColor;
  opacity: .55;
}
.launch-hero-copy .kicker::after,
.buy-mini-label::after { content: none; }

/* Carrito flotante: respiración suave para atraer la vista hacia la
   compra, sin ser intrusiva. */
@keyframes tagV48CartBreathe {
  0%, 100% { box-shadow: 0 10px 28px rgba(0,0,0,.3), 0 0 0 0 rgba(216,168,81,.35); }
  50% { box-shadow: 0 10px 28px rgba(0,0,0,.3), 0 0 0 8px rgba(216,168,81,0); }
}
.floating-cart { animation: tagV48CartBreathe 3.2s ease-in-out infinite; }
.floating-cart:hover { animation-play-state: paused; }

/* Contador del carrito: "bump" al cambiar cantidad. */
@keyframes tagV48Bump {
  0% { transform: scale(1); }
  35% { transform: scale(1.35); }
  100% { transform: scale(1); }
}
[data-cart-count].bump { animation: tagV48Bump .38s ease-out; }

/* Spotlight: luz suave que sigue el cursor sobre el hero del home y
   la playera protagonista de cada ficha. Sólo se activa vía JS con
   puntero fino (ver site.js); --spot-o queda en 0 por defecto. */
.has-spotlight { position: relative; }
.has-spotlight::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: var(--spot-o, 0);
  transition: opacity .3s ease;
  background: radial-gradient(
    280px circle at var(--spot-x, 50%) var(--spot-y, 50%),
    rgba(255, 232, 176, .22),
    transparent 62%
  );
  mix-blend-mode: soft-light;
}
.story-product-stage.has-spotlight::after { z-index: 3; }

@media (prefers-reduced-motion: reduce) {
  .floating-cart { animation: none; }
  [data-cart-count].bump { animation: none; }
  .has-spotlight::after { display: none; }
}

/* ===================================================================
   v49 — Slideshow 3D del hero, control de versión en ficha,
   colección cívica y refuerzos de atención (brillo + movimiento).
   Bloque nuevo y aditivo, mismo criterio que v46/v48.
   =================================================================== */

/* --- Slideshow 3D del hero (reemplaza al video en 2 de cada 3 cargas) ---
   Corrección v57: v54 usaba `46vh` (porcentaje del ALTO de pantalla)
   para el tope de altura en escritorio. Un iPad en horizontal tiene
   pantalla ancha pero BAJA — esa fórmula aplastaba la caja mucho más
   de lo esperado ahí específicamente, dando un recorte exagerado.
   Ahora la altura se calcula a partir del propio ANCHO de la caja
   (aspect-ratio, igual que ya usa el video: 16:9), no de la altura de
   la pantalla — así el resultado es el mismo la sostenga el iPad
   parado o acostado. */
.launch-hero-media[data-hero-mode="male"],
.launch-hero-media[data-hero-mode="female"] {
  width: min(100%, 460px) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 4 / 3 !important;
}
@media (min-width: 620px) {
  .launch-hero-media[data-hero-mode="male"],
  .launch-hero-media[data-hero-mode="female"] {
    width: min(100%, 680px) !important;
    aspect-ratio: 16 / 9 !important;
  }
}
@media (min-width: 1024px) {
  .launch-hero-media[data-hero-mode="male"],
  .launch-hero-media[data-hero-mode="female"] {
    width: min(100%, 880px) !important;
    aspect-ratio: 16 / 9 !important;
  }
}
.hero-showcase {
  grid-area: 1/1;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #100b09;
}
/* v56 — transición simplificada: quité perspective/rotateY/translateZ/
   blur. Esa combinación es justo la que Safari (el motor que usa TODO
   iPad, sin excepción) suele renderizar mal en capas compuestas 3D,
   a veces "derramando" el render fuera del contenedor y cortando
   elementos cercanos como el logo del nav. Un crossfade con escala
   suave se ve igual de cuidado y es seguro en cualquier navegador. */
.hero-showcase-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  z-index: 1;
  transform: scale(1.06);
  transition: transform 1.3s ease, opacity 1s ease;
  backface-visibility: hidden;
}
.hero-showcase-slide.is-active {
  opacity: 1;
  z-index: 3;
  transform: scale(1);
}
.hero-showcase-slide.is-prev {
  opacity: 0;
  z-index: 2;
  transform: scale(1.03);
}
@media (prefers-reduced-motion: reduce) {
  .hero-showcase-slide { transition: opacity .3s ease; transform: none !important; }
}

/* --- Selector explícito de versión en la ficha (evita agregar la
   versión equivocada al carrito por un cambio automático del
   carrusel) --- */
.buy-version-toggle {
  display: flex;
  gap: 8px;
  margin: 4px 0 14px;
}
.buy-version-toggle button {
  flex: 1;
  padding: 9px 10px;
  border-radius: 999px;
  border: 1px solid rgba(248,239,217,.32);
  background: transparent;
  color: rgba(248,239,217,.78);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.buy-version-toggle button.is-active {
  background: var(--gold-2);
  border-color: var(--gold-2);
  color: #180e08;
}

/* --- Colección cívica (playeras sin historia, en el home) --- */
.civic-card .product-visual { position: relative; }
.civic-buy-controls {
  display: grid;
  grid-template-columns: 1fr 70px;
  gap: 8px;
  margin-top: 10px;
}
.civic-buy-controls button.btn { grid-column: 1 / -1; }

/* --- Brillo en titulares clave (captación de atención) --- */
@keyframes tagV49TextGlow {
  0%, 100% { text-shadow: 0 0 18px rgba(242,212,126,.25), 0 2px 0 rgba(0,0,0,.35); }
  50% { text-shadow: 0 0 32px rgba(242,212,126,.55), 0 2px 0 rgba(0,0,0,.35); }
}
.launch-hero-copy h1,
.story-product-overlay h1 {
  animation: tagV49TextGlow 3.6s ease-in-out infinite;
}
.buy-mini-price strong,
.product-single-price strong {
  color: var(--gold-2);
}

/* --- Movimiento sutil en apartados decorativos --- */
@keyframes tagV49DriftBand {
  0% { background-position-x: 0; }
  100% { background-position-x: 116px; }
}
.ornament-divider {
  animation: tagV49DriftBand 9s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .launch-hero-copy h1, .story-product-overlay h1, .ornament-divider {
    animation: none !important;
  }
}

/* ===================================================================
   v51 — Aviso legal en el footer
   =================================================================== */
.footer-legal {
  padding: 16px 36px 0;
  border-top: 1px solid var(--line);
}
.footer-legal p {
  margin: 0;
  max-width: 860px;
  color: rgba(247, 237, 217, 0.46);
  font-size: 10.5px;
  line-height: 1.6;
  letter-spacing: .01em;
}
@media (max-width: 699px) {
  .footer-legal { padding: 14px 18px 0; }
}

/* ===================================================================
   v52 — Refuerzo de efectos visuales sitewide
   =================================================================== */

/* Confirmación visual al agregar al carrito (además del "bump" del
   contador ya existente). */
@keyframes tagV52AddPulse {
  0% { transform: scale(1); }
  35% { transform: scale(1.05); }
  100% { transform: scale(1); }
}
@keyframes tagV52AddFade {
  0% { opacity: 0; }
  14% { opacity: 1; }
  78% { opacity: 1; }
  100% { opacity: 0; }
}
.btn.is-added { animation: tagV52AddPulse .45s ease; }
.btn.is-added::after {
  content: "✓ Agregado";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: var(--teal);
  color: #f8efd9;
  font-weight: 900;
  letter-spacing: .05em;
  animation: tagV52AddFade .9s ease forwards;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .btn.is-added { animation: none; }
  .btn.is-added::after { animation: none; opacity: 0; }
}

/* Anillo dorado suave al pasar el mouse sobre tarjetas de producto y
   portales de historia — refuerza el tilt/spotlight ya existentes. */
@media (hover: hover) and (pointer: fine) {
  .efectos-activos .product-card,
  .efectos-activos .history-portal {
    box-shadow: 0 0 0 0 rgba(242, 212, 126, 0);
    transition: transform .2s ease-out, box-shadow .35s ease, border-color .25s ease;
  }
  .efectos-activos .product-card:hover,
  .efectos-activos .history-portal:hover {
    box-shadow: 0 30px 54px rgba(0,0,0,.42), 0 0 0 1.5px rgba(242,212,126,.45), 0 0 26px rgba(242,212,126,.18);
  }
}
