/* Better brand override layer — applied over Stasis base without changing layout or imagery. */
@import url('https://fonts.googleapis.com/css2?family=Anonymous+Pro:wght@400;700&family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --better-cream: #f4efe5;
  --better-cream-2: #ebe3d6;
  --better-ink: #151515;
  --better-muted: #5f5b52;
  --better-sage: #aeb88f;
  --better-sage-dark: #7f8b5f;
  --better-brown: #604233;
  --better-gold: #e8cd7d;
  --better-deep: #223131;
  --better-olive: #223f19;
  --better-blush: #e3d7d4;
  --better-orange: #b95f34;
  --better-line: rgba(21, 21, 21, .14);
  --better-soft-shadow: 0 24px 70px rgba(96, 66, 51, .10);
}

html,
body {
  background: var(--better-cream) !important;
  color: var(--better-ink) !important;
  font-family: 'Radio Canada', Arial, Helvetica, sans-serif !important;
}

body {
  background:
    radial-gradient(circle at 78% 22%, rgba(232, 205, 125, .18), transparent 31%),
    radial-gradient(circle at 12% 55%, rgba(174, 184, 143, .16), transparent 30%),
    linear-gradient(180deg, #f8f4ec 0%, var(--better-cream) 58%, #eee5d8 100%) !important;
}

body,
body * {
  font-family: 'Radio Canada', Arial, Helvetica, sans-serif !important;
}

body::before,
body::after,
main::before,
main::after {
  background-color: transparent !important;
}

main,
.page,
.site,
.app,
.content,
.wrapper,
.shell,
.container,
.section,
[class*='section'],
[class*='panel'],
[class*='module'],
[class*='block'] {
  color: var(--better-ink) !important;
  border-color: var(--better-line) !important;
}

body,
main,
.page,
.site,
.app,
.content,
.wrapper,
.shell {
  background-color: transparent !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.headline,
.title,
.section-title,
.hero-title,
.display,
[class*='headline'],
[class*='title'] {
  color: var(--better-ink) !important;
  font-family: 'Radio Canada', Arial, Helvetica, sans-serif !important;
  font-weight: 650 !important;
  letter-spacing: -0.035em !important;
}

p,
li,
span,
small,
label,
.body-copy,
.copy,
.description,
[class*='copy'],
[class*='description'] {
  color: var(--better-muted) !important;
}

strong,
b,
.price,
.amount,
[class*='price'],
[class*='amount'] {
  color: var(--better-ink) !important;
}

.kicker,
.eyebrow,
.overline,
.meta,
[class*='kicker'],
[class*='eyebrow'],
[class*='overline'],
[class*='meta'] {
  color: var(--better-sage-dark) !important;
  letter-spacing: .16em !important;
  font-weight: 700 !important;
}

header,
.site-header,
.navbar,
.nav,
.nav-shell,
.header,
[class*='header'],
[class*='navbar'] {
  background: rgba(248, 244, 236, .94) !important;
  color: var(--better-ink) !important;
  border-color: var(--better-line) !important;
  box-shadow: 0 18px 50px rgba(96, 66, 51, .10) !important;
  backdrop-filter: blur(18px) !important;
}

header *,
.site-header *,
.navbar *,
.nav *,
.nav-shell *,
.header * {
  color: var(--better-ink) !important;
}

nav a,
header a,
.site-header a,
.navbar a,
.nav a,
.nav-shell a {
  color: var(--better-ink) !important;
}

a.active,
.active > a,
[aria-current='page'],
.is-active {
  color: var(--better-ink) !important;
}

a.active::after,
.active > a::after,
[aria-current='page']::after,
.is-active::after {
  background: var(--better-sage) !important;
}

.logo,
.site-logo,
.nav-logo,
.footer-logo,
.brand,
.site-brand,
.brandmark {
  color: transparent !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  position: relative !important;
  min-width: 124px !important;
}

.logo img,
.site-logo img,
.nav-logo img,
.footer-logo img,
.brand img,
.site-brand img,
.brandmark img {
  opacity: 0 !important;
}

.logo::before,
.site-logo::before,
.nav-logo::before,
.footer-logo::before,
.brand::before,
.site-brand::before,
.brandmark::before {
  content: 'better' !important;
  display: inline-block !important;
  color: var(--better-ink) !important;
  font-family: 'Radio Canada', Arial, Helvetica, sans-serif !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.085em !important;
  text-transform: lowercase !important;
}

.card,
.product-card,
.collection-card,
.journal-card,
.account-card,
.form-card,
.tile,
.promo,
.bogo,
.hero-card,
.cta-card,
[class*='card'],
[class*='tile'] {
  background: rgba(255, 251, 243, .76) !important;
  color: var(--better-ink) !important;
  border-color: var(--better-line) !important;
  box-shadow: var(--better-soft-shadow) !important;
}

.card *,
.product-card *,
.collection-card *,
.journal-card *,
.account-card *,
.form-card *,
.tile * {
  color: inherit;
}

.card h2,
.card h3,
.product-card h2,
.product-card h3,
.collection-card h2,
.collection-card h3,
.journal-card h2,
.journal-card h3,
[class*='card'] h2,
[class*='card'] h3 {
  color: var(--better-ink) !important;
}

button,
.button,
.btn,
a.button,
a.btn,
input[type='submit'],
[class*='button'],
[class*='btn'] {
  background: var(--better-sage) !important;
  color: var(--better-ink) !important;
  border-color: var(--better-sage) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

button:hover,
.button:hover,
.btn:hover,
a.button:hover,
a.btn:hover,
input[type='submit']:hover {
  background: #bac39e !important;
  color: var(--better-ink) !important;
}

button.secondary,
.button.secondary,
.btn.secondary,
.secondary,
.outline,
[class*='secondary'] {
  background: transparent !important;
  color: var(--better-ink) !important;
  border-color: rgba(21, 21, 21, .28) !important;
}

input,
textarea,
select {
  background: rgba(255, 251, 243, .88) !important;
  color: var(--better-ink) !important;
  border-color: rgba(21, 21, 21, .18) !important;
}

input::placeholder,
textarea::placeholder {
  color: rgba(21, 21, 21, .48) !important;
}

footer,
.footer,
.site-footer,
[class*='footer'] {
  background: #e9e0d2 !important;
  color: var(--better-ink) !important;
  border-color: var(--better-line) !important;
}

footer *,
.footer *,
.site-footer * {
  color: var(--better-ink) !important;
}

footer .logo::before,
.footer-logo::before,
.site-footer .logo::before {
  color: var(--better-ink) !important;
}

.stats,
.metrics,
.table,
.specs,
[class*='stat'],
[class*='metric'],
[class*='spec'] {
  border-color: rgba(21, 21, 21, .16) !important;
}

/* Better palette mapping from former Stasis accent system */
[style*='color: #64'],
[style*='color:#64'],
[style*='color: rgb(100'],
.teal,
.cyan,
.accent,
[class*='teal'],
[class*='cyan'],
[class*='accent'] {
  color: var(--better-sage-dark) !important;
}

.brown,
[class*='brown'] {
  color: var(--better-brown) !important;
}

.product-card .meta,
.product-card [class*='meta'],
.collection-card .meta,
.collection-card [class*='meta'] {
  color: var(--better-brown) !important;
}

::selection {
  background: var(--better-sage) !important;
  color: var(--better-ink) !important;
}

@media (max-width: 760px) {
  .logo::before,
  .site-logo::before,
  .nav-logo::before,
  .footer-logo::before,
  .brand::before,
  .site-brand::before,
  .brandmark::before {
    font-size: 34px !important;
  }
}

/* Targeted Better visual repairs */
:root {
  --better-wine: #7f2f2f;
  --better-white: #fffbf3;
}

.site-header .brand img,
.site-footer .footer-brand img,
.research-gate-logo,
.auth-art img {
  opacity: 1 !important;
}

.site-header .brand::before,
.site-footer .footer-brand::before {
  content: none !important;
}

.site-header .brand {
  min-width: 112px !important;
}

.desktop-nav a[aria-current='page']::after,
.desktop-nav a.active::after,
.utility-nav [data-cart-count] {
  background: var(--better-wine) !important;
  border-color: var(--better-wine) !important;
  color: var(--better-white) !important;
}

.button.primary,
a.button.primary,
button.button.primary,
.home-hero .button-row a:first-child,
.bogo-copy .button,
.form-panel button {
  background: var(--better-sage-dark) !important;
  border-color: var(--better-sage-dark) !important;
  color: var(--better-white) !important;
}

.button.secondary,
a.button.secondary,
.button-outline,
a.button-outline,
.home-hero .button-row a:nth-child(2),
.research-gate-actions .button.secondary {
  background: transparent !important;
  border: 1px solid rgba(21, 21, 21, .34) !important;
  color: var(--better-ink) !important;
}

.catalog-cta-card .button,
.community-cta .button,
.research-gate-actions .button.primary {
  background: var(--better-white) !important;
  border-color: var(--better-white) !important;
  color: var(--better-ink) !important;
}

.home-page .bogo-feature h2 span {
  display: block !important;
  white-space: nowrap !important;
}

.home-page .home-hero .hero-content h1 {
  max-width: 820px !important;
}

.home-page .home-hero .hero-line {
  display: block !important;
}

.home-page .home-hero .hero-line-nowrap {
  white-space: nowrap !important;
}

.mini-product-card,
.strip-product-card,
.embedded-product-card {
  background: var(--better-white) !important;
  border: 1px solid var(--better-line) !important;
  box-shadow: 0 18px 44px rgba(96, 66, 51, .08) !important;
}

.mini-product-card img,
.strip-product-card img,
.embedded-product-card img,
.product-image {
  background: #f1eadf !important;
}

.mini-product-card img::before,
.strip-product-card img::before,
.embedded-product-card img::before,
.product-image::after {
  content: none !important;
}

.product-card,
.product-card:hover,
.collection-card,
.collection-card:hover,
.protocol-cards article,
.dashboard-stats article,
.empty-state,
.cart-items,
.cart-summary,
.form-panel,
.auth-panel {
  background: var(--better-white) !important;
  color: var(--better-ink) !important;
  box-shadow: 0 18px 44px rgba(96, 66, 51, .07) !important;
}

.collection-grid,
.embedded-product-section > div,
.product-strip > div,
.top-seller-grid,
.journal-grid,
.protocol-cards,
.cart-items {
  background: transparent !important;
}

.community-cta > div,
.research-gate-panel {
  background:
    linear-gradient(rgba(34, 49, 49, .86), rgba(34, 49, 49, .86)),
    url('../assets/textures/texture-4.webp') center/cover !important;
  color: var(--better-white) !important;
}

.community-cta *,
.research-gate-panel *,
.catalog-cta-card.texture-teal *,
.auth-art * {
  color: var(--better-white) !important;
}

.research-gate-form label,
.research-gate small {
  color: rgba(255, 251, 243, .84) !important;
}

.catalog-cta-card.texture-white {
  background:
    linear-gradient(rgba(255, 251, 243, .86), rgba(255, 251, 243, .86)),
    url('../assets/textures/texture-1.webp') center/cover !important;
}

.catalog-hero {
  min-height: 420px !important;
  padding-top: 64px !important;
  padding-bottom: 42px !important;
}

.filter-shell {
  background: rgba(248, 244, 236, .92) !important;
  border: 0 !important;
  box-shadow: none !important;
}

.filter-row {
  background: transparent !important;
}

.filter-row button,
.filter-row button:not(.is-active) {
  background: var(--better-white) !important;
  border: 1px solid var(--better-line) !important;
  color: var(--better-muted) !important;
}

.filter-row button.is-active {
  background: var(--better-wine) !important;
  border-color: var(--better-wine) !important;
  color: var(--better-white) !important;
}

.auth-art,
.cart-page,
.account-page,
.login-page,
.create-account-page {
  background-color: var(--better-cream) !important;
}

.auth-art {
  background:
    linear-gradient(rgba(34, 49, 49, .76), rgba(34, 49, 49, .76)),
    url('../assets/textures/texture-2.webp') center/cover !important;
}

/* Surgical cleanup after visual QA */
.logo img,
.site-logo img,
.nav-logo img,
.footer-logo img,
.brand img,
.site-brand img,
.brandmark img {
  opacity: 1 !important;
}

.logo::before,
.site-logo::before,
.nav-logo::before,
.footer-logo::before,
.brand::before,
.site-brand::before,
.brandmark::before {
  content: none !important;
}

.home-page .bogo-feature {
  background: #604233 !important;
  box-shadow: none !important;
}

.home-page .bogo-feature,
.home-page .bogo-feature * {
  color: var(--better-white) !important;
}

.home-page .bogo-placeholder {
  background: rgba(255, 251, 243, .08) !important;
  border-color: rgba(255, 251, 243, .22) !important;
}

.home-page .bogo-copy .button {
  background: var(--better-white) !important;
  border-color: var(--better-white) !important;
  color: var(--better-brown) !important;
}

.home-page .home-hero .button-row {
  display: flex !important;
  gap: 12px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.home-page .home-hero .button-row a {
  flex: 0 0 auto !important;
}

.home-page .home-hero .hero-content h1 {
  max-width: 900px !important;
  font-size: clamp(54px, 5.7vw, 86px) !important;
  line-height: .94 !important;
}

.home-page .home-hero .hero-content h1 .hero-line:nth-child(2) {
  white-space: nowrap !important;
}

.home-page .section-heading,
.home-page .statement-card.texture-white,
.home-page .collections .section-heading {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.home-page .statement-card.texture-white {
  padding-inline: 0 !important;
  min-height: 360px !important;
}

.home-page .collection-card,
.home-page .collection-card:hover {
  background: transparent !important;
  border: 1px solid var(--better-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.home-page .collection-card footer {
  background: transparent !important;
  border-top: 1px solid var(--better-line) !important;
}

.mini-product-card,
.strip-product-card,
.embedded-product-card {
  overflow: hidden !important;
}

.mini-product-card img {
  background: #0d0d0b !important;
  object-fit: contain !important;
  padding: 24px !important;
}

.strip-product-card img,
.embedded-product-card img {
  background: #0d0d0b !important;
  object-fit: contain !important;
}

.product-strip header,
.embedded-product-section header {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.community-cta .button,
.community-cta .button.secondary {
  background: transparent !important;
  border: 1px solid rgba(255, 251, 243, .72) !important;
  color: var(--better-white) !important;
}

.catalog-cta-card .button,
.catalog-cta-card .button.dark {
  background: transparent !important;
  border: 1px solid var(--better-sage-dark) !important;
  color: var(--better-ink) !important;
}

.site-footer .footer-brand img {
  width: 150px !important;
  min-height: 42px !important;
  object-fit: contain !important;
}

/* Final specific fixes requested from visual pass */
:root {
  --better-active: var(--better-wine);
}

.site-header {
  background: rgba(248, 244, 236, .82) !important;
  box-shadow: none !important;
}

.header-shell {
  background: rgba(255, 251, 243, .9) !important;
  box-shadow: 0 14px 34px rgba(96, 66, 51, .10) !important;
  border-color: rgba(21, 21, 21, .10) !important;
}

.brand img,
.footer-brand img {
  width: 148px !important;
  height: auto !important;
  filter: none !important;
}

.site-header .brand {
  min-width: 156px !important;
}

.site-footer .footer-brand img {
  width: 176px !important;
}

.desktop-nav a[aria-current='page']::after,
.home-page .desktop-nav a[href$="index.html"]::after,
.catalog-page .desktop-nav a[href$="catalog.html"]::after,
.manifesto-page .desktop-nav a[href$="manifesto.html"]::after,
.journal-page .desktop-nav a[href$="journal.html"]::after,
.account-page .utility-nav a[href$="account.html"]::after {
  background: var(--better-active) !important;
}

.utility-nav [data-cart-count] {
  background: var(--better-active) !important;
  border-color: var(--better-active) !important;
  color: var(--better-white) !important;
}

.filter-shell,
.filter-row,
.filter-row.page-shell {
  background: transparent !important;
  box-shadow: none !important;
}

.catalog-page .filter-shell {
  padding-block: 14px !important;
}

.home-page .bogo-feature {
  grid-template-columns: minmax(0, .9fr) minmax(360px, .72fr) !important;
}

.home-page .bogo-placeholder,
.home-page .hero-placeholder {
  display: grid !important;
  place-items: center !important;
  min-height: 320px !important;
  background: rgba(255, 251, 243, .08) !important;
  border: 1px solid rgba(255, 251, 243, .22) !important;
  border-radius: 28px !important;
  color: rgba(255, 251, 243, .58) !important;
  text-transform: uppercase !important;
  letter-spacing: .18em !important;
  font-size: 12px !important;
}

.home-page .hero-placeholder {
  background: #604233 !important;
  color: var(--better-white) !important;
  max-width: 92% !important;
  justify-self: end !important;
}

.home-page .home-hero {
  grid-template-columns: .92fr 1.08fr !important;
  gap: clamp(28px, 5vw, 76px) !important;
}

.home-page .home-hero .hero-content {
  padding-left: 0 !important;
}

.home-page .home-hero .hero-content h1 {
  font-size: clamp(48px, 4.9vw, 76px) !important;
}

.manifesto-page .principles .section-heading,
.manifesto-page .manifesto-cta .button-row,
.account-page .page-hero .button-row {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.manifesto-page .manifesto-cta h2,
.manifesto-page .manifesto-cta h2 span,
.quality-stats,
.quality-stats *,
.standard-item strong,
.standard-item span {
  color: var(--better-ink) !important;
}

.manifesto-page .manifesto-cta .button.primary {
  background: var(--better-sage-dark) !important;
  border-color: var(--better-sage-dark) !important;
  color: var(--better-white) !important;
}

.featured-copy > a,
.article-link,
.journal-page .featured-copy a,
.journal-page .journal-grid a {
  color: var(--better-sage-dark) !important;
}

.account-page .page-hero .button:first-child {
  background: var(--better-sage-dark) !important;
  border-color: var(--better-sage-dark) !important;
  color: var(--better-white) !important;
}

.account-page .page-hero .button.button-outline {
  background: transparent !important;
  border: 1px solid var(--better-sage-dark) !important;
  color: var(--better-sage-dark) !important;
}

.account-page .page-hero .button-row {
  display: flex !important;
  gap: 12px !important;
}

.account-page .page-hero .button-row .button {
  flex: 0 0 auto !important;
}

/* Better responsive pass: gate, hero alignment, mobile menu, mobile cards */
.research-gate {
  background:
    radial-gradient(circle at 18% 18%, rgba(232, 205, 125, .14), transparent 32%),
    radial-gradient(circle at 82% 72%, rgba(174, 184, 143, .18), transparent 34%),
    linear-gradient(180deg, #f8f4ec 0%, #f4efe5 62%, #ebe3d6 100%) !important;
}

.research-gate-panel {
  width: min(92vw, 620px) !important;
  background: rgba(255, 251, 243, .92) !important;
  border: 1px solid rgba(21, 21, 21, .12) !important;
  border-radius: 28px !important;
  box-shadow: 0 28px 80px rgba(96, 66, 51, .16) !important;
  color: var(--better-ink) !important;
}

.research-gate-logo {
  display: block !important;
  width: 176px !important;
  height: auto !important;
  margin: 0 auto 26px !important;
  filter: none !important;
}

.research-gate-panel *,
.research-gate-form label,
.research-gate small {
  color: var(--better-ink) !important;
}

.research-gate h1 {
  color: var(--better-ink) !important;
  text-align: center !important;
}

.research-gate p {
  color: var(--better-muted) !important;
  text-align: center !important;
}

.research-gate-form select {
  background: var(--better-white) !important;
  border: 1px solid var(--better-line) !important;
  color: var(--better-ink) !important;
}

.research-gate-actions .button.secondary {
  background: transparent !important;
  border-color: var(--better-sage-dark) !important;
  color: var(--better-sage-dark) !important;
}

.research-gate-actions .button.primary {
  background: var(--better-sage-dark) !important;
  border-color: var(--better-sage-dark) !important;
  color: var(--better-white) !important;
}

.research-gate-form input {
  accent-color: var(--better-sage-dark) !important;
}

.home-page .bogo-feature,
.home-page .home-hero {
  grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr) !important;
  column-gap: clamp(28px, 5vw, 72px) !important;
}

.home-page .bogo-placeholder,
.home-page .hero-placeholder {
  justify-self: stretch !important;
  max-width: none !important;
}

.home-page .hero-placeholder {
  background: rgba(96, 66, 51, .12) !important;
  border-color: rgba(96, 66, 51, .20) !important;
  color: rgba(21, 21, 21, .42) !important;
}

.home-page .home-hero .hero-content h1,
.home-page .home-hero .hero-content h1 span,
.home-page .home-hero .hero-content > p {
  color: var(--better-ink) !important;
}

.mobile-menu {
  background: var(--better-white) !important;
  border: 1px solid var(--better-line) !important;
  box-shadow: 0 18px 44px rgba(96, 66, 51, .16) !important;
}

.mobile-menu a {
  color: var(--better-ink) !important;
  border-color: var(--better-line) !important;
  font-weight: 600 !important;
}

.menu-toggle {
  background: var(--better-sage) !important;
  border: 1px solid rgba(21, 21, 21, .12) !important;
  border-radius: 999px !important;
}

.menu-toggle span:not(.sr-only) {
  background: var(--better-white) !important;
}

@media (max-width: 800px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  .site-header {
    background: rgba(248, 244, 236, .92) !important;
  }

  .header-shell {
    min-height: 66px !important;
    height: auto !important;
    border-radius: 22px !important;
  }

  .brand img {
    width: 118px !important;
  }

  .home-page .bogo-feature {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    padding: 30px !important;
  }

  .home-page .bogo-copy {
    display: contents !important;
  }

  .home-page .bogo-copy > span {
    white-space: nowrap !important;
  }

  .home-page .bogo-feature h2 {
    order: 1 !important;
    font-size: clamp(40px, 11vw, 58px) !important;
    line-height: 1.02 !important;
  }

  .home-page .bogo-feature p {
    order: 2 !important;
    max-width: none !important;
    width: 100% !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  .home-page .bogo-placeholder {
    order: 3 !important;
    width: 100% !important;
    min-height: 300px !important;
  }

  .home-page .bogo-copy .button {
    order: 4 !important;
    width: max-content !important;
    min-width: 176px !important;
  }

  .home-page .home-hero {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    padding-top: 72px !important;
  }

  .home-page .home-hero .hero-content {
    order: 1 !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .home-page .home-hero .hero-content h1 {
    font-size: clamp(42px, 12vw, 58px) !important;
    line-height: 1.02 !important;
  }

  .home-page .home-hero .hero-content h1 .hero-line:nth-child(2) {
    white-space: normal !important;
  }

  .home-page .home-hero .hero-content > p {
    font-size: 18px !important;
    line-height: 1.65 !important;
  }

  .home-page .home-hero .button-row {
    flex-direction: row !important;
    flex-wrap: wrap !important;
  }

  .home-page .hero-placeholder {
    order: 2 !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-radius: 0 !important;
    min-height: 340px !important;
  }

  .top-seller-grid,
  .product-strip > div,
  .embedded-product-section > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    overflow: visible !important;
  }

  .mini-product-card,
  .strip-product-card,
  .embedded-product-card {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Final spacing polish: access gate and mobile hero rhythm */
.research-gate-panel {
  padding: clamp(56px, 6vw, 78px) clamp(40px, 5vw, 64px) clamp(52px, 5vw, 72px) !important;
}

.research-gate-logo {
  width: 150px !important;
  max-width: 78% !important;
  margin: 0 auto 24px !important;
}

.research-gate small {
  display: block !important;
  margin-top: 28px !important;
  text-align: center !important;
}

.home-page .bogo-feature {
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr) !important;
}

.home-page .bogo-placeholder {
  justify-self: end !important;
  width: min(100%, 620px) !important;
}

@media (max-width: 800px) {
  .research-gate-panel {
    width: min(92vw, 520px) !important;
    padding: 44px 28px 40px !important;
  }

  .research-gate-logo {
    width: 128px !important;
    max-width: 82% !important;
    margin-bottom: 18px !important;
  }

  .research-gate h1 {
    font-size: clamp(48px, 14vw, 72px) !important;
    line-height: .92 !important;
  }

  .home-page .bogo-feature {
    align-items: stretch !important;
    padding: 26px 28px !important;
    gap: 18px !important;
  }

  .home-page .bogo-copy {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
  }

  .home-page .bogo-copy > span {
    order: 0 !important;
    align-self: flex-start !important;
    text-align: left !important;
    margin-bottom: 20px !important;
  }

  .home-page .bogo-feature h2 {
    order: 1 !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    text-align: left !important;
    font-size: clamp(36px, 9.2vw, 48px) !important;
  }

  .home-page .bogo-feature p {
    order: 2 !important;
    margin: 0 0 14px !important;
    text-align: left !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .home-page .bogo-copy .button {
    order: 3 !important;
    margin-top: 16px !important;
    margin-bottom: 0 !important;
  }

  .home-page .bogo-placeholder {
    order: 4 !important;
    width: 100% !important;
    min-height: 200px !important;
    justify-self: stretch !important;
  }

  .home-page .home-hero {
    width: min(100% - 32px, 1420px) !important;
    margin-inline: auto !important;
    padding-top: 68px !important;
  }

  .home-page .home-hero .hero-content h1 {
    font-size: clamp(38px, 10.8vw, 54px) !important;
    max-width: 100% !important;
    overflow-wrap: normal !important;
  }

  .home-page .home-hero .hero-content > p {
    max-width: 100% !important;
    font-size: 17px !important;
  }

  .home-page .hero-placeholder {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 28px !important;
    min-height: 300px !important;
  }
}

.home-page .collection-icon,
.home-page .collection-icon *,
.home-page .collection-card footer,
.home-page .collection-card footer *,
.home-page .collection-card small {
  color: var(--better-wine) !important;
  stroke: var(--better-wine) !important;
}

.home-page .collection-card footer {
  border-top: 0 !important;
  background: transparent !important;
}

/* Last mobile tightening pass */
@media (max-width: 800px) {
  .home-page .bogo-copy .button {
    margin-bottom: 10px !important;
  }

  .home-page .bogo-placeholder {
    margin-top: 0 !important;
    min-height: 220px !important;
  }

  .home-page .top-sellers,
  .home-page .statement-section,
  .home-page .collections,
  .home-page .community-cta,
  .home-page .catalog-cta,
  .product-strip {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  .home-page .statement-card.texture-white {
    min-height: 0 !important;
    padding-block: 0 !important;
  }

  .home-page .collections .section-heading {
    margin-bottom: 32px !important;
  }

  .community-cta {
    margin-top: 0 !important;
  }

  .catalog-cta-card {
    min-height: 380px !important;
  }

  .product-strip {
    margin-top: 0 !important;
  }
}

/* Forward identity pass */
:root {
  --better-cream: #e8e5d9;
  --better-cream-2: #f4f2ea;
  --better-ink: #17120f;
  --better-muted: #5d5a50;
  --better-sage: #b0ad93;
  --better-sage-dark: #3f5242;
  --better-brown: #3f5242;
  --better-gold: #d3b359;
  --better-deep: #20223e;
  --better-olive: #3f5242;
  --better-wine: #7b0015;
  --better-white: #fbfaf4;
  --better-active: #7b0015;
  --better-line: rgba(23, 18, 15, .16);
  --better-soft-shadow: 0 24px 70px rgba(23, 18, 15, .08);
  --Forward-logo-green: url('../assets/brand/forward-logo-white.svg');
  --Forward-logo-stone: url('../assets/brand/forward-logo-white.svg');
}

html,
body,
body * {
  font-family: 'Inter', Arial, Helvetica, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.headline,
.title,
.section-title,
.hero-title,
.display,
.eyebrow,
.kicker,
.overline,
.meta,
.product-meta,
.collection-card footer,
.button,
button,
nav a,
[class*='headline'],
[class*='title'] {
  font-family: 'Anonymous Pro', 'Courier New', monospace !important;
  letter-spacing: 0 !important;
}

body {
  background:
    radial-gradient(circle at 82% 18%, rgba(211, 179, 89, .12), transparent 31%),
    radial-gradient(circle at 12% 62%, rgba(63, 82, 66, .10), transparent 32%),
    linear-gradient(180deg, #fbfaf4 0%, var(--better-cream) 100%) !important;
}

.site-header {
  background: rgba(232, 229, 217, .78) !important;
}

.header-shell,
.research-gate-panel,
.product-card,
.collection-card,
.mini-product-card,
.strip-product-card,
.embedded-product-card,
.auth-panel,
.form-panel,
.cart-summary,
.empty-state {
  background: rgba(251, 250, 244, .92) !important;
  border-color: var(--better-line) !important;
}

.brand img,
.footer-brand img,
.research-gate-logo,
.auth-art img {
  content: var(--Forward-logo-green) !important;
  width: 168px !important;
  height: auto !important;
  object-fit: contain !important;
}

.site-footer .footer-brand img,
.auth-art img {
  content: var(--Forward-logo-stone) !important;
}

.site-header .brand {
  min-width: 176px !important;
}

.site-footer {
  background: var(--better-sage-dark) !important;
}

.site-footer,
.site-footer * {
  color: var(--better-cream) !important;
}

.site-footer .footer-brand p,
.site-footer .legal-copy,
.site-footer .footer-floor,
.site-footer a {
  color: rgba(232, 229, 217, .78) !important;
}

.home-page .bogo-feature {
  background: var(--better-sage-dark) !important;
}

.home-page .bogo-copy .button,
.catalog-cta-card .button,
.catalog-cta-card .button.dark {
  background: var(--better-gold) !important;
  border-color: var(--better-gold) !important;
  color: var(--better-ink) !important;
}

.button.primary,
a.button.primary,
button.button.primary,
.form-panel button,
.home-hero .button-row a:first-child,
.embedded-product-card .button,
.strip-product-card .button,
.mini-product-card .button {
  background: var(--better-sage-dark) !important;
  border-color: var(--better-sage-dark) !important;
  color: var(--better-white) !important;
}

.button.secondary,
a.button.secondary,
.button-outline,
a.button-outline,
.home-hero .button-row a:nth-child(2),
.research-gate-actions .button.secondary {
  background: transparent !important;
  border-color: var(--better-sage-dark) !important;
  color: var(--better-sage-dark) !important;
}

.desktop-nav a[aria-current='page']::after,
.home-page .desktop-nav a[href$="index.html"]::after,
.catalog-page .desktop-nav a[href$="catalog.html"]::after,
.manifesto-page .desktop-nav a[href$="manifesto.html"]::after,
.journal-page .desktop-nav a[href$="journal.html"]::after,
.account-page .utility-nav a[href$="account.html"]::after,
.utility-nav [data-cart-count],
.filter-row button.is-active {
  background: var(--better-wine) !important;
  border-color: var(--better-wine) !important;
  color: var(--better-white) !important;
}

.eyebrow,
.kicker,
.overline,
.meta,
.product-meta span,
.collection-card footer,
.featured-copy > a,
.article-link {
  color: var(--better-sage-dark) !important;
}

.collection-icon svg,
.collection-number svg,
.domain-card svg {
  color: var(--better-wine) !important;
  stroke: var(--better-wine) !important;
}

.research-gate {
  background:
    radial-gradient(circle at 18% 18%, rgba(211, 179, 89, .16), transparent 32%),
    radial-gradient(circle at 82% 72%, rgba(63, 82, 66, .16), transparent 34%),
    linear-gradient(180deg, #fbfaf4 0%, var(--better-cream) 100%) !important;
}

.research-gate-actions .button.primary {
  background: var(--better-sage-dark) !important;
  border-color: var(--better-sage-dark) !important;
  color: var(--better-white) !important;
}

.auth-art {
  background:
    linear-gradient(rgba(32, 34, 62, .74), rgba(32, 34, 62, .74)),
    url('../assets/textures/texture-2.webp') center/cover !important;
}

.mobile-menu {
  background: var(--better-white) !important;
}

/* Forward QA pass: green-led palette, typography scale, footer, auth cleanup */
:root {
  --better-cream: #ece9dd;
  --better-cream-2: #faf8ef;
  --better-ink: #17120f;
  --better-muted: #4e554b;
  --better-sage: #aeb29a;
  --better-sage-dark: #3b5742;
  --better-brown: #314838;
  --better-gold: #d2b456;
  --better-deep: #1f213b;
  --better-wine: #7b0015;
  --better-white: #fffdf6;
  --better-line: rgba(59, 87, 66, .22);
  --better-soft-shadow: 0 22px 58px rgba(59, 87, 66, .12);
}

body {
  background:
    radial-gradient(circle at 82% 20%, rgba(59, 87, 66, .12), transparent 32%),
    radial-gradient(circle at 15% 72%, rgba(174, 178, 154, .22), transparent 34%),
    linear-gradient(180deg, #fbfaf4 0%, var(--better-cream) 100%) !important;
}

.home-page .home-hero .hero-content h1 {
  font-size: clamp(42px, 4vw, 66px) !important;
  line-height: .98 !important;
  max-width: 780px !important;
}

.home-page .home-hero .hero-content h1 .hero-line,
.home-page .home-hero .hero-content h1 .hero-line-nowrap {
  white-space: normal !important;
}

.eyebrow,
.kicker,
.overline,
.meta,
.product-meta,
.product-meta span,
.mini-product-card span,
.strip-product-card span,
.embedded-product-card span,
.section-heading > span,
.bogo-copy > span,
.detail-copy > .eyebrow,
.auth-panel > .eyebrow,
.product-image > span {
  font-size: 13px !important;
  line-height: 1.25 !important;
  letter-spacing: .04em !important;
  color: var(--better-sage-dark) !important;
}

.desktop-nav a,
.utility-nav a {
  font-size: 13px !important;
}

.site-header {
  background: rgba(236, 233, 221, .9) !important;
}

.header-shell {
  border: 1px solid rgba(59, 87, 66, .14) !important;
}

.home-page .bogo-feature,
.community-cta > div,
.catalog-cta-card.texture-teal {
  background: var(--better-sage-dark) !important;
  color: var(--better-white) !important;
}

.home-page .bogo-feature *,
.community-cta > div *,
.catalog-cta-card.texture-teal * {
  color: var(--better-white) !important;
}

.button.primary,
a.button.primary,
button.button.primary,
.form-panel button,
.home-hero .button-row a:first-child,
.embedded-product-card .button,
.strip-product-card .button,
.mini-product-card .button {
  background: var(--better-sage-dark) !important;
  border-color: var(--better-sage-dark) !important;
  color: var(--better-white) !important;
}

.home-page .bogo-copy .button,
.catalog-cta-card .button,
.catalog-cta-card .button.dark {
  background: var(--better-gold) !important;
  border-color: var(--better-gold) !important;
  color: var(--better-ink) !important;
}

.site-footer {
  background: var(--better-sage-dark) !important;
  padding: 76px max(32px, calc((100vw - 1280px) / 2)) 30px !important;
}

.site-footer .footer-shell {
  display: grid !important;
  grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(150px, .75fr)) !important;
  gap: clamp(28px, 5vw, 72px) !important;
  width: min(100%, 1280px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.site-footer .footer-brand img {
  width: 190px !important;
  margin-bottom: 22px !important;
}

.site-footer h2 {
  color: var(--better-white) !important;
  font-size: 14px !important;
  margin: 0 0 16px !important;
}

.site-footer a,
.site-footer p {
  color: rgba(255, 253, 246, .78) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.site-footer a {
  margin: 8px 0 !important;
}

.site-footer .legal-copy {
  width: min(100%, 1280px) !important;
  margin: 54px auto 0 !important;
  padding: 24px 0 !important;
  border-top: 1px solid rgba(255, 253, 246, .18) !important;
  border-bottom: 1px solid rgba(255, 253, 246, .18) !important;
  color: rgba(255, 253, 246, .72) !important;
}

.site-footer .footer-floor {
  width: min(100%, 1280px) !important;
  margin: 22px auto 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: rgba(255, 253, 246, .64) !important;
}

.login-page .auth-panel,
.create-account-page .auth-panel {
  background: rgba(255, 253, 246, .72) !important;
  box-shadow: none !important;
}

.login-page .form-panel,
.create-account-page .form-panel,
.auth-panel .form-panel {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 28px 0 0 !important;
}

.auth-panel label {
  background: transparent !important;
  box-shadow: none !important;
}

.auth-panel input,
.auth-panel select,
.auth-panel textarea {
  background: var(--better-white) !important;
  box-shadow: none !important;
}

.auth-art {
  background:
    linear-gradient(rgba(31, 33, 59, .66), rgba(59, 87, 66, .48)),
    url('../assets/textures/texture-2.webp') center/cover !important;
}

.catalog-page .catalog-hero p {
  color: var(--better-muted) !important;
}

@media (max-width: 900px) {
  .site-footer .footer-shell {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 560px) {
  .site-footer .footer-shell {
    grid-template-columns: 1fr !important;
  }
}

/* Forward green-first refinement */
:root {
  --better-cream: #e5e6d8;
  --better-cream-2: #f8f7ef;
  --better-sage: #9fa889;
  --better-sage-dark: #385640;
  --better-brown: #2f4738;
  --better-gold: #d5b452;
  --better-active: #d5b452;
  --better-line: rgba(56, 86, 64, .22);
}

html,
body {
  background: var(--better-sage-dark) !important;
}

body {
  background:
    radial-gradient(circle at 15% 18%, rgba(213, 180, 82, .18), transparent 28%),
    radial-gradient(circle at 82% 42%, rgba(255, 253, 246, .10), transparent 32%),
    linear-gradient(180deg, #385640 0%, #4a6347 46%, #e5e6d8 46%, #e5e6d8 100%) !important;
}

main {
  background:
    radial-gradient(circle at 18% 54%, rgba(56, 86, 64, .10), transparent 30%),
    linear-gradient(180deg, rgba(248, 247, 239, .90), rgba(229, 230, 216, .96)) !important;
}

.site-header {
  background: rgba(56, 86, 64, .94) !important;
  border-bottom: 1px solid rgba(255, 253, 246, .10) !important;
}

.header-shell {
  background: rgba(255, 253, 246, .92) !important;
  border-color: rgba(213, 180, 82, .32) !important;
}

.desktop-nav a[aria-current='page']::after,
.home-page .desktop-nav a[href$="index.html"]::after,
.catalog-page .desktop-nav a[href$="catalog.html"]::after,
.manifesto-page .desktop-nav a[href$="manifesto.html"]::after,
.journal-page .desktop-nav a[href$="journal.html"]::after,
.account-page .utility-nav a[href$="account.html"]::after,
.utility-nav [data-cart-count],
.filter-row button.is-active {
  background: var(--better-gold) !important;
  border-color: var(--better-gold) !important;
  color: var(--better-ink) !important;
}

.home-page .bogo-feature,
.community-cta > div,
.catalog-cta-card.texture-teal,
.auth-art {
  background-color: var(--better-sage-dark) !important;
}

.button.primary,
a.button.primary,
button.button.primary,
.form-panel button,
.home-hero .button-row a:first-child,
.embedded-product-card .button,
.strip-product-card .button,
.mini-product-card .button {
  background: var(--better-sage-dark) !important;
  border-color: var(--better-sage-dark) !important;
  color: var(--better-white) !important;
}

.home-page .bogo-copy .button,
.catalog-cta-card .button,
.catalog-cta-card .button.dark,
.home-page .catalog-cta .button,
.filter-row button.is-active {
  background: var(--better-gold) !important;
  border-color: var(--better-gold) !important;
  color: var(--better-ink) !important;
}

.site-footer {
  background: var(--better-sage-dark) !important;
}

.site-footer .footer-brand {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.site-footer .footer-brand img {
  content: var(--Forward-logo-stone) !important;
  opacity: 1 !important;
  filter: none !important;
}

.site-footer .footer-brand p {
  max-width: 330px !important;
  color: rgba(255, 253, 246, .82) !important;
  font-weight: 500 !important;
}

.site-footer h2 {
  color: var(--better-white) !important;
}

.site-footer a:hover {
  color: var(--better-gold) !important;
}

/* Forward geometry and subtle background texture */
body {
  background: var(--better-cream) !important;
}

main {
  background:
    linear-gradient(rgba(229, 230, 216, .965), rgba(229, 230, 216, .965)),
    url('../assets/brand/Forward-pattern.png') center top / 760px auto repeat !important;
}

main::before {
  content: none !important;
}

.site-header {
  background: var(--better-cream) !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.header-shell {
  border-radius: 0 !important;
}

*,
*::before,
*::after {
  border-radius: 0 !important;
}

button,
.button,
.btn,
a.button,
a.btn,
input,
textarea,
select,
.card,
.product-card,
.collection-card,
.mini-product-card,
.strip-product-card,
.embedded-product-card,
.auth-panel,
.auth-art,
.form-panel,
.cart-summary,
.empty-state,
.bogo-feature,
.bogo-placeholder,
.hero-placeholder,
.catalog-cta-card,
.research-gate-panel,
.header-shell,
.site-header,
.site-footer {
  border-radius: 0 !important;
}

.home-page .bogo-feature {
  margin-top: 26px !important;
}

.research-gate {
  background:
    linear-gradient(rgba(229, 230, 216, .965), rgba(229, 230, 216, .965)),
    url('../assets/brand/Forward-pattern.png') center / 720px auto repeat !important;
}

.button.secondary,
a.button.secondary,
.button-outline,
a.button-outline,
.home-hero .button-row a:nth-child(2),
.research-gate-actions .button.secondary,
.account-page .page-hero .button.button-outline,
.filter-row button:not(.is-active) {
  background: #e9eadf !important;
  color: var(--better-sage-dark) !important;
  border-color: rgba(56, 86, 64, .46) !important;
}

.button.secondary:hover,
a.button.secondary:hover,
.button-outline:hover,
a.button-outline:hover,
.filter-row button:not(.is-active):hover {
  background: #f4f2e8 !important;
}

.top-seller-grid,
.product-strip > div,
.embedded-product-section > div {
  position: relative !important;
  z-index: 1 !important;
}

/* Solid utility pages: account, contact, cart */
.account-page main,
.contact-page main,
.cart-page main,
.login-page main,
.create-account-page main {
  background: var(--better-cream) !important;
}

.account-page .page-hero,
.contact-page .page-hero,
.cart-page .page-hero {
  background: var(--better-cream-2) !important;
  border: 1px solid var(--better-line) !important;
  box-shadow: var(--better-soft-shadow) !important;
}

.account-page .dashboard,
.contact-page .contact-grid,
.cart-page .cart-layout,
.account-page .dashboard-stats,
.account-page .empty-state,
.cart-page .cart-empty,
.cart-page .cart-summary,
.contact-page .contact-details,
.contact-page .form-panel,
.login-page .auth-panel,
.create-account-page .auth-panel,
.product-strip,
.embedded-product-section {
  background: var(--better-cream-2) !important;
}

.account-page .dashboard,
.contact-page .contact-grid,
.cart-page .cart-layout {
  padding: 48px !important;
  border: 1px solid var(--better-line) !important;
  box-shadow: var(--better-soft-shadow) !important;
}

.account-page .dashboard-stats,
.cart-page .cart-items,
.product-strip > div,
.embedded-product-section > div {
  background: transparent !important;
}

.account-page .dashboard-stats article,
.account-page .empty-state,
.cart-page .cart-empty,
.cart-page .cart-summary,
.contact-page .contact-details,
.contact-page .form-panel {
  background: var(--better-white) !important;
  border: 1px solid var(--better-line) !important;
  box-shadow: none !important;
}

.contact-page .embedded-product-section,
.account-page .product-strip,
.cart-page .product-strip {
  background: var(--better-cream) !important;
}

.contact-page .embedded-product-section > div,
.account-page .product-strip > div,
.cart-page .product-strip > div {
  padding: 0 !important;
}

/* Match utility pages to the House/Catalog patterned canvas */
.account-page main,
.contact-page main,
.cart-page main {
  background:
    linear-gradient(rgba(229, 230, 216, .965), rgba(229, 230, 216, .965)),
    url('../assets/brand/Forward-pattern.png') center top / 760px auto repeat !important;
}

.account-page .page-hero,
.contact-page .page-hero,
.cart-page .page-hero {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.account-page .dashboard,
.contact-page .contact-grid,
.cart-page .cart-layout {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 48px 0 !important;
}

.account-page .dashboard-stats article,
.account-page .empty-state,
.cart-page .cart-empty,
.cart-page .cart-summary,
.contact-page .form-panel {
  background: var(--better-white) !important;
  border: 1px solid var(--better-line) !important;
}

.contact-page .contact-details {
  background: var(--better-sage-dark) !important;
  border: 1px solid rgba(255, 253, 246, .16) !important;
}

.contact-page .contact-details,
.contact-page .contact-details * {
  color: var(--better-white) !important;
}

.contact-page .contact-details .eyebrow,
.contact-page .contact-details dt {
  color: var(--better-gold) !important;
}

.account-page .product-strip,
.cart-page .product-strip,
.contact-page .embedded-product-section {
  background: transparent !important;
}

/* Global patterned canvas and transparent featured sections */
html,
body {
  min-height: 100% !important;
  background:
    linear-gradient(rgba(229, 230, 216, .965), rgba(229, 230, 216, .965)),
    url('../assets/brand/Forward-pattern.png') center top / 760px auto repeat fixed !important;
}

body,
main,
.page,
.site,
.app,
.content,
.wrapper,
.shell {
  background-color: transparent !important;
}

main {
  background: transparent !important;
}

.page-shell,
.wrap {
  background-color: transparent !important;
}

.product-strip,
.embedded-product-section,
.home-page .top-sellers,
.journal-page .embedded-product-section,
.journal-page .product-strip,
.contact-page .embedded-product-section,
.account-page .product-strip,
.cart-page .product-strip {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.product-strip header,
.embedded-product-section header,
.top-sellers .section-heading {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.product-strip > div,
.embedded-product-section > div,
.top-seller-grid {
  background: transparent !important;
}

.mini-product-card,
.strip-product-card,
.embedded-product-card {
  background: var(--better-white) !important;
  border: 1px solid var(--better-line) !important;
}

.account-page .page-hero,
.contact-page .page-hero,
.cart-page .page-hero,
.journal-page .journal-hero,
.catalog-page .catalog-hero,
.manifesto-page .manifesto-hero {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Final canvas cleanup: one continuous texture, no white section wrappers */
html,
body,
main {
  background-color: #e5e6d8 !important;
  background-image:
    linear-gradient(rgba(229, 230, 216, .94), rgba(229, 230, 216, .94)),
    url('../assets/brand/Forward-pattern.png') !important;
  background-position: center top, center top !important;
  background-size: auto, 760px auto !important;
  background-repeat: repeat, repeat !important;
  background-attachment: fixed, fixed !important;
}

body::before,
body::after,
main::before,
main::after {
  content: none !important;
}

main,
.page-shell,
.wrap,
.section,
[class*='section'],
.featured-story,
.journal-grid,
.legal-panel,
.dashboard,
.contact-grid,
.cart-layout,
.product-strip,
.embedded-product-section,
.top-sellers,
.featured-products {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.page-shell::before,
.page-shell::after,
.wrap::before,
.wrap::after,
.product-strip::before,
.product-strip::after,
.embedded-product-section::before,
.embedded-product-section::after,
.top-sellers::before,
.top-sellers::after,
.featured-products::before,
.featured-products::after {
  content: none !important;
}

.product-strip,
.embedded-product-section,
.top-sellers,
.featured-products {
  border: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.product-strip > *,
.embedded-product-section > *,
.top-sellers > *,
.featured-products > * {
  background: transparent !important;
  background-color: transparent !important;
}

.mini-product-card,
.strip-product-card,
.embedded-product-card,
.product-card,
.dashboard-stats article,
.empty-state,
.cart-empty,
.cart-summary,
.form-panel,
.auth-panel,
.catalog-cta-card,
.research-gate-panel {
  background: #fffdf6 !important;
  box-shadow: var(--better-soft-shadow) !important;
}

.contact-page .contact-details {
  background: var(--better-sage-dark) !important;
}

/* Utility page polish: remove faint layout slabs and improve cart empty state */
.contact-page .page-hero,
.account-page .page-hero,
.cart-page .page-hero,
.contact-page .contact-grid,
.account-page .dashboard,
.account-page .dashboard-stats,
.cart-page .cart-layout,
.cart-page .cart-items {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.contact-page .page-hero,
.account-page .page-hero,
.cart-page .page-hero {
  padding-bottom: 42px !important;
}

.contact-page .contact-grid,
.account-page .dashboard,
.cart-page .cart-layout {
  padding-top: 0 !important;
}

.cart-page .cart-items {
  display: flex !important;
  align-items: stretch !important;
}

.cart-page .cart-empty {
  width: 100% !important;
  min-height: 176px !important;
  padding: 34px 36px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 18px !important;
  background: rgba(56, 86, 64, .92) !important;
  border: 1px solid rgba(255, 253, 246, .24) !important;
  box-shadow: var(--better-soft-shadow) !important;
  color: var(--better-white) !important;
}

.cart-page .cart-empty p {
  margin: 0 !important;
  color: var(--better-white) !important;
  font-size: 1rem !important;
}

.cart-page .cart-empty .button,
.cart-page .cart-empty .button.secondary {
  background: var(--better-gold) !important;
  border-color: var(--better-gold) !important;
  color: var(--better-ink) !important;
}

.cart-page .cart-summary {
  background: #fffdf6 !important;
  border: 1px solid rgba(56, 86, 64, .18) !important;
}

/* Final pass: keep the texture on the page canvas only, not on inner bands */
html,
body {
  background-color: #e5e6d8 !important;
  background-image:
    linear-gradient(rgba(229, 230, 216, .94), rgba(229, 230, 216, .94)),
    url('../assets/brand/Forward-pattern.png') !important;
  background-position: center top, center top !important;
  background-size: auto, 760px auto !important;
  background-repeat: repeat, repeat !important;
  background-attachment: fixed, fixed !important;
}

main,
.contact-page main,
.account-page main,
.cart-page main,
.contact-page .page-hero,
.account-page .page-hero,
.cart-page .page-hero,
.contact-page .contact-grid,
.account-page .dashboard,
.cart-page .cart-layout {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.cart-page .cart-layout {
  align-items: stretch !important;
  gap: 28px !important;
}

.cart-page .cart-items,
.cart-page .cart-summary {
  min-height: 178px !important;
  box-sizing: border-box !important;
}

.cart-page .cart-items {
  padding: 0 !important;
}

.cart-page .cart-empty,
.cart-page .cart-summary {
  height: 100% !important;
  padding: 34px 36px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.cart-page .cart-empty {
  gap: 18px !important;
  background: rgba(56, 86, 64, .92) !important;
  border: 1px solid rgba(255, 253, 246, .24) !important;
}

.cart-page .cart-summary {
  gap: 24px !important;
  align-self: stretch !important;
}

/* Forward identity pass */
@font-face {
  font-family: 'Miranda Sans';
  src: url('../assets/fonts/MirandaSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Miranda Sans';
  src: url('../assets/fonts/MirandaSans-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Miranda Sans';
  src: url('../assets/fonts/MirandaSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Victor Mono';
  src: url('../assets/fonts/VictorMono-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Victor Mono';
  src: url('../assets/fonts/VictorMono-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  --forward-off-white: #f3f4f4;
  --forward-teal: #263f43;
  --forward-teal-2: #1d3236;
  --forward-light-teal: #3c7885;
  --forward-brown: #633414;
  --forward-light-brown: #ad856d;
  --forward-black: #080909;
  --forward-orange: #df3300;
  --forward-grey: #4c4c4c;
  --better-cream: var(--forward-teal);
  --better-cream-2: rgba(243, 244, 244, .08);
  --better-ink: var(--forward-off-white);
  --better-muted: rgba(243, 244, 244, .72);
  --better-sage: var(--forward-light-teal);
  --better-sage-dark: var(--forward-teal);
  --better-brown: var(--forward-brown);
  --better-gold: var(--forward-orange);
  --better-wine: var(--forward-brown);
  --better-white: var(--forward-off-white);
  --better-active: var(--forward-brown);
  --better-line: rgba(243, 244, 244, .18);
  --better-soft-shadow: 0 22px 64px rgba(0, 0, 0, .24);
  --forward-radius: 9px;
}

html,
body,
main {
  background:
    radial-gradient(circle at 12% 18%, rgba(60, 120, 133, .22), transparent 30%),
    radial-gradient(circle at 86% 34%, rgba(173, 133, 109, .12), transparent 28%),
    linear-gradient(135deg, rgba(243, 244, 244, .055) 0 1px, transparent 1px 220px),
    repeating-linear-gradient(177deg, transparent 0 72px, rgba(243, 244, 244, .12) 73px, transparent 75px, transparent 170px),
    var(--forward-teal) !important;
  color: var(--forward-off-white) !important;
}

body,
body * {
  font-family: 'Miranda Sans', Arial, Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.headline,
.title,
[class*='title'],
[class*='headline'],
.brand::after {
  font-family: 'Miranda Sans', Arial, Helvetica, sans-serif !important;
  color: var(--forward-off-white) !important;
  font-weight: 700 !important;
}

.eyebrow,
nav a,
.button,
button,
label,
input,
select,
textarea,
.utility-nav,
.desktop-nav,
.footer-floor,
.legal-copy,
.product-card span,
.mini-product-card span,
.strip-product-card span,
.embedded-product-card span {
  font-family: 'Victor Mono', 'Courier New', monospace !important;
}

p,
li,
dd,
span,
a,
small,
label,
input,
select,
textarea {
  color: inherit !important;
}

main,
.page-shell,
.wrap,
.section,
[class*='section'],
.featured-story,
.journal-grid,
.legal-panel,
.dashboard,
.contact-grid,
.cart-layout,
.product-strip,
.embedded-product-section,
.top-sellers,
.featured-products {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.site-header {
  background: rgba(8, 9, 9, .26) !important;
  border-bottom: 1px solid rgba(243, 244, 244, .12) !important;
  box-shadow: none !important;
}

.header-shell {
  background: rgba(243, 244, 244, .07) !important;
  border: 1px solid rgba(243, 244, 244, .18) !important;
  border-radius: var(--forward-radius) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, .18) !important;
}

.brand img,
.footer-brand img,
.auth-art img,
.research-gate-logo {
  content: url('../assets/brand/forward-logo-white.svg') !important;
  filter: none !important;
}

.brand::after {
  content: none !important;
}

.brand img {
  width: 168px !important;
  height: auto !important;
}

.desktop-nav a,
.utility-nav a,
.mobile-menu a {
  color: rgba(243, 244, 244, .78) !important;
}

.desktop-nav a:hover,
.utility-nav a:hover,
.mobile-menu a:hover {
  color: var(--forward-off-white) !important;
}

.desktop-nav a::after,
.utility-nav a::after {
  background: var(--forward-brown) !important;
}

.utility-nav [data-cart-count],
[data-cart-count] {
  background: var(--forward-brown) !important;
  color: var(--forward-off-white) !important;
  border-color: var(--forward-brown) !important;
}

.bogo-feature,
.home-page .bogo-feature,
.site-footer,
.contact-details,
.cart-empty,
.auth-art,
.research-gate,
.texture-dark,
.journal-card.teal,
.subscribe-card {
  background:
    linear-gradient(135deg, rgba(243, 244, 244, .08) 0 1px, transparent 1px 150px),
    repeating-linear-gradient(178deg, transparent 0 62px, rgba(243, 244, 244, .18) 63px, transparent 65px, transparent 154px),
    var(--forward-teal-2) !important;
  color: var(--forward-off-white) !important;
}

.bogo-placeholder,
.hero-placeholder,
.catalog-cta-card,
.product-card,
.mini-product-card,
.strip-product-card,
.embedded-product-card,
.dashboard-stats article,
.empty-state,
.cart-summary,
.form-panel,
.auth-panel,
.journal-card,
.collection-card,
.research-gate-panel {
  background: rgba(243, 244, 244, .965) !important;
  color: var(--forward-black) !important;
  border: 1px solid rgba(243, 244, 244, .18) !important;
  box-shadow: var(--better-soft-shadow) !important;
}

.bogo-placeholder *,
.hero-placeholder *,
.catalog-cta-card *,
.product-card *,
.mini-product-card *,
.strip-product-card *,
.embedded-product-card *,
.dashboard-stats article *,
.empty-state *,
.cart-summary *,
.form-panel *,
.auth-panel *,
.journal-card *,
.collection-card *,
.research-gate-panel * {
  color: inherit !important;
}

.button,
button,
a.button,
.button.primary,
.teal-button,
.add-to-cart,
.product-card .button,
.mini-product-card .button,
.strip-product-card .button,
.embedded-product-card .button,
form button {
  background: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

.button.secondary,
a.button.secondary,
.button-outline,
a.button-outline,
.filter-row button:not(.is-active),
.home-hero .button-row a:nth-child(2) {
  background: rgba(243, 244, 244, .08) !important;
  border-color: rgba(243, 244, 244, .34) !important;
  color: var(--forward-off-white) !important;
}

.filter-row button.is-active {
  background: var(--forward-brown) !important;
  border-color: var(--forward-brown) !important;
  color: var(--forward-off-white) !important;
}

.eyebrow,
.section-kicker,
.product-card span,
.mini-product-card span,
.strip-product-card span,
.embedded-product-card span,
.view-link,
.featured-link,
.journal-page .featured-copy a,
.journal-page .journal-grid a {
  color: var(--forward-light-brown) !important;
}

.site-footer {
  border-top: 1px solid rgba(243, 244, 244, .16) !important;
}

.site-footer,
.site-footer * {
  color: rgba(243, 244, 244, .86) !important;
}

.site-footer h2,
.site-footer .footer-brand p,
.site-footer a:hover {
  color: var(--forward-off-white) !important;
}

.home-hero h1,
.catalog-hero h1,
.manifesto-hero h1,
.journal-hero h1,
.page-hero h1 {
  color: var(--forward-off-white) !important;
}

.home-hero p,
.catalog-hero p,
.manifesto-hero p,
.journal-hero p,
.page-hero p,
.body-copy,
.legal-copy {
  color: rgba(243, 244, 244, .78) !important;
}

input,
select,
textarea {
  background: rgba(8, 9, 9, .04) !important;
  border-color: rgba(8, 9, 9, .18) !important;
  color: var(--forward-black) !important;
}

.contact-page .contact-details,
.cart-page .cart-empty {
  background:
    repeating-linear-gradient(178deg, transparent 0 52px, rgba(243, 244, 244, .16) 53px, transparent 55px, transparent 138px),
    var(--forward-teal-2) !important;
  color: var(--forward-off-white) !important;
}

.cart-page .cart-summary .button:disabled {
  background: rgba(99, 52, 20, .68) !important;
  border-color: rgba(99, 52, 20, .68) !important;
}

*,
*::before,
*::after,
.button,
button,
input,
select,
textarea,
.card,
.product-card,
.collection-card,
.mini-product-card,
.strip-product-card,
.embedded-product-card,
.auth-panel,
.auth-art,
.form-panel,
.cart-summary,
.cart-empty,
.empty-state,
.bogo-feature,
.bogo-placeholder,
.hero-placeholder,
.catalog-cta-card,
.research-gate-panel,
.header-shell,
.site-header {
  border-radius: var(--forward-radius) !important;
}

.site-header,
main,
body,
html {
  border-radius: 0 !important;
}

/* Forward accent reinforcement */
a.button,
button.button,
.button.primary,
.home-hero .button-row a:first-child,
.bogo-feature .button,
.product-card .button,
.mini-product-card .button,
.strip-product-card .button,
.embedded-product-card .button,
.cart-summary .button,
.form-panel button,
.auth-panel button,
.research-gate-actions .button.primary {
  background: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

.desktop-nav a::after,
.utility-nav a::after,
.mobile-menu a::after,
.utility-nav [data-cart-count],
[data-cart-count] {
  background: var(--forward-brown) !important;
  border-color: var(--forward-brown) !important;
  color: var(--forward-off-white) !important;
}

/* Forward cleanup pass */
html,
body,
main,
.home-page,
.catalog-page,
.manifesto-page,
.journal-page,
.contact-page,
.account-page,
.cart-page,
.legacy-page {
  background: var(--forward-teal) !important;
  background-image: none !important;
  color: var(--forward-off-white) !important;
}

.page-shell,
.wrap,
.section,
.home-hero,
.top-sellers,
.collections,
.community,
.catalog-cta,
.catalog-hero,
.manifesto-hero,
.manifesto-body,
.principles,
.manifesto-cta,
.journal-hero,
.journal-grid,
.featured-story,
.embedded-product-section,
.contact-grid,
.dashboard,
.cart-layout,
.legal-panel {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.site-header,
.header-shell,
.site-footer,
.footer-shell,
.bogo-feature,
.bogo-placeholder,
.hero-placeholder,
.catalog-cta-card,
.auth-art,
.research-gate,
.research-gate-panel,
.texture-dark,
.texture-teal,
.subscribe-card,
.journal-card,
.journal-card.teal,
.contact-details,
.cart-empty,
.cart-summary,
.form-panel,
.auth-panel,
.empty-state,
.dashboard-stats article,
.product-card,
.mini-product-card,
.strip-product-card,
.embedded-product-card,
.collection-card,
.principle-grid article {
  background-image: none !important;
}

.site-header {
  background: var(--forward-teal-2) !important;
  border-bottom: 1px solid rgba(243, 244, 244, .14) !important;
}

.header-shell {
  background: rgba(8, 9, 9, .18) !important;
  border: 1px solid rgba(243, 244, 244, .18) !important;
  box-shadow: 0 18px 48px rgba(8, 9, 9, .18) !important;
}

.site-footer {
  background: var(--forward-teal-2) !important;
  border-top: 1px solid rgba(243, 244, 244, .14) !important;
}

.bogo-feature {
  background: var(--forward-teal-2) !important;
  color: var(--forward-off-white) !important;
  border: 1px solid rgba(243, 244, 244, .14) !important;
}

.bogo-placeholder,
.hero-placeholder {
  background: rgba(243, 244, 244, .07) !important;
  color: rgba(243, 244, 244, .70) !important;
  border: 1px solid rgba(243, 244, 244, .16) !important;
  box-shadow: none !important;
}

.product-card,
.mini-product-card,
.strip-product-card,
.embedded-product-card {
  background: var(--forward-black) !important;
  color: var(--forward-off-white) !important;
  border: 1px solid rgba(243, 244, 244, .20) !important;
  box-shadow: 0 26px 54px rgba(8, 9, 9, .24) !important;
}

.product-card *,
.mini-product-card *,
.strip-product-card *,
.embedded-product-card * {
  color: inherit !important;
}

.product-card h2,
.product-card h3,
.mini-product-card h2,
.mini-product-card h3,
.strip-product-card h2,
.strip-product-card h3,
.embedded-product-card h2,
.embedded-product-card h3 {
  color: var(--forward-off-white) !important;
}

.product-card p,
.product-card strong,
.mini-product-card p,
.mini-product-card strong,
.strip-product-card p,
.strip-product-card strong,
.embedded-product-card p,
.embedded-product-card strong {
  color: rgba(243, 244, 244, .78) !important;
}

.product-card span,
.mini-product-card span,
.strip-product-card span,
.embedded-product-card span {
  color: var(--forward-light-brown) !important;
}

.product-card img,
.mini-product-card img,
.strip-product-card img,
.embedded-product-card img {
  background: #050606 !important;
}

.product-card .button,
.mini-product-card .button,
.strip-product-card .button,
.embedded-product-card .button {
  background: var(--forward-off-white) !important;
  border-color: var(--forward-off-white) !important;
  color: var(--forward-black) !important;
}

.button,
button,
a.button {
  border-radius: var(--forward-radius) !important;
}

.button.primary,
a.button.primary,
button.button,
.bogo-feature .button,
.catalog-cta-card .button,
.manifesto-cta .button,
.form-panel button,
.auth-panel button,
.account-page .page-hero .button:first-child,
.empty-state .button {
  background: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

.button.secondary,
a.button.secondary,
.button-outline,
a.button-outline,
.home-hero .button-row a:nth-child(2) {
  background: rgba(8, 9, 9, .22) !important;
  border: 1px solid rgba(243, 244, 244, .38) !important;
  color: var(--forward-off-white) !important;
}

.eyebrow,
.section-kicker,
.section-heading > span,
.top-sellers .section-heading > span,
.embedded-product-section header > span,
.collections .section-heading > span,
.journal-page .journal-card span,
.view-link,
.featured-link {
  color: var(--forward-light-brown) !important;
}

.section-heading h2,
.home-hero h1,
.catalog-hero h1,
.manifesto-hero h1,
.journal-hero h1,
.page-hero h1,
.manifesto-cta h2,
.featured-story h2 {
  color: var(--forward-off-white) !important;
}

.section-heading p,
.home-hero p,
.catalog-hero p,
.manifesto-hero p,
.journal-hero p,
.page-hero p,
.manifesto-body p,
.featured-story p,
.legal-copy {
  color: rgba(243, 244, 244, .78) !important;
}

.collection-card,
.principle-grid article {
  background: rgba(8, 9, 9, .34) !important;
  color: var(--forward-off-white) !important;
  border: 1px solid rgba(243, 244, 244, .20) !important;
  box-shadow: none !important;
}

.collection-card *,
.principle-grid article * {
  color: inherit !important;
}

.collection-card p,
.principle-grid article p {
  color: rgba(243, 244, 244, .74) !important;
}

.collection-card small,
.collection-card .collection-number,
.principle-grid article span {
  color: var(--forward-light-brown) !important;
}

.catalog-cta-card,
.auth-panel,
.form-panel,
.dashboard-stats article,
.empty-state {
  background: var(--forward-off-white) !important;
  color: var(--forward-black) !important;
  border: 1px solid rgba(243, 244, 244, .20) !important;
}

.catalog-cta-card *,
.auth-panel *,
.form-panel *,
.dashboard-stats article *,
.empty-state * {
  color: inherit !important;
}

.catalog-cta-card h2,
.auth-panel h1,
.empty-state h2 {
  color: var(--forward-black) !important;
}

.catalog-cta-card p,
.auth-panel p,
.form-panel p,
.empty-state p,
.dashboard-stats article p {
  color: rgba(8, 9, 9, .76) !important;
}

.contact-details,
.cart-empty {
  background: rgba(8, 9, 9, .34) !important;
  color: var(--forward-off-white) !important;
  border: 1px solid rgba(243, 244, 244, .18) !important;
  box-shadow: none !important;
}

.contact-details *,
.cart-empty * {
  color: inherit !important;
}

.contact-details .eyebrow,
.contact-details dt {
  color: var(--forward-light-brown) !important;
}

.cart-summary {
  background: var(--forward-off-white) !important;
  color: var(--forward-black) !important;
  border: 1px solid rgba(243, 244, 244, .20) !important;
}

.cart-summary *,
.cart-summary strong {
  color: var(--forward-black) !important;
}

.cart-summary .button,
.cart-summary .button:disabled {
  background: var(--forward-light-brown) !important;
  border-color: var(--forward-light-brown) !important;
  color: var(--forward-off-white) !important;
  opacity: 1 !important;
}

.manifesto-body article {
  background: rgba(8, 9, 9, .28) !important;
  border-color: rgba(243, 244, 244, .16) !important;
}

.manifesto-body article span {
  color: var(--forward-light-brown) !important;
}

.manifesto-page .principles,
.manifesto-page .manifesto-cta {
  margin-top: clamp(44px, 6vw, 86px) !important;
}

.featured-story,
.legal-panel {
  background: rgba(8, 9, 9, .24) !important;
  color: var(--forward-off-white) !important;
  border-color: rgba(243, 244, 244, .16) !important;
}

.featured-story *,
.legal-panel * {
  color: inherit !important;
}

.research-gate-panel {
  background: var(--forward-off-white) !important;
  color: var(--forward-black) !important;
}

.research-gate-panel *,
.research-gate-panel h1 {
  color: var(--forward-black) !important;
}

.research-gate-logo {
  content: url('../assets/brand/forward-logo-black.svg') !important;
}

input,
select,
textarea {
  background: rgba(255, 255, 255, .78) !important;
  color: var(--forward-black) !important;
  border-color: rgba(8, 9, 9, .22) !important;
}

.home-page .bogo-feature,
.bogo-feature.page-shell {
  background: var(--forward-teal-2) !important;
  background-image: none !important;
}

.catalog-cta-card.texture-teal,
.catalog-cta-card.texture-white,
.home-page .catalog-cta-card.texture-teal,
.home-page .catalog-cta-card.texture-white {
  background: var(--forward-off-white) !important;
  background-image: none !important;
  color: var(--forward-black) !important;
}

.catalog-cta-card.texture-teal *,
.catalog-cta-card.texture-white * {
  color: inherit !important;
}

/* Forward final polish pass */
:root {
  --forward-card-surface: var(--forward-teal-2);
  --forward-card-border: rgba(243, 244, 244, .18);
}

.utility-nav [data-cart-count],
[data-cart-count] {
  background: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

.bogo-placeholder,
.hero-placeholder,
.home-page .bogo-placeholder,
.home-page .hero-placeholder {
  background: rgba(243, 244, 244, .07) !important;
  background-image: none !important;
  border: 1px solid rgba(243, 244, 244, .22) !important;
  color: rgba(243, 244, 244, .68) !important;
  box-shadow: none !important;
}

.bogo-placeholder *,
.hero-placeholder * {
  color: rgba(243, 244, 244, .68) !important;
}

.product-card,
.mini-product-card,
.strip-product-card,
.embedded-product-card,
.journal-card,
.journal-card.cream,
.journal-card.sand,
.journal-card.white,
.journal-card.brown,
.journal-card.teal {
  background: var(--forward-card-surface) !important;
  color: var(--forward-off-white) !important;
  border: 1px solid var(--forward-card-border) !important;
  box-shadow: 0 22px 46px rgba(8, 9, 9, .24) !important;
}

.product-card:hover,
.mini-product-card:hover,
.strip-product-card:hover,
.embedded-product-card:hover,
.journal-card:hover {
  background: #20393d !important;
  color: var(--forward-off-white) !important;
}

.product-card *,
.mini-product-card *,
.strip-product-card *,
.embedded-product-card *,
.journal-card * {
  color: inherit !important;
}

.product-card h2,
.product-card h3,
.mini-product-card h2,
.mini-product-card h3,
.strip-product-card h2,
.strip-product-card h3,
.embedded-product-card h2,
.embedded-product-card h3,
.journal-card h2,
.journal-card h3 {
  color: var(--forward-off-white) !important;
}

.product-card p,
.product-card strong,
.mini-product-card p,
.mini-product-card strong,
.strip-product-card p,
.strip-product-card strong,
.embedded-product-card p,
.embedded-product-card strong,
.journal-card p {
  color: rgba(243, 244, 244, .82) !important;
}

.product-card span,
.product-card small,
.mini-product-card span,
.mini-product-card small,
.strip-product-card span,
.strip-product-card small,
.embedded-product-card span,
.embedded-product-card small,
.journal-card span,
.journal-card small {
  color: var(--forward-light-brown) !important;
}

.product-card .button,
.mini-product-card .button,
.strip-product-card .button,
.embedded-product-card .button,
.journal-card .button {
  background: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

.product-card .button:hover,
.mini-product-card .button:hover,
.strip-product-card .button:hover,
.embedded-product-card .button:hover,
.journal-card .button:hover {
  background: #f24812 !important;
  border-color: #f24812 !important;
  color: var(--forward-off-white) !important;
}

.product-image,
.mini-product-card > img,
.mini-product-card picture,
.journal-card-image {
  background: rgba(8, 9, 9, .46) !important;
}

.mini-product-card img[src*="wolverine"],
.mini-product-card img[src*="wolv"],
.product-card img[src*="wolverine"],
.product-card img[src*="wolv"] {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: brightness(1.18) contrast(1.06) drop-shadow(0 12px 20px rgba(243, 244, 244, .14)) !important;
}

.collection-card {
  background: rgba(29, 50, 54, .72) !important;
}

.collection-card .collection-icon,
.collection-card .collection-icon *,
.collection-card svg,
.collection-card svg *,
.collection-card small,
.collection-card .collection-number,
.collection-card footer,
.collection-card footer *,
.collection-card a,
.collection-card > span:last-child {
  color: var(--forward-orange) !important;
  fill: none !important;
  stroke: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
}

.community-cta > div,
.community {
  position: relative !important;
  overflow: hidden !important;
  background: var(--forward-teal-2) !important;
  border: 1px solid rgba(243, 244, 244, .16) !important;
  box-shadow: 0 24px 60px rgba(8, 9, 9, .20) !important;
}

.community-cta > div::before,
.community::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(120deg, rgba(243, 244, 244, .08), transparent 45%, rgba(243, 244, 244, .05)),
    url('../assets/textures/texture-4.webp') center/cover !important;
  opacity: .16 !important;
  filter: blur(1px) !important;
  pointer-events: none !important;
}

.community-cta > div > *,
.community > * {
  position: relative !important;
  z-index: 1 !important;
}

.catalog-cta-card,
.catalog-cta-card.texture-teal,
.catalog-cta-card.texture-white,
.home-page .catalog-cta-card.texture-teal,
.home-page .catalog-cta-card.texture-white {
  background:
    linear-gradient(rgba(243, 244, 244, .90), rgba(243, 244, 244, .90)),
    url('../assets/textures/texture-1.webp') center/cover !important;
  color: var(--forward-black) !important;
}

.catalog-cta-card *,
.catalog-cta-card.texture-teal *,
.catalog-cta-card.texture-white * {
  color: var(--forward-black) !important;
}

.catalog-cta-card .button,
.catalog-cta-card .button.dark,
.home-page .catalog-cta .button {
  background: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

.manifesto-body {
  gap: 2px !important;
}

.manifesto-body article {
  border-radius: 0 !important;
  padding-left: clamp(58px, 7vw, 108px) !important;
}

.manifesto-body article span {
  transform: translateX(18px) !important;
}

.manifesto-cta .button,
.manifesto-cta .button.primary,
.manifesto-cta a[href*="catalog"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: max-content !important;
  padding: 15px 26px !important;
  background: var(--forward-orange) !important;
  border: 1px solid var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
  border-radius: var(--forward-radius) !important;
}

.subscribe-card,
.legal-panel {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.subscribe-card .button,
.subscribe-card .button.secondary {
  background: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

.contact-page .contact-details,
.contact-details {
  background: var(--forward-card-surface) !important;
  background-image: none !important;
  color: var(--forward-off-white) !important;
}

.account-page .dashboard-stats,
.account-page .dashboard-stats article,
.account-page .empty-state {
  background: rgba(243, 244, 244, .64) !important;
  background-image: none !important;
  color: var(--forward-black) !important;
}

.account-page .dashboard-stats *,
.account-page .empty-state * {
  color: var(--forward-black) !important;
}

.account-page .tabs .is-active,
.account-page .button.primary,
.account-page .empty-state .button {
  background: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

.cart-page .cart-empty,
.cart-empty {
  background: var(--forward-card-surface) !important;
  background-image: none !important;
  color: var(--forward-off-white) !important;
  border: 1px solid var(--forward-card-border) !important;
}

.cart-page .cart-empty *,
.cart-empty * {
  color: var(--forward-off-white) !important;
}

.cart-page .cart-empty .button,
.cart-page .cart-empty .button.secondary {
  background: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

.cart-page .cart-summary {
  background: rgba(243, 244, 244, .74) !important;
  background-image: none !important;
  color: var(--forward-black) !important;
}

.cart-page .cart-summary .button,
.cart-page .cart-summary .button:disabled {
  background: var(--forward-light-brown) !important;
  border-color: var(--forward-light-brown) !important;
  color: var(--forward-off-white) !important;
}

.manifesto-page .manifesto-cta a.button.primary[href*="catalog"],
.manifesto-page .manifesto-cta .button-row a.button.primary[href*="catalog"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: max-content !important;
  padding: 15px 26px !important;
  background: var(--forward-orange) !important;
  background-color: var(--forward-orange) !important;
  border: 1px solid var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

/* Forward final quick corrections */
.catalog-page .product-card,
.catalog-page .product-copy {
  background: var(--forward-card-surface, #142c30) !important;
  color: var(--forward-off-white) !important;
  border-color: var(--forward-card-border, rgba(243, 244, 244, 0.18)) !important;
}

.catalog-page .product-card:hover,
.catalog-page .product-card:hover .product-copy {
  background: #19363b !important;
}

.catalog-page .product-card h2,
.catalog-page .product-card h3,
.catalog-page .product-card p,
.catalog-page .product-card strong,
.catalog-page .product-card small,
.catalog-page .product-card .price,
.catalog-page .product-card .product-description,
.catalog-page .product-card .product-meta,
.catalog-page .product-card .product-meta span,
.catalog-page .product-card .strengths span,
.catalog-page .product-card .product-details-link {
  color: var(--forward-off-white) !important;
}

.catalog-page .product-card .product-category,
.catalog-page .product-card .product-price,
.catalog-page .product-card .product-badge {
  color: var(--forward-light-brown) !important;
}

.catalog-page .product-card .strengths span {
  background: rgba(243, 244, 244, 0.08) !important;
  border-color: rgba(243, 244, 244, 0.12) !important;
}

.account-page .dashboard-stats {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

.research-gate {
  background: var(--forward-teal) !important;
  background-image: none !important;
}

.research-gate-panel {
  background: var(--forward-card-surface, #142c30) !important;
  color: var(--forward-off-white) !important;
  border: 1px solid rgba(243, 244, 244, 0.18) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28) !important;
}

.research-gate-logo {
  content: url("../assets/brand/forward-logo-white.svg") !important;
}

.research-gate-panel,
.research-gate-panel h1,
.research-gate-panel p,
.research-gate-panel small,
.research-gate-form label,
.research-gate-form span {
  color: var(--forward-off-white) !important;
}

.research-gate-form select {
  background: rgba(243, 244, 244, 0.08) !important;
  border-color: rgba(243, 244, 244, 0.2) !important;
  color: var(--forward-off-white) !important;
}

.research-gate-form input[type="checkbox"] {
  accent-color: var(--forward-orange) !important;
}

.research-gate-actions .button.primary {
  background: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

.research-gate-actions .button.secondary {
  background: transparent !important;
  border-color: rgba(243, 244, 244, 0.38) !important;
  color: var(--forward-off-white) !important;
}

/* Forward small catalog/domain corrections */
.catalog-page .product-card {
  overflow: hidden !important;
}

.catalog-page .product-card img,
.catalog-page .product-card .product-media,
.catalog-page .product-card .product-image {
  border-radius: 0 !important;
}

.catalog-page .product-card .product-media {
  background: #050505 !important;
}

.home-page .collection-card,
.collection-card {
  background: var(--forward-card-surface, #142c30) !important;
  border-color: var(--forward-card-border, rgba(243, 244, 244, 0.18)) !important;
  color: var(--forward-off-white) !important;
}

.home-page .collection-card h2,
.home-page .collection-card h3,
.home-page .collection-card p,
.collection-card h2,
.collection-card h3,
.collection-card p {
  color: var(--forward-off-white) !important;
}

.home-page .collection-card small,
.home-page .collection-card footer,
.home-page .collection-card footer *,
.home-page .collection-card a,
.home-page .collection-card .collection-number,
.collection-card small,
.collection-card footer,
.collection-card footer *,
.collection-card a,
.collection-card .collection-number {
  color: var(--forward-orange) !important;
}

/* Forward login polish */
.login-page .auth-art {
  position: relative !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(5, 5, 5, 0.74), rgba(20, 44, 48, 0.48)),
    url("../assets/brand/black-marble.webp") center / cover no-repeat !important;
  border: 1px solid rgba(243, 244, 244, 0.14) !important;
}

.login-page .auth-art img,
.login-page .auth-art p {
  position: relative !important;
  z-index: 1 !important;
  color: var(--forward-off-white) !important;
}

.login-page .auth-panel {
  background: var(--forward-card-surface, #142c30) !important;
  border: 1px solid rgba(243, 244, 244, 0.18) !important;
  color: var(--forward-off-white) !important;
}

.login-page .auth-panel h1,
.login-page .auth-panel p,
.login-page .auth-panel a,
.login-page .auth-panel label,
.login-page .auth-panel .eyebrow {
  color: var(--forward-off-white) !important;
}

.login-page .auth-panel .eyebrow {
  color: var(--forward-light-brown) !important;
}

.login-page .auth-panel input {
  background: rgba(5, 5, 5, 0.26) !important;
  border-color: rgba(243, 244, 244, 0.22) !important;
  color: var(--forward-off-white) !important;
}

.login-page .auth-panel input::placeholder {
  color: rgba(243, 244, 244, 0.55) !important;
}

.login-page .auth-panel .button {
  background: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

/* Product detail brand pass */
.product-page .product-detail .detail-copy {
  background: #24484d !important;
  border: 1px solid rgba(243, 244, 244, 0.16) !important;
  color: var(--forward-off-white) !important;
}

.product-page .product-detail .detail-copy h1,
.product-page .product-detail .detail-copy p,
.product-page .product-detail .detail-copy .identity,
.product-page .product-detail .detail-price strong,
.product-page .product-detail .detail-price span,
.product-page .product-detail .variant-label {
  color: var(--forward-off-white) !important;
}

.product-page .product-detail .detail-copy .eyebrow {
  color: var(--forward-light-brown) !important;
}

.product-page .product-detail .variant {
  background: var(--forward-card-surface, #142c30) !important;
  border-color: rgba(243, 244, 244, 0.18) !important;
  color: var(--forward-off-white) !important;
}

.product-page .product-detail .variant span,
.product-page .product-detail .variant.is-active span {
  color: var(--forward-off-white) !important;
}

.product-page .product-detail .variant.is-active {
  background: var(--forward-card-surface, #142c30) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

.product-page .product-detail .add-product {
  background: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

.home-page .bogo-placeholder,
.home-page .hero-placeholder {
  padding: 0 !important;
  overflow: hidden;
}

.home-page .bogo-placeholder {
  aspect-ratio: 1 / 1;
  min-height: 0 !important;
}

.home-page .bogo-placeholder img,
.home-page .hero-placeholder img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-page .bogo-placeholder img {
  object-position: center;
}

.home-page .hero-product-card.hero-placeholder {
  min-height: clamp(300px, 34vw, 430px) !important;
  align-self: center;
  opacity: 1 !important;
  background: transparent !important;
}

.home-page .hero-product-card.hero-placeholder::before,
.home-page .hero-product-card.hero-placeholder::after,
.home-page .hero-placeholder::before,
.home-page .hero-placeholder::after {
  display: none !important;
  content: none !important;
}

.home-page .hero-product-card.hero-placeholder img {
  opacity: 1 !important;
  filter: none !important;
  object-fit: cover !important;
  object-position: center top !important;
}

.home-page .mini-product-card > img,
.home-page .mini-product-card picture,
.home-page .mini-product-card picture img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Forward image/card corrections */
.home-page .hero-product-card.hero-placeholder,
.home-page .hero-product-card.hero-placeholder img {
  background: transparent !important;
  opacity: 1 !important;
  filter: saturate(1.08) contrast(1.04) !important;
}

.home-page .hero-product-card.hero-placeholder img {
  object-position: center 18% !important;
}

.home-page .top-seller-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.home-page .top-seller-grid .mini-product-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  background: var(--forward-card-surface, #142c30) !important;
}

.home-page .top-seller-grid .mini-product-card > img {
  flex: 0 0 auto !important;
  width: 100% !important;
  height: clamp(270px, 23vw, 360px) !important;
  min-height: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #050505 !important;
  border-radius: 0 !important;
}

.home-page .top-seller-grid .mini-product-card > div {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-height: 255px !important;
  padding: 28px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.home-page .top-seller-grid .mini-product-card .button {
  margin-top: auto !important;
}

.journal-page .journal-card {
  overflow: hidden !important;
}

.journal-page .journal-card-image {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #050505 !important;
}

.journal-page .journal-card-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 1 !important;
  filter: none !important;
}

.journal-page .featured-image {
  overflow: hidden !important;
  background: #050505 !important;
}

.journal-page .featured-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 1 !important;
  filter: none !important;
}

.journal-page .subscribe-card .button,
.journal-page .subscribe-card .teal-button {
  background: var(--forward-orange) !important;
  background-color: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
}

@media (max-width: 1100px) {
  .home-page .top-seller-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .home-page .top-seller-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Remove black bars from compact product cards */
.mini-product-card > img,
.strip-product-card > img,
.embedded-product-card > img,
.journal-card-image img {
  display: block !important;
  background: transparent !important;
}

.mini-product-card:not(.product-card) > img,
.strip-product-card > img,
.embedded-product-card > img {
  object-fit: cover !important;
  object-position: center !important;
  opacity: 1 !important;
  filter: none !important;
}

.top-sellers:not(.home-page .top-sellers) .mini-product-card,
.product-strip .mini-product-card,
.embedded-product-section .mini-product-card,
.journal-page .mini-product-card,
.manifesto-page .mini-product-card {
  display: grid !important;
  grid-template-columns: 150px 1fr !important;
  align-items: stretch !important;
}

.top-sellers:not(.home-page .top-sellers) .mini-product-card > img,
.product-strip .mini-product-card > img,
.embedded-product-section .mini-product-card > img,
.journal-page .mini-product-card > img,
.manifesto-page .mini-product-card > img {
  width: 150px !important;
  height: 100% !important;
  min-height: 166px !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  background-color: transparent !important;
}

.top-sellers:not(.home-page .top-sellers) .mini-product-card,
.top-sellers:not(.home-page .top-sellers) .mini-product-card > img,
.product-strip .mini-product-card,
.product-strip .mini-product-card > img,
.embedded-product-section .mini-product-card,
.embedded-product-section .mini-product-card > img,
.journal-page .mini-product-card,
.journal-page .mini-product-card > img,
.manifesto-page .mini-product-card,
.manifesto-page .mini-product-card > img {
  background-image: none !important;
}

/* Hard fix: compact product thumbnails must fill the image rail */
body.home-page .top-sellers:not(:has(.top-seller-grid)) .mini-product-card,
body.manifesto-page .mini-product-card,
body.journal-page .mini-product-card {
  grid-template-columns: 190px 1fr !important;
}

body.home-page .top-sellers:not(:has(.top-seller-grid)) .mini-product-card > img,
body.manifesto-page .mini-product-card > img,
body.journal-page .mini-product-card > img {
  width: 190px !important;
  height: 260px !important;
  min-width: 190px !important;
  min-height: 260px !important;
  max-width: 190px !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Product strips are generated as card > a > img. Fix that real structure. */
.product-strip .strip-product-card,
.embedded-product-section .embedded-product-card {
  display: grid !important;
  grid-template-columns: 190px 1fr !important;
  align-items: stretch !important;
}

.product-strip .strip-product-card > a,
.embedded-product-section .embedded-product-card > a {
  display: block !important;
  width: 190px !important;
  height: 260px !important;
  min-height: 260px !important;
  overflow: hidden !important;
  background: transparent !important;
}

.product-strip .strip-product-card > a > img,
.embedded-product-section .embedded-product-card > a > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Forward experience system — motion, interaction, commerce and responsive polish */
:root {
  --forward-motion-ease: cubic-bezier(.22, 1, .36, 1);
  --forward-header-height: 86px;
  --forward-announcement-height: 36px;
  --forward-focus: #ff5a24;
}

html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

body {
  overflow-x: clip;
}

body.cart-drawer-open,
body.gate-open,
body.menu-open {
  overflow: hidden;
}

.sticky-site-chrome {
  position: sticky;
  inset: 0 0 auto;
  z-index: 90;
  height: calc(var(--forward-header-height) + var(--forward-announcement-height));
}

.sticky-site-chrome .site-header {
  position: relative !important;
  top: auto !important;
  height: var(--forward-header-height) !important;
}

.announcement-bar {
  position: relative;
  height: var(--forward-announcement-height);
  overflow: hidden;
  background: var(--forward-orange);
  border-bottom: 1px solid rgba(243, 244, 244, .24);
  color: var(--forward-off-white);
}

.announcement-track,
.announcement-track > div {
  display: flex;
  align-items: center;
  width: max-content;
  height: 100%;
}

.announcement-track {
  min-width: 200%;
  animation: forward-marquee 34s linear infinite;
  will-change: transform;
}

.announcement-bar:hover .announcement-track {
  animation-play-state: paused !important;
}

.announcement-track > div {
  flex: none;
}

.announcement-track span {
  display: inline-block;
  white-space: nowrap;
  text-transform: uppercase;
  line-height: 1;
}

.announcement-track i {
  margin: 0 28px;
  color: var(--forward-black);
  font-size: 8px;
  font-style: normal;
}

.announcement-promo,
.announcement-info {
  font-family: 'Victor Mono', monospace !important;
  font-size: 10px;
  letter-spacing: .035em !important;
}

.announcement-promo {
  font-weight: 700;
}

.announcement-info {
  font-weight: 400;
  opacity: .76;
}

@keyframes forward-marquee {
  to { transform: translate3d(-50%, 0, 0); }
}

/* Buttons: filled and outlined use Forward's orange/teal language. */
body .button,
body button:not(.menu-toggle):not(.icon-button):not(.variant):not(.cart-remove),
body .filter-row button {
  min-height: 46px;
  border-radius: var(--forward-radius) !important;
  cursor: pointer;
  transition:
    background-color 240ms ease,
    border-color 240ms ease,
    color 240ms ease,
    opacity 240ms ease,
    transform 240ms ease !important;
}

body .button.primary,
body .button.dark,
body .form-panel button,
body .add-product {
  background: var(--forward-orange) !important;
  border: 1px solid var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
  box-shadow: none !important;
}

body .button.secondary,
body .button.outlined {
  background: rgba(243, 244, 244, .035) !important;
  border: 1px solid rgba(243, 244, 244, .46) !important;
  color: var(--forward-off-white) !important;
  box-shadow: none !important;
}

@media (hover: hover) {
  body .button.primary:hover,
  body .button.dark:hover,
  body .form-panel button:hover,
  body .add-product:hover {
    background: #bd2b00 !important;
    border-color: #bd2b00 !important;
    color: #fff !important;
    transform: translateY(-2px);
  }

  body .button.secondary:hover,
  body .button.outlined:hover {
    background: rgba(60, 120, 133, .32) !important;
    border-color: var(--forward-light-teal) !important;
    color: #fff !important;
    transform: translateY(-2px);
  }
}

body .button:active,
body button:active {
  transform: translateY(1px) scale(.99);
}

body .button:disabled,
body button:disabled,
body [aria-disabled="true"] {
  cursor: not-allowed !important;
  opacity: .48 !important;
}

body :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--forward-focus) !important;
  outline-offset: 4px !important;
}

/* Full-bleed promotional video with Forward gradient. */
.home-page .bogo-feature.bogo-video-hero {
  position: relative !important;
  isolation: isolate;
  display: flex !important;
  align-items: center;
  min-height: clamp(580px, 72vh, 780px) !important;
  margin-top: 28px !important;
  padding: clamp(48px, 7vw, 96px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(243, 244, 244, .2) !important;
  border-radius: 16px !important;
  background: var(--forward-teal-2) !important;
}

.bogo-video-media,
.bogo-video-overlay {
  position: absolute;
  inset: 0;
}

.bogo-video-media {
  z-index: -2;
  opacity: 1;
  animation: forward-media-in 900ms ease-out both;
}

.bogo-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: translate3d(4%, 0, 0) scale(1.08);
  transform-origin: center;
}

.bogo-video-overlay {
  z-index: -1;
  background:
    linear-gradient(90deg,
      rgba(12, 38, 43, .99) 0%,
      rgba(17, 48, 53, .96) 30%,
      rgba(25, 60, 66, .68) 53%,
      rgba(25, 60, 66, .16) 78%,
      rgba(8, 9, 9, .08) 100%),
    linear-gradient(0deg, rgba(8, 9, 9, .22), transparent 50%);
}

.home-page .bogo-video-hero .bogo-copy {
  position: relative !important;
  z-index: 2;
  width: min(610px, 58%) !important;
  padding: 0 !important;
  background: transparent !important;
}

.home-page .bogo-video-hero .bogo-copy > span {
  display: inline-flex;
  margin-bottom: 22px;
  color: #ff805a !important;
  font-family: 'Victor Mono', monospace !important;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}

.home-page .bogo-video-hero .bogo-copy h2 {
  margin: 0 0 24px !important;
  color: var(--forward-off-white) !important;
  font-size: clamp(58px, 7vw, 108px) !important;
  line-height: .86 !important;
}

.home-page .bogo-video-hero .bogo-copy h2 span {
  display: block;
}

.home-page .bogo-video-hero .bogo-copy p {
  max-width: 520px;
  margin: 0 0 10px !important;
  color: rgba(243, 244, 244, .82) !important;
  font-size: clamp(15px, 1.35vw, 19px) !important;
  line-height: 1.55;
}

.home-page .bogo-video-hero .bogo-copy .button {
  margin-top: 24px;
}

@keyframes forward-media-in {
  from { opacity: 0; transform: scale(1.035); }
  to { opacity: 1; transform: scale(1); }
}

/* Why Choose Forward */
.why-forward {
  padding-block: clamp(90px, 10vw, 150px);
}

.why-forward-header {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px 70px;
  align-items: end;
  margin-bottom: 52px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.why-forward-header .eyebrow {
  grid-column: 1 / -1;
}

.why-forward-header h2 {
  margin: 0;
  font-size: clamp(50px, 7vw, 94px) !important;
}

.why-forward-header p {
  max-width: 560px;
  color: rgba(243, 244, 244, .68) !important;
  font-size: 18px;
}

.why-forward-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.why-forward-card {
  position: relative;
  min-height: 590px;
  overflow: hidden;
  border: 1px solid rgba(243, 244, 244, .18);
  border-radius: 12px;
  background: var(--forward-card-surface, #142c30);
  transition: transform 420ms var(--forward-motion-ease), border-color 320ms ease, background-color 320ms ease;
}

.why-forward-media,
.why-forward-media::after {
  position: absolute;
  inset: 0;
}

.why-forward-media::after {
  content: "";
  background:
    linear-gradient(0deg, rgba(8, 20, 23, .98) 0%, rgba(12, 32, 36, .84) 31%, rgba(12, 32, 36, .08) 72%),
    linear-gradient(90deg, rgba(8, 20, 23, .32), transparent 60%);
}

.why-forward-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 600ms var(--forward-motion-ease), filter 420ms ease;
}

.why-forward-content {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  padding: 34px;
}

.why-forward-content > span {
  display: grid;
  width: 38px;
  height: 38px;
  margin-bottom: 22px;
  place-items: center;
  border: 1px solid rgba(243, 244, 244, .38);
  border-radius: 50%;
  color: #ff805a;
  transition: transform 320ms var(--forward-motion-ease), border-color 320ms ease;
}

.why-forward-content h3 {
  margin: 0 0 14px;
  color: var(--forward-off-white) !important;
  font-family: 'Victor Mono', monospace !important;
  font-size: clamp(22px, 2.2vw, 34px) !important;
  text-transform: uppercase;
}

.why-forward-content p {
  margin: 0;
  color: rgba(243, 244, 244, .74) !important;
  line-height: 1.6;
}

@media (hover: hover) {
  .why-forward-card:hover {
    transform: translateY(-7px);
    border-color: rgba(255, 90, 36, .8);
    background: #19363a;
  }

  .why-forward-card:hover .why-forward-media img {
    transform: scale(1.075);
    filter: saturate(1.07) contrast(1.04);
  }

  .why-forward-card:hover .why-forward-content > span {
    transform: translateY(-3px);
    border-color: var(--forward-orange);
  }
}

/* Research without guesswork */
.research-guesswork {
  padding-bottom: clamp(80px, 10vw, 150px);
}

.research-guesswork-panel {
  position: relative;
  isolation: isolate;
  min-height: clamp(520px, 62vw, 720px);
  overflow: hidden;
  border: 1px solid rgba(243, 244, 244, .2);
  border-radius: 16px;
  transition: transform 420ms var(--forward-motion-ease), border-color 320ms ease;
}

.research-guesswork-panel > img,
.research-guesswork-overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}

.research-guesswork-panel > img {
  object-fit: cover;
  transition: transform 700ms var(--forward-motion-ease);
}

.research-guesswork-overlay {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(17, 45, 50, .98) 0%, rgba(24, 57, 63, .88) 37%, rgba(24, 57, 63, .15) 72%),
    linear-gradient(0deg, rgba(8, 9, 9, .28), transparent 55%);
}

.research-guesswork-copy {
  display: flex;
  width: min(660px, 58%);
  min-height: inherit;
  padding: clamp(42px, 7vw, 96px);
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.research-guesswork-copy h2 {
  margin: 24px 0;
  color: var(--forward-off-white) !important;
  font-size: clamp(54px, 7vw, 104px) !important;
}

.research-guesswork-copy p {
  max-width: 580px;
  color: rgba(243, 244, 244, .78) !important;
  font-size: 18px;
}

.research-guesswork-copy .button {
  margin-top: 20px;
}

@media (hover: hover) {
  .research-guesswork-panel:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 90, 36, .62);
  }

  .research-guesswork-panel:hover > img {
    transform: scale(1.035);
  }
}

/* Product/card consistency and independent hover targets */
.product-grid,
.top-seller-grid,
.related > div {
  align-items: stretch;
}

.product-card,
.mini-product-card,
.strip-product-card,
.embedded-product-card,
.journal-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(243, 244, 244, .16) !important;
  transition: transform 380ms var(--forward-motion-ease), border-color 300ms ease, background-color 300ms ease !important;
}

.product-card .product-card-link,
.mini-product-card > div,
.strip-product-card > div,
.embedded-product-card > div {
  display: flex !important;
  min-height: 100%;
  flex-direction: column;
}

.product-card .product-copy {
  display: flex !important;
  flex: 1;
  flex-direction: column;
}

.product-card .product-copy > p {
  flex: 1;
}

.product-card .product-image,
.mini-product-card > img,
.strip-product-card > a,
.embedded-product-card > a,
.journal-card-image {
  overflow: hidden !important;
}

.product-card img,
.mini-product-card > img,
.strip-product-card > a img,
.embedded-product-card > a img,
.journal-card img,
.featured-image img {
  transform-origin: center;
  transition: transform 480ms var(--forward-motion-ease), filter 360ms ease !important;
}

.product-card-link:hover .product-image img,
.mini-product-card:hover > img,
.strip-product-card > a:hover img,
.embedded-product-card > a:hover img,
.journal-card-image:hover img,
.featured-image:hover img {
  transform: scale(1.075) !important;
  filter: saturate(1.04) contrast(1.025);
}

@media (hover: hover) {
  .product-card:hover,
  .mini-product-card:hover,
  .strip-product-card:hover,
  .embedded-product-card:hover,
  .journal-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 90, 36, .66) !important;
    background-color: rgba(60, 120, 133, .1) !important;
  }
}

.card-detail-link {
  color: inherit;
  text-decoration: none;
}

.card-detail-link h2,
.card-detail-link h3 {
  transition: color 220ms ease;
}

.card-detail-link:hover h2,
.card-detail-link:hover h3 {
  color: #ff805a !important;
}

.product-promo-label,
.detail-promo-label {
  display: inline-flex !important;
  width: fit-content;
  margin: 12px 0 !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(255, 128, 90, .54) !important;
  border-radius: 4px !important;
  background: rgba(223, 51, 0, .16) !important;
  color: #ff9878 !important;
  font-family: 'Victor Mono', monospace !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-transform: uppercase;
}

.detail-image {
  overflow: hidden;
}

.detail-image img {
  transition: opacity 180ms ease, transform 480ms var(--forward-motion-ease) !important;
}

.detail-image:hover img {
  transform: scale(1.065);
}

.detail-image img.is-swapping {
  opacity: .12;
  transform: scale(.985);
}

.variant {
  cursor: pointer;
  transition: background-color 240ms ease, border-color 240ms ease, color 240ms ease, transform 240ms ease !important;
}

.variant:hover,
.variant.is-active {
  border-color: var(--forward-orange) !important;
  background: rgba(223, 51, 0, .15) !important;
  color: var(--forward-off-white) !important;
}

.variant:active {
  transform: scale(.985);
}

.product-quantity {
  display: flex;
  margin: 20px 0 14px;
  align-items: center;
  justify-content: space-between;
  color: rgba(243, 244, 244, .72);
  font-family: 'Victor Mono', monospace !important;
  font-size: 11px;
  text-transform: uppercase;
}

.product-quantity > div,
.quantity-control {
  display: inline-grid;
  grid-template-columns: 38px 38px 38px;
  align-items: center;
  border: 1px solid rgba(243, 244, 244, .22);
  border-radius: 7px;
}

.product-quantity button,
.quantity-control button {
  min-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--forward-off-white) !important;
}

.product-quantity strong,
.quantity-control span {
  text-align: center;
}

/* Cart drawer and BOGO calculation */
.cart-drawer {
  position: fixed;
  inset: 0;
  z-index: 150;
  visibility: hidden;
  pointer-events: none;
}

.cart-drawer.is-open {
  visibility: visible;
  pointer-events: auto;
}

.cart-drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 9, 10, .7);
  opacity: 0;
  backdrop-filter: blur(6px);
  transition: opacity 300ms ease;
}

.cart-drawer-panel {
  position: absolute;
  inset: 0 0 0 auto;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  width: min(560px, 100%);
  overflow: hidden;
  border-left: 1px solid rgba(243, 244, 244, .2);
  background: #10292d !important;
  color: var(--forward-off-white);
  transform: translate3d(100%, 0, 0);
  transition: transform 420ms var(--forward-motion-ease);
}

.cart-drawer.is-open .cart-drawer-backdrop {
  opacity: 1;
}

.cart-drawer.is-open .cart-drawer-panel {
  transform: translate3d(0, 0, 0);
}

.cart-drawer-header {
  display: flex;
  padding: 28px 30px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(243, 244, 244, .15);
}

.cart-drawer-panel > .cart-drawer-header,
.cart-drawer-panel > footer {
  border-radius: 0 !important;
  background: #10292d !important;
  color: var(--forward-off-white) !important;
  box-shadow: none !important;
}

.cart-drawer-header h2 {
  margin: 6px 0 0;
  font-size: 38px !important;
}

.icon-button {
  display: grid;
  width: 44px;
  height: 44px;
  min-height: 44px;
  place-items: center;
  border: 1px solid rgba(243, 244, 244, .28);
  border-radius: 50%;
  background: transparent;
  color: var(--forward-off-white);
  cursor: pointer;
  font-size: 26px;
  transition: background-color 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.icon-button:hover {
  border-color: var(--forward-orange);
  background: rgba(223, 51, 0, .16);
  transform: rotate(4deg);
}

.mini-cart-items {
  overflow-y: auto;
  overscroll-behavior: contain;
}

.cart-item {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) auto !important;
  gap: 16px !important;
  padding: 22px 26px !important;
  align-items: center;
  border-bottom: 1px solid rgba(243, 244, 244, .12);
  background: transparent !important;
}

.cart-item-image {
  display: block;
  width: 82px;
  height: 94px;
  overflow: hidden;
  border-radius: 7px;
  background: rgba(243, 244, 244, .08);
}

.cart-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 360ms var(--forward-motion-ease);
}

.cart-item-image:hover img {
  transform: scale(1.075);
}

.cart-item-copy h2 {
  margin: 4px 0 !important;
  font-size: 21px !important;
}

.cart-item-copy p,
.cart-unit-price {
  margin: 0;
  color: rgba(243, 244, 244, .62) !important;
  font-size: 11px;
}

.cart-item-kicker {
  color: #ff9878;
  font-family: 'Victor Mono', monospace !important;
  font-size: 8px;
  text-transform: uppercase;
}

.cart-item .quantity-control {
  grid-column: 2;
}

.cart-line-total {
  grid-column: 3;
  grid-row: 1;
}

.cart-remove {
  grid-column: 3;
  padding: 7px 0 !important;
  align-self: end;
  border: 0;
  background: none;
  color: rgba(243, 244, 244, .58);
  cursor: pointer;
  font-size: 10px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body .cart-item .cart-remove {
  min-height: 34px !important;
  padding: 5px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(243, 244, 244, .58) !important;
}

.cart-remove:hover {
  color: #ff9878;
}

.drawer-promo-block,
.cart-page-promo {
  padding: 22px 28px;
  border-block: 1px solid rgba(243, 244, 244, .14);
  background: rgba(60, 120, 133, .14);
}

.bogo-progress-head,
.cart-drawer-totals > div,
.cart-page-totals span {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.bogo-progress-head {
  color: var(--forward-off-white);
  font-family: 'Victor Mono', monospace !important;
  font-size: 10px;
  text-transform: uppercase;
}

.bogo-progress-head strong {
  color: #ff9878;
}

.bogo-progress-track {
  height: 5px;
  margin: 13px 0;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(243, 244, 244, .13);
}

.bogo-progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--forward-orange);
  transition: width 420ms var(--forward-motion-ease);
}

.bogo-progress p {
  margin: 0 0 5px;
  color: rgba(243, 244, 244, .82) !important;
  font-size: 12px;
}

.bogo-progress small {
  color: rgba(243, 244, 244, .5);
  font-size: 9px;
}

.cart-drawer-panel > footer {
  padding: 24px 28px;
}

.cart-drawer-totals {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
}

.cart-drawer-totals > div {
  color: rgba(243, 244, 244, .68);
  font-size: 12px;
}

.cart-drawer-totals > div:last-child {
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px solid rgba(243, 244, 244, .14);
  color: var(--forward-off-white);
}

.cart-drawer-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.cart-drawer-actions .button {
  display: inline-flex;
  min-width: 0 !important;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.cart-drawer-actions .button:last-child {
  grid-column: 1 / -1;
}

.cart-page .cart-layout {
  align-items: start !important;
}

.cart-page .cart-summary {
  display: block !important;
  height: auto !important;
  padding: 0 !important;
  overflow: hidden;
}

.cart-page-totals {
  display: grid;
  gap: 12px;
  padding: 28px;
}

.cart-page .cart-summary > .button,
.cart-page .cart-summary > p {
  margin-inline: 28px;
  width: calc(100% - 56px) !important;
}

.cart-page .cart-summary > p {
  margin-bottom: 28px;
  color: rgba(243, 244, 244, .58) !important;
}

/* Progressive reveal: content is only hidden after JS has registered every target. */
.motion-ready .reveal-item {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition:
    opacity 780ms var(--forward-motion-ease) var(--reveal-delay, 0ms),
    transform 780ms var(--forward-motion-ease) var(--reveal-delay, 0ms) !important;
  will-change: opacity, transform;
}

.motion-ready .reveal-item.is-revealed,
.motion-ready .reveal-item.reveal-complete {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.motion-ready .product-card.reveal-item,
.motion-ready .mini-product-card.reveal-item,
.motion-ready .journal-card.reveal-item,
.motion-ready .why-forward-card.reveal-item {
  transform: translate3d(0, 36px, 0) scale(.985);
}

.motion-ready .product-card.reveal-item.is-revealed,
.motion-ready .mini-product-card.reveal-item.is-revealed,
.motion-ready .journal-card.reveal-item.is-revealed,
.motion-ready .why-forward-card.reveal-item.is-revealed,
.motion-ready .product-card.reveal-item.reveal-complete,
.motion-ready .mini-product-card.reveal-item.reveal-complete,
.motion-ready .journal-card.reveal-item.reveal-complete,
.motion-ready .why-forward-card.reveal-item.reveal-complete {
  transform: translate3d(0, 0, 0) scale(1);
}

.filter-row button {
  animation: forward-filter-in 420ms var(--forward-motion-ease) var(--filter-delay, 0ms) both;
}

@keyframes forward-filter-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.site-footer a,
.journal-card a,
.related > header a,
.embedded-product-section > header a {
  transition: color 220ms ease, transform 220ms ease;
}

.site-footer a:hover,
.journal-card a:hover,
.related > header a:hover,
.embedded-product-section > header a:hover {
  color: #ff9878 !important;
}

/* Responsive composition */
@media (max-width: 980px) {
  :root {
    --forward-header-height: 74px;
  }

  .home-page .bogo-video-hero .bogo-copy,
  .research-guesswork-copy {
    width: min(680px, 76%) !important;
  }

  .why-forward-grid {
    grid-template-columns: 1fr 1fr;
  }

  .why-forward-card:last-child {
    grid-column: 1 / -1;
    min-height: 520px;
  }

  .cart-drawer-panel {
    width: min(620px, 92vw);
  }
}

@media (max-width: 820px) {
  .sticky-site-chrome {
    height: calc(var(--forward-header-height) + var(--forward-announcement-height));
  }

  .sticky-site-chrome .mobile-menu {
    top: var(--forward-header-height) !important;
  }

  .why-forward-header {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .why-forward-header .eyebrow {
    grid-column: auto;
  }

  .home-page .bogo-feature.bogo-video-hero {
    min-height: 660px !important;
    align-items: flex-end;
    padding: 40px !important;
  }

  .home-page .bogo-video-hero .bogo-copy {
    width: 100% !important;
  }

  .bogo-video {
    object-position: 63% center;
    transform: translate3d(2%, 0, 0) scale(1.055);
  }

  .bogo-video-overlay {
    background:
      linear-gradient(0deg, rgba(12, 38, 43, .99) 0%, rgba(15, 43, 48, .96) 45%, rgba(20, 52, 58, .36) 78%, rgba(8, 9, 9, .08) 100%),
      linear-gradient(90deg, rgba(15, 43, 48, .44), transparent 80%);
  }

  .research-guesswork-copy {
    width: 84% !important;
  }

  .research-guesswork-overlay {
    background: linear-gradient(90deg, rgba(17, 45, 50, .98), rgba(24, 57, 63, .78) 68%, rgba(24, 57, 63, .18));
  }
}

@media (max-width: 620px) {
  :root {
    --forward-announcement-height: 32px;
    --forward-header-height: 68px;
  }

  .announcement-promo,
  .announcement-info {
    font-size: 9px;
  }

  .announcement-track i {
    margin-inline: 18px;
  }

  .home-page .bogo-feature.bogo-video-hero {
    min-height: 620px !important;
    margin-top: 16px !important;
    padding: 28px 22px !important;
    border-radius: 10px !important;
  }

  .home-page .bogo-video-hero .bogo-copy h2 {
    max-width: 100%;
    font-size: clamp(42px, 12vw, 54px) !important;
    letter-spacing: -.04em !important;
  }

  .home-page .bogo-video-hero .bogo-copy h2 span {
    max-width: 100%;
    white-space: normal !important;
  }

  .home-page .bogo-video-hero .bogo-copy p {
    max-width: 92%;
    font-size: 14px !important;
  }

  .why-forward-grid {
    grid-template-columns: 1fr;
  }

  .why-forward-card,
  .why-forward-card:last-child {
    grid-column: auto;
    min-height: 530px;
  }

  .why-forward-content {
    padding: 26px;
  }

  .research-guesswork-panel {
    min-height: 640px;
  }

  .research-guesswork-panel > img {
    object-position: center;
  }

  .research-guesswork-overlay {
    background: linear-gradient(0deg, rgba(17, 45, 50, .99) 0%, rgba(24, 57, 63, .92) 56%, rgba(24, 57, 63, .28) 100%);
  }

  .research-guesswork-copy {
    width: 100% !important;
    padding: 30px 24px !important;
    justify-content: flex-end;
  }

  .cart-drawer-panel {
    width: 100%;
  }

  .cart-drawer-header {
    padding: 22px 20px;
  }

  .cart-item {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    padding: 18px 20px !important;
  }

  .cart-item-image {
    width: 72px;
    height: 84px;
  }

  .cart-line-total,
  .cart-remove {
    grid-column: 2;
    grid-row: auto;
    justify-self: start;
  }

  .cart-drawer-actions {
    grid-template-columns: 1fr;
  }

  .cart-drawer-actions .button:last-child {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .announcement-track {
    animation: none !important;
    transform: none !important;
  }

  .announcement-track > div:nth-child(2) {
    display: none;
  }

  .bogo-video-media,
  .motion-ready .reveal-item,
  .motion-ready .reveal-item.is-revealed,
  .product-card img,
  .why-forward-media img,
  .research-guesswork-panel > img {
    animation: none !important;
    transition-duration: .001ms !important;
    transform: none !important;
  }

  .bogo-video {
    animation: none !important;
    transition: none !important;
  }

  .motion-ready .reveal-item {
    opacity: 1 !important;
  }
}

/* Final Forward button color-state matrix.
   Every interactive control changes color on hover; motion is secondary. */
body .button:not(.secondary):not(.outlined):not(.button-outline),
body a.button:not(.secondary):not(.outlined):not(.button-outline),
body button.button:not(.secondary):not(.outlined):not(.button-outline),
body input[type="submit"] {
  background-color: var(--forward-orange) !important;
  border-color: var(--forward-orange) !important;
  color: var(--forward-off-white) !important;
  box-shadow: none !important;
}

body .button.secondary,
body .button.outlined,
body .button.button-outline,
body a.button.secondary,
body a.button.outlined,
body a.button.button-outline {
  background-color: rgba(243, 244, 244, .035) !important;
  border-color: rgba(243, 244, 244, .46) !important;
  color: var(--forward-off-white) !important;
  box-shadow: none !important;
}

body .filter-row button {
  background-color: rgba(243, 244, 244, .035) !important;
  border-color: rgba(243, 244, 244, .3) !important;
  color: rgba(243, 244, 244, .8) !important;
  box-shadow: none !important;
}

body .filter-row button.is-active,
body .filter-row button[aria-pressed="true"] {
  background-color: var(--forward-brown) !important;
  border-color: var(--forward-light-brown) !important;
  color: var(--forward-off-white) !important;
}

body .variant {
  background-color: rgba(243, 244, 244, .035) !important;
  border-color: rgba(243, 244, 244, .24) !important;
  color: rgba(243, 244, 244, .82) !important;
  box-shadow: none !important;
}

@media (hover: hover) {
  body .button:not(.secondary):not(.outlined):not(.button-outline):not(:disabled):hover,
  body a.button:not(.secondary):not(.outlined):not(.button-outline):hover,
  body button.button:not(.secondary):not(.outlined):not(.button-outline):not(:disabled):hover,
  body input[type="submit"]:not(:disabled):hover {
    background-color: #a92600 !important;
    border-color: #ff6a3d !important;
    color: #fff !important;
  }

  body .button.secondary:not(:disabled):hover,
  body .button.outlined:not(:disabled):hover,
  body .button.button-outline:not(:disabled):hover,
  body a.button.secondary:hover,
  body a.button.outlined:hover,
  body a.button.button-outline:hover {
    background-color: var(--forward-light-teal) !important;
    border-color: #71aeb9 !important;
    color: #fff !important;
  }

  body .filter-row button:not(.is-active):not(:disabled):hover {
    background-color: var(--forward-light-teal) !important;
    border-color: #71aeb9 !important;
    color: #fff !important;
  }

  body .filter-row button.is-active:hover,
  body .filter-row button[aria-pressed="true"]:hover {
    background-color: var(--forward-orange) !important;
    border-color: #ff6a3d !important;
    color: #fff !important;
  }

  body .variant:not(.is-active):not(:disabled):hover {
    background-color: rgba(223, 51, 0, .24) !important;
    border-color: var(--forward-orange) !important;
    color: #fff !important;
  }

  body .variant.is-active:hover {
    background-color: var(--forward-orange) !important;
    border-color: #ff805a !important;
    color: #fff !important;
  }

  body .product-quantity button:not(:disabled):hover,
  body .quantity-control button:not(:disabled):hover {
    background-color: var(--forward-orange) !important;
    color: #fff !important;
  }

  body .icon-button:not(:disabled):hover,
  body .menu-toggle:not(:disabled):hover {
    background-color: var(--forward-light-teal) !important;
    border-color: #71aeb9 !important;
    color: #fff !important;
  }

  body .cart-item .cart-remove:not(:disabled):hover {
    background-color: rgba(223, 51, 0, .2) !important;
    color: #ff9878 !important;
  }
}

/* Home / Top Sellers: restore the canonical product-card anatomy. */
.home-top-sellers .mini-product-card {
  display: flex !important;
  min-height: 0 !important;
  flex-direction: column !important;
}

.home-top-sellers .mini-product-card > .product-card-media-link {
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  overflow: hidden !important;
  background: #e8e5dd !important;
}

.home-top-sellers .mini-product-card > .product-card-media-link img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #e8e5dd !important;
  transform: translate3d(0, 0, 0) scale(1.01) !important;
  transition: transform 430ms var(--forward-motion-ease), filter 300ms ease !important;
}

.home-top-sellers .mini-product-card > div {
  display: flex !important;
  flex: 1 1 auto !important;
  min-height: 300px !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 28px !important;
}

.home-top-sellers .mini-product-card .product-card-title-link,
.home-top-sellers .mini-product-card .card-detail-link {
  display: block !important;
  width: 100% !important;
  min-height: 2.1em;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  text-decoration: none !important;
}

.home-top-sellers .mini-product-card .product-card-title-link h3,
.home-top-sellers .mini-product-card .card-detail-link h3,
.home-top-sellers .mini-product-card h3 {
  width: auto !important;
  margin: 16px 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--forward-off-white) !important;
  font-size: clamp(27px, 2.25vw, 36px) !important;
  line-height: 1.05 !important;
}

.home-top-sellers .mini-product-card > div > p:not(.product-promo-label) {
  min-height: 4.8em;
  margin-bottom: 20px !important;
}

.home-top-sellers .mini-product-card strong {
  margin-top: auto !important;
  margin-bottom: 16px !important;
}

.home-top-sellers .mini-product-card .button {
  flex: 0 0 auto !important;
  margin-top: 0 !important;
}

@media (hover: hover) and (pointer: fine) {
  .home-top-sellers .mini-product-card:hover > .product-card-media-link img {
    transform: translate3d(0, 0, 0) scale(1.06) !important;
    filter: saturate(1.04) contrast(1.025);
  }

  .home-top-sellers .mini-product-card .product-card-title-link:hover h3 {
    color: #ff805a !important;
  }
}

@media (max-width: 760px) {
  .home-top-sellers .mini-product-card > div {
    min-height: 280px !important;
  }
}

/* Home catalog CTA artwork supplied for Forward. */
.home-page .catalog-cta .catalog-cta-card,
.home-page .catalog-cta .catalog-cta-card.texture-teal {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(8, 25, 29, .94) 0%, rgba(8, 25, 29, .76) 43%, rgba(8, 25, 29, .2) 100%),
    url('../assets/experience/catalog-cta-flow.jpeg') center center / cover no-repeat !important;
  color: var(--forward-off-white) !important;
}

.home-page .catalog-cta .catalog-cta-card h2,
.home-page .catalog-cta .catalog-cta-card p {
  position: relative;
  z-index: 1;
  max-width: 620px;
  color: var(--forward-off-white) !important;
}

.home-page .catalog-cta .catalog-cta-card p {
  color: rgba(243, 244, 244, .82) !important;
}

.home-page .catalog-cta .catalog-cta-card .button {
  position: relative;
  z-index: 1;
  color: var(--forward-off-white) !important;
}

@media (max-width: 720px) {
  .home-page .catalog-cta .catalog-cta-card,
  .home-page .catalog-cta .catalog-cta-card.texture-teal {
    background:
      linear-gradient(90deg, rgba(8, 25, 29, .94), rgba(8, 25, 29, .64)),
      url('../assets/experience/catalog-cta-flow.jpeg') 57% center / cover no-repeat !important;
  }
}

/* Manifesto featured compounds: balanced editorial cards, clean linked titles. */
.manifesto-page .manifesto-hero {
  min-height: clamp(400px, 48vw, 560px) !important;
  height: auto !important;
  padding-block: clamp(90px, 10vw, 140px) !important;
}

.manifesto-page .embedded-product-section {
  padding-block: clamp(72px, 8vw, 110px) !important;
  border-top: 1px solid rgba(243, 244, 244, .12);
}

.manifesto-page .embedded-product-section > header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 28px !important;
  margin-bottom: 34px !important;
}

.manifesto-page .embedded-product-section > header h2 {
  margin: 8px 0 0 !important;
  color: var(--forward-off-white) !important;
  font-size: clamp(44px, 5vw, 72px) !important;
  line-height: .98 !important;
}

.manifesto-page .embedded-product-section > header > a {
  padding-bottom: 8px;
  color: rgba(243, 244, 244, .72) !important;
  font-family: 'Victor Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
}

.manifesto-page .embedded-product-section > div {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.manifesto-page .embedded-product-section .embedded-product-card {
  display: grid !important;
  min-height: 300px !important;
  grid-template-columns: minmax(180px, 34%) minmax(0, 1fr) !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #142c30 !important;
}

.manifesto-page .embedded-product-section .embedded-product-card > .product-card-media-link {
  width: 100% !important;
  height: 100% !important;
  min-height: 300px !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: #0b1719 !important;
}

.manifesto-page .embedded-product-section .embedded-product-card > .product-card-media-link img {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}

.manifesto-page .embedded-product-section .embedded-product-card > div {
  display: flex !important;
  min-width: 0;
  min-height: 300px !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 28px !important;
}

.manifesto-page .embedded-product-section .product-card-title-link,
.manifesto-page .embedded-product-section .card-detail-link {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
}

.manifesto-page .embedded-product-section .product-card-title-link h3,
.manifesto-page .embedded-product-section .card-detail-link h3,
.manifesto-page .embedded-product-section .embedded-product-card h3 {
  width: auto !important;
  margin: 14px 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--forward-off-white) !important;
  font-size: clamp(29px, 3vw, 42px) !important;
  line-height: 1.02 !important;
}

.manifesto-page .embedded-product-section .product-promo-label {
  margin: 0 0 18px !important;
}

.manifesto-page .embedded-product-section .embedded-product-card strong {
  margin-top: auto !important;
  margin-bottom: 18px !important;
}

.manifesto-page .embedded-product-section .embedded-product-card .button {
  width: auto !important;
  min-width: 180px;
  margin-top: 0 !important;
}

/* Smooth, ordered top-to-bottom entrance for every registered section element. */
.motion-ready .reveal-item {
  opacity: 0;
  filter: blur(3px);
  transform: translate3d(0, 26px, 0);
  transition:
    opacity 860ms var(--forward-motion-ease) var(--reveal-delay, 0ms),
    transform 860ms var(--forward-motion-ease) var(--reveal-delay, 0ms),
    filter 700ms ease var(--reveal-delay, 0ms) !important;
}

.motion-ready .reveal-item.is-revealed,
.motion-ready .reveal-item.reveal-complete {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0);
}

@media (max-width: 900px) {
  .manifesto-page .embedded-product-section > div {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 620px) {
  .manifesto-page .manifesto-hero {
    min-height: 360px !important;
    padding-block: 76px !important;
  }

  .manifesto-page .embedded-product-section > header {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .manifesto-page .embedded-product-section .embedded-product-card {
    grid-template-columns: 1fr !important;
  }

  .manifesto-page .embedded-product-section .embedded-product-card > .product-card-media-link {
    aspect-ratio: 4 / 3;
    min-height: 0 !important;
  }
}

/* High-contrast button states: every CTA visibly changes color on hover. */
.button,
a.button,
button.button,
.filter-row button,
.variant,
.product-quantity button,
.quantity-control button,
.icon-button,
.menu-toggle {
  transition:
    background-color 220ms ease,
    border-color 220ms ease,
    color 220ms ease,
    opacity 220ms ease !important;
}

@media (hover: hover) and (pointer: fine) {
  body .button.primary:not(:disabled):hover,
  body a.button.primary:hover,
  body button.button:not(:disabled):hover,
  body .product-card .button:not(:disabled):hover,
  body .mini-product-card .button:not(:disabled):hover,
  body .strip-product-card .button:not(:disabled):hover,
  body .embedded-product-card .button:not(:disabled):hover,
  body .journal-card .button:not(:disabled):hover,
  body .bogo-feature .button:hover,
  body .catalog-cta-card .button:hover,
  body .manifesto-cta .button:hover,
  body .form-panel button:not(:disabled):hover,
  body .auth-panel button:not(:disabled):hover,
  body .teal-button:not(:disabled):hover {
    background-color: #4b929f !important;
    border-color: #4b929f !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body .button.secondary:hover,
  body a.button.secondary:hover,
  body .button.ghost:hover,
  body .button-outline:hover,
  body a.button-outline:hover,
  body .home-hero .button-row a:nth-child(2):hover,
  body .full-catalog-link:hover {
    background-color: var(--forward-orange) !important;
    border-color: var(--forward-orange) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body .button.dark:hover,
  body a.button.dark:hover {
    background-color: #4b929f !important;
    border-color: #4b929f !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body .filter-row button:not(.is-active):not(:disabled):hover,
  body .variant:not(.is-active):not(:disabled):hover,
  body .product-quantity button:not(:disabled):hover,
  body .quantity-control button:not(:disabled):hover {
    background-color: var(--forward-orange) !important;
    border-color: var(--forward-orange) !important;
    color: #ffffff !important;
  }

  body .filter-row button.is-active:not(:disabled):hover,
  body .variant.is-active:not(:disabled):hover,
  body .icon-button:not(:disabled):hover,
  body .menu-toggle:not(:disabled):hover {
    background-color: #4b929f !important;
    border-color: #4b929f !important;
    color: #ffffff !important;
  }
}

/* Catalog cards: one outer radius, no rounded seam between media and copy. */
.catalog-page .product-card {
  overflow: hidden !important;
  background-color: var(--forward-card-surface, #142c30) !important;
}

.catalog-page .product-card .product-card-link {
  height: 100% !important;
  overflow: hidden !important;
  border-radius: inherit !important;
  background-color: var(--forward-card-surface, #142c30) !important;
}

.catalog-page .product-card .product-image,
.catalog-page .product-card .product-image img,
.catalog-page .product-card .product-copy {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.catalog-page .product-card .product-image {
  margin: 0 !important;
  overflow: hidden !important;
  background-color: var(--forward-card-surface, #142c30) !important;
  line-height: 0;
}

.catalog-page .product-card .product-image img {
  display: block !important;
  margin: 0 !important;
}

.catalog-page .product-card .product-copy {
  position: relative;
  z-index: 3;
  margin: -2px 0 0 !important;
  background-color: var(--forward-card-surface, #142c30) !important;
}

.catalog-page .product-card:hover .product-copy {
  background-color: #19363b !important;
}

/* Explicit free-vial selection flow. */
.choose-free-button {
  width: 100% !important;
  margin: 16px 0 14px !important;
}

.cart-item.is-free-selection {
  border-left: 3px solid var(--forward-orange);
  background: rgba(60, 120, 133, .11) !important;
}

.free-selection-status {
  grid-column: 2;
  width: max-content;
  padding: 7px 10px;
  border: 1px solid rgba(255, 128, 90, .6);
  border-radius: 4px;
  color: #ff9878;
  font-family: 'Victor Mono', monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
}

.free-picker {
  position: fixed;
  z-index: 3600;
  inset: 0;
  display: grid;
  visibility: hidden;
  place-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 280ms ease, visibility 280ms ease;
}

.free-picker.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.free-picker-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 9, 10, .82);
  backdrop-filter: blur(10px);
}

.free-picker-panel {
  position: relative;
  width: min(960px, calc(100vw - 40px));
  max-height: min(820px, calc(100svh - 40px));
  overflow: hidden;
  border: 1px solid rgba(243, 244, 244, .2);
  border-radius: 18px;
  background: #10292d;
  color: var(--forward-off-white);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .45);
  transform: translateY(18px) scale(.985);
  transition: transform 360ms var(--forward-motion-ease);
}

.free-picker.is-open .free-picker-panel {
  transform: translateY(0) scale(1);
}

.free-picker-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 30px 32px 24px;
  border-bottom: 1px solid rgba(243, 244, 244, .14);
}

.free-picker-panel h2 {
  margin: 7px 0 8px;
  color: var(--forward-off-white) !important;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1;
}

.free-picker-panel p {
  margin: 0;
  color: rgba(243, 244, 244, .68) !important;
}

.free-picker-grid {
  display: grid;
  max-height: calc(min(820px, 100svh - 40px) - 160px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 20px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.free-picker-card {
  display: grid;
  min-height: 180px;
  grid-template-columns: 150px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(243, 244, 244, .14);
  border-radius: 12px;
  background: #183438;
}

.free-picker-card > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.free-picker-card > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding: 18px;
}

.free-picker-card span,
.free-picker-card p {
  color: rgba(243, 244, 244, .62) !important;
  font-family: 'Victor Mono', monospace;
  font-size: 9px;
}

.free-picker-card h3 {
  margin: 7px 0 5px;
  color: var(--forward-off-white) !important;
  font-size: 24px;
  line-height: 1.05;
}

.free-picker-card .button {
  min-height: 40px !important;
  margin-top: auto;
  padding-inline: 16px !important;
}

@media (max-width: 760px) {
  .free-picker-grid {
    grid-template-columns: 1fr;
  }

  .free-picker-card {
    grid-template-columns: 112px minmax(0, 1fr);
  }
}

@media (max-width: 480px) {
  .free-picker-panel {
    width: calc(100vw - 20px);
    max-height: calc(100svh - 20px);
  }

  .free-picker-panel > header {
    padding: 24px 20px 18px;
  }

  .free-picker-grid {
    max-height: calc(100svh - 180px);
    padding: 12px;
  }
}

/* Product pages: related compounds use the exact catalog-card visual system. */
.product-page .related > div {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.product-page .related .product-card {
  min-width: 0;
  height: 100%;
  overflow: hidden !important;
  border: 1px solid var(--forward-card-border, rgba(243, 244, 244, .18)) !important;
  border-radius: 18px !important;
  background: var(--forward-card-surface, #142c30) !important;
  box-shadow: none !important;
  color: var(--forward-off-white) !important;
  transition: border-color 260ms ease, background-color 260ms ease, transform 360ms var(--forward-motion-ease);
}

.product-page .related .product-card-link {
  display: flex !important;
  height: 100% !important;
  min-height: 0 !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: inherit !important;
  background: inherit !important;
  color: inherit !important;
  text-decoration: none !important;
}

.product-page .related .product-image {
  position: relative;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  flex: 0 0 auto;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #050505 !important;
  line-height: 0;
}

.product-page .related .product-image > span {
  position: absolute;
  z-index: 2;
  top: 20px;
  left: 20px;
  padding: 9px 12px;
  border-radius: 9px;
  background: rgba(5, 5, 5, .82) !important;
  color: var(--forward-light-brown) !important;
  font-family: 'Victor Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}

.product-page .related .product-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  transition: transform 650ms var(--forward-motion-ease), filter 300ms ease;
}

.product-page .related .product-copy {
  position: relative;
  z-index: 3;
  display: flex !important;
  min-height: 340px;
  flex: 1 1 auto;
  flex-direction: column !important;
  align-items: stretch !important;
  margin: -2px 0 0 !important;
  padding: 28px 26px 26px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--forward-card-surface, #142c30) !important;
  box-shadow: none !important;
  color: var(--forward-off-white) !important;
  transition: background-color 260ms ease;
}

.product-page .related .product-meta {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 17px !important;
}

.product-page .related .product-meta span {
  color: var(--forward-off-white) !important;
  font-family: 'Victor Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.2;
  text-transform: uppercase;
}

.product-page .related .product-card h2 {
  margin: 0 0 16px !important;
  color: var(--forward-off-white) !important;
  font-size: clamp(28px, 3vw, 36px) !important;
  line-height: 1 !important;
}

.product-page .related .product-card p {
  margin: 0 0 24px !important;
  color: rgba(243, 244, 244, .82) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.product-page .related .strengths {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  margin: auto 0 22px !important;
}

.product-page .related .strengths span {
  padding: 8px 10px !important;
  border: 1px solid rgba(243, 244, 244, .12) !important;
  border-radius: 8px !important;
  background: rgba(243, 244, 244, .08) !important;
  color: var(--forward-off-white) !important;
  font-family: 'Victor Mono', monospace;
  font-size: 9px !important;
  line-height: 1 !important;
}

.product-page .related .product-card small {
  color: var(--forward-off-white) !important;
  font-size: 12px !important;
  font-weight: 600;
}

.product-page .related .product-card:hover {
  border-color: rgba(255, 88, 45, .7) !important;
  background: #19363b !important;
  transform: translateY(-4px);
}

.product-page .related .product-card:hover .product-copy {
  background: #19363b !important;
}

.product-page .related .product-card:hover .product-image img {
  filter: saturate(1.06) contrast(1.03);
  transform: scale(1.035);
}

@media (max-width: 760px) {
  .product-page .related > div {
    grid-template-columns: 1fr !important;
  }

  .product-page .related .product-copy {
    min-height: 300px;
  }
}

/* Embedded featured products: title links are text, not card surfaces. */
.embedded-product-section .product-card-title-link {
  display: inline-block !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--forward-off-white) !important;
  text-decoration: none !important;
}

.embedded-product-section .product-card-title-link h3 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--forward-off-white) !important;
  transition: color 220ms ease;
}

.embedded-product-section .product-card-title-link:hover h3 {
  color: #ff805a !important;
}

/* Home hero: keep the secondary action distinct from the catalog CTA. */
@media (hover: hover) and (pointer: fine) {
  body.home-page .home-hero .button-row a.button.secondary:hover {
    background-color: #4b929f !important;
    border-color: #71aeb9 !important;
    color: #ffffff !important;
  }
}

/* Product cards: present the details link as a clear button action. */
.catalog-page .product-card small,
.product-page .related .product-card small {
  display: inline-flex !important;
  width: max-content !important;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  margin-top: 14px !important;
  padding: 11px 16px !important;
  border: 1px solid var(--forward-orange) !important;
  border-radius: 8px !important;
  background-color: var(--forward-orange) !important;
  color: #ffffff !important;
  font-family: 'Victor Mono', monospace;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: background-color 220ms ease, border-color 220ms ease, color 220ms ease !important;
}

@media (hover: hover) {
  .catalog-page .product-card small:hover,
  .product-page .related .product-card small:hover {
    border-color: #71aeb9 !important;
    background-color: #4b929f !important;
    color: #ffffff !important;
  }
}

/* Free-vial picker: prevent legacy light card/header surfaces from leaking in. */
body .free-picker-panel {
  border-color: rgba(243, 244, 244, .2) !important;
  background: #10292d !important;
  color: var(--forward-off-white) !important;
}

body .free-picker-panel > header {
  border-bottom-color: rgba(243, 244, 244, .14) !important;
  background: #10292d !important;
  color: var(--forward-off-white) !important;
}

body .free-picker-panel > header .eyebrow {
  color: var(--forward-light-brown) !important;
}

body .free-picker-panel h2,
body .free-picker-panel > header p {
  background: transparent !important;
  color: var(--forward-off-white) !important;
}

body .free-picker-grid {
  background: #0c2226 !important;
}

body .free-picker-card {
  border-color: rgba(243, 244, 244, .18) !important;
  background: #183438 !important;
  box-shadow: none !important;
  color: var(--forward-off-white) !important;
}

body .free-picker-card > div {
  background: #183438 !important;
  color: var(--forward-off-white) !important;
}

body .free-picker-card h3 {
  background: transparent !important;
  color: var(--forward-off-white) !important;
}

body .free-picker-card span,
body .free-picker-card p {
  background: transparent !important;
  color: rgba(243, 244, 244, .68) !important;
}

body .free-picker-card .button {
  border-color: var(--forward-orange) !important;
  background-color: var(--forward-orange) !important;
  color: #ffffff !important;
}

@media (hover: hover) {
  body .free-picker-card:hover {
    border-color: rgba(255, 88, 45, .7) !important;
    background: #1d3d42 !important;
  }

  body .free-picker-card:hover > div {
    background: #1d3d42 !important;
  }

  body .free-picker-card .button:hover {
    border-color: #71aeb9 !important;
    background-color: #4b929f !important;
  }
}

/* Header cart pill: give the teal surface comfortable space around its label. */
body .utility-nav a.header-cart-button,
body .utility-nav a[href$="cart.html"] {
  display: inline-flex !important;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  gap: 7px !important;
  padding: 6px 7px 6px 12px !important;
  border-radius: 999px !important;
  background-color: var(--forward-light-teal, #3c7885) !important;
  color: #ffffff !important;
  line-height: 1 !important;
}

body .utility-nav a.header-cart-button [data-cart-count],
body .utility-nav a[href$="cart.html"] [data-cart-count] {
  flex: 0 0 18px;
  margin: 0 !important;
}

@media (hover: hover) {
  body .utility-nav a.header-cart-button:hover,
  body .utility-nav a[href$="cart.html"]:hover {
    background-color: #4b929f !important;
    color: #ffffff !important;
  }
}

/* Checkout cart: readable product list and high-contrast promotion summary. */
body.cart-page .cart-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, .75fr) !important;
  align-items: start !important;
  gap: 28px !important;
}

body.cart-page .cart-items {
  display: grid !important;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 14px !important;
}

body.cart-page .cart-item {
  display: grid !important;
  width: 100%;
  min-width: 0;
  grid-template-columns: 108px minmax(0, 1fr) auto !important;
  gap: 8px 20px !important;
  padding: 20px !important;
  overflow: hidden;
  border: 1px solid rgba(243, 244, 244, .16) !important;
  border-radius: 14px !important;
  background: var(--forward-card-surface, #142c30) !important;
  color: var(--forward-off-white) !important;
}

body.cart-page .cart-item-image {
  width: 108px !important;
  height: 122px !important;
  grid-row: 1 / span 3;
  border: 1px solid rgba(243, 244, 244, .12);
  border-radius: 9px !important;
  background: #050505 !important;
}

body.cart-page .cart-item-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.cart-page .cart-item-copy {
  min-width: 0;
  align-self: center;
}

body.cart-page .cart-item-copy h2,
body.cart-page .cart-item-copy h2 a {
  margin: 0 0 6px !important;
  background: transparent !important;
  color: var(--forward-off-white) !important;
  font-size: 25px !important;
  line-height: 1 !important;
}

body.cart-page .cart-item-copy p,
body.cart-page .cart-unit-price {
  color: rgba(243, 244, 244, .68) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body.cart-page .cart-item .quantity-control,
body.cart-page .free-selection-status {
  grid-column: 2;
  justify-self: start;
}

body.cart-page .cart-line-total {
  grid-column: 3;
  grid-row: 1;
  align-self: center;
  color: var(--forward-off-white) !important;
  font-size: 18px;
}

body.cart-page .cart-remove {
  grid-column: 3;
  grid-row: 2 / span 2;
  align-self: end;
  color: rgba(243, 244, 244, .58) !important;
}

body.cart-page .cart-item.is-free-selection {
  border-left: 4px solid var(--forward-orange) !important;
  background: #183438 !important;
}
body.journal-page .subscribe-card.texture-dark {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  min-height: 420px !important;
  border-radius: 16px !important;
  background-image: linear-gradient(90deg, rgba(15, 48, 52, .88), rgba(15, 48, 52, .56)), url('../assets/textures/dispatch-texture.jpeg') !important;
  background-size: cover !important;
  background-position: center !important;
  color: var(--forward-off-white) !important;
}
body.journal-page .subscribe-card.texture-dark > * {
  position: relative !important;
  z-index: 1 !important;
}
body.journal-page .subscribe-card.texture-dark h3,
body.journal-page .subscribe-card.texture-dark p,
body.journal-page .subscribe-card.texture-dark .eyebrow {
  color: var(--forward-off-white) !important;
  opacity: 1 !important;
}
body.cart-page .cart-item-kicker,
body.cart-page .cart-item.is-free-selection .cart-item-kicker {
  display: block !important;
  color: #ff8a62 !important;
  opacity: 1 !important;
  font-family: 'Victor Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}
body.cart-page .cart-item.is-free-selection .cart-unit-price {
  color: #f3f4f4 !important;
  opacity: 1 !important;
}

/* QA: make free-vial labels readable in both the cart drawer and cart page. */
.cart-item.is-free-selection .cart-item-kicker,
body.cart-page .cart-item.is-free-selection .cart-item-kicker {
  display: block !important;
  color: #f3f4f4 !important;
  opacity: 1 !important;
  font-family: 'Victor Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35) !important;
}

.cart-item.is-free-selection .free-selection-status,
body.cart-page .cart-item.is-free-selection .free-selection-status {
  display: inline-flex !important;
  align-items: center !important;
  width: max-content !important;
  padding: 5px 8px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: var(--forward-orange, #f04a1c) !important;
  color: #fff !important;
  font-family: 'Victor Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body.cart-page .cart-summary {
  position: sticky;
  top: calc(var(--forward-header-height, 86px) + var(--forward-announcement-height, 36px) + 18px);
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(243, 244, 244, .18) !important;
  border-radius: 14px !important;
  background: var(--forward-card-surface, #142c30) !important;
  box-shadow: 0 22px 46px rgba(8, 9, 9, .24) !important;
  color: var(--forward-off-white) !important;
}

body.cart-page .cart-page-promo {
  padding: 26px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(243, 244, 244, .14) !important;
  background: #183438 !important;
  color: var(--forward-off-white) !important;
}

body.cart-page .cart-page-promo .bogo-progress-head,
body.cart-page .cart-page-promo .bogo-progress-head span {
  color: var(--forward-off-white) !important;
}

body.cart-page .cart-page-promo .bogo-progress-head strong {
  color: #ff9878 !important;
}

body.cart-page .cart-page-promo p {
  color: rgba(243, 244, 244, .84) !important;
}

body.cart-page .cart-page-promo small {
  display: block;
  color: rgba(243, 244, 244, .58) !important;
  line-height: 1.5;
}

body.cart-page .cart-page-totals {
  display: grid !important;
  gap: 12px !important;
  padding: 26px !important;
  background: var(--forward-card-surface, #142c30) !important;
}

body.cart-page .cart-page-totals span {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  color: rgba(243, 244, 244, .72) !important;
}

body.cart-page .cart-page-totals strong {
  margin-left: auto !important;
  text-align: right !important;
  color: var(--forward-off-white) !important;
}

/* Checkout summary follows Clean: show only the final subtotal. */
body.cart-page .cart-page-totals span:nth-child(1),
body.cart-page .cart-page-totals span:nth-child(2){
  display:none !important;
}
body.cart-page .cart-page-totals > span:nth-child(3){
  display:flex !important;
  width:100% !important;
  align-items:baseline !important;
  justify-content:space-between !important;
}
body.cart-page .cart-page-totals > span:nth-child(3) strong{
  margin-left:auto !important;
  padding-left:24px !important;
  text-align:right !important;
}
body.cart-page .cart-page-how-it-works{
  margin:0 26px 22px !important;
  padding:18px 0 !important;
  border-top:1px solid rgba(243,244,244,.14) !important;
  border-bottom:1px solid rgba(243,244,244,.14) !important;
  color:rgba(243,244,244,.72) !important;
  font-size:12px !important;
  line-height:1.55 !important;
}
body.cart-page .cart-page-how-it-works strong{
  display:inline !important;
  margin:0 !important;
  color:rgba(243,244,244,.72) !important;
  font-size:12px !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
body.cart-page .cart-page-how-it-works p{
  display:inline !important;
  margin:0 !important;
  color:rgba(243,244,244,.72) !important;
}
.choose-free-button:disabled{
  opacity:.42 !important;
  filter:saturate(.35) !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
}

body.cart-page .cart-summary > .button {
  margin: 0 26px !important;
  width: calc(100% - 52px) !important;
}

body.cart-page .cart-summary > p {
  margin: 12px 26px 26px !important;
  width: calc(100% - 52px) !important;
  color: rgba(243, 244, 244, .58) !important;
}

@media (max-width: 980px) {
  body.cart-page .cart-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.cart-page .cart-summary {
    position: static;
  }
}

@media (max-width: 600px) {
  body.cart-page .cart-item {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 10px 14px !important;
    padding: 16px !important;
  }

  body.cart-page .cart-item-image {
    width: 82px !important;
    height: 98px !important;
  }

  body.cart-page .cart-line-total,
  body.cart-page .cart-remove {
    grid-column: 2;
    grid-row: auto;
    justify-self: start;
  }
}
/* QA: lift every site card toward the pointer while preserving existing hover effects. */
.card,
.product-card,
.collection-card,
.journal-card,
.account-card,
.form-card,
.hero-card,
.cta-card,
.mini-product-card,
.strip-product-card,
.embedded-product-card,
.protocol-cards article,
.domain-card,
.catalog-cta-card,
.subscribe-card{
  transition:transform .28s ease, translate .28s ease, box-shadow .28s ease!important;
}
.card:hover,
.product-card:hover,
.collection-card:hover,
.journal-card:hover,
.account-card:hover,
.form-card:hover,
.hero-card:hover,
.cta-card:hover,
.mini-product-card:hover,
.strip-product-card:hover,
.embedded-product-card:hover,
.protocol-cards article:hover,
.domain-card:hover,
.catalog-cta-card:hover,
.subscribe-card:hover{
  translate:0 -8px;
}
.create-account-page .auth-panel{
  background:#102b2f !important;
  border:1px solid rgba(243,244,244,.18) !important;
  border-radius:10px !important;
  color:#f3f4f4 !important;
}
.create-account-page .auth-panel h1,
.create-account-page .auth-panel p,
.create-account-page .auth-panel label,
.create-account-page .auth-panel .eyebrow,
.create-account-page .auth-panel .check-field{
  color:#f3f4f4 !important;
  opacity:1 !important;
}
.create-account-page .auth-panel input:not([type="checkbox"]),
.create-account-page .auth-panel select,
.create-account-page .auth-panel textarea{
  background:#f0f1ed !important;
  border:1px solid rgba(16,43,47,.45) !important;
  border-radius:7px !important;
  color:#102b2f !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.08) !important;
}
.create-account-page .auth-panel input:not([type="checkbox"]):focus,
.create-account-page .auth-panel select:focus,
.create-account-page .auth-panel textarea:focus{
  border-color:#ff4b19 !important;
  box-shadow:0 0 0 2px rgba(255,75,25,.2) !important;
}
.create-account-page .auth-panel input::placeholder{color:#6c7a79 !important;opacity:1!important}
.home-page .bogo-video-hero .bogo-copy h2{
  line-height:.98 !important;
}

body.cart-page .cart-page-how-it-works {
  margin: 0 26px 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(243,244,244,.14) !important;
  color: rgba(243,244,244,.72) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}
body.cart-page .cart-page-how-it-works strong {
  display: block !important;
  margin-bottom: 6px !important;
  color: var(--forward-off-white) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}
body.cart-page .cart-page-how-it-works p {
  margin: 0 !important;
  color: rgba(243,244,244,.72) !important;
}

/* Final override for free-vial labels in every cart presentation. */
.cart-item.is-free-selection .cart-item-kicker{
  display:block !important;
  color:#f3f4f4 !important;
  opacity:1 !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  line-height:1.25 !important;
  text-transform:uppercase !important;
  text-shadow:0 1px 2px rgba(0,0,0,.35) !important;
}
.cart-item.is-free-selection .free-selection-status{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  padding:5px 8px !important;
  border:0 !important;
  border-radius:5px !important;
  background:#f04a1c !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}

/* Free items use a single FREE TRIAL kicker and a fixed quantity of one. */
.cart-item.is-free-selection .free-selection-status{
  width:auto !important;
  min-width:18px !important;
  justify-content:center !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--forward-off-white) !important;
  font-family:'Victor Mono', monospace !important;
  font-size:14px !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}
.cart-item.is-free-selection .free-selection-status::first-letter{
  font-size:0 !important;
}
.cart-item.is-free-selection .free-selection-status{
  font-size:0 !important;
}
.cart-item.is-free-selection .free-selection-status::after{
  content:'1';
  color:var(--forward-off-white) !important;
  font-size:14px !important;
}

/* Match Clean's compact cart layout: quantity wraps only its controls, and free rows stay short. */
.cart-item .quantity-control{
  width:max-content !important;
  justify-self:start !important;
}
.cart-item.is-free-selection .free-selection-status{
  display:none !important;
}
.cart-item.is-free-selection .cart-remove{
  grid-row:2 !important;
  align-self:start !important;
}
body.cart-page .cart-item.is-free-selection .cart-remove{
  grid-row:2 !important;
  align-self:start !important;
}
.cart-item.is-free-selection .cart-line-total{
  grid-row:1 !important;
  align-self:center !important;
}

/* Keep free cards compact: their image, not the Remove link, determines height. */
.cart-item.is-free-selection{
  position:relative !important;
  height:138px !important;
  min-height:138px !important;
}
.cart-item.is-free-selection .cart-remove{
  position:absolute !important;
  right:26px !important;
  bottom:18px !important;
  grid-row:auto !important;
  align-self:auto !important;
}
body.cart-page .cart-item.is-free-selection{
  height:162px !important;
  min-height:162px !important;
}
body.cart-page .cart-item.is-free-selection .cart-remove{
  right:20px !important;
  bottom:18px !important;
}

/* QA banner layout: wider canvas with a seamless right-side video. */
@media (min-width:1001px){
  .home-page .bogo-feature.bogo-video-hero{
    width:min(1520px,calc(100% - 64px))!important;
    max-width:1520px!important;
    min-height:clamp(580px,40vw,700px)!important;
    padding:clamp(52px,5vw,88px)!important;
    border:0!important;
  }

  .home-page .bogo-video-media{
    inset:0 0 0 auto!important;
    width:75%!important;
    overflow:hidden;
    background:#0c262b!important;
  }

  .home-page .bogo-video{
    width:108%!important;
    max-width:none!important;
    height:100%!important;
    margin-left:0;
    object-position:center right!important;
    transform:translate3d(2.5%,0,0) scale(1.05)!important;
    transform-origin:center center!important;
  }

  .home-page .bogo-video-overlay{
    background:
      linear-gradient(90deg,
        #0c262b 0%,
        #0c262b 25%,
        rgba(12,38,43,.99) 34%,
        rgba(12,38,43,.92) 43%,
        rgba(12,38,43,.68) 53%,
        rgba(12,38,43,.34) 64%,
        rgba(12,38,43,.10) 76%,
        rgba(12,38,43,0) 100%),
      linear-gradient(0deg,rgba(6,20,23,.18),transparent 48%)!important;
  }

  .home-page .bogo-video-hero .bogo-copy{
    width:min(48%,610px)!important;
  }
}
