/* ==========================================================================
   Thaynara Teixeira · Nutricionista — Método NutriTransforma
   v3 · identidade original da marca, cores chapadas e vidro fosco.
   Sem degradês fora do hero (o hero é a cópia exata da referência visual).
   Escalas fluidas com clamp() entre 390 px e 1440 px.
   Fórmula: clamp(mín, intercepto + inclinação·vw, máx)
   ========================================================================== */

/* ---------- Fontes (auto-hospedadas, subconjunto latin) ---------- */
@font-face {
  font-family: "Nunito";
  src: url("../fonts/nunito-latin.woff2") format("woff2");
  font-weight: 200 1000;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/montserrat-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* ---------- Tokens ---------- */
:root {
  /* Cor · marca (estilos CORES do Figma original) */
  --cacau: #4c3429;          /* Cor 1 */
  --cacau-escuro: #35241d;   /* Cor 2 */
  --creme: #faf0e6;          /* Cor 3 */
  --verde: #007c68;          /* Cor 4 */
  --areia: #af947f;          /* Cor 5 */
  --branco: #fafafa;         /* Cor 6 */
  --areia-clara: #e9dfd5;    /* Cor 7 */
  /* Cor · apoio */
  --creme-luz: #fff9f3;
  --areia-luz: #c4ae9c;
  --areia-texto: #93745c;    /* destaque em títulos (só tamanhos grandes) */
  --verde-escuro: #006a59;   /* hover do verde */
  --estrela: #f2b01e;

  /* Cor · papéis */
  --texto: #4c3429;
  --texto-2: rgba(76, 52, 41, 0.84);
  --texto-3: rgba(76, 52, 41, 0.78);
  --linha: rgba(76, 52, 41, 0.12);
  --linha-forte: rgba(76, 52, 41, 0.24);
  --inv: #faf0e6;
  --inv-2: rgba(250, 240, 230, 0.84);
  --inv-3: rgba(250, 240, 230, 0.72);
  --linha-inv: rgba(250, 240, 230, 0.14);
  --linha-inv-forte: rgba(250, 240, 230, 0.3);

  /* Vidro (superfícies translúcidas com desfoque) */
  --vidro: rgba(255, 255, 255, 0.58);
  --vidro-borda: rgba(255, 255, 255, 0.9);
  --vidro-sombra: 0 1px 2px rgba(53, 36, 29, 0.05), 0 18px 40px -30px rgba(53, 36, 29, 0.35);
  --vidro-inv: rgba(250, 240, 230, 0.06);
  --vidro-inv-borda: rgba(250, 240, 230, 0.14);
  --vidro-foto: rgba(255, 249, 243, 0.72);
  --vidro-foto-escuro: rgba(53, 36, 29, 0.46);
  --vidro-blur: blur(16px) saturate(140%);

  /* Degradês exclusivos do hero da referência (Degradê 1, 3 e 5 do Figma original) */
  --degrade-creme: linear-gradient(127deg, #faf0e6 0%, #fff9f3 48%, #faf0e6 100%);
  --degrade-faixa: linear-gradient(90deg, #4c3429 0%, #4c3429 52%, #5b4032 71%, #50362b 100%);
  --degrade-botao: linear-gradient(90deg, #4c3429 0%, #764c39 100%);

  /* Tipografia */
  --font-head: "Nunito", ui-rounded, system-ui, sans-serif;
  --font-body: "Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;

  --fs-micro: 0.75rem;                                             /* 12 */
  --fs-small: clamp(0.8125rem, 0.7893rem + 0.0952vw, 0.875rem);    /* 13 → 14 */
  --fs-body: clamp(0.9375rem, 0.9143rem + 0.0952vw, 1rem);         /* 15 → 16 */
  --fs-body-l: clamp(1rem, 0.9536rem + 0.1905vw, 1.125rem);        /* 16 → 18 */
  --fs-lead: clamp(1rem, 0.9071rem + 0.381vw, 1.25rem);            /* 16 → 20 */
  --fs-h4: clamp(1.125rem, 1.0786rem + 0.1905vw, 1.25rem);         /* 18 → 20 */
  --fs-h3: clamp(1.375rem, 1.2357rem + 0.5714vw, 1.75rem);         /* 22 → 28 */
  --fs-h2: clamp(1.875rem, 1.4571rem + 1.7143vw, 3rem);            /* 30 → 48 */
  --fs-display: clamp(2.5rem, 1.9429rem + 2.2857vw, 3.9375rem);    /* 40 → 63 */
  --fs-statement: clamp(1.375rem, 1.1429rem + 0.9524vw, 2rem);     /* 22 → 32 */
  --fs-num: clamp(2.5rem, 1.9429rem + 2.2857vw, 4rem);             /* 40 → 64 */
  --fs-num-s: clamp(2rem, 1.9071rem + 0.381vw, 2.25rem);           /* 32 → 36 */
  --fs-price: clamp(1.625rem, 1.4393rem + 0.7619vw, 2.125rem);     /* 26 → 34 */
  --fs-quote: clamp(1.25rem, 1.1107rem + 0.5714vw, 1.625rem);      /* 20 → 26 */
  --fs-module: clamp(1.375rem, 1.2821rem + 0.381vw, 1.625rem);     /* 22 → 26 */
  --fs-tile: clamp(0.8125rem, 0.7661rem + 0.1905vw, 0.9375rem);    /* 13 → 15 */
  --fs-ribbon: clamp(0.8125rem, 0.7661rem + 0.1905vw, 0.9375rem);  /* 13 → 15 */
  --fs-button: clamp(0.8125rem, 0.7893rem + 0.0952vw, 0.875rem);   /* 13 → 14 */

  /* Espaço */
  --space-section: clamp(5rem, 3.6071rem + 5.7143vw, 8.75rem);     /* 80 → 140 */
  --gutter: clamp(1.5rem, 0.4554rem + 4.2857vw, 4.375rem);         /* 24 → 70 */
  --gap-xs: clamp(0.375rem, 0.3286rem + 0.1905vw, 0.5rem);         /* 6 → 8 */
  --gap-s: clamp(0.75rem, 0.6571rem + 0.381vw, 1rem);              /* 12 → 16 */
  --gap-m: clamp(1.25rem, 1.0643rem + 0.7619vw, 1.75rem);          /* 20 → 28 */
  --gap-l: clamp(1.75rem, 1.3786rem + 1.5238vw, 2.75rem);          /* 28 → 44 */
  --gap-xl: clamp(3rem, 2.4429rem + 2.2857vw, 4.5rem);             /* 48 → 72 */
  --pad-card: clamp(1.25rem, 0.9714rem + 1.1429vw, 2rem);          /* 20 → 32 */
  --pad-panel: clamp(1.5rem, 0.8036rem + 2.8571vw, 3.375rem);      /* 24 → 54 */

  /* Forma (cantos da marca: controles 7 px, cards 15 px) */
  --r-xs: 6px;
  --r-ctrl: 7px;
  --r-card: 15px;
  --r-panel: clamp(1.125rem, 0.9857rem + 0.5714vw, 1.5rem);        /* 18 → 24 */

  --container: 1140px;
  --btn-h: clamp(3rem, 2.9071rem + 0.381vw, 3.25rem);              /* 48 → 52 */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---------- Base ---------- */
*,
*::before,
*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 112px; }
@supports (interpolate-size: allow-keywords) { :root { interpolate-size: allow-keywords; } }
body {
  margin: 0;
  background: var(--creme);
  color: var(--texto);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
img, svg, picture { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
ul, ol { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4, p, figure, blockquote, dl, dd { margin: 0; }
strong { font-weight: 700; }
:focus-visible { outline: 2px solid var(--verde); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--areia-luz); color: var(--cacau-escuro); }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: fixed; left: 16px; top: -64px; z-index: 100; padding: 12px 18px; border-radius: var(--r-ctrl); background: var(--cacau); color: var(--creme); font-weight: 600; transition: top 0.2s; }
.skip:focus { top: 16px; }

.i { width: 1em; height: 1em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- Tipografia ---------- */
.t-display { font-family: var(--font-head); font-size: var(--fs-display); font-weight: 900; line-height: 1.1; color: var(--texto); text-wrap: balance; }
.t-h2 { font-family: var(--font-head); font-size: var(--fs-h2); font-weight: 400; line-height: 1.15; color: var(--texto); text-wrap: balance; }
.t-h3 { font-family: var(--font-head); font-size: var(--fs-h3); font-weight: 800; line-height: 1.2; color: var(--texto); text-wrap: balance; }
.t-h4 { font-family: var(--font-head); font-size: var(--fs-h4); font-weight: 800; line-height: 1.3; color: var(--texto); }
.t-lead { font-size: var(--fs-lead); line-height: 1.5; text-wrap: pretty; }
.t-body-l { font-size: var(--fs-body-l); line-height: 1.6; text-wrap: pretty; }
.t-body { font-size: var(--fs-body); line-height: 1.65; text-wrap: pretty; }
.t-small { font-size: var(--fs-small); line-height: 1.55; text-wrap: pretty; }
.t-micro { font-size: var(--fs-micro); font-weight: 500; line-height: 1.45; letter-spacing: 0.06em; text-transform: uppercase; }
.t-label { font-size: var(--fs-micro); font-weight: 600; line-height: 1.2; letter-spacing: 0.12em; text-transform: uppercase; }
.t-mono { font-family: var(--font-head); font-size: var(--fs-small); font-weight: 900; line-height: 1.4; font-variant-numeric: tabular-nums; }
.t-button { font-size: var(--fs-button); font-weight: 700; line-height: 1; letter-spacing: 0.04em; text-transform: uppercase; }
.t-button-s { font-size: 0.8125rem; font-weight: 700; line-height: 1; letter-spacing: 0.04em; text-transform: uppercase; }
.t-nav { font-size: 1rem; font-weight: 400; line-height: 1.5; }
.t-num { font-family: var(--font-head); font-size: var(--fs-num); font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums; }
.t-num-s { font-family: var(--font-head); font-size: var(--fs-num-s); font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums; }
.t-price { font-family: var(--font-head); font-size: var(--fs-price); font-weight: 900; line-height: 1.05; font-variant-numeric: tabular-nums; }
.t-statement { font-family: var(--font-head); font-size: var(--fs-statement); font-weight: 400; line-height: 1.35; text-wrap: balance; }
.t-quote { font-family: var(--font-head); font-size: var(--fs-quote); font-weight: 400; line-height: 1.4; color: var(--texto); text-wrap: pretty; }
.t-module { font-family: var(--font-head); font-size: var(--fs-module); font-weight: 900; line-height: 1.1; }
.t-tile { font-size: var(--fs-tile); font-weight: 600; line-height: 1; letter-spacing: 0.24em; text-transform: uppercase; }
.t-ribbon { font-size: var(--fs-ribbon); font-weight: 600; line-height: 1; letter-spacing: 0.08em; text-transform: uppercase; }

.hl { font-weight: 800; }
.t-display .hl { font-weight: 900; }
.hl--sand { color: var(--areia-texto); }
.section--ink .hl--sand,
.premium .hl--sand,
.clinic__card .hl--sand { color: var(--areia-luz); }
.text-inv-2 { color: var(--inv-2); }
.text-inv-3 { color: var(--inv-3); }

/* ---------- Layout ---------- */
.container { width: min(100% - 2 * var(--gutter), var(--container)); margin-inline: auto; }
.section { position: relative; padding-block: var(--space-section); overflow: clip; isolation: isolate; }
.section--cream { background: var(--creme); }
.section--sand { background: var(--areia-clara); }
.section--ink { background: var(--cacau); color: var(--inv-2); }
.section--ink .t-h2,
.section--ink .t-h3,
.section--ink .t-h4,
.section--ink strong { color: var(--inv); }

.stack { display: flex; flex-direction: column; }
.stack--xs { gap: var(--gap-xs); }
.stack--s { gap: var(--gap-s); }
.stack--m { gap: var(--gap-m); }
.stack--l { gap: var(--gap-l); }
.stack--xl { gap: var(--gap-xl); }

/* marca d'água: o monograma "th" do hero, em linha fina atrás do vidro */
.watermark { position: absolute; z-index: -1; height: auto; aspect-ratio: 84.75 / 63.57; color: rgba(175, 148, 127, 0.16); pointer-events: none; }
.watermark--audience { width: min(54rem, 120vw); right: -8%; top: 4%; }
.watermark--faq { width: min(50rem, 120vw); left: -12%; top: 10%; color: rgba(175, 148, 127, 0.22); }
.watermark--error { width: min(48rem, 110vw); right: -6%; top: 10%; }

/* ---------- Vidro ---------- */
.callout, .audience__item, .segmented, .plan, .pay-row, .form-diet, .about__copy .specs,
.rating, .review, .qa, .icon-btn, .legal__body {
  background: var(--vidro);
  border: 1px solid var(--vidro-borda);
  -webkit-backdrop-filter: var(--vidro-blur);
  backdrop-filter: var(--vidro-blur);
  box-shadow: var(--vidro-sombra);
}
.step, .premium__list, .figure, .spec, .specs--inv {
  background: var(--vidro-inv);
  border: 1px solid var(--vidro-inv-borda);
  -webkit-backdrop-filter: var(--vidro-blur);
  backdrop-filter: var(--vidro-blur);
}
/* vidro sobre foto */
.shot__tag, .story__cap, .about__tag, .map__coord, .cta__card {
  background: var(--vidro-foto);
  border: 1px solid rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.shot__tag, .story__cap, .about__tag, .map__coord { display: inline-flex; align-items: center; gap: 8px; height: 30px; padding: 0 12px; border-radius: var(--r-xs); color: var(--cacau); }

/* ---------- Componentes base ---------- */
.eyebrow { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; height: 30px; padding: 0 12px; border: 1px solid var(--linha-forte); border-radius: var(--r-xs); color: var(--texto); }
.eyebrow--inv { color: var(--inv); border-color: var(--linha-inv-forte); }
.section-head--center .eyebrow { align-self: center; }

.dot { display: inline-block; width: 7px; height: 7px; flex: none; border-radius: 50%; background: var(--areia); }
.dot--live { background: var(--verde); }

.btn {
  --btn-bg: var(--cacau);
  --btn-bg-hover: var(--cacau-escuro);
  --btn-fg: var(--creme);
  --btn-border: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: var(--btn-h);
  padding: 0 24px;
  border: 1px solid var(--btn-border);
  border-radius: var(--r-ctrl);
  background: var(--btn-bg);
  color: var(--btn-fg);
  white-space: nowrap;
  transition: background-color 0.3s var(--ease), border-color 0.3s var(--ease), color 0.3s var(--ease);
}
.btn__icon { font-size: 16px; stroke-width: 2.2; transition: transform 0.35s var(--ease); }
.btn:hover { background: var(--btn-bg-hover); }
.btn:hover .btn__icon { transform: translate(2px, -2px); }
.btn--primary { --btn-bg: var(--cacau); --btn-bg-hover: var(--cacau-escuro); --btn-fg: var(--creme); }
.btn--teal { --btn-bg: var(--verde); --btn-bg-hover: var(--verde-escuro); --btn-fg: #ffffff; }
.btn--light { --btn-bg: var(--creme); --btn-bg-hover: #ffffff; --btn-fg: var(--cacau); }
.btn--outline { --btn-bg: transparent; --btn-bg-hover: var(--cacau); --btn-fg: var(--cacau); --btn-border: var(--linha-forte); }
.btn--outline:hover { color: var(--creme); border-color: var(--cacau); }
.btn--ghost-inv { --btn-bg: transparent; --btn-bg-hover: rgba(250, 240, 230, 0.1); --btn-fg: var(--creme); --btn-border: var(--linha-inv-forte); }
.btn--s { height: 40px; padding: 0 16px; gap: 10px; }
.btn--s .btn__icon { font-size: 14px; }
.btn--block { width: 100%; justify-content: space-between; }

.link { display: inline-flex; align-items: center; gap: 8px; color: var(--cacau); font-weight: 700; border-bottom: 1px solid var(--linha-forte); padding-bottom: 2px; transition: gap 0.3s var(--ease), border-color 0.3s; }
.link .i { stroke-width: 2.2; }
.link:hover { gap: 12px; border-color: currentColor; }
.link--inv { color: var(--inv); border-color: var(--linha-inv-forte); font-weight: 500; }

.badge { display: inline-flex; align-items: center; gap: 8px; height: 28px; padding: 0 12px; border-radius: var(--r-xs); }
.badge .i { font-size: 12px; }
.badge--cream { background: var(--creme); color: var(--cacau); }
.badge--line { border: 1px solid var(--linha-forte); color: var(--texto); }

.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--r-ctrl); color: var(--cacau); font-size: 20px; transition: background-color 0.3s, color 0.3s; }
.icon-btn:hover { background: var(--cacau); color: var(--creme); }

.checks { display: flex; flex-direction: column; gap: 12px; }
.check { display: flex; align-items: flex-start; gap: 12px; color: var(--texto); }
.check > span { flex: 1; min-width: 0; }
.check .i { width: 20px; height: 20px; padding: 4px; border-radius: 5px; background: var(--cacau); color: var(--creme); stroke-width: 2.8; margin-top: 1px; }
.check--off { color: var(--texto-3); }
.check--off span { text-decoration: line-through; text-decoration-color: rgba(76, 52, 41, 0.4); }
.check--off .i { background: rgba(76, 52, 41, 0.1); color: var(--texto-3); }
.checks--inv .check { color: var(--inv-2); }
.checks--inv .check .i { background: var(--creme); color: var(--cacau); }
.checks--inv .check--off { color: var(--inv-3); }
.checks--inv .check--off span { text-decoration-color: rgba(250, 240, 230, 0.4); }
.checks--inv .check--off .i { background: rgba(250, 240, 230, 0.14); color: var(--inv-3); }

.shot { position: relative; overflow: hidden; border-radius: var(--r-card); background: var(--areia-clara); }
.shot img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.shot:hover img { transform: scale(1.03); }
.shot__tag { position: absolute; left: 12px; bottom: 12px; }

.section-head { display: flex; flex-direction: column; gap: var(--gap-m); }
.section-head--center { align-items: center; text-align: center; }

/* ---------- Cabeçalho (igual à referência; vira vidro ao rolar) ---------- */
.header { position: fixed; inset: 0 0 auto; z-index: 50; pointer-events: none; }
.header__bar {
  pointer-events: auto;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  width: min(100% - 2 * var(--gutter), var(--container));
  height: 80px;
  margin: 50px auto 0;
  padding: 0 50px;
  border-radius: 15px;
  background: var(--cacau);
  box-shadow: 0 4px 12px rgba(53, 36, 29, 0.1);
  color: var(--creme);
  transition: margin 0.45s var(--ease), background-color 0.45s var(--ease), box-shadow 0.45s, padding 0.45s var(--ease);
}
.header.is-scrolled .header__bar { margin-top: 16px; background: rgba(76, 52, 41, 0.86); -webkit-backdrop-filter: var(--vidro-blur); backdrop-filter: var(--vidro-blur); box-shadow: 0 16px 40px -24px rgba(53, 36, 29, 0.6), inset 0 0 0 1px rgba(250, 240, 230, 0.1); }
.header__logo { display: block; flex: none; }
.logo { width: auto; height: 64px; aspect-ratio: 226 / 64; color: currentColor; --logo-mark: var(--areia); }
.nav__list { display: flex; align-items: center; gap: 28px; }
.nav__link { position: relative; color: var(--creme); white-space: nowrap; transition: color 0.3s; }
.nav__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 1px; background: var(--areia-luz); transform: scaleX(0); transform-origin: left; transition: transform 0.4s var(--ease); }
.nav__link:hover::after,
.nav__link.is-active::after { transform: scaleX(1); }
.nav__link.is-active { color: #ffffff; }
.menu-btn { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; border-radius: var(--r-ctrl); border: 1px solid rgba(76, 52, 41, 0.22); color: var(--cacau); font-size: 24px; }
.menu { pointer-events: auto; width: min(100% - 2 * var(--gutter), var(--container)); margin: 10px auto 0; padding: 8px 20px 20px; border-radius: 15px; background: rgba(76, 52, 41, 0.92); border: 1px solid var(--linha-inv); -webkit-backdrop-filter: var(--vidro-blur); backdrop-filter: var(--vidro-blur); box-shadow: 0 30px 60px -30px rgba(20, 12, 8, 0.6); }
.menu__list { display: flex; flex-direction: column; margin-bottom: 16px; }
.menu__link { display: flex; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--linha-inv); font-family: var(--font-head); font-size: 1.25rem; font-weight: 800; color: var(--creme); }

/* ---------- Hero (cópia exata da referência visual) ---------- */
.hero { --hero-h: clamp(50rem, min(100svh, 57vw), 67.5rem); position: relative; background: var(--creme); }
.hero__stage { position: relative; height: var(--hero-h); background: var(--degrade-creme); overflow: hidden; isolation: isolate; }
.hero__media { position: absolute; inset: 0; z-index: -1; }
.hero__img { position: absolute; right: -0.3125vw; bottom: 4.352%; height: min(97.5%, 54.84vw); width: auto; max-width: none; }
.hero__fade { display: none; position: absolute; left: 0; right: 0; bottom: 0; height: 23%; background: linear-gradient(180deg, rgba(250, 240, 230, 0) 0%, rgba(250, 240, 230, 0.88) 42%, #faf0e6 100%); }
.hero__inner { display: flex; flex-direction: column; justify-content: flex-start; gap: 20px; width: min(100% - 2 * var(--gutter), var(--container)); height: 100%; margin-inline: auto; padding-top: max(160px, calc((var(--hero-h) - 554px) / 2)); }
.hero__content { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.profile-chip { display: flex; align-items: center; gap: 5px; }
.profile-chip__avatar { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--cacau); object-fit: cover; }
.profile-chip__name { font-size: 14px; font-weight: 700; line-height: 1.5; }
.profile-chip__handle { display: flex; align-items: center; gap: 5px; font-size: 12px; line-height: 1.4; }
.profile-chip__handle img { width: 11px; height: 10px; }
.hero__title { font-family: var(--font-head); font-weight: 900; font-size: clamp(3.25rem, 4.375vw, 3.9375rem); line-height: 1.1; color: var(--cacau); }
.hero__l1 { background: linear-gradient(90deg, #4c3429 0%, #764c39 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero__accent { color: var(--areia); }
.hero__lead { font-size: 20px; line-height: 1.5; color: var(--cacau); }
.hero__btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 338px; height: 35px; border-radius: var(--r-ctrl); background: var(--degrade-botao); color: var(--creme); transition: transform 0.3s var(--ease), box-shadow 0.3s; }
.hero__btn:hover { transform: translateY(-1px); box-shadow: 0 14px 30px -16px rgba(76, 52, 41, 0.6); }
.hero__btn-label { font-size: 16px; font-weight: 700; line-height: 1; text-transform: uppercase; }
.hero__btn .i { font-size: 13px; stroke-width: 2.4; }
.hero__social { display: flex; flex-direction: column; gap: 17px; }
.avatars { display: flex; }
.avatars img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.avatars img + img { margin-left: -8.82px; }
.hero__proof { display: flex; flex-direction: column; }
.hero__proof-main { font-size: 16px; line-height: 19px; }
.hero__proof-main strong { text-transform: uppercase; }
.hero__proof-sub { display: flex; align-items: center; gap: 12px; font-size: 14px; line-height: 21px; }
.hero__lead--m, .hero__btn-label--m, .v-m, .br-t, .br-m { display: none; }

.marquee { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; height: 70px; display: flex; align-items: center; padding-left: 48px; overflow: hidden; background: var(--degrade-faixa); border-top: 1px solid var(--areia); border-bottom: 1px solid var(--areia); }
.marquee__track { display: flex; flex: none; width: max-content; }
.marquee__list { display: flex; flex: none; align-items: center; }
.marquee__item { display: flex; align-items: center; gap: 12px; padding-right: 24px; white-space: nowrap; }
.marquee__icon { display: inline-flex; align-items: center; justify-content: center; width: 35px; height: 35px; flex: none; border-radius: var(--r-ctrl); background: rgba(250, 240, 230, 0.05); border: 1px solid rgba(250, 240, 230, 0.16); color: var(--creme); font-size: 19px; }
.marquee__label { font-size: 18px; font-weight: 500; line-height: 24px; color: var(--creme); }
.marquee__div { width: 1px; height: 16px; margin-left: 12px; background: var(--areia); }
.marquee__fade { position: absolute; top: 0; bottom: 0; width: 96px; z-index: 1; pointer-events: none; }
.marquee__fade--l { left: 0; background: linear-gradient(90deg, #4c3429, rgba(76, 52, 41, 0)); }
.marquee__fade--r { right: 0; background: linear-gradient(270deg, #4c3429, rgba(76, 52, 41, 0)); }

/* ---------- Faixas diagonais (entre Dúvidas e Clínica) ---------- */
.ribbons { position: relative; z-index: 3; height: clamp(7rem, 5.9786rem + 4.1905vw, 9.75rem); margin-block: calc(clamp(7rem, 5.9786rem + 4.1905vw, 9.75rem) / -2); overflow: hidden; pointer-events: none; }
.ribbon { position: absolute; left: -5%; width: 110%; top: 50%; height: clamp(2.75rem, 2.5643rem + 0.7619vw, 3.25rem); display: flex; align-items: center; overflow: hidden; }
.ribbon--back { background: var(--areia); color: var(--cacau); transform: translateY(-50%) rotate(-2.6deg); }
.ribbon--front { background: var(--cacau); color: var(--creme); transform: translateY(-50%) rotate(1.8deg); }
.ribbon__track { display: flex; flex: none; width: max-content; }
.ribbon__list { display: flex; flex: none; align-items: center; gap: clamp(2rem, 1.6286rem + 1.5238vw, 3rem); padding-right: clamp(2rem, 1.6286rem + 1.5238vw, 3rem); }
.ribbon__item { display: inline-flex; align-items: center; gap: 12px; white-space: nowrap; }
.ribbon__item .i { font-size: 18px; color: var(--areia-luz); }
.ribbon--back .ribbon__item .i { color: var(--cacau); }

/* ---------- 01 · Rotina ---------- */
.routine__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2.5rem, 1rem + 5vw, 5rem); align-items: center; }
.routine__media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 1fr 0.72fr; gap: var(--gap-s); height: clamp(28rem, 22rem + 14vw, 36rem); }
.routine__media .shot--tall { grid-row: span 2; }
.routine__text { color: var(--texto-2); }
.routine__text strong { color: var(--texto); }
.callout { display: flex; gap: 18px; padding: var(--pad-card); border-radius: var(--r-card); }
.callout__icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; border-radius: var(--r-ctrl); background: var(--cacau); color: var(--creme); font-size: 20px; }
.callout .t-small { color: var(--texto-2); }
.callout .link { align-self: flex-start; margin-top: 6px; }

/* ---------- 02 · Método ---------- */
.method__intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-xl); align-items: center; }
.method__copy { max-width: 32rem; }
.method__visual { position: relative; aspect-ratio: 4 / 5; border-radius: var(--r-panel); overflow: hidden; background: var(--cacau-escuro); }
.method__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; }
.method__chips { position: absolute; left: clamp(0.75rem, 0.3857rem + 1.5238vw, 1.75rem); bottom: clamp(0.75rem, 0.3857rem + 1.5238vw, 1.75rem); display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.feature { display: flex; align-items: center; gap: 12px; padding: 8px 16px 8px 8px; border-radius: 12px; background: var(--vidro-foto-escuro); border: 1px solid rgba(250, 240, 230, 0.2); -webkit-backdrop-filter: var(--vidro-blur); backdrop-filter: var(--vidro-blur); color: var(--inv); }
.feature .t-small { font-weight: 600; }
.feature__icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: none; border-radius: var(--r-ctrl); background: var(--creme); color: var(--cacau); font-size: 16px; }

.journey { position: relative; }
.journey__line { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); height: 44px; }
.journey__line::before { content: ""; position: absolute; left: 16.66%; right: 16.66%; top: 50%; height: 1px; background: var(--linha-inv-forte); }
.journey__progress { position: absolute; left: 16.66%; width: 33.33%; top: calc(50% - 1px); height: 2px; background: var(--areia); }
.journey__node { position: relative; z-index: 1; justify-self: center; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--r-ctrl); border: 1px solid var(--linha-inv-forte); background: var(--cacau); color: var(--inv-3); font-family: var(--font-head); font-weight: 900; font-size: 0.9375rem; }
.journey__node.is-on { border-color: var(--creme); background: var(--creme); color: var(--cacau); }
.journey__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-s); }
.step { display: flex; flex-direction: column; border-radius: var(--r-card); overflow: hidden; }
.step__media { aspect-ratio: 16 / 10; overflow: hidden; }
.step__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.step:hover .step__media img { transform: scale(1.03); }
.step__body { padding: clamp(1.25rem, 1.0643rem + 0.7619vw, 1.75rem); }
.step__kicker { display: inline-flex; align-self: flex-start; padding: 5px 10px; border-radius: var(--r-xs); border: 1px solid var(--linha-inv-forte); color: var(--inv); font-weight: 600; }
.statement { max-width: 46rem; margin-inline: auto; text-align: center; color: var(--inv); }

/* ---------- 04 · Para quem é ---------- */
.audience__inner { display: grid; grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.5fr); gap: var(--gap-xl); align-items: start; }
.audience__head { position: sticky; top: 140px; }
.audience__head .t-body { color: var(--texto-2); }
.audience__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.audience__item { display: grid; grid-template-columns: 28px minmax(0, 1fr) 22px; gap: 12px; align-items: start; padding: 18px; border-radius: var(--r-card); color: var(--texto); transition: border-color 0.3s, transform 0.4s var(--ease); }
.audience__item:hover { transform: translateY(-2px); }
.audience__n { color: var(--texto-3); padding-top: 1px; }
.audience__check { width: 22px; height: 22px; padding: 4px; border-radius: 5px; background: var(--cacau); color: var(--creme); stroke-width: 2.8; }

/* ---------- Mosaico ---------- */
.pillars { position: relative; padding-bottom: var(--gap-xl); overflow: clip; background: var(--creme); }
.pillars__head { padding-bottom: var(--gap-l); text-align: center; }
.pillars__head .t-h3 { max-width: 40ch; margin-inline: auto; font-weight: 400; }
.pillars__head .t-h3 .hl { font-weight: 800; }
.pillars__rows { position: relative; display: flex; flex-direction: column; gap: 12px; }
.pillars__rows::before,
.pillars__rows::after { content: ""; position: absolute; top: 0; bottom: 0; width: clamp(3rem, 1rem + 9vw, 12rem); z-index: 2; pointer-events: none; }
.pillars__rows::before { left: 0; background: linear-gradient(90deg, var(--creme), rgba(250, 240, 230, 0)); }
.pillars__rows::after { right: 0; background: linear-gradient(270deg, var(--creme), rgba(250, 240, 230, 0)); }
.pillars__row { display: flex; width: max-content; }
.pillars__row--offset { margin-left: calc(clamp(13rem, 10rem + 9vw, 19rem) / -2); }
.pillars__list { display: flex; gap: 12px; padding-right: 12px; }
.tile { position: relative; width: clamp(13rem, 10rem + 9vw, 19rem); aspect-ratio: 19 / 12; border-radius: var(--r-card); overflow: hidden; background: var(--areia-clara); }
.tile img { width: 100%; height: 100%; object-fit: cover; }
.tile__word { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(53, 36, 29, 0.34); color: #ffffff; }

/* ---------- 05 · Planos ---------- */
.plans__head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--gap-l); flex-wrap: wrap; }
.plans__head > :first-child { flex: 1 1 30rem; }
.plans__controls { flex: none; align-items: flex-end; }
.plans__note { color: var(--texto-3); }
.segmented { display: inline-flex; gap: 4px; padding: 4px; border-radius: 10px; }
.segmented__opt { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 18px; border-radius: var(--r-ctrl); color: var(--texto); transition: background-color 0.3s var(--ease), color 0.3s; }
.segmented__opt .i { font-size: 16px; }
.segmented__opt.is-active { background: var(--cacau); color: var(--creme); }

