/*
 * Auren Labs visual system 4.0
 *
 * A four-colour identity built around warm ivory, forest, ink and lime.
 * This file loads last so the palette remains consistent across WooCommerce
 * without changing catalogue, compliance, shipping or payment behaviour.
 */

:root {
  --auren-cream: #f7f3ec;
  --auren-paper: #fffdf8;
  --auren-ink: #151515;
  --auren-line: rgba(21, 21, 21, .16);
  --auren-navy: #103d2e;
  --control-radius: 12px;
  --card-radius: 14px;
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--font-brand-sans), "Figtree", system-ui, sans-serif;
}

body {
  background: var(--brand-ivory);
  color: var(--brand-ink);
  font-weight: 350;
}

h1,
h2,
h3,
h4,
.wordmark,
.wordmark-text,
.woocommerce-products-header__title,
.single-product div.product .product_title {
  font-family: var(--font-brand-sans), "Figtree", system-ui, sans-serif;
}

::selection {
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
}

:where(a, button, input, select, textarea):focus-visible {
  outline-color: var(--brand-lime);
  outline-width: 3px;
  outline-offset: 3px;
}

/* Header and navigation */
.announcement {
  min-height: 36px;
  background: var(--brand-forest-dark);
  color: var(--brand-ivory);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .13em;
}

.announcement-status {
  background: var(--brand-lime);
  box-shadow: 0 0 0 4px rgba(198, 242, 78, .14);
}

.announcement a {
  color: var(--brand-lime);
  font-weight: 700;
}

.site-header {
  height: 72px;
  border-bottom-color: rgba(21, 21, 21, .12);
  background: rgba(247, 243, 236, .97);
  box-shadow: none;
}

.wordmark-text,
.footer-wordmark {
  color: var(--brand-ink);
  font-weight: 780;
  letter-spacing: -.075em;
}

.site-header nav,
.header-actions {
  color: var(--brand-ink);
}

.site-header nav {
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .085em;
}

.site-header nav a::after {
  height: 2px;
  background: var(--brand-lime);
}

.bag-button b,
.auren-cart-count {
  border-color: var(--brand-forest);
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
}

.auren-mega-menu,
.header-search-panel {
  border-color: rgba(21, 21, 21, .14);
  background: var(--brand-ivory);
}

.auren-menu-feature,
.header-search-aside {
  background: var(--brand-forest);
  color: var(--brand-ivory);
}

.auren-menu-feature p,
.header-search-aside .eyebrow,
.auren-menu-feature a b {
  color: var(--brand-lime);
}

.auren-menu-feature strong {
  color: var(--brand-ivory);
}

.auren-menu-feature span {
  color: rgba(247, 243, 236, .72);
}

.auren-menu-feature a {
  border-top-color: rgba(247, 243, 236, .22);
}

.auren-menu-feature a:hover strong,
.auren-menu-feature a:focus-visible strong {
  color: var(--brand-lime);
}

.auren-menu-feature a:hover span,
.auren-menu-feature a:focus-visible span {
  color: var(--brand-ivory);
}

/* Type scale and actions */
.hero-campaign h1,
.section h2,
.standards h2,
.about h2,
.disclaimer h2,
.policy-hero h1,
.about-page-copy h1,
.about-page-intro h2,
.about-process h2,
.about-cta h2,
.auren-support-hero h1,
.auren-commerce-hero h1 {
  font-weight: 700;
  letter-spacing: -.058em;
}

.eyebrow {
  font-size: 10px;
  font-weight: 720;
  letter-spacing: .16em;
}

.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button,
.header-search-submit {
  min-height: 50px;
  padding-right: 23px;
  padding-left: 23px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 720;
  letter-spacing: .1em;
}

.button-dark,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #payment #place_order,
.wc-block-components-checkout-place-order-button {
  border-color: var(--brand-forest) !important;
  background: var(--brand-forest) !important;
  color: var(--brand-ivory) !important;
}

.button-dark:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  border-color: var(--brand-lime) !important;
  background: var(--brand-lime) !important;
  color: var(--brand-forest-dark) !important;
}

.text-link {
  font-weight: 720;
  text-underline-offset: 5px;
}

/* Dark photographic hero, retaining Auren artwork and structure. */
.hero-campaign {
  height: min(760px, calc(100svh - 108px));
  min-height: 650px;
  border-bottom: 0;
  background: var(--brand-forest);
}

.campaign-background {
  filter: saturate(.92) contrast(1.08) brightness(.87);
}

.campaign-motion-frame {
  --auren-hero-x: 0px;
  --auren-hero-y: 0px;
  position: absolute;
  inset: -2.5%;
  overflow: hidden;
  transform: translate3d(var(--auren-hero-x), var(--auren-hero-y), 0);
  transition: transform .9s cubic-bezier(.2, .72, .2, 1);
  will-change: transform;
}

.campaign-motion-frame::after {
  content: "";
  position: absolute;
  inset: -28%;
  z-index: 1;
  background:
    radial-gradient(circle at 72% 42%, rgba(198, 242, 78, .2), transparent 24%),
    linear-gradient(112deg, transparent 33%, rgba(247, 243, 236, .09) 48%, transparent 62%);
  mix-blend-mode: screen;
  opacity: .38;
  pointer-events: none;
  transform: translate3d(-8%, 2%, 0) rotate(-2deg);
  animation: auren-hero-light 11s ease-in-out infinite alternate;
  will-change: transform, opacity;
}

.campaign-motion-frame .campaign-background {
  width: 105%;
  height: 105%;
  inset: -2.5%;
  transform: scale(1.035) translate3d(0, 0, 0);
  animation: auren-hero-drift 16s cubic-bezier(.42, 0, .2, 1) infinite alternate;
  will-change: transform;
}

@keyframes auren-hero-drift {
  0% {
    transform: scale(1.035) translate3d(0, 0, 0);
  }
  48% {
    transform: scale(1.07) translate3d(-.55%, -.35%, 0);
  }
  100% {
    transform: scale(1.095) translate3d(-1.05%, .25%, 0);
  }
}

