/* ELNOIR Brand Edit — scoped to html.ee-page. Reuses site-final.css tokens/header/buttons.
   Type-scale tokens are overridden here only; site-final.css :root is untouched. */
html.ee-page,
html.ee-page body.page-elnoir {
  --ee-ivory: var(--color-bg);
  --ee-ivory-2: var(--color-bg-soft);
  --ee-paper: var(--color-paper);
  --ee-black: var(--color-text);
  --ee-ink: var(--color-body);
  --ee-muted: var(--color-muted);
  --ee-line: var(--color-line);
  --ee-gold: var(--color-gold);
  --ee-gold-deep: var(--color-gold-dark);
  --ee-gold-soft: #e8d7b0;
  --ee-gold-text: #8a6738;
  --ee-caption: #72644f;
  --ee-green: #3f534b;
  --ee-header-h: var(--header-height);
  --ee-sticky-h: 0px;
  --ee-serif: var(--font-title);
  --ee-sans: var(--font-body);
  --ee-en: var(--font-en);
  --content-width: clamp(1080px, 88vw, 1440px);
  --copy-max-width: 38em;
  --copy-max-width-wide: 40em;
  --ee-text-measure: 42rem;
  --text-body-size: 17px;
  --text-body: 17px;
  --text-body-min: 17px;
  --text-body-mobile: 16px;
  --text-label-size: 13px;
  --tracking-body: -0.01em;
  --tracking-heading: -0.02em;
  --leading-body: 1.8;
  scroll-behavior: smooth;
  scroll-padding-top: 0;
}

@media (max-width: 768px) {
  html.ee-page,
  html.ee-page body.page-elnoir {
    --text-body-size: 16px;
    --text-body: 16px;
    --text-body-min: 16px;
  }
}

html.ee-page,
html.ee-page *,
html.ee-page *::before,
html.ee-page *::after {
  box-sizing: border-box;
}

html.ee-page,
html.ee-page body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-body);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  font-weight: var(--fw-normal);
  line-height: var(--leading-body);
  letter-spacing: var(--tracking-body);
  overflow-x: clip;
  max-width: 100%;
  word-break: keep-all;
}

html.ee-page .wordmark-company,
html.ee-page .header-wordmark-company {
  font-size: 13px;
  letter-spacing: 0.16em;
}

html.ee-page .footer-operating__label,
html.ee-page .footer-heading,
html.ee-page .footer-column-label,
html.ee-page .footer-label,
html.ee-page .footer-bottom small {
  font-size: 13px;
}

html.ee-page body {
  padding-top: var(--header-height);
}

html.ee-page body.ee-sticky-on {
  --ee-sticky-h: 72px;
  padding-bottom: calc(var(--ee-sticky-h) + env(safe-area-inset-bottom, 0px));
}

html.ee-page img {
  max-width: 100%;
  height: auto;
  display: block;
}

html.ee-page a.btn--gold,
html.ee-page a.hero-action--primary {
  color: #fff;
}

html.ee-page a.btn--outline {
  color: var(--color-text);
}

html.ee-page .ee-section--dark a.btn--gold {
  color: #fff;
}

html.ee-page .ee-section--dark a.btn--outline {
  color: var(--color-bg);
  border-color: rgba(255, 255, 255, 0.35);
}

html.ee-page .ee-section--dark a.btn--outline:hover {
  border-color: var(--color-gold);
  color: var(--color-gold);
}

.ee-skip {
  position: absolute;
  left: -999px;
  top: 0;
  background: var(--color-text);
  color: var(--color-bg);
  padding: 10px 16px;
  z-index: 1000;
}

.ee-skip:focus {
  left: 12px;
  top: 12px;
}

.ee-wrap {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--content-width));
  margin-inline: auto;
}

html.ee-page .site-container {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--content-width));
}

/* Header: reuse .site-header / .header-wordmark from site-final.css */
html.ee-page .ee-header-identity {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-width: 0;
}

html.ee-page .ee-header-page {
  margin: 0;
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.2;
  color: var(--ee-gold-text);
}

html.ee-page .ee-breadcrumb {
  min-width: 0;
}

html.ee-page .ee-breadcrumb ol {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.2;
  white-space: nowrap;
}

html.ee-page .ee-breadcrumb li {
  display: flex;
  align-items: center;
}

html.ee-page .ee-breadcrumb a {
  color: var(--color-text-soft);
  text-decoration: none;
}

html.ee-page .ee-breadcrumb a:hover {
  color: var(--color-text);
}

html.ee-page .ee-breadcrumb a:focus,
html.ee-page .ee-breadcrumb a:focus-visible {
  outline: 2px solid var(--color-gold);
  outline-offset: 2px;
}

html.ee-page .ee-breadcrumb__sep {
  margin: 0 0.4em;
  color: rgba(93, 85, 76, 0.5);
  font-weight: 400;
}

html.ee-page .ee-breadcrumb__brand {
  display: inline-flex;
  align-items: center;
  padding: 6px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

html.ee-page .ee-breadcrumb__brand:hover,
html.ee-page .ee-breadcrumb__brand[aria-current="page"] {
  background: transparent;
  box-shadow: none;
  color: inherit;
}

html.ee-page .ee-breadcrumb__brand img {
  display: block;
  width: 76px;
  max-width: 76px;
  height: auto;
  aspect-ratio: 300 / 80;
  object-fit: contain;
  object-position: left center;
  flex-shrink: 0;
}

html.ee-page .ee-breadcrumb [aria-current="page"]:not(.ee-breadcrumb__brand) {
  color: var(--ee-gold-text);
  font-weight: 600;
}

html.ee-page .mobile-nav .header-wordmark--mobile {
  margin-bottom: 8px;
}

html.ee-page .mobile-nav .ee-header-page,
html.ee-page .mobile-nav .ee-breadcrumb {
  margin-bottom: 28px;
}

html.ee-page .site-header.is-scrolled {
  position: fixed;
}

html.ee-page .ee-nav-dropdown {
  display: inline-flex;
  align-items: stretch;
  position: relative;
}

html.ee-page .ee-nav-dropdown::after {
  height: 16px;
}

html.ee-page .primary-nav .ee-nav-dropdown__toggle {
  padding-right: 0;
}

html.ee-page .ee-nav-dropdown .nav-dropdown__menu {
  left: 0;
  right: auto;
  min-width: 168px;
  width: max-content;
  padding: 8px 0;
  background: #f8f5ef;
  border: 1px solid rgba(40, 35, 29, 0.12);
  box-shadow: 0 10px 28px rgba(40, 32, 24, 0.08);
  opacity: 0;
  visibility: hidden;
  transition: opacity 150ms ease, visibility 150ms ease;
}

html.ee-page .ee-nav-dropdown .nav-dropdown__menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 16px;
}

html.ee-page .ee-nav-dropdown.is-open .nav-dropdown__menu {
  opacity: 1;
  visibility: visible;
}

html.ee-page .ee-nav-dropdown .nav-submenu__link {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 12px 18px;
  font-size: 14px;
}

html.ee-page a.ee-nav-external {
  gap: 4px;
}

html.ee-page .ee-nav-external__icon {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  opacity: 0.55;
}

html.ee-page .ee-nav-external__icon svg {
  display: block;
  width: 10px;
  height: 10px;
}

html.ee-page .mobile-nav-list a.ee-nav-external {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

html.ee-page .mobile-accordion summary {
  transition: color 150ms ease;
}

html.ee-page .mobile-accordion summary::after {
  transition: transform 150ms ease, opacity 150ms ease;
}

html.ee-page .mobile-accordion.is-active > summary {
  color: var(--color-gold-dark);
}

html.ee-page #inner-beauty.ee-section--intro {
  padding-top: 40px;
  padding-bottom: 16px;
}

html.ee-page #inner-beauty.ee-section--intro .ee-copy {
  margin-bottom: 22px;
}

html.ee-page #inner-beauty.ee-section--intro .ee-title {
  font-size: clamp(28px, 3.2vw, 40px);
  margin-bottom: 14px;
}

html.ee-page .ee-inner-picker-kicker {
  margin: 0;
  color: var(--ee-gold-text);
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
}

html.ee-page .ee-inner-scope {
  position: relative;
}

html.ee-page .ee-inner-picker {
  position: sticky;
  top: var(--header-height);
  z-index: 40;
  height: 56px;
  display: flex;
  align-items: stretch;
  background: rgba(248, 245, 239, 0.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(41, 38, 33, 0.1);
}

html.ee-page .ee-inner-picker__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--content-width));
  margin-inline: auto;
  min-width: 0;
}

html.ee-page .ee-inner-picker__tab {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 6px 16px;
  color: inherit;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  background: transparent;
}

html.ee-page .ee-inner-picker__tab:hover {
  background: rgba(196, 162, 101, 0.08);
}

html.ee-page .ee-inner-picker__tab.is-active {
  background: rgba(196, 162, 101, 0.12);
  border-bottom-color: var(--ee-gold);
}

html.ee-page .ee-inner-picker__tab:focus-visible {
  outline: 2px solid var(--ee-gold);
  outline-offset: -2px;
}

html.ee-page .ee-inner-picker__name {
  color: var(--ee-black);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.3;
  word-break: keep-all;
}

html.ee-page .ee-inner-picker__desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  margin-top: 2px;
  color: var(--ee-muted);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.35;
  word-break: keep-all;
}

html.ee-page .ee-alias-anchor {
  display: block;
  height: 0;
  overflow: hidden;
  scroll-margin-top: calc(var(--header-height) + 56px + 8px);
}

html.ee-page #inner-glutathione,
html.ee-page #inner-nmn {
  padding-top: 36px;
  padding-bottom: 72px;
  scroll-margin-top: calc(var(--header-height) + 56px + 8px);
}

html.ee-page .ee-prod__media--glutathione,
html.ee-page .ee-prod__media--nmn,
html.ee-page .ee-prod__media--shampoo,
html.ee-page .ee-prod__media--kids {
  width: 100%;
  margin: 0;
  padding: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f7f3ec;
  border: 1px solid var(--ee-line);
}

html.ee-page .ee-prod__media--glutathione img,
html.ee-page .ee-prod__media--nmn img,
html.ee-page .ee-prod__media--shampoo img,
html.ee-page .ee-prod__media--kids img {
  display: block;
  width: 86%;
  height: 86%;
  margin: 0 auto;
  padding: 0;
  border: 0;
  aspect-ratio: auto;
  max-height: none;
  min-height: 0;
  object-fit: contain;
  object-position: center center;
  background: transparent;
  filter: drop-shadow(0 16px 22px rgba(41, 38, 33, 0.12));
}

html.ee-page #inner-beauty,
html.ee-page #routine-select,
html.ee-page #inner-glutathione,
html.ee-page #inner-nmn,
html.ee-page #glutathione,
html.ee-page #nmn,
html.ee-page #shampoo,
html.ee-page #kids,
html.ee-page #scalp-care,
html.ee-page #kids-nutrition,
html.ee-page #trust,
html.ee-page #cta-final,
html.ee-page #elnoir-column,
html.ee-page #elnoir-brand-story {
  scroll-margin-top: 90px;
}

html.ee-page #elnoir-column {
  scroll-margin-top: calc(var(--header-height) + 16px);
}

/* Hero — full-bleed lifestyle visual */
html.ee-page .elnoir-main-hero,
html.ee-page .elnoir-main-hero * {
  box-sizing: border-box;
}

html.ee-page .elnoir-main-hero {
  --ink: #211a12;
  --muted: #665d50;
  --gold: var(--color-gold, #a97c3b);
  --site-header-height: var(--header-height);
  --ee-hero-ivory: #f6eee3;
  --ee-hero-beige: #eadcc8;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
  height: min(740px, calc(100svh - var(--header-height)));
  max-height: 760px;
  min-height: 0;
  overflow: hidden;
  overflow-x: clip;
  isolation: isolate;
  max-width: 100%;
  color: var(--ink);
  background: var(--ee-hero-ivory);
  word-break: keep-all;
  overflow-wrap: normal;
  line-break: strict;
}

html.ee-page .elnoir-main-hero__copy {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-width: 0;
  background: var(--ee-hero-ivory);
}

html.ee-page .elnoir-main-hero__inner {
  width: 100%;
  min-width: 0;
  padding-block: clamp(32px, 4.5vw, 64px);
  padding-left: max(var(--page-gutter), calc((100vw - var(--content-width)) / 2));
  padding-right: clamp(24px, 3vw, 48px);
}

html.ee-page .elnoir-main-hero__content {
  max-width: 36em;
  width: 100%;
}

html.ee-page .elnoir-hero-visual {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: var(--ee-hero-ivory);
}

html.ee-page .elnoir-hero-visual__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  border: 0;
  outline: 0;
  box-shadow: none;
  background: transparent;
}

html.ee-page .elnoir-hero-visual::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: min(38%, 240px);
  background: linear-gradient(
    90deg,
    var(--ee-hero-ivory) 0%,
    rgba(246, 238, 227, 0.78) 32%,
    rgba(246, 238, 227, 0.28) 62%,
    rgba(246, 238, 227, 0) 100%
  );
  pointer-events: none;
  z-index: 1;
}

