/* ==========================================================================
   Raquel Mendes — Nutricionista
   Layout mobile-first. A partir de 1100px o desktop reproduz a arte aprovada
   (referência: 1618px de largura) escalando todas as medidas por --u.
   ========================================================================== */

@font-face { font-family: "Playfair Display"; font-weight: 400; font-style: normal; font-display: swap; src: url("../assets/fonts/playfair-display-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-weight: 500; font-style: normal; font-display: swap; src: url("../assets/fonts/playfair-display-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-weight: 400; font-style: italic; font-display: swap; src: url("../assets/fonts/playfair-display-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 400; font-style: normal; font-display: swap; src: url("../assets/fonts/inter-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 500; font-style: normal; font-display: swap; src: url("../assets/fonts/inter-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 600; font-style: normal; font-display: swap; src: url("../assets/fonts/inter-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 700; font-style: normal; font-display: swap; src: url("../assets/fonts/inter-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Script"; font-weight: 400; font-style: normal; font-display: swap; src: url("../assets/fonts/la-belle-aurore-latin-400-normal.woff2") format("woff2"); }

:root {
  --green-900: #122316;
  --green-800: #1f3326;
  --green-btn: #23512a;
  --green-btn-hi: #34712e;
  --cream: #f9f3e7;
  --cream-2: #f5eee3;
  --cream-3: #f4ece1;
  --gold: #b78a43;
  --gold-text: #8f7747;
  --ink: #15251f;
  --ink-soft: #3b4a43;
  --font-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-script: "Script", "Segoe Script", "Brush Script MT", cursive;
  --u: calc(min(100vw, 1920px) / 1618);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.55;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p, ul, ol { margin: 0; padding: 0; }
ul, ol { list-style: none; }
a { color: inherit; text-decoration: none; }
section[id] { scroll-margin-top: 12px; }

.page { max-width: 1920px; margin: 0 auto; position: relative; }

.br-d { display: none; }
.icon { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.icon--solid { fill: currentColor; stroke: none; }

:focus-visible { outline: 3px solid #b78a43; outline-offset: 3px; }

.skip { position: absolute; left: -9999px; top: 0; background: #fff; padding: 10px 16px; z-index: 100; }
.skip:focus { left: 8px; top: 8px; }

/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  background: linear-gradient(180deg, #2a5f31 0%, var(--green-btn) 100%);
  color: #fff; font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
  border-radius: 999px; box-shadow: 0 8px 20px rgba(16, 52, 30, .22);
  transition: filter .2s;
}
.btn:hover { filter: brightness(1.08); }
.btn .icon--solid { font-size: 1.5em; }
.btn__chev { font-size: .9em; margin-left: auto; stroke-width: 2; }
.btn--lg { width: 100%; min-height: 58px; padding: 0 18px; font-size: 13.5px; gap: 10px; white-space: nowrap; }
.btn--sm { min-height: 44px; padding: 0 22px; font-size: 13px; }
.btn--light { background: linear-gradient(180deg, #3a7f35 0%, var(--green-btn-hi) 100%); box-shadow: 0 10px 24px rgba(0, 0, 0, .3); }

.eyebrow { font-size: 13px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-text); }

/* ==========================================================================
   HERO
   ========================================================================== */
.hero { background: #faf3e6; position: relative; display: flex; flex-direction: column; text-align: center; }
.hero__photo { order: -1; position: relative; margin: 0; }
.hero__photo::after { content: ""; position: absolute; inset: auto 0 0 0; height: 5%; background: linear-gradient(180deg, rgba(250, 243, 230, 0), #faf3e6); }
.hero__script-m { position: absolute; z-index: 2; left: 68%; top: 20%; font-family: var(--font-script); font-size: clamp(14px, 4.2vw, 30px); line-height: 1.3; color: #6f5a38; text-align: left; transform: rotate(-7deg); transform-origin: left top; }
.hero__script-m::after { content: ""; display: block; width: 62%; height: 1.5px; margin: .5em 0 0 .4em; background: #8f7747; opacity: .8; }
.header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px; position: absolute; inset: 0 0 auto 0; z-index: 20; }
.brand { display: flex; align-items: center; gap: 10px; }
.brand img { width: 30px; height: auto; }
.brand__name { display: block; font-family: var(--font-serif); font-size: clamp(13px, 3.6vw, 17px); letter-spacing: .17em; color: #2a2f27; line-height: 1.1; }
.brand__role { display: block; font-size: 8.5px; letter-spacing: .32em; color: var(--gold-text); margin-top: 4px; }

.nav-toggle { margin-left: auto; width: 44px; height: 44px; border: 0; background: transparent; display: grid; place-content: center; gap: 5px; cursor: pointer; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: var(--green-800); transition: transform .2s, opacity .2s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav {
  position: absolute; left: 12px; right: 12px; top: 100%;
  background: #fffaf0; border-radius: 16px; box-shadow: 0 16px 40px rgba(20, 40, 25, .18);
  padding: 8px; display: none;
}
.nav.is-open { display: block; }
.nav a { display: block; padding: 14px 16px; font-weight: 500; color: var(--green-800); border-radius: 10px; }
.nav a:hover { background: #f1e8d6; }
.header__cta { display: none; }

.hero__content { padding: 8px 20px 28px; }
.hero__eyebrow { margin-bottom: 14px; font-size: 12px; }
.hero__title { font-family: var(--font-serif); font-weight: 500; font-size: clamp(29px, 8vw, 52px); line-height: 1.1; letter-spacing: -.01em; color: #10281d; }
.hero__title em { display: block; font-style: italic; font-weight: 400; color: #9a7b44; }
.hero__lead { margin: 18px auto 0; max-width: 560px; font-size: 15.5px; line-height: 1.6; color: #2b3a33; }
.hero__lead strong { font-weight: 600; color: var(--ink); }
.hero__cta { margin-top: 26px; }
.benefits { margin-top: 24px; display: grid; grid-template-columns: repeat(3, 1fr); }
.benefits li { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 0 2px; font-size: 12px; line-height: 1.3; color: #26372f; }
.benefits li + li { border-left: 1px solid rgba(60, 80, 60, .22); }
.benefits .icon { font-size: 30px; color: #1f4a35; }
.hero__script { display: none; }
.hero__photo img { width: 100%; }

/* ==========================================================================
   BARRA DE ESPECIALIDADES
   ========================================================================== */
.specialties { background: linear-gradient(90deg, #1c3125 0%, #1e3326 50%, #1a2c20 100%); color: #f2ecdd; padding: 36px 20px; }
.specialties__list { display: grid; gap: 28px 16px; grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
.specialty { text-align: center; display: flex; flex-direction: column; align-items: center; }
.specialty .icon { font-size: 40px; color: #e1c88c; stroke-width: 1.3; margin-bottom: 12px; }
.specialty__title { font-weight: 500; font-size: 17px; line-height: 1.3; color: #f6f1e3; }
.specialty__text { margin-top: 8px; font-size: 14px; line-height: 1.45; color: #d6c9a4; }

/* ==========================================================================
   PARA QUEM É
   ========================================================================== */
.audience { background: #faf4e8; }
.audience__img { width: 100%; aspect-ratio: 817 / 653; object-fit: cover; }
.audience__body { padding: 32px 20px 40px; }
.audience__title { margin-top: 12px; font-family: var(--font-serif); font-weight: 500; font-size: clamp(27px, 7.4vw, 36px); line-height: 1.18; color: #10281d; }
.audience__lead { margin-top: 18px; font-size: 16px; line-height: 1.6; color: #2f3e37; }
.checklist { margin-top: 20px; display: grid; gap: 12px; }
.checklist li { display: flex; align-items: center; gap: 12px; font-size: 16px; color: #1f2f28; }
.checklist .icon { font-size: 26px; color: #1d4b2e; }
.audience__cta { margin-top: 28px; }

/* ==========================================================================
   SERVIÇOS
   ========================================================================== */
.services { background: var(--cream-2); padding: 48px 20px 52px; }
.services__head { text-align: center; max-width: 780px; margin: 0 auto; }
.services__title { margin-top: 10px; font-family: var(--font-serif); font-weight: 400; font-size: clamp(27px, 7.4vw, 40px); line-height: 1.18; color: #10281d; }
.services__sub { margin-top: 14px; font-size: 16px; line-height: 1.55; color: #3c4a44; }
.cards { margin-top: 32px; display: grid; gap: 14px; grid-template-columns: 1fr; }
.card {
  position: relative; overflow: hidden; border-radius: 14px; background: #232417;
  min-height: 420px; display: flex; flex-direction: column; justify-content: flex-end;
  box-shadow: 0 10px 24px rgba(40, 30, 10, .16);
}
.card__img { position: absolute; inset: 0 0 auto 0; width: 100%; height: 56%; object-fit: cover; }
.card::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(35, 36, 23, 0) 0%, rgba(35, 36, 23, 0) 38%, #232417 62%, #232417 100%); }
.card__body { position: relative; z-index: 2; padding: 0 22px 24px; }
.card__title { font-family: var(--font-serif); font-weight: 500; font-size: 25px; line-height: 1.15; color: #fbf7ec; }
.card__text { margin-top: 12px; font-size: 14.5px; line-height: 1.5; color: #d6cfbc; }

/* ==========================================================================
   FORMAÇÃO
   ========================================================================== */
.credentials { background: #f8f1e5; padding: 48px 20px; }
.credentials__title { margin-top: 12px; font-family: var(--font-serif); font-weight: 500; font-size: clamp(28px, 7.6vw, 40px); line-height: 1.16; color: #10281d; }
.credentials__lead { margin-top: 18px; font-size: 16px; line-height: 1.6; color: #3c4a44; }
.credentials__list { margin-top: 32px; display: grid; gap: 28px; }
.credential { padding-top: 24px; border-top: 1px solid rgba(183, 138, 67, .35); }
.credential .icon { font-size: 40px; color: #a98446; margin-bottom: 14px; stroke-width: 1.3; }
.credential__title { font-weight: 500; font-size: 17px; line-height: 1.35; color: #1d2a24; }
.credential__org { margin-top: 10px; font-size: 15px; line-height: 1.4; color: #9a7b44; }
.credential__text { margin-top: 10px; font-size: 14.5px; line-height: 1.5; color: #4b5852; }
.credential__rule { display: block; width: 46px; height: 2px; margin-top: 16px; background: linear-gradient(90deg, #a98446, #e4d1a4); }

/* ==========================================================================
   PROCESSO
   ========================================================================== */
.process { background: var(--cream-3); padding: 48px 20px 52px; }
.process__head { text-align: center; max-width: 820px; margin: 0 auto; }
.process__title { margin-top: 10px; font-family: var(--font-serif); font-weight: 400; font-size: clamp(27px, 7.4vw, 40px); line-height: 1.18; color: #10281d; }
.process__sub { margin-top: 14px; font-size: 16px; line-height: 1.55; color: #3c4a44; }
.steps { margin-top: 34px; display: grid; gap: 28px; }
.step { display: flex; gap: 16px; align-items: flex-start; }
.step__num { font-family: var(--font-serif); font-size: 36px; line-height: 1; color: #9a7b44; font-weight: 400; min-width: 46px; }
.step__body { border-left: 1px solid rgba(143, 119, 71, .4); padding-left: 18px; }
.step__body .icon { font-size: 34px; color: #a98446; margin-bottom: 10px; stroke-width: 1.3; }
.step__title { font-family: var(--font-serif); font-weight: 500; font-size: 22px; line-height: 1.2; color: #14281f; }
.step__text { margin-top: 8px; font-size: 15px; line-height: 1.55; color: #4a5750; }

/* ==========================================================================
   CTA FINAL
   ========================================================================== */
.final { position: relative; display: flex; flex-direction: column; background: #14291c; color: #fff; overflow: hidden; }
.final__leaves { display: none; }
.final__scene { order: -1; position: relative; line-height: 0; background: #d9c5a6; }
.final__scene img { width: 100%; height: auto; aspect-ratio: 941 / 690; }
.final__scene::after { content: ""; position: absolute; inset: auto 0 -1px 0; height: 14%; pointer-events: none; background: linear-gradient(180deg, rgba(20, 41, 28, 0) 0%, #14291c 100%); }
.final__tag, .final__script { display: none; }
.final__body { position: relative; padding: 22px 24px 30px; background: #14291c; }
.final__body::before { content: ""; position: absolute; left: -26px; top: -46px; width: 100px; height: 176px; background: url("../assets/logo/leaf-outline.svg") center / contain no-repeat; opacity: .92; pointer-events: none; }
.final__eyebrow { position: relative; display: flex; align-items: center; gap: 14px; margin: 0 0 16px; color: #d6a84a; font-size: 12px; font-weight: 700; letter-spacing: .22em; }
.final__eyebrow::after { content: ""; flex: 0 1 120px; height: 1px; background: #b88939; }
.final__title { position: relative; margin: 0; font-family: var(--font-serif); font-weight: 400; font-size: clamp(26px, 7vw, 46px); line-height: 1.12; letter-spacing: -.01em; color: #fffdf7; }
.final__gold { color: #efc879; }
.final__lead { position: relative; margin: 20px 0 24px; font-size: 15.5px; line-height: 1.55; color: #fffaf0; }
.final__lead strong { font-weight: 700; color: #fff; }
.final__cta { position: relative; margin: 0; }
.final__notes { position: relative; margin: 28px 0 22px; display: grid; grid-template-columns: repeat(3, 1fr); }
.final__notes li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 0 8px; text-align: center; font-size: 13px; line-height: 1.3; color: #efe7d8; }
.final__notes li + li::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 4px; width: 1px; background: rgba(214, 168, 74, .36); }
.final__notes .icon { box-sizing: content-box; width: 22px; height: 22px; padding: 12px; border: 1px solid rgba(214, 168, 74, .68); border-radius: 50%; font-size: 22px; color: #d6a84a; stroke-width: 1.4; }

/* ==========================================================================
   RODAPÉ
   ========================================================================== */
.footer { background: #14291c; color: #efe8dd; text-align: center; padding: 0 24px 22px; font-size: 13px; }
.footer p { border-top: 1px solid rgba(214, 168, 74, .36); padding-top: 20px; }

/* ==========================================================================
   TABLET
   ========================================================================== */
@media (min-width: 640px) {
  .specialties__list { grid-template-columns: repeat(2, 1fr); max-width: 760px; }
  .cards { grid-template-columns: repeat(2, 1fr); }
  .card { min-height: 440px; }
  .credentials__list { grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .steps { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .step { flex-direction: column; gap: 14px; }
  .step__body { border-left: 0; border-top: 1px solid rgba(143, 119, 71, .4); padding: 16px 0 0; }
  .hero__content { padding: 40px 40px 8px; }
  .header { padding: 18px 40px; }
  .audience__body, .services, .credentials, .process { padding-left: 40px; padding-right: 40px; }
  .audience__body { padding-top: 44px; padding-bottom: 52px; }
  .btn--lg { width: auto; min-width: 360px; }
  .hero__cta { margin-left: auto; margin-right: auto; }
  .benefits { max-width: 560px; margin-left: auto; margin-right: auto; }
  .final__body { padding: 28px 40px 34px; }
}
@media (min-width: 900px) {
  .cards { grid-template-columns: repeat(3, 1fr); }
  .audience { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
  .audience__img { height: 100%; aspect-ratio: auto; }
  .audience__body { align-self: center; padding: 48px 44px; }
  .specialties__list { grid-template-columns: repeat(5, 1fr); max-width: none; }
}

/* ==========================================================================
   DESKTOP — reproduz a arte aprovada (1 unidade = 1px da referência de 1618px)
   ========================================================================== */
@media (min-width: 1100px) {
  body { font-size: calc(21 * var(--u)); }
  .br-d { display: inline; }
  .eyebrow { font-size: max(11px, calc(16 * var(--u))); letter-spacing: .13em; }
  .btn { gap: calc(14 * var(--u)); letter-spacing: .02em; }

  /* ----- Hero ----- */
  .hero { display: block; text-align: left; height: calc(884 * var(--u)); background: #f9f3e7 url("../assets/images/hero-bg.webp") center / 100% 100% no-repeat; }
  .header { padding: 0; height: calc(110 * var(--u)); display: block; }
  .brand { position: absolute; left: calc(113 * var(--u)); top: calc(26 * var(--u)); gap: calc(14 * var(--u)); align-items: flex-start; }
  .brand img { width: calc(54 * var(--u)); }
  .brand__name { font-size: calc(23 * var(--u)); letter-spacing: .18em; margin-top: calc(4 * var(--u)); }
  .brand__role { font-size: max(8px, calc(12 * var(--u))); margin-top: calc(7 * var(--u)); }
  .nav-toggle { display: none; }
  .nav { position: absolute; display: flex; left: calc(560 * var(--u)); top: calc(40 * var(--u)); right: auto; gap: calc(42 * var(--u)); background: none; box-shadow: none; padding: 0; border-radius: 0; }
  .nav a { padding: 0; font-size: max(11px, calc(17 * var(--u))); color: #214a38; font-weight: 500; background: none !important; }
  .header__cta { display: inline-flex; position: absolute; left: calc(1256 * var(--u)); top: calc(27 * var(--u)); width: calc(260 * var(--u)); height: calc(62 * var(--u)); min-height: 0; padding: 0; font-size: max(9px, calc(15 * var(--u))); gap: calc(10 * var(--u)); }
  .header__cta .icon--solid { font-size: calc(28 * var(--u)); }

  .hero__content { position: absolute; left: calc(141 * var(--u)); top: calc(160 * var(--u)); width: calc(640 * var(--u)); padding: 0; }
  .hero__eyebrow { margin: 0; font-size: max(10px, calc(17 * var(--u))); letter-spacing: .13em; color: #8f7747; }
  .hero__title { margin-top: calc(19 * var(--u)); font-size: calc(60.5 * var(--u)); line-height: calc(66 * var(--u)); letter-spacing: 0; font-weight: 500; color: #0f2a1e; }
  .hero__title em { color: #9b7b42; }
  .hero__lead { max-width: calc(640 * var(--u)); margin-top: calc(20 * var(--u)); font-size: max(13px, calc(20.3 * var(--u))); line-height: calc(28 * var(--u)); color: #2d3b34; }
  .hero__cta { margin-top: calc(30 * var(--u)); width: calc(594 * var(--u)); height: calc(84 * var(--u)); min-height: 0; padding: 0 calc(52 * var(--u)) 0 calc(52 * var(--u)); font-size: max(11px, calc(20 * var(--u))); justify-content: flex-start; }
  .hero__cta .icon--solid { font-size: calc(40 * var(--u)); }
  .benefits { margin-top: calc(34 * var(--u)); display: flex; gap: 0; width: calc(660 * var(--u)); max-width: none; }
  .benefits li { flex-direction: row; align-items: center; gap: calc(12 * var(--u)); font-size: max(10px, calc(17 * var(--u))); line-height: calc(23 * var(--u)); padding: 0 calc(22 * var(--u)) 0 0; border-left: 0; margin-right: calc(22 * var(--u)); border-right: 1px solid rgba(60, 80, 60, .22); }
  .benefits li:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
  .benefits .icon { font-size: calc(42 * var(--u)); }
  .hero__photo { display: none; }
  .hero__lead { margin-left: 0; margin-right: 0; }
  .hero__script { display: block; position: absolute; left: calc(1330 * var(--u)); top: calc(218 * var(--u)); font-family: var(--font-script); font-size: calc(37 * var(--u)); line-height: calc(46 * var(--u)); color: #6f5a38; transform: rotate(-7deg); transform-origin: left top; }

  /* ----- Barra de especialidades ----- */
  .specialties { height: calc(276 * var(--u)); padding: 0; }
  .specialties__list { display: grid; grid-template-columns: 343fr 314fr 315fr 327fr 319fr; gap: 0; max-width: none; height: 100%; padding-top: calc(40 * var(--u)); }
  .specialty { position: relative; justify-content: flex-start; padding: 0 calc(16 * var(--u)); }
  .specialty + .specialty::before { content: ""; position: absolute; left: 0; top: calc(8 * var(--u)); height: calc(194 * var(--u)); width: 1px; background: rgba(214, 190, 130, .28); }
  .specialty .icon { font-size: calc(62 * var(--u)); margin-bottom: calc(16 * var(--u)); stroke-width: 1.15; }
  .specialty__title { font-size: max(11px, calc(21 * var(--u))); line-height: calc(29 * var(--u)); min-height: calc(58 * var(--u)); display: flex; align-items: center; justify-content: center; }
  .specialty__text { margin-top: calc(10 * var(--u)); font-size: max(10px, calc(16.5 * var(--u))); line-height: calc(24 * var(--u)); }

  /* ----- Para quem é ----- */
  .audience { height: calc(653 * var(--u)); grid-template-columns: 817fr 801fr; background: #faf4e8; }
  .audience__img { width: 100%; height: 100%; object-fit: cover; }
  .audience__body { align-self: start; padding: calc(34 * var(--u)) calc(60 * var(--u)) 0 calc(63 * var(--u)); }
  .audience .eyebrow { font-size: max(9px, calc(14 * var(--u))); letter-spacing: .16em; }
  .audience__title { margin-top: calc(14 * var(--u)); font-size: calc(48.5 * var(--u)); line-height: calc(57 * var(--u)); font-weight: 400; }
  .audience__lead { margin-top: calc(24 * var(--u)); font-size: max(12px, calc(20.3 * var(--u))); line-height: calc(30 * var(--u)); color: #2d3b34; }
  .checklist { margin-top: calc(22 * var(--u)); gap: 0; }
  .checklist li { height: calc(43 * var(--u)); gap: calc(14 * var(--u)); font-size: max(12px, calc(20.8 * var(--u))); padding-left: calc(7 * var(--u)); }
  .checklist .icon { font-size: calc(30 * var(--u)); }
  .audience__cta { margin-top: calc(24 * var(--u)); margin-left: calc(44 * var(--u)); width: calc(566 * var(--u)); height: calc(84 * var(--u)); min-height: 0; font-size: max(11px, calc(19.6 * var(--u))); padding: 0 calc(46 * var(--u)); justify-content: flex-start; }
  .audience__cta .icon--solid { font-size: calc(38 * var(--u)); }

  /* ----- Serviços ----- */
  .services { height: calc(709 * var(--u)); padding: calc(46 * var(--u)) calc(46 * var(--u)) 0; }
  .services .eyebrow { font-size: max(9px, calc(14 * var(--u))); letter-spacing: .2em; }
  .services__head { max-width: none; }
  .services__title { margin-top: calc(12 * var(--u)); font-size: calc(44.7 * var(--u)); line-height: calc(54 * var(--u)); }
  .services__sub { margin: calc(8 * var(--u)) auto 0; max-width: calc(1060 * var(--u)); font-size: max(12px, calc(20.3 * var(--u))); line-height: calc(28 * var(--u)); color: #3a4741; }
  .cards { margin-top: calc(30 * var(--u)); grid-template-columns: repeat(5, 1fr); gap: calc(11 * var(--u)); }
  .card { min-height: 0; height: calc(444 * var(--u)); border-radius: calc(15 * var(--u)); }
  .card__img { height: calc(250 * var(--u)); }
  .card::before { background: linear-gradient(180deg, rgba(35, 36, 23, 0) 0, rgba(35, 36, 23, 0) calc(150 * var(--u)), #232417 calc(262 * var(--u)), #232417 100%); }
  .card__body { padding: 0 calc(12 * var(--u)) calc(24 * var(--u)) calc(23 * var(--u)); height: calc(182 * var(--u)); }
  .card__title { font-size: calc(24.5 * var(--u)); line-height: calc(30 * var(--u)); min-height: calc(60 * var(--u)); display: flex; align-items: flex-end; }
  .card__text { margin-top: calc(8 * var(--u)); font-size: max(10px, calc(15.4 * var(--u))); line-height: calc(22.5 * var(--u)); }

  /* ----- Formação ----- */
  .credentials { min-height: calc(380 * var(--u)); padding: 0 0 calc(44 * var(--u)); display: grid; grid-template-columns: 698fr 315fr 345fr 260fr; align-items: stretch; }
  .credentials__intro { padding: calc(40 * var(--u)) calc(60 * var(--u)) 0 calc(98 * var(--u)); }
  .credentials .eyebrow { font-size: max(9px, calc(14 * var(--u))); letter-spacing: .16em; color: #8b7549; }
  .credentials__title { margin-top: calc(18 * var(--u)); font-size: calc(45 * var(--u)); line-height: calc(53 * var(--u)); font-weight: 400; }
  .credentials__lead { margin-top: calc(24 * var(--u)); font-size: max(12px, calc(20.3 * var(--u))); line-height: calc(28 * var(--u)); color: #3f4c46; max-width: calc(560 * var(--u)); }
  .credentials__list { display: contents; }
  .credential { border-top: 0; border-left: 1px solid rgba(183, 138, 67, .3); margin: calc(48 * var(--u)) 0 calc(40 * var(--u)); padding: 0 calc(6 * var(--u)) 0 calc(56 * var(--u)); }
  .credential .icon { font-size: calc(62 * var(--u)); margin-bottom: calc(40 * var(--u)); stroke-width: 1.1; }
  .credential__title { font-size: max(11px, calc(19.5 * var(--u))); line-height: calc(26 * var(--u)); }
  .credential__org { margin-top: calc(18 * var(--u)); font-size: max(11px, calc(19 * var(--u))); line-height: calc(25 * var(--u)); }
  .credential__text { margin-top: calc(14 * var(--u)); font-size: max(10px, calc(16.5 * var(--u))); line-height: calc(24 * var(--u)); }
  .credential__rule { margin-top: calc(24 * var(--u)); width: calc(46 * var(--u)); }

  /* ----- Processo ----- */
  .process { min-height: calc(480 * var(--u)); padding: calc(36 * var(--u)) 0 calc(70 * var(--u)); }
  .process__head { max-width: none; }
  .process .eyebrow { font-size: max(9px, calc(14 * var(--u))); letter-spacing: .2em; }
  .process__title { margin-top: calc(14 * var(--u)); font-size: calc(40.8 * var(--u)); line-height: calc(52 * var(--u)); }
  .process__sub { margin-top: calc(10 * var(--u)); font-size: max(12px, calc(20 * var(--u))); line-height: calc(28 * var(--u)); color: #3f4c46; }
  .steps { margin-top: calc(40 * var(--u)); grid-template-columns: 532fr 555fr 531fr; gap: 0; }
  .step { flex-direction: row; gap: 0; position: relative; min-height: calc(196 * var(--u)); }
  .step + .step { border-left: 1px solid rgba(143, 119, 71, .25); }
  .step__num { font-size: calc(46 * var(--u)); padding: calc(6 * var(--u)) 0 0; min-width: calc(65 * var(--u)); margin-left: calc(36 * var(--u)); }
  .step:first-child .step__num { margin-left: calc(68 * var(--u)); }
  .step__body { border-top: 0; border-left: 1px solid rgba(143, 119, 71, .3); padding: 0 calc(20 * var(--u)) 0 calc(26 * var(--u)); height: 100%; flex: 1; }
  .step__body .icon { font-size: calc(46 * var(--u)); margin: calc(2 * var(--u)) 0 calc(14 * var(--u)); stroke-width: 1.1; }
  .step__title { font-size: calc(23.5 * var(--u)); line-height: calc(29 * var(--u)); }
  .step__text { margin-top: calc(10 * var(--u)); font-size: max(10px, calc(17.5 * var(--u))); line-height: calc(24.5 * var(--u)); }

  /* ----- CTA final ----- */
  .final { display: block; height: calc(584 * var(--u)); background: linear-gradient(135deg, #122316 0%, #1b3022 60%, #1f2d20 100%); }
  .final__tag, .final__script { display: block; }
  .final__scene { order: 0; background: none; line-height: normal; }
  .final__scene img { aspect-ratio: auto; }
  .final__scene::after { display: none; }
  .final__body::before { display: none; }
  .final__gold { color: inherit; }
  .final__eyebrow::after { display: none; }
  .final__eyebrow { display: block; margin: 0; }
  .final__lead strong { color: #fff; }
  .final__notes li + li::before { display: none; }
  .final__notes { display: flex; }
  .final__notes li { flex-direction: row; text-align: left; padding: 0; }
  .final__notes .icon { box-sizing: border-box; width: 1em; height: 1em; padding: 0; border: 0; border-radius: 0; color: #cfa95e; stroke-width: 1.3; }
  .final__leaves { display: block; }
  .final__leaves { left: calc(-6 * var(--u)); top: calc(54 * var(--u)); width: calc(140 * var(--u)); }
  .final__body { position: absolute; inset: 0 auto 0 0; width: calc(900 * var(--u)); padding: 0; background: none; }
  .final__eyebrow { position: absolute; left: calc(157 * var(--u)); top: calc(60 * var(--u)); font-size: max(9px, calc(15 * var(--u))); letter-spacing: .15em; }
  .final__title { position: absolute; left: calc(157 * var(--u)); top: calc(94 * var(--u)); margin: 0; font-size: calc(46.5 * var(--u)); line-height: calc(56 * var(--u)); width: calc(760 * var(--u)); }
  .final__lead { position: absolute; left: calc(157 * var(--u)); top: calc(222 * var(--u)); margin: 0; width: calc(720 * var(--u)); font-size: max(12px, calc(21.5 * var(--u))); line-height: calc(30 * var(--u)); }
  .final__cta { position: absolute; left: calc(157 * var(--u)); top: calc(340 * var(--u)); margin: 0; width: calc(594 * var(--u)); height: calc(88 * var(--u)); min-height: 0; padding: 0 calc(52 * var(--u)); font-size: max(11px, calc(20.5 * var(--u))); justify-content: flex-start; border: 1px solid rgba(255, 255, 255, .12); }
  .final__cta .icon--solid { font-size: calc(40 * var(--u)); }
  .final__notes { position: absolute; left: calc(83 * var(--u)); top: calc(458 * var(--u)); margin: 0; display: flex; gap: calc(26 * var(--u)); width: calc(820 * var(--u)); }
  .final__notes li { gap: calc(10 * var(--u)); font-size: max(9px, calc(14 * var(--u))); white-space: nowrap; }
  .final__notes .icon { font-size: calc(46 * var(--u)); }
  .final__scene { position: absolute; right: 0; top: 0; bottom: 0; width: calc(758 * var(--u)); margin: 0; }
  .final__scene img { width: 100%; height: 100%; object-fit: cover; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 20%); mask-image: linear-gradient(90deg, transparent 0, #000 20%); }
  .final__scene::before { display: none; }
  .final__tag { right: auto; left: calc(482 * var(--u)); top: calc(55 * var(--u)); text-align: left; }
  .final__tag strong { font-size: calc(21 * var(--u)); }
  .final__tag span { font-size: max(7px, calc(12 * var(--u))); margin-top: calc(4 * var(--u)); }
  .final__tag::after { content: ""; display: block; margin-top: calc(14 * var(--u)); width: calc(28 * var(--u)); height: 2px; background: #bd9a58; }
  .final__script { right: auto; bottom: auto; left: calc(505 * var(--u)); top: calc(175 * var(--u)); font-size: calc(40 * var(--u)); line-height: calc(46 * var(--u)); transform: rotate(-7deg); transform-origin: left top; }

  .footer { font-size: max(11px, calc(14 * var(--u))); background: #0e1c13; padding: 22px 20px; }
  .footer p { border-top: 0; padding-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn, .nav-toggle span { transition: none; }
}
