

    /* ═══════════════════════════════════════════
       DESIGN TOKENS
    ═══════════════════════════════════════════ */
    :root {
      --cream:      #f4f0ec;
      --cream-80:   rgba(244,240,236,0.80);
      --cream-40:   rgba(244,240,236,0.40);
      --cream-10:   rgba(244,240,236,0.08);
      --gold:       #c8a96f;
      --gold-hover: #d4b87e;
      --dark:       #242225;
      --dark-70:    rgba(36,34,37,0.70);
      --dark-40:    rgba(36,34,37,0.40);
      --dark-20:    rgba(36,34,37,0.20);
      --dark-12:    rgba(36,34,37,0.12);
      --dark-06:    rgba(36,34,37,0.06);

      --ff-body:    'DM Sans', system-ui, sans-serif;
      --ff-accent:  'Playfair Display', Georgia, serif;

      --fs-8:  8px; --fs-16: 16px; --fs-24: 24px;
      --fs-32: 32px; --fs-48: 48px; --fs-64: 64px; --fs-96: 96px;

      --lh-tight:  1.08; --lh-snug: 1.25;
      --lh-normal: 1.60; --lh-loose: 1.80;

      --max-w:      1280px;
      --pad-x:      clamp(16px, 5vw, 80px);
      --pad-mobile: 12px;
      --bar-h:      36px;
      --header-h:   72px;

      --ease:     cubic-bezier(0.4,0,0.2,1);
      --ease-out: cubic-bezier(0,0,0.2,1);
      --t-fast:   0.22s var(--ease);
      --t-mid:    0.40s var(--ease);
      --t-slow:   0.70s var(--ease-out);
    }

    /* ═══════════════════════════════════════════
       RESET & BASE
    ═══════════════════════════════════════════ */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: var(--ff-body);
      background: var(--cream);
      color: var(--dark);
      line-height: var(--lh-normal);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }
    img { display: block; width: 100%; height: 100%; object-fit: cover; }
    a { color: inherit; text-decoration: none; }
    button { cursor: pointer; border: none; background: none; font-family: inherit; color: inherit; }
    ul { list-style: none; }
    input { font-family: inherit; }

    /* ═══════════════════════════════════════════
       TITLE SYSTEM
       — default: DM Sans, ls -0.04em, lh 1.1, w400
       — em accent: Playfair italic, ls -0.03em, gold
    ═══════════════════════════════════════════ */
    .ts-title {
      font-family: var(--ff-body);
      font-weight: 400;
      letter-spacing: -0.04em;
      line-height: 1em;
      color: var(--dark);
    }
    .ts-title em {
      font-family: var(--ff-accent);
      font-style: italic;
      font-weight: 400;
      letter-spacing: -0.03em;
      line-height: 1em;
      color: var(--gold);
    }
    .ts-title--xl { font-size: clamp(32px, 4.5vw, 64px); }
    .ts-title--lg { font-size: clamp(28px, 3.5vw, 48px); }
    .ts-title--light { color: var(--cream); }
    .ts-title--light em { color: var(--gold); }

    /* Heading style for non-.ts-title contexts */
    .ts-heading {
      font-family: var(--ff-body);
      font-weight: 400;
      letter-spacing: -0.04em;
      line-height: 1em;
    }
    .ts-heading em {
      font-family: var(--ff-accent);
      font-style: italic;
      font-weight: 400;
      letter-spacing: -0.03em;
      color: var(--gold);
    }

    /* ═══════════════════════════════════════════
       EYEBROW
    ═══════════════════════════════════════════ */
    .ts-eyebrow {
      display: block;
      font-size: 11px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold);
      font-weight: 500;
      margin-bottom: 14px;
    }

    /* Section head margin */
    .ts-section-head { margin-bottom: 48px; }

    /* ═══════════════════════════════════════════
       BUTTONS
    ═══════════════════════════════════════════ */
    .ts-btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 15px 32px;
      font-family: var(--ff-body);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.20em;
      text-transform: uppercase;
      transition: background var(--t-fast), color var(--t-fast),
                  border-color var(--t-fast), gap var(--t-fast);
      white-space: nowrap;
    }
    .ts-btn--fill { background: var(--gold); color: var(--dark); }
    .ts-btn--fill:hover { background: var(--gold-hover); gap: 14px; }
    .ts-btn--ghost-dark { border: 1px solid var(--dark-20); color: var(--dark-70); }
    .ts-btn--ghost-dark:hover { border-color: var(--dark); color: var(--dark); gap: 14px; }
    .ts-btn--ghost-light { border: 1px solid var(--cream-40); color: var(--cream-40); }
    .ts-btn--ghost-light:hover { border-color: var(--cream); color: var(--cream); gap: 14px; }
    .ts-arrow-icon {
      width: 13px; height: 13px; stroke: currentColor;
      stroke-width: 2.5; fill: none; stroke-linecap: round; flex-shrink: 0;
    }

    /* ═══════════════════════════════════════════
       STICKY TOP WRAPPER
    ═══════════════════════════════════════════ */
    .ts-top {
      position: sticky;
      top: 0;
      z-index: 200;
    }

    /* ═══════════════════════════════════════════
       ANNOUNCEMENT BAR
    ═══════════════════════════════════════════ */
    .ts-bar {
      background: var(--dark);
      height: var(--bar-h);
      display: flex;
      align-items: center;
      overflow: hidden;
    }
    .ts-bar__track {
      display: flex;
      white-space: nowrap;
      animation: ts-marquee 30s linear infinite;
    }
    .ts-bar__item {
      display: inline-flex;
      align-items: center;
      gap: 20px;
      font-size: 11px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--cream-80);
      font-weight: 400;
      padding: 0 32px;
    }
    .ts-bar__item::after {
      content: '';
      display: inline-block;
      width: 3px; height: 3px;
      border-radius: 50%;
      background: var(--gold);
      flex-shrink: 0;
    }
    @keyframes ts-marquee {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }

    /* ═══════════════════════════════════════════
       HEADER
    ═══════════════════════════════════════════ */
    .ts-header {
      height: var(--header-h);
      background: var(--cream);
      border-bottom: 1px solid var(--dark-12);
      transition: background var(--t-mid), backdrop-filter var(--t-mid);
      position: relative;
    }
    .ts-top.--scrolled .ts-header {
      background: rgba(244,240,236,0.92);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }
    .ts-header__grid {
      max-width: var(--max-w);
      margin: 0 auto;
      padding: 0 var(--pad-x);
      height: 100%;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
    }
    .ts-header__left  { display: flex; align-items: center; }
    .ts-header__right { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }

    /* Logo */
    .ts-logo-link { display: flex; align-items: center; }
    .ts-logo-full { height: 22px; width: auto; display: block; }
    .ts-logo-symbol { height: 32px; width: auto; display: none; }
    /* Mobile-only logo hidden by default (shown in mobile breakpoint) */
    .ts-logo-link--mobile-only { display: none; }
    /* Desktop-only logo shown by default */
    .ts-logo-link--desktop-only { display: flex; align-items: center; }

    /* Icon buttons */
    .ts-icon-btn {
      display: flex; align-items: center; justify-content: center;
      width: 44px; height: 44px;
      color: var(--dark);
      transition: color var(--t-fast);
      position: relative;
    }
    .ts-icon-btn:hover { color: var(--gold); }
    .ts-icon-btn.--active { color: var(--gold); }
    .ts-icon-btn svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.4; fill: none; }

    /* Cart badge */
    .ts-badge {
      position: absolute;
      top: 6px; right: 6px;
      background: var(--gold);
      color: var(--dark);
      font-size: 9px; font-weight: 600;
      width: 17px; height: 17px;
      border-radius: 50%;
      display: none;
      align-items: center; justify-content: center;
    }
    .ts-badge.--visible { display: flex; }

    /* Hamburger with slide X */
    .ts-hamburger {
      position: relative;
      width: 44px; height: 44px;
      display: flex; align-items: center; justify-content: center;
      overflow: hidden;
    }
    .ts-hamburger__lines {
      display: flex; flex-direction: column; gap: 6px; width: 22px;
      transition: transform var(--t-mid), opacity var(--t-mid);
    }
    .ts-hamburger__line {
      display: block; height: 1px; background: var(--dark);
      transition: width var(--t-mid);
    }
    .ts-hamburger__line:last-child { width: 60%; align-self: flex-end; }
    .ts-hamburger__x {
      position: absolute;
      font-size: 18px; font-weight: 300;
      color: var(--dark); line-height: 1;
      transform: translateX(130%); opacity: 0;
      transition: transform var(--t-mid), opacity var(--t-mid);
      pointer-events: none;
    }
    .ts-hamburger.--active .ts-hamburger__lines { transform: translateX(-130%); opacity: 0; }
    .ts-hamburger.--active .ts-hamburger__x { transform: translateX(0); opacity: 1; }

    /* ═══════════════════════════════════════════
       SEARCH BAR — slides below header
    ═══════════════════════════════════════════ */
    .ts-search-bar {
      background: var(--cream);
      border-bottom: 1px solid var(--dark-12);
      overflow: hidden;
      max-height: 0;
      opacity: 0;
      transition: max-height 0.4s var(--ease-out), opacity 0.3s var(--ease);
    }
    .ts-search-bar.--open {
      max-height: 480px;
      opacity: 1;
    }
    .ts-search-bar__inner {
      max-width: var(--max-w);
      margin: 0 auto;
      padding: 20px var(--pad-x);
    }
    .ts-search-bar__field {
      display: flex;
      align-items: center;
      border-bottom: 2px solid var(--dark);
      padding-bottom: 12px;
      gap: 12px;
    }
    .ts-search-bar__field svg {
      width: 18px; height: 18px; stroke: var(--dark-40); stroke-width: 1.5; fill: none; flex-shrink: 0;
    }
    .ts-search-bar__input {
      flex: 1; background: none; border: none; outline: none;
      font-family: var(--ff-body);
      font-size: clamp(20px, 2.5vw, 28px);
      font-weight: 300;
      letter-spacing: -0.02em;
      color: var(--dark);
    }
    .ts-search-bar__input::placeholder { color: var(--dark-20); }
    .ts-search-bar__clear {
      font-size: 20px; color: var(--dark-40);
      transition: color var(--t-fast);
      display: none;
      line-height: 1;
    }
    .ts-search-bar__clear.--visible { display: block; }
    .ts-search-bar__clear:hover { color: var(--dark); }

    /* Search preview results */
    .ts-search-results {
      padding-top: 20px;
      display: none;
    }
    .ts-search-results.--visible { display: block; }
    .ts-search-results__list {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
      margin-bottom: 16px;
    }
    .ts-search-item {
      display: flex; align-items: center; gap: 12px;
      padding: 10px;
      transition: background var(--t-fast);
      cursor: pointer;
    }
    .ts-search-item:hover { background: var(--dark-06); }
    .ts-search-item__img {
      width: 48px; height: 64px; flex-shrink: 0;
      background: var(--dark-06);
      overflow: hidden;
    }
    .ts-search-item__img img { width: 100%; height: 100%; object-fit: cover; }
    .ts-search-item__info { min-width: 0; }
    .ts-search-item__name {
      font-size: 13px; font-weight: 400;
      color: var(--dark);
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
      letter-spacing: -0.01em;
    }
    .ts-search-item__price { font-size: 12px; color: var(--dark-40); margin-top: 2px; }
    .ts-search-bar__see-all {
      display: flex; align-items: center; justify-content: center;
      width: 100%;
      padding: 12px;
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--dark-70);
      border: 1px solid var(--dark-12);
      transition: border-color var(--t-fast), color var(--t-fast);
    }
    .ts-search-bar__see-all:hover { border-color: var(--dark); color: var(--dark); }
    .ts-search-empty {
      padding: 24px 0;
      font-size: 14px;
      color: var(--dark-40);
      display: none;
    }
    .ts-search-empty.--visible { display: block; }

    /* ═══════════════════════════════════════════
       CART POPUP
    ═══════════════════════════════════════════ */
    .ts-cart-popup {
      position: absolute;
      top: calc(100% + 1px);
      right: 0;
      width: 340px;
      background: var(--cream);
      border: 1px solid var(--dark-12);
      border-top: none;
      box-shadow: 0 12px 40px rgba(36,34,37,0.10);
      z-index: 300;
      opacity: 0;
      transform: translateY(-8px);
      pointer-events: none;
      transition: opacity var(--t-mid), transform var(--t-mid);
    }
    .ts-cart-popup.--open {
      opacity: 1;
      transform: translateY(0);
      pointer-events: all;
    }
    .ts-cart-popup__head {
      display: flex; align-items: center; justify-content: space-between;
      padding: 16px 20px;
      border-bottom: 1px solid var(--dark-12);
    }
    .ts-cart-popup__title {
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--dark);
    }
    .ts-cart-popup__count { font-size: 12px; color: var(--dark-40); }
    .ts-cart-popup__body { padding: 0; max-height: 280px; overflow-y: auto; }
    .ts-cart-item {
      display: flex; gap: 14px; align-items: flex-start;
      padding: 14px 20px;
      border-bottom: 1px solid var(--dark-06);
    }
    .ts-cart-item__img {
      width: 56px; height: 72px; flex-shrink: 0; background: var(--dark-06); overflow: hidden;
    }
    .ts-cart-item__img img { width: 100%; height: 100%; object-fit: cover; }
    .ts-cart-item__info { flex: 1; min-width: 0; }
    .ts-cart-item__name {
      font-size: 13px; font-weight: 400; color: var(--dark);
      letter-spacing: -0.01em;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
      margin-bottom: 3px;
    }
    .ts-cart-item__meta { font-size: 12px; color: var(--dark-40); }
    .ts-cart-item__price { font-size: 13px; color: var(--dark); margin-top: 6px; }
    .ts-cart-popup__footer { padding: 16px 20px; border-top: 1px solid var(--dark-12); }
    .ts-cart-popup__subtotal {
      display: flex; justify-content: space-between;
      font-size: 13px; margin-bottom: 14px;
    }
    .ts-cart-popup__subtotal-label { color: var(--dark-70); }
    .ts-cart-popup__subtotal-val { font-weight: 500; color: var(--dark); }
    .ts-cart-popup__cta {
      display: flex; align-items: center; justify-content: center;
      width: 100%;
      background: var(--dark);
      color: var(--cream);
      font-family: var(--ff-body);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      padding: 14px;
      transition: background var(--t-fast);
    }
    .ts-cart-popup__cta:hover { background: rgba(36,34,37,0.82); }
    .ts-cart-popup__empty {
      padding: 40px 20px;
      text-align: center;
      font-size: 13px;
      color: var(--dark-40);
    }

    /* ═══════════════════════════════════════════
       NAV PANEL
    ═══════════════════════════════════════════ */
    .ts-nav {
      position: fixed; inset: 0;
      z-index: 150;
      pointer-events: none;
    }
    .ts-nav.--open { pointer-events: all; }
    .ts-nav__veil {
      position: absolute; inset: 0;
      background: rgba(36,34,37,0.50);
      opacity: 0;
      transition: opacity var(--t-slow);
      backdrop-filter: blur(2px);
    }
    .ts-nav.--open .ts-nav__veil { opacity: 1; }
    .ts-nav__panel {
      position: absolute; top: 0; left: 0;
      width: min(420px, 86vw); height: 100%;
      background: var(--dark);
      transform: translateX(-100%);
      transition: transform var(--t-slow);
      display: flex; flex-direction: column;
      overflow-y: auto;
      padding: calc(var(--bar-h) + var(--header-h) + 48px) 48px 48px;
    }
    .ts-nav.--open .ts-nav__panel { transform: translateX(0); }
    .ts-nav__block { margin-bottom: 40px; }
    .ts-nav__label {
      font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase;
      color: var(--gold); font-weight: 500; margin-bottom: 18px;
    }
    .ts-nav__main-link {
      display: block;
      font-family: var(--ff-body);
      font-size: var(--fs-48); font-weight: 300;
      letter-spacing: -0.04em; line-height: 1.15;
      color: var(--cream);
      transition: color var(--t-fast), padding-left var(--t-fast);
    }
    .ts-nav__main-link:hover { color: var(--gold); padding-left: 8px; }
    .ts-nav__sub-link {
      display: block; font-size: var(--fs-16); font-weight: 300;
      color: var(--cream-40); padding: 5px 0; letter-spacing: 0.02em;
      transition: color var(--t-fast), padding-left var(--t-fast);
    }
    .ts-nav__sub-link:hover { color: var(--cream); padding-left: 6px; }
    .ts-nav__sub-link.--sold { text-decoration: line-through; pointer-events: none; }
    .ts-nav__footer {
      margin-top: auto;
      display: flex; flex-direction: column; gap: 10px;
      padding-top: 40px;
      border-top: 1px solid rgba(244,240,236,0.08);
    }
    .ts-nav__cta {
      display: block; text-align: center;
      font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 500;
      padding: 15px 24px;
      transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
    }
    .ts-nav__cta--fill { background: var(--gold); color: var(--dark); }
    .ts-nav__cta--fill:hover { background: var(--gold-hover); }
    .ts-nav__cta--ghost { border: 1px solid var(--cream-40); color: var(--cream-40); }
    .ts-nav__cta--ghost:hover { border-color: var(--gold); color: var(--gold); }

    /* ═══════════════════════════════════════════
       HERO
    ═══════════════════════════════════════════ */
    .ts-hero {
      position: relative;
      height: calc(100svh - var(--header-h) - var(--bar-h));
      max-height: 650px; min-height: 400px;
      overflow: hidden; background: var(--dark);
    }
    .ts-slide {
      position: absolute; inset: 0;
      opacity: 0; transition: opacity 1.0s var(--ease-out);
    }
    .ts-slide.--active { opacity: 1; z-index: 1; }
    .ts-slide__img { position: absolute; inset: 0; }
    .ts-slide[data-slide="0"] .ts-slide__img { background: linear-gradient(160deg,#2a2028 0%,#1c1a24 40%,#241f20 100%); }
    .ts-slide[data-slide="1"] .ts-slide__img { background: linear-gradient(160deg,#1e2226 0%,#232023 40%,#1a1c1e 100%); }
    .ts-slide[data-slide="2"] .ts-slide__img { background: linear-gradient(160deg,#26221e 0%,#201e22 40%,#1e1c1a 100%); }

    /* Hero controls */
    .ts-hero__arrow {
      position: absolute; top: 50%; transform: translateY(-50%);
      z-index: 3; width: 52px; height: 52px;
      display: flex; align-items: center; justify-content: center;
      color: var(--cream); opacity: 0.55;
      transition: opacity var(--t-fast);
      border: 1px solid rgba(244,240,236,0.20);
    }
    .ts-hero__arrow:hover { opacity: 1; }
    .ts-hero__arrow--prev { left: clamp(16px,3vw,48px); }
    .ts-hero__arrow--next { right: clamp(16px,3vw,48px); }
    .ts-hero__arrow svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.4; fill: none; }
    .ts-hero__dots {
      position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%);
      z-index: 3; display: flex; align-items: center; gap: 10px;
    }
    .ts-hero__dot {
      height: 2px; border: none;
      background: var(--cream-40);
      transition: background var(--t-mid), width var(--t-mid);
      width: 22px; cursor: pointer;
    }
    .ts-hero__dot.--active { background: var(--gold); width: 40px; }
    .ts-hero__counter {
      position: absolute; bottom: 30px; right: clamp(16px,3vw,48px);
      z-index: 3; font-family: var(--ff-body); font-size: 14px;
      color: var(--cream-40); letter-spacing: 0.12em;
    }
    .ts-hero__counter-current { color: var(--cream-80); }
    .ts-hero__scroll-hint {
      position: absolute; bottom: 28px; left: clamp(16px,3vw,48px);
      z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 10px;
    }
    .ts-hero__scroll-text {
      font-size: 9px; letter-spacing: 0.26em; text-transform: uppercase;
      color: var(--cream-40); writing-mode: vertical-rl; transform: rotate(180deg);
    }
    .ts-hero__scroll-line {
      width: 1px; height: 48px;
      background: linear-gradient(to bottom, var(--gold) 0%, transparent 100%);
    }

    /* ═══════════════════════════════════════════
       REVEAL
    ═══════════════════════════════════════════ */
    .ts-reveal {
      opacity: 0; transform: translateY(24px);
      transition: opacity 0.85s var(--ease-out), transform 0.85s var(--ease-out);
    }
    .ts-reveal.--in { opacity: 1; transform: translateY(0); }
    .ts-reveal[data-delay="1"] { transition-delay: 0.10s; }
    .ts-reveal[data-delay="2"] { transition-delay: 0.20s; }
    .ts-reveal[data-delay="3"] { transition-delay: 0.30s; }
    .ts-reveal[data-delay="4"] { transition-delay: 0.40s; }

    /* ═══════════════════════════════════════════
       CONCEPT
    ═══════════════════════════════════════════ */
    .ts-concept {
      background: var(--cream);
      padding: clamp(80px,10vw,160px) var(--pad-x);
    }
    .ts-concept__wrap {
      max-width: var(--max-w); margin: 0 auto;
      display: grid; grid-template-columns: 1fr 1fr;
      gap: clamp(48px,7vw,100px); align-items: center;
    }
    .ts-concept__content { max-width: 520px; }
    .ts-concept__title {
      font-family: var(--ff-body); font-weight: 400;
      letter-spacing: -0.04em; line-height: 1em;
      font-size: clamp(30px,4vw,56px);
      color: var(--dark); margin-bottom: 24px;
    }
    .ts-concept__title em {
      font-family: var(--ff-accent); font-style: italic;
      font-weight: 400; letter-spacing: -0.03em; color: var(--gold);
    }
    .ts-concept__body {
      font-size: var(--fs-16); font-weight: 300;
      color: var(--dark-70); line-height: var(--lh-loose);
      margin-bottom: 32px;
    }
    .ts-concept__link {
      display: inline-flex; align-items: center; gap: 8px;
      font-size: 13px; color: var(--dark);
      text-decoration: underline; text-underline-offset: 5px;
      text-decoration-color: var(--dark-20);
      transition: color var(--t-fast), gap var(--t-fast), text-decoration-color var(--t-fast);
    }
    .ts-concept__link:hover { color: var(--gold); gap: 12px; text-decoration-color: var(--gold); }
    .ts-concept__link svg { width: 14px; height: 14px; stroke: currentColor; stroke-width: 1.5; fill: none; flex-shrink: 0; }
    .ts-concept__visual { position: relative; height: clamp(400px,50vw,580px); }
    .ts-concept__img { width: 100%; height: 100%; background: #ddd8d3; }
    .ts-concept__badge {
      position: absolute; bottom: -18px; left: -10px;
      background: var(--dark); padding: 20px 28px;
    }
    .ts-concept__badge-eyebrow {
      font-size: 10px; letter-spacing: 0.20em; text-transform: uppercase;
      color: var(--cream-40); font-weight: 400; margin: 0;
    }
    .ts-concept__badge-value {
      margin-top: -2px;
      font-family: var(--ff-accent); font-style: italic;
      font-size: var(--fs-24); font-weight: 400;
      color: var(--gold); letter-spacing: -0.02em; margin-top: 4px;
    }
    .ts-concept__line {
      position: absolute; top: 32px; right: -32px;
      width: 1px; height: 60%;
      background: linear-gradient(to bottom, var(--dark-12), transparent);
    }

    /* ═══════════════════════════════════════════
       VITRINE
    ═══════════════════════════════════════════ */
    .ts-vitrine {
      background: var(--cream);
      padding: clamp(64px,8vw,120px) 0;
      border-top: 1px solid var(--dark-12);
    }
    .ts-vitrine__wrap { max-width: var(--max-w); margin: 0 auto; padding: 0 var(--pad-x); }
    .ts-vitrine__head {
      display: flex; align-items: flex-end;
      justify-content: space-between;
      gap: 32px; flex-wrap: wrap;
    }

    /* Product grid — gap aumentado */
    .ts-product-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 28px;
    }

    /* Product card */
    .ts-card { position: relative; cursor: pointer; }
    .ts-card__media {
      position: relative; overflow: hidden;
      aspect-ratio: 3 / 4; background: var(--dark-06);
    }
    .ts-card__img {
      position: absolute; inset: 0;
      transition: transform 0.85s var(--ease-out);
    }
    .ts-card__img img { width: 100%; height: 100%; object-fit: cover; }
    .ts-card:hover .ts-card__img { transform: scale(1.05); }
    .ts-card__badge {
      position: absolute; top: 14px; left: 14px;
      font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
      font-weight: 500; padding: 4px 10px; z-index: 2; line-height: 1;
    }
    .ts-card__badge--new { background: var(--gold); color: var(--dark); }
    .ts-card__badge--low { background: rgba(36,34,37,0.06); color: var(--dark-70); border: 1px solid var(--dark-12); }
    .ts-card__wish {
      position: absolute; top: 12px; right: 12px; z-index: 2;
      width: 34px; height: 34px;
      display: flex; align-items: center; justify-content: center;
      color: var(--dark-40);
      opacity: 0; transform: translateY(-4px);
      transition: opacity var(--t-fast), transform var(--t-fast), color var(--t-fast);
    }
    .ts-card:hover .ts-card__wish { opacity: 1; transform: translateY(0); }
    .ts-card__wish:hover { color: var(--gold); }
    .ts-card__wish svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
    .ts-card__wish.--saved svg { fill: var(--gold); stroke: var(--gold); }
    .ts-card__action {
      position: absolute; bottom: 0; left: 0; right: 0; z-index: 2;
      padding: 12px;
      background: linear-gradient(to top, rgba(36,34,37,0.28) 0%, transparent 100%);
      transform: translateY(6px); opacity: 0;
      transition: transform var(--t-mid), opacity var(--t-mid);
    }
    .ts-card:hover .ts-card__action { transform: translateY(0); opacity: 1; }
    .ts-card__quick {
      width: 100%; background: var(--cream); color: var(--dark);
      font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
      font-weight: 500; padding: 11px; font-family: var(--ff-body);
      transition: background var(--t-fast);
    }
    .ts-card__quick:hover { background: var(--gold); }
    .ts-card__info { padding: 14px 0 4px; }
    .ts-card__cat { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 5px; }
    .ts-card__name {
      font-family: var(--ff-body); font-size: 15px; font-weight: 400;
      letter-spacing: -0.03em; color: var(--dark);
      margin-bottom: 6px; line-height: var(--lh-snug);
    }
    .ts-card__price { font-size: 14px; color: var(--dark-70); }
    .ts-card__stars { display: flex; gap: 2px; margin-top: 6px; }
    .ts-card__star { color: var(--gold); font-size: 10px; line-height: 1; }
    .ts-card__star--dim { opacity: 0.25; }
    .ts-vitrine__foot { margin-top: 48px; display: flex; justify-content: center; }

    /* ═══════════════════════════════════════════
       DIFERENCIAIS
    ═══════════════════════════════════════════ */
    .ts-difs {
      background: var(--cream);
      padding: clamp(80px,10vw,160px) var(--pad-x);
      border-top: 1px solid var(--dark-12);
    }
    .ts-difs__wrap { max-width: var(--max-w); margin: 0 auto; }
    .ts-difs__head { max-width: 600px; }
    .ts-difs__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; }
    .ts-dif {
      padding: 48px 40px; background: var(--dark-06);
      position: relative; overflow: hidden;
      transition: background var(--t-mid);
    }
    .ts-dif::before {
      content: ''; position: absolute; bottom: 0; left: 0;
      width: 0; height: 2px; background: var(--gold);
      transition: width 0.6s var(--ease-out);
    }
    .ts-dif:hover { background: var(--dark-12); }
    .ts-dif:hover::before { width: 100%; }
    .ts-dif__number {
      font-family: var(--ff-body); font-weight: 300;
      font-size: clamp(48px,6vw,var(--fs-96));
      color: var(--gold); opacity: 0.15; line-height: 1;
      margin-bottom: 20px;
      transition: opacity var(--t-mid);
    }
    .ts-dif:hover .ts-dif__number { opacity: 0.28; }
    .ts-dif__title {
      font-family: var(--ff-body); font-size: var(--fs-24);
      font-weight: 400; letter-spacing: -0.03em;
      color: var(--dark); line-height: 1.2; margin-bottom: 14px;
    }
    .ts-dif__text { font-size: 14px; font-weight: 300; color: var(--dark-70); line-height: var(--lh-normal); }

    /* ═══════════════════════════════════════════
       STRIP B2B
    ═══════════════════════════════════════════ */
    .ts-strip {
      background: var(--gold);
      padding: clamp(48px,6vw,80px) var(--pad-x);
    }
    .ts-strip__wrap {
      max-width: var(--max-w); margin: 0 auto;
      display: flex; align-items: center;
      justify-content: space-between; gap: 32px; flex-wrap: wrap;
    }
    .ts-strip__text {
      font-family: var(--ff-body); font-weight: 400;
      letter-spacing: -0.04em; line-height: 1em;
      font-size: clamp(24px,3.5vw,48px); color: var(--dark);
    }
    .ts-strip__sub { font-size: 14px; font-weight: 300; color: rgba(36,34,37,0.65); margin-top: 6px; }
    .ts-strip__btn {
      display: inline-flex; align-items: center; gap: 10px;
      background: var(--dark); color: var(--cream);
      font-family: var(--ff-body); font-size: 11px;
      letter-spacing: 0.20em; text-transform: uppercase; font-weight: 500;
      padding: 16px 36px; white-space: nowrap;
      transition: background var(--t-fast), gap var(--t-fast);
    }
    .ts-strip__btn:hover { background: rgba(36,34,37,0.85); gap: 14px; }

    /* ═══════════════════════════════════════════
       FOOTER
    ═══════════════════════════════════════════ */
    .ts-footer {
      background: var(--dark); color: var(--cream);
      padding: clamp(64px,8vw,100px) var(--pad-x) 40px;
    }
    .ts-footer__wrap { max-width: var(--max-w); margin: 0 auto; }
    .ts-footer__cols {
      display: grid; grid-template-columns: 2.2fr 1fr 1fr 1fr;
      gap: 60px;
      padding-bottom: 56px;
      border-bottom: 1px solid rgba(244,240,236,0.08);
      margin-bottom: 36px;
    }
    .ts-footer__logo { height: 20px; width: auto; margin-bottom: 16px; display: block; }
    .ts-footer__about { font-size: 13px; font-weight: 300; color: var(--cream-40); line-height: var(--lh-normal); max-width: 240px; margin-bottom: 32px; }
    .ts-newsletter__title { font-family: var(--ff-body); font-size: var(--fs-16); color: var(--cream); margin-bottom: 4px; letter-spacing: -0.02em; }
    .ts-newsletter__sub { font-size: 12px; color: var(--cream-40); margin-bottom: 16px; }
    .ts-newsletter__field { display: flex; }
    .ts-newsletter__input {
      flex: 1; min-width: 0;
      background: rgba(244,240,236,0.06);
      border: 1px solid rgba(244,240,236,0.12); border-right: none;
      color: var(--cream); font-size: 13px; padding: 11px 14px;
      outline: none; transition: border-color var(--t-fast);
    }
    .ts-newsletter__input::placeholder { color: var(--cream-40); }
    .ts-newsletter__input:focus { border-color: var(--gold); }
    .ts-newsletter__btn {
      background: var(--gold); color: var(--dark);
      font-family: var(--ff-body); font-size: 10px;
      letter-spacing: 0.18em; text-transform: uppercase; font-weight: 500;
      padding: 11px 18px; white-space: nowrap;
      border: none; cursor: pointer; transition: background var(--t-fast);
    }
    .ts-newsletter__btn:hover { background: var(--gold-hover); }
    .ts-footer__col-title { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); font-weight: 500; margin-bottom: 20px; }
    .ts-footer__link { display: block; font-size: 14px; font-weight: 300; color: var(--cream-40); margin-bottom: 10px; transition: color var(--t-fast); }
    .ts-footer__link:hover { color: var(--cream); }
    .ts-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
    .ts-footer__copy { font-size: 12px; color: rgba(244,240,236,0.22); }
    .ts-footer__social { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cream-40); transition: color var(--t-fast); }
    .ts-footer__social:hover { color: var(--gold); }

    /* ═══════════════════════════════════════════
       RESPONSIVE
    ═══════════════════════════════════════════ */
    @media (max-width: 1100px) {
      .ts-product-grid { grid-template-columns: repeat(2,1fr); }
    }
    @media (max-width: 960px) {
      .ts-concept__wrap { grid-template-columns: 1fr; }
      .ts-concept__content { max-width: 100%; }
      .ts-concept__visual { height: clamp(300px,60vw,480px); }
      .ts-concept__badge { bottom: -10px; left: -10px; }
      .ts-concept__line { display: none; }
      .ts-difs__grid { grid-template-columns: 1fr 1fr; }
      .ts-footer__cols { grid-template-columns: 1fr 1fr; gap: 40px; }
    }
    @media (max-width: 720px) {
      :root { --header-h: 60px; --bar-h: 30px; --pad-x: var(--pad-mobile); }

      /* Mobile: header vira flex simples — esquerda + direita */
      .ts-header__grid {
        display: flex;
        align-items: center;
        justify-content: space-between;
      }
      .ts-header__left { display: flex; align-items: center; gap: 4px; }

      /* Desktop-only logo some no mobile */
      .ts-logo-link--desktop-only { display: none; }

      /* Mobile-only logo aparece (já está no ts-header__left) */
      .ts-logo-link--mobile-only { display: flex; }
      .ts-logo-symbol { display: block; height: 28px; width: auto; }

      /* Header right: sem gap */
      .ts-header__right { gap: 0; }

      /* Vitrine head */
      .ts-vitrine__head { flex-direction: column; align-items: flex-start; }

      /* Remove br do título vitrine no mobile */
      .ts-vitrine-title-br { display: none; }

      /* Product grid */
      .ts-product-grid { grid-template-columns: repeat(2,1fr); gap: 10px; }

      /* Diferenciais */
      .ts-difs__grid { grid-template-columns: 1fr; }
      .ts-dif { padding: 32px 24px; }

      /* Strip */
      .ts-strip__wrap { flex-direction: column; align-items: flex-start; }

      /* Footer */
      .ts-footer__cols { grid-template-columns: 1fr; gap: 32px; }
      .ts-footer__about { max-width: 100%; }

      /* Hero */
      .ts-hero__scroll-hint { display: none; }
      .ts-hero__counter { display: none; }
      .ts-hero__arrow { width: 40px; height: 40px; }
      .ts-dif__title { font-size: 20px; }
      .ts-card__badge { font-size: 8px; }

      /* Search results mobile */
      .ts-search-results__list { grid-template-columns: 1fr 1fr; }

      /* Cart popup */
      .ts-cart-popup { width: calc(100vw - 24px); right: 12px; }

      /* Section head */
      .ts-section-head { margin-bottom: 32px; }
    }
    @media (max-width: 480px) {
      .ts-product-grid { gap: 8px; }
      .ts-nav__panel { padding-left: 28px; padding-right: 28px; }
      .ts-nav__main-link { font-size: var(--fs-32); }
      .ts-search-results__list { grid-template-columns: 1fr; }
    }


    /* Custom scrollbar for nav panel */
    .ts-nav__panel::-webkit-scrollbar { width: 3px; }
    .ts-nav__panel::-webkit-scrollbar-track { background: transparent; }
    .ts-nav__panel::-webkit-scrollbar-thumb { background: rgba(244,240,236,0.12); border-radius: 2px; }
    .ts-nav__panel::-webkit-scrollbar-thumb:hover { background: rgba(244,240,236,0.22); }
    .ts-nav__panel { scrollbar-width: thin; scrollbar-color: rgba(244,240,236,0.12) transparent; }


    /* Vitrine badge blur */
    .ts-vitrine .ts-card__badge--low {
      background: rgba(36,34,37,0.30) !important;
      backdrop-filter: blur(10px) !important;
      -webkit-backdrop-filter: blur(10px) !important;
      color: var(--cream) !important;
      border: 1px solid rgba(244,240,236,0.25) !important;
    }


    /* ── BETTER ANIMATIONS ── */
    .ts-reveal {
      opacity: 0 !important;
      transform: translateY(22px) !important;
      transition: opacity 0.9s cubic-bezier(0,0,0.15,1) !important,
                  transform 0.9s cubic-bezier(0,0,0.15,1) !important;
    }
    .ts-reveal.--in { opacity: 1 !important; transform: translateY(0) !important; }
    .ts-reveal[data-delay="1"] { transition-delay: 0.10s !important; }
    .ts-reveal[data-delay="2"] { transition-delay: 0.20s !important; }
    .ts-reveal[data-delay="3"] { transition-delay: 0.30s !important; }
    .ts-reveal[data-delay="4"] { transition-delay: 0.40s !important; }


    /* ── GLOBAL SCROLLBAR ── */
    ::-webkit-scrollbar { width: 4px; height: 4px; }
    ::-webkit-scrollbar-track { background: transparent; }
    ::-webkit-scrollbar-thumb { background: rgba(36,34,37,0.18); border-radius: 2px; }
    ::-webkit-scrollbar-thumb:hover { background: rgba(36,34,37,0.32); }
    * { scrollbar-width: thin; scrollbar-color: rgba(36,34,37,0.18) transparent; }

    /* ── HIDE WISHLIST GLOBALLY ── */
    .ts-card__wish, .ts-gallery__wish { display: none !important; }

    /* ── TOAST — FIXED POSITIONS ── */
    .ts-toast {
      position: fixed !important;
      top: 130px !important;
      right: 24px !important;
      bottom: auto !important;
      left: auto !important;
      min-width: 260px;
      max-width: 340px;
    }
    @media(max-width:720px) {
      .ts-toast {
        top: 100px !important;
        right: auto !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: calc(100vw - 48px);
        min-width: 0;
        max-width: none;
      }
    }

    /* ── BAR ITEM SPACING ── */
    .ts-bar__item { gap: 20px !important; padding: 0 20px !important; }
    .ts-bar__item::after { margin-left: 0 !important; }


    /* Footer icon links */
    .ts-footer__link--icon { display: flex; align-items: center; gap: 8px; }
    .ts-footer__link--icon svg { opacity: 0.55; }


    /* B2B Modal */
    .ts-modal{position:fixed;inset:0;z-index:500;pointer-events:none;display:flex;align-items:center;justify-content:center;padding:var(--pad-mobile)}
    .ts-modal.--open{pointer-events:all}
    .ts-modal__veil{position:absolute;inset:0;background:rgba(36,34,37,.60);opacity:0;transition:opacity var(--t-slow);backdrop-filter:blur(3px)}
    .ts-modal.--open .ts-modal__veil{opacity:1}
    .ts-modal__box{position:relative;z-index:1;background:var(--cream);width:100%;max-width:500px;max-height:90svh;overflow-y:auto;padding:36px;transform:translateY(16px);opacity:0;transition:transform var(--t-slow),opacity var(--t-slow)}
    .ts-modal.--open .ts-modal__box{transform:translateY(0);opacity:1}
    .ts-modal__close{position:absolute;top:14px;right:16px;font-size:20px;color:var(--dark-40);transition:color .22s}
    .ts-modal__close:hover{color:var(--dark)}
    .ts-modal__title{font-size:clamp(18px,2.5vw,26px);font-weight:400;letter-spacing:-.04em;line-height:1em;margin-bottom:6px}
    .ts-modal__sub{font-size:14px;color:var(--dark-70);margin-bottom:24px}
    .ts-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .ts-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
    .ts-field label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dark-40);font-weight:500}
    .ts-field input{background:transparent;border:1px solid var(--dark-12);padding:11px 14px;font-size:14px;color:var(--dark);outline:none;transition:border-color .22s;font-family:inherit}
    .ts-field input:focus{border-color:var(--dark)}
    .ts-modal__submit{width:100%;background:var(--dark);color:var(--cream);font-family:var(--ff-body);font-size:11px;letter-spacing:.20em;text-transform:uppercase;font-weight:500;padding:16px;margin-top:8px;transition:background .22s;border:none;cursor:pointer}
    .ts-modal__submit:hover{background:rgba(36,34,37,.82)}
    @media(max-width:720px){.ts-fields-row{grid-template-columns:1fr}.ts-modal__box{padding:24px 18px}}

  
    /* ════════════════════════════════════════════════
       WOOCOMMERCE — ESTILOS CUSTOMIZADOS
    ════════════════════════════════════════════════ */

    /* Formulário de avaliação (comment_form) */
    .woocommerce #review_form_wrapper,
    .woocommerce-Reviews { margin-top: 0; }
    
    .woocommerce #review_form #respond { 
        padding: 0; background: var(--dark-06); padding: 28px; margin-top: 20px;
    }
    .woocommerce #review_form #respond input,
    .woocommerce #review_form #respond textarea {
        background: transparent;
        border: 1px solid var(--dark-12);
        padding: 11px 14px;
        font-size: 14px;
        font-family: var(--ff-body);
        width: 100%;
        color: var(--dark);
        outline: none;
    }
    .woocommerce #review_form #respond input:focus,
    .woocommerce #review_form #respond textarea:focus {
        border-color: var(--dark);
    }
    .woocommerce #review_form #respond .stars a {
        color: var(--gold);
        font-size: 20px;
    }
    
    /* Mensagens de WooCommerce */
    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error {
        background: var(--dark-06);
        border-top: 3px solid var(--gold);
        padding: 14px 20px;
        font-size: 14px;
        margin-bottom: 20px;
        list-style: none;
    }
    .woocommerce-error { border-color: #c0392b; }
    
    /* Paginação */
    .ts-pagination .page-numbers {
        display: flex; gap: 6px; list-style: none; flex-wrap: wrap;
    }
    .ts-pagination .page-numbers li a,
    .ts-pagination .page-numbers li span {
        display: flex; align-items: center; justify-content: center;
        width: 36px; height: 36px;
        border: 1px solid var(--dark-12);
        font-size: 13px; color: var(--dark-70);
        text-decoration: none;
        transition: background .2s, color .2s, border-color .2s;
    }
    .ts-pagination .page-numbers li .current {
        background: var(--dark); color: var(--cream); border-color: var(--dark);
    }
    .ts-pagination .page-numbers li a:hover {
        border-color: var(--dark); color: var(--dark);
    }
    
    /* Select padrão do WooCommerce (variações) */
    .variations select {
        appearance: none;
        background: transparent;
        border: 1px solid var(--dark-12);
        padding: 10px 14px;
        font-size: 14px;
        font-family: var(--ff-body);
        color: var(--dark);
        outline: none;
        cursor: pointer;
        width: 100%;
    }
    
    /* Breadcrumb WooCommerce (substituído pelo nosso) */
    .woocommerce-breadcrumb { display: none !important; }
    
    /* Notificação de produto adicionado ao carrinho */
    .woocommerce-notices-wrapper { 
        position: fixed; top: 130px; right: 24px; z-index: 999;
        max-width: 340px;
    }
    @media(max-width:720px) {
        .woocommerce-notices-wrapper {
            top: 100px; right: var(--pad-mobile);
            left: var(--pad-mobile); max-width: none;
        }
    }
    