html.ee-page .elnoir-main-hero__brand,
html.ee-page .elnoir-main-hero__label,
html.ee-page .elnoir-main-hero__title,
html.ee-page .elnoir-main-hero__description,
html.ee-page .ee-hero-proof {
  max-width: none;
}

html.ee-page .elnoir-main-hero__brand {
  margin: 0 0 6px;
  color: var(--ee-gold-text);
  font-family: var(--font-title);
  font-size: clamp(16px, 1.5vw, 20px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.18em;
}

html.ee-page .elnoir-main-hero__label {
  margin: 0 0 16px;
  color: var(--ee-gold-text);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.14em;
}

html.ee-page .elnoir-main-hero__title {
  margin: 0;
  font-family: var(--font-title);
  font-size: clamp(26px, 2.8vw, 38px);
  font-weight: 500;
  line-height: 1.38;
  letter-spacing: -0.02em;
  word-break: keep-all;
  overflow-wrap: normal;
  line-break: strict;
}

html.ee-page .elnoir-main-hero__title-line {
  display: block;
}

html.ee-page .elnoir-main-hero__title-line--accent {
  color: #28463b;
}

html.ee-page .elnoir-main-hero__description {
  margin: 10px 0 0;
  color: var(--muted);
  font-family: var(--font-body);
  font-size: clamp(16px, 1.2vw, 18px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

html.ee-page .ee-hero-proof {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin: 10px 0 0;
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.45;
  word-break: keep-all;
}

html.ee-page .ee-hero-proof[hidden] {
  display: none;
}

html.ee-page .ee-hero-proof__star {
  display: block;
  flex: 0 0 auto;
  color: var(--gold);
}

html.ee-page .ee-hero-proof__sep {
  color: rgba(102, 93, 80, 0.55);
  font-weight: 400;
  margin-inline: 0.2em;
}

html.ee-page .ee-hero-proof__rating,
html.ee-page .ee-hero-proof__count {
  font-weight: 700;
  color: var(--ink);
}

html.ee-page .ee-hero-proof__text {
  font-weight: 500;
  color: rgba(33, 26, 18, 0.82);
}

html.ee-page .elnoir-main-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin-top: 20px;
  max-width: 100%;
}

html.ee-page .elnoir-main-hero__button {
  min-height: 46px;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border: 1px solid var(--ink);
  border-radius: 2px;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-decoration: none;
  word-break: keep-all;
  min-width: 0;
  transition: transform .2s ease, background-color .2s ease;
}

html.ee-page .elnoir-main-hero__button:hover {
  transform: translateY(-2px);
}

html.ee-page a.elnoir-main-hero__button--primary {
  background: var(--ink);
  color: #fff;
}

html.ee-page a.elnoir-main-hero__textlink {
  display: inline-flex;
  align-items: center;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.01em;
  text-decoration: underline;
  text-underline-offset: 3px;
}

html.ee-page a.elnoir-main-hero__textlink:hover {
  color: var(--gold);
  transform: none;
}

@media (max-width: 1023px) {
  html.ee-page .elnoir-main-hero {
    grid-template-columns: minmax(0, 1fr);
    height: auto;
    max-height: none;
    min-height: 0;
  }

  html.ee-page .elnoir-main-hero__copy {
    order: 1;
    align-items: flex-start;
  }

  html.ee-page .elnoir-hero-visual {
    order: 2;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
  }

  html.ee-page .elnoir-hero-visual__image {
    object-position: 58% 42%;
  }

  html.ee-page .elnoir-hero-visual::after {
    inset: 0 0 auto;
    width: 100%;
    height: 56px;
    background: linear-gradient(
      180deg,
      var(--ee-hero-ivory) 0%,
      rgba(246, 238, 227, 0) 100%
    );
  }

  html.ee-page .elnoir-main-hero__inner {
    padding: 22px var(--page-gutter) 20px;
  }

  html.ee-page .elnoir-main-hero__brand {
    font-size: clamp(15px, 4.2vw, 18px);
  }

  html.ee-page .elnoir-main-hero__title {
    font-size: clamp(20px, 5.5vw, 28px);
    line-height: 1.4;
  }

  html.ee-page .elnoir-main-hero__description {
    font-size: 16px;
    line-height: 1.7;
  }

  html.ee-page .elnoir-main-hero__actions {
    align-items: stretch;
    margin-top: 16px;
  }

  html.ee-page .elnoir-main-hero__button {
    width: 100%;
    min-height: 46px;
  }

  html.ee-page a.elnoir-main-hero__textlink {
    align-self: center;
    min-height: 40px;
  }

  html.ee-page .ee-hero-proof {
    font-size: 14px;
  }
}

@media (max-width: 560px) {
  html.ee-page .elnoir-main-hero__inner {
    padding: 18px var(--page-gutter) 16px;
  }

  html.ee-page .elnoir-main-hero__brand {
    font-size: 16px;
    margin-bottom: 6px;
  }

  html.ee-page .elnoir-main-hero__label {
    margin-bottom: 12px;
    font-size: 11px;
  }

  html.ee-page .elnoir-main-hero__title {
    font-size: clamp(20px, 5.6vw, 26px);
    line-height: 1.38;
  }

  html.ee-page .elnoir-main-hero__description {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.7;
  }

  html.ee-page .elnoir-main-hero__actions {
    margin-top: 16px;
  }

  html.ee-page .elnoir-main-hero__button {
    width: 100%;
    min-height: 48px;
  }

  html.ee-page a.elnoir-main-hero__textlink {
    width: auto;
    min-height: 44px;
    align-self: center;
  }

  html.ee-page .elnoir-hero-visual {
    aspect-ratio: 4 / 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.ee-page .elnoir-main-hero__button {
    transition: none;
  }
}

.ee-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
}

html.ee-page .btn,
html.ee-page .hero-action {
  font-size: 16px;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

html.ee-page .ee-cta .btn,
html.ee-page .ee-sticky .btn {
  word-break: keep-all;
  white-space: normal;
}

/* Brand story — WHY ELNOIR intro under the main visual */
html.ee-page #elnoir-brand-story {
  padding: 88px 0 56px;
  background: #faf7f1;
  border-top: 0;
}

html.ee-page .ee-brand-story__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  grid-template-areas:
    "media heading"
    "media copy";
  gap: 8px clamp(24px, 3.5vw, 48px);
  align-items: stretch;
}

html.ee-page .ee-brand-story__media {
  grid-area: media;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

html.ee-page .ee-brand-story__heading {
  grid-area: heading;
  min-width: 0;
  max-width: 42em;
}

html.ee-page .ee-brand-story__copy {
  grid-area: copy;
  min-width: 0;
  max-width: 42em;
}

html.ee-page .ee-brand-story__logo {
  display: block;
  width: auto;
  height: 36px;
  margin: 0 auto 16px;
  object-fit: contain;
  flex-shrink: 0;
}

html.ee-page .ee-brand-story__figure {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  box-shadow: none;
}

html.ee-page .ee-brand-story__figure img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center center;
  border: 0;
  box-shadow: none;
  background: transparent;
  filter: none;
}

html.ee-page .ee-brand-story__heading .ee-title,
html.ee-page .ee-brand-story__copy .ee-title {
  margin: 0 0 16px;
  font-size: clamp(28px, 2.6vw, 38px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.02em;
  word-break: keep-all;
  overflow-wrap: normal;
}

html.ee-page .ee-title-br-pc {
  display: none;
}

html.ee-page .ee-brand-story__title-line {
  display: inline;
}

@media (min-width: 1024px) {
  html.ee-page .ee-title-br-pc {
    display: inline;
  }

  html.ee-page .elnoir-main-hero__title-line {
    display: block;
    white-space: nowrap;
  }

  html.ee-page .ee-brand-story__title-line {
    display: block;
    white-space: nowrap;
  }
}

html.ee-page .ee-brand-story__body {
  display: block;
}

html.ee-page .ee-brand-story__body p {
  margin: 0;
  color: var(--color-copy);
  font-family: var(--font-body);
  font-size: clamp(15px, 1.1vw, 16px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

html.ee-page .ee-brand-story__body p + p {
  margin-top: 16px;
}

html.ee-page .ee-brand-story__lab {
  margin: 26px 0 14px;
}

html.ee-page .ee-brand-story__body p.ee-brand-story__close {
  color: #2f2a24;
  font-weight: 500;
}

html.ee-page .ee-brand-story__slogan {
  margin: 18px 0 0;
  color: var(--ee-gold-text);
  font-family: var(--font-title);
  font-size: clamp(16px, 1.3vw, 18px);
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media (max-width: 900px) {
  html.ee-page #elnoir-brand-story {
    padding: 48px 0 36px;
  }

  html.ee-page .ee-brand-story__grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "heading"
      "media"
      "copy";
    gap: 16px;
    align-items: start;
  }

  html.ee-page .ee-brand-story__logo {
    display: none;
  }

  html.ee-page .ee-brand-story__heading,
  html.ee-page .ee-brand-story__copy {
    max-width: none;
  }

  html.ee-page .ee-brand-story__figure {
    flex: none;
  }

  html.ee-page .ee-brand-story__figure img {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
    max-height: none;
    object-fit: cover;
    object-position: center center;
  }

  html.ee-page .ee-brand-story__heading .ee-title {
    font-size: clamp(24px, 6.4vw, 30px);
    line-height: 1.38;
    margin-bottom: 0;
  }

  html.ee-page .ee-brand-story__title-line {
    display: block;
    white-space: normal;
  }

  html.ee-page .ee-brand-story__body p {
    font-size: 15px;
    line-height: 1.75;
  }

  html.ee-page .ee-brand-story__body p + p {
    margin-top: 14px;
  }

  html.ee-page .ee-brand-story__lab {
    margin: 24px 0 12px;
  }

  html.ee-page .ee-brand-story__slogan {
    margin: 16px 0 0;
    font-size: 16px;
  }
}

/* Sections */
html.ee-page .ee-section {
  padding: 100px 0;
}

.ee-section--dark {
  background: var(--color-dark);
  color: var(--color-bg);
}

.ee-section--paper {
  background: var(--color-paper);
}

.ee-label {
  margin: 0 0 var(--space-label-title);
  color: var(--ee-gold-text);
  font-family: var(--font-en);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  word-break: keep-all;
}

.ee-section--dark .ee-label {
  color: var(--ee-gold);
}

.ee-title {
  margin: 0 0 18px;
  font-family: var(--font-title);
  font-size: clamp(28px, 2.6vw, 38px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: var(--color-text);
  word-break: keep-all;
}

.ee-section--dark .ee-title {
  color: var(--color-bg);
}

.ee-copy {
  margin: 0 0 32px;
  max-width: 36em;
  color: var(--color-copy);
  font-family: var(--font-body);
  font-size: clamp(17px, 1.3vw, 19px);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

.ee-section--dark .ee-copy {
  color: rgba(247, 243, 236, 0.78);
}

html.ee-page #routine-select {
  padding-top: 64px;
  padding-bottom: 56px;
}

html.ee-page #routine-select .ee-title {
  max-width: 18em;
}

html.ee-page #routine-select .ee-sol__lead {
  max-width: 32em;
  margin-bottom: 22px;
}

/* Routine solution cards — concern chooser with lifestyle stills */
.ee-sol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
  min-width: 0;
}

.ee-sol-card {
  --ee-sol-accent: var(--ee-gold-text);
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background: #fffdf8;
  border: 1px solid rgba(41, 38, 33, 0.14);
  border-radius: 4px;
  box-shadow: none;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.ee-sol-card--glutathione { --ee-sol-accent: #8a6738; }
.ee-sol-card--nmn { --ee-sol-accent: #7a5a36; }
.ee-sol-card--shampoo { --ee-sol-accent: #5b675c; }
.ee-sol-card--kids { --ee-sol-accent: #8a5e4a; }

.ee-sol-card__visual {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #ede8df;
  border-radius: 3px 3px 0 0;
}

.ee-sol-card__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  box-shadow: none;
  transform: scale(1);
  transition: transform 0.35s ease;
}

.ee-sol-card--glutathione .ee-sol-card__visual img { object-position: 42% 32%; }
.ee-sol-card--nmn .ee-sol-card__visual img { object-position: 52% 38%; }
.ee-sol-card--shampoo .ee-sol-card__visual img { object-position: 58% 40%; }
.ee-sol-card--kids .ee-sol-card__visual img { object-position: 46% 58%; }

.ee-sol-card:hover {
  background: #fff9f0;
  border-color: rgba(138, 103, 56, 0.48);
}

.ee-sol-card:hover .ee-sol-card__visual img {
  transform: scale(1.02);
}

.ee-sol-card:focus-visible {
  outline: 2px solid var(--ee-gold);
  outline-offset: 3px;
}

.ee-sol-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
  padding: 14px 16px 14px;
}

.ee-sol-card__label {
  margin: 0 0 8px;
  color: var(--ee-sol-accent);
  font-family: var(--font-en);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.3;
}

.ee-sol-card__worry {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -0.01em;
  color: var(--ee-gold-text);
  word-break: keep-all;
}

.ee-sol-card h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin: 0 0 8px;
  font-family: var(--font-title);
  font-size: clamp(17px, 1.15vw, 20px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: var(--ee-black);
  word-break: keep-all;
}

.ee-sol-card__desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.01em;
  color: var(--ee-muted);
  word-break: keep-all;
}

.ee-sol-card__cta {
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  padding: 0;
  color: var(--ee-sol-accent);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.4;
  word-break: keep-all;
}

.ee-sol-card:hover .ee-sol-card__cta {
  color: var(--ee-gold-deep);
}

@media (max-width: 1099px) {
  .ee-sol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
}

@media (max-width: 768px) {
  html.ee-page #routine-select {
    padding-top: 44px;
    padding-bottom: 40px;
  }

  .ee-sol {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    overflow: visible;
    margin-right: 0;
    padding-right: 0;
    scroll-snap-type: none;
  }

  .ee-sol-card {
    flex: none;
    width: 100%;
    max-width: none;
    scroll-snap-align: none;
  }

  .ee-sol-card__body {
    padding: 14px 14px 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ee-sol-card,
  .ee-sol-card:hover,
  .ee-sol-card__visual img,
  .ee-sol-card:hover .ee-sol-card__visual img {
    transition: none;
    transform: none;
  }
}

/* Inner beauty duo cards */
.ee-duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  max-width: none;
}

html.ee-page a.ee-duo-card {
  display: grid;
  grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
  min-width: 0;
  min-height: 100%;
  align-items: stretch;
  overflow: hidden;
  background: #fffdf8;
  border: 1px solid var(--ee-line);
  color: inherit;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease;
}

html.ee-page a.ee-duo-card:hover {
  transform: translateY(-4px);
  border-color: var(--ee-gold);
}

.ee-duo-card__media {
  min-width: 0;
  background: var(--ee-ivory-2);
}

.ee-duo-card__media img {
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: contain;
  object-position: center;
  background: #fffdf8;
}

.ee-duo-card__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 22px 22px 20px;
}

.ee-duo-card__hook {
  margin: 0 0 10px;
  color: var(--ee-gold-text);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

.ee-duo-card__name {
  margin: 0;
  font-family: var(--font-title);
  font-size: clamp(20px, 1.5vw, 23px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--ee-black);
  word-break: keep-all;
}

.ee-duo-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 14px 0 18px;
  padding: 0;
  list-style: none;
}

.ee-duo-card__chips li {
  padding: 6px 10px;
  border: 1px solid var(--ee-line);
  background: rgba(247, 243, 236, 0.8);
  color: var(--ee-ink);
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

.ee-duo-card__btn {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--ee-gold-deep);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

/* Product blocks — shared ELNOIR product detail system */
.ee-prod {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.ee-prod--flip {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.ee-prod--flip .ee-prod__media {
  order: 2;
}

.ee-prod__media {
  margin: 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f7f3ec;
  border: 1px solid var(--ee-line);
  box-sizing: border-box;
}

.ee-prod__media img {
  display: block;
  width: 86%;
  height: 86%;
  max-width: 100%;
  max-height: 100%;
  margin: 0 auto;
  object-fit: contain;
  object-position: center center;
  background: transparent;
  filter: drop-shadow(0 16px 22px rgba(41, 38, 33, 0.12));
}

.ee-prod__media.is-img-fallback::before,
.ee-sol-card__visual.is-img-fallback::before,
.ee-column-card__media.is-img-fallback::before {
  content: "ELNOIR";
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(138, 103, 56, 0.45);
  font-family: var(--font-en);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.18em;
  background: #f7f3ec;
  pointer-events: none;
}

.ee-prod__media.is-img-fallback img,
.ee-sol-card__visual.is-img-fallback img,
.ee-column-card__media.is-img-fallback img {
  opacity: 0;
}

.ee-prod__copy .ee-title {
  margin-bottom: 18px;
  font-size: clamp(24px, 2.15vw, 30px);
}

html.ee-page .ee-line-badge {
  display: inline-block;
  margin: 0 0 10px;
  padding: 3px 8px 2px;
  border: 1px solid rgba(196, 162, 101, 0.45);
  color: var(--ee-gold-text);
  font-family: var(--font-en);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.3;
}

html.ee-page .ee-br-mobile {
  display: inline;
}

html.ee-page .ee-prod__highlight {
  margin: 10px 0 22px;
  color: var(--ee-gold-deep);
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

html.ee-page .ee-prod__caption {
  margin: 12px 0 0;
  padding: 0 14px;
}

html.ee-page .ee-prod__caption strong {
  display: block;
  color: var(--ee-gold-deep);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

html.ee-page .ee-prod__caption span {
  display: block;
  margin-top: 4px;
  color: var(--ee-caption);
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0;
  word-break: keep-all;
}

.ee-prod__lead {
  margin: 0 0 22px;
  color: var(--ee-muted);
  font-family: var(--font-body);
  font-weight: 400;
  max-width: 38em;
  font-size: clamp(17px, 1.3vw, 19px);
  line-height: 1.8;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

.ee-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 12px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.ee-stats li {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  min-height: 112px;
  padding: 16px 14px;
  border: 1px solid var(--ee-line);
  background: var(--ee-paper);
  box-sizing: border-box;
}

.ee-stats strong {
  display: block;
  font-family: var(--ee-serif);
  font-size: 26px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--ee-gold-deep);
  margin-bottom: 4px;
  word-break: keep-all;
}

.ee-stats span {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: var(--ee-ink);
  word-break: keep-all;
}

.ee-trust-facts {
  margin: 0 0 8px;
  padding: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: -0.01em;
  color: var(--ee-caption);
  word-break: keep-all;
}

.ee-stats + .ee-trust-facts {
  margin-top: -16px;
}

.ee-trust-facts + .ee-recommend {
  margin-top: 20px;
}

.ee-recommend {
  margin: 0 0 22px;
}

.ee-recommend h3 {
  margin: 0 0 10px;
  font-size: clamp(20px, 1.5vw, 23px);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ee-black);
}

.ee-recommend ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ee-recommend li {
  position: relative;
  padding: 8px 0 8px 16px;
  font-weight: 400;
  color: var(--ee-ink);
  word-break: keep-all;
  border-bottom: 1px solid rgba(196, 162, 101, 0.2);
}

.ee-recommend li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 16px;
  width: 6px;
  height: 6px;
  background: var(--ee-gold);
}

.ee-legal {
  margin: 12px 0 0;
  padding: 0;
  border: 0;
  background: none;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-text-soft);
  word-break: keep-all;
}

.ee-cta {
  margin: 28px 0 0;
}

html.ee-page .ee-buy {
  position: relative;
  display: inline-block;
  max-width: 100%;
}

html.ee-page .ee-buy__summary {
  list-style: none;
  cursor: pointer;
}

html.ee-page .ee-buy__summary::-webkit-details-marker {
  display: none;
}

html.ee-page .ee-buy__panel {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding: 12px;
  min-width: min(280px, 100%);
  border: 1px solid var(--ee-line);
  background: #fff;
  box-shadow: 0 12px 28px rgba(41, 38, 33, 0.08);
}

html.ee-page .ee-buy__link {
  display: block;
  padding: 12px 14px;
  border: 1px solid var(--ee-line);
  color: var(--ee-ink);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.01em;
  transition: background 0.2s ease, border-color 0.2s ease;
}

html.ee-page .ee-buy__link:hover,
html.ee-page .ee-buy__link:focus-visible {
  background: #f7f3ec;
  border-color: rgba(166, 139, 94, 0.45);
}

html.ee-page .ee-picks--compact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

html.ee-page .ee-picks--compact .ee-pick {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 16px;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.02em;
}

@media (min-width: 900px) {
  html.ee-page .ee-picks--compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

html.ee-page .ee-buy-spec {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  margin: 0 0 14px;
  color: var(--ee-caption);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

html.ee-page .ee-buy-spec__sep {
  margin: 0 0.6em;
  color: rgba(114, 100, 79, 0.4);
}

.ee-cta__lead {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 500;
  color: var(--ee-muted);
  word-break: keep-all;
}

.ee-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
}

html.ee-page .ee-prod__copy .ee-cta .btn {
  width: auto;
  max-width: 100%;
  min-height: 52px;
  padding: 14px 24px;
  line-height: 1.35;
}

.ee-reviews {
  margin: 8px 0 0;
}

.ee-reviews__title {
  margin: 0 0 12px;
  font-size: clamp(20px, 1.5vw, 23px);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ee-black);
}

.ee-reviews__list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.ee-reviews__list--wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ee-reviews__list--pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ee-review {
  padding: 14px 16px;
  border: 1px solid var(--ee-line);
  background: rgba(255, 255, 255, 0.42);
}

.ee-review__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 6px;
}

.ee-review__stars {
  display: inline-flex;
  gap: 2px;
  color: var(--ee-gold);
}

.ee-review__product {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ee-gold-text);
}

.ee-review__meta {
  margin: 0 0 8px;
  font-size: 13px;
  color: var(--ee-caption);
}

.ee-reviews__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin: 0;
  font-size: var(--text-body-size);
  font-weight: 600;
  letter-spacing: var(--tracking-body);
  line-height: 1.5;
  color: var(--ee-black);
  text-decoration: none;
  word-break: keep-all;
}