.premium { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--gap-l); padding: var(--pad-panel); border-radius: var(--r-panel); background: var(--cacau); color: var(--inv-2); overflow: hidden; isolation: isolate; }
.premium .t-h2 { color: var(--inv); }
.premium__top { display: flex; align-items: center; justify-content: space-between; }
.premium__code { color: var(--inv-3); }
.premium__figures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.figure { display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: var(--r-card); }
.figure__value { display: flex; align-items: baseline; gap: 10px; color: var(--inv); }
.figure__unit { color: var(--areia-luz); font-size: var(--fs-h4); }
.figure__label { color: var(--inv-3); }
.price { display: flex; flex-direction: column; gap: 4px; }
.price__main { display: flex; align-items: baseline; gap: 8px; color: var(--texto); }
.price__times { color: var(--texto-3); font-weight: 600; }
.price__alt { color: var(--texto-3); }
.price__alt strong { color: var(--texto); }
.price--inv .price__main { color: var(--inv); }
.price--inv .price__times,
.price--inv .price__alt { color: var(--inv-3); }
.price--inv strong,
.price--inv .price__alt strong { color: var(--inv); }
.premium__list { display: flex; flex-direction: column; gap: 20px; padding: var(--pad-card); border-radius: var(--r-card); }
.premium__list-title { color: var(--inv-3); }

.plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-s); align-items: stretch; }
.plan { position: relative; display: flex; flex-direction: column; gap: 22px; padding: var(--pad-card); border-radius: var(--r-card); }
.plan .checks { flex: 1; }
.plan__head { display: flex; flex-direction: column; gap: 8px; }
.plan__code { color: var(--texto-3); }
.plan__desc { color: var(--texto-2); }
.plan__duration { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-block: 1px solid var(--linha); color: var(--texto); }
.plan__duration .t-micro { color: var(--texto-3); }
.plan--featured { border: 1.5px solid var(--verde); }
.plan__flag { position: absolute; top: -14px; left: var(--pad-card); display: inline-flex; align-items: center; gap: 8px; height: 28px; padding: 0 12px; border-radius: var(--r-xs); background: var(--verde); color: #ffffff; }
.plan__flag .dot--live { background: #ffffff; }

.pay-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 32px; padding: 18px 24px; border-radius: var(--r-card); }
.pay-row__title { color: var(--texto-3); }
.pay-row__list { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.pay { display: inline-flex; align-items: center; gap: 10px; color: var(--texto); font-weight: 500; }
.pay .i { font-size: 18px; color: var(--cacau); }

.included__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.carousel-nav { display: flex; gap: 8px; }
.carousel { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(15rem, 13.3286rem + 6.8571vw, 19.5rem); gap: var(--gap-s); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.carousel::-webkit-scrollbar { display: none; }
.module { position: relative; aspect-ratio: 3 / 4.2; border-radius: var(--r-card); overflow: hidden; background: var(--cacau); scroll-snap-align: start; color: var(--inv); isolation: isolate; }
.module__img { position: absolute; left: 50%; bottom: 0; height: 88%; width: auto; max-width: none; transform: translateX(-50%); }
.module__img--left { transform: translateX(-56%); }
.module__n { position: absolute; left: 12px; top: 12px; display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: var(--r-xs); color: var(--creme); border: 1px solid rgba(250, 240, 230, 0.28); }
.module__body { position: absolute; left: 10px; right: 10px; bottom: 10px; display: flex; flex-direction: column; gap: 6px; padding: 16px; border-radius: 12px; background: var(--vidro-foto-escuro); border: 1px solid rgba(250, 240, 230, 0.2); -webkit-backdrop-filter: var(--vidro-blur); backdrop-filter: var(--vidro-blur); }
.module__sub { color: var(--inv-2); }
.module--icon { background: var(--cacau-escuro); }
.module__icon { position: absolute; left: 50%; top: 38%; display: inline-flex; align-items: center; justify-content: center; width: 96px; height: 96px; transform: translate(-50%, -50%); border-radius: 50%; border: 1px solid rgba(250, 240, 230, 0.24); color: var(--areia-luz); font-size: 40px; }
.module__icon .i { stroke-width: 1.4; }

.form-diet { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr); overflow: hidden; border-radius: var(--r-card); }
.form-diet__visual { position: relative; min-height: 22rem; overflow: hidden; background: var(--cacau); }
.form-diet__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; }
.form-diet__content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-l); align-content: center; padding: var(--pad-panel); }
.form-diet__intro { grid-column: 1 / -1; align-items: flex-start; }
.form-diet__intro .t-small { color: var(--texto-2); max-width: 36rem; }
.form-diet__checks { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.form-diet__buy { align-items: flex-start; justify-content: center; padding-left: var(--gap-l); border-left: 1px solid var(--linha); }

/* ---------- 06 · Acompanhamento / app ---------- */
.app { overflow: visible; overflow-x: clip; }
.notch { position: absolute; left: 50%; top: 1px; width: 240px; height: 48px; transform: translate(-50%, -100%); z-index: 2; }
.notch__shape { width: 100%; height: 100%; fill: #4c3429; }
.notch__btn { position: absolute; left: 50%; top: 24px; display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; transform: translate(-50%, -50%); border-radius: 50%; background: var(--areia); color: var(--cacau); font-size: 20px; }
.app__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-xl); align-items: center; }
.spec-list { display: flex; flex-direction: column; gap: 12px; }
.spec { display: flex; align-items: flex-start; gap: 16px; padding: 16px 18px; border-radius: var(--r-card); }
.spec__icon { display: inline-flex; align-items: center; justify-content: center; width: 35px; height: 35px; flex: none; border-radius: var(--r-ctrl); background: var(--creme); color: var(--cacau); font-size: 18px; }
.spec__title { color: var(--inv); font-weight: 600; }

