:root {
  --milk: #fffaf4;
  --cream: #fff2e5;
  --peach: #ffd9c8;
  --peach-soft: #ffeae0;
  --peach-strong: #ffb79c;
  --coral: #f67f72;
  --coral-dark: #ef6f63;
  --coral-rgb: 246, 127, 114;
  --rose: #f7c1cf;
  --rose-soft: #ffe8ee;
  --mint: #bfe7d8;
  --mint-strong: #6bbda7;
  --plum: #71516a;
  --plum-dark: #3b2d35;
  --ink: #342d31;
  --muted: #75656d;
  --white: #ffffff;
  --line: rgba(91, 69, 81, 0.12);
  --shadow: 0 1.5rem 5rem rgba(93, 67, 78, 0.16);
  --radius-sm: 0.5rem;
  --radius-md: 1.5rem;
  --radius-lg: 2.25rem;
  /* 90rem при корне 16px ≈ 1440px — max ширина section-body (выше 1536px по ширине вьюпорта) */
  --section-width: 90rem;
  --hero-width: 87.5rem;
  --atom-inline: 2rem;
  /* Строки с иконкой: hero-feature / pricing-trust */
  --trust-row-icon-size: 1.5rem;
  --trust-row-font-size: 0.875rem;
  --trust-row-line-height: 1.35;
  --trust-row-font-weight: 500;
  --trust-row-color: #5f514e;
  /* Бренд-акцент: коралл #f67f72 — rgb(246, 127, 114) и производные */
  --brand-coral: #f67f72;
  --brand-coral-rgb: 246, 127, 114;
  --brand-coral-soft: rgba(246, 127, 114, 0.1);
  --brand-coral-soft-mid: rgba(246, 127, 114, 0.14);
  --brand-coral-muted: rgba(246, 127, 114, 0.06);
  --brand-coral-fill: rgba(246, 127, 114, 0.08);
  --brand-coral-border: rgba(246, 127, 114, 0.35);
  --brand-coral-border-subtle: rgba(246, 127, 114, 0.2);
  --brand-coral-shadow: rgba(246, 127, 114, 0.18);
  --brand-coral-surface: rgba(255, 232, 222, 0.96);
  --brand-coral-surface-solid: #fff0e8;
  --brand-coral-bubble: rgba(246, 127, 114, 0.14);
  --brand-coral-dark: #ef6f63;
  --brand-icon-yellow: #fbc442;
  --brand-icon-yellow-soft: rgb(251 196 66 / 12%);
  --brand-icon-blue: #5980ff;
  --brand-icon-blue-soft: rgb(89 128 255 / 12%);
  --brand-icon-green: #6bbda7;
  --brand-icon-green-soft: rgb(107 189 167 / 12%);
  --cta-button: #f53d83;
  --cta-button-dark: #d92d73;
  --cta-button-rgb: 245, 61, 131;
  /* Единый персиковый для кикеров, шагов, активных task-chips */
  --brand-peach-accent: #d8806f;
  --brand-peach-rgb: 216, 128, 111;
  --brand-peach-kicker-bg: rgba(255, 236, 225, 0.88);
  --filter-icon-peach: brightness(0) saturate(100%) invert(61%) sepia(35%) saturate(650%) hue-rotate(318deg);
}

@media (max-width: 1536px) {
  :root {
    --section-width: 1200px;
    --hero-width: 1166.6666666667px;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}

html {
  scroll-behavior: smooth;
  /* 1536px → 14px, 1920px → 16px; ниже 1536 — 14px, выше 1920 — 16px */
  font-size: clamp(14px, calc(15px + (100vw - 1536px) * 2 / 384), 16px);
}

body {
  min-height: 100vh;
  font-family: ui-rounded, "SF Pro Rounded", "Nunito", "Inter", "Segoe UI", system-ui, sans-serif;
  color: var(--ink);
  background: #fdfdfd;
  letter-spacing: 0;
}

strong,
b {
  font-weight: 600;
}

h1,
h2,
h3,
p,
ul,
ol,
li {
  padding: 0;
}

ul,
ol {
  list-style: none;
}

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

.page {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
  background: transparent;
}

.section {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
  overflow: hidden;
}

.section-body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(100%, var(--section-width));
}

.section-body--hero {
  min-height: calc(70dvh - 5.875rem);
  justify-content: center;
}

.section-body--partners {
  justify-content: flex-start;
  align-items: stretch;
}

.section.section--pain {
  overflow: visible;
}

.partners-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  gap: 3rem;
}

.partners-trust {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
}

.partners-trust-line {
  display: block;
  color: rgb(28, 32, 54);
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 600;
}

.section-body--content {
  min-height: 45rem;
  gap: 2.75rem;
}

.section-body--pain {
  min-height: auto;
  padding-top: 4rem;
  padding-bottom: 4rem;
  justify-content: center;
}

.section-body--emotion {
  min-height: 40rem;
}

.section-body--final {
  min-height: 32.5rem;
  align-items: center;
}

.section-decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.media-placeholder {
  border: 0.0625rem solid rgba(116, 84, 75, 0.1);
  border-radius: var(--radius-sm);
  background:
    linear-gradient(135deg, rgba(255, 217, 200, 0.52), rgba(255, 250, 244, 0.86)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(255, 241, 229, 0.62));
  box-shadow: inset 0 0 0 0.0625rem rgba(255, 255, 255, 0.7);
}

.section-layout {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 3rem;
}

.section-layout--hero {
  align-self: center;
  width: 100%;
  max-width: var(--section-width);
  min-height: 37.25rem;
}

.section-layout--split {
  justify-content: space-between;
}

.copy-stack,
.hero-text-group,
.hero-action-group,
.section-head,
.button-row,
.card-list,
.mini-flow,
.message-stack,
.question-list,
.step-list,
.benefit-list,
.pricing-list,
.price-card-header,
.price-head-text,
.price-features,
.final-panel {
  display: flex;
}

.copy-stack,
.hero-action-group,
.section-head,
.message-stack,
.price-features,
.price-head-text,
.final-panel {
  flex-direction: column;
}

.copy-stack {
  flex: 1 1 0;
  min-width: 0;
  gap: 1.25rem;
}

.copy-stack--emotion {
  max-width: 43.75rem;
}

.section-head {
  gap: 0.875rem;
}

.section-head--center {
  align-items: center;
  text-align: center;
}

.section-title,
.section-lead,
.emotion-copy,
.final-title,
.final-subtitle {
  max-width: 100%;
}

.section-title {
  max-width: 51.25rem;
  color: var(--plum-dark);
  font-size: 3rem;
  line-height: 1.06;
  font-weight: 600;
  letter-spacing: 0;
}

.section-lead {
  max-width: 47.5rem;
  color: var(--muted);
  font-size: 1.375rem;
  line-height: 1.45;
}

.section-lead--center {
  align-self: center;
  text-align: center;
}

.button-row,
.mini-flow {
  flex-wrap: wrap;
  gap: 0.75rem;
}

.button,
.mini-flow-item,
.pain-card,
.step-card,
.benefit-item,
.price-card,
.message,
.chat-window,
.final-panel,
.emotion-copy {
  border: 0.0625rem solid var(--line);
  box-shadow: var(--shadow);
}

.page .button {
  box-shadow: none;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.625rem;
  padding: 1rem 1.5rem;
  border-radius: 999rem;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.1;
  transition:
    transform 360ms cubic-bezier(0.33, 1, 0.68, 1),
    box-shadow 360ms cubic-bezier(0.33, 1, 0.68, 1),
    background 360ms cubic-bezier(0.33, 1, 0.68, 1);
}

.button::after {
  content: "→";
  padding-left: 0.625rem;
}

.button:hover {
  transform: translateY(-0.125rem);
}

.button--primary {
  color: var(--white);
  background: var(--cta-button);
  border-color: rgba(var(--cta-button-rgb), 0.34);
}

.button--ghost {
  color: var(--plum-dark);
  background: rgba(255, 255, 255, 0.8);
}

.button--large {
  min-height: 4rem;
  padding: 1.1875rem 1.875rem;
}

/* Hero */
.section--hero {
  min-height: 80dvh;
  padding-top: 5.875rem;
  background: linear-gradient(0deg, #fff7f4, #fef8e300);
  border-radius: 3rem;
}

.hero-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 50;
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
  justify-content: center;
  background: rgba(253, 253, 253, 0.88);
  backdrop-filter: blur(1rem);
  box-shadow: 0 0.75rem 2rem rgba(116, 84, 75, 0.05);
}

.hero-nav-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: min(100%, var(--section-width));
  min-height: 5.875rem;
  margin: 0;
  padding: 0;
  gap: 1.5rem;
}

.brand-link {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.75rem;
  padding: 1.375rem 1.75rem 0.75rem 0;
}

.brand-icon-wrap {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 2.5rem;
}

.brand-icon {
  display: block;
  width: auto;
  height: 100%;
  max-height: 100%;
}

.brand-copy {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.brand-name {
  color: #000000;
  font-family: "Nunito", ui-rounded, system-ui, sans-serif;
  font-size: 1.25rem;
  line-height: 1;
  font-weight: 600;
}

.brand-caption {
  color: rgba(0, 0, 0, 0.8);
  font-family: "Nunito", ui-rounded, system-ui, sans-serif;
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: uppercase;
}

.nav-links,
.nav-actions,
.hero-content,
.hero-copy,
.hero-feature-list,
.hero-feature,
.partners-list,
.hero-trust-list,
.hero-trust-item,
.hero-trust-copy {
  display: flex;
}

.nav-links {
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  gap: 1.75rem;
}

.nav-link {
  padding: 0.75rem 0.25rem;
  color: var(--plum-dark);
  font-size: 1rem;
  line-height: 1;
  transition: color 180ms ease;
}

.nav-link:hover {
  color: var(--coral);
}

.nav-actions {
  flex: 0 0 auto;
  align-items: center;
  gap: 0.5rem;
}

.nav-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7rem;
  min-height: 0;
  padding: 0.75rem 1rem;
  border: 0.0625rem solid rgba(246, 127, 114, 0.34);
  border-radius: 0.75rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
}

.nav-button--ghost {
  color: var(--plum-dark);
  background: rgba(255, 255, 255, 0.62);
}

.nav-button--primary {
  color: var(--white);
  background: var(--cta-button);
}

.hero-nav-burger {
  display: none;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  gap: 0.5rem;
  border: 0;
  border-radius: 0.75rem;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
}

.hero-nav-burger-icon-wrap {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}

.hero-nav-burger-x {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.hero-nav-burger-x-icon {
  display: block;
  flex-shrink: 0;
  width: 1.375rem;
  height: 1.375rem;
  margin: 0;
  padding: 0;
  color: #432823;
}

.hero-nav-burger-lines {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  color: rgb(67 40 35 / 50%);
}

.hero-nav-burger-menu-icon {
  display: block;
  flex-shrink: 0;
  width: 1.375rem;
  height: 1.375rem;
  margin: 0;
  padding: 0;
}

.hero-nav-burger-copy {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
}

.hero-nav-burger-label {
  color: var(--plum-dark);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
}

.hero-nav-burger-label--close {
  display: none;
}

.mobile-nav-open .hero-nav-burger-label--open {
  display: none;
}

.mobile-nav-open .hero-nav-burger-label--close {
  display: inline;
}

.mobile-nav-open .hero-nav-burger-lines {
  display: none;
}

.mobile-nav {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.mobile-nav[hidden] {
  display: none !important;
}

.mobile-nav-sheet {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  padding-top: calc(5.875rem + env(safe-area-inset-top, 0px));
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  box-sizing: border-box;
  min-height: 0;
  background: #fdfdfd;
}

.mobile-nav-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  min-height: 0;
}

.mobile-nav-primary {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  min-height: 0;
}

.mobile-nav-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  margin: 0;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  padding-right: max(1.75rem, env(safe-area-inset-right, 0px));
  padding-left: max(1.75rem, env(safe-area-inset-left, 0px));
  box-sizing: border-box;
  color: var(--plum-dark);
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.mobile-nav-link:not(:last-child) {
  border-bottom: 0.0625rem solid rgb(0 0 0 / 10%);
}

.mobile-nav-footer {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  margin: 0;
  margin-top: 0;
  padding-top: 1rem;
  padding-right: max(1rem, env(safe-area-inset-right, 0px));
  padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  padding-left: max(1rem, env(safe-area-inset-left, 0px));
  box-sizing: border-box;
  gap: 0.5rem;
}

.mobile-nav-footer .nav-button {
  width: 100%;
  box-sizing: border-box;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  font-size: 1rem;
}

.mobile-nav-open .hero-nav {
  z-index: 70;
}

.solution-experts-bundle {
  display: none;
}

.solution-experts-list--mobile {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  align-content: flex-start;
  width: 100%;
  margin: 0;
  padding: 0;
  gap: 0.5rem;
}

.solution-experts-list--mobile .solution-expert {
  width: auto;
}

.hero-content {
  position: relative;
  z-index: 2;
}

.hero-copy {
  flex: 1 1 0;
  flex-direction: column;
  min-width: 0;
  gap: 4rem;
}

.hero-action-group {
  gap: 1.5rem;
}

.hero-text-group {
  flex-direction: column;
  gap: 1.5rem;
}

.hero-title-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  gap: 1rem;
}

.hero-kicker {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}

.hero-title {
  display: flex;
  flex-direction: column;
  max-width: 39.375rem;
  color: #432823;
  font-size: 3.875rem;
  line-height: 1.03;
  font-weight: 500;
  letter-spacing: 0;
}

.hero-title-accent {
  color: var(--coral);
}

.hero-subtitle {
  max-width: 35.9375rem;
  color: #594845;
  font-size: 1.3125rem;
  line-height: 1.34;
}

.hero-feature-list {
  flex-wrap: wrap;
  gap: 1rem;
}

.hero-feature {
  align-items: center;
  flex: 1 1 9.375rem;
  max-width: 11.25rem;
  gap: 0.5rem;
  color: var(--trust-row-color);
  font-size: var(--trust-row-font-size);
  line-height: var(--trust-row-line-height);
  font-weight: var(--trust-row-font-weight);
}

.hero-feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: auto;
  height: auto;
  border-radius: 0;
}

.hero-feature-icon img {
  display: block;
  width: var(--trust-row-icon-size);
  height: var(--trust-row-icon-size);
}

.section--hero .button-row {
  gap: 1.125rem;
}

.section--hero .button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 3.875rem;
  padding: 1.125rem 1.75rem;
  border-radius: 1rem;
  font-size: 1rem;
  font-weight: 600;
  transition:
    box-shadow 380ms cubic-bezier(0.33, 1, 0.68, 1),
    background 380ms cubic-bezier(0.33, 1, 0.68, 1);
}

.section--hero .button:hover {
  transform: none;
}

.section--hero .button > * {
  position: relative;
  z-index: 2;
}

.section--hero .button--primary {
  min-width: 19.875rem;
  background: var(--cta-button);
  border-color: rgba(var(--cta-button-rgb), 0.2);
}

.section--hero .button--primary::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: opacity 320ms cubic-bezier(0.33, 1, 0.68, 1);
  background-color: transparent;
}

.section--hero .button--primary:hover::before {
  opacity: 1;
  background-image:
    linear-gradient(
      100deg,
      rgba(0, 0, 0, 0) 40%,
      rgba(0, 0, 0, 0.05) 50%,
      rgba(0, 0, 0, 0) 60%
    ),
    linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
  background-repeat: no-repeat, no-repeat;
  background-size: 220% 100%, auto;
  animation: hero-cta-primary-glint 0.92s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes hero-cta-primary-glint {
  from {
    background-position: 100% center, center center;
  }

  to {
    background-position: -145% center, center center;
  }
}

.section--hero .button--primary::after {
  position: relative;
  z-index: 2;
}

.section--hero .button--ghost {
  min-width: 13.375rem;
  gap: 0.75rem;
  color: #5a3633;
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(134, 78, 72, 0.26);
}

.section--hero .button--ghost .button-icon {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}

.section--hero .button--ghost .button-icon svg {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
}

.section--hero .button--ghost::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  background: transparent;
  transition: opacity 320ms cubic-bezier(0.33, 1, 0.68, 1);
}

.section--hero .button--ghost:hover::before {
  opacity: 1;
  background: rgba(0, 0, 0, 0.1);
}

.section--hero .button--ghost::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  z-index: 1;
}

