/* Living Memory Crystal — landing / PDP
   Ported from Christmas Memory Bottle landing (SELL-1497). Plain CSS with tokens.
   Fonts: Fraunces (headings), Figtree (body), Poppins (nav, buttons), Roboto (promo strip), Inter (small print).
   All fonts loaded from Google Fonts in base-landing.html. */

:root {
  --lp-font-heading: "Fraunces", Georgia, serif;
  --lp-font-body: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --lp-font-ui: "Poppins", var(--lp-font-body);
  --lp-font-promo: "Roboto", Arial, sans-serif;
  --lp-font-small: "Inter", var(--lp-font-body);

  --lp-text: #000000;
  --lp-text-soft: #020211;
  --lp-text-nav: #202e3b;
  --lp-text-muted: #808080;
  --lp-bg: #ffffff;
  --lp-bg-soft: #fafafa;
  --lp-promo: #acf4a1;
  --lp-press: #000000;
  --lp-cta: #ffcc00;
  --lp-cta-border: #cab303;
  --lp-cta-shadow: 0 4px 8px rgba(201, 192, 182, 0.52);
  --lp-badge: #a22d2b;
  --lp-highlight: #ffeeac;
  --lp-stock-low: #fc2201;
  --lp-stock-off: #d9d9d9;
  --lp-stock-dot: #adf4a1;
  --lp-verified: #3ab890;
  --lp-card-border: #d3d3d3;
  --lp-faq-border: #4f4f4f;
  --lp-rule: #e2e2e2;
  --lp-drawer-border: #d6d6d6;

  --lp-col: 953px;
  --lp-gutter: 16px;
  --lp-radius: 8px;
  --lp-radius-lg: 12px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html.lp-drawer-open { overflow: hidden; }
body {
  margin: 0;
  background: var(--lp-bg);
  color: var(--lp-text);
  font-family: var(--lp-font-body);
  font-size: 17px;
  line-height: 26px;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
[hidden] { display: none !important; }

.lp-container {
  width: 100%;
  max-width: calc(var(--lp-col) + 2 * var(--lp-gutter));
  margin: 0 auto;
  padding: 0 var(--lp-gutter);
}
.lp-heading {
  font-family: var(--lp-font-heading);
  font-weight: 700;
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 0;
  letter-spacing: 0.01em;
}
.lp-h2 { font-size: 36px; line-height: 42px; text-align: center; }
.lp-highlight {
  position: relative;
  display: inline;
  text-align: center;
  padding: 0 4px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  font-size: 17px;
  line-height: 26px;
  background: var(--lp-highlight);
}
.lp-center { text-align: center; }
.lp-br, .lp-br-m { display: none; }
@media (min-width: 1024px) { .lp-br { display: block; } }
@media (max-width: 767px) { .lp-br-m { display: block; } }
.lp-section-head { display: flex; flex-direction: column; align-items: center; gap: 7px; }
[data-nav-target] { scroll-margin-top: 79px; }

/* ---------- Promo strip ---------- */
.lp-promo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  min-height: 47px;
  padding: 8px 16px;
  background: var(--lp-promo);
  font-family: var(--lp-font-promo);
  font-size: 18px;
  line-height: normal;
  text-align: center;
  text-transform: uppercase;
}
.lp-promo b { font-weight: 700; }
.lp-promo__text { display: inline-flex; align-items: center; gap: 4px; }
.lp-promo__line2 { display: inline-flex; align-items: center; gap: 4px; }
.lp-promo__code {
  display: inline-block;
  width: 102px;
  height: 31px;
  border-radius: 8px;
  background: #000;
  color: #fff;
  font-weight: 700;
  line-height: 31px;
}
.lp-promo__tail { font-weight: 700; }

/* ---------- Header ---------- */
.lp-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--lp-bg);
  border-bottom: 1px solid #ececec;
  transition: box-shadow 0.2s ease;
}
.lp-header.is-scrolled { box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06); }
.lp-header__inner { display: flex; align-items: center; height: 63px; }
.lp-brand { display: flex; align-items: center; gap: 8px; }
.lp-brand__logo { width: 125px; height: 37px; }
.lp-brand__divider { width: 1px; height: 35px; background: #d83e26; }
.lp-brand__name {
  width: 58px;
  font-size: 11px;
  line-height: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.lp-nav { display: flex; align-items: center; gap: 40px; margin-left: auto; margin-right: 56px; font-family: var(--lp-font-ui); font-size: 14px; line-height: 16px; color: var(--lp-text-nav); }
.lp-nav a { position: relative; display: inline-flex; flex-direction: column; align-items: center; padding-bottom: 8px; margin-bottom: -8px; }
.lp-nav a::before { content: attr(data-label); display: block; height: 0; overflow: hidden; visibility: hidden; font-weight: 700; }
.lp-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--lp-cta); opacity: 0; }
.lp-nav a:hover, .lp-nav a.is-active { font-weight: 700; }
.lp-nav a:hover::after, .lp-nav a.is-active::after { opacity: 1; }
.lp-header__order { font-family: var(--lp-font-ui); font-size: 16px; line-height: 16px; font-weight: 700; color: var(--lp-text-nav); text-decoration: underline; }
.lp-header__flag { width: 32px; height: 18px; margin-left: 26px; }
.lp-header__burger { display: none; margin-left: auto; width: 34px; height: 20px; }
.lp-header__burger img { width: 34px; height: 20px; }

