:root {
  --radius: .625rem;
  --ink: #022526; --deep: #033437; --teal: #0a4f4b; --aqua: #2fd8c0; --aqua-dark: #17a894; --aqua-light: #86f3e0;
  --mist: #e3f6f2; --foam: #f1fbf9; --sage: #cdeee7; --amber: #f6a623;
  --muted: #3c6662; --border: #9fd9cf;
  --cta: oklch(0.61 0.18 145); --cta-hover: oklch(0.53 0.17 145);
  --green: oklch(0.8 0.2 148); --red: oklch(0.7 0.21 25);
  --font-sans: "Montserrat", system-ui, sans-serif; --font-display: "Montserrat", system-ui, sans-serif; --font-accent: "Montserrat", system-ui, sans-serif;
}
.section-paper, .section-cream { --aqua: #0b8272; --aqua-light: #0b8272; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--foam); color: var(--deep); font-family: var(--font-sans); line-height: 1.5; text-rendering: optimizeLegibility; }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, p, figure { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
ul { margin: 0; padding: 0; list-style: none; }
figure { margin-inline: 0; margin-bottom: 0; }
a, button { -webkit-tap-highlight-color: transparent; }
s { text-decoration-thickness: 2px; }

.icon { width: 1em; height: 1em; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.shell { width: min(100% - 2rem, 70rem); margin-inline: auto; }
.narrow { max-width: 52rem; }
section { padding-block: 4rem; }
.section-dark { background: var(--ink); color: var(--mist); }
.section-paper { background: var(--foam); color: var(--deep); }
.section-cream { background: var(--mist); color: var(--deep); }
.center { text-align: center; }

/* Tipografia de seção */
.eyebrow { display: flex; align-items: center; justify-content: center; gap: .8rem; color: var(--aqua); font-size: .7rem; line-height: 1.3; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; text-align: center; }
.eyebrow span { width: 2rem; height: 1px; background: currentColor; flex: 0 0 auto; }
.section-heading { margin: 0 auto 2.5rem; text-align: center; }
.section-heading h2, .final-band h2 { margin: .9rem auto 0; max-width: 24ch; font-family: var(--font-display); font-size: clamp(2rem, 6vw, 3.2rem); line-height: 1.12; }
.section-heading h2 em, .final-band h2 em { color: var(--aqua); font-family: var(--font-accent); font-weight: 700; }
.section-heading-dark h2 { color: var(--mist); }
.lead { max-width: 62ch; margin: 0 auto 2.25rem; text-align: center; font-size: 1.05rem; line-height: 1.75; color: var(--muted); }
.light-text { color: color-mix(in oklab, var(--mist) 82%, transparent); }
.closing { max-width: 58ch; margin: 2rem auto 0; text-align: center; font-weight: 600; line-height: 1.65; }

/* Botão CTA (o verde é exclusivo dele) */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 3.5rem; padding: .6rem 1.5rem; border-radius: 10px; background: var(--cta); color: #fff; font: 700 .875rem/1.25 var(--font-sans); text-transform: uppercase; text-align: center; text-decoration: none; transition: background-color .2s; }
.btn:hover { background: var(--cta-hover); }
.btn:focus-visible { outline: 2px solid var(--aqua-light); outline-offset: 3px; }
.btn .icon { width: 1rem; height: 1rem; }
.cta-button { margin-top: 1.5rem; width: 100%; max-width: 27rem; }
.cta-note { margin: .8rem 0 0; color: color-mix(in oklab, var(--mist) 72%, transparent); font-size: .78rem; line-height: 1.5; }

/* 1. Hero (centralizado: logo, título, subtítulo, mockup, botão) */
.hero { padding-top: 1.75rem; padding-bottom: 2.5rem; overflow-x: clip; text-align: center; }
.hero-logo { width: min(84%, 21rem); margin: 0 auto 1.6rem; }
.hero-logo img { width: 100%; height: auto; }
.hero h1 { margin: 0 auto .9rem; max-width: 21ch; font-family: var(--font-display); font-size: clamp(1.85rem, 6.4vw, 3.5rem); line-height: 1.1; background: linear-gradient(100deg, var(--aqua-light), var(--aqua), var(--aqua-dark)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-subtitle { max-width: 44rem; margin: 0 auto; color: color-mix(in oklab, var(--mist) 86%, transparent); font-size: 1rem; line-height: 1.6; }
.hero-media { position: relative; isolation: isolate; width: min(92%, 46rem); margin: 1.1rem auto 0; }
.hero-media::before { content: ""; position: absolute; z-index: -1; inset: -10% -14%; background: radial-gradient(closest-side, rgba(47,216,192,.38), rgba(47,216,192,.12) 55%, rgba(2,37,38,0)); }
.hero-media::after { content: ""; position: absolute; z-index: -1; inset: 4% 8%; border: 1px solid color-mix(in oklab, var(--aqua) 38%, transparent); border-radius: 50%; }
/* no celular o mockup encolhe conforme a altura da tela, para o botão sempre caber na primeira tela */
.hero-media img { display: block; width: auto; max-width: 100%; height: auto; max-height: clamp(7.5rem, calc(100svh - 28rem), 13.2rem); margin: 0 auto; }
.hero .cta-button { margin-top: 1.1rem; }

/* 2. O que é */

/* 2. O que é (ícones) */
.what-lead { max-width: 46rem; margin: 0 auto 2rem; text-align: center; font-size: 1.1rem; line-height: 1.75; color: var(--muted); }
.what-list { display: grid; gap: 1.25rem; margin-bottom: 1.5rem; }
.what-list li { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.1rem; border: 1px solid color-mix(in oklab, var(--aqua) 55%, transparent); background: color-mix(in oklab, var(--sage) 40%, transparent); line-height: 1.55; font-weight: 500; }
.what .center { margin-top: .5rem; }

/* 3. O que inclui */
.includes-intro { display: grid; gap: 2rem; align-items: center; max-width: 52rem; margin: 0 auto 3rem; }
.cover-frame { width: min(70%, 17rem); margin-inline: auto; }
.cover-frame img { width: 100%; height: auto; border: 2px solid var(--aqua); border-radius: 4px; }
.includes-intro > div > p { margin-bottom: 1.25rem; line-height: 1.75; }
.subtitle-accent { margin: 3rem 0 1.5rem; text-align: center; font: italic 700 2rem/1.15 var(--font-accent); color: var(--aqua-light); }
.check-list { display: grid; gap: .85rem; }
.check-list li { display: flex; align-items: flex-start; gap: .7rem; line-height: 1.55; }
.check-list .icon { width: 1.2rem; height: 1.2rem; margin-top: .15rem; color: var(--aqua); stroke-width: 1.9; }
.check-list .icon-green { color: var(--green); }
.check-list-small { gap: .6rem; font-size: .9rem; }
.gallery-controls { display: flex; justify-content: center; gap: .75rem; margin-top: .75rem; }
.gallery-controls button { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid var(--aqua); border-radius: 50%; background: transparent; color: var(--aqua-light); cursor: pointer; }
.gallery-controls button:disabled { opacity: .3; cursor: default; }
.gallery-controls .icon { width: 1.1rem; height: 1.1rem; }
.rail { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: .15rem .1rem 1rem; scrollbar-width: thin; }
.rail > * { scroll-snap-align: center; }
.inside-image { flex: 0 0 72%; width: 72%; height: auto; border: 2px solid var(--aqua); border-radius: 4px; }
.learning-grid { display: grid; gap: 1.5rem; }
.learning-card { border-top: 1px solid var(--aqua); }
.learning-card img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border: 2px solid var(--aqua); border-radius: 4px; }
.learning-card > div { padding: 1.25rem .25rem .75rem; }
.learning-card h3 { margin-bottom: .55rem; font-family: var(--font-display); font-size: 1.4rem; line-height: 1.25; color: var(--aqua-light); }
.learning-card .transform { margin-bottom: 1rem; color: var(--mist); line-height: 1.6; font-size: .95rem; }
.learning-card .check-list { color: color-mix(in oklab, var(--mist) 82%, transparent); }
.advantages { margin-top: 3rem; padding: 1.75rem 1.4rem; border: 1px solid color-mix(in oklab, var(--aqua) 65%, transparent); }
.advantages h3 { margin-bottom: 1.25rem; text-align: center; font-family: var(--font-display); font-size: 1.5rem; color: var(--aqua-light); }
.advantages h3 em { font-family: var(--font-accent); font-weight: 700; }
.advantages .check-list { gap: 1rem; }

/* Receitas em destaque */
.featured-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.featured-grid img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border: 2px solid var(--aqua); border-radius: 4px; }
.featured-grid figcaption { padding: .7rem .1rem .5rem; font: 600 1rem/1.3 var(--font-display); }

/* Para quem é */
.who-grid { display: grid; gap: 1.75rem; }
.who-card { border-top: 1px solid var(--aqua); padding-top: 1.25rem; }
.who-photo { margin-bottom: 2.5rem; }
.who-photo img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; border: 2px solid var(--aqua); border-radius: 4px; }
.who-head { display: flex; align-items: center; gap: .9rem; margin-bottom: .9rem; }
.who-icon { display: grid; place-items: center; flex: 0 0 auto; width: 3rem; height: 3rem; border: 1px solid var(--aqua); border-radius: 50%; color: var(--aqua); }
.who-icon .icon { width: 1.4rem; height: 1.4rem; stroke-width: 1.5; }
.who-card h3 { margin: 0; font-family: var(--font-display); font-size: 1.3rem; line-height: 1.25; }
.who-card p { margin: 0; color: var(--muted); line-height: 1.6; }

/* Bônus */
.bonus-title { margin: 0 auto 1.25rem; max-width: 20ch; text-align: center; font: 700 clamp(2rem, 7vw, 3.4rem)/1.1 var(--font-display); text-transform: uppercase; background: linear-gradient(100deg, var(--aqua-light), var(--aqua), var(--aqua-dark)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.bonus-grid { display: grid; gap: 1.5rem; }
.bonus-card { border: 1px solid color-mix(in oklab, var(--aqua) 65%, transparent); background: var(--deep); }
.bonus-cover { position: relative; display: grid; place-items: center; min-height: 22rem; padding: 1.5rem; background: var(--teal); }
.bonus-tag { position: absolute; z-index: 1; top: 1rem; left: 1rem; display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .8rem; background: var(--aqua); color: var(--ink); font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.bonus-tag .icon { width: 1.1rem; height: 1.1rem; }
.bonus-cover img { width: min(100%, 15rem); height: 19rem; object-fit: contain; border-radius: 4px; }
.bonus-content { padding: 1.5rem; }
.bonus-content h3 { margin-bottom: .7rem; font-family: var(--font-display); font-size: 1.4rem; line-height: 1.25; color: var(--aqua-light); }
.bonus-price { margin: 0 0 1.1rem; font-size: 1.05rem; font-weight: 800; letter-spacing: .02em; }
.bonus-price .de { color: var(--red); }
.bonus-price .por { margin-left: .4rem; color: var(--green); }
.bonus-content .check-list { color: color-mix(in oklab, var(--mist) 85%, transparent); }
.bonus-close { max-width: 46rem; margin: 2.5rem auto 0; padding: 1.75rem 1.25rem; border-block: 1px solid var(--aqua); text-align: center; }
.bonus-close .big { margin-bottom: .5rem; font: 700 clamp(1.6rem, 6.4vw, 2.6rem)/1.25 var(--font-display); color: var(--mist); }
.bonus-close .big s, .bonus-close .big strong { color: var(--aqua-light); }
.bonus-close .free { margin-bottom: 1.1rem; font: 800 clamp(1.2rem, 4.6vw, 1.7rem)/1.35 var(--font-sans); color: var(--green); }
.bonus-close .push { margin: 0; color: var(--mist); font-weight: 700; font-size: 1.05rem; line-height: 1.6; }

/* Depoimentos */
.testimonial-rail .testimonial { flex: 0 0 82%; width: 82%; height: auto; border: 1px solid color-mix(in oklab, var(--aqua) 55%, transparent); border-radius: 4px; }
.disclaimer { margin-top: 1rem; color: var(--muted); text-align: center; font-size: .75rem; }

/* Oferta */
.offer-grid { display: grid; gap: 2.5rem; align-items: center; }
.offer-media img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; border: 2px solid var(--aqua); border-radius: 4px; }
.offer .section-heading { text-align: left; margin-bottom: 1.75rem; }
.offer .section-heading h2 { margin-left: 0; }
.section-heading h2 em.price-green { color: var(--green); font-family: var(--font-display); font-style: normal; font-weight: 700; }
.offer-list li .icon { width: 1.25rem; height: 1.25rem; }
.price-wrap { margin: 2rem 0 1rem; }
.price { margin: 0; color: var(--green); font: 700 clamp(2.8rem, 10vw, 4.5rem)/1 var(--font-display); }
.price-wrap p:last-child { margin: .5rem 0 0; color: var(--mist); font-size: .78rem; }
.offer-small { max-width: 52ch; margin-bottom: 0; color: color-mix(in oklab, var(--mist) 74%, transparent); font-size: .82rem; line-height: 1.6; }

/* Benefícios do acesso, garantia, FAQ */
.access-grid { display: grid; gap: 2rem; }
.guarantee { display: grid; justify-items: center; gap: 1.25rem; text-align: center; }
.guarantee > .icon { width: 4.5rem; height: 4.5rem; color: var(--aqua); stroke-width: 1.2; }
.guarantee .lead { margin-bottom: 0; }
.accordion { border-top: 1px solid var(--aqua); }
.accordion-item { border-bottom: 1px solid var(--aqua); }
.accordion-trigger { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 4.5rem; padding: 1rem 0; border: 0; background: transparent; color: var(--deep); font: 600 .95rem/1.4 var(--font-sans); text-align: left; cursor: pointer; }
.accordion-trigger .icon { color: var(--aqua); transition: transform .2s; }
.accordion-trigger[aria-expanded="true"] .icon { transform: rotate(180deg); }
.accordion-item > p { margin: 0; padding: 0 2.5rem 1.25rem 0; color: var(--muted); line-height: 1.65; }
.faq { padding-bottom: 0; }
.final-band { margin-top: 4rem; padding: 4rem 1rem; background: var(--ink); color: var(--mist); text-align: center; }
.final-band .shell { display: grid; justify-items: center; }
.final-band p { margin: 1rem 0 0; color: var(--aqua-light); }


/* Fade-in ao rolar (só com JavaScript ativo) */
.js .reveal { opacity: 0; transform: translateY(12px); transition: opacity .55s ease, transform .55s ease; }
.js .reveal.is-visible { opacity: 1; transform: none; }

@media (min-width: 640px) {
  .btn { min-height: 4rem; padding-inline: 2.5rem; }
  .who-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 768px) {
  section { padding-block: 5.5rem; }
  .hero { padding-top: 3rem; padding-bottom: 4.5rem; }
  .hero-logo { width: 26rem; margin-bottom: 2rem; }
  .hero-media { margin-top: 1.75rem; }
  .hero-media img { width: 100%; max-height: none; }
  .hero .cta-button { margin-top: 1.75rem; }
  .cta-button { width: auto; min-width: 22rem; }
  .what-list { grid-template-columns: repeat(2, 1fr); }
  .includes-intro { grid-template-columns: 17rem 1fr; gap: 3rem; }
  .cover-frame { width: 100%; }
  .inside-image { flex-basis: 27%; width: 27%; }
  .learning-grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
  .advantages { padding: 2.25rem 2.5rem; }
  .advantages .check-list { grid-template-columns: repeat(2, 1fr); gap: 1.1rem 2.5rem; }
  .featured-grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
  .bonus-grid { grid-template-columns: repeat(2, 1fr); }
  .testimonial-rail { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; overflow: visible; }
  .testimonial-rail .testimonial { width: 100%; }
  .testimonial-controls { display: none; }
  .offer-grid { grid-template-columns: .9fr 1.1fr; gap: 3rem; }
  .access-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
  .who-grid { grid-template-columns: repeat(4, 1fr); }
  .bonus-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .js .reveal { opacity: 1; transform: none; transition: none; } }
@media (prefers-reduced-motion: no-preference) { .cta-button { animation: cta-pulse 2.5s ease-in-out infinite; } }
@keyframes cta-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.02); } }