a.ee-reviews__summary:hover,
a.ee-reviews__summary:focus-visible {
  color: var(--ee-gold-deep);
}

.ee-reviews__summary-star {
  color: var(--ee-gold);
  flex: 0 0 auto;
}

.ee-reviews__summary-sep {
  color: rgba(102, 93, 80, 0.45);
  font-weight: 400;
}

.ee-reviews__source {
  font-weight: 600;
  font-size: inherit;
  color: inherit;
}

.ee-review__badge {
  margin-left: auto;
  padding: 2px 6px;
  border: 1px solid rgba(180, 135, 73, 0.35);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--ee-gold-deep);
}

.ee-review__body {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: var(--ee-ink);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ee-reviews__more-link {
  display: inline-block;
  margin-top: 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ee-gold-deep);
  text-decoration: none;
}

.ee-reviews__more-link:hover {
  color: var(--ee-gold);
}

.ee-review.is-open .ee-review__body {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}

.ee-review__more {
  margin-top: 8px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ee-gold-deep);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.ee-reviews__legal {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--ee-caption);
  word-break: keep-all;
}

html.ee-page .ee-cta__variance {
  margin: 10px 0 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: var(--tracking-body);
  color: var(--color-text-soft);
  word-break: keep-all;
  white-space: pre-line;
}

html.ee-page #reviews {
  scroll-margin-top: 90px;
}

.ee-cta__note {
  margin: 8px 0 0;
  font-size: 13px;
  font-weight: 400;
  color: var(--ee-caption);
}

.ee-cta__note--light {
  margin: 10px 0 18px;
  color: rgba(246, 241, 231, 0.7);
}

.ee-more {
  margin: 0 0 22px;
  border-top: 1px solid var(--ee-line);
  border-bottom: 1px solid var(--ee-line);
}

.ee-more summary {
  list-style: none;
  cursor: pointer;
  padding: 14px 0;
  font-size: 15px;
  font-weight: 500;
  color: var(--ee-ink);
}

.ee-more summary::-webkit-details-marker {
  display: none;
}

.ee-more summary::after {
  content: "+";
  float: right;
  color: var(--ee-gold-deep);
  font-weight: 400;
}

.ee-more[open] summary::after {
  content: "–";
}

.ee-more p {
  margin: 0 0 14px;
  color: var(--ee-muted);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

.ee-trust {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0;
}

.ee-trust li {
  padding: 16px 0;
  border-top: 1px solid var(--ee-line);
  font-weight: 400;
  word-break: keep-all;
}

.ee-trust li:last-child {
  border-bottom: 1px solid var(--ee-line);
}

.ee-final {
  margin-inline: auto;
  text-align: center;
  max-width: 1080px;
}

html.ee-page .ee-final .ee-copy {
  margin-inline: auto;
  max-width: 28em;
}

html.ee-page .ee-final .ee-title {
  margin-bottom: 14px;
}

html.ee-page .ee-picks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 8px auto 0;
  max-width: 1040px;
  align-items: stretch;
}

html.ee-page a.ee-pick {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 28px 26px 26px;
  justify-self: stretch;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  text-align: left;
  text-decoration: none;
  transform: none;
  transition: background-color 0.2s ease;
}

html.ee-page a.ee-pick + a.ee-pick {
  border-left: 1px solid rgba(232, 215, 176, 0.14);
}

html.ee-page a.ee-pick:hover,
html.ee-page a.ee-pick:focus-visible {
  background: rgba(247, 243, 236, 0.045);
  transform: none;
  box-shadow: none;
}

html.ee-page a.ee-pick:focus-visible {
  outline: 1px solid rgba(196, 162, 101, 0.55);
  outline-offset: -1px;
}

html.ee-page .ee-pick__head {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 28px;
  margin: 0 0 22px;
}

html.ee-page .ee-pick__index {
  flex: 0 0 auto;
  color: rgba(216, 186, 132, 0.34);
  font-family: var(--font-en);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1;
}

html.ee-page .ee-pick__rule {
  display: block;
  flex: 1 1 auto;
  height: 1px;
  min-width: 16px;
  background: rgba(216, 186, 132, 0.28);
}

html.ee-page .ee-pick__cat {
  flex: 0 0 auto;
  color: var(--ee-gold);
  font-family: var(--font-en);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.2;
  white-space: nowrap;
}

