/* Método Seno: landing page de vendas
   Conceito: a página é o estúdio da Seno. Assinatura visual: a película (linha de refile + reflexo).
   Amarelo microfibra exclusivo dos botões de compra. */

/* 1. TOKENS */
:root{
  color-scheme: dark;

  --bg-0:#050B1D; --bg-1:#0B1638; --bg-deep:#030816;
  --surface-1:#0E1A3F; --surface-2:#14245A;
  --brand:#2C3D90; --brand-deep:#1B2A6E;
  --electric:#1F5BFF; --electric-ink:#7FA3FF; --focus:#8FB0FF;
  --ink:#EEF2FF; --ink-2:#A8B3D4; --ink-3:#8C99C0;
  --cta:#F6C431; --cta-hover:#FFD35A; --cta-active:#DDA914; --cta-ink:#0A1230;
  --line:rgba(143,176,255,.16); --line-strong:rgba(143,176,255,.32);
  --refile:rgba(214,226,255,.22);
  --success:#4FD69C;

  --font-display:"Saira","Segoe UI",Roboto,Arial,sans-serif;
  --font-text:"Atkinson Hyperlegible Next","Segoe UI",Roboto,Arial,sans-serif;

  --fs-display: clamp(3.25rem, 2.6rem + 3.2vw, 5.5rem);
  --fs-h1: clamp(2rem, 1.45rem + 2.8vw, 4.25rem);
  --fs-hero: clamp(1.875rem, 1.35rem + 2.1vw, 3.375rem);
  --fs-h2: clamp(1.625rem, 1.3rem + 1.6vw, 3rem);
  --fs-h3: clamp(1.1875rem, 1.1rem + .45vw, 1.5rem);
  --fs-quote: clamp(1.375rem, 1.05rem + 1.4vw, 2.25rem);
  --fs-lead: clamp(1.125rem, 1.05rem + .4vw, 1.375rem);
  --fs-body: clamp(1.0625rem, 1.03rem + .15vw, 1.1875rem);
  --fs-small: clamp(.9375rem, .92rem + .1vw, 1rem);
  --fs-micro: .875rem;

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px;
  --s-7:32px; --s-8:40px; --s-9:48px; --s-10:64px; --s-11:80px; --s-12:96px; --s-13:128px;
  --section-y: clamp(4rem, 2.8rem + 5vw, 8rem);
  --head-gap: clamp(1.75rem, 1.2rem + 1.4vw, 3rem);
  --block-gap: clamp(2rem, 1.6rem + 1.2vw, 3rem);
  --gutter: clamp(1.25rem, .85rem + 1.8vw, 2.5rem);

  --r-big: clamp(20px, 1rem + 1vw, 28px);
  --r-small: 6px;
  --r-seno: var(--r-big) var(--r-small) var(--r-big) var(--r-small);
  --r-seno-sm: 14px 4px 14px 4px;
  --r-btn: 28px 6px 28px 6px;
  --r-btn-sm: 16px 4px 16px 4px;
  --refile-inset: 6px;
  --r-seno-inner: calc(var(--r-big) - var(--refile-inset)) 2px calc(var(--r-big) - var(--refile-inset)) 2px;
  --r-pill: 999px;

  --shadow-cta: 0 12px 28px -12px rgba(246,196,49,.55), inset 0 1px 0 rgba(255,255,255,.45);
  --shadow-cta-hover: 0 18px 36px -14px rgba(246,196,49,.7), inset 0 1px 0 rgba(255,255,255,.5);
  --shadow-cta-active: 0 6px 14px -8px rgba(246,196,49,.5), inset 0 1px 0 rgba(0,0,0,.08);
  --shadow-price: 0 40px 90px -40px rgba(31,91,255,.55);
  --shadow-float: 0 24px 48px -28px rgba(0,0,0,.7);
  --glow-thumb: 0 0 0 6px rgba(31,91,255,.28);

  --ease-out: cubic-bezier(.22,.61,.36,1);
  --ease-inout: cubic-bezier(.65,0,.35,1);
  --dur-1: 160ms;
  --dur-2: 280ms;
  --dur-3: 900ms;

  --header-h: 60px;
  --sticky-h: 68px;
}
@media (min-width:1024px){
  :root{ --refile-inset: 8px; --header-h: 72px; }
}
@supports (interpolate-size: allow-keywords){
  :root{ interpolate-size: allow-keywords; }
}

/* 2. BASE */
*,*::before,*::after{ box-sizing:border-box; }
html{
  -webkit-text-size-adjust:100%; text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:80px;
  background:var(--bg-0);
}
@media (max-width:1023.98px){
  html{ scroll-padding-bottom:96px; }
}
body{
  margin:0;
  min-width:320px;
  background:var(--bg-0);
  color:var(--ink);
  font-family:var(--font-text);
  font-size:var(--fs-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:clip;
}
img,video,svg{ display:block; max-width:100%; }
img,video{ height:auto; }
h1,h2,h3,p,figure,blockquote,dl,dd,ol,ul{ margin:0; }
ol,ul{ padding:0; }
h1,h2,h3{
  font-family:var(--font-display);
  color:var(--ink);
  text-wrap:balance;
  overflow-wrap:break-word;
}
h1{ font-size:var(--fs-h1); font-stretch:118%; font-weight:750; line-height:1.04; letter-spacing:-.012em; }
h2{ font-size:var(--fs-h2); font-stretch:115%; font-weight:700; line-height:1.08; letter-spacing:-.01em; max-width:22ch; }
h3{ font-size:var(--fs-h3); font-stretch:108%; font-weight:650; line-height:1.2; }
p{ text-wrap:pretty; overflow-wrap:break-word; }
strong,b{ font-weight:700; color:var(--ink); }
a{ color:inherit; }
button{ font:inherit; color:inherit; }

:focus-visible{ outline:3px solid var(--focus); outline-offset:3px; }
main:focus{ outline:none; }

.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.skip-link{
  position:fixed; top:12px; left:12px; z-index:60;
  padding:12px 18px; border-radius:var(--r-btn-sm);
  background:var(--cta); color:var(--cta-ink);
  font-family:var(--font-display); font-stretch:110%; font-weight:700; text-decoration:none;
}
.skip-link:not(:focus){
  width:1px; height:1px; padding:0; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}

.nowrap{ white-space:nowrap; }
/* quebras de linha: sem palavra sozinha na última linha */
.modules__topics li, .list-star li > span, .price__trust li > span, .caption{ text-wrap:pretty; }
.faq__q{ text-wrap:balance; }
.hero__micro, .support > span{ text-wrap:balance; }

.icon{
  width:24px; height:24px; flex:none;
  fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round;
}

.sentinel{ position:absolute; left:0; width:1px; pointer-events:none; visibility:hidden; }
.sentinel--top{ top:0; height:24px; }
.sentinel--logo{ top:0; height:200px; }

/* 3. LAYOUT */
.container{
  width:min(100% - 2 * max(var(--gutter), env(safe-area-inset-left), env(safe-area-inset-right)), var(--cw, 1200px));
  margin-inline:auto;
}
.container--wide{ --cw:1320px; }
.container--text{ --cw:680px; }

.section{
  position:relative;
  padding-block:var(--section-y);
  border-top:1px solid rgba(143,176,255,.08);
}
.bg-0{ background:var(--bg-0); }
.bg-1{ background:var(--bg-1); }
.bg-beams{
  background:
    radial-gradient(70% 55% at 50% 0%, rgba(31,91,255,.22), rgba(31,91,255,0) 70%),
    linear-gradient(104deg, transparent 0 34%, rgba(31,91,255,.13) 40%, transparent 47%),
    linear-gradient(104deg, transparent 0 56%, rgba(31,91,255,.09) 61%, transparent 67%),
    var(--bg-0);
}

.lead{
  font-size:var(--fs-lead);
  line-height:1.5;
  color:var(--ink-2);
  max-width:44ch;
  margin-top:clamp(16px, 14px + .4vw, 20px);
}
.prose{ color:var(--ink-2); max-width:52ch; }
.prose p + p{ margin-top:1em; }
.section-head{ margin-bottom:var(--head-gap); }
.caption{
  margin-top:12px;
  font-size:var(--fs-micro);
  line-height:1.4;
  color:var(--ink-3);
  max-width:48ch;
}

/* 4. PELÍCULA (assinatura) */
.film{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:var(--r-seno);
}
.film::before{
  content:""; position:absolute; inset:var(--refile-inset); z-index:2; pointer-events:none;
  border:1px solid var(--refile); border-radius:var(--r-seno-inner);
  background:linear-gradient(115deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.025) 30%, rgba(255,255,255,0) 50%);
}
.film::after{
  content:""; position:absolute; top:-25%; bottom:-25%; left:0; width:42%; z-index:3; pointer-events:none;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.22) 50%, rgba(255,255,255,0) 100%);
  transform:translateX(-170%) skewX(-18deg); opacity:0;
}
.film.is-lit::after{ animation:sheen 1100ms var(--ease-out) 1 both; }
.film--bare::before{ display:none; }
.film > .film__body{ position:relative; z-index:4; }
@keyframes sheen{
  0%{ transform:translateX(-170%) skewX(-18deg); opacity:0; }
  12%{ opacity:1; }
  100%{ transform:translateX(330%) skewX(-18deg); opacity:0; }
}
@keyframes sheen-hover{
  0%{ transform:translateX(-170%) skewX(-18deg); opacity:0; }
  12%{ opacity:1; }
  100%{ transform:translateX(330%) skewX(-18deg); opacity:0; }
}
@media (hover:hover) and (pointer:fine){
  .film--hover:hover::after{ animation:sheen-hover 1100ms var(--ease-out) 1 both; }
}