/* ───── Identidade turquesa (brilho suave atrás dos itens iluminados no fundo escuro) ───── */
body { background: var(--foam); }
em { font-style: normal; }
.section-heading h2, .final-band h2 { font-weight: 800; letter-spacing: -.01em; font-size: clamp(1.8rem, 5.6vw, 2.9rem); line-height: 1.15; }
.section-heading h2 em, .final-band h2 em { font-weight: 800; }
.final-band { --aqua: #2fd8c0; --aqua-light: #86f3e0; background: radial-gradient(ellipse at 50% 0%, #0a5c57, var(--ink) 70%); }
.final-band p { color: var(--aqua-light); }
.section-dark { background: radial-gradient(ellipse 70% 40% at 50% 0%, rgba(47,216,192,.14), rgba(2,37,38,0) 70%), var(--ink); }
.eyebrow { font-weight: 700; }
.subtitle-accent, .advantages h3 { font-style: normal; font-weight: 800; }
.subtitle-accent { font-size: clamp(1.4rem, 4.6vw, 1.9rem); }
.learning-card h3, .bonus-content h3, .who-card h3, .advantages h3 { font-weight: 800; }
.hero h1, .bonus-title { font-weight: 800; letter-spacing: -.01em; }
.hero h1 { font-size: clamp(1.45rem, 5vw, 2.7rem); max-width: 24ch; background: linear-gradient(100deg, var(--aqua-light), var(--aqua) 55%, var(--aqua-dark)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.bonus-title { font-size: clamp(1.7rem, 6.2vw, 3rem); background: linear-gradient(100deg, var(--aqua-light), var(--aqua) 55%, var(--aqua-dark)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.bonus-close .big { font-weight: 800; font-size: clamp(1.35rem, 5.4vw, 2.2rem); }

/* Título do produto (no lugar do logo) */
.hero-brand { margin: 0 auto 1.4rem; text-align: center; text-transform: uppercase; }
.hero-brand .kicker { display: inline-block; margin-bottom: .55rem; padding: .35rem .9rem; border: 1px solid color-mix(in oklab, var(--aqua) 60%, transparent); border-radius: 999px; background: rgba(47,216,192,.1); color: var(--aqua-light); font-size: .72rem; font-weight: 800; letter-spacing: .2em; }
.hero-brand .small { display: block; font-size: .85rem; color: var(--aqua); font-size: .78rem; font-weight: 700; letter-spacing: .32em; }
.hero-brand .big { display: block; margin-top: .15rem; color: #fff; font-size: clamp(2.3rem, 11vw, 4.6rem); font-weight: 900; line-height: 1; letter-spacing: -.01em; text-shadow: 0 0 30px rgba(47,216,192,.35); }
.hero-brand .big2 { display: block; margin-top: .2rem; color: var(--aqua); font-size: clamp(1.15rem, 5.6vw, 2.3rem); font-weight: 800; line-height: 1.05; text-shadow: 0 0 24px rgba(47,216,192,.4); }
.hero-media img { max-height: clamp(8rem, calc(100svh - 24rem), 17rem); filter: drop-shadow(0 0 28px rgba(47,216,192,.35)); }

/* Chips de números (+300 mapas etc.) */
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin: 0 auto 2rem; max-width: 36rem; }
.stat { padding: .9rem .4rem; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; text-align: center; box-shadow: 0 6px 22px rgba(11,130,114,.12); }
.stat b { display: block; color: var(--aqua); font-size: clamp(1.5rem, 6vw, 2.1rem); font-weight: 900; line-height: 1.1; }
.stat span { display: block; margin-top: .15rem; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }

/* Brilho nos elementos iluminados sobre o fundo escuro */
.section-dark .cover-frame img, .section-dark .inside-image, .section-dark .learning-card img, .section-dark .offer-media img {
  border-color: var(--aqua); box-shadow: 0 0 0 1px rgba(47,216,192,.25), 0 0 34px rgba(47,216,192,.28); }
.section-dark .inside-image { background: #fff; }
.section-dark .cover-frame img { border-radius: 6px; box-shadow: 0 0 0 1px rgba(47,216,192,.3), 0 0 60px rgba(47,216,192,.38); }
.advantages { background: rgba(47,216,192,.06); box-shadow: 0 0 40px rgba(47,216,192,.1) inset; border-color: color-mix(in oklab, var(--aqua) 55%, transparent); }
.section-dark .check-list .icon { filter: drop-shadow(0 0 6px rgba(47,216,192,.6)); }
.bonus-card { background: var(--deep); box-shadow: 0 0 36px rgba(47,216,192,.14); }
.bonus-cover { background: radial-gradient(closest-side, rgba(47,216,192,.28), var(--teal) 95%); }
.bonus-cover img { border: 0; filter: drop-shadow(0 8px 24px rgba(0,0,0,.45)); background: none; }
.bonus-tag { background: var(--amber); color: #3a2300; }
.learning-card { border-top-color: color-mix(in oklab, var(--aqua) 60%, transparent); }
.who-icon { box-shadow: 0 0 18px rgba(47,216,192,.28); background: rgba(47,216,192,.1); }
.section-dark .who-icon { box-shadow: 0 0 22px rgba(47,216,192,.4); }
.what-list li { background: #fff; border-color: var(--border); box-shadow: 0 6px 22px rgba(11,130,114,.1); border-radius: var(--radius); }
.what-list .who-icon { color: #0b8272; border-color: #0b8272; }
.featured-grid img { border: 2px solid var(--border); border-radius: 8px; box-shadow: 0 8px 26px rgba(11,130,114,.18); object-position: top; }
.featured-grid figcaption { font-weight: 700; font-family: var(--font-sans); font-size: .92rem; }
.who-photo img { border-color: var(--border); }
.who-card { border-top-color: #0b8272; }
.accordion, .accordion-item { border-color: var(--border); }
.guarantee > .icon { color: #0b8272; }

/* Depoimentos (cartões com foto/iniciais) */
.t-card { display: flex; flex-direction: column; gap: 1rem; flex: 0 0 84%; padding: 1.4rem 1.3rem; border: 1px solid var(--border); border-radius: 12px; background: #fff; box-shadow: 0 8px 28px rgba(11,130,114,.14); }
.t-head { display: flex; align-items: center; gap: .85rem; }
.t-avatar { display: grid; place-items: center; flex: 0 0 auto; width: 3.4rem; height: 3.4rem; border-radius: 50%; overflow: hidden; background: linear-gradient(135deg, #17a894, #0a5c57); color: #fff; font-size: 1.1rem; font-weight: 800; box-shadow: 0 0 0 3px rgba(47,216,192,.35); }
.t-avatar img { width: 100%; height: 100%; object-fit: cover; }
.t-name { margin: 0; font-weight: 800; font-size: 1rem; line-height: 1.25; }
.t-role { margin: .1rem 0 0; color: var(--muted); font-size: .8rem; line-height: 1.35; }
.t-stars { display: flex; gap: .15rem; color: #f2a516; }
.t-stars .icon { width: 1rem; height: 1rem; fill: currentColor; stroke: none; }
.t-text { margin: 0; line-height: 1.65; font-size: .95rem; }
.testimonial-rail .t-card { width: auto; }
@media (min-width: 768px) {
  .testimonial-rail { grid-template-columns: repeat(3, 1fr); }
  .t-card { flex: 1 1 auto; }
}
.access-grid .who-card { border-top-color: #0b8272; }
.legal { max-width: 46rem; margin: 2rem auto 0; color: color-mix(in oklab, var(--mist) 65%, transparent); font-size: .72rem; line-height: 1.6; }

.hero-brand .top { display: block; color: #fff; font-size: clamp(1.15rem, 5.4vw, 2.2rem); font-weight: 800; letter-spacing: .06em; line-height: 1.1; }
.hero-brand .top b { color: var(--aqua); font-size: 1.75em; font-weight: 900; letter-spacing: 0; text-shadow: 0 0 30px rgba(47,216,192,.5); }
.hero-media img { max-height: clamp(7rem, calc(100svh - 27rem), 17rem); }
.hero-brand .top { font-size: clamp(.95rem, 4.3vw, 2.2rem); letter-spacing: .03em; white-space: nowrap; }

/* ───── Cópia do site de referência: componentes novos ───── */
.hero h1 { font-size: clamp(1.2rem, 4.3vw, 2.2rem); max-width: 30ch; }
.hero-subtitle { font-size: .95rem; max-width: 40rem; }
.stats.two { grid-template-columns: repeat(2, 1fr); max-width: 24rem; }
.stars-row { justify-content: center; margin-bottom: 1rem; }
.stars-row .icon { width: 1.4rem; height: 1.4rem; }
.what .section-heading h2 { font-size: clamp(1.4rem, 4.8vw, 2.1rem); max-width: 30ch; }

/* Vista previa com legenda */
.inside-fig { flex: 0 0 72%; margin: 0; }
.inside-fig .inside-image { width: 100%; flex: none; }
.inside-fig figcaption { padding: .7rem .15rem .2rem; font-weight: 800; font-size: .95rem; line-height: 1.3; color: var(--mist); }
.inside-fig figcaption small, .featured-grid figcaption small { display: block; margin-bottom: .1rem; color: var(--aqua); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.featured-grid figcaption small { color: var(--aqua); }
.areas-head { margin-top: 3.5rem; }
.areas-head .section-heading { margin-bottom: 1rem; }

/* Cards de áreas (numerados) */
.lc-img { position: relative; }
.lc-num { position: absolute; top: .75rem; left: .75rem; padding: .3rem .65rem; border-radius: 6px; background: var(--aqua); color: var(--ink); font-size: .85rem; font-weight: 900; letter-spacing: .06em; box-shadow: 0 0 18px rgba(47,216,192,.6); }

/* Todo organizado */
.advantages.organized { text-align: center; }
.advantages.organized .eyebrow { margin-bottom: .6rem; }
.advantages.organized h3 { margin-bottom: .8rem; font-size: clamp(1.5rem, 5vw, 2.1rem); }
.advantages.organized > p { max-width: 46rem; margin: 0 auto 1.4rem; line-height: 1.65; }
.topics { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem; }
.topics li { padding: .45rem .85rem; border: 1px solid color-mix(in oklab, var(--aqua) 55%, transparent); border-radius: 999px; background: rgba(47,216,192,.08); font-size: .82rem; font-weight: 600; box-shadow: 0 0 14px rgba(47,216,192,.15); }

/* Para quién (6) */
.who-simple { display: flex; align-items: flex-start; gap: 1rem; padding-top: 1.1rem; }
.who-simple p { color: var(--deep); font-weight: 500; }
.who-grid.six { grid-template-columns: 1fr; }
@media (min-width: 768px) { .who-grid.six { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .who-grid.six { grid-template-columns: repeat(3, 1fr); } }

/* Bônus */
.bonus-eyebrow { margin-bottom: .9rem; }
.hojas { display: inline-block; margin-bottom: .6rem; padding: .25rem .65rem; border-radius: 999px; background: rgba(47,216,192,.14); border: 1px solid color-mix(in oklab, var(--aqua) 50%, transparent); color: var(--aqua-light); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bonus-desc { margin: 0 0 .8rem; line-height: 1.6; font-size: .92rem; color: color-mix(in oklab, var(--mist) 85%, transparent); }
.bonus-line { margin: 0; font-weight: 800; color: var(--aqua-light); }
@media (min-width: 1024px) { .bonus-grid { grid-template-columns: repeat(2, 1fr); } }

/* Oferta */
.offer .eyebrow { justify-content: flex-start; }
.offer .eyebrow span:first-child { display: none; }
.offer-lead { margin: -.8rem 0 1.4rem; color: color-mix(in oklab, var(--mist) 85%, transparent); line-height: 1.6; }
.plan-badge { display: inline-block; margin: 0 0 .5rem; padding: .3rem .8rem; border-radius: 999px; background: var(--amber); color: #3a2300; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.plan-name { margin: 0 0 1.1rem; font-weight: 800; font-size: 1.1rem; color: var(--aqua-light); }
.price-old { margin: 0 0 .2rem; color: color-mix(in oklab, var(--mist) 65%, transparent); font-size: 1.15rem; font-weight: 700; }
.installments { margin-top: .2rem !important; font-weight: 700; color: var(--mist) !important; font-size: .95rem !important; }

/* Paso a paso */
.steps { display: grid; gap: 1.1rem; }
.step { padding: 1.3rem 1.2rem; border: 1px solid var(--border); border-radius: 12px; background: #fff; box-shadow: 0 8px 26px rgba(11,130,114,.12); }
.step-num { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; margin-bottom: .8rem; border-radius: 50%; background: linear-gradient(135deg, #17a894, #0a5c57); color: #fff; font-weight: 900; box-shadow: 0 0 0 4px rgba(47,216,192,.28); }
.step h3 { margin: 0 0 .4rem; font-size: 1.05rem; font-weight: 800; }
.step p { margin: 0; color: var(--muted); line-height: 1.55; font-size: .92rem; }
@media (min-width: 768px) { .steps { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .steps { grid-template-columns: repeat(5, 1fr); } }
@media (min-width: 1024px) { .testimonial-rail { grid-template-columns: repeat(4, 1fr); } .inside-fig { flex-basis: 24%; } }
@media (min-width: 768px) and (max-width: 1023px) { .inside-fig { flex-basis: 30%; } }
.final-band .legal b { color: var(--mist); }
.lead { margin-bottom: 1.8rem; }