html.ee-page .ee-pick__name {
  display: block;
  min-height: 2.7em;
  margin: 0 0 10px;
  color: #f7f3ec;
  font-family: var(--font-body);
  font-size: clamp(17px, 1.15vw, 19px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.02em;
  word-break: keep-all;
}

html.ee-page .ee-pick__lead {
  display: block;
  min-height: 3em;
  margin: 0 0 16px;
  color: rgba(232, 215, 176, 0.78);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

html.ee-page .ee-pick__rating {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0 0 18px;
  color: rgba(247, 243, 236, 0.52);
  font-size: 11px;
  letter-spacing: -0.01em;
  line-height: 1.3;
}

html.ee-page .ee-pick__star {
  width: 11px;
  height: 11px;
  color: var(--ee-gold);
  flex-shrink: 0;
}

html.ee-page .ee-pick__cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: auto;
  padding: 0;
  color: var(--ee-gold);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.4;
  word-break: keep-all;
}

html.ee-page .ee-pick__arrow {
  display: inline-block;
  transition: transform 0.2s ease;
}

html.ee-page a.ee-pick:hover .ee-pick__arrow,
html.ee-page a.ee-pick:focus-visible .ee-pick__arrow {
  transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
  html.ee-page a.ee-pick,
  html.ee-page .ee-pick__arrow {
    transition: none;
  }

  html.ee-page a.ee-pick:hover .ee-pick__arrow,
  html.ee-page a.ee-pick:focus-visible .ee-pick__arrow {
    transform: none;
  }
}

.ee-columns__lead {
  max-width: 34em;
  margin-bottom: 28px;
}

.ee-columns {
  display: grid;
  gap: 16px;
  margin-top: 8px;
}

.ee-columns[data-count="1"] {
  grid-template-columns: minmax(0, 36em);
}

.ee-columns[data-count="2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 52em;
}

.ee-columns[data-count="3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ee-columns[data-count="4"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 920px;
}

html.ee-page a.ee-column-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: var(--ee-paper);
  color: var(--ee-black);
  text-decoration: none;
  box-shadow: none;
  transition: opacity 0.2s ease;
}

html.ee-page a.ee-column-card:hover,
html.ee-page a.ee-column-card:focus-visible {
  opacity: 0.92;
  box-shadow: none;
}

.ee-column-card__media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #efe6d6;
}

.ee-column-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ee-column-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 8px;
  padding: 16px 2px 6px;
}

.ee-column-card__meta {
  margin: 0;
  color: var(--ee-gold-text);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  word-break: keep-all;
}

.ee-column-card__title {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.01em;
  word-break: keep-all;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 0;
}

.ee-column-card__sub {
  margin: 0;
  color: var(--ee-gold-text);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

.ee-column-card__hook-badge {
  margin: 0;
  color: var(--ee-gold-deep);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -0.02em;
  word-break: keep-all;
}

.ee-column-card__summary {
  margin: 0;
  color: var(--ee-muted);
  font-size: 14px;
  line-height: 1.55;
  word-break: keep-all;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 0;
}

.ee-column-card__meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 12px;
  margin-top: auto;
  padding-top: 4px;
}

.ee-column-card__foot {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 8px;
}

.ee-column-card__time,
.ee-column-card__source {
  margin: 0;
  color: var(--ee-caption);
  font-size: 13px;
  line-height: 1.4;
  word-break: keep-all;
}

.ee-column-card__cta {
  color: var(--ee-gold-text);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.ee-column-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 2px 0 0;
}

.ee-column-card__badges span {
  display: inline-block;
  padding: 3px 8px;
  border: 1px solid var(--ee-line);
  border-radius: 999px;
  color: var(--ee-caption);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

html.ee-page.ee-column-page {
  --ee-crumb-h: 36px;
}

html.ee-page.ee-column-page body {
  padding-top: calc(var(--header-height) + var(--ee-crumb-h));
}

html.ee-page.ee-column-page .site-header,
html.ee-page.ee-column-page .site-header.is-scrolled {
  height: calc(var(--header-height) + var(--ee-crumb-h));
}

html.ee-page.ee-column-page .header-inner {
  height: var(--header-height);
}

html.ee-page.ee-column-page .ee-column-crumb {
  border-top: 1px solid rgba(40, 35, 29, 0.08);
  padding: 0 var(--page-gutter);
}

html.ee-page.ee-column-page .ee-column-crumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0 auto;
  padding: 0;
  width: min(calc(100% - 0px), var(--content-width));
  height: var(--ee-crumb-h);
  list-style: none;
  font-size: 12px;
  color: var(--ee-caption);
}

html.ee-page.ee-column-page .ee-column-crumb li {
  display: flex;
  align-items: center;
}

html.ee-page.ee-column-page .ee-column-crumb li + li::before {
  content: ">";
  margin: 0 8px;
  color: rgba(40, 35, 29, 0.35);
}

html.ee-page.ee-column-page .ee-column-crumb a {
  color: var(--ee-caption);
  text-decoration: none;
}

html.ee-page.ee-column-page .ee-column-crumb a:hover {
  color: var(--ee-black);
}

html.ee-page.ee-column-page .ee-column-crumb [aria-current="page"] {
  color: var(--ee-black);
}

html.ee-page.ee-column-page .ee-column-shell {
  width: min(calc(100% - (var(--page-gutter) * 2)), 760px);
  margin: 0 auto;
  padding: 48px 0 96px;
}

html.ee-page.ee-column-page .ee-column-article__dek {
  margin: 14px 0 0;
  max-width: 38em;
  color: var(--ee-ink);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-article__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 0;
  margin: 12px 0 0;
  color: var(--ee-muted);
  font-size: 13px;
  line-height: 1.6;
}

html.ee-page.ee-column-page .ee-column-article__meta span + span::before {
  content: "·";
  margin: 0 8px;
  color: rgba(93, 85, 76, 0.45);
}

html.ee-page.ee-column-page .ee-column-article__body {
  margin-top: 8px;
  max-width: 740px;
  font-size: 17px;
  line-height: 1.8;
}

html.ee-page.ee-column-page .ee-column-article__body p {
  margin: 0 0 1.15em;
}