.app__visual { position: relative; display: flex; justify-content: center; padding-block: 24px; }
.app__rings { position: absolute; left: 50%; top: 50%; width: min(38rem, 120%); aspect-ratio: 1; transform: translate(-50%, -50%); fill: none; stroke: rgba(250, 240, 230, 0.12); stroke-width: 1; }
.phone { position: relative; z-index: 1; width: clamp(17rem, 15.7929rem + 4.9524vw, 20.25rem); aspect-ratio: 312 / 640; padding: 10px; border-radius: 48px; background: var(--cacau-escuro); box-shadow: 0 0 0 1px rgba(250, 240, 230, 0.16), 0 50px 100px -40px rgba(0, 0, 0, 0.6); }
.phone__screen { display: flex; flex-direction: column; height: 100%; border-radius: 38px; overflow: hidden; background: var(--creme); color: var(--texto); }
.phone__status { display: flex; align-items: center; justify-content: space-between; height: 44px; padding: 0 24px; background: var(--verde); color: #ffffff; }
.phone__status .t-micro { letter-spacing: 0; font-weight: 600; }
.phone__island { width: 84px; height: 24px; border-radius: 14px; background: var(--cacau-escuro); }
.phone__sig { display: flex; align-items: flex-end; gap: 2px; height: 10px; }
.phone__sig i { width: 3px; border-radius: 1px; background: #ffffff; }
.phone__sig i:nth-child(1) { height: 4px; }
.phone__sig i:nth-child(2) { height: 7px; }
.phone__sig i:nth-child(3) { height: 10px; }
.phone__head { display: flex; flex-direction: column; gap: 8px; padding: 14px 22px 22px; background: var(--verde); color: #ffffff; }
.phone__kicker { color: rgba(255, 255, 255, 0.8); }
.phone__title { font-family: var(--font-head); font-size: 1.375rem; font-weight: 900; line-height: 1.1; }
.phone__progress { height: 6px; border-radius: 3px; background: rgba(255, 255, 255, 0.24); overflow: hidden; }
.phone__progress-bar { display: block; width: 60%; height: 100%; border-radius: 3px; background: var(--creme); }
.phone__meta { color: rgba(255, 255, 255, 0.84); }
.meals { display: flex; flex-direction: column; gap: 8px; padding: 16px 14px; }
.meal { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--linha); border-radius: 12px; background: #ffffff; }
.meal__time { font-size: 0.75rem; font-weight: 600; color: var(--texto-3); }
.meal__name { flex: 1; font-size: 0.875rem; font-weight: 600; color: var(--texto); }
.meal__state { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 6px; border: 1px solid var(--linha-forte); font-size: 12px; }
.meal.is-done .meal__state { border-color: var(--verde); background: var(--verde); color: #ffffff; stroke-width: 2.6; }
.meal.is-done .meal__name { color: var(--texto-3); }

.chat { position: absolute; z-index: 2; left: -2%; bottom: 10%; display: flex; flex-direction: column; gap: 10px; width: 16rem; padding: 16px; border-radius: var(--r-card); color: var(--inv); background: rgba(53, 36, 29, 0.8); border: 1px solid rgba(250, 240, 230, 0.16); -webkit-backdrop-filter: var(--vidro-blur); backdrop-filter: var(--vidro-blur); box-shadow: 0 30px 60px -30px rgba(20, 12, 8, 0.7); }
.chat__head { display: flex; align-items: center; gap: 10px; }
.chat__avatar { display: inline-flex; align-items: center; justify-content: center; width: 35px; height: 35px; border-radius: var(--r-ctrl); background: var(--creme); color: var(--cacau); font-size: 18px; }
.chat__name { color: var(--inv); font-weight: 700; line-height: 1.2; }
.chat__role { display: inline-flex; align-items: center; gap: 6px; color: var(--inv-3); }
.chat__msg { padding: 10px 12px; border-radius: 12px 12px 12px 4px; background: rgba(250, 240, 230, 0.1); color: var(--inv-2); line-height: 1.45; }
.chat__msg--me { align-self: flex-end; border-radius: 12px 12px 4px 12px; background: var(--verde); color: #ffffff; }

/* ---------- 07 · Sobre ---------- */
.about { padding-bottom: var(--gap-xl); }
.about__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-xl); align-items: center; }
.about__visual { position: relative; padding: 0 12% 10% 0; }
.about__main { position: relative; aspect-ratio: 4 / 5; border-radius: var(--r-panel); overflow: hidden; background: var(--areia-clara); }
.about__main img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.about__chip { position: absolute; overflow: hidden; border-radius: var(--r-card); background: var(--areia-clara); box-shadow: 0 0 0 6px var(--creme); }
.about__chip img { width: 100%; height: 100%; object-fit: cover; }
.about__chip--a { right: 0; bottom: 0; width: 40%; aspect-ratio: 3 / 4; }
.about__chip--a img { object-position: 50% 30%; }
.seal { width: 100%; height: auto; aspect-ratio: 1; }
.about__seal { position: absolute; right: 2%; top: -4%; width: clamp(6rem, 5rem + 3.5vw, 8.5rem); z-index: 2; filter: drop-shadow(0 14px 24px rgba(53, 36, 29, 0.28)); }
.about__tag { position: absolute; left: 16px; bottom: calc(10% + 16px); z-index: 2; }
.about__copy .t-body { color: var(--texto-2); }
.about__copy strong { color: var(--texto); }
.specs { display: flex; flex-direction: column; padding: 4px 20px; border-radius: var(--r-card); }
.specs__row { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 16px; padding: 13px 0; border-top: 1px solid var(--linha); }
.specs__row:first-child { border-top: 0; }
.specs__row dt { color: var(--texto-3); padding-top: 2px; }
.specs__row dd { color: var(--texto); font-weight: 500; }
.specs--inv .specs__row { border-color: var(--linha-inv); }
.specs--inv .specs__row dt { color: var(--inv-3); }
.specs--inv .specs__row dd { color: var(--inv); }
.quote { display: flex; flex-direction: column; gap: 16px; padding-left: 24px; border-left: 2px solid var(--areia); }
.quote__sign { width: 56px; height: auto; aspect-ratio: 84.75 / 63.57; color: var(--areia); }

.partners { padding-top: var(--gap-xl); }
.partners__head { padding-bottom: 20px; color: var(--texto-3); text-align: center; }
.partners__strip { position: relative; overflow: hidden; border-block: 1px solid var(--linha); }
.partners__strip::before,
.partners__strip::after { content: ""; position: absolute; top: 0; bottom: 0; width: 10%; z-index: 2; pointer-events: none; }
.partners__strip::before { left: 0; background: linear-gradient(90deg, var(--creme), rgba(250, 240, 230, 0)); }
.partners__strip::after { right: 0; background: linear-gradient(270deg, var(--creme), rgba(250, 240, 230, 0)); }
.partners__track { display: flex; width: max-content; }
.partners__list { display: flex; align-items: center; gap: clamp(2rem, 1.2rem + 3.2vw, 4rem); padding: 22px clamp(2rem, 1.2rem + 3.2vw, 4rem) 22px 0; }
.profile { display: inline-flex; align-items: center; gap: 14px; white-space: nowrap; }
.profile__avatar { display: inline-flex; align-items: center; justify-content: center; width: 84px; height: 44px; flex: none; }
.profile__avatar img { width: 100%; height: 100%; object-fit: contain; }
.profile__text { display: flex; flex-direction: column; gap: 2px; }
.profile__name { color: var(--texto); font-weight: 700; line-height: 1.2; }
.profile__role { color: var(--texto-3); }

/* ---------- 08 · Resultados ---------- */
.results__inner { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.5fr); grid-template-areas: "head metrics" "note metrics"; column-gap: var(--gap-xl); row-gap: var(--gap-l); align-items: center; }
.results__head { grid-area: head; align-self: end; }
.metrics { grid-area: metrics; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--linha-inv); border-left: 1px solid var(--linha-inv); }
.metric { display: flex; flex-direction: column; gap: 12px; padding: clamp(1.25rem, 0.8786rem + 1.5238vw, 2.25rem); border-right: 1px solid var(--linha-inv); border-bottom: 1px solid var(--linha-inv); }
.metric__value { margin-top: auto; color: var(--inv); }
.metric__label { color: var(--inv-3); }
.results__note { grid-area: note; align-self: start; max-width: 22rem; display: flex; flex-direction: column; gap: 18px; }
.results__rule { display: block; width: 56px; height: 2px; background: var(--areia); }

/* ---------- 09 · Depoimentos ---------- */
.reviews__top { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr); gap: var(--gap-l); align-items: end; }
.rating { display: inline-flex; align-items: center; gap: 16px; padding: 16px 20px; border-radius: var(--r-card); align-self: flex-start; }
.rating__g { width: 36px; height: 36px; }
.rating__score { display: flex; align-items: center; gap: 12px; }
.rating__stars { display: inline-flex; gap: 2px; color: var(--estrela); font-size: 16px; }
.rating__count { color: var(--texto-3); }
.review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-s); }
.review { display: flex; flex-direction: column; gap: 16px; padding: var(--pad-card); border-radius: var(--r-card); }
.review__head { display: flex; align-items: center; gap: 12px; }
.review__head > div { flex: 1; }
.review__avatar { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; border-radius: 10px; background: var(--cacau); color: var(--creme); font-weight: 700; }
.review__avatar--b { background: var(--verde); }
.review__name { color: var(--texto); font-weight: 700; line-height: 1.25; }
.review__date { color: var(--texto-3); }
.review__g { width: 22px; height: 22px; }
.review__stars { display: flex; gap: 2px; color: var(--estrela); font-size: 16px; }
.review__text { color: var(--texto); }