@keyframes auren-hero-light {
  0% {
    opacity: .22;
    transform: translate3d(-9%, 3%, 0) rotate(-2deg) scale(.96);
  }
  55% {
    opacity: .48;
  }
  100% {
    opacity: .3;
    transform: translate3d(9%, -3%, 0) rotate(2deg) scale(1.06);
  }
}

@keyframes auren-hero-copy-in {
  from {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.campaign-slide::before,
.campaign-slide.campaign-copy-right::before {
  background: linear-gradient(90deg, rgba(11, 44, 33, .99) 0%, rgba(16, 61, 46, .96) 33%, rgba(16, 61, 46, .66) 51%, rgba(16, 61, 46, .08) 74%);
}

.campaign-copy {
  width: 53%;
  padding-top: 80px;
  padding-bottom: 84px;
  color: var(--brand-ivory);
}

.campaign-active .campaign-copy > * {
  animation: auren-hero-copy-in .8s cubic-bezier(.2, .72, .2, 1) both;
}

.campaign-active .campaign-copy > :nth-child(2) {
  animation-delay: .08s;
}

.campaign-active .campaign-copy > :nth-child(3) {
  animation-delay: .16s;
}

.campaign-active .campaign-copy > :nth-child(4) {
  animation-delay: .24s;
}

.campaign-copy .eyebrow {
  color: var(--brand-lime);
}

.campaign-copy h1 {
  max-width: 760px;
  font-size: clamp(64px, 6.25vw, 96px);
  font-weight: 720;
  line-height: .9;
  letter-spacing: -.067em;
}

.campaign-copy h1 span {
  color: #fff;
}

.campaign-copy h1 em {
  margin-top: 9px;
  color: var(--brand-lime);
  font-weight: 620;
}

.campaign-intro {
  max-width: 540px;
  color: rgba(247, 243, 236, .76);
  font-size: 16px;
  font-weight: 350;
  line-height: 1.65;
}

.campaign-copy .hero-actions {
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.hero-actions .button-dark {
  border-color: var(--brand-lime) !important;
  background: var(--brand-lime) !important;
  color: var(--brand-forest-dark) !important;
}

.hero-actions .button-dark:hover {
  border-color: var(--brand-ivory) !important;
  background: var(--brand-ivory) !important;
}

.hero-actions .auren-hero-coa-button {
  border-color: rgba(247, 243, 236, .48) !important;
  background: rgba(11, 44, 33, .18) !important;
  color: var(--brand-ivory) !important;
  backdrop-filter: blur(8px);
}

.hero-actions .auren-hero-coa-button:hover {
  border-color: var(--brand-lime) !important;
  background: rgba(198, 242, 78, .12) !important;
  color: var(--brand-lime) !important;
}

.campaign-mark {
  color: var(--brand-ivory);
}

.campaign-mark {
  opacity: .58;
}

/* Evidence directly beneath the hero. */
.auren-proof-band {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(247, 243, 236, .17);
  border-bottom: 1px solid rgba(247, 243, 236, .17);
  background: var(--brand-forest-dark);
  color: var(--brand-ivory);
}

.auren-proof-band > .auren-home-metric {
  min-height: 154px;
  padding: 28px clamp(24px, 4vw, 64px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  color: inherit;
  text-decoration: none;
}

.auren-proof-band > .auren-home-metric + .auren-home-metric {
  border-left: 1px solid rgba(247, 243, 236, .17);
}

.auren-proof-band .auren-home-metric-value {
  padding: 0;
  color: var(--brand-lime);
  font-size: clamp(48px, 5vw, 76px);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.055em;
  line-height: .88;
}

.auren-proof-band .auren-home-metric small {
  color: rgba(247, 243, 236, .64);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .15em;
  line-height: 1.35;
  text-transform: uppercase;
}

.auren-proof-band a.auren-home-metric {
  transition: background-color .2s ease;
}

.auren-proof-band a.auren-home-metric:hover {
  background: rgba(198, 242, 78, .075);
}

.auren-proof-band a.auren-home-metric:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid var(--brand-lime);
  outline-offset: -5px;
}

/* Shopping sections remain light and direct. */
.section {
  padding-top: clamp(88px, 8vw, 126px);
  padding-bottom: clamp(94px, 8.5vw, 136px);
}

.featured-section,
.research,
.woocommerce-page main,
.auren-woocommerce-main {
  background: var(--brand-ivory);
}

.shop-title {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 410px);
  gap: 48px;
}

.shop-title h2,
.research-heading h2 {
  max-width: 900px;
  color: var(--brand-ink);
  font-size: clamp(52px, 5.5vw, 84px);
  font-weight: 700;
  line-height: .91;
  letter-spacing: -.062em;
}

.featured-grid {
  margin-top: clamp(44px, 5vw, 70px);
}

.product-grid {
  gap: clamp(14px, 1.5vw, 22px);
}

.product-card,
.woocommerce ul.products li.product {
  border-color: rgba(16, 61, 46, .16);
  border-radius: 16px;
  background: var(--brand-ivory);
  box-shadow: none;
}

.product-card:hover,
.woocommerce ul.products li.product:hover {
  border-color: var(--brand-forest);
  box-shadow: 0 16px 38px rgba(11, 44, 33, .12);
}

.product-card .product-visual,
.woocommerce ul.products li.product a img,
.auren-cart-addon-image,
.auren-cart-drawer-item-image {
  background: var(--brand-stone);
}

.woocommerce ul.products li.product[class*="auren-product-tone-"] {
  --auren-card-wash: rgba(16, 61, 46, .12);
}

.single-product div.product[class*="auren-product-tone-"] {
  --auren-gallery-tone: #d8d0c4;
  --auren-gallery-wash: rgba(16, 61, 46, .12);
}

.product-card.product-sage .product-visual,
.product-card.product-blue .product-visual,
.product-card.product-mint .product-visual,
.woocommerce ul.products li.product.auren-product-tone-sage a img,
.woocommerce ul.products li.product.auren-product-tone-blue a img,
.woocommerce ul.products li.product.auren-product-tone-mint a img {
  background: #c5d8ce;
}

.product-card.product-peach .product-visual,
.product-card.product-lilac .product-visual,
.product-card.product-rose .product-visual,
.woocommerce ul.products li.product.auren-product-tone-peach a img,
.woocommerce ul.products li.product.auren-product-tone-lilac a img,
.woocommerce ul.products li.product.auren-product-tone-rose a img {
  background: var(--brand-stone);
}

.product-card.product-sand .product-visual,
.product-card.product-butter .product-visual,
.woocommerce ul.products li.product.auren-product-tone-sand a img,
.woocommerce ul.products li.product.auren-product-tone-butter a img {
  background: #e5edbf;
}

.product-info,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  background: var(--paper);
}

.product-info h3,
.product-info strong,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price {
  color: var(--brand-forest-dark);
}

.product-info h3 {
  font-size: 18px;
  font-weight: 720;
}

.product-card-quick {
  background: var(--brand-forest);
  color: var(--brand-lime);
}

.product-card-action {
  min-height: 50px;
  margin: 0 14px 14px;
  padding: 0 19px;
  border: 1px solid var(--brand-lime);
  border-radius: 999px;
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
}

.product-card-action small,
.product-card-action-arrow {
  color: var(--brand-forest-dark);
}

.product-card-action:hover {
  border-color: var(--brand-forest);
  background: var(--brand-forest);
  color: var(--brand-ivory);
}

.product-card-action:hover small,
.product-card-action:hover .product-card-action-arrow {
  color: var(--brand-lime);
}

.auren-menu-links.auren-often-viewed {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 18px;
  align-content: start;
}

.auren-often-viewed > p {
  grid-column: 1 / -1;
}

.auren-often-viewed a {
  min-height: 58px;
}

.woocommerce ul.products li.product .button {
  min-height: 50px;
  border-color: var(--brand-lime) !important;
  border-radius: 999px;
  background: var(--brand-lime) !important;
  color: var(--brand-forest-dark) !important;
}

.woocommerce ul.products li.product .button:hover {
  border-color: var(--brand-forest) !important;
  background: var(--brand-forest) !important;
  color: var(--brand-ivory) !important;
}

.auren-cart-addon-card.auren-product-tone-sage .auren-cart-addon-image,
.auren-cart-addon-card.auren-product-tone-aqua .auren-cart-addon-image,
.auren-cart-addon-card.auren-product-tone-mint .auren-cart-addon-image,
.auren-cart-drawer-item.auren-product-tone-sage .auren-cart-drawer-item-image,
.auren-cart-drawer-item.auren-product-tone-aqua .auren-cart-drawer-item-image,
.auren-cart-drawer-item.auren-product-tone-mint .auren-cart-drawer-item-image,
.auren-checkout-product-stage.auren-checkout-tone-sage,
.auren-checkout-product-stage.auren-checkout-tone-aqua {
  background: #c5d8ce;
}

.auren-cart-addon-card.auren-product-tone-blue .auren-cart-addon-image,
.auren-cart-addon-card.auren-product-tone-peach .auren-cart-addon-image,
.auren-cart-addon-card.auren-product-tone-lilac .auren-cart-addon-image,
.auren-cart-addon-card.auren-product-tone-blush .auren-cart-addon-image,
.auren-cart-drawer-item.auren-product-tone-blue .auren-cart-drawer-item-image,
.auren-cart-drawer-item.auren-product-tone-peach .auren-cart-drawer-item-image,
.auren-cart-drawer-item.auren-product-tone-lilac .auren-cart-drawer-item-image,
.auren-cart-drawer-item.auren-product-tone-blush .auren-cart-drawer-item-image,
.auren-cart-drawer-item.auren-product-tone-rose .auren-cart-drawer-item-image,
.auren-checkout-product-stage.auren-checkout-tone-blue,
.auren-checkout-product-stage.auren-checkout-tone-peach,
.auren-checkout-product-stage.auren-checkout-tone-lilac,
.auren-checkout-product-stage.auren-checkout-tone-blush {
  background: var(--brand-stone);
}

.auren-cart-addon-card.auren-product-tone-yellow .auren-cart-addon-image,
.auren-cart-drawer-item.auren-product-tone-yellow .auren-cart-drawer-item-image,
.auren-cart-drawer-item.auren-product-tone-butter .auren-cart-drawer-item-image,
.auren-checkout-product-stage.auren-checkout-tone-yellow {
  background: #e5edbf;
}

/* Savings and quality content use dark contrast, not extra accent colours. */
.home-saving-band,
.standards,
.about-process {
  background: var(--brand-forest-dark);
  color: var(--brand-ivory);
}

.home-saving-copy .eyebrow,
.standards .eyebrow,
.about-process .eyebrow {
  color: var(--brand-lime);
}

.home-saving-copy h2,
.standards-intro h2,
.about-process h2 {
  color: var(--brand-ivory);
  font-weight: 700;
}

.home-saving-options {
  border-color: rgba(247, 243, 236, .3);
  border-radius: 0;
}

.home-saving-options > div + div {
  border-color: rgba(247, 243, 236, .3);
}

.home-saving-options > div.is-highlighted {
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
}

.home-saving-options > div.is-highlighted span,
.home-saving-options > div.is-highlighted p {
  color: var(--brand-forest-dark);
}

.home-saving-options > div:nth-child(1) {
  background: var(--brand-forest);
  color: var(--brand-ivory);
}

.home-saving-options > div:nth-child(1) span {
  color: var(--brand-lime);
}

.home-saving-options > div:nth-child(1) strong {
  color: var(--brand-ivory);
}

.home-saving-options > div:nth-child(1) p {
  color: rgba(247, 243, 236, .72);
}

.home-saving-options > div:nth-child(2) {
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
}

.home-saving-options > div:nth-child(2) span,
.home-saving-options > div:nth-child(2) strong,
.home-saving-options > div:nth-child(2) p {
  color: var(--brand-forest-dark);
}

.home-saving-options > div:nth-child(3) {
  background: var(--brand-stone);
  color: var(--brand-forest-dark);
}

.home-saving-options > div:nth-child(3) span {
  color: var(--brand-forest);
}

.home-saving-options > div:nth-child(3) strong,
.home-saving-options > div:nth-child(3) p {
  color: var(--brand-forest-dark);
}

.home-saving-band .button-light {
  border-color: var(--brand-lime);
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
}

.home-saving-band .button-light:hover {
  border-color: var(--brand-ivory);
  background: var(--brand-ivory);
  color: var(--brand-forest-dark);
}

.standards-intro > p:not(.eyebrow),
.standards-list p,
.about-process p {
  color: rgba(247, 243, 236, .7);
  font-family: var(--font-brand-sans), "Figtree", system-ui, sans-serif;
}

.standards-list li,
.about-process li {
  border-color: rgba(247, 243, 236, .25);
}

.standards-list li > span,
.about-process li > span {
  color: var(--brand-lime);
}

/* Catalogue routes are simple full-width rows rather than decorative tiles. */
.research {
  border-top: 1px solid var(--auren-line);
}

.research-grid {
  gap: 0;
  border-color: var(--brand-forest);
  border-radius: 0;
  background: transparent;
}

.research-card,
.research-sage,
.research-lilac,
.research-sand,
.research-blue {
  min-height: 190px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.research-card:nth-child(2),
.research-card:nth-child(3) {
  background: rgba(216, 208, 196, .42);
}

.research-card h3 {
  color: var(--brand-forest-dark);
  font-size: clamp(28px, 2.5vw, 38px);
  font-weight: 680;
}

.research-card > span,
.research-card > b {
  color: var(--brand-forest);
}

.research-card:hover {
  background: var(--brand-lime);
  filter: none;
  box-shadow: none;
}

/* Company and responsibility content get their own neutral/lime bands. */
.about {
  background: var(--brand-stone);
}

.about-copy {
  background: var(--brand-ivory);
}

.about-copy h2 {
  color: var(--brand-forest-dark);
  font-size: clamp(56px, 5.25vw, 82px);
  font-weight: 700;
  line-height: .92;
}

.about-image-label {
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
}

.disclaimer,
.about-cta,
.policy-research-notice {
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
}

.disclaimer p {
  color: rgba(11, 44, 33, .78);
}

/* Inner pages follow the same light / dark / evidence hierarchy. */
.page-intro,
.shop-page-intro,
.policy-hero,
.about-page-hero,
.auren-shop-header,
.auren-support-hero,
.auren-commerce-hero {
  background: var(--brand-stone);
}

.auren-support-hero h1,
.auren-commerce-hero h1 {
  color: var(--brand-forest-dark);
  font-size: clamp(58px, 7vw, 100px);
  line-height: .91;
}

.policy-prelaunch,
.shop-reassurance,
.product-facts-strip,
.about-values article,
.about-values article:nth-child(2),
.about-values article:nth-child(3),
.about-values article:nth-child(4) {
  background: var(--brand-ivory);
}

.about-values article:nth-child(even) {
  background: rgba(216, 208, 196, .52);
}

.policy-document blockquote,
.policy-other,
.evidence-note,
.batch-status,
.auren-compact-research-notice,
.auren-batch-controls,
.auren-account-content .woocommerce-MyAccount-navigation ul {
  background: rgba(216, 208, 196, .42);
}

.auren-process-grid {
  border-radius: 0;
  background: var(--brand-forest);
}

.auren-process-grid article,
.auren-process-grid article:nth-child(2),
.auren-process-grid article:nth-child(3),
.auren-process-grid article:nth-child(4) {
  background: var(--brand-ivory);
}

.auren-process-grid article:nth-child(even) {
  background: rgba(216, 208, 196, .62);
}

.auren-form-card,
.auren-account-metrics,
.auren-account-content form.login,
.auren-account-content form.register,
.auren-account-content form.edit-account,
.auren-account-content form.woocommerce-EditAccountForm,
.auren-account-content .woocommerce-Address,
.auren-account-content table.shop_table,
.auren-account-order-list {
  background: var(--brand-ivory);
}

.auren-account-auth-benefits,
.auren-account-order-empty,
.auren-account-quick-links a:hover,
.auren-checkout-content .woocommerce-account-fields,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  background: rgba(198, 242, 78, .16);
}

.auren-account-content table.shop_table th {
  background: rgba(216, 208, 196, .52);
}

/* WooCommerce catalogue and product purchase controls. */
.woocommerce-products-header__title.page-title,
.auren-shop-heading h1,
.auren-page-heading h1 {
  color: var(--brand-forest-dark);
  font-size: clamp(58px, 7.4vw, 104px);
  font-weight: 720;
  letter-spacing: -.064em;
}

.auren-wc-product-hero,
.product-hero {
  background: var(--brand-stone);
}

.auren-wc-gallery-stage {
  border-color: rgba(16, 61, 46, .18);
}

.auren-wc-purchase-stage,
.product-purchase,
.product-information {
  background: var(--paper);
}

.single-product div.product .product_title,
.product-purchase h1 {
  color: var(--brand-forest-dark);
  font-size: clamp(52px, 5vw, 74px);
  font-weight: 720;
  letter-spacing: -.06em;
}

.single-product div.product form.cart .single_add_to_cart_button,
.product-add-button,
.product-mobile-purchase button {
  border-color: var(--brand-lime) !important;
  border-radius: 999px !important;
  background: var(--brand-lime) !important;
  color: var(--brand-forest-dark) !important;
}

.single-product div.product form.cart .single_add_to_cart_button:hover,
.product-add-button:hover,
.product-mobile-purchase button:hover {
  border-color: var(--brand-forest) !important;
  background: var(--brand-forest) !important;
  color: var(--brand-ivory) !important;
}

.research-confirmation,
.auren-product-status-row,
.product-document-status,
.product-warning {
  border-color: rgba(16, 61, 46, .18);
  background: rgba(216, 208, 196, .3);
}

.research-confirmation input:checked + span,
.auren-cart-addon-confirmation input:checked + span {
  border-color: var(--brand-forest);
  background: var(--brand-forest);
}

/* Drawer remains transactional and visually quiet. */
.auren-cart-drawer {
  border-left-color: rgba(16, 61, 46, .18);
  background: var(--paper);
  color: var(--brand-forest-dark);
}

.auren-cart-drawer-header {
  background: var(--brand-ivory);
}

.auren-cart-drawer-saving,
.auren-cart-drawer-discount,
.auren-cart-payment,
.auren-cart-saving-progress {
  background: rgba(198, 242, 78, .2);
}

.auren-cart-drawer-saving-icon,
.auren-cart-payment > span,
.auren-cart-saving-icon,
.auren-cart-saving-complete {
  background: var(--brand-forest);
  color: var(--brand-lime);
}

.auren-cart-drawer-saving-meter i,
.auren-cart-saving-meter span {
  background: var(--brand-lime);
}

.auren-cart-drawer-checkout,
.auren-cart-addon-add,
.woocommerce .checkout-button {
  border-radius: 999px !important;
  background: var(--brand-lime) !important;
  color: var(--brand-forest-dark) !important;
}

.auren-cart-drawer-checkout:hover,
.auren-cart-addon-add:hover,
.woocommerce .checkout-button:hover {
  background: var(--brand-forest) !important;
  color: var(--brand-ivory) !important;
}

/* Closed checkout keeps its established behaviour and gains the brand system. */
.auren-checkout-flow {
  background: var(--brand-ivory);
  color: var(--brand-ink);
}

.auren-checkout-flow .auren-checkout-header {
  border-bottom-color: rgba(16, 61, 46, .14);
  background: rgba(247, 243, 236, .98);
}

.auren-checkout-flow .auren-checkout-wordmark .wordmark-text,
.auren-checkout-intro h1,
.auren-checkout-content h2,
.auren-checkout-content h3,
.auren-checkout-content #order_review_heading {
  color: var(--brand-forest-dark);
}