html.ee-page.ee-column-page .ee-column-article__body h2 {
  margin: 2em 0 0.7em;
  font-family: var(--font-body);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.02em;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-article__body ul {
  margin: 0 0 1.15em;
  padding: 0 0 0 1.15em;
}

html.ee-page.ee-column-page .ee-column-article__body li {
  margin: 0 0 0.45em;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-check {
  margin: 2em 0 1.4em;
  padding: 20px 20px 16px;
  border: 1px solid var(--ee-line);
  background: var(--ee-ivory-2);
}

html.ee-page.ee-column-page .ee-column-check h2 {
  margin: 0 0 12px;
  font-size: 18px;
}

html.ee-page.ee-column-page .ee-column-check ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

html.ee-page.ee-column-page .ee-column-check li {
  position: relative;
  margin: 0 0 8px;
  padding-left: 1.6em;
  line-height: 1.55;
}

html.ee-page.ee-column-page .ee-column-check li::before {
  content: "□";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--ee-gold-text);
  font-size: 15px;
}

html.ee-page.ee-column-page .ee-column-balance {
  margin: 0 0 1.4em;
  padding: 14px 16px;
  border-left: 3px solid var(--ee-gold);
  background: var(--ee-paper);
  color: var(--ee-ink);
  font-size: 16px;
  line-height: 1.7;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-sources {
  margin: 40px 0 0;
  padding-top: 24px;
  border-top: 1px solid var(--ee-line);
  font-size: 13px;
}

html.ee-page.ee-column-page .ee-column-sources h2 {
  margin: 0 0 14px;
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

html.ee-page.ee-column-page .ee-column-sources ol {
  margin: 0;
  padding: 0 0 0 1.2em;
}

html.ee-page.ee-column-page .ee-column-sources li {
  margin: 0 0 14px;
  color: var(--ee-ink);
  font-size: 14px;
  line-height: 1.6;
  word-break: keep-all;
  scroll-margin-top: calc(var(--header-height) + var(--ee-crumb-h, 36px) + 12px);
}

html.ee-page.ee-column-page .ee-column-sources cite {
  display: block;
  font-style: normal;
  font-weight: 600;
}

html.ee-page.ee-column-page .ee-column-sources a {
  display: block;
  margin-top: 2px;
  color: var(--ee-gold-text);
  word-break: break-all;
}

html.ee-page.ee-column-page .ee-column-sources__meta {
  display: block;
  margin-top: 2px;
  color: var(--ee-muted);
  font-size: 13px;
}

html.ee-page.ee-column-page .ee-column-sources__note {
  margin: 14px 0 0;
  color: var(--ee-caption);
  font-size: 13px;
  line-height: 1.65;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-facts {
  margin: 0 0 1.2em;
  padding: 14px 16px 10px;
  border: 1px solid var(--ee-line);
  background: var(--ee-ivory-2);
  list-style: none;
}

html.ee-page.ee-column-page .ee-column-facts li {
  margin: 0 0 8px;
  padding: 0;
  color: var(--ee-ink);
  font-size: 15px;
  line-height: 1.55;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-product-note {
  margin: 16px 0 0;
  color: var(--ee-caption);
  font-size: 12px;
  line-height: 1.7;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-criteria {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

html.ee-page.ee-column-page .ee-column-criteria li {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 14px 14px 12px;
  border: 1px solid var(--ee-line);
  background: var(--ee-ivory);
}

html.ee-page.ee-column-page .ee-column-criteria strong {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-criteria span {
  color: var(--ee-muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-related .btn {
  width: 100%;
  min-height: 48px;
}

html.ee-page.ee-column-page .ee-fn {
  font-size: 0.72em;
  font-weight: 600;
  line-height: 1;
}

html.ee-page.ee-column-page .ee-fn a {
  color: var(--ee-gold-text);
  text-decoration: none;
}

html.ee-page.ee-column-page .ee-column-badge {
  display: inline-block;
  margin: 0 0 8px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
}

html.ee-page.ee-column-page .ee-column-badge--research {
  background: rgba(92, 67, 40, 0.08);
  color: var(--ee-gold-text);
}

html.ee-page.ee-column-page .ee-column-badge--product {
  background: rgba(92, 67, 40, 0.08);
  color: var(--ee-gold-text);
}

html.ee-page.ee-column-page .ee-gsh-hero {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 8px;
}

html.ee-page.ee-column-page .ee-gsh-hero span {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 10px 14px;
  border: 1px solid var(--ee-line);
  background: var(--ee-paper);
  font-size: 14px;
  line-height: 1.3;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-gsh-hero strong {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

html.ee-page.ee-column-page .ee-gsh-pair {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 8px 0 1.3em;
}

html.ee-page.ee-column-page .ee-gsh-pair__node {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 128px;
  height: 128px;
  border: 1.5px solid var(--ee-gold-deep);
  border-radius: 50%;
  background: var(--ee-ivory);
  text-align: center;
}

html.ee-page.ee-column-page .ee-gsh-pair__node strong {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
}

html.ee-page.ee-column-page .ee-gsh-pair__node span {
  margin-top: 4px;
  color: var(--ee-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
}

html.ee-page.ee-column-page .ee-gsh-pair__link {
  width: 40px;
  height: 2px;
  flex-shrink: 0;
  background: var(--ee-gold);
}

html.ee-page.ee-column-page .ee-column-callout {
  margin: 0 0 1.3em;
  padding: 16px 16px 12px;
  border: 1px solid var(--ee-line);
  background: var(--ee-ivory-2);
}

html.ee-page.ee-column-page .ee-column-callout h3 {
  margin: 0 0 10px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-callout .ee-column-facts {
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  background: transparent;
}

html.ee-page.ee-column-page .ee-column-callout p {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.65;
}

html.ee-page.ee-column-page .ee-column-callout--research,
html.ee-page.ee-column-page .ee-column-callout--product {
  border-color: var(--ee-line);
  background: var(--ee-ivory-2);
}

html.ee-page.ee-column-page .ee-column-compare {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 0 0 1.3em;
  padding: 0;
  list-style: none;
}

html.ee-page.ee-column-page .ee-column-compare li {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--ee-line);
  background: var(--ee-ivory-2);
  list-style: none;
}

html.ee-page.ee-column-page .ee-column-compare strong {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

html.ee-page.ee-column-page .ee-column-compare span {
  color: var(--ee-muted);
  font-size: 13px;
  line-height: 1.45;
}

html.ee-page.ee-column-page .ee-column-sources li:target {
  outline: 1px solid var(--ee-gold-soft);
  background: rgba(232, 215, 176, 0.22);
}

html.ee-page.ee-column-page .ee-column-table-wrap {
  overflow-x: auto;
  margin: 0 0 1.4em;
  -webkit-overflow-scrolling: touch;
}

html.ee-page.ee-column-page .ee-column-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.45;
}

html.ee-page.ee-column-page .ee-column-table caption {
  caption-side: top;
  text-align: left;
  margin: 0 0 8px;
  font-weight: 600;
  font-size: 14px;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-table th,
html.ee-page.ee-column-page .ee-column-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--ee-line);
  text-align: left;
  vertical-align: top;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-table thead th {
  font-weight: 600;
  background: var(--ee-paper);
}

html.ee-page.ee-column-page .ee-column-notice {
  margin: 40px 0 0;
  padding-top: 24px;
  border-top: 1px solid var(--ee-line);
  color: var(--color-body);
  font-size: 13px;
  line-height: 1.7;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-related {
  margin-top: 40px;
  padding: 28px 24px;
  border: 1px solid var(--ee-line);
  border-top: 2px solid var(--ee-gold);
  background: var(--ee-paper);
}

html.ee-page.ee-column-page .ee-column-related h2 {
  margin: 0 0 8px;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

html.ee-page.ee-column-page .ee-column-related__name {
  margin: 0 0 16px;
  color: var(--ee-muted);
  font-size: 14px;
  line-height: 1.5;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-related__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

html.ee-page.ee-column-page .ee-column-product {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--ee-line);
  background: var(--ee-ivory);
}

html.ee-page.ee-column-page .ee-column-product__name {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

html.ee-page.ee-column-page .ee-column-product__rating {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--ee-caption);
  font-size: 13px;
}

html.ee-page.ee-column-page .ee-column-product__rating .ee-pick__star {
  color: var(--ee-gold);
}

html.ee-page.ee-column-page .ee-column-product__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
}

html.ee-page.ee-column-page .ee-column-product .btn {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
}

html.ee-page .site-footer {
  padding: 88px 0 40px;
  overflow-x: clip;
  max-width: 100%;
}

html.ee-page .elnoir-footer-inner {
  width: min(100% - 64px, 1200px);
  margin-inline: auto;
  box-sizing: border-box;
}

html.ee-page .ee-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1.1fr);
  gap: 32px 28px;
  align-items: start;
  margin: 0 0 36px;
}

html.ee-page .ee-footer-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: 10px;
}

html.ee-page .ee-footer-kicker {
  margin: 0 0 6px;
  color: #c39a5d;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.3;
}

html.ee-page .ee-footer-brand {
  margin: 0;
  color: #f5f1ea;
  font-family: var(--font-en);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.2;
}

html.ee-page .ee-footer-tagline {
  margin: 4px 0 8px;
  color: rgba(245, 241, 234, 0.72);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

html.ee-page .ee-footer-home {
  color: #e8d7b5;
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-decoration: none;
}

html.ee-page .ee-footer-col a {
  color: #f5f1ea;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.01em;
  text-decoration: none;
  word-break: keep-all;
}

html.ee-page .ee-footer-col a:hover,
html.ee-page .ee-footer-col a:focus-visible,
html.ee-page .ee-footer-home:hover,
html.ee-page .ee-footer-home:focus-visible {
  color: #e8d7b5;
}

html.ee-page .ee-footer-social {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: max-content;
  max-width: 100%;
  gap: 2px;
}

html.ee-page .ee-footer-info {
  margin: 0;
  padding: 28px 0 0;
  border-top: 1px solid rgba(245, 241, 234, 0.14);
  color: rgba(245, 241, 234, 0.82);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.01em;
  word-break: keep-all;
  overflow-wrap: anywhere;
  max-width: 52em;
}

html.ee-page .ee-footer-info p {
  margin: 0;
}

html.ee-page .ee-footer-info__title {
  margin: 0 0 10px;
  color: #f5f1ea;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

html.ee-page .ee-footer-info__line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0;
  row-gap: 0;
}

html.ee-page .ee-footer-info a {
  color: rgba(245, 241, 234, 0.9);
  text-decoration: none;
}

html.ee-page .ee-footer-info a:hover,
html.ee-page .ee-footer-info a:focus-visible {
  text-decoration: underline;
}

html.ee-page .ee-footer-info__check {
  display: inline;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
}

html.ee-page .ee-footer-info .footer-sep {
  display: inline;
  margin: 0 0.15em;
  color: rgba(245, 241, 234, 0.38);
}

html.ee-page .ee-footer-copy {
  margin: 16px 0 0;
  color: rgba(245, 241, 234, 0.68);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
}

html.ee-page .ee-footer-legal {
  margin: 20px 0 0;
  max-width: 38em;
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 1.7;
  font-weight: 400;
  letter-spacing: 0;
  color: rgba(245, 241, 234, 0.52);
  word-break: keep-all;
}

@media (max-width: 1023px) {
  html.ee-page .ee-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 24px;
  }
}

@media (max-width: 767px) {
  html.ee-page .site-footer {
    padding: 48px 0 36px;
    padding-bottom: calc(36px + env(safe-area-inset-bottom, 0px));
  }

  html.ee-page .elnoir-footer-inner {
    width: 100%;
    max-width: none;
    padding-inline: 20px;
    box-sizing: border-box;
  }

  html.ee-page .ee-footer-grid {
    display: flex;
    flex-direction: column;
    gap: 28px;
    margin-bottom: 28px;
  }

  html.ee-page .ee-footer-col {
    gap: 10px;
  }

  html.ee-page .ee-footer-brand {
    font-size: 22px;
  }

  html.ee-page .ee-footer-col a {
    font-size: 14px;
    min-height: 0;
    padding: 1px 0;
  }

  html.ee-page .ee-footer-info {
    padding-top: 24px;
  }

  html.ee-page .ee-footer-info,
  html.ee-page .ee-footer-copy {
    font-size: 12px;
    line-height: 1.75;
    overflow-wrap: anywhere;
  }

  html.ee-page .ee-footer-info {
    line-height: 1.75;
  }

  html.ee-page .ee-footer-info__line {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    row-gap: 4px;
    margin: 0 0 10px;
  }

  html.ee-page .ee-footer-info__line:last-child {
    margin-bottom: 0;
  }

  html.ee-page .ee-footer-info .footer-sep {
    display: none;
  }

  html.ee-page .ee-footer-legal {
    font-size: 12px;
    line-height: 1.7;
    margin-top: 20px;
  }
}

html.ee-page .ee-top-sentinel {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 200vh;
  pointer-events: none;
  visibility: hidden;
}

/* z-index: header 1000 / mobile-nav 1100+ / ee-top 40 / ee-sticky 35 */
html.ee-page .ee-top {
  position: fixed;
  right: 16px;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 40;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--ee-line);
  border-radius: 50%;
  background: #fffdf8;
  color: var(--color-text);
  box-shadow: 0 6px 18px rgba(41, 38, 33, 0.14);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 150ms ease, visibility 150ms ease;
}

html.ee-page .ee-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

html.ee-page .ee-top:hover {
  border-color: var(--ee-gold);
  color: var(--ee-gold-deep);
}

html.ee-page .ee-top:focus,
html.ee-page .ee-top:focus-visible {
  outline: 2px solid var(--color-gold);
  outline-offset: 3px;
}

html.ee-page .ee-sticky:not(.is-away):not([hidden]) ~ .ee-top {
  bottom: calc(var(--ee-sticky-h) + 12px + env(safe-area-inset-bottom, 0px));
}

.ee-sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 35;
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
  background: rgba(247, 243, 236, 0.96);
  border-top: 1px solid var(--ee-line);
  backdrop-filter: blur(10px);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 150ms ease, visibility 150ms ease;
}

.ee-sticky.is-away {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.ee-sticky .btn {
  width: 100%;
  transition: opacity 150ms ease;
}

.ee-reveal {
  opacity: 0;
  transform: translateY(16px);
  animation: ee-rise 0.8s ease forwards;
}

@keyframes ee-rise {
  to {
    opacity: 1;
    transform: none;
  }
}

@media (min-width: 901px) {
  html.ee-page body.ee-sticky-on {
    --ee-sticky-h: 0px;
    padding-bottom: 0;
  }

  .ee-sticky {
    left: auto;
    right: 24px;
    bottom: 24px;
    width: auto;
    max-width: min(320px, calc(100vw - 48px));
    padding: 0;
    background: transparent;
    border: none;
    backdrop-filter: none;
  }

  .ee-sticky .btn {
    width: auto;
    min-width: 220px;
    min-height: 50px;
    padding: 12px 18px;
    box-shadow: 0 10px 28px rgba(41, 38, 33, 0.18);
  }

  html.ee-page .ee-top {
    right: 24px;
    bottom: 24px;
  }

  html.ee-page .ee-sticky:not(.is-away):not([hidden]) ~ .ee-top {
    bottom: calc(24px + 50px + 12px);
  }
}

@media (max-width: 1100px) {
  .ee-columns[data-count="3"],
  .ee-columns[data-count="4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .ee-columns[data-count="3"],
  .ee-columns[data-count="4"] {
    grid-template-columns: minmax(0, 1fr);
  }

  .ee-actions,
  .ee-cta .btn {
    width: 100%;
  }

  html.ee-page .ee-prod__copy .ee-cta .btn {
    width: 100%;
    min-height: 48px;
    white-space: nowrap;
  }

  .ee-cta__actions {
    flex-direction: column;
    gap: 8px;
  }

  .ee-reviews__list--wide {
    display: flex;
    overflow-x: auto;
    gap: 10px;
    grid-template-columns: none;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .ee-reviews__list--wide::-webkit-scrollbar {
    display: none;
  }

  .ee-reviews__list--wide .ee-review {
    flex: 0 0 min(280px, 78vw);
  }

  .ee-reviews__list--pair {
    grid-template-columns: minmax(0, 1fr);
  }

  html.ee-page .ee-section {
    padding: 56px 0;
  }

  html.ee-page #inner-beauty.ee-section--intro {
    padding-top: 28px;
    padding-bottom: 12px;
  }

  html.ee-page #inner-beauty.ee-section--intro .ee-title {
    font-size: clamp(24px, 6.4vw, 30px);
  }

  html.ee-page #inner-beauty.ee-section--intro .ee-copy {
    margin-bottom: 16px;
    font-size: 16px;
  }

  html.ee-page .ee-inner-picker {
    height: 52px;
  }

  html.ee-page .ee-inner-picker__tab {
    padding: 4px 10px;
  }

  html.ee-page .ee-inner-picker__name {
    font-size: 13px;
  }

  html.ee-page .ee-inner-picker__desc {
    font-size: 11px;
  }

  html.ee-page #inner-glutathione,
  html.ee-page #inner-nmn {
    padding-top: 24px;
    padding-bottom: 48px;
  }

  .ee-duo,
  .ee-prod,
  .ee-prod--flip {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
  }

  html.ee-page a.ee-duo-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .ee-duo-card__media img {
    min-height: 180px;
    max-height: 240px;
  }

  .ee-duo-card__copy {
    padding: 18px 16px 16px;
  }

  .ee-prod--flip .ee-prod__media {
    order: 0;
  }

  .ee-prod,
  .ee-prod--flip {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .ee-prod__media,
  .ee-prod--flip .ee-prod__media {
    order: 1;
    width: min(420px, 100%);
    max-width: 100%;
    margin-inline: auto;
  }

  .ee-prod__copy,
  .ee-prod--flip .ee-prod__copy {
    order: 2;
  }

  html.ee-page .ee-prod__media,
  html.ee-page .ee-prod__copy {
    min-width: 0;
  }

  html.ee-page .ee-prod__media img {
    object-fit: contain;
    object-position: center;
    aspect-ratio: 1 / 1;
    max-height: 320px;
    background: #fffdf8;
  }

  html.ee-page .ee-prod__media--glutathione,
  html.ee-page .ee-prod__media--nmn,
  html.ee-page .ee-prod__media--shampoo,
  html.ee-page .ee-prod__media--kids {
    width: min(420px, 100%);
    margin-inline: auto;
    padding: 0;
    border: 1px solid var(--ee-line);
    overflow: hidden;
    background: #f7f3ec;
    max-height: none;
    aspect-ratio: 1 / 1;
  }

  html.ee-page .ee-prod__media--glutathione img,
  html.ee-page .ee-prod__media--nmn img,
  html.ee-page .ee-prod__media--shampoo img,
  html.ee-page .ee-prod__media--kids img {
    width: 86%;
    height: 86%;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center center;
    max-height: none;
    background: transparent;
  }

  html.ee-page .ee-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  html.ee-page .ee-stats li {
    min-width: 0;
    padding: 12px 8px;
  }

  html.ee-page .ee-stats strong {
    font-size: clamp(15px, 4.2vw, 20px);
    white-space: nowrap;
  }

  html.ee-page .ee-stats span {
    font-size: 12px;
    line-height: 1.45;
  }

  html.ee-page .ee-prod__lead,
  html.ee-page .ee-copy {
    font-size: 16px;
    line-height: 1.7;
  }

  html.ee-page .ee-trust-facts,
  html.ee-page .ee-legal {
    font-size: 13px;
  }

  html.ee-page .ee-recommend li {
    padding: 10px 0 10px 16px;
  }

  html.ee-page #routine-select .ee-title {
    font-size: clamp(24px, 7vw, 30px);
    max-width: none;
  }

  html.ee-page #routine-select .ee-sol__lead {
    font-size: 16px;
    margin-bottom: 22px;
  }

  .ee-sol-card h3 {
    font-size: clamp(19px, 4.8vw, 22px);
  }
}

@media (max-width: 560px) {
  html.ee-page .ee-section {
    padding: 52px 0;
  }

  html.ee-page #inner-beauty.ee-section--intro {
    padding-top: 24px;
    padding-bottom: 10px;
  }

  html.ee-page #inner-glutathione,
  html.ee-page #inner-nmn {
    padding-top: 20px;
    padding-bottom: 40px;
  }

  html.ee-page .ee-br-mobile {
    display: block;
    font-size: 0;
    line-height: 0;
    height: 0;
    overflow: hidden;
  }

  .ee-columns {
    grid-template-columns: 1fr;
    max-width: none;
  }

  html.ee-page .ee-pick__name,
  html.ee-page .ee-pick__lead {
    min-height: 0;
  }

  html.ee-page.ee-column-page .ee-column-related__list,
  html.ee-page.ee-column-page .ee-column-criteria {
    grid-template-columns: 1fr;
  }

  html.ee-page.ee-column-page .ee-gsh-pair {
    flex-direction: column;
  }

  html.ee-page.ee-column-page .ee-gsh-pair__link {
    width: 2px;
    height: 24px;
  }
}

@media (max-width: 430px) {
  html.ee-page .ee-stats li {
    padding: 10px 6px;
  }

  html.ee-page .ee-stats strong {
    font-size: 15px;
  }
}

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

  html.ee-page *,
  html.ee-page *::before,
  html.ee-page *::after {
    animation: none !important;
    transition: none !important;
  }

  .ee-reveal {
    opacity: 1;
    transform: none;
  }
}

/* Shared header: 5-item nav + category dropdown */
html.ee-page .nav-links--desktop {
  gap: clamp(16px, 1.7vw, 32px);
}

html.ee-page .primary-nav .nav-link[aria-current="page"],
html.ee-page .primary-nav .nav-link.is-active,
html.ee-page .primary-nav .ee-nav-dropdown__toggle.is-active,
html.ee-page .primary-nav .ee-nav-dropdown__toggle[aria-current] {
  color: #b48749;
  box-shadow: inset 0 -1px 0 #b48749;
}

html.ee-page .mobile-nav-list a[aria-current="page"],
html.ee-page .mobile-nav-list a.is-active,
html.ee-page .mobile-accordion.is-active > summary,
html.ee-page .mobile-accordion summary.is-active {
  color: var(--ee-gold-text);
  font-weight: 600;
}

html.ee-page .mobile-nav-list {
  overflow-x: hidden;
}

/* Column article layout */
html.ee-page.ee-column-page {
  --ee-article-width: 760px;
  --ee-crumb-h: 0px;
  scroll-padding-top: calc(var(--header-height) + 12px);
}

html.ee-page.ee-column-page body {
  padding-top: var(--header-height);
}

html.ee-page.ee-column-page .site-header,
html.ee-page.ee-column-page .site-header.is-scrolled {
  height: var(--header-height);
}

html.ee-page.ee-column-page .ee-column-shell {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--ee-article-width));
  margin: 0 auto;
  padding: 28px 0 88px;
}

html.ee-page.ee-column-page .ee-article-crumb {
  margin: 0 0 18px;
}

html.ee-page.ee-column-page .ee-article-crumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 12px;
  line-height: 1.4;
  color: var(--ee-caption);
}

html.ee-page.ee-column-page .ee-article-crumb li {
  display: flex;
  align-items: center;
}

html.ee-page.ee-column-page .ee-article-crumb li + li::before {
  content: "›";
  margin: 0 0.45em;
  color: rgba(93, 85, 76, 0.45);
}

html.ee-page.ee-column-page .ee-article-crumb a {
  color: var(--ee-caption);
  text-decoration: none;
}

html.ee-page.ee-column-page .ee-article-crumb a:hover {
  color: var(--ee-black);
}

html.ee-page.ee-column-page .ee-article-crumb [aria-current="page"] {
  color: var(--ee-black);
  font-weight: 600;
}

html.ee-page.ee-column-page .ee-column-article__head .ee-title {
  max-width: 18em;
  word-break: keep-all;
  overflow-wrap: break-word;
}

html.ee-page.ee-column-page .ee-column-hero {
  position: relative;
  margin: 22px 0 0;
  overflow: hidden;
  background: #efe6d6;
  aspect-ratio: 16 / 9;
}

html.ee-page.ee-column-page .ee-column-hero img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center center;
}