.stories__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.stories__sub { color: var(--texto-3); }
.stories__list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--gap-s); }
.story { position: relative; aspect-ratio: 3 / 4; border-radius: var(--r-card); overflow: hidden; background: var(--areia-clara); }
.story img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.story:hover img { transform: scale(1.03); }
.story__cap { position: absolute; left: 10px; bottom: 10px; }

/* ---------- 10 · Dúvidas ---------- */
.faq__inner { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); gap: var(--gap-xl); align-items: start; }
.faq__head { position: sticky; top: 140px; }
.faq__head .t-body { color: var(--texto-2); }
.accordion { display: flex; flex-direction: column; gap: 10px; }
.qa { border-radius: var(--r-card); }
.qa__q { display: grid; grid-template-columns: 30px minmax(0, 1fr) 35px; gap: 12px; align-items: center; padding: 16px 16px 16px 20px; cursor: pointer; list-style: none; color: var(--texto); }
.qa__q::-webkit-details-marker { display: none; }
.qa__n { color: var(--texto-3); }
.qa__title { font-weight: 600; }
.qa__icon { display: inline-flex; align-items: center; justify-content: center; width: 35px; height: 35px; border-radius: var(--r-ctrl); border: 1px solid var(--linha-forte); color: var(--cacau); font-size: 18px; transition: background-color 0.3s, color 0.3s, border-color 0.3s; }
.qa__icon .i { transition: transform 0.4s var(--ease); }
.qa[open] .qa__icon { background: var(--cacau); border-color: var(--cacau); color: var(--creme); }
.qa[open] .qa__icon .i { transform: rotate(45deg); }
.qa__a { display: flex; flex-direction: column; gap: 12px; padding: 0 63px 22px 62px; color: var(--texto-2); }
@supports (interpolate-size: allow-keywords) {
  .qa::details-content { block-size: 0; overflow-y: clip; transition: block-size 0.45s var(--ease), content-visibility 0.45s allow-discrete; }
  .qa[open]::details-content { block-size: auto; }
}

