/* Keep provider branding intact; share spacing with the account form. */
.tt-social-login { margin: 0 0 20px; width: 100%; }
.tt-social-login .nsl-container { padding: 0; }
.tt-social-login .nsl-container-buttons { width: 100%; }
.tt-social-login__divider { display: flex; align-items: center; gap: 12px; margin: 20px 0 0; color: inherit; font-size: 13px; line-height: 1.5; }
.tt-social-login__divider::before,
.tt-social-login__divider::after { content: ''; flex: 1; border-top: 1px solid currentColor; opacity: .2; }

/* Shop purchase pages share the catalog's scale and theme tokens. */
body:has(#single-product-page) .page-header-wrapper { padding: 24px 0 0; background: transparent; border: 0; }
body:has(#single-product-page) .page-header-wrapper .container,
#single-product-page > .container { width: 100%; max-width: 1040px; padding-inline: 24px; }
body:has(#single-product-page) .page-header-content { text-align: left; padding: 0; }
body:has(#single-product-page) .woocommerce-breadcrumb { color: var(--tt-theme-muted); font: 13px/1.6 var(--tt-theme-font); }
body:has(#single-product-page) .woocommerce-breadcrumb a { color: var(--tt-theme-ink); }
body #single-product-page { padding: 32px 0 64px; font-family: var(--tt-theme-font); color: var(--tt-theme-ink); }
#single-product-page .tt-purchase-grid { display: grid; grid-template-columns: minmax(0,320px) minmax(0,1fr); gap: 48px; margin: 0; align-items: start; }
#single-product-page .tt-purchase-grid > div { width: 100%; max-width: none; padding: 0; min-width: 0; }
#single-product-page .single-product-thumb-wrap { padding: 0 !important; }
#single-product-page .product-thumb-large-view { width: 100%; }
#single-product-page .product-thumb-item { margin: 0; vertical-align: top; }
#single-product-page .product-thumb-item img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; border: 0; border-radius: 8px; }
#single-product-page .single-product-content-wrapper { padding: 0; }
#single-product-page .product-name { margin: 0 0 16px; color: var(--tt-theme-ink); font: 700 clamp(26px,3vw,36px)/1.15 var(--tt-theme-font); letter-spacing: -.035em; }
#single-product-page .prices-group { display: flex; align-items: baseline; gap: 10px; color: var(--tt-theme-ink); font-size: 24px; font-weight: 700; }
#single-product-page .prices-group del { color: var(--tt-theme-muted); font-size: 16px; font-weight: 400; }
#single-product-page .prices-group ins { text-decoration: none; background: transparent; }
#single-product-page .prices-group .amount { color: inherit; }
#single-product-page .product-desc { color: var(--tt-theme-muted); font-size: 16px; line-height: 1.65; margin: 16px 0; }
#single-product-page .product-desc:empty { display: none; }
#single-product-page form.cart { margin-top: 24px; }
#single-product-page .quantity-btn-group { gap: 12px; align-items: stretch; flex-wrap: wrap; }
#single-product-page .pro-qty { width: 88px; height: 48px; margin: 0; border: 1px solid var(--tt-theme-rule); border-radius: 6px; overflow: hidden; background: var(--tt-theme-panel); }
#single-product-page .pro-qty input { width: 56px; height: 46px; padding: 0 8px; color: var(--tt-theme-ink); background: transparent; font: 16px var(--tt-theme-font); border: 0; }
#single-product-page .pro-qty a { width: 30px; height: 23px; right: 0; line-height: 22px; font-size: 18px; border-color: var(--tt-theme-rule); background: transparent; color: var(--tt-theme-ink); }
#single-product-page .pro-qty a:hover { background: var(--tt-theme-rule); }
#single-product-page .list-btn-group { margin: 0; }
#single-product-page .single_add_to_cart_button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 28px; margin: 0; border: 0; border-radius: 6px; background: var(--tt-theme-accent); color: #171512; font: 700 15px/1.4 var(--tt-theme-font); }
#single-product-page .single_add_to_cart_button:hover { background: var(--tt-theme-accent-hover); }
#single-product-page :is(button,input,a):focus-visible { outline: 2px solid var(--tt-theme-accent); outline-offset: 3px; }
#single-product-page .product-description-review { margin-top: 32px; }
#single-product-page .product-description-review .tab-content { margin-top: 0; padding-top: 16px; }
#single-product-page .desc-review-tab-menu { margin: 0 0 20px; padding: 0; border: 0; border-bottom: 1px solid var(--tt-theme-rule); }
#single-product-page .desc-review-tab-menu li { margin: 0; }
#single-product-page .desc-review-tab-menu a,
#single-product-page .desc-review-tab-menu a.active { padding: 0 0 12px; background: transparent; color: var(--tt-theme-ink); border: 0; border-bottom: 2px solid var(--tt-theme-accent); font: 700 14px/1.5 var(--tt-theme-font); }
#single-product-page .description-content { color: var(--tt-theme-muted); font: 16px/1.75 var(--tt-theme-font); overflow-wrap: anywhere; }
#single-product-page .description-content p { color: inherit; font: inherit; margin: 0 0 18px; }
#single-product-page .description-content strong { color: var(--tt-theme-ink); }
#single-product-page .description-content hr { margin: 24px 0; border-color: var(--tt-theme-rule); }
#single-product-page .description-content img[src$=".svg"] { width: 24px; height: 24px; object-fit: contain; margin-right: 8px; vertical-align: middle; }
[data-theme="dark"] #single-product-page .description-content img[src$=".svg"] { filter: invert(1); }
#single-product-page .single-product-footer { margin-top: 24px; padding-top: 16px; border-color: var(--tt-theme-rule); color: var(--tt-theme-muted); font-size: 13px; }
#single-product-page .prod-footer-list a { color: var(--tt-theme-ink); }
@media (max-width: 767px) {
  #single-product-page .tt-purchase-grid { grid-template-columns: 1fr; gap: 28px; }
  #single-product-page .single-product-thumb-wrap { max-width: 280px; margin: 0 auto; }
  body #single-product-page { padding-top: 24px; }
}

/* TripleTech marketing theme.
 * Shared values live here; individual templates own their content and composition.
 * All component rules are scoped so commerce, navigation, and legacy pages retain
 * their existing behavior. Product accents may identify artwork, never primary CTAs.
 */
:root {
  --tt-theme-bg: #0d0d0c;
  --tt-theme-panel: #1b1b19;
  --tt-theme-ink: #fff8ea;
  --tt-theme-muted: #b9b2a7;
  --tt-theme-paper: #eee8dc;
  --tt-theme-paper-ink: #171512;
  --tt-theme-paper-muted: #5d554b;
  --tt-theme-accent: #e96d2f;
  --tt-theme-accent-hover: #fb8246;
  --tt-theme-rule: rgba(255,248,234,.16);
  --tt-theme-font: Arial, Helvetica, sans-serif;
  --tt-theme-radius: 8px;
  --tt-theme-media-radius: 12px;
  --tt-theme-gutter: clamp(24px,5vw,84px);
  --tt-theme-section: clamp(56px,6vw,88px);
  --tt-theme-ease: cubic-bezier(.2,.8,.2,1);
}

/* Common typography and readable content widths. */
:root[data-theme="dark"] {
  color-scheme: dark;
  --tt-theme-bg: #141412;
  --tt-theme-panel: #242420;
  --tt-theme-paper: #1b1b18;
  --tt-theme-paper-ink: #fff8ea;
  --tt-theme-paper-muted: #b9b2a7;
  --tt-theme-rule: #3d3d35;
}
html[data-theme] body { background: var(--tt-theme-bg); color: var(--tt-theme-ink); }
html[data-theme] .header, html[data-theme] #resize { background: var(--tt-theme-bg); }
html[data-theme] .header a, html[data-theme] .header a span, html[data-theme] .header .fa::before, html[data-theme] .header .cart-count { color: var(--tt-theme-ink) !important; text-shadow: none; }
html[data-theme] .header .current-menu-item > a, html[data-theme] .header .current-menu-item > a span { color: var(--tt-theme-accent) !important; }
html[data-theme] #toggle .span { background: var(--tt-theme-ink); }
html[data-theme] .footer { background: var(--tt-theme-bg); color: var(--tt-theme-ink); }
html[data-theme] .footer a { color: var(--tt-theme-ink) !important; text-shadow: none !important; }
html[data-theme] .footer__bottom, html[data-theme] .footer__copyright { background: var(--tt-theme-bg); color: var(--tt-theme-muted); }
html[data-theme] .footer .footer__copy { color: var(--tt-theme-muted); text-shadow: none; }
html[data-theme] .footer .footer-buttons__link { background: var(--tt-theme-panel); color: var(--tt-theme-ink); border-color: var(--tt-theme-rule); border-radius: 8px; box-shadow: none; text-shadow: none; }
html[data-theme] .about-us .section-gradient { background: var(--tt-theme-bg); color: var(--tt-theme-ink); }
html[data-theme] .about-us p, html[data-theme] .about-us [class$="-title"] { text-shadow: none; }
html[data-theme] .about-us p, html[data-theme] .about-us [class$="-title"],
html[data-theme] .about-us__tech-list li { color: var(--tt-theme-ink); }
html[data-theme] .about-us__top-sub-text p, html[data-theme] .about-us__tech-content p { color: var(--tt-theme-muted); }
html[data-theme] .about-us input:not([type="submit"]), html[data-theme] .about-us textarea {
  background: var(--tt-theme-panel); color: var(--tt-theme-ink); border-color: var(--tt-theme-rule);
}
html[data-theme] .about-us input::placeholder, html[data-theme] .about-us textarea::placeholder { color: var(--tt-theme-muted); }
html[data-theme] .tt-campaign, html[data-theme] .tt-home .latest-posts { color: var(--tt-theme-paper-ink); }
html[data-theme] .tt-home .tt-lede, html[data-theme] .tt-home .latest-post__excerpt,
html[data-theme] .tt-home .latest-post time, html[data-theme] .tt-home .tt-kicker { color: var(--tt-theme-paper-muted); }
html[data-theme] .tt-hero-support p, html[data-theme] .tt-brand-stage__caption { color: var(--tt-theme-muted); }
html[data-theme] .tt-brand-stage { background: var(--tt-theme-panel); border-color: var(--tt-theme-rule); }
html[data-theme] .tt-manifesto { color: #171512; }
html[data-theme="dark"] .tt-campaign__name { color: var(--tt-theme-accent); }
html[data-theme="dark"] .tt-media-card, html[data-theme="dark"] .tt-media-related,
html[data-theme="dark"] .tt-shop article.tt-shop-card { border-color: var(--tt-theme-rule); }
html[data-theme="dark"] .tt-media-card-image { background: var(--tt-theme-panel); }
html[data-theme="dark"] .tt-media-prose a, html[data-theme="dark"] .tt-media-card-link:hover h2 { color: #f9945f; }
html[data-theme="dark"] .tt-shop .woocommerce-info,
html[data-theme="dark"] .tt-shop .woocommerce-message { background: var(--tt-theme-panel); }
.rm-product.rm-product, .bts-product.bts-product, .pm.pm,
section.media-page--products {
  font-family: var(--tt-theme-font);
  background: var(--tt-theme-bg);
  color: var(--tt-theme-ink);
  -webkit-font-smoothing: antialiased;
}
.rm-product .rm-shell, .bts-product .bts-wrap, .pm .pm-wrap,
.media-page--products > .wrapper {
  width: calc(100% - var(--tt-theme-gutter) * 2);
  max-width: 1440px;
  padding-right: 0;
  padding-left: 0;
  margin-right: auto;
  margin-left: auto;
}
.rm-product .rm-hero h1, .bts-product .bts-hero h1, .pm .pm-hero-title,
.media-page--products .category-header__title {
  color: var(--tt-theme-ink);
  font-family: var(--tt-theme-font);
  font-size: clamp(52px,6vw,88px);
  font-weight: 800;
  line-height: .96;
  letter-spacing: -.055em;
  text-shadow: none;
  overflow-wrap: anywhere;
}
.rm-product .rm-intro h2, .rm-product .rm-showcase > .rm-shell > h2,
.rm-product .rm-availability h2, .rm-product .rm-video h2,
.bts-product section h2, .pm .pm-title {
  font-family: var(--tt-theme-font);
  font-size: clamp(36px,4vw,58px);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -.045em;
}
.rm-product .rm-edition-mark, .bts-product .bts-eyebrow, .pm .pm-eyebrow {
  width: auto;
  padding: 0;
  clip-path: none;
  background: transparent;
  color: var(--tt-theme-accent);
  font: 700 11px/1.5 var(--tt-theme-font);
  letter-spacing: .1em;
  text-transform: uppercase;
  transform: none;
}
.rm-product .rm-hero .rm-edition-mark { margin-top: 18px; color: var(--tt-product-accent, var(--tt-theme-accent)); }

/* The same primary action, secondary action, and focus treatment everywhere. */
.tt-home .tt-button, .rm-product .rm-button, .rm-product .rm-hero .rm-button, .bts-product .bts-btn,
.pm .pm-btn, .rm-product .rm-mac-shortcut, .rm-product .rm-hero .rm-mac-shortcut,
.rm-product .rm-platform__download, .rm-product .rm-platform__trial {
  min-height: 52px;
  width: fit-content;
  min-width: 0;
  height: auto;
  padding: 14px 20px;
  border: 1px solid var(--tt-theme-rule);
  border-radius: var(--tt-theme-radius);
  font-family: var(--tt-theme-font);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .035em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .25s var(--tt-theme-ease), border-color .25s, transform .25s;
}
.tt-home .tt-button--light, .tt-home .tt-button--acid,
.rm-product .rm-button--primary, .rm-product .rm-platform__download,
.bts-product .bts-btn--primary, .pm .pm-btn:not(.pm-btn-ghost) {
  color: #1b100a;
  background: var(--tt-theme-accent);
  border-color: var(--tt-theme-accent);
}
/* Older product CSS declares state-specific link colors with !important. */
.tt-home a.tt-button--light, .tt-home a.tt-button--acid,
.rm-product a.rm-button--primary:is(:link,:visited,:hover,:focus,:active),
.rm-product a.rm-platform__download, .bts-product a.bts-btn--primary {
  color: #1b100a !important;
}
.tt-home .tt-button--light:hover, .tt-home .tt-button--acid:hover,
.rm-product .rm-button--primary:hover, .rm-product .rm-platform__download:hover,
.bts-product .bts-btn--primary:hover, .pm .pm-btn:not(.pm-btn-ghost):hover {
  background: var(--tt-theme-accent-hover);
  border-color: var(--tt-theme-accent-hover);
}
.rm-product .rm-button--secondary, .bts-product .bts-btn--secondary,
.bts-product .bts-btn--store, .pm .pm-btn-ghost, .rm-product .rm-mac-shortcut, .rm-product .rm-platform__trial {
  background: transparent;
  color: var(--tt-theme-ink);
  border-color: #746e62;
}
.rm-product .rm-button--secondary:hover, .bts-product .bts-btn--secondary:hover,
.bts-product .bts-btn--store:hover, .pm .pm-btn-ghost:hover, .rm-product .rm-mac-shortcut:hover,
.rm-product .rm-platform__trial:hover {
  background: var(--tt-theme-panel);
  border-color: var(--tt-theme-ink);
}
.tt-home :focus-visible, .rm-product :focus-visible, .bts-product :focus-visible,
.pm :focus-visible, .media-page--products :focus-visible {
  outline: 3px solid var(--tt-theme-accent);
  outline-offset: 5px;
}
.rm-product .rm-actions, .rm-product .rm-hero .rm-actions, .bts-product .bts-actions { gap: 12px; flex-wrap: wrap; }
.rm-product .rm-hero .rm-actions { margin-top: 26px; }
.rm-product .rm-hero .rm-app-store-badge { width: 141px; height: 52px; align-items: center; }
.rm-product .rm-hero .rm-app-store-badge img { width: 141px; height: 44px; }
.rm-product .rm-actions__join, .bts-product .bts-action-separator { display: none; }
.bts-product .bts-app-badge { height: 52px; display: flex; align-items: center; }
.bts-product .bts-app-badge img { height: 44px; }

/* Product heroes share a spacious stage and keep screenshots complete. */
.rm-product .rm-hero, .bts-product .bts-hero { padding: 52px 0 64px; }
.rm-product .rm-hero__grid, .bts-product .bts-hero__grid {
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: clamp(32px,5vw,72px);
  align-items: center;
}
.rm-product .rm-hero__copy, .bts-product .bts-hero__copy { min-width: 0; }
.rm-product .rm-hero__copy > .rm-hero__lead, .bts-product .bts-hero__copy h2 {
  margin: 20px 0 0;
  max-width: 25ch;
  font-size: clamp(23px,2.2vw,30px);
  line-height: 1.15;
  letter-spacing: -.035em;
}
.rm-product .rm-hero__text, .bts-product .bts-intro {
  margin: 18px 0 0;
  max-width: 40ch;
  font-size: 17px;
  line-height: 1.55;
  color: var(--tt-theme-muted);
}
.rm-product .rm-hero .rm-hero__link { padding: 0; background: transparent; border-radius: var(--tt-theme-media-radius); }
.rm-product .rm-hero__media img { width: 100%; object-fit: contain; border-radius: var(--tt-theme-media-radius); box-shadow: none; }
.bts-product .bts-hero__media { width: 100%; margin: 0; }
.bts-product .bts-hero__media img { width: 100%; max-width: 100%; margin-left: 0; }

/* Warm editorial sections connect the product pages to the homepage. */
.rm-product--pulsar .rm-collage { grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: none; gap: 24px; aspect-ratio: auto; }
.rm-product--pulsar .rm-collage figure { grid-column: auto; grid-row: auto; aspect-ratio: 4/3; max-height: 220px; }
.rm-product--pulsar .rm-collage img { width: 100%; height: 100%; object-fit: contain; background: #242725; }
.rm-product .rm-hero__still img { transform: none; filter: none; transition: none; }
@media (max-width: 620px) {
  .rm-product--pulsar .rm-collage { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
}

.rm-product .rm-intro, .bts-product .bts-overview {
  background: var(--tt-theme-paper);
  color: var(--tt-theme-paper-ink);
  padding: var(--tt-theme-section) 0;
  border: 0;
}
.rm-product .rm-intro h2, .bts-product .bts-overview h2 { color: var(--tt-theme-paper-ink); }
.rm-product .rm-intro__copy p, .bts-product .bts-overview p {
  color: var(--tt-theme-paper-muted);
  font-size: 17px;
  line-height: 1.65;
}
.rm-product .rm-showcase, .rm-product .rm-video, .rm-product .rm-availability,
.bts-product .bts-path, .bts-product .bts-audio, .bts-product .bts-deep, .bts-product .bts-versions {
  padding: var(--tt-theme-section) 0;
}
.rm-product .rm-feature-visuals li, .rm-product .rm-platform,
.bts-product .bts-path-card, .pm .pm-feature, .pm .pm-price-card {
  background: var(--tt-theme-panel);
  border-color: var(--tt-theme-rule);
  border-radius: var(--tt-theme-media-radius);
}
.rm-product .rm-feature-visuals__image { background: transparent; }
.rm-product .rm-collage img { object-fit: contain; background: var(--tt-theme-panel); }
.rm-product .rm-platform--desktop { background: var(--tt-theme-panel); }
.rm-product .rm-platforms { gap: 18px; border: 0; background: transparent; }
.rm-product .rm-video__frame, .rm-product .rm-collage__item { border-radius: var(--tt-theme-media-radius); }
.bts-product .bts-path__grid { gap: 18px; border: 0; }
.bts-product .bts-path-card { border: 1px solid var(--tt-theme-rule); }
.bts-product .bts-path-card p { min-height: 0; }

/* Catalog uses the same paper surface and editorial cards as studio stories. */
section.media-page--products {
  background: var(--tt-theme-paper);
  color: var(--tt-theme-paper-ink);
  padding-top: calc(84px + var(--tt-theme-section));
  padding-bottom: var(--tt-theme-section);
}
.media-page--products .category-header--products { margin: 0 0 48px; }
.media-page--products .category-header__title { color: var(--tt-theme-paper-ink); }
.media-page--products .category-header__description { max-width: 44ch; margin-top: 24px; color: var(--tt-theme-paper-muted); }
.media-page--products .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 56px 36px; }
.media-page--products .product-grid__item { background: transparent; border: 0; }
.media-page--products .product-grid__link, .media-page--products .product-grid__link:hover { color: var(--tt-theme-paper-ink); text-decoration: none; }
.media-page--products .product-grid__image { background: var(--tt-theme-bg); border: 0; border-radius: var(--tt-theme-media-radius); }
.media-page--products .product-grid__image img { object-fit: contain; transition: transform .35s var(--tt-theme-ease); }
.media-page--products .product-grid__link:hover img { transform: scale(1.015); }
.media-page--products .product-grid__body { min-height: 0; padding: 24px 0 0; }
.media-page--products .product-grid__title { color: var(--tt-theme-paper-ink); font-size: clamp(28px,2.7vw,38px); line-height: 1.1; letter-spacing: -.04em; }
.media-page--products .product-grid__summary { display: block; color: var(--tt-theme-paper-muted); margin: 16px 0 22px; font-size: 16px; line-height: 1.55; overflow: visible; }
.media-page--products .product-grid__cta { color: var(--tt-theme-paper-ink); font-size: 12px; padding-bottom: 9px; }
.media-page--products .product-grid__link:hover .product-grid__cta { color: #a54719; }

@media (max-width: 900px) {
  .rm-product .rm-hero__grid, .bts-product .bts-hero__grid { grid-template-columns: 1fr; gap: 36px; }
  .rm-product .rm-hero__copy, .bts-product .bts-hero__copy { max-width: 640px; }
  .rm-product .rm-hero__media, .bts-product .bts-hero__media { width: min(100%,660px); margin: 0 auto; }
  .rm-product .rm-hero, .bts-product .bts-hero { padding: 44px 0 52px; }
}
@media (max-width: 620px) {
  .rm-product .rm-hero h1, .bts-product .bts-hero h1, .pm .pm-hero-title,
  .media-page--products .category-header__title { font-size: clamp(40px,11vw,60px); }
  .rm-product .rm-intro h2, .rm-product .rm-showcase > .rm-shell > h2,
  .rm-product .rm-availability h2, .rm-product .rm-video h2,
  .bts-product section h2, .pm .pm-title { font-size: clamp(34px,9vw,42px); }
  .rm-product .rm-hero, .bts-product .bts-hero { padding: 38px 0 44px; }
  .rm-product .rm-hero__copy > .rm-hero__lead, .bts-product .bts-hero__copy h2 { font-size: 24px; }
  .rm-product .rm-hero__text, .bts-product .bts-intro { font-size: 16px; }
  .rm-product .rm-hero .rm-actions { flex-wrap: wrap; gap: 10px; }
  .rm-product .rm-button, .rm-product .rm-hero .rm-button, .bts-product .bts-btn,
  .rm-product .rm-mac-shortcut, .rm-product .rm-hero .rm-mac-shortcut,
  .rm-product .rm-platform__download, .rm-product .rm-platform__trial { padding: 13px 16px; min-height: 48px; }
  .rm-product .rm-feature-visuals li { grid-template-columns: 100px minmax(0,1fr); }
  .rm-product .rm-feature-visuals__image { width: 100px; }
  .rm-product .rm-feature-visuals__copy { padding: 14px; }
  .bts-product .bts-path-card { grid-template-columns: 90px minmax(0,1fr); padding: 16px; gap: 12px; }
  .bts-product .bts-path-card h3 { font-size: 21px; }
  .media-page--products .product-grid { grid-template-columns: 1fr; gap: 44px; }
  .media-page--products .category-header--products { margin-bottom: 34px; }
  section.media-page--products { padding-top: 118px; }
}
@media (prefers-reduced-motion: reduce) {
  .rm-product *, .bts-product *, .pm *, .media-page--products * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Shop: the same editorial palette with WooCommerce's native controls. */
main.tt-shop {
  padding: calc(84px + var(--tt-theme-section)) 0 var(--tt-theme-section);
  background: var(--tt-theme-paper);
  color: var(--tt-theme-paper-ink);
  font-family: var(--tt-theme-font);
  -webkit-font-smoothing: antialiased;
}
.tt-shop *, .tt-shop *::before, .tt-shop *::after { box-sizing: border-box; }
.tt-shop > .container {
  width: calc(100% - var(--tt-theme-gutter) * 2);
  max-width: 1440px;
  margin: 0 auto;
  padding: 0;
}
.tt-shop .entry-header { margin: 0 0 24px; padding: 0; text-align: left; }
.tt-shop .entry-title {
  margin: 0;
  text-align: left;
  color: var(--tt-theme-paper-ink);
  font: 800 clamp(52px,6vw,88px)/.96 var(--tt-theme-font);
  letter-spacing: -.055em;
  text-shadow: none;
}
.tt-shop .entry-content { margin: 0; padding: 0; text-align: left; }
.tt-shop .entry-content > p { margin: 0 0 12px; color: var(--tt-theme-paper-muted); text-align: left !important; font: 400 17px/1.55 var(--tt-theme-font); }
.tt-shop .entry-content > p:first-child { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.tt-shop .entry-content > p:first-child em { font-style: normal; }
.tt-shop .woocommerce { margin-top: 24px; }
.tt-shop .woocommerce-result-count { float: left; margin: 0; padding: 14px 0; color: var(--tt-theme-paper-muted); font-size: 13px; }
.tt-shop .woocommerce-ordering { display: none !important; }
.tt-shop .woocommerce-ordering .nice-select { display: none !important; }
.tt-shop .woocommerce-ordering select.orderby {
  display: block !important;
  width: 260px;
  max-width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 10px 34px 10px 16px;
  border: 1px solid #a79d8d;
  border-radius: var(--tt-theme-radius);
  background: transparent;
  color: var(--tt-theme-paper-ink);
  font: 400 13px/1.4 var(--tt-theme-font);
  cursor: pointer;
}
.tt-shop .shop-page-products-wrapper { clear: both; padding: 0; margin: 0 !important; }
.tt-shop .products-wrapper { padding: 0; margin: 0; }
.tt-shop .products-wrapper > .row {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 32px;
  margin: 0;
}
.tt-shop .products-wrapper > .row::before, .tt-shop .products-wrapper > .row::after { display: none; }
.tt-shop article.tt-shop-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  text-align: left;
}
.tt-shop a.tt-shop-card__image { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: 8px; background: #e1dacc; }
.tt-shop .tt-shop-card__image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-height: none; margin: 0; object-fit: cover; transition: transform .35s var(--tt-theme-ease); }
.tt-shop .tt-shop-card__image:hover img { transform: scale(1.025); }
.tt-shop .tt-shop-card__sale { position: absolute; top: 14px; left: 14px; padding: 7px 10px; border-radius: 4px; background: #171512; color: #fff8ea; font-size: 10px; font-weight: 700; line-height: 1; letter-spacing: .06em; text-transform: uppercase; }
.tt-shop .tt-shop-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding-top: 16px; }
.tt-shop .tt-shop-card__title { margin: 0 0 12px; font: 700 21px/1.2 var(--tt-theme-font); letter-spacing: -.025em; }
.tt-shop .tt-shop-card__title a, .tt-shop .tt-shop-card__title a:hover { display: inline-flex; align-items: center; min-height: 44px; color: var(--tt-theme-paper-ink); text-decoration: none; }
.tt-shop .tt-shop-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: auto 0 22px; color: var(--tt-theme-paper-ink); font-size: 24px; font-weight: 700; }
.tt-shop .tt-shop-card__price del { color: var(--tt-theme-paper-muted); font-size: 16px; font-weight: 400; }
.tt-shop .tt-shop-card__price ins { background: transparent; color: var(--tt-theme-paper-ink); text-decoration: none; }
.tt-shop .tt-shop-card__price .amount { color: inherit; font-weight: inherit; }
.tt-shop .tt-shop-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.tt-shop a.tt-shop-card__buy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
  padding: 11px 16px;
  border: 1px solid var(--tt-theme-accent);
  border-radius: var(--tt-theme-radius);
  background: var(--tt-theme-accent);
  color: #1b100a;
  font: 700 12px/1.35 var(--tt-theme-font);
  letter-spacing: .035em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .25s var(--tt-theme-ease), transform .25s;
}
.tt-shop a.tt-shop-card__buy:hover { background: var(--tt-theme-accent-hover); border-color: var(--tt-theme-accent-hover); color: #1b100a; transform: translateY(-2px); }
.tt-shop a.tt-shop-card__buy.loading { opacity: .6; cursor: progress; }
.tt-shop .added_to_cart { color: var(--tt-theme-paper-ink); font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.tt-shop :focus-visible { outline: 3px solid #a54719; outline-offset: 5px; }
.tt-shop .woocommerce-pagination { margin-top: 42px; }
.tt-shop .woocommerce-info, .tt-shop .woocommerce-message { background: var(--tt-theme-ink); color: var(--tt-theme-paper-ink); border-top-color: var(--tt-theme-accent); }
@media (max-width: 900px) {
  .tt-shop .products-wrapper > .row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 24px; }
}
@media (max-width: 620px) {
  main.tt-shop { padding-top: 118px; }
  .tt-shop .entry-title { font-size: clamp(40px,11vw,60px); }
  .tt-shop .woocommerce { margin-top: 28px; }
  .tt-shop .woocommerce-result-count, .tt-shop .woocommerce-ordering { float: none; }
  .tt-shop .woocommerce-ordering { margin: 0 0 28px; }
  .tt-shop .woocommerce-ordering select.orderby { width: 100%; }
  .tt-shop .products-wrapper > .row { grid-template-columns: 1fr; gap: 44px; }
  .tt-shop .tt-shop-card__title { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .tt-shop *, .tt-shop *::before, .tt-shop *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Shared navigation and footer accessibility. */
.tt-skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 10001;
  padding: 12px 16px;
  border-radius: 8px;
  background: #fff8ea;
  color: #171512 !important;
  font: 700 14px/1.4 var(--tt-theme-font);
  text-decoration: none;
  transform: translateY(-160%);
}
.tt-skip-link:focus { transform: translateY(0); }
.header :is(a, button):focus-visible,
.footer a:focus-visible {
  outline: 3px solid #e99b76;
  outline-offset: 4px;
}
.header .logo__link,
.header .resize__logo-link,
.header .login,
.header .cart,
.header .menu-item a,
.footer__email a,
.footer-buttons__link,
.socials__link {
  min-height: 44px;
}
.header .logo__link,
.header .resize__logo-link,
.header .login,
.header .cart,
.socials__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
}
.header .cart-box {
  position: relative;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.header .cart { margin-top: 0; }
.header #mini-cart-count {
  position: absolute;
  top: calc(50% - 24px);
  right: 1px;
  z-index: 1;
  min-width: 14px;
  height: 14px;
  justify-content: center !important;
  font-size: 11px;
  line-height: 14px;
  pointer-events: none;
}
.header .cart-count:empty { display: none; }
#toggle {
  min-width: 44px;
  min-height: 44px;
  padding: 7px;
  border: 0;
  background: transparent;
}
#toggle .span { display: block; width: 30px; }
.footer-buttons__link { font-size: 14px; line-height: 1.35; white-space: nowrap; }
.socials__image { pointer-events: none; }

@media (max-width: 998px) {
  .footer-buttons__link { min-width: 112px; padding: 10px 18px; font-size: 14px; }
}

main.tt-shop { padding-top: 122px; }
.tt-shop > .container { max-width: 1040px; }
.tt-shop .entry-title { font-size: clamp(32px,4vw,48px); }
.tt-shop .entry-header { margin-bottom: 16px; }
.tt-shop .products-wrapper > .row { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.tt-shop .tt-shop-card__price { font-size: 21px; margin-bottom: 16px; }
@media (max-width: 620px) {
  main.tt-shop { padding-top: 100px; }
  .tt-shop .products-wrapper > .row { grid-template-columns: 1fr; gap: 24px; }
  .tt-shop article.tt-shop-card { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 16px; padding-bottom: 24px; border-bottom: 1px solid #c9c1b4; }
  .tt-shop .tt-shop-card__body { padding-top: 0; }
  .tt-shop .tt-shop-card__title { font-size: 19px; }
  .tt-shop .tt-shop-card__sale { top: 8px; left: 8px; padding: 5px 7px; font-size: 9px; }
  .tt-shop .tt-shop-card__price { gap: 6px; font-size: 20px; }
  .tt-shop .tt-shop-card__price del { font-size: 13px; }
}

/* Media uses the same paper, type, and artwork treatment as the catalog. */
/* About: compact studio introduction, existing editorial copy, direct contact. */
.tt-about.tt-about { font-family: var(--tt-theme-font); background: var(--tt-theme-bg); color: var(--tt-theme-ink); padding-top: 0; }
.tt-about.tt-about .wrapper { width: calc(100% - var(--tt-theme-gutter) * 2); max-width: 1120px; margin: 0 auto; padding: 0; }
.tt-about.tt-about section { padding: 48px 0; }
.tt-about.tt-about .about-us__top { padding: 126px 0 48px; }
.tt-about.tt-about .about-us__top-line { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); align-items: center; gap: 56px; }
.tt-about.tt-about .about-us__top-content { grid-column: 1; grid-row: 1; width: auto; padding: 0; margin: 0; }
.tt-about.tt-about .about-us__top-image { grid-column: 2; grid-row: 1; width: 100%; max-width: 460px; margin: 0 auto; }
.tt-about.tt-about .about-us__top-image img { display: block; width: 100%; height: auto; max-height: 380px; object-fit: contain; }
.tt-about.tt-about .tt-about-eyebrow { font: 700 11px/1.5 var(--tt-theme-font); letter-spacing: .12em; text-transform: uppercase; color: var(--tt-theme-muted); margin: 0 0 16px; }
.tt-about.tt-about h1 { font: 800 clamp(36px,4vw,52px)/1.04 var(--tt-theme-font); letter-spacing: -.045em; margin: 0 0 24px; color: var(--tt-theme-ink); text-shadow: none; }
.tt-about.tt-about h2 { font: 700 clamp(28px,3vw,36px)/1.12 var(--tt-theme-font); letter-spacing: -.035em; text-align: left; margin: 0; padding: 0; color: var(--tt-theme-ink); text-shadow: none; }
.tt-about.tt-about .about-us__top-text, .tt-about.tt-about .about-us__top-sub-text { padding: 0; margin: 0 0 18px; }
.tt-about.tt-about p, .tt-about.tt-about .about-us__top-text p { font: 400 17px/1.65 var(--tt-theme-font); color: var(--tt-theme-muted); text-shadow: none; margin: 0 0 16px; }
.tt-about.tt-about .about-us__top-link { margin: 24px 0 0; padding: 0; }
.tt-about.tt-about .about-us__top-link a { display: inline-flex; align-items: center; gap: 28px; min-height: 44px; padding: 12px 18px; background: var(--tt-theme-accent); color: #171512; border: 0; border-radius: 8px; text-shadow: none; box-shadow: none; text-decoration: none; font: 700 13px/1.4 var(--tt-theme-font); }
.tt-about.tt-about .about-us__tech { border-top: 1px solid var(--tt-theme-rule); border-bottom: 1px solid var(--tt-theme-rule); }
.tt-about.tt-about .about-us__tech > .wrapper, .tt-about.tt-about .about-us__mission > .wrapper { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 64px; align-items: start; }
.tt-about.tt-about .about-us__tech-content, .tt-about.tt-about .about-us__mission-content { padding: 0; margin: 0; text-align: left; width: auto; }
.tt-about.tt-about .about-us__mission-content p { color: var(--tt-theme-ink); font-size: 23px; line-height: 1.45; letter-spacing: -.015em; }
.tt-about.tt-about .about-us__tech-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 0; margin: 28px 0 0; list-style: none; }
.tt-about.tt-about .about-us__tech-list li { width: auto; padding: 0; margin: 0; }
.tt-about.tt-about .about-us__tech-list img { width: 120px; height: 120px; object-fit: cover; border-radius: 8px; }
.tt-about.tt-about .tt-about-contact { background: var(--tt-theme-panel); scroll-margin-top: 100px; }
.tt-about.tt-about .tt-about-contact > .wrapper { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.tt-about.tt-about .tt-about-contact a { font-size: 18px; line-height: 1.5; color: var(--tt-theme-ink); text-decoration: none; border-bottom: 2px solid var(--tt-theme-accent); padding: 10px 0; overflow-wrap: anywhere; }
.tt-about.tt-about .tt-about-contact a span { margin-left: 16px; }
.tt-about.tt-about a:focus-visible { outline: 3px solid var(--tt-theme-accent); outline-offset: 5px; }
@media (max-width: 900px) {
  .tt-about.tt-about .about-us__top-line { gap: 32px; }
  .tt-about.tt-about .about-us__tech > .wrapper, .tt-about.tt-about .about-us__mission > .wrapper { gap: 32px; }
}
@media (max-width: 620px) {
  .tt-about.tt-about section { padding: 32px 0; }
  .tt-about.tt-about .about-us__top { padding-top: 104px; }
  .tt-about.tt-about .about-us__top-line { grid-template-columns: 1fr; gap: 28px; }
  .tt-about.tt-about .about-us__top-image { grid-column: 1; grid-row: 2; max-width: 300px; }
  .tt-about.tt-about .about-us__top-image img { max-height: 220px; }
  .tt-about.tt-about .about-us__tech > .wrapper, .tt-about.tt-about .about-us__mission > .wrapper { grid-template-columns: 1fr; gap: 20px; }
  .tt-about.tt-about .about-us__tech-list { grid-template-columns: 1fr; }
  .tt-about.tt-about .tt-about-contact > .wrapper { flex-direction: column; align-items: flex-start; gap: 16px; }
  .tt-about.tt-about .tt-about-contact a { font-size: 16px; }
  .tt-about.tt-about .about-us__mission-content p { font-size: 21px; }
}

.media-page.tt-media, .tt-media-article {
  background: var(--tt-theme-paper); color: var(--tt-theme-paper-ink);
  font-family: var(--tt-theme-font); padding: 148px 0 var(--tt-theme-section);
}
.tt-media > .wrapper, .tt-media-story, .tt-media-related {
  width: calc(100% - var(--tt-theme-gutter) * 2); max-width: 1440px; margin: 0 auto; padding: 0;
}
.tt-media-heading { margin-bottom: 52px; }
.tt-media-eyebrow { font-size: 12px; line-height: 1.5; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 22px; color: var(--tt-theme-paper-muted); }
.tt-media-heading h1 { font: 800 clamp(52px,6vw,88px)/.96 var(--tt-theme-font); letter-spacing: -.055em; margin: 0 0 24px; color: inherit; text-shadow: none; }
.tt-media-intro { font-size: clamp(20px,2.1vw,28px); line-height: 1.4; margin: 0; letter-spacing: -.025em; }
.tt-media-description { max-width: 680px; color: var(--tt-theme-paper-muted); }
.tt-media-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 24px; }
.tt-media-card { min-width: 0; border-bottom: 1px solid #c9c1b4; padding-bottom: 30px; }
.tt-media-card-link { display: flex; height: 100%; flex-direction: column; color: inherit; text-decoration: none; }
.tt-media-card-link:hover { color: inherit; text-decoration: none; }
.tt-media-card-image { aspect-ratio: 16/10; background: #ded7ca; border-radius: var(--tt-theme-media-radius); overflow: hidden; display: grid; place-items: center; }
.tt-media-card-image { position: relative; }
.tt-media-card-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block; }
.tt-media-card-copy { padding-top: 24px; display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
.tt-media-card time { font-size: 12px; font-weight: 700; color: var(--tt-theme-paper-muted); letter-spacing: .04em; }
.tt-media-card h2 { font: 800 clamp(24px,2.5vw,36px)/1.12 var(--tt-theme-font); color: inherit; letter-spacing: -.035em; margin: 12px 0 16px; text-shadow: none; }
.tt-media-card p { font-size: 16px; line-height: 1.6; color: var(--tt-theme-paper-muted); margin: 0 0 24px; }
.tt-media-read { font-size: 14px; font-weight: 700; margin-top: auto; border-bottom: 2px solid var(--tt-theme-accent); padding-bottom: 5px; }
.tt-media-read span { margin-left: 16px; }
.tt-media-card-link:hover h2 { color: #a73b0c; }
.tt-media a:focus-visible, .tt-media-article a:focus-visible { outline: 3px solid var(--tt-theme-accent); outline-offset: 5px; }
.tt-media .pagination { display: block; margin-top: 40px; }
.tt-media .page-numbers { display: inline-block; padding: 10px 16px; color: inherit; }
.tt-media .page-numbers.current { background: var(--tt-theme-accent); }
.tt-media-story-heading { max-width: 1040px; margin: 0 auto 44px; }
.tt-media-back { display: inline-block; color: var(--tt-theme-paper-ink); font-size: 14px; font-weight: 700; margin-bottom: 36px; }
.tt-media-story-heading h1 { font: 800 clamp(38px,4.5vw,66px)/1.04 var(--tt-theme-font); letter-spacing: -.045em; margin: 0; color: inherit; text-shadow: none; overflow-wrap: break-word; }
.tt-media-cover { max-width: 1040px; margin: 0 auto 56px; }
.tt-media-cover img { display: block; width: 100%; max-height: 640px; height: auto; object-fit: contain; border-radius: var(--tt-theme-media-radius); }
.tt-media-prose { max-width: 740px; margin: 0 auto; font-size: 18px; line-height: 1.75; overflow-wrap: anywhere; }
.tt-media-prose p, .tt-media-prose li { font-size: inherit; line-height: inherit; color: inherit; }
.tt-media-prose p { margin: 0 0 1.4em; }
.tt-media-prose h2, .tt-media-prose h3, .tt-media-prose h4 { color: inherit; font-family: var(--tt-theme-font); line-height: 1.2; letter-spacing: -.025em; margin: 1.7em 0 .7em; }
.tt-media-prose h2 { font-size: 34px; }
.tt-media-prose h3 { font-size: 27px; }
.tt-media-prose h4 { font-size: 23px; }
.tt-media-prose a { color: #a73b0c; text-decoration: underline; text-underline-offset: 3px; }
.tt-media-prose img, .tt-media-prose video { max-width: 100%; height: auto; }
.tt-media-prose figure, .tt-media-prose .wp-caption { max-width: 100%; }
.tt-media-prose iframe { width: 100%; max-width: 100%; aspect-ratio: 16/9; height: auto; border: 0; display: block; margin: 28px 0; }
.tt-media-prose table { display: block; max-width: 100%; overflow-x: auto; }
.tt-media-prose ul, .tt-media-prose ol { padding-left: 24px; }
.tt-media-related { border-top: 1px solid #c9c1b4; margin-top: 72px; padding-top: 48px; }
.tt-media-related-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.tt-media-related-heading h2 { font: 800 clamp(28px,3vw,42px)/1.1 var(--tt-theme-font); color: inherit; letter-spacing: -.04em; margin: 0; }
.tt-media-related-heading > a { flex-shrink: 0; color: inherit; font-weight: 700; font-size: 14px; }
@media (max-width: 620px) {
  .media-page.tt-media, .tt-media-article { padding-top: 118px; }
  .tt-media-heading { margin-bottom: 36px; }
  .tt-media-heading h1 { font-size: clamp(40px,11vw,60px); }
  .tt-media-grid { grid-template-columns: 1fr; gap: 36px; }
  .tt-media-card h2 { font-size: 27px; }
  .tt-media-story-heading h1 { font-size: clamp(32px,8vw,46px); }
  .tt-media-story-heading, .tt-media-cover { margin-bottom: 32px; }
  .tt-media-prose { font-size: 17px; }
  .tt-media-related-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
}

.tt-media > .wrapper, .tt-media-story, .tt-media-related { max-width: 1120px; }
.media-page.tt-media, .tt-media-article { padding-top: 122px; }
.tt-media-heading h1 { font-size: clamp(36px,4vw,52px); }
.tt-media-heading { margin-bottom: 32px; }
.tt-media-intro { font-size: 20px; }
.tt-media-card h2 { font-size: 23px; }
.tt-media-card-copy { padding-top: 18px; }
.tt-media-story-heading { max-width: 800px; }
.tt-media-story-heading h1 { font-size: clamp(30px,3.4vw,46px); }
.tt-media-cover { max-width: 800px; }
.tt-media-cover img { max-height: 450px; }
.tt-media-related .tt-media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.tt-media-related--compact { font-family: var(--tt-theme-font); color: var(--tt-theme-paper-ink); background: var(--tt-theme-paper); margin-top: 48px; padding: 28px 0; }
.tt-media-related--compact .tt-media-related-heading { margin-bottom: 24px; }
.tt-media-related--compact .tt-media-related-heading h2 { font-size: 28px; }
.tt-media-related--compact .tt-media-card { padding-bottom: 0; border-bottom: 0; }
.tt-media-related--compact .tt-media-card-link { display: grid; grid-template-columns: 132px minmax(0,1fr); gap: 20px; align-items: start; }
.tt-media-related--compact .tt-media-card-image { aspect-ratio: 4/3; border-radius: 6px; }
.tt-media-related--compact .tt-media-card-copy { padding-top: 0; }
.tt-media-related--compact .tt-media-card h2 { font-size: 20px; line-height: 1.2; margin: 8px 0 14px; }
.tt-media-related--compact .tt-media-card time { font-size: 11px; }
.tt-media-related--compact .tt-media-read { font-size: 12px; }
@media (max-width: 900px) {
  .tt-media-related--compact .tt-media-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 620px) {
  .tt-media-related--compact .tt-media-card-link { grid-template-columns: 96px minmax(0,1fr); gap: 14px; }
  .tt-media-related--compact .tt-media-card h2 { font-size: 18px; }
  .tt-media-related--compact .tt-media-related-heading h2 { font-size: 25px; }
}
@media (max-width: 900px) {
  .tt-media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .media-page.tt-media, .tt-media-article { padding-top: 100px; }
  .tt-media-grid, .tt-media-related .tt-media-grid { grid-template-columns: 1fr; }
}