html.ee-page.ee-column-page .ee-column-takeaways {
  margin: 22px 0 8px;
  padding: 20px 22px 16px;
  background: var(--ee-ivory-2);
}

html.ee-page.ee-column-page .ee-column-takeaways h2 {
  margin: 0 0 12px;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ee-gold-text);
}

html.ee-page.ee-column-page .ee-column-takeaways ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

html.ee-page.ee-column-page .ee-column-takeaways li {
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
  margin: 0 0 14px;
  padding-left: 1em;
  font-size: 15px;
  line-height: 1.65;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-takeaways li:last-child {
  margin-bottom: 0;
}

html.ee-page.ee-column-page .ee-column-takeaways li::before {
  content: "·";
  position: absolute;
  left: 0;
  color: var(--ee-gold-text);
}

html.ee-page.ee-column-page .ee-column-takeaways__label {
  color: var(--ee-gold-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

html.ee-page.ee-column-page .ee-column-article__hook {
  margin: 12px 0 8px;
  color: var(--ee-gold-deep);
  font-family: var(--font-title);
  font-size: clamp(17px, 1.55vw, 22px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.02em;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-article__dek {
  margin: 0 0 4px;
  color: var(--ee-muted);
  font-size: 15px;
  line-height: 1.6;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-pull {
  margin: 28px 0;
  padding: 18px 20px;
  border-left: 3px solid var(--ee-gold);
  background: #fffdf8;
}

html.ee-page.ee-column-page .ee-column-pull p {
  margin: 0;
  color: var(--ee-gold-deep);
  font-family: var(--font-title);
  font-size: clamp(17px, 1.4vw, 20px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-cta {
  margin: 28px 0 36px;
  padding: 28px 24px;
  border: 1px solid rgba(196, 162, 101, 0.45);
  background: #fffdf8;
}

html.ee-page.ee-column-page .ee-column-cta__label {
  margin: 0 0 10px;
  color: var(--ee-gold-text);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

html.ee-page.ee-column-page .ee-column-cta__headline {
  margin: 0 0 16px;
  color: var(--ee-ink);
  font-family: var(--font-title);
  font-size: clamp(22px, 2.2vw, 28px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.02em;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-cta__title {
  margin: 0 0 8px;
  color: var(--ee-gold-deep);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.02em;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-cta__kicker {
  margin: 0 0 8px;
  color: var(--ee-gold-text);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

html.ee-page.ee-column-page .ee-column-cta__line {
  margin: 0 0 18px;
  color: var(--ee-ink);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  text-decoration: none;
}

html.ee-page.ee-column-page .ee-column-verified {
  margin: 28px 0 24px;
  padding: 22px 22px 18px;
  border: 1px solid var(--ee-line);
  background: #fffdf8;
}

html.ee-page.ee-column-page .ee-column-verified h2 {
  margin: 0 0 12px;
  color: var(--ee-gold-deep);
  font-family: var(--font-body);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

html.ee-page.ee-column-page .ee-column-verified ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

html.ee-page.ee-column-page .ee-column-verified li {
  position: relative;
  margin: 0 0 10px;
  padding: 0 0 0 16px;
  color: var(--ee-ink);
  font-size: 15px;
  line-height: 1.55;
  word-break: keep-all;
}

html.ee-page.ee-column-page .ee-column-verified li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  background: var(--ee-gold);
}

html.ee-page.ee-column-page .ee-column-verified__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin: 16px 0 0;
}

html.ee-page.ee-column-page .ee-column-verified__links a {
  color: var(--ee-gold-text);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

html.ee-page.ee-column-page .ee-column-verified__links a:hover,
html.ee-page.ee-column-page .ee-column-verified__links a:focus-visible {
  text-decoration: underline;
}

html.ee-page.ee-column-page .ee-column-article__meta {
  margin-top: 10px;
  color: var(--ee-caption);
  font-size: 13px;
  letter-spacing: -0.01em;
}

html.ee-page.ee-column-page .ee-column-article__body {
  font-size: 17px;
  line-height: 1.8;
}

html.ee-page.ee-column-page .ee-column-sources a {
  display: inline-block;
  max-width: 100%;
  margin-top: 4px;
  color: var(--ee-gold-text);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}

html.ee-page.ee-column-page .ee-column-sources a:hover {
  text-decoration: underline;
}

html.ee-page.ee-column-page .ee-column-sources__type {
  display: inline-block;
  margin-bottom: 6px;
  padding: 2px 8px;
  border: 1px solid rgba(196, 162, 101, 0.4);
  color: var(--ee-gold-text);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

html.ee-page.ee-column-page .ee-column-sources__type[data-kind="public"] {
  border-color: rgba(91, 103, 92, 0.45);
  color: #5b675c;
}

html.ee-page.ee-column-page .ee-column-sources__type[data-kind="paper"] {
  border-color: rgba(138, 103, 56, 0.45);
  color: var(--ee-gold-text);
}

html.ee-page.ee-column-page .ee-column-continue {
  margin-top: 48px;
}

html.ee-page.ee-column-page .ee-column-continue h2 {
  margin: 0 0 16px;
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 600;
}

html.ee-page.ee-column-page .ee-column-continue__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

html.ee-page.ee-column-page .ee-column-continue__card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

html.ee-page.ee-column-page .ee-column-continue__media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #efe6d6;
}

html.ee-page.ee-column-page .ee-column-continue__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html.ee-page.ee-column-page .ee-column-continue__copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

html.ee-page.ee-column-page .ee-column-continue__copy strong {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
  word-break: keep-all;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

html.ee-page.ee-column-page .ee-column-continue__copy span {
  color: var(--ee-caption);
  font-size: 12px;
}

html.ee-page.ee-column-page .ee-column-product-link {
  margin: 20px 0 0;
}

html.ee-page.ee-column-page .ee-column-product-link a {
  color: var(--ee-gold-text);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

html.ee-page.ee-column-page .ee-column-product-link a:hover {
  text-decoration: underline;
}

html.ee-page.ee-column-index .ee-column-index-hero {
  padding: 48px 0 12px;
}

html.ee-page.ee-column-index .ee-column-index-hero .ee-title {
  max-width: 14em;
}

html.ee-page.ee-column-index .ee-columns {
  margin-top: 28px;
}

@media (max-width: 767px) {
  html.ee-page.ee-column-page .ee-column-shell {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: 20px;
    padding-top: 24px;
    padding-bottom: calc(52px + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
  }

  html.ee-page.ee-column-page .ee-column-article__head .ee-title {
    width: 100%;
    max-width: 100%;
    font-size: clamp(24px, 7vw, 30px);
    line-height: 1.35;
    letter-spacing: -0.045em;
    word-break: keep-all;
    overflow-wrap: break-word;
  }

  html.ee-page.ee-column-page .ee-column-article__hook {
    margin: 10px 0 6px;
    font-size: 16px;
    line-height: 1.4;
  }

  html.ee-page.ee-column-page .ee-column-article__dek {
    font-size: 14px;
    line-height: 1.5;
  }

  html.ee-page.ee-column-page .ee-column-article__meta {
    margin-top: 8px;
    font-size: 12px;
  }

  html.ee-page.ee-column-page .ee-column-hero {
    margin-top: 14px;
    aspect-ratio: 16 / 9;
  }

  html.ee-page.ee-column-page .ee-column-article__head .ee-label,
  html.ee-page.ee-column-page .ee-column-article__hook,
  html.ee-page.ee-column-page .ee-column-article__dek,
  html.ee-page.ee-column-page .ee-column-article__meta,
  html.ee-page.ee-column-page .ee-column-article__body {
    width: 100%;
    max-width: 100%;
    word-break: keep-all;
    overflow-wrap: break-word;
  }

  html.ee-page.ee-column-page .ee-column-takeaways {
    padding: 20px;
  }

  html.ee-page.ee-column-page .ee-column-article__head .ee-title br {
    display: none;
  }

  html.ee-page.ee-column-page .ee-column-article__body {
    font-size: 16px;
    line-height: 1.75;
  }

  html.ee-page.ee-column-page .ee-column-cta,
  html.ee-page.ee-column-page .ee-column-sources,
  html.ee-page.ee-column-page .ee-column-continue,
  html.ee-page.ee-column-page .ee-column-notice {
    width: 100%;
    max-width: 100%;
  }

  html.ee-page.ee-column-page .ee-column-hero img {
    aspect-ratio: 16 / 9;
  }

  html.ee-page.ee-column-page .ee-column-cta__btn {
    width: 100%;
  }

  html.ee-page.ee-column-page .ee-column-continue__list {
    grid-template-columns: 1fr;
  }

  html.ee-page.ee-column-page .ee-column-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  html.ee-page.ee-column-page .ee-column-compare {
    display: grid;
    grid-template-columns: 1fr;
  }

  html.ee-page .ee-columns,
  html.ee-page .ee-columns[data-count="2"],
  html.ee-page .ee-columns[data-count="3"],
  html.ee-page .ee-columns[data-count="4"] {
    grid-template-columns: 1fr;
    max-width: none;
  }

  html.ee-page a.ee-column-card {
    min-width: 0;
  }

  html.ee-page a.ee-column-card .ee-column-card__body {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Landing mobile polish — header, strip, overflow, nav lock */
@media (max-width: 1024px) {
  html.ee-page {
    --header-height: 68px;
  }

  html.ee-page .site-header,
  html.ee-page .site-header.is-scrolled,
  html.ee-page .header-inner {
    height: 68px;
  }

  html.ee-page .header-inner {
    align-items: center;
    min-width: 0;
  }

  html.ee-page .ee-header-identity {
    min-width: 0;
    justify-content: center;
    gap: 3px;
  }

  html.ee-page .ee-breadcrumb__brand {
    padding: 5px 0;
  }

  html.ee-page .ee-breadcrumb__brand img {
    width: 60px;
    max-width: 60px;
  }

  html.ee-page .mobile-nav .ee-breadcrumb__brand img {
    width: 68px;
    max-width: 68px;
  }

  html.ee-page .nav-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    margin: 0;
    padding: 0;
  }

  html.ee-page .nav-links--desktop {
    display: none;
  }

  html.ee-page .mobile-nav-panel {
    width: min(320px, 100%);
    max-width: 100%;
    overflow-x: hidden;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  html.ee-page .mobile-nav-inner {
    padding: 64px 22px calc(28px + env(safe-area-inset-bottom, 0px));
  }

  html.ee-page .mobile-nav-list {
    overflow-x: hidden;
  }

  html.ee-page .mobile-nav-list a,
  html.ee-page .mobile-accordion summary {
    min-height: 48px;
  }
}

@media (max-width: 767px) {
  html.ee-page .site-container {
    width: 100%;
    max-width: none;
    padding-inline: 20px;
    box-sizing: border-box;
  }

  html.ee-page .ee-sticky .btn {
    min-height: 48px;
  }

  html.ee-page body.nav-open .ee-sticky {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  html.ee-page .ee-columns {
    min-width: 0;
  }

  html.ee-page a.ee-column-card {
    min-width: 0;
  }
}

@media (max-width: 768px) {
  html.ee-page {
    --header-height: 56px;
  }

  html.ee-page .site-header,
  html.ee-page .site-header.is-scrolled,
  html.ee-page .header-inner {
    height: 56px;
  }

  html.ee-page .header-inner {
    padding-block: 0;
  }

  html.ee-page .ee-header-identity {
    flex-direction: row;
    align-items: center;
    gap: 0;
  }

  html.ee-page .header-wordmark {
    display: none;
  }

  html.ee-page .ee-breadcrumb li:first-child,
  html.ee-page .ee-breadcrumb__sep {
    display: none;
  }

  html.ee-page .ee-breadcrumb ol {
    gap: 0;
  }

  html.ee-page .ee-breadcrumb__brand {
    padding: 4px 0;
  }

  html.ee-page .ee-breadcrumb__brand img {
    width: 64px;
    max-width: 64px;
  }

  html.ee-page .nav-toggle {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
  }

  html.ee-page .elnoir-main-hero__inner {
    padding: 14px 20px 10px;
  }

  html.ee-page .elnoir-main-hero__brand[lang="en"],
  html.ee-page .elnoir-main-hero__label[lang="en"] {
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    letter-spacing: 0.14em;
  }

  html.ee-page .elnoir-main-hero__title {
    font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
    font-size: clamp(26px, 7.1vw, 28px);
    line-height: 1.35;
    letter-spacing: -0.045em;
  }

  html.ee-page .elnoir-main-hero__brand[lang="en"] {
    margin-bottom: 4px;
    font-size: 15px;
  }

  html.ee-page .elnoir-main-hero__label[lang="en"] {
    margin-bottom: 10px;
    font-size: 10px;
    line-height: 1.4;
  }

  html.ee-page .elnoir-main-hero__title-line {
    white-space: normal;
  }

  html.ee-page .elnoir-main-hero__description {
    margin-top: 8px;
    font-size: 15px;
    line-height: 1.55;
    color: #5c5348;
  }

  html.ee-page .ee-hero-proof {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
  }

  html.ee-page .ee-hero-proof__star {
    width: 13px;
    height: 13px;
  }

  html.ee-page .elnoir-main-hero__actions {
    align-items: stretch;
    gap: 0;
    margin-top: 14px;
    margin-bottom: 6px;
  }

  html.ee-page a.elnoir-main-hero__textlink {
    display: none;
  }

  html.ee-page .elnoir-main-hero__button {
    width: 100%;
    min-height: 52px;
    border-radius: 3px;
    font-size: 15px;
  }

  html.ee-page .elnoir-main-hero__copy {
    padding-bottom: 0;
  }

  html.ee-page .elnoir-hero-visual {
    aspect-ratio: unset;
    width: 100%;
    height: clamp(380px, 105vw, 440px);
    margin-top: 0;
  }

  html.ee-page .elnoir-hero-visual__image {
    object-fit: cover;
    object-position: 50% 36%;
  }

  html.ee-page .elnoir-hero-visual::after {
    height: 28px;
    background: linear-gradient(
      180deg,
      var(--ee-hero-ivory) 0%,
      rgba(246, 238, 227, 0) 100%
    );
  }
}

@media (max-width: 360px) {
  html.ee-page .ee-stats strong {
    font-size: 14px;
  }
}

html.ee-page.ee-nav-open,
html.ee-page.ee-nav-open body {
  overflow: hidden;
}

/* Shampoo / scalp care — scoped so other product blocks stay unchanged */
html.ee-page #shampoo .ee-prod__lead p {
  margin: 0 0 0.85em;
}

html.ee-page #shampoo .ee-prod__lead p:last-child {
  margin-bottom: 0;
}

html.ee-page #shampoo .scalp-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: 12px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

@media (max-width: 1100px) {
  html.ee-page #shampoo .scalp-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

html.ee-page #shampoo .scalp-feature-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 112px;
  padding: 16px 14px;
  box-sizing: border-box;
  border: 1px solid var(--ee-line);
  background: var(--ee-paper);
  text-align: left;
}

html.ee-page #shampoo .scalp-feature-card * {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

html.ee-page #shampoo .scalp-feature-card__title {
  display: block;
  margin: 0 0 6px;
  color: var(--ee-gold-deep);
  font-family: var(--ee-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -0.03em;
}

html.ee-page #shampoo .scalp-feature-card__desc {
  display: block;
  color: var(--ee-ink);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
}

html.ee-page #shampoo .scalp-feature-card__note {
  display: block;
  margin-top: 6px;
  color: var(--ee-caption);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
}

html.ee-page #shampoo .scalp-ingredients {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px;
  margin: 0 0 18px;
}

html.ee-page #shampoo .scalp-ingredients__label {
  display: inline-block;
  padding: 3px 8px 2px;
  border: 1px solid rgba(196, 162, 101, 0.45);
  color: var(--ee-gold-text);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

html.ee-page #shampoo .scalp-ingredients__names {
  color: var(--ee-ink);
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: -0.01em;
  word-break: keep-all;
}

html.ee-page #shampoo .ee-trust-facts {
  line-height: 1.7;
}

@media (max-width: 900px) {
  html.ee-page #shampoo .ee-prod {
    gap: 24px;
  }

  html.ee-page #shampoo {
    padding-bottom: calc(var(--ee-sticky-h, 72px) + env(safe-area-inset-bottom, 0px) + 28px);
  }

  html.ee-page #shampoo .ee-trust-facts,
  html.ee-page #shampoo .ee-legal {
    font-size: 13px;
    line-height: 1.7;
  }

  html.ee-page body.ee-on-shampoo.ee-sticky-on {
    --ee-sticky-h: 70px;
  }

  html.ee-page body.ee-on-shampoo .ee-sticky {
    padding: 12px 16px env(safe-area-inset-bottom, 0px);
  }

  html.ee-page body.ee-on-shampoo .ee-sticky .btn {
    min-height: 58px;
    height: 58px;
    padding-inline: 16px;
  }
}

@media (max-width: 768px) {
  html.ee-page #shampoo .scalp-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  html.ee-page #shampoo .scalp-feature-card {
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 112px;
    padding: 14px;
    box-sizing: border-box;
  }

  html.ee-page #shampoo .scalp-feature-card__title {
    font-size: 17px;
  }

  html.ee-page #shampoo .scalp-feature-card__desc {
    font-size: 13px;
  }

  html.ee-page #shampoo .scalp-feature-card__note {
    font-size: 12px;
  }

  html.ee-page #shampoo .scalp-ingredients {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

@media (max-width: 360px) {
  html.ee-page #shampoo .scalp-feature-card {
    padding: 12px;
    min-height: 118px;
  }

  html.ee-page #shampoo .scalp-feature-card__title {
    font-size: 17px;
    letter-spacing: -0.04em;
  }
}

/* Homepage ELNOIR GUIDE — full-width 4-col, scoped to #columns */
html.ee-page #elnoir-column.elnoir-guide {
  padding: 88px 0;
  background: var(--ee-paper);
}

html.ee-page #elnoir-column .elnoir-guide-inner {
  width: min(100% - 64px, 1200px);
  max-width: 1200px;
  margin-inline: auto;
  box-sizing: border-box;
}

html.ee-page #elnoir-column .ee-title {
  max-width: none;
  margin-bottom: 16px;
}

html.ee-page #elnoir-column .ee-columns__lead {
  max-width: 38em;
  margin: 0 0 36px;
}