/* ---------- 11 · Clínica ---------- */
.clinic__inner { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr); gap: var(--gap-s); align-items: stretch; }
.clinic__card { position: relative; padding: var(--pad-panel); border-radius: var(--r-panel); background: var(--cacau); color: var(--inv-2); overflow: hidden; isolation: isolate; justify-content: space-between; }
.clinic__card .t-h2 { color: var(--inv); }
.clinic__brand { display: flex; flex-direction: column; gap: 20px; }
.clinic__logo { width: clamp(4.5rem, 3.8rem + 2.8vw, 6.5rem); height: auto; }
.clinic__card .specs { padding: 4px 18px; }
.clinic__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.clinic__gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto 1fr; gap: var(--gap-s); }
.clinic__photo { position: relative; aspect-ratio: 4 / 5; border-radius: var(--r-panel); overflow: hidden; background: var(--areia-clara); }
.clinic__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.clinic__photo:hover img { transform: scale(1.03); }
.map { position: relative; grid-column: 1 / -1; min-height: 13rem; border-radius: var(--r-panel); overflow: hidden; background: var(--areia-clara); border: 1px solid var(--linha); }
.map__art { position: absolute; inset: 0; }
.map__art svg { width: 100%; height: 100%; }
.map__roads path { fill: none; stroke: rgba(76, 52, 41, 0.12); stroke-width: 10; stroke-linecap: round; }
.map__main { fill: none; stroke: rgba(175, 148, 127, 0.55); stroke-width: 14; stroke-linecap: round; }
.map__pulse { fill: rgba(0, 124, 104, 0.18); }
.map__pin { fill: var(--verde); stroke: #ffffff; stroke-width: 3; }
.map__ui { position: absolute; left: 16px; right: 16px; bottom: 16px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(0.35) sepia(0.2); }

/* ---------- Chamada final ---------- */
/* a altura acompanha a proporção da foto (2,05:1) para nunca cortar o rosto em telas largas */
.cta { position: relative; min-height: max(36rem, 48.65vw); display: flex; align-items: center; background: var(--areia-clara); overflow: clip; }
.cta__bg { position: absolute; inset: 0; }
.cta__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 72% 30%; }
.cta__inner { position: relative; padding-block: var(--gap-xl); }
.cta__card { position: relative; max-width: 33rem; padding: var(--pad-panel); border-radius: var(--r-panel); box-shadow: 0 30px 60px -40px rgba(53, 36, 29, 0.45); }
.cta__card .t-body { color: var(--texto-2); }
.cta__seal { position: absolute; right: -40px; top: -40px; width: clamp(6rem, 5rem + 4vw, 8.5rem); filter: drop-shadow(0 14px 24px rgba(53, 36, 29, 0.28)); }
.cta__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; }