.frame{ background:var(--surface-1); }
.frame > img{ width:100%; height:100%; object-fit:cover; }
.frame--4x5{ aspect-ratio:4 / 5; }
.frame--3x4{ aspect-ratio:3 / 4; }

/* revelação "aplicar película" (só depois que o main.js prepara a revelação, e sem redução de movimento) */
@media (prefers-reduced-motion: no-preference){
  .reveal-ready [data-reveal="film"]{
    clip-path:inset(0 100% 0 0 round var(--r-big) var(--r-small) var(--r-big) var(--r-small));
    transition:clip-path var(--dur-3) var(--ease-inout);
  }
  .reveal-ready [data-reveal="film"].is-in{
    clip-path:inset(0 0 0 0 round var(--r-big) var(--r-small) var(--r-big) var(--r-small));
  }
  .reveal-ready [data-reveal="film"].is-done{ clip-path:none; transition:none; }
}

/* 5. BOTÕES */
.btn-cta{
  position:relative; isolation:isolate; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center;
  width:100%; max-width:420px; min-height:56px; padding:0 28px;
  border-radius:var(--r-btn);
  background:var(--cta); color:var(--cta-ink);
  font-family:var(--font-display); font-stretch:110%; font-weight:700;
  font-size:1.0625rem; line-height:1.15; letter-spacing:.01em; text-align:center;
  text-decoration:none;
  box-shadow:var(--shadow-cta);
  transition:transform var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out), opacity var(--dur-2) var(--ease-out), visibility var(--dur-2);
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.btn-cta::after{
  content:""; position:absolute; top:-30%; bottom:-30%; left:0; width:42%; z-index:-1; pointer-events:none;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0));
  transform:translateX(-180%) skewX(-18deg); opacity:0;
}
.btn-cta.is-lit::after{ animation:sheen 700ms var(--ease-out) 1 both; }
@media (hover:hover) and (pointer:fine){
  .btn-cta:hover{ background:var(--cta-hover); transform:translateY(-2px); box-shadow:var(--shadow-cta-hover); }
  .btn-cta:hover::after{ animation:sheen-hover 700ms var(--ease-out) 1 both; }
}
.btn-cta:active{
  transform:translateY(1px); background:var(--cta-active); box-shadow:var(--shadow-cta-active);
  transition-duration:80ms;
}
@media (max-width:399.98px){
  .btn-cta{ padding:0 18px; letter-spacing:0; }
}
@media (max-width:359.98px){
  .btn-cta:not(.btn-cta--sm){ font-size:1rem; padding-inline:14px; }
}
.btn-cta--sm{
  width:auto; min-height:44px; padding:0 16px;
  font-size:.9375rem; border-radius:var(--r-btn-sm);
}
@media (min-width:1024px){
  .btn-cta{ width:auto; min-height:60px; padding:0 32px; white-space:nowrap; }
  .btn-cta--sm{ min-height:44px; padding:0 18px; }
}

.cta-block{ margin-top:var(--block-gap); }
.support{
  display:flex; align-items:flex-start; gap:8px;
  margin-top:12px; max-width:44ch;
  font-size:var(--fs-micro); line-height:1.4; color:var(--ink-2);
}
.support .icon{ width:14px; height:14px; margin-top:2px; stroke-width:2; }

.btn-ghost{
  display:inline-flex; align-items:center; gap:10px;
  min-height:48px; padding:0 20px;
  border:1px solid var(--line-strong); border-radius:var(--r-seno-sm);
  background:transparent; color:var(--ink);
  font-family:var(--font-display); font-stretch:108%; font-weight:650; font-size:1rem; line-height:1.2;
  text-decoration:none; cursor:pointer;
  transition:border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out);
}
.btn-ghost .icon{ width:18px; height:18px; }
@media (hover:hover) and (pointer:fine){
  .btn-ghost:hover{ border-color:var(--electric-ink); background:rgba(143,176,255,.08); }
}
.btn-ghost:active{ background:rgba(143,176,255,.14); }

.link-play{
  display:inline-flex; align-items:center; gap:12px;
  min-height:44px;
  color:var(--ink-2);
  text-decoration:underline; text-underline-offset:4px; text-decoration-color:rgba(168,179,212,.45);
  font-size:var(--fs-small);
  transition:color var(--dur-1) var(--ease-out);
}
.link-play__icon{
  display:grid; place-items:center; flex:none;
  width:28px; height:28px; border-radius:50%;
  border:1px solid var(--line-strong); color:var(--ink);
}
.link-play__icon .icon{ width:12px; height:12px; margin-left:1px; }
@media (hover:hover) and (pointer:fine){
  .link-play:hover{ color:var(--ink); }
  .link-play:hover .link-play__icon{ border-color:var(--electric-ink); }
}

/* 6. COMPONENTES COMUNS */
.icon-box{
  display:grid; place-items:center; flex:none;
  width:48px; height:48px;
  border-radius:var(--r-seno-sm);
  background:rgba(31,91,255,.14);
  border:1px solid rgba(127,163,255,.3);
  color:var(--electric-ink);
}
.icon-box .icon{ width:26px; height:26px; }

.card{
  background:var(--surface-1);
  border:1px solid var(--line);
  padding:clamp(22px, 18px + 1vw, 32px);
}
.bg-1 .card{ background:var(--surface-2); }

.list-star{ list-style:none; display:grid; gap:12px; }
.list-star li{ display:grid; grid-template-columns:14px 1fr; column-gap:12px; }
.list-star .icon{ width:14px; height:14px; margin-top:.4em; color:var(--electric-ink); }

/* 7. HEADER */
.site-header{
  position:fixed; inset:0 0 auto; z-index:50;
  height:calc(var(--header-h) + env(safe-area-inset-top));
  display:grid; grid-template-columns:auto 1fr auto; align-items:center;
  padding-left:max(var(--gutter), env(safe-area-inset-left), calc((100% - 1200px) / 2));
  padding-right:max(var(--gutter), env(safe-area-inset-right), calc((100% - 1200px) / 2));
  padding-top:env(safe-area-inset-top);
  background:linear-gradient(to bottom, rgba(5,11,29,.6), rgba(5,11,29,0));
  background-repeat:no-repeat;
  border-bottom:1px solid transparent;
  transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);
}
.site-header.is-scrolled{
  background:rgba(5,11,29,.86);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  backdrop-filter:blur(14px) saturate(1.4);
  border-bottom-color:var(--line);
}
.site-header__logo{
  display:inline-flex; align-items:center;
  min-height:44px; min-width:44px;
  border-radius:6px;
  transition:opacity 200ms var(--ease-out), visibility 200ms;
}
.site-header__logo img{ height:22px; width:auto; }
.site-header__cta{ grid-column:3; }
.site-header.cta-hidden .site-header__cta{ opacity:0; visibility:hidden; }
.no-js .site-header.cta-hidden .site-header__cta{ opacity:1; visibility:visible; }
@media (max-width:1023.98px){
  .js .site-header:not(.show-logo) .site-header__logo{ opacity:0; visibility:hidden; }
  /* com a barra fixa na tela, o header (que só mostra o logo) sai de cena e devolve espaço de leitura */
  body.sticky-on .site-header{ transform:translateY(-100%); }
  body.sticky-on .site-header:focus-within{ transform:none; }
}
@media (min-width:1024px){
  .site-header__logo img{ height:28px; }
}

