/* Castle Clark Games / Dark Forest theme stylesheet.
   Generated from the static site's landing page CSS and store.css.
   Brand tokens (--ink, --gold, --display, --body ...) are written from Theme settings
   by components/castle/vars.html, which loads after this file. */
:root{--ink-raise:#0d0e0d;--parchment:#e7e0d1;--line-gold:rgba(210,182,117,.3);--shop-subtle-line:rgba(210,182,117,.14);--shop-control-line:rgba(210,182,117,.20)}

/* ===== landing page ===== */
    :root {
      --ink: #050505;
      --ink-soft: #11110f;
      --paper: #eeeae0;
      --paper-light: #f4f1e9;
      --white: #f5f3ed;
      --muted: #b6b1a8;
      --gold: #b99a5d;
      --gold-light: #d2b675;
      --gold-dark: #725d34;
      --line: rgba(245, 243, 237, 0.24);
      --display: "LHF Antique Shop", Georgia, serif;
      --body: "Book Antiqua DF", "Book Antiqua", Palatino, Georgia, serif;
      --ease-out: cubic-bezier(.16, 1, .3, 1);
      --ease-standard: cubic-bezier(.22, .61, .36, 1);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { background: var(--ink); scroll-behavior: smooth; }
    body {
      margin: 0;
      min-width: 320px;
      background: var(--ink);
      color: var(--white);
      font-family: var(--body);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      overflow-x: hidden;
    }
    body.is-loading { overflow: hidden; }
    img { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }
    button, a { -webkit-tap-highlight-color: transparent; }
    button { font: inherit; }
    :focus-visible { outline: 2px solid var(--gold-light); outline-offset: 5px; }

    :where(.cc-home) .skip-link {
      position: fixed;
      inset: 12px auto auto 12px;
      z-index: 9999;
      padding: 10px 14px;
      color: var(--ink);
      background: var(--paper-light);
      transform: translateY(-150%);
      transition: transform .2s ease;
    }
    :where(.cc-home) .skip-link:focus-visible { transform: translateY(0); }

    /* Loading screen: deliberately simple, transform/opacity only. */
    .preloader {
      position: fixed;
      inset: 0;
      z-index: 1000;
      display: grid;
      place-items: center;
      background: #030303;
      transition: opacity .7s var(--ease-out), visibility .7s linear;
    }
    .preloader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
    .preloader__inner { width: min(68vw, 420px); text-align: center; }
    .preloader__name {
      margin: 0 0 20px;
      font-family: var(--display);
      font-size: clamp(1.25rem, 4vw, 2rem);
      letter-spacing: .09em;
      color: var(--white);
    }
    .preloader__line {
      position: relative;
      height: 1px;
      overflow: hidden;
      background: rgba(185,154,93,.2);
    }
    .preloader__line::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, transparent 0%, var(--gold) 35%, var(--gold-light) 50%, var(--gold) 65%, transparent 100%);
      transform: translateX(-110%);
      animation: loader-sweep 1.25s var(--ease-standard) infinite;
    }
    @keyframes loader-sweep { to { transform: translateX(110%); } }

    .hero {
      position: relative;
      min-height: 100svh;
      padding-top: 88px;
      isolation: isolate;
      overflow: hidden;
      background: transparent;
    }
    .hero__media,
    .hero__media img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
    }
    .hero__media {
      left: -3px;
      right: -3px;
      width: auto;
      z-index: -4;
    }
    .hero__media img {
      object-fit: cover;
      object-position: center center;
      transform: scale(1.025);
      transition: transform 2.3s var(--ease-out);
    }
    body.is-ready .hero__media img { transform: scale(1); }
    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -3;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(0,0,0,.76) 0%, rgba(0,0,0,.44) 31%, rgba(0,0,0,.10) 57%, rgba(0,0,0,.12) 100%),
        linear-gradient(180deg, rgba(0,0,0,.56) 0%, transparent 22%, transparent 74%, rgba(0,0,0,.33) 100%);
    }
    .promo {
      height: 42px;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 18px;
      padding-inline: clamp(24px, 5vw, 96px);
      border-bottom: 1px solid rgba(245,243,237,.18);
      background: rgba(3,3,3,.78);
      backdrop-filter: blur(5px);
      color: var(--gold-light);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .17em;
      text-transform: uppercase;
    }
    .promo::before, .promo::after {
      content: "";
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(185,154,93,.75));
    }
    .promo::after { background: linear-gradient(90deg, rgba(185,154,93,.75), transparent); }

    :where(.cc-home) .site-header {
      position: fixed;
      z-index: 90;
      top: 0;
      left: 0;
      width: 100%;
      height: 88px;
      display: grid;
      grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
      align-items: center;
      padding-inline: clamp(28px, 4.5vw, 88px);
      border-bottom: 1px solid rgba(245,243,237,.10);
      background: transparent;
      transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, backdrop-filter .25s ease;
    }
    :where(.cc-home) .site-header.is-scrolled {
      border-bottom-color: rgba(210,182,117,.22);
      background: rgba(3,4,4,.9);
      box-shadow: 0 10px 32px rgba(0,0,0,.32);
      backdrop-filter: blur(12px);
    }
    :where(.cc-home) .brand {
      justify-self: start;
      font-size: clamp(17px, 1.5vw, 24px);
      letter-spacing: .01em;
      white-space: nowrap;
    }
    :where(.cc-home) .desktop-nav {
      display: flex;
      align-items: center;
      gap: clamp(24px, 2.4vw, 46px);
      font-size: 16px;
    }
    :where(.cc-home) .desktop-nav a {
      position: relative;
      padding-block: 12px;
      color: rgba(245,243,237,.88);
      transition: color .25s ease;
    }
    :where(.cc-home) .desktop-nav a::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 5px;
      height: 1px;
      background: var(--gold);
      transform: scaleX(0);
      transform-origin: right;
      transition: transform .35s var(--ease-out);
    }
    :where(.cc-home) .desktop-nav a:hover, :where(.cc-home) .desktop-nav a[aria-current="page"] { color: var(--gold-light); }
    :where(.cc-home) .desktop-nav a:hover::after, :where(.cc-home) .desktop-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
    :where(.cc-home) .header-tools {
      justify-self: end;
      display: flex;
      gap: 10px;
    }
    :where(.cc-home) .icon-button,
    :where(.cc-home) .menu-button {
      width: 44px;
      height: 44px;
      display: inline-grid;
      place-items: center;
      color: var(--white);
      border: 0;
      background: transparent;
      cursor: pointer;
      transition: color .2s ease, transform .2s var(--ease-out);
    }
    #cart-toggle { position: relative; }
    :where(.cc-home) .icon-button:hover, :where(.cc-home) .menu-button:hover { color: var(--gold-light); transform: translateY(-1px); }
    :where(.cc-home) .icon-button svg, :where(.cc-home) .menu-button svg { width: 23px; height: 23px; stroke: currentColor; fill: none; stroke-width: 1.6; }
    :where(.cc-home) .menu-button { display: none; }

    .hero__content {
      position: relative;
      z-index: 5;
      width: min(820px, 48vw);
      margin-left: clamp(42px, 5.5vw, 112px);
      margin-top: clamp(88px, 11vh, 150px);
      padding-bottom: 150px;
    }
    :where(.cc-home) .eyebrow {
      display: flex;
      align-items: center;
      gap: 14px;
      margin: 0 0 18px;
      color: var(--gold-light);
      font-size: clamp(11px, .9vw, 14px);
      font-weight: 700;
      letter-spacing: .17em;
      line-height: 1.45;
      text-transform: uppercase;
    }
    :where(.cc-home) .eyebrow::before {
      content: "";
      width: 58px;
      height: 1px;
      flex: 0 0 auto;
      background: var(--gold);
    }
    .hero-title {
      margin: 0;
      max-width: 760px;
      font-family: var(--display);
      font-size: clamp(68px, 6.2vw, 122px);
      font-weight: 400;
      line-height: .82;
      letter-spacing: .012em;
      text-transform: uppercase;
      /* Engraved, shaded treatment from the approved reference. */
      background: linear-gradient(180deg, #fff 0%, #eeece5 31%, #cac7bf 63%, #8d8b85 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      filter: drop-shadow(2px 3px 0 rgba(0,0,0,.78));
    }
    .hero-title__line { display: block; overflow: hidden; padding-bottom: .04em; }
    .hero-title__text { display: block; transform: translateY(110%); }
    .hero-copy {
      max-width: 610px;
      margin: 28px 0 0;
      font-size: clamp(20px, 1.55vw, 30px);
      line-height: 1.42;
      color: rgba(245,243,237,.94);
      text-wrap: balance;
    }
    .hero-actions { margin-top: 31px; }
    .primary-cta {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 24px;
      min-height: 66px;
      padding: 0 34px;
      overflow: hidden;
      border: 1px solid var(--gold-dark);
      outline: 1px solid rgba(234,208,147,.68);
      outline-offset: -5px;
      background: linear-gradient(180deg, #c7a96b, #b69455);
      color: #11100d;
      font-size: clamp(16px, 1.1vw, 20px);
      font-weight: 700;
      letter-spacing: .055em;
      text-transform: uppercase;
      box-shadow: 0 12px 32px rgba(0,0,0,.22);
      transition: transform .35s var(--ease-out), box-shadow .35s ease, background-color .25s ease;
    }
    .primary-cta::before {
      content: "";
      position: absolute;
      inset: -70% -30%;
      background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.05) 44%, rgba(255,255,255,.58) 50%, rgba(255,255,255,.08) 56%, transparent 62%);
      transform: translateX(-75%);
      transition: transform .82s var(--ease-out);
      pointer-events: none;
    }
    .primary-cta:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,0,0,.30), 0 0 24px rgba(185,154,93,.12); }
    .primary-cta:hover::before { transform: translateX(75%); }
    .primary-cta:active { transform: translateY(0) scale(.995); }
    .primary-cta__arrow { font-size: 1.35em; line-height: 1; transform: translateY(-1px); }

    .scroll-cue {
      position: absolute;
      left: clamp(42px, 5.5vw, 112px);
      bottom: clamp(34px, 4.5vh, 62px);
      z-index: 6;
      display: grid;
      grid-template-columns: 1px auto;
      column-gap: 18px;
      align-items: end;
      color: rgba(245,243,237,.76);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .17em;
      line-height: 1.65;
      text-transform: uppercase;
    }
    .scroll-cue::before {
      content: "";
      grid-row: 1 / span 2;
      width: 1px;
      height: 78px;
      background: linear-gradient(var(--gold), rgba(185,154,93,.2));
    }
    .scroll-cue__arrow { color: var(--gold-light); font-size: 28px; line-height: 1; }
    .scroll-cue--mobile { display: none; }

    /* Hero entrance sequence. */
    .reveal-load { opacity: 0; transform: translateY(14px); }
    body.is-ready .reveal-load {
      opacity: 1;
      transform: translateY(0);
      transition: opacity .75s var(--ease-out), transform .75s var(--ease-out);
    }
    body.is-ready .promo.reveal-load { transition-delay: .08s; }
    body:where(.cc-home).is-ready .site-header.reveal-load { transition-delay: .14s; }
    body:where(.cc-home).is-ready .eyebrow.reveal-load { transition-delay: .28s; }
    body.is-ready .hero-title__text { transform: translateY(0); transition: transform .9s var(--ease-out); }
    body.is-ready .hero-title__line:nth-child(1) .hero-title__text { transition-delay: .31s; }
    body.is-ready .hero-title__line:nth-child(2) .hero-title__text { transition-delay: .39s; }
    body.is-ready .hero-copy.reveal-load { transition-delay: .52s; }
    body.is-ready .hero-actions.reveal-load { transition-delay: .62s; }
    body.is-ready .scroll-cue.reveal-load { transition-delay: .78s; }

    .trust-section {
      position: relative;
      min-height: 640px;
      display: grid;
      place-items: center;
      padding-block: clamp(96px, 12vw, 170px);
      color: #11110f;
      background-color: #eeede4;
      background-image: none;
      overflow: hidden;
    }
    .trust-section::before,
    .trust-section::after {
      display: none;
    }
    .trust-section::before { top: 0; }
    .trust-section::after { bottom: 0; }

    .proof-paper {
      position: relative;
      width: min(100%, 1920px);
      min-height: 370px;
      display: grid;
      align-items: center;
      padding: 76px clamp(46px, 5.3vw, 112px);
      color: #11110f;
      background: transparent;
      clip-path: polygon(
        0 7%, 2% 5%, 4% 8%, 6% 5%, 8% 7%, 10% 4%, 12% 7%, 14% 5%, 16% 8%, 18% 4%, 20% 7%, 22% 5%, 24% 8%, 26% 5%, 28% 7%, 30% 4%, 32% 7%, 34% 5%, 36% 8%, 38% 4%, 40% 7%, 42% 5%, 44% 8%, 46% 5%, 48% 7%, 50% 4%, 52% 7%, 54% 5%, 56% 8%, 58% 4%, 60% 7%, 62% 5%, 64% 8%, 66% 5%, 68% 7%, 70% 4%, 72% 7%, 74% 5%, 76% 8%, 78% 4%, 80% 7%, 82% 5%, 84% 8%, 86% 5%, 88% 7%, 90% 4%, 92% 7%, 94% 5%, 96% 8%, 98% 5%, 100% 7%,
        100% 93%, 98% 96%, 96% 92%, 94% 95%, 92% 93%, 90% 97%, 88% 94%, 86% 96%, 84% 92%, 82% 96%, 80% 93%, 78% 95%, 76% 92%, 74% 96%, 72% 93%, 70% 97%, 68% 94%, 66% 96%, 64% 92%, 62% 96%, 60% 93%, 58% 95%, 56% 92%, 54% 96%, 52% 93%, 50% 97%, 48% 94%, 46% 96%, 44% 92%, 42% 96%, 40% 93%, 38% 95%, 36% 92%, 34% 96%, 32% 93%, 30% 97%, 28% 94%, 26% 96%, 24% 92%, 22% 96%, 20% 93%, 18% 95%, 16% 92%, 14% 96%, 12% 93%, 10% 97%, 8% 94%, 6% 96%, 4% 92%, 2% 96%, 0 93%
      );
      opacity: 0;
      transform: translateY(26px) scale(.995);
      transition: opacity .9s var(--ease-out), transform .9s var(--ease-out);
    }
    .proof-paper::after {
      display: none;
    }
    .proof-paper.is-visible { opacity: 1; transform: translateY(0) scale(1); }

    .proof-grid {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      align-items: start;
    }
    .proof-item {
      position: relative;
      min-width: 0;
      display: grid;
      justify-items: center;
      align-content: start;
      text-align: center;
      padding: 0 clamp(18px, 2.2vw, 42px);
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .72s var(--ease-out), transform .72s var(--ease-out);
    }
    .proof-paper.is-visible .proof-item { opacity: 1; transform: translateY(0); }
    .proof-paper.is-visible .proof-item:nth-child(1) { transition-delay: .12s; }
    .proof-paper.is-visible .proof-item:nth-child(2) { transition-delay: .21s; }
    .proof-paper.is-visible .proof-item:nth-child(3) { transition-delay: .30s; }
    .proof-paper.is-visible .proof-item:nth-child(4) { transition-delay: .39s; }
    .proof-item + .proof-item::before {
      content: "";
      position: absolute;
      left: 0;
      top: 20px;
      bottom: 22px;
      width: 1px;
      background: linear-gradient(transparent, rgba(33,31,27,.38) 18%, rgba(33,31,27,.38) 82%, transparent);
    }
    .proof-icon-wrap {
      width: clamp(96px, 8.2vw, 154px);
      aspect-ratio: 1;
      display: grid;
      place-items: center;
      margin-bottom: 14px;
    }
    .proof-icon {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    .proof-primary {
      margin: 0;
      font-family: var(--display);
      font-size: clamp(25px, 2vw, 40px);
      font-weight: 400;
      line-height: 1;
      letter-spacing: .015em;
      text-transform: uppercase;
    }
    .proof-primary .gold { color: #9b7737; }
    .proof-label {
      max-width: 260px;
      margin: 8px 0 0;
      font-size: clamp(13px, 1vw, 17px);
      font-weight: 700;
      line-height: 1.26;
      letter-spacing: .055em;
      text-transform: uppercase;
    }

    /* Proof points now live over the hero artwork in transparent engraved frames. */
    .hero-proof {
      position: absolute;
      z-index: 7;
      right: clamp(28px, 4vw, 82px);
      bottom: clamp(58px, 6vh, 92px);
      width: min(58vw, 1060px);
      color: var(--white);
    }
    .hero-proof .proof-paper {
      width: 100%;
      min-height: 0;
      padding: 0;
      clip-path: none;
      color: inherit;
      opacity: 1;
      transform: none;
    }
    .hero-proof .proof-grid { gap: clamp(8px, 1vw, 18px); }
    .hero-proof .proof-item {
      min-height: clamp(132px, 10vw, 174px);
      align-content: center;
      padding: 18px clamp(12px, 1.2vw, 22px);
      opacity: 1;
      transform: none;
      background: var(--cc-img-proof-frame) center / 100% 100% no-repeat;
      filter: drop-shadow(0 5px 14px rgba(0,0,0,.48));
    }
    .hero-proof .proof-item + .proof-item::before { display: none; }
    .hero-proof .proof-icon-wrap {
      width: clamp(46px, 3.8vw, 66px);
      margin-bottom: 4px;
      filter: invert(1) grayscale(1) drop-shadow(0 2px 4px rgba(0,0,0,.7));
    }
    .hero-proof .proof-primary {
      font-size: clamp(18px, 1.35vw, 25px);
      text-shadow: 0 2px 5px #000;
    }
    .hero-proof .proof-primary .gold { color: var(--gold-light); }
    .hero-proof .proof-label {
      margin-top: 5px;
      font-size: clamp(9px, .68vw, 12px);
      color: rgba(245,243,237,.84);
      text-shadow: 0 2px 4px #000;
    }


    /* Product listing overview: clean editorial catalog, no generic card shells. */
    .product-listing {
      position: relative;
      overflow: hidden;
      padding: clamp(110px, 10vw, 180px) clamp(28px, 5vw, 96px) clamp(120px, 11vw, 190px);
      background:
        radial-gradient(ellipse at 50% 0%, rgba(255,255,255,.035), transparent 42%),
        #050505;
    }
    .product-listing::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .08;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
      mix-blend-mode: screen;
    }
    .products-shell {
      position: relative;
      z-index: 1;
      width: min(1680px, 100%);
      margin-inline: auto;
    }
    .products-heading {
      width: min(880px, 100%);
      margin: 0 auto clamp(58px, 6vw, 90px);
      text-align: center;
    }
    .products-kicker {
      margin: 0 0 14px;
      color: var(--gold-light);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .products-title {
      margin: 0;
      font-family: var(--display);
      font-size: clamp(48px, 5vw, 86px);
      font-weight: 400;
      line-height: .9;
      letter-spacing: .01em;
      text-transform: uppercase;
      color: var(--white);
    }
    .products-intro {
      max-width: 720px;
      margin: 20px auto 0;
      color: rgba(245,243,237,.72);
      font-size: clamp(17px, 1.25vw, 22px);
      line-height: 1.55;
    }
    .products-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: clamp(34px, 3.2vw, 70px);
      align-items: end;
    }
    .product-offer {
      position: relative;
      min-width: 0;
      padding-top: 18px;
      text-align: center;
      border-top: 1px solid rgba(245,243,237,.18);
    }
    .product-offer::after {
      content: "";
      position: absolute;
      left: 50%;
      top: -1px;
      width: 58px;
      height: 1px;
      background: var(--gold);
      transform: translateX(-50%);
    }
    .product-offer--featured {
      transform: translateY(-18px);
      border-top-color: rgba(185,154,93,.5);
    }
    .product-offer--featured::after { width: 110px; }
    .product-badge {
      display: inline-flex;
      min-height: 28px;
      align-items: center;
      justify-content: center;
      margin: 0 auto 14px;
      padding: 0 13px;
      border: 1px solid rgba(185,154,93,.75);
      background: rgba(185,154,93,.12);
      color: var(--gold-light);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
    .product-visual {
      position: relative;
      height: clamp(300px, 29vw, 500px);
      display: grid;
      place-items: end center;
      margin-bottom: 24px;
    }
    .product-offer--featured .product-visual {
      height: clamp(340px, 32vw, 560px);
    }
    .product-visual::after {
      content: "";
      position: absolute;
      left: 13%;
      right: 13%;
      bottom: 2%;
      height: 14%;
      border-radius: 50%;
      background: radial-gradient(ellipse, rgba(185,154,93,.14), rgba(0,0,0,0) 70%);
      filter: blur(15px);
      opacity: .8;
      pointer-events: none;
    }
    .product-image {
      position: relative;
      z-index: 1;
      max-width: 100%;
      max-height: 100%;
      width: auto;
      height: auto;
      object-fit: contain;
      transform: translateY(0) scale(1);
      transition: transform .6s var(--ease-out), filter .6s var(--ease-out);
      filter: drop-shadow(0 20px 32px rgba(0,0,0,.32));
    }
    .product-offer:hover .product-image {
      transform: translateY(-8px) scale(1.025);
      filter: drop-shadow(0 26px 38px rgba(0,0,0,.45));
    }
    .product-name {
      margin: 0;
      font-family: var(--display);
      font-size: clamp(26px, 2.15vw, 40px);
      font-weight: 400;
      line-height: .98;
      letter-spacing: .02em;
      text-transform: uppercase;
    }
    .product-price {
      margin: 12px 0 0;
      color: var(--gold-light);
      font-family: var(--body);
      font-size: clamp(28px, 2.3vw, 42px);
      font-weight: 700;
      line-height: 1;
    }
    .product-copy {
      max-width: 390px;
      min-height: 3.1em;
      margin: 15px auto 0;
      color: rgba(245,243,237,.68);
      font-size: clamp(15px, 1vw, 18px);
      line-height: 1.5;
    }
    .product-action {
      min-width: min(250px, 100%);
      min-height: 54px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      margin-top: 25px;
      padding: 0 22px;
      border: 1px solid rgba(185,154,93,.8);
      background: transparent;
      color: var(--gold-light);
      font-family: var(--body);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .09em;
      text-transform: uppercase;
      cursor: pointer;
      transition: color .3s ease, background-color .3s ease, transform .3s var(--ease-out);
    }
    .product-action:hover,
    .product-action:focus-visible {
      background: rgba(185,154,93,.11);
      color: #ead39e;
      transform: translateY(-2px);
    }
    .product-action--primary {
      position: relative;
      overflow: hidden;
      border-color: var(--gold-dark);
      background: linear-gradient(180deg, #c8aa6a, #ae8d4f);
      color: #0c0a07;
    }
    .product-action--primary::before {
      content: "";
      position: absolute;
      top: -50%;
      left: -70%;
      width: 34%;
      height: 200%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.44), transparent);
      transform: skewX(-18deg);
      transition: left .72s var(--ease-out);
    }
    .product-action--primary:hover {
      color: #080706;
      background: linear-gradient(180deg, #d3b778, #b89557);
    }
    .product-action--primary:hover::before { left: 140%; }
    .product-action[disabled] {
      opacity: .72;
      cursor: default;
    }
    .product-action[disabled]:hover {
      transform: none;
      background: transparent;
      color: var(--gold-light);
    }

    .scroll-reveal {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .8s var(--ease-out), transform .8s var(--ease-out);
    }
    .scroll-reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }
    .products-grid .product-offer:nth-child(1) { transition-delay: .05s; }
    .products-grid .product-offer:nth-child(2) { transition-delay: .14s; }
    .products-grid .product-offer:nth-child(3) { transition-delay: .23s; }

    @media (max-width: 900px) {
      .product-listing {
        padding-inline: clamp(22px, 4vw, 44px);
      }
      .products-grid {
        grid-template-columns: 1fr;
        gap: 72px;
        width: min(680px, 100%);
        margin-inline: auto;
      }
      .product-offer {
        padding-top: 26px;
      }
      .product-offer--featured {
        order: -1;
        transform: none;
      }
      .product-visual,
      .product-offer--featured .product-visual {
        height: clamp(330px, 68vw, 520px);
      }
      .product-copy {
        min-height: 0;
      }
      .product-action {
        width: min(330px, 100%);
      }
    }

    @media (max-width: 520px) {
      .product-listing {
        padding-top: 96px;
        padding-bottom: 120px;
      }
      .products-heading {
        margin-bottom: 56px;
      }
      .products-title {
        font-size: clamp(44px, 14vw, 64px);
      }
      .products-intro {
        font-size: 16px;
      }
      .products-grid {
        gap: 64px;
      }
      .product-visual,
      .product-offer--featured .product-visual {
        height: clamp(280px, 86vw, 430px);
        margin-bottom: 18px;
      }
      .product-name {
        font-size: clamp(28px, 9vw, 40px);
      }
      .product-copy {
        font-size: 15px;
      }
    }

    .build-end {
      min-height: 32vh;
      display: grid;
      place-items: center;
      padding: 60px 24px 120px;
      background: var(--ink);
      color: rgba(245,243,237,.32);
      font-size: 12px;
      letter-spacing: .18em;
      text-transform: uppercase;
    }

    :where(.cc-home) .mobile-nav {
      position: fixed;
      inset: 0;
      z-index: 100;
      display: grid;
      align-content: start;
      padding: 96px 26px 40px;
      background: rgba(4,4,4,.98);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-10px);
      transition: opacity .35s ease, visibility .35s linear, transform .35s var(--ease-out);
    }
    :where(.cc-home) .mobile-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
    :where(.cc-home) .mobile-nav__close {
      position: absolute;
      top: 22px;
      right: 20px;
    }
    :where(.cc-home) .mobile-nav a {
      padding: 15px 0;
      border-bottom: 1px solid rgba(245,243,237,.12);
      font-family: var(--display);
      font-size: 32px;
      letter-spacing: .035em;
    }

    @media (min-width: 981px) {
      .hero {
        z-index: 10;
      }
      .hero::before {
        display: none;
      }
      .hero__media img {
        object-position: center bottom;
      }
      .hero__content {
        width: min(720px, 43vw);
        margin-left: clamp(180px, 15.5vw, 320px);
      }
      .scroll-cue {
        left: clamp(180px, 15.5vw, 320px);
        top: clamp(650px, 72vh, 820px);
        bottom: auto;
      }
      .trust-section {
        z-index: 0;
        margin-top: clamp(-62px, -3.5vw, -42px);
        padding-top: calc(clamp(96px, 12vw, 170px) + 46px);
      }
    }

    @media (max-width: 980px) {
      :where(.cc-home) .site-header { grid-template-columns: 1fr auto; }
      :where(.cc-home) .desktop-nav { display: none; }
      :where(.cc-home) .header-tools { gap: 2px; }
      :where(.cc-home) .menu-button { display: inline-grid; }
      .hero__content { width: min(680px, 65vw); }
    }

    @media (max-width: 700px) {
      .hero {
        z-index: 10;
        min-height: max(100svh, 1180px);
      }
      .hero__media img { object-position: center bottom; }
      .hero::before {
        display: none;
      }
      .promo {
        height: 36px;
        gap: 10px;
        padding-inline: 18px;
        font-size: 9.5px;
        letter-spacing: .12em;
      }
      :where(.cc-home) .site-header {
        height: 72px;
        padding-inline: 20px;
      }
      .hero { padding-top: 72px; }
      :where(.cc-home) .brand { font-size: 17px; }
      :where(.cc-home) .header-tools .icon-button:first-child { display: none; }
      .hero__content {
        width: auto;
        margin: clamp(24px, 5vh, 48px) 30px 0;
        padding-bottom: 150px;
      }
      :where(.cc-home) .eyebrow {
        max-width: 330px;
        margin-bottom: 14px;
        font-size: 10px;
        letter-spacing: .13em;
      }
      :where(.cc-home) .eyebrow::before { width: 34px; }
      .hero-title {
        max-width: 100%;
        font-size: clamp(48px, 12.8vw, 64px);
        line-height: .84;
        filter:
          drop-shadow(1px 2px 0 #000)
          drop-shadow(0 4px 8px rgba(0,0,0,.92));
      }
      .hero-copy {
        max-width: 420px;
        margin-top: 20px;
        margin-left: -10px;
        padding: 8px 10px;
        background: rgba(0,0,0,.42);
        font-size: clamp(17px, 4.8vw, 22px);
        line-height: 1.42;
        text-shadow: 0 2px 5px #000;
      }
      .hero-actions { margin-top: 24px; }
      .primary-cta {
        min-height: 58px;
        padding: 0 24px;
        gap: 18px;
        font-size: 15px;
      }
      .scroll-cue {
        left: 30px;
        top: clamp(590px, 64svh, 650px);
        bottom: auto;
        font-size: 9.5px;
      }
      .scroll-cue::before { height: 54px; }

      .hero-proof {
        left: 22px;
        right: 22px;
        top: 748px;
        bottom: auto;
        width: auto;
      }
      .hero-proof .proof-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }
      .hero-proof .proof-item {
        min-height: 178px;
        padding: 20px 12px;
      }
      .hero-proof .proof-icon-wrap {
        width: 58px;
        margin-bottom: 3px;
      }
      .hero-proof .proof-primary { font-size: clamp(18px, 5vw, 23px); }
      .hero-proof .proof-label { font-size: 9px; }

      .trust-section {
        z-index: 0;
        margin-top: -36px;
        min-height: 780px;
        padding: 120px 0 84px;
      }
      .proof-paper {
        min-height: 650px;
        padding: 74px 18px;
        clip-path: polygon(
          0 3%, 4% 2%, 8% 4%, 12% 2%, 16% 3%, 20% 1.5%, 24% 4%, 28% 2%, 32% 3%, 36% 2%, 40% 4%, 44% 2%, 48% 3%, 52% 1.5%, 56% 4%, 60% 2%, 64% 3%, 68% 2%, 72% 4%, 76% 2%, 80% 3%, 84% 1.5%, 88% 4%, 92% 2%, 96% 3%, 100% 2%,
          100% 97%, 96% 98%, 92% 96%, 88% 98%, 84% 97%, 80% 99%, 76% 96%, 72% 98%, 68% 97%, 64% 98%, 60% 96%, 56% 98%, 52% 97%, 48% 99%, 44% 96%, 40% 98%, 36% 97%, 32% 98%, 28% 96%, 24% 98%, 20% 97%, 16% 99%, 12% 96%, 8% 98%, 4% 97%, 0 98%
        );
      }
      .proof-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 34px;
      }
      .proof-item { padding-inline: 14px; }
      .proof-item + .proof-item::before { display: none; }
      .proof-item:nth-child(odd)::after {
        content: "";
        position: absolute;
        right: -1px;
        top: 6px;
        bottom: 10px;
        width: 1px;
        background: linear-gradient(transparent, rgba(33,31,27,.26), transparent);
      }
      .proof-icon-wrap { width: clamp(92px, 27vw, 130px); margin-bottom: 8px; }
      .proof-primary { font-size: clamp(22px, 6vw, 31px); }
      .proof-label { font-size: 11px; letter-spacing: .035em; }
  
    /* Product listing overview: clean editorial catalog, no generic card shells. */
    .product-listing {
      position: relative;
      overflow: hidden;
      padding: clamp(110px, 10vw, 180px) clamp(28px, 5vw, 96px) clamp(120px, 11vw, 190px);
      background:
        radial-gradient(ellipse at 50% 0%, rgba(255,255,255,.035), transparent 42%),
        #050505;
    }
    .product-listing::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .08;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
      mix-blend-mode: screen;
    }
    .products-shell {
      position: relative;
      z-index: 1;
      width: min(1680px, 100%);
      margin-inline: auto;
    }
    .products-heading {
      width: min(880px, 100%);
      margin: 0 auto clamp(58px, 6vw, 90px);
      text-align: center;
    }
    .products-kicker {
      margin: 0 0 14px;
      color: var(--gold-light);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .products-title {
      margin: 0;
      font-family: var(--display);
      font-size: clamp(48px, 5vw, 86px);
      font-weight: 400;
      line-height: .9;
      letter-spacing: .01em;
      text-transform: uppercase;
      color: var(--white);
    }
    .products-intro {
      max-width: 720px;
      margin: 20px auto 0;
      color: rgba(245,243,237,.72);
      font-size: clamp(17px, 1.25vw, 22px);
      line-height: 1.55;
    }
    .products-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: clamp(34px, 3.2vw, 70px);
      align-items: end;
    }
    .product-offer {
      position: relative;
      min-width: 0;
      padding-top: 18px;
      text-align: center;
      border-top: 1px solid rgba(245,243,237,.18);
    }
    .product-offer::after {
      content: "";
      position: absolute;
      left: 50%;
      top: -1px;
      width: 58px;
      height: 1px;
      background: var(--gold);
      transform: translateX(-50%);
    }
    .product-offer--featured {
      transform: translateY(-18px);
      border-top-color: rgba(185,154,93,.5);
    }
    .product-offer--featured::after { width: 110px; }
    .product-badge {
      display: inline-flex;
      min-height: 28px;
      align-items: center;
      justify-content: center;
      margin: 0 auto 14px;
      padding: 0 13px;
      border: 1px solid rgba(185,154,93,.75);
      background: rgba(185,154,93,.12);
      color: var(--gold-light);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
    .product-visual {
      position: relative;
      height: clamp(300px, 29vw, 500px);
      display: grid;
      place-items: end center;
      margin-bottom: 24px;
    }
    .product-offer--featured .product-visual {
      height: clamp(340px, 32vw, 560px);
    }
    .product-visual::after {
      content: "";
      position: absolute;
      left: 13%;
      right: 13%;
      bottom: 2%;
      height: 14%;
      border-radius: 50%;
      background: radial-gradient(ellipse, rgba(185,154,93,.14), rgba(0,0,0,0) 70%);
      filter: blur(15px);
      opacity: .8;
      pointer-events: none;
    }
    .product-image {
      position: relative;
      z-index: 1;
      max-width: 100%;
      max-height: 100%;
      width: auto;
      height: auto;
      object-fit: contain;
      transform: translateY(0) scale(1);
      transition: transform .6s var(--ease-out), filter .6s var(--ease-out);
      filter: drop-shadow(0 20px 32px rgba(0,0,0,.32));
    }
    .product-offer:hover .product-image {
      transform: translateY(-8px) scale(1.025);
      filter: drop-shadow(0 26px 38px rgba(0,0,0,.45));
    }
    .product-name {
      margin: 0;
      font-family: var(--display);
      font-size: clamp(26px, 2.15vw, 40px);
      font-weight: 400;
      line-height: .98;
      letter-spacing: .02em;
      text-transform: uppercase;
    }
    .product-price {
      margin: 12px 0 0;
      color: var(--gold-light);
      font-family: var(--body);
      font-size: clamp(28px, 2.3vw, 42px);
      font-weight: 700;
      line-height: 1;
    }
    .product-copy {
      max-width: 390px;
      min-height: 3.1em;
      margin: 15px auto 0;
      color: rgba(245,243,237,.68);
      font-size: clamp(15px, 1vw, 18px);
      line-height: 1.5;
    }
    .product-action {
      min-width: min(250px, 100%);
      min-height: 54px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      margin-top: 25px;
      padding: 0 22px;
      border: 1px solid rgba(185,154,93,.8);
      background: transparent;
      color: var(--gold-light);
      font-family: var(--body);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .09em;
      text-transform: uppercase;
      cursor: pointer;
      transition: color .3s ease, background-color .3s ease, transform .3s var(--ease-out);
    }
    .product-action:hover,
    .product-action:focus-visible {
      background: rgba(185,154,93,.11);
      color: #ead39e;
      transform: translateY(-2px);
    }
    .product-action--primary {
      position: relative;
      overflow: hidden;
      border-color: var(--gold-dark);
      background: linear-gradient(180deg, #c8aa6a, #ae8d4f);
      color: #0c0a07;
    }
    .product-action--primary::before {
      content: "";
      position: absolute;
      top: -50%;
      left: -70%;
      width: 34%;
      height: 200%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.44), transparent);
      transform: skewX(-18deg);
      transition: left .72s var(--ease-out);
    }
    .product-action--primary:hover {
      color: #080706;
      background: linear-gradient(180deg, #d3b778, #b89557);
    }
    .product-action--primary:hover::before { left: 140%; }
    .product-action[disabled] {
      opacity: .72;
      cursor: default;
    }
    .product-action[disabled]:hover {
      transform: none;
      background: transparent;
      color: var(--gold-light);
    }

    .scroll-reveal {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .8s var(--ease-out), transform .8s var(--ease-out);
    }
    .scroll-reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }
    .products-grid .product-offer:nth-child(1) { transition-delay: .05s; }
    .products-grid .product-offer:nth-child(2) { transition-delay: .14s; }
    .products-grid .product-offer:nth-child(3) { transition-delay: .23s; }

    @media (max-width: 900px) {
      .product-listing {
        padding-inline: clamp(22px, 4vw, 44px);
      }
      .products-grid {
        grid-template-columns: 1fr;
        gap: 72px;
        width: min(680px, 100%);
        margin-inline: auto;
      }
      .product-offer {
        padding-top: 26px;
      }
      .product-offer--featured {
        order: -1;
        transform: none;
      }
      .product-visual,
      .product-offer--featured .product-visual {
        height: clamp(330px, 68vw, 520px);
      }
      .product-copy {
        min-height: 0;
      }
      .product-action {
        width: min(330px, 100%);
      }
    }

    @media (max-width: 520px) {
      .product-listing {
        padding-top: 96px;
        padding-bottom: 120px;
      }
      .products-heading {
        margin-bottom: 56px;
      }
      .products-title {
        font-size: clamp(44px, 14vw, 64px);
      }
      .products-intro {
        font-size: 16px;
      }
      .products-grid {
        gap: 64px;
      }
      .product-visual,
      .product-offer--featured .product-visual {
        height: clamp(280px, 86vw, 430px);
        margin-bottom: 18px;
      }
      .product-name {
        font-size: clamp(28px, 9vw, 40px);
      }
      .product-copy {
        font-size: 15px;
      }
    }

    }

    /* Compact three-offer catalogue, based on the approved clean reference. */
    .product-listing {
      padding: clamp(76px, 7vw, 112px) clamp(20px, 4vw, 72px) clamp(84px, 8vw, 128px);
      padding-top: calc(clamp(76px, 7vw, 112px) + 150px);
      margin-top: -150px;
      z-index: 0;
      color: var(--white);
      background:
        radial-gradient(ellipse at 50% -8%, rgba(255,255,255,.055), transparent 43%),
        linear-gradient(180deg, #101111 0%, #080909 48%, #050606 100%);
    }
    .product-listing::before {
      display: block;
      opacity: .16;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' seed='8' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");
      mix-blend-mode: soft-light;
    }
    .products-shell { width: min(1460px, 100%); }
    .products-heading {
      width: min(760px, 100%);
      margin-bottom: clamp(34px, 3.5vw, 54px);
    }
    .products-kicker { display: none; }
    .products-title {
      color: var(--white);
      font-size: clamp(43px, 4.2vw, 72px);
      line-height: .92;
      text-shadow: 0 3px 12px rgba(0,0,0,.72);
    }
    .products-intro {
      margin-top: 10px;
      color: rgba(245,243,237,.76);
      font-size: clamp(15px, 1vw, 18px);
      line-height: 1.35;
    }
    .products-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: clamp(10px, 1.2vw, 18px);
      align-items: stretch;
    }
    .product-offer {
      display: grid;
      grid-template-rows: 242px auto auto minmax(3.1em, auto) auto;
      align-items: start;
      padding: clamp(22px, 2vw, 30px);
      overflow: visible;
      border: 1px solid rgba(205,201,189,.42);
      border-radius: 8px;
      background:
        radial-gradient(ellipse at 50% 10%, rgba(255,255,255,.055), transparent 48%),
        linear-gradient(145deg, rgba(27,29,28,.96), rgba(10,11,11,.98) 58%, rgba(20,21,20,.96));
      box-shadow:
        inset 0 0 0 4px rgba(4,5,5,.72),
        inset 0 0 0 5px rgba(205,201,189,.16),
        inset 0 20px 38px rgba(255,255,255,.018),
        inset 0 -30px 48px rgba(0,0,0,.35),
        0 0 18px rgba(245,243,237,.12),
        0 0 42px rgba(245,243,237,.07),
        0 20px 38px rgba(0,0,0,.34);
      transition: border-color .35s ease, box-shadow .45s ease, transform .45s var(--ease-out);
    }
    .product-offer::before {
      content: "";
      position: absolute;
      z-index: 0;
      inset: 5px;
      pointer-events: none;
      opacity: .18;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110' viewBox='0 0 110 110'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' seed='4' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");
      mix-blend-mode: soft-light;
    }
    .product-offer::after {
      content: "";
      display: block;
      position: absolute;
      z-index: 0;
      inset: 10px;
      width: auto;
      height: auto;
      border: 1px solid rgba(210,182,117,.11);
      border-radius: 4px;
      background: none;
      transform: none;
      pointer-events: none;
    }
    .product-offer > * { position: relative; z-index: 1; }
    .product-offer--featured {
      order: 0;
      transform: none;
      border-color: rgba(210,182,117,.72);
      box-shadow:
        inset 0 0 0 4px rgba(4,5,5,.72),
        inset 0 0 0 5px rgba(210,182,117,.22),
        inset 0 22px 42px rgba(185,154,93,.04),
        inset 0 -30px 48px rgba(0,0,0,.38),
        0 0 20px rgba(210,182,117,.32),
        0 0 54px rgba(185,154,93,.2),
        0 22px 46px rgba(0,0,0,.44);
    }
    .product-offer:not(.product-offer--featured):hover {
      border-color: rgba(245,243,237,.62);
      box-shadow:
        inset 0 0 0 4px rgba(4,5,5,.72),
        inset 0 0 0 5px rgba(245,243,237,.2),
        inset 0 20px 38px rgba(255,255,255,.025),
        inset 0 -30px 48px rgba(0,0,0,.35),
        0 0 25px rgba(245,243,237,.2),
        0 0 58px rgba(245,243,237,.1),
        0 22px 42px rgba(0,0,0,.38);
    }
    .product-offer--featured:hover {
      border-color: rgba(226,198,132,.92);
      box-shadow:
        inset 0 0 0 4px rgba(4,5,5,.72),
        inset 0 0 0 5px rgba(226,198,132,.3),
        inset 0 22px 42px rgba(185,154,93,.055),
        inset 0 -30px 48px rgba(0,0,0,.38),
        0 0 28px rgba(226,198,132,.45),
        0 0 72px rgba(185,154,93,.25),
        0 24px 48px rgba(0,0,0,.46);
    }
    .product-badge {
      position: absolute;
      z-index: 3;
      top: -12px;
      left: 26px;
      min-height: 25px;
      margin: 0;
      border: 1px solid #725d34;
      border-radius: 3px;
      background: linear-gradient(180deg, #cbb174 0%, #aa8b4e 100%);
      color: #171611;
      font-size: 9px;
      box-shadow: 0 3px 8px rgba(0,0,0,.15);
    }
    .product-visual,
    .product-offer--featured .product-visual {
      grid-row: 1;
      height: 226px;
      margin: 0 0 8px;
      place-items: center;
    }
    .product-visual::after { display: none; }
    .product-image {
      max-width: 92%;
      max-height: 100%;
      filter: drop-shadow(0 12px 15px rgba(0,0,0,.2));
    }
    .product-offer:hover .product-image {
      transform: translateY(-5px) scale(1.018);
      filter: drop-shadow(0 16px 18px rgba(0,0,0,.24));
    }
    .product-name {
      align-self: end;
      color: var(--white);
      font-size: clamp(24px, 1.8vw, 32px);
      line-height: 1;
    }
    .product-price {
      margin-top: 7px;
      color: var(--gold-light);
      font-size: clamp(27px, 2vw, 36px);
    }
    .product-copy {
      min-height: 0;
      margin-top: 9px;
      color: rgba(245,243,237,.72);
      font-size: clamp(13px, .9vw, 16px);
      line-height: 1.35;
    }
    .product-action,
    .product-action--primary {
      width: 100%;
      min-width: 0;
      min-height: 48px;
      align-self: end;
      margin-top: 18px;
      border: 1px solid #725d34;
      border-radius: 3px;
      background: linear-gradient(180deg, #cbb174 0%, #aa8b4e 100%);
      color: #171611;
      font-size: 12px;
      box-shadow: inset 0 0 0 2px rgba(255,255,255,.18);
    }
    .product-action--primary::before { display: none; }
    .product-action:hover,
    .product-action:focus-visible,
    .product-action--primary:hover {
      background: linear-gradient(180deg, #dcc486 0%, #b99957 100%);
      color: #11100d;
    }
    .product-action[disabled] { opacity: 1; }
    .product-action[disabled]:hover {
      background: linear-gradient(180deg, #cbb174 0%, #aa8b4e 100%);
      color: #171611;
    }

    @media (max-width: 900px) {
      .products-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        width: min(520px, 100%);
      }
      .product-offer {
        grid-template-rows: clamp(230px, 65vw, 340px) auto auto auto auto;
        padding: 26px 22px 22px;
      }
      .product-visual,
      .product-offer--featured .product-visual {
        height: 100%;
      }
    }

    @media (max-width: 520px) {
      .product-listing {
        margin-top: -90px;
        padding: 162px 14px 90px;
      }
      .products-heading { margin-bottom: 38px; padding-inline: 12px; }
      .products-title { font-size: clamp(40px, 12vw, 55px); }
      .products-grid { gap: 22px; }
      .product-name { font-size: clamp(25px, 8vw, 33px); }
    }

    /* One lighter charcoal field sits beneath the transparent hero tear. */
    .catalog-flow {
      position: relative;
      z-index: 0;
      margin-top: -290px;
      padding-top: 290px;
      background:
        radial-gradient(ellipse at 50% 0%, rgba(255,255,255,.075), transparent 46%),
        linear-gradient(180deg, #202322 0%, #171918 38%, #101211 72%, #0b0c0c 100%);
    }
    .trust-bar {
      position: relative;
      z-index: 2;
      margin-top: 0;
      padding: 0;
      color: var(--white);
    }
    .trust-bar__heading {
      width: min(760px, 100%);
      margin: 0 auto clamp(30px, 3vw, 44px);
      text-align: center;
    }
    .trust-bar__eyebrow {
      margin: 0 0 9px;
      color: var(--gold-light);
      font-size: clamp(12px, .85vw, 14px);
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .trust-bar__title {
      margin: 0;
      font-family: var(--display);
      font-size: clamp(28px, 2.5vw, 42px);
      font-weight: 400;
      line-height: .96;
      letter-spacing: .02em;
      text-transform: uppercase;
      text-shadow: 0 3px 10px rgba(0,0,0,.55);
    }
    .trust-bar__grid {
      position: relative;
      width: min(1120px, 100%);
      margin-inline: auto;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: clamp(20px, 3vw, 54px);
      align-items: start;
    }
    .trust-bar__grid::before {
      content: "";
      position: absolute;
      z-index: 0;
      top: 4px;
      left: 5%;
      right: 5%;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(210,182,117,.72) 8%, rgba(210,182,117,.38) 50%, rgba(210,182,117,.72) 92%, transparent);
    }
    .trust-bar__grid::after {
      display: none;
    }
    .trust-bar__item {
      position: relative;
      z-index: 1;
      min-width: 0;
      display: grid;
      justify-items: center;
      text-align: center;
    }
    .trust-bar__item::before {
      content: "";
      position: absolute;
      z-index: 3;
      top: 0;
      left: 50%;
      width: 9px;
      height: 9px;
      background: var(--gold-light);
      box-shadow: 0 0 0 3px #1b1d1c, 0 0 9px rgba(210,182,117,.22);
      transform: translateX(-50%) rotate(45deg);
    }
    .trust-bar__icon {
      width: clamp(50px, 4vw, 68px);
      height: clamp(50px, 4vw, 68px);
      aspect-ratio: 1;
      object-fit: contain;
      margin-top: 25px;
      margin-bottom: 9px;
      filter: drop-shadow(0 3px 5px rgba(0,0,0,.48));
      opacity: .94;
    }
    .trust-bar__primary {
      margin: 0;
      font-family: var(--body);
      font-size: clamp(16px, 1.15vw, 20px);
      font-weight: 700;
      line-height: 1.1;
      letter-spacing: .025em;
      text-transform: uppercase;
    }
    .trust-bar__primary .gold { color: var(--gold-light); }
    .trust-bar__label {
      margin: 6px 0 0;
      color: rgba(245,243,237,.68);
      font-family: "Trebuchet MS", Arial, sans-serif;
      font-size: clamp(10px, .72vw, 12px);
      font-weight: 700;
      letter-spacing: .09em;
      line-height: 1.4;
      text-transform: uppercase;
    }
    .catalog-flow .product-listing {
      margin-top: 0;
      padding-top: clamp(150px, 12vw, 210px);
      background: transparent;
    }
    .catalog-flow .product-listing::before { display: none; }

    @media (max-width: 700px) {
      .catalog-flow {
        margin-top: -170px;
        padding-top: 170px;
      }
      .trust-bar {
        margin-top: 0;
        padding: 0;
      }
      .trust-bar__heading { margin-bottom: 30px; }
      .trust-bar__eyebrow { font-size: 11px; }
      .trust-bar__title { font-size: clamp(27px, 8vw, 36px); }
      .catalog-flow .product-listing { padding-top: 120px; }
    }

    /* Audited trust marquee + unified purchase environment. */
    .trust-bar__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      width: 100%;
      max-width: none;
      gap: 0;
      align-items: stretch;
      border-block: 1px solid rgba(210,182,117,.32);
      background: rgba(5,6,6,.42);
    }
    .trust-bar__grid::before { display: none; }
    .trust-bar__item { min-height: 128px; align-content: center; padding: 22px clamp(18px, 3vw, 48px); }
    .trust-bar__item + .trust-bar__item { border-left: 1px solid rgba(210,182,117,.28); }
    .trust-bar__item::before { display: none; }
    .trust-bar__icon { width: 38px; height: 38px; margin: 0 0 7px; }
    .trust-bar__primary { font-family: var(--display); font-size: clamp(23px, 2vw, 34px); }

    .purchase-stage {
      position: relative;
      width: 100%;
      overflow: hidden;
      padding: clamp(142px, 12vw, 198px) clamp(22px, 5vw, 84px) clamp(110px, 9vw, 156px);
      color: var(--white);
      background:
        radial-gradient(circle at 20% 42%, rgba(210,182,117,.09), transparent 31%),
        linear-gradient(180deg, #0b0c0c, #121413 48%, #090a0a);
      border-block: 1px solid rgba(210,182,117,.2);
    }
    .purchase-stage::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .42;
      /* Registered artwork: stretch with its section stage so no edge is cropped. */
      background: var(--cc-img-product-section-background) center / 100% 100% no-repeat;
      mix-blend-mode: screen;
      mask-image: linear-gradient(180deg, rgba(0,0,0,.78), #000 24%, #000 82%, rgba(0,0,0,.7));
    }
    .purchase-stage__inner {
      position: relative;
      z-index: 1;
      width: min(1320px, 100%);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
      gap: clamp(48px, 7vw, 108px);
      align-items: center;
    }
    .purchase-visual { min-width: 0; }
    .purchase-visual__frame {
      width: min(100%, 590px);
      aspect-ratio: 1;
      margin-inline: auto;
      padding: 8px;
      display: grid;
      place-items: center;
      border: 1px solid transparent;
      background: linear-gradient(#0b0c0c,#0b0c0c) padding-box, linear-gradient(135deg,rgba(222,200,142,.4) 0%,rgba(105,80,46,.2) 48%,rgba(197,163,101,.35) 100%) border-box;
    }
    .purchase-visual__frame img {
      width: 100%;
      height: auto;
      max-height: none;
      aspect-ratio: 1;
      object-fit: contain;
      filter: drop-shadow(0 30px 44px rgba(0,0,0,.65));
      transition: opacity .22s ease, transform .32s ease;
    }
    .purchase-visual__frame img.is-changing { opacity: 0; transform: translateY(8px) scale(.985); }
    .offer-tabs {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      margin-top: 24px;
    }
    .offer-tab {
      min-width: 0;
      padding: 18px 10px 16px;
      color: rgba(245,243,237,.66);
      font: inherit;
      text-align: center;
      background: rgba(0,0,0,.28);
      border: 1px solid rgba(245,243,237,.14);
      cursor: pointer;
      transition: color .2s ease, border-color .2s ease, background .2s ease;
    }
    .offer-tab:hover, .offer-tab:focus-visible { color: var(--white); border-color: rgba(210,182,117,.55); }
    .offer-tab[aria-selected="true"] { color: var(--gold-light); border-color: var(--gold-light); background: rgba(210,182,117,.08); }
    .offer-tab__name { display: block; font-size: clamp(11px, .9vw, 13px); font-weight: 800; letter-spacing: .08em; line-height: 1.15; text-transform: uppercase; }
    .offer-tab__price { display: block; margin-top: 7px; font-family: var(--display); font-size: 19px; }
    .offer-tab__compare { margin-left: 5px; color: rgba(245,243,237,.38); font-size: .78em; text-decoration-thickness: 1px; }
    .purchase-info__eyebrow { margin: 0 0 13px; color: var(--gold-light); font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
    .purchase-info__title { max-width: 720px; margin: 0; font-family: var(--display); font-size: clamp(48px, 5vw, 78px); font-weight: 400; line-height: .92; letter-spacing: .015em; text-transform: uppercase; }
    .purchase-info__copy { max-width: 590px; margin: 25px 0 0; color: rgba(245,243,237,.76); font-size: clamp(16px, 1.25vw, 19px); line-height: 1.65; }
    .purchase-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 25px; margin: 27px 0 21px; }
    .purchase-info__price { margin: 0; color: var(--white); font-family: var(--display); font-size: clamp(42px, 4vw, 62px); line-height: 1; }
    .purchase-info__compare { margin-left: 10px; color: rgba(245,243,237,.4); font-size: .55em; text-decoration-thickness: 2px; }
    .purchase-rating { display: flex; align-items: center; gap: 9px; padding-top: 5px; }
    .purchase-rating[hidden] { display: none; }
    .purchase-rating__stars { color: var(--gold-light); font-size: 17px; letter-spacing: .11em; }
    .purchase-rating__count { color: rgba(245,243,237,.64); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .purchase-controls { display: grid; grid-template-columns: auto minmax(240px, 1fr); gap: 12px; max-width: 620px; }
    .quantity-control { display: grid; grid-template-columns: 42px 42px 42px; min-height: 56px; border: 1px solid rgba(245,243,237,.25); }
    .quantity-control button, .quantity-control output { display: grid; place-items: center; color: var(--white); background: transparent; border: 0; font: inherit; }
    .quantity-control button { cursor: pointer; font-size: 20px; }
    .quantity-control button:hover, .quantity-control button:focus-visible { color: var(--gold-light); background: rgba(255,255,255,.05); }
    .purchase-add { min-height: 56px; padding: 15px 22px; color: #0b0c0c; background: var(--gold-light); border: 1px solid var(--gold-light); font: 800 13px/1.2 var(--body); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
    .purchase-add:hover, .purchase-add:focus-visible { background: #eee0b9; }
    .shop-explore-link {
      width: 100%;
      max-width: 620px;
      margin-top: 24px;
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(210,182,117,.55);
      color: var(--gold-light);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
      transition: color .2s ease, border-color .2s ease, background-color .2s ease;
    }
    .shop-explore-link:hover, .shop-explore-link:focus-visible { color: #090a0a; border-color: var(--gold-light); background: var(--gold-light); }
    .purchase-reassurance { display: grid; grid-template-columns: 126px minmax(240px, 1fr); gap: 12px; max-width: 620px; margin: 20px 0 0; color: rgba(245,243,237,.7); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .purchase-reassurance__shipping { color: var(--gold-light); }
    .purchase-reassurance__returns { text-align: right; }
    .included { max-width: 620px; margin-top: 26px; padding: 22px 24px; border: 1px solid rgba(210,182,117,.26); background: linear-gradient(160deg, rgba(22,23,22,.72), rgba(8,9,9,.84)); }
    .included h3 { margin: 0 0 13px; color: var(--gold-light); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; }
    .included ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; color: rgba(245,243,237,.8); line-height: 1.5; }
    .included li::before { content: "✦"; margin-right: 10px; color: var(--gold-light); font-size: 9px; }

    @media (max-width: 980px) {
      .purchase-stage__inner { grid-template-columns: minmax(0, .9fr) minmax(350px, 1.1fr); gap: 38px; }
      .purchase-info__title { font-size: clamp(42px, 6vw, 61px); }
      .purchase-visual__frame { min-height: 370px; }
    }
    @media (max-width: 767px) {
      .trust-bar__grid { grid-template-columns: 1fr; gap: 26px; }
      .trust-bar__grid { gap: 0; }
      .trust-bar__item { min-height: 112px; padding: 20px; }
      .trust-bar__item + .trust-bar__item { border-left: 0; border-top: 1px solid rgba(210,182,117,.24); }
      .purchase-stage { padding: 78px 18px 88px; }
      .purchase-stage::before { background-image: var(--cc-img-product-section-background-mobile); background-size: 100% 100%; opacity: .36; }
      .purchase-stage__inner { display: flex; flex-direction: column; gap: 48px; }
      .purchase-visual, .purchase-info { width: 100%; }
      .purchase-visual__frame { min-height: 310px; }
      .purchase-visual__frame img { max-height: 390px; }
      .offer-tabs { gap: 5px; }
      .offer-tab { padding: 15px 4px 13px; }
      .offer-tab__name { font-size: 9px; letter-spacing: .04em; }
      .offer-tab__price { font-size: 17px; }
      .purchase-info__title { font-size: clamp(43px, 13vw, 61px); }
      .purchase-controls { grid-template-columns: 126px minmax(0, 1fr); }
      .purchase-add { padding-inline: 12px; font-size: 11px; }
      .purchase-reassurance { grid-template-columns: 126px minmax(0, 1fr); gap: 8px 12px; }
    }
    @media (max-width: 390px) {
      .purchase-controls { grid-template-columns: 1fr; }
      .quantity-control { width: 126px; }
      .purchase-reassurance { grid-template-columns: 1fr; }
      .purchase-reassurance__returns { text-align: left; }
    }

    .torn-section-divider {
      position: relative;
      z-index: 3;
      width: 100%;
      height: clamp(34px, 4.5vw, 72px);
      margin: calc(clamp(34px, 4.5vw, 72px) * -.45) 0 calc(clamp(34px, 4.5vw, 72px) * -.55);
      overflow: hidden;
      pointer-events: none;
    }
    .torn-section-divider img { width: 100%; height: 100%; object-fit: fill; }

    .world-intro {
      background: #050505;
      padding: 86px max(28px, calc((100vw - 1480px) / 2 + 48px)) 68px;
      border-bottom: 1px solid rgba(210,182,117,.28);
    }
    .world-main { max-width: 1480px; margin: auto; display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 42px; min-height: 530px; }
    :where(.cc-home) .world-copy .eyebrow, :where(.cc-home) .copied-section .eyebrow { display: block; color: var(--gold-light); font-size: .75rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
    .world-copy h2, .craft-copy h2, .feature-copy h2 { margin: .18em 0; font-family: var(--display); font-weight: 400; line-height: .92; text-transform: uppercase; }
    .world-copy h2 { max-width: 10ch; font-size: clamp(3.6rem, 5.2vw, 6rem); }
    .world-copy p { max-width: 42ch; color: #c8c0b6; font-size: 1.08rem; }
    .world-map-wrap { position: relative; min-height: 470px; display: grid; place-items: center; overflow: hidden; }
    .world-map-wrap::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,#050505 0%,rgba(5,5,5,.56) 17%,rgba(5,5,5,.05) 45%,transparent 100%); }
    .world-map-art { width: 112%; max-width: none; opacity: .84; filter: brightness(.94) contrast(1.06); }
    .world-gallery { max-width: 1480px; margin: 38px auto 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
    .world-gallery figure { margin: 0; overflow: hidden; background: #080706; border: 1px solid rgba(202,149,76,.18); }
    .world-gallery img { width: 100%; aspect-ratio: 16 / 10; object-fit: contain; background: #030303; filter: grayscale(1); }
    .world-gallery figcaption { padding: 12px 14px 14px; }
    .world-gallery b { display: block; font-family: var(--display); font-size: 1.05rem; font-weight: 400; text-transform: uppercase; }
    .world-gallery span { display: block; margin-top: 3px; color: #a9a096; font-size: .82rem; line-height: 1.4; }

    .craftsmanship { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 50px; padding: 84px max(28px,calc((100vw - 1480px)/2 + 48px)); background: #050505; border-bottom: 1px solid rgba(210,182,117,.28); }
    .craft-art { display: grid; place-items: center; min-height: 470px; }
    .craft-art img { width: min(64%,390px); filter: drop-shadow(0 18px 30px #000); }
    .craft-copy { max-width: 610px; }
    .craft-copy h2 { font-size: clamp(3.6rem,5vw,5.8rem); }
    .craft-copy p { max-width: 45ch; color: #cfc7bd; font-size: 1.08rem; }

    .feature-human { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 60px; padding: 94px max(28px,calc((100vw - 1480px)/2 + 48px)); background: #050505; border-bottom: 1px solid rgba(210,182,117,.28); }
    .feature-copy h2 { font-size: clamp(3.7rem,5.5vw,6.5rem); }
    .feature-copy p { max-width: 44ch; color: #d2cabf; font-size: 1.06rem; }
    .ornament { display: flex; align-items: center; gap: 13px; width: min(100%,520px); margin: 22px 0; }
    .ornament span { height: 1px; flex: 1; background: var(--gold-light); }
    .ornament i { width: 8px; height: 8px; background: var(--gold-light); transform: rotate(45deg); }
    .video-frame { position: relative; padding: 9px; background: #090807; border: 1px solid rgba(205,165,97,.55); }
    .video-frame video, .video-poster-fallback { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: grayscale(1); }
    .video-poster-fallback { position: absolute; z-index: 0; inset: 9px; width: calc(100% - 18px); height: calc(100% - 18px); }
    .video-frame video { position: relative; z-index: 1; }
    .video-frame .corner { position: absolute; z-index: 2; width: 20px; height: 20px; }
    .video-frame .corner::before, .video-frame .corner::after { content: ""; position: absolute; background: var(--gold-light); }
    .video-frame .corner::before { width: 20px; height: 1px; }
    .video-frame .corner::after { width: 1px; height: 20px; }
    .video-frame .tl { left: 3px; top: 3px; }
    .video-frame .tr { right: 3px; top: 3px; transform: rotate(90deg); }
    .video-frame .br { right: 3px; bottom: 3px; transform: rotate(180deg); }
    .video-frame .bl { left: 3px; bottom: 3px; transform: rotate(270deg); }

    @media (max-width: 820px) {
      .world-intro { padding: 52px 0 46px; }
      .world-main { display: block; min-height: 0; }
      .world-copy { padding: 0 18px; }
      .world-copy h2 { max-width: 8.4ch; font-size: clamp(3rem,12vw,4.25rem); }
      .world-copy p { margin: 8px 0 0; font-size: .92rem; line-height: 1.48; }
      .world-map-wrap { height: 260px; min-height: 0; margin-top: 18px; }
      .world-map-wrap::after { background: linear-gradient(180deg,#050505 0%,rgba(5,5,5,.12) 18%,rgba(5,5,5,.02) 72%,#050505 100%); }
      .world-map-art { position: absolute; left: 50%; top: 0; width: 145%; transform: translateX(-50%); opacity: .92; filter: brightness(1.08) contrast(1.08); }
      .world-gallery { display: flex; gap: 10px; margin: 10px 0 0; padding: 0 12px 5px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
      .world-gallery::-webkit-scrollbar { display: none; }
      .world-gallery figure { flex: 0 0 78vw; scroll-snap-align: center; }
      .world-gallery img { aspect-ratio: 4 / 3; object-fit: contain; }
      .world-gallery figcaption { padding: 8px 10px 10px; }
      .world-gallery b { font-size: .9rem; }
      .world-gallery span { font-size: .72rem; line-height: 1.32; }
      .craftsmanship { display: flex; flex-direction: column; gap: 8px; padding: 50px 18px 54px; }
      .craft-copy { order: 1; }
      .craft-art { order: 2; min-height: 0; padding-top: 10px; }
      .craft-copy h2 { font-size: clamp(3rem,11.8vw,4.3rem); }
      .craft-copy p { margin: 8px 0; font-size: .92rem; line-height: 1.47; }
      .craft-art img { width: 55%; max-width: 230px; }
      .feature-human { display: block; padding: 52px 18px; }
      .feature-copy h2 { font-size: clamp(3rem,11.8vw,4.35rem); }
      .feature-copy p { font-size: .92rem; line-height: 1.46; }
      .ornament { margin: 14px 0; }
      .video-frame { margin-top: 17px; padding: 6px; }
      .video-frame video, .video-poster-fallback { aspect-ratio: 16 / 10; }
      .video-poster-fallback { inset: 6px; width: calc(100% - 12px); height: calc(100% - 12px); }
    }

    .build-end { min-height: 18vh; }

    @media (max-width: 390px) {
      :where(.cc-home) .brand { max-width: 160px; white-space: normal; line-height: 1.05; }
      :where(.cc-home) .header-tools { margin-left: 4px; }
      .hero__content { margin-top: clamp(24px, 5vh, 40px); }
      .hero-title { font-size: clamp(46px, 15.5vw, 66px); }
      .hero-copy { font-size: 16px; }
      .primary-cta { width: 100%; justify-content: space-between; }
      .proof-paper { min-height: 690px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
      }
      .hero__media img,
      .hero-title__text,
      .reveal-load,
      .proof-paper,
      .proof-item,
      .scroll-reveal { transform: none !important; opacity: 1 !important; }
      .primary-cta::before { display: none; }
    }
    /* Woodland description: original illustration, live responsive typography. */
    .woodland-description {
      position: relative;
      isolation: isolate;
      display: grid;
      grid-template-columns: 52% 48%;
      background: #111413;
      color: #eeeae0;
      overflow: hidden;
    }
    .woodland-description__art { position: relative; margin: 0; min-width: 0; }
    .woodland-description__art img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
    .woodland-description__art::after {
      content: ""; position: absolute; inset: 0; pointer-events: none;
      background: linear-gradient(90deg, transparent 55%, #111413 100%), linear-gradient(180deg, #0b0c0c 0%, transparent 12%, transparent 90%, #111413 100%);
    }
    .woodland-description__content {
      align-self: center; position: relative; z-index: 1;
      padding: clamp(64px, 7vw, 150px) clamp(28px, 6vw, 140px) clamp(64px, 7vw, 150px) 0;
      margin-left: -2%;
    }
    .woodland-description__eyebrow {
      margin: 0 0 24px; color: var(--gold-light);
      font: 700 clamp(11px, .95vw, 16px)/1.7 var(--body);
      letter-spacing: .2em; text-transform: uppercase;
    }
    .woodland-description__ornament { display: flex; align-items: center; gap: 18px; color: var(--gold); margin-bottom: 32px; }
    .woodland-description__ornament::before, .woodland-description__ornament::after { content: ""; flex: 1; height: 1px; background: currentColor; opacity: .5; }
    .woodland-description__ornament svg { width: 90px; height: 36px; }
    .woodland-description__title {
      margin: 0 0 30px; font: 400 clamp(36px, 4.2vw, 80px)/1.08 var(--body);
      letter-spacing: -.035em; text-transform: uppercase; text-wrap: balance;
    }
    .woodland-description__copy { margin: 0; max-width: 38ch; color: #d1cec5; font: 400 clamp(17px, 1.45vw, 25px)/1.75 var(--body); }
    @media (max-width: 760px) {
      .woodland-description { grid-template-columns: 1fr; }
      .woodland-description__art img { height: auto; aspect-ratio: 3 / 4; object-fit: contain; }
      .woodland-description__art::after { background: linear-gradient(180deg, #0b0c0c 0%, transparent 10%, transparent 76%, #111413 100%); }
      .woodland-description__content { margin: 0; padding: 12px 8% 72px; }
      .woodland-description__eyebrow { font-size: 11px; letter-spacing: .15em; margin-bottom: 18px; }
      .woodland-description__ornament { margin-bottom: 26px; }
      .woodland-description__title { font-size: clamp(34px, 8.7vw, 58px); margin-bottom: 24px; }
      .woodland-description__copy { max-width: none; font-size: 18px; line-height: 1.7; }
    }
    .review-transition { background: #111413; line-height: 0; margin-top: -1px; }
    .reader-reviews { background: #f1eee7; color: #27251f; padding: clamp(64px, 8vw, 140px) 8%; text-align: center; }
    .reader-reviews h2 { margin: 0; font: 400 clamp(32px, 4vw, 56px)/1.2 var(--body); }
    @media (max-width: 760px) { .review-transition { overflow: hidden; } }
    .woodland-description__title { font-family: var(--display); }
    .woodland-description__eyebrow { text-align: center; }
    .review-transition { position: relative; height: calc(100vw * .104167); background: #111413; overflow: hidden; }
    .review-transition img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; }
    .reader-reviews h2 { font-family: var(--display); margin-bottom: 48px; }
    .reader-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; max-width: 1440px; margin: auto; }
    .reader-review-card { display: block; transition: transform .2s; }
    .reader-review-card:hover { transform: translateY(-4px); }
    .reader-review-card img { width: 100%; height: auto; }
    .review-transition--out { position: relative; z-index: 4; background: transparent; margin: 0; }
    .review-transition--out img { transform: rotate(180deg); }
    .final-journey {
      position: relative;
      z-index: 2;
      margin-top: calc(-1 * 100vw * .104167);
      min-height: min(1000px, 56.25vw);
      aspect-ratio: 16 / 9;
      overflow: hidden;
      isolation: isolate;
      background: #050505;
    }
    .final-journey__media,
    .final-journey__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
    .final-journey__media img { object-fit: cover; object-position: center; }
    .final-journey__content {
      position: absolute;
      inset: 0;
      z-index: 1;
      width: min(1100px, 82%);
      margin: 0 auto;
      text-align: center;
    }
    .final-journey__title {
      max-width: 1000px;
      margin: 0 auto clamp(26px, 3vw, 46px);
      color: var(--white);
      font: 400 clamp(42px, 5vw, 92px)/1.02 var(--display);
      letter-spacing: -.02em;
      text-transform: uppercase;
      text-wrap: balance;
      text-shadow: 0 3px 18px rgba(0,0,0,.9);
      position: absolute;
      top: clamp(72px, 9vw, 180px);
      left: 0;
      right: 0;
    }
    .final-journey__action {
      position: absolute;
      top: 78%;
      left: 50%;
      transform: translateX(-50%);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 58px;
      padding: 16px 34px;
      border: 1px solid #e0c789;
      background: linear-gradient(180deg, #d7bd7d, #b89555);
      color: #11100d;
      font: 700 13px/1 var(--body);
      letter-spacing: .12em;
      text-transform: uppercase;
      box-shadow: inset 0 0 0 2px rgba(255,255,255,.16), 0 12px 30px rgba(0,0,0,.28);
      transition: transform .25s var(--ease-out), filter .25s ease;
    }
    .final-journey__action:hover,
    .final-journey__action:focus-visible { transform: translate(-50%, -3px); filter: brightness(1.08); }
    @media (max-width: 760px) {
      .review-transition { height: calc(100vw * .1875); }
      .review-transition img { width: 180%; left: -40%; }
      .reader-review-grid { grid-template-columns: 1fr; gap: 28px; }
      .final-journey { min-height: 0; aspect-ratio: auto; margin-top: calc(-1 * 100vw * .1875); display: flex; flex-direction: column; }
      .final-journey__media { position: relative; inset: auto; order: 1; display: block; }
      .final-journey__media img { position: relative; inset: auto; height: auto; aspect-ratio: 1 / 2; object-fit: cover; }
      .final-journey__content { position: relative; inset: auto; order: 2; width: 100%; padding: 54px 8% 78px; }
      .final-journey__title { position: relative; inset: auto; font-size: clamp(38px, 11.5vw, 64px); margin-bottom: 28px; }
      .final-journey__action { position: relative; inset: auto; transform: none; width: min(310px, 100%); min-height: 56px; }
      .final-journey__action:hover, .final-journey__action:focus-visible { transform: translateY(-3px); }
    }
    .classes.dfp-classes { position: relative; min-height: clamp(700px, 50vw, 960px); overflow: hidden; background: #080908 var(--cc-img-class-assets-background) center / cover no-repeat; color: var(--white); }
    .dfp-class-layout { display: grid; grid-template-columns: 42% 58%; min-height: inherit; }
    .dfp-class-portrait { position: relative; min-width: 0; overflow: hidden; }
    .dfp-class-portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 58%, rgba(8,9,8,.94) 100%); pointer-events: none; }
    .dfp-class-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: opacity .22s ease; }
    .dfp-class-content { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: clamp(60px, 6vw, 120px) clamp(34px, 7vw, 150px); text-align: center; }
    .dfp-class-kicker { display: flex; align-items: center; gap: 13px; margin-bottom: 18px; color: var(--gold-light); font: 700 12px/1 var(--body); letter-spacing: .22em; text-transform: uppercase; }
    .dfp-class-kicker span:first-child, .dfp-class-kicker span:last-child { font-size: 9px; }
    .dfp-class-title { margin: 0 0 38px; font: 400 clamp(46px, 5.4vw, 102px)/.95 var(--display); letter-spacing: -.025em; text-transform: uppercase; text-wrap: balance; }
    .dfp-class-name { margin: 0 0 14px; color: var(--gold-light); font: 400 clamp(25px, 2.1vw, 40px)/1 var(--display); text-transform: uppercase; }
    .dfp-class-description { min-height: 3.3em; max-width: 42ch; margin: 0 0 38px; color: #d7d2c8; font: 400 clamp(15px, 1.1vw, 20px)/1.65 var(--body); }
    .dfp-class-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 1vw, 18px); width: min(660px, 100%); }
    .dfp-class-card { position: relative; padding: 0; overflow: hidden; border: 1px solid rgba(203,176,111,.22); background: #111; color: var(--white); cursor: pointer; transition: border-color .22s ease, transform .22s ease, filter .22s ease; }
    .dfp-class-card::after { content: ""; position: absolute; inset: 0; border: 2px solid transparent; pointer-events: none; transition: border-color .22s ease; }
    .dfp-class-card img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; filter: saturate(.75) brightness(.72); transition: filter .22s ease; }
    .dfp-class-card span { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 25px 8px 13px; background: linear-gradient(transparent, rgba(0,0,0,.95)); font: 400 clamp(12px, 1vw, 17px)/1 var(--display); letter-spacing: .04em; text-transform: uppercase; }
    .dfp-class-card:hover, .dfp-class-card:focus-visible { transform: translateY(-3px); border-color: rgba(203,176,111,.75); outline: none; }
    .dfp-class-card[aria-selected="true"] { border-color: var(--gold); }
    .dfp-class-card[aria-selected="true"]::after { border-color: rgba(203,176,111,.48); }
    .dfp-class-card[aria-selected="true"] img { filter: saturate(1) brightness(1); }
    @media (max-width: 900px) {
      .classes.dfp-classes { min-height: 0; }
      .dfp-class-layout { grid-template-columns: 1fr; }
      .dfp-class-portrait { height: min(115vw, 720px); }
      .dfp-class-portrait::after { background: linear-gradient(180deg, transparent 65%, #080908 100%); }
      .dfp-class-content { padding: 12px 6% 72px; }
      .dfp-class-title { margin-bottom: 28px; font-size: clamp(43px, 12vw, 72px); }
      .dfp-class-description { min-height: 0; margin-bottom: 30px; }
      .dfp-class-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(520px, 100%); }
    }


    /* Surgical revision: typography, full-bleed stages, trust layout, product metadata, tear, Antallia, classes. */

    /* Antique Shop is reserved for true display-scale headlines only. */
    .preloader__name,
    .proof-primary,
    .product-name,
    :where(.cc-home) .mobile-nav a,
    .trust-bar__title,
    .trust-bar__primary,
    .offer-tab__price,
    .purchase-info__price,
    .world-gallery b,
    .dfp-class-name,
    .dfp-class-card span {
      font-family: var(--body);
    }

    /* Trust bar: icon stays left of copy, while each icon/copy group is centered in its rectangle. */
    .trust-bar__item {
      min-height: 128px;
      display: grid;
      grid-template-columns: clamp(52px, 4.4vw, 72px) auto;
      grid-template-rows: auto auto;
      column-gap: clamp(14px, 1.4vw, 22px);
      row-gap: 4px;
      align-content: center;
      justify-content: center;
      justify-items: start;
      text-align: left;
      padding: 22px clamp(22px, 3vw, 48px);
    }
    .trust-bar__icon {
      grid-column: 1;
      grid-row: 1 / span 2;
      align-self: center;
      width: clamp(52px, 4.4vw, 72px);
      height: clamp(52px, 4.4vw, 72px);
      margin: 0;
    }
    .trust-bar__primary {
      grid-column: 2;
      grid-row: 1;
      align-self: end;
      font-size: clamp(18px, 1.4vw, 25px);
      line-height: 1.05;
    }
    .trust-bar__label {
      grid-column: 2;
      grid-row: 2;
      align-self: start;
      margin: 0;
      font-family: var(--body);
    }

    /* Product stage occupies a true full-bleed viewport chapter. */
    .purchase-stage {
      height: auto;
      min-height: 700px;
      display: grid;
      align-items: center;
      overflow: visible;
      border-bottom: 0;
    }
    .purchase-meta {
      max-width: 620px;
      justify-content: space-between;
      align-items: flex-end;
    }
    .purchase-rating {
      margin-left: auto;
      padding-top: 0;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 3px;
      text-align: right;
    }
    .purchase-rating__stars,
    .purchase-rating__count { display: block; }
    .purchase-reassurance {
      grid-template-columns: max-content minmax(0, 1fr);
      align-items: center;
    }
    .purchase-reassurance__shipping { white-space: nowrap; }

    /* Torn strip is physically attached to the end of the product stage. */
    .torn-section-divider {
      position: absolute;
      z-index: 5;
      left: -1%;
      bottom: 0;
      width: 102%;
      height: clamp(88px, 8vw, 132px);
      margin: 0;
      overflow: visible;
      pointer-events: none;
      transform: translateY(50%);
      background: transparent;
    }
    .torn-section-divider img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: fill;
      transform: scaleY(1.08);
      transform-origin: center;
    }

    /* Antallia: full viewport chapter with all editorial content anchored left. */
    .world-intro {
      position: relative;
      min-height: 100svh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      overflow: hidden;
      padding: clamp(92px, 8vw, 150px) max(28px, calc((100vw - 1480px) / 2 + 48px));
      background: #050505;
    }
    .world-main {
      position: static;
      z-index: 2;
      width: min(760px, 58vw);
      max-width: none;
      min-height: 0;
      margin: 0;
      display: block;
    }
    .world-copy { position: relative; z-index: 2; }
    .world-copy h2 { max-width: 9.5ch; }
    .world-copy p { max-width: 44ch; margin-top: 22px; line-height: 1.62; }
    .world-map-wrap {
      position: absolute;
      z-index: 0;
      inset: 0;
      min-height: 0;
      display: block;
      overflow: hidden;
      opacity: 1;
      pointer-events: none;
    }
    .world-map-wrap::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(5,5,5,.9) 0%, rgba(5,5,5,.58) 33%, rgba(5,5,5,.12) 70%, transparent 100%);
      pointer-events: none;
    }
    .world-map-art {
      display: block;
      width: 100%;
      height: 100%;
      max-width: none;
      object-fit: cover;
      object-position: center center;
      opacity: 1;
      filter: none;
    }
    .world-gallery {
      position: relative;
      z-index: 2;
      width: min(820px, 62vw);
      max-width: none;
      margin: clamp(34px, 4vw, 56px) 0 0;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }
    .world-gallery figure { background: rgba(8,7,6,.9); }
    .world-gallery img {
      aspect-ratio: 16 / 10;
      object-fit: cover;
      filter: grayscale(1);
    }

    /* Class selection: card artwork stays borderless, selected state is glow only. */
    .dfp-class-layout {
      width: min(1600px, calc(100% - 8vw));
      margin-inline: auto;
      grid-template-columns: 44% 56%;
    }
    .dfp-class-portrait { overflow: visible; }
    .dfp-class-portrait img {
      width: 94%;
      margin-inline: auto;
      object-fit: contain;
      object-position: center center;
    }
    .dfp-class-card,
    .dfp-class-card:hover,
    .dfp-class-card:focus-visible,
    .dfp-class-card[aria-selected="true"] {
      border: 0;
      outline: 0;
      background: transparent;
    }
    .dfp-class-card::after { display: none; }
    .dfp-class-card {
      overflow: visible;
      transition: transform .22s ease, filter .22s ease, box-shadow .22s ease;
    }
    .dfp-class-card[aria-selected="true"] {
      box-shadow: none;
    }
    .dfp-class-card[aria-selected="true"] img {
      filter:
        saturate(1)
        brightness(1.04)
        drop-shadow(0 0 5px rgba(242,216,145,.95))
        drop-shadow(0 0 13px rgba(210,182,117,.72))
        drop-shadow(0 0 28px rgba(176,139,65,.42));
    }

    @media (max-width: 767px) {
      .purchase-stage {
        height: auto;
        min-height: 100svh;
        padding-top: 86px;
        padding-bottom: 112px;
      }
      .purchase-meta {
        width: 100%;
        max-width: none;
      }
      .purchase-rating { margin-left: auto; }
      .purchase-reassurance {
        grid-template-columns: max-content minmax(0, 1fr);
        font-size: 10px;
      }

      .torn-section-divider {
        height: 76px;
        margin: -40px 0 -36px;
      }

      .world-intro {
        min-height: 100svh;
        justify-content: center;
        padding: 96px 18px 82px;
      }
      .world-main { width: 100%; }
      .world-copy { padding: 0; }
      .world-copy h2 { max-width: 8.6ch; }
      .world-copy p { max-width: 39ch; margin-top: 16px; }
      .world-map-wrap {
        inset: 0;
        opacity: .52;
      }
      .world-map-art {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
      }
      .world-gallery {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        margin: 34px 0 0;
        padding: 0;
        overflow: visible;
      }
      .world-gallery figure { width: 100%; }
      .world-gallery img { aspect-ratio: 16 / 8.5; object-fit: cover; }

      .dfp-class-layout {
        width: 100%;
        grid-template-columns: 1fr;
      }
      .dfp-class-portrait {
        width: min(92%, 620px);
        margin-inline: auto;
        overflow: visible;
      }
      .dfp-class-portrait img { width: 100%; object-fit: contain; }
      .dfp-class-cards { gap: 14px; padding-inline: 6px; }
    }

    @media (max-width: 390px) {
      .purchase-reassurance {
        grid-template-columns: 1fr;
      }
      .purchase-reassurance__shipping { white-space: nowrap; }
    }

    /* Revision v6: align Antallia to hero, preserve 1:1 previews, and tuck section beneath tear. */
    @media (min-width: 981px) {
      .world-intro {
        margin-top: calc(-1 * clamp(44px, 4vw, 66px));
        padding-left: clamp(180px, 15.5vw, 320px);
        padding-right: clamp(42px, 5.5vw, 112px);
        padding-top: calc(clamp(92px, 8vw, 150px) + clamp(44px, 4vw, 66px));
      }
      .world-main {
        width: min(760px, calc(100vw - clamp(180px, 15.5vw, 320px) - 72px));
      }
      .world-gallery {
        width: min(820px, calc(100vw - clamp(180px, 15.5vw, 320px) - 72px));
      }
    }

    .world-gallery figure {
      aspect-ratio: 1 / 1;
      display: grid;
      grid-template-rows: minmax(0, 1fr) auto;
    }
    .world-gallery img {
      width: 100%;
      height: 100%;
      aspect-ratio: 1 / 1;
      object-fit: contain;
      object-position: center;
      background: #030303;
    }

    @media (max-width: 980px) {
      .world-intro {
        margin-top: -38px;
        padding-top: 134px;
      }
    }

    @media (max-width: 700px) {
      .world-intro {
        padding-left: 30px;
        padding-right: 30px;
      }
      .world-gallery figure {
        aspect-ratio: auto;
      }
      .world-gallery img {
        aspect-ratio: 1 / 1;
        height: auto;
        object-fit: contain;
      }
    }

    /* Revision v7: mobile composition pass. */
    @media (max-width: 767px) {
      /* Pull the mobile product artwork closer to the start of its chapter. */
      .purchase-stage {
        padding-top: 30px;
      }
      .purchase-stage__inner {
        gap: 30px;
      }
      .purchase-visual__frame {
        min-height: 270px;
      }

      /* Antallia mobile background is a dedicated locked portrait composition. */
      .world-map-wrap {
        inset: 0;
        margin: 0;
        width: 100%;
        height: 100%;
        min-height: 100%;
        opacity: 1;
      }
      .world-map-wrap picture {
        display: block;
        width: 100%;
        height: 100%;
      }
      .world-map-art {
        position: static;
        width: 100%;
        height: 100%;
        transform: none;
        object-fit: cover;
        object-position: center top;
        opacity: 1;
        filter: none;
      }
      .world-map-wrap::after {
        background: linear-gradient(180deg, rgba(5,5,5,.22) 0%, rgba(5,5,5,.05) 42%, rgba(5,5,5,.42) 100%);
      }

      /* Physical book: product first, larger, then copy. */
      .craftsmanship {
        gap: 24px;
        padding-top: 46px;
      }
      .craft-art {
        order: 1;
        width: 100%;
        padding-top: 0;
      }
      .craft-copy {
        order: 2;
        width: 100%;
      }
      .craft-art img {
        width: min(78vw, 330px);
        max-width: none;
      }

      /* Preserve exactly two display lines at mobile widths. */
      .feature-copy h2 {
        white-space: nowrap;
        font-size: clamp(2.55rem, 10.2vw, 3.8rem);
        line-height: .94;
      }

      /* Mobile class narrative order: headline, support, portrait, selectors. */
      .dfp-class-layout {
        display: grid;
        grid-template-columns: 1fr;
        padding: 52px 18px 68px;
      }
      .dfp-class-content { display: contents; }
      .dfp-class-kicker { display: none; }
      .dfp-class-title {
        grid-row: 1;
        margin: 0 0 22px;
        text-align: center;
      }
      .dfp-class-name {
        grid-row: 2;
        margin: 0 0 10px;
        text-align: center;
      }
      .dfp-class-description {
        grid-row: 3;
        width: min(100%, 42ch);
        margin: 0 auto 28px;
        text-align: center;
      }
      .dfp-class-portrait {
        grid-row: 4;
        width: min(88vw, 520px);
        height: auto;
        min-height: 0;
        margin: 0 auto 28px;
      }
      .dfp-class-portrait::after { display: none; }
      .dfp-class-portrait img {
        width: 100%;
        height: auto;
        max-height: 68svh;
        object-fit: contain;
        object-position: center;
      }
      .dfp-class-cards {
        grid-row: 5;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: min(100%, 560px);
        gap: 8px;
        margin: 0 auto;
        padding-inline: 0;
      }
      .dfp-class-card span {
        padding: 18px 3px 8px;
        font-size: clamp(11px, 3vw, 14px);
      }
    }

    @media (max-width: 390px) {
      .feature-copy h2 { font-size: clamp(2.35rem, 10vw, 2.9rem); }
    }


    /* Revision v8: fifth mobile refinement batch. */
    @media (max-width: 767px) {
      /* Keep the explore cue close to the bottom edge of the mobile hero. */
      .scroll-cue {
        top: auto;
        bottom: 20px;
      }

      /* Mobile product narrative order. The DOM remains untouched, only composition changes. */
      .purchase-stage__inner {
        display: flex;
        flex-direction: column;
        gap: 0;
      }
      .purchase-info,
      .purchase-visual {
        display: contents;
      }
      .purchase-info__eyebrow { order: 1; text-align: left; }
      .purchase-info__title { order: 2; margin-top: 8px; }
      .purchase-info__copy {
        order: 3;
        margin-top: 12px;
        padding-bottom: 22px;
        border-bottom: 1px solid rgba(210,182,117,.28);
      }
      .purchase-visual__frame {
        order: 4;
        width: 100%;
        min-height: 0;
        margin: 18px 0 0;
        padding: 8px;
      }
      .purchase-visual__frame img {
        max-height: none;
      }
      .offer-tabs {
        order: 5;
        width: 100%;
        margin: 18px 0 0;
      }
      .purchase-meta {
        order: 6;
        width: 100%;
        margin: 22px 0 16px;
      }
      .purchase-controls { order: 7; width: 100%; }
      .purchase-reassurance { order: 8; width: 100%; }
      /* Add-ons sit after the buy button on mobile, collapsed, so they never push it down. */
      .addon-host { order: 9; width: 100%; }
      :where(.cc-home) .addons__total { order: 10; width: 100%; }
      .included { order: 11; width: 100%; }
      .purchase-links { order: 12; width: 100%; }

      /* Dedicated mobile Antallia art is a locked composition, not a cover crop. */
      .world-map-wrap {
        background: #050505;
      }
      .world-map-wrap picture {
        position: absolute;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
      }
      .world-map-art {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: auto;
        max-width: none;
        object-fit: contain;
        object-position: center top;
        transform: none;
      }
      .world-gallery figure {
        border: 2px solid rgba(202,149,76,.48);
      }
    }


    /* Revision v9: sixth refinement batch. */
    .purchase-title-break { display: inline; }

    @media (min-width: 981px) {
      /* Optically center the product artwork/edition block against the purchase copy. */
      .purchase-visual {
        align-self: center;
        transform: translateY(-24px);
      }
      .purchase-info { align-self: center; }
    }

    @media (max-width: 767px) {
      /* Keep the explore cue fully inside the first mobile viewport. */
      .scroll-cue {
        top: calc(100svh - 138px);
        bottom: auto;
      }



      /* Product heading hierarchy: left eyebrow and exactly two title lines. */
      .purchase-info__eyebrow {
        width: 100%;
        margin: 0;
        text-align: left;
      }
      .purchase-info__title {
        width: 100%;
        max-width: none;
        font-size: clamp(35px, 10.7vw, 48px);
        line-height: .9;
      }
      .purchase-title-break { display: block; }
    }

  
    /* Revision v10: mobile Antallia infinite swipe carousel. */
    @media (max-width: 700px) {
      .world-gallery {
        display: flex;
        width: calc(100% + 30px);
        margin-right: -30px;
        gap: 14px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        touch-action: pan-x pan-y;
        padding: 0 30px 8px 0;
      }
      .world-gallery::-webkit-scrollbar { display: none; }
      .world-gallery figure {
        flex: 0 0 min(82vw, 360px);
        width: min(82vw, 360px);
        margin: 0;
        scroll-snap-align: start;
        scroll-snap-stop: always;
      }
      .world-gallery img {
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: contain;
      }
    }

    /* Imported audited tail, scoped to preserve the current approved build above it. */
    .dfp-class-description { text-wrap: balance; }
    .legacy-tail { --tail-line: rgba(202,149,76,.28); --tail-gold:#c89550; --tail-paper:#f1eee7; color:#f1ece3; font-family:var(--body); }
    .legacy-tail .feature { display:grid; grid-template-columns:.82fr 1.18fr; align-items:center; gap:46px; padding:82px max(28px,calc((100vw - 1480px)/2 + 48px)); background:#050505; }
    .legacy-tail .feature-copy h2,.legacy-tail .mini-copy h2,.legacy-tail .gm-copy h2,.legacy-tail .section-heading h2 { font-family:var(--display); font-weight:400; text-transform:uppercase; line-height:.92; margin:.18em 0; }
    .legacy-tail .feature-copy h2 { font-size:clamp(3.6rem,5.2vw,6rem); }
    .legacy-tail .feature-copy p,.legacy-tail .mini-copy p,.legacy-tail .gm-copy p { color:#c8c0b6; max-width:44ch; font-size:1.05rem; line-height:1.55; }
    .legacy-tail .ornament { display:flex; align-items:center; gap:10px; max-width:290px; margin:18px 0; } .legacy-tail .ornament span{height:1px;background:var(--tail-line);flex:1}.legacy-tail .ornament i{width:7px;height:7px;background:var(--tail-gold);transform:rotate(45deg)}
    .legacy-tail .danger-stats { display:flex; gap:10px; margin-top:24px; } .legacy-tail .danger-stats span{min-width:125px;border:1px solid var(--tail-line);padding:12px 14px;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.legacy-tail .danger-stats b{display:block;color:#e2c08a;font-size:1.7rem;line-height:1.1}.legacy-tail .danger-art{width:100%;max-height:720px;object-fit:contain;object-position:center}
    .legacy-tail .miniatures{background:#050505;border-top:1px solid var(--tail-line);border-bottom:1px solid var(--tail-line)} .legacy-tail .miniatures-desktop{max-width:1480px;margin:auto;display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:45px;padding:82px 48px}.legacy-tail .miniatures-desktop>img{width:100%;filter:grayscale(1)} .legacy-tail .mini-copy h2{font-size:clamp(3.5rem,5vw,5.8rem)} .legacy-tail .mini-copy small{display:block;margin-top:12px;color:#8f877e;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.legacy-tail .miniatures-mobile{display:none}
    .legacy-tail .secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 26px;text-decoration:none;text-transform:uppercase;letter-spacing:.07em;border:1px solid var(--tail-gold);background:linear-gradient(180deg,#15110d,#080706);color:#f1e8dc;font-family:var(--body);font-size:.9rem}
    .legacy-tail .reviews{padding:82px max(24px,calc((100vw - 1480px)/2 + 48px));background:#080706;border-bottom:1px solid var(--tail-line)} .legacy-tail .section-heading{margin-bottom:30px}.legacy-tail .section-heading>span{display:block;color:var(--tail-gold);font-weight:700;text-transform:uppercase;letter-spacing:.22em;font-size:.75rem}.legacy-tail .section-heading h2{font-size:clamp(3.5rem,5vw,5.7rem)} .legacy-tail .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.legacy-tail .review-card{border:1px solid var(--tail-line);background:#0a0908;padding:8px}.legacy-tail .review-card img{width:100%;height:auto;display:block}
    .legacy-tail .gm-screen{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:50px;padding:86px max(28px,calc((100vw - 1480px)/2 + 48px));background:var(--tail-paper);color:#17130f}.legacy-tail .gm-art img{width:min(100%,720px);margin:auto}.legacy-tail .gm-copy h2{font-size:clamp(3.5rem,5vw,5.8rem)}.legacy-tail .gm-copy p{color:#554d45}.legacy-tail .gm-copy strong{display:block;font-size:2.8rem;margin:18px 0}.legacy-tail .gm-copy .secondary-button{background:#15110d;color:#f1e8dc}
    .legacy-tail .faq{padding:82px max(24px,calc((100vw - 1180px)/2 + 48px));background:#050505}.legacy-tail .faq-list{max-width:1050px}.legacy-tail .faq-list details{border-bottom:1px solid var(--tail-line)}.legacy-tail .faq-list details:first-child{border-top:1px solid var(--tail-line)}.legacy-tail .faq-list summary{cursor:pointer;padding:20px 0;font-family:var(--body);font-weight:700;font-size:1.2rem;text-transform:uppercase}.legacy-tail .faq-list details p{margin:0 0 20px;color:#aaa196;max-width:70ch}
    .legacy-footer{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:42px;padding:65px max(24px,calc((100vw - 1480px)/2 + 48px));border-top:1px solid rgba(202,149,76,.28);background:#030303;color:#f1ece3;font-family:var(--body)}.legacy-footer p{color:#8f877e;max-width:40ch}.legacy-footer h3{font-family:var(--body);font-weight:700;text-transform:uppercase}.legacy-footer a{display:block;color:#a9a096;text-decoration:none;margin:8px 0}.legacy-footer .footer-brand{display:inline-flex;align-items:center;gap:10px;margin:0;color:#f1ece3}.legacy-footer .footer-brand span{width:42px;height:42px;border:1px solid rgba(218,187,132,.7);display:grid;place-items:center;font-family:var(--body);font-weight:700}.legacy-footer small{grid-column:1/-1;color:#665f58}
    @media(max-width:700px){ .dfp-class-description{max-width:34ch} .legacy-tail .feature{display:block;padding:52px 18px 0}.legacy-tail .feature-copy h2{font-size:clamp(2.8rem,11vw,4rem)}.legacy-tail .feature-copy p{font-size:.92rem}.legacy-tail .danger-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:16px}.legacy-tail .danger-stats span{min-width:0;padding:9px 6px;text-align:center;font-size:.56rem}.legacy-tail .danger-stats b{font-size:1.35rem}.legacy-tail .danger-art{width:calc(100% + 36px);max-width:none;margin-left:-18px;margin-top:14px;max-height:none;aspect-ratio:auto;object-fit:contain}.legacy-tail .miniatures-desktop{display:none}.legacy-tail .miniatures-mobile{display:block;position:relative;width:100%;aspect-ratio:9/16;overflow:hidden;background:#000}.legacy-tail .stl-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.legacy-tail .stl-kicker,.legacy-tail .stl-divider,.legacy-tail .miniatures-mobile h2,.legacy-tail .miniatures-mobile p,.legacy-tail .stl-name,.legacy-tail .stl-button,.legacy-tail .stl-note{position:absolute;z-index:2}.legacy-tail .stl-kicker{top:5.6%;left:0;width:100%;text-align:center;color:var(--tail-gold);font-weight:700;font-size:2.35vw;letter-spacing:.24em;text-transform:uppercase}.legacy-tail .stl-divider{top:8.85%;left:25.5%;width:49%;display:flex;align-items:center;gap:10px}.legacy-tail .stl-divider span{height:1px;background:#b78b50;flex:1}.legacy-tail .stl-divider i{width:6px;height:6px;background:var(--tail-gold);transform:rotate(45deg)}.legacy-tail .miniatures-mobile h2{top:10.7%;left:8%;width:84%;margin:0;text-align:center;font-family:var(--display);font-size:7.15vw;line-height:.96;text-transform:uppercase;font-weight:400}.legacy-tail .miniatures-mobile p{top:21.1%;left:10.8%;width:78.4%;margin:0;text-align:center;font-size:2.65vw;line-height:1.52;color:#d9d1c6}.legacy-tail .stl-name{width:18%;text-align:center;font-size:2.42vw;line-height:1;transform:translateY(-18%)}.legacy-tail .hare{top:57.05%;left:7.6%}.legacy-tail .badger{top:57.05%;left:32.1%}.legacy-tail .owl{top:57.05%;left:54.7%}.legacy-tail .mouse{top:57.05%;left:76%}.legacy-tail .squirrel{top:77.95%;left:6.7%}.legacy-tail .otter{top:77.95%;left:29.5%}.legacy-tail .darkwing{top:77.95%;left:52.7%}.legacy-tail .fox{top:77.95%;left:75.6%}.legacy-tail .stl-button{top:83.45%;left:17%;width:66%;height:5.7%;display:flex;align-items:center;justify-content:center;text-decoration:none;font-family:var(--body);text-transform:uppercase;letter-spacing:.08em;font-size:2.95vw}.legacy-tail .stl-note{top:90.15%;left:0;width:100%;text-align:center;color:#9c958d;font-size:1.85vw;letter-spacing:.23em;text-transform:uppercase}.legacy-tail .reviews{padding:52px 14px 54px}.legacy-tail .section-heading h2{font-size:clamp(2.7rem,10.5vw,3.9rem)}.legacy-tail .review-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;scrollbar-width:none}.legacy-tail .review-grid::-webkit-scrollbar{display:none}.legacy-tail .review-card{flex:0 0 88vw;scroll-snap-align:center}.legacy-tail .gm-screen{display:flex;flex-direction:column;padding:48px 18px 54px;gap:10px}.legacy-tail .gm-art{order:1}.legacy-tail .gm-copy{order:2}.legacy-tail .gm-art img{width:88%;max-width:350px;margin:auto}.legacy-tail .gm-copy h2{font-size:clamp(2.8rem,10.5vw,4rem)}.legacy-tail .gm-copy p{font-size:.9rem}.legacy-tail .gm-copy strong{font-size:2.2rem}.legacy-tail .gm-copy .secondary-button{width:100%;min-height:50px;margin-top:7px}.legacy-tail .faq{padding:52px 18px 58px}.legacy-tail .faq-list summary{padding:16px 0;font-size:1.02rem}.legacy-tail .faq-list details p{font-size:.88rem}.legacy-footer{grid-template-columns:1fr;gap:24px;padding:54px 22px}.legacy-footer small{grid-column:auto}}

  

    /* Revision v12: full-bleed danger, dedicated mobile art, parchment transition. */
    .legacy-tail .feature-danger {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 9;
      min-height: 0;
      overflow: hidden;
      isolation: isolate;
      background: #050505 var(--cc-img-enough-danger-desktop-v13) center / 100% 100% no-repeat;
    }
    .legacy-tail .feature-danger .feature-copy {
      position: relative;
      z-index: 2;
      align-self: center;
    }
    @media (min-width: 701px) {
      .legacy-tail .feature-danger {
        grid-template-columns: minmax(0, 34%) minmax(0, 66%);
        padding-left: clamp(42px, 5.5vw, 112px);
        padding-right: clamp(42px, 5.5vw, 112px);
      }
      .legacy-tail .feature-danger .feature-copy {
        width: min(100%, 520px);
        justify-self: start;
      }
    }
    .legacy-tail .feature-danger .danger-art { display: none; }

    .legacy-tail .feature-danger .danger-title-line { display: inline; }
    .legacy-tail .reviews { background: #f1eee7; }

    .tail-parchment-divider {
      position: relative;
      z-index: 4;
      width: 100%;
      height: clamp(58px, 7vw, 108px);
      margin: -1px 0 -1px;
      overflow: hidden;
      background: #050505;
      pointer-events: none;
    }
    .tail-parchment-divider img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: fill;
    }

    .legacy-tail .reviews,
    .legacy-tail .gm-screen {
      background: var(--tail-paper);
      color: #17130f;
      border-color: rgba(107,83,47,.24);
    }
    .legacy-tail .reviews .section-heading>span { color: #8f652f; }
    .legacy-tail .reviews .section-heading h2,
    .legacy-tail .gm-copy h2 { color: #17130f; }
    .legacy-tail .review-card {
      background: rgba(255,255,255,.26);
      border-color: rgba(107,83,47,.28);
    }
    .legacy-tail .gm-screen { border-top: 1px solid rgba(107,83,47,.18); }

    @media (max-width: 700px) {
      html, body { overflow-x: clip; max-width: 100%; }

      .purchase-stage::before {
        background-image: var(--cc-img-product-section-background-mobile2-v12);
        background-size: 100% 100%;
        background-position: center top;
        opacity: .42;
      }

      .world-map-art { opacity: .8; }

      .legacy-tail .feature-danger {
        display: block;
        width: 100%;
        max-width: 100%;
        aspect-ratio: 1 / 2;
        min-height: 0;
        padding: 50px 22px 0;
        margin: 0;
        overflow: hidden;
        background: #050505 var(--cc-img-mobile-enough-danger-v12) center top / 100% 100% no-repeat;
      }
      .legacy-tail .feature-danger .feature-copy {
        width: 100%;
        max-width: 100%;
      }
      .legacy-tail .feature-danger .feature-copy h2 {
        width: 100%;
        max-width: 100%;
        font-size: clamp(32px, 8.2vw, 42px);
        line-height: .96;
      }
      .legacy-tail .feature-danger .feature-copy h2 .danger-title-line {
        display: block;
        white-space: nowrap;
      }
      .legacy-tail .feature-danger .danger-stats { width: 100%; }

      .legacy-tail .miniatures-mobile { overflow: hidden; }
      .legacy-tail .stl-button {
        top: 84.7%;
        left: 16%;
        width: 68%;
        height: 4.6%;
        min-height: 0;
        padding: 0 14px;
        box-sizing: border-box;
        font-size: clamp(11px, 2.7vw, 14px);
        line-height: 1;
        white-space: nowrap;
      }
      .legacy-tail .stl-note {
        top: 90.55%;
        font-size: clamp(7px, 1.8vw, 10px);
      }

      .tail-parchment-divider {
        height: 58px;
      }
      .legacy-tail .reviews {
        padding-top: 44px;
        background: var(--tail-paper);
      }
      .legacy-tail .review-card {
        background: rgba(255,255,255,.28);
      }
      .legacy-tail .gm-screen {
        background: var(--tail-paper);
      }
    }

  
    /* Revision v15: align Enough Danger copy to Antallia desktop anchor. */
    @media (min-width: 981px) {
      .legacy-tail .feature-danger {
        padding-left: clamp(180px, 15.5vw, 320px);
      }
    }

    /* Revision v16: mobile product title wrapping, STL CTA alignment, GM screen spacing. */
    .purchase-title-line { display: inline; }
    @media (max-width: 700px) {
      .purchase-info__title {
        font-size: clamp(36px, 10.4vw, 48px);
        line-height: .94;
      }
      .purchase-title-line {
        display: block;
        white-space: nowrap;
      }

      .legacy-tail .stl-button {
        top: 83.15%;
        left: 16%;
        width: 68%;
        height: 5.8%;
        min-height: 0;
        padding: 0 14px 3px;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
      }

      .legacy-tail .gm-screen {
        gap: 0;
      }
      .legacy-tail .gm-art {
        width: 100%;
        margin-bottom: 32px;
      }
      .legacy-tail .gm-art img {
        width: 100%;
        max-width: 420px;
        margin: 0 auto;
      }
    }


    /* Review cards v18: compact short & bold treatment. */
    .legacy-tail .reviews { background:#f1eee7; }
    .legacy-tail .review-grid { align-items:stretch; }
    .legacy-tail .review-card.review-card--short-bold {
      appearance:none;
      position:relative;
      display:flex;
      flex-direction:column;
      height:clamp(350px,27vw,420px);
      min-height:0;
      padding:clamp(26px,2.2vw,34px);
      border:1px solid rgba(196,153,77,.88);
      background:linear-gradient(180deg,#0c0c0b 0%,#080807 100%);
      color:#f1eee7;
      text-align:left;
      overflow:hidden;
      box-shadow:0 0 0 1px rgba(196,153,77,.08),0 0 20px rgba(196,153,77,.12),0 14px 28px rgba(0,0,0,.10);
      transform:none;
    }
    .legacy-tail .review-card.review-card--short-bold::after { content:none; }
    .legacy-tail .review-card.review-card--short-bold:hover {
      transform:translateY(-3px);
      box-shadow:0 0 0 1px rgba(196,153,77,.12),0 0 26px rgba(196,153,77,.17),0 16px 30px rgba(0,0,0,.12);
    }
    .legacy-tail .review-card__kicker { display:none; }
    .legacy-tail .review-card__rule {
      position:relative;z-index:1;
      width:32px;height:1px;
      margin:0 0 20px;
      background:#b9914c;
    }
    .legacy-tail .review-card blockquote {
      position:relative;z-index:1;
      margin:0;
      max-width:none;
      font-family:var(--body);
      font-size:clamp(1.08rem,1.25vw,1.35rem);
      line-height:1.18;
      font-weight:400;
      letter-spacing:-.012em;
      color:#f1eee7;
    }
    .legacy-tail .review-card__stars {
      position:relative;z-index:1;
      margin-top:auto;
      padding-top:20px;
      color:#d5ad56;
      font-size:clamp(.88rem,1vw,1rem);
      letter-spacing:.1em;
      white-space:nowrap;
    }
    .legacy-tail .review-card footer {
      position:relative;z-index:1;
      display:flex;
      flex-direction:column;
      gap:4px;
      margin-top:12px;
    }
    .legacy-tail .review-card footer strong {
      font-family:var(--body);
      font-size:.88rem;
      font-weight:400;
      letter-spacing:.02em;
      color:#f1eee7;
    }
    .legacy-tail .review-card footer span {
      font-family:var(--body);
      font-size:.55rem;
      font-weight:700;
      letter-spacing:.18em;
      color:#bdb5a9;
    }
    @media (max-width:700px) {
      .legacy-tail .reviews { padding-left:18px; padding-right:18px; }
      .legacy-tail .review-grid { gap:14px; padding-right:8vw; }
      .legacy-tail .review-card.review-card--short-bold {
        flex:0 0 78vw;
        height:400px;
        min-height:0;
        padding:26px 24px 24px;
        scroll-snap-align:center;
      }
      .legacy-tail .review-card blockquote {
        max-width:none;
        font-size:clamp(1rem,4.7vw,1.18rem);
        line-height:1.18;
      }
      .legacy-tail .review-card__stars { padding-top:18px; }
    }
    /* Revision v19: separate campaign-proof cards and official Kickstarter badge. */
    .trust-bar__grid {
      gap: clamp(8px, 1.2vw, 18px);
      padding-inline: clamp(8px, 1.2vw, 18px);
      border: 0;
      background: transparent;
    }
    .trust-bar__item,
    .trust-bar__item + .trust-bar__item {
      border: 1px solid rgba(210,182,117,.36);
      background: rgba(5,6,6,.48);
    }
    .trust-bar__item--badge {
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .trust-bar__badge {
      display: block;
      width: clamp(92px, 9vw, 118px);
      height: auto;
    }

    /* Revision v20: mobile miniature showcase carousel. */
    .stl-title--desktop,
    .stl-copy--desktop { display: none; }
    @media (max-width: 700px) {
      .legacy-tail .miniatures-mobile {
        display: flex;
        position: relative;
        width: 100%;
        min-height: 100svh;
        aspect-ratio: auto;
        flex-direction: column;
        align-items: center;
        overflow: visible;
        padding: clamp(48px, 12vw, 72px) 0 clamp(54px, 13vw, 78px);
        background: #020303 var(--cc-img-miniatures-carousel-background) center top / 100% 100% no-repeat;
        isolation: isolate;
      }
      .legacy-tail .stl-kicker,
      .legacy-tail .stl-divider,
      .legacy-tail .miniatures-mobile h2,
      .legacy-tail .miniatures-mobile p,
      .legacy-tail .stl-name,
      .legacy-tail .stl-button,
      .legacy-tail .stl-note {
        position: relative;
        inset: auto;
        z-index: 3;
      }
      .legacy-tail .stl-kicker {
        width: auto;
        color: #f1ece3;
        font: 500 clamp(12px, 3.4vw, 17px)/1 var(--body);
        letter-spacing: .28em;
      }
      .legacy-tail .stl-divider {
        width: min(58%, 280px);
        margin: 18px auto 22px;
      }
      .legacy-tail .stl-divider span { background: rgba(241,236,227,.82); }
      .legacy-tail .stl-divider i { background: #f1ece3; }
      .legacy-tail .miniatures-mobile h2 {
        width: min(90%, 430px);
        margin: 0;
        color: #f5efe7;
        font-size: clamp(39px, 11.6vw, 62px);
        line-height: .94;
        letter-spacing: -.02em;
      }
      .legacy-tail .miniatures-mobile p {
        width: min(84%, 410px);
        margin: 24px auto 6px;
        color: #ddd7cf;
        font-size: clamp(13px, 3.55vw, 17px);
        line-height: 1.55;
      }
      .stl-carousel {
        position: relative;
        z-index: 2;
        width: 100%;
        height: clamp(390px, 102vw, 540px);
        margin-top: 10px;
        touch-action: pan-y;
      }
      .stl-carousel__track { position: absolute; inset: 0; }
      .stl-carousel__slide {
        position: absolute;
        top: 50%;
        left: 50%;
        margin: 0;
        width: min(46vw, 230px);
        height: 100%;
        display: grid;
        place-items: center;
        opacity: 0;
        transform: translate(-50%, -50%) scale(.72);
        transition: transform .42s ease, opacity .42s ease, filter .42s ease;
        pointer-events: none;
      }
      .stl-carousel__slide img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        filter: drop-shadow(0 16px 18px rgba(0,0,0,.72));
      }
      .stl-carousel__slide.is-active {
        z-index: 3;
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
      }
      .stl-carousel__slide.is-prev,
      .stl-carousel__slide.is-next {
        z-index: 1;
        opacity: .28;
        filter: brightness(.45);
      }
      .stl-carousel__slide.is-prev { transform: translate(-155%, -48%) scale(.62); }
      .stl-carousel__slide.is-next { transform: translate(55%, -48%) scale(.62); }
      .stl-carousel__arrow {
        position: absolute;
        z-index: 5;
        top: 53%;
        width: 46px;
        height: 60px;
        border: 0;
        padding: 0;
        background: transparent;
        color: #fff;
        font: 300 50px/1 Arial, sans-serif;
        cursor: pointer;
      }
      .stl-carousel__arrow--prev { left: 3%; }
      .stl-carousel__arrow--next { right: 3%; }
      .stl-carousel__dots {
        position: relative;
        z-index: 4;
        display: flex;
        gap: 13px;
        justify-content: center;
        margin-top: -7px;
      }
      .stl-carousel__dot {
        width: 13px;
        height: 13px;
        border: 1px solid #f4efe7;
        border-radius: 50%;
        padding: 0;
        background: transparent;
      }
      .stl-carousel__dot[aria-current="true"] { background: #f4efe7; }
      .legacy-tail .stl-name {
        width: auto;
        margin: 26px auto 0;
        color: #f4eee6;
        font: 400 clamp(37px, 10vw, 54px)/1 var(--display);
        letter-spacing: .04em;
        text-transform: uppercase;
        transform: none;
      }
      .legacy-tail .stl-name::before,
      .legacy-tail .stl-name::after { content: "—  ◇  "; font-size: .34em; vertical-align: middle; }
      .legacy-tail .stl-name::after { content: "  ◇  —"; }
      .legacy-tail .stl-button {
        width: min(72%, 350px);
        height: auto;
        min-height: 58px;
        margin: 48px auto 0;
        border: 0;
        background: #d8ba76;
        color: #15120d;
        font-weight: 700;
        font-size: clamp(12px, 3.4vw, 16px);
        letter-spacing: .12em;
      }
      .legacy-tail .stl-note {
        width: min(78%, 380px);
        margin: 52px auto 0;
        color: #f1ece3;
        font-size: clamp(8px, 2.35vw, 11px);
        letter-spacing: .24em;
      }
      .legacy-tail .stl-note::before {
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        margin-bottom: 24px;
        background: linear-gradient(90deg, transparent, #eee 18%, #eee 45%, transparent 45%, transparent 55%, #eee 55%, #eee 82%, transparent);
      }
    }

    /* Revision v21: desktop miniature carousel composition. */
    @media (min-width: 701px) {
      .stl-title--mobile,
      .stl-copy--mobile { display: none; }
      .stl-title--desktop,
      .stl-copy--desktop { display: block; }
      .legacy-tail .miniatures-desktop { display: none; }
      .legacy-tail .miniatures {
        min-height: clamp(760px, 58vw, 960px);
        background: #020303;
      }
      .legacy-tail .miniatures-mobile {
        position: relative;
        display: grid;
        grid-template-columns: minmax(440px, 40%) minmax(0, 60%);
        grid-template-rows: auto auto auto auto auto 1fr auto auto;
        column-gap: clamp(42px, 5vw, 94px);
        width: min(1640px, calc(100% - 6vw));
        min-height: clamp(760px, 58vw, 960px);
        margin: 0 auto;
        padding: clamp(90px, 9vw, 150px) 0 clamp(64px, 6vw, 100px);
        overflow: hidden;
        background: transparent;
      }
      .legacy-tail .stl-kicker {
        position: relative;
        grid-column: 1;
        grid-row: 1;
        align-self: end;
        width: max-content;
        margin: 0 0 28px 74px;
        color: var(--tail-gold);
        font: 700 clamp(11px, .85vw, 14px)/1 var(--body);
        letter-spacing: .16em;
        text-transform: uppercase;
      }
      .legacy-tail .stl-kicker::before {
        content: "";
        position: absolute;
        top: 50%;
        right: calc(100% + 14px);
        width: 60px;
        height: 1px;
        background: var(--tail-gold);
      }
      .legacy-tail .stl-divider { display: none; }
      .legacy-tail .miniatures-mobile h2 {
        position: relative;
        grid-column: 1;
        grid-row: 2;
        width: min(100%, 620px);
        margin: 0 0 26px;
        color: #f4eee6;
        font: 400 clamp(62px, 5vw, 88px)/1.02 var(--display);
        letter-spacing: -.025em;
        text-align: left;
        text-transform: uppercase;
      }
      .legacy-tail .miniatures-mobile h2 {
        font-size: 0;
      }
      .legacy-tail .miniatures-mobile h2::before {
        content: "Bring\A Antallia to\A the table";
        display: block;
        white-space: pre-line;
        font: 400 clamp(62px, 5vw, 88px)/1.02 var(--display);
      }
      .legacy-tail .miniatures-mobile p {
        position: relative;
        grid-column: 1;
        grid-row: 3;
        width: min(100%, 520px);
        margin: 0 0 26px;
        color: #d8d1c7;
        font-size: clamp(15px, 1.05vw, 19px);
        line-height: 1.55;
        text-align: left;
      }
      .legacy-tail .miniatures-mobile p {
        font-size: 0;
      }
      .legacy-tail .miniatures-mobile p::before {
        content: "Print Dark Forest character miniatures at home.\A Animal folk heroes are ready for player\A characters, NPCs, and whatever the party meets\A next.";
        display: block;
        white-space: pre-line;
        font-size: clamp(15px, 1.05vw, 19px);
        line-height: 1.45;
      }
      .legacy-tail .stl-button {
        position: relative;
        grid-column: 1;
        grid-row: 4;
        width: min(222px, 100%);
        min-height: 58px;
        margin: 0;
        border: 1px solid #b98839;
        background: #070706;
        color: #f1ece3;
        font-weight: 700;
        font-size: 12px;
        letter-spacing: .055em;
      }
      .legacy-tail .stl-note {
        position: relative;
        grid-column: 1;
        grid-row: 5;
        width: auto;
        margin: 14px 0 0;
        color: #aaa198;
        font-size: 10px;
        letter-spacing: .14em;
        text-align: left;
        text-transform: uppercase;
      }
      .stl-carousel {
        position: relative;
        grid-column: 2;
        grid-row: 1 / 7;
        align-self: center;
        width: 100%;
        height: clamp(570px, 43vw, 710px);
        margin-bottom: 76px;
        padding-bottom: 96px;
        box-sizing: border-box;
        overflow: visible;
      }
      .stl-carousel__track { position: absolute; inset: 0; }
      .stl-carousel__slide {
        position: absolute;
        top: 50%;
        left: 50%;
        display: grid;
        place-items: center;
        width: min(31vw, 500px);
        height: calc(100% - 112px);
        margin: 0;
        opacity: 0;
        transform: translate(-50%, -50%) scale(.7);
        transition: transform .42s ease, opacity .42s ease, filter .42s ease;
        pointer-events: none;
      }
      .stl-carousel__slide img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        filter: drop-shadow(0 18px 22px rgba(0,0,0,.75));
      }
      .stl-carousel__slide.is-active {
        z-index: 3;
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
      }
      .stl-carousel__slide.is-prev,
      .stl-carousel__slide.is-next {
        z-index: 1;
        opacity: .3;
        filter: brightness(.43);
      }
      .stl-carousel__slide.is-prev {
        left: 0;
        transform: translate(0, -50%) scale(.56);
        transform-origin: left center;
      }
      .stl-carousel__slide.is-next {
        right: 0;
        left: auto;
        transform: translate(0, -50%) scale(.56);
        transform-origin: right center;
      }
      .stl-carousel__arrow {
        position: absolute;
        z-index: 5;
        top: 50%;
        width: 52px;
        height: 70px;
        border: 0;
        padding: 0;
        background: transparent;
        color: #fff;
        font: 300 54px/1 Arial, sans-serif;
        cursor: pointer;
      }
      .stl-carousel__arrow--prev { left: 26%; }
      .stl-carousel__arrow--next { right: 26%; }
      .stl-carousel__dots {
        position: relative;
        z-index: 4;
        grid-column: 2;
        grid-row: 7;
        display: flex;
        justify-content: center;
        gap: 14px;
        margin-top: 64px;
      }
      .stl-carousel__dot {
        width: 13px;
        height: 13px;
        border: 1px solid #f4efe7;
        border-radius: 50%;
        padding: 0;
        background: transparent;
        cursor: pointer;
      }
      .stl-carousel__dot[aria-current="true"] { background: #f4efe7; }
      .legacy-tail .stl-name {
        position: relative;
        grid-column: 2;
        grid-row: 8;
        width: auto;
        margin: 42px auto 0;
        color: #f4eee6;
        font: 400 clamp(38px, 3.5vw, 58px)/1 var(--display);
        letter-spacing: .04em;
        text-transform: uppercase;
        transform: none;
      }
      .legacy-tail .stl-name::before,
      .legacy-tail .stl-name::after { content: "—  ◇  "; font-size: .31em; vertical-align: middle; }
      .legacy-tail .stl-name::after { content: "  ◇  —"; }
    }

    /* Revision v22: locked desktop composition matched to the approved reference. */
    @media (min-width: 901px) {
      .legacy-tail .miniatures {
        height: clamp(760px, 48.4vw, 930px);
        min-height: 760px;
        overflow: hidden;
      }
      .legacy-tail .miniatures-mobile {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 0;
        margin: 0;
        padding: 0;
        overflow: hidden;
      }
      .legacy-tail .miniatures-mobile::after {
        display: none;
      }
      .legacy-tail .stl-kicker {
        position: absolute;
        z-index: 3;
        top: 20.7%;
        left: 12.3%;
        width: max-content;
        margin: 0;
      }
      .legacy-tail .stl-kicker::before { width: 60px; }
      .legacy-tail .miniatures-mobile h2 {
        position: absolute;
        z-index: 3;
        top: 25.5%;
        left: 8.4%;
        width: 29.5%;
        margin: 0;
      }
      .legacy-tail .miniatures-mobile h2::before {
        font-size: clamp(60px, 4.55vw, 86px);
        line-height: 1.02;
      }
      .legacy-tail .miniatures-mobile p {
        position: absolute;
        z-index: 3;
        top: 56.2%;
        left: 8.4%;
        width: min(28%, 520px);
        margin: 0;
      }
      .legacy-tail .miniatures-mobile p::before {
        font-size: clamp(14px, 1vw, 19px);
        line-height: 1.48;
      }
      .legacy-tail .stl-button {
        position: absolute;
        z-index: 3;
        top: 69.7%;
        left: 8.4%;
        width: 240px;
        min-height: 58px;
        margin: 0;
        border: 1px solid #b98839;
        background: #070706;
        color: #f1ece3;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .legacy-tail .stl-note {
        position: absolute;
        z-index: 3;
        top: 77.7%;
        left: 8.4%;
        width: auto;
        margin: 0;
      }
      .stl-carousel {
        position: absolute;
        z-index: 2;
        top: 5.2%;
        left: 39.5%;
        width: 56.5%;
        height: 70.8%;
        margin: 0;
        padding: 0;
        overflow: hidden;
      }
      .stl-carousel__slide {
        top: auto;
        bottom: 0;
        right: auto;
        width: 34%;
        height: 100%;
        transform: translateX(-50%) scale(.7);
        transform-origin: bottom center;
        transition: left .42s ease, bottom .42s ease, transform .42s ease, opacity .42s ease, filter .42s ease;
      }
      .stl-carousel__slide.is-active {
        transform: translateX(-50%) scale(1);
        transform-origin: bottom center;
      }
      .stl-carousel__slide.is-prev {
        left: 12%;
        right: auto;
        bottom: 17%;
        transform: translateX(-50%) scale(.56);
        transform-origin: bottom center;
      }
      .stl-carousel__slide.is-next {
        left: 88%;
        right: auto;
        bottom: 17%;
        transform: translateX(-50%) scale(.56);
        transform-origin: bottom center;
      }
      .stl-carousel__arrow { top: 54%; }
      .stl-carousel__arrow--prev { left: 27%; }
      .stl-carousel__arrow--next { right: 27%; }
      .stl-carousel__dots {
        position: absolute;
        z-index: 4;
        top: 82.2%;
        left: 62.2%;
        width: 15.5%;
        margin: 0;
      }
      .legacy-tail .stl-name {
        position: absolute;
        z-index: 4;
        top: 87.4%;
        left: 61.2%;
        width: 17.5%;
        margin: 0;
        text-align: center;
      }
    }

    /* How you play: the three step plates from the product page, folded into the landing page. */
    .how-you-play { padding: 84px max(28px,calc((100vw - 1480px)/2 + 48px)) 92px; background: #050505; border-bottom: 1px solid rgba(210,182,117,.28); }
    .how-you-play__heading { max-width: 1280px; margin: 0 auto 38px; text-align: center; }
    .how-you-play__heading > span { display: block; color: var(--gold-light); font-size: .75rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
    .how-you-play__heading h2 { margin: .18em 0 0; font-family: var(--display); font-weight: 400; font-size: clamp(3.6rem, 5.2vw, 6rem); line-height: .92; text-transform: uppercase; color: #f4f1e9; }
    .how-you-play__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(22px, 3vw, 44px); max-width: 1280px; margin: 0 auto; padding: 0; list-style: none; }
    .how-you-play__step { position: relative; margin: 0; } /* keeps the sr-only copy anchored inside the scroller; unanchored it widened the document and let iOS zoom out */
    .how-you-play__step img { display: block; width: 100%; height: auto; filter: drop-shadow(0 22px 34px rgba(0,0,0,.6)); transition: transform .25s ease; }
    .how-you-play__step:nth-child(1) img { transform: rotate(-1.4deg); }
    .how-you-play__step:nth-child(2) img { transform: rotate(.9deg) translateY(10px); }
    .how-you-play__step:nth-child(3) img { transform: rotate(-.7deg); }
    .how-you-play__step:hover img { transform: rotate(0) scale(1.025); }
    @media (max-width: 900px) {
      .how-you-play { padding: 56px 0 60px; }
      .how-you-play__heading { padding: 0 18px; margin-bottom: 22px; }
      .how-you-play__heading h2 { font-size: clamp(2.7rem, 10.5vw, 3.9rem); }
      .how-you-play__steps { display: flex; gap: 14px; padding: 8px 18px 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
      .how-you-play__steps::-webkit-scrollbar { display: none; }
      .how-you-play__step { flex: 0 0 80vw; max-width: 360px; scroll-snap-align: center; }
      .how-you-play__step:nth-child(n) img { transform: none; }
    }
    @media (prefers-reduced-motion: reduce) { .how-you-play__step img { transition: none; } }
    /* Revision v23: launch-ready commerce shell, product links, and email flyout. */
    :where(.cc-home) .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

    :where(.cc-home) .cart-count {
      position: absolute;
      top: 2px;
      right: 0;
      min-width: 17px;
      height: 17px;
      display: inline-grid;
      place-items: center;
      margin: 0;
      border-radius: 50%;
      background: var(--gold-light);
      color: #111;
      font-size: 9px;
      font-weight: 900;
    }
    :where(.cc-home) .cart-count[hidden] { display: none; }
    :where(.cc-home) .commerce-scrim {
      position: fixed;
      z-index: 80;
      inset: 0;
      background: rgba(0,0,0,.62);
      opacity: 0;
      visibility: hidden;
      transition: opacity .28s ease, visibility .28s ease;
    }
    :where(.cc-home) .commerce-scrim.is-open { opacity: 1; visibility: visible; }
    :where(.cc-home) .cart-drawer {
      position: fixed;
      z-index: 90;
      top: 0;
      right: 0;
      width: min(430px, 100%);
      height: 100dvh;
      display: flex;
      flex-direction: column;
      padding: 28px;
      border-left: 1px solid rgba(210,182,117,.32);
      background: #090a09;
      color: #f4eee6;
      transform: translateX(102%);
      transition: transform .34s cubic-bezier(.22,.8,.24,1);
    }
    :where(.cc-home) .cart-drawer.is-open { transform: translateX(0); }
    :where(.cc-home) .cart-drawer__header { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(210,182,117,.24); padding-bottom: 18px; }
    :where(.cc-home) .cart-drawer__header h2 { margin: 0; font: 400 34px/1 var(--display); text-transform: uppercase; }
    :where(.cc-home) .cart-drawer__close { width: 42px; height: 42px; border: 1px solid rgba(245,243,237,.22); background: transparent; color: #fff; font-size: 25px; cursor: pointer; }
    :where(.cc-home) .cart-drawer__status { margin: 16px 0 0; padding: 11px 13px; border: 1px solid rgba(210,182,117,.28); color: #d2b675; font-size: 11px; line-height: 1.45; letter-spacing: .06em; text-transform: uppercase; }
    :where(.cc-home) .cart-items { display: grid; gap: 14px; margin: 22px 0; overflow: auto; }
    :where(.cc-home) .cart-empty { color: rgba(245,243,237,.62); }
    :where(.cc-home) .cart-item { display: grid; grid-template-columns: 68px 1fr auto; gap: 13px; align-items: center; padding-bottom: 14px; border-bottom: 1px solid rgba(245,243,237,.11); }
    :where(.cc-home) .cart-item img { width: 68px; height: 68px; object-fit: contain; background: rgba(255,255,255,.035); }
    :where(.cc-home) .cart-item strong { display: block; font-size: 13px; text-transform: uppercase; }
    :where(.cc-home) .cart-item small { color: rgba(245,243,237,.58); }
    :where(.cc-home) .cart-item button { border: 0; background: transparent; color: #c5a664; cursor: pointer; }
    :where(.cc-home) .cart-drawer__footer { margin-top: auto; border-top: 1px solid rgba(210,182,117,.24); padding-top: 20px; }
    :where(.cc-home) .cart-subtotal { display: flex; justify-content: space-between; margin: 0 0 18px; font-weight: 800; text-transform: uppercase; }
    :where(.cc-home) .checkout-preview { width: 100%; min-height: 58px; border: 0; background: #d8ba76; color: #15120d; font: 800 12px/1 var(--body); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
    :where(.cc-home) .checkout-message { min-height: 2.8em; margin: 12px 0 0; color: rgba(245,243,237,.62); font-size: 11px; line-height: 1.4; }
    :where(.cc-home) .email-flyout {
      position: fixed;
      z-index: 70;
      right: 24px;
      bottom: 24px;
      width: min(390px, calc(100vw - 48px));
      padding: 25px;
      border: 1px solid rgba(210,182,117,.46);
      background: #0a0b0a;
      color: #f4eee6;
      box-shadow: 0 18px 60px rgba(0,0,0,.55);
      opacity: 0;
      transform: translateY(22px);
      visibility: hidden;
      transition: opacity .32s ease, transform .32s ease, visibility .32s ease;
    }
    :where(.cc-home) .email-flyout.is-open { opacity: 1; transform: translateY(0); visibility: visible; }
    :where(.cc-home) .email-flyout__close { position: absolute; top: 9px; right: 10px; border: 0; background: transparent; color: #aaa198; font-size: 22px; cursor: pointer; }
    :where(.cc-home) .email-flyout__eyebrow { margin: 0 0 8px; color: var(--gold-light); font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
    :where(.cc-home) .email-flyout h2 { margin: 0; font: 400 34px/1 var(--display); text-transform: uppercase; }
    :where(.cc-home) .email-flyout__copy { margin: 12px 0 17px; color: rgba(245,243,237,.7); font-size: 13px; line-height: 1.5; }
    :where(.cc-home) .email-flyout form { display: grid; grid-template-columns: 1fr auto; }
    :where(.cc-home) .email-flyout input { min-width: 0; height: 48px; padding: 0 13px; border: 1px solid rgba(245,243,237,.24); border-right: 0; background: #050505; color: #fff; font: inherit; }
    :where(.cc-home) .email-flyout button[type="submit"] { min-width: 112px; border: 0; background: #d8ba76; color: #15120d; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
    :where(.cc-home) .email-flyout__message { min-height: 1.4em; margin: 10px 0 0; color: #bda46d; font-size: 11px; }

    /* Blend adjacent solid dark sections into one visual field. */
    .world-intro,
    .craftsmanship,
    .feature-human,
    .legacy-tail .feature,
    .legacy-tail .miniatures,
    .legacy-tail .faq,
    .legacy-footer { background-color: #050505; }

    @media (max-width: 700px) {
      :where(.cc-home) .cart-drawer { width: 100%; padding: 22px 18px; }
      :where(.cc-home) .email-flyout { right: 12px; bottom: 12px; width: calc(100vw - 24px); padding: 22px 18px; }
      :where(.cc-home) .email-flyout form { grid-template-columns: 1fr; gap: 8px; }
      :where(.cc-home) .email-flyout input { border-right: 1px solid rgba(245,243,237,.24); }
      :where(.cc-home) .email-flyout button[type="submit"] { min-height: 46px; }
    }
    @media (max-width: 767px) {
      .purchase-info__copy {
        padding-bottom: 0;
        border-bottom: 0;
      }
    }

    /* Revision v24: prevent hero CTA overlap and product-stage clipping. */
    .purchase-stage {
      height: auto;
      min-height: max(700px, 100svh);
      overflow: visible;
      overflow-x: clip; /* the torn strip bleeds 1% past each edge on purpose; clip only the horizontal axis so it never widens the page */
    }
    @media (max-width: 767px) {
      .hero {
        min-height: max(820px, 100svh);
      }
      :where(.cc-home) .hero .eyebrow {
        gap: 0;
      }
      :where(.cc-home) .hero .eyebrow::before {
        display: none;
      }
      .hero-copy {
        margin-left: 0;
        padding: 0;
        background: transparent;
      }
      .hero__content {
        padding-bottom: 150px;
      }
      .scroll-cue:not(.scroll-cue--mobile) { display: none; }
      .scroll-cue--mobile {
        position: relative;
        left: auto;
        top: auto;
        bottom: auto;
        display: grid;
        width: max-content;
        margin-top: 56px;
      }
      .purchase-stage {
        min-height: 0;
        padding-bottom: 132px;
      }
    }
    @media (min-width: 768px) {
      .scroll-cue--desktop { display: none; }
      .scroll-cue--mobile {
        position: relative;
        left: auto;
        top: auto;
        bottom: auto;
        display: grid;
        width: max-content;
        margin-top: 48px;
      }
    }

    /* Revision v25: seamless class-to-danger chapter transition. */
    .legacy-tail .feature-danger {
      border-top: 1px solid rgba(210,182,117,.42);
      box-shadow: inset 0 16px 34px rgba(210,182,117,.035);
    }
    .legacy-tail .feature-danger::before {
      content: "";
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      right: 0;
      height: clamp(90px, 8vw, 145px);
      background: linear-gradient(180deg, rgba(210,182,117,.09) 0, #080908 2px, rgba(8,9,8,.88) 24%, rgba(8,9,8,.4) 62%, transparent 100%);
      pointer-events: none;
    }
    @media (max-width: 700px) {
      .legacy-tail .feature-danger::before {
        height: 82px;
        background: linear-gradient(180deg, rgba(210,182,117,.1) 0, #080908 2px, rgba(8,9,8,.78) 32%, transparent 100%);
      }
    }

    /* Revision v26: reliable hero-title fill across Windows browsers. */
    .hero-title {
      background: none;
      color: #f1eee7;
      -webkit-text-fill-color: #f1eee7;
      text-shadow: 1px 1px 0 rgba(255,255,255,.12), 2px 3px 0 rgba(0,0,0,.78);
    }

    /* Revision v27: remove the oversized hero/catalog spacer on tablet windows. */
    @media (min-width: 701px) and (max-width: 980px) {
      .catalog-flow {
        margin-top: 0;
        padding-top: 0;
      }
    }

    /* ---- Hero offer add-ons, cart progress and cart recommendations ---- */
    .offer-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .purchase-links { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 18px 0 0; }
    :where(.cc-home) .addon-box { display: block; margin: 24px 0 0; border: 1px solid rgba(210,182,117,.3); background: linear-gradient(160deg, rgba(24,25,24,.9), rgba(8,9,9,.94)); }
    :where(.cc-home) .addon-box__head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 18px; cursor: pointer; list-style: none; }
    :where(.cc-home) .addon-box__head::-webkit-details-marker { display: none; }
    :where(.cc-home) .addon-box__head:hover .addon-box__marker { border-color: var(--gold-light); background: rgba(210,182,117,.1); }
    :where(.cc-home) .addon-box__copy { min-width: 0; }
    :where(.cc-home) .addon-box__title { display: block; font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--white); }
    :where(.cc-home) .addon-box__sub { display: block; margin-top: 5px; color: var(--muted); font-size: 12.5px; line-height: 1.35; }
    :where(.cc-home) .addon-box__marker { flex: none; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(210,182,117,.3); color: var(--gold-light); font-size: 16px; line-height: 1; transition: border-color .2s ease, background .2s ease; }
    :where(.cc-home) .addon-box__marker::before { content: "+"; }
    :where(.cc-home) .addon-box[open] .addon-box__marker::before { content: "\2212"; }
    :where(.cc-home) .addon-list { display: grid; gap: 7px; padding: 0 14px 14px; }
    :where(.cc-home) .addon { display: grid; grid-template-columns: 19px 44px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid rgba(245,243,237,.1); background: rgba(255,255,255,.015); cursor: pointer; transition: border-color .2s ease, background .2s ease; }
    :where(.cc-home) .addon:hover { border-color: rgba(210,182,117,.3); background: rgba(210,182,117,.05); }
    :where(.cc-home) .addon:has(.addon__box:checked) { border-color: var(--gold-light); background: rgba(210,182,117,.09); }
    :where(.cc-home) .addon__box { width: 18px; height: 18px; accent-color: var(--gold-light); cursor: pointer; }
    :where(.cc-home) .addon__art { width: 44px; height: 44px; object-fit: contain; background: #0e0f0f; border: 1px solid rgba(245,243,237,.08); }
    :where(.cc-home) .addon__copy { display: grid; gap: 3px; min-width: 0; }
    :where(.cc-home) .addon__name { font-size: 12.5px; font-weight: 700; letter-spacing: .03em; }
    :where(.cc-home) .addon__note { color: var(--muted); font-size: 11px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    :where(.cc-home) .addon__price { color: var(--gold-light); font-size: 13.5px; font-weight: 700; white-space: nowrap; }
    :where(.cc-home) .addons__total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 14px 0 0; padding: 13px 2px 0; border-top: 1px solid rgba(245,243,237,.14); }
    :where(.cc-home) .addons__total span { color: var(--muted); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
    :where(.cc-home) .addons__total b { font-family: var(--display); font-size: 27px; font-weight: 400; color: var(--gold-light); }

    :where(.cc-home) .cart-progress { display: grid; gap: 12px; margin: 16px 0 2px; }
    :where(.cc-home) .cart-tier__label { margin: 0 0 7px; color: var(--muted); font-size: 12px; }
    :where(.cc-home) .cart-tier__label b { color: var(--gold-light); }
    :where(.cc-home) .cart-tier.is-earned .cart-tier__label { color: var(--gold-light); }
    :where(.cc-home) .cart-tier__tick { font-weight: 900; }
    :where(.cc-home) .cart-tier__track { height: 4px; background: rgba(245,243,237,.12); overflow: hidden; }
    :where(.cc-home) .cart-tier__fill { display: block; height: 100%; background: linear-gradient(90deg, var(--gold-dark), var(--gold-light)); transition: width .4s var(--ease-out); }

    :where(.cc-home) .cart-item { grid-template-columns: 64px minmax(0,1fr) auto; }
    :where(.cc-home) .cart-item img { width: 64px; height: 64px; }
    :where(.cc-home) .cart-item__copy { min-width: 0; }
    :where(.cc-home) .cart-item__copy strong { display: block; font-size: 12.5px; letter-spacing: .03em; text-transform: uppercase; }
    :where(.cc-home) .cart-item__copy small { color: rgba(245,243,237,.56); font-size: 12px; }
    :where(.cc-home) .cart-item__side { display: grid; gap: 6px; justify-items: end; }
    :where(.cc-home) .cart-item__qty { display: grid; grid-template-columns: repeat(3, 26px); align-items: center; border: 1px solid rgba(245,243,237,.16); }
    :where(.cc-home) .cart-item__qty button { height: 26px; border: 0; background: transparent; color: var(--white); font-size: 14px; cursor: pointer; }
    :where(.cc-home) .cart-item__qty output { display: grid; place-items: center; font-size: 12px; }
    :where(.cc-home) .cart-item__remove { border: 0; background: transparent; color: rgba(245,243,237,.5); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
    :where(.cc-home) .cart-item__remove:hover { color: var(--gold-light); }
    :where(.cc-home) .cart-item__free { padding: 5px 10px; border: 1px solid rgba(210,182,117,.3); color: var(--gold-light); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

    :where(.cc-home) .cart-recs { margin: 2px 0 12px; padding-top: 14px; border-top: 1px solid rgba(245,243,237,.14); }
    :where(.cc-home) .cart-recs__title { margin: 0 0 11px; font-family: var(--body); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
    :where(.cc-home) .cart-recs__list { display: grid; gap: 8px; }
    :where(.cc-home) .cart-rec { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 9px 10px; border: 1px solid rgba(245,243,237,.1); background: rgba(255,255,255,.02); }
    :where(.cc-home) .cart-rec img { width: 44px; height: 44px; object-fit: contain; background: #111; }
    :where(.cc-home) .cart-rec__copy { min-width: 0; }
    :where(.cc-home) .cart-rec__copy strong { display: block; font-size: 12px; letter-spacing: .03em; }
    :where(.cc-home) .cart-rec__copy small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: rgba(245,243,237,.54); font-size: 11px; line-height: 1.35; }
    :where(.cc-home) .cart-rec__add { padding: 9px 12px; border: 1px solid rgba(210,182,117,.3); background: transparent; color: var(--gold-light); font-size: 11px; font-weight: 700; white-space: nowrap; cursor: pointer; }
    :where(.cc-home) .cart-rec__add:hover { background: var(--gold-light); color: #111; }
    :where(.cc-home) .cart-ship-note { margin: 0 0 12px; color: rgba(245,243,237,.5); font-size: 12px; }
    :where(.cc-home) .cart-subtotal { margin-bottom: 4px; }
    :where(.cc-home) .cart-subtotal span:last-child { font-family: var(--display); font-size: 26px; font-weight: 400; color: var(--gold-light); }

    :where(.cc-home) .email-tab { position: fixed; z-index: 125; left: 0; bottom: 78px; padding: 11px 14px; border: 1px solid rgba(210,182,117,.3); border-left: 0; background: #0b0c0a; color: var(--gold-light); font: 700 10px/1 var(--body); letter-spacing: .16em; text-transform: uppercase; writing-mode: vertical-rl; cursor: pointer; }

    @media (max-width: 700px) {
      .offer-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
      .offer-tab { padding: 13px 2px 11px; }
      .offer-tab__name { font-size: 8.5px; letter-spacing: .02em; }
      .offer-tab__price { font-size: 15px; }
      .offer-tab__compare { display: none; }
      :where(.cc-home) .addon-box { margin-top: 20px; }
      :where(.cc-home) .addon-box__head { padding: 14px 15px; }
      :where(.cc-home) .addon-box__title { font-size: 11px; letter-spacing: .1em; }
      :where(.cc-home) .addon-box__sub { font-size: 12px; }
      :where(.cc-home) .addon-list { padding: 0 11px 11px; }
      .included { margin-top: 20px; padding: 18px 16px; }
      :where(.cc-home) .addon { grid-template-columns: 18px 38px minmax(0,1fr) auto; gap: 9px; padding: 9px 10px; }
      :where(.cc-home) .addon__art { width: 38px; height: 38px; }
      :where(.cc-home) .addon__name { font-size: 12px; }
      :where(.cc-home) .addon__note { -webkit-line-clamp: 2; font-size: 10.5px; }
      .purchase-links { gap: 8px 16px; }
      :where(.cc-home) .email-tab { bottom: 96px; }
    }

    /* Revision v28: desktop homepage surgical pass. */
    :where(.cc-home) .eyebrow::before,
    .legacy-tail .stl-kicker::before { display:none !important; content:none !important; }
    .world-copy h2 > span,
    .legacy-tail .gm-copy h2 > span { display:block; }

    .purchase-add,.shop-explore-link,.offer-tab,.secondary-button,.stl-button,.final-journey__action,:where(.cc-home) .email-tab,:where(.cc-home) .checkout-preview,:where(.cc-home) .cart-rec__add,:where(.cc-home) .email-flyout button[type="submit"],:where(.cc-home) .addon-box__head,.quantity-control button,.stl-carousel__arrow,.stl-carousel__dot {
      transition:transform .22s var(--ease-out),border-color .22s ease,background-color .22s ease,color .22s ease,box-shadow .22s ease,filter .22s ease;
    }
    .purchase-add:hover,.purchase-add:focus-visible,.secondary-button:hover,.secondary-button:focus-visible,.stl-button:hover,.stl-button:focus-visible,:where(.cc-home) .checkout-preview:hover,:where(.cc-home) .checkout-preview:focus-visible,:where(.cc-home) .email-flyout button[type="submit"]:hover,:where(.cc-home) .email-flyout button[type="submit"]:focus-visible {
      transform:translateY(-2px); filter:brightness(1.06); box-shadow:0 12px 28px rgba(0,0,0,.24);
    }
    .offer-tab:hover,.offer-tab:focus-visible,.shop-explore-link--button:hover,.shop-explore-link--button:focus-visible,:where(.cc-home) .cart-rec__add:hover,:where(.cc-home) .cart-rec__add:focus-visible,:where(.cc-home) .email-tab:hover,:where(.cc-home) .email-tab:focus-visible {
      transform:translateY(-2px); border-color:var(--gold-light); box-shadow:0 10px 24px rgba(0,0,0,.18);
    }
    .shop-explore-link--text:hover,.shop-explore-link--text:focus-visible { color:var(--gold-light); text-underline-offset:6px; }
    .quantity-control button:hover,.quantity-control button:focus-visible,.stl-carousel__arrow:hover,.stl-carousel__arrow:focus-visible { color:var(--gold-light); transform:scale(1.08); }
    .stl-carousel__dot:hover,.stl-carousel__dot:focus-visible { background:rgba(210,182,117,.38); border-color:var(--gold-light); transform:scale(1.12); }

    :where(.cc-home) .email-tab { left:auto !important; right:0; border-left:1px solid rgba(210,182,117,.3); border-right:0; writing-mode:vertical-rl; }

    .trust-bar__grid {
      position:relative; border-block:0 !important;
      background:linear-gradient(150deg,rgba(24,26,25,.68),rgba(8,9,9,.82)) padding-box;
    }
    .trust-bar__grid::before,.trust-bar__grid::after {
      content:""; display:block !important; position:absolute; left:0; right:0; height:1px; pointer-events:none;
      background:linear-gradient(90deg,rgba(216,189,127,.14),rgba(216,189,127,.46) 22%,rgba(112,86,50,.24) 52%,rgba(200,169,104,.4) 78%,rgba(200,169,104,.12));
    }
    .trust-bar__grid::before { top:0; }
    .trust-bar__grid::after { bottom:0; }
    .trust-bar__item { border:0 !important; position:relative; }
    .trust-bar__item + .trust-bar__item::after {
      content:""; position:absolute; left:0; top:22%; bottom:22%; width:1px;
      background:linear-gradient(180deg,transparent,rgba(216,189,127,.38) 22%,rgba(112,86,50,.24) 72%,transparent);
    }
    .trust-bar__icon--badge { object-fit:contain; filter:grayscale(.15) sepia(.1) brightness(1.02); }
    .trust-bar__item--badge .trust-bar__primary { font-size:clamp(16px,1.25vw,22px); }

    @media (min-width:901px) {
      .purchase-stage {
        min-height:100svh; padding:clamp(110px,8vw,148px) clamp(28px,4vw,72px) clamp(118px,8vw,150px); border-bottom:0;
      }
      .purchase-stage__inner {
        width:min(1520px,100%); grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(54px,5vw,88px); align-items:start;
      }
      .purchase-visual,.purchase-info { width:100%; min-width:0; align-self:start !important; transform:none !important; }
      .purchase-visual__frame { width:100%; max-width:none; margin:0; }
      .purchase-info { padding-top:0; }
      .purchase-info__eyebrow { display:none; }
      .purchase-info__title { max-width:none; margin-top:0; font-size:clamp(52px,4.55vw,84px); line-height:.92; }
      .purchase-info__copy { max-width:62ch; margin-top:22px; }

      .offer-tabs { width:100%; margin:18px 0 0; gap:8px; }
      .offer-tab {
        min-height:72px; padding:15px 10px 13px; border:1px solid transparent;
        background:linear-gradient(150deg,rgba(24,26,25,.84),rgba(8,9,9,.92)) padding-box,
                   linear-gradient(135deg,rgba(216,189,127,.28),rgba(112,86,50,.14) 50%,rgba(200,169,104,.24)) border-box;
        box-shadow:inset 0 0 0 3px rgba(0,0,0,.28);
      }
      .offer-tab[aria-selected="true"] {
        border-color:transparent;
        background:linear-gradient(150deg,rgba(37,34,25,.92),rgba(10,10,9,.96)) padding-box,
                   linear-gradient(135deg,rgba(232,204,142,.7),rgba(112,86,50,.28) 50%,rgba(210,177,110,.58)) border-box;
      }
      .offer-tab__name { font-size:clamp(10px,.72vw,12px); letter-spacing:.055em; }

      .included { margin-top:16px; padding:18px 20px 16px; border:1px solid rgba(210,182,117,.22); background:rgba(5,6,6,.5); }
      .included h3 { margin:0 0 12px; font-family:var(--body); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-light); }
      .included ul { margin:0; padding:0; list-style:none; }
      .included li { position:relative; padding-left:14px; color:rgba(245,243,237,.78); font-size:13px; line-height:1.5; }
      .included li + li { margin-top:7px; }
      .included li::before { content:"•"; position:absolute; left:0; color:var(--gold-light); }
      .included-more { margin-top:10px; border-top:1px solid rgba(210,182,117,.16); padding-top:10px; }
      .included-more[hidden] { display:none; }
      .included-more summary { width:max-content; color:var(--gold-light); cursor:pointer; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; list-style:none; }
      .included-more summary::-webkit-details-marker { display:none; }
      .included-more summary::after { content:" +"; }
      .included-more[open] summary::after { content:" −"; }
      .included-more ul { margin-top:9px; }

      .purchase-meta {
        width:100%; max-width:none; display:grid; grid-template-columns:minmax(150px,auto) 126px minmax(180px,1fr);
        align-items:end; gap:16px; margin:28px 0 22px;
      }
      .purchase-info__price { white-space:nowrap; }
      .purchase-meta .quantity-control { align-self:end; min-height:56px; }
      .purchase-rating { align-self:end; justify-self:end; margin:0; padding:0 0 4px; }

      :where(.cc-home) .addon-box { margin:0; border:0; background:transparent; }
      :where(.cc-home) .addon-box__head { min-height:58px; padding:13px 16px; border:1px solid rgba(210,182,117,.28); background:linear-gradient(150deg,rgba(24,26,25,.7),rgba(8,9,9,.8)); }
      :where(.cc-home) .addon-box__title { font-size:11px; letter-spacing:.15em; }
      :where(.cc-home) .addon-box__sub { margin-top:3px; font-size:12px; }
      :where(.cc-home) .addon-list { gap:0; padding:6px 0 0; }
      :where(.cc-home) .addon {
        position:relative; grid-template-columns:56px minmax(0,1fr) auto; gap:13px; padding:11px 0;
        border:0; border-bottom:1px solid rgba(245,243,237,.09); background:transparent;
      }
      :where(.cc-home) .addon:last-child { border-bottom:0; }
      :where(.cc-home) .addon:hover,:where(.cc-home) .addon:has(.addon__box:checked) { border-color:rgba(210,182,117,.2); background:linear-gradient(90deg,rgba(210,182,117,.055),transparent 72%); }
      :where(.cc-home) .addon__box { position:absolute; z-index:2; left:36px; bottom:10px; width:16px; height:16px; margin:0; }
      :where(.cc-home) .addon__art { grid-column:1; width:56px; height:56px; }
      :where(.cc-home) .addon__copy { grid-column:2; }
      :where(.cc-home) .addon__price { grid-column:3; align-self:center; font-size:14px; }

      :where(.cc-home) .addons__total { margin-top:10px; padding-top:14px; }
      .purchase-add { width:100%; min-height:58px; margin-top:18px; }
      .purchase-reassurance { display:block; max-width:none; margin:13px 0 0; text-align:left; }
      .purchase-reassurance__shipping { white-space:nowrap; }

      .purchase-links { display:grid; grid-template-columns:minmax(210px,.9fr) minmax(0,1.1fr); align-items:center; gap:18px; width:100%; margin-top:18px; }
      .shop-explore-link { min-height:50px; margin:0; }
      .shop-explore-link--button { display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(210,182,117,.48); background:transparent; color:var(--gold-light); text-decoration:none; }
      .shop-explore-link--button:hover,.shop-explore-link--button:focus-visible { background:rgba(210,182,117,.08); color:var(--white); }
      .shop-explore-link--text { min-height:auto; width:max-content; justify-self:start; padding:0; border:0; background:transparent; color:rgba(245,243,237,.8); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }

      .purchase-stage::after {
        content:""; position:absolute; z-index:4; left:0; right:0; bottom:-1px; height:150px; pointer-events:none;
        background:linear-gradient(180deg,rgba(5,5,5,0),rgba(5,5,5,.58) 52%,#050505 100%);
      }
      .torn-section-divider { z-index:5; opacity:.55; mix-blend-mode:screen; }
      .world-intro { margin-top:-2px; }
      .world-intro::before {
        content:""; position:absolute; z-index:1; left:0; right:0; top:0; height:132px; pointer-events:none;
        background:linear-gradient(180deg,#050505 0%,rgba(5,5,5,.72) 48%,transparent 100%);
      }

      .world-main,.world-gallery { width:min(860px,47vw); }
      .world-copy h2 { max-width:none; width:100%; font-size:clamp(58px,5.15vw,96px); line-height:.92; }
      .world-copy h2 > span { display:block; white-space:nowrap; }
      .world-copy p { max-width:none; width:100%; margin-top:20px; font-size:clamp(15px,1.03vw,18px); line-height:1.62; }
      .world-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin-top:32px; }
      .world-gallery figure { overflow:hidden; border:1px solid rgba(202,149,76,.3); }
      .world-gallery img { width:100%; aspect-ratio:1/1; object-fit:contain; background:#030303; }
      .world-gallery figcaption { padding:12px 12px 14px; }

      .legacy-tail .miniatures,.legacy-tail .miniatures-mobile { overflow:hidden; }
      .stl-carousel { top:3.8%; height:73%; overflow:visible; }
      .stl-carousel__slide { bottom:5%; width:32%; height:90%; }
      .stl-carousel__slide img { max-width:100%; max-height:100%; object-fit:contain; object-position:center bottom; }
      .stl-carousel__slide.is-prev,.stl-carousel__slide.is-next { bottom:12%; }
      .stl-carousel__dots { top:80.8%; }
      .legacy-tail .stl-name { top:86.2%; }

      .legacy-tail .gm-copy h2 { max-width:760px; font-size:clamp(54px,4.35vw,82px); line-height:.94; }
      .legacy-tail .gm-copy h2 > span { display:block; white-space:nowrap; }
    }

    @media (max-width:900px) {
      .purchase-add { order:7; width:100%; }
      .purchase-reassurance { order:8; width:100%; }
      .addon-host { order:9; width:100%; }
      :where(.cc-home) .addons__total { order:10; width:100%; }
      .included { order:11; width:100%; }
      .purchase-links { order:12; width:100%; }
      .included-more summary { color:var(--gold-light); cursor:pointer; }
      .included-more[hidden] { display:none; }
    }



    /* Revision v29: desktop surgical follow-up */
    @media (min-width: 901px) {
      .trust-bar__grid {
        background: linear-gradient(150deg, rgba(16,18,18,.72), rgba(8,9,9,.84));
        border-top: 1px solid rgba(210,182,117,.22);
        border-bottom: 1px solid rgba(210,182,117,.22);
      }
      .trust-bar__grid::before,
      .trust-bar__grid::after,
      .trust-bar__item::before { display: none !important; content: none !important; }
      .trust-bar__item {
        min-height: 102px;
        padding: 22px clamp(24px, 3vw, 42px);
        background: transparent !important;
        justify-content: center;
      }
      .trust-bar__item + .trust-bar__item::after {
        top: 18%;
        bottom: 18%;
        width: 1px;
        background: linear-gradient(180deg, transparent, rgba(210,182,117,.38) 18%, rgba(210,182,117,.38) 82%, transparent);
      }
      .trust-bar__icon { width: 36px; height: 36px; margin-bottom: 9px; }
      .trust-bar__icon--badge { width: 40px; height: 40px; }
      .trust-bar__primary { font-size: clamp(20px, 1.7vw, 28px); }
      .trust-bar__label { font-size: 11px; letter-spacing: .12em; }
      .trust-bar__item--badge .trust-bar__primary {
        font-family: var(--body);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .18em;
        line-height: 1.35;
        text-transform: uppercase;
      }

      .purchase-stage::before {
        background-position: center center;
        background-size: cover;
      }
      .purchase-reassurance {
        display: grid;
        grid-template-columns: repeat(2, max-content);
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        max-width: none;
        margin-top: 14px;
        font-size: 12px;
        letter-spacing: .12em;
      }
      .purchase-reassurance__returns {
        display: block;
        text-align: right;
        color: rgba(245,243,237,.76);
      }
      .purchase-links {
        grid-template-columns: minmax(310px, 360px) minmax(0, 1fr);
        gap: 18px 22px;
      }
      .shop-explore-link--button { width: 100%; }
      .shop-explore-link--text {
        justify-self: end;
        text-align: right;
        background: transparent !important;
        border: 0 !important;
      }
      .shop-explore-link--text:hover,
      .shop-explore-link--text:focus-visible {
        background: transparent !important;
        border-color: transparent !important;
        box-shadow: none !important;
        color: var(--gold-light) !important;
      }

      .included {
        position: relative;
        overflow: visible;
      }
      .included__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
      }
      .included h3 { margin: 0; }
      .included > ul { margin-top: 12px; }
      .included-more {
        margin: 0 0 0 auto;
        padding: 0;
        border: 0;
        position: relative;
        flex: 0 0 auto;
      }
      .included-more summary {
        width: auto;
        white-space: nowrap;
      }
      .included-more summary::after { content: " +"; }
      .included-more[open] summary::after { content: " −"; }
      .included-more ul {
        position: absolute;
        top: calc(100% + 10px);
        right: 0;
        min-width: 280px;
        max-width: min(340px, 52vw);
        margin-top: 0;
        padding: 12px 14px;
        border: 1px solid rgba(210,182,117,.22);
        background: rgba(5,6,6,.96);
        box-shadow: 0 18px 34px rgba(0,0,0,.38);
        z-index: 4;
      }

      .purchase-stage::after {
        height: 170px;
        background: linear-gradient(180deg, rgba(5,5,5,0), rgba(5,5,5,.52) 42%, #050505 100%);
      }
      .torn-section-divider { display: none !important; }
      .world-intro {
        position: relative;
        margin-top: -1px;
        padding-top: 104px;
      }
      .world-intro::before {
        height: 150px;
        background: linear-gradient(180deg, #050505 0%, rgba(5,5,5,.84) 34%, rgba(5,5,5,.38) 64%, transparent 100%);
      }
      .world-main,
      .world-gallery {
        width: min(1480px, 100%) !important;
        max-width: 1480px !important;
      }
      .world-main {
        grid-template-columns: minmax(440px, .76fr) minmax(0, 1.24fr);
        align-items: start;
        gap: clamp(40px, 4.5vw, 72px);
      }
      .world-copy { width: min(100%, 460px); }
      .world-copy h2 {
        max-width: 12ch;
        font-size: clamp(62px, 4.9vw, 88px);
      }
      .world-copy p {
        width: 100%;
        max-width: 34ch;
        margin-top: 18px;
      }
      .world-map-wrap { min-height: 560px; }
      .world-gallery {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
        margin-top: 34px;
      }
      .world-gallery figure { background: rgba(8,7,6,.92); }
      .world-gallery img {
        aspect-ratio: 4 / 3;
        object-fit: cover;
      }

      :where(.cc-home) .legacy-tail .mini-copy .eyebrow {
        justify-content: flex-start;
        margin-left: 0;
        padding-left: 0;
      }
      .stl-carousel {
        overflow: visible;
      }
      .stl-carousel__slide {
        bottom: 92px !important;
        height: calc(100% - 148px) !important;
      }
      .stl-carousel__slide.is-prev,
      .stl-carousel__slide.is-next { bottom: 112px !important; }
      .stl-carousel__dots {
        top: auto !important;
        bottom: 72px !important;
      }
      .legacy-tail .stl-name {
        top: auto !important;
        bottom: 34px !important;
        transform: none !important;
      }
    }



    /* Revision v30: exact follow-up corrections */
    @media (min-width: 901px) {
      /* Trust proofs use the original icon scale and one shared alignment system. */
      .trust-bar__item {
        min-height: 128px;
        grid-template-columns: clamp(52px,4.4vw,72px) auto !important;
        grid-template-rows: auto auto !important;
        column-gap: clamp(14px,1.4vw,22px);
        row-gap: 4px;
        align-content: center;
        justify-content: center;
        justify-items: start;
        text-align: left;
        padding: 22px clamp(22px,3vw,48px);
      }
      .trust-bar__icon,
      .trust-bar__icon--badge {
        grid-column: 1;
        grid-row: 1 / span 2;
        align-self: center;
        width: clamp(52px,4.4vw,72px) !important;
        height: clamp(52px,4.4vw,72px) !important;
        margin: 0 !important;
      }
      .trust-bar__primary {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        width: auto;
        font-family: var(--body);
        font-size: clamp(18px,1.4vw,25px);
        line-height: 1.05;
        text-align: left;
      }
      .trust-bar__label {
        grid-column: 2;
        grid-row: 2;
        align-self: start;
        width: auto;
        margin: 0;
        text-align: left;
      }
      .trust-bar__item--badge .trust-bar__primary,
      .trust-bar__primary--kickstarter {
        max-width: none !important;
        font-size: clamp(12px,.82vw,14px) !important;
        font-weight: 800;
        letter-spacing: .14em;
        white-space: nowrap;
      }
      .trust-white { color: rgba(245,243,237,.92); }

      /* The artwork keeps one fixed desktop composition even if bundle content changes section height. */
      .purchase-stage::before {
        background-image: var(--cc-img-product-section-background);
        background-position: center top !important;
        background-size: 100vw auto !important;
        background-repeat: no-repeat !important;
      }

      /* Included items are permanently expanded. */
      .included h3 { margin: 0 0 12px; }
      .included #purchase-included { margin: 0; }
      .included #purchase-included-extra { display: none; }

      /* Shop CTA gets the entire available row. Details remains right aligned beneath it. */
      .purchase-links {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        width: 100%;
      }
      .shop-explore-link--button {
        grid-column: 1;
        width: 100%;
      }
      .shop-explore-link--text {
        grid-column: 1;
        justify-self: end;
        text-align: right;
      }

      /* Keep Antallia's map dominant, with smaller supporting thumbnails. */
      .world-map-art {
        width: 100% !important;
        max-width: 100% !important;
        height: auto;
        object-fit: contain;
      }
      .world-gallery {
        width: min(720px,48vw) !important;
        max-width: 720px !important;
        margin: 28px 0 0 !important;
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 12px;
      }
      .world-gallery img {
        aspect-ratio: 1 / 1;
        object-fit: cover;
      }
      .world-gallery figcaption { padding: 9px 10px 10px; }
      .world-gallery b { font-size: .86rem; }
      .world-gallery span { font-size: .7rem; }

      /* STL label shares the headline's left anchor. Indicators sit clear of the name. */
      .legacy-tail .stl-kicker {
        left: 8.4% !important;
      }
      .stl-carousel__slide {
        bottom: 0 !important;
        height: 100% !important;
      }
      .stl-carousel__slide.is-prev,
      .stl-carousel__slide.is-next { bottom: 17% !important; }
      .stl-carousel__dots {
        top: 79.5% !important;
        bottom: auto !important;
        left: 62.2% !important;
        width: 15.5%;
      }
      .legacy-tail .stl-name {
        top: 88.2% !important;
        bottom: auto !important;
        left: 61.2% !important;
        width: 17.5%;
        margin: 0 !important;
        transform: none !important;
      }
    }

    /* Revision v31: final desktop alignment pass */
    @media (min-width: 901px) {
      /* Included list: unboxed and compact, three entries per row. */
      .included {
        max-width: none !important;
        margin-top: 26px;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
      }
      .included h3 { margin: 0 0 14px !important; }
      .included #purchase-included {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px 18px;
        width: 100%;
      }
      .included #purchase-included li {
        min-width: 0;
        position: relative;
        display: flex;
        align-items: flex-start;
        margin: 0 !important;
        padding: 10px 12px 10px 18px !important;
        line-height: 1.45;
      }
      .included #purchase-included li::before {
        position: absolute;
        left: 0;
        top: 10px;
        margin: 0 !important;
        line-height: 1.45;
      }
      .included #purchase-included li:nth-child(n+4) {
        border-top: 0 !important;
        padding-top: 16px !important;
      }
      .included #purchase-included li:nth-child(n+4)::before { top: 16px; }
      .included #purchase-included li:nth-child(4)::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: calc(300% + 36px);
        height: 1px;
        background: rgba(210,182,117,.16);
        pointer-events: none;
      }

      /* Both shop navigation CTAs stay on one row and together fill the width. */
      .purchase-links {
        display: grid !important;
        grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr) !important;
        align-items: center;
        gap: 22px !important;
        width: 100%;
      }
      .shop-explore-link--button { grid-column: 1 !important; width: 100% !important; }
      .shop-explore-link--text {
        grid-column: 2 !important;
        justify-self: stretch !important;
        width: 100%;
        text-align: right !important;
        justify-content: flex-end;
      }

      /* Antallia copy uses the full left-column measure and is vertically balanced against the map. */
      .world-main { align-items: center !important; }
      .world-copy {
        width: 100% !important;
        max-width: 460px !important;
        align-self: center;
      }
      .world-copy h2,
      .world-copy p { width: 100% !important; max-width: none !important; }
      .world-copy p { margin-right: 0 !important; }

      /* Kickstarter proof is one centered icon + text pair, matching the other trust items. */
      .trust-bar__item--badge {
        grid-template-columns: clamp(52px,4.4vw,72px) auto !important;
        grid-template-rows: 1fr !important;
        align-items: center !important;
        align-content: center !important;
      }
      .trust-bar__item--badge .trust-bar__icon--badge {
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: center !important;
      }
      .trust-bar__item--badge .trust-bar__primary {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: center !important;
        margin: 0 !important;
        line-height: 1 !important;
      }

      /* Email offer is a true floating button, not an edge tab. */
      :where(.cc-home) .email-tab {
        left: auto !important;
        right: 24px !important;
        bottom: 24px !important;
        min-height: 44px;
        padding: 0 18px !important;
        border: 1px solid rgba(210,182,117,.42) !important;
        writing-mode: horizontal-tb !important;
        border-radius: 2px;
        box-shadow: 0 10px 30px rgba(0,0,0,.34);
      }
      body:where(.cc-home).cart-open .email-tab,
      body:where(.cc-home).flyout-open .email-tab { display: none !important; }
    }

    /* Revision v32: mobile landing purchase flow */
    @media (max-width: 900px) {
      /* Lock the supplied mobile shop artwork so bundle content cannot resize/recompose it. */
      .purchase-stage::before {
        background-image:var(--cc-img-product-section-background-mobile) !important;
        background-size:100vw auto !important; background-position:center top !important; background-repeat:no-repeat !important;
      }
      .purchase-info__eyebrow { display:none !important; }
      .purchase-stage__inner { display:flex !important; flex-direction:column !important; gap:0 !important; }
      .purchase-info, .purchase-visual { display:contents !important; }
      .purchase-info__title { order:1 !important; margin-top:0 !important; }
      .purchase-info__copy { order:2 !important; }
      .purchase-visual__frame { order:3 !important; }
      .offer-tabs { order:4 !important; }
      .included { order:5 !important; width:100% !important; margin:16px 0 0 !important; padding:0 !important; border:0 !important; background:transparent !important; }
      .included > h3 { display:none !important; }
      .included__mobile-toggle {
        display:flex; align-items:center; justify-content:space-between; width:100%; min-height:50px; padding:0 14px;
        border:1px solid rgba(210,182,117,.3); background:rgba(8,9,9,.68); color:var(--gold-light);
        font:700 11px/1 var(--body); letter-spacing:.12em; text-transform:uppercase; cursor:pointer;
      }
      .included__mobile-toggle span { font-size:18px; line-height:1; }
      .included #purchase-included { display:grid !important; grid-template-columns:1fr !important; gap:0 !important; padding:12px 4px 0 !important; }
      .included #purchase-included[hidden] { display:none !important; }
      .included #purchase-included li { margin:0 !important; padding:8px 0 8px 15px !important; border-bottom:1px solid rgba(210,182,117,.1); }
      .included #purchase-included li:last-child { border-bottom:0; }
      .purchase-meta { order:6 !important; width:100% !important; margin:20px 0 16px !important; }
      .addon-host { order:7 !important; width:100% !important; }
      :where(.cc-home) .addons__total { order:8 !important; width:100% !important; }
      .purchase-add { order:9 !important; width:100% !important; }
      .purchase-reassurance { order:10 !important; width:100% !important; }
      .purchase-links { order:11 !important; width:100% !important; display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; align-items:center !important; gap:14px !important; }
      .shop-explore-link--button { width:100% !important; margin:0 !important; }
      .shop-explore-link--text { width:auto !important; margin:0 !important; justify-self:end !important; text-align:right !important; white-space:nowrap; background:transparent !important; }

      /* Mobile floating offer button mirrors desktop behavior and has its own dismiss control. */
      :where(.cc-home) .email-tab {
        left:auto !important; right:14px !important; bottom:18px !important; writing-mode:horizontal-tb !important;
        min-height:44px; padding:0 42px 0 15px !important; border:1px solid rgba(210,182,117,.42) !important;
        background:#0b0c0a; box-shadow:0 10px 28px rgba(0,0,0,.38);
      }
      :where(.cc-home) .email-tab::after { content:"×"; position:absolute; right:12px; top:50%; transform:translateY(-52%); color:rgba(245,243,237,.82); font-size:18px; font-weight:400; }
      body:where(.cc-home).cart-open .email-tab, body:where(.cc-home).flyout-open .email-tab { display:none !important; }
    }
    @media (min-width:901px) { .included__mobile-toggle { display:none !important; } }

    /* Trust bar — mobile: single source of truth for the ≤900px layout.
       Three equal columns, icons hidden, everything centered on one baseline. */
    @media (max-width: 900px) {
      .trust-bar__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        align-items: stretch;
      }
      .trust-bar__item,
      .trust-bar__item--badge {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-width: 0;
        min-height: 92px;
        padding: 14px 8px;
        gap: 6px;
        text-align: center;
      }
      .trust-bar__item + .trust-bar__item {
        border-top: 0;
        border-left: 1px solid rgba(210,182,117,.24);
      }
      .trust-bar__item + .trust-bar__item::after { display: none; }
      .trust-bar__icon,
      .trust-bar__icon--badge { display: none; }
      .trust-bar__primary,
      .trust-bar__label,
      .trust-bar__item--badge .trust-bar__primary,
      .trust-bar__item--badge .trust-bar__primary .trust-white {
        width: 100%;
        max-width: none;
        margin: 0;
        font-size: clamp(12px, 3.15vw, 14px);
        font-weight: 700;
        line-height: 1.1;
        letter-spacing: .03em;
        white-space: normal;
        text-align: center;
      }
      .trust-bar__item--badge .trust-bar__primary {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
      }
      .trust-bar__item--badge .trust-bar__primary span {
        display: block;
        width: 100%;
        text-align: center;
      }
    }

    /* v17 purchase spacing fixes (trust-bar rules folded into the block above) */
    @media (max-width:900px){
      :where(.cc-home) .addons__total{margin-top:8px!important;padding-top:8px!important}
      .purchase-add{margin-top:14px!important}
      .purchase-reassurance{margin-top:8px!important}
      .purchase-links{margin-top:14px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:16px!important}
      .shop-explore-link--button{min-height:50px!important;padding:0 18px!important;width:100%!important}
      .shop-explore-link--text{display:inline!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;color:rgba(245,243,237,.8)!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:5px!important;white-space:nowrap!important}
      .shop-explore-link--text:hover,.shop-explore-link--text:focus-visible{background:transparent!important;color:var(--gold-light)!important;border:0!important}
    }
    /* Keep utility copy readable without changing headline or CTA hierarchy. */
    .dfp-class-kicker, .purchase-info__eyebrow, .included h3 { font-size: 13px; }
    .purchase-rating__count, .purchase-reassurance, :where(.cc-home) .addon-box__title, :where(.cc-home) .addons__total span { font-size: 12.5px; }
    :where(.cc-home) .addon-box__sub, :where(.cc-home) .addon__name { font-size: 13px; }
    :where(.cc-home) .addon__note { font-size: 12px; }
    .offer-tab__name { font-size: 12px; }
    @media (max-width: 700px) {
      .dfp-class-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .dfp-class-card span { font-size: clamp(11px, 3vw, 14px); }
      :where(.cc-home) .addon-box__title, :where(.cc-home) .addon__name { font-size: 12.5px; }
      :where(.cc-home) .addon__note { font-size: 11.5px; }
    }
    /* Raise only small functional and supporting text found in the responsive audit. */
    .trust-bar__label,
    .purchase-rating__count,
    .purchase-reassurance,
    :where(.cc-home) .addons__total span,
    .shop-explore-link,
    :where(.cc-home) .cart-drawer__status,
    :where(.cc-home) .cart-ship-note,
    :where(.cc-home) .checkout-message,
    :where(.cc-home) .checkout-preview { font-size: 13px; }
    .offer-tab__name,
    :where(.cc-home) .addon-box__title,
    :where(.cc-home) .addon__name,
    :where(.cc-home) .addon__note,
    .legacy-tail .review-card footer span,
    .legacy-tail .stl-note { font-size: 12.5px; }
    .world-gallery span { font-size: 13.5px; line-height: 1.45; }
    :where(.cc-home) .email-tab { font-size: 12px; }
    :where(.cc-home) .email-flyout__eyebrow,
    :where(.cc-home) .email-flyout__message { font-size: 13px; }
    :where(.cc-home) .email-flyout button[type="submit"] { font-size: 13px; }
    :where(.cc-home) .legacy-tail .gm-copy .eyebrow,
    .legacy-tail .stl-kicker { font-size: 12px; }
    :where(.cc-home) .hero .eyebrow { font-size: clamp(12px, .9vw, 14px); }
    @media (max-width: 700px) {
      :where(.cc-home) .hero .eyebrow { font-size: 12.5px; }
      .dfp-class-card span { font-size: 12.5px; }
      .offer-tab__name { font-size: 12.5px; letter-spacing: .02em; }
      :where(.cc-home) .addon-box__title, :where(.cc-home) .addon__name { font-size: 13px; }
      :where(.cc-home) .addon__note { font-size: 13px; line-height: 1.4; }
      .purchase-add { font-size: 13px; }
      .legacy-tail .stl-note { font-size: 12px; letter-spacing: .08em; }
    }

/* ===== shop, product and cart ===== */
/* Dark Forest / Castle Clark Games
   Shared styles for product detail pages, the shop, and every cart and upsell component. */
body.cart-open{overflow:hidden}
:where(.cc-store) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:where(.cc-store) .skip-link{position:fixed;inset:12px auto auto 12px;z-index:9999;padding:10px 14px;color:var(--ink);background:var(--paper-light);transform:translateY(-150%);transition:transform .2s ease}
:where(.cc-store) .skip-link:focus-visible{transform:translateY(0)}

/* ---------------- header ---------------- */
:where(.cc-store) .site-header{position:fixed;z-index:90;inset:0 0 auto;height:86px;display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);align-items:center;padding-inline:clamp(20px,4.5vw,84px);border-bottom:1px solid rgba(245,243,237,.1);background:rgba(4,5,5,.82);backdrop-filter:blur(14px);transition:background .3s ease,box-shadow .3s ease}
:where(.cc-store) .site-header.is-scrolled{background:rgba(4,5,5,.96);box-shadow:0 12px 34px rgba(0,0,0,.42)}
:where(.cc-store) .brand{justify-self:start;font-family:var(--display);font-size:clamp(17px,1.5vw,23px);letter-spacing:.02em;white-space:nowrap}
:where(.cc-store) .desktop-nav{display:flex;gap:clamp(20px,2.3vw,42px);align-items:center;font-size:15px}
:where(.cc-store) .desktop-nav a{position:relative;padding-block:11px;color:rgba(245,243,237,.84)}
:where(.cc-store) .desktop-nav a[aria-current="page"],:where(.cc-store) .desktop-nav a:hover{color:var(--gold-light)}
:where(.cc-store) .header-tools{justify-self:end;display:flex;gap:6px}
:where(.cc-store) .icon-button,:where(.cc-store) .menu-button{position:relative;width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:#fff;cursor:pointer}
:where(.cc-store) .icon-button svg,:where(.cc-store) .menu-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
:where(.cc-store) .menu-button{display:none}
:where(.cc-store) .cart-count{position:absolute;top:3px;right:1px;min-width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:var(--gold-light);color:#111;font-size:9px;font-weight:900}
:where(.cc-store) .cart-count[hidden]{display:none}
:where(.cc-store) .mobile-nav{position:fixed;z-index:120;inset:0;display:none;padding:96px 26px 40px;background:#050606}
:where(.cc-store) .mobile-nav.is-open{display:grid;align-content:start;gap:22px}
:where(.cc-store) .mobile-nav a{font-family:var(--display);font-size:clamp(34px,10vw,46px);text-transform:uppercase}
:where(.cc-store) .mobile-nav__close{position:absolute;top:18px;right:18px;width:44px;height:44px;border:1px solid var(--line);background:transparent;color:#fff;font-size:24px;cursor:pointer}

/* ---------------- shared bits ---------------- */
:where(.cc-store) .eyebrow{margin:0 0 16px;color:var(--gold-light);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.torn-divider{position:relative;z-index:3;width:100%;height:clamp(42px,5.5vw,86px);line-height:0;overflow:hidden;pointer-events:none}
.torn-divider img{width:102%;margin-left:-1%;height:100%;object-fit:cover;object-position:center}
.torn-divider--flip img{transform:scale(1,-1)}
@media(max-width:700px){.torn-divider{height:44px}}
:where(.cc-store) [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
:where(.cc-store) [data-reveal].is-visible{opacity:1;transform:none}

/* ---------------- PDP hero ---------------- */
.pdp{padding:126px 0 0}
.pdp-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,4.5vw,76px);align-items:start;width:min(1420px,100%);margin:auto;padding:clamp(24px,4vw,56px) clamp(20px,5vw,72px) clamp(50px,6vw,92px)}
.pdp-gallery{position:sticky;top:112px}
.pdp-frame{position:relative;display:grid;place-items:center;padding:clamp(22px,3vw,46px);border:1px solid transparent;background:radial-gradient(circle at 50% 38%,rgba(210,182,117,.16),rgba(9,10,10,.98) 62%) padding-box,linear-gradient(140deg,rgba(232,204,142,.46),rgba(97,73,38,.22) 52%,rgba(210,177,110,.4)) border-box;box-shadow:inset 0 0 0 5px rgba(0,0,0,.55),0 30px 70px rgba(0,0,0,.5)}
.pdp-frame img{width:100%;max-height:min(62vh,640px);object-fit:contain;filter:drop-shadow(0 26px 34px rgba(0,0,0,.6))}
.pdp-frame__corner{position:absolute;width:20px;height:20px;border:1px solid var(--gold);opacity:.55}
.pdp-frame__corner:nth-child(1){top:11px;left:11px;border-right:0;border-bottom:0}
.pdp-frame__corner:nth-child(2){top:11px;right:11px;border-left:0;border-bottom:0}
.pdp-frame__corner:nth-child(3){bottom:11px;left:11px;border-right:0;border-top:0}
.pdp-frame__corner:nth-child(4){bottom:11px;right:11px;border-left:0;border-top:0}

.pdp-info{padding-top:clamp(0px,1vw,14px)}
.pdp-type{margin:0 0 13px;color:var(--gold-light);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.pdp-title{margin:0;font-family:var(--display);font-size:clamp(46px,5.6vw,92px);font-weight:400;line-height:.86;text-transform:uppercase;background:linear-gradient(#fff,#ddd9d0 60%,#948f88);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.72))}
.pdp-title span{display:block}
.pdp-badge{display:inline-block;margin:18px 0 0;padding:7px 14px;border:1px solid var(--line-gold);color:var(--gold-light);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.pdp-lede{max-width:56ch;margin:20px 0 0;color:rgba(245,243,237,.78);font-size:clamp(16px,1.15vw,19px);line-height:1.62}

.pdp-proof{display:flex;flex-wrap:wrap;gap:10px 22px;margin:24px 0 0;padding:16px 0 0;border-top:1px solid var(--line)}
.pdp-proof span{color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.pdp-proof b{color:var(--gold-light);font-weight:700}

.pdp-price{display:flex;align-items:baseline;gap:14px;margin:28px 0 0}
.pdp-price__now{font-family:var(--display);font-size:clamp(40px,4vw,58px);color:var(--gold-light);line-height:1}
.pdp-price__was{color:rgba(245,243,237,.42);font-size:20px;text-decoration:line-through}
.pdp-price__save{padding:5px 10px;border:1px solid var(--line-gold);color:var(--gold-light);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}

.pdp-buy{margin:26px 0 0}
.pdp-controls{display:grid;grid-template-columns:132px minmax(0,1fr);gap:11px}
.qty{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;min-height:58px;border:1px solid var(--line-gold)}
.qty button{height:100%;border:0;background:transparent;color:var(--white);font-size:19px;cursor:pointer}
.qty button:hover{color:var(--gold-light)}
.qty output{display:grid;place-items:center;font-size:15px}
.pdp-add{min-height:58px;padding:15px 20px;border:1px solid var(--gold-light);background:var(--gold-light);color:#0b0c0c;font:800 13px/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,transform .2s ease}
.pdp-add:hover{background:#eee0b9}
.pdp-add:active{transform:translateY(1px)}
.pdp-reassure{display:flex;flex-wrap:wrap;gap:8px 20px;margin:15px 0 0;color:var(--muted);font-size:13px}
.pdp-reassure span{position:relative;padding-left:17px}
.pdp-reassure span::before{content:"✦";position:absolute;left:0;color:var(--gold)}

/* ---------------- checkbox add-ons ---------------- */
:where(.cc-store) .addon-box{display:block;margin:30px 0 0;border:1px solid var(--line-gold);background:linear-gradient(160deg,rgba(24,25,24,.9),rgba(8,9,9,.94))}
:where(.cc-store) .addon-box__head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 19px;cursor:pointer;list-style:none}
:where(.cc-store) .addon-box__head::-webkit-details-marker{display:none}
:where(.cc-store) .addon-box__head:hover .addon-box__marker{border-color:var(--gold-light);background:rgba(210,182,117,.1)}
:where(.cc-store) .addon-box__copy{min-width:0}
:where(.cc-store) .addon-box__title{display:block;font-size:12.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--white)}
:where(.cc-store) .addon-box__sub{display:block;margin-top:5px;color:var(--muted);font-size:12.5px;line-height:1.35}
:where(.cc-store) .addon-box__marker{flex:none;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line-gold);color:var(--gold-light);font-size:16px;line-height:1;transition:border-color .2s ease,background .2s ease}
:where(.cc-store) .addon-box__marker::before{content:"+"}
:where(.cc-store) .addon-box[open] .addon-box__marker::before{content:"\2212"}
:where(.cc-store) .addon-list{display:grid;gap:8px;padding:0 15px 15px}
:where(.cc-store) .addon{display:grid;grid-template-columns:20px 48px minmax(0,1fr) auto;gap:13px;align-items:center;padding:11px 13px;border:1px solid rgba(245,243,237,.1);background:rgba(255,255,255,.015);cursor:pointer;transition:border-color .2s ease,background .2s ease}
:where(.cc-store) .addon:hover{border-color:var(--line-gold);background:rgba(210,182,117,.05)}
:where(.cc-store) .addon:has(.addon__box:checked){border-color:var(--gold-light);background:rgba(210,182,117,.09)}
:where(.cc-store) .addon__box{width:19px;height:19px;accent-color:var(--gold-light);cursor:pointer}
:where(.cc-store) .addon__art{width:48px;height:48px;object-fit:contain;background:#0e0f0f;border:1px solid rgba(245,243,237,.08)}
:where(.cc-store) .addon__copy{display:grid;gap:3px;min-width:0}
:where(.cc-store) .addon__name{font-size:13px;font-weight:700;letter-spacing:.03em}
:where(.cc-store) .addon__note{color:var(--muted);font-size:11.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
:where(.cc-store) .addon__price{color:var(--gold-light);font-size:14px;font-weight:700;white-space:nowrap}
:where(.cc-store) .addons__total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:14px 0 0;padding:14px 2px 0;border-top:1px solid var(--line)}
:where(.cc-store) .addons__total span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
:where(.cc-store) .addons__total b{font-family:var(--display);font-size:29px;color:var(--gold-light);font-weight:400}

/* ---------------- included band (parchment) ---------------- */
.included-band{position:relative;background:var(--parchment);color:#1b1a17}
.included-band__inner{width:min(1320px,100%);margin:auto;padding:clamp(54px,7vw,104px) clamp(20px,5vw,72px)}
:where(.cc-store) .included-band .eyebrow{color:#7a6132}
.included-band h2{margin:0 0 12px;font-family:var(--display);font-size:clamp(40px,5vw,78px);font-weight:400;line-height:.9;text-transform:uppercase;color:#171613}
.included-band__intro{max-width:62ch;margin:0 0 clamp(32px,4vw,52px);color:#4a453c;font-size:clamp(16px,1.1vw,18px);line-height:1.6}
.included-grid{display:grid;gap:1px;background:rgba(27,26,23,.16);border:1px solid rgba(27,26,23,.16)}
.included-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:22px;align-items:center;padding:20px 24px;background:var(--parchment)}
.included-row__art{width:92px;height:92px;object-fit:contain;background:rgba(255,255,255,.55);border:1px solid rgba(27,26,23,.13)}
.included-row__copy h3{margin:0 0 6px;font-family:var(--body);font-size:clamp(17px,1.4vw,21px);font-weight:700;letter-spacing:.01em;color:#171613}
.included-row__copy p{margin:0;max-width:64ch;color:#514b41;font-size:15px;line-height:1.55}
.included-row__price{color:#7a6132;font-size:14px;font-weight:700;white-space:nowrap}
.included-row__price small{display:block;margin-top:3px;color:#7d766a;font-size:10px;font-weight:400;letter-spacing:.1em;text-transform:uppercase}
.included-sum{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding:20px 24px;border:1px solid rgba(27,26,23,.2);background:rgba(255,255,255,.4)}
.included-sum__left b{display:block;font-family:var(--display);font-size:27px;color:#171613;font-weight:400}
.included-sum__left small{color:#5d564b;font-size:13px}
.included-sum__right{text-align:right}
.included-sum__right b{display:block;font-family:var(--display);font-size:34px;color:#6b5527;font-weight:400}
.included-sum__right small{color:#7d766a;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.perk-list{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 0;padding:0;list-style:none}
.perk-list li{padding:8px 14px;border:1px solid rgba(27,26,23,.22);color:#4a453c;font-size:12.5px;letter-spacing:.04em}
.perk-list li::before{content:"✦";margin-right:8px;color:#8a6f36}

/* ---------------- specs ---------------- */
.specs{width:min(1320px,100%);margin:auto;padding:clamp(56px,7vw,100px) clamp(20px,5vw,72px)}
.specs h2{margin:0 0 30px;font-family:var(--display);font-size:clamp(34px,4vw,60px);font-weight:400;text-transform:uppercase}
.specs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.spec{padding:22px 24px;background:var(--ink)}
.spec dt{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.spec dd{margin:8px 0 0;font-size:17px;color:var(--white)}

/* ---------------- cross sell ---------------- */
.cross{width:min(1320px,100%);margin:auto;padding:0 clamp(20px,5vw,72px) clamp(64px,8vw,110px)}
.cross__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--line-gold)}
.cross__head h2{margin:0;font-family:var(--display);font-size:clamp(32px,3.6vw,54px);font-weight:400;text-transform:uppercase}
.cross__head a{color:var(--gold-light);font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.cross-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}

/* ---------------- product card (shop + cross sell) ---------------- */
.product-card{position:relative;display:grid;grid-template-rows:auto auto auto 1fr auto;padding:20px;border:1px solid transparent;background:linear-gradient(150deg,rgba(24,26,25,.96),rgba(8,9,9,.98)) padding-box,linear-gradient(135deg,rgba(216,189,127,.32),rgba(112,86,50,.16) 50%,rgba(200,169,104,.28)) border-box;box-shadow:inset 0 0 0 4px rgba(0,0,0,.5);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.product-card:hover{transform:translateY(-5px);box-shadow:inset 0 0 0 4px rgba(0,0,0,.5),0 24px 48px rgba(0,0,0,.45)}
.product-card__art{display:grid;place-items:center;height:258px;margin-bottom:16px;padding:14px;border:1px solid rgba(232,204,142,.22);background:#101111;overflow:hidden}
.product-card__art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 22px rgba(0,0,0,.5))}
.product-card__flag{position:absolute;top:0;right:0;padding:6px 11px;background:var(--gold-light);color:#111;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.product-card__type{margin:0 0 8px;color:var(--gold-light);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.product-card h3{margin:0;font-family:var(--display);font-size:clamp(24px,2vw,34px);font-weight:400;line-height:.95;text-transform:uppercase}
.product-card__copy{margin:12px 0 16px;color:rgba(245,243,237,.62);font-size:13.5px;line-height:1.45}
.product-card__meta{display:flex;align-items:baseline;gap:9px;margin:0 0 14px}
.product-card__price{font-family:var(--display);font-size:26px;color:var(--gold-light)}
.product-card__compare{color:rgba(245,243,237,.36);font-size:14px;text-decoration:line-through}
.product-card__actions{display:grid;grid-template-columns:1fr auto;gap:8px}
.product-card__add{min-height:48px;padding:12px 14px;border:1px solid var(--gold);background:var(--gold-light);color:#111;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.product-card__add:hover{background:#ead7a6}
.product-card__link{display:grid;place-items:center;min-height:48px;padding:12px 14px;border:1px solid var(--line-gold);color:var(--gold-light);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.product-card__link:hover{border-color:var(--gold-light);background:rgba(210,182,117,.08)}

/* ---------------- FAQ ---------------- */
.pdp-faq{width:min(980px,100%);margin:auto;padding:0 clamp(20px,5vw,72px) clamp(70px,9vw,120px)}
.pdp-faq h2{margin:0 0 22px;font-family:var(--display);font-size:clamp(32px,4vw,58px);font-weight:400;text-transform:uppercase}
.pdp-faq details{border-top:1px solid var(--line)}
.pdp-faq details:last-of-type{border-bottom:1px solid var(--line)}
.pdp-faq summary{padding:19px 0;cursor:pointer;font-weight:700;letter-spacing:.03em;text-transform:uppercase;font-size:14px;list-style:none}
.pdp-faq summary::-webkit-details-marker{display:none}
.pdp-faq summary::after{content:"+";float:right;color:var(--gold-light)}
.pdp-faq details[open] summary::after{content:"−"}
.pdp-faq p{margin:0 0 20px;color:var(--muted);line-height:1.6}

/* ---------------- sticky mobile buy bar ---------------- */
.pdp-sticky{position:fixed;z-index:80;inset:auto 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 16px calc(11px + env(safe-area-inset-bottom));border-top:1px solid var(--line-gold);background:rgba(5,6,6,.97);backdrop-filter:blur(12px);transform:translateY(105%);visibility:hidden;transition:transform .32s var(--ease-out),visibility .32s}
.pdp-sticky.is-visible{transform:none;visibility:visible}
.pdp-sticky__copy{min-width:0}
.pdp-sticky__copy strong{display:block;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdp-sticky__copy span{color:var(--gold-light);font-size:15px}
.pdp-sticky__add{min-height:46px;padding:12px 20px;border:0;background:var(--gold-light);color:#111;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap}

/* ---------------- cart drawer ---------------- */
:where(.cc-store) .commerce-scrim{position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.66);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s}
:where(.cc-store) .commerce-scrim.is-open{opacity:1;visibility:visible}
:where(.cc-store) .cart-drawer{position:fixed;z-index:110;top:0;right:0;width:min(452px,100%);height:100dvh;display:flex;flex-direction:column;padding:26px 24px calc(22px + env(safe-area-inset-bottom));background:#080909;border-left:1px solid var(--line-gold);transform:translateX(105%);transition:transform .36s var(--ease-out);box-shadow:-30px 0 70px rgba(0,0,0,.5)}
:where(.cc-store) .cart-drawer.is-open{transform:none}
:where(.cc-store) .cart-drawer__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line-gold)}
:where(.cc-store) .cart-drawer__header h2{margin:0;font-family:var(--display);font-size:32px;font-weight:400;text-transform:uppercase}
:where(.cc-store) .cart-drawer__close{width:42px;height:42px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;font-size:22px;cursor:pointer}
:where(.cc-store) .cart-drawer__status{margin:14px 0 0;padding:10px 12px;border:1px solid var(--line-gold);color:var(--gold-light);font-size:10px;letter-spacing:.1em;text-transform:uppercase}

:where(.cc-store) .cart-progress{display:grid;gap:12px;margin:14px 0 4px}
:where(.cc-store) .cart-tier__label{margin:0 0 7px;color:var(--muted);font-size:12px;letter-spacing:.03em}
:where(.cc-store) .cart-tier__label b{color:var(--gold-light)}
:where(.cc-store) .cart-tier.is-earned .cart-tier__label{color:var(--gold-light)}
:where(.cc-store) .cart-tier__tick{font-weight:900}
:where(.cc-store) .cart-tier__track{height:4px;background:rgba(245,243,237,.12);overflow:hidden}
:where(.cc-store) .cart-tier__fill{display:block;height:100%;background:linear-gradient(90deg,var(--gold-dark),var(--gold-light));transition:width .4s var(--ease-out)}

:where(.cc-store) .cart-items{display:grid;gap:13px;align-content:start;margin:14px 0;overflow-y:auto;overscroll-behavior:contain}
:where(.cc-store) .cart-empty{color:#817b73}
:where(.cc-store) .cart-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:13px;align-items:center;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.08)}
:where(.cc-store) .cart-item img{width:64px;height:64px;object-fit:contain;background:#111;border:1px solid rgba(245,243,237,.08)}
:where(.cc-store) .cart-item__copy{min-width:0}
:where(.cc-store) .cart-item__copy strong{display:block;font-size:12.5px;letter-spacing:.03em;text-transform:uppercase}
:where(.cc-store) .cart-item__copy small{color:#8b847b;font-size:12px}
:where(.cc-store) .cart-item__side{display:grid;gap:6px;justify-items:end}
:where(.cc-store) .cart-item__qty{display:grid;grid-template-columns:repeat(3,26px);align-items:center;border:1px solid rgba(245,243,237,.16)}
:where(.cc-store) .cart-item__qty button{height:26px;border:0;background:transparent;color:var(--white);font-size:14px;cursor:pointer}
:where(.cc-store) .cart-item__qty output{display:grid;place-items:center;font-size:12px}
:where(.cc-store) .cart-item__remove{border:0;background:transparent;color:#8b847b;font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
:where(.cc-store) .cart-item__remove:hover{color:var(--gold-light)}
:where(.cc-store) .cart-item.is-gift{opacity:.94}
:where(.cc-store) .cart-item__free{padding:5px 10px;border:1px solid var(--line-gold);color:var(--gold-light);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}

:where(.cc-store) .cart-recs{margin:2px 0 14px;padding-top:14px;border-top:1px solid var(--line)}
:where(.cc-store) .cart-recs__title{margin:0 0 11px;font-family:var(--body);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
:where(.cc-store) .cart-recs__list{display:grid;gap:8px}
:where(.cc-store) .cart-rec{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center;padding:9px 10px;border:1px solid rgba(245,243,237,.1);background:rgba(255,255,255,.02)}
:where(.cc-store) .cart-rec img{width:44px;height:44px;object-fit:contain;background:#111}
:where(.cc-store) .cart-rec__copy{min-width:0}
:where(.cc-store) .cart-rec__copy strong{display:block;font-size:12px;letter-spacing:.03em}
:where(.cc-store) .cart-rec__copy small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#8b847b;font-size:11px;line-height:1.35}
:where(.cc-store) .cart-rec__add{padding:9px 12px;border:1px solid var(--line-gold);background:transparent;color:var(--gold-light);font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}
:where(.cc-store) .cart-rec__add:hover{background:var(--gold-light);color:#111}

:where(.cc-store) .cart-drawer__footer{margin-top:auto;padding-top:15px;border-top:1px solid var(--line-gold)}
:where(.cc-store) .cart-subtotal{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 4px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
:where(.cc-store) .cart-subtotal span:last-child{font-family:var(--display);font-size:26px;color:var(--gold-light);font-weight:400}
:where(.cc-store) .cart-ship-note{margin:0 0 13px;color:#8b847b;font-size:12px}
:where(.cc-store) .checkout-preview{width:100%;min-height:54px;border:0;background:var(--gold-light);color:#111;font-weight:800;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
:where(.cc-store) .checkout-preview:hover{background:#ead7a6}
:where(.cc-store) .checkout-message{margin:10px 0 0;color:#6f6960;font-size:11.5px;line-height:1.45}

/* ---------------- email flyout ---------------- */
:where(.cc-store) .email-flyout{position:fixed;z-index:130;left:auto;right:0;bottom:24px;width:min(460px,calc(100vw - 32px));transform:translateY(calc(100% + 40px));padding:28px 26px;border:1px solid var(--line-gold);background:linear-gradient(165deg,#12130f,#060706);box-shadow:0 30px 70px rgba(0,0,0,.6);opacity:0;visibility:hidden;transition:transform .42s var(--ease-out),opacity .42s ease,visibility .42s}
:where(.cc-store) .email-flyout.is-open{transform:translateY(0);opacity:1;visibility:visible}
:where(.cc-store) .email-flyout__close{position:absolute;z-index:2;top:10px;right:10px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.14);background:#0b0c0a;color:#fff;font:400 19px/1 Arial,sans-serif;opacity:1;visibility:visible;cursor:pointer}
:where(.cc-store) .email-flyout__eyebrow{margin:0 0 8px;color:var(--gold-light);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
:where(.cc-store) .email-flyout h2{margin:0 0 10px;font-family:var(--display);font-size:clamp(28px,4.4vw,38px);font-weight:400;line-height:.95;text-transform:uppercase}
:where(.cc-store) .email-flyout__copy{margin:0 0 18px;color:var(--muted);font-size:14.5px;line-height:1.55}
:where(.cc-store) .email-flyout form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
:where(.cc-store) .email-flyout input{min-height:50px;padding:12px 14px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--white);font:inherit;font-size:15px}
:where(.cc-store) .email-flyout input::placeholder{color:#7d766c}
:where(.cc-store) .email-flyout button[type=submit]{min-height:50px;padding:12px 18px;border:0;background:var(--gold-light);color:#111;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
:where(.cc-store) .email-flyout__message{margin:12px 0 0;color:#6f6960;font-size:11.5px;line-height:1.45}
:where(.cc-store) .email-tab{position:fixed;z-index:125;left:0;bottom:78px;padding:11px 14px;border:1px solid var(--line-gold);border-left:0;background:#0b0c0a;color:var(--gold-light);font:700 10px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl;cursor:pointer}

/* ---------------- footer ---------------- */
/* F-049: every page uses the home footer rules (landing page section, .legacy-footer). */

/* ---------------- responsive ---------------- */
@media(max-width:1080px){
  .pdp-top{grid-template-columns:1fr;gap:34px}
  .pdp-gallery{position:static}
  .pdp-frame img{max-height:48vh}
  .cross-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  :where(.cc-store) .site-header{grid-template-columns:1fr auto}
  :where(.cc-store) .desktop-nav{display:none}
  :where(.cc-store) .menu-button{display:grid}
}
@media(max-width:700px){
  :where(.cc-store) .site-header{height:70px;padding-inline:16px}
  .pdp{padding-top:94px}
  .pdp-top{padding:14px 16px 44px;gap:26px}
  .pdp-frame{padding:16px}
  .pdp-frame img{max-height:42vh}
  .pdp-title{font-size:clamp(38px,11.5vw,56px)}
  .pdp-lede{font-size:15.5px}
  .pdp-price{margin-top:22px}
  .pdp-controls{grid-template-columns:110px minmax(0,1fr);gap:8px}
  .qty{min-height:52px}
  .pdp-add{min-height:52px;padding:13px 10px;font-size:11px;letter-spacing:.04em}
  :where(.cc-store) .addon-box{margin-top:22px}
  :where(.cc-store) .addon-box__head{padding:14px 15px}
  :where(.cc-store) .addon-box__title{font-size:11.5px;letter-spacing:.1em}
  :where(.cc-store) .addon-box__sub{font-size:12px}
  :where(.cc-store) .addon-list{padding:0 11px 11px}
  :where(.cc-store) .addon{grid-template-columns:19px 40px minmax(0,1fr) auto;gap:10px;padding:10px}
  :where(.cc-store) .addon__art{width:40px;height:40px}
  :where(.cc-store) .addon__name{font-size:12.5px}
  :where(.cc-store) .addon__note{-webkit-line-clamp:2;font-size:11px}
  .included-band__inner{padding:44px 16px 52px}
  .included-row{grid-template-columns:62px minmax(0,1fr);gap:14px;padding:16px 15px}
  .included-row__art{width:62px;height:62px}
  .included-row__price{grid-column:1/-1;text-align:left;font-size:13px}
  .included-row__price small{display:inline;margin-left:8px}
  .included-sum{padding:16px 15px}
  .specs{padding:46px 16px 52px}
  .spec{padding:17px 16px}
  .cross{padding:0 16px 60px}
  .cross-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .product-card{padding:11px}
  .product-card__art{height:152px;padding:8px;margin-bottom:11px}
  .product-card h3{font-size:clamp(19px,5.6vw,26px)}
  .product-card__copy{display:none}
  .product-card__price{font-size:20px}
  .product-card__actions{grid-template-columns:1fr;gap:6px}
  .product-card__add,.product-card__link{min-height:42px;padding:9px 6px;font-size:9.5px;letter-spacing:.03em}
  .pdp-faq{padding:0 16px 66px}
  :where(.cc-store) .cart-drawer{padding:20px 16px calc(18px + env(safe-area-inset-bottom))}
  :where(.cc-store) .email-flyout{bottom:0;width:100%;padding:24px 18px calc(24px + env(safe-area-inset-bottom));border-left:0;border-right:0;border-bottom:0}
  :where(.cc-store) .email-flyout form{grid-template-columns:1fr}
  :where(.cc-store) .email-tab{bottom:96px}
}
@media(max-width:380px){
  .pdp-controls{grid-template-columns:1fr;gap:8px}
  .cross-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  :where(.cc-store) *,:where(.cc-store) *::before,:where(.cc-store) *::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  :where(.cc-store) [data-reveal]{opacity:1;transform:none}
}
/* Readability pass for catalog, product details, and small commerce labels. */
:where(.cc-store) .eyebrow,.pdp-type,.product-card__type,.spec dt{font-size:12px}
.product-card__flag,.pdp-badge,.pdp-price__save{font-size:11px}
.product-card__copy{font-size:15px}
.product-card__add,.product-card__link,.pdp-add,.pdp-sticky__add{font-size:13px}
.pdp-proof span,:where(.cc-store) .addon-box__title,:where(.cc-store) .addon__name,:where(.cc-store) .addons__total span{font-size:13px}
:where(.cc-store) .addon-box__sub,:where(.cc-store) .addon__note,:where(.cc-store) .cart-rec__copy small{font-size:12.5px}
@media(max-width:700px){
  .product-card__type{font-size:11.5px}
  .product-card h3{line-height:1.04}
  .product-card__meta{margin-top:12px}
  .product-card__add,.product-card__link{font-size:12px}
  .pdp-add{font-size:13px}
  :where(.cc-store) .addon-box__title,:where(.cc-store) .addon__name{font-size:12.5px}
}
/* Small-label readability audit. Keep product titles and body scale unchanged. */
.product-card__type,:where(.cc-store) .eyebrow,.pdp-type,.spec dt,.product-card__flag,.pdp-badge,.pdp-price__save,.included-row__price small,:where(.cc-store) .cart-drawer__status,:where(.cc-store) .cart-ship-note,:where(.cc-store) .checkout-message,:where(.cc-store) .cart-rec__copy small { font-size:13px; }
:where(.cc-store) .addon-box__sub,:where(.cc-store) .addon__note,.perk-list li { font-size:13.5px; }
.product-card__add,.product-card__link,:where(.cc-store) .checkout-preview,:where(.cc-store) .email-tab { font-size:13px; }
:where(.cc-store) .email-flyout__eyebrow,:where(.cc-store) .email-flyout__message,:where(.cc-store) .email-flyout button[type=submit] { font-size:13px; }
@media(max-width:700px){
  .product-card__type{font-size:12.5px}
  .product-card__add,.product-card__link{font-size:13px}
  :where(.cc-store) .addon-box__title,:where(.cc-store) .addon__name{font-size:13px}
  :where(.cc-store) .addon__note{font-size:13px;line-height:1.4}
}

  .shop-hero{position:relative;min-height:70svh;display:grid;align-items:center;isolation:isolate;overflow:hidden;padding:150px clamp(20px,8vw,150px) 90px}
  .shop-hero__art{position:absolute;z-index:-2;inset:0}
  .shop-hero__art img{width:100%;height:100%;object-fit:cover}
  .shop-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.2) 55%,rgba(0,0,0,.46)),linear-gradient(180deg,rgba(0,0,0,.4),transparent 45%,#050505 100%)}
  .shop-hero__copy{width:min(690px,56vw)}
  .shop-hero h1{margin:0;font-family:var(--display);font-size:clamp(60px,7.4vw,128px);font-weight:400;line-height:.84;text-transform:uppercase;background:linear-gradient(#fff,#d5d2ca 62%,#8e8b85);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.8))}
  .shop-hero p:last-child{max-width:54ch;margin:22px 0 0;color:rgba(245,243,237,.82);font-size:clamp(16px,1.25vw,20px);line-height:1.55}

  .offer-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:min(1276px,calc(100% - 144px));margin:-40px auto 0;position:relative;z-index:4;background:transparent;border:1px solid var(--shop-subtle-line)}
  .offer-strip div{padding:22px 24px;background:#0a0b0a;border:0}
  .offer-strip div + div{border-left:1px solid var(--shop-subtle-line)}
  .offer-strip b{display:block;color:var(--gold-light);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
  .offer-strip span{display:block;margin-top:7px;color:var(--muted);font-size:14px;line-height:1.45}

  .catalog{width:min(1420px,100%);margin:auto;padding:clamp(56px,7vw,100px) clamp(20px,5vw,72px) clamp(60px,8vw,110px)}
  .catalog-group{margin-top:clamp(50px,6vw,84px)}
  .catalog-group:first-of-type{margin-top:0}
  .catalog-group__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:18px;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--shop-subtle-line)}
  :where(.cc-store) .catalog-group__head .eyebrow{margin-bottom:10px}
  .catalog-group__head h2{margin:0;font-family:var(--display);font-size:clamp(34px,4.2vw,64px);font-weight:400;line-height:.9;text-transform:uppercase}
  .catalog-group__head p{max-width:46ch;margin:0;color:var(--muted);font-size:14px;line-height:1.5}
  .product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}

  /* Shop surfaces use the same restrained line treatment as the landing page. */
  .product-card{border:1px solid var(--shop-subtle-line);outline:0;box-shadow:none}
  .product-card__art{border:1px solid rgba(210,182,117,.10);outline:0;box-shadow:none}
  .product-card__link,.product-card__add,:where(.cc-store) .checkout-preview{border-color:var(--shop-control-line);outline:0;box-shadow:none}
  :where(.cc-store) .cart-drawer,:where(.cc-store) .cart-recs,:where(.cc-store) .cart-rec{border-color:var(--shop-subtle-line);outline:0;box-shadow:none}

  /* Free Mini Adventure: one page-level definition, right anchored on desktop. */
  .email-tab-wrap{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;align-items:center}
  .email-tab-wrap[hidden]{display:none}
  :where(.cc-store) .email-tab-wrap .email-tab{position:static;display:inline-flex;align-items:center;min-height:44px;padding:0 42px 0 18px;border:1px solid var(--shop-control-line);border-radius:2px;writing-mode:horizontal-tb;background:#0b0c0a;box-shadow:0 10px 30px rgba(0,0,0,.28)}
  .email-tab__dismiss{position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:1;width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid rgba(210,182,117,.6);background:transparent;color:rgba(210,182,117,.9);font:400 20px/1 Arial,sans-serif;cursor:pointer}
  body.cart-open .email-tab-wrap,body:where(.cc-store).flyout-open .email-tab-wrap{display:none}


  @media(max-width:1080px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

  @media(max-width:700px){
    .shop-hero{min-height:100svh;display:block;padding:0 18px}
    .shop-hero__copy{position:absolute;z-index:2;top:118px;left:18px;right:18px;width:auto}
    :where(.cc-store) .shop-hero__copy .eyebrow{margin-bottom:12px}
    .shop-hero h1{font-size:clamp(50px,15vw,74px)}
    .shop-hero p:last-child{margin-top:18px}
    .offer-strip{grid-template-columns:1fr;width:calc(100% - 28px);margin:-292px auto 0}
    .offer-strip div{padding:16px 17px}
    .offer-strip div + div{border-left:0;border-top:1px solid var(--shop-subtle-line)}
    .catalog{padding:44px 14px 60px}
    .product-grid{gap:9px}
    .catalog-group__head{display:block;margin-bottom:18px}
    .catalog-group__head p{margin-top:10px}

    .email-tab-wrap{right:14px;bottom:18px}
    :where(.cc-store) .email-flyout__close{border:1px solid rgba(210,182,117,.75);width:40px;height:40px;font-size:21px;top:12px;right:12px}
  }

  @media(max-width:380px){.product-grid{grid-template-columns:1fr}}

/* ===== theme additions ===== */
/* ---------- section wrapper: per-device spacing, heading size, colors, visibility ---------- */
.cc-sec{display:block}
.cc-colors>.cc-root,.cc-colors>.legacy-tail>.cc-root{background:var(--sbg)!important;color:var(--sfg)!important}
@media (min-width:981px){
  .cc-pad>.cc-root,.cc-pad>.legacy-tail>.cc-root{padding-top:var(--pt-d)!important;padding-bottom:var(--pb-d)!important}
  .cc-ts .cc-h{font-size:var(--ts-d)!important}
  .cc-hide-d{display:none!important}
}
@media (min-width:701px) and (max-width:980px){
  .cc-pad>.cc-root,.cc-pad>.legacy-tail>.cc-root{padding-top:var(--pt-t)!important;padding-bottom:var(--pb-t)!important}
  .cc-ts .cc-h{font-size:var(--ts-t)!important}
  .cc-hide-t{display:none!important}
}
@media (max-width:700px){
  .cc-pad>.cc-root,.cc-pad>.legacy-tail>.cc-root{padding-top:var(--pt-m)!important;padding-bottom:var(--pb-m)!important}
  .cc-ts .cc-h{font-size:var(--ts-m)!important}
  .cc-hide-m{display:none!important}
}
body.cc-no-reveal [data-reveal]{opacity:1!important;transform:none!important}

/* header link blocks and logo */
.brand__logo{display:block;max-width:260px;object-fit:contain}
a.icon-button{text-decoration:none}
.site-header{z-index:95}

/* store pages: content starts under the fixed header */
.cc-main{min-height:40vh}

/* ---------- buttons, shared ---------- */
.cc-btn{display:inline-flex;align-items:center;gap:14px;text-decoration:none}
[data-add-variant].is-loading,.purchase-add.is-loading{opacity:.6;pointer-events:none}
button[disabled]{opacity:.55;cursor:not-allowed}

/* ---------- toast ---------- */
.cc-toast{position:fixed;z-index:140;left:50%;bottom:24px;transform:translate(-50%,140%);padding:12px 18px;border:1px solid var(--line-gold);background:#0b0c0a;color:var(--gold-light);font:700 12px/1.3 var(--body);letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:transform .35s var(--ease-out),opacity .35s ease;pointer-events:none;max-width:calc(100vw - 32px);text-align:center}
.cc-toast.is-open{transform:translate(-50%,0);opacity:1}

/* ---------- cart drawer: server rendered body ---------- */
.cc-cart-body{display:contents}
.cart-drawer.is-busy .cart-items,.cart-drawer.is-busy .cart-drawer__footer{opacity:.55;pointer-events:none}
.cart-item a{color:inherit;text-decoration:none}
.cart-item__qty output{display:grid;place-items:center}
.cc-cart-discount span:last-child{font-family:var(--body)!important;font-size:15px!important}
/* Line details under the price: subscription plan, line properties, line discounts (stock cart-item-product rows). */
.cart-item__copy .cart-item__meta{display:block;margin-top:2px;overflow-wrap:anywhere}
.cart-item__copy .cart-item__meta a{color:inherit;text-decoration:underline}
.cc-cart-apps{margin-top:clamp(24px,4vw,48px)}
.cart-drawer form{margin:0}
.checkout-preview[disabled]{opacity:.5}
.checkout-message a{color:var(--gold-light)}

/* ---------- email popup: native customer form ---------- */
.email-flyout form .email-flyout__message{grid-column:1/-1}
.email-flyout__message.is-success{color:var(--gold-light)}
.email-flyout__message.is-error{color:#e58a7a}

/* ---------- product page additions ---------- */
.cc-pdp-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.cc-pdp-thumb{width:64px;height:64px;padding:4px;border:1px solid var(--line-gold);background:#101111;cursor:pointer}
.cc-pdp-thumb img{width:100%;height:100%;object-fit:contain}
.cc-pdp-thumb.is-active{border-color:var(--gold-light)}
.pdp-lede p{margin:0 0 .8em}
.pdp-lede p:last-child{margin-bottom:0}
.cc-variant{display:grid;gap:8px;margin:0 0 12px}
.cc-variant__label{color:var(--muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.cc-variant select{min-height:50px;padding:0 14px;border:1px solid var(--line-gold);background:#0b0c0c;color:var(--white);font:inherit}
.included-band__intro p{margin:0 0 .6em}
span.included-row__art{display:block}

/* ---------- generic store pages (cart, search, page, contact, 404) ---------- */
.cc-cart-page,.cc-search-page,.cc-page-sec,.cc-404{width:min(1320px,100%);margin:auto;padding:140px clamp(20px,5vw,72px) clamp(60px,8vw,110px)}
.cc-page-head{margin-bottom:clamp(26px,4vw,48px);padding-bottom:18px;border-bottom:1px solid var(--line-gold)}
.cc-page-title{margin:0;font-family:var(--display);font-size:clamp(44px,5.6vw,92px);font-weight:400;line-height:.9;text-transform:uppercase;background:linear-gradient(#fff,#ddd9d0 60%,#948f88);background-clip:text;-webkit-background-clip:text;color:transparent}
.cc-cart-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:clamp(24px,4vw,60px);align-items:start}
.cc-cart-lines{display:grid;gap:14px}
.cc-cart-line{grid-template-columns:96px minmax(0,1fr) auto!important;padding:14px;border:1px solid rgba(245,243,237,.1)!important;background:rgba(255,255,255,.015)}
.cc-cart-line img{width:96px!important;height:96px!important}
.cc-cart-line .cart-item__copy strong{font-size:15px}
.cc-cart-line__total{font-family:var(--display);font-size:22px;font-weight:400;color:var(--gold-light)}
.cc-cart-summary{display:grid;gap:14px;padding:22px;border:1px solid var(--line-gold);background:linear-gradient(160deg,rgba(24,25,24,.9),rgba(8,9,9,.94));position:sticky;top:110px}
.cc-cart-note{display:grid;gap:8px;margin-bottom:12px;color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.cc-cart-note textarea,.cc-field input,.cc-field textarea,.cc-search-form input{width:100%;padding:12px 14px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--white);font:inherit;font-size:15px;letter-spacing:0;text-transform:none}
.cc-cart-empty{display:grid;justify-items:start;gap:22px}
.cc-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;max-width:640px;margin-top:22px}
.cc-search-form button{min-height:50px;padding:12px 22px;border:0;background:var(--gold-light);color:#111;font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.cc-search-count{color:var(--muted);margin:0 0 20px}
.cc-rte{max-width:78ch;color:rgba(245,243,237,.82);font-size:17px;line-height:1.7}
.cc-rte a{color:var(--gold-light)}
.cc-rte h2,.cc-rte h3{font-family:var(--display);font-weight:400;text-transform:uppercase;color:var(--white)}
.cc-rte img{height:auto}
.cc-contact{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(26px,5vw,80px);width:min(1320px,100%);margin:auto;padding:40px clamp(20px,5vw,72px) clamp(60px,8vw,110px)}
.cc-contact h2{margin:0 0 16px;font-family:var(--display);font-size:clamp(34px,4vw,58px);font-weight:400;line-height:.92;text-transform:uppercase}
.cc-contact__intro p{color:var(--muted);line-height:1.6}
.cc-contact__email a{color:var(--gold-light)}
.cc-contact form{display:grid;gap:14px}
.cc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cc-field{display:grid;gap:7px;color:var(--muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.cc-form-submit{justify-self:start;padding-inline:34px}
.cc-form-msg{margin:0;padding:12px 14px;border:1px solid var(--line-gold);color:var(--gold-light)}
.cc-form-msg.is-error{border-color:rgba(229,138,122,.5);color:#e58a7a}
.cc-404{text-align:left}
.cc-404 p{color:var(--muted);font-size:18px;max-width:52ch}
@media (max-width:900px){
  .cc-cart-grid,.cc-contact{grid-template-columns:1fr}
  .cc-cart-summary{position:static}
}
@media (max-width:700px){
  .cc-cart-page,.cc-search-page,.cc-page-sec,.cc-404{padding:100px 16px 60px}
  .cc-cart-line{grid-template-columns:64px minmax(0,1fr)!important}
  .cc-cart-line img{width:64px!important;height:64px!important}
  .cc-cart-line .cart-item__side{grid-column:1/-1;grid-template-columns:auto auto 1fr;justify-items:start;align-items:center}
  .cc-form-row{grid-template-columns:1fr}
  .cc-contact{padding:24px 16px 60px}
}

/* ---------- SHOPLINE account/blog pages on the dark design ---------- */
body.cc-fashion .cc-main{padding-top:100px}
body.cc-fashion{font-family:var(--body)}
/* Headings on these pages: see "stock bridge" at the end of the file (F-048, F-050). */

/* ---------- footer email signup (always-on counterpart to the timed popup) ---------- */
.footer-signup{margin-top:26px;max-width:40ch}
.footer-signup .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.legacy-footer .footer-signup__title{margin:0 0 6px;font-family:var(--body);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f1ece3}
.legacy-footer .footer-signup__copy{margin:0 0 12px;color:#8f877e;font-size:13.5px;line-height:1.55;max-width:40ch}
.footer-signup form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.footer-signup input{min-width:0;min-height:48px;padding:12px 14px;border:1px solid rgba(245,243,237,.22);background:rgba(255,255,255,.04);color:#f5f3ed;font:inherit;font-size:15px}
.footer-signup input::placeholder{color:#7d766c}
.footer-signup input:focus-visible{outline:2px solid var(--gold-light,#d8ba76);outline-offset:2px}
.footer-signup button[type=submit]{min-height:48px;padding:12px 18px;border:0;background:var(--gold-light,#d8ba76);color:#15120d;font-family:var(--body);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:filter .2s ease}
.footer-signup button[type=submit]:hover,.footer-signup button[type=submit]:focus-visible{filter:brightness(1.08)}
.legacy-footer .footer-signup__note{margin:10px 0 0;color:#6f6960;font-size:11.5px;line-height:1.45}
.footer-signup form .footer-signup__message{grid-column:1/-1}
.legacy-footer .footer-signup__message{margin:0;font-size:12.5px;line-height:1.45}
.footer-signup__message.is-success{color:var(--gold-light,#d8ba76)}
.footer-signup__message.is-error{color:#e58a7a}
@media(max-width:700px){
  .footer-signup{max-width:none}
  .footer-signup form{grid-template-columns:1fr}
}

/* ---------- email + button rows: footer signup, newsletter popup, password page, stock subscription block ----------
   Password managers and autofill extensions inject an icon element right after an email input. Left to
   auto-placement it took a grid cell (footer, popup) or a line of its own (password page, stock block) and
   pushed the button off the input's row. One rule for every row: the input and the button are pinned to
   their cells, and an injected element sits over the input's right end instead. Footer and popup stack
   the button under the input at 700px and below, as designed. */
:is(.footer-signup,.email-flyout) form input[type=email],
:is(.footer-signup,.email-flyout) form input[type=email]+:not([type=submit]),
:is(.newsletter-form,.block-subscription__inline-form) .field__inner>*{grid-area:1/1}
:is(.footer-signup,.email-flyout) form button[type=submit]{grid-area:1/2}
:is(.newsletter-form,.block-subscription__inline-form) .field__inner{display:grid}
:is(.footer-signup,.email-flyout) form input[type=email]+:not([type=submit]),
:is(.newsletter-form,.block-subscription__inline-form) .field__inner>input[type=email]~:not(.field__label){justify-self:end;align-self:center;margin-inline-end:10px;z-index:2}
@media(max-width:700px){
  :is(.footer-signup,.email-flyout) form button[type=submit]{grid-area:2/1}
}

/* ---------- product buy box: product form, option picker, express checkout, apps, description ---------- */
.pdp-form{margin:0}
.qty__input{width:100%;min-width:0;height:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:15px;text-align:center;-moz-appearance:textfield;appearance:textfield}
.qty__input::-webkit-outer-spin-button,.qty__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty__input:focus-visible{outline:1px solid var(--gold-light);outline-offset:-6px}
.pdp-add.is-loading,.pdp-sticky__add.is-loading{opacity:.6;pointer-events:none}
.pdp-add:disabled,.pdp-sticky__add:disabled{cursor:not-allowed;opacity:.55}
.pdp-add__arrow[hidden]{display:none}
.pdp-price [hidden],.pdp-sticky [hidden]{display:none}
.pdp-sticky__was{margin-left:.5em;color:rgba(245,243,237,.4);font-size:13px}
.pdp-express{width:auto;margin:11px 0 0 calc(132px + 11px)}
.pdp-express form{overflow:hidden}
.pdp-express.is-disabled,.pdp-express:empty{display:none}
.pdp-express>:empty{display:none}
.pdp-express:has(>:empty:only-child){display:none}
.cc-variant-picker{display:grid;gap:16px;margin:0 0 18px}
.cc-variant{min-width:0;margin:0;padding:0;border:0}
.cc-variant__label{margin:0 0 9px;padding:0;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.cc-variant__pills{display:flex;flex-wrap:wrap;gap:8px}
.cc-pill{position:relative;display:inline-flex;cursor:pointer}
.cc-pill__input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cc-pill__text{display:inline-flex;align-items:center;min-height:42px;padding:9px 16px;border:1px solid var(--line-gold);color:var(--white);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background .2s ease,border-color .2s ease,color .2s ease}
.cc-pill:hover .cc-pill__text{border-color:var(--gold-light)}
.cc-pill__input:checked+.cc-pill__text{border-color:var(--gold-light);background:var(--gold-light);color:#0b0c0c}
.cc-pill__input:focus-visible+.cc-pill__text{outline:2px solid var(--gold-light);outline-offset:2px}
.cc-pill.is-unavailable .cc-pill__text{opacity:.45;text-decoration:line-through}
.pdp-apps{margin:22px 0 0}
.pdp-apps:empty{display:none}
.pdp-lede.is-collapsible:not(.is-open) .pdp-lede__body{max-height:calc(1.62em * 4);overflow:hidden;-webkit-mask-image:linear-gradient(#000 50%,transparent);mask-image:linear-gradient(#000 50%,transparent)}
.pdp-lede__toggle{margin:10px 0 0;padding:0;border:0;background:none;color:var(--gold-light);font:700 12px/1.4 var(--body);letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.pdp-lede__toggle[hidden]{display:none}
.pdp-lede__toggle:focus-visible{outline:1px solid var(--gold-light);outline-offset:4px}
.cc-apps{padding:40px clamp(20px,5vw,72px)}
.cc-apps--contained{width:min(1420px,100%);margin:auto}
@media(max-width:700px){
  .pdp-express{margin-left:calc(110px + 8px)}
  .cc-apps{padding:24px 16px}
}

/* F-013 (J9): product video in the cc gallery frame and thumbs */
.pdp-frame [data-pdp-main][hidden],.pdp-frame__video[hidden],.pdp-frame__play[hidden]{display:none}
.pdp-frame__video{width:100%;aspect-ratio:16/9;max-height:min(62vh,640px);background:#000}
.pdp-frame__video video,.pdp-frame__video iframe{display:block;width:100%;height:100%;border:0;object-fit:contain;background:#000}
.pdp-frame__play{position:absolute;inset:0;margin:auto;width:76px;height:76px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;z-index:1}
.pdp-frame__play:focus-visible,.cc-pdp-thumb:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
.cc-pdp-thumb-item{display:block}
.cc-pdp-thumb{position:relative}
.pdp-play-badge{position:absolute;inset:0;margin:auto;width:28px;height:28px;border-radius:50%;background:rgba(5,5,5,.72);border:1px solid var(--gold);pointer-events:none}
.pdp-play-badge::after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent var(--gold-light)}
.pdp-frame__play .pdp-play-badge{width:76px;height:76px}
.pdp-frame__play .pdp-play-badge::after{border-width:13px 0 13px 21px}
@media (max-width:720px){.pdp-frame__video{max-height:48vh}}

/* ---------- native collection grid, storefront filters, sort and pagination (cc-catalog, cc-search) ---------- */
.cc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.catalog--collection{padding-top:140px}
.catalog-collection__head h1{margin:0;font-family:var(--display);font-size:clamp(40px,5vw,78px);font-weight:400;line-height:.9;text-transform:uppercase}
.cc-facets{margin:0 0 22px}
.cc-facets.is-busy{opacity:.6;pointer-events:none}
.cc-facets__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}
.cc-facets__filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cc-facets__label{margin-right:4px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.cc-facet{position:relative}
.cc-facet__summary{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--shop-control-line);color:var(--white);font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;list-style:none;transition:border-color .2s ease,color .2s ease}
.cc-facet__summary::-webkit-details-marker{display:none}
.cc-facet__summary::after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}
.cc-facet[open] .cc-facet__summary::after{transform:translateY(1px) rotate(-135deg)}
.cc-facet__summary:hover,.cc-facet[open] .cc-facet__summary,.cc-facet__summary:focus-visible{border-color:var(--gold-light);color:var(--gold-light);outline:none}
.cc-facet__count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;background:var(--gold-light);color:#111;font-size:11px;font-weight:800;letter-spacing:0}
.cc-facet__panel{position:absolute;top:calc(100% + 6px);left:0;z-index:20;min-width:240px;max-width:min(320px,calc(100vw - 28px));max-height:min(60vh,420px);overflow:auto;padding:14px;border:1px solid var(--shop-control-line);background:#0a0b0a;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.cc-facet fieldset{margin:0;padding:0;border:0}
.cc-facet__list{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.cc-facet__option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 4px;color:var(--white);font-size:14px;cursor:pointer}
.cc-facet__option input{width:16px;height:16px;margin:0;accent-color:var(--gold-light)}
.cc-facet__option.is-disabled{opacity:.4;cursor:not-allowed}
.cc-facet__num{color:var(--muted);font-size:12px}
.cc-facet__price{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cc-facet__price label{display:grid;gap:6px;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.cc-facet__price input,.cc-facets__sort select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--shop-control-line);background:rgba(255,255,255,.04);color:var(--white);font:inherit;font-size:14px;letter-spacing:0;text-transform:none}
.cc-facet__apply,.cc-facets__submit{grid-column:1/-1;min-height:40px;padding:0 18px;border:0;background:var(--gold-light);color:#111;font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.cc-facets.is-enhanced .cc-facets__submit{display:none}
.cc-facet__reset{display:inline-block;margin-top:10px;color:var(--gold-light);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.cc-facets__side{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-left:auto}
.cc-facets__total{margin:0;color:var(--muted);font-size:13px}
.cc-facets__sort{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.cc-facets__sort select{width:auto;min-width:190px;cursor:pointer}
.cc-facets__sort select option{background:#0a0b0a;color:var(--white)}
.cc-facet__price input:focus-visible,.cc-facets__sort select:focus-visible,.cc-facet__option input:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}
.cc-facets__active{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.cc-facets__chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--shop-control-line);color:var(--white);font-size:12px;text-decoration:none;transition:border-color .2s ease,color .2s ease}
.cc-facets__chip:hover,.cc-facets__chip:focus-visible{border-color:var(--gold-light);color:var(--gold-light)}
.cc-facets__clear{color:var(--gold-light);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cc-facets__empty{margin:30px 0;color:var(--muted);font-size:15px}
.cc-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:clamp(34px,4vw,56px)}
.cc-pagination__pages{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.cc-pagination__page,.cc-pagination__step,.cc-pagination__gap{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border:1px solid var(--shop-control-line);color:var(--white);font-size:14px;text-decoration:none;transition:border-color .2s ease,color .2s ease}
.cc-pagination__gap{border-color:transparent;color:var(--muted)}
.cc-pagination a:hover,.cc-pagination a:focus-visible{border-color:var(--gold-light);color:var(--gold-light);outline:none}
.cc-pagination__page.is-current{border-color:var(--gold-light);background:var(--gold-light);color:#111;font-weight:800}
.cc-pagination__step.is-disabled{opacity:.3}
.product-card__apps{margin:10px 0 0}
.product-card__apps:empty{display:none}
/* Header search panel: stock sections/predictive-search markup (imported by castle.js) in Castle styling */
.cc-search__results .predictive-search-section{animation:none;opacity:1;padding:0;color:var(--white,#f5f3ed);font-family:var(--body)}
.cc-search__results .predictive-search__header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:0;border:0;background:none}
.cc-search__results .predictive-search__title,.cc-search__results .predictive-search__count{margin:0;color:rgba(245,243,237,.5);font-family:var(--body);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.cc-search__results .predictive-search__body{padding:0;max-height:none;overflow:visible}
.cc-search__results .predictive-search__results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.cc-search__results .predictive-search__result-item{min-width:0;margin:0;padding:0}
.cc-search__results .predictive-search__result-item>a{display:block;height:100%;border:1px solid rgba(245,243,237,.1);background:rgba(255,255,255,.02);color:var(--white,#f5f3ed);text-decoration:none;transition:border-color .2s ease,background .2s ease}
.cc-search__results .predictive-search__result-item>a:hover,.cc-search__results .predictive-search__result-item>a:focus-visible{border-color:rgba(210,182,117,.55);background:rgba(210,182,117,.05);outline:none}
.cc-search__results .predictive-search__product{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;height:100%;padding:10px 12px;margin:0}
.cc-search__results .predictive-search__product-image-wrap{width:64px;height:64px;margin:0;padding:0;overflow:hidden;background:#111}
.cc-search__results .predictive-search__product-image{display:block;width:100%;height:100%;object-fit:contain;fill:rgba(245,243,237,.25)}
.cc-search__results .predictive-search__product-content{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:0}
.cc-search__results .predictive-search__product-title{margin:0;overflow:hidden;color:var(--white,#f5f3ed);font-family:var(--body);font-size:14px;font-weight:700;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;text-overflow:ellipsis;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical}
.cc-search__results .predictive-search__product-price{flex:0 0 auto;margin:0;text-align:right;color:var(--gold-light,#d2b675);font-family:var(--body);font-size:15px;font-weight:700;white-space:nowrap}
.cc-search__results .predictive-search__product-save-price{display:block;margin:0;color:rgba(245,243,237,.4);font-size:12px;font-weight:400;text-decoration:line-through}
.cc-search__results .cc-search__foot{justify-content:flex-end}
@media(max-width:700px){
  .cc-search__results .predictive-search__results{grid-template-columns:1fr}
  .cc-search__results .predictive-search__product{grid-template-columns:52px minmax(0,1fr)}
  .cc-search__results .predictive-search__product-image-wrap{width:52px;height:52px}
  .cc-search__results .predictive-search__product-title{font-size:13px}
}
@media(max-width:700px){
  .catalog--collection{padding-top:100px}
  .cc-facets__bar{align-items:stretch}
  .cc-facets__side{width:100%;margin-left:0;justify-content:space-between}
  .cc-facets__sort select{min-width:0}
  .cc-facet{position:static}
  .cc-facets__filters{position:relative;width:100%}
  .cc-facet__panel{left:0;right:0;max-width:none}
  .cc-pagination__page,.cc-pagination__step,.cc-pagination__gap{min-width:38px;height:38px}
}

/* ===== T5: stock header/footer features restyled to the Castle design (F-002) ===== */
/* Announcement bar (stock section, header group): thin gold-on-ink strip. Renders nothing without announcements.
   The fixed header moves down by the visible part of the strip (--cc-ann-offset, set by castle.js). */
.cc-body .site-header{top:var(--cc-ann-offset,0px)}
.cc-body .cc-announcement-bar{position:relative;z-index:96;background:var(--ink);border-bottom:1px solid var(--line-gold);color:var(--gold-light);font-family:var(--body)}
.cc-body .cc-announcement-bar .announcement-bar__group-item{background:var(--ink);color:var(--gold-light)}
.cc-body .cc-announcement-bar .announcement-bar__group-item-content{width:min(1480px,100%);margin:0 auto;padding-inline:clamp(16px,4.5vw,84px)}
.cc-body .cc-announcement-bar .announcement-bar__group-item-inner{min-height:34px;padding-block:7px}
.cc-body .cc-announcement-bar .rte{font-size:12px;font-weight:700;line-height:1.35;letter-spacing:.14em;text-transform:uppercase}
.cc-body .cc-announcement-bar .rte p{margin:0}
.cc-body .cc-announcement-bar .rte a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.cc-body .cc-announcement-bar .announcement-bar__group-item-link:focus-visible{outline:2px solid var(--gold-light);outline-offset:-3px}
.cc-body .cc-announcement-bar .announcement-bar__button,.cc-body .cc-announcement-bar .announcement-bar__autoplay{width:30px;height:30px;border:0;background:transparent;color:var(--gold-light);box-shadow:none;cursor:pointer}
.cc-body .cc-announcement-bar svg{fill:none;stroke:currentColor}
.cc-body .cc-announcement-bar .announcement-bar__group-social-medias a{color:var(--gold-light)}
.cc-body .cc-announcement-bar .announcement-bar__group-item-divide-line::after{background:var(--line-gold)}
@media(max-width:700px){.cc-body .cc-announcement-bar .rte{font-size:11px;letter-spacing:.1em}}

/* Header: one level of child links. Desktop dropdown on hover/focus-within or the toggle (aria-expanded). */
.cc-header-sec .cc-nav-item{position:relative;display:inline-flex;align-items:center;gap:2px}
.cc-header-sec .cc-nav-item__toggle{width:24px;height:30px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:rgba(245,243,237,.7);cursor:pointer}
.cc-header-sec .cc-nav-item__toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .2s ease}
.cc-header-sec .cc-nav-item__toggle:hover,.cc-header-sec .cc-nav-item.is-open .cc-nav-item__toggle{color:var(--gold-light)}
.cc-header-sec .cc-nav-sub{position:absolute;z-index:5;top:100%;left:-18px;min-width:220px;margin:0;padding:10px 0;list-style:none;border:1px solid var(--line-gold);background:rgba(5,6,6,.98);box-shadow:0 22px 50px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.cc-header-sec .cc-nav-item:hover:not(.is-dismissed) .cc-nav-sub,.cc-header-sec .cc-nav-item:focus-within:not(.is-dismissed) .cc-nav-sub,.cc-header-sec .cc-nav-item.is-open .cc-nav-sub{opacity:1;visibility:visible;transform:none}
.cc-header-sec .cc-nav-item:hover:not(.is-dismissed) .cc-nav-item__toggle svg,.cc-header-sec .cc-nav-item.is-open .cc-nav-item__toggle svg{transform:rotate(180deg)}
.cc-header-sec .cc-nav-sub a{display:block;padding:9px 20px;color:rgba(245,243,237,.84);font-size:14px;letter-spacing:.02em;white-space:nowrap}
.cc-header-sec .cc-nav-sub a:hover,.cc-header-sec .cc-nav-sub a[aria-current="page"]{color:var(--gold-light)}
.cc-header-sec .cc-nav-sub a:focus-visible{outline:2px solid var(--gold-light);outline-offset:-2px}
.cc-header-sec .mobile-nav__sub{display:grid;gap:14px;margin:-8px 0 4px;padding:0 0 0 18px;list-style:none;border-left:1px solid var(--line-gold)}
.cc-header-sec .mobile-nav .mobile-nav__sub a{font-family:var(--body);font-size:18px;letter-spacing:.04em;text-transform:none;color:rgba(245,243,237,.78)}
@media (prefers-reduced-motion:reduce){.cc-header-sec .cc-nav-sub,.cc-header-sec .cc-nav-item__toggle svg{transition:none}}

/* Language and country/currency pickers (components/castle/locale-picker). */
.cc-locale form{display:flex;align-items:center;gap:4px;margin:0}
.cc-locale__field{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 6px;color:rgba(245,243,237,.84);cursor:pointer}
.cc-locale__field:hover,.cc-locale__field:focus-within{color:var(--gold-light)}
.cc-locale__icon{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5}
.cc-locale select{max-width:170px;padding:4px 18px 4px 0;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5' fill='none' stroke='%23d2b675' stroke-width='2'/%3E%3C/svg%3E") no-repeat right center/12px;color:inherit;font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-overflow:ellipsis;cursor:pointer;-webkit-appearance:none;appearance:none}
.cc-locale select option{background:#0a0b0a;color:var(--white);text-transform:none;letter-spacing:0}
.cc-locale select:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
.cc-locale__go{min-height:32px;padding:0 10px;border:1px solid var(--line-gold);background:transparent;color:var(--gold-light);font:700 11px/1 var(--body);letter-spacing:.1em}
.cc-header-sec .cc-locale--header{display:flex;align-items:center}
@media (max-width:900px){.cc-header-sec .cc-locale--header{display:none}}
.cc-header-sec .cc-locale--drawer{margin-top:10px;padding-top:18px;border-top:1px solid var(--line)}
.cc-header-sec .cc-locale--drawer form{flex-wrap:wrap;gap:8px 18px}
.cc-header-sec .cc-locale--drawer select{max-width:none;font-size:13px}
.legacy-footer .cc-locale--footer{grid-column:1/-1}
.legacy-footer .cc-locale--footer form{flex-wrap:wrap;gap:6px 20px}
.legacy-footer .cc-locale--footer .cc-locale__field{padding-left:0;color:#a9a096}
.legacy-footer .cc-locale--footer .cc-locale__field:hover,.legacy-footer .cc-locale--footer .cc-locale__field:focus-within{color:var(--gold-light)}

/* Product page: "You may also like" (stock recommended-product) and "Recently viewed" (stock
   recently-viewed-product), both drawn with Castle cards. Both hide when empty. */
.cc-body .section-recommended-product,.cc-body .section-recently-viewed-product{width:min(1320px,100%);margin:auto;padding-inline:clamp(20px,5vw,72px)}
/* T14: empty until the section fetch fills it. The list host must keep a box (no display:none), or the
   stock VisibleElement observer never fires and the fetch never runs; only the heading and spacing collapse. */
.cc-body :is(.section-recommended-product,.section-recently-viewed-product):not(:has(.product-card)){padding-block:0!important;row-gap:0!important}
.cc-body :is(.section-recommended-product,.section-recently-viewed-product):not(:has(.product-card)) > :not(theme-recommended-product,theme-recently-viewed-product){display:none}
/* T14: Castle cards inside the stock product-list grid / carousel (blocks/product-list, card="castle"). */
/* base/index.css (stock .grid, .hidden-mobile) is not loaded on Castle pages, so the stock grid maths is
   repeated here on the same inline variables list.html writes (--desktop-columns, --mobile-columns,
   --mobile-gap-columns, --desktop/--mobile-auto-flow): columns and slider follow the block settings. */
.cc-body :is(.section-recommended-product,.section-recently-viewed-product) .block-product-list{--cc-gap:14px;display:grid;gap:var(--cc-gap);width:100%;margin:0;padding:6px 0 4px;list-style:none;background-color:transparent;overflow-x:auto;overflow-y:hidden}
@media(min-width:960px){.cc-body :is(.section-recommended-product,.section-recently-viewed-product) .block-product-list{--cc-col:calc((100% - var(--cc-gap) * (var(--desktop-columns) - 1)) / var(--desktop-columns));grid-template-columns:repeat(var(--desktop-columns),var(--cc-col));grid-auto-columns:var(--cc-col);grid-auto-flow:var(--desktop-auto-flow,row)}}
@media(max-width:959px){.cc-body :is(.section-recommended-product,.section-recently-viewed-product) .block-product-list{--cc-gap:9px;--cc-col:calc((100% - var(--cc-gap) * (var(--mobile-gap-columns,var(--mobile-columns)) - 1)) / var(--mobile-columns));grid-template-columns:repeat(var(--mobile-columns),var(--cc-col));grid-auto-columns:var(--cc-col);grid-auto-flow:var(--mobile-auto-flow,row)}.cc-body :is(.section-recommended-product,.section-recently-viewed-product) .block-product-list__button.hidden-mobile{display:none}}
.cc-body :is(.section-recommended-product,.section-recently-viewed-product) .block-product-list__cell--castle{display:flex;min-width:0}
.cc-body :is(.section-recommended-product,.section-recently-viewed-product) .block-product-list__cell--castle > .product-card{width:100%;min-width:0}
.cc-body :is(.section-recommended-product,.section-recently-viewed-product) .block-product-list__button{z-index:2;width:44px;height:44px;color:var(--gold-light);background:rgba(8,9,9,.92);border:1px solid var(--line-gold);border-radius:0;box-shadow:0 12px 28px rgba(0,0,0,.45);cursor:pointer;transition:color .2s,border-color .2s}
.cc-body :is(.section-recommended-product,.section-recently-viewed-product) .block-product-list__button:hover{color:var(--white);border-color:var(--gold-light)}
.cc-body :is(.section-recommended-product,.section-recently-viewed-product) .block-product-list__button:disabled{opacity:.35;cursor:default}
.cc-body :is(.section-recommended-product,.section-recently-viewed-product) .block-product-list__button--previous{inset-inline-start:-22px}
.cc-body :is(.section-recommended-product,.section-recently-viewed-product) .block-product-list__button--next{inset-inline-end:-22px}
.cc-body .section-recommended-product .block-heading,.cc-body .section-recently-viewed-product .block-heading{margin:0 0 28px;padding-bottom:18px;border-bottom:1px solid var(--line-gold);background:transparent!important;color:var(--white);font-family:var(--display);font-size:clamp(32px,3.6vw,54px);font-weight:400;line-height:1;text-align:left;text-transform:uppercase}
.cc-body .section-recommended-product theme-recommended-product,.cc-body .section-recently-viewed-product theme-recently-viewed-product{display:block}

/* F-028 (G4): visible keyboard focus on the home class picker and the card / offer controls, which
   earlier rules reset to outline:0. Mouse clicks do not show it (:focus-visible). */
.dfp-class-card:focus-visible{outline:2px solid var(--gold-light,#d8ba76);outline-offset:3px}
.product-card__link:focus-visible,.product-card__add:focus-visible,.offer-tab:focus-visible,.addon-box__head:focus-visible,.purchase-add:focus-visible,.quantity-control button:focus-visible{outline:2px solid var(--gold-light,#d8ba76);outline-offset:2px}
.addon__box:focus-visible{outline:2px solid var(--gold-light,#d8ba76);outline-offset:2px}

/* F-030: newsletter fields wrapper keeps the input and button as grid items of the form. */
.cc-signup-fields{display:contents}
.cc-signup-fields[hidden]{display:none}

/* Cart line picture properties (app uploads) as thumbnails, as stock cart-item-product. */
.cc-prop-images{display:inline-flex;flex-wrap:wrap;gap:6px;vertical-align:middle}
.cc-prop-images img{display:block;width:48px;height:48px;object-fit:cover;border:1px solid rgba(210,182,117,.28)}
.cc-prop-images a:focus-visible{outline:2px solid var(--gold-light,#d8ba76);outline-offset:2px}

/* ===== Stock bridge (F-045 to F-048, F-050): stock SHOPLINE sections (customers/*, blog, article,
   password, gift card) load base/index.css, which reads the stock theme settings (Poppins / Jost,
   4px radii). This block maps those styles to the Castle design. No merchant setting is changed and
   every native feature stays. body.cc-fashion is set by layout/theme.html and layout/password.html. */
body.cc-fashion{
  --sort-body-font:var(--body);--sort-body0-font:var(--body);--sort-body1-font:var(--body);--sort-body2-font:var(--body);--sort-body3-font:var(--body);--sort-body4-font:var(--body);--sort-body5-font:var(--body);--sort-body6-font:var(--body);
  --sort-title-font:var(--body);--sort-title0-font:var(--body);--sort-title1-font:var(--body);--sort-title2-font:var(--body);--sort-title3-font:var(--body);--sort-title4-font:var(--body);--sort-title5-font:var(--body);--sort-title6-font:var(--body);
  --button-border-radius:0;--input-border-radius:0;--input-border-radius-outset:0;--card-border-radius:0;--modal-border-radius:0;--variant-selector-border-radius:0;
  --product-card-border-radius:0;--product-card-border-radius-outset:0;--product-card-discount-radius:0;--article-card-border-radius:0;--article-card-border-radius-outset:0;--collection-card-border-radius:0;--collection-card-border-radius-outset:0;
  font-family:var(--body)
}
body.cc-fashion :is(.body0,.body1,.body2,.body3,.body4,.body5,.body6){font-family:var(--body)}
/* Small stock titles: the Castle small heading (Book Antiqua 700, uppercase). The display font is kept
   for page titles only, where it is large enough to stay clean (F-048). */
body.cc-fashion :is(.title0,.title1,.title2,.title3,.title4,.title5,.title6),
body.cc-fashion .cc-main :is(h2,h3,h4){font-family:var(--body);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
body.cc-fashion .cc-main :is(h1,.customer__title),
body.cc-password .main-password .block-heading{margin:0 0 .35em;font-family:var(--display);font-size:clamp(44px,5vw,72px);font-style:normal;font-weight:400;line-height:.95;letter-spacing:.01em;text-transform:uppercase;background:linear-gradient(#fff,#ddd9d0 60%,#948f88);background-clip:text;-webkit-background-clip:text;color:transparent}
/* Buttons (F-045): primary = the Castle gold button, secondary = gold outline. */
body.cc-fashion .button:not(.button--link,.button--text,.button--icon){min-height:50px;padding:12px 22px;border:1px solid var(--gold-light);border-radius:0;background:var(--gold-light);color:var(--cc-button-text,#111);font:800 12px/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;box-shadow:none;transition:transform .22s var(--ease-out),background-color .22s ease,color .22s ease,box-shadow .22s ease,filter .22s ease}
body.cc-fashion .button:not(.button--link,.button--text,.button--icon)::after{border-radius:0;box-shadow:none}
body.cc-fashion .button:not(.button--link,.button--text,.button--icon,[disabled],.disabled):is(:hover,:focus-visible){transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 12px 28px rgba(0,0,0,.24)}
body.cc-fashion .button.button--secondary:not(.button--link,.button--text,.button--icon){background:transparent;color:var(--gold-light)}
/* Links (F-047): the home page text link, muted with a thin underline, gold on hover. */
body.cc-fashion .button--link,
body.cc-fashion :is(.cc-main,.main-password,.main-password__header,.main-password__footer) a:not(.button){padding:0 1px;color:rgba(245,243,237,.8);font-family:var(--body);font-weight:400;letter-spacing:0;text-transform:none;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:5px}
body.cc-fashion .button--link:is(:hover,:focus-visible),
body.cc-fashion :is(.cc-main,.main-password,.main-password__header,.main-password__footer) a:not(.button):is(:hover,:focus-visible){color:var(--gold-light)}
/* Inputs (F-046): square Castle field, Book Antiqua 16px, Castle line; gold line while focused.
   The floating label and the password eye are native and stay. */
body.cc-fashion .field{border-radius:0;background:rgba(255,255,255,.04);font-family:var(--body);font-size:16px}
body.cc-fashion .field::after{border:1px solid var(--line);border-radius:0;box-shadow:none}
body.cc-fashion .field:hover::after{border-color:rgba(210,182,117,.5)}
body.cc-fashion .field:focus-within::after{border-color:var(--gold-light)}
body.cc-fashion .field__input{font-family:var(--body);font-size:16px;letter-spacing:0;color:var(--white)}
body.cc-fashion .field__label{font-family:var(--body);color:var(--muted);letter-spacing:0}
body.cc-fashion :is(.field-checkbox .checkbox,.field-radio .radio){border-color:var(--line-gold)}
body.cc-fashion .field-checkbox .checkbox{border-radius:0}
/* Footer on these pages: base/index.css sets body0 sizes on body and resets margins, so restate what
   the home page footer inherits from the browser (F-049, F-050). */
body.cc-fashion .legacy-footer{font-size:16px;font-weight:400;line-height:normal;letter-spacing:normal}
:where(body.cc-fashion .legacy-footer) h3{margin-block:1em;font-size:1.17em}
:where(body.cc-fashion .legacy-footer) p{margin-block:1em}
/* F-050: the drawer's "Goes well with this" heading at the readable small-label size, on every page. */
.cart-drawer .cart-recs__title{font-size:13px}

/* ===== F-051: password page in the Castle style (layout/password.html loads castle.css) ===== */
body.cc-password{background:var(--ink);color:var(--white)}
.cc-password :is(.main-password,.main-password__header,.main-password__footer,.modal__content){background:var(--ink)}
.cc-password .main-password__header::before{background:var(--line-gold)}
.cc-password .main-password__header-content>.title5{font-family:var(--display);font-size:clamp(28px,3vw,40px);font-weight:400;letter-spacing:.01em}
.cc-password .password-modal__trigger{color:var(--gold-light);font:700 12px/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.cc-password .main-password .main__content{border:1px solid var(--line-gold);background:rgba(5,6,6,.86)}
.cc-password .main-password .main__content p{color:var(--muted);font-size:17px;line-height:1.6}
.cc-password .newsletter-form .field__suffix .button--link{align-self:stretch;min-width:50px;padding:0 14px;background:var(--gold-light);color:var(--cc-button-text,#111);text-decoration:none!important}
.cc-password .main-password__footer{border-top:1px solid var(--line-gold)}
.cc-password .footer__tip{color:var(--muted)}

/* ===== F-052: policy pages on the Castle page shell (templates/policy.html) ===== */
.cc-policy .cc-rte{overflow-wrap:anywhere}
.cc-policy .cc-rte :is(h1,h2,h3,h4){margin:1.6em 0 .6em;font-family:var(--body);font-weight:700;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:var(--white)}
.cc-policy .cc-rte :is(h1,h2){font-size:18px}
.cc-policy .cc-rte :is(h3,h4){font-size:15px}

/* ===== F-056: newsletter flyout close and result messages, the same on every page ===== */
.email-flyout .email-flyout__close{top:9px;right:10px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;background:transparent;color:#aaa198;font:400 22px/1 var(--body)}
.email-flyout .email-flyout__close:is(:hover,:focus-visible){color:var(--gold-light)}
.email-flyout .email-flyout__message:is(.is-success,.is-error){min-height:0;margin:12px 0 0;padding:12px 14px;border:1px solid var(--line-gold);color:var(--gold-light);font-size:13px;line-height:1.45}
.email-flyout .email-flyout__message.is-error{border-color:rgba(229,138,122,.5);color:#e58a7a}

/* ===== F-044: on phones and tablets the offer tab is a corner button, as on the home page ===== */
@media (max-width:900px){
  :where(.cc-store) .email-tab{left:auto;right:14px;bottom:18px;min-height:44px;padding:0 42px 0 15px;border:1px solid rgba(210,182,117,.42);background:#0b0c0a;box-shadow:0 10px 28px rgba(0,0,0,.38);font-size:12px;writing-mode:horizontal-tb}
  :where(.cc-store) .email-tab::after{content:"\00d7";position:absolute;right:12px;top:50%;transform:translateY(-52%);color:rgba(245,243,237,.82);font-size:18px;font-weight:400}
  body:where(.cc-store).cart-open .email-tab,body:where(.cc-store).flyout-open .email-tab{display:none}
  body:where(.cc-store):has(.pdp-sticky.is-visible) .email-tab{bottom:84px}
}

/* ===== F-055: a page head with no page text (contact) sits right above the next section on phones ===== */
@media (max-width:700px){
  .cc-page-sec:not(:has(.cc-rte > *)){padding-bottom:0}
  .cc-page-sec:not(:has(.cc-rte > *)) .cc-page-head{margin-bottom:0}
}