/* ---------- Rodapé ---------- */
.footer { position: relative; background: var(--cacau-escuro); color: var(--inv-2); padding-block: var(--gap-xl) 28px; overflow: clip; isolation: isolate; }
.footer__top { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: var(--gap-l); padding-bottom: var(--gap-l); }
.footer__brand { max-width: 22rem; }
.footer__logo { height: 64px; width: auto; align-self: flex-start; color: var(--creme); }
.footer__col { display: flex; flex-direction: column; gap: 14px; }
.footer__title { color: var(--areia-luz); }
.footer__links { display: flex; flex-direction: column; gap: 2px; }
.footer__link { display: inline-flex; align-items: center; gap: 10px; min-height: 34px; color: var(--inv-2); transition: color 0.3s; }
.footer__link .i { font-size: 16px; color: var(--areia); }
.footer__link:hover { color: #ffffff; }
.footer__text { color: var(--inv-2); }
.footer__bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; padding-top: 24px; border-top: 1px solid var(--linha-inv); color: var(--inv-3); }
.footer__legal { display: inline-flex; align-items: center; min-height: 32px; color: var(--inv-2); text-decoration: underline; text-decoration-color: var(--linha-inv-forte); text-underline-offset: 4px; }

/* ---------- Botão flutuante de WhatsApp ---------- */
.wa-float { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 40; display: inline-flex; align-items: center; gap: 10px; height: 56px; padding: 0 22px 0 18px; border-radius: 28px; background: var(--verde); color: #ffffff; box-shadow: 0 16px 32px -14px rgba(0, 72, 60, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.14); opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity 0.4s var(--ease), transform 0.4s var(--ease), background-color 0.3s; }
.wa-float .i { font-size: 22px; stroke-width: 1.9; }
.wa-float:hover { background: var(--verde-escuro); }
.wa-float.is-visible { opacity: 1; transform: none; pointer-events: auto; }

/* ---------- Páginas internas ---------- */
.legal { padding-top: 190px; }
.legal__inner { max-width: 50rem; }
.legal__meta { color: var(--texto-3); }
.legal__body { padding: var(--pad-panel); border-radius: var(--r-panel); }
.legal__body h2:not(:first-child) { margin-top: 12px; }
.legal__body .t-body { color: var(--texto-2); }
.error-page { background: var(--creme); }
.error { position: relative; min-height: 100svh; display: flex; align-items: center; overflow: clip; isolation: isolate; background: var(--creme); }
.error__inner { padding-block: var(--gap-xl); align-items: flex-start; }
.error__inner .logo { color: var(--cacau); }
.error .t-display { max-width: 12ch; }
.error .t-lead { max-width: 34rem; color: var(--texto-2); }
.error__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Movimento ---------- */
[data-marquee] { animation: marquee var(--marquee-dur, 48s) linear infinite; }
[data-marquee="right"] { animation-direction: reverse; }
.ribbon--back [data-marquee] { --marquee-dur: 60s; }
.partners__track { --marquee-dur: 40s; }
.pillars__row { --marquee-dur: 70s; }
.marquee__track { --marquee-dur: 50s; }
.seal { animation: spin 40s linear infinite; }
@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes spin { to { transform: rotate(360deg); } }

.js [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity 0.9s var(--ease), transform 0.9s var(--ease); }
.js [data-reveal].is-in { opacity: 1; transform: none; }

@media (hover: hover) {
  [data-marquee]:hover { animation-play-state: paused; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
}
/* modo estático: usado na verificação visual e na geração do Figma */
.is-static *, .is-static *::before, .is-static *::after { animation: none !important; transition: none !important; }
.is-static [data-reveal] { opacity: 1 !important; transform: none !important; }
.is-static .wa-float { display: none; }

/* desktop estreito: dieta por formulário com o conteúdo em uma coluna */
@media (max-width: 1199px) {
  .audience__inner { grid-template-columns: minmax(0, 1fr); }
  .audience__head { position: static; }
  .form-diet__content { grid-template-columns: minmax(0, 1fr); }
  .form-diet__buy { padding-left: 0; padding-top: var(--gap-m); border-left: 0; border-top: 1px solid var(--linha); flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
}

/* desktop estreito: cabeçalho mais compacto para o menu caber em uma linha */
@media (min-width: 1024px) and (max-width: 1199px) {
  .header__bar { padding: 0 28px; }
  .nav__list { gap: 20px; }
  .nav__link { font-size: 15px; }
}

/* desktop estreito: a composição não alcança o topo, então ela se dissolve no fundo */
@media (min-width: 1024px) and (max-width: 1403px) {
  .hero__img { -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 18%); mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 18%); }
}

/* ==========================================================================
   Tablet · até 1023 px — hero conforme a referência de 834 px
   (medidas em vw = valor da referência ÷ 8,34)
   ========================================================================== */
@media (max-width: 1023px) {
  html { scroll-padding-top: 96px; }
  .header__bar { width: auto; height: 9.592vw; min-height: 64px; margin: 3.837vw 6.715vw 0; padding: 0; background: transparent; box-shadow: none; color: var(--cacau); }
  .header.is-scrolled .header__bar,
  .header.is-open .header__bar { margin-top: 12px; padding: 0 12px 0 16px; height: 72px; background: rgba(250, 240, 230, 0.82); -webkit-backdrop-filter: var(--vidro-blur); backdrop-filter: var(--vidro-blur); box-shadow: 0 16px 40px -24px rgba(53, 36, 29, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.75); }
  .header.is-scrolled .logo,
  .header.is-open .logo { height: 52px; }
  .logo { height: max(7.674vw, 52px); }
  .nav { display: none; }
  .menu-btn { display: inline-flex; }
  .menu { width: auto; margin: 10px 6.715vw 0; }

  .hero__stage { height: 133.333vw; background: var(--creme); }
  .hero__img { inset: 0; right: auto; bottom: auto; width: 100%; height: 100%; object-fit: cover; -webkit-mask-image: none; mask-image: none; }
  .hero__inner { position: absolute; inset: 0; width: auto; height: auto; margin: 0; padding: 19.185vw 6.715vw 0; justify-content: flex-start; gap: 0; }
  .hero__content { gap: 2.878vw; }
  .profile-chip { display: none; }
  .hero__title { font-size: 7.674vw; line-height: 1.0625; }
  .hero__l1 { background: none; color: var(--cacau); }
  .hero__accent { color: var(--areia-texto); }
  .hero__lead { font-size: 2.158vw; max-width: 63.55vw; }
  .hero__lead--d, .hero__btn-label--d, .v-d, .br-d, .hero__proof-sub .dot { display: none; }
  .hero__lead--m { display: block; }
  .hero__btn-label--m { display: inline; }
  .br-t, .v-m { display: inline; }
  .hero__btn { justify-content: space-between; width: 40.528vw; height: 6.715vw; padding: 0 2.398vw; gap: 1.439vw; background: var(--cacau); }
  .hero__btn-label { flex: 1; font-size: 1.799vw; text-transform: none; }
  .hero__btn .i { width: 2.398vw; height: 2.398vw; stroke-width: 1.9; }
  .hero__social { margin-top: 13.669vw; gap: 1.439vw; }
  .avatars img { width: 5.036vw; height: 5.036vw; }
  .avatars img + img { margin-left: -1.016vw; }
  .hero__proof { gap: 0.48vw; }
  .hero__proof-main { font-size: 2.038vw; line-height: 2.758vw; }
  .hero__proof-main strong { text-transform: none; }
  .hero__proof-sub { font-size: 1.559vw; line-height: 2.398vw; }

  .marquee { position: relative; padding-left: 24px; }
  .marquee__label { font-size: 16px; }
  .marquee__fade { width: 40px; }

  .routine__inner { grid-template-columns: minmax(0, 1fr); }
  .routine__copy { order: -1; }
  .routine__media { height: clamp(24rem, 16rem + 30vw, 34rem); }

  .method__intro { grid-template-columns: minmax(0, 1fr); }
  .method__copy { max-width: none; }
  .method__visual { aspect-ratio: 5 / 4; }
  .journey__steps { grid-template-columns: minmax(0, 1fr); }
  .journey__line { display: none; }
  .step { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
  .step__media { aspect-ratio: auto; height: 100%; }

  .audience__inner { grid-template-columns: minmax(0, 1fr); }
  .audience__head { position: static; }

  .plans__head { align-items: flex-start; }
  .plans__controls { align-items: flex-start; }
  .pay-row { flex-direction: column; align-items: flex-start; }
  .pay-row__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 32px; }
  .premium { grid-template-columns: minmax(0, 1fr); }
  .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plan--featured { grid-column: 1 / -1; order: -1; }
  .form-diet { grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr); }

  .app__inner { grid-template-columns: minmax(0, 1fr); }
  .app__visual { padding-block: 48px 24px; }
  .chat { left: 2%; }

  .about__inner { grid-template-columns: minmax(0, 1fr); }
  .about__visual { max-width: 34rem; }

  .results__inner { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "metrics" "note"; }
  .results__note { max-width: none; flex-direction: row; align-items: center; }

  .reviews__top { grid-template-columns: minmax(0, 1fr); }
  .stories__list { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: clamp(12rem, 9rem + 14vw, 15rem); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }
  .stories__list::-webkit-scrollbar { display: none; }
  .story { scroll-snap-align: start; }

  .faq__inner { grid-template-columns: minmax(0, 1fr); }
  .faq__head { position: static; }

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

  .cta { flex-direction: column; align-items: stretch; min-height: 0; }
  .cta__bg { position: relative; aspect-ratio: 16 / 9; }
  .cta__bg img { object-position: 72% 20%; }
  .cta__inner { margin-top: calc(var(--gap-xl) * -1.6); padding-block: 0 var(--space-section); }
  .cta__card { max-width: none; }
  .cta__seal { right: 24px; top: -48px; }

  .footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__brand { grid-column: 1 / -1; max-width: none; }
  .footer__brand .t-small { max-width: 26rem; }

  .legal { padding-top: 150px; }
}