.auren-checkout-intro h1 {
  font-size: clamp(40px, 4.2vw, 58px);
  font-weight: 720;
  letter-spacing: -.055em;
}

.auren-checkout-content input.input-text,
.auren-checkout-content textarea,
.auren-checkout-content select,
.auren-checkout-content .select2-selection {
  border-color: rgba(16, 61, 46, .24);
  border-radius: 12px;
  background: var(--paper);
}

.auren-checkout-content input.input-text:focus,
.auren-checkout-content textarea:focus,
.auren-checkout-content select:focus {
  border-color: var(--brand-forest);
  box-shadow: 0 0 0 3px rgba(198, 242, 78, .34);
}

.auren-checkout-content .woocommerce-shipping-methods > li,
.auren-checkout-content .wc-block-components-radio-control-accordion-option {
  border-color: rgba(16, 61, 46, .2);
  background: var(--paper);
}

.auren-checkout-content .woocommerce-shipping-methods > li:has(input:checked),
.auren-checkout-content .wc-block-components-radio-control-accordion-option:has(input:checked) {
  border-color: var(--brand-forest);
  background: rgba(198, 242, 78, .18);
  box-shadow: inset 0 0 0 1px var(--brand-forest);
}

.auren-checkout-content #payment ul.payment_methods > li.auren-payment-option-card.is-single-payment,
.auren-checkout-content .wc-block-checkout__payment-method .is-fena-payment {
  border-color: rgba(16, 61, 46, .2);
  background: rgba(216, 208, 196, .3);
}