.section--hero .button--ghost:hover::after {
  opacity: 1;
  animation: hero-cta-ghost-glint 0.92s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes hero-cta-ghost-glint {
  0% {
    opacity: 0;
    background: linear-gradient(
      100deg,
      rgba(0, 0, 0, 0) 36%,
      rgba(0, 0, 0, 0.05) 50%,
      rgba(0, 0, 0, 0) 64%
    );
    background-size: 200% 100%;
    background-position: 100% 0;
  }

  45% {
    opacity: 1;
    background-position: -35% 0;
  }

  100% {
    opacity: 0;
    background-position: -35% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .section--hero .button--primary:hover::before {
    animation: none;
    opacity: 1;
    background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
    background-position: center center;
  }

  .section--hero .button--ghost:hover::after {
    animation: none;
    opacity: 0;
  }
}

.hero-visual {
  position: relative;
  flex: 1.15 1 0;
  min-width: 0;
  height: 40rem;
}

.hero-scene {
  position: absolute;
  right: 0;
  bottom: -0.375rem;
  width: min(100%, 49.375rem);
  height: 39.875rem;
  margin: 0;
  padding: 0;
  background: transparent;
  overflow: visible;
  pointer-events: auto;
}

.hero-ai-helper-wrap {
  position: absolute;
  z-index: 3;
  top: 15%;
  right: 10%;
  display: flex;
  flex-direction: row;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  width: auto;
  height: 42%;
  aspect-ratio: 1 / 1;
  line-height: 0;
  pointer-events: none;
  user-select: none;
}

.hero-ai-helper-stack {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  transform-origin: 50% 50%;
}

.hero-ai-helper-wrap:not(.hero-ai-helper-wrap--parallax-hover) .hero-ai-helper-stack {
  animation: hero-ai-helper-idle 5s ease-in-out infinite;
}

.hero-ai-helper-wrap--parallax-hover .hero-ai-helper-stack {
  animation: none;
  transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes hero-ai-helper-idle {
  0%,
  100% {
    transform: translateY(-0.25rem) rotate(-2deg);
  }

  50% {
    transform: translateY(0.25rem) rotate(0deg);
  }
}

.hero-ai-helper {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  object-fit: contain;
  filter: drop-shadow(0 0 1rem rgba(251, 196, 66, 0.3));
}

.hero-ai-helper-wrap.is-glaring .hero-ai-helper {
  animation: hero-ai-helper-shadow-blink 2s cubic-bezier(0.42, 0, 0.58, 1) forwards;
}

@keyframes hero-ai-helper-shadow-blink {
  0%,
  100% {
    filter: drop-shadow(0 0 1rem rgba(251, 196, 66, 0.3));
  }

  50% {
    filter: drop-shadow(0 0 2rem rgba(251, 196, 66, 0.39));
  }
}

.hero-ai-helper-glare-wrap {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  gap: 0;
  pointer-events: none;
}

.hero-ai-helper-stroke {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  object-fit: contain;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  pointer-events: none;
  opacity: 0;
}

.hero-ai-helper-wrap.is-glaring .hero-ai-helper-stroke {
  opacity: 1;
  -webkit-mask-image: linear-gradient(
    118deg,
    rgba(255, 255, 255, 0) 37%,
    rgba(255, 255, 255, 1) 49%,
    rgba(255, 255, 255, 0.45) 51%,
    rgba(255, 255, 255, 0) 63%
  );
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 260% 260%;
  mask-image: linear-gradient(
    118deg,
    rgba(255, 255, 255, 0) 37%,
    rgba(255, 255, 255, 1) 49%,
    rgba(255, 255, 255, 0.45) 51%,
    rgba(255, 255, 255, 0) 63%
  );
  mask-repeat: no-repeat;
  mask-size: 260% 260%;
  animation: hero-ai-helper-glare-shift 2s cubic-bezier(0.42, 0, 0.58, 1) forwards;
}

@keyframes hero-ai-helper-glare-shift {
  0% {
    -webkit-mask-position: 88% 58%;
    mask-position: 88% 58%;
  }

  100% {
    -webkit-mask-position: -42% -12%;
    mask-position: -42% -12%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-ai-helper-wrap:not(.hero-ai-helper-wrap--parallax-hover) .hero-ai-helper-stack {
    animation: none;
    transform: none;
  }

  .hero-ai-helper-wrap.is-glaring .hero-ai-helper-stroke {
    animation: none;
    opacity: 0;
  }

  .hero-ai-helper-wrap.is-glaring .hero-ai-helper {
    animation: none;
  }
}

.hero-image {
  position: absolute;
  z-index: 2;
  top: 0;
  right: auto;
  bottom: auto;
  left: 50%;
  display: block;
  width: auto;
  height: 100%;
  max-height: 100%;
  aspect-ratio: 1 / 1;
  margin: 0;
  padding: 0;
  object-fit: contain;
  object-position: center bottom;
  transform: translateX(-50%);
  pointer-events: none;
  user-select: none;
}

.task-bubble-group {
  position: absolute;
  z-index: 6;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.task-bubble-group--left {
  left: 0;
  top: 50%;
  align-items: flex-start;
  transform: translateY(calc(-50% - 3rem));
}

.task-bubble-group--right {
  right: 0;
  top: 50%;
  align-items: flex-end;
  transform: translateY(calc(-50% + 3rem));
}

.hero-hint-wrap {
  position: absolute;
  z-index: 7;
  top: 5%;
  right: 20%;
  left: auto;
  width: min(94%, 18rem);
  margin: 0;
  padding: 0;
  transform: translate(0, 0);
  pointer-events: none;
}

.hero-hint {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  gap: 0.5rem;
  overflow: visible;
  visibility: hidden;
  opacity: 0;
  margin: 0;
  padding: 0.875rem 1rem 1rem;
  border-radius: 1.375rem;
  color: #342d31;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.35;
  text-align: center;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(0.5rem);
  box-shadow:
    0 0 2rem rgba(var(--brand-peach-rgb), 0.12),
    0 0.75rem 2.75rem rgba(var(--brand-peach-rgb), 0.14);
  transform: translateY(0.625rem) rotate(3deg);
  transition:
    opacity 0.3s ease,
    visibility 0s linear 0.3s,
    transform 0.3s ease;
}

.hero-hint.is-visible {
  visibility: visible;
  opacity: 1;
  transform: translateY(0) rotate(3deg);
  transition:
    opacity 0.3s ease,
    visibility 0s linear 0s,
    transform 0.3s ease;
}

.hero-hint-topic-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  align-self: center;
  flex-shrink: 0;
  width: 100%;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.hero-hint-topic-row--hidden {
  display: none;
}

.hero-hint-topic-icon-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  align-self: center;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.hero-hint-topic-label-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.hero-hint-topic-label {
  margin: 0;
  padding: 0;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.03rem;
  text-transform: uppercase;
  color: var(--brand-peach-accent);
}

.hero-hint-topic-icon-inner {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  margin: 0;
  padding: 0;
}

.hero-hint-topic-icon-img {
  display: block;
  width: 1rem;
  height: 1rem;
  margin: 0;
  padding: 0;
  object-fit: contain;
  filter: var(--filter-icon-peach);
}

.hero-hint-copy {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0;
  padding: 0;
  font-weight: 400;
  line-height: 1.28;
  text-align: center;
  word-break: normal;
  overflow-wrap: normal;
}

.hero-hint-horn-wrap {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 0;
  display: flex;
  margin: 0;
  padding: 0;
  transform: translate(-50%, -0.0625rem);
  pointer-events: none;
}

.hero-hint-horn-icon-wrap {
  display: flex;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.hero-hint-horn-img {
  display: block;
  width: auto;
  height: 1rem;
  max-height: 1rem;
  margin: 0;
  padding: 0;
}

.hero-ai-helper-wrap:not(.hero-ai-helper-wrap--parallax-hover)
  ~ .hero-hint-wrap:has(#hero-hint.is-visible) {
  animation-name: hero-ai-helper-idle;
  animation-duration: 5s;
  animation-timing-function: ease-in-out;
  animation-delay: 0s;
  animation-iteration-count: infinite;
  animation-fill-mode: none;
  transform-origin: 50% 50%;
}

.hero-ai-helper-wrap--parallax-hover ~ .hero-hint-wrap {
  transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

.hero-hint-word {
  white-space: nowrap;
}

.hero-hint-char {
  display: inline-block;
  opacity: 0;
  animation: hero-hint-smoke 0.15s ease-out forwards;
}

@keyframes hero-hint-smoke {
  0% {
    opacity: 0;
    transform: translateY(-0.25rem) scale(1.1);
    filter: blur(0.375rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

.task-bubble {
  --bubble-label-size: 0.8125rem;
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 6rem;
  min-height: 6rem;
  gap: 0.5rem;
  padding: 0.875rem 0.75rem;
  border: 0.0625rem solid rgba(255, 255, 255, 0.9);
  border-radius: 1.625rem 1.625rem 1.625rem 0.5rem;
  color: #4c403d;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 1.125rem 2.625rem rgba(81, 57, 50, 0.12);
  font-size: var(--bubble-label-size);
  font-weight: 600;
  text-transform: uppercase;
  backdrop-filter: blur(0.625rem);
  transform-origin: center;
  cursor: pointer;
  animation: task-bubble-pop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.task-bubble:hover,
.task-bubble.is-autoplay-active {
  color: var(--brand-peach-accent);
  border-color: rgba(var(--brand-peach-rgb), 0.42);
  box-shadow:
    0 1.125rem 2.625rem rgba(81, 57, 50, 0.12),
    0 0 0 0.0625rem rgba(var(--brand-peach-rgb), 0.22),
    0 0.375rem 1.25rem rgba(var(--brand-peach-rgb), 0.35);
}

.task-bubble-group .task-bubble:hover,
.task-bubble-group .task-bubble.is-autoplay-active {
  border-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 1.125rem 2.625rem rgba(81, 57, 50, 0.12);
}

.task-bubble-group .task-bubble:hover .task-text,
.task-bubble-group .task-bubble.is-autoplay-active .task-text {
  color: var(--brand-peach-accent);
}

.task-bubble .task-text {
  color: rgb(0 0 0 / 30%);
}

.task-bubble:hover .task-text,
.task-bubble.is-autoplay-active .task-text {
  color: var(--brand-peach-accent);
}

.task-bubble .task-icon,
.task-bubble .task-text {
  transition: color 0.2s ease;
}

.task-bubble:hover .task-icon img,
.task-bubble.is-autoplay-active .task-icon img {
  width: calc(1.5rem + 0.25rem);
  height: calc(1.5rem + 0.25rem);
  filter: var(--filter-icon-peach);
  opacity: 1;
}

.task-bubble-group--left .task-bubble {
  border-radius: 1.625rem 1.625rem 0.5rem 1.625rem;
}

.task-bubble--tilt-3 {
  animation-name: task-bubble-pop-tilt-3;
}

.task-bubble--tilt-n3 {
  animation-name: task-bubble-pop-tilt-n3;
}

.task-bubble-group--left .task-bubble:nth-child(1) {
  animation-delay: 0s;
}
.task-bubble-group--right .task-bubble:nth-child(1) {
  animation-delay: 0.1s;
}
.task-bubble-group--left .task-bubble:nth-child(2) {
  animation-delay: 0.2s;
}
.task-bubble-group--right .task-bubble:nth-child(2) {
  animation-delay: 0.3s;
}
.task-bubble-group--left .task-bubble:nth-child(3) {
  animation-delay: 0.4s;
}
.task-bubble-group--right .task-bubble:nth-child(3) {
  animation-delay: 0.5s;
}

@keyframes task-bubble-pop {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  60% {
    opacity: 1;
    transform: scale(1.08);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes task-bubble-pop-tilt-3 {
  0% {
    opacity: 0;
    transform: rotate(3deg) scale(0);
  }
  60% {
    opacity: 1;
    transform: rotate(3deg) scale(1.08);
  }
  100% {
    opacity: 1;
    transform: rotate(3deg) scale(1);
  }
}

@keyframes task-bubble-pop-tilt-n3 {
  0% {
    opacity: 0;
    transform: rotate(-3deg) scale(0);
  }
  60% {
    opacity: 1;
    transform: rotate(-3deg) scale(1.08);
  }
  100% {
    opacity: 1;
    transform: rotate(-3deg) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .task-bubble {
    animation: none;
  }
  .task-bubble--tilt-3 {
    transform: rotate(3deg);
  }
  .task-bubble--tilt-n3 {
    transform: rotate(-3deg);
  }

  .hero-hint {
    transform: none;
    transition:
      opacity 0.3s ease,
      visibility 0s linear 0.3s;
  }

  .hero-hint.is-visible {
    animation: none;
    transform: rotate(3deg);
    transition:
      opacity 0.3s ease,
      visibility 0s linear 0s;
  }

  .hero-hint-wrap {
    animation: none;
  }

  .hero-hint-char {
    opacity: 1;
    transform: none;
    filter: none;
    animation: none;
  }
}

.task-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.task-icon img {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  filter: brightness(0);
  opacity: 0.3;
  transition:
    width 0.2s ease,
    height 0.2s ease,
    filter 0.2s ease,
    opacity 0.2s ease;
}

.task-text {
  line-height: 1;
}

.mom-figure,
.mom-hair,
.mom-bun,
.mom-head,
.mom-neck,
.mom-body,
.mom-arm,
.mom-eye,
.mom-smile,
.mom-phone,
.child-figure,
.child-hair,
.child-head,
.child-eye,
.child-body,
.helper-figure,
.helper-glow,
.helper-body,
.helper-eye,
.helper-smile,
.helper-speech,
.desk-scene,
.desk-surface,
.desk-mug,
.desk-laptop,
.desk-pen {
  position: absolute;
  display: block;
}

.mom-figure {
  z-index: 4;
  left: 14.75rem;
  bottom: 5.125rem;
  width: 20.625rem;
  height: 31.875rem;
}

.mom-hair {
  z-index: 3;
  top: 0;
  left: 5.5rem;
  width: 9.375rem;
  height: 9.875rem;
  border-radius: 4.625rem 4.75rem 3.5rem 3.625rem;
  background:
    radial-gradient(circle at 64% 24%, #b86834 0 13%, rgba(184, 104, 52, 0) 15%),
    radial-gradient(circle at 38% 30%, #7c3d24 0 20%, rgba(124, 61, 36, 0) 22%),
    linear-gradient(140deg, #5b2c20, #b65d2e 52%, #5a2b20);
  box-shadow: 0.875rem 0.75rem 0 rgba(88, 42, 30, 0.28);
}

.mom-bun {
  z-index: 2;
  top: -2.25rem;
  left: 7.75rem;
  width: 6.5rem;
  height: 6rem;
  border-radius: 50%;
  background:
    radial-gradient(circle at 65% 26%, #c87536 0 18%, rgba(200, 117, 54, 0) 22%),
    linear-gradient(135deg, #683020, #b86431 60%, #51271c);
}

.mom-head {
  z-index: 4;
  top: 4.875rem;
  left: 7.75rem;
  width: 7rem;
  height: 8rem;
  border-radius: 3.375rem 3.375rem 3rem 3rem;
  background:
    radial-gradient(circle at 26% 64%, rgba(245, 124, 116, 0.34) 0 12%, rgba(245, 124, 116, 0) 24%),
    radial-gradient(circle at 75% 63%, rgba(245, 124, 116, 0.28) 0 10%, rgba(245, 124, 116, 0) 23%),
    #ffd0b7;
}

.mom-eye {
  z-index: 5;
  top: 8rem;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background: #3c2b28;
}

.mom-eye--left {
  left: 9.875rem;
}

.mom-eye--right {
  left: 12.75rem;
}

.mom-smile {
  z-index: 5;
  top: 10rem;
  left: 10.625rem;
  width: 2.375rem;
  height: 1.125rem;
  border-bottom: 0.1875rem solid #9c554b;
  border-radius: 0 0 2.125rem 2.125rem;
}

.mom-neck {
  z-index: 3;
  top: 11.875rem;
  left: 10.25rem;
  width: 3.125rem;
  height: 2.875rem;
  border-radius: 1.125rem;
  background: #f1b79f;
}

.mom-body {
  z-index: 2;
  bottom: 0;
  left: 4.875rem;
  width: 13.375rem;
  height: 18.125rem;
  border-radius: 5.5rem 5.5rem 1.75rem 1.75rem;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.92) 36%, rgba(255, 255, 255, 0) 37% 63%, rgba(255, 255, 255, 0.84) 64%),
    linear-gradient(180deg, #ff9f93, #e77474);
}

.mom-phone {
  z-index: 7;
  top: 14.125rem;
  left: 4.625rem;
  width: 3.375rem;
  height: 6rem;
  border: 0.1875rem solid rgba(87, 54, 50, 0.18);
  border-radius: 0.8125rem;
  background: linear-gradient(145deg, #d58a84, #f3b0a3);
  transform: rotate(-14deg);
  box-shadow: 0 1.125rem 2rem rgba(77, 52, 48, 0.16);
}

.mom-phone::after {
  content: "";
  position: absolute;
  top: 0.5625rem;
  left: 0.625rem;
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 50%;
  background: rgba(65, 40, 38, 0.46);
  box-shadow: 0.75rem 0 0 rgba(65, 40, 38, 0.22);
}

.mom-arm {
  z-index: 6;
  top: 17rem;
  width: 9.125rem;
  height: 2.625rem;
  border-radius: 999rem;
  background: #ffcbb2;
}

.mom-arm--left {
  left: 1.75rem;
  transform: rotate(47deg);
}

.mom-arm--right {
  right: 0.5rem;
  transform: rotate(-26deg);
}

.child-figure {
  z-index: 8;
  right: -0.5rem;
  bottom: 2.625rem;
  width: 9.875rem;
  height: 13.75rem;
}

.child-hair {
  z-index: 2;
  top: 0.375rem;
  left: 2.5rem;
  width: 4.875rem;
  height: 4.25rem;
  border-radius: 2.625rem 2.625rem 1.875rem 1.875rem;
  background: linear-gradient(145deg, #8e4226, #d07234);
}

.child-head {
  z-index: 3;
  top: 1.875rem;
  left: 2.375rem;
  width: 5.125rem;
  height: 4.875rem;
  border-radius: 3rem;
  background:
    radial-gradient(circle at 20% 62%, rgba(244, 123, 110, 0.24) 0 11%, rgba(244, 123, 110, 0) 22%),
    #ffd5bf;
}

.child-eye {
  z-index: 4;
  top: 4rem;
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 50%;
  background: #3b2c28;
}

.child-eye--left {
  left: 4.125rem;
}

.child-eye--right {
  left: 6rem;
}

.child-body {
  z-index: 2;
  right: 0;
  bottom: 0;
  width: 9.25rem;
  height: 8.875rem;
  border-radius: 3.625rem 3.625rem 2.125rem 2.125rem;
  background:
    radial-gradient(circle at 38% 38%, rgba(255, 255, 255, 0.44) 0 4%, rgba(255, 255, 255, 0) 12%),
    linear-gradient(180deg, #ffd898, #f2b95f);
}

.helper-figure {
  z-index: 7;
  right: 11.875rem;
  bottom: 18.75rem;
  width: 7.75rem;
  height: 7.75rem;
  animation: helper-bob 4.4s ease-in-out infinite;
}

.helper-glow {
  inset: -2.125rem;
  border-radius: 50%;
  background: rgba(255, 220, 124, 0.48);
  filter: blur(1.0625rem);
  animation: helper-pulse 3.8s ease-in-out infinite;
}

.helper-body {
  inset: 0.75rem;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 28%, #fff 0 10%, rgba(255, 255, 255, 0) 22%),
    linear-gradient(180deg, #fff9db, #fff4b5);
  box-shadow:
    0 0 0 0.5625rem rgba(255, 235, 161, 0.22),
    0 1.25rem 3.375rem rgba(241, 177, 69, 0.42);
}

.helper-eye {
  top: 3.625rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--plum);
}

.helper-eye--left {
  left: 3rem;
}

.helper-eye--right {
  right: 3rem;
}

.helper-smile {
  left: 3.1875rem;
  top: 4.5rem;
  width: 1.5rem;
  height: 0.75rem;
  border-bottom: 0.1875rem solid #8c5a39;
  border-radius: 0 0 1.5rem 1.5rem;
}

.helper-speech {
  z-index: 8;
  top: 4rem;
  right: 13.125rem;
  min-height: 3.5rem;
  padding: 1.0625rem 1.5625rem;
  border-radius: 1.75rem 1.75rem 1.75rem 0.5rem;
  color: #4e3936;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 1.125rem 2.375rem rgba(81, 57, 50, 0.14);
  font-size: 1.125rem;
  font-weight: 600;
}

.desk-scene {
  inset: auto 0 0 4.375rem;
  z-index: 3;
  height: 10.25rem;
}

.desk-surface {
  right: 0;
  bottom: 0;
  width: 40rem;
  height: 6.125rem;
  border-radius: 4.375rem 0 0 0;
  background: linear-gradient(180deg, #fff3e5, #f7d8bc);
}

.desk-mug {
  left: 8.75rem;
  bottom: 2.375rem;
  width: 4.75rem;
  height: 4.625rem;
  padding: 1.1875rem 0.5rem 0.5rem;
  border-radius: 0.625rem 0.625rem 1.375rem 1.375rem;
  color: #7b4135;
  background: linear-gradient(180deg, #f58676, #d9655a);
  font-size: 0.5625rem;
  line-height: 1.05;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
}

.desk-mug::after {
  content: "";
  position: absolute;
  top: 1.375rem;
  right: -1.25rem;
  width: 1.5rem;
  height: 1.75rem;
  border: 0.4375rem solid #e47267;
  border-left: 0;
  border-radius: 0 1.125rem 1.125rem 0;
}

.desk-laptop {
  right: 1.625rem;
  bottom: 2.75rem;
  width: 9.875rem;
  height: 5.75rem;
  border-radius: 0.625rem 0.625rem 0.25rem 0.25rem;
  background: linear-gradient(135deg, #d9b49b, #b48775);
  transform: skew(-6deg);
}

.desk-laptop::after {
  content: "♥";
  position: absolute;
  top: 2rem;
  left: 4.25rem;
  color: #ffd5a6;
  font-size: 1.625rem;
  transform: skew(6deg);
}

.desk-pen {
  right: 18.75rem;
  bottom: 2rem;
  width: 5.25rem;
  height: 0.375rem;
  border-radius: 999rem;
  background: #6c5149;
  transform: rotate(-7deg);
}

.hero-trust-list {
  position: relative;
  z-index: 4;
  align-self: center;
  justify-content: center;
  width: min(100% - 11.25rem, 63.125rem);
  border: 0.0625rem solid rgba(116, 84, 75, 0.08);
  border-radius: 1.625rem;
  background: var(--white);
  box-shadow: 0 1.375rem 3.875rem rgba(102, 71, 60, 0.1);
  backdrop-filter: blur(1rem);
}

.hero-trust-item {
  flex: 1 1 0;
  align-items: center;
  gap: 1rem;
  min-height: 6.75rem;
  padding: 1.375rem 2.125rem;
}

.hero-trust-item + .hero-trust-item {
  border-left: 0.0625rem solid rgba(91, 69, 81, 0.1);
}

.hero-trust-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 3rem;
  height: 3rem;
  border-radius: 0.5rem;
}

.hero-trust-icon img {
  display: block;
  width: 2rem;
  height: 2rem;
}

.hero-trust-icon--heart {
  background: var(--brand-coral-soft);
}

.hero-trust-icon--shield {
  background: var(--brand-icon-green-soft);
}

.hero-trust-icon--lock {
  background: var(--brand-icon-yellow-soft);
}

.hero-trust-copy {
  flex-direction: column;
  gap: 0.4375rem;
  color: var(--muted);
  font-size: 0.875rem;
  line-height: 1.28;
}

.hero-trust-copy strong {
  color: #463633;
  font-size: 1rem;
  line-height: 1.1;
}

/* Partners */
.partners-list {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
  width: 100%;
  padding-top: 4rem;
  padding-bottom: 4rem;
  gap: 1.5rem;
}

.partners-item {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Макроцикл: (N−1)×1 с стаггер + 1,5 с один пульс + 3 с пауза до следующей волны (при N=6 → 9,5 с). */
@keyframes partners-logo-flick {
  /* Пульс занимает 1,5/9,5 первой доли времени; остальное — удержание 0.9. */
  0% {
    opacity: 0.9;
  }

  /* Половина пульса: 0,75/9,5≈7,8947%. */
  7.8947% {
    opacity: 0.3;
  }

  /* Конец пульса: 1,5/9,5≈15,789%. */
  15.7895% {
    opacity: 0.9;
  }

  15.7895%,
  100% {
    opacity: 0.9;
  }
}

.partners-logo {
  display: block;
  width: auto;
  height: 3rem;
  animation: partners-logo-flick 9.5s ease-in-out infinite both;
}

.partners-item:nth-child(1) .partners-logo {
  animation-delay: 0s;
}

.partners-item:nth-child(2) .partners-logo {
  animation-delay: 1s;
}

.partners-item:nth-child(3) .partners-logo {
  animation-delay: 2s;
}

.partners-item:nth-child(4) .partners-logo {
  animation-delay: 3s;
}

.partners-item:nth-child(5) .partners-logo {
  animation-delay: 4s;
}

.partners-item:nth-child(6) .partners-logo {
  animation-delay: 5s;
}

.partners-item:nth-child(7) .partners-logo {
  animation-delay: 6s;
}

.partners-item:nth-child(8) .partners-logo {
  animation-delay: 7s;
}

@media (prefers-reduced-motion: reduce) {
  .partners-logo {
    animation: none;
    opacity: 0.85;
  }
}

/* Shared content sections */
.decor-band,
.decor-ribbon {
  position: absolute;
  display: block;
  opacity: 0.72;
}

.decor-band--solution {
  top: 22%;
  right: -14%;
  width: 58%;
  height: 30%;
  border-radius: var(--radius-lg) 0 0 var(--radius-lg);
  background: linear-gradient(270deg, rgba(247, 193, 207, 0.62), rgba(255, 250, 244, 0.08));
  transform: rotate(-7deg);
}

.decor-band--benefits {
  bottom: 8%;
  left: -10%;
  width: 62%;
  height: 34%;
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  background: linear-gradient(90deg, rgba(191, 231, 216, 0.66), rgba(255, 250, 244, 0.08));
  transform: rotate(4deg);
}

.decor-ribbon--rose {
  top: 18%;
  right: -8%;
  width: 48%;
  height: 18%;
  border-radius: var(--radius-md) 0 0 var(--radius-md);
  background: linear-gradient(90deg, rgba(255, 232, 238, 0.1), rgba(247, 193, 207, 0.66));
  transform: rotate(10deg);
}

.decor-ribbon--mint {
  bottom: 14%;
  left: -6%;
  width: 42%;
  height: 16%;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: linear-gradient(90deg, rgba(191, 231, 216, 0.68), rgba(255, 250, 244, 0.08));
  transform: rotate(-8deg);
}

.decor-ribbon--peach {
  top: 12%;
  left: -5%;
  width: 44%;
  height: 18%;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: linear-gradient(90deg, rgba(255, 217, 200, 0.7), rgba(255, 250, 244, 0.08));
  transform: rotate(8deg);
}

.pain-soft-glow {
  position: absolute;
  display: block;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(2.5rem);
}

.pain-soft-glow--left {
  left: -8%;
  bottom: 2%;
  width: 22rem;
  height: 22rem;
  background: rgba(191, 231, 216, 0.24);
}

.pain-soft-glow--right {
  top: 0;
  right: -7%;
  width: 26rem;
  height: 26rem;
  background: rgba(255, 217, 200, 0.32);
}

.pain-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  width: min(100%, var(--hero-width));
  min-height: auto;
  gap: 4rem;
}

.pain-head {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.pain-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.625rem;
  padding: 0.3125rem 0.875rem;
  border-radius: 999rem;
  border: none;
  color: var(--brand-peach-accent);
  background: var(--brand-peach-kicker-bg);
  font-size: 0.8125rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.pain-kicker-text {
  display: inline-flex;
}

.pain-title {
  display: flex;
  flex-direction: column;
  max-width: 62rem;
  color: #151a34;
  font-size: 2.875rem;
  line-height: 1.12;
  font-weight: 600;
  letter-spacing: 0;
  text-align: center;
}

.pain-title-accent {
  color: var(--brand-coral);
}

.card-list--pain,
.question-list,
.step-list,
.pricing-list {
  flex-wrap: wrap;
  gap: 1.125rem;
}

.card-list--pain {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-self: center;
  width: 100%;
  gap: 1.125rem;
}

.pain-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  min-width: 0;
  padding: 0.25rem;
  border: 0.0625rem solid rgba(91, 69, 81, 0.06);
  border-radius: 1.125rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow:
    0 1.125rem 3rem rgba(116, 84, 75, 0.07),
    inset 0 0 0 0.0625rem rgba(255, 255, 255, 0.8);
}

.pain-card-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
}

.pain-card-copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.625rem;
}

.pain-card-title {
  color: #1c2036;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 600;
}

.pain-card-description {
  color: #35384a;
  font-size: 0.875rem;
  line-height: 1.45;
  font-weight: 400;
}

.pain-image-wrap {
  display: flex;
  width: 100%;
  height: 13.25rem;
  border-radius: 0.875rem;
  overflow: hidden;
}

.pain-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pain-bottom {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
}

.pain-bottom-band {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0.75rem;
  border-radius: var(--radius-md);
  background: linear-gradient(
    118deg,
    var(--peach-soft) 0%,
    var(--rose-soft) 52%,
    rgba(var(--cta-button-rgb), 0.1) 100%
  );
  box-shadow: inset 0 0 0 0.0625rem rgba(var(--brand-peach-rgb), 0.16), inset 0 0 2.5rem rgba(var(--cta-button-rgb), 0.04);
  overflow: hidden;
}

.pain-bottom-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  min-height: 8rem;
  gap: 1.5rem;
  margin: 0;
  padding: 1.5rem 2rem;
  border-radius: 1.25rem;
  background: #ffffff;
  box-shadow: inset 0 0.0625rem 0 rgba(255, 255, 255, 1), 0 0.25rem 1.25rem rgba(116, 84, 75, 0.07);
  overflow: hidden;
}

.pain-bottom-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 5rem;
  height: 5rem;
  border: 0;
  border-radius: 50%;
  color: var(--cta-button);
  background: rgba(255, 255, 255, 0.38);
}

@keyframes pain-bottom-heart-pulse {
  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.12);
  }
}

.pain-bottom-icon-svg {
  display: block;
  width: 2.25rem;
  height: 2.25rem;
  animation: pain-bottom-heart-pulse 1.1s ease-in-out infinite;
  transform-origin: center center;
}

@media (prefers-reduced-motion: reduce) {
  .pain-bottom-icon-svg {
    animation: none;
    transform: none;
  }
}

.pain-bottom-copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
}

.pain-bottom-title {
  color: #1c2036;
  font-size: 1.375rem;
  line-height: 1.2;
  font-weight: 600;
}

.pain-bottom-text {
  max-width: 48rem;
  color: #303246;
  font-size: 1rem;
  line-height: 1.45;
  font-weight: 400;
}

.pain-bottom-decor {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 18rem;
  height: 4.5rem;
}

.pain-bottom-decor-image {
  display: block;
  width: 100%;
  height: auto;
}

.ill-note,
.ill-mark,
.ill-mom-hair,
.ill-mom-head,
.ill-mom-body,
.ill-mom-arm,
.ill-child-head,
.ill-child-body,
.ill-plant,
.ill-clock,
.ill-clock-face,
.ill-clock-hand,
.ill-clock-bell,
.ill-cup,
.ill-cloud,
.ill-cloud-dot,
.ill-heart-cloud,
.ill-phone-card,
.ill-mom-phone {
  position: absolute;
  display: block;
}

.ill-note {
  width: 1.5rem;
  height: 1.875rem;
  border-radius: 0.25rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 0.5rem 1.25rem rgba(116, 84, 75, 0.08);
  transform: rotate(-8deg);
}

.ill-note::before,
.ill-note::after {
  position: absolute;
  left: 0.375rem;
  width: 0.75rem;
  height: 0.125rem;
  border-radius: 999rem;
  background: rgba(216, 128, 111, 0.38);
  content: "";
}

.ill-note::before {
  top: 0.5625rem;
}

.ill-note::after {
  top: 0.9375rem;
}

.ill-note--one {
  top: 1.125rem;
  right: 3.25rem;
}

.ill-note--two {
  top: 4.25rem;
  right: 1.5rem;
  transform: rotate(12deg);
}

.ill-note--three {
  top: 1.25rem;
  right: 2.75rem;
}

.ill-note--four {
  top: 3rem;
  right: 1.25rem;
  transform: rotate(11deg);
}

.ill-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.625rem;
  height: 2.625rem;
  border-radius: 50%;
  color: #c39b89;
  background: rgba(255, 255, 255, 0.78);
  font-size: 1.75rem;
  font-weight: 600;
}

.ill-mark--one {
  top: 1.5rem;
  left: 1.375rem;
}

.ill-mark--two {
  right: 1.625rem;
  bottom: 2.375rem;
  width: 2rem;
  height: 2rem;
  font-size: 1.25rem;
  opacity: 0.72;
}

.pain-illustration--doubt .ill-mom-hair,
.pain-illustration--ask .ill-mom-hair {
  z-index: 3;
  top: 1.25rem;
  left: 43%;
  width: 3.5rem;
  height: 3.875rem;
  border-radius: 50% 50% 38% 38%;
  background: linear-gradient(145deg, #603122, #bd6b35);
}

.pain-illustration--doubt .ill-mom-head,
.pain-illustration--ask .ill-mom-head {
  z-index: 4;
  top: 2.875rem;
  left: 45%;
  width: 2.875rem;
  height: 3.125rem;
  border-radius: 50%;
  background: #ffd0b7;
}

.pain-illustration--doubt .ill-mom-body,
.pain-illustration--ask .ill-mom-body {
  z-index: 2;
  left: 38%;
  bottom: 0.75rem;
  width: 6.25rem;
  height: 4.25rem;
  border-radius: 3rem 3rem 0.75rem 0.75rem;
  background: linear-gradient(180deg, #dfe8f3, #bfcce2);
}

.pain-illustration--doubt .ill-mom-arm {
  z-index: 5;
  top: 4.375rem;
  left: 36%;
  width: 3.5rem;
  height: 0.875rem;
  border-radius: 999rem;
  background: #ffcbb2;
  transform: rotate(-58deg);
}

.pain-illustration--doubt .ill-child-head {
  z-index: 5;
  right: 28%;
  bottom: 3rem;
  width: 2.125rem;
  height: 2.125rem;
  border-radius: 50%;
  background: #ffd5bf;
}

.pain-illustration--doubt .ill-child-body {
  z-index: 4;
  right: 24%;
  bottom: 1.125rem;
  width: 3.75rem;
  height: 2.75rem;
  border-radius: 2rem 2rem 0.75rem 0.75rem;
  background: linear-gradient(180deg, #ffd898, #efb96b);
  transform: rotate(18deg);
}

.ill-plant {
  left: 1.75rem;
  bottom: 2.125rem;
  width: 1rem;
  height: 2.75rem;
  border-radius: 999rem;
  background: #78b982;
}

.ill-plant::before,
.ill-plant::after {
  position: absolute;
  width: 1.875rem;
  height: 1rem;
  border-radius: 100% 0 100% 0;
  background: #a6c976;
  content: "";
}

.ill-plant::before {
  top: 0.25rem;
  left: -1.25rem;
  transform: rotate(22deg);
}

.ill-plant::after {
  top: 1.25rem;
  left: 0.25rem;
  transform: rotate(-28deg);
}

.ill-clock {
  z-index: 3;
  top: 1.625rem;
  left: 50%;
  width: 6.5rem;
  height: 6.5rem;
  border: 0.375rem solid #f59a91;
  border-radius: 50%;
  background: #fff8ed;
  transform: translateX(-50%);
  box-shadow: 0 1rem 2rem rgba(216, 128, 111, 0.18);
}

.ill-clock-face {
  inset: 0.625rem;
  border: 0.0625rem solid rgba(116, 84, 75, 0.14);
  border-radius: 50%;
}

.ill-clock-hand {
  top: 50%;
  left: 50%;
  width: 0.1875rem;
  border-radius: 999rem;
  background: #6a4d48;
  transform-origin: bottom center;
}

.ill-clock-hand--hour {
  height: 1.375rem;
  transform: translate(-50%, -100%) rotate(0deg);
}

.ill-clock-hand--minute {
  height: 2rem;
  transform: translate(-50%, -100%) rotate(48deg);
}

.ill-clock-bell {
  top: 1.125rem;
  width: 2.125rem;
  height: 1.25rem;
  border-radius: 2rem 2rem 0.5rem 0.5rem;
  background: #fb8e88;
}

.ill-clock-bell--left {
  left: calc(50% - 3.5rem);
  transform: rotate(-26deg);
}

.ill-clock-bell--right {
  right: calc(50% - 3.5rem);
  transform: rotate(26deg);
}

.ill-cup {
  right: 3rem;
  bottom: 2.125rem;
  width: 2.125rem;
  height: 2.25rem;
  border-radius: 0.375rem 0.375rem 0.875rem 0.875rem;
  background: #f7c48d;
}

.ill-cup::after {
  position: absolute;
  top: 0.625rem;
  right: -0.625rem;
  width: 0.75rem;
  height: 0.875rem;
  border: 0.25rem solid #f7c48d;
  border-left: 0;
  border-radius: 0 1rem 1rem 0;
  content: "";
}

.ill-cloud {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ef7f75;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 1rem 2rem rgba(116, 84, 75, 0.09);
  font-weight: 600;
}

.ill-cloud::before,
.ill-cloud::after {
  position: absolute;
  border-radius: 50%;
  background: inherit;
  content: "";
}

.ill-cloud--one {
  top: 2.875rem;
  left: 24%;
  width: 5.25rem;
  height: 2.625rem;
  border-radius: 999rem;
  font-size: 2.25rem;
  transform: rotate(8deg);
}

.ill-cloud--one::before {
  top: -1.25rem;
  left: 0.625rem;
  width: 2.5rem;
  height: 2.5rem;
}

.ill-cloud--one::after {
  top: -1rem;
  right: 0.625rem;
  width: 2.25rem;
  height: 2.25rem;
}

.ill-cloud--two {
  top: 1.5rem;
  right: 22%;
  width: 4.5rem;
  height: 2.25rem;
  border-radius: 999rem;
  color: #c4a58e;
  font-size: 2rem;
  transform: rotate(-10deg);
}

.ill-cloud--two::before {
  top: -1rem;
  left: 0.75rem;
  width: 2rem;
  height: 2rem;
}

.ill-cloud--two::after {
  top: -0.75rem;
  right: 0.625rem;
  width: 1.75rem;
  height: 1.75rem;
}

.ill-cloud--three {
  right: 28%;
  bottom: 2.25rem;
  width: 5.375rem;
  height: 2.75rem;
  border-radius: 999rem;
  font-size: 2.375rem;
}

.ill-cloud--three::before {
  top: -1.125rem;
  left: 0.75rem;
  width: 2.375rem;
  height: 2.375rem;
}

.ill-cloud--three::after {
  top: -1rem;
  right: 0.75rem;
  width: 2.25rem;
  height: 2.25rem;
}

.ill-cloud-dot {
  border-radius: 50%;
  background: rgba(255, 217, 200, 0.72);
}

.ill-cloud-dot--one {
  left: 17%;
  bottom: 2.25rem;
  width: 0.875rem;
  height: 0.875rem;
}

.ill-cloud-dot--two {
  left: 31%;
  top: 1.375rem;
  width: 0.625rem;
  height: 0.625rem;
}

.ill-cloud-dot--three {
  right: 17%;
  bottom: 3.25rem;
  width: 0.75rem;
  height: 0.75rem;
}

.pain-illustration--ask .ill-mom-hair {
  left: 55%;
}

.pain-illustration--ask .ill-mom-head {
  left: 57%;
}

.pain-illustration--ask .ill-mom-body {
  left: 50%;
  background: linear-gradient(180deg, #ffa59a, #ee7c79);
}

.ill-mom-phone {
  z-index: 6;
  top: 4.375rem;
  left: 33%;
  width: 1.875rem;
  height: 2.75rem;
  border-radius: 0.375rem;
  background: linear-gradient(180deg, #fff8ed, #f7c48d);
  transform: rotate(-8deg);
  box-shadow: 0 0.75rem 1.25rem rgba(116, 84, 75, 0.08);
}

.ill-mom-phone::after {
  position: absolute;
  top: 0.875rem;
  left: 0.6875rem;
  color: var(--coral);
  content: "♥";
  font-size: 0.625rem;
}

.ill-phone-card {
  z-index: 2;
  left: 30%;
  bottom: 2.5rem;
  width: 2.75rem;
  height: 3.375rem;
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.72);
}

.ill-heart-cloud {
  display: flex;
  align-items: center;
  justify-content: center;
  top: 1.875rem;
  right: 16%;
  width: 4.25rem;
  height: 2.5rem;
  border-radius: 999rem;
  color: var(--coral);
  background: rgba(255, 255, 255, 0.78);
  font-size: 1.625rem;
  font-weight: 600;
  box-shadow: 0 1rem 2rem rgba(116, 84, 75, 0.08);
}

.section-body--solution {
  min-height: 100%;
  justify-content: center;
}

.section.section--solution {
  height: 100dvh;
  overflow: visible;
  background: linear-gradient(168deg, #fffaf6 0%, #fff1e8 42%, #ffeada 100%);
}

@media (min-width: 1121px) {
  .section.section--solution {
    height: auto;
    padding: 6rem 0;
    box-sizing: border-box;
  }
}

.solution-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  margin: 0;
  padding: 0;
  pointer-events: none;
  overflow: hidden;
  will-change: transform;
}

.solution-bg-pattern {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
}

.solution-heart {
  position: absolute;
  display: flex;
  margin: 0;
  padding: 0;
  transform-origin: center center;
  pointer-events: none;
}

.solution-heart-icon-wrap {
  display: flex;
  margin: 0;
  padding: 0;
  transform-origin: center center;
}

.solution-heart-img {
  display: block;
  width: 2.5rem;
  height: auto;
  margin: 0;
  padding: 0;
  opacity: 0.2;
}

.solution-heart--1 {
  top: 4%;
  left: 6%;
  transform: rotate(-16deg);
}

.solution-heart--1 .solution-heart-icon-wrap {
  transform: scale(0.52);
}

.solution-heart--1 .solution-heart-img {
  opacity: 0.18;
}

.solution-heart--2 {
  top: 14%;
  left: 84%;
  transform: rotate(24deg);
}

.solution-heart--2 .solution-heart-icon-wrap {
  transform: scale(0.68);
}

.solution-heart--2 .solution-heart-img {
  opacity: 0.22;
}

.solution-heart--3 {
  top: 48%;
  left: 3%;
  transform: rotate(-7deg);
}

.solution-heart--3 .solution-heart-icon-wrap {
  transform: scale(0.88);
}

.solution-heart--3 .solution-heart-img {
  opacity: 0.16;
}

.solution-heart--4 {
  top: 26%;
  left: 58%;
  transform: rotate(28deg);
}

.solution-heart--4 .solution-heart-icon-wrap {
  transform: scale(0.46);
}

.solution-heart--4 .solution-heart-img {
  opacity: 0.2;
}

.solution-heart--5 {
  top: 71%;
  left: 91%;
  transform: rotate(-22deg);
}

.solution-heart--5 .solution-heart-icon-wrap {
  transform: scale(0.62);
}

.solution-heart--5 .solution-heart-img {
  opacity: 0.17;
}

.solution-heart--6 {
  top: 86%;
  left: 38%;
  transform: rotate(11deg);
}

.solution-heart--6 .solution-heart-icon-wrap {
  transform: scale(0.74);
}

.solution-heart--6 .solution-heart-img {
  opacity: 0.21;
}

.solution-heart--7 {
  top: 11%;
  left: 44%;
  transform: rotate(-31deg);
}

.solution-heart--7 .solution-heart-icon-wrap {
  transform: scale(0.5);
}

.solution-heart--7 .solution-heart-img {
  opacity: 0.19;
}

.solution-heart--8 {
  top: 56%;
  left: 20%;
  transform: rotate(8deg);
}

.solution-heart--8 .solution-heart-icon-wrap {
  transform: scale(0.92);
}

.solution-heart--8 .solution-heart-img {
  opacity: 0.15;
}

.solution-heart--9 {
  top: 7%;
  left: 73%;
  transform: rotate(18deg);
}

.solution-heart--9 .solution-heart-icon-wrap {
  transform: scale(0.57);
}

.solution-heart--9 .solution-heart-img {
  opacity: 0.2;
}

.solution-heart--10 {
  top: 39%;
  left: 66%;
  transform: rotate(-13deg);
}

.solution-heart--10 .solution-heart-icon-wrap {
  transform: scale(0.66);
}

.solution-heart--10 .solution-heart-img {
  opacity: 0.18;
}

.solution-heart--11 {
  top: 76%;
  left: 9%;
  transform: rotate(23deg);
}

.solution-heart--11 .solution-heart-icon-wrap {
  transform: scale(0.43);
}

.solution-heart--11 .solution-heart-img {
  opacity: 0.22;
}

.solution-heart--12 {
  top: 18%;
  left: 29%;
  transform: rotate(-5deg);
}

.solution-heart--12 .solution-heart-icon-wrap {
  transform: scale(0.8);
}

.solution-heart--12 .solution-heart-img {
  opacity: 0.16;
}

.solution-heart--13 {
  top: 61%;
  left: 51%;
  transform: rotate(-20deg);
}

.solution-heart--13 .solution-heart-icon-wrap {
  transform: scale(0.59);
}

.solution-heart--13 .solution-heart-img {
  opacity: 0.2;
}

.solution-heart--14 {
  top: 91%;
  left: 64%;
  transform: rotate(14deg);
}

.solution-heart--14 .solution-heart-icon-wrap {
  transform: scale(0.71);
}

.solution-heart--14 .solution-heart-img {
  opacity: 0.17;
}

.solution-heart--15 {
  top: 22%;
  left: 17%;
  transform: rotate(10deg);
}

.solution-heart--15 .solution-heart-icon-wrap {
  transform: scale(0.48);
}

.solution-heart--15 .solution-heart-img {
  opacity: 0.21;
}

.solution-heart--16 {
  top: 44%;
  left: 88%;
  transform: rotate(-26deg);
}

.solution-heart--16 .solution-heart-icon-wrap {
  transform: scale(0.85);
}

.solution-heart--16 .solution-heart-img {
  opacity: 0.14;
}

.solution-heart--17 {
  top: 68%;
  left: 41%;
  transform: rotate(6deg);
}

.solution-heart--17 .solution-heart-icon-wrap {
  transform: scale(0.55);
}

.solution-heart--17 .solution-heart-img {
  opacity: 0.19;
}

.solution-heart--18 {
  top: 3%;
  left: 53%;
  transform: rotate(-23deg);
}

.solution-heart--18 .solution-heart-icon-wrap {
  transform: scale(0.63);
}

.solution-heart--18 .solution-heart-img {
  opacity: 0.2;
}

.solution-heart--19 {
  top: 94%;
  left: 7%;
  transform: rotate(20deg);
}

.solution-heart--19 .solution-heart-icon-wrap {
  transform: scale(0.69);
}

.solution-heart--19 .solution-heart-img {
  opacity: 0.18;
}

.solution-heart--20 {
  top: 32%;
  left: 96%;
  transform: rotate(-3deg);
}

.solution-heart--20 .solution-heart-icon-wrap {
  transform: scale(0.45);
}

.solution-heart--20 .solution-heart-img {
  opacity: 0.22;
}

.solution-heart--21 {
  top: 52%;
  left: 74%;
  transform: rotate(13deg);
}

.solution-heart--21 .solution-heart-icon-wrap {
  transform: scale(0.77);
}

.solution-heart--21 .solution-heart-img {
  opacity: 0.16;
}

.solution-heart--22 {
  top: 35%;
  left: 13%;
  transform: rotate(-15deg);
}

.solution-heart--22 .solution-heart-icon-wrap {
  transform: scale(0.54);
}

.solution-heart--22 .solution-heart-img {
  opacity: 0.2;
}

.solution-heart--23 {
  top: 63%;
  left: 56%;
  transform: rotate(9deg);
}

.solution-heart--23 .solution-heart-icon-wrap {
  transform: scale(0.66);
}

.solution-heart--23 .solution-heart-img {
  opacity: 0.19;
}

.solution-heart--24 {
  top: 17%;
  left: 69%;
  transform: rotate(-11deg);
}

.solution-heart--24 .solution-heart-icon-wrap {
  transform: scale(0.6);
}

.solution-heart--24 .solution-heart-img {
  opacity: 0.21;
}

.solution-soft-glow {
  position: absolute;
  display: block;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(2.75rem);
}

.solution-soft-glow--left {
  top: 11%;
  left: -8%;
  width: 25rem;
  height: 25rem;
  background: rgba(255, 217, 200, 0.26);
}

.solution-soft-glow--right {
  right: -4%;
  bottom: -12%;
  width: 30rem;
  height: 30rem;
  background: rgba(255, 183, 156, 0.32);
}

.solution-layout {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  align-self: center;
  justify-content: flex-start;
  width: min(100%, var(--hero-width));
  min-height: auto;
  gap: 4rem;
  overflow: visible;
}

.solution-copy {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  align-self: stretch;
  justify-content: center;
  width: auto;
  min-width: 0;
  gap: 1.25rem;
}

.solution-phone-wrap {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  align-items: stretch;
  align-self: stretch;
  justify-content: center;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  max-width: 100%;
  background: transparent;
}

.solution-phone-stage {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  gap: 2rem;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  --solution-expert-parallax-t: 0;
}

.solution-experts-list--side.solution-experts-list--left,
.solution-experts-list--side.solution-experts-list--right {
  transform: translate(
    calc(-0.5rem + 1rem * var(--solution-expert-parallax-t, 0)),
    calc(0.5rem - 1rem * var(--solution-expert-parallax-t, 0))
  );
}

.solution-experts-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.solution-experts-list--side {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  justify-content: space-around;
  align-items: flex-end;
  align-self: stretch;
  gap: 0;
  width: auto;
  min-width: 0;
  max-width: 100%;
  z-index: 7;
  box-sizing: border-box;
}

.solution-experts-list--right {
  align-items: flex-start;
}

.solution-experts-list--side.solution-experts-list--left {
  padding-top: calc(40% - (5 * var(--solution-expert-parallax-t, 0)) * 1%);
  padding-bottom: calc(15% - (5 * var(--solution-expert-parallax-t, 0)) * 1%);
  box-sizing: border-box;
}

.solution-experts-list--side.solution-experts-list--right {
  padding-top: calc(65% - (5 * var(--solution-expert-parallax-t, 0)) * 1%);
  padding-bottom: calc(5% - (5 * var(--solution-expert-parallax-t, 0)) * 1%);
  box-sizing: border-box;
}

/* Левая колонка чипов (Занятия / Сон / Педиатрия / Психология) — margin по X к телефону + наклон */
.solution-experts-list--side.solution-experts-list--left .solution-expert:nth-child(1) {
  margin-right: -10%;
}

.solution-experts-list--side.solution-experts-list--left .solution-expert:nth-child(2) {
  margin-right: -5%;
}

.solution-experts-list--side.solution-experts-list--left .solution-expert:nth-child(3) {
  margin-right: -15%;
}

.solution-experts-list--side.solution-experts-list--left .solution-expert:nth-child(4) {
  margin-right: -35%;
  margin-bottom: 5%;
}

.solution-experts-list--side.solution-experts-list--left .solution-expert {
  justify-content: flex-end;
  align-self: flex-end;
  transform: rotate(-2.33deg);
}

/* Правая колонка (3 плашки): к телефону + наклон */
.solution-experts-list--side.solution-experts-list--right .solution-expert:nth-child(1) {
  margin-left: -15%;
}

.solution-experts-list--side.solution-experts-list--right .solution-expert:nth-child(2) {
  margin-left: -10%;
}

.solution-experts-list--side.solution-experts-list--right .solution-expert:nth-child(3) {
  margin-left: -20%;
}

.solution-experts-list--side.solution-experts-list--right .solution-expert {
  justify-content: flex-start;
  align-self: flex-start;
  transform: rotate(-2.33deg);
}

.solution-experts-list--side .solution-expert {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.solution-expert {
  display: flex;
  width: 100%;
  transform-origin: center center;
}

.solution-expert-chip {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  max-width: 100%;
  padding: 0.75rem 1.25rem;
  border: none;
  border-radius: 999rem;
  background: #f53d8314;
  box-sizing: border-box;
  white-space: nowrap;
  -webkit-backdrop-filter: blur(40px);
  backdrop-filter: blur(40px);
}

.solution-experts-list--side .solution-expert-chip {
  width: max-content;
  max-width: none;
  flex-shrink: 0;
  min-width: min-content;
  margin: 0;
}

.solution-kicker,
.questions-kicker {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 0.5rem;
  min-height: 1.625rem;
  padding: 0.3125rem 0.875rem;
  border-radius: 999rem;
  color: var(--brand-peach-accent);
  background: var(--brand-peach-kicker-bg);
  font-size: 0.8125rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.solution-title {
  display: flex;
  flex-direction: column;
  color: #432823;
  font-size: 3rem;
  line-height: 1.08;
  font-weight: 600;
  letter-spacing: 0;
}

.solution-title span + span {
  color: var(--coral);
}

.solution-text {
  width: 100%;
  max-width: none;
  color: #6a5a56;
  font-size: 1.0625rem;
  line-height: 1.45;
  font-weight: 400;
}

.solution-feature-list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  align-self: stretch;
  width: 100%;
  max-width: 25rem;
  gap: 1rem;
}

.solution-feature {
  display: flex;
  width: 100%;
  min-width: 0;
}

.solution-feature-button {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  gap: 0;
  padding: 1rem;
  border: 0.0625rem solid #ffffff;
  border-radius: 1rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.8);
  font-size: 0.9375rem;
  line-height: 1.25;
  font-weight: 600;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    background 180ms ease,
    border-color 180ms ease;
}

.solution-feature.is-active .solution-feature-button {
  border-color: #ffffff;
  background: #ffffff;
}

.solution-feature-accent {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 0;
  margin: 0;
  padding: 0;
  border-radius: 1rem 0 0 1rem;
  background: transparent;
  pointer-events: none;
  transition: width 160ms ease, background-color 160ms ease;
}

.solution-feature.is-active .solution-feature-accent {
  width: 0.15rem;
  background-image: none;
  background-color: var(--brand-peach-accent);
}

.solution-feature-icon-wrap {
  display: flex;
  margin-right: 1rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  width: 3rem;
  height: 3rem;
  border-radius: 0;
  background: transparent;
}

.solution-feature.is-active .solution-feature-icon-wrap {
  background: transparent;
  box-shadow: none;
}

.solution-feature-icon-img {
  display: block;
  width: 1.75rem;
  height: 1.75rem;
  filter: brightness(0);
  opacity: 0.3;
}

.solution-feature-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 0;
  min-width: 0;
  gap: 0.375rem;
}

.solution-feature-title {
  color: var(--ink);
  font-size: inherit;
  line-height: 1.2;
  font-weight: 600;
}

.solution-feature-sub {
  color: rgb(from var(--ink) r g b / 0.8);
  font-size: 0.875em;
  line-height: 1.35;
  font-weight: 400;
}

.solution-expert-label {
  color: #432823;
  font-size: 1.25rem;
  line-height: 1.75;
  font-weight: 400;
  text-align: left;
}

/* Макет телефона: логическая область 393×852 (≈ iPhone 15–17 class). Высота ≤ 80dvh, ширина от соотношения сторон; max-width не смешиваем с min(100%,…) — иначе при кривом % контейнер с cqi схлопывался. */
.solution-phone {
  --phone-bezel: 0.4375rem;
  --phone-outer-radius: 2.625rem;
  --phone-inner-radius: calc(var(--phone-outer-radius) - var(--phone-bezel));
  --phone-island-ratio: 125 / 37;
  position: relative;
  z-index: 6;
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  align-self: center;
  box-sizing: border-box;
  width: calc(min(80dvh, 42rem) * 393 / 852);
  max-width: 100%;
  min-width: 0;
  height: auto;
  max-height: min(80dvh, 42rem);
  aspect-ratio: 393 / 852;
  padding: var(--phone-bezel);
  border: 0.0625rem solid rgba(245, 61, 131, 0.42);
  border-radius: var(--phone-outer-radius);
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 24%, rgba(255, 255, 255, 0.18) 100%),
    linear-gradient(168deg, #feeaf2 0%, #fbdce8 48%, #f6cfdf 100%);
  container-type: size;
  font-size: clamp(0.5rem, 3.4cqi, 0.95rem);
  box-shadow:
    inset 0 0 0 0.0625em rgba(150, 80, 70, 0.22),
    inset 0 0.0625em 0 rgba(255, 255, 255, 0.7),
    inset 0 -0.0625em 0 rgba(150, 80, 70, 0.18),
    inset 0 0.375em 1em rgba(255, 235, 225, 0.4),
    inset 0 -0.375em 1em rgba(180, 110, 95, 0.14),
    0 1.25em 2.5em rgba(180, 110, 95, 0.18),
    0 0.5em 1.25em rgba(220, 170, 155, 0.3);
  overflow: hidden;
}

.solution-phone-island-shell {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  justify-self: center;
  align-self: center;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

.solution-phone-island {
  display: block;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  width: min(calc(125 * 100 / 429 * 1cqw), 100%);
  max-width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border-radius: 999rem;
  background: #0a0a0c;
  aspect-ratio: var(--phone-island-ratio);
  pointer-events: none;
}

.solution-phone-top,
.solution-phone-status-row,
.solution-phone-status-leading,
.solution-phone-status-trailing,
.solution-phone-status-icon-wrap,
.solution-phone-header,
.solution-phone-manager-copy,
.solution-phone-manager-online,
.solution-phone-screen,
.solution-phone-thread,
.solution-chat-row,
.solution-chat-copy,
.solution-message,
.solution-assistant-panel,
.solution-result-card,
.solution-result-copy,
.solution-phone-actions,
.solution-phone-action,
.solution-phone-composer,
.solution-phone-input-row,
.solution-phone-input {
  display: flex;
}

.solution-phone-top {
  flex-direction: column;
  flex: 0 0 auto;
  width: 100%;
  border-radius: var(--phone-inner-radius) var(--phone-inner-radius) 0 0;
  background: var(--white);
}

.solution-phone-status-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  width: 100%;
  min-height: clamp(2rem, 6cqh, 3.25rem);
  margin: 0;
  padding:
    clamp(
        0.25em,
        calc(11 * 100 / 932 * 1cqh),
        0.75em
      )
      1em
    clamp(0.0625em, 0.55cqh, 0.25em);
  gap: 0;
}

.solution-phone-status-leading {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-start;
  justify-self: start;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.solution-phone-status-trailing {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  align-self: center;
  margin: 0;
  padding: 0;
  gap: 0.375em;
}

.solution-phone-clock {
  margin: 0;
  padding: 0;
  color: #010101;
  font-size: 0.9375em;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.solution-phone-status-icon-wrap {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  color: #010101;
}

.solution-phone-status-icon {
  display: block;
  flex: 0 0 auto;
}

.solution-phone-status-icon--wifi {
  width: 1.125em;
  height: 1.125em;
}

.solution-phone-status-icon--battery {
  width: 1.25em;
  height: 1.0625em;
}

.solution-phone-header {
  align-items: center;
  flex: 0 0 auto;
  gap: 0.625em;
  width: 100%;
  margin: 0;
  padding: 0.5em 1em 0.75em;
  border: 0;
  border-radius: 0;
  border-bottom: 0.0625em solid rgba(91, 69, 81, 0.08);
  background: var(--white);
}

.solution-phone-manager-icon,
.solution-manager-avatar,
.solution-result-download,
.solution-result-photo-wrap,
.solution-phone-send {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.solution-phone-manager-icon,
.solution-manager-avatar {
  width: 2.125em;
  height: 2.125em;
  border-radius: 50%;
  color: var(--white);
  background: var(--cta-button);
  line-height: 0;
  overflow: hidden;
}

.solution-phone-manager-icon-inner,
.solution-manager-avatar-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.solution-phone-manager-icon-img,
.solution-manager-avatar-img {
  display: block;
  width: 58%;
  height: auto;
  margin: 0;
  padding: 0;
  object-fit: contain;
}

.solution-manager-avatar {
  width: 1.625em;
  height: 1.625em;
}

.solution-phone-manager-copy {
  flex-direction: column;
  gap: 0.1875em;
  min-width: 0;
}

.solution-phone-manager-title {
  color: #342d31;
  font-size: 0.875em;
  line-height: 1.15;
  font-weight: 600;
}

.solution-phone-manager-online {
  align-items: center;
  gap: 0.3125em;
  color: #6f6a70;
  font-size: 0.75em;
  line-height: 1;
  font-weight: 400;
}

.solution-phone-status-dot {
  display: inline-flex;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background: #16c76f;
}

.solution-phone-screen {
  flex: 1 1 0;
  flex-direction: column;
  min-height: 0;
  border-radius: 0 0 var(--phone-inner-radius) var(--phone-inner-radius);
  background: var(--white);
  overflow: hidden;
}

.solution-phone-thread,
.solution-phone-actions,
.solution-phone-composer {
  transition: opacity 180ms ease;
}

.solution-phone-screen.is-switching .solution-phone-thread,
.solution-phone-screen.is-switching .solution-phone-actions,
.solution-phone-screen.is-switching .solution-phone-composer {
  opacity: 0.42;
}

.solution-phone-thread {
  flex: 1 1 0;
  flex-direction: column;
  gap: 0.75em;
  min-height: 0;
  padding: 0.875em 0.875em 0.625em;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
}

.solution-phone-thread::-webkit-scrollbar {
  display: none;
}

.solution-chat-row {
  align-items: flex-start;
  gap: 0.5em;
  width: 100%;
}

.solution-chat-row--user {
  justify-content: flex-end;
}

.solution-chat-copy {
  flex: 0 1 82%;
  flex-direction: column;
  gap: 0.25em;
  min-width: 0;
}

.solution-chat-row--manager .solution-chat-copy {
  flex: 1 1 auto;
}

.solution-chat-row--user .solution-chat-copy {
  align-items: flex-end;
}

.solution-chat-name {
  color: #807982;
  font-size: 0.6875em;
  line-height: 1;
  font-weight: 500;
}

.solution-user-avatar {
  display: inline-flex;
  flex: 0 0 auto;
  width: 1.75em;
  height: 1.75em;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 46%, #f3c6b3 0 24%, rgba(243, 198, 179, 0) 26%),
    radial-gradient(circle at 50% 32%, #3c2f36 0 31%, rgba(60, 47, 54, 0) 33%),
    #e8f1eb;
}

.solution-manager-avatar--spacer {
  opacity: 0;
}

.solution-message {
  flex-direction: column;
  gap: 0.375em;
  width: fit-content;
  max-width: 100%;
  padding: 0.5em 0.75em;
  color: #342d31;
  font-size: 0.9375em;
  line-height: 1.3;
  font-weight: 400;
}

.solution-message--user {
  border-radius: 1.125em 1.125em 0.375em 1.125em;
  background: var(--brand-coral-bubble);
}

.solution-message--manager {
  border-radius: 1.125em 1.125em 1.125em 0.375em;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0.875em 2em rgba(116, 84, 75, 0.08);
}

.solution-message-time {
  align-self: flex-end;
  color: #a69da7;
  font-size: 0.6875em;
  line-height: 1;
  font-weight: 400;
}

.solution-assistant-panel {
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.75em;
  min-width: 0;
}

.solution-result-card {
  flex-direction: row;
  align-items: center;
  gap: 0.625em;
  width: 100%;
  padding: 0.5em 0.75em;
  border-radius: 1em;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 1em 2em rgba(116, 84, 75, 0.11);
}

.solution-result-arrow {
  display: none;
}

.solution-result-lead {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.solution-result-download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25em;
  height: 2.25em;
  margin: 0;
  padding: 0;
  border: 0.0625em solid var(--brand-coral-border-subtle);
  border-radius: 50%;
  color: var(--brand-coral);
  font: inherit;
  line-height: 0;
  background: var(--brand-coral-surface-solid);
  cursor: default;
}

.solution-result-download-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.solution-result-download-icon {
  display: block;
  width: 1.125em;
  height: 1.125em;
}

.solution-result-photo-wrap {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.solution-result-download[hidden],
.solution-result-photo-wrap[hidden] {
  display: none;
}

.solution-phone-screen[data-phone-lead="download"] .solution-result-photo-wrap {
  display: none;
}

.solution-phone-screen:not([data-phone-lead="download"]) .solution-result-download {
  display: none;
}

.solution-result-photo {
  display: block;
  width: 2.25em;
  height: 2.25em;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  object-fit: cover;
}

.solution-result-copy {
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.1875em;
  align-items: flex-start;
  min-width: 0;
  text-align: left;
}

.solution-result-title {
  color: #342d31;
  font-size: 0.9375em;
  line-height: 1.15;
  font-weight: 700;
}

.solution-result-subtitle,
.solution-result-meta {
  color: #6f6671;
  font-size: 0.75em;
  line-height: 1.25;
  font-weight: 400;
}

.solution-result-meta {
  color: var(--brand-coral);
}

.solution-result-arrow-icon {
  display: block;
  width: 1.125em;
  height: 1.125em;
}

.solution-phone-actions {
  flex-wrap: wrap;
  gap: 0.375em;
  width: 100%;
}

.solution-phone-action {
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  min-height: 1.625em;
  padding: 0.375em 0.625em;
  border: 0.0625em solid var(--brand-coral-border-subtle);
  border-radius: 999em;
  font: inherit;
  font-size: 0.75em;
  line-height: 1;
  font-weight: 500;
  cursor: pointer;
}

.solution-phone-action--primary {
  color: var(--brand-coral);
  background: var(--brand-coral-fill);
}

.solution-phone-action--secondary {
  color: var(--brand-coral);
  background: var(--brand-coral-muted);
}

.solution-phone-composer {
  flex: 0 0 auto;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5em;
  width: 100%;
  padding: 0.625em 0.875em 0.5em;
  border-top: 0.0625em solid rgba(91, 69, 81, 0.08);
  background: var(--white);
}

.solution-phone-input-row {
  align-items: stretch;
  gap: 0.5em;
  width: 100%;
}

.solution-phone-input {
  align-items: center;
  flex: 1 1 auto;
  align-self: stretch;
  min-height: 2.75em;
  padding: 0.6875em 0.9375em;
  border-radius: 999em;
  background: var(--white);
  box-shadow: inset 0 0 0 0.0625em rgba(91, 69, 81, 0.08);
  color: #9a929c;
  font-size: 0.8125em;
  line-height: 1.25;
  font-weight: 400;
}

.solution-phone-home-bar {
  display: block;
  flex: 0 0 auto;
  align-self: center;
  width: 34%;
  min-width: 5.75em;
  max-width: 8.5em;
  height: 0.3125em;
  margin: 0;
  padding: 0;
  margin-bottom: 0.25em;
  border-radius: 999rem;
  background: rgba(0, 0, 0, 0.3);
}

.solution-phone-send {
  flex: 0 0 auto;
  align-self: center;
  width: 2.625em;
  height: 2.625em;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--brand-coral);
  background: rgba(0, 0, 0, 0.05);
  font-family: inherit;
  line-height: 1;
  cursor: pointer;
}

.solution-phone-send-icon {
  display: block;
  width: 1.125em;
  height: 1.125em;
}

.solution-family {
  position: relative;
  z-index: 3;
  flex: 1 1 0;
  min-width: 0;
  height: 32rem;
}

.solution-family::before {
  position: absolute;
  right: -2rem;
  bottom: 0;
  left: 0;
  z-index: 1;
  height: 5.875rem;
  border-radius: 4rem 0 0 0;
  background: linear-gradient(180deg, #fff1df, #f2d0b6);
  content: "";
}

.solution-spark,
.solution-mom-hair,
.solution-mom-bun,
.solution-mom-head,
.solution-mom-eye,
.solution-mom-smile,
.solution-mom-body,
.solution-mug,
.solution-child-hair,
.solution-child-head,
.solution-child-eye,
.solution-child-body,
.solution-helper-glow,
.solution-helper-body,
.solution-helper-eye,
.solution-helper-smile,
.solution-laptop,
.solution-plant,
.solution-desk {
  position: absolute;
  display: block;
}

.solution-spark {
  z-index: 4;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 1rem rgba(255, 199, 126, 0.9);
  animation: sparkle 3.8s ease-in-out infinite;
}

.solution-spark--one {
  top: 4.25rem;
  right: 13rem;
}

.solution-spark--two {
  top: 9rem;
  right: 5.5rem;
  animation-delay: 620ms;
}

.solution-mom-bun {
  z-index: 4;
  top: 0.5rem;
  left: 9.25rem;
  width: 6.25rem;
  height: 5.875rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #683020, #b86431 60%, #51271c);
}

.solution-mom-hair {
  z-index: 5;
  top: 2.375rem;
  left: 7.25rem;
  width: 8.25rem;
  height: 8.875rem;
  border-radius: 4.25rem 4.25rem 3.25rem 3.25rem;
  background:
    radial-gradient(circle at 64% 24%, #b86834 0 13%, rgba(184, 104, 52, 0) 15%),
    linear-gradient(140deg, #5b2c20, #b65d2e 52%, #5a2b20);
}

.solution-mom-head {
  z-index: 6;
  top: 6.125rem;
  left: 9.25rem;
  width: 6.5rem;
  height: 7.375rem;
  border-radius: 3.125rem;
  background:
    radial-gradient(circle at 26% 64%, rgba(245, 124, 116, 0.3) 0 12%, rgba(245, 124, 116, 0) 24%),
    radial-gradient(circle at 75% 63%, rgba(245, 124, 116, 0.25) 0 10%, rgba(245, 124, 116, 0) 23%),
    #ffd0b7;
}

.solution-mom-eye {
  z-index: 7;
  top: 9rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #3c2b28;
}

.solution-mom-eye--left {
  left: 11rem;
}

.solution-mom-eye--right {
  left: 13.625rem;
}

.solution-mom-smile {
  z-index: 7;
  top: 10.75rem;
  left: 11.5rem;
  width: 2rem;
  height: 1rem;
  border-bottom: 0.1875rem solid #9c554b;
  border-radius: 0 0 2rem 2rem;
}

.solution-mom-body {
  z-index: 4;
  left: 6.25rem;
  bottom: 1.875rem;
  width: 13.875rem;
  height: 16.625rem;
  border-radius: 5.25rem 5.25rem 1.5rem 1.5rem;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.9) 35%, rgba(255, 255, 255, 0) 36% 63%, rgba(255, 255, 255, 0.8) 64%),
    linear-gradient(180deg, #ff9f93, #e77474);
}

.solution-mug {
  z-index: 7;
  left: 10.25rem;
  bottom: 7.75rem;
  width: 3.875rem;
  height: 4rem;
  padding: 0.875rem 0.375rem 0.375rem;
  border-radius: 0.5rem 0.5rem 1rem 1rem;
  color: #7b4135;
  background: linear-gradient(180deg, #f58676, #d9655a);
  font-size: 0.4375rem;
  line-height: 1.05;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
}

.solution-child-hair {
  z-index: 7;
  right: 11.25rem;
  bottom: 13.75rem;
  width: 4.75rem;
  height: 4.125rem;
  border-radius: 2.5rem 2.5rem 1.75rem 1.75rem;
  background: linear-gradient(145deg, #8e4226, #d07234);
}

.solution-child-head {
  z-index: 8;
  right: 10.875rem;
  bottom: 11.875rem;
  width: 5rem;
  height: 4.75rem;
  border-radius: 50%;
  background: #ffd5bf;
}

.solution-child-eye {
  z-index: 9;
  bottom: 13.875rem;
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 50%;
  background: #3b2c28;
}

.solution-child-eye--left {
  right: 13.875rem;
}

.solution-child-eye--right {
  right: 12.25rem;
}

.solution-child-body {
  z-index: 6;
  right: 8.75rem;
  bottom: 3.75rem;
  width: 8.5rem;
  height: 8.5rem;
  border-radius: 3.5rem 3.5rem 2rem 2rem;
  background: linear-gradient(180deg, #ffd898, #f2b95f);
}

.solution-helper-glow {
  z-index: 3;
  top: 5.5rem;
  right: 7.25rem;
  width: 8.25rem;
  height: 8.25rem;
  border-radius: 50%;
  background: rgba(255, 220, 124, 0.5);
  filter: blur(1.0625rem);
  animation: helper-pulse 3.8s ease-in-out infinite;
}

.solution-helper-body {
  z-index: 4;
  top: 7rem;
  right: 8.75rem;
  width: 5.25rem;
  height: 5.25rem;
  border-radius: 50%;
  background: linear-gradient(180deg, #fff9db, #fff4b5);
  box-shadow: 0 0 0 0.5rem rgba(255, 235, 161, 0.22);
}

.solution-helper-eye {
  z-index: 5;
  top: 9.125rem;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: #8c5a39;
}

.solution-helper-eye--left {
  right: 11.875rem;
}

.solution-helper-eye--right {
  right: 10.625rem;
}

.solution-helper-smile {
  z-index: 5;
  top: 10rem;
  right: 11.0625rem;
  width: 1rem;
  height: 0.5rem;
  border-bottom: 0.125rem solid #8c5a39;
  border-radius: 0 0 1rem 1rem;
}

.solution-laptop {
  z-index: 3;
  right: 0.5rem;
  bottom: 3.625rem;
  width: 10rem;
  height: 5.875rem;
  border-radius: 0.625rem 0.625rem 0.25rem 0.25rem;
  background: linear-gradient(135deg, #d9b49b, #b48775);
  transform: skew(-6deg);
}

.solution-laptop::after {
  position: absolute;
  top: 2rem;
  left: 4.25rem;
  color: #ffd5a6;
  content: "♥";
  font-size: 1.625rem;
  transform: skew(6deg);
}

.solution-plant {
  z-index: 2;
  right: 0.25rem;
  bottom: 12.5rem;
  width: 2.25rem;
  height: 5.5rem;
  border-radius: 1.25rem 1.25rem 0.25rem 0.25rem;
  background: rgba(139, 171, 106, 0.26);
  transform: rotate(18deg);
}

.solution-desk {
  right: 2rem;
  bottom: 2.25rem;
  z-index: 3;
  width: 5.25rem;
  height: 0.375rem;
  border-radius: 999rem;
  background: #6c5149;
  transform: rotate(-7deg);
}

.section-body--questions {
  min-height: auto;
  justify-content: center;
  gap: 4rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.questions-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: center;
  gap: 0.75rem;
  width: min(100%, var(--hero-width));
}

.questions-kicker {
  align-self: center;
}

.questions-title {
  color: #432823;
  font-size: 2.125rem;
  line-height: 1.1;
  font-weight: 600;
  text-align: center;
}

.question-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-self: center;
  justify-items: stretch;
  width: min(100%, var(--hero-width));
  gap: 1rem;
}

.question-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  min-height: 100%;
  gap: 1rem;
  padding: 1.75rem 2rem;
  border-radius: 1.25rem;
  border: 0.0625rem solid rgba(91, 69, 81, 0.08);
  background: #ffffff;
  box-shadow: 0 0.25rem 1.5rem rgba(116, 84, 75, 0.06);
}

.question-card-head {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  gap: 0.25rem;
}

.question-card-icon-wrap {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  background: transparent;
}

.question-card-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  filter: brightness(0);
  opacity: 0.3;
}

.question-card-cat {
  display: inline-flex;
  color: rgb(0 0 0 / 50%);
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.question-card-title {
  display: inline-block;
  align-self: flex-start;
  max-width: 100%;
  padding: 0.625rem 0.875rem;
  border-radius: 999rem 999rem 999rem 0.25rem;
  background:
    linear-gradient(135deg, rgb(245 61 131 / 0%) 0%, rgba(245, 61, 131, 0.04) 48%, rgba(245, 61, 131, 0) 100%),
    linear-gradient(145deg, var(--brand-coral-surface-solid) 0%, rgba(255, 232, 222, 0.72) 42%, rgba(246, 127, 114, 0.12) 100%);
  color: #342d31;
  font-size: 1.125rem;
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: 0;
}

.question-card-desc {
  flex: 1 1 auto;
  color: #6f6671;
  font-size: 0.9375rem;
  line-height: 1.45;
  font-weight: 400;
}

.pricing-list {
  align-items: stretch;
}

.price-card {
  display: flex;
  flex: 1 1 19.375rem;
  flex-direction: column;
  min-height: 29.375rem;
  gap: 1.375rem;
  padding: 1.75rem;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.82);
}

.price-card--featured {
  background: linear-gradient(180deg, #fff, #fff0f4);
  border-color: rgba(113, 81, 106, 0.22);
}

.price-icon {
  font-size: 1.875rem;
  line-height: 1;
}

.price-title {
  color: var(--plum-dark);
  font-size: 1.6875rem;
  line-height: 1.12;
}

.price-value {
  padding: 1.125rem 1.25rem;
  border-radius: var(--radius-sm);
  color: var(--plum);
  background: var(--cream);
  font-size: 1.9375rem;
  line-height: 1;
  font-weight: 600;
}

.price-features {
  gap: 0.75rem;
}

.price-features li {
  position: relative;
  padding: 0 0 0 1.5rem;
  color: var(--muted);
  font-size: 1.125rem;
  line-height: 1.35;
}

.price-features li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--mint-strong);
  font-weight: 600;
}

.price-note {
  min-height: 3.625rem;
  padding: 0.9375rem 1.0625rem;
  border-radius: var(--radius-sm);
  color: var(--plum-dark);
  background: #e8f8f1;
  font-size: 1.0625rem;
  line-height: 1.25;
  font-weight: 600;
}

.calm-scene {
  position: relative;
  flex: 0 1 35rem;
  height: 26.875rem;
  border: 0.0625rem solid rgba(255, 255, 255, 0.84);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.76), rgba(255, 232, 238, 0.45)),
    linear-gradient(135deg, rgba(191, 231, 216, 0.38), rgba(255, 217, 200, 0.5));
  box-shadow: var(--shadow);
  overflow: hidden;
}

.calm-scene::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 9.375rem;
  content: "";
  background: rgba(191, 231, 216, 0.52);
}

.calm-sun,
.calm-mom,
.calm-child,
.calm-book,
.calm-mom-head,
.calm-mom-body,
.calm-child-head,
.calm-child-body {
  position: absolute;
  display: block;
}

.calm-sun {
  top: 3.375rem;
  right: 4.75rem;
  width: 5.125rem;
  height: 5.125rem;
  border-radius: 50%;
  background: #ffd78f;
  box-shadow: 0 0 0 1rem rgba(255, 215, 143, 0.16);
}

.calm-mom {
  left: 9.0625rem;
  bottom: 4.6875rem;
  width: 9.375rem;
  height: 13.75rem;
}

.calm-mom-head {
  top: 0;
  left: 2.8125rem;
  width: 4.5rem;
  height: 4.875rem;
  border-radius: 2.625rem;
  background: #ffd2bd;
  box-shadow: -0.875rem 0.25rem 0 #7b5361;
}

.calm-mom-body {
  right: 0;
  bottom: 0;
  left: 0;
  height: 9.375rem;
  border-radius: 4.375rem 4.375rem 1.625rem 1.625rem;
  background: linear-gradient(180deg, #f7c1cf, #cc7fa1);
}

.calm-child {
  right: 8.4375rem;
  bottom: 4.875rem;
  width: 7.375rem;
  height: 9.375rem;
}

.calm-child-head {
  top: 0;
  left: 2rem;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: #ffd8c8;
}

.calm-child-body {
  right: 0;
  bottom: 0;
  left: 0;
  height: 6.5625rem;
  border-radius: 2.875rem 2.875rem 1.375rem 1.375rem;
  background: linear-gradient(180deg, #bfe7d8, #75c2ad);
}

.calm-book {
  right: 13.375rem;
  bottom: 4.375rem;
  width: 4.5rem;
  height: 2.375rem;
  border-radius: 0.5rem;
  background: linear-gradient(90deg, #fff 0 49%, #f6f0ff 51% 100%);
  transform: rotate(-8deg);
  box-shadow: 0 0.5rem 1.5rem rgba(93, 67, 78, 0.12);
}

.emotion-copy {
  max-width: 43.125rem;
  padding-top: 2.125rem;
  padding-bottom: 2.125rem;
  border-radius: var(--radius-sm);
  color: var(--plum-dark);
  background: rgba(255, 255, 255, 0.74);
  font-size: 2.5rem;
  line-height: 1.22;
  font-weight: 600;
}

.final-panel {
  align-items: center;
  width: min(100%, 53.125rem);
  gap: 1.125rem;
  padding: 2.75rem;
  border-radius: var(--radius-sm);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(232, 248, 241, 0.82)),
    linear-gradient(180deg, rgba(255, 232, 238, 0.42), rgba(255, 255, 255, 0));
  text-align: center;
}

.final-title {
  color: var(--plum-dark);
  font-size: 3.25rem;
  line-height: 1.05;
  font-weight: 600;
}

.final-subtitle {
  color: var(--muted);
  font-size: 1.375rem;
  line-height: 1.4;
}

@keyframes helper-bob {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(0, -0.5625rem, 0);
  }
}

@keyframes helper-pulse {
  0%,
  100% {
    opacity: 0.72;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

@keyframes sparkle {
  0%,
  100% {
    opacity: 0.32;
    transform: scale(0.72);
  }

  50% {
    opacity: 1;
    transform: scale(1.12);
  }
}

@media (max-width: 1120px) {
  :root {
    --atom-inline: 1.5rem;
  }

  .page {
    gap: 4rem;
  }

  .section--hero {
    min-height: auto;
  }

  .hero-nav-inner {
    flex-wrap: wrap;
    min-height: auto;
    gap: 0.625rem 1.125rem;
  }

  .hero-nav-inner .nav-links {
    order: 3;
    flex-basis: 100%;
    gap: 1.375rem;
  }

  .section-layout {
    flex-direction: column;
    align-items: stretch;
    gap: 2.125rem;
  }

  .section-layout--hero {
    min-height: auto;
  }

  .hero-copy {
    flex: 0 1 auto;
    width: 100%;
  }

  .hero-title {
    max-width: 47.5rem;
    font-size: 3.625rem;
  }

  .hero-subtitle {
    font-size: 1.25rem;
  }

  .hero-visual {
    width: 100%;
    height: 38.75rem;
  }

  .hero-scene {
    right: auto;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }

  .hero-image {
    left: 50%;
    right: auto;
    top: 0;
    bottom: auto;
    width: auto;
    height: 100%;
    max-height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    transform: translateX(-50%);
  }

  .hero-trust-list {
    width: calc(100% - 3rem);
    flex-wrap: wrap;
    border-radius: 1.625rem;
  }

  .hero-trust-item {
    flex-basis: 20rem;
  }

  .section-body--pain {
    min-height: auto;
  }

  .pain-panel {
    width: calc(100% - 3rem);
    min-height: auto;
  }

  .pain-title {
    font-size: 1.875rem;
  }

  .card-list--pain {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: calc(100% - 3rem);
  }

  .pain-bottom-decor {
    flex-basis: 10rem;
  }

  .section-body--solution,
  .section-body--questions {
    min-height: auto;
  }

  .solution-layout {
    flex-direction: column;
    align-items: stretch;
    width: calc(100% - 3rem);
    min-height: auto;
    overflow: visible;
  }

  .solution-copy {
    flex: 0 1 auto;
    width: 100%;
    max-width: none;
    align-self: stretch;
  }

  .solution-title {
    max-width: 38rem;
    font-size: 2.625rem;
  }

  .solution-text {
    max-width: 42rem;
  }

  .solution-phone-wrap {
    align-self: stretch;
    justify-content: center;
    width: auto;
    max-width: 100%;
  }

  .solution-phone-stage {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    align-self: stretch;
    width: 100%;
  }

  .solution-phone {
    order: -1;
  }

  .solution-experts-list--side {
    flex: 0 1 auto;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 0.5rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-top: 0;
    padding-bottom: 0;
  }

  .solution-experts-list--side.solution-experts-list--left,
  .solution-experts-list--side.solution-experts-list--right {
    padding-top: 0;
    padding-bottom: 0;
  }

  .solution-phone-stage .solution-experts-list--side .solution-expert:nth-child(-n + 10) {
    transform: none;
  }

  .solution-experts-list--side .solution-expert {
    width: auto;
    max-width: 100%;
    min-width: 0;
  }

  .solution-experts-list--side .solution-expert-chip {
    width: auto;
    max-width: 100%;
    min-width: 0;
    flex-shrink: 1;
  }

  .solution-experts-list--side.solution-experts-list--left .solution-expert:nth-child(n) {
    margin-right: 0;
  }

  .solution-experts-list--side.solution-experts-list--left .solution-expert:nth-child(n) .solution-expert-chip {
    margin-right: 0;
  }

  .solution-experts-list--side.solution-experts-list--right .solution-expert:nth-child(n) {
    margin-left: 0;
    margin-top: 0;
  }

  .solution-experts-list--side.solution-experts-list--right .solution-expert:nth-child(n) .solution-expert-chip {
    margin-left: 0;
  }

  .solution-family {
    align-self: center;
    width: min(100%, 42rem);
    flex-basis: auto;
  }

  .question-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(100%, var(--hero-width));
    gap: 1rem;
  }
}

@media (max-width: 1120px) {
  :root {
    --atom-inline: 1.125rem;
    --trust-row-icon-size: 1.25rem;
    --trust-row-font-size: 0.75rem;
    --hero-nav-bar-h: 4rem;
  }

  .hero-nav {
    height: var(--hero-nav-bar-h);
    min-height: var(--hero-nav-bar-h);
    box-sizing: border-box;
  }

  .page {
    gap: 0;
  }

  .section--hero {
    min-height: auto;
    padding-top: var(--hero-nav-bar-h);
    border-radius: 1rem;
  }

  .section-body--hero {
    min-height: auto;
    padding-top: 0;
    padding-right: 1rem;
    padding-bottom: 2rem;
    padding-left: 1rem;
    box-sizing: border-box;
  }

  .brand-icon-wrap {
    width: auto;
    height: 2rem;
  }

  .section-layout--hero {
    min-height: auto;
    gap: 0;
  }

  .hero-copy {
    gap: 2rem;
    align-items: center;
    text-align: center;
  }

  .hero-title-block,
  .hero-kicker {
    align-items: center;
  }

  .hero-kicker {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .hero-kicker .bottom-kicker {
    align-self: center;
  }

  .section--hero .button-row {
    justify-content: center;
  }

  .section-layout--hero {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-visual {
    order: -1;
    align-self: stretch;
    flex: 0 0 auto;
    width: 100%;
    height: auto;
  }

  .hero-scene {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0;
    transform: none;
    transform-origin: center center;
  }

  .hero-image {
    left: 50%;
    right: auto;
    top: 0;
    bottom: auto;
    width: auto;
    height: 100%;
    max-height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    transform: translateX(-50%) translateY(10%);
  }

  .solution-phone-wrap {
    gap: 0;
  }

  .solution-experts-bundle {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
    padding-bottom: 1rem;
    box-sizing: border-box;
    order: -1;
  }

  .solution-phone-stage {
    align-self: stretch;
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    max-height: calc(min(80dvh, 42rem) * 0.65);
    min-height: 0;
    margin: 0;
    padding: 0;
    gap: 0;
  }

  .solution-phone-stage .solution-phone {
    flex: 0 0 auto;
    align-self: center;
    margin-top: 0;
  }

  .solution-phone-stage .solution-experts-list--side {
    display: none;
  }

  .solution-experts-list--mobile .solution-expert-chip {
    width: auto;
    max-width: 100%;
    padding: 0.5rem 0.75rem;
    white-space: normal;
  }

  .solution-experts-list--mobile .solution-expert-label {
    font-size: 1rem;
    line-height: 1.25;
  }

  .section.section--solution {
    height: auto;
    min-height: 0;
    padding-top: 6rem;
    padding-right: 1rem;
    padding-bottom: 0rem;
    padding-left: 1rem;
    box-sizing: border-box;
  }

  .section-body--solution {
    padding-top: 0;
    padding-bottom: 0;
  }

  .solution-copy {
    align-items: center;
    text-align: center;
  }

  .solution-copy .solution-kicker {
    align-self: center;
    justify-content: center;
    max-width: 100%;
  }

  .solution-copy .solution-title {
    align-self: stretch;
    align-items: center;
    text-align: center;
    max-width: 100%;
  }

  .solution-copy .solution-text {
    align-self: stretch;
    text-align: center;
    margin: 0;
    padding: 0;
    max-width: none;
    box-sizing: border-box;
  }

  .solution-copy .solution-feature-list {
    align-self: stretch;
    align-items: stretch;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    gap: 0.5rem;
  }

  .solution-copy .solution-feature {
    justify-content: center;
  }

  .solution-copy .solution-feature-button {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    pointer-events: none;
    cursor: default;
  }

  .solution-copy .solution-feature.is-active .solution-feature-button {
    border-color: #ffffff;
    background: rgba(255, 255, 255, 0.8);
  }

  .solution-copy .solution-feature.is-active .solution-feature-accent {
    width: 0;
    background: transparent;
  }

  .solution-copy .solution-feature-icon-wrap {
    margin-right: 0;
    margin-bottom: 0.5rem;
    align-self: center;
  }

  .solution-copy .solution-feature-copy {
    align-items: center;
    align-self: center;
    text-align: center;
  }

  .section.section--questions {
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
  }

  .section.section--reviews {
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
  }

  .section.section--benefits {
    padding-top: 4rem;
    padding-bottom: 4rem;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
  }

  .section-body--pain {
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
  }

  

  .section-body--pricing {
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
    
  }

  .reviews-list {
    width: 100%;
    max-width: none;
  }

  .pain-panel {
    width: 100%;
    max-width: none;
    gap: 1rem;
  }

  .card-list--pain {
    width: 100%;
    gap: 0.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .card-list--pain .pain-card:nth-child(5) {
    grid-column: 1 / -1;
  }

  .pain-image-wrap {
    height: 9rem;
    max-width: none;
  }

  .pain-image {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    object-fit: cover;
  }

  .benefits-panel {
    width: 100%;
    max-width: none;
    padding: 0;
  }

  .benefits-cta-main .benefit-list {
    max-width: none;
  }

  .benefits-cta-main {
    padding: 1rem;
  }

  .benefits-cta-band .bottom-kicker {
    align-self: center;
  }

  .benefits-cta-band {
    align-items: stretch;
  }

  .benefits-cta-inner {
    flex-direction: column;
    align-items: stretch;
  }

  .section-body--content,
  .section-body--pain,
  .section-body--partners,
  .section-body--solution,
  .section-body--steps,
  .section-body--reviews,
  .section-body--emotion,
  .section-body--final {
    min-height: auto;
    gap: 1.75rem;
  }

  .partners-row {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }

  .partners-trust {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0.375rem;
  }

  .partners-trust-line {
    display: inline;
    white-space: nowrap;
    margin: 0;
    padding: 0;
  }

  .section-body--partners {
    padding-top: 4rem;
    padding-bottom: 0;
  }

  .partners-list {
    justify-content: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .partners-logo {
    height: 2.5rem;
  }

  .section-body--questions {
    min-height: auto;
    gap: 2rem;
    padding-bottom: 0;
  }

  .section-body--steps {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0;
    box-sizing: border-box;
  }

  .section-body--reviews {
    gap: 4rem;
    padding-bottom: 0;
  }

  .section-layout {
    gap: 1.75rem;
  }

  .section-title,
  .final-title {
    padding-top: 0.5rem;
    font-size: 2.125rem;
    line-height: 1.08;
  }

  .section-lead {
    font-size: 1.125rem;
  }

  .hero-nav-inner {
    min-height: 0;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    box-sizing: border-box;
    gap: 0.5rem;
  }

  .mobile-nav-open .hero-nav-burger-x {
    display: flex;
  }

  .mobile-nav-open .hero-nav-burger-label--close {
    display: none;
  }

  .brand-link {
    margin: 0;
    padding: 0.5rem;
    box-sizing: border-box;
  }

  .hero-nav-burger-label--open {
    display: none;
  }

  .hero-nav-burger {
    display: inline-flex;
    margin: 0;
    padding: 0.5rem;
    box-sizing: border-box;
  }

  .mobile-nav {
    justify-content: flex-start;
    align-items: stretch;
    background: rgb(43 41 43 / 28%);
  }

  .mobile-nav-sheet {
    flex: 0 0 auto;
    height: auto;
    max-height: calc(100dvh - env(safe-area-inset-top, 0px));
    overflow-x: hidden;
    overflow-y: auto;
    padding-top: calc(var(--hero-nav-bar-h) + env(safe-area-inset-top, 0px));
    padding-bottom: 0;
    border-radius: 0 0 1rem 1rem;
    background: rgb(255 255 255 / 90%);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    box-shadow: 0 0.625rem 1.5rem rgb(116 84 75 / 10%);
    box-sizing: border-box;
  }

  .mobile-nav-body {
    flex: 0 0 auto;
    min-height: 0;
  }

  .mobile-nav-primary {
    flex: 0 0 auto;
    min-height: 0;
  }

  .mobile-nav-footer {
    margin-top: 0;
  }
  .hero-nav-inner .nav-links {
    display: none;
  }

  .nav-actions {
    display: none;
  }

  .nav-button {
    min-width: auto;
    min-height: 0;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
  }

  .hero-title {
    max-width: 100%;
    font-size: 2.5rem;
    line-height: 1.04;
  }

  .hero-subtitle {
    font-size: 1.0625rem;
  }

  .hero-feature-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    align-content: flex-start;
    gap: 0.5rem;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  .hero-feature {
    flex: 0 1 auto;
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: auto;
    width: auto;
    max-width: 100%;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  .hero-ai-helper-wrap {
    top: 27%;
    right: 10%;
  }

  .hero-hint-wrap {
    top: 5%;
    right: 5%;
    left: auto;
    width: min(92%, 16rem);
    transform: translate(0, 0);
  }

  .hero-feature-icon {
    width: auto;
    height: auto;
    border-radius: 0;
  }

  .section--hero .button-row,
  .pricing-list {
    justify-content: center;
    gap: 0.75rem;
  }

  .button,
  .button--large,
  .section--hero .button {
    width: 100%;
    min-height: 3.5rem;
    padding: 1rem 1.125rem;
    border-radius: 0.875rem;
  }

  .section--hero .button--primary,
  .section--hero .button--ghost {
    min-width: 0;
  }

  .task-bubble {
    --bubble-label-size: 0.5625rem;
    width: 4.25rem;
    min-height: 4.25rem;
    gap: 0.3125rem;
    padding: 0.5625rem 0.4375rem;
    border-radius: 1.125rem 1.125rem 1.125rem 0.375rem;
    font-size: var(--bubble-label-size);
  }

  .task-bubble-group--left .task-bubble {
    border-radius: 1.125rem 1.125rem 0.375rem 1.125rem;
  }

  .task-bubble-group {
    gap: 0.75rem;
  }

  .hero-hint-inner {
    padding: 0.6875rem 0.9375rem;
  }

  .hero-hint {
    border-radius: 1.0625rem;
    font-size: 0.9375rem;
    line-height: 1.32;
    letter-spacing: 0;
  }

  .hero-hint-copy {
    line-height: 1.28;
  }

  .mom-figure {
    left: 7.375rem;
    bottom: 3.125rem;
    transform: scale(0.66);
    transform-origin: bottom left;
  }

  .helper-figure {
    right: 6.875rem;
    bottom: 13.75rem;
    transform-origin: center;
  }

  .helper-speech {
    top: 2rem;
    right: 6.875rem;
    min-height: 2.5rem;
    padding: 0.75rem 1rem;
    border-radius: 1.25rem 1.25rem 1.25rem 0.4375rem;
    font-size: 0.8125rem;
  }

  .desk-scene {
    left: 1.25rem;
    height: 7.75rem;
  }

  .desk-surface {
    width: 24.5rem;
    height: 4.75rem;
  }

  .desk-mug {
    left: 4.875rem;
    bottom: 1.75rem;
    transform: scale(0.72);
    transform-origin: bottom left;
  }

  .desk-laptop {
    right: 0.875rem;
    bottom: 2.125rem;
    transform: scale(0.72) skew(-6deg);
    transform-origin: bottom right;
  }

  .desk-pen {
    right: 11rem;
    bottom: 1.625rem;
    width: 3.625rem;
  }

  .hero-trust-list {
    width: 100%;
    flex-direction: column;
    border-radius: 1.125rem;
  }

  .hero-trust-item {
    width: 100%;
    flex: 0 0 auto;
    flex-grow: 0;
    flex-shrink: 1;
    min-height: 0;
    padding: 1rem;
    align-items: flex-start;
  }

  .hero-trust-item + .hero-trust-item {
    border-top: 0.0625rem solid rgba(91, 69, 81, 0.1);
    border-left: 0;
  }

  .hero-trust-icon {
    width: 2.625rem;
    height: 2.625rem;
    border-radius: 0.75rem;
  }

  .hero-trust-icon img {
    width: 1.625rem;
    height: 1.625rem;
  }

 

  .hero-trust-copy {
    font-size: 0.75rem;
  }

  .hero-trust-copy strong {
    font-size: 0.875rem;
  }

  .pain-panel {
    border-radius: 1.125rem;
  }

  .pain-head {
    align-items: flex-start;
    align-self: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  .pain-head .pain-kicker {
    align-self: flex-start;
  }

  .pain-kicker {
    min-height: 0;
    padding: 0;
    border-radius: 0;
    border-width: 0;
    font-size: 0.6875rem;
  }

  .pain-title {
    font-size: 2.5rem;
    line-height: 1.12;
    align-self: stretch;
    text-align: left;
    align-items: flex-start;
    width: 100%;
  }

  .pain-card {
    min-height: auto;
    padding: 0.25rem;
  }

  .pain-kicker-text {
    font-size: 1rem;
  }

  .pain-card-content {
    gap: 0.75rem;
    padding-top: 0.75rem;
    padding-right: 0.75rem;
    padding-bottom: 0.75rem;
    padding-left: 0.75rem;
  }

  .pain-card-title br {
    display: none;
  }

  .pain-image-wrap {
    height: 9rem;
    max-width: none;
  }

  .pain-bottom-inner {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 1rem;
    min-height: 0;
    padding: 1rem;
  }

  .pain-bottom-copy {
    flex: 1 1 auto;
    min-width: 0;
  }

  .pain-bottom-icon {
    width: 2rem;
    height: 2rem;
  }

  .pain-bottom-icon-svg {
    width: 1.125rem;
    height: 1.125rem;
  }

  .pain-bottom-title {
    font-size: 1.125rem;
  }

  .pain-bottom-text {
    font-size: 0.875rem;
  }

  .pain-bottom-decor {
    display: none;
  }

  .step-card,
  .price-card {
    flex-grow: 0;
    flex-basis: calc(100% - 1.5rem);
  }

  .step-card {
    flex-direction: column;
    align-items: stretch;
    min-height: auto;
    padding: 0;
  }

  .step-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  .price-card {
    min-height: auto;
    padding: 2rem;
  }

  .price-card.price-card--base {
    gap: 2rem;
  }

  .pain-text {
    font-size: 1.125rem;
  }

  .benefits-cta-main .benefit-item {
    font-size: 1.125rem;
  }

  .solution-layout {
    width: 100%;
    max-width: none;
    gap: 1.5rem;
  }

  .solution-kicker,
  .questions-kicker {
    min-height: 1.5rem;
    padding: 0.3125rem 0.75rem;
    font-size: 0.6875rem;
  }

  .solution-title {
    font-size: 2rem;
    line-height: 1.12;
  }

  .solution-text {
    font-size: 1rem;
  }

  .solution-feature {
    display: flex;
  }

  .solution-phone-wrap {
    align-self: stretch;
    justify-content: center;
    width: auto;
    max-width: 100%;
  }

  .solution-family {
    width: 26.875rem;
    height: 24rem;
    transform: scale(0.84);
    transform-origin: top center;
  }

  .questions-title {
    font-size: 1.875rem;
  }

  .question-list {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: none;
    gap: 1rem;
  }

  .question-card {
    min-height: 0;
    padding: 1.25rem;
  }

  .benefits-cta-main .benefit-list {
    align-items: center;
    flex-basis: auto;
  }

  .benefits-cta-main .benefit-item {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }

  .chat-window {
    flex-basis: auto;
    min-height: auto;
    padding: 1.125rem;
  }

  .message {
    max-width: 94%;
    font-size: 1rem;
  }

  .price-value:not(.price-value--per-request) {
    font-size: 1.6875rem;
  }

  .calm-scene {
    align-self: center;
    width: calc(100% - 1.5rem);
    height: 21.25rem;
  }

  .calm-mom {
    left: 16%;
    bottom: 3.25rem;
    transform: scale(0.72);
    transform-origin: bottom left;
  }

  .calm-child {
    right: 12%;
    bottom: 3.375rem;
    transform: scale(0.78);
    transform-origin: bottom right;
  }

  .calm-sun {
    top: 2.125rem;
    right: 2.5rem;
    width: 3.875rem;
    height: 3.875rem;
  }

  .calm-book {
    right: 38%;
    bottom: 3.25rem;
  }

  .emotion-copy {
    padding-top: 1.625rem;
    padding-bottom: 1.625rem;
    font-size: 1.6875rem;
  }

  .final-panel {
    width: calc(100% - 1.5rem);
    gap: 1rem;
    padding: 1.75rem 1.25rem;
  }
}

/* Bottom composition */
.section-body--steps {
  min-height: 34rem;
  gap: 4rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
  justify-content: center;
}

.section-body--benefits {
  min-height: 27rem;
  justify-content: center;
}

.section-body--pricing {
  min-height: auto;
  padding-top: 4rem;
  padding-bottom: 4rem;
  justify-content: center;
}

.section.section--pricing {
  background: linear-gradient(168deg, #fffaf6 0%, #fff1e8 42%, #ffeada 100%);
  border-radius: 0 0 3rem 3rem;
}

.section--reviews {
  flex-direction: column;
  align-items: center;
  
}

.section-body--reviews {
  min-height: auto;
  gap: 4rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
  justify-content: center;
}

.bottom-glow,
.bottom-leaf {
  position: absolute;
  display: block;
  pointer-events: none;
}

.bottom-glow {
  border-radius: 50%;
  filter: blur(2.5rem);
}

.bottom-glow--steps {
  top: 8%;
  right: 5%;
  width: 24rem;
  height: 24rem;
  background: rgba(255, 217, 200, 0.28);
}

.bottom-glow--final {
  right: 12%;
  bottom: -5rem;
  width: 26rem;
  height: 14rem;
  background: rgba(255, 183, 156, 0.28);
}

.bottom-leaf {
  width: 8.25rem;
  height: 13rem;
  border-radius: 5rem 1rem 5rem 1rem;
  background: rgba(161, 181, 132, 0.22);
  filter: blur(0.4375rem);
}

.bottom-leaf--left {
  left: -2rem;
  bottom: 1rem;
  transform: rotate(-34deg);
}

.bottom-leaf--right {
  right: -1.75rem;
  bottom: -0.5rem;
  transform: rotate(30deg);
}

.steps-head {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-self: center;
  align-items: center;
  width: min(100%, var(--hero-width));
  gap: 0.625rem;
  text-align: center;
}

.steps-head .bottom-kicker {
  align-self: center;
}

.bottom-kicker {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 0.5rem;
  min-height: 1.625rem;
  padding: 0.3125rem 0.875rem;
  border-radius: 999rem;
  color: var(--brand-peach-accent);
  background: var(--brand-peach-kicker-bg);
  font-size: 0.8125rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.bottom-kicker span {
  color: var(--brand-peach-accent);
}

.bottom-title {
  color: #432823;
  font-size: 2.125rem;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: 0;
}

.steps-layout {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
  align-self: center;
  width: min(100%, var(--hero-width));
  gap: 1.5rem;
}

.reviews-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: center;
  width: min(100%, var(--hero-width));
  gap: 0.625rem;
  text-align: center;
}

.reviews-head .bottom-kicker {
  align-self: center;
}

.reviews-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-self: center;
  width: min(100%, var(--hero-width));
  gap: 1.125rem;
}

.review-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 15rem;
  gap: 1.5rem;
  padding: 2rem;
  border-radius: 1rem;
  color: #5d504d;
  background: #ffffff;
  box-shadow: 0 1rem 2.5rem rgba(116, 84, 75, 0.07);
  font-size: 1rem;
  line-height: 1.45;
  font-weight: 400;
}

.review-card p {
  flex: 1 1 auto;
  font-weight: 400;
}

.review-card p strong {
  font-weight: 600;
}

.review-card-foot {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0;
  padding: 0;
  gap: 0.75rem;
}

.review-card-date {
  display: block;
  flex: 0 1 auto;
  color: rgba(117, 101, 109, 0.68);
  color: #75656dad;
  font-size: 0.875rem;
  line-height: 1.25;
  font-weight: 400;
}

.review-card-stars {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex: 0 0 auto;
  gap: 0.0625rem;
}

.review-card-star {
  display: inline-flex;
  color: #e4b022;
  font-size: 0.875rem;
  line-height: 1;
}

.review-person {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.review-person > span:last-child {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.review-person strong {
  color: #432823;
  font-size: 1.125rem;
  line-height: 1.1;
  font-weight: 600;
}

.review-person span span {
  color: #8b7770;
  font-size: 0.875rem;
  line-height: 1.25;
}

.review-avatar-wrap {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  overflow: hidden;
}

.review-avatar-img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  object-fit: cover;
}

.step-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  flex: 1 1 auto;
  gap: 1.125rem;
  counter-reset: none;
}

.step-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-width: 0;
  min-height: auto;
  gap: 0;
  padding: 0;
  border: 0.0625rem solid rgba(91, 69, 81, 0.08);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 1rem 2.5rem rgba(116, 84, 75, 0.07);
  overflow: hidden;
}

.step-card::before {
  content: none;
}

.step-number {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  color: var(--brand-peach-accent);
  background: var(--brand-peach-kicker-bg);
  font-size: 1.125rem;
  font-weight: 600;
}

.step-caption {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 1rem;
}

@media (min-width: 1121px) {
  .step-card .step-visual {
    order: 1;
  }

  .step-caption {
    order: 2;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.25rem;
    gap: 1.25rem;
  }
}

.step-copy {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  gap: 0.5rem;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.step-title {
  margin: 0;
  padding: 0;
  color: #4a3934;
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 600;
}

.step-subtitle {
  margin: 0;
  padding: 0;
  color: #75656d;
  font-size: 0.875rem;
  line-height: 1.35;
  font-weight: 400;
}

.step-phone-frame,
.step-phone-line,
.step-plane,
.step-robot,
.step-robot-eye,
.step-consultant,
.step-laptop,
.step-clipboard,
.step-check,
.step-done {
  position: absolute;
  display: block;
}

.step-visual {
  position: relative;
  display: flex;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  aspect-ratio: 1 / 1;
  align-items: stretch;
  justify-content: center;
  overflow: hidden;
}

.step-visual-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.step-phone-frame {
  left: 2.75rem;
  bottom: 0.5rem;
  width: 5rem;
  height: 7rem;
  border: 0.25rem solid #efc7bd;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.74);
  transform: rotate(4deg);
}

.step-phone-line {
  left: 3.75rem;
  height: 0.625rem;
  border-radius: 999rem;
  background: #dfe1e6;
}

.step-phone-line--one {
  bottom: 4.875rem;
  width: 2.5rem;
}

.step-phone-line--two {
  bottom: 3.625rem;
  width: 3.375rem;
  background: #f0e1d8;
}

.step-plane {
  right: 3rem;
  bottom: 4.75rem;
  width: 0;
  height: 0;
  border-top: 1rem solid transparent;
  border-bottom: 1rem solid transparent;
  border-left: 2.875rem solid #b6d4e7;
  transform: rotate(-20deg);
}

.step-robot {
  left: 1.5rem;
  bottom: 2rem;
  width: 4.25rem;
  height: 3.75rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, #c8d6de, #f1f5f6);
  box-shadow: inset 0 -1.5rem 0 rgba(120, 142, 155, 0.18);
}

.step-robot::before {
  position: absolute;
  top: 0.875rem;
  left: 0.8125rem;
  width: 2.625rem;
  height: 1.375rem;
  border-radius: 0.75rem;
  background: #39516a;
  content: "";
}

.step-robot-eye {
  z-index: 2;
  bottom: 4.0625rem;
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 50%;
  background: #bff6e9;
}

.step-robot-eye--left {
  left: 3rem;
}

.step-robot-eye--right {
  left: 3.875rem;
}

.step-consultant {
  right: 3rem;
  bottom: 1.75rem;
  width: 4rem;
  height: 5.25rem;
  border-radius: 2rem 2rem 0.75rem 0.75rem;
  background:
    radial-gradient(circle at 50% 22%, #ffd0b7 0 18%, rgba(255, 208, 183, 0) 19%),
    radial-gradient(circle at 50% 15%, #a75832 0 25%, rgba(167, 88, 50, 0) 27%),
    linear-gradient(180deg, transparent 0 39%, #a9c9db 40% 100%);
}

.step-laptop {
  right: 0.75rem;
  bottom: 1.375rem;
  width: 4.625rem;
  height: 2.875rem;
  border-radius: 0.375rem;
  background: linear-gradient(135deg, #d9b49b, #b48775);
  transform: skew(-8deg);
}

.step-clipboard {
  left: 4rem;
  bottom: 0.875rem;
  width: 5.375rem;
  height: 7rem;
  border-radius: 0.5rem;
  background: #fff8ed;
  border: 0.25rem solid #e6c5ad;
  box-shadow: 0 0.75rem 1.5rem rgba(116, 84, 75, 0.08);
}

.step-clipboard::before {
  position: absolute;
  top: -0.625rem;
  left: 1.5rem;
  width: 2.125rem;
  height: 1.25rem;
  border-radius: 0.375rem;
  background: #d4a36c;
  content: "";
}

.step-check {
  left: 5.25rem;
  width: 2.625rem;
  height: 0.25rem;
  border-radius: 999rem;
  background: #e6c5ad;
}

.step-check::before {
  position: absolute;
  left: -0.875rem;
  top: -0.25rem;
  color: #f0a75b;
  content: "✓";
  font-weight: 600;
}

.step-check--one {
  bottom: 5.75rem;
}

.step-check--two {
  bottom: 4.375rem;
}

.step-check--three {
  bottom: 3rem;
}

.step-done {
  right: 2.75rem;
  bottom: 1rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  color: var(--white);
  background: linear-gradient(135deg, #ffb1a8, var(--coral));
  font-size: 2rem;
  font-weight: 600;
}

.pricing-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  overflow: visible;
}

.benefits-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  align-self: center;
  width: min(100%, var(--hero-width));
  min-width: 0;
  min-height: auto;
  margin: 0;
  padding: 1.625rem 1.75rem;
  gap: 0;
  border-radius: var(--radius-sm);
  background: rgba(255, 253, 247, 0.82);
  overflow: visible;
}

.benefits-panel .benefits-cta-band {
  width: 100%;
  flex: 1 1 auto;
  margin: 0;
  min-width: 0;
}

.benefits-cta-copy-group {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  padding: 0;
  gap: 1rem;
  box-sizing: border-box;
}
.benefits-cta-main .benefit-list {
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 22rem;
  margin: 0;
  padding: 0;
  gap: 0.75rem;
}

.benefits-cta-main .benefit-item {
  position: relative;
  min-height: auto;
  padding: 0 0 0 1.75rem;
  border: 0;
  border-radius: 0;
  color: #6b5a55;
  background: transparent;
  box-shadow: none;
  font-size: 0.9375rem;
  line-height: 1.35;
  font-weight: 600;
}

.benefits-cta-main .benefit-item::before {
  content: "♡";
  position: absolute;
  top: -0.0625rem;
  left: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  color: var(--coral);
  background: transparent;
  box-shadow: none;
  font-weight: 600;
}

.benefits-cta-band .bottom-kicker {
  align-self: flex-start;
  margin: 0;
}

.benefits-cta-band {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0.75rem;
  border-radius: calc(var(--radius-md) + 1rem);
  background: linear-gradient(
    118deg,
    var(--peach-soft) 0%,
    var(--rose-soft) 52%,
    rgba(var(--cta-button-rgb), 0.1) 100%
  );
  box-shadow: inset 0 0 0 0.0625rem rgba(var(--brand-peach-rgb), 0.16), inset 0 0 2.5rem rgba(var(--cta-button-rgb), 0.04);
  overflow: hidden;
}

.benefits-cta-decor {
  position: absolute;
  z-index: 0;
  width: 42%;
  height: 140%;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(1.75rem);
  opacity: 0.9;
}

.benefits-cta-decor--left {
  top: 50%;
  left: -8%;
  transform: translateY(-50%);
  background: radial-gradient(
    ellipse 100% 80% at 30% 50%,
    rgba(var(--brand-peach-rgb), 0.38) 0%,
    rgba(var(--brand-peach-rgb), 0) 70%
  );
}

.benefits-cta-decor--right {
  top: 50%;
  right: -8%;
  transform: translateY(-50%);
  background: radial-gradient(
    ellipse 100% 80% at 70% 50%,
    rgba(var(--cta-button-rgb), 0.2) 0%,
    rgba(var(--cta-button-rgb), 0) 70%
  );
}

.benefits-cta-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  border-radius: 2rem;
  background: linear-gradient(180deg, #ffffff 0%, rgb(255 234 239 / 0.88) 100%);
  box-shadow: inset 0 0.0625rem 0 rgba(255, 255, 255, 0.85), 0 0.5rem 2rem rgba(116, 84, 75, 0.06);
}

.benefits-cta-main {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  align-items: flex-start;
  align-self: stretch;
  justify-content: flex-start;
  min-width: 0;
  margin: 0;
  padding: 2rem;
  gap: 1.25rem;
}

.benefits-cta-band .final-copy {
  width: 100%;
  gap: 0.5rem;
}

.benefits-cta-band .final-title {
  color: #333333;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 600;
}

.benefits-cta-band .final-subtitle {
  color: #777777;
  font-size: 0.9375rem;
  line-height: 1.4;
  font-weight: 500;
}

.benefits-cta-button-wrap {
  display: flex;
  width: 100%;
}

.benefits-cta-band .benefits-cta-button {
  width: auto;
  min-width: 0;
  min-height: 3.25rem;
  padding: 0.875rem 1.5rem;
  border: 0;
  border-radius: 999rem;
  color: #ffffff;
  background: var(--cta-button);
  box-shadow: 0 0.75rem 1.75rem rgba(var(--cta-button-rgb), 0.35);
}

.benefits-cta-art {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.benefits-cta-image {
  display: block;
  box-sizing: border-box;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 50dvh;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  object-fit: contain;
  object-position: 50% 50%;
}

@media (min-width: 1121px) {
  .benefits-cta-main {
    justify-content: space-between;
  }

  .benefits-cta-copy-group {
    gap: 2rem;
  }

  .benefits-cta-band .final-title {
    font-size: 3.5rem;
    line-height: 1.1;
  }
}

.pricing-panel {
  align-self: center;
  display: flex;
  flex-direction: column;
  width: min(100%, var(--hero-width));
  min-width: 0;
  min-height: auto;
  gap: 2.5rem;
  padding: 1rem 0 1.5rem;
}

.pricing-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: center;
  width: 100%;
  max-width: 40rem;
  gap: 1rem;
  text-align: center;
}

.pricing-head .bottom-kicker,
.pricing-kicker {
  align-self: center;
}

.pricing-heading {
  margin: 0;
  padding: 0;
  color: #432823;
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 600;
}

.pricing-lead {
  margin: 0;
  padding: 0;
  color: #6f6671;
  font-size: 1rem;
  line-height: 1.45;
  font-weight: 400;
}

.pricing-pitch {
  display: flex;
  flex-direction: column;
  align-self: center;
  width: 100%;
  max-width: 32rem;
  margin: 0;
  padding: 0;
  gap: 0.5rem;
}

.pricing-pitch-line {
  margin: 0;
  padding: 0;
  color: #6f6671;
  font-size: 1rem;
  line-height: 1.45;
  font-weight: 400;
}

.pricing-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  width: 100%;
  gap: 1.5rem;
}

.price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  gap: 1.5rem;
  padding: 2rem 1.75rem;
  border: 0;
  border-radius: 1.5rem;
  background: #ffffff;
  box-shadow: 0 1.5rem 3rem -1.25rem rgba(116, 84, 75, 0.12), 0 0.25rem 0.75rem rgba(116, 84, 75, 0.04);
}

.price-card--featured {
  padding: 2rem 1.75rem;
  background: #ffffff;
  border: 0.0625rem solid rgba(255, 175, 158, 0.55);
  box-shadow: 0 1.5rem 3.5rem -1rem rgba(246, 127, 114, 0.18), 0 0.25rem 0.75rem rgba(246, 127, 114, 0.08);
}

.price-card--expert,
.price-card--vip {
  background: #ffffff;
}

.price-card-badge {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  border-radius: 999rem;
  background: linear-gradient(180deg, rgba(245, 61, 131, 0.2) 0%, rgba(245, 61, 131, 0.12) 100%);
  border: 0.0625rem solid rgba(245, 61, 131, 0.28);
  -webkit-backdrop-filter: blur(40px);
  backdrop-filter: blur(40px);
  color: #f53d83;
  font-size: 0.6875rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.price-card-badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  line-height: 1;
}

.price-card-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  gap: 1rem;
}

.price-icon-wrap {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.875rem;
}

.price-icon-wrap--brand {
  background: var(--brand-coral-surface-solid);
}

.price-icon-wrap--coral {
  background: rgba(255, 236, 225, 0.95);
}

.price-icon-wrap--brand .price-icon-img {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  filter: brightness(0) saturate(100%) invert(58%) sepia(58%) saturate(541%) hue-rotate(326deg) brightness(98%) contrast(94%);
}

.price-icon-wrap--coral .price-icon-img {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
}

.price-icon-wrap--accent-yellow {
  background: var(--brand-icon-yellow-soft);
}

.price-icon-wrap--accent-yellow .price-icon-img {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
}

.price-icon-wrap--accent-blue {
  background: var(--brand-coral-soft);
}

.price-icon-wrap--accent-blue .price-icon-img {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  filter: brightness(0) saturate(100%) invert(58%) sepia(58%) saturate(541%) hue-rotate(326deg) brightness(98%) contrast(94%);
}

.price-icon-wrap--accent-green {
  background: var(--brand-icon-green-soft);
}

.price-icon-wrap--accent-green .price-icon-img {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
}

.price-icon-fallback {
  color: var(--brand-coral);
  font-size: 1.3rem;
  line-height: 1;
  font-weight: 600;
}

.price-head-text {
  flex: 1 1 0;
  min-width: 0;
  gap: 0.25rem;
  text-align: left;
}

.price-title {
  margin: 0;
  padding: 0;
  color: #342d31;
  font-size: 1.125rem;
  line-height: 1.2;
  font-weight: 700;
  text-align: left;
}

.price-subtitle {
  margin: 0;
  padding: 0;
  color: #8b7e84;
  font-size: 0.8125rem;
  line-height: 1.4;
  font-weight: 400;
}

.price-block {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0.25rem;
}

.price-value {
  margin: 0;
  padding: 0;
  color: #342d31;
  background: transparent;
  font-size: 1rem;
  line-height: 1.1;
  font-weight: 600;
  text-align: left;
}

.price-value strong {
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.price-value--per-request {
  line-height: 1.2;
  font-size: 1rem;
  font-weight: 500;
}

.price-value--per-request strong {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.price-period {
  margin-left: 0.25rem;
  font-size: 0.9375rem;
  font-weight: 400;
  color: #8b7e84;
}

.price-tagline {
  margin: 0;
  padding: 0;
  color: #8b7e84;
  font-size: 0.8125rem;
  line-height: 1.4;
  font-weight: 400;
}

.price-card .price-features {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  list-style: none;
}

.price-features li {
  position: static;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0;
  color: #5d504d;
  font-size: 0.875rem;
  line-height: 1.4;
  font-weight: 500;
}

.price-features li::before {
  content: none;
}

.price-feature-mark {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 999rem;
  color: #0000003b;
  font-size: 0.6875rem;
  line-height: 1;
  font-weight: 700;
}

.price-feature-mark::before {
  content: "✓";
  display: inline-block;
  line-height: 1;
}


.price-feature-text {
  display: inline-block;
  color: inherit;
}

.price-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.25rem;
  margin-top: auto;
  padding: 0.875rem 1rem;
  border-radius: 1rem;
  font-size: 0.9375rem;
  line-height: 1;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    background 150ms ease,
    color 150ms ease,
    border-color 150ms ease,
    box-shadow 150ms ease;
}

.price-action--outline {
  border: 0.0625rem solid rgba(var(--cta-button-rgb), 0.35);
  color: var(--cta-button);
  background: #ffffff;
}

.price-action--outline:hover {
  background: rgba(var(--cta-button-rgb), 0.08);
  border-color: rgba(var(--cta-button-rgb), 0.52);
}

.price-action--consult {
  border: 0;
  color: #ffffff;
  background: var(--cta-button);
  box-shadow: 0 0.625rem 1.5rem rgba(var(--cta-button-rgb), 0.32);
}

.price-action--consult:hover {
  background: var(--cta-button-dark);
  box-shadow: 0 0.75rem 1.75rem rgba(var(--cta-button-rgb), 0.4);
}

.pricing-trust {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0.5rem 0 0;
  gap: 0.625rem;
  color: var(--trust-row-color);
  font-size: var(--trust-row-font-size);
  line-height: var(--trust-row-line-height);
  font-weight: var(--trust-row-font-weight);
  text-align: center;
}

.pricing-trust-icon {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: calc(var(--trust-row-icon-size) + 0.375rem);
  height: calc(var(--trust-row-icon-size) + 0.375rem);
  border-radius: 999rem;
  background: var(--brand-coral-surface-solid);
  color: var(--brand-coral);
}

.pricing-trust-icon img {
  display: block;
  width: var(--trust-row-icon-size);
  height: var(--trust-row-icon-size);
  filter: brightness(0) saturate(100%) invert(58%) sepia(58%) saturate(541%) hue-rotate(326deg) brightness(98%) contrast(94%);
}

.pricing-trust-text {
  display: block;
  flex: 0 1 auto;
  max-width: 32rem;
}

.section-body--final {
  min-height: 9.75rem;
  justify-content: center;
}

.final-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 13rem;
  align-items: center;
  align-self: center;
  width: min(100% - 12rem, 62.5rem);
  min-height: 7.5rem;
  gap: 1.75rem;
  padding: 1.375rem 1.5rem 1.375rem 2.25rem;
  border: 0;
  border-radius: 1.75rem 1.75rem 0 0;
  background: rgba(255, 241, 229, 0.86);
  box-shadow: 0 1rem 3rem rgba(116, 84, 75, 0.1);
  overflow: hidden;
}

.final-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.final-title {
  padding: 0;
  color: #432823;
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 600;
}

.final-subtitle {
  padding: 0;
  color: #7a6964;
  font-size: 0.9375rem;
  line-height: 1.35;
  font-weight: 600;
}

.final-panel .button {
  position: relative;
  z-index: 2;
  min-width: 17.5rem;
  min-height: 3.5rem;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, var(--cta-button), var(--cta-button-dark));
  box-shadow: 0 1rem 2.5rem rgba(var(--cta-button-rgb), 0.22);
}

.final-family,
.final-helper,
.final-mom,
.final-child {
  position: absolute;
  display: block;
}

.final-family {
  right: 1.5rem;
  bottom: -0.5rem;
  z-index: 1;
  width: 12rem;
  height: 7.5rem;
}

.final-helper {
  top: 1rem;
  right: 0.5rem;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background: linear-gradient(180deg, #fff9db, #fff4b5);
  box-shadow:
    0 0 0 0.5rem rgba(255, 235, 161, 0.22),
    0 0 2rem rgba(241, 177, 69, 0.36);
}

.final-mom {
  left: 2.25rem;
  bottom: 0;
  width: 5rem;
  height: 6.875rem;
  border-radius: 2.5rem 2.5rem 0.75rem 0.75rem;
  background:
    radial-gradient(circle at 50% 22%, #ffd0b7 0 18%, rgba(255, 208, 183, 0) 19%),
    radial-gradient(circle at 50% 13%, #8e4226 0 27%, rgba(142, 66, 38, 0) 28%),
    linear-gradient(180deg, transparent 0 42%, #ff9f93 43% 100%);
}

.final-child {
  left: 5.5rem;
  bottom: 0.25rem;
  width: 3.5rem;
  height: 4.5rem;
  border-radius: 1.75rem 1.75rem 0.75rem 0.75rem;
  background:
    radial-gradient(circle at 50% 24%, #ffd5bf 0 22%, rgba(255, 213, 191, 0) 23%),
    radial-gradient(circle at 50% 16%, #8e4226 0 25%, rgba(142, 66, 38, 0) 26%),
    linear-gradient(180deg, transparent 0 46%, #f2b95f 47% 100%);
}

.site-footer {
  display: flex;
  justify-content: center;
  width: 100%;
  background: rgba(253, 253, 253, 0.96);
  border-top: 0.0625rem solid rgba(116, 84, 75, 0.08);
}

.site-footer-wrap {
  display: flex;
  flex-direction: column;
  width: min(100%, var(--section-width));
  padding: 1.5rem var(--atom-inline) 2rem;
  gap: 1.25rem;
}

.site-footer-body {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 3.5rem;
  gap: 1.5rem;
}

.site-footer .nav-links {
  justify-content: flex-start;
  margin-right: auto;
}

.site-footer-cta {
  display: flex;
  flex: 0 1 22rem;
  flex-direction: column;
  min-width: 0;
  align-items: stretch;
  justify-content: center;
}

.site-footer-form {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
}

.site-footer-form-label {
  display: block;
  color: var(--muted);
  font-size: 0.75rem;
  line-height: 1.2;
  font-weight: 500;
}

.site-footer-form-row {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  gap: 0.5rem;
}

.site-footer-input-wrap {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  min-width: 0;
}

.site-footer-input {
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  margin: 0;
  padding: 0.625rem 0.75rem;
  border: 0.0625rem solid rgba(116, 84, 75, 0.15);
  border-radius: var(--radius-sm);
  background: var(--white);
  color: var(--ink);
  font: inherit;
  font-size: 0.875rem;
  line-height: 1.25;
  font-weight: 400;
}

.site-footer-input::placeholder {
  color: #9a929c;
}

.site-footer-submit {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  margin: 0;
  padding: 0.625rem 1rem;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--white);
  background: linear-gradient(135deg, var(--cta-button), var(--cta-button-dark));
  font: inherit;
  font-size: 0.875rem;
  line-height: 1;
  font-weight: 600;
  cursor: pointer;
}

.site-footer-legal {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  padding-top: 1.25rem;
  border-top: 0.0625rem solid rgba(116, 84, 75, 0.08);
  gap: 0.625rem 1rem;
  text-align: left;
}

.site-footer-copyright,
.site-footer-product,
.site-footer-legal-sub {
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
  line-height: 1.4;
  font-weight: 400;
}

.site-footer-copyright {
  color: var(--ink);
  font-size: 0.8125rem;
  font-weight: 500;
}

.site-footer-product {
  color: var(--muted);
  font-size: 0.875rem;
  font-weight: 500;
}

.site-footer-legal-sub {
  color: var(--muted);
  font-size: 0.875rem;
}

@media (max-width: 1120px) {
  .section-body--steps,
  .section-body--benefits,
  .section-body--pricing {
    min-height: auto;
  }

  .section.section--pricing {
    border-radius: 0 0 1rem 1rem;
  }

  .steps-head,
  .steps-layout,
  .reviews-head,
  .reviews-list,
  .benefits-panel,
  .pricing-panel {
    width: calc(100% - 3rem);
  }

  .steps-layout {
    flex-direction: column;
  }

  .pricing-list {
    grid-template-columns: 1fr;
    max-width: 24rem;
    margin-inline: auto;
  }

  .pricing-trust {
    display: none;
  }

  .reviews-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .site-footer-wrap {
    width: calc(100% - 3rem);
    padding-inline: 0;
  }

  .final-panel {
    width: calc(100% - 3rem);
    grid-template-columns: minmax(0, 1fr) auto 10rem;
  }
}

@media (max-width: 1120px) {
  .steps-head,
  .steps-layout,
  .reviews-head,
  .reviews-list,
  .benefits-panel,
  .pricing-panel {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }

  .bottom-kicker {
    min-height: 1.5rem;
    padding: 0.3125rem 0.75rem;
    font-size: 0.6875rem;
  }

  .bottom-title,
  .final-title,
  .pricing-heading {
    font-size: 1.75rem;
  }

  .step-list {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    gap: 0.75rem;
    align-self: stretch;
  }

  .step-caption {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1.25rem 0 1.25rem 1.25rem;
  }

  .step-card .step-caption,
  .step-card .step-visual {
    order: 0;
  }

  .step-card {
    flex-basis: auto;
    min-height: 0;
    flex-direction: row;
  }

  .step-visual {
    flex: auto;
  }

  .reviews-list {
    max-width: none;
    gap: 0.5rem;
    grid-template-columns: 1fr;
  }

  .questions-head {
    align-items: center;
    align-self: center;
    text-align: center;
  }

  .review-card {
    min-height: 0;
    padding: 1.25rem;
    gap: 1rem;
  }

  .benefits-cta-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }

  .benefits-cta-main {
    flex: 0 0 auto;
    width: 100%;
    padding: 1rem;
    box-sizing: border-box;
  }

  .benefits-cta-art {
    flex: 0 1 auto;
    align-self: stretch;
    order: 2;
    width: 100%;
    max-width: 100%;
    min-height: 0;
  }

  .benefits-panel,
  .pricing-panel {
    padding: 0;
  }

  .site-footer .nav-links {
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.75rem;
  }

  .benefits-cta-image {
    max-width: 100%;
    max-height: 50dvh;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: 50% 50%;
  }

  .pricing-list {
    grid-template-columns: 1fr;
    max-width: 100%;
    margin-inline: 0;
  }

  .price-card {
    min-height: auto;
    padding: 1.25rem;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }

  .pricing-trust {
    flex-direction: column;
    text-align: center;
  }

  .site-footer-wrap {
    width: calc(100% - 1.5rem);
    padding-inline: 0;
    gap: 1rem;
  }

  .site-footer-body {
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    gap: 1rem;
  }

  .site-footer-cta {
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
  }

  .site-footer-legal {
    flex-direction: row;
    flex-wrap: wrap;
    text-align: left;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .final-panel {
    grid-template-columns: 1fr;
    width: calc(100% - 1.5rem);
    min-height: auto;
    gap: 1rem;
    padding: 1.5rem;
    border-radius: 1.125rem;
  }

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

  .final-family {
    position: relative;
    right: auto;
    bottom: auto;
    justify-self: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto;
    animation-duration: 1ms;
    animation-iteration-count: 1;
    transition-duration: 1ms;
  }
}