/* 8. HERO */
.hero{
  position:relative;
  background:var(--bg-0);
  padding-bottom:clamp(48px, 36px + 3vw, 80px);
}
.hero__media{
  position:relative;
  height:60vh;
  height:clamp(400px, 60svh, 600px);
  border-radius:0;
  background:var(--bg-0);
}
.hero__media img{
  width:100%; height:100%;
  object-fit:cover; object-position:50% 0%;
}
.hero__shade{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(to bottom, rgba(5,11,29,0) 45%, rgba(5,11,29,.75) 80%, var(--bg-0) 100%);
}
.hero__body{
  position:relative; z-index:2;
  margin-top:-112px;
}
.hero h1{
  font-size:var(--fs-hero);
  font-stretch:112%;
  line-height:1.06;
  max-width:20ch;
}
.hero__lead{
  margin-top:14px;
  max-width:46ch;
  color:var(--ink-2);
  font-size:var(--fs-body);
  line-height:1.55;
}
.hero__actions{
  display:grid; justify-items:start;
  margin-top:22px;
}
.hero__micro{
  margin-top:10px;
  font-size:var(--fs-micro); line-height:1.4; color:var(--ink-2);
  max-width:44ch;
}
.hero .link-play{ margin-top:8px; }

.proof{
  --refile-inset:4px; --r-seno-inner:10px 2px 10px 2px;
  list-style:none;
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  margin-top:16px; max-width:580px;
  border:1px solid var(--line);
  border-radius:var(--r-seno-sm);
  background:rgba(14,26,63,.55);
}
.proof li{
  position:relative; z-index:4;
  display:flex; flex-direction:column;
  padding:10px 10px 12px;
  border-left:1px solid var(--line);
}
.proof li:first-child{ border-left:0; }
.proof__pre{ font-size:var(--fs-micro); line-height:1.3; color:var(--ink-3); }
.proof__value{
  font-family:var(--font-display); font-stretch:112%; font-weight:700;
  font-size:1.25rem; line-height:1.15; color:var(--ink);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.proof__label{ margin-top:2px; font-size:var(--fs-micro); line-height:1.3; color:var(--ink-2); }
@media (prefers-reduced-motion: no-preference){
  .js .proof::before{ clip-path:inset(0 100% 0 0); }
  .js .proof.is-drawn::before{ clip-path:inset(0 0 0 0); transition:clip-path 700ms var(--ease-inout); }
}

@media (min-width:640px) and (max-width:1023.98px){
  .hero__media{
    width:min(80%, 640px); margin-left:auto;
    height:clamp(460px, 66svh, 660px);
    -webkit-mask-image:linear-gradient(to right, transparent 0, #000 32%);
    mask-image:linear-gradient(to right, transparent 0, #000 32%);
  }
  .hero__media img{ object-position:60% 0%; }
  .hero__body{ margin-top:-150px; }
}
@media (min-width:1024px){
  .hero{
    min-height:min(100svh, 940px);
    display:flex; align-items:center;
    padding-block:calc(var(--header-h) + 64px) 72px;
  }
  .hero__media{
    position:absolute; top:0; right:0; bottom:0;
    width:min(58vw, 1000px); height:auto;
    -webkit-mask-image:linear-gradient(to right, transparent 0, rgba(0,0,0,.3) 20%, #000 42%);
    mask-image:linear-gradient(to right, transparent 0, rgba(0,0,0,.3) 20%, #000 42%);
  }
  .hero__media img{ object-position:62% 6%; }
  .hero__shade{ background:linear-gradient(to bottom, rgba(5,11,29,0) 82%, var(--bg-0) 100%); }
  .hero__body{ margin-top:0; }
  .hero__content{ max-width:600px; }
  .hero h1{ max-width:17ch; }
  .hero__lead{ margin-top:24px; font-size:var(--fs-lead); line-height:1.5; max-width:44ch; }
  .hero__actions{
    margin-top:32px;
    grid-template-columns:auto auto; justify-content:start; align-items:center;
    column-gap:24px;
  }
  .hero__micro{ grid-column:1 / -1; grid-row:2; margin-top:12px; }
  .hero .link-play{ margin-top:0; }
  .proof{ margin-top:36px; }
  .proof li{ padding:14px 18px 16px; }
  .proof__value{ font-size:1.5rem; }
}
@media (min-width:1024px) and (max-width:1279.98px){
  .hero__content{ max-width:520px; }
  .hero__actions{ grid-template-columns:auto; }
  .hero__micro{ grid-row:2; }
  .hero .link-play{ grid-row:3; margin-top:12px; }
}
/* celular e tablet: o botão vem logo depois do título, para cair na primeira tela */
@media (max-width:1023.98px){
  .hero__content{ display:flex; flex-direction:column; }
  .hero h1{ order:1; }
  .hero__actions{ order:2; margin-top:20px; }
  .hero__lead{ order:3; margin-top:20px; }
  .proof{ order:4; }
}
/* abaixo de 640 a foto é escalada pela largura: o texto sobe só até a base da raquete */
@media (max-width:639.98px){
  .hero__body{ margin-top:max(-112px, calc(97vw - clamp(400px, 60svh, 600px))); }
}

/* 9. PROBLEMA */
.problema{ display:grid; gap:var(--block-gap); }
.problema__text .prose{ margin-top:var(--s-6); }
.problema__media{ position:relative; }
.problema__media .frame{ max-width:560px; }

.callout{
  position:absolute; left:var(--x); top:var(--y); z-index:4;
  display:flex; flex-direction:column; align-items:flex-start;
  transform:translate(-14px, -14px);
  pointer-events:none;
}
.callout__dot{
  display:grid; place-items:center;
  width:28px; height:28px; border-radius:50%;
  border:1px solid var(--ink);
  background:rgba(5,11,29,.5);
  color:var(--ink);
}
.callout__dot .icon{ width:16px; height:16px; }
.callout__line{ width:1px; height:36px; margin-left:13.5px; background:var(--ink); }
.callout__label{
  padding:6px 10px;
  border-radius:var(--r-seno-sm);
  background:rgba(5,11,29,.72);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  font-size:var(--fs-micro); line-height:1.3; color:var(--ink);
  white-space:nowrap;
}

.reasons{
  list-style:none;
  display:grid;
  border-top:1px solid var(--line);
}
.reasons__item{
  display:grid; grid-template-columns:48px 1fr; column-gap:16px; row-gap:6px;
  padding-block:24px;
  border-bottom:1px solid var(--line);
}
.reasons__item .icon-box{ grid-row:span 2; }
.reasons__item p{ color:var(--ink-2); font-size:var(--fs-small); line-height:1.55; }

@media (min-width:1024px){
  .problema{
    grid-template-columns:repeat(12, minmax(0,1fr));
    column-gap:clamp(16px, 2vw, 32px);
    row-gap:var(--s-10);
    align-items:center;
  }
  .problema__text{ grid-column:1 / span 6; }
  .problema__media{ grid-column:8 / span 5; }
  .problema__media .frame{ max-width:none; }
  .reasons{
    grid-column:1 / -1;
    grid-template-columns:repeat(3, minmax(0,1fr));
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .reasons__item{
    grid-template-columns:1fr; row-gap:14px;
    padding:32px 32px 36px;
    border-bottom:0;
    border-left:1px solid var(--line);
    align-content:start;
  }
  .reasons__item:first-child{ border-left:0; padding-left:0; }
  .reasons__item .icon-box{ grid-row:auto; }
}
/* celular e tablet: a foto do close vem logo depois do lead */
@media (max-width:1023.98px){
  .problema{ display:flex; flex-direction:column; gap:0; }
  .problema__text{ display:contents; }
  .problema__text > h2{ order:1; }
  .problema__text > .lead{ order:2; }
  .problema__media{ order:3; margin-top:var(--s-7); }
  .problema__text > .prose{ order:4; margin-top:var(--s-7); }
  .reasons{ order:5; margin-top:var(--block-gap); }
}

/* 10. PPF */
.ppf{ display:grid; gap:var(--block-gap); }
.ppf__story{ max-width:62ch; }

.lineage{
  list-style:none;
  position:relative;
  display:grid; gap:20px;
  padding-left:0;
}
.lineage::before{
  content:""; position:absolute; left:19.5px; top:20px; bottom:20px;
  border-left:1px solid var(--line-strong);
}
.lineage__item{
  position:relative;
  display:grid; grid-template-columns:40px 1fr; column-gap:16px; align-items:center;
}
.lineage__icon{
  grid-row:span 2;
  display:grid; place-items:center;
  width:40px; height:40px; border-radius:50%;
  background:var(--surface-1);
  border:1px solid var(--line-strong);
  color:var(--electric-ink);
  box-shadow:0 0 0 6px var(--bg-0);
}
.lineage__icon .icon{ width:22px; height:22px; }
.lineage__tag{ font-size:var(--fs-micro); line-height:1.3; color:var(--ink-3); align-self:end; }
.lineage__item h3{ font-size:1.0625rem; font-stretch:108%; align-self:start; }
.lineage__item--now .lineage__icon{ background:var(--brand); border-color:var(--electric); color:var(--ink); }

.props{ list-style:none; display:grid; border-top:1px solid var(--line); }
.props__item{
  display:grid; grid-template-columns:48px 1fr; column-gap:16px;
  padding-block:20px;
  border-bottom:1px solid var(--line);
}
.props__item h3{ font-size:1.125rem; }
.props__item p{ margin-top:4px; color:var(--ink-2); font-size:var(--fs-small); line-height:1.5; }

.test{ align-self:start; }
.test__title{ font-size:var(--fs-h3); }
.test__grid{
  display:grid; grid-template-columns:1fr 1fr;
  margin-top:20px;
  border-top:1px solid var(--line);
}
.test__cell{ padding:18px 0 4px; }
.test__cell + .test__cell{ border-left:1px solid var(--line); padding-left:18px; }
.test__cell dt{
  display:flex; align-items:center; gap:8px;
  font-size:var(--fs-micro); color:var(--ink-2);
}
.test__cell dt .icon{ width:18px; height:18px; color:var(--electric-ink); }
.test__value{
  display:block; margin-top:8px;
  font-family:var(--font-display); font-stretch:118%; font-weight:800;
  font-size:clamp(2rem, 1.6rem + 1.4vw, 2.75rem); line-height:1;
  letter-spacing:-.01em; color:var(--ink);
}
.test__note{ display:block; margin-top:6px; font-size:var(--fs-micro); color:var(--ink-2); line-height:1.35; }
.test__legend{ margin-top:18px; font-size:var(--fs-micro); line-height:1.4; color:var(--ink-3); }

@media (min-width:640px){
  .props{ grid-template-columns:1fr 1fr; column-gap:32px; }
  .props__item:last-child:nth-child(odd){ grid-column:1 / -1; }
}
@media (min-width:1024px){
  .ppf{
    grid-template-columns:repeat(12, minmax(0,1fr));
    column-gap:clamp(16px, 2vw, 32px);
    row-gap:var(--s-10);
  }
  .ppf__head{ grid-column:1 / span 7; }
  .ppf__story{ grid-column:9 / span 4; align-self:end; font-size:var(--fs-small); }
  .lineage{
    grid-column:1 / -1;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:clamp(16px, 2vw, 32px);
  }
  .lineage::before{
    left:28px; right:calc((100% - 3 * clamp(16px, 2vw, 32px)) / 4 - 28px); top:28px; bottom:auto;
    border-left:0; border-top:1px solid var(--line-strong);
  }
  .lineage__item{ grid-template-columns:1fr; row-gap:6px; align-items:start; align-content:start; }
  .lineage__icon{ grid-row:auto; width:56px; height:56px; margin-bottom:14px; }
  .lineage__icon .icon{ width:26px; height:26px; }
  .lineage__item h3{ font-size:var(--fs-h3); }
  .ppf__grid{
    grid-column:1 / -1;
    display:grid; grid-template-columns:repeat(12, minmax(0,1fr));
    column-gap:clamp(16px, 2vw, 32px);
  }
  .props{ grid-column:1 / span 7; }
  .test{ grid-column:9 / span 4; }
}
@media (max-width:1023.98px){
  .ppf__grid{ display:grid; gap:var(--block-gap); }
}

/* 11. A CONTA QUE FECHA */
.conta{ display:grid; gap:var(--block-gap); }

.ledger{ margin-top:var(--s-8); max-width:460px; }
.ledger__title,
.refs__title{
  font-size:1.0625rem; font-stretch:108%; font-weight:650; color:var(--ink);
}
.ledger dl{ margin-top:12px; }
.ledger__row{
  display:flex; align-items:baseline; gap:8px;
  padding-block:10px;
}
.ledger__row dt{
  flex:1; min-width:0;
  display:flex; align-items:baseline; gap:8px;
  color:var(--ink-2);
}
.ledger__row dt::after{
  content:""; flex:1; min-width:16px;
  border-bottom:1px dotted var(--line-strong);
  transform:translateY(-4px);
}
.ledger__row dd{
  font-family:var(--font-display); font-stretch:112%; font-weight:700;
  font-variant-numeric:tabular-nums; color:var(--ink); white-space:nowrap;
}
.ledger__row dd small{ font-family:var(--font-text); font-weight:400; font-size:var(--fs-micro); color:var(--ink-2); }
.ledger__row--total{ border-top:1px solid var(--line-strong); margin-top:6px; padding-top:14px; }
.ledger__row--total dt{ color:var(--ink); font-weight:700; }
.ledger__row--total dd{ font-weight:800; font-size:1.25rem; }

.payback{ margin-top:var(--s-7); max-width:460px; }
.payback__bar{ list-style:none; display:flex; gap:4px; }
.payback__bar li{
  flex:1; height:10px; border-radius:3px;
  background:rgba(143,176,255,.18);
}
.payback__bar li.is-full{ background:var(--electric); }
.payback--intro .payback__bar li{ transition:background-color 220ms var(--ease-out) calc(var(--i) * 60ms); }
.payback__text{
  margin-top:14px;
  font-family:var(--font-display); font-stretch:108%; font-weight:650;
  font-size:1.125rem; line-height:1.35; color:var(--ink);
}
.payback__hint{ margin-top:6px; font-size:var(--fs-micro); line-height:1.4; color:var(--ink-3); }

.refs{ margin-top:var(--s-7); max-width:460px; }
.refs ul{ list-style:none; margin-top:10px; border-top:1px solid var(--line); }
.refs li{
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:4px 16px;
  padding-block:10px; border-bottom:1px solid var(--line);
  font-size:var(--fs-small); color:var(--ink-2);
}
.refs li span:last-child{ color:var(--ink); text-align:right; }

.calc{
  background:var(--surface-2);
  border:1px solid var(--line);
  box-shadow:var(--shadow-float);
  padding:24px;
}
.calc__label{ display:block; font-size:1.0625rem; line-height:1.4; color:var(--ink); font-weight:700; }
.calc__value{
  display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px;
  margin-top:14px;
  color:var(--ink-2); font-size:var(--fs-small);
}
.calc__value output{
  font-family:var(--font-display); font-stretch:125%; font-weight:800;
  font-size:var(--fs-display); line-height:.95; letter-spacing:-.02em;
  font-variant-numeric:tabular-nums; color:var(--ink);
}

.range{
  -webkit-appearance:none; appearance:none;
  display:block; width:100%; height:44px; margin:10px 0 0;
  background:transparent; cursor:pointer;
  --ratio:0; --fill:calc(16px + (100% - 32px) * var(--ratio));
}
.range::-webkit-slider-runnable-track{
  height:8px; border-radius:999px;
  background:linear-gradient(to right, var(--electric) 0 var(--fill), rgba(143,176,255,.2) var(--fill) 100%);
}
.range::-moz-range-track{ height:8px; border-radius:999px; background:rgba(143,176,255,.2); }
.range::-moz-range-progress{ height:8px; border-radius:999px; background:var(--electric); }
.range::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:32px; height:32px; margin-top:-12px; border:0; border-radius:50%;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232C3D90' d='M12.4 0C12.9 6.9 15.6 10.6 24 12C15.6 13.4 12.9 17.1 11.6 24C11.1 17.1 8.4 13.4 0 12C8.4 10.6 11.1 6.9 12.4 0Z'/%3E%3C/svg%3E") center / 16px no-repeat;
  box-shadow:var(--glow-thumb), 0 4px 12px rgba(0,0,0,.5);
  transition:transform var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);
}
.range::-moz-range-thumb{
  width:32px; height:32px; border:0; border-radius:50%;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232C3D90' d='M12.4 0C12.9 6.9 15.6 10.6 24 12C15.6 13.4 12.9 17.1 11.6 24C11.1 17.1 8.4 13.4 0 12C8.4 10.6 11.1 6.9 12.4 0Z'/%3E%3C/svg%3E") center / 16px no-repeat;
  box-shadow:var(--glow-thumb), 0 4px 12px rgba(0,0,0,.5);
}
.range:active::-webkit-slider-thumb{ transform:scale(1.1); box-shadow:0 0 0 10px rgba(31,91,255,.3), 0 4px 12px rgba(0,0,0,.5); }
.range:active::-moz-range-thumb{ transform:scale(1.1); box-shadow:0 0 0 10px rgba(31,91,255,.3), 0 4px 12px rgba(0,0,0,.5); }
.range:focus-visible{ outline:none; }
.range:focus-visible::-webkit-slider-thumb{ box-shadow:0 0 0 3px var(--surface-2), 0 0 0 6px var(--focus); }
.range:focus-visible::-moz-range-thumb{ box-shadow:0 0 0 3px var(--surface-2), 0 0 0 6px var(--focus); }

.calc__scale{
  display:flex; justify-content:space-between;
  padding-inline:10px;
  font-size:var(--fs-micro); color:var(--ink-2); line-height:1.2;
}
.calc__presets{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; margin-top:16px; }
.chip-btn{
  display:inline-flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:52px; padding:6px 4px;
  border:1px solid var(--line-strong); border-radius:var(--r-seno-sm);
  background:transparent; color:var(--ink);
  font-family:var(--font-display); font-stretch:108%; font-weight:650; font-size:.9375rem;
  cursor:pointer;
  transition:background-color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out);
  touch-action:manipulation;
}
@media (hover:hover) and (pointer:fine){
  .chip-btn:hover{ border-color:var(--electric-ink); background:rgba(143,176,255,.08); }
}
.chip-btn__n{ font-size:1.125rem; line-height:1.1; font-stretch:118%; font-weight:800; font-variant-numeric:tabular-nums; }
.chip-btn__u{ white-space:nowrap; font-family:var(--font-text); font-weight:400; font-stretch:100%; font-size:var(--fs-micro); line-height:1.2; color:var(--ink-2); }
@media (min-width:480px){
  .chip-btn{ flex-direction:row; gap:6px; min-height:44px; }
  .chip-btn__n{ font-size:1rem; }
}
.chip-btn[aria-pressed="true"]{ background:rgba(31,91,255,.22); border-color:var(--electric-ink); }
.chip-btn:active{ background:rgba(143,176,255,.14); }

.calc__results{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  margin-top:22px; padding-top:20px;
  border-top:1px solid var(--line);
}
.calc__main{ grid-column:1 / -1; padding-bottom:18px; border-bottom:1px solid var(--line); }
.calc__main dt,
.calc__cell dt{ font-size:var(--fs-micro); color:var(--ink-2); line-height:1.3; }
.calc__big{
  margin-top:6px;
  font-family:var(--font-display); font-stretch:125%; font-weight:800;
  font-size:var(--fs-display); line-height:.95; letter-spacing:-.02em;
  font-variant-numeric:tabular-nums; color:var(--ink);
  white-space:nowrap;
}
.calc__cell{ display:flex; flex-direction:column; padding:14px 8px 0 0; }
.calc__cell + .calc__cell{ padding-left:10px; border-left:1px solid var(--line); }
.calc__cell dd{
  margin-top:auto; padding-top:4px;
  font-family:var(--font-display); font-stretch:112%; font-weight:700;
  font-size:clamp(1.0625rem, .95rem + .5vw, 1.375rem); line-height:1.1;
  font-variant-numeric:tabular-nums; color:var(--ink);
  white-space:nowrap;
}
.calc__sentence{
  margin-top:20px; padding:14px 16px;
  border-radius:var(--r-seno-sm);
  background:rgba(5,11,29,.35);
  border:1px solid var(--line);
  font-size:var(--fs-small); line-height:1.5; color:var(--ink);
}
.calc__note{ margin-top:16px; font-size:var(--fs-micro); line-height:1.45; color:var(--ink-3); }

.conta__calc .cta-block{ margin-top:28px; }

@media (max-width:389.98px){
  .calc{ padding:20px 16px; }
}
/* celular: um resultado por linha, rótulo à esquerda e valor à direita */
@media (max-width:639.98px){
  .calc__results{ grid-template-columns:1fr; }
  .calc__cell, .calc__cell + .calc__cell{ flex-direction:row; justify-content:space-between; align-items:baseline; gap:12px; padding:12px 0 0; border-left:0; }
  .calc__cell dd{ margin-top:0; padding-top:0; }
}
@media (min-width:1024px){
  .conta{
    grid-template-columns:repeat(12, minmax(0,1fr));
    column-gap:clamp(16px, 2vw, 32px);
    align-items:start;
  }
  .conta__intro{ grid-column:1 / span 5; }
  .conta__calc{ grid-column:7 / span 6; }
  .calc{ padding:40px; }
}
/* as referências rápidas repetem a calculadora: só aparecem se ela não carregar */
.calc-ready .refs{ display:none; }
/* celular e tablet: a barra de 6 traços e a calculadora sobem para logo depois do lead */
@media (max-width:1023.98px){
  .conta{ display:flex; flex-direction:column; gap:0; }
  .conta__intro, .conta__calc{ display:contents; }
  .conta__intro > h2{ order:1; }
  .conta__intro > .lead{ order:2; }
  .payback{ order:3; margin-top:var(--s-7); }
  .calc{ order:4; margin-top:var(--s-6); }
  .ledger{ order:5; margin-top:var(--block-gap); }
  .conta__calc > .cta-block{ order:6; }
  .refs{ order:7; }
}

/* 12. PROCESSO: VÍDEOS */
.processo__head{ margin-bottom:var(--head-gap); }
.reel-wrap{ position:relative; }
.reel{
  list-style:none;
  display:grid; grid-auto-flow:column; grid-auto-columns:min(64vw, 280px); gap:12px;
  overflow-x:auto; overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  padding-inline:var(--gutter); scroll-padding-inline:var(--gutter);
  scrollbar-width:none;
  border-radius:4px;
}
.reel::-webkit-scrollbar{ display:none; }
.reel:focus-visible{ outline-offset:-3px; }
.reel__item{ scroll-snap-align:start; min-width:0; }
.reel__frame{
  aspect-ratio:9 / 16;
  background:var(--surface-1);
}
.reel__frame::after{ display:none; }
.reel__frame video{
  width:100%; height:100%; object-fit:cover;
  position:relative; z-index:0;
  background:var(--surface-1);
  cursor:pointer;
}
.reel__toggle{
  position:absolute; right:10px; bottom:10px; z-index:5;
  display:grid; place-items:center;
  width:44px; height:44px; padding:0; border-radius:50%;
  background:rgba(5,11,29,.6);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border:1px solid var(--line-strong);
  color:var(--ink); cursor:pointer;
  transition:transform var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out);
}
.reel__toggle[hidden]{ display:none; }
.reel__toggle .icon{ width:16px; height:16px; }
.reel__toggle .icon--pause{ display:none; }
.reel__frame.is-playing .reel__toggle .icon--play{ display:none; }
.reel__frame.is-playing .reel__toggle .icon--pause{ display:block; }
.reel__toggle:active{ transform:scale(.94); }
.reel__frame.is-manual:not(.is-playing) .reel__toggle{
  right:auto; bottom:auto; left:50%; top:50%;
  width:56px; height:56px; margin:-28px 0 0 -28px;
  background:rgba(5,11,29,.7);
}
.reel__frame.is-manual:not(.is-playing) .reel__toggle .icon{ width:22px; height:22px; margin-left:2px; }
.reel__title{ margin-top:14px; font-size:1.0625rem; font-stretch:108%; font-weight:650; }
.reel__text{ margin-top:4px; font-size:var(--fs-small); line-height:1.5; color:var(--ink-2); }

.reel__progress{
  position:relative; overflow:hidden;
  width:120px; height:2px;
  margin:24px var(--gutter) 0;
  background:var(--line);
}
.reel__progress span{
  position:absolute; inset:0 auto 0 0;
  width:100%;
  background:var(--electric);
  transform-origin:left center;
  transform:scaleX(var(--p, .25));
}
.no-js .reel__progress{ display:none; }

.processo__foot{ margin-top:var(--block-gap); }
.processo__tools{ max-width:52ch; color:var(--ink-2); font-size:var(--fs-small); }
.processo__foot .cta-block{ margin-top:24px; }

@media (min-width:640px) and (max-width:1023.98px){
  .reel{ grid-auto-columns:38vw; gap:16px; }
}
@media (min-width:1024px){
  .processo__head{
    display:grid; grid-template-columns:repeat(12, minmax(0,1fr));
    column-gap:clamp(16px, 2vw, 32px); align-items:end;
  }
  .processo__head h2{ grid-column:1 / span 6; }
  .processo__head .lead{ grid-column:8 / span 5; margin-top:0; }
  .reel{
    width:min(100% - 2 * var(--gutter), 1320px); margin-inline:auto;
    grid-auto-flow:row; grid-template-columns:repeat(5, minmax(0,1fr)); grid-auto-columns:auto;
    gap:20px; overflow:visible; padding-inline:0;
  }
  .reel__progress{ display:none; }
  .processo__foot{
    display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px 48px;
  }
  .processo__foot .cta-block{ margin-top:0; }
}

/* 13. RONAN */
.ronan{ display:grid; gap:var(--block-gap); }
.ronan__portrait .frame img{ object-position:50% 20%; }
.ronan__story .lead{ max-width:40ch; }

.timeline{
  list-style:none;
  position:relative;
  display:grid; gap:28px;
  margin-top:var(--s-8);
  padding-left:32px;
}
.timeline::before{
  content:""; position:absolute; left:7px; top:10px; bottom:10px;
  border-left:1px solid var(--line-strong);
}
.timeline__item{ position:relative; }
.timeline__mark{
  position:absolute; left:-32px; top:3px;
  width:14px; height:14px;
  color:var(--electric-ink);
  background:var(--bg-1);
  box-shadow:0 0 0 6px var(--bg-1);
  border-radius:50%;
}
.timeline__tag{
  display:block;
  font-family:var(--font-display); font-stretch:110%; font-weight:700;
  font-size:.9375rem; line-height:1.2; color:var(--electric-ink);
}
.timeline__item h3{ margin-top:6px; }
.timeline__item p{ margin-top:8px; color:var(--ink-2); max-width:58ch; }
.timeline__photo{ margin-top:20px; max-width:400px; }
.timeline__photo .frame img{ object-position:50% 47%; }
.ronan__now{
  margin-top:28px; padding-left:32px;
  font-family:var(--font-display); font-stretch:108%; font-weight:650;
  font-size:var(--fs-h3); line-height:1.3; color:var(--ink);
}

.quote{ padding-top:var(--s-4); }
.quote__star{ width:28px; height:28px; color:var(--electric-ink); }
.quote blockquote{ margin-top:20px; }
.quote blockquote p{
  font-family:var(--font-display); font-stretch:104%; font-weight:600;
  font-size:var(--fs-quote); line-height:1.25; letter-spacing:-.005em;
  color:var(--ink); max-width:26ch; text-wrap:balance;
}
.quote figcaption{ margin-top:16px; font-size:.9375rem; color:var(--ink-2); }

.brand-box{
  display:grid; grid-template-columns:40px 1fr; gap:16px;
  align-items:start;
  padding-top:var(--s-7);
  border-top:1px solid var(--line);
}
.brand-box__mark{ width:40px; height:auto; margin-top:8px; }
.brand-box__word{
  font-family:var(--font-display); font-stretch:125%; font-weight:800;
  font-size:var(--fs-h2); line-height:1.05; letter-spacing:-.01em;
  color:var(--ink-3);
}
.brand-box__word b{ color:var(--ink); font-weight:800; }
.brand-box__text{ margin-top:10px; color:var(--ink-2); max-width:48ch; }
.ronan__cta{ margin-top:0; }

@media (min-width:1024px){
  .ronan{
    grid-template-columns:repeat(12, minmax(0,1fr));
    column-gap:clamp(16px, 2vw, 32px);
    row-gap:var(--s-10);
    align-items:start;
  }
  /* o limite do sticky é a coluna do retrato (linha 1), e não o grid inteiro: a foto não cobre a citação */
  .ronan__portrait{ grid-column:1 / span 5; grid-row:1; align-self:stretch; }
  .ronan__portrait > .frame{ position:sticky; top:104px; }
  .ronan__story{ grid-column:7 / span 6; grid-row:1; }
  .timeline__photo{ max-width:70%; }
  .quote{
    grid-column:1 / -1;
    display:grid; grid-template-columns:48px 1fr; column-gap:24px;
    padding-top:var(--s-10);
    border-top:1px solid var(--line);
  }
  .quote__star{ grid-row:span 2; margin-top:10px; }
  .quote blockquote{ margin-top:0; }
  .quote blockquote p{ max-width:30ch; }
  .brand-box{ grid-column:1 / -1; grid-row:3; padding-right:min(40%, 420px); }
  .ronan__cta{ grid-column:1 / -1; grid-row:3; justify-self:end; align-self:center; padding-top:var(--s-7); }
  .ronan__cta .btn-cta{ white-space:nowrap; }
}
/* celular e tablet: a citação sobe para logo depois do lead */
@media (max-width:1023.98px){
  .ronan{ display:flex; flex-direction:column; gap:0; }
  .ronan__story{ display:contents; }
  .ronan__portrait{ order:1; }
  .ronan__story > h2{ order:2; margin-top:var(--block-gap); }
  .ronan__story > .lead{ order:3; }
  .quote{ order:4; margin-top:var(--s-7); }
  .timeline{ order:5; }
  .ronan__now{ order:6; }
  .brand-box{ order:7; margin-top:var(--block-gap); }
  .ronan__cta{ order:8; margin-top:var(--block-gap); }
}

/* 14. PARA QUEM É */
.profiles{ list-style:none; display:grid; gap:16px; }
.profiles .card h3{ margin-top:20px; }
.profiles .card p{ margin-top:10px; color:var(--ink-2); font-size:var(--fs-small); line-height:1.55; }
.not-for{
  margin-top:var(--block-gap);
  padding:clamp(22px, 18px + 1vw, 32px);
  border:1px solid var(--line);
  border-radius:var(--r-seno-sm);
}
.not-for h3{ font-size:var(--fs-h3); }
.list-x{ list-style:none; display:grid; gap:16px; margin-top:18px; }
.list-x li{ display:grid; grid-template-columns:18px 1fr; column-gap:12px; }
.list-x .icon{ width:18px; height:18px; margin-top:.25em; color:var(--ink-3); }
.list-x p{ color:var(--ink-2); font-size:var(--fs-small); line-height:1.55; }
@media (min-width:640px) and (max-width:1023.98px){
  .profiles{ grid-template-columns:1fr 1fr; }
  .profiles > li:last-child{ grid-column:1 / -1; }
}
@media (min-width:1024px){
  .profiles{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(16px, 2vw, 32px); }
  .list-x{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:32px; }
}

/* 15. MÓDULOS */
.modules{ list-style:none; margin-top:var(--head-gap); border-bottom:1px solid var(--line); }
.modules__item{
  display:grid; grid-template-columns:44px 1fr; column-gap:12px;
  padding-block:20px;
  border-top:1px solid var(--line);
  transition:background-color var(--dur-1) var(--ease-out);
}
.modules__num{
  grid-row:span 2;
  font-family:var(--font-display); font-stretch:125%; font-weight:800;
  font-size:1.5rem; line-height:1; color:var(--electric-ink);
  font-variant-numeric:tabular-nums;
  padding-top:2px;
}
.modules__group{ padding:32px 0 12px; border-top:1px solid var(--line); }
.modules__group:first-child{ padding-top:0; border-top:0; }
.modules__group-title{
  font-family:var(--font-display); font-stretch:110%; font-weight:700;
  font-size:var(--fs-micro); line-height:1.4; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink-2);
}
.modules__group-num{ color:var(--electric-ink); margin-right:6px; }
.modules__title{ font-size:1.125rem; font-stretch:108%; font-weight:650; line-height:1.3; }
.modules__topics{
  list-style:none; margin-top:8px;
  display:grid; gap:6px;
  font-size:var(--fs-small); line-height:1.5; color:var(--ink-2);
}
.modules__topics li{ position:relative; padding-left:16px; }
.modules__topics li::before{
  content:""; position:absolute; left:0; top:.68em;
  width:6px; height:1px; background:var(--electric-ink);
}
@media (min-width:1024px){
  .modulos{
    display:grid; grid-template-columns:repeat(12, minmax(0,1fr));
    column-gap:clamp(16px, 2vw, 32px);
    align-items:start;
  }
  .modulos__head{ grid-column:1 / span 4; grid-row:1 / span 2; position:sticky; top:104px; }
  .modules{ grid-column:6 / span 7; margin-top:0; }
  .modulos__cta{ grid-column:6 / span 7; }
  .modules__item{
    grid-template-columns:64px minmax(0,1fr) minmax(0,1.3fr); column-gap:24px;
    padding:24px 16px 24px 8px;
  }
  .modules__num{ grid-row:auto; font-size:1.75rem; }
  .modules__topics{ margin-top:0; }
}
@media (hover:hover) and (pointer:fine) and (min-width:1024px){
  .modules__item:hover{ background:rgba(143,176,255,.04); }
}
/* de 1024 a 1279 a tabela de 3 colunas fica estreita: os tópicos vão para baixo do título */
@media (min-width:1024px) and (max-width:1279.98px){
  .modules__item{ grid-template-columns:48px minmax(0,1fr); }
  .modules__num{ grid-row:span 2; }
  .modules__topics{ margin-top:8px; }
}

/* 16. BASTIDORES */
.bastidores{ display:grid; gap:var(--block-gap); }
.bastidores__main .frame img{ object-position:50% 38%; }
.bastidores__text .prose{ margin-top:var(--s-6); }
.bastidores__pair{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
  margin-top:var(--block-gap);
}
.bastidores__pair .frame img{ object-position:50% 50%; }
.bastidores__pair figure:last-child .frame img{ object-position:50% 45%; }
.bastidores__text .cta-block{ margin-top:var(--block-gap); }
@media (max-width:1023.98px){
  .bastidores{ display:flex; flex-direction:column; gap:0; }
  .bastidores__text{ display:contents; }
  .bastidores__text > h2,
  .bastidores__text > .lead,
  .bastidores__text > .prose{ order:1; }
  .bastidores__main{ order:2; margin-top:var(--block-gap); }
  .bastidores__pair{ order:3; margin-top:16px; }
  .bastidores__text > .cta-block{ order:4; }
}
@media (min-width:1024px){
  .bastidores{
    grid-template-columns:repeat(12, minmax(0,1fr));
    column-gap:clamp(16px, 2vw, 32px);
    align-items:end;
  }
  .bastidores__main{ grid-column:1 / span 6; }
  .bastidores__text{ grid-column:8 / span 5; padding-bottom:calc(1.4em + 12px); }
  .bastidores__pair{ gap:16px; }
}
@media (min-width:1024px) and (max-width:1279.98px){
  .bastidores{ align-items:center; }
  .bastidores__text{ padding-bottom:0; }
}

/* 17. OFERTA */
.oferta{ display:grid; gap:var(--block-gap); }
.oferta h2{ max-width:18ch; }
.anchor{
  margin-top:var(--s-8);
  padding-top:var(--s-7);
  border-top:1px solid var(--line);
  max-width:520px;
}
.anchor h3{ font-size:var(--fs-h3); }
.anchor__math{
  margin-top:12px;
  font-family:var(--font-display); font-stretch:108%; font-weight:700;
  font-size:clamp(1.25rem, 1.05rem + .9vw, 1.75rem); line-height:1.3;
  color:var(--ink);
}
.anchor .list-star{ margin-top:20px; color:var(--ink-2); }

.price{
  width:100%; max-width:520px;
  padding:28px 22px;
  background:linear-gradient(160deg, #2C3D90 0%, #1B2A6E 55%, #14245A 100%);
  border:1px solid rgba(143,176,255,.35);
  box-shadow:var(--shadow-price);
}
.price__glint{
  position:absolute; top:22px; right:22px; z-index:5;
  width:16px; height:16px; color:var(--ink);
  transform:scale(0) rotate(0deg);
}
.price.is-lit .price__glint{ animation:glint 700ms var(--ease-out) 900ms 1 both; }
@keyframes glint{
  0%{ transform:scale(0) rotate(0deg); }
  50%{ transform:scale(1) rotate(45deg); }
  100%{ transform:scale(0) rotate(90deg); }
}
.price__name{ font-size:clamp(1.5rem, 1.3rem + .8vw, 2rem); font-stretch:118%; font-weight:750; }
.price__desc{ margin-top:6px; color:var(--ink); font-size:var(--fs-small); }
.price__list{ margin-top:20px; font-size:var(--fs-small); line-height:1.5; color:var(--ink); }
.price__list .icon{ color:var(--ink); }
.price__rule{
  position:relative; height:10px; margin:26px 0 22px;
  color:var(--ink-2);
}
.price__rule::after{
  content:""; position:absolute; left:18px; right:0; top:50%;
  border-top:1px solid var(--refile);
}
.price__rule .icon{ width:10px; height:10px; }
.price__label{ font-size:var(--fs-small); color:var(--ink-2); }
.price__amount{
  display:flex; align-items:flex-start; gap:6px;
  margin-top:6px;
  font-family:var(--font-display); color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.price__currency{ font-stretch:110%; font-weight:700; font-size:clamp(1.3rem, 1.04rem + 1.28vw, 2.2rem); line-height:1; margin-top:.3em; }
.price__number{ font-stretch:125%; font-weight:800; font-size:var(--fs-display); line-height:.95; letter-spacing:-.02em; }
.price__terms{ margin-top:10px; color:var(--ink); font-size:var(--fs-body); }
.price__alt{ color:var(--ink-2); font-size:var(--fs-small); }
.price__cta{ margin-top:24px; width:100%; max-width:none; }
.price__trust{ list-style:none; display:grid; gap:10px; margin-top:16px; }
.price__trust li{ display:grid; grid-template-columns:16px 1fr; column-gap:10px; font-size:var(--fs-micro); line-height:1.4; color:var(--ink-2); }
.price__trust .icon{ width:16px; height:16px; margin-top:1px; color:var(--ink); }
/* a 320 o botão do card só cabe em uma linha com o respiro lateral menor, como o da calculadora */
@media (max-width:359.98px){
  .price{ padding-inline:16px; }
}

@media (min-width:1024px){
  .oferta{
    grid-template-columns:repeat(12, minmax(0,1fr));
    column-gap:clamp(16px, 2vw, 32px);
    align-items:center;
  }
  .oferta__text{ grid-column:1 / span 6; }
  .oferta__price{ grid-column:8 / span 5; display:flex; justify-content:flex-end; }
  .price{ padding:44px 44px 40px; }
}
/* celular e tablet: o card de preço vem logo depois do título e da linha de apoio */
@media (max-width:1023.98px){
  .oferta{ display:flex; flex-direction:column; gap:0; }
  .oferta__text{ display:contents; }
  .oferta h2{ order:1; }
  .oferta__text > .lead{ order:2; }
  .oferta__price{ order:3; margin-top:var(--s-7); }
  .anchor{ order:4; margin-top:var(--block-gap); }
}

/* 18. GARANTIA */
.garantia{ display:grid; gap:24px; }
.seal{ position:relative; width:64px; height:64px; color:var(--electric-ink); }
.seal__shield{ width:100%; height:100%; fill:rgba(31,91,255,.14); stroke:currentColor; stroke-width:1.4; stroke-linejoin:round; }
.seal__num{
  position:absolute; inset:0; display:grid; place-items:center; padding-bottom:4px;
  font-family:var(--font-display); font-stretch:125%; font-weight:800;
  font-size:1.5rem; line-height:1; color:var(--ink);
}
.garantia__badge{
  display:inline-block; margin-top:14px;
  padding:6px 12px; border-radius:var(--r-pill);
  border:1px solid var(--line-strong);
  font-size:var(--fs-micro); color:var(--ink);
}
.garantia .prose{ margin-top:20px; }
@media (min-width:1024px){
  .garantia{ grid-template-columns:96px 1fr; gap:32px; align-items:start; }
  .seal{ width:96px; height:96px; }
  .seal__num{ font-size:2.25rem; }
}

/* 19. FAQ */
.faq-layout{ display:grid; gap:var(--head-gap); }
@media (max-width:1023.98px){
  .faq-layout__aside{ display:contents; }
  .faq-layout h2{ order:0; }
  .faq{ order:1; }
  .faq-help{ order:2; margin-top:0; }
}
.faq-help{ margin-top:var(--s-6); }
.faq-help p{ color:var(--ink-2); margin-bottom:12px; }
.faq{ border-bottom:1px solid var(--line); }
.faq__item{ border-top:1px solid var(--line); }
.faq__item summary{
  display:grid; grid-template-columns:1fr 32px; gap:16px; align-items:center;
  min-height:64px; padding:18px 0;
  cursor:pointer; list-style:none;
  border-radius:8px;
  -webkit-tap-highlight-color:transparent;
}
.faq__item summary::-webkit-details-marker{ display:none; }
.faq__item summary::marker{ content:""; }
.faq__item summary:focus-visible{ outline-offset:4px; }
.faq__q{
  font-family:var(--font-display); font-stretch:105%; font-weight:650;
  font-size:1.125rem; line-height:1.35; color:var(--ink);
}
.faq__icon{
  display:grid; place-items:center;
  width:32px; height:32px; border-radius:50%;
  border:1px solid var(--line-strong);
  color:var(--electric-ink);
  transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);
}
.faq__icon .icon{ width:16px; height:16px; transition:transform var(--dur-2) var(--ease-out); }
.faq__item[open] .faq__icon{ background:rgba(31,91,255,.2); }
.faq__item[open] .faq__icon .icon{ transform:rotate(45deg); }
@media (hover:hover) and (pointer:fine){
  .faq__item summary:hover .faq__icon{ border-color:var(--electric-ink); }
}
.faq__a{ padding-bottom:24px; }
.faq__a p{ max-width:52ch; color:var(--ink-2); }
.faq__a a{ color:var(--ink); text-underline-offset:3px; }
.faq__item::details-content{
  block-size:0; overflow:hidden;
  transition:block-size var(--dur-2) var(--ease-out), content-visibility var(--dur-2) allow-discrete;
}
.faq__item[open]::details-content{ block-size:auto; }

@media (min-width:1024px){
  .faq-layout{
    grid-template-columns:repeat(12, minmax(0,1fr));
    column-gap:clamp(16px, 2vw, 32px);
    align-items:start;
  }
  .faq-layout__aside{ grid-column:1 / span 4; position:sticky; top:104px; }
  .faq{ grid-column:6 / span 7; }
}

/* 20. CTA FINAL */
.cta-final{ padding-top:0; overflow:hidden; }
.cta-final__media{
  position:relative;
  aspect-ratio:4 / 5;
  max-height:640px; width:100%;
}
.cta-final__media img{ width:100%; height:100%; object-fit:cover; object-position:50% 0%; }
.cta-final__shade{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to bottom, rgba(5,11,29,0) 55%, rgba(5,11,29,.8) 85%, var(--bg-0) 100%);
}
.cta-final__body{ position:relative; z-index:2; margin-top:-80px; }
.cta-final__content h2{ max-width:20ch; }
.cta-final__list{ margin-top:24px; color:var(--ink); }
.cta-final .cta-block{ margin-top:32px; }
/* celular e tablet: a foto se dissolve nos feixes do fundo, sem corte reto na altura do título */
@media (max-width:1023.98px){
  .cta-final__media{
    -webkit-mask-image:linear-gradient(to bottom, #000 50%, transparent 100%);
    mask-image:linear-gradient(to bottom, #000 50%, transparent 100%);
  }
  .cta-final__shade{ background:linear-gradient(to bottom, rgba(5,11,29,0) 45%, rgba(5,11,29,.55) 100%); }
}
@media (min-width:640px) and (max-width:1023.98px){
  .cta-final__media{ aspect-ratio:auto; height:min(70svh, 640px); }
  .cta-final__media img{ object-position:50% 0%; }
  .ronan__portrait{ max-width:520px; }
  .bastidores__main{ max-width:560px; }
  .problema__media .frame{ max-width:520px; }
}
@media (min-width:1024px){
  .cta-final{
    min-height:min(90svh, 820px);
    display:flex; align-items:center;
    padding-block:var(--section-y);
  }
  .cta-final__media{
    position:absolute; top:0; bottom:0;
    width:min(50vw, 680px); left:max(0px, calc(50% - 680px));
    max-height:none; aspect-ratio:auto;
    -webkit-mask-image:linear-gradient(to right, transparent 0, #000 12%, #000 62%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 14%, #000 86%, transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to right, transparent 0, #000 12%, #000 62%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 14%, #000 86%, transparent 100%);
    mask-composite:intersect;
  }
  .cta-final__media img{ object-position:50% 0%; }
  .cta-final__shade{ background:linear-gradient(to bottom, rgba(5,11,29,0) 80%, var(--bg-0) 100%); }
  .cta-final__body{
    margin-top:0;
    display:grid; grid-template-columns:repeat(12, minmax(0,1fr));
    column-gap:clamp(16px, 2vw, 32px);
  }
  .cta-final__content{ grid-column:7 / span 6; }
}

/* 21. RODAPÉ */
.site-footer{
  background:var(--bg-deep);
  border-top:1px solid var(--line);
  padding-block:56px 48px;
  font-size:var(--fs-micro); line-height:1.5; color:var(--ink-3);
}
.site-footer__grid{ display:grid; gap:32px; }
.site-footer__brand img{ height:28px; width:auto; }
.site-footer__brand p{ margin-top:12px; color:var(--ink-2); }
.site-footer__brand p + p{ margin-top:4px; color:var(--ink-3); }
.site-footer__ig{
  display:inline-flex; align-items:center; gap:10px;
  min-height:44px; padding-right:8px;
  color:var(--ink); font-size:.9375rem; text-decoration:none;
  border-radius:8px;
}
.site-footer__ig .icon{ width:22px; height:22px; color:var(--electric-ink); }
@media (hover:hover) and (pointer:fine){
  .site-footer__ig:hover span{ text-decoration:underline; text-underline-offset:4px; }
}
.site-footer__contact p{ margin-top:8px; color:var(--ink-2); }
.site-footer__legal p + p{ margin-top:12px; }
@media (min-width:1024px){
  .site-footer__grid{ grid-template-columns:1.1fr .9fr 1.6fr; gap:48px; }
}

/* 22. BARRA FIXA (mobile) */
.sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:40;
  display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:center;
  padding:10px max(var(--gutter), env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));
  background:rgba(5,11,29,.92);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  backdrop-filter:blur(14px) saturate(1.4);
  border-top:1px solid var(--line);
  box-shadow:0 -16px 32px -20px rgba(0,0,0,.7);
  transform:translateY(110%);
  transition:transform var(--dur-2) var(--ease-out), visibility var(--dur-2);
  visibility:hidden;
}
.sticky-cta[hidden]{ display:none; }
.sticky-cta.is-visible{ transform:none; visibility:visible; }
.sticky-cta__info{ display:flex; flex-direction:column; min-width:0; }
.sticky-cta__name{
  font-family:var(--font-display); font-stretch:118%; font-weight:800;
  font-size:1.0625rem; line-height:1.15; color:var(--ink);
}
.sticky-cta__price{ font-size:var(--fs-micro); line-height:1.3; color:var(--ink-2); white-space:nowrap; }
.sticky-cta__btn{ justify-self:end; min-height:48px; width:100%; max-width:220px; }
body.sticky-on{ padding-bottom:calc(var(--sticky-h) + env(safe-area-inset-bottom)); }
@media (min-width:1024px){
  .sticky-cta{ display:none; }
  body.sticky-on{ padding-bottom:0; }
}

/* 22b. PÁGINA DA POLÍTICA DE PRIVACIDADE */
.policy{ padding-top:calc(var(--header-h) + env(safe-area-inset-top) + var(--s-9)); }
.policy h1{ font-size:var(--fs-h2); max-width:22ch; }
.policy h2{ margin-top:var(--s-9); font-size:var(--fs-h3); max-width:none; }
.policy p, .policy li{ color:var(--ink-2); }
.policy p{ margin-top:12px; }
.policy .policy__date{ margin-top:12px; font-size:var(--fs-small); color:var(--ink-3); }
.policy ul{ display:grid; gap:8px; margin-top:12px; padding-left:1.25em; }
.policy li::marker{ color:var(--electric-ink); }
.policy a:not(.btn-ghost){ color:var(--ink); text-underline-offset:3px; }
.policy .policy__back{ margin-top:var(--s-9); }

/* 23. MOVIMENTO REDUZIDO */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  [data-reveal]{ clip-path:none !important; }
  .film::after,.btn-cta::after{ display:none; }
}