.auren-checkout-content #payment ul.payment_methods > li.auren-payment-option-card.is-single-payment::before {
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
}

.auren-checkout-content #place_order,
.auren-checkout-content .wc-block-components-checkout-place-order-button {
  min-height: 58px;
  border-radius: 999px !important;
  background: var(--brand-lime) !important;
  color: var(--brand-forest-dark) !important;
  font-weight: 760;
}

.auren-checkout-footer,
.site-footer {
  background: var(--brand-forest-dark);
  color: var(--brand-ivory);
}

.site-footer .footer-wordmark {
  color: var(--brand-ivory);
}

.site-footer a:hover,
.footer-payment strong,
.footer-payment b,
.footer-external {
  color: var(--brand-lime);
}

@media (max-width: 1080px) {
  .campaign-copy {
    width: 58%;
  }

  .auren-proof-band {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .auren-proof-band > .auren-home-metric {
    padding-right: clamp(18px, 3vw, 36px);
    padding-left: clamp(18px, 3vw, 36px);
  }
}

@media (max-width: 760px) {
  .announcement {
    min-height: 34px;
    padding-right: 16px;
    padding-left: 16px;
    letter-spacing: .09em;
  }

  .announcement a {
    display: none;
  }

  .site-header {
    height: 66px;
  }

  .wordmark-text {
    font-size: 29px;
  }

  .hero-campaign {
    height: 540px;
    min-height: 0;
  }

  .campaign-slide::before,
  .campaign-slide.campaign-copy-right::before {
    background: linear-gradient(180deg, rgba(11, 44, 33, .99) 0%, rgba(16, 61, 46, .97) 43%, rgba(16, 61, 46, .84) 57%, rgba(16, 61, 46, .34) 72%, rgba(16, 61, 46, .04) 88%);
  }

  .campaign-motion-frame {
    inset: 3% -1.5% -4%;
    transform: none;
  }

  .campaign-motion-frame .campaign-background {
    width: 103%;
    height: 103%;
    inset: -1.5%;
    object-position: 60% 54%;
    animation-duration: 19s;
  }

  .campaign-motion-frame::after {
    opacity: .3;
    animation-duration: 14s;
  }

  .campaign-copy,
  .campaign-copy-right .campaign-copy {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0 20px;
    position: absolute;
    top: calc(50% - 26px);
    right: 0;
    left: 0;
    justify-content: flex-start;
    transform: translateY(-50%);
  }

  .campaign-copy .eyebrow {
    margin-bottom: 10px;
  }

  .campaign-copy h1 {
    max-width: 520px;
    font-size: clamp(43px, 12.2vw, 54px);
    line-height: .94;
    letter-spacing: -.055em;
  }

  .campaign-intro {
    max-width: 430px;
    margin-top: 14px;
    color: rgba(247, 243, 236, .84);
    font-size: 14px;
    line-height: 1.46;
  }

  .hero-actions {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 13px;
  }

  .hero-actions .button {
    width: min(88%, 340px);
    min-height: 48px;
    padding-right: 18px;
    padding-left: 18px;
    font-size: 10px;
    letter-spacing: .09em;
  }

  .hero-actions .auren-hero-coa-button {
    width: min(66%, 250px);
  }

  .campaign-mark {
    display: none;
  }

  .auren-proof-band > .auren-home-metric {
    min-height: 108px;
    padding: 18px 12px;
    align-items: center;
    gap: 8px;
    text-align: center;
  }

  .auren-home-metrics {
    position: relative;
    z-index: 20;
    margin-top: -52px;
  }

  .auren-proof-band .auren-home-metric-value {
    font-size: clamp(34px, 10vw, 52px);
  }

  .auren-proof-band .auren-home-metric small {
    max-width: 14ch;
    font-size: 8px;
    letter-spacing: .11em;
  }

  .section {
    padding: 58px 20px 64px;
  }

  .shop-title {
    display: block;
  }

  .shop-title h2,
  .research-heading h2 {
    font-size: clamp(42px, 12vw, 54px);
  }

  .section-side-action {
    margin-top: 18px;
  }

  .featured-grid {
    margin-top: 30px;
  }

  .product-card-action {
    position: relative;
    margin: 0 10px 10px;
    padding-right: 46px;
    padding-left: 46px;
    display: flex;
    justify-content: center;
    text-align: center;
  }

  .product-card-action small {
    display: none;
  }

  .product-card-action > span:first-child {
    width: 100%;
    text-align: center;
  }

  .product-card-action-arrow {
    position: absolute;
    right: 20px;
  }

  .research-grid {
    grid-template-columns: 1fr;
    margin-top: 32px;
  }

  .research-card,
  .research-sage,
  .research-lilac,
  .research-sand,
  .research-blue {
    min-height: 160px;
  }

  .research-card:nth-child(3) {
    background: transparent;
  }

  .research-card:nth-child(even) {
    background: rgba(216, 208, 196, .42);
  }

  .research-card + .research-card {
    border-top: 1px solid var(--brand-forest);
  }

  .about-copy h2 {
    font-size: clamp(43px, 12vw, 54px);
  }

  .home-saving-band {
    padding: 54px 20px 60px;
    gap: 28px;
  }

  .home-saving-copy h2 {
    font-size: 40px;
  }

  .home-saving-options > div {
    min-height: 98px;
  }

  .standards {
    padding: 60px 20px 64px;
  }

  .standards-intro h2 {
    font-size: 42px;
  }

  .standards-list {
    margin-top: 38px;
  }

  .standards-list li {
    min-height: 108px;
  }

  .about-media {
    min-height: 400px;
  }

  .about-copy {
    padding: 58px 20px 64px;
  }

  .disclaimer {
    padding: 56px 20px;
  }

  .auren-support-hero h1,
  .auren-commerce-hero h1 {
    font-size: clamp(48px, 14vw, 68px);
  }

  .auren-checkout-intro h1 {
    font-size: 39px;
  }
}

@media (max-width: 480px) {
  .hero-campaign {
    height: 500px;
    min-height: 0;
  }

  .campaign-copy,
  .campaign-copy-right .campaign-copy {
    padding-right: 18px;
    padding-left: 18px;
  }

  .auren-proof-band > .auren-home-metric {
    min-height: 100px;
    padding: 16px 7px;
    display: flex;
    gap: 7px;
  }

  .auren-proof-band .auren-home-metric-value {
    font-size: clamp(31px, 9.5vw, 44px);
  }

  .auren-proof-band .auren-home-metric small {
    max-width: 13ch;
    font-size: 7px;
    letter-spacing: .09em;
  }

  .campaign-copy h1 {
    font-size: clamp(39px, 11.8vw, 47px);
  }

  .campaign-intro {
    margin-top: 13px;
    font-size: 13px;
  }

  .hero-actions {
    margin-top: 14px;
  }

  .hero-actions .button {
    width: min(88%, 340px);
  }

  .hero-actions .auren-hero-coa-button {
    width: min(66%, 250px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .campaign-motion-frame,
  .campaign-motion-frame::after,
  .campaign-motion-frame .campaign-background,
  .campaign-active .campaign-copy > * {
    animation: none !important;
    transition: none !important;
  }

  .campaign-motion-frame,
  .campaign-motion-frame .campaign-background {
    transform: none !important;
  }

  .campaign-active .campaign-copy > * {
    opacity: 1;
  }

  .product-card,
  .product-card *,
  .woocommerce ul.products li.product,
  .woocommerce ul.products li.product * {
    transition-duration: .01ms !important;
  }
}

/* 5.5 — accessibility, consistent labels and final interaction polish. */
.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 100000;
  padding: 12px 16px;
  border-radius: 999px;
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
  font-size: 13px;
  font-weight: 750;
  transform: translateY(-180%);
  transition: transform .18s ease;
}

.skip-link:focus { transform: translateY(0); }
.skip-target { display: block; width: 1px; height: 1px; overflow: hidden; }
.age-gate-copy h2 { margin: 0; font-family: var(--font-brand-sans), "Figtree", system-ui, sans-serif; font-size: clamp(48px, 8vw, 68px); font-weight: 500; line-height: .95; letter-spacing: -.06em; }
.cookie-settings-buttons { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 10px; }
.cookie-settings-intro { margin-bottom: 24px; color: var(--muted); line-height: 1.65; }
.cookie-settings-accept { border: 1px solid #103d2e !important; background: #103d2e !important; color: #f7f3ec !important; }
.cookie-settings-accept:hover,
.cookie-settings-accept:focus-visible { border-color: #0b2c21 !important; background: #0b2c21 !important; color: #f7f3ec !important; }
.cookie-settings-essential,
.cookie-settings-manage,
.cookie-settings-save { border: 1px solid #d8d0c4 !important; background: #d8d0c4 !important; color: #103d2e !important; }
.cookie-settings-essential:hover,
.cookie-settings-manage:hover,
.cookie-settings-save:hover,
.cookie-settings-essential:focus-visible,
.cookie-settings-manage:focus-visible,
.cookie-settings-save:focus-visible { border-color: #c5bbad !important; background: #c5bbad !important; color: #0b2c21 !important; }
.cookie-settings-details { margin-top: 24px; padding-top: 2px; border-bottom: 1px solid var(--line); }
.cookie-settings-details .cookie-settings-save { margin: 18px 0 22px; }
.cookie-setting-marketing { cursor: pointer; }
.auren-cookie-toggle { width: 48px; height: 27px; position: relative; flex: 0 0 auto; }
.auren-cookie-toggle input { width: 1px; height: 1px; position: absolute; opacity: 0; }
.auren-cookie-toggle > span[aria-hidden="true"] { position: absolute; inset: 0; border: 1px solid rgba(16,61,46,.34); border-radius: 999px; background: #e2ded5; transition: background .18s ease, border-color .18s ease; }
.auren-cookie-toggle > span[aria-hidden="true"]::after { content: ""; width: 19px; height: 19px; position: absolute; top: 3px; left: 3px; border-radius: 50%; background: #fffdf8; box-shadow: 0 2px 7px rgba(16,15,12,.2); transition: transform .18s ease; }
.auren-cookie-toggle input:checked + span { border-color: var(--brand-forest); background: var(--brand-forest); }
.auren-cookie-toggle input:checked + span::after { transform: translateX(21px); }
.auren-cookie-toggle input:focus-visible + span { outline: 3px solid var(--brand-lime); outline-offset: 3px; }
.cookie-settings-footnote { margin: 18px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.cookie-settings-footnote a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 760px) {
  .announcement > span:not(.announcement-status) { overflow: visible; text-overflow: clip; white-space: normal; text-align: center; }
  .hero-actions .button { font-size: 11px; }
  .auren-proof-band .auren-home-metric small { font-size: 10px; line-height: 1.45; }
  .cookie-settings-buttons { flex-direction: column; }
  .cookie-settings-buttons .button { width: 100%; }
  .age-gate-copy h2 { font-size: 51px; }
}

@media (max-width: 480px) {
  .auren-proof-band .auren-home-metric small { max-width: 14ch; font-size: 9px; letter-spacing: .075em; }
}

/* 5.6 — one visual language across every non-checkout storefront page. */
.policy-hero,
.about-page-hero,
.auren-support-hero,
.auren-commerce-hero {
  border-color: rgba(255,253,248,.15);
  background:
    radial-gradient(circle at 88% 12%, rgba(198,242,78,.14), transparent 27%),
    radial-gradient(circle at 3% 108%, rgba(255,253,248,.08), transparent 32%),
    linear-gradient(138deg, var(--brand-forest) 0%, var(--brand-forest-dark) 100%);
  color: var(--brand-ivory);
}

.policy-hero .eyebrow,
.about-page-hero .eyebrow,
.auren-support-hero .eyebrow,
.auren-commerce-hero .eyebrow {
  color: var(--brand-lime);
}

.policy-hero h1,
.about-page-copy h1,
.auren-support-hero h1,
.auren-commerce-hero h1 {
  color: var(--brand-ivory);
}

.about-page-copy h1 span {
  color: var(--brand-lime);
}

.policy-hero-summary p,
.about-page-copy > p:not(.eyebrow),
.auren-support-hero > p,
.auren-commerce-hero > div:first-child > p:last-child {
  color: rgba(255,253,248,.72);
}

.policy-hero-summary span {
  color: var(--brand-lime);
}

.about-page-copy .button-dark,
.auren-support-hero .button-dark,
.auren-commerce-hero .button-dark {
  border-color: var(--brand-lime);
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
}

.about-page-copy .button-dark:hover,
.auren-support-hero .button-dark:hover,
.auren-commerce-hero .button-dark:hover {
  border-color: var(--brand-ivory);
  background: transparent;
  color: var(--brand-ivory);
}

.auren-commerce-hero-aside {
  border-color: rgba(255,253,248,.28);
}

.auren-commerce-hero-aside > span {
  color: rgba(255,253,248,.63);
}

.auren-commerce-hero-aside > span strong {
  color: var(--brand-lime);
}

.auren-commerce-hero-aside > a {
  border-color: rgba(255,253,248,.5);
  color: var(--brand-ivory);
}

.auren-commerce-hero-aside > a:hover {
  border-color: var(--brand-lime);
  color: var(--brand-lime);
}

.policy-breadcrumbs,
.auren-support-breadcrumbs {
  border-color: rgba(16,61,46,.14);
  background: var(--brand-ivory);
  color: rgba(16,61,46,.62);
}

.policy-breadcrumbs strong,
.auren-support-breadcrumbs strong {
  color: var(--brand-forest-dark);
}

.policy-prelaunch {
  border-color: rgba(16,61,46,.16);
  background: rgba(216,208,196,.58);
}

.policy-layout,
.auren-support-section,
.auren-account-content,
.auren-basket-content,
.auren-search-page,
.auren-content-shell {
  background: var(--brand-ivory);
}

.policy-document h2,
.auren-section-heading h2,
.auren-support-intro h2,
.auren-account-section-heading h2,
.auren-account-overview-heading h2,
.auren-page-heading h1,
.auren-shop-heading h1 {
  color: var(--brand-forest-dark);
}

.policy-document blockquote {
  border-left-color: var(--brand-lime);
  background: rgba(216,208,196,.48);
}

.policy-table-wrap {
  border-color: rgba(16,61,46,.16);
  background: var(--auren-paper);
}

.policy-document th {
  background: var(--brand-forest);
  color: var(--brand-ivory);
}

.policy-other,
.policy-help,
.auren-batch-controls,
.auren-form-card {
  border-color: rgba(16,61,46,.16);
  background: rgba(216,208,196,.42);
  box-shadow: none;
}

.policy-help,
.auren-form-card {
  background: var(--auren-paper);
}

.policy-research-notice,
.about-cta,
.auren-support-callout {
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
}

.policy-research-notice > p:last-child,
.auren-support-callout > p {
  color: rgba(11,44,33,.76);
}

.about-cta .button-dark {
  border-color: var(--brand-forest-dark);
  background: var(--brand-forest-dark);
  color: var(--brand-ivory);
}

.about-cta .button-dark:hover {
  background: transparent;
  color: var(--brand-forest-dark);
}

.about-values article,
.about-values article:nth-child(2),
.about-values article:nth-child(3),
.about-values article:nth-child(4) {
  background: var(--brand-ivory);
}

.about-values article:nth-child(even) {
  background: rgba(216,208,196,.52);
}

.auren-process-grid {
  background: var(--brand-forest);
}

.auren-process-grid article,
.auren-process-grid article:nth-child(2),
.auren-process-grid article:nth-child(3),
.auren-process-grid article:nth-child(4) {
  background: var(--brand-ivory);
}

.auren-process-grid article:nth-child(even) {
  background: rgba(216,208,196,.58);
}

.auren-batch-table {
  border-color: rgba(16,61,46,.17);
  background: var(--auren-paper);
}

.auren-batch-row.auren-batch-head {
  background: var(--brand-forest);
  color: var(--brand-ivory);
}

.auren-batch-row:not(.auren-batch-head):nth-child(odd) {
  background: rgba(216,208,196,.24);
}

.auren-report-link {
  padding: 9px 12px;
  border-bottom: 0;
  border-radius: 999px;
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
}

.auren-faq[open] summary b,
.auren-account-content .woocommerce-MyAccount-navigation .is-active a,
.auren-account-content .woocommerce-MyAccount-navigation a:hover {
  background: var(--brand-forest);
  color: var(--brand-ivory);
}

.auren-form-card .button,
.auren-enquiry-form button,
.auren-no-results .button {
  border-color: var(--brand-lime) !important;
  border-radius: 999px !important;
  background: var(--brand-lime) !important;
  color: var(--brand-forest-dark) !important;
}

.auren-form-card .button:hover,
.auren-enquiry-form button:hover,
.auren-no-results .button:hover {
  border-color: var(--brand-forest) !important;
  background: var(--brand-forest) !important;
  color: var(--brand-ivory) !important;
}

.auren-saving-page {
  background: var(--brand-forest);
}

.auren-saving-tiers article:first-child {
  background: rgba(255,253,248,.055);
}

.auren-saving-tiers article:nth-child(2) {
  background: rgba(216,208,196,.18);
}

.auren-saving-tiers article:nth-child(3) {
  background: var(--brand-lime);
  color: var(--brand-forest-dark);
}

.auren-saving-tiers article:nth-child(3) span,
.auren-saving-tiers article:nth-child(3) p {
  color: rgba(11,44,33,.74);
}

.auren-search-page .auren-shop-heading,
.auren-content-shell > article > .auren-page-heading {
  margin: 0 0 clamp(36px, 5vw, 68px);
  padding: clamp(34px, 5vw, 64px);
  overflow: hidden;
  border-radius: 24px;
  background:
    radial-gradient(circle at 90% 12%, rgba(198,242,78,.14), transparent 28%),
    linear-gradient(138deg, var(--brand-forest), var(--brand-forest-dark));
}

.auren-search-page .auren-shop-heading .eyebrow,
.auren-content-shell > article > .auren-page-heading .eyebrow {
  color: var(--brand-lime);
}

.auren-search-page .auren-shop-heading h1,
.auren-content-shell > article > .auren-page-heading h1 {
  margin-bottom: 0;
  color: var(--brand-ivory);
}

.auren-entry-content,
.auren-no-results {
  border: 1px solid rgba(16,61,46,.14);
  border-radius: 18px;
  background: var(--auren-paper);
}

.auren-entry-content {
  padding: clamp(24px, 4vw, 48px);
}

.auren-no-results {
  padding: clamp(32px, 5vw, 62px);
}

@media (max-width: 760px) {
  .policy-hero,
  .auren-support-hero,
  .auren-commerce-hero {
    background:
      radial-gradient(circle at 92% 8%, rgba(198,242,78,.13), transparent 27%),
      linear-gradient(145deg, var(--brand-forest), var(--brand-forest-dark));
  }

  .about-page-hero {
    background: var(--brand-forest-dark);
  }

  .auren-commerce-hero-aside {
    border-color: rgba(255,253,248,.25);
  }

  .auren-search-page .auren-shop-heading,
  .auren-content-shell > article > .auren-page-heading {
    padding: 30px 20px;
    border-radius: 20px;
  }

  .auren-search-page .auren-shop-heading h1,
  .auren-content-shell > article > .auren-page-heading h1 {
    font-size: clamp(46px, 14vw, 64px);
  }

  .policy-other,
  .policy-help,
  .auren-form-card {
    border-radius: 14px;
  }
}