html.ee-page #elnoir-column .elnoir-guide-grid,
html.ee-page #elnoir-column .ee-columns,
html.ee-page #elnoir-column .ee-columns[data-count="1"],
html.ee-page #elnoir-column .ee-columns[data-count="2"],
html.ee-page #elnoir-column .ee-columns[data-count="3"],
html.ee-page #elnoir-column .ee-columns[data-count="4"] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  max-width: none;
  margin-top: 0;
}

html.ee-page #elnoir-column a.ee-column-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  background: transparent;
  border: 0;
  box-shadow: none;
}

html.ee-page #elnoir-column .ee-column-card__media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 0;
  background: #efe6d6;
}

html.ee-page #elnoir-column .ee-column-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

html.ee-page #elnoir-column .ee-column-card[data-guide-slug="what-is-odf"] img {
  object-position: 50% 58%;
}

html.ee-page #elnoir-column .ee-column-card[data-guide-slug="what-is-nmn"] img {
  object-position: 48% 52%;
}

html.ee-page #elnoir-column .ee-column-card[data-guide-slug="what-is-glutathione"] img {
  object-position: 42% 38%;
}

html.ee-page #elnoir-column .ee-column-card[data-guide-slug="hair-loss-functional-cosmetics"] img {
  object-position: 50% 42%;
}

html.ee-page.ee-column-page[data-ee-column="what-is-odf"] .ee-column-hero img { object-position: 50% 58%; }
html.ee-page.ee-column-page[data-ee-column="what-is-nmn"] .ee-column-hero img { object-position: 48% 52%; }
html.ee-page.ee-column-page[data-ee-column="what-is-glutathione"] .ee-column-hero img { object-position: 42% 38%; }
html.ee-page.ee-column-page[data-ee-column="hair-loss-functional-cosmetics"] .ee-column-hero img { object-position: 50% 42%; }


html.ee-page #elnoir-column .ee-column-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 8px;
  padding: 16px 0 0;
}

html.ee-page #elnoir-column .ee-column-card__meta {
  font-size: 13px;
}

html.ee-page #elnoir-column .ee-column-card__title {
  font-size: 16px;
  line-height: 1.4;
  min-height: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

html.ee-page #elnoir-column .ee-column-card__hook-badge {
  margin: 0;
  color: var(--ee-gold-deep);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.02em;
  word-break: keep-all;
}

html.ee-page #elnoir-column .ee-column-card__sub {
  margin: 0;
  color: var(--ee-gold-text);
  font-size: 12px;
  font-weight: 600;
}

html.ee-page #elnoir-column .ee-column-card__summary {
  font-size: 14px;
  line-height: 1.55;
  min-height: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

html.ee-page #elnoir-column .ee-column-card__meta-row {
  margin-top: 0;
  padding-top: 2px;
}

html.ee-page #elnoir-column .ee-column-card__time,
html.ee-page #elnoir-column .ee-column-card__source {
  font-size: 13px;
}

html.ee-page #elnoir-column .ee-column-card__cta {
  margin-top: auto;
  padding-top: 12px;
  font-size: 14px;
}

@media (min-width: 1024px) {
  html.ee-page #elnoir-column .elnoir-guide-grid,
  html.ee-page #elnoir-column .ee-columns,
  html.ee-page #elnoir-column .ee-columns[data-count="4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  html.ee-page #elnoir-column .elnoir-guide-inner {
    width: calc(100% - 64px);
  }

  html.ee-page #elnoir-column.elnoir-guide {
    padding: 72px 0;
  }

  html.ee-page #elnoir-column .elnoir-guide-grid,
  html.ee-page #elnoir-column .ee-columns,
  html.ee-page #elnoir-column .ee-columns[data-count="4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

