:root {
  --navy: #061330;
  --red: #f51f25;
  --red-dark: #d9141a;
  --ink: #0a1530;
  --muted: #616876;
  --line: #e6e7eb;
  --surface: #ffffff;
  --soft: #fbf7f7;
  --max: 1480px;
  --radius: 18px;
  --shadow: 0 24px 70px rgba(6, 19, 48, 0.10);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: "Manrope", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

img,
video {
  display: block;
  max-width: 100%;
}

/* Общая сетка сайта */
.header,
.hero__content,
.shop,
.feature-strip,
.about,
.announcement__inner {
  width: 100%;
  max-width: var(--max);
  margin-inline: auto;
}

/* Announcement */

.announcement {
  width: 100%;
  min-height: 48px;
  color: #fff;
  background: var(--navy);
  font-size: 14px;
  font-weight: 700;
}

.announcement__inner {
  min-height: 48px;
  padding: 0 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
}

.announcement__item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.announcement__icon {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.announcement__divider {
  width: 1px;
  height: 18px;
  background: rgba(255, 255, 255, .5);
}

/* Header */

.header {
  min-height: 90px;
  padding: 0 54px;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto minmax(300px, 1fr);
  align-items: center;
  gap: 42px;
  background: #fff;
  position: relative;
  z-index: 10;
}

.brand {
  min-width: 0;
  justify-self: start;
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.brand__name {
  font-size: 35px;
  font-weight: 800;
  letter-spacing: -2.3px;
}

.brand__name span {
  color: var(--red);
}

.brand__tagline {
  margin-top: 8px;
  color: #757a85;
  font-size: 11px;
}

.nav {
  display: flex;
  align-items: center;
  gap: 52px;
  font-size: 15px;
  font-weight: 700;
}

.nav a {
  transition: color .2s ease;
}

.nav a:hover {
  color: var(--red);
}

.header__actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 28px;
}

.track-order {
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
  transition: color .2s ease;
}

.track-order:hover {
  color: var(--red);
}

.header-icon {
  width: 38px;
  height: 38px;
  position: relative;
  display: grid;
  place-items: center;
  color: var(--navy);
}

.header-icon svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.header-icon__dot {
  position: absolute;
  top: 0;
  right: 0;
  width: 9px;
  height: 9px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--red);
}

.menu-button {
  display: none;
}

/* Buttons */

.button {
  border: 0;
  border-radius: 13px;
  color: #fff;
  background: var(--red);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(245, 31, 37, .20);
  transition:
    transform .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}

.button:hover {
  background: var(--red-dark);
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(245, 31, 37, .25);
}

/* Hero */

.hero {
  width: 100%;
  background: #fff;
}

.hero__content {
  height: 590px;
  min-height: 590px;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  overflow: hidden;
}

.hero__copy {
  min-width: 0;
  padding: 54px;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero h1 {
  margin: 0;
  font-size: clamp(54px, 5.2vw, 58px);
  line-height: .98;
  letter-spacing: -5px;
  font-weight: 800;
}

.hero__title-line {
  display: block;
  white-space: nowrap;
}

.hero__title-line--dark {
  color: var(--ink);
}

.hero__title-line--red {
  margin-top: 12px;
  color: var(--red);
}

.hero__description {
  max-width: 535px;
  margin: 27px 0 0;
  font-size: 21px;
  line-height: 1.55;
  letter-spacing: -.5px;
}

.rating {
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: 14px;
  font-weight: 600;
}

.rating__stars {
  color: var(--red);
  font-size: 24px;
  letter-spacing: 2px;
}

.button--primary {
  width: min(100%, 520px);
  min-height: 66px;
  margin-top: 28px;
  padding: 0 34px;
  font-size: 21px;
}

/* Guarantee */

.guarantee {
  width: min(100%, 520px);
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
}

.guarantee__icon {
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  color: var(--red);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Benefits */

.benefits {
  margin-top: 34px;
  display: flex;
  gap: 40px;
}

.benefit {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 800;
}

.benefit__icon {
  font-size: 27px;
}

/* Hero video */

.hero__visual {
  min-width: 0;
  height: 100%;
  padding: 18px 54px 18px 0;
  /* padding: 18px 54px 18px 42px;  */
  background: #fff;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  overflow: hidden;
}

.hero__media-wrap {
  position: relative;
  width: 100%;
  max-width: 760px;
  height: 100%;
  margin-left: auto;
  overflow: hidden;
  border-radius: 26px;
  background: #f5f5f5;
}

.hero__media-wrap video,
.hero__media-wrap .fv,
.hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  background: transparent;
}

/* Shop */

.shop {
  padding: 22px 52px 44px;
  background: #fff;
}

.section-heading {
  text-align: center;
}

.section-heading h2 {
  margin: 0;
  font-size: 33px;
  letter-spacing: -1.5px;
}

.section-heading p {
  margin: 5px 0 0;
  color: #454b58;
  font-size: 14px;
}

.bundle-grid {
  max-width: 1030px;
  margin: 16px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.bundle-card {
  min-height: 158px;
  padding: 26px 20px 18px 48px;
  border: 2px solid #e2e4e8;
  border-radius: 18px;
  display: grid;
  grid-template-columns: 116px 1fr;
  align-items: center;
  gap: 10px;
  position: relative;
  cursor: pointer;
  background: #fff;
  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}

.bundle-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(6, 19, 48, .08);
}

.bundle-card:has(input:checked) {
  border-color: var(--red);
  box-shadow:
    0 0 0 1px var(--red),
    0 16px 34px rgba(245, 31, 37, .10);
}

.bundle-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.bundle-card__radio {
  position: absolute;
  left: 18px;
  top: 24px;
  width: 23px;
  height: 23px;
  border: 2px solid #d5d7dc;
  border-radius: 50%;
  background: #fff;
}

.bundle-card:has(input:checked) .bundle-card__radio {
  border-color: var(--red);
  box-shadow: inset 0 0 0 5px #fff;
  background: var(--red);
}

.popular-label {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  min-width: 148px;
  padding: 5px 16px;
  border-radius: 999px;
  color: #fff;
  background: var(--red);
  text-align: center;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .8px;
}

.bundle-card__image {
  height: 86px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bundle-card__image img {
  width: 112px;
  height: 78px;
  object-fit: cover;
  border-radius: 9px;
  mix-blend-mode: multiply;
}

.bundle-card__image--double img,
.bundle-card__image--triple img {
  position: absolute;
  width: 88px;
  height: 68px;
}

.bundle-card__image--double img:first-child {
  transform: translateX(-18px) rotate(-2deg);
}

.bundle-card__image--double img:last-child {
  transform: translateX(18px) rotate(2deg);
}

.bundle-card__image--triple img:nth-child(1) {
  transform: translateX(-25px) rotate(-3deg);
}

.bundle-card__image--triple img:nth-child(2) {
  z-index: 2;
}

.bundle-card__image--triple img:nth-child(3) {
  transform: translateX(25px) rotate(3deg);
}

.bundle-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.bundle-card__body strong {
  font-size: 17px;
}

.bundle-card__price {
  margin-top: 3px;
  font-size: 25px;
  font-weight: 800;
  letter-spacing: -.8px;
}

.bundle-card__price--red,
.bundle-card__saving {
  color: var(--red);
}

.bundle-card__body small {
  margin-top: 7px;
  color: #6b707a;
  font-size: 11px;
}

.bundle-card__body .bundle-card__saving {
  color: var(--red);
  font-weight: 700;
}

.button--checkout {
  min-width: 330px;
  min-height: 58px;
  margin: 26px auto 0;
  padding: 0 28px;
  display: flex;
}

.secure-note {
  margin: 11px 0 0;
  text-align: center;
  color: #747a85;
  font-size: 12px;
}

/* =========================
   NeoYoon — How it works
   ========================= */

.how-section {
  width: 100%;
  background: #fff;
  color: var(--ink, #0a1530);
}

.how-section__inner {
  width: 100%;
  max-width: var(--max, 1480px);
  margin-inline: auto;
  padding: 90px 54px 80px;
}

.how-heading {
  max-width: 950px;
  margin: 0 auto 42px;
  text-align: center;
}

.how-heading__eyebrow {
  margin: 0 0 12px;
  color: var(--red, #f51f25);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.how-heading h2 {
  margin: 0;
  color: var(--ink, #0a1530);
  font-size: clamp(52px, 5.4vw, 82px);
  line-height: .95;
  font-weight: 800;
  letter-spacing: -5px;
}

.how-heading h2 span {
  display: block;
  margin-top: 9px;
  color: var(--red, #f51f25);
}

.how-heading__description {
  margin: 22px auto 0;
  color: #566071;
  font-size: 19px;
  line-height: 1.55;
}

/* Cards */

.how-steps {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    56px
    minmax(0, 1fr)
    56px
    minmax(0, 1fr);
  align-items: center;
}

.how-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #eceef2;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(6, 19, 48, .08);
}

.how-card__media {
  position: relative;
  height: 330px;
  overflow: hidden;
  background: #f2f2f2;
}

.how-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .45s ease;
}

.how-card:hover .how-card__media img {
  transform: scale(1.025);
}

.how-card__number {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 72px;
  height: 64px;
  padding: 0 18px;
  border-radius: 0 0 18px 0;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--red, #f51f25);
  font-size: 26px;
  font-weight: 800;
}

.how-card__body {
  min-height: 158px;
  padding: 26px 28px 28px;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
}

.how-card__icon,
.how-benefit__icon {
  display: grid;
  place-items: center;
  color: var(--red, #f51f25);
  background: #fff1f1;
}

.how-card__icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
}

.how-card__icon svg {
  width: 42px;
  height: 42px;
}

.how-card__icon svg,
.how-benefit__icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.how-card__copy {
  min-width: 0;
}

.how-card__copy h3 {
  margin: 0;
  font-size: 25px;
  line-height: 1.15;
  letter-spacing: -1px;
}

.how-card__copy p {
  margin: 10px 0 0;
  color: #3f495a;
  font-size: 14px;
  line-height: 1.6;
}

/* Connectors */

.how-connector {
  height: 36px;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
}

.how-connector > span {
  height: 1px;
  flex: 1;
  border-top: 1px dashed rgba(245, 31, 37, .7);
}

.how-connector svg {
  width: 36px;
  height: 36px;
  padding: 9px;
  border-radius: 50%;
  color: #fff;
  background: var(--red, #f51f25);
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Benefits row */

.how-benefits {
  margin-top: 32px;
  padding: 22px 28px;
  border: 1px solid #eceef2;
  border-radius: 22px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  background: #fff;
  box-shadow: 0 14px 42px rgba(6, 19, 48, .055);
}

.how-benefit {
  min-width: 0;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
  border-right: 1px solid #e7e9ee;
}

.how-benefit:first-child {
  padding-left: 0;
}

.how-benefit:last-child {
  padding-right: 0;
  border-right: 0;
}

.how-benefit__icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
}

.how-benefit__icon svg {
  width: 35px;
  height: 35px;
}

.how-benefit strong,
.how-benefit span {
  display: block;
}

.how-benefit strong {
  font-size: 15px;
  line-height: 1.25;
}

.how-benefit span {
  margin-top: 5px;
  color: #657080;
  font-size: 12px;
  line-height: 1.4;
}

/* Review */

.how-review {
  margin-top: 24px;
  padding: 22px 34px;
  border-radius: 22px;
  display: grid;
  grid-template-columns: auto 1px minmax(320px, 1fr) auto;
  align-items: center;
  gap: 34px;
  background:
    linear-gradient(
      90deg,
      rgba(245, 31, 37, .045),
      rgba(245, 31, 37, .018)
    );
}

.how-review__rating {
  display: flex;
  align-items: center;
  gap: 20px;
}

.how-review__stars {
  color: var(--red, #f51f25);
  font-size: 29px;
  letter-spacing: 3px;
  white-space: nowrap;
}

.how-review__score strong,
.how-review__score span {
  display: block;
}

.how-review__score strong {
  font-size: 30px;
  letter-spacing: -1px;
}

.how-review__score span {
  margin-top: 3px;
  color: #4e5969;
  font-size: 13px;
}

.how-review__divider {
  width: 1px;
  height: 54px;
  background: #dedfe4;
}

.how-review__quote {
  min-width: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
}

.how-review__quote-icon {
  color: var(--red, #f51f25);
  font-size: 55px;
  font-weight: 800;
  line-height: .7;
}

.how-review__quote p {
  margin: 0;
  font-size: 17px;
  line-height: 1.45;
}

.how-review__customer {
  display: flex;
  align-items: center;
  gap: 14px;
}

.how-review__customer > img {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 50%;
  object-fit: cover;
}

.how-review__customer strong,
.how-review__customer span {
  display: block;
  white-space: nowrap;
}

.how-review__customer strong {
  font-size: 14px;
}

.how-review__customer span {
  margin-top: 6px;
  color: #3c4656;
  font-size: 12px;
}

.how-review__customer span svg {
  width: 17px;
  height: 17px;
  margin-right: 5px;
  padding: 3px;
  border-radius: 50%;
  vertical-align: -4px;
  color: #fff;
  background: var(--red, #f51f25);
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Tablet */

@media (max-width: 1180px) {
  .how-section__inner {
    padding-inline: 28px;
  }

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

  .how-connector {
    display: none;
  }

  .how-card__media {
    height: 280px;
  }

  .how-card__body {
    padding-inline: 20px;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 14px;
  }

  .how-card__icon {
    width: 58px;
    height: 58px;
  }

  .how-card__icon svg {
    width: 34px;
    height: 34px;
  }

  .how-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 0;
  }

  .how-benefit:nth-child(3) {
    border-right: 0;
  }

  .how-benefit:nth-child(4) {
    padding-left: 0;
  }

  .how-review {
    grid-template-columns: auto 1px 1fr;
  }

  .how-review__customer {
    grid-column: 3;
  }
}

/* Mobile */

@media (max-width: 840px) {
  .how-section__inner {
    padding: 66px 20px;
  }

  .how-heading {
    margin-bottom: 32px;
    text-align: left;
  }

  .how-heading h2 {
    font-size: clamp(44px, 12vw, 62px);
    letter-spacing: -3px;
  }

  .how-heading__description {
    margin-left: 0;
    font-size: 16px;
  }

  .how-steps {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .how-card__media {
    height: min(75vw, 420px);
  }

  .how-card__body {
    min-height: 0;
  }

  .how-benefits {
    padding: 22px;
    grid-template-columns: 1fr 1fr;
    gap: 25px 0;
  }

  .how-benefit,
  .how-benefit:first-child,
  .how-benefit:nth-child(4),
  .how-benefit:last-child {
    padding: 0 16px;
    border-right: 0;
  }

  .how-benefit:nth-child(odd) {
    padding-left: 0;
    border-right: 1px solid #e7e9ee;
  }

  .how-benefit:nth-child(even) {
    padding-right: 0;
  }

  .how-benefit:last-child {
    grid-column: 1 / -1;
    padding-top: 2px;
    border-right: 0;
  }

  .how-review {
    padding: 26px 22px;
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .how-review__rating {
    justify-content: space-between;
  }

  .how-review__divider {
    width: 100%;
    height: 1px;
  }

  .how-review__customer {
    grid-column: auto;
  }
}

@media (max-width: 520px) {
  .how-section__inner {
    padding-inline: 16px;
  }

  .how-heading h2 {
    font-size: 43px;
  }

  .how-card {
    border-radius: 20px;
  }

  .how-card__media {
    height: 310px;
  }

  .how-card__number {
    min-width: 62px;
    height: 56px;
    font-size: 22px;
  }

  .how-card__body {
    padding: 22px 18px;
    grid-template-columns: 54px minmax(0, 1fr);
  }

  .how-card__icon {
    width: 54px;
    height: 54px;
  }

  .how-card__copy h3 {
    font-size: 21px;
  }

  .how-benefits {
    grid-template-columns: 1fr;
  }

  .how-benefit,
  .how-benefit:first-child,
  .how-benefit:nth-child(4),
  .how-benefit:last-child,
  .how-benefit:nth-child(odd),
  .how-benefit:nth-child(even) {
    padding: 0 0 18px;
    border-right: 0;
    border-bottom: 1px solid #e7e9ee;
  }

  .how-benefit:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .how-review__rating {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .how-review__stars {
    font-size: 25px;
  }
}

/* =========================
   Why it feels so good
   ========================= */

.feel-section {
  width: 100%;
  overflow: hidden;
  color: var(--ink, #0a1530);
  background:
    radial-gradient(circle at 50% 48%, rgba(245, 31, 37, .06), transparent 32%),
    linear-gradient(180deg, #fffafa 0%, #fff 100%);
}

.feel-section__inner {
  width: 100%;
  max-width: var(--max, 1480px);
  margin-inline: auto;
  padding: 92px 54px 84px;
}

.feel-heading {
  max-width: 880px;
  margin: 0 auto 48px;
  text-align: center;
}

.feel-heading__eyebrow {
  margin: 0 0 12px;
  color: var(--red, #f51f25);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.feel-heading h2 {
  margin: 0;
  font-size: clamp(48px, 5.2vw, 76px);
  line-height: .98;
  letter-spacing: -4.5px;
  font-weight: 800;
}

.feel-heading h2 span {
  display: block;
  margin-top: 7px;
}

.feel-heading h2 span::first-letter {
  color: inherit;
}

.feel-heading h2 span {
  color: var(--ink, #0a1530);
}

.feel-heading h2 span strong {
  color: var(--red, #f51f25);
}

.feel-heading > p:last-child {
  max-width: 720px;
  margin: 20px auto 0;
  color: #566071;
  font-size: 18px;
  line-height: 1.6;
}

/* Main showcase */

.feel-showcase {
  min-height: 470px;
  display: grid;
  grid-template-columns: minmax(275px, .82fr) minmax(430px, 1.35fr) minmax(275px, .82fr);
  align-items: center;
  gap: 20px;
}

.feel-callouts {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 48px;
}

.feel-callout {
  min-width: 0;
  display: grid;
  align-items: center;
  position: relative;
}

.feel-callouts--left .feel-callout {
  grid-template-columns: 138px minmax(0, 1fr);
  gap: 22px;
}

.feel-callouts--right .feel-callout {
  grid-template-columns: minmax(0, 1fr) 138px;
  gap: 22px;
}

.feel-callout__image {
  width: 138px;
  height: 138px;
  padding: 7px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 14px 38px rgba(6, 19, 48, .11);
}

.feel-callout__image img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.feel-callout__copy {
  min-width: 0;
}

.feel-callout__copy h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -.6px;
}

.feel-callout__copy p {
  margin: 9px 0 0;
  color: #4f5a6c;
  font-size: 14px;
  line-height: 1.62;
}

.feel-callout__line {
  position: absolute;
  top: 50%;
  width: 100px;
  border-top: 1px dashed rgba(245, 31, 37, .7);
  pointer-events: none;
}

.feel-callout__line::after {
  content: "";
  position: absolute;
  top: -6px;
  width: 12px;
  height: 12px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--red, #f51f25);
  box-shadow: 0 3px 10px rgba(245, 31, 37, .25);
}

.feel-callouts--left .feel-callout__line {
  right: -94px;
}

.feel-callouts--left .feel-callout__line::after {
  right: -1px;
}

.feel-callouts--right .feel-callout__line {
  left: -94px;
}

.feel-callouts--right .feel-callout__line::after {
  left: -1px;
}

/* Product */

.feel-product {
  min-width: 0;
  height: 450px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.feel-product__glow {
  position: absolute;
  width: 88%;
  height: 72%;
  border-radius: 50%;
  background: rgba(245, 31, 37, .07);
  filter: blur(42px);
}

.feel-product__image {
  width: 100%;
  max-width: 610px;
  max-height: 440px;
  position: relative;
  z-index: 1;
  object-fit: contain;
  filter: drop-shadow(0 25px 28px rgba(6, 19, 48, .20));
}

.feel-product::after {
  content: "";
  position: absolute;
  left: 16%;
  right: 16%;
  bottom: 38px;
  height: 24px;
  border-radius: 50%;
  background: rgba(6, 19, 48, .16);
  filter: blur(18px);
}

.feel-product__point {
  position: absolute;
  z-index: 3;
  width: 16px;
  height: 16px;
  border: 5px solid #fff;
  border-radius: 50%;
  background: var(--red, #f51f25);
  box-shadow: 0 4px 12px rgba(245, 31, 37, .3);
}

.feel-product__point--one {
  top: 28%;
  left: 25%;
}

.feel-product__point--two {
  bottom: 26%;
  left: 27%;
}

.feel-product__point--three {
  top: 38%;
  right: 25%;
}

.feel-product__point--four {
  bottom: 22%;
  right: 22%;
}

/* Highlight */

.feel-highlight {
  max-width: 700px;
  margin: 10px auto 34px;
  padding: 17px 24px;
  border: 1px solid rgba(6, 19, 48, .06);
  border-radius: 18px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 13px 35px rgba(6, 19, 48, .07);
}

.feel-highlight__icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  color: var(--red, #f51f25);
}

.feel-highlight__icon svg {
  width: 42px;
  height: 42px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.feel-highlight p {
  margin: 0;
  color: #394355;
  font-size: 16px;
  line-height: 1.55;
}

.feel-highlight strong {
  color: var(--ink, #0a1530);
}

/* Benefits */

.feel-benefits {
  padding: 26px 28px;
  border: 1px solid #eceef2;
  border-radius: 22px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 16px 44px rgba(6, 19, 48, .06);
}

.feel-benefit {
  min-width: 0;
  padding: 0 22px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  border-right: 1px solid #e5e8ed;
}

.feel-benefit:first-child {
  padding-left: 0;
}

.feel-benefit:last-child {
  padding-right: 0;
  border-right: 0;
}

.feel-benefit__icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--red, #f51f25);
  background: #fff0f0;
}

.feel-benefit__icon svg {
  width: 35px;
  height: 35px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.feel-benefit h3 {
  margin: 0;
  font-size: 14px;
  line-height: 1.3;
}

.feel-benefit p {
  margin: 6px 0 0;
  color: #647080;
  font-size: 12px;
  line-height: 1.45;
}

/* Tablet */

@media (max-width: 1180px) {
  .feel-section__inner {
    padding-inline: 28px;
  }

  .feel-showcase {
    grid-template-columns: 1fr 1.2fr 1fr;
  }

  .feel-callouts--left .feel-callout,
  .feel-callouts--right .feel-callout {
    grid-template-columns: 100px minmax(0, 1fr);
  }

  .feel-callouts--right .feel-callout {
    grid-template-columns: minmax(0, 1fr) 100px;
  }

  .feel-callout__image {
    width: 100px;
    height: 100px;
  }

  .feel-callout__line {
    display: none;
  }

  .feel-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 0;
  }

  .feel-benefit:nth-child(3) {
    border-right: 0;
  }

  .feel-benefit:nth-child(4) {
    padding-left: 0;
  }
}

/* Mobile */

@media (max-width: 840px) {
  .feel-section__inner {
    padding: 68px 20px;
  }

  .feel-heading {
    margin-bottom: 38px;
    text-align: left;
  }

  .feel-heading h2 {
    font-size: clamp(43px, 12vw, 62px);
    letter-spacing: -3px;
  }

  .feel-heading > p:last-child {
    margin-left: 0;
    font-size: 16px;
  }

  .feel-showcase {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 32px;
  }

  .feel-product {
    order: -1;
    width: 100%;
    height: 350px;
  }

  .feel-product__image {
    max-height: 330px;
  }

  .feel-callouts {
    width: 100%;
    gap: 18px;
  }

  .feel-callout,
  .feel-callouts--left .feel-callout,
  .feel-callouts--right .feel-callout {
    padding: 16px;
    border: 1px solid #eceef2;
    border-radius: 18px;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 16px;
    background: #fff;
  }

  .feel-callouts--right .feel-callout__image {
    grid-column: 1;
    grid-row: 1;
  }

  .feel-callouts--right .feel-callout__copy {
    grid-column: 2;
    grid-row: 1;
  }

  .feel-callout__image {
    width: 82px;
    height: 82px;
  }

  .feel-highlight {
    margin-top: 28px;
  }

  .feel-benefits {
    grid-template-columns: 1fr 1fr;
  }

  .feel-benefit {
    padding: 0 18px;
    border-right: 0;
  }

  .feel-benefit:nth-child(odd) {
    padding-left: 0;
    border-right: 1px solid #e5e8ed;
  }

  .feel-benefit:nth-child(even) {
    padding-right: 0;
  }

  .feel-benefit:last-child {
    grid-column: 1 / -1;
    padding-top: 4px;
    border-right: 0;
  }
}

@media (max-width: 520px) {
  .feel-section__inner {
    padding-inline: 16px;
  }

  .feel-heading h2 {
    font-size: 41px;
  }

  .feel-product {
    height: 290px;
  }

  .feel-product__image {
    max-height: 270px;
  }

  .feel-highlight {
    padding: 16px;
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .feel-highlight__icon {
    width: 44px;
    height: 44px;
  }

  .feel-highlight p {
    font-size: 14px;
  }

  .feel-benefits {
    grid-template-columns: 1fr;
  }

  .feel-benefit,
  .feel-benefit:first-child,
  .feel-benefit:nth-child(4),
  .feel-benefit:last-child,
  .feel-benefit:nth-child(odd),
  .feel-benefit:nth-child(even) {
    padding: 0 0 18px;
    border-right: 0;
    border-bottom: 1px solid #e5e8ed;
  }

  .feel-benefit:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }
}

/* About */

.about {
  padding: 76px 52px;
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 70px;
  align-items: end;
  background: #fff;
}

.eyebrow {
  margin: 0 0 14px;
  color: var(--red);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}

.about h2 {
  max-width: 650px;
  margin: 0;
  font-size: 45px;
  line-height: 1.08;
  letter-spacing: -2px;
}

.about > p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.75;
}

/* Tablet */

@media (max-width: 1120px) {
  .header {
    padding-inline: 28px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
  }

  .nav,
  .header__actions {
    display: none;
  }

  .nav {
    position: absolute;
    top: 89px;
    left: 0;
    right: 0;
    padding: 22px 28px;
    background: #fff;
    box-shadow: 0 14px 26px rgba(6,19,48,.08);
  }

  .nav--open {
    display: flex;
  }

  .menu-button {
    width: 42px;
    height: 42px;
    padding: 10px;
    border: 0;
    background: transparent;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    justify-self: end;
  }

  .menu-button span {
    display: block;
    width: 100%;
    height: 2px;
    background: var(--navy);
  }

  .hero__content {
    grid-template-columns: 1fr 1fr;
  }

  .hero__copy {
    padding: 42px 28px;
  }

  .hero__visual {
    padding: 18px 28px 18px 14px;
  }

  .hero__media-wrap {
    width: 94%;
  }

  .hero h1 {
    font-size: 50px;
  }

  .hero__description {
    font-size: 18px;
  }

  .bundle-card {
    grid-template-columns: 90px 1fr;
    padding-left: 42px;
  }
}

/* Mobile */

@media (max-width: 840px) {
  .announcement {
    overflow-x: auto;
    white-space: nowrap;
  }

  .announcement__inner {
    width: max-content;
    min-width: 100%;
    padding: 0 20px;
    justify-content: flex-start;
    gap: 22px;
  }

  .announcement__divider {
    display: none;
  }

  .header {
    min-height: 74px;
    padding-inline: 22px;
  }

  .brand__name {
    font-size: 29px;
  }

  .brand__tagline {
    display: none;
  }

  .nav {
    top: 73px;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .hero__content {
    height: auto;
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .hero__visual {
    order: -1;
    height: 420px;
    min-height: 420px;
    padding: 14px 14px 0;
  }

  .hero__media-wrap {
    width: 100%;
    max-width: none;
    border-radius: 20px;
  }

  .hero__copy {
    padding: 38px 22px 30px;
  }

  .hero h1 {
    font-size: clamp(45px, 12vw, 62px);
    letter-spacing: -3px;
  }

  .hero__description {
    max-width: none;
  }

  .button--primary,
  .guarantee {
    width: 100%;
  }

  .benefits {
    justify-content: space-between;
    gap: 12px;
  }

  .bundle-grid {
    grid-template-columns: 1fr;
    max-width: 560px;
  }

  .shop {
    padding: 34px 20px 46px;
  }

  .bundle-card {
    grid-template-columns: 110px 1fr;
  }

  .feature-strip {
    grid-template-columns: 1fr;
    padding: 52px 22px;
  }

  .feature-strip article {
    padding: 18px 10px 24px 22px;
  }

  .about {
    grid-template-columns: 1fr;
    padding: 58px 22px;
    gap: 28px;
  }

  .about h2 {
    font-size: 38px;
  }
}

@media (max-width: 520px) {
  .announcement {
    min-height: 42px;
    font-size: 11px;
  }

  .hero__visual {
    height: 340px;
    min-height: 340px;
  }

  .hero h1 {
    font-size: 44px;
  }

  .hero__title-line {
    white-space: normal;
  }

  .hero__description {
    font-size: 17px;
  }

  .hero__description strong {
    display: inline;
  }

  .rating {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .benefits {
    align-items: flex-start;
  }

  .benefit {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    font-size: 11px;
  }

  .bundle-card {
    min-height: 145px;
    grid-template-columns: 95px 1fr;
    padding-right: 12px;
  }

  .button--checkout {
    width: 100%;
    min-width: 0;
  }
}

/* ==================================================
   Improved conversion sections — header/hero untouched
   ================================================== */
.section-kicker{margin:0 0 12px;color:var(--red);font-size:12px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase}
.purchase-section,.material-section,.ritual-section,.textures-section,.trust-section,.faq-section{width:100%}
.purchase-section__inner,.material-section__inner,.ritual-section__inner,.textures-section__inner,.trust-section__inner,.faq-section__inner{width:100%;max-width:var(--max);margin-inline:auto}

.purchase-section{background:#fff}
.purchase-section__inner{padding:72px 54px 82px}
.purchase-heading{max-width:760px;margin:0 auto 34px;text-align:center}
.purchase-heading h2{margin:0;font-size:clamp(38px,4vw,58px);line-height:1.05;letter-spacing:-2.8px}
.purchase-heading>p:last-child{max-width:620px;margin:15px auto 0;color:var(--muted);font-size:16px;line-height:1.65}
.purchase-grid{max-width:1090px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.purchase-card{min-width:0;min-height:238px;padding:28px 22px 24px;border:1.5px solid #dfe2e8;border-radius:22px;display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:18px;position:relative;background:#fff;cursor:pointer;transition:.22s ease}
.purchase-card:hover{transform:translateY(-4px);box-shadow:0 18px 46px rgba(6,19,48,.09)}
.purchase-card:has(input:checked){border-color:var(--red);box-shadow:0 0 0 1px var(--red),0 18px 44px rgba(245,31,37,.11)}
.purchase-card input{position:absolute;opacity:0;pointer-events:none}
.purchase-card__badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);padding:6px 18px;border-radius:999px;color:#fff;background:var(--red);font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}
.purchase-card__radio{position:absolute;top:18px;left:18px;width:23px;height:23px;border:2px solid #cfd3db;border-radius:50%;background:#fff}
.purchase-card:has(input:checked) .purchase-card__radio{border-color:var(--red);box-shadow:inset 0 0 0 5px #fff;background:var(--red)}
.purchase-card__media{height:112px;display:flex;align-items:center;justify-content:center;position:relative}
.purchase-card__media img{width:116px;height:96px;border-radius:12px;object-fit:cover;mix-blend-mode:multiply}
.purchase-card__media--double img,.purchase-card__media--triple img{position:absolute;width:92px;height:78px}
.purchase-card__media--double img:first-child{transform:translateX(-16px) rotate(-3deg)}
.purchase-card__media--double img:last-child{transform:translateX(16px) rotate(3deg)}
.purchase-card__media--triple img:nth-child(1){transform:translateX(-24px) rotate(-4deg)}
.purchase-card__media--triple img:nth-child(2){z-index:2}
.purchase-card__media--triple img:nth-child(3){transform:translateX(24px) rotate(4deg)}
.purchase-card__content{display:flex;flex-direction:column;align-items:flex-start}
.purchase-card__topline{color:#747b88;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}
.purchase-card__content strong{margin-top:5px;font-size:22px}
.purchase-card__price{margin-top:2px;font-size:30px;font-weight:800;letter-spacing:-1px}
.purchase-card__price--accent,.purchase-card__saving{color:var(--red)}
.purchase-card__content small{margin-top:8px;color:#6e7582;font-size:12px;line-height:1.45}
.purchase-card__saving{font-weight:700}
.purchase-cta{width:min(100%,430px);min-height:62px;margin:28px auto 0;display:flex;font-size:18px}
.purchase-reassurance{margin-top:17px;display:flex;justify-content:center;gap:28px;color:#5e6673;font-size:12px;font-weight:700;flex-wrap:wrap}
.purchase-reassurance span{display:flex;align-items:center;gap:8px}
.purchase-reassurance svg{width:20px;height:20px;fill:none;stroke:var(--red);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.material-section{background:linear-gradient(180deg,#fff8f8 0%,#fff 100%)}
.material-section__inner{padding:92px 54px}
.split-heading{display:grid;grid-template-columns:1.1fr .8fr;gap:70px;align-items:end;margin-bottom:50px}
.split-heading h2{max-width:760px;margin:0;font-size:clamp(45px,4.7vw,70px);line-height:.98;letter-spacing:-4px}
.split-heading>p{margin:0;color:var(--muted);font-size:17px;line-height:1.72}
.material-showcase{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);gap:52px;align-items:center}
.material-product{min-height:520px;position:relative;display:grid;place-items:center;border-radius:34px;background:radial-gradient(circle at 50% 42%,rgba(245,31,37,.12),transparent 48%),#fff;overflow:hidden}
.material-product__halo{position:absolute;width:70%;height:55%;border-radius:50%;background:rgba(245,31,37,.09);filter:blur(45px)}
.material-product img{width:88%;max-height:470px;position:relative;z-index:1;object-fit:contain;filter:drop-shadow(0 28px 28px rgba(6,19,48,.18))}
.material-features{display:grid;gap:14px}
.material-feature{padding:22px;border:1px solid #e8eaf0;border-radius:20px;display:grid;grid-template-columns:58px minmax(0,1fr);gap:17px;align-items:center;background:#fff;box-shadow:0 12px 34px rgba(6,19,48,.045)}
.material-feature__icon,.ritual-card__icon{display:grid;place-items:center;color:var(--red);background:#fff0f0;border-radius:50%}
.material-feature__icon{width:58px;height:58px}
.material-feature svg,.ritual-card__icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.material-feature h3{margin:0;font-size:18px;letter-spacing:-.4px}
.material-feature p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}

.ritual-section{background:#fff}
.ritual-section__inner{padding:92px 54px}
.ritual-heading{max-width:920px;margin:0 auto 42px;text-align:center}
.ritual-heading h2{margin:0;font-size:clamp(48px,5.1vw,76px);line-height:.96;letter-spacing:-4.5px}
.ritual-heading h2 span{display:block;margin-top:8px;color:var(--red)}
.ritual-heading>p:last-child{max-width:680px;margin:20px auto 0;color:var(--muted);font-size:17px;line-height:1.65}
.ritual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ritual-card{overflow:hidden;border:1px solid #e5e8ee;border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(6,19,48,.065)}
.ritual-card__media{height:330px;position:relative;overflow:hidden;background:#f2f2f2}
.ritual-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.ritual-card:hover .ritual-card__media img{transform:scale(1.025)}
.ritual-card__media span{position:absolute;top:0;left:0;min-width:66px;height:58px;padding:0 18px;border-radius:0 0 17px 0;display:grid;place-items:center;color:#fff;background:var(--red);font-size:22px;font-weight:800}
.ritual-card__body{min-height:150px;padding:25px 26px 27px;display:grid;grid-template-columns:62px minmax(0,1fr);gap:17px;align-items:center}
.ritual-card__icon{width:62px;height:62px}
.ritual-card h3{margin:0;font-size:23px;letter-spacing:-.7px}
.ritual-card p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.6}

.textures-section{background:#f7f8fa}
.textures-section__inner{padding:92px 54px}
.textures-heading{max-width:830px;margin:0 auto 42px;text-align:center}
.textures-heading h2{margin:0;font-size:clamp(43px,4.7vw,68px);line-height:1;letter-spacing:-3.8px}
.textures-heading>p:last-child{margin:17px auto 0;color:var(--muted);font-size:17px;line-height:1.65}
.textures-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.texture-card{padding:20px 20px 24px;border:1px solid #e4e7ec;border-radius:22px;position:relative;background:#fff;text-align:center;box-shadow:0 14px 38px rgba(6,19,48,.05)}
.texture-card__media{height:260px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(180deg,#f7f7f8,#fff);overflow:hidden}
.texture-card__media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .35s ease}
.texture-card:hover img{transform:scale(1.05)}
.texture-card>span{position:absolute;top:30px;left:30px;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:#fff;background:var(--red);font-size:12px;font-weight:800}
.texture-card h3{margin:19px 0 0;font-size:21px}
.texture-card p{margin:7px 0 0;color:var(--muted);font-size:13px}

.trust-section{background:#fff}
.trust-section__inner{padding:34px 54px;border-top:1px solid #eceef2;border-bottom:1px solid #eceef2;display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center}
.trust-rating{display:grid;grid-template-columns:auto auto;column-gap:15px;align-items:center}
.trust-stars{grid-row:1/3;color:var(--red);font-size:28px;letter-spacing:2px;white-space:nowrap}
.trust-rating strong{font-size:27px}
.trust-rating small{color:var(--muted);font-size:12px}
.trust-section blockquote{margin:0;padding:0 38px;border-left:1px solid #e0e3e8;border-right:1px solid #e0e3e8;font-size:18px;line-height:1.5;text-align:center}
.trust-customer{display:flex;align-items:center;gap:12px}
.trust-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--navy);font-weight:800}
.trust-customer strong,.trust-customer span{display:block;white-space:nowrap}
.trust-customer span{margin-top:4px;color:var(--red);font-size:12px;font-weight:700}

.faq-section{background:#fff}
.faq-section__inner{padding:96px 54px;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}
.faq-intro{position:sticky;top:28px}
.faq-intro h2{max-width:520px;margin:0;font-size:clamp(40px,4vw,60px);line-height:1.02;letter-spacing:-3px}
.faq-intro>p:last-of-type{max-width:500px;margin:18px 0 0;color:var(--muted);font-size:16px;line-height:1.7}
.faq-cta{min-width:220px;min-height:56px;margin-top:25px}
.faq-list{border-top:1px solid #e2e5ea}
.faq-list details{border-bottom:1px solid #e2e5ea}
.faq-list summary{padding:23px 2px;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;font-size:17px;font-weight:800}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:24px;color:var(--red);font-weight:500;transition:transform .2s ease}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{margin:-3px 0 22px;max-width:720px;color:var(--muted);font-size:14px;line-height:1.7}

@media(max-width:1120px){
  .purchase-section__inner,.material-section__inner,.ritual-section__inner,.textures-section__inner,.trust-section__inner,.faq-section__inner{padding-left:28px;padding-right:28px}
  .material-showcase{grid-template-columns:1fr 1fr;gap:28px}.material-product{min-height:440px}
  .textures-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.texture-card__media{height:280px}
  .trust-section__inner{grid-template-columns:1fr 1fr}.trust-section blockquote{grid-column:1/-1;grid-row:2;border:0;border-top:1px solid #e0e3e8;padding:24px 0 0}.trust-customer{justify-self:end}
}
@media(max-width:840px){
  .purchase-section__inner,.material-section__inner,.ritual-section__inner,.textures-section__inner,.trust-section__inner,.faq-section__inner{padding:64px 20px}
  .purchase-grid,.ritual-grid{grid-template-columns:1fr}.purchase-card{max-width:560px;width:100%;margin-inline:auto}
  .purchase-reassurance{gap:16px}
  .split-heading,.material-showcase,.faq-section__inner{grid-template-columns:1fr;gap:32px}.split-heading{align-items:start}.material-product{min-height:380px;order:-1}.faq-intro{position:static}
  .ritual-heading,.textures-heading,.purchase-heading{text-align:left;margin-left:0}.ritual-heading>p:last-child,.textures-heading>p:last-child,.purchase-heading>p:last-child{margin-left:0}
  .ritual-card__media{height:min(76vw,420px)}
  .textures-grid{grid-template-columns:1fr 1fr}.texture-card__media{height:230px}
  .trust-section__inner{grid-template-columns:1fr;gap:22px}.trust-customer{justify-self:start}.trust-section blockquote{grid-column:auto;grid-row:auto;text-align:left}
}
@media(max-width:520px){
  .purchase-section__inner,.material-section__inner,.ritual-section__inner,.textures-section__inner,.trust-section__inner,.faq-section__inner{padding-left:16px;padding-right:16px}
  .purchase-card{grid-template-columns:92px minmax(0,1fr);padding-left:18px}.purchase-card__media img{width:92px;height:78px}.purchase-reassurance{align-items:flex-start;flex-direction:column;margin-left:auto;margin-right:auto;width:max-content}
  .split-heading h2,.ritual-heading h2,.textures-heading h2,.faq-intro h2{font-size:40px;letter-spacing:-2.5px}
  .material-product{min-height:300px}.material-feature{grid-template-columns:52px minmax(0,1fr);padding:18px}.material-feature__icon{width:52px;height:52px}
  .ritual-card__body{grid-template-columns:54px minmax(0,1fr);padding:21px 18px}.ritual-card__icon{width:54px;height:54px}.ritual-card__media{height:310px}
  .textures-grid{grid-template-columns:1fr}.texture-card__media{height:300px}
  .trust-stars{font-size:24px}.trust-section blockquote{font-size:16px}
}

/* ===== Final added sections ===== */

.story-label {
  width: max-content;
  min-height: 34px;
  padding: 0 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #fff;
  background: var(--red);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
}

.story-label--green { background: #269d55; }

.story-textures {
  margin-top: 26px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.story-textures > div {
  padding: 10px;
  border: 1px solid #e8eaee;
  border-radius: 15px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  background: #fff;
}

.story-textures img {
  width: 54px;
  height: 54px;
  border-radius: 12px;
  object-fit: contain;
  background: #f4f5f7;
}

.story-textures strong,
.story-textures small { display: block; }

.story-textures strong { font-size: 13px; }

.story-textures small {
  margin-top: 4px;
  color: #747c88;
  font-size: 10px;
}

.story-media--video,
.story-media--weight,
.story-media--product { padding: 0; }

.story-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.story-media--weight img,
.story-media--product img { object-fit: contain; }

.included-section {
  width: 100%;
  background: #f8f9fb;
}

.included-section__inner {
  width: 100%;
  max-width: var(--max);
  margin-inline: auto;
  padding: 92px 54px;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 70px;
}

.included-copy h2,
.reviews-heading h2 {
  margin: 12px 0 0;
  font-size: clamp(42px, 4.2vw, 64px);
  line-height: 1;
  letter-spacing: -3.6px;
}

.included-copy > p:not(.section-kicker) {
  max-width: 560px;
  margin: 20px 0 0;
  color: #596273;
  font-size: 17px;
  line-height: 1.65;
}

.included-list {
  margin: 32px 0 0;
  padding: 0;
  display: grid;
  gap: 14px;
  list-style: none;
}

.included-list li {
  position: relative;
  padding: 18px 20px 18px 52px;
  border: 1px solid #e4e7ec;
  border-radius: 16px;
  background: #fff;
}

.included-list li::before {
  content: "✓";
  position: absolute;
  top: 19px;
  left: 18px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--red);
  font-size: 11px;
  font-weight: 800;
}

.included-list strong,
.included-list span { display: block; }

.included-list span {
  margin-top: 4px;
  color: #737b88;
  font-size: 12px;
}

.included-media {
  height: 560px;
  padding: 18px;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 24px 65px rgba(6,19,48,.09);
}

.included-media img {
  width: 100%;
  height: 100%;
  border-radius: 20px;
  object-fit: cover;
}

.reviews-section {
  width: 100%;
  background: #fff;
}

.reviews-section__inner {
  width: 100%;
  max-width: var(--max);
  margin-inline: auto;
  padding: 92px 54px;
}

.reviews-heading {
  max-width: 800px;
  margin: 0 auto 42px;
  text-align: center;
}

.reviews-summary {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.reviews-stars,
.review-card__stars {
  color: var(--red);
  letter-spacing: 2px;
}

.reviews-summary strong { font-size: 24px; }

.reviews-summary small { color: #687181; }

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

.review-card {
  padding: 30px;
  border: 1px solid #e8eaee;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 15px 42px rgba(6,19,48,.055);
}

.review-card blockquote {
  min-height: 108px;
  margin: 18px 0 28px;
  font-size: 17px;
  line-height: 1.6;
}

.review-card footer {
  display: flex;
  align-items: center;
  gap: 12px;
}

.review-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--navy);
  font-weight: 800;
}

.review-card footer strong,
.review-card footer small { display: block; }

.review-card footer small {
  margin-top: 3px;
  color: #747c88;
}

.final-cta {
  width: 100%;
  padding: 0 20px 76px;
  background: #fff;
}

.final-cta__inner {
  width: 100%;
  max-width: calc(var(--max) - 108px);
  margin-inline: auto;
  padding: 50px 54px;
  border-radius: 30px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 50px;
  color: #fff;
  background: var(--navy);
}

.final-cta h2 {
  max-width: 720px;
  margin: 11px 0 0;
  font-size: clamp(40px, 4.3vw, 64px);
  line-height: 1;
  letter-spacing: -3.4px;
}

.final-cta p:not(.section-kicker) {
  max-width: 650px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.7);
  font-size: 16px;
  line-height: 1.6;
}

.final-cta .section-kicker { color: #ff6e72; }

.final-cta__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.final-cta__button {
  min-width: 310px;
  min-height: 64px;
  padding-inline: 28px;
  font-size: 18px;
}

.final-cta__actions > span {
  color: rgba(255,255,255,.7);
  font-size: 12px;
}

.site-footer {
  width: 100%;
  border-top: 1px solid #e8eaee;
  background: #fff;
}

.site-footer__inner {
  width: 100%;
  max-width: var(--max);
  margin-inline: auto;
  padding: 36px 54px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 35px;
}

.site-footer nav {
  display: flex;
  gap: 28px;
  font-size: 13px;
  font-weight: 700;
}

.site-footer__inner > p {
  justify-self: end;
  margin: 0;
  color: #7b828e;
  font-size: 12px;
}

.brand--footer .brand__name { font-size: 28px; }

@media (max-width: 1120px) {
  .included-section__inner,
  .reviews-section__inner { padding-inline: 28px; }

  .included-section__inner { gap: 38px; }

  .included-media { height: 470px; }

  .final-cta__inner {
    max-width: calc(100% - 16px);
    padding-inline: 38px;
  }

  .site-footer__inner { padding-inline: 28px; }
}

@media (max-width: 840px) {
  .story-textures { grid-template-columns: 1fr 1fr; }

  .included-section__inner {
    padding: 68px 22px;
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .included-media {
    order: -1;
    height: min(82vw, 480px);
  }

  .reviews-section__inner { padding: 68px 22px; }

  .reviews-heading { text-align: left; }

  .reviews-summary {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .reviews-grid { grid-template-columns: 1fr; }

  .review-card blockquote { min-height: 0; }

  .final-cta {
    padding: 0 14px 58px;
  }

  .final-cta__inner {
    padding: 40px 26px;
    grid-template-columns: 1fr;
  }

  .final-cta__actions { align-items: stretch; }

  .final-cta__button {
    width: 100%;
    min-width: 0;
  }

  .site-footer__inner {
    padding: 34px 22px;
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .site-footer__inner > p { justify-self: start; }
}

@media (max-width: 520px) {
  .story-textures { grid-template-columns: 1fr; }

  .included-section__inner,
  .reviews-section__inner { padding-inline: 16px; }

  .included-copy h2,
  .reviews-heading h2 {
    font-size: 40px;
    letter-spacing: -2.5px;
  }

  .included-media {
    height: 340px;
    padding: 10px;
    border-radius: 20px;
  }

  .review-card { padding: 24px 20px; }

  .final-cta h2 {
    font-size: 39px;
    letter-spacing: -2.5px;
  }

  .site-footer nav {
    flex-wrap: wrap;
    gap: 16px 22px;
  }
}

/* =========================
   Compact visual story
   ========================= */

.visual-story {
  width: 100%;
  background: #fff;
}

.visual-story__inner {
  width: 100%;
  max-width: var(--max);
  margin-inline: auto;
  padding: 84px 54px 92px;
}

.visual-story__heading {
  max-width: 760px;
  margin: 0 auto 38px;
  text-align: center;
}

.visual-story__heading h2 {
  margin: 10px 0 0;
  font-size: clamp(40px, 4.2vw, 62px);
  line-height: 1;
  letter-spacing: -3.4px;
}

.visual-story__heading > p:last-child {
  max-width: 650px;
  margin: 18px auto 0;
  color: #687181;
  font-size: 16px;
  line-height: 1.65;
}

.visual-story__grid {
  max-width: 1180px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.visual-card {
  margin: 0;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e8eaee;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(6, 19, 48, .06);
}

.visual-card--wide {
  grid-column: 1 / -1;
}

.visual-card img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.visual-card:not(.visual-card--wide) img {
  aspect-ratio: 1 / 1;
}

.visual-card--safety {
  max-width: calc(50% - 11px);
}

.visual-story__cta {
  max-width: 1180px;
  margin: 30px auto 0;
  padding: 24px 26px;
  border-radius: 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 30px;
  background: #fff2ed;
}

.visual-story__cta strong,
.visual-story__cta span {
  display: block;
}

.visual-story__cta strong {
  font-size: 21px;
  letter-spacing: -.5px;
}

.visual-story__cta span {
  margin-top: 6px;
  color: #687181;
  font-size: 13px;
}

.visual-story__cta .button {
  min-width: 210px;
  min-height: 54px;
  padding-inline: 24px;
}

@media (max-width: 840px) {
  .visual-story__inner {
    padding: 64px 20px 72px;
  }

  .visual-story__heading {
    margin-bottom: 28px;
    text-align: left;
  }

  .visual-story__heading h2 {
    font-size: 42px;
    letter-spacing: -2.7px;
  }

  .visual-story__heading > p:last-child {
    margin-left: 0;
  }

  .visual-story__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .visual-card--wide,
  .visual-card--safety {
    grid-column: auto;
    max-width: none;
  }

  .visual-story__cta {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .visual-story__cta .button {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .visual-story__inner {
    padding-inline: 14px;
  }

  .visual-card {
    border-radius: 18px;
  }

  .visual-story__heading h2 {
    font-size: 38px;
  }
}

/* =========================================================
   Details v2 — usage, magnetic motion, textures, weight
   ========================================================= */


.details-media--video {
  padding: 0;
}

.details-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.textures-wide {
  max-width: 1220px;
  margin: 76px auto 0;
}

.textures-wide__heading {
  max-width: 780px;
  margin: 0 auto 30px;
  text-align: center;
}

.textures-wide__heading h3 {
  margin: 10px 0 0;
  color: var(--navy);
  font-size: clamp(42px, 4.5vw, 66px);
  line-height: 1;
  letter-spacing: -3.5px;
}

.textures-wide__heading > p:last-child {
  max-width: 620px;
  margin: 18px auto 0;
  color: #5f6876;
  font-size: 16px;
  line-height: 1.6;
}

.textures-wide__media {
  padding: 14px;
  border: 1px solid #e8e9ed;
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 20px 58px rgba(6, 19, 48, .07);
}

.textures-wide__media img {
  width: 100%;
  height: auto;
  max-height: 720px;
  border-radius: 20px;
  display: block;
  object-fit: cover;
  object-position: center;
}

.weight-feature {
  max-width: 1220px;
  margin: 76px auto 0;
  padding: 46px;
  border: 1px solid #e8e9ed;
  border-radius: 30px;
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: 58px;
  background:
    radial-gradient(circle at 75% 45%, rgba(38,157,85,.08), transparent 38%),
    #fbfcfb;
}

.weight-feature__copy h3 {
  margin: 20px 0 0;
  color: var(--navy);
  font-size: clamp(42px, 4.4vw, 64px);
  line-height: 1;
  letter-spacing: -3.3px;
}

.weight-feature__copy > p {
  max-width: 500px;
  margin: 20px 0 0;
  color: #526071;
  font-size: 16px;
  line-height: 1.7;
}

.weight-feature__stats {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.weight-feature__stats > div {
  padding: 17px 14px;
  border: 1px solid #e4e8e4;
  border-radius: 16px;
  background: #fff;
}

.weight-feature__stats strong,
.weight-feature__stats span {
  display: block;
}

.weight-feature__stats strong {
  color: var(--navy);
  font-size: 24px;
}

.weight-feature__stats span {
  margin-top: 4px;
  color: #727c88;
  font-size: 11px;
}

.weight-feature__media {
  min-width: 0;
  height: 500px;
  padding: 12px;
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
}

.weight-feature__media img {
  width: 100%;
  height: 100%;
  border-radius: 18px;
  display: block;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 1120px) {

  .weight-feature {
    gap: 36px;
    padding: 34px;
  }

  .weight-feature__media {
    height: 430px;
  }
}

@media (max-width: 840px) {

  .textures-wide {
    margin-top: 54px;
  }

  .textures-wide__heading {
    text-align: left;
  }

  .textures-wide__heading > p:last-child {
    margin-left: 0;
  }

  .textures-wide__media {
    padding: 9px;
    border-radius: 20px;
  }

  .textures-wide__media img {
    border-radius: 14px;
  }

  .weight-feature {
    margin-top: 54px;
    padding: 28px 22px;
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .weight-feature__media {
    order: -1;
    height: min(82vw, 520px);
  }
}

@media (max-width: 520px) {
  .textures-wide__heading h3,
  .weight-feature__copy h3 {
    font-size: 39px;
    letter-spacing: -2.5px;
  }

  .weight-feature {
    padding: 20px 16px;
    border-radius: 22px;
  }

  .weight-feature__stats {
    grid-template-columns: 1fr;
  }

  .weight-feature__media {
    height: 360px;
  }
}

/* =========================================================
   Ordered product details
   ========================================================= */

.details-sequence {
  max-width: 1220px;
  margin-inline: auto;
}

.details-feature {
  min-height: 540px;
  padding: 58px 0;
  border-bottom: 1px solid #e8e9ed;
  display: grid;
  grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
  align-items: center;
  gap: 70px;
}

.details-feature:first-child {
  padding-top: 0;
}

.details-feature--reverse .details-feature__copy {
  order: 2;
}

.details-feature--reverse .details-feature__media {
  order: 1;
}

.details-feature__copy h3,
.details-wide__heading h3 {
  margin: 20px 0 0;
  color: var(--navy);
  font-size: clamp(42px, 4.2vw, 62px);
  line-height: 1;
  letter-spacing: -3.2px;
}

.details-feature__copy > p,
.details-wide__heading > p {
  max-width: 530px;
  margin: 20px 0 0;
  color: #536071;
  font-size: 16px;
  line-height: 1.7;
}

.details-feature__media {
  min-width: 0;
  height: 500px;
  padding: 12px;
  border: 1px solid #e8e9ed;
  border-radius: 0;
  /* border-radius: 28px; */
  overflow: hidden;
  background: #fff;
  box-shadow: 0 20px 58px rgba(6, 19, 48, .075);
}

.details-feature__media img {
  width: 100%;
  height: 100%;
  border-radius: 20px;
  display: block;
  object-fit: cover !important;
  object-position: center;
}

.details-wide {
  padding: 72px 0;
  border-bottom: 1px solid #e8e9ed;
}

.details-wide--last {
  border-bottom: 0;
}

.details-wide__heading {
  max-width: 820px;
  margin: 0 auto 30px;
  text-align: center;
}

.details-wide__heading > p {
  margin-left: auto;
  margin-right: auto;
}

.details-wide__media {
  position: relative;
  overflow: hidden !important;
  border-radius: 28px !important;
  background: #f5f5f5;
  isolation: isolate;
}

.details-wide__media img {
  width: 100%;
  height: auto;
  max-height: 760px;
  border-radius: 20px;
  display: block;
  object-fit: contain !important;
  object-position: center;
}

.details-stats {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.details-stats > div {
  padding: 18px 14px;
  border: 1px solid #e2e7e3;
  border-radius: 16px;
  background: #fff;
}

.details-stats strong,
.details-stats span {
  display: block;
}

.details-stats strong {
  color: var(--navy);
  font-size: 25px;
}

.details-stats span {
  margin-top: 4px;
  color: #727b87;
  font-size: 11px;
}

.details-label--safe {
  background: #4f7e5b;
}

.details-icon--safe {
  color: #4f7e5b;
  background: #eff7f1;
}

@media (max-width: 1120px) {
  .details-feature {
    gap: 42px;
  }

  .details-feature__media {
    height: 440px;
  }
}

@media (max-width: 840px) {
  .details-feature {
    min-height: 0;
    padding: 42px 0;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .details-feature--reverse .details-feature__copy,
  .details-feature--reverse .details-feature__media {
    order: initial;
  }

  .details-feature__copy {
    order: 2;
  }

  .details-feature__media {
    order: 1;
    height: min(88vw, 540px);
  }

  .details-wide {
    padding: 54px 0;
  }

  .details-wide__heading {
    text-align: left;
  }

  .details-wide__heading > p {
    margin-left: 0;
  }
}

@media (max-width: 520px) {
  .details-feature__copy h3,
  .details-wide__heading h3 {
    font-size: 39px;
    letter-spacing: -2.5px;
  }

  .details-feature__media {
    height: 390px;
    padding: 9px;
    border-radius: 20px;
  }

  .details-feature__media img,
  .details-wide__media img {
    border-radius: 14px;
  }

  .details-wide__media {
    padding: 9px;
    border-radius: 20px;
  }

  .details-stats {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Current NeoYoon details update
   Images fill blocks without inner padding
   ========================================================= */

.details-section {
  width: 100%;
  color: var(--ink, #0a1530);
  background: #fff;
}

.details-section__inner {
  width: 100%;
  max-width: var(--max, 1480px);
  margin-inline: auto;
  padding: 92px 54px 86px;
}

.details-heading {
  max-width: 820px;
  margin: 0 auto 52px;
  text-align: center;
}

.details-heading h2 {
  margin: 11px 0 0;
  color: var(--navy, #07183d);
  font-size: clamp(48px, 5vw, 74px);
  line-height: .98;
  letter-spacing: -4px;
}

.details-heading h2 span {
  color: var(--red, #f51f25);
}

.details-heading > p:last-child {
  max-width: 610px;
  margin: 20px auto 0;
  color: #606978;
  font-size: 17px;
  line-height: 1.6;
}

.details-sequence {
  max-width: 1220px;
  margin-inline: auto;
}

.details-feature {
  min-height: 540px;
  padding: 58px 0;
  border-bottom: 1px solid #e8e9ed;
  display: grid;
  grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
  align-items: center;
  gap: 70px;
}

.details-feature:first-child {
  padding-top: 0;
}

.details-feature--reverse .details-feature__copy {
  order: 2;
}

.details-feature--reverse .details-feature__media {
  order: 1;
}

.details-feature__copy {
  min-width: 0;
}

.details-label {
  width: max-content;
  min-height: 34px;
  padding: 0 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #fff;
  background: var(--red, #f51f25);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.details-label--green {
  background: #269d55;
}

.details-label--safe {
  background: #4f7e5b;
}

.details-feature__copy h3,
.details-wide__heading h3 {
  margin: 20px 0 0;
  color: var(--navy, #07183d);
  font-size: clamp(42px, 4.2vw, 62px);
  line-height: 1;
  letter-spacing: -3.2px;
}

.details-feature__copy > p,
.details-wide__heading > p {
  max-width: 530px;
  margin: 20px 0 0;
  color: #536071;
  font-size: 16px;
  line-height: 1.7;
}

.details-features {
  margin: 30px 0 0;
  padding: 0;
  display: grid;
  gap: 17px;
  list-style: none;
}

.details-features li {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
}

.details-icon {
  width: 54px;
  height: 54px;
  border: 1px solid #e1e4e9;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--navy, #07183d);
  background: #f5f6f8;
}

.details-icon--green {
  color: #237c49;
  background: #eef8f1;
}

.details-icon--safe {
  color: #4f7e5b;
  background: #eff7f1;
}

.details-icon svg {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.details-features strong,
.details-features small {
  display: block;
}

.details-features strong {
  color: var(--navy, #07183d);
  font-size: 16px;
}

.details-features small {
  margin-top: 4px;
  color: #626b79;
  font-size: 13px;
  line-height: 1.4;
}

/* No inner padding. Image fills the media box. */
.details-feature__media {
  min-width: 0;
  height: 520px;
  border: 1px solid #e8e9ed;
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 20px 58px rgba(6, 19, 48, .075);
}

.details-feature__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

/* Wide visual blocks */
.details-wide {
  padding: 72px 0;
  border-bottom: 1px solid #e8e9ed;
}

.details-wide--last {
  border-bottom: 0;
}

.details-wide__heading {
  max-width: 820px;
  margin: 0 auto 30px;
  text-align: center;
}

.details-wide__heading > p {
  margin-left: auto;
  margin-right: auto;
}

.details-wide__media {
  width: 100%;
  border: 1px solid #e8e9ed;
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 20px 58px rgba(6, 19, 48, .07);
}

/* Wide images keep their native aspect ratio, no whitespace/padding */
.details-wide__media img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center;
}

.details-note {
  max-width: 1220px;
  margin: 48px auto 0;
  padding: 28px 32px;
  border-radius: 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 30px;
  background: #fff3ed;
}

.details-note strong,
.details-note span {
  display: block;
}

.details-note strong {
  color: var(--navy, #07183d);
  font-size: 24px;
}

.details-note span {
  margin-top: 6px;
  color: #666f7d;
  font-size: 14px;
}

.details-note .button {
  min-width: 210px;
  min-height: 56px;
  padding-inline: 24px;
}

/* Force a clean crop for square creative images */
.details-feature:nth-of-type(1) .details-feature__media img,
.details-feature:nth-of-type(2) .details-feature__media img,
.details-feature:nth-of-type(4) .details-feature__media img,
.details-feature:nth-of-type(5) .details-feature__media img {
  object-fit: cover;
}

/* Full infographic blocks should remain fully visible */
.details-wide__media img {
  object-fit: contain;
  background: #fff;
}

@media (max-width: 1120px) {
  .details-section__inner {
    padding-inline: 28px;
  }

  .details-feature {
    gap: 42px;
  }

  .details-feature__media {
    height: 450px;
  }
}

@media (max-width: 840px) {
  .details-section__inner {
    padding: 68px 22px;
  }

  .details-heading {
    margin-bottom: 36px;
    text-align: left;
  }

  .details-heading h2 {
    font-size: clamp(42px, 12vw, 58px);
    letter-spacing: -3px;
  }

  .details-heading > p:last-child {
    margin-left: 0;
  }

  .details-feature {
    min-height: 0;
    padding: 42px 0;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .details-feature--reverse .details-feature__copy,
  .details-feature--reverse .details-feature__media {
    order: initial;
  }

  .details-feature__copy {
    order: 2;
  }

  .details-feature__media {
    order: 1;
    height: min(92vw, 560px);
  }

  .details-wide {
    padding: 54px 0;
  }

  .details-wide__heading {
    text-align: left;
  }

  .details-wide__heading > p {
    margin-left: 0;
  }

  .details-note {
    grid-template-columns: 1fr;
  }

  .details-note .button {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .details-section__inner {
    padding-inline: 16px;
  }

  .details-feature__copy h3,
  .details-wide__heading h3 {
    font-size: 39px;
    letter-spacing: -2.5px;
  }

  .details-feature__media {
    height: 390px;
    border-radius: 20px;
  }

  .details-wide__media {
    border-radius: 20px;
  }

  .details-note {
    padding: 24px 20px;
  }

  .details-note strong {
    font-size: 21px;
  }
}

/* =========================================================
   Calmer typography — product images stay dominant
   ========================================================= */

/* Labels are removed from HTML; hide any accidental leftovers */
.details-label {
  display: none !important;
}

/* Reduce heading emphasis throughout product detail blocks */
.details-feature__copy h3,
.details-wide__heading h3 {
  margin-top: 0;
  max-width: 520px;
  font-size: clamp(32px, 3vw, 46px);
  line-height: 1.08;
  letter-spacing: -2px;
  font-weight: 700;
}

/* Keep descriptions compact and secondary */
.details-feature__copy > p,
.details-wide__heading > p {
  margin-top: 14px;
  max-width: 500px;
  font-size: 15px;
  line-height: 1.65;
  color: #667080;
}

/* Make feature rows slightly lighter */
.details-features {
  margin-top: 24px;
  gap: 14px;
}

.details-features li {
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 13px;
}

.details-icon {
  width: 48px;
  height: 48px;
}

.details-icon svg {
  width: 27px;
  height: 27px;
}

.details-features strong {
  font-size: 14px;
  font-weight: 700;
}

.details-features small {
  margin-top: 3px;
  font-size: 12px;
}

/* Give more visual weight to media than copy */
.details-feature {
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: 58px;
}

.details-feature__media {
  height: 560px;
}

/* Wide sections: quieter copy, larger image */
.details-wide__heading {
  max-width: 700px;
  margin-bottom: 24px;
}

.details-wide__heading h3 {
  margin-inline: auto;
}

.details-wide__heading > p {
  max-width: 560px;
}

/* Main details section heading also calmer */
.details-heading h2 {
  font-size: clamp(42px, 4.2vw, 62px);
  line-height: 1.02;
  letter-spacing: -3px;
}

.details-heading > p:last-child {
  font-size: 16px;
}

@media (max-width: 1120px) {
  .details-feature {
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 38px;
  }

  .details-feature__media {
    height: 500px;
  }
}

@media (max-width: 840px) {
  .details-feature {
    grid-template-columns: 1fr;
  }

  .details-feature__media {
    height: min(94vw, 560px);
  }

  .details-feature__copy h3,
  .details-wide__heading h3 {
    font-size: 34px;
    letter-spacing: -1.8px;
  }

  .details-heading h2 {
    font-size: 44px;
  }
}

@media (max-width: 520px) {
  .details-feature__copy h3,
  .details-wide__heading h3 {
    font-size: 30px;
    letter-spacing: -1.4px;
  }

  .details-heading h2 {
    font-size: 38px;
  }

  .details-feature__media {
    height: 380px;
  }
}

/* =========================================================
   Compact centered product-detail layout
   ========================================================= */

/* Narrower overall content area */
.details-section__inner {
  max-width: 1320px;
  padding-left: 44px;
  padding-right: 44px;
}

.details-sequence {
  max-width: 1080px;
  margin-inline: auto;
}

/* More compact rows */
.details-feature {
  min-height: 0;
  padding: 46px 0;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: 48px;
}

/* Clean image containers: no border, no shadow, no padding */
.details-feature__media,
.details-wide__media {
  border: 0;
  padding: 0;
  box-shadow: none;
  background: transparent;
}

/* Slightly smaller media blocks */
.details-feature__media {
  height: 460px;
  border-radius: 22px;
}

.details-feature__media img {
  width: 100%;
  height: 100%;
  border-radius: 22px;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Wide blocks centered and narrower */
.details-wide {
  max-width: 1080px;
  margin-inline: auto;
  padding: 58px 0;
}

.details-wide__media {
  border-radius: 22px;
  overflow: hidden;
}

.details-wide__media img {
  width: 100%;
  height: auto;
  border-radius: 22px;
  display: block;
}

/* Calmer, tighter typography */
.details-feature__copy h3,
.details-wide__heading h3 {
  max-width: 470px;
  font-size: clamp(30px, 2.7vw, 42px);
  line-height: 1.08;
  letter-spacing: -1.7px;
}

.details-feature__copy > p,
.details-wide__heading > p {
  max-width: 470px;
  font-size: 14px;
  line-height: 1.6;
}

.details-features {
  margin-top: 22px;
  gap: 12px;
}

.details-features li {
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
}

.details-icon {
  width: 44px;
  height: 44px;
}

.details-icon svg {
  width: 25px;
  height: 25px;
}

.details-features strong {
  font-size: 13px;
}

.details-features small {
  font-size: 11px;
}

/* Keep the top heading tighter and centered */
.details-heading {
  max-width: 720px;
  margin-bottom: 42px;
}

.details-heading h2 {
  font-size: clamp(38px, 3.8vw, 56px);
  letter-spacing: -2.6px;
}

.details-heading > p:last-child {
  font-size: 15px;
}

/* CTA follows the same compact grid */
.details-note {
  max-width: 1080px;
  margin-top: 40px;
}

/* Tablet */
@media (max-width: 1120px) {
  .details-section__inner {
    max-width: 100%;
    padding-left: 28px;
    padding-right: 28px;
  }

  .details-sequence,
  .details-wide,
  .details-note {
    max-width: 920px;
  }

  .details-feature {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 34px;
  }

  .details-feature__media {
    height: 410px;
  }
}

/* Mobile */
@media (max-width: 840px) {
  .details-section__inner {
    padding-left: 20px;
    padding-right: 20px;
  }

  .details-feature {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 34px 0;
  }

  .details-feature__media {
    height: min(88vw, 500px);
  }

  .details-feature__copy h3,
  .details-wide__heading h3 {
    font-size: 32px;
  }

  .details-wide {
    padding: 44px 0;
  }

  .details-heading {
    margin-bottom: 30px;
  }
}

@media (max-width: 520px) {
  .details-section__inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .details-feature__media {
    height: 360px;
    border-radius: 18px;
  }

  .details-feature__media img,
  .details-wide__media,
  .details-wide__media img {
    border-radius: 18px;
  }

  .details-feature__copy h3,
  .details-wide__heading h3 {
    font-size: 29px;
  }
}

/* =========================================================
   Conversion improvements
   ========================================================= */

/* Calmer proof line in hero */
.rating {
  align-items: center;
}

.rating > span:last-child {
  color: #4f5969;
}

.rating > span:last-child strong {
  color: var(--navy, #07183d);
}

/* Selected bundle state */
.purchase-card {
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.purchase-card.is-selected,
.purchase-card:has(input:checked) {
  border-color: var(--red, #f51f25);
  box-shadow: 0 14px 34px rgba(245, 31, 37, .12);
  transform: translateY(-2px);
}

.purchase-cta.is-added {
  background: #239255;
  box-shadow: 0 14px 34px rgba(35, 146, 85, .22);
}

/* Lab standard below cylinder test */
.safety-standard {
  margin: 14px 0 0;
  color: #637080;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

.safety-standard strong {
  color: #315c3c;
}

/* Reviews */
.reviews-section {
  width: 100%;
  background: #f7f8fa;
}

.reviews-section__inner {
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding: 82px 44px;
}

.reviews-heading {
  max-width: 720px;
  margin: 0 auto 36px;
  text-align: center;
}

.reviews-heading h2 {
  margin: 10px 0 0;
  color: var(--navy, #07183d);
  font-size: clamp(36px, 3.7vw, 54px);
  line-height: 1.03;
  letter-spacing: -2.7px;
}

.reviews-heading > p:last-child {
  max-width: 590px;
  margin: 16px auto 0;
  color: #667080;
  font-size: 15px;
  line-height: 1.6;
}

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

.review-card {
  min-width: 0;
  padding: 26px;
  border: 1px solid #e5e8ed;
  border-radius: 20px;
  background: #fff;
}

.review-card__stars {
  color: var(--red, #f51f25);
  letter-spacing: 2px;
}

.review-card blockquote {
  min-height: 112px;
  margin: 17px 0 24px;
  color: var(--navy, #07183d);
  font-size: 16px;
  line-height: 1.6;
}

.review-card footer {
  display: flex;
  align-items: center;
  gap: 12px;
}

.review-avatar {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--navy, #07183d);
  font-weight: 800;
}

.review-card footer strong,
.review-card footer small {
  display: block;
}

.review-card footer strong {
  font-size: 14px;
}

.review-card footer small {
  margin-top: 3px;
  color: #77808c;
  font-size: 11px;
}

/* Cleaner nav */
.nav {
  gap: clamp(22px, 2.5vw, 42px);
}

/* Mobile */
@media (max-width: 840px) {
  .reviews-section__inner {
    padding: 64px 22px;
  }

  .reviews-heading {
    text-align: left;
  }

  .reviews-heading > p:last-child {
    margin-left: 0;
  }

  .reviews-grid {
    grid-template-columns: 1fr;
  }

  .review-card blockquote {
    min-height: 0;
  }
}

@media (max-width: 520px) {
  .reviews-section__inner {
    padding-inline: 16px;
  }

  .reviews-heading h2 {
    font-size: 36px;
  }

  .review-card {
    padding: 22px 19px;
  }
}

/* =========================================================
   NeoYoon — bold DTC copy system
   ========================================================= */

.rating--pills {
  gap: 8px;
  flex-wrap: wrap;
}

.rating--pills span {
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid #dfe3e8;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: var(--navy, #07183d);
  background: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .7px;
}

.details-heading--bold {
  max-width: 880px;
  margin-bottom: 44px;
}

.details-heading--bold h2 {
  font-size: clamp(44px, 5vw, 72px);
  line-height: .94;
  letter-spacing: -4px;
  font-weight: 800;
}

.impact-word {
  margin: 0 0 12px;
  color: var(--red, #f51f25);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 2.2px;
  text-transform: uppercase;
}

.impact-word--center {
  text-align: center;
}

.impact-word--safe {
  color: #4f7e5b;
}

.details-feature__copy h3,
.details-wide__heading h3 {
  font-size: clamp(34px, 3.1vw, 48px);
  line-height: 1.02;
  letter-spacing: -2.2px;
  font-weight: 800;
}

.details-feature__copy > p,
.details-wide__heading > p {
  max-width: 470px;
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.55;
}

.details-wide__heading {
  max-width: 760px;
}

.details-features {
  margin-top: 22px;
}

.details-features strong {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .35px;
}

.details-features small {
  font-size: 11px;
}

.details-note--bold strong {
  font-size: 28px;
  letter-spacing: -.8px;
}

.details-note--bold span {
  font-size: 14px;
}

.reviews-heading--bold h2 {
  font-size: clamp(40px, 4.5vw, 64px);
  line-height: .96;
  letter-spacing: -3.6px;
}

.faq-intro--bold h2 {
  font-size: clamp(38px, 4vw, 56px);
  line-height: .98;
  letter-spacing: -3px;
}

.final-cta--bold .final-cta__inner {
  background: var(--navy, #07183d);
}

.final-cta--bold h2 {
  font-size: clamp(42px, 4.8vw, 68px);
  line-height: .94;
  letter-spacing: -3.8px;
}

.final-cta--bold p:not(.section-kicker) {
  font-size: 15px;
}

@media (max-width: 840px) {
  .impact-word--center {
    text-align: left;
  }

  .details-heading--bold h2 {
    font-size: 46px;
    letter-spacing: -3px;
  }

  .details-feature__copy h3,
  .details-wide__heading h3 {
    font-size: 34px;
  }
}

@media (max-width: 520px) {
  .rating--pills span {
    font-size: 9px;
    padding-inline: 10px;
  }

  .details-heading--bold h2 {
    font-size: 40px;
  }

  .impact-word {
    font-size: 12px;
  }

  .final-cta--bold h2 {
    font-size: 39px;
  }
}


/* Final media fit + safety layout fix */
.details-feature { align-items:center; }

.details-feature__visual {
  min-width:0;
  width:100%;
  align-self:center;
}

.details-feature--reverse .details-feature__visual { order:1; }
.details-feature--reverse .details-feature__copy { order:2; }

.details-feature__media {
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  overflow:hidden;
  border:0;
  padding:0;
  border-radius:22px;
  background:#fff;
  box-shadow:none;
  display:flex;
  align-items:center;
  justify-content:center;
}

.details-feature__media img {
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  display:block;
  object-fit:contain !important;
  object-position:center;
  border-radius:22px;
  background:#fff;
}

.details-wide__media {
  border:0;
  padding:0;
  background:#fff;
  box-shadow:none;
}

.details-wide__media img {
  width:100%;
  height:auto;
  display:block;
  object-fit:contain !important;
  object-position:center;
  background:#fff;
}

.safety-standard {
  max-width:520px;
  margin:12px auto 0;
  color:#637080;
  font-size:11px;
  line-height:1.45;
  text-align:center;
}

.safety-standard strong { color:#315c3c; }

.details-sequence,
.details-wide,
.details-note { max-width:1060px; }

.details-feature {
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:44px;
  padding-block:44px;
}

@media (max-width:1120px) {
  .details-feature {
    grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);
    gap:34px;
  }
}

@media (max-width:840px) {
  .details-feature { grid-template-columns:1fr; }

  .details-feature--reverse .details-feature__visual,
  .details-feature--reverse .details-feature__copy { order:initial; }

  .details-feature__copy { order:2; }

  .details-feature__media,
  .details-feature__visual { order:1; }
}

@media (max-width:520px) {
  .details-feature__media,
  .details-feature__media img { border-radius:18px; }

  .safety-standard { font-size:10px; }
}

/* =========================================================
   FINAL FIX — product media sizing and rounded corners
   Keep this block at the very end of the stylesheet
   ========================================================= */

/* Main side-by-side product images */
.details-feature__media {
  width: 100%;
  aspect-ratio: 1 / 1;
  position: relative;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 26px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  isolation: isolate;
}

.details-feature__media img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  background: transparent !important;
}

/* Safety image + certification stay together in one grid cell */
.details-feature__visual {
  width: 100%;
  min-width: 0;
}

.details-feature__visual .details-feature__media {
  width: 100%;
}

.safety-standard {
  max-width: 520px;
  margin: 12px auto 0;
  color: #637080;
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
}

/* Wide infographics: show the entire image */
.details-wide__media {
  width: 100%;
  position: relative;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 26px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  isolation: isolate;
}

.details-wide__media img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  background: transparent !important;
}

/* Keep paired text and image vertically aligned */
.details-feature {
  align-items: center;
}

/* Main details headline: compact two-line composition */
.details-heading--bold {
  max-width: 900px;
  margin-bottom: 48px;
}

.details-heading--bold h2 {
  max-width: 900px;
  margin-inline: auto;
  font-size: clamp(42px, 4.4vw, 64px);
  line-height: .96;
  letter-spacing: -3.2px;
  text-wrap: balance;
}

.details-heading--bold h2 span {
  display: inline-block;
  white-space: nowrap;
}

@media (max-width: 840px) {
  .details-heading--bold h2 {
    font-size: 44px;
    letter-spacing: -2.7px;
  }

  .details-heading--bold h2 span {
    white-space: normal;
  }
}

@media (max-width: 520px) {
  .details-feature__media,
  .details-wide__media {
    border-radius: 18px !important;
  }

  .details-heading--bold h2 {
    font-size: 38px;
    letter-spacing: -2px;
  }
}

/* =========================================================
   FIXED MEDIA SIZE
   Equal-height blocks + full image visibility
   ========================================================= */

/* Side-by-side image blocks */
.details-feature__media {
  width: 100%;
  height: 500px !important;
  aspect-ratio: auto !important;

  display: flex !important;
  align-items: center;
  justify-content: center;

  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  /* border-radius: 26px !important; */
  padding: 0 !important;

  background: #fff !important;
  box-shadow: none !important;
}

.details-feature__media img {
  width: 100% !important;
  height: 100% !important;

  display: block !important;
  object-fit: contain !important;
  object-position: center !important;

  border: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  background: transparent !important;
}

/* Safety image and certification stay together */
.details-feature__visual {
  width: 100%;
  min-width: 0;
}

.details-feature__visual .details-feature__media {
  width: 100%;
  height: 500px !important;
}

.safety-standard {
  max-width: 520px;
  margin: 12px auto 0;
  color: #637080;
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
}

/* Wide infographic blocks */
.details-wide__media {
  width: 100%;
  height: 620px !important;

  display: flex !important;
  align-items: center;
  justify-content: center;

  overflow: hidden !important;
  border: 0 !important;
  border-radius: 26px !important;
  padding: 0 !important;

  background: #fff !important;
  box-shadow: none !important;
}

.details-wide__media img {
  width: 100% !important;
  height: 100% !important;

  display: block !important;
  object-fit: contain !important;
  object-position: center !important;

  border: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  background: transparent !important;
}

/* Keep rows vertically aligned */
.details-feature {
  align-items: center;
}

/* Tablet */
@media (max-width: 1120px) {
  .details-feature__media,
  .details-feature__visual .details-feature__media {
    height: 430px !important;
  }

  .details-wide__media {
    height: 540px !important;
  }
}

/* Mobile */
@media (max-width: 840px) {
  .details-feature__media,
  .details-feature__visual .details-feature__media {
    height: 420px !important;
  }

  .details-wide__media {
    height: 480px !important;
  }
}

@media (max-width: 520px) {
  .details-feature__media,
  .details-feature__visual .details-feature__media {
    height: 340px !important;
    border-radius: 18px !important;
  }

  .details-wide__media {
    height: 390px !important;
    border-radius: 18px !important;
  }
}

.details-feature__video{
    height:500px;
    overflow:hidden;
    border-radius:26px;
    background:#fff;
}

.feature-video{
    width:100%;
    height:100%;
    display:block;

    object-fit:cover;
    object-position:center;

    /* border-radius:26px; */
    border-radius:0;
}


/* =========================================================
   Final NeoYoon layout — consolidated 2026-07-16
   ========================================================= */
:root{--shadow-soft:0 12px 36px rgba(6,19,48,.055)}
.hero__content{height:620px;min-height:620px}
.hero__copy{padding-top:48px;padding-bottom:48px}
.hero h1{max-width:700px;font-size:clamp(52px,4.65vw,70px);line-height:.96;letter-spacing:-4.8px}
.hero__description{max-width:570px;margin-top:25px;color:#40495a;font-size:19px;line-height:1.55}
.hero__description strong{color:var(--ink);font-weight:750}
.button--primary{width:min(100%,500px);min-height:64px;margin-top:25px;border-radius:15px;font-size:19px}
.hero-proof{width:min(100%,500px);margin-top:17px;display:flex;align-items:center;justify-content:center;gap:12px;color:#475062;font-size:13px;font-weight:600}
.hero-proof strong{color:var(--ink)}.hero-proof__stars{color:var(--red);font-size:17px;letter-spacing:1.5px}
.guarantee{width:min(100%,500px);margin-top:11px;color:#4c5565;font-size:13px}.benefits{margin-top:27px;gap:34px}
.hero__visual--product{padding:24px 28px 24px 0;overflow:visible}.hero__product-wrap{overflow:visible}.hero__product-image{width:108%;height:108%;max-width:none;max-height:none;object-fit:contain;transform:translate(1.5%,-1%)}
.details-section__inner{max-width:1180px;padding:76px 28px 82px}.details-heading{margin-bottom:34px}.details-heading h2{font-size:clamp(42px,4.5vw,62px);line-height:.98;letter-spacing:-3.2px}
.details-sequence{display:flex;flex-direction:column;gap:20px}.details-sequence>article{margin:0}
.details-feature,.details-wide{overflow:hidden;border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}
.details-feature{
  min-height:390px;
  /* grid-template-columns:44% 56% */
}
.details-feature--reverse{grid-template-columns:52% 48%}
.details-feature__copy{padding:40px 38px}.details-feature__copy h3{font-size:clamp(32px,3vw,46px);line-height:1;letter-spacing:-2.3px}.details-feature__copy>p:not(.impact-word){margin-top:13px;color:#657080;font-size:15px;line-height:1.55}
.details-features{margin-top:25px;gap:16px}.details-features li{grid-template-columns:42px minmax(0,1fr);gap:13px}.details-icon{width:42px;height:42px;color:var(--navy);background:#f1f4f8}.details-icon--green,.details-icon--safe{color:var(--navy);background:#f1f4f8}.details-features strong{font-size:12px}.details-features small{margin-top:3px;font-size:11px;line-height:1.4}
.details-feature__media{min-height:390px}.details-feature__media img,.details-feature__media video{width:100%;height:100%;object-fit:cover}
.details-feature:not(.details-feature--reverse)>.details-feature__media{border-radius:0 20px 20px 0}.details-feature--reverse>.details-feature__media,.details-feature--reverse>.details-feature__visual{border-radius:20px 0 0 20px}
.details-wide__heading{
  padding:0;
  /* padding:29px 30px 17px; */
  text-align:center
}
.details-wide__heading h3{font-size:clamp(34px,3.4vw,50px);line-height:1;letter-spacing:-2.4px}.details-wide__heading>p:last-child{margin:9px auto 0;text-align:center}.details-wide__media{margin:0}.details-wide__media img{width:100%;height:auto;display:block}
.impact-word{margin:0 0 8px;font-size:11px;letter-spacing:2px}.details-note{margin-top:20px}
.faq-list details p{max-width:760px}.faq-section__inner{padding-top:82px;padding-bottom:82px}
/* SVG artwork is drawn as translucent neutral background layers. */
.details-section--textured{position:relative;overflow:hidden;isolation:isolate;background-color:#fff;background-image:url("neoyoon-css-background-textures/texture-1-bg.svg"),url("neoyoon-css-background-textures/texture-3-bg.svg"),url("neoyoon-css-background-textures/texture-4-bg.svg"),url("neoyoon-css-background-textures/texture-2-bg.svg"),radial-gradient(circle at 0 12%,rgba(6,19,48,.018),transparent 27%),radial-gradient(circle at 100% 72%,rgba(6,19,48,.018),transparent 27%);background-repeat:no-repeat;background-position:left -82px top 150px,right -92px top 720px,left -78px top 1320px,right -96px bottom 150px,left top,right top;background-size:270px auto,300px auto,265px auto,305px auto,auto,auto}
.details-section--textured .details-section__inner{position:relative;z-index:1}
@media(max-width:1280px){.details-section--textured{background-position:left -145px top 150px,right -155px top 720px,left -142px top 1320px,right -160px bottom 150px;background-size:245px auto,270px auto,240px auto,275px auto}}
@media(max-width:840px){.hero__content{height:auto;min-height:0}.hero h1{font-size:clamp(44px,12vw,60px)}.details-section__inner{padding:60px 16px 66px}.details-heading{margin-bottom:25px}.details-sequence{gap:14px}.details-feature,.details-feature--reverse{min-height:0;grid-template-columns:1fr}.details-feature__copy{padding:30px 24px}.details-feature__media{min-height:300px;order:2}.details-feature--reverse>.details-feature__media,.details-feature--reverse>.details-feature__visual{order:2;border-radius:0 0 20px 20px}.details-feature:not(.details-feature--reverse)>.details-feature__media{border-radius:0 0 20px 20px}.details-wide__heading{padding:25px 20px 14px}.details-section--textured{background-image:radial-gradient(circle at 0 18%,rgba(6,19,48,.018),transparent 25%),radial-gradient(circle at 100% 68%,rgba(6,19,48,.018),transparent 26%)}}

/* ==================================================
   NeoYoon details refinements — v2
   ================================================== */

/* Keep the section background clean; texture opacity lives on its own layer. */
.details-section--textured {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #fff;
}

.details-section--textured::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .055;
  background-image:
    url("neoyoon-css-background-textures/texture-1-bg.svg"),
    url("neoyoon-css-background-textures/texture-3-bg.svg"),
    url("neoyoon-css-background-textures/texture-4-bg.svg"),
    url("neoyoon-css-background-textures/texture-2-bg.svg");
  background-repeat: no-repeat;
  background-position:
    left -62px top 150px,
    right -72px top 760px,
    left -58px top 1390px,
    right -76px bottom 180px;
  background-size:
    285px auto,
    315px auto,
    280px auto,
    320px auto;
}

.details-section--textured::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 0 12%, rgba(6,19,48,.018), transparent 27%),
    radial-gradient(circle at 100% 72%, rgba(6,19,48,.018), transparent 27%);
}

.details-section--textured .details-section__inner {
  position: relative;
  z-index: 1;
}

/* Media should touch the card edges with no vertical padding. */
.details-feature,
.details-feature__visual,
.details-feature__media,
.details-feature__video {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.details-feature__media,
.details-feature__video {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-self: stretch;
  overflow: hidden;
}

.details-feature__media > img,
.details-feature__media > video,
.details-feature__video > video {
  margin-block: 0 !important;
}

/* Natural height for the texture-lineup artwork. */
.details-wide--textures,
.details-wide--textures .details-wide__media {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
}

.details-wide--textures .details-wide__media img {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}


@media (max-width: 1280px) {
  .details-section--textured::before {
    opacity: .045;
    background-position:
      left -125px top 150px,
      right -135px top 760px,
      left -120px top 1390px,
      right -140px bottom 180px;
    background-size:
      260px auto,
      285px auto,
      255px auto,
      290px auto;
  }
}

@media (max-width: 840px) {
  .details-section--textured::before {
    display: none;
  }
}

/* ==================================
   Sticky top CTA
   ================================== */

/* Minimal sticky CTA — Mixtiles style */

.sticky-buy-top {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;

  width: 100%;
  height: 58px;

  transform: translateY(-100%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid rgba(6, 19, 48, .07);
  box-shadow: 0 5px 18px rgba(6, 19, 48, .06);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  transition:
    transform .25s ease,
    opacity .25s ease,
    visibility .25s ease;
}

.sticky-buy-top.is-visible {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.sticky-buy-top__inner {
  width: min(100%, 1480px);
  height: 100%;
  margin-inline: auto;
  padding: 0 32px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.sticky-buy-top__brand {
  display: flex;
  align-items: baseline;
  gap: 14px;
  min-width: 0;
}

.sticky-buy-top__brand strong {
  color: var(--ink);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.6px;
}

.sticky-buy-top__brand span {
  color: #6b7280;
  font-size: 13px;
  font-weight: 500;
}

.sticky-buy-top__button {
  min-height: 38px;
  padding: 0 18px;
  border-radius: 9px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #fff;
  background: var(--red);

  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;

  box-shadow: 0 5px 12px rgba(245, 31, 37, .16);

  transition:
    background .2s ease,
    transform .2s ease;
}

.sticky-buy-top__button:hover {
  background: var(--red-dark);
  transform: translateY(-1px);
}

@media (max-width: 700px) {
  .sticky-buy-top {
    height: 56px;
  }

  .sticky-buy-top__inner {
    padding-inline: 12px;
    gap: 10px;
  }

  .sticky-buy-top__brand {
    display: block;
  }

  .sticky-buy-top__brand strong,
  .sticky-buy-top__brand span {
    display: block;
  }

  .sticky-buy-top__brand strong {
    font-size: 15px;
  }

  .sticky-buy-top__brand span {
    margin-top: 2px;
    font-size: 10px;
  }

  .sticky-buy-top__button {
    min-height: 40px;
    padding-inline: 13px;
    font-size: 11px;
  }
}

.sticky-buy-top {
  display: none;
}

@media (max-width: 760px) {
  .sticky-buy-top {
    display: block;
  }
}


/* =========================================================
   NeoYoon Conversion V4 — emotional storytelling additions
   ========================================================= */

.details-heading {
  margin-bottom: 30px;
}

.details-sequence {
  gap: 18px;
}

.details-feature__copy h3 {
  max-width: 500px;
}

.details-feature__copy > p:not(.impact-word) {
  max-width: 500px;
}

/* Emotional comparison */

.reset-compare {
  overflow: hidden;
  border: 1px solid rgba(6, 19, 48, .065);
  border-radius: 20px;
  background:
    radial-gradient(circle at 78% 50%, rgba(245, 31, 37, .055), transparent 34%),
    #fff;
  box-shadow: 0 12px 34px rgba(6, 19, 48, .045);
}

.reset-compare__heading {
  max-width: 760px;
  margin-inline: auto;
  padding: 34px 28px 24px;
  text-align: center;
}

.reset-compare__heading h3 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(34px, 3.4vw, 52px);
  line-height: .98;
  letter-spacing: -2.6px;
}

.reset-compare__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 66px minmax(0, 1fr);
  align-items: stretch;
  border-top: 1px solid rgba(6, 19, 48, .06);
}

.reset-compare__side {
  min-width: 0;
  padding: 34px 42px 38px;
}

.reset-compare__side--before {
  background: linear-gradient(135deg, #f7f8fa, #fff);
}

.reset-compare__side--after {
  background: linear-gradient(135deg, #fff, rgba(245, 31, 37, .035));
}

.reset-compare__label {
  display: block;
  margin-bottom: 20px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1.5px;
}

.reset-compare__side--after .reset-compare__label {
  color: var(--red);
}

.reset-compare ul {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
  list-style: none;
}

.reset-compare li {
  position: relative;
  padding-left: 29px;
  color: #3f4858;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 600;
}

.reset-compare__side--before li::before,
.reset-compare__side--after li::before {
  position: absolute;
  left: 0;
  top: .05em;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 11px;
  line-height: 1;
}

.reset-compare__side--before li::before {
  content: "×";
  color: #78808d;
  border: 1px solid #cfd3da;
}

.reset-compare__side--after li::before {
  content: "✓";
  color: #fff;
  background: var(--red);
}

.reset-compare__arrow {
  align-self: center;
  justify-self: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--red);
  font-size: 24px;
  box-shadow: 0 10px 24px rgba(245, 31, 37, .2);
}

/* Calm emotional close */

.simple-reset {
  width: 100%;
  color: var(--ink);
  background:
    radial-gradient(circle at 50% 0%, rgba(245, 31, 37, .055), transparent 42%),
    #fff;
}

.simple-reset__inner {
  width: min(calc(100% - 40px), 1180px);
  margin-inline: auto;
  padding: 92px 30px 96px;
  text-align: center;
}

.simple-reset h2 {
  max-width: 900px;
  margin: 0 auto;
  font-size: clamp(44px, 5.2vw, 76px);
  line-height: .96;
  letter-spacing: -4px;
}

.simple-reset p:not(.section-kicker) {
  max-width: 700px;
  margin: 24px auto 0;
  color: #5d6573;
  font-size: 18px;
  line-height: 1.65;
}

.simple-reset__button {
  min-height: 58px;
  margin-top: 30px;
  padding-inline: 34px;
}

/* Less card-like, more editorial */

.details-feature,
.details-wide,
.reset-compare {
  box-shadow: 0 10px 30px rgba(6, 19, 48, .04);
}

.details-feature__media,
.details-feature__visual {
  padding-block: 0 !important;
  margin-block: 0 !important;
}

.details-feature__media img,
.details-feature__media video {
  margin-block: 0 !important;
}

@media (max-width: 840px) {
  .reset-compare__heading {
    padding: 28px 22px 20px;
    text-align: left;
  }

  .reset-compare__heading h3 {
    font-size: 36px;
    letter-spacing: -2px;
  }

  .reset-compare__grid {
    grid-template-columns: 1fr;
  }

  .reset-compare__side {
    padding: 28px 24px;
  }

  .reset-compare__arrow {
    margin-block: -10px;
    position: relative;
    z-index: 2;
    transform: rotate(90deg);
  }

  .simple-reset__inner {
    width: min(calc(100% - 24px), 1180px);
    padding: 68px 18px 72px;
  }

  .simple-reset h2 {
    font-size: 42px;
    letter-spacing: -2.8px;
  }

  .simple-reset p:not(.section-kicker) {
    font-size: 16px;
  }
}

@media (max-width: 520px) {
  .reset-compare__heading h3 {
    font-size: 32px;
  }

  .reset-compare li {
    font-size: 14px;
  }

  .simple-reset h2 {
    font-size: 36px;
  }
}


/* =========================================================
   NeoYoon Conversion V5 — compact comparison block
   ========================================================= */

.reset-compare.reset-compare--compact {
  min-height: 390px;
  display: grid;
  grid-template-columns: minmax(360px, .85fr) minmax(0, 1.15fr);
  overflow: hidden;
  border: 1px solid rgba(6, 19, 48, .07);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(6, 19, 48, .045);
}

.reset-compare--compact .reset-compare__content {
  min-width: 0;
  padding: 42px 42px 38px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.reset-compare--compact .reset-compare__heading {
  max-width: 650px;
  margin: 0;
  padding: 0;
  text-align: left;
}

.reset-compare--compact .reset-compare__heading h3 {
  margin: 0;
  max-width: 620px;
  font-size: clamp(38px, 3.2vw, 52px);
  line-height: .98;
  letter-spacing: -2.6px;
}

.reset-compare--compact .reset-compare__grid {
  margin-top: 30px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
  align-items: center;
  border: 0;
}

.reset-compare--compact .reset-compare__side {
  min-width: 0;
  padding: 0;
  background: transparent;
}

.reset-compare--compact .reset-compare__side--before {
  padding-right: 25px;
  border-right: 1px solid #e6e9ee;
}

.reset-compare--compact .reset-compare__side--after {
  padding-left: 25px;
}

.reset-compare--compact .reset-compare__label {
  margin-bottom: 16px;
  font-size: 11px;
  letter-spacing: 1.35px;
}

.reset-compare--compact .reset-compare ul {
  gap: 11px;
}

.reset-compare--compact .reset-compare li {
  padding-left: 25px;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
}

.reset-compare--compact .reset-compare__side--before li::before,
.reset-compare--compact .reset-compare__side--after li::before {
  width: 17px;
  height: 17px;
  top: .03em;
  font-size: 10px;
}

.reset-compare--compact .reset-compare__arrow {
  width: 34px;
  height: 34px;
  font-size: 18px;
  box-shadow: 0 8px 18px rgba(245, 31, 37, .18);
}

.reset-compare--compact .reset-compare__media {
  min-width: 0;
  min-height: 390px;
  margin: 0;
  overflow: hidden;
  background: #f3f0ec;
}

.reset-compare--compact .reset-compare__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .5s ease;
}

.reset-compare--compact:hover .reset-compare__media img {
  transform: scale(1.018);
}

@media (max-width: 980px) {
  .reset-compare.reset-compare--compact {
    grid-template-columns: minmax(0, 1fr) 330px;
  }

  .reset-compare--compact .reset-compare__content {
    padding: 34px 30px;
  }

  .reset-compare--compact .reset-compare__heading h3 {
    font-size: 40px;
  }
}

@media (max-width: 760px) {
  .reset-compare.reset-compare--compact {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .reset-compare--compact .reset-compare__content {
    padding: 30px 22px 26px;
  }

  .reset-compare--compact .reset-compare__heading h3 {
    font-size: 34px;
    letter-spacing: -2px;
  }

  .reset-compare--compact .reset-compare__grid {
    margin-top: 24px;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .reset-compare--compact .reset-compare__side--before {
    padding: 0 0 18px;
    border-right: 0;
    border-bottom: 1px solid #e6e9ee;
  }

  .reset-compare--compact .reset-compare__side--after {
    padding: 0;
  }

  .reset-compare--compact .reset-compare__arrow {
    display: none;
  }

  .reset-compare--compact .reset-compare__media {
    min-height: 300px;
    order: -1;
  }
}


/* =========================================================
   NeoYoon Conversion V6 — comparison image left, text right
   ========================================================= */

.reset-compare.reset-compare--compact {
  grid-template-columns: minmax(360px, .85fr) minmax(0, 1.15fr);
}

.reset-compare--compact .reset-compare__media {
  grid-column: 1;
  grid-row: 1;
}

.reset-compare--compact .reset-compare__content {
  grid-column: 2;
  grid-row: 1;
}

@media (max-width: 980px) {
  .reset-compare.reset-compare--compact {
    grid-template-columns: 330px minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .reset-compare.reset-compare--compact {
    grid-template-columns: 1fr;
  }

  .reset-compare--compact .reset-compare__media {
    grid-column: 1;
    grid-row: 1;
  }

  .reset-compare--compact .reset-compare__content {
    grid-column: 1;
    grid-row: 2;
  }
}


/* =========================================================
   NeoYoon Conversion V7 — feature videos
   ========================================================= */

.details-feature__video {
  position: relative;
  overflow: hidden;
  background: #f3f3f3;
}

.details-feature__video .feature-video,
.details-feature__video .fv {
  width: 100%;
  height: 100%;
  max-width: none;
  display: block;
  object-fit: cover;
  object-position: center;
}


/* =========================================================
   NeoYoon Conversion V8 — cleaner headings
   ========================================================= */

.details-feature__copy > h3,
.details-wide__heading > h3 {
  margin-top: 0;
}

.details-feature__copy > h3 {
  max-width: 540px;
}


.details-wide__heading > h3 {
  margin-bottom: 10px;
}

.details-feature__copy > p:first-of-type:not(.impact-word) {
  margin-top: 14px;
}

.details-feature__video .js-rwd-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}


/* =========================================================
   NeoYoon Conversion V9 — registered trademark mark
   ========================================================= */

.registered-mark {
  display: inline-block;
  margin-left: 1px;
  color: currentColor;
  font-size: .36em;
  line-height: 1;
  font-weight: 700;
  vertical-align: super;
  transform: translateY(-.05em);
  opacity: .72;
}

.brand__name .registered-mark {
  color: var(--ink);
  letter-spacing: 0;
}

.sticky-buy-top__brand .registered-mark {
  font-size: .43em;
  opacity: .68;
}

.brand--footer .registered-mark {
  opacity: .64;
}

@media (max-width: 840px) {
  .brand__name .registered-mark {
    font-size: .38em;
  }
}


/* =========================================================
   NeoYoon Conversion V11 — footer layout repair
   ========================================================= */

.site-footer {
  width: 100%;
  border-top: 0;
  color: #fff;
  background: var(--navy);
}

.site-footer__title {
  display: block;
  margin-bottom: 17px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}

.site-footer__nav a,
.site-footer__bottom a {
  color: rgba(255, 255, 255, .68);
  font-size: 13px;
  transition: color .2s ease;
}

.site-footer__nav a:hover,
.site-footer__bottom a:hover {
  color: #fff;
}

.site-footer__socials a {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, .75);
  font-size: 13px;
  font-weight: 700;
  transition:
    color .2s ease,
    transform .2s ease;
}

.site-footer__socials a:hover {
  color: #fff;
  transform: translateX(2px);
}

.site-footer__socials svg {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.site-footer__market > p {
  max-width: 330px;
  margin: -4px 0 14px;
  color: rgba(255, 255, 255, .58);
  font-size: 12px;
  line-height: 1.5;
}

.site-footer__inner {
  width: min(calc(100% - 80px), 1380px);
  max-width: none;
  margin-inline: auto;
  padding: 58px 0 24px;

  /* Reset legacy footer grid */
  display: block;
}

.site-footer__top {
  width: 100%;
  display: grid;
  grid-template-columns:
    minmax(210px, 1.05fr)
    minmax(120px, .5fr)
    minmax(180px, .68fr)
    minmax(360px, 1.35fr);
  align-items: start;
  gap: 64px;
}

.site-footer .brand--footer {
  justify-self: start;
  align-self: start;
}

.site-footer .brand--footer .brand__name {
  font-size: 30px;
}

.site-footer__column {
  min-width: 0;
}

/* Reset the old global footer nav flex rule */
.site-footer .site-footer__nav {
  display: grid;
  grid-template-columns: 1fr;
  gap: 11px;
  font-size: inherit;
  font-weight: inherit;
}

.site-footer .site-footer__nav a {
  display: block;
  width: fit-content;
  white-space: nowrap;
}

.site-footer__socials {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.site-footer__socials a {
  white-space: nowrap;
}

.site-footer__market {
  width: 100%;
  max-width: 470px;
  justify-self: end;
}

.market-switcher {
  width: 100%;
  min-width: 0;
}

.market-switcher__option {
  overflow: hidden;
}

.site-footer__bottom {
  width: 100%;
  margin-top: 46px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, .11);

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.site-footer__bottom > p {
  margin: 0;
  justify-self: auto;
  flex: 0 1 auto;
  color: rgba(255, 255, 255, .52);
  font-size: 11px;
  line-height: 1.5;
}

.site-footer .site-footer__bottom nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 14px 26px;
  font-size: inherit;
  font-weight: inherit;
}

.site-footer__bottom nav a {
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .site-footer__inner {
    width: min(calc(100% - 56px), 1380px);
  }

  .site-footer__top {
    grid-template-columns:
      minmax(200px, 1fr)
      minmax(120px, .55fr)
      minmax(170px, .7fr);
    gap: 44px;
  }

  .site-footer__market {
    grid-column: 1 / -1;
    max-width: 650px;
    justify-self: start;
  }
}

@media (max-width: 760px) {
  .site-footer__inner {
    width: min(calc(100% - 32px), 1380px);
    padding-top: 44px;
  }

  .site-footer__top {
    grid-template-columns: 1fr 1fr;
    gap: 34px 26px;
  }

  .site-footer .brand--footer {
    grid-column: 1 / -1;
  }

  .site-footer__market {
    grid-column: 1 / -1;
    max-width: none;
  }

  .site-footer__bottom {
    margin-top: 36px;
    align-items: flex-start;
    flex-direction: column;
    gap: 15px;
  }

  .site-footer .site-footer__bottom nav {
    justify-content: flex-start;
  }
}

@media (max-width: 520px) {
  .site-footer__top {
    grid-template-columns: 1fr;
  }

  .site-footer .brand--footer,
  .site-footer__market {
    grid-column: auto;
  }

  .site-footer .site-footer__nav {
    grid-template-columns: 1fr 1fr;
    gap: 12px 20px;
  }

  .site-footer__socials {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .site-footer__socials a {
    width: 100%;
    min-width: 0;
    padding: 10px 6px;
    justify-content: center;
    overflow: hidden;
  }

  .site-footer__socials a span {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .market-switcher {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   NeoYoon — Contact & Legal Pages
   ========================================================= */

.contact-page,
.legal-page {
  --page-ink: #061330;
  --page-muted: #697080;
  --page-red: #f51f25;
  --page-red-dark: #d9141a;
  --page-line: rgba(6, 19, 48, .09);
  --page-soft: #f6f7f9;
  --page-radius: 22px;
  --page-shadow: 0 18px 55px rgba(6, 19, 48, .07);

  position: relative;
  overflow: hidden;
  color: var(--page-ink);
  background:
    radial-gradient(circle at 5% 18%, rgba(245, 31, 37, .035), transparent 24%),
    radial-gradient(circle at 96% 62%, rgba(6, 19, 48, .025), transparent 27%),
    #f7f8fa;
}

/* Общая ширина */

.contact-page .container,
.legal-page .container {
  width: min(calc(100% - 40px), 1120px);
  margin-inline: auto;
}

/* =========================================================
   Contact page
   ========================================================= */

.contact-page {
  min-height: 72vh;
  padding: 76px 0 96px;
}

.contact-wrap {
  max-width: 900px;
  margin-inline: auto;
}

.contact-title,
.legal-wrap h1 {
  margin: 0;
  color: var(--page-ink);
  font-size: clamp(46px, 6vw, 76px);
  line-height: .95;
  letter-spacing: -4px;
  font-weight: 800;
}

.contact-title::after,
.legal-wrap h1::after {
  content: "";
  width: 54px;
  height: 5px;
  margin-top: 22px;
  border-radius: 999px;
  display: block;
  background: var(--page-red);
}

.contact-sub {
  max-width: 680px;
  margin: 24px 0 0;
  color: var(--page-muted);
  font-size: 17px;
  line-height: 1.7;
}

.contact-list {
  margin-top: 42px;
  display: grid;
  gap: 14px;
}

.contact-item {
  min-height: 116px;
  padding: 24px 26px;
  border: 1px solid var(--page-line);
  border-radius: var(--page-radius);

  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;

  background: rgba(255, 255, 255, .94);
  box-shadow: var(--page-shadow);

  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.contact-item:hover {
  transform: translateY(-2px);
  border-color: rgba(245, 31, 37, .22);
  box-shadow: 0 24px 65px rgba(6, 19, 48, .1);
}

.contact-item.is-chat {
  background:
    linear-gradient(135deg, rgba(245, 31, 37, .035), transparent 44%),
    #fff;
}

.ci-ico {
  width: 50px;
  height: 50px;
  border: 1px solid rgba(6, 19, 48, .09);
  border-radius: 15px;

  display: grid;
  place-items: center;

  color: var(--page-ink);
  background: var(--page-soft);
}

.contact-item.is-chat .ci-ico {
  color: #fff;
  border-color: transparent;
  background: var(--page-red);
  box-shadow: 0 10px 24px rgba(245, 31, 37, .2);
}

.ci-ico svg {
  width: 23px;
  height: 23px;
}

.ci-title {
  color: var(--page-ink);
  font-size: 17px;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -.3px;
}

.ci-value {
  margin: 6px 0 0;
  color: var(--page-muted);
  font-size: 13px;
  line-height: 1.6;
}

.ci-value a {
  color: var(--page-ink);
  font-weight: 700;
  text-decoration: none;
}

.ci-value a:hover {
  color: var(--page-red);
}

.ci-right {
  justify-self: end;
}

.chat-btn {
  min-height: 46px;
  padding: 0 22px;
  border: 0;
  border-radius: 12px;

  color: #fff;
  background: var(--page-red);

  font-size: 13px;
  font-weight: 800;
  cursor: pointer;

  box-shadow: 0 10px 24px rgba(245, 31, 37, .18);

  transition:
    transform .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}

.chat-btn:hover {
  transform: translateY(-1px);
  background: var(--page-red-dark);
  box-shadow: 0 14px 30px rgba(245, 31, 37, .24);
}

/* =========================================================
   Legal pages
   ========================================================= */

.legal-page {
  padding: 72px 0 100px;
}

.legal-wrap {
  max-width: 900px;
  padding: 54px 62px 64px;
  border: 1px solid var(--page-line);
  border-radius: 26px;

  background: rgba(255, 255, 255, .96);
  box-shadow: var(--page-shadow);
}

.legal-meta {
  width: fit-content;
  margin-top: 20px;
  padding: 7px 11px;
  border-radius: 999px;

  color: var(--page-muted);
  background: var(--page-soft);

  font-size: 11px;
  font-weight: 700;
}

.legal-wrap > p:first-of-type {
  margin-top: 34px;
  font-size: 17px;
  line-height: 1.75;
}

.legal-wrap h2 {
  margin: 46px 0 14px;
  padding-top: 4px;

  color: var(--page-ink);
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -.8px;
  font-weight: 800;
}

.legal-wrap h2::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 10px;
  border-radius: 50%;
  display: inline-block;
  vertical-align: .15em;

  background: var(--page-red);
}

.legal-wrap p,
.legal-wrap li {
  color: #4f5866;
  font-size: 15px;
  line-height: 1.78;
}

.legal-wrap p {
  margin: 0 0 16px;
}

.legal-wrap strong {
  color: var(--page-ink);
  font-weight: 800;
}

.legal-wrap a {
  color: var(--page-red);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.legal-wrap ul,
.legal-wrap ol {
  margin: 18px 0 26px;
  padding: 20px 22px 20px 44px;
  border: 1px solid var(--page-line);
  border-radius: 16px;
  background: var(--page-soft);
}

.legal-wrap li + li {
  margin-top: 9px;
}

.legal-wrap li::marker {
  color: var(--page-red);
  font-weight: 800;
}

.legal-wrap .note {
  margin: 22px 0;
  padding: 18px 20px;
  border-left: 4px solid var(--page-red);
  border-radius: 0 13px 13px 0;
  color: #4f5866;
  background: rgba(245, 31, 37, .045);
}

.legal-wrap .note em {
  color: var(--page-ink);
  font-style: normal;
  font-weight: 800;
}

/* Email как отдельная плашка */

.legal-wrap p:has(> strong:only-child) {
  width: fit-content;
  padding: 11px 15px;
  border: 1px solid var(--page-line);
  border-radius: 11px;
  background: var(--page-soft);
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 760px) {
  .contact-page,
  .legal-page {
    padding-top: 48px;
    padding-bottom: 70px;
  }

  .contact-page .container,
  .legal-page .container {
    width: min(calc(100% - 24px), 1120px);
  }

  .contact-title,
  .legal-wrap h1 {
    font-size: 46px;
    letter-spacing: -2.8px;
  }

  .contact-sub {
    font-size: 15px;
  }

  .contact-item {
    min-height: 0;
    padding: 20px;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 15px;
  }

  .ci-ico {
    width: 44px;
    height: 44px;
    border-radius: 13px;
  }

  .ci-right {
    grid-column: 1 / -1;
    width: 100%;
  }

  .chat-btn {
    width: 100%;
  }

  .legal-wrap {
    padding: 36px 24px 44px;
    border-radius: 20px;
  }

  .legal-wrap > p:first-of-type {
    margin-top: 28px;
    font-size: 15px;
  }

  .legal-wrap h2 {
    margin-top: 38px;
    font-size: 21px;
  }

  .legal-wrap p,
  .legal-wrap li {
    font-size: 14px;
  }

  .legal-wrap ul,
  .legal-wrap ol {
    padding: 17px 17px 17px 36px;
  }
}
/* =========================================================
   NeoYoon product page — restored styles
   ========================================================= */

.product-card {
  padding: 44px 20px 88px;
  color: var(--ink, #061330);
  background: #fff;
}

.product-card__inner {
  width: min(100%, 1240px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(430px, .96fr);
  gap: clamp(38px, 5vw, 72px);
  align-items: start;
}

.product-gallery {
  position: sticky;
  top: 24px;
  min-width: 0;
}

.product-gallery__stage {
  position: relative;
  width: 100%;
  border: 1px solid rgba(6, 19, 48, .07);
  border-radius: 24px;
  overflow: hidden;
  background: #f7f7f6;
  box-shadow: 0 18px 52px rgba(6, 19, 48, .055);
}

.product-gallery__stage > img {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: block;
  object-fit: cover;
}

.product-gallery__zoom {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(6, 19, 48, .1);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--ink, #061330);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 22px rgba(6, 19, 48, .1);
  font-size: 21px;
  cursor: pointer;
}

.product-gallery__thumbs {
  margin-top: 11px;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.product-thumb {
  min-width: 0;
  padding: 3px;
  border: 1px solid rgba(6, 19, 48, .1);
  border-radius: 11px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #fff;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.product-thumb:hover {
  transform: translateY(-1px);
}

.product-thumb.is-active {
  border-color: var(--red, #f51f25);
  box-shadow: 0 0 0 1px var(--red, #f51f25);
}

.product-thumb img {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  object-fit: cover;
}

.product-buybox {
  min-width: 0;
  padding-top: 5px;
}

.product-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted, #697080);
  font-size: 12px;
}

.product-rating > span {
  color: var(--red, #f51f25);
  font-size: 17px;
  letter-spacing: 2px;
}

.product-rating strong {
  color: var(--ink, #061330);
}

.product-buybox h1 {
  margin: 16px 0 0;
  color: var(--ink, #061330);
  font-size: clamp(32px, 3vw, 62px);
  line-height: .92;
  font-weight: 800;
}

.product-buybox h1 sup {
  font-size: .24em;
  vertical-align: super;
  letter-spacing: 0;
}

.product-buybox h2 {
  margin: 12px 0 0;
  color: var(--ink, #061330);
  font-size: clamp(23px, 2.2vw, 31px);
  line-height: 1.08;
  letter-spacing: -1.3px;
}

.product-buybox__lead {
  max-width: 590px;
  margin: 18px 0 0;
  color: #566071;
  font-size: 17px;
  line-height: 1.65;
}

.product-assurances {
  margin-top: 24px;
  padding: 16px;
  border: 1px solid #e2e9e3;
  border-radius: 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  background: #f7fbf8;
}

.product-assurance {
  min-width: 0;
  padding: 2px 14px;
  border-right: 1px solid #dfe7e1;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.product-assurance:first-child { padding-left: 3px; }
.product-assurance:last-child {
  padding-right: 3px;
  border-right: 0;
}

.product-assurance .ui-icon {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: var(--ink, #061330);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.product-assurance strong,
.product-assurance small {
  display: block;
}

.product-assurance strong {
  font-size: 10px;
  line-height: 1.3;
}

.product-assurance small {
  margin-top: 3px;
  color: var(--muted, #697080);
  font-size: 8px;
  line-height: 1.35;
}

.checkout-bundle {
  margin-top: 25px;
}

.bundle-picker__heading {
  margin-bottom: 13px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
}

.bundle-picker__heading strong {
  color: var(--ink, #061330);
  font-size: 14px;
}

.bundle-picker__heading span {
  color: var(--muted, #697080);
  font-size: 10px;
}

.bundle-picker {
  display: grid;
  gap: 10px;
}

.bundle-option {
  position: relative;
  min-height: 86px;
  padding: 16px 17px;
  border: 1.5px solid rgba(6, 19, 48, .11);
  border-radius: 16px;
  display: grid;
  grid-template-columns: 21px minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 13px;
  color: var(--ink, #061330);
  background: #fff;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.bundle-option:hover {
  transform: translateY(-1px);
  border-color: rgba(245, 31, 37, .4);
}

.bundle-option.is-selected,
.bundle-option:has(input:checked) {
  border-color: var(--red, #f51f25);
  box-shadow: 0 0 0 1px var(--red, #f51f25), 0 12px 28px rgba(245, 31, 37, .07);
}

.bundle-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.bundle-option__radio {
  width: 20px;
  height: 20px;
  border: 1.5px solid #c5cad3;
  border-radius: 50%;
  display: grid;
  place-items: center;
}

.bundle-option.is-selected .bundle-option__radio,
.bundle-option:has(input:checked) .bundle-option__radio {
  border-color: var(--red, #f51f25);
}

.bundle-option.is-selected .bundle-option__radio::after,
.bundle-option:has(input:checked) .bundle-option__radio::after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--red, #f51f25);
}

.bundle-option__copy strong,
.bundle-option__copy small,
.bundle-option__price strong,
.bundle-option__price small {
  display: block;
}

.bundle-option__copy strong {
  font-size: 14px;
}

.bundle-option__copy small {
  margin-top: 4px;
  color: var(--muted, #697080);
  font-size: 10px;
}

.bundle-option__price {
  min-width: 94px;
  text-align: right;
}

.bundle-option__price strong {
  font-size: 16px;
}

.bundle-option__price small {
  margin-top: 4px;
  color: var(--muted, #697080);
  font-size: 9px;
}

.bundle-option__saving {
  position: absolute;
  right: 16px;
  bottom: 8px;
  color: #16803a;
  font-size: 8px;
  font-weight: 800;
}

.bundle-option__badge {
  position: absolute;
  top: -9px;
  right: 12px;
  padding: 4px 8px;
  border-radius: 999px;
  color: #fff;
  background: var(--navy, #061330);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .35px;
}

.bundle-option__badge--red {
  background: var(--red, #f51f25);
}

.product-card .purchase-cta {
  width: 100%;
  min-height: 62px;
  margin: 18px 0 0;
  padding: 0 21px;
  border: 0;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #fff;
  background: var(--red, #f51f25);
  box-shadow: 0 14px 30px rgba(245, 31, 37, .2);
  cursor: pointer;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.product-card .purchase-cta:hover {
  transform: translateY(-1px);
  background: var(--red-dark, #d9141a);
  box-shadow: 0 17px 34px rgba(245, 31, 37, .24);
}

.purchase-cta__main {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.purchase-cta__icon,
.purchase-cta__arrow {
  width: 23px;
  height: 23px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.purchase-cta__label,
.purchase-cta__price {
  font-size: 14px;
  font-weight: 800;
}

.purchase-cta__divider {
  width: 1px;
  height: 22px;
  background: rgba(255, 255, 255, .36);
}

.payment-methods {
  margin-top: 18px;
}

.payment-methods__heading {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
}

.payment-methods__heading > span {
  height: 1px;
  background: rgba(6, 19, 48, .09);
}

.payment-methods__heading p {
  margin: 0;
  color: var(--muted, #697080);
  font-size: 9px;
  white-space: nowrap;
}

.payment-methods__heading strong {
  color: var(--ink, #061330);
  font-weight: 800;
}

.payment-methods__logos {
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 7px;
}

.payment-logo {
  width: 50px;
  height: 31px;
  padding: 5px 7px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  background: #fff;
}

.payment-logo__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.payment-methods__security {
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--muted, #697080);
  font-size: 9px;
}

.payment-methods__security svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: #16803a;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 980px) {
  .product-card__inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .product-gallery {
    position: static;
  }

  .product-buybox {
    max-width: 700px;
    margin-inline: auto;
  }
}

@media (max-width: 680px) {
  .product-card {
    padding: 24px 12px 64px;
  }

  .product-gallery__stage {
    border-radius: 18px;
  }

  .product-gallery__thumbs {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .product-gallery__thumbs::-webkit-scrollbar {
    display: none;
  }

  .product-thumb {
    flex: 0 0 70px;
  }

  .product-buybox h1 {
    font-size: 51px;
    letter-spacing: -4px;
  }

  .product-assurances {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .product-assurance,
  .product-assurance:first-child,
  .product-assurance:last-child {
    padding: 0;
    border-right: 0;
  }

  .bundle-picker__heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .bundle-option {
    padding: 15px 12px;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    column-gap: 10px;
  }

  .bundle-option__price {
    min-width: 84px;
  }

  .bundle-option__saving {
    display: none;
  }

  .purchase-cta__label,
  .purchase-cta__price {
    font-size: 12px;
  }
}


/* =========================================================
   Product CTA + payment methods — premium wide layout
   ========================================================= */
.product-card .purchase-cta {
  width: 100%;
  min-height: 78px;
  margin: 24px 0 0;
  padding: 0 28px;
  border: 0;
  border-radius: 15px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  color: #fff;
  background: linear-gradient(100deg, #f40916 0%, #ff1722 55%, #f40c17 100%);
  box-shadow: 0 18px 34px rgba(245, 31, 37, .22);
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.product-card .purchase-cta:hover {
  transform: translateY(-2px);
  filter: brightness(.98);
  box-shadow: 0 22px 42px rgba(245, 31, 37, .29);
}

.product-card .purchase-cta:active {
  transform: translateY(0);
}

.product-card .purchase-cta__main {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
}

.product-card .purchase-cta__icon {
  width: 32px;
  height: 32px;
  stroke-width: 1.75;
}

.product-card .purchase-cta__arrow {
  width: 31px;
  height: 31px;
  stroke-width: 1.7;
}

.product-card .purchase-cta__label,
.product-card .purchase-cta__price {
  font-size: clamp(21px, 2vw, 28px);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.8px;
  white-space: nowrap;
}

.product-card .purchase-cta__divider {
  width: 1px;
  height: 38px;
  background: rgba(255, 255, 255, .52);
}

.product-card .payment-methods {
  margin-top: 28px;
  padding: 0 8px 2px;
}

.product-card .payment-methods__heading {
  display: grid;
  grid-template-columns: minmax(35px, 1fr) auto minmax(35px, 1fr);
  align-items: center;
  gap: 22px;
}

.product-card .payment-methods__heading > span {
  height: 1px;
  background: #dfe2e8;
}

.product-card .payment-methods__heading p {
  margin: 0;
  color: #747c8c;
  font-size: clamp(13px, 1.25vw, 18px);
  line-height: 1;
  white-space: nowrap;
}

.product-card .payment-methods__heading strong {
  margin-left: 5px;
  color: #635bff;
  font-size: 1.12em;
  font-weight: 800;
  letter-spacing: -1px;
}

.product-card .payment-methods__logos {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 14px;
}

.product-card .payment-logo {
  width: 98px;
  height: 58px;
  padding: 10px 14px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: #fff;
}

.product-card .payment-logo__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-card .payment-logo__image--visa {
  max-width: 66px;
}

.product-card .payment-logo__image--mastercard {
  max-width: 58px;
}

.product-card .payment-logo__image--amex {
  max-width: 72px;
}

.product-card .payment-logo__image--apple-pay,
.product-card .payment-logo__image--google-pay {
  max-width: 72px;
}

.product-card .payment-methods__security {
  margin-top: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #89919f;
  font-size: clamp(11px, 1.05vw, 15px);
}

.product-card .payment-methods__security svg {
  width: 22px;
  height: 22px;
  stroke: #89919f;
  stroke-width: 1.6;
}

@media (max-width: 680px) {
  .product-card .purchase-cta {
    min-height: 64px;
    padding: 0 17px;
    gap: 12px;
    border-radius: 13px;
  }

  .product-card .purchase-cta__main {
    gap: 12px;
  }

  .product-card .purchase-cta__icon,
  .product-card .purchase-cta__arrow {
    width: 23px;
    height: 23px;
  }

  .product-card .purchase-cta__label,
  .product-card .purchase-cta__price {
    font-size: 16px;
    letter-spacing: -.35px;
  }

  .product-card .purchase-cta__divider {
    height: 27px;
  }

  .product-card .payment-methods {
    margin-top: 22px;
    padding-inline: 0;
  }

  .product-card .payment-methods__heading {
    gap: 10px;
  }

  .product-card .payment-methods__heading p {
    font-size: 10px;
  }

  .product-card .payment-methods__logos {
    margin-top: 15px;
    gap: 6px;
    overflow-x: auto;
    justify-content: flex-start;
    padding-bottom: 3px;
    scrollbar-width: none;
  }

  .product-card .payment-methods__logos::-webkit-scrollbar {
    display: none;
  }

  .product-card .payment-logo {
    flex: 0 0 65px;
    width: 65px;
    height: 41px;
    padding: 7px 9px;
  }

  .product-card .payment-methods__security {
    margin-top: 16px;
    font-size: 10px;
  }

  .product-card .payment-methods__security svg {
    width: 17px;
    height: 17px;
  }
}

@media (max-width: 390px) {
  .product-card .purchase-cta__label,
  .product-card .purchase-cta__price {
    font-size: 14px;
  }

  .product-card .purchase-cta__main {
    gap: 9px;
  }
}

/* ===== NeoYoon product checkout refinement ===== */

.product-assurances{
  background:#fff;
  border:0;
  padding:0;
  gap:0;
}

.product-assurance{
  padding:0 16px;
  border:none;
  grid-template-columns:34px 1fr;
}

.product-assurance:last-child{border-right:0}

.product-assurance .ui-icon{
  width:30px;
  height:30px;
  stroke:#16a34a;
}

.product-assurance strong{
  font-size:13px;
  line-height:1.35;
}

.product-assurance small{
  font-size:11px;
  margin-top:4px;
}

/* Bundle selector closer to reference */
.bundle-picker{
  gap:12px;
}

.bundle-picker__heading strong{
  font-size:18px;
}

.bundle-picker__heading span{
  font-size:14px;
}

.bundle-option{
  min-height:96px;
  padding:18px 22px;
  border-radius:18px;
  grid-template-columns:26px minmax(0,1fr) auto;
}

.bundle-option__radio{
  width:23px;
  height:23px;
}

.bundle-option__copy strong{
  font-size:18px;
}

.bundle-option__copy small{
  font-size:14px;
}

.bundle-option__price strong{
  font-size:20px;
}

.bundle-option__price small{
  font-size:13px;
}

.bundle-option__saving{
  font-size:14px;
  padding:7px 16px;
  border-radius:8px;
}

/* CTA like screenshot */
.purchase-cta{
  width:100%;
  max-width:none;
  min-height:68px;
  margin-top:26px;
  border-radius:15px;
  background:#f51f25;
  display:flex;
  justify-content:space-between;
  padding:0 28px;
}

.purchase-cta__main{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex:1;
}

.purchase-cta__label{
  font-size:20px;
  font-weight:800;
}

.purchase-cta__price{
  font-size:20px;
  font-weight:800;
}

.purchase-cta__divider{
  height:28px;
  width:1px;
  background:rgba(255,255,255,.45);
}

.purchase-cta__icon,
.purchase-cta__arrow{
  width:27px;
  height:27px;
  stroke:white;
  fill:none;
  stroke-width:2;
}

/* Payment area bigger */
.payment-methods{
  margin-top:18px;
}

.payment-methods__heading p{
  font-size:15px;
}

.payment-methods__heading strong{
  color:#635bff;
  font-size:20px;
}

.payment-methods__logos{
  gap:5px;
}

.payment-logo{
  width:74px;
  height:46px;
  padding:8px 10px;
  border-radius:9px;
}

.payment-methods__security{
  margin-top:16px;
  font-size:13px;
}

.payment-methods__security svg{
  width:19px;
  height:19px;
}

/* ===== FINAL PRODUCT BUYBOX CLEANUP ===== */


.product-assurances{
    gap:5px;
}

.product-assurance strong{
    font-size:16px!important;
    white-space:nowrap;
}

.product-assurance small{
    font-size:15px!important;
    line-height: 1.35 !important;
    white-space: nowrap;
}


/* Bundle */

.bundle-option{
    min-height:94px!important;
    padding: 5px 26px 5px 28px !important;
    border-radius:22px!important;
}


.bundle-option__copy strong{
    font-size:18px!important;
}

.bundle-option__copy small{
    font-size:14px!important;
    margin-top:4px;
}

 


.bundle-option__price small{
    font-size:14px!important;
}



/* SAVE */

.bundle-option__saving{
    position:absolute!important;
    right:150px!important;
    bottom:24px!important;
    font-size:13px!important;
    color:#16a34a!important;
}



/* badges */

.bundle-option__badge{
    font-size:10px!important;
    padding:7px 14px!important;
}



/* CTA */

.purchase-cta{
    height:58px!important;
    min-height:58px!important;
    border-radius:16px!important;
}


.purchase-cta__label{
    font-size:18px!important;
}


.purchase-cta__price{
    font-size:18px!important;
}


/* Stripe */

.payment-methods__heading{
    margin-top:18px!important;
}

.payment-methods__heading p{
    font-size:14px!important;
}


.payment-methods img{
    max-height:28px!important;
}


.payment-logo{
    height:52px!important;
    width:auto!important;
    padding:10px!important;
}

.payment-logo img[src*="amex"],
.payment-method img[src*="amex"],
img[alt*="American Express"] {
    transform: scale(1.38);
}
