@font-face {
  font-family: Manrope;
  src: url('../assets/desktop/block-01-hero/fonts/Manrope-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url('../assets/desktop/block-01-hero/fonts/Inter-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url('../assets/desktop/block-01-hero/fonts/Inter-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
* { box-sizing: border-box; }
html { background: #faf7f2; }
body { margin: 0; color: #111; font-family: Inter, sans-serif; }
button { font: inherit; }
.hero__visual, .hero__visual > picture, .hero__button--main > picture { display: contents; }
.hero__mobile-only, .hero__menu-toggle { display: none; }
/* Desktop canvas scales as one composition; mobile styling is a later stage. */
.hero {
  position: relative;
  container-type: inline-size;
  width: 100%;
  max-width: 1694px;
  aspect-ratio: 1694 / 928;
  margin-inline: auto;
  isolation: isolate;
}
.hero__photo { display: block; width: 100%; height: auto; }
.hero__header {
  position: absolute;
  inset: 1.0626cqw 5.6080cqw auto 5.9032cqw;
  display: flex;
  align-items: center;
  height: 3.8371cqw;
}
.hero__brand { display: block; width: 11.0389cqw; flex: none; }
.hero__brand img { display: block; width: 100%; height: auto; }
.hero__nav {
  display: flex;
  align-items: center;
  gap: 2.3022cqw;
  margin-left: 15.7615cqw;
  white-space: nowrap;
  color: #303438;
  font-size: 1.1216cqw;
  line-height: 1.5348cqw;
}
.hero__nav a { color: inherit; text-decoration: none; }
.hero__nav a:hover { color: #638565; }
.hero__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 99px;
  background: #638565;
  color: white;
  font-weight: 600;
  text-decoration: none;
}
.hero__button:disabled { opacity: 1; }
.hero :focus-visible { outline: 3px solid #304c32; outline-offset: 5px; }
.hero__button--header { margin-left: auto; width: 13.1051cqw; height: 3.8371cqw; flex: none; font-size: 1.1806cqw; }
.hero__content { position: absolute; top: 9.6812cqw; left: 5.9032cqw; width: 45.4545cqw; }
.hero__eyebrow { margin: 0; font-size: .9445cqw; line-height: 1.4168cqw; letter-spacing: .2952cqw; text-transform: uppercase; color: #303438; }
.hero__title { margin: 1.3577cqw 0 0; font-family: Manrope, sans-serif; font-size: 4.1617cqw; line-height: 4.4864cqw; letter-spacing: -.1181cqw; font-weight: 700; }
.hero__title span { display: block; white-space: nowrap; }
.hero__title-accent { color: #638565; }
.hero__description { margin: 1.0626cqw 0 0; font-size: 1.5939cqw; line-height: 2.3022cqw; color: #252525; white-space: nowrap; }
.hero__button--main { margin-top: 1.947cqw; width: 24.7934cqw; height: 5.549cqw; gap: 1.3577cqw; font-size: 1.5939cqw; line-height: 2.0071cqw; }
.hero__button--main img { width: 1.889cqw; height: auto; }
.hero__benefits { display: grid; grid-template-columns: 13.8135cqw 14.3447cqw 13cqw; margin: 3.719cqw 0 0; padding: 0; list-style: none; }
.hero__benefit { display: flex; align-items: flex-start; gap: 1.2397cqw; }
.hero__benefit > img { width: 3.1877cqw; height: 2.9516cqw; object-fit: contain; }
.hero__benefit:first-child > img { width: 2.9516cqw; }
.hero__benefit h2 { margin: 0; font: 700 1.4758cqw/1.8300cqw Manrope, sans-serif; }
.hero__benefit p { margin: .1771cqw 0 0; font-size: 1.1216cqw; line-height: 1.4168cqw; color: #555; }
.hero__note { position: absolute; left: 50.7084cqw; top: 9.0909cqw; width: 8.9138cqw; height: auto; }

/* Desktop block 02 — all component rules are scoped to features. */
.features__mobile-only { display: none; }
.features__badge > picture { display: contents; }
.features { position: relative; container-type: inline-size; isolation: isolate; width: 100%; max-width: 1672px; aspect-ratio: 1672 / 941; margin-inline: auto; overflow: hidden; background: radial-gradient(ellipse at 48% 50%, #faf8f5, #f7f3ee 85%); color: #181818; }
.features__intro { position: relative; z-index: 2; padding-top: 2.8708cqw; text-align: center; }
.features__eyebrow { margin: 0; color: #8fa77f; font-size: .7177cqw; line-height: 1.1364cqw; letter-spacing: .299cqw; text-transform: uppercase; }
.features__eyebrow span { padding-inline: 1.0167cqw; }
.features__intro h2 { margin: 2.5718cqw 0 0; font: 700 3.4689cqw/3.5885cqw Manrope, sans-serif; letter-spacing: -.0598cqw; }
.features__subtitle { margin: 1.25598cqw 0 0; font-size: 1.1962cqw; line-height: 1.555cqw; color: #989898; }
.features__steps { position: absolute; z-index: 2; top: 21.6507cqw; left: 8.3732cqw; right: 8.3732cqw; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.7512cqw; list-style: none; margin: 0; padding: 0; }
.features__steps::before { content: ''; position: absolute; top: -.4785cqw; left: 9.3899cqw; right: 9.3899cqw; height: 1px; background: repeating-linear-gradient(to right, #b8c6af 0 3px, transparent 3px 8px); }
.features__card { position: relative; height: 22.7273cqw; border-radius: 1.555cqw; padding: 1.3756cqw 1.25598cqw; background: #fdfbfa; box-shadow: 0 1.7943cqw 2.9904cqw #857e6f0d; }
.features__card:not(:last-child)::after { content: ''; position: absolute; width: .6579cqw; height: .6579cqw; border-radius: 50%; background: #8fa77f; top: -.8074cqw; right: -1.7045cqw; }
.features__number { position: absolute; z-index: 2; left: 50%; top: -2.4522cqw; transform: translateX(-50%); width: 4.06699cqw; height: 4.06699cqw; display: grid; place-items: center; border: .1794cqw solid #fff; border-radius: 50%; background: #8fa77f; color: #fff; font-size: 1.4354cqw; font-weight: 600; }
.features__photo { display: block; width: 100%; height: 11.244cqw; object-fit: contain; background: #eeebe6; border-radius: 1.0766cqw; }
.features__badge { position: absolute; top: 9.1507cqw; left: 1.3158cqw; width: 4.1866cqw; height: 4.1866cqw; border: .4785cqw solid #fdfbfa; border-radius: 50%; display: grid; place-items: center; background: #eef1e8; }
.features__badge img { width: 2.1531cqw; height: 2.1531cqw; }
.features__copy { margin: 1.4354cqw .6579cqw 0; }
.features__copy h3 { margin: 0; font: 700 1.555cqw/1.9139cqw Manrope, sans-serif; letter-spacing: -.0299cqw; }
.features__copy p { margin: .4785cqw 0 0; color: #585858; font-size: 1.1364cqw; line-height: 1.4354cqw; white-space: nowrap; }
.features__card:last-child .features__copy p { letter-spacing: -.0359cqw; }
.features__decor { position: absolute; pointer-events: none; height: auto; z-index: 0; }
.features__decor--top { top: -1.7943cqw; left: -1.7943cqw; width: 19.1388cqw; }
.features__decor--lemon { bottom: -1.1962cqw; left: -5.3828cqw; width: 25.7177cqw; }
.features__decor--bottom { bottom: -2.3923cqw; right: -2.3923cqw; width: 22.1292cqw; }
.features__health-note { position: absolute; z-index: 1; right: 1.9139cqw; top: 3.8876cqw; width: 11.3636cqw; height: auto; opacity: .55; }
.features__circle { position: absolute; top: 26.9139cqw; left: 91.8062cqw; width: 17.3445cqw; height: 17.3445cqw; border-radius: 50%; background: #e6e8dc; padding: 6.0407cqw 0 0 1.7344cqw; color: #a8ae9e; font-size: .6579cqw; line-height: 1.1364cqw; letter-spacing: .1495cqw; text-transform: uppercase; }
.features__circle span { display: block; width: 2.0933cqw; height: 1px; margin-top: 1.1962cqw; background: #b9beae; }
.features__footer { position: absolute; z-index: 2; top: 46.3517cqw; left: 0; right: 0; text-align: center; }
.features__signature { display: flex; align-items: center; justify-content: center; gap: 2.0335cqw; }
.features__signature::before, .features__signature::after { content: ''; width: 7.7751cqw; height: 1px; background: #c9ccc4; }
.features__signature img { width: 23.6244cqw; height: auto; }
.features__footer p { margin: .7177cqw 0 0; font-size: .7177cqw; line-height: 1.1364cqw; letter-spacing: .2691cqw; text-transform: uppercase; color: #b1b3ac; }

/* Desktop block 03 — natural card height accommodates complete brief lists. */
.offer__mobile-only { display: none; }
.offer__icon > picture, .offer__button > picture { display: contents; }
.offer__icon source, .offer__button source { display: none; }
.offer { position: relative; container-type: inline-size; isolation: isolate; overflow: hidden; width: 100%; max-width: 1672px; margin-inline: auto; padding-bottom: 2.512cqw; background: radial-gradient(ellipse at 50% 30%, #fbf9f7, #f3efea); }
.offer__intro { position: relative; z-index: 1; padding-top: 2.512cqw; text-align: center; }
.offer__eyebrow { margin: 0; color: #666; font-size: .7775cqw; line-height: 1.0766cqw; letter-spacing: .359cqw; text-transform: uppercase; }
.offer__intro h2 { margin: 0; font: 700 3.3792cqw/3.7081cqw Manrope, sans-serif; letter-spacing: -.0598cqw; }
.offer__subtitle { margin: .5383cqw 0 0; color: #666; font-size: 1.256cqw; line-height: 1.6746cqw; }
.offer__inner { position: relative; z-index: 2; width: 69.2584cqw; margin: 1.9139cqw auto 0; }
.offer__cards { display: grid; grid-template-columns: 1fr 1.0484fr 1fr; gap: .7177cqw; align-items: stretch; }
.offer__card { display: flex; flex-direction: column; min-width: 0; padding: 1.4354cqw 1.555cqw; border: 1px solid #fff; border-radius: 1.3158cqw; background: #fdfbf9e8; box-shadow: 0 1.3158cqw 2.3923cqw #74685313; }
.offer__card--popular { margin-top: -.6579cqw; padding-top: 2.0933cqw; border-top: 2px solid #ce806b; background: linear-gradient(140deg,#fff5f1,#fdf9f7); }
.offer__card-top { display: flex; align-items: flex-start; justify-content: space-between; height: 4.8445cqw; gap: .3589cqw; }
.offer__icon { flex: none; display: grid; place-items: center; width: 4.1866cqw; height: 4.1866cqw; border-radius: 50%; background: #e4e7dc; }
.offer__icon img { width: 2.3923cqw; height: 2.3923cqw; object-fit: contain; }
.offer__card--popular .offer__icon { background: #f5dbd2; }
.offer__label { padding-top: .7177cqw; color: #767b70; font-size: .5981cqw; line-height: 1.0766cqw; letter-spacing: .0897cqw; text-transform: uppercase; white-space: nowrap; }
.offer__popular { display: inline-flex; align-items: center; justify-content: center; gap: .4785cqw; padding: .3589cqw .7177cqw; border-radius: 99px; background: linear-gradient(110deg,#d78064,#bf684f); color: white; font-size: .7177cqw; line-height: 1.0766cqw; font-weight: 600; text-transform: uppercase; white-space: nowrap; }
.offer__popular img { width: 1.1962cqw; height: 1.0766cqw; }
.offer__card h3 { margin: .2392cqw 0 0; font: 700 1.7344cqw/2.1531cqw Manrope, sans-serif; letter-spacing: -.0419cqw; white-space: nowrap; }
.offer__description { min-height: 4.6651cqw; margin: .4785cqw 0 0; color: #555; font-size: 1.0766cqw; line-height: 1.555cqw; }
.offer__price { margin: .7177cqw 0 .9569cqw; color: #3e573a; font: 700 2.8708cqw/3.3493cqw Manrope, sans-serif; letter-spacing: -.0598cqw; }
.offer__card--popular .offer__price { color: #b85f49; }
.offer__list { display: grid; gap: .4785cqw; margin: 0 0 1.4354cqw; padding: 0; list-style: none; color: #555; font-size: .9569cqw; line-height: 1.4354cqw; }
.offer__list li { position: relative; padding-left: 2.3923cqw; }
.offer__list li::before { content: ''; position: absolute; left: 0; top: 0; width: 1.4354cqw; height: 1.4354cqw; border-radius: 50%; background: #e3e7dc url('../assets/desktop/block-03-offer/svg/check-green.svg') center / 1.1962cqw no-repeat; }
.offer__card--popular .offer__list li::before { background-color: #f4ddd3; background-image: url('../assets/desktop/block-03-offer/svg/check-terracotta.svg'); }
.offer__button { display: flex; justify-content: center; align-items: center; gap: .5981cqw; margin-top: auto; padding: .5981cqw .3589cqw; min-height: 3.11cqw; width: 100%; border: 1px solid #83917c; border-radius: 99px; background: transparent; color: #3e573a; font-size: 1.0167cqw; line-height: 1.4354cqw; font-weight: 600; white-space: nowrap; }
.offer__button img { flex: none; width: 1.3158cqw; height: auto; }
.offer__button:disabled { opacity: 1; }
.offer__card--popular .offer__button { color: #fff; border-color: transparent; background: linear-gradient(110deg,#ce7a5e,#c26b53); }
.offer__button:not(:disabled):hover { box-shadow: 0 0 0 2px #83917c; }
.offer__button:focus-visible { outline: 3px solid #3e573a; outline-offset: 4px; }
.offer__bonus { position: relative; display: grid; grid-template-columns: 12.0813cqw 1fr 25.1794cqw; align-items: center; min-height: 9.1507cqw; margin-top: 1.6746cqw; border: 1px solid #fff9; border-radius: 1.1962cqw; background: #ffffff70; }
.offer__portrait-panel { position: absolute; inset: 0 auto 0 0; width: 12.0813cqw; border-radius: 1.1962cqw 0 0 1.1962cqw; background: radial-gradient(ellipse at 22% 0%,#bdc6ae 0 42%,#dbe0d0 43% 72%,#e7e9df 73%); }
.offer__portrait { position: absolute; bottom: 0; left: 1.0167cqw; width: 9.3301cqw; height: 10.8852cqw; object-fit: contain; object-position: center bottom; }
.offer__bonus-main { grid-column: 2; padding: 1.1962cqw; }
.offer__bonus-label { display: inline-flex; align-items: center; gap: .5981cqw; margin: 0 0 .6579cqw; padding: .2392cqw .7177cqw; background: #f6e4dc; border-radius: 99px; color: #b85f49; font-size: .7775cqw; line-height: 1.3158cqw; font-weight: 600; text-transform: uppercase; }
.offer__bonus-label img { width: 1.1962cqw; height: 1.3158cqw; }
.offer__bonus h3 { margin: 0; font-size: 1.256cqw; line-height: 1.6746cqw; font-weight: 400; }
.offer__bonus-detail { margin: 1.1962cqw 0; border-left: 1px solid #d5d4ce; padding: 0 2.1531cqw; color: #555; font-size: .9569cqw; line-height: 1.4354cqw; }
.offer__decor { position: absolute; z-index: 0; pointer-events: none; object-fit: contain; object-position: top; }
.offer__decor--leaves { top: -1.1962cqw; left: -2.9904cqw; width: 19.1388cqw; height: 46.6507cqw; }
.offer__decor--fitness { top: 21.5311cqw; right: -.299cqw; width: 15.5502cqw; height: 31.1005cqw; }
.offer__note { position: absolute; z-index: 1; top: 9.689cqw; right: 1.3756cqw; width: 11.9617cqw; height: auto; opacity: .75; }
.offer__caption { position: absolute; color: #898b83; text-transform: uppercase; font-size: .5981cqw; line-height: 1.256cqw; letter-spacing: .2392cqw; }
.offer__caption--left { bottom: 2.512cqw; left: 2.7512cqw; }
.offer__caption--right { bottom: 2.512cqw; right: 2.7512cqw; text-align: right; font-size: .4785cqw; letter-spacing: .1794cqw; }

/* Mobile block 01 — independent composition from the mobile handoff. */
@font-face { font-family: 'Manrope Mobile'; src: url('../assets/mobile/block-01-hero/fonts/Manrope-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter Mobile'; src: url('../assets/mobile/block-01-hero/fonts/Inter-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter Mobile'; src: url('../assets/mobile/block-01-hero/fonts/Inter-SemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@media (max-width: 767px) {
  .hero { display: flex; flex-direction: column; aspect-ratio: auto; max-width: none; padding: 5px 0 8px; background: #faf7f2; font-family: 'Inter Mobile', sans-serif; }
  .hero::before, .hero::after { content: ''; position: absolute; z-index: -1; pointer-events: none; width: 110px; height: 200px; background: url('../assets/mobile/block-01-hero/images/decor-leaves-mobile.webp') center / contain no-repeat; opacity: .15; filter: blur(4px); }
  .hero::before { top: 54px; left: -58px; transform: rotate(180deg); }
  .hero::after { top: 210px; right: 0; width: 60px; background-position: left center; background-size: 110px auto; }
  .hero__header { position: relative; z-index: 5; order: 0; inset: auto; height: 44px; margin: 0 24px; }
  .hero__brand { width: 123px; }
  .hero__brand img { height: auto; }
  .hero__menu-toggle { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 44px; height: 44px; margin-left: auto; margin-right: -10px; padding: 0; border: 0; background: transparent; cursor: pointer; }
  .hero__menu-toggle span { display: block; width: 22px; height: 1.5px; background: #303438; }
  .hero__menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(6.5px) rotate(45deg); }
  .hero__menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .hero__menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-6.5px) rotate(-45deg); }
  .hero__nav { display: none; position: absolute; top: 50px; left: 0; right: 0; margin: 0; padding: 12px; border: 1px solid #dce0d2; border-radius: 16px; background: #faf7f2; box-shadow: 0 12px 28px #3e573a20; font-size: 16px; line-height: 22px; }
  .hero__nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .hero__nav a, .hero__nav span { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; }
  .hero__nav span[aria-disabled] { color: #888; }
  .hero__button--header, .hero__desktop-only, .hero__note, .hero__benefit p { display: none; }
  .hero__content { position: relative; order: 1; top: auto; left: auto; width: auto; margin: 22px 24px 0; }
  .hero__eyebrow { font-size: 10px; line-height: 14px; letter-spacing: 1.6px; color: #707b60; }
  .hero__title { margin: 10px 0 0; font-family: 'Manrope Mobile', sans-serif; font-size: clamp(26px, 7.69vw, 33px); line-height: 1.06; letter-spacing: -.8px; color: #252525; }
  .hero__title span { white-space: normal; }
  .hero__title span:nth-child(n+2) { color: #707b60; }
  .hero__description { margin: 11px 0 0; font-size: 15px; line-height: 20px; white-space: normal; color: #363636; }
  .hero__desktop-break { display: none; }
  .hero__button--main { width: 100%; min-height: 48px; height: auto; margin-top: 12px; padding: 12px 16px; gap: 10px; font-size: 17px; line-height: 22px; background: linear-gradient(110deg, #818d6d, #798667); }
  .hero__button--main img { width: 18px; height: auto; }
  .hero__benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 15px 0 0; }
  .hero__benefit { justify-content: center; align-items: center; gap: 9px; min-height: 25px; }
  .hero__benefit + .hero__benefit { border-left: 1px solid #dedfd8; }
  .hero__benefit > .hero__mobile-only { display: block; flex: none; width: 21px; height: 22px; }
  .hero__benefit:first-child > .hero__mobile-only { width: 19px; }
  .hero__benefit h2 { font: 400 12px/18px 'Inter Mobile', sans-serif; white-space: nowrap; color: #363636; }
  .hero__visual { display: block; position: relative; order: 2; overflow: hidden; margin: 14px 8px 0; border-radius: 26px; }
  .hero__visual > picture { display: block; }
  .hero__photo { display: block; width: 100%; height: auto; aspect-ratio: 1368 / 1149; }
  .hero__mobile-note { display: block; position: absolute; left: 74%; top: 10%; width: 21%; height: auto; }
  .hero__photo-badge { display: flex; position: absolute; right: -1%; bottom: -1%; width: 33%; min-height: 30%; flex-direction: column; align-items: center; justify-content: center; padding: 12px 8px; border-radius: 75% 45% 0 0; background: linear-gradient(120deg, #d2d7c4, #e4e3d7); }
  .hero__photo-badge > img { width: 19px; height: 21px; margin-bottom: 7px; }
  .hero__photo-badge p { margin: 0; color: #536347; font-size: 8px; line-height: 12px; letter-spacing: 1px; font-weight: 600; text-transform: uppercase; }
}
@media (max-width: 359px) {
  .hero__content { margin-inline: 20px; }
  .hero__eyebrow { letter-spacing: 1px; }
  .hero__benefit { gap: 6px; }
  .hero__photo-badge { width: 39%; }
}

/* Mobile block 02 — four steps followed by the handoff still life. */
@font-face { font-family: 'Manrope Features Mobile'; src: url('../assets/mobile/block-02-features/fonts/Manrope-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter Features Mobile'; src: url('../assets/mobile/block-02-features/fonts/Inter-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter Features Mobile'; src: url('../assets/mobile/block-02-features/fonts/Inter-SemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@media (max-width: 767px) {
  .features { aspect-ratio: auto; max-width: none; padding: 36px 0 24px; background: #faf7f2; font-family: 'Inter Features Mobile', sans-serif; color: #202620; }
  .features__desktop-only, .features__decor, .features__health-note, .features__circle, .features__photo, .features__footer { display: none; }
  .features__mobile-only { display: block; }
  .features__intro { padding: 0; margin: 0 24px; }
  .features__mobile-eyebrow { display: inline-block; margin: 0; padding: 7px 15px; border-radius: 99px; background: #eaeddf; color: #4e633f; font-size: 13px; line-height: 18px; text-transform: uppercase; }
  .features__intro h2 { margin: 18px 0 0; font: 700 30px/35px 'Manrope Features Mobile', sans-serif; letter-spacing: -.5px; }
  .features__mobile-subtitle { margin: 18px auto 0; max-width: 380px; font-size: 17px; line-height: 24px; text-align: left; color: #464946; }
  .features__steps { position: relative; top: auto; left: auto; right: auto; display: grid; grid-template-columns: 1fr; gap: 0; margin: 30px 24px 0; }
  .features__steps::before { display: none; }
  .features__card { display: grid; grid-template-columns: 36px 72px minmax(0, 1fr); column-gap: 16px; align-items: start; height: auto; min-height: 148px; padding: 0 0 30px; border-radius: 0; background: transparent; box-shadow: none; }
  .features__card:last-child { min-height: 0; padding-bottom: 0; }
  .features__card:not(:last-child)::after { display: block; z-index: -1; left: 17.5px; right: auto; top: 36px; bottom: -36px; width: 1px; height: auto; border-radius: 0; background: #819d72; }
  .features__number { position: relative; left: auto; top: auto; transform: none; width: 36px; height: 36px; margin-top: 18px; border: 0; background: #819d72; font: 600 20px/24px 'Inter Features Mobile', sans-serif; }
  .features__badge { position: static; width: 72px; height: 72px; border: 0; background: #e7eddf; }
  .features__badge img { display: block; width: 44px; height: 44px; object-fit: contain; }
  .features__copy { min-width: 0; margin: 4px 0 0; }
  .features__copy h3 { font: 700 22px/28px 'Manrope Features Mobile', sans-serif; letter-spacing: -.3px; }
  .features__copy p { margin: 10px 0 0; font-size: 16px; line-height: 22px; white-space: normal; color: #464946; }
  .features__copy br { display: none; }
  .features__card:last-child .features__copy p { letter-spacing: 0; }
  .features__mobile-ending { position: relative; margin: 24px auto 0; max-width: 520px; }
  .features__mobile-visual { position: relative; }
  .features__mobile-photo { display: block; width: 100%; height: auto; }
  .features__mobile-note { position: absolute; left: 7%; top: 5%; width: 53%; height: auto; }
  .features__mobile-cta { position: relative; display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 64px; margin: -6px 24px 0; padding: 16px 12px; border-radius: 99px; background: linear-gradient(110deg, #648459, #55744b); color: #fff; text-decoration: none; font-size: 18px; line-height: 24px; font-weight: 600; }
  .features__mobile-cta img { flex: none; width: 22px; height: auto; }
  .features__mobile-cta:focus-visible { outline: 3px solid #304c32; outline-offset: 4px; }
}
@media (max-width: 374px) {
  .features__intro { margin-inline: 20px; }
  .features__intro h2 { font-size: 28px; line-height: 33px; }
  .features__steps { margin-inline: 16px; }
  .features__card { grid-template-columns: 30px 52px minmax(0, 1fr); column-gap: 10px; }
  .features__number { width: 30px; height: 30px; margin-top: 11px; font-size: 17px; }
  .features__card:not(:last-child)::after { left: 14.5px; top: 26px; bottom: -26px; }
  .features__badge { width: 52px; height: 52px; }
  .features__badge img { width: 34px; height: 34px; }
  .features__copy { margin-top: 0; }
  .features__copy h3 { font-size: 21px; }
  .features__mobile-cta { margin-inline: 20px; gap: 8px; font-size: 16px; }
}

/* Mobile block 03 — native horizontal scrolling, no slider library. */
@font-face { font-family: 'Manrope Offer Mobile'; src: url('../assets/mobile/block-03-offer/fonts/Manrope-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter Offer Mobile'; src: url('../assets/mobile/block-03-offer/fonts/Inter-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter Offer Mobile'; src: url('../assets/mobile/block-03-offer/fonts/Inter-SemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@media (max-width: 767px) {
  .offer { max-width: none; padding: 32px 0 32px; background: #faf7f2; font-family: 'Inter Offer Mobile', sans-serif; color: #202620; }
  .offer__mobile-only { display: block; }
  .offer__desktop-only, .offer__decor, .offer__note, .offer__caption, .offer__eyebrow, .offer__label, .offer__popular > img { display: none; }
  .offer__intro { padding: 0; margin: 0 24px; }
  .offer__intro h2 { font: 700 30px/35px 'Manrope Offer Mobile', sans-serif; letter-spacing: -.5px; }
  .offer__mobile-subtitle { margin: 16px auto 0; max-width: 440px; font-size: 16px; line-height: 23px; color: #717570; }
  .offer__inner { width: 100%; margin: 16px 0 0; }
  .offer__cards { --card-width: min(380px, calc(100vw - 64px)); display: flex; align-items: stretch; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 24px calc((100% - var(--card-width)) / 2) 24px; -webkit-overflow-scrolling: touch; }
  .offer__cards::-webkit-scrollbar { display: none; }
  .offer__cards:focus-visible { outline: 2px solid #55744b; outline-offset: -4px; }
  .offer__card { position: relative; isolation: isolate; flex: 0 0 var(--card-width); scroll-snap-align: center; scroll-snap-stop: always; min-width: 0; margin: 0; padding: 28px 22px 20px; border: 2px solid #bacbb0; border-radius: 22px; background: #fffffc; box-shadow: 0 10px 20px #526d3520; }
  .offer__card--popular { margin: 0; padding-top: 28px; border: 2px solid #a7be9d; background: #fffffc; box-shadow: 0 10px 22px #526d3530; }
  .offer__card::before, .offer__card::after { content: ''; position: absolute; z-index: -1; width: 22%; height: 120px; background: url('../assets/mobile/block-03-offer/images/decor-card-leaves.webp') right top / contain no-repeat; opacity: .75; pointer-events: none; }
  .offer__card::before { top: 10px; right: 0; }
  .offer__card::after { left: 0; bottom: 10px; transform: rotate(180deg); }
  .offer__card-top { order: 0; display: flex; justify-content: center; height: 90px; gap: 0; }
  .offer__icon, .offer__card--popular .offer__icon { width: 90px; height: 90px; border-radius: 50%; background: #ecf0e2; }
  .offer__icon img { width: 48px; height: 48px; }
  .offer__popular { position: absolute; top: -18px; left: 50%; transform: translateX(-50%); display: block; padding: 8px 22px; border-radius: 99px; background: linear-gradient(110deg,#839c75,#627d56); color: #fff; font-size: 13px; line-height: 18px; letter-spacing: .6px; box-shadow: 0 6px 14px #526d3520; }
  .offer__card h3 { order: 1; display: grid; align-items: center; min-height: 58px; margin: 12px 0 0; font: 700 23px/29px 'Manrope Offer Mobile',sans-serif; letter-spacing: -.5px; text-align: center; white-space: normal; overflow-wrap: anywhere; }
  .offer__price, .offer__card--popular .offer__price { order: 2; margin: 12px 0 0; color: #151b15; font: 700 42px/48px 'Manrope Offer Mobile',sans-serif; letter-spacing: -.5px; text-align: center; }
  .offer__description { order: 3; min-height: 84px; margin: 10px 0 20px; color: #626963; font-size: 15px; line-height: 21px; text-align: center; }
  .offer__list { order: 4; display: grid; gap: 12px; margin: 0 0 24px; color: #222922; font-size: 15px; line-height: 21px; }
  .offer__list li { min-height: 24px; padding-left: 34px; }
  .offer__list li::before, .offer__card--popular .offer__list li::before { top: 0; width: 24px; height: 24px; border-radius: 50%; background: #77956a url('../assets/mobile/block-03-offer/svg/check-white.svg') center / 18px no-repeat; }
  .offer__button, .offer__card--popular .offer__button { order: 5; min-height: 52px; margin-top: auto; padding: 12px 8px; gap: 8px; border: 0; border-radius: 99px; background: linear-gradient(110deg,#839c75,#627d56); color: white; font-size: 16px; line-height: 22px; white-space: normal; text-align: center; }
  .offer__button img { width: 20px; height: auto; }
  .offer__card-note { order: 6; width: 78%; height: 62px; object-fit: contain; margin: 18px auto 0; }
  .offer__dots { display: flex; justify-content: center; margin: -6px 0 8px; }
  .offer__dot { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
  .offer__dot::after { content: ''; width: 10px; height: 10px; border: 1px solid #91a284; border-radius: 50%; background: transparent; }
  .offer__dot[aria-current="true"]::after { background: #6b855e; border-color: #6b855e; }
  .offer__dot:focus-visible { outline: 2px solid #304c32; outline-offset: -4px; }
  .offer__bonus { display: block; min-height: 0; margin: 12px 24px 0; padding: 20px; border: 1px solid #dce2d2; border-radius: 20px; background: #eff1e8; text-align: center; }
  .offer__portrait-panel, .offer__bonus-detail, .offer__bonus-label > img { display: none; }
  .offer__bonus-main { padding: 0; }
  .offer__bonus-label { display: block; margin: 0 0 10px; padding: 0; background: transparent; color: #526747; font-size: 13px; line-height: 20px; }
  .offer__bonus h3 { margin: 0; font-size: 16px; line-height: 23px; font-weight: 400; }
  .offer__final-cta { width: calc(100% - 48px); min-height: 56px; margin: 16px 24px 0; padding: 14px 16px; border: 0; border-radius: 99px; background: linear-gradient(110deg,#839c75,#627d56); color: white; font-size: 16px; line-height: 22px; font-weight: 600; opacity: 1; }
}
@media (max-width: 359px) {
  .offer__intro { margin-inline: 20px; }
  .offer__intro h2 { font-size: 28px; line-height: 33px; }
  .offer__card { padding-inline: 16px; }
  .offer__card h3 { font-size: 21px; }
}

/* Version 2: selected button, anchor and tariff-card interactions. */
html { scroll-behavior: smooth; }
:is(#program, #tariffs, #expert-bonus) { scroll-margin-top: calc(var(--site-header-height) + 16px); }

:is(.hero__button, .features__mobile-cta):not(:disabled) {
  transition: transform 180ms ease, box-shadow 220ms ease;
}
:is(.hero__button, .features__mobile-cta):not(:disabled) img {
  transition: transform 220ms ease;
}
:is(.hero__button, .features__mobile-cta):not(:disabled):focus-visible {
  box-shadow: inset 0 0 0 100px #18351c14;
}
@media (hover: hover) and (pointer: fine) {
  :is(.hero__button, .features__mobile-cta):not(:disabled):hover {
    box-shadow: inset 0 0 0 100px #18351c24;
  }
  :is(.hero__button, .features__mobile-cta):not(:disabled):hover img {
    transform: translateX(3px);
  }
}
:is(.hero__button, .features__mobile-cta):not(:disabled):active {
  transform: scale(.98);
  box-shadow: inset 0 0 0 100px #18351c30;
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .offer__card {
    transition: transform 260ms cubic-bezier(.22, 1, .36, 1), box-shadow 260ms ease;
  }
  .offer__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 38px #74685329;
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  :is(.hero__button, .features__mobile-cta):not(:disabled),
  :is(.hero__button, .features__mobile-cta):not(:disabled) img,
  .offer__card { transition: none; }
  :is(.hero__button, .features__mobile-cta):not(:disabled):active,
  :is(.hero__button, .features__mobile-cta):not(:disabled):hover img,
  .offer__card:hover { transform: none; }
}

/* Publication requirement: keep navigation visible throughout the page. */
:root { --site-header-height: min(5.9623vw, 101px); }
.site-header-shell {
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
  background: #faf7f2;
  box-shadow: 0 1px 0 #dce0d2;
}
.site-header-canvas {
  position: relative;
  container-type: inline-size;
  max-width: 1694px;
  height: var(--site-header-height);
  margin-inline: auto;
}
.hero__header :focus-visible { outline: 3px solid #304c32; outline-offset: 5px; }
@media (max-width: 767px) {
  :root { --site-header-height: 54px; }
  .site-header-canvas { padding-top: 5px; }
  .hero { padding-top: 49px; }
  .hero__nav { max-height: calc(100dvh - 70px); overflow-y: auto; }
}