@media (max-width: 767px) {
  html.ee-page #elnoir-column .elnoir-guide-inner {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: 20px;
    box-sizing: border-box;
  }

  html.ee-page #elnoir-column.elnoir-guide {
    padding: 52px 0;
  }

  html.ee-page #elnoir-column .ee-columns__lead {
    margin-bottom: 28px;
  }

  html.ee-page #elnoir-column .elnoir-guide-grid,
  html.ee-page #elnoir-column .ee-columns,
  html.ee-page #elnoir-column .ee-columns[data-count="4"] {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  html.ee-page #elnoir-column .ee-column-card__media {
    aspect-ratio: 16 / 9;
  }

  html.ee-page #elnoir-column .ee-column-card__title,
  html.ee-page #elnoir-column .ee-column-card__summary {
    overflow: visible;
    display: block;
    -webkit-line-clamp: unset;
  }
}

/* Kids — reuse shared product system; no separate color theme */
html.ee-page #kids .ee-prod__highlight {
  margin: 10px 0 18px;
}

html.ee-page #kids .ee-legal {
  font-size: 13px;
  line-height: 1.7;
}

html.ee-page #kids .ee-stats strong {
  font-size: clamp(18px, 1.6vw, 22px);
}

@media (max-width: 900px) {
  html.ee-page #kids .ee-cta__actions {
    flex-direction: column;
    gap: 8px;
  }

  html.ee-page #kids .ee-prod__copy .ee-cta .btn {
    width: 100%;
  }
}

@media (max-width: 768px) {
  html.ee-page {
    --header-height: 56px;
    --ee-sticky-h: 56px;
    --ee-mobile-gutter: 20px;
  }

  html.ee-page .site-header,
  html.ee-page .site-header.is-scrolled,
  html.ee-page .header-inner {
    height: 56px;
  }

  html.ee-page .site-container,
  html.ee-page .ee-wrap,
  html.ee-page #elnoir-column .elnoir-guide-inner,
  html.ee-page.ee-column-page .ee-column-shell {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: var(--ee-mobile-gutter);
    box-sizing: border-box;
  }

  html.ee-page .ee-section {
    padding: 52px 0;
  }

  html.ee-page main#ee-main {
    padding-bottom: calc(var(--ee-sticky-h, 56px) + env(safe-area-inset-bottom, 0px) + 16px);
    box-sizing: border-box;
  }

  html.ee-page body:not(.ee-sticky-on) main#ee-main {
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 24px);
  }

  /* Product pick lists — vertical stack, no horizontal swipe */
  html.ee-page .ee-picks,
  html.ee-page .ee-picks--compact {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    overflow: visible;
    margin: 8px 0 0;
    padding: 0;
    max-width: none;
    scroll-snap-type: none;
  }

  html.ee-page a.ee-pick,
  html.ee-page .ee-picks--compact .ee-pick {
    flex: none;
    width: 100%;
    min-height: 52px;
    max-width: none;
    padding: 14px 16px;
    scroll-snap-align: none;
    border-left: 0;
    margin-left: 0;
    background: rgba(247, 243, 236, 0.03);
  }

  html.ee-page a.ee-pick + a.ee-pick {
    border-left: 0;
    margin-left: 0;
  }

  /* Allow more natural wrapping on mobile */
  html.ee-page .elnoir-main-hero__copy,
  html.ee-page .ee-copy,
  html.ee-page .ee-prod__lead,
  html.ee-page .ee-columns__lead,
  html.ee-page .ee-prod__lead * {
    word-break: keep-all;
    overflow-wrap: break-word;
    max-width: none;
    width: 100%;
  }

  /* Remove forced line breaks on mobile */
  html.ee-page .ee-title br,
  html.ee-page .ee-copy br,
  html.ee-page .ee-prod__lead br,
  html.ee-page .ee-sol__lead br,
  html.ee-page .ee-columns__lead br {
    display: none;
  }

  /* [2] Typography scaling */
  html.ee-page .ee-title {
    font-size: clamp(25px, 6.5vw, 27px);
    line-height: 1.35;
    letter-spacing: -0.045em;
  }

  html.ee-page .ee-copy,
  html.ee-page .ee-columns__lead,
  html.ee-page .ee-prod__lead {
    margin-bottom: 26px;
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: -0.018em;
  }

  /* Intermediate titles */
  html.ee-page #routine-select .ee-sol-card h3,
  html.ee-page .ee-recommend h3,
  html.ee-page .ee-prod__caption strong {
    font-size: clamp(20px, 5vw, 22px);
    line-height: 1.4;
  }

  /* Small text / labels — Korean concern lines */
  html.ee-page .ee-inner-picker-kicker,
  html.ee-page .ee-label:not([lang="en"]),
  html.ee-page .ee-line-badge:not([lang="en"]),
  html.ee-page .ee-trust-facts,
  html.ee-page .ee-legal {
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: -0.02em;
  }

  html.ee-page .ee-inner-picker__name {
    font-size: 15px;
    line-height: 1.3;
  }

  /* Specific guide lead copy (article rules) */
  html.ee-page #elnoir-column .ee-columns__lead {
    font-size: 16px;
    line-height: 1.8;
  }

  /* ‘구매 전에 꼭 확인해야 할 기준’ — mobile: ~26px, up to 2 lines */
  html.ee-page #elnoir-column .elnoir-guide-inner .ee-title#elnoir-column-title,
  html.ee-page #elnoir-column .ee-title#elnoir-column-title,
  html.ee-page #elnoir-column-title {
    width: 100%;
    max-width: 100%;
    font-size: 26px;
    line-height: 1.35;
    letter-spacing: -0.045em;
    margin-bottom: 14px;
    word-break: keep-all;
    overflow-wrap: break-word;
  }

  /* [3] Top dark intro (#inner-beauty) */
  html.ee-page #inner-beauty.ee-section--intro {
    padding: 48px 0 28px;
    min-height: 0;
    height: auto;
  }

  html.ee-page #inner-beauty.ee-section--intro .ee-title {
    font-size: 27px;
    margin-bottom: 18px;
  }

  html.ee-page #inner-beauty.ee-section--intro .ee-copy {
    margin: 0 0 28px;
    font-size: 15px;
    line-height: 1.8;
    color: rgba(33, 26, 18, 0.85);
  }

  /* [4] Inner beauty tabs — 2-column, no horizontal scroll */
  html.ee-page .ee-inner-picker {
    top: var(--header-height);
    height: 52px;
  }

  html.ee-page .ee-inner-picker__tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    gap: 0;
    overflow: visible;
    flex-wrap: nowrap;
    justify-content: stretch;
  }

  html.ee-page .ee-inner-picker__tab {
    flex: none;
    width: auto;
    min-height: 48px;
    height: 52px;
    padding: 6px 12px;
    border-bottom: 0;
    align-items: flex-start;
    box-sizing: border-box;
  }

  html.ee-page .ee-inner-picker__tab.is-active {
    background: rgba(196, 162, 101, 0.16);
    border-bottom: 2px solid var(--ee-gold);
  }

  html.ee-page .ee-inner-picker__tab:hover {
    background: rgba(196, 162, 101, 0.08);
  }

  /* [5] Product images — shared mobile layout for all SKUs */
  html.ee-page .ee-prod__media,
  html.ee-page .ee-prod--flip .ee-prod__media,
  html.ee-page .ee-prod__media--glutathione,
  html.ee-page .ee-prod__media--nmn,
  html.ee-page .ee-prod__media--shampoo,
  html.ee-page .ee-prod__media--kids {
    order: 1;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: 0;
    border: 0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f7f3ec;
  }

  html.ee-page .ee-prod__media img,
  html.ee-page .ee-prod__media--glutathione img,
  html.ee-page .ee-prod__media--nmn img,
  html.ee-page .ee-prod__media--shampoo img,
  html.ee-page .ee-prod__media--kids img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center center;
    background: transparent;
    filter: none;
  }

  html.ee-page .ee-prod__copy .ee-title {
    margin-bottom: 20px;
  }

  html.ee-page #elnoir-column .elnoir-guide-grid,
  html.ee-page #elnoir-column .elnoir-guide-inner,
  html.ee-page #elnoir-column .ee-columns {
    width: 100%;
    max-width: none;
  }

  /* Guide card spacing: image -> type guide */
  html.ee-page #elnoir-column .ee-column-card__body {
    padding-top: 24px;
    gap: 10px;
  }

  html.ee-page #elnoir-column .ee-column-card__hook-badge,
  html.ee-page #elnoir-column .ee-column-card__sub {
    font-size: 14px;
    line-height: 1.45;
  }

  /* Question-like subtitle */
  html.ee-page #elnoir-column .ee-column-card__title {
    font-size: 21px;
    line-height: 1.45;
    overflow: visible;
    display: block;
    -webkit-line-clamp: unset;
  }

  /* [6] Fixed purchase button */
  .ee-sticky {
    padding: 10px var(--ee-mobile-gutter) calc(10px + env(safe-area-inset-bottom, 0px));
  }

  html.ee-page .ee-sticky .btn {
    min-height: 56px;
    font-size: 17px;
  }

  /* [7] Back to top — clear of sticky bar and section titles */
  html.ee-page .ee-top {
    right: var(--ee-mobile-gutter);
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    width: 44px;
    height: 44px;
  }

  html.ee-page .ee-sticky:not(.is-away):not([hidden]) ~ .ee-top {
    bottom: calc(var(--ee-sticky-h, 56px) + 16px + env(safe-area-inset-bottom, 0px));
  }
}

/* Mobile Korean typography — letter-spacing & font stacks (768px and below) */
html.ee-page:lang(ko) {
  word-break: keep-all;
  letter-spacing: -0.02em;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

@media (max-width: 768px) {
  html.ee-page:lang(ko) {
    --tracking-body: -0.018em;
    --tracking-heading: -0.045em;
    overflow-wrap: break-word;
  }

  html.ee-page:lang(ko) h1,
  html.ee-page:lang(ko) h2,
  html.ee-page:lang(ko) h3,
  html.ee-page .ee-title,
  html.ee-page .elnoir-main-hero__title,
  html.ee-page .elnoir-main-hero__title-line,
  html.ee-page .ee-brand-story__heading .ee-title,
  html.ee-page .ee-sol-card h3,
  html.ee-page .ee-recommend h3,
  html.ee-page #elnoir-column .ee-column-card__title,
  html.ee-page #elnoir-column-title {
    font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
    letter-spacing: -0.045em;
    line-height: 1.35;
    text-align: left;
    text-align-last: left;
  }

  html.ee-page:lang(ko) p,
  html.ee-page .ee-copy,
  html.ee-page .ee-prod__lead,
  html.ee-page .ee-columns__lead,
  html.ee-page .elnoir-main-hero__description,
  html.ee-page .ee-sol__lead,
  html.ee-page .ee-brand-story__body,
  html.ee-page .ee-brand-story__body p,
  html.ee-page .ee-prod__lead p,
  html.ee-page #elnoir-column .ee-column-card__summary,
  html.ee-page .ee-stats span,
  html.ee-page .ee-recommend li,
  html.ee-page .ee-sol-card__worry,
  html.ee-page .ee-sol-card__desc,
  html.ee-page .ee-hero-proof {
    font-family: "Pretendard", "Noto Sans KR", sans-serif;
    letter-spacing: -0.018em;
    line-height: 1.75;
    text-align: left;
    text-align-last: left;
  }

  html.ee-page .ee-copy,
  html.ee-page .ee-columns__lead,
  html.ee-page .ee-prod__lead {
    font-size: 16px;
  }

  html.ee-page .ee-label:not([lang="en"]),
  html.ee-page .ee-inner-picker-kicker,
  html.ee-page .ee-line-badge:not([lang="en"]) {
    font-family: "Pretendard", "Noto Sans KR", sans-serif;
    letter-spacing: -0.02em;
  }

  html.ee-page .btn,
  html.ee-page .elnoir-main-hero__button,
  html.ee-page .ee-sticky .btn,
  html.ee-page .ee-buy__summary,
  html.ee-page a.ee-pick,
  html.ee-page .ee-inner-picker__tab {
    font-family: "Pretendard", "Noto Sans KR", sans-serif;
    letter-spacing: -0.02em;
  }

  html.ee-page .mobile-nav-list a,
  html.ee-page .primary-nav .nav-link,
  html.ee-page .nav-dropdown__toggle,
  html.ee-page .ee-inner-picker__name,
  html.ee-page .ee-inner-picker__desc {
    font-family: "Pretendard", "Noto Sans KR", sans-serif;
    letter-spacing: -0.015em;
  }

  html.ee-page [lang="en"].ee-label,
  html.ee-page .elnoir-main-hero__brand[lang="en"],
  html.ee-page .elnoir-main-hero__label[lang="en"],
  html.ee-page .ee-sol-card__label[lang="en"],
  html.ee-page .wordmark-rising9[lang="en"],
  html.ee-page .wordmark-company[lang="en"],
  html.ee-page .ee-footer-kicker[lang="en"],
  html.ee-page .ee-line-badge[lang="en"],
  html.ee-page .ee-brand-story__lab[lang="en"],
  html.ee-page .ee-brand-story__slogan[lang="en"] {
    font-family: "Cormorant Garamond", "Times New Roman", serif;
    letter-spacing: 0.14em;
  }

  html.ee-page #cta-final .ee-final {
    text-align: left;
  }

  html.ee-page #cta-final .ee-final .ee-copy {
    margin-inline: 0;
    max-width: none;
  }

  html.ee-page .ee-section--dark .ee-title,
  html.ee-page .ee-section--dark .ee-copy {
    text-align: left;
    text-align-last: left;
  }
}