.lp-drawer {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: var(--lp-bg);
  overflow-y: auto;
}
.lp-drawer__head { display: flex; align-items: center; height: 63px; padding: 0 16px; }
.lp-drawer__close { margin-left: auto; width: 34px; height: 34px; font-size: 32px; line-height: 34px; text-align: center; font-weight: 300; }
.lp-drawer__link {
  display: block;
  height: 47px;
  padding: 0 16px;
  border-top: 1px solid var(--lp-drawer-border);
  font-family: var(--lp-font-small);
  font-size: 16px;
  line-height: 46px;
  font-weight: 500;
}
.lp-drawer__link:last-child { border-bottom: 1px solid var(--lp-drawer-border); }
.lp-drawer__link.is-active { background: var(--lp-cta); font-weight: 700; }

/* ---------- CTA button + ship line ---------- */
.lp-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.lp-cta--center { align-items: center; }
.lp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 316px;
  max-width: 100%;
  height: 54px;
  padding: 0 16px;
  border: 1px solid var(--lp-cta-border);
  border-radius: 39px;
  background: var(--lp-cta);
  box-shadow: var(--lp-cta-shadow);
  color: var(--lp-text);
  font-family: var(--lp-font-ui);
  font-size: 17px;
  line-height: 22px;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  transition: filter 0.15s ease;
  animation: lp-button-pulse 2s ease-in-out infinite;
  transform-origin: center;
  will-change: transform;
  backface-visibility: hidden;
}
.lp-btn:hover { filter: brightness(1.03); }
@keyframes lp-button-pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .lp-btn, .lp-press__track { animation: none; } }
.lp-ship {
  display: flex;
  align-items: center;
  gap: 3px;
  padding-left: 13px;
  font-family: var(--lp-font-small);
  font-size: 11px;
  line-height: 13px;
  white-space: nowrap;
}
.lp-ship__dot { width: 12px; height: 12px; }
.lp-ship__sep { color: #b9b9b9; }
.lp-ship__levels { display: inline-flex; gap: 1.9px; margin-left: 2px; }
.lp-ship__levels i { display: block; width: 10.3px; height: 10.3px; background: var(--lp-stock-off); }
.lp-ship__levels i:first-child { background: var(--lp-stock-low); }
.lp-ship__low { margin-left: 4px; font-size: 12px; line-height: 15px; color: var(--lp-stock-low); }

/* ---------- Hero ---------- */
.lp-hero { padding: 43px 0 83px; }
.lp-hero__grid { display: grid; grid-template-columns: 484px minmax(0, 1fr); gap: 45px; align-items: start; padding: 0; }
.lp-hero__media { position: relative; width: 484px; }
.lp-hero__image { width: 484px; aspect-ratio: 1; border-radius: var(--lp-radius-lg); object-fit: cover; }
.lp-badge-90 { position: absolute; left: 23px; top: 27px; width: 90px; height: 100px; }
.lp-hero__content { position: relative; padding-top: 3px; }
.lp-rating { display: flex; align-items: center; gap: 4px; font-size: 13px; line-height: 20px; letter-spacing: 0.5px; }
.lp-rating__stars { display: inline-flex; gap: 1.4px; margin-right: 4px; }
.lp-rating__stars img { width: 14px; height: 14px; }
.lp-hero__title { margin-top: 5px; font-size: 48px; line-height: 55px; max-width: 460px; }
.lp-hero__sub { margin-top: 14px; max-width: 403px; font-size: 17px; line-height: 23px; }
.lp-hero__sub b { font-weight: 700; }
.lp-bullets { margin-top: 18px; z-index: 1; position: relative;}
.lp-bullets__icons { display: none; }
.lp-bullets ul { display: flex; flex-direction: column; gap: 11px; font-size: 17px; line-height: 23px; font-weight: 700; }
.lp-bullets li { padding-left: 33px; background: url("../images/landing/check.svg") no-repeat 0 1px / 20px 20px; }
.lp-hero__arrow { position: absolute; left: 319px; top: 60px; width: 100px; height: auto; }
.lp-hero .lp-cta { margin-top: 24px; }

/* ---------- Press bar ---------- */
.lp-press { display: flex; align-items: center; justify-content: center; height: 70px; background: var(--lp-press); overflow: hidden; }
.lp-press__logos { display: block; width: 1440px; max-width: none; height: 70px; flex: none; }
.lp-press__marquee { display: none; }

/* ---------- Gift strip ---------- */
.lp-gift { padding: 33px 0 24px; background: var(--lp-bg-soft); overflow: hidden; }
.lp-gift .lp-h2 { margin-top: 10px; }
.lp-marquee { position: relative; margin-top: 40px; overflow: hidden; }
.lp-marquee__track { display: flex; gap: 12px; width: max-content; animation: lp-marquee 48s linear infinite; }
.lp-marquee:hover .lp-marquee__track { animation-play-state: paused; }
.lp-marquee__track img { flex: none; height: 257px; width: auto; }
@keyframes lp-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .lp-marquee__track { animation: none; } }
.lp-quote { max-width: 525px; margin: 22px auto 0; text-align: center; font-size: 16px; line-height: 24px; }
.lp-quote .lp-rating__stars { justify-content: center; margin: 0 0 8px; display: flex; }
.lp-quote b { font-weight: 700; }