/* ==========================================================================
   Celular · até 639 px — hero conforme a referência de 390 px
   (medidas em vw = valor da referência ÷ 3,9)
   ========================================================================== */
@media (max-width: 639px) {
  .header__bar { height: 15.385vw; min-height: 0; margin: 5.128vw 6.154vw 0; }
  .header.is-scrolled .header__bar,
  .header.is-open .header__bar { height: 64px; margin-top: 10px; }
  .logo { height: 14.103vw; }
  .header.is-scrolled .logo,
  .header.is-open .logo { height: 46px; }
  .menu { margin: 10px 6.154vw 0; }

  .hero__stage { height: 216.41vw; }
  .hero__fade { display: block; }
  .hero__inner { padding: 27.692vw 6.154vw 6.154vw; }
  .hero__content { display: contents; }
  .hero__title { order: 1; font-size: 10.256vw; line-height: 1.05; }
  .hero__lead { order: 2; margin-top: 4.103vw; font-size: 3.846vw; line-height: 1.4667; max-width: none; }
  .br-t { display: none; }
  .br-m { display: inline; }
  .hero__social { order: 3; margin-top: auto; flex-direction: row; align-items: center; gap: 3.077vw; }
  .avatars img { width: 7.949vw; height: 7.949vw; }
  .avatars img + img { margin-left: -1.569vw; }
  .hero__proof { gap: 1.026vw; }
  .hero__proof-main { font-size: 3.333vw; line-height: 4.615vw; }
  .hero__proof-sub { font-size: 2.821vw; line-height: 4.103vw; }
  .hero__btn { order: 4; width: 100%; height: 14.359vw; margin-top: 3.077vw; padding: 0 5.128vw; gap: 3.077vw; }
  .hero__btn-label { font-size: 3.59vw; }
  .hero__btn .i { width: 5.128vw; height: 5.128vw; }

  .marquee { height: 64px; padding-left: 16px; }
  .marquee__fade { width: 22px; }

  .routine__media { grid-template-rows: 1fr 0.8fr; height: 26rem; }
  .shot__tag { height: auto; min-height: 28px; max-width: calc(100% - 20px); left: 10px; bottom: 10px; padding: 6px 10px; line-height: 1.3; letter-spacing: 0.03em; }
  .shot__tag .dot { display: none; }
  .callout { flex-direction: column; }

  .method__visual { aspect-ratio: 4 / 5; }
  .feature { padding: 6px 12px 6px 6px; }
  .feature__icon { width: 28px; height: 28px; font-size: 14px; }
  .step { grid-template-columns: minmax(0, 1fr); }
  .step__media { aspect-ratio: 16 / 10; }

  .audience__list { grid-template-columns: minmax(0, 1fr); }
  .audience__item { padding: 16px; }

  .plans__head { flex-direction: column; }
  .plans__head > :first-child { flex: none; }
  .plans__controls { width: 100%; }
  .segmented { width: 100%; }
  .segmented__opt { flex: 1; justify-content: center; }
  .premium__figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plan-grid { grid-template-columns: minmax(0, 1fr); }
  .plan--featured { grid-column: auto; }
  .pay-row__list { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .included__head { align-items: center; }
  .carousel { margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter); }
  .form-diet { grid-template-columns: minmax(0, 1fr); }
  .form-diet__visual { min-height: 0; aspect-ratio: 5 / 4; }
  .form-diet__buy { flex-direction: column; align-items: flex-start; }
  .form-diet__buy .btn { width: 100%; justify-content: space-between; }

  .app__visual { flex-direction: column; align-items: center; padding-block: 24px 8px; }
  .chat { position: relative; left: auto; bottom: auto; width: 100%; margin-top: -72px; }

  .about__visual { padding: 0 10% 12% 0; }
  .about__seal { width: 5.5rem; right: 0; top: -2%; }
  .specs__row { grid-template-columns: minmax(0, 1fr); gap: 4px; }

  .results__note { flex-direction: column; align-items: flex-start; }

  .review-grid { grid-template-columns: minmax(0, 1fr); }
  .rating { width: 100%; }

  .qa__q { grid-template-columns: 24px minmax(0, 1fr) 32px; gap: 10px; padding: 14px 12px 14px 14px; }
  .qa__icon { width: 32px; height: 32px; }
  .qa__a { padding: 0 14px 18px 48px; }

  .clinic__actions .btn { flex: 1 1 100%; justify-content: space-between; }

  .cta__bg { aspect-ratio: 4 / 3; }
  .cta__bg img { object-position: 74% 30%; }
  .cta__seal { right: 16px; top: -44px; }
  .cta__actions .btn { width: 100%; justify-content: space-between; }

  .footer__top { grid-template-columns: minmax(0, 1fr); }
  .footer__bottom { flex-direction: column; align-items: flex-start; }

  .wa-float { width: 56px; padding: 0; justify-content: center; }
  .wa-float__label { display: none; }

  .legal { padding-top: 120px; }
}