/* ---------- Feature rows ---------- */
.lp-features { padding: 48px 0 0; }
.lp-features .lp-h2 { max-width: 530px; margin: 7px auto 0; color: #020202; }
.lp-features .lp-highlight { line-height: 23px; }
.lp-feature {
  display: grid;
  grid-template-columns: 413px 428px;
  justify-content: center;
  gap: 55px;
  align-items: center;
  margin-top: 54px;
}
.lp-feature--flip { grid-template-columns: 428px 413px; }
.lp-feature--flip .lp-feature__text { order: 2; }
.lp-feature__text { max-width: 413px; }
.lp-feature__title { font-size: 28px; line-height: 36px; color: #020202; }
.lp-feature__body { margin-top: 9px; }
.lp-feature__body b { font-weight: 700; }
.lp-feature__image { width: 428px; aspect-ratio: 428 / 324; border-radius: var(--lp-radius); object-fit: cover; }
.lp-features .lp-cta { margin-top: 42px; }

/* ---------- Guarantee ---------- */
.lp-guarantee { padding: 42px 0 0; }
.lp-guarantee__card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 485px;
  min-height: 484px;
  border-radius: var(--lp-radius);
  background: var(--lp-bg-soft);
  overflow: hidden;
}
.lp-guarantee__content { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 166px 40px 42px; text-align: center; }
.lp-guarantee__badge { position: absolute; left: 186px; top: 52px; width: 90px; height: 100px; }
.lp-guarantee__title { font-size: 24px; line-height: 31px; max-width: 432px; }
.lp-guarantee__body { margin-top: 18px; max-width: 386px; }
.lp-guarantee__body b { font-weight: 700; }
.lp-guarantee .lp-cta { margin-top: 12px; align-items: center; }
.lp-guarantee__image { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Crafted with care ---------- */
.lp-crafted { padding: 54px 0 0; }
.lp-crafted__grid {
  display: grid;
  grid-template-columns: 254px minmax(0, 392px) 258px;
  justify-content: space-between;
  align-items: start;
  gap: 24px;
  margin-top: 22px;
}
.lp-crafted__col { display: flex; flex-direction: column; gap: 106px; padding-top: 61px; max-width: 234px;}
.lp-crafted__col--right { padding-left: 4px;     max-width: 256px;}
.lp-crafted__item h3 { font-size: 22px; line-height: 27px; font-weight: 700; color: #040408; }
.lp-crafted__item p { margin-top: 5px; line-height: 28px; color: #040408; }
.lp-crafted__bottle { width: 392px; aspect-ratio: 392 / 542; }

/* ---------- Steps ---------- */
.lp-steps { margin-top: 34px; padding: 38px 0 35px; background: var(--lp-bg-soft); }
.lp-steps__grid { display: grid; grid-template-columns: repeat(3, 277px); justify-content: space-between; gap: 24px; margin-top: 22px; }
.lp-step { text-align: center; }
.lp-step__image { width: 277px; aspect-ratio: 277 / 328; border-radius: var(--lp-radius); object-fit: cover; }
.lp-step h3 { margin-top: 12px; font-size: 22px; line-height: 35px; font-weight: 700; }
.lp-step p { margin: 3px auto 0; max-width: 275px; }

/* ---------- Reviews ---------- */
.lp-reviews { padding: 35px 0 0; }
.lp-reviews .lp-h2 { max-width: 745px; margin: 8px auto 0; }
.lp-summary { display: grid; grid-template-columns: 398px minmax(0, 1fr) 327px; align-items: start; gap: 12px; margin-top: 33px; }
.lp-bars { display: flex; flex-direction: column; gap: 4px; }
.lp-bar { display: flex; align-items: center; gap: 20px; width: 371px; padding-bottom: 4px; border-bottom: 1px solid #e1e1e1; }
.lp-bar__label { width: 130px; font-size: 16px; line-height: 24px; font-weight: 700; color: #111827; }
.lp-stars32 { display: inline-flex; gap: 2px; }
.lp-stars32 img { width: 32px; height: 32px; }
.lp-bar__score { font-family: var(--lp-font-small); font-size: 16px; line-height: 24px; font-weight: 600; color: #111827; }
.lp-score { display: flex; flex-direction: column; align-items: center; text-align: center; padding-top: 2px; }
.lp-score__value { font-size: 63px; line-height: 1.2; font-weight: 700; }
.lp-score__note { margin-top: 8px; font-size: 16px; line-height: 1.2; max-width: 169px; }
.lp-summary__avatars { width: 327px; aspect-ratio: 327 / 163; }
.lp-review-grid { display: grid; grid-template-columns: repeat(4, 225px); justify-content: space-between; gap: 17px; margin-top: 30px; }
.lp-review-col { display: flex; flex-direction: column; gap: 17px; }
.lp-review {
  border: 1px solid var(--lp-card-border);
  border-radius: 4px;
  background: var(--lp-bg);
  overflow: hidden;
}
.lp-review__photo { width: 100%; aspect-ratio: 225 / 205; object-fit: cover; }
.lp-review__body { display: flex; flex-direction: column; gap: 15px; padding: 17px 12px 24px; color: var(--lp-text-soft); }
.lp-review__who { display: flex; align-items: center; gap: 5px; font-size: 13px; line-height: 20px; letter-spacing: 0.5px; }
.lp-review__avatar { width: 45px; height: 45px; border-radius: 50%; object-fit: cover; }
.lp-review__name { font-weight: 700; }
.lp-review__verified { display: inline-flex; align-items: center; gap: 6px; margin-left: 6px; font-family: var(--lp-font-ui); font-size: 13px; font-weight: 500; color: var(--lp-verified); }
.lp-review__verified img { width: 14px; height: 14px; }
.lp-review__rule { height: 1px; background: var(--lp-rule); }
.lp-review__meta { display: flex; align-items: center; gap: 10px; font-size: 12px; line-height: 1.2; }
.lp-stars15 { display: inline-flex; gap: 1.3px; }
.lp-stars15 img { width: 15.5px; height: 15.5px; }
.lp-review__title { font-size: 16px; line-height: 1.2; font-weight: 700; }
.lp-review__text { font-size: 16px; line-height: 1.62; }

/* ---------- Final CTA ---------- */
.lp-final { margin-top: 36px; padding: 55px 0 50px; background: var(--lp-bg-soft); }
.lp-final__grid { display: grid; grid-template-columns: 484px minmax(0, 1fr); gap: 45px; align-items: start; }
.lp-final__media { position: relative; width: 484px; margin-left: -2px; }
.lp-final__image { width: 484px; aspect-ratio: 1; border-radius: var(--lp-radius-lg); object-fit: cover; }
.lp-final__badge { left: 26px; top: 27px; }
.lp-final__content { padding-top: 3px; }
.lp-final__title { margin-top: 10px; width: 498px; max-width: none; font-size: 48px; line-height: 55px; }
.lp-final__content { min-width: 0; }
.lp-final__sub { margin-top: 23px; max-width: 423px; font-size: 17px; line-height: 23px; }
.lp-final__sub b { font-weight: 700; }
.lp-final .lp-bullets { margin-top: 13px; }
.lp-final .lp-cta { margin-top: 25px; }

/* ---------- FAQ ---------- */
.lp-faq { padding: 47px 0 288px; }
.lp-faq__list { display: flex; flex-direction: column; gap: 21px; max-width: 922px; margin: 30px auto 0; }
.lp-faq__item { border: 1px solid var(--lp-faq-border); border-radius: var(--lp-radius); background: var(--lp-bg); }
.lp-faq__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  min-height: 83px;
  padding: 24px 50px 24px 36px;
  text-align: left;
  font-size: 17px;
  line-height: 35px;
  font-weight: 700;
}
.lp-faq__icon { position: relative; flex: none; width: 30px; height: 30px; }
.lp-faq__icon img { position: absolute; inset: 0; width: 30px; height: 30px; }
.lp-faq__icon--minus { display: none; }
.lp-faq__item.is-open .lp-faq__icon--plus { display: none; }
.lp-faq__item.is-open .lp-faq__icon--minus { display: block; }
.lp-faq__panel { padding: 0 60px 26px 36px; margin-top: -8px; }
.lp-faq__panel p + p { margin-top: 0; }
.lp-faq .lp-cta { margin-top: 48px; }

/* ---------- Footer ---------- */
.lp-footer { margin-top: 40px; padding: 7px 0 14px; border-top: 1px solid #dfdfdf; text-align: center; font-family: var(--lp-font-ui); font-size: 14px; line-height: 28px; color: var(--lp-text-muted); }
.lp-footer a:hover { text-decoration: underline; }

/* ---------- Tablet ---------- */
@media (max-width: 1023px) {
  .lp-nav { gap: 24px; margin-right: 24px; }
  .lp-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
  .lp-hero__media, .lp-hero__image { width: 100%; }
  .lp-hero__title { font-size: 40px; line-height: 46px; }
  .lp-hero__arrow { display: none; }
  .lp-feature, .lp-feature--flip { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; }
  .lp-feature__image { width: 100%; }
  .lp-feature__text { max-width: none; }
  .lp-guarantee__card { grid-template-columns: minmax(0, 1fr) 42%; }
  .lp-guarantee__badge { left: 24px; top: 24px; }
  .lp-crafted__grid { grid-template-columns: minmax(0, 1fr) 300px minmax(0, 1fr); gap: 20px; }
  .lp-crafted__col { gap: 80px; padding-top: 20px; max-width: 100%;}
  .lp-crafted__bottle { width: 100%; }
  .lp-steps__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .lp-step__image { width: 100%; }
  .lp-summary { grid-template-columns: minmax(0, 1fr) auto; }
  .lp-summary__avatars { grid-column: 1 / -1; justify-self: center; }
  .lp-bar { width: 100%; }
  .lp-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-final__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
  .lp-final__media, .lp-final__image { width: 100%; }
  .lp-final__title { font-size: 40px; line-height: 46px; }
}

/* ---------- Mobile (375px Figma frame) ---------- */
@media (max-width: 767px) {
  body { font-size: 16px; line-height: 26px; }
  .lp-heading { letter-spacing: 0; }
  .lp-h2 { font-size: 28px; line-height: 36px; }
  .lp-gift .lp-h2 { line-height: 35px; max-width: 260px; }
  .lp-gift__br { display: none; }
  .lp-highlight { font-size: 16px; }
  .lp-features .lp-highlight { line-height: 22px; }
  .lp-quote { font-size: 14px; }
  .lp-faq .lp-cta { display: none; }
  .lp-faq { padding-bottom: 220px; }
  .lp-promo { flex-direction: column; gap: 0; height: 70px; min-height: 0; padding: 4px 12px 0; font-family: var(--lp-font-ui); font-size: 14px; line-height: 26px; color: #010a0b; }
  .lp-promo__text { gap: 4px; }
  .lp-promo__line2 { gap: 8px; margin-top: 1px; }
  .lp-promo__code { width: 83px; height: 29px; line-height: 29px; background: #010a0b; font-family: var(--lp-font-small); font-size: 14px; }
  .lp-promo__tail { font-family: var(--lp-font-small); font-size: 14px; line-height: 32px; }

  .lp-nav, .lp-header__order, .lp-header__flag { display: none; }
  .lp-header__burger { display: block; }

  .lp-hero { padding: 22px 0 40px; }
  .lp-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0 16px; }
  .lp-hero__content { display: contents; }
  .lp-rating { flex-direction: column; gap: 6px; text-align: center; }
  .lp-rating__stars { margin-right: 0; }
  .lp-hero .lp-rating { order: 1; justify-content: center; }
  .lp-hero__title { order: 2; margin: 12px auto 16px; max-width: 343px; font-size: 36px; line-height: 42px; text-align: center; }
  .lp-hero__media { order: 3; width: 100%; margin-top: 2px; }
  .lp-hero__image { width: 100%; }
  .lp-badge-90 { left: 15px; top: 17px; width: 78px; height: 87px; }
  .lp-final .lp-badge-90 { left: 18px; top: 19px; width: 64px; height: 71px; }
  .lp-hero__sub { order: 4; margin: 15px auto 0; max-width: 329px; font-size: 16px; line-height: 26px; text-align: center; }
  .lp-bullets { order: 5; margin: 18px 15px 0 19px; }
  .lp-bullets ul { font-size: 16px; }
  .lp-hero .lp-cta { order: 6; margin-top: 24px; align-items: center; }
  .lp-hero__arrow { display: none; }

  .lp-press { height: 55px; justify-content: flex-start; }
  .lp-press__logos { display: none; }
  .lp-press__marquee { display: block; width: 100%; overflow: hidden; }
  .lp-press__track { display: flex; width: max-content; animation: lp-press-marquee 22s linear infinite; }
  .lp-press__track img { display: block; width: auto; height: 55px; }
  @keyframes lp-press-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  .lp-gift { padding: 30px 0 24px; }
  .lp-marquee { margin-top: 30px; }
  .lp-quote { padding: 0 8px; }

  .lp-features { padding-top: 38px; }
  .lp-feature, .lp-feature--flip { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 40px; }
  .lp-section-head + .lp-feature { margin-top: 24px; }
  .lp-feature--flip .lp-feature__text { order: 0; }
  .lp-feature__image { order: -1; width: 100%; }
  .lp-feature__text { max-width: none; }
  .lp-feature__title { font-size: 24px; line-height: 33px; }
  .lp-features .lp-cta { margin-top: 48px; align-items: center; }

  .lp-guarantee { padding-top: 48px; }
  .lp-guarantee__card { grid-template-columns: minmax(0, 1fr); min-height: 0; margin: 0 calc(-1 * var(--lp-gutter)); border-radius: 0; }
  .lp-guarantee__image { order: -1; aspect-ratio: 1; height: auto; }
  .lp-guarantee__content { padding: 28px 18px 32px; }
  .lp-guarantee__title { line-height: 34px; }
  .lp-guarantee__body { max-width: none; }
  .lp-guarantee__badge { position: static; margin: 0 auto 16px; }

  .lp-crafted { padding-top: 48px; }
  .lp-crafted__grid { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 36px; margin-top: 30px; }
  .lp-crafted__bottle { width: 297px; order: -1; }
  .lp-crafted__col { gap: 28px; padding: 0; width: 100%; }
  .lp-crafted__col--right { padding-left: 0; max-width: 100%;}
  .lp-crafted__item h3 { font-size: 20px; line-height: 27px; }
  .lp-crafted__item p { margin-top: 3px; line-height: 28px; }

  .lp-steps { margin-top: 44px; padding: 26px 0 32px; }
  .lp-step p { font-size: 17px; line-height: 26px; }
  .lp-steps__grid { display: flex; justify-content: flex-start; gap: 16px; margin: 26px calc(-1 * var(--lp-gutter)) 0; padding: 0 0 0 var(--lp-gutter); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: var(--lp-gutter); -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .lp-steps__grid::-webkit-scrollbar { display: none; }
  .lp-step { flex: 0 0 276px; scroll-snap-align: start; }
  .lp-step:last-child { margin-right: var(--lp-gutter); }
  .lp-step__image { width: 276px; aspect-ratio: 276 / 328; }

  .lp-reviews { padding-top: 40px; }
  .lp-summary { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 14px; margin-top: 26px; }
  .lp-bars { width: 100%; }
  .lp-bar { width: 100%; }
  .lp-bar__label { width: 117px; font-size: 15px; }
  .lp-stars32 img { width: 32px; height: 32px; }
  .lp-review-grid { grid-template-columns: minmax(0, 1fr); gap: 21px; margin: 21px 4px 0; }
  .lp-review-col { display: contents; }
  .lp-review { order: var(--lp-order, 0); }
  .lp-review__photo { aspect-ratio: 336 / 289; object-position: top; }
  .lp-review__body { padding: 20px 19px 28px; }
  .lp-review__who, .lp-review__name { font-size: 16px; }

  .lp-final { margin-top: 40px; padding: 27px 0 32px; }
  .lp-final__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .lp-final__content { display: contents; }
  .lp-final .lp-rating { order: 1; justify-content: center; }
  .lp-final__title { order: 2; width: auto; margin: 12px auto 0; font-size: 32px; line-height: 38px; text-align: center; }
  .lp-final .lp-rating { font-size: 12px; }
  .lp-final__media { order: 3; width: 100%; margin: 20px 0 0; }
  .lp-final__image { width: 100%; }
  .lp-final__sub { order: 4; margin: 18px auto 0; max-width: 320px; text-align: center; font-size: 16px; line-height: 26px; }
  .lp-final .lp-bullets { order: 5; margin: 18px 0 0 40px; }
  .lp-final .lp-cta { order: 6; margin-top: 24px; align-items: center; }

  .lp-faq { padding-top: 32px; }
  .lp-faq__list { gap: 20px; margin-top: 22px; }
  .lp-faq__toggle { min-height: 83px; padding: 18px 11px 18px 14px; font-size: 16px; line-height: 24px; }
  .lp-faq__panel { padding: 0 11px 22px 14px; margin-top: -4px; }
  .lp-faq .lp-cta { margin-top: 36px; align-items: center; }

  .lp-footer { margin-top: 44px; padding: 20px 0 24px; line-height: 24px; }
  .lp-footer p:first-child { line-height: 28px; }
  .lp-footer__copy { margin-top: 12px; }
}

@media (max-width: 374px) {
  .lp-btn { width: 100%; font-size: 16px; }
  .lp-bullets, .lp-final .lp-bullets { margin-left: 24px; }
}

/* ---------- Sticky mobile CTA ---------- */
.lp-sticky-cta { display: none; }
@media (max-width: 767px) {
  .lp-sticky-cta {
    text-align: center;
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 40;
    padding: 12px 16px 12px;
    background: var(--lp-bg);
    border-top: 1px solid #ececec;
    transform: translateY(100%);
    transition: transform 0.3s ease;
  }
  .lp-sticky-cta.is-visible { transform: translateY(0); }
  .lp-sticky-cta .lp-btn { animation: none; }
}
