
:root{--navy:#0a2540;--navy-2:#0d3d66;--green:#1c6dd0;--green-dark:#0e4f9e;--green-2:#8fc4f0;--blue:#3c7ea8;--sky:#3c7ea8;--cream:#f3f6fa;--paper:#fff;--ink:#0a2540;--muted:#5b6b79;--line:#dde5ee;--orange:#f29a37;--purple:#8347e8;--shadow:0 24px 70px rgba(10,37,64,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}img{display:block;max-width:100%}figure{margin:0}a{text-decoration:none;color:inherit}button{font:inherit}.page{max-width:1180px;margin:auto;background:#fff;overflow:hidden;box-shadow:0 0 0 1px #eef0f2}.container{width:min(1080px,calc(100% - 48px));margin:auto}.ui-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #89a6d1;border-radius:999px;background:#f7fbff;color:#153f81;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.eyebrow .ui-icon{width:15px;height:15px}.section{padding:86px 0}.section-head{text-align:center;max-width:720px;margin:0 auto 42px}.section-head.left{text-align:left;margin:0 0 32px}.section-head h2{margin:10px 0 12px;font-size:42px;line-height:1.08;letter-spacing:-.045em}.section-head p{margin:0;color:var(--muted);font-size:16px}.cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--green);color:#fff;border:0;border-radius:999px;padding:15px 24px;font-size:14px;font-weight:900;box-shadow:0 12px 28px rgba(31,86,172,.22);transition:.2s}.cta:hover{background:#13418c;transform:translateY(-2px)}.cta .ui-icon{width:18px;height:18px}.cta.secondary{background:#fff;color:var(--navy);border:1px solid #bed0dc;box-shadow:none}.mini-proof{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#4c6172;font-size:11px;margin-top:15px}.mini-proof span{display:flex;align-items:center;gap:5px}.mini-proof .ui-icon{width:14px;height:14px;color:var(--green)}
.nav{height:82px;display:flex;align-items:center;gap:28px;padding:0 28px;border-bottom:1px solid #eaecf0;background:rgba(255,255,255,.97);position:relative;z-index:20}.brand{width:177px;position:relative;display:flex;flex-direction:column;align-items:flex-start;line-height:1;color:var(--navy);padding:5px 0}.brand-word{font-size:18px;letter-spacing:.07em;font-weight:900}.brand-script{display:inline-block;color:var(--green);font:32px/.82 "Segoe Script","Brush Script MT","URW Chancery L",cursive;font-weight:700;transform:rotate(-2deg)}.brand-tail{font-size:8px;letter-spacing:.29em;margin-top:7px;font-weight:800}.brand .plane{position:absolute;left:105px;top:2px;width:23px;height:23px;transform:rotate(-11deg)}.nav-links{margin-left:auto;display:flex;gap:26px;font-size:12px;font-weight:700}.nav-links a:hover{color:var(--green)}.nav .cta{font-size:11px;padding:11px 17px;white-space:nowrap}
.hero{min-height:690px;display:grid;grid-template-columns:1.02fr .98fr;background:linear-gradient(130deg,#fff 0%,#fff 52%,#f6f2ea 52%);position:relative}.hero:before{content:"";position:absolute;left:-160px;top:-190px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#dee7f3,transparent 69%);pointer-events:none}.hero-copy{padding:74px 38px 54px 50px;position:relative;z-index:2}.hero h1{margin:18px 0 20px;font-size:60px;line-height:.98;letter-spacing:-.058em}.hero h1 span{color:var(--green)}.hero-lead{font-size:18px;line-height:1.58;max-width:520px;color:#334b5d}.hero-bullets{list-style:none;padding:0;margin:25px 0 27px;display:grid;gap:12px}.hero-bullets li{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:700}.check-circle{display:grid;place-items:center;flex:0 0 21px;width:21px;height:21px;border-radius:50%;background:#dee8f7;color:var(--green)}.check-circle .ui-icon{width:13px;height:13px;stroke-width:2.6}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-visual{position:relative;min-height:690px}.hero-photo{position:absolute;inset:0;overflow:hidden;border-radius:0 0 0 36px}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f6f2ea 0%,transparent 24%),linear-gradient(0deg,rgba(4,30,54,.28),transparent 46%)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.phrase-card{position:absolute;left:6px;bottom:47px;width:285px;background:rgba(5,35,61,.95);color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:17px;padding:18px 19px;box-shadow:var(--shadow);z-index:3}.phrase-card small{color:#8daedf;font-weight:800}.phrase-card b{display:block;font-size:18px;line-height:1.25;margin:7px 0 4px}.phrase-card span{font-size:11px;color:#d8e2e9}.phrase-play{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff}.phrase-play .ui-icon{width:17px;height:17px;fill:currentColor;stroke:none}
.stats{display:grid;grid-template-columns:repeat(5,1fr);background:var(--navy);color:#fff}.stats div{padding:25px 18px;text-align:center;border-right:1px solid rgba(255,255,255,.12)}.stats div:last-child{border:0}.stats strong{display:block;color:#78a6e6;font-size:27px;line-height:1}.stats span{display:block;color:#cbd7e0;font-size:10px;margin-top:7px;text-transform:uppercase;letter-spacing:.07em}
.moments{background:var(--cream);position:relative}.moments:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#c9ced6 1px,transparent 1px);background-size:18px 18px;opacity:.22}.moment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;position:relative}.moment{background:#fff;border:1px solid #e2e7e2;border-radius:16px;padding:20px;box-shadow:0 10px 32px rgba(7,35,62,.07)}.moment-top{display:flex;align-items:center;gap:10px;margin-bottom:18px}.moment-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf0f8;color:var(--green)}.moment-icon.blue{background:#e9f6fc;color:#2189ba}.moment-icon.orange{background:#fff2e2;color:#d88120}.moment-icon.purple{background:#f2eaff;color:var(--purple)}.moment-icon .ui-icon{width:21px;height:21px}.moment-top b{font-size:13px}.speech{border-radius:12px;background:#f5f8f9;padding:12px;font-size:12px;font-weight:700;min-height:66px}.speech em{display:block;font-size:10px;font-style:normal;font-weight:400;color:var(--muted);margin-top:4px}.moment-question{font-size:11px;color:#8a4b18;margin:13px 0 0;font-weight:800}.moments-note{text-align:center;margin:28px auto 0;max-width:650px;color:#445868;font-size:13px}.moments-note b{color:var(--green)}
.method{background:#fff}.method-layout{display:grid;grid-template-columns:.93fr 1.07fr;align-items:center;gap:52px}.phone-stage{position:relative;min-height:690px;border-radius:26px;background:linear-gradient(145deg,#eaeff4,#f4eadc);overflow:hidden}.phone-stage:before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-90px;top:-80px;background:#c8d6eb}.phone-stage:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;left:-85px;bottom:-100px;background:#f3d5ae}.phone-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.real-screen{position:absolute;left:20px;bottom:20px;z-index:3;background:var(--navy);color:#fff;padding:12px 15px;border-radius:12px;font-size:10px;box-shadow:0 10px 26px rgba(7,35,62,.25)}.real-screen b{display:block;color:#78a6e6;font-size:12px}.steps{display:grid;gap:12px;margin-top:28px}.step{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.step-n{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--navy);color:#fff;font-size:19px;font-weight:900}.step:nth-child(2) .step-n{background:var(--blue)}.step:nth-child(3) .step-n{background:var(--green)}.step h3{font-size:15px;margin:2px 0 4px}.step p{font-size:11px;color:var(--muted);margin:0}.method .cta{margin-top:24px}
.demo{background:var(--navy);color:#fff}.demo .section-head p{color:#bed0dc}.demo .eyebrow{border-color:#4b7190;background:#0b3153;color:#8cb1e7}.demo-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}.demo-tab{border:1px solid #3c5b73;background:#0a2d4d;color:#c9d6df;border-radius:999px;padding:10px 17px;cursor:pointer;font-size:11px;font-weight:800}.demo-tab.active{background:var(--green);border-color:var(--green);color:#fff}.demo-frame{display:grid;grid-template-columns:1fr 285px;min-height:560px;background:#041b2f;border:1px solid #31506a;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.25)}.demo-shot{background:#020f1b;overflow:hidden;position:relative}.demo-shot img{width:100%;height:560px;object-fit:cover;object-position:top}.demo-shot:after{content:"";position:absolute;inset:auto 0 0;height:100px;background:linear-gradient(transparent,#041b2f)}.demo-copy{padding:38px 28px;display:flex;flex-direction:column;justify-content:center}.demo-copy small{color:#78a6e6;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.demo-copy h3{font-size:27px;line-height:1.1;margin:10px 0 13px}.demo-copy p{font-size:12px;color:#c0cfda;line-height:1.65}.demo-list{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px;font-size:11px}.demo-list li{display:flex;gap:7px}.demo-list .ui-icon{width:15px;height:15px;color:#78a6e6;flex:0 0 15px}
.situations{background:#fff}.situation-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.situation-card{position:relative;border-radius:15px;overflow:hidden;background:var(--navy);min-height:190px}.situation-card img{width:100%;height:190px;object-fit:cover;opacity:.8;transition:.25s}.situation-card:hover img{transform:scale(1.04);opacity:.95}.situation-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(3,25,44,.96))}.situation-card b{position:absolute;left:14px;right:14px;bottom:14px;color:#fff;font-size:13px;z-index:2}.situation-card small{display:block;color:#9dc0f1;font-weight:400;margin-top:2px}.situation-rail{display:flex;align-items:center;gap:10px;padding:17px 20px;border:1px solid #94cae2;background:#f7fcff;border-radius:11px;margin-top:17px;font-size:11px}.situation-rail .ui-icon{color:var(--blue)}.situation-rail span{margin-left:auto;color:var(--muted)}
.difference{background:var(--cream)}.compare-table{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dcdfe5;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 16px 50px rgba(7,35,62,.08)}.compare-col{padding:32px}.compare-col:first-child{background:#f5f6f4}.compare-col h3{margin:0 0 20px;font-size:20px}.compare-col.good h3{color:var(--green)}.compare-row{display:flex;gap:11px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #e4e9e6;font-size:12px}.compare-row:last-child{border:0}.compare-row .ui-icon{flex:0 0 20px;width:20px;height:20px;color:#7b8a95}.good .compare-row .ui-icon{color:var(--green)}.compare-row b{display:block;font-size:13px;margin-bottom:2px}.compare-row span{color:var(--muted)}
.inventory{background:#fff}.inventory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.inventory-card{border:1px solid var(--line);border-radius:16px;padding:24px;min-height:170px;position:relative;overflow:hidden}.inventory-card:before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-42px;top:-38px;background:#ebf0f7}.inventory-card:nth-child(2):before,.inventory-card:nth-child(5):before{background:#e8f5fb}.inventory-card:nth-child(3):before,.inventory-card:nth-child(6):before{background:#fff0df}.inventory-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:#e9eff8;color:var(--green);position:relative}.inventory-card:nth-child(2) .inventory-icon,.inventory-card:nth-child(5) .inventory-icon{background:#e8f6fc;color:var(--blue)}.inventory-card:nth-child(3) .inventory-icon,.inventory-card:nth-child(6) .inventory-icon{background:#fff0df;color:#d67c18}.inventory-icon .ui-icon{width:22px;height:22px}.inventory-card strong{display:block;font-size:29px;margin:16px 0 3px}.inventory-card b{display:block;font-size:13px}.inventory-card p{font-size:10px;color:var(--muted);margin:6px 0 0}.authority{margin-top:18px;padding:23px 25px;border-radius:15px;background:#ebf2f7;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}.authority-mark{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green)}.authority-mark .ui-icon{width:28px;height:28px}.authority h3{margin:0 0 4px;font-size:16px}.authority p{margin:0;color:var(--muted);font-size:11px}.authority b:last-child{font-size:12px;color:var(--green-dark)}
.offer{background:linear-gradient(180deg,#f8f5ee,#fff)}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.plans.unico{grid-template-columns:1fr;max-width:520px;margin:0 auto}.plans.unico .plan.popular{transform:none}.plans.unico .price{font-size:56px;margin:18px 0 4px}.plans.unico .monthly{font-size:12px}.plans.unico .plan{text-align:center;align-items:center}.plans.unico .plan>small{letter-spacing:.12em}.plans.unico ul{display:inline-block;text-align:left;margin:24px auto}.plans.unico li{margin-bottom:10px}.plans.unico .cta{width:100%}#acesso .section-head h2{text-wrap:balance;letter-spacing:-.03em;line-height:1.1}#acesso .section-head p{text-wrap:pretty;max-width:52ch;margin-left:auto;margin-right:auto}@media(max-width:620px){#acesso .so-desktop{display:none}.plans.unico{max-width:none}.plans.unico .price{font-size:46px;margin:14px 0 4px}.plans.unico .plan{padding:26px 18px}.plans.unico ul{margin:20px auto}.plans.unico .monthly{font-size:13px;line-height:1.5;display:block;max-width:26ch;margin:0 auto}}.plan{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 24px;display:flex;flex-direction:column;min-height:345px;position:relative;box-shadow:0 10px 30px rgba(7,35,62,.06)}.plan.popular{border:2px solid var(--green);transform:translateY(-10px);box-shadow:0 18px 45px rgba(31,86,172,.17)}.popular-label{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;border-radius:999px;padding:6px 20px;font-size:8px;font-weight:900;white-space:nowrap}.plan>small{font-size:9px;font-weight:900;letter-spacing:.08em}.price{font-size:42px;font-weight:900;letter-spacing:-.05em;margin:15px 0 2px}.monthly{font-size:10px;color:var(--muted)}.plan ul{list-style:none;padding:0;margin:20px 0;display:grid;gap:10px;font-size:11px}.plan li{display:flex;gap:7px}.plan li .ui-icon{width:15px;height:15px;color:var(--green);flex:0 0 15px}.plan .cta{width:100%;margin-top:auto;border-radius:9px;padding:12px;font-size:11px}.plan:not(.popular) .cta{background:#fff;color:var(--navy);border:1px solid #8fa6b7;box-shadow:none}.guarantee{margin-top:24px;background:#e6f0f7;border:1px solid #c6dae9;border-radius:16px;padding:20px 24px;display:grid;grid-template-columns:70px 1fr auto;gap:20px;align-items:center}.guarantee-badge{width:70px;height:70px;border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;text-align:center;color:var(--green-dark);font-size:10px;font-weight:900}.guarantee-badge strong{font-size:24px;line-height:1}.guarantee h3{font-size:16px;margin:0 0 4px}.guarantee p{font-size:10px;color:var(--muted);margin:0}.guarantee .cta{border-radius:8px;font-size:10px;padding:11px 18px}
.faq{background:#fff}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.faq details{border:1px solid var(--line);border-radius:11px;padding:15px 17px;background:#fff;font-size:12px}.faq summary{display:flex;justify-content:space-between;gap:12px;font-weight:800;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary .ui-icon{width:16px;height:16px}.faq p{font-size:11px;line-height:1.6;color:var(--muted);margin:12px 0 0}.final{height:280px;display:grid;grid-template-columns:1.15fr .85fr;background:var(--navy);color:#fff;overflow:hidden}.final-copy{padding:43px 48px;position:relative;z-index:2}.final h2{font-size:35px;line-height:1.07;letter-spacing:-.04em;margin:0 0 9px;max-width:560px}.final p{margin:0 0 16px;color:#c9d7e0;font-size:13px}.final .cta{padding:12px 19px;font-size:11px}.final-proof{display:flex;gap:13px;flex-wrap:wrap;margin-top:12px;color:#c7d4dd;font-size:8px}.final-proof span{display:flex;align-items:center;gap:4px}.final-proof .ui-icon{width:12px;height:12px}.final-photo{position:relative;overflow:hidden}.final-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy),transparent 50%)}.final-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.footer{padding:20px 28px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e7ece9;font-size:9px;color:#60717f}.footer a{font-weight:700;color:var(--navy)}
@media(max-width:900px){.nav-links{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:58px 34px}.hero-visual{min-height:620px}.stats{grid-template-columns:repeat(3,1fr)}.stats div:nth-child(3){border-right:0}.moment-grid{grid-template-columns:repeat(2,1fr)}.method-layout{grid-template-columns:1fr}.phone-stage{min-height:720px}.demo-frame{grid-template-columns:1fr}.demo-copy{padding:28px}.situation-grid{grid-template-columns:repeat(3,1fr)}.plans{grid-template-columns:repeat(3,1fr)}.final{height:auto;grid-template-columns:1fr}.final-photo{height:190px}.final-photo:after{background:linear-gradient(0deg,var(--navy),transparent 65%)}}
@media(max-width:620px){.page{box-shadow:none}.container{width:min(100% - 32px,1080px)}.section{padding:62px 0}.section-head{margin-bottom:30px}.section-head h2{font-size:34px}.nav{height:72px;padding:0 16px}.brand{width:145px}.brand-word{font-size:16px}.brand-script{font-size:28px}.brand-tail{font-size:7px}.brand .plane{left:92px;width:20px}.nav .cta{font-size:9px;padding:9px 12px}.hero-copy{padding:45px 20px 38px}.hero h1{font-size:44px}.hero-lead{font-size:15px}.hero-actions .cta.secondary{display:none}.hero-visual{min-height:500px}.phrase-card{left:15px;bottom:22px;width:255px}.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(3){border-right:1px solid rgba(255,255,255,.12)}.stats div:nth-child(even){border-right:0}.stats div:last-child{grid-column:1/-1}.moment-grid{grid-template-columns:1fr}.phone-stage{min-height:520px}.steps{gap:10px}.demo-tabs{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.demo-tab{white-space:nowrap}.demo-frame{min-height:0}.demo-shot img{height:430px}.situation-grid{grid-template-columns:repeat(2,1fr)}.situation-card,.situation-card img{min-height:170px;height:170px}.situation-rail{flex-wrap:wrap}.situation-rail span{margin:0;width:100%}.compare-table{grid-template-columns:1fr}.inventory-grid{grid-template-columns:1fr 1fr}.authority{grid-template-columns:auto 1fr}.authority b:last-child{grid-column:1/-1}.plans{grid-template-columns:1fr;gap:24px}.plan.popular{transform:none}.guarantee{grid-template-columns:60px 1fr}.guarantee-badge{width:60px;height:60px}.guarantee .cta{grid-column:1/-1}.faq-grid{grid-template-columns:1fr}.final{height:auto}.final-copy{padding:38px 20px}.final h2{font-size:29px}.footer{padding:18px 16px;gap:10px;align-items:flex-start}}
/* Camada responsiva adicionada sem alterar o layout aprovado acima de 900px. */
@media (min-width:621px) and (max-width:900px){.phone-stage{width:min(100%,580px);min-height:0;aspect-ratio:4/5;justify-self:center}.plans{grid-template-columns:repeat(2,1fr);gap:24px}.plan.popular{order:-1;grid-column:1/-1;width:min(100%,520px);justify-self:center;transform:none}}
@media (max-width:620px){body{padding-bottom:78px}.nav>.cta{display:none}.section{padding:58px 0}.section-head h2{font-size:33px}.section-head p{font-size:15px}.hero{min-height:0}.hero-copy{padding:42px 20px 34px}.hero h1{font-size:40px;line-height:1.01}.hero-lead{font-size:16px;line-height:1.5}.hero-actions,.hero-actions>.cta{width:100%}.mini-proof{display:grid;grid-template-columns:1fr 1fr;gap:9px}.hero-visual{min-height:470px}.hero-photo{border-radius:0}.phrase-card{left:16px;right:16px;bottom:18px;width:auto}.phrase-card b{padding-right:34px}.phone-stage{width:100%;min-height:0;aspect-ratio:4/5}.step p,.demo-copy p,.demo-list,.compare-row,.faq p{font-size:12px}.method .cta{width:100%}.demo-tab{min-height:44px}.inventory-card p,.guarantee p{font-size:11px}.plans{grid-template-columns:1fr}.plan.popular{order:-1;transform:none}.cta{min-height:46px}}
@media (max-width:420px){.container{width:calc(100% - 28px)}.section{padding:52px 0}.section-head h2{font-size:30px}.hero h1{font-size:36px}.hero-visual{min-height:430px}.situation-card,.situation-card img{min-height:152px;height:152px}.inventory-grid{grid-template-columns:1fr}.authority{grid-template-columns:1fr;text-align:center}.authority-mark{margin:auto}.footer{flex-direction:column}}

/* Correção do CTA fixo do celular (20/08/2026)
   Dois defeitos: ele aparecia junto com o botão do hero, virando dois
   botões na mesma tela, e como não tinha fundo o conteúdo passava por
   baixo cortado no meio. Agora tem barra sólida e só entra em cena
   quando o botão do topo sai de vista. */


/* Quem sou: a professora aparece logo antes do preco */
.autora{background:var(--cream);padding:64px 0}
.autora .miolo{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center}
.autora figure{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.autora figure img{width:100%;height:auto}
.autora .numeros{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-around;
  padding:13px 8px;border-radius:12px;background:rgba(7,35,62,.88);backdrop-filter:blur(6px)}
.autora .numeros div{text-align:center;color:#fff}
.autora .numeros b{display:block;font-size:19px;font-weight:900;color:var(--green-2);line-height:1.1}
.autora .numeros span{font-size:9px;letter-spacing:.07em;text-transform:uppercase;opacity:.82}
.autora h2{font-size:clamp(25px,4.4vw,35px);margin:12px 0 4px;letter-spacing:-.02em}
.autora .papel{color:var(--muted);font-size:15px;margin:0 0 20px}
.autora p{font-size:16px;line-height:1.68;margin:0 0 14px;color:#2c4257}
.autora .destaque{padding:17px 20px;border-left:4px solid var(--green);border-radius:0 12px 12px 0;
  background:#fff;font-size:16.5px;line-height:1.6;font-weight:700;color:var(--ink)}
@media (max-width:820px){
  .autora{padding:48px 0}
  .autora .miolo{grid-template-columns:1fr;gap:26px}
  .autora figure{max-width:300px;margin:0 auto}
  .autora .cabeca{text-align:center}
  .autora p{font-size:15.5px}
}

/* Depoimentos com a etiqueta honesta: sao alunos do Imersao Nativa */
.provas{padding:60px 0;background:#fff}
.provas .aviso{max-width:860px;margin:0 auto 34px;text-align:center}
.provas .aviso h2{text-wrap:balance}
.provas .aviso p{max-width:700px;margin-left:auto;margin-right:auto}
.provas .aviso h2{font-size:clamp(23px,4.2vw,32px);margin:12px 0 12px;letter-spacing:-.02em}
.provas .aviso p{font-size:15.5px;line-height:1.65;color:var(--muted);margin:0}
.provas .cartoes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.provas .cartao{padding:22px;border:1px solid var(--line);border-radius:15px;background:var(--cream);display:flex;flex-direction:column;gap:14px}
.provas .estrelas{color:var(--orange);font-size:13px;letter-spacing:2px}
.provas blockquote{margin:0;font-size:15px;line-height:1.6;color:#2c4257}
.provas .pessoa{display:flex;align-items:center;gap:11px;margin-top:auto}
.provas .pessoa img{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:none}
.provas .pessoa b{display:block;font-size:13.5px}
.provas .pessoa span{font-size:11.5px;color:var(--muted)}
.provas .rodape{margin-top:22px;text-align:center;font-size:12.5px;color:var(--muted)}
@media (max-width:820px){
  .provas{padding:44px 0}
  .provas .cartoes{grid-template-columns:1fr;gap:14px}
}

/* Depoimento em video, com fachada: o player so carrega no clique */
.provas .video{max-width:620px;margin:0 auto 30px}
.provas .fachada{position:relative;aspect-ratio:16/9;border-radius:15px;overflow:hidden;
  background:#000;cursor:pointer;box-shadow:var(--shadow)}
.provas .fachada img{width:100%;height:100%;object-fit:cover}
.provas .fachada iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.provas .tocar{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;
  padding-bottom:5%;background:transparent;border:0;width:100%;cursor:pointer;transition:background .2s}
.provas .fachada:hover .tocar{background:rgba(7,35,62,.22)}
.provas .tocar span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;
  background:var(--green);box-shadow:0 8px 26px rgba(0,0,0,.45);transition:transform .18s}
.provas .fachada:hover .tocar span{transform:scale(1.08)}
.provas .tocar svg{width:23px;height:23px;fill:#fff;margin-left:3px}
@media (max-width:820px){ .provas .tocar span{width:48px;height:48px}
  .provas .tocar svg{width:19px;height:19px} }
.provas .legenda{display:block;margin-top:12px;text-align:center;font-size:13.5px;color:var(--muted)}
.provas .legenda b{color:var(--ink);font-weight:700}

/* Logo oficial no lugar da marca redesenhada em texto */
.brand{display:flex;align-items:center}
.brand img{height:68px;width:auto;display:block}
@media (max-width:820px){ .brand img{height:52px} }



/* Cartoes de numeros: icone ao lado do numero, descricao cruzando por baixo */
.inventory{padding-top:52px;padding-bottom:52px}
.inventory-grid{grid-template-columns:repeat(3,1fr);gap:11px}
.inventory-card{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:1px;
  align-content:start;padding:15px 16px 16px;min-height:0;border-radius:13px}
.inventory-card:before{width:70px;height:70px;right:-30px;top:-28px}
.inventory-icon{grid-column:1;grid-row:1 / span 2;align-self:center;width:38px;height:38px;border-radius:11px}
.inventory-icon .ui-icon{width:19px;height:19px}
.inventory-card strong{grid-column:2;grid-row:1;align-self:end;font-size:26px;line-height:1;margin:0}
.inventory-card b{grid-column:2;grid-row:2;align-self:start;font-size:12.5px;line-height:1.25}
.inventory-card p{grid-column:1 / -1;grid-row:3;margin:9px 0 0;font-size:10.5px;line-height:1.45}
@media (max-width:1023px){ .inventory-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:820px){
  .inventory{padding-top:40px;padding-bottom:40px}
  .inventory-grid{grid-template-columns:1fr;gap:8px}
  .inventory-card{padding:13px 15px 14px}
  .inventory-card:before{display:none}
  .inventory-card strong{font-size:24px}
  .inventory-card p{margin-top:7px}
}

/* Garantia: cartao claro, selo, texto e o 7 com escudo do lado direito */
.guarantee{margin-top:26px;position:relative;overflow:hidden;
  background:linear-gradient(120deg,#fafcfe 0%,#eef4f9 58%,#e4eff6 100%);
  border:1px solid #d3e2ed;border-radius:20px;padding:32px 36px;
  display:grid;grid-template-columns:1fr 250px;gap:24px;align-items:center}
.guarantee .selo{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;
  border:1px solid #a8bfdd;border-radius:999px;background:#f2f7fc;
  color:#1b4482;font-size:10.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.guarantee .selo svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9}
.guarantee h3{font-size:clamp(21px,2.6vw,29px);letter-spacing:-.02em;margin:15px 0 12px;color:var(--ink)}
.guarantee .texto{font-size:14.5px;line-height:1.62;color:#4a5c69;margin:0;max-width:520px}
.guarantee .devolve{display:flex;align-items:flex-start;gap:12px;margin-top:20px}
.guarantee .tique{flex:none;width:34px;height:34px;border-radius:50%;background:#e2eaf4;
  display:grid;place-items:center;margin-top:1px}
.guarantee .tique svg{width:17px;height:17px;fill:none;stroke:#1b4482;stroke-width:2.6;
  stroke-linecap:round;stroke-linejoin:round}
.guarantee .devolve b{display:block;font-size:15.5px;color:#1b4482;line-height:1.3}
.guarantee .devolve span{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}
.guarantee .arte{position:relative;height:190px}
.guarantee .arte svg{position:absolute;inset:0;width:100%;height:100%}
@media (max-width:860px){
  .guarantee{grid-template-columns:1fr;padding:26px 22px;gap:6px;text-align:left}
  .guarantee .arte{height:132px;margin-top:6px;order:-1;width:132px}
  .guarantee h3{margin:13px 0 10px}
  .guarantee .texto{font-size:14px}
}

/* Cabecalho no celular: so a logo, entao ela vai para o meio e cresce */
@media (max-width:820px){
  .nav{justify-content:center;padding:0 16px;height:86px}
  .brand{margin:0 auto}
  .brand img{height:66px}
}
@media (max-width:400px){ .brand img{height:60px} }

/* Os tres avisos do hero numa faixa so */
@media (max-width:820px){
  .mini-proof{display:flex;flex-wrap:wrap;justify-content:center;
    align-items:center;column-gap:13px;row-gap:7px;margin-top:14px;
    font-size:clamp(9.5px,2.7vw,11px)}
  .mini-proof span{white-space:nowrap}
  .mini-proof .ui-icon{width:12px;height:12px}
}

/* Cartoes do "problema": no celular o cartao cresce, o texto tem de crescer junto */
@media (max-width:1023px){
  .moment-top b{font-size:15px}
  .speech{font-size:15px;padding:14px;min-height:0}
  .speech em{font-size:13px;margin-top:6px}
  .moment-question{font-size:13.5px;margin-top:14px}
}
@media (max-width:820px){
  .moment-top{margin-bottom:14px}
  .moment-top b{font-size:16px}
  .moment-icon{width:44px;height:44px}
  .moment-icon .ui-icon{width:22px;height:22px}
  .speech{font-size:15.5px;padding:15px 16px}
  .speech em{font-size:13.5px}
  .moment-question{font-size:14px}
}

/* Bloco 1 no celular: tudo centrado, e a logo com mais presenca */
@media (max-width:820px){
  .nav{height:92px}
  .brand img{height:72px}

  .hero-copy{text-align:center}
  .hero-copy .eyebrow{margin:0 auto}
  .hero-lead{margin-left:auto;margin-right:auto;max-width:34ch}
  .hero-bullets{display:inline-block;width:fit-content;max-width:100%;
    margin:0 auto;text-align:left}
  .hero-actions{justify-content:center}
  .mini-proof{justify-content:center}
}
@media (max-width:400px){ .brand img{height:64px} .nav{height:84px} }

/* ── Tipografia no celular: tudo que estava pequeno demais sobe ───────── */
@media (max-width:820px){

  /* rotulos e selos */
  .eyebrow{font-size:11.5px}
  .plan .popular-label{font-size:11px}
  .plan small{font-size:11.5px}
  .guarantee .selo{font-size:11.5px}
  .phrase-card small,.demo-copy small{font-size:12.5px}

  /* numeros e seus rotulos */
  .stats span{font-size:11.5px}
  .autora .numeros span{font-size:10.5px}
  .autora .numeros b{font-size:21px}
  .inventory-card b{font-size:14px}

  /* texto corrido */
  .steps .step p{font-size:14px;line-height:1.5}
  .compare-row b{font-size:14.5px}
  .compare-row span{font-size:13.5px;line-height:1.45}
  .moments-note{font-size:14.5px}
  .demo-copy p{font-size:14px}
  .demo-list li{font-size:14px}
  .situation-card b{font-size:15px}
  .situation-card small{font-size:12.5px}
  .situation-rail b{font-size:13.5px}
  .situation-rail span{font-size:12.5px}
  .real-screen{font-size:12px}
  .real-screen b{font-size:13.5px}
  .phrase-card span{font-size:13.5px}
  .demo-tab{font-size:13px}

  /* planos e garantia */
  .plan .monthly{font-size:12.5px}
  .plan li{font-size:13.5px}
  .plan .cta{font-size:14.5px}
  .guarantee .devolve span{font-size:14px}

  /* prova social */
  .provas .cartao blockquote{font-size:15px}
  .provas .pessoa b{font-size:14.5px}
  .provas .pessoa span{font-size:12.5px}
  .provas .rodape{font-size:13px}
  .provas .legenda{font-size:14px}

  /* duvidas e fechamento */
  .faq summary{font-size:14.5px}
  .faq details p{font-size:13.5px;line-height:1.55}
  .final-copy p{font-size:15px}
  .final-copy .cta{font-size:15px}
  .final-proof span{font-size:12.5px}

  /* rodape */
  .footer,.footer span,.footer a{font-size:12px}

  /* os avisos do hero: sobem, mas com teto para nao quebrar a linha unica */
  .mini-proof{font-size:clamp(10.5px,3vw,12px)}
  .mini-proof .ui-icon{width:13px;height:13px}

  /* botoes do hero */
  .hero-bullets li{font-size:15px}
  .hero-actions .cta{font-size:15px}
  .section .cta{font-size:15px}
}

/* ── Cartoes de numeros: dois por linha no celular ────────────────────── */
@media (max-width:820px){
  .inventory-grid{grid-template-columns:repeat(2,1fr)}
  .inventory-card{padding:13px 13px 14px}
  .inventory-card p{display:none}          /* era a letra de 10,5px */
  .inventory-card strong{font-size:23px}
  .inventory-icon{width:34px;height:34px}
  .inventory-icon .ui-icon{width:17px;height:17px}
  .inventory-card:last-child{grid-column:auto}
}
@media (max-width:400px){
  .inventory-card{padding:12px 11px 13px}
  .inventory-card strong{font-size:21px}
  .inventory-card b{font-size:13px}
  .inventory-icon{width:30px;height:30px}
  .inventory-icon .ui-icon{width:15px;height:15px}
}

/* ── Texto centrado no celular, site inteiro ──────────────────────────── */
@media (max-width:820px){
  .section,.section-head,.hero-copy,.footer{text-align:center}
  .moment,.step,.compare-col,.situation-card,.inventory-card,
  .plan,.guarantee,.provas .cartao,.faq details,.final-copy,
  .demo-copy,.situation-rail,.real-screen,.phrase-card{text-align:center}

  /* linhas com icone: centrar o conjunto, nao so o texto */
  .moment-top{justify-content:center}
  .compare-row{justify-content:center;text-align:center}
  .plan ul li,.demo-list li,.hero-bullets li{justify-content:center;text-align:center}
  .provas .pessoa{justify-content:center}
  .guarantee .devolve{justify-content:center;text-align:center}
  .steps .step{display:block}
  .step-num{margin:0 auto 10px}
  .faq summary{justify-content:center;gap:10px}
  .phrase-card{align-items:center}

  /* o cartao de numero tem icone ao lado do numero: centra o par */
  .inventory-card{grid-template-columns:auto auto;justify-content:center}
  .inventory-card b,.inventory-card strong{text-align:center}

  /* a autora ja estava centrada no cabecalho, agora o corpo tambem */
  .autora .destaque{text-align:center}

  /* citacoes */
  .provas blockquote{text-align:center}
}

/* Abas do "veja por dentro": quebram em duas linhas em vez de vazar */
@media (max-width:820px){
  .demo-tabs{display:flex;flex-wrap:wrap;justify-content:center}
}

/* ══ Quem sou: desenho novo ══════════════════════════════════════════ */
.autora{background:#fbf6ef;padding:0 0 66px;overflow:hidden}
.autora .container{width:min(1080px,calc(100% - 40px))}
.autora-topo{display:grid;grid-template-columns:minmax(0,430px) 1fr;gap:30px;align-items:center}
.autora-arte{margin:0;align-self:end}
.autora-arte img{width:100%;height:auto;display:block}
.autora-intro{padding:44px 0}
.autora .eyebrow{margin-bottom:20px}
.autora h2{font-family:Georgia,'Times New Roman',serif;font-weight:700;
  font-size:clamp(34px,5.4vw,52px);letter-spacing:-.015em;line-height:1.05;
  margin:0 0 6px;color:var(--ink);position:relative;display:inline-block}
.autora h2:after{content:"";display:block;height:4px;border-radius:3px;
  background:var(--green-2);margin-top:6px;width:82%;margin-left:auto}
.autora .papel{font-size:clamp(17px,2.3vw,21px);line-height:1.4;color:#5f7386;
  margin:10px 0 22px;font-weight:400}
.autora .papel b{color:var(--green-dark);font-weight:800}
.autora .intro-texto{font-size:clamp(15px,1.9vw,17px);line-height:1.75;color:#3d5162;
  margin:0;max-width:430px;padding-left:22px;border-left:2px solid #dde5e8}

/* o cartao das duas colunas */
.autora-card{margin-top:34px;background:#fdfbf7;border:1px solid #e8e6dd;
  border-radius:22px;padding:38px 34px;display:grid;grid-template-columns:1fr 1px 1fr;gap:34px}
.autora-card .risco{background:#e6e3d9}
.autora-cab{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.autora-cab .ic{flex:none;width:56px;height:56px;border-radius:50%;background:#e4edf2;
  display:grid;place-items:center;color:var(--green-dark)}
.autora-cab .ic svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.autora-cab h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(19px,2.4vw,23px);
  line-height:1.22;margin:0;color:var(--ink);font-weight:700}
.autora-col p{font-size:15.5px;line-height:1.68;color:#3d5162;margin:0 0 15px}
.autora-col p:last-child{margin-bottom:0}
.autora-col p b{color:var(--green-dark);font-weight:800}
.autora-col hr{border:0;border-top:1px solid #d9d6cc;width:64px;margin:19px 0}

/* os quatro pilares */
.autora-pilares{list-style:none;margin:34px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.autora-pilares li{text-align:center}
.autora-pilares .ic{width:72px;height:72px;border-radius:50%;background:#e4edf2;
  display:grid;place-items:center;margin:0 auto 14px;color:var(--green-dark)}
.autora-pilares .ic svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.autora-pilares p{font-size:14.5px;line-height:1.5;color:#3d5162;margin:0 0 12px}
.autora-pilares p b{color:var(--green-dark);font-weight:800}
.autora-pilares li:after{content:"";display:block;width:26px;height:3px;border-radius:2px;
  background:var(--green-2);margin:0 auto}

@media (max-width:900px){
  .autora{padding-bottom:48px}
  .autora-topo{grid-template-columns:1fr;gap:0}
  .autora-arte{max-width:390px;margin:0 auto}
  .autora-intro{padding:8px 0 0;text-align:center}
  .autora h2:after{width:100%;margin:6px auto 0}
  .autora .intro-texto{border-left:0;padding-left:0;max-width:none;margin:0 auto}
  .autora-card{grid-template-columns:1fr;gap:26px;padding:26px 20px;margin-top:26px}
  .autora-card .risco{height:1px;width:100%}
  .autora-cab{flex-direction:column;gap:10px}
  .autora-cab h3{text-align:center}
  .autora-col p{font-size:15.5px}
  .autora-pilares{grid-template-columns:repeat(2,1fr);gap:24px 16px;margin-top:28px}
  .autora-pilares .ic{width:62px;height:62px}
  .autora-pilares .ic svg{width:29px;height:29px}
}
@media (max-width:420px){
  .autora-pilares p{font-size:13.5px}
}

/* ══ Garantia: 7 dentro do escudo, com estrelas ══════════════════════ */
.guarantee .arte{height:210px}
@media (max-width:860px){ .guarantee .arte{height:150px;width:100%;max-width:230px;margin:0 auto} }

/* A arte da autora nao usa moldura: ela ja vem pronta na imagem */
.autora .autora-arte,.autora figure.autora-arte{background:none;border:0;border-radius:0;
  box-shadow:none;overflow:visible}
.autora .autora-arte img{border-radius:0}

/* ══ Primeiro bloco no celular: desenho novo ═════════════════════════ */
.menu-btn{display:none;margin-left:auto;background:none;border:0;padding:8px;cursor:pointer}
.menu-btn span{display:block;width:26px;height:3px;border-radius:2px;background:var(--ink);margin:5px 0;
  transition:transform .22s,opacity .18s}
.nav.aberto .menu-btn span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav.aberto .menu-btn span:nth-child(2){opacity:0}
.nav.aberto .menu-btn span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media (max-width:820px){
  .nav{justify-content:space-between;height:88px;position:relative}
  .brand{margin:0}
  .brand img{height:70px}
  .menu-btn{display:block}
  .nav-links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;
    gap:0;background:#fff;border-bottom:1px solid #e6e8ec;box-shadow:0 18px 34px rgba(7,35,62,.12);
    z-index:40;margin:0}
  .nav.aberto .nav-links{display:flex}
  .nav-links a{padding:15px 20px;font-size:15.5px;border-top:1px solid #eef0f3;text-align:left}

  /* o hero volta a ser alinhado a esquerda, como na peca */
  .hero{background:linear-gradient(170deg,#f1f6fa 0%,#fafcfd 46%,#fdfaf4 100%)}
  .hero-copy{text-align:left;position:relative;overflow:hidden;padding:34px 20px 0}
  .hero-copy>*{position:relative;z-index:2}
  .hero-selos{position:absolute;z-index:1;right:-46px;top:96px;width:270px;pointer-events:none}
  .hero-selos svg{width:100%;height:auto;display:block}

  .hero-copy .eyebrow{margin:0 0 22px;font-size:12.5px;padding:11px 17px}
  .hero h1{font-size:clamp(34px,9.2vw,42px);line-height:1.06;letter-spacing:-.035em;margin:0 0 16px}
  .hero h1:after{content:"";display:block;width:112px;height:5px;border-radius:4px;margin-top:16px;
    background:linear-gradient(90deg,#3c6bab,#98b6db)}
  .hero-lead{font-size:17px;line-height:1.5;color:#41586b;margin:0 0 24px;max-width:none}

  .hero-bullets{display:block;width:auto;margin:0 0 26px;text-align:left}
  .hero-bullets li{display:flex;align-items:flex-start;gap:14px;justify-content:flex-start;
    text-align:left;padding:15px 0}
  .hero-bullets li + li{border-top:1px solid #e4e8ec}
  .hero-bullets .check-circle{flex:none;width:38px;height:38px;margin-top:1px}
  .hero-bullets .check-circle .ui-icon{width:19px;height:19px}
  .hero-bullets li b{display:block;font-size:17px;line-height:1.28;color:var(--ink);font-weight:800}
  .hero-bullets li span:last-child{display:block;font-size:14.5px;color:#6b7f8d;margin-top:4px}

  .hero-actions{justify-content:stretch}
  .hero-actions .cta{width:100%;text-transform:uppercase;letter-spacing:.02em;
    font-size:15.5px;font-weight:800;padding:19px 22px;border-radius:999px}

  .mini-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:22px;
    justify-content:stretch;font-size:12.5px}
  .mini-proof span{flex-direction:column;gap:7px;text-align:center;padding:4px 6px;
    justify-content:flex-start;white-space:normal}
  .mini-proof span + span{border-left:1px solid #dbe0e6}
  .mini-proof .ui-icon{width:23px;height:23px}

  .hero-seguro{display:flex;align-items:center;justify-content:center;gap:9px;
    margin:24px -20px 0;padding:15px 20px;background:#eef3f7;border-top:1px solid #dce3eb;
    font-size:13.5px;color:#5a6f61;font-weight:600}
  .hero-seguro svg{width:16px;height:16px;flex:none}
}
@media (max-width:400px){
  .hero-selos{width:230px;right:-52px}
  .hero-bullets li b{font-size:16px}
  .hero-actions .cta{font-size:14.5px;padding:18px 16px}
  .mini-proof{font-size:11.5px}
}

/* ══ "O problema": tudo menos o titulo pode crescer ══════════════════ */
@media (max-width:820px){
  .moments .section-head p{font-size:16.5px;line-height:1.6}
  .moment-top b{font-size:18px}
  .speech{font-size:17.5px;line-height:1.35}
  .speech em{font-size:15px;margin-top:7px}
  .moment-question{font-size:15.5px}
  .moments-note{font-size:16px}
}

/* Afinacao do hero novo: caber numa linha e o carimbo mais discreto */
@media (max-width:820px){
  .hero-copy .eyebrow{font-size:11px;padding:10px 14px;letter-spacing:.05em;white-space:nowrap}
  .hero-copy .eyebrow .ui-icon{width:15px;height:15px}
  .hero-actions .cta{font-size:13.5px;letter-spacing:.01em;padding:18px 18px;white-space:nowrap}
  .hero-actions .cta .ui-icon{width:17px;height:17px}
  .mini-proof{font-size:11px}
  .mini-proof span{padding:4px 3px}
  .hero-selos{right:-88px;top:118px;width:250px;opacity:.5}
}
@media (max-width:400px){
  .hero-copy .eyebrow{font-size:10.2px;padding:9px 12px}
  .hero-actions .cta{font-size:12.6px;padding:17px 12px}
  .mini-proof{font-size:10.3px}
  .hero-selos{right:-96px;width:225px;opacity:.45}
}

/* Decoracoes reais da peca: pincel, carimbo e rastro do aviao */
@media (max-width:820px){
  .hero h1:after{width:186px;height:15px;margin-top:12px;border-radius:0;
    background:url('img/pincel.webp') left center/contain no-repeat}
  .hero-selos{right:-30px;top:150px;width:172px;opacity:.42;
    background:url('img/carimbo.webp') right top/contain no-repeat}
  .hero-selos svg{display:none}
  .hero-selos:before{content:"";display:block;padding-top:95%}
  .hero-rastro{position:absolute;z-index:1;right:-14px;top:22px;width:150px;height:46px;
    background:url('img/rastro.webp') right center/contain no-repeat;opacity:.5;pointer-events:none}
}
@media (max-width:400px){
  .hero h1:after{width:160px;height:13px}
  .hero-selos{width:148px;right:-34px}
  .hero-rastro{width:126px}
}

@media (max-width:400px){
  .hero-lead{max-width:80%}
  .hero-bullets li>div{max-width:min(196px,60%)}
  .hero-selos{top:318px;right:-32px;width:178px}
}

/* Diagramacao medida na peca: coluna estreita, carimbo atras dos itens */
@media (max-width:820px){
  .hero-copy{padding-left:8%;padding-right:8%}
  .hero-copy .eyebrow{font-size:11.5px}
  .hero h1:after{width:36%;max-width:170px}
  .hero-lead{max-width:33ch}
  .hero-bullets{max-width:60%;min-width:238px}
  .hero-bullets li>div{max-width:none}
  .hero-bullets li b{text-wrap:balance}
  .hero-selos{top:348px;right:0;width:calc(30% + 46px);max-width:206px;opacity:.3}
  .hero-rastro{top:14px;right:-6px;width:34%;max-width:140px;opacity:.45}
  .mini-proof{font-size:clamp(11px,3.1vw,12.5px)}
}
@media (max-width:400px){
  .hero-bullets{max-width:64%;min-width:224px}
  .hero-selos{top:336px;width:calc(30% + 40px)}
}

/* Terceira passada: medidas conferidas contra a peca */
@media (max-width:820px){
  .hero h1{font-size:clamp(30px,8.1vw,36px)}
  .hero h1 span{display:inline-block}          /* mantem "a sua vez de falar." junto */
  .hero-lead{max-width:61%;min-width:250px;font-size:15.5px;line-height:1.48}
  .hero-bullets li{padding:13px 0}
  .hero-bullets li b{font-size:15.5px;line-height:1.3}
  .hero-bullets li span:last-child{font-size:13px;margin-top:3px}
  .hero-bullets .check-circle{width:37px;height:37px}
  .hero-bullets .check-circle .ui-icon{width:18px;height:18px}
  .hero-selos{width:170px;right:-30px;top:340px;opacity:.28}
}
@media (max-width:400px){
  .hero-lead{min-width:0;max-width:70%}
  .hero-selos{width:150px;right:-32px;top:326px}
}

/* Quarta passada: largura da lista e forca do carimbo */
@media (max-width:820px){
  .hero-bullets{max-width:min(265px,76%);min-width:0}
  .hero-bullets li span:last-child{color:#728694}
  .hero-selos{opacity:.2}
}
@media (max-width:400px){
  .hero-bullets{max-width:min(250px,80%)}
  .hero-bullets li b{font-size:15px}
}

/* Retoques finais do hero */
@media (max-width:820px){
  .mini-proof{font-size:clamp(10.5px,2.85vw,11.8px)}
  .mini-proof span{padding:4px 2px}
  .hero-selos{right:-40px;width:166px}
}
@media (max-width:400px){
  .hero-selos{right:-42px;width:148px}
}

/* Mancha verde atras do carimbo, e o carimbo girado como na peca */
@media (max-width:820px){
  .hero-mancha{position:absolute;z-index:0;pointer-events:none;
    right:-78px;top:296px;width:296px;height:296px;border-radius:50%;
    background:radial-gradient(circle,rgba(149,175,207,.42) 0%,rgba(149,175,207,.20) 42%,
      rgba(149,175,207,0) 70%)}
  .hero-selos{transform:rotate(-7deg);transform-origin:80% 40%}
}
@media (max-width:400px){
  .hero-mancha{right:-84px;top:284px;width:262px;height:262px}
}

/* Tipografia do hero no tamanho da peca, e as artes certas */
@media (max-width:820px){
  .hero h1{font-size:clamp(33px,9.5vw,42px)}
  .hero-lead{font-size:16px;max-width:63%;min-width:255px}
  .hero-bullets li b{font-size:16px}
  .hero-bullets li span:last-child{font-size:13.5px}
  .hero-actions .cta{font-size:14.5px}
  .mini-proof{font-size:clamp(11px,3vw,12.5px)}

  /* a bolha verde com a sombra de palmeira */
  .hero-mancha{right:-72px;top:300px;width:272px;height:272px;border-radius:0;
    background:url('img/bolha.webp') center/contain no-repeat;opacity:.9}

  /* o carimbo hexagonal, por cima da bolha */
  .hero-selos{right:-22px;top:344px;width:148px;opacity:.34;
    background:url('img/carimbo.webp') center top/contain no-repeat;
    transform:rotate(-6deg);transform-origin:60% 40%}
  .hero-selos:before{padding-top:163%}
}
@media (max-width:400px){
  .hero-lead{min-width:0;max-width:72%}
  .hero-mancha{right:-78px;top:288px;width:244px;height:244px}
  .hero-selos{right:-26px;top:330px;width:132px}
}

/* Rastro do aviao: desce em S e some por tras do carimbo */
@media (max-width:820px){
  .hero-rastro{right:0;top:150px;width:112px;height:214px;background:none;
    opacity:.55;z-index:0}
  .hero-rastro svg{width:100%;height:100%;display:block}
  .hero-selos{z-index:1}
  .hero-mancha{z-index:0}
}
@media (max-width:400px){
  .hero-rastro{top:142px;width:98px;height:190px}
}

/* Calibragem final: decoracoes mais discretas, como na peca */
@media (max-width:820px){
  .hero-selos{width:150px;opacity:.26;right:-14px;top:352px}
  .hero-mancha{opacity:.62;width:252px;right:-64px;top:318px}
  .hero-rastro{opacity:.42}
  .mini-proof{font-size:clamp(10.5px,2.8vw,11.6px)}
}
@media (max-width:400px){
  .hero-selos{width:134px;right:-18px;top:338px}
  .hero-mancha{width:226px;right:-70px;top:306px}
}

/* Posicoes medidas na peca */
@media (max-width:820px){
  .hero-mancha{right:-84px;top:323px;width:225px;height:225px;opacity:.62}
  .hero-selos{right:30px;top:348px;width:104px;opacity:.3}
  .hero-rastro{right:0;top:218px;width:80px;height:150px;opacity:.45}
}
@media (max-width:400px){
  .hero-mancha{right:-78px;top:308px;width:205px;height:205px}
  .hero-selos{right:24px;top:332px;width:94px}
  .hero-rastro{top:206px;width:72px;height:136px}
}

/* ══ Protecao do desktop: o que e do celular so aparece no celular ══ */
.hero-selos,.hero-rastro,.hero-mancha,.hero-seguro{display:none}
@media (max-width:820px){
  .hero-selos,.hero-rastro,.hero-mancha{display:block}
  .hero-seguro{display:flex}
}
@media (min-width:821px){
  .hero-bullets li>div{display:block}
  .hero-bullets li b{display:block;font-size:14px;line-height:1.32;font-weight:800}
  .hero-bullets li span:last-child{display:block;font-size:12.5px;line-height:1.45;
    color:#6b7f8d;font-weight:400;margin-top:2px}
}

/* ══ Desktop: menos espaco entre os blocos ══════════════════════════ */
@media (min-width:821px){
  .section{padding-top:56px;padding-bottom:56px}
  .section-head{margin-bottom:30px}
  .inventory{padding-top:44px;padding-bottom:44px}
  .provas{padding-top:50px;padding-bottom:50px}
  .autora{padding-bottom:52px}
  .guarantee{margin-top:22px}
  .autora-card{margin-top:26px}
  .autora-pilares{margin-top:26px}
}

/* ══ Auditoria do celular: menos recheio, mais letra ════════════════ */
@media (max-width:820px){

  /* --- recheio: os cartoes estavam gastando largura demais --- */
  .container{width:min(1080px,calc(100% - 28px))}
  .section{padding-top:40px;padding-bottom:40px}
  .section-head{margin-bottom:24px}
  .compare-col{padding:20px 17px}
  .plan{padding:22px 16px}
  .autora-card{padding:20px 16px}
  .guarantee{padding:20px 16px}
  .provas .cartao{padding:18px 16px}
  .moment{padding:16px 15px}
  .phrase-card{padding:14px 15px}
  .situation-rail{padding:14px 16px}
  .speech{padding:13px 14px}
  .steps .step{padding:13px}
  .faq details{padding:13px 15px}
  .footer{padding:16px}
  .inventory-card{padding:12px 11px 13px}

  /* --- letra: nada de texto corrido abaixo de 14px --- */
  .mini-proof{font-size:clamp(11px,3.05vw,12px)}
  .plan .popular-label{font-size:12px}
  .plan small{font-size:13px}
  .plan .monthly{font-size:14px}
  .plan li{font-size:15px}
  .plan .cta{font-size:15px}

  .real-screen{font-size:13px}
  .real-screen b{font-size:14.5px}
  .situation-card small{font-size:14px}
  .situation-rail b{font-size:15px}
  .situation-rail span{font-size:14px}
  .demo-tab{font-size:14px}
  .demo-copy p{font-size:15px}
  .demo-list li{font-size:15px}
  .phrase-card span{font-size:14.5px}
  .phrase-card small{font-size:13px}

  .inventory-card b{font-size:14.5px}
  .steps .step p{font-size:15px}
  .compare-row b{font-size:15.5px}
  .compare-row span{font-size:14.5px}

  .autora-pilares p{font-size:15px}
  .autora-col p{font-size:15.5px}

  .provas .cartao blockquote{font-size:15.5px}
  .provas .pessoa span{font-size:13px}
  .provas .rodape{font-size:14px}
  .provas .legenda{font-size:15px}

  .guarantee .texto{font-size:15.5px}
  .guarantee .devolve b{font-size:16px}
  .guarantee .devolve span{font-size:15px}

  .faq summary{font-size:15.5px}
  .faq details p{font-size:14.5px;line-height:1.6}

  .final-copy p{font-size:15.5px}
  .final-proof span{font-size:13px}
  .footer,.footer span,.footer a{font-size:13.5px}

  .hero-bullets li span:last-child{font-size:14.5px}
  .hero-seguro{font-size:14.5px}
}
@media (max-width:400px){
  .compare-col{padding:18px 15px}
  .plan{padding:20px 14px}
  .provas .cartao{padding:16px 14px}
  .autora-card{padding:18px 14px}
  .guarantee{padding:18px 14px}
}

/* O selo do topo precisa caber em tela estreita */
@media (max-width:430px){
  .hero-copy .eyebrow{font-size:clamp(9.4px,2.68vw,11.5px);padding:10px 12px}
  .hero-copy .eyebrow .ui-icon{width:13px;height:13px}
}

/* Passos: numero e texto na mesma linha, cartao mais baixo */
@media (max-width:820px){
  .steps{gap:9px}
  .steps .step{display:flex;align-items:center;gap:13px;text-align:left;padding:12px 14px}
  .steps .step .step-n{flex:none;width:42px;height:42px;font-size:17px;margin:0;border-radius:11px}
  .steps .step>div{text-align:left}
  .steps .step h3{font-size:16px;line-height:1.25;margin:0 0 3px;text-align:left}
  .steps .step p{font-size:14.5px;line-height:1.45;margin:0;text-align:left}
}
@media (max-width:400px){
  .steps .step{padding:11px 12px;gap:11px}
  .steps .step .step-n{width:38px;height:38px;font-size:16px}
  .steps .step h3{font-size:15px}
  .steps .step p{font-size:14px}
}

/* Mais um ponto no texto dos cartoes e nos subtitulos */
@media (max-width:820px){
  .section-head p{font-size:16.5px;line-height:1.58}

  .steps .step h3{font-size:17px}
  .steps .step p{font-size:15.5px}

  .speech em{font-size:16px}
  .moment-question{font-size:16px}

  .compare-row b{font-size:16.5px}
  .compare-row span{font-size:15.5px}

  .situation-card b{font-size:16px}
  .situation-card small{font-size:15px}
  .situation-rail b{font-size:16px}
  .situation-rail span{font-size:15px}

  .demo-copy p{font-size:16px}
  .demo-list li{font-size:16px}
  .inventory-card b{font-size:15.5px}

  .autora-col p{font-size:16.5px}
  .autora-pilares p{font-size:16px}
  .autora .intro-texto{font-size:16.5px}

  .provas .cartao blockquote{font-size:16.5px}
  .provas .pessoa span{font-size:14px}
  .provas .rodape{font-size:15px}
  .provas .legenda{font-size:16px}

  .plan li{font-size:16px}
  .guarantee .texto{font-size:16.5px}
  .guarantee .devolve span{font-size:16px}

  .faq summary{font-size:16.5px}
  .faq details p{font-size:15.5px}

  .final-copy p{font-size:16.5px}
  .hero-bullets li span:last-child{font-size:15.5px}
}
@media (max-width:400px){
  .section-head p{font-size:16px}
  .compare-row b{font-size:16px}
  .provas .cartao blockquote{font-size:16px}
  .autora-col p{font-size:16px}
  .faq summary{font-size:16px}
}

/* Cartao azul reorganizado, e o ultimo cartao ocupa a linha toda */
@media (max-width:820px){
  .situation-rail{display:grid;grid-template-columns:auto 1fr;column-gap:13px;row-gap:3px;
    align-items:center;text-align:left;padding:13px 15px;margin-top:13px}
  .situation-rail .ui-icon{grid-column:1;grid-row:1 / span 2;align-self:center;
    width:27px;height:27px;flex:none}
  .situation-rail b{grid-column:2;grid-row:1;font-size:16.5px;line-height:1.28;text-align:left}
  .situation-rail span{grid-column:2;grid-row:2;width:auto;margin:0;
    font-size:15px;line-height:1.42;text-align:left}

  .situation-grid>:last-child:nth-child(odd){grid-column:1 / -1}
  .situation-grid>:last-child:nth-child(odd){min-height:150px}
}
@media (max-width:400px){
  .situation-rail b{font-size:16px}
  .situation-rail span{font-size:14.5px}
}

/* ══ Piso de 15,5px: texto de leitura ═══════════════════════════════ */
@media (max-width:820px){

  /* botoes: todos no piso */
  .cta{font-size:15.5px}
  .hero-actions .cta{font-size:15px}      /* esse tem caixa alta e nao pode crescer mais */
  .plan .cta{font-size:15.5px}
  .final-copy .cta{font-size:15.5px}

  /* hero */
  .hero-seguro{font-size:15.5px}
  .phrase-card span{font-size:15.5px}
  .phrase-card small{font-size:13.5px}
  .mini-proof{font-size:15.5px}
  .mini-proof span{padding:4px 4px;line-height:1.3}
  .mini-proof .ui-icon{width:25px;height:25px}

  /* telas do app */
  .real-screen{font-size:14px}
  .real-screen b{font-size:15.5px}
  .demo-tab{font-size:15.5px}
  .demo-copy small{font-size:13px}

  /* situacoes */
  .situation-card small{font-size:15.5px}
  .situation-rail span{font-size:15.5px}

  /* planos */
  .plan small{font-size:13.5px}
  .plan .popular-label{font-size:13px}
  .plan .monthly{font-size:15.5px}

  /* prova social */
  .provas .estrelas{font-size:15.5px}
  .provas .pessoa b{font-size:16px}
  .provas .pessoa span{font-size:15.5px}
  .provas .rodape{font-size:15.5px}

  /* fechamento e rodape */
  .final-proof{font-size:15.5px}
  .final-proof span{padding:4px 4px;line-height:1.3}
  .footer,.footer span,.footer a{font-size:15.5px}
  .footer{line-height:1.6}

  /* rotulos em caixa alta: sobem, mas nao ate 15,5 */
  .section-head .eyebrow{font-size:13.5px;white-space:normal;line-height:1.35}
  .aviso .eyebrow,.cabeca .eyebrow{font-size:13.5px;white-space:normal;line-height:1.35}
  .guarantee .selo{font-size:13.5px}
  .stats span{font-size:13px}
}
@media (max-width:400px){
  .mini-proof{font-size:14.5px}
  .final-proof{font-size:14.5px}
  .section-head .eyebrow{font-size:12.5px}
  .footer,.footer span,.footer a{font-size:15px}
}

/* Piso, segunda passada: vence as regras antigas */
@media (max-width:820px){
  .final-proof span{font-size:15.5px}
  .section .cta,.method .cta,.final-copy .cta{font-size:15.5px}
  .autora-intro .eyebrow{font-size:13.5px;white-space:normal;line-height:1.35}
  .stats span{font-size:13.5px}
  .demo-copy small{font-size:13.5px}
  .plan .popular-label{font-size:13.5px}
  .real-screen{font-size:14.5px}
}
@media (max-width:400px){
  .footer,.footer span,.footer a{font-size:15.5px}
  .final-proof span{font-size:14.5px}
}

/* ══ Hero mobile do GPT, calibrado em 432px ═════════════════════════ */
@media (max-width:820px){
  .hero,.hero-copy,.hero h1,.hero-lead,.hero-bullets,.mini-proof,.hero-seguro,.hero-actions .cta{
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}

  .hero{position:relative;overflow:hidden;
    background:radial-gradient(ellipse 270px 250px at -28px 30px,rgba(221,232,250,.72) 0%,
      rgba(238,243,252,.55) 46%,rgba(255,255,255,0) 78%),linear-gradient(#fcfdff 0%,#fff 88%)}
  .hero-copy{padding:30px 33px 25px;text-align:left;position:relative;overflow:visible}

  .nav{height:91px;padding:5px 26px 5px 10px}
  .brand img{height:87px;width:auto}
  .menu-btn span{width:28px;height:3px;margin:2.5px 0}

  .hero-copy .eyebrow{width:100%;height:34px;border:1.15px solid #5782c8;border-radius:999px;
    display:flex;align-items:center;justify-content:center;gap:10px;background:transparent;
    color:#1247a0;font-size:12.4px;font-weight:700;letter-spacing:.076em;white-space:nowrap;
    padding:0;margin:0}
  .hero-copy .eyebrow .ui-icon{width:16px;height:16px}

  .hero h1{margin:22px 0 0 2px;font-size:35px;line-height:1.11;letter-spacing:-.043em;
    font-weight:800;color:#061f3b}
  .hero h1 span{color:#144eb1;display:inline}
  .hero h1:after{content:"";display:block;width:178px;height:8px;margin:11px 0 0 4px;
    background:none;border-top:3px solid rgba(73,121,198,.48);border-radius:50%;
    transform:rotate(-1deg)}

  .hero-lead{margin:14px 0 22px 3px;max-width:none;min-width:0;color:#173450;
    font-size:17.1px;line-height:1.37;letter-spacing:-.025em;font-weight:400}

  .hero-bullets{margin:0 0 0 1px;width:286px;max-width:100%;display:block}
  .hero-bullets li{display:grid;grid-template-columns:44px 1fr;gap:13px;align-items:center;
    min-height:81px;padding:13px 0 12px;text-align:left;justify-content:start}
  .hero-bullets li+li{border-top:1px solid #dcdee4}
  .hero-bullets .check-circle{width:42px;height:42px;border-radius:50%;background:#eaf0f8;
    color:#124caf;display:grid;place-items:center}
  .hero-bullets .check-circle .ui-icon{width:22px;height:22px;stroke-width:2.6}
  .hero-bullets li>div{max-width:none}
  .hero-bullets li b{margin:0 0 3px;color:#08233f;font-size:16.65px;line-height:1.18;
    letter-spacing:-.025em;font-weight:800;text-align:left}
  .hero-bullets li span:last-child{margin:0;color:#29445e;font-size:13.55px;line-height:1.28;
    letter-spacing:-.016em;text-align:left}

  .hero-actions{margin-top:14px}
  .hero-actions .cta{height:57px;width:100%;margin:0;border-radius:999px;display:flex;
    align-items:center;justify-content:center;gap:16px;padding:0;
    background:linear-gradient(90deg,#134ead,#1c59bc);
    box-shadow:0 12px 25px rgba(15,74,173,.18);color:#fff;
    font-size:13.2px;font-weight:800;letter-spacing:-.012em;white-space:nowrap;
    text-transform:uppercase}
  .hero-actions .cta .ui-icon{width:21px;height:21px}

  .mini-proof{margin-top:22px;height:74px;display:grid;grid-template-columns:1fr 1.32fr 1fr;
    gap:0;font-size:11.5px}
  .mini-proof span{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;
    gap:8px;padding:0 4px;color:#284761;text-align:center;line-height:1.18;white-space:nowrap;
    border-left:0}
  .mini-proof span+span{border-left:1px solid #dde4e2}
  .mini-proof .ui-icon{width:24px;height:24px;color:#104cb1}

  .hero-seguro{height:69px;margin:0 -33px;padding:0 20px;
    background:linear-gradient(90deg,#f0f4fb,#f7f9fb);border:0;
    display:flex;justify-content:center;align-items:center;gap:9px;
    color:#31516a;font-size:12.8px;letter-spacing:-.015em;font-weight:400}
  .hero-seguro svg{width:14px;height:14px}

  /* decoracoes: os PNGs que o GPT extraiu */
  .hero-rastro{position:absolute;z-index:1;right:-2px;top:248px;width:102px;height:auto;
    opacity:.88;background:url('img/route.webp') right top/contain no-repeat;
    transform:none;pointer-events:none}
  .hero-rastro svg{display:none}
  .hero-rastro:before{content:"";display:block;padding-top:231%}
  .hero-selos{position:absolute;z-index:1;right:-1px;top:365px;width:131px;height:auto;
    opacity:.92;background:url('img/passport.webp') right top/contain no-repeat;
    transform:none}
  .hero-selos svg{display:none}
  .hero-selos:before{content:"";display:block;padding-top:209%}
  .hero-mancha{position:absolute;z-index:0;right:-85px;top:433px;width:206px;height:240px;
    border-radius:50%;opacity:1;
    background:radial-gradient(circle at 45% 35%,rgba(247,242,222,.38),rgba(248,241,219,.52) 62%,
      rgba(249,244,228,.25) 70%,rgba(255,255,255,0) 71%);
    transform:rotate(-13deg)}

  .hero-copy>*:not(.hero-rastro):not(.hero-selos):not(.hero-mancha){position:relative;z-index:2}
  .so-cel{display:inline}
}
@media (max-width:399px){
  .nav{padding-right:26px}
  .hero-copy{padding-left:28px;padding-right:28px}
  .hero-copy .eyebrow{font-size:11.1px;letter-spacing:.062em;gap:7px}
  .hero h1{font-size:32.5px}
  .hero-lead{font-size:16.1px}
  .hero-bullets{width:272px}
  .hero-bullets li b{font-size:15.8px}
  .hero-bullets li span:last-child{font-size:13px}
  .hero-actions .cta{font-size:12.2px;gap:10px}
  .mini-proof{font-size:10.7px}
  .hero-rastro{right:-12px}
  .hero-selos{right:-15px}
  .hero-seguro{margin:0 -28px}
}
@media (min-width:821px){ .so-cel{display:none} }

/* ══ Bloco "Quem sou" entregue pelo GPT ═════════════════════════ */
.autora{padding:0!important;background:#fff!important}
.autora .container{width:100%;max-width:none;padding:0;margin:0}
:root {
  --ecv-bg: #fbf7f0;
  --ecv-navy: #062342;
  --ecv-gray: #65778b;
  --ecv-green: #0c3880;
  --ecv-green-soft: #cde3ea;
  --ecv-line: #d8d4c8;
  --ecv-card: rgba(255, 254, 250, .92);
}


.ecv-about {
  width: min(100%, 1024px);
  margin: 0 auto;
  overflow: hidden;
  background: var(--ecv-bg);
  color: var(--ecv-navy);
  font-family: "DM Sans", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.ecv-about__top {
  position: relative;
  display: grid;
  grid-template-columns: 51.5% 48.5%;
  min-height: 686px;
}

.ecv-about__portrait-wrap {
  position: relative;
  height: 686px;
  overflow: hidden;
}

.ecv-about__portrait {
  position: absolute;
  left: 0;
  top: 15px;
  width: 570px;
  max-width: none;
  height: 640px;
  object-fit: cover;
  object-position: left top;
  display: block;
}

.ecv-about__intro {
  position: relative;
  z-index: 2;
  padding: 86px 43px 30px 0;
}

.ecv-about__badge {
  width: 410px;
  max-width: 100%;
  height: 56px;
  border: 2px solid var(--ecv-green);
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0 23px;
  color: var(--ecv-green);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .11em;
  white-space: nowrap;
}

.ecv-about__badge svg { width: 30px; height: 30px; flex: 0 0 auto; }

.ecv-about__title {
  margin: 35px 0 0;
  color: var(--ecv-navy);
  font-family: "DM Serif Display", Georgia, serif;
  font-size: 61px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: -.02em;
  white-space: nowrap;
}

.ecv-about__title-line {
  width: 270px;
  height: 8px;
  margin: 6px 0 0 204px;
  border-top: 4px solid #7899b3;
  border-radius: 50%;
  transform: rotate(-1deg);
}

.ecv-about__subtitle {
  margin: 7px 0 0 4px;
  max-width: 450px;
  color: var(--ecv-gray);
  font-size: 27px;
  line-height: 1.42;
  font-weight: 500;
}
.ecv-about__subtitle strong { color: var(--ecv-green); font-weight: 700; }

.ecv-about__lead {
  margin: 36px 0 0 66px;
  color: var(--ecv-navy);
  font-size: 20px;
  line-height: 1.98;
  font-weight: 400;
}

.ecv-about__story-card {
  position: relative;
  margin: 4px 48px 0;
  min-height: 534px;
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  background: var(--ecv-card);
  border: 1px solid rgba(198, 192, 177, .65);
  border-radius: 22px;
  box-shadow: 0 9px 17px rgba(69, 48, 25, .08);
}

.ecv-about__divider {
  width: 1px;
  height: 455px;
  align-self: center;
  background: #cfd4c9;
}

.ecv-about__story {
  padding: 36px 50px 30px;
  font-size: 18px;
  line-height: 1.85;
}

.ecv-about__story--left { padding-right: 44px; }
.ecv-about__story--right { padding-left: 46px; padding-right: 42px; }

.ecv-about__story-heading {
  display: grid;
  grid-template-columns: 118px 1fr;
  align-items: start;
  gap: 18px;
  margin-bottom: 20px;
}
.ecv-about__story-heading img {
  width: 118px;
  height: 130px;
  object-fit: cover;
  display: block;
}
.ecv-about__story-heading h3 {
  margin: 24px 0 6px;
  font-family: "DM Serif Display", Georgia, serif;
  font-size: 28px;
  line-height: 1.25;
  font-weight: 400;
  color: var(--ecv-navy);
}
.ecv-about__scribble {
  display: block;
  width: 234px;
  max-width: 100%;
  height: 8px;
  border-top: 4px solid #6e91aa;
  border-radius: 50%;
  transform: rotate(.5deg);
}
.ecv-about__story p { margin: 14px 0; }
.ecv-about__story strong { color: var(--ecv-green); font-weight: 700; }
.ecv-about__mini-line {
  width: 71px;
  height: 1px;
  background: var(--ecv-green);
  display: block;
  margin: 27px 0 17px;
}

.ecv-about__benefits {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  padding: 38px 69px 52px;
}
.ecv-about__benefit {
  text-align: center;
  color: var(--ecv-navy);
  font-size: 16.5px;
  line-height: 1.35;
}
.ecv-about__benefit img {
  width: 101px;
  height: 104px;
  object-fit: cover;
  display: block;
  margin: 0 auto 11px;
}
.ecv-about__benefit p { margin: 0; }
.ecv-about__benefit strong { color: var(--ecv-green); font-weight: 700; }
.ecv-about__benefit > span {
  display: block;
  width: 33px;
  height: 2px;
  background: var(--ecv-green);
  margin: 23px auto 0;
}

@media (max-width: 767px) {
  .desktop-only { display: none; }

  .ecv-about { width: 100%; }
  .ecv-about__top {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .ecv-about__portrait-wrap {
    order: 2;
    height: auto;
    overflow: visible;
    margin-top: 2px;
  }
  .ecv-about__portrait {
    position: static;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .ecv-about__intro {
    order: 1;
    padding: 30px 22px 0;
    text-align: center;
  }

  .ecv-about__badge {
    width: fit-content;
    max-width: 100%;
    height: 44px;
    margin: 0 auto;
    padding: 0 14px;
    gap: 8px;
    font-size: 11px;
    letter-spacing: .085em;
  }
  .ecv-about__badge svg { width: 24px; height: 24px; }

  .ecv-about__title {
    margin-top: 21px;
    font-size: clamp(42px, 12vw, 56px);
    line-height: 1.03;
    white-space: normal;
  }
  .ecv-about__title-line {
    width: 190px;
    margin: 7px auto 0;
    transform: rotate(-1deg);
  }
  .ecv-about__subtitle {
    margin: 8px auto 0;
    max-width: 350px;
    font-size: 21px;
    line-height: 1.38;
  }
  .ecv-about__lead {
    margin: 24px auto 0;
    max-width: 360px;
    font-size: 16.5px;
    line-height: 1.7;
  }

  .ecv-about__story-card {
    margin: 22px 16px 0;
    display: block;
    min-height: 0;
    border-radius: 18px;
  }
  .ecv-about__divider {
    width: calc(100% - 48px);
    height: 1px;
    margin: 0 24px;
  }
  .ecv-about__story,
  .ecv-about__story--left,
  .ecv-about__story--right {
    padding: 24px 22px 28px;
    font-size: 16px;
    line-height: 1.65;
  }
  .ecv-about__story-heading {
    grid-template-columns: 92px 1fr;
    gap: 10px;
    margin-bottom: 8px;
  }
  .ecv-about__story-heading img {
    width: 92px;
    height: 101px;
  }
  .ecv-about__story-heading h3 {
    margin-top: 18px;
    font-size: 24px;
    line-height: 1.18;
  }
  .ecv-about__scribble { width: 185px; border-top-width: 3px; }
  .ecv-about__mini-line { margin: 19px 0 14px; }

  .ecv-about__benefits {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 16px;
    padding: 34px 22px 42px;
  }
  .ecv-about__benefit { font-size: 14.5px; }
  .ecv-about__benefit img {
    width: 86px;
    height: 89px;
    margin-bottom: 9px;
  }
  .ecv-about__benefit > span { margin-top: 15px; }
}

@media (max-width: 390px) {
  .ecv-about__intro { padding-left: 16px; padding-right: 16px; }
  .ecv-about__badge { font-size: 10px; }
  .ecv-about__story-heading { grid-template-columns: 82px 1fr; }
  .ecv-about__story-heading img { width: 82px; height: 90px; }
  .ecv-about__story-heading h3 { font-size: 22px; }
  .ecv-about__benefits { padding-left: 16px; padding-right: 16px; }
}


@media (min-width:768px){
/* Devolve ao bloco do GPT os valores da demo original dele.
   As minhas regras antigas de .autora venciam por especificidade. */
.autora .ecv-about{line-height:normal}
.autora .ecv-about__top{line-height:normal}
.autora .ecv-about__portrait-wrap{line-height:normal}
.autora .ecv-about__portrait{line-height:normal}
.autora .ecv-about__intro{line-height:normal}
.autora .ecv-about__badge{line-height:normal}
.autora .ecv-about__title{font-size:61px;font-family:"DM Serif Display",Georgia,serif;font-weight:400;line-height:61px;letter-spacing:-1.22px;color:rgb(6, 35, 66);margin-top:35px;margin-bottom:0px;display:block}
.autora .ecv-about__title-line{line-height:normal}
.autora .ecv-about__subtitle{font-size:27px;line-height:38.34px;color:rgb(101, 119, 139);margin-top:7px;margin-bottom:0px;margin-left:4px}
.autora .ecv-about__lead{font-size:20px;line-height:39.6px;color:rgb(6, 35, 66);margin-top:36px;margin-bottom:0px;margin-left:66px}
.autora .ecv-about__story-card{line-height:normal}
.autora .ecv-about__divider{line-height:normal}
.autora .ecv-about__benefits{line-height:normal}

}

@media (min-width:768px){
/* Paragrafos internos do bloco do GPT, valores da demo dele */
.autora .ecv-about__story p,
.autora .ecv-about__story p br{font-size:18px;line-height:1.85;color:#062342}
.autora .ecv-about__story p strong{font-size:18px;line-height:1.85;color:#0c3880}
.autora .ecv-about__story h3{font-family:"DM Serif Display",Georgia,serif;font-size:28px;
  line-height:1.25;font-weight:400;color:#062342;margin:24px 0 6px}
.autora .ecv-about__benefit p,
.autora .ecv-about__benefit p br{font-size:16.5px;line-height:1.35;color:#062342}
.autora .ecv-about__benefit p strong{font-size:16.5px;line-height:1.35;color:#0c3880}
.autora .ecv-about__badge{font-size:15px;letter-spacing:.11em;color:#0c3880}

}

/* ══ Regras de celular do GPT, com especificidade suficiente ══════ */
@media (max-width:767px){
.autora .desktop-only{ display: none; }.autora .ecv-about{ width: 100%; }.autora .ecv-about__top{
    display: flex;
    flex-direction: column;
    min-height: 0;
  }.autora .ecv-about__portrait-wrap{
    order: 2;
    height: auto;
    overflow: visible;
    margin-top: 2px;
  }.autora .ecv-about__portrait{
    position: static;
    width: 100%;
    height: auto;
    object-fit: contain;
  }.autora .ecv-about__intro{
    order: 1;
    padding: 30px 22px 0;
    text-align: center;
  }.autora .ecv-about__badge{
    width: fit-content;
    max-width: 100%;
    height: 44px;
    margin: 0 auto;
    padding: 0 14px;
    gap: 8px;
    font-size: 11px;
    letter-spacing: .085em;
  }.autora .ecv-about__badge svg{ width: 24px; height: 24px; }.autora .ecv-about__title{
    margin-top: 21px;
    font-size: clamp(42px, 12vw, 56px);
    line-height: 1.03;
    white-space: normal;
  }.autora .ecv-about__title-line{
    width: 190px;
    margin: 7px auto 0;
    transform: rotate(-1deg);
  }.autora .ecv-about__subtitle{
    margin: 8px auto 0;
    max-width: 350px;
    font-size: 21px;
    line-height: 1.38;
  }.autora .ecv-about__lead{
    margin: 24px auto 0;
    max-width: 360px;
    font-size: 16.5px;
    line-height: 1.7;
  }.autora .ecv-about__story-card{
    margin: 22px 16px 0;
    display: block;
    min-height: 0;
    border-radius: 18px;
  }.autora .ecv-about__divider{
    width: calc(100% - 48px);
    height: 1px;
    margin: 0 24px;
  }.autora .ecv-about__story, .autora .ecv-about__story--left, .autora .ecv-about__story--right{
    padding: 24px 22px 28px;
    font-size: 16px;
    line-height: 1.65;
  }.autora .ecv-about__story-heading{
    grid-template-columns: 92px 1fr;
    gap: 10px;
    margin-bottom: 8px;
  }.autora .ecv-about__story-heading img{
    width: 92px;
    height: 101px;
  }.autora .ecv-about__story-heading h3{
    margin-top: 18px;
    font-size: 24px;
    line-height: 1.18;
  }.autora .ecv-about__scribble{ width: 185px; border-top-width: 3px; }.autora .ecv-about__mini-line{ margin: 19px 0 14px; }.autora .ecv-about__benefits{
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 16px;
    padding: 34px 22px 42px;
  }.autora .ecv-about__benefit{ font-size: 14.5px; }.autora .ecv-about__benefit img{
    width: 86px;
    height: 89px;
    margin-bottom: 9px;
  }.autora .ecv-about__benefit > span{ margin-top: 15px; }
}

@media (max-width: 390px) {.autora .ecv-about__intro{ padding-left: 16px; padding-right: 16px; }.autora .ecv-about__badge{ font-size: 10px; }.autora .ecv-about__story-heading{ grid-template-columns: 82px 1fr; }.autora .ecv-about__story-heading img{ width: 82px; height: 90px; }.autora .ecv-about__story-heading h3{ font-size: 22px; }.autora .ecv-about__benefits{ padding-left: 16px; padding-right: 16px; }
}

/* A minha linha antiga do titulo sai: o bloco do GPT ja tem a dele */
.autora h2:after,.autora .ecv-about__title:after{content:none!important;display:none!important}

/* O nome cabe numa linha so no celular */
@media (max-width:767px){
  .autora .ecv-about__title{font-size:clamp(27px,8.4vw,40px);line-height:1.06;
    white-space:nowrap;margin-top:18px}
  .autora .ecv-about__title-line{width:min(74%,240px);margin:6px auto 0}
  .autora .ecv-about__subtitle{font-size:19px;line-height:1.42;margin-top:10px}
}
@media (max-width:360px){
  .autora .ecv-about__title{font-size:26px}
}

/* ══ Acertos do fim da pagina, celular ═════════════════════════════ */
@media (max-width:820px){
  body{padding-bottom:0}

  /* os tres avisos do fechamento numa linha so */
  .final-proof{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;
    gap:clamp(8px,2.6vw,14px);width:100%}
  .final-proof span{white-space:nowrap;padding:0;font-size:clamp(10.5px,3vw,13px);
    display:inline-flex;align-items:center;gap:5px}
  .final-proof .ui-icon{width:clamp(13px,3.4vw,16px);height:clamp(13px,3.4vw,16px);flex:none}

  /* menos espaco entre os blocos */
  .section{padding-top:30px;padding-bottom:30px}
  .section-head{margin-bottom:20px}
  .inventory{padding-top:26px;padding-bottom:26px}
  .provas{padding-top:30px;padding-bottom:30px}
  .final{padding-top:34px;padding-bottom:0}
  .footer{padding-top:14px;padding-bottom:14px}
}

/* No celular: vitalicio primeiro, depois 2 anos, depois 1 ano */
@media (max-width:820px){
  .plans{display:flex;flex-direction:column;gap:14px}
  .plans>.plan{width:100%;max-width:none;justify-self:auto;grid-column:auto;transform:none}
  .plans>.plan:nth-child(1){order:3}   /* 1 ano  */
  .plans>.plan:nth-child(2){order:2}   /* 2 anos */
  .plans>.plan:nth-child(3){order:1}   /* vitalicio, destacado */
}

/* O bloco "Quem sou" alinhado a largura do resto do site */
@media (min-width:768px){
  .autora .ecv-about{width:min(100%,1080px)}
}

/* Tique da garantia centrado no circulo */
.guarantee .tique{display:grid!important;place-items:center;line-height:0}
.guarantee .tique svg{display:block;margin:0}

/* Menos vao entre a garantia e as perguntas frequentes */
@media (min-width:768px){
  #acesso{padding-bottom:28px}
  #faq{padding-top:30px}
  .guarantee{margin-bottom:0}
}

/* O bloco "Quem sou" usa a mesma formula de largura das outras secoes */
@media (min-width:768px){
  .autora .ecv-about{width:min(1080px,calc(100% - 48px))}
}

/* Titulo e subtitulo dos precos numa linha so, no desktop */
@media (min-width:900px){
  #acesso .section-head{max-width:none}
  #acesso .section-head h2{white-space:nowrap}
  #acesso .section-head p{max-width:none;white-space:nowrap}
}

/* O texto de "Experiencia comprovada" centrado sob o titulo */
.provas .aviso p{margin-left:auto!important;margin-right:auto!important}

/* Quem sou: creme de ponta a ponta e tipografia na escala do site */
@media (min-width:768px){
    .autora .ecv-about{width:min(1080px,calc(100% - 40px));max-width:none;
    margin:0 auto;background:transparent}

  .autora .ecv-about__title{font-size:46px;line-height:1.04}
  .autora .ecv-about__subtitle{font-size:19px;line-height:1.42}
  .autora .ecv-about__lead{font-size:17px;line-height:1.72}
  .autora .ecv-about__story,
  .autora .ecv-about__story-heading{font-size:16px;line-height:1.68}
  .autora .ecv-about__benefit{font-size:15.5px;line-height:1.45}
  .autora .ecv-about__badge{font-size:13px}

}

/* Quem sou: creme sangrando ate a borda, sem alargar a pagina */
@media (min-width:768px){
  .autora{background:#fbf7f0!important;
    box-shadow:0 0 0 100vmax #fbf7f0;clip-path:inset(0 -100vmax)}
  .autora .ecv-about{background:transparent}

  /* retrato escalado junto com a tipografia (0,82) */
  .autora .ecv-about__top{min-height:566px;grid-template-columns:51.5% 48.5%}
  .autora .ecv-about__portrait-wrap{height:566px}
  .autora .ecv-about__portrait{width:470px;height:528px;top:12px}
}

/* Quem sou: linha verde e paragrafo na medida do titulo reduzido */
@media (min-width:768px){
  .autora .ecv-about__title-line{margin-left:153px;width:219px;max-width:219px}
  .autora .ecv-about__lead{margin-left:4px}
}

/* A parcela e o numero grande; o a vista fica embaixo */
.plan .price .vezes{font-size:.5em;font-weight:800;letter-spacing:-.01em;opacity:.9}
.plan .monthly strong{color:var(--navy);font-weight:800}
.plan .monthly .poupa{color:var(--green-dark);font-weight:700}

/* ══ Piso de legibilidade nos cards (27/08/2026) ══════════════
   Medido no site: o botao de comprar estava com 11px e o texto
   dos cards entre 10,5 e 13px. O card tinha tamanho de sobra e a
   letra nao ocupava. Aqui sobe a letra sem mexer no card. */
.plan .cta{font-size:17px;padding:16px 18px;letter-spacing:-.01em;line-height:1.25}
.plan>small{font-size:14px;letter-spacing:.1em}
.plan .monthly{font-size:15px;line-height:1.55}
.plan ul{font-size:16px;gap:12px}
.plan li{font-size:16px;line-height:1.45}
.plan li .ui-icon{width:18px;height:18px;flex:0 0 18px;margin-top:2px}
.plan .popular-label{font-size:12px;letter-spacing:.1em;padding:7px 22px}
.inventory-card p{font-size:15.5px;line-height:1.5}
.inventory-card h3{font-size:17px}
.demo-list{font-size:15.5px;line-height:1.55}
.demo-copy small{font-size:14px;letter-spacing:.08em}
.compare-row{font-size:15.5px;line-height:1.5}
.mini-proof{font-size:15px;line-height:1.45}
.final-proof{font-size:15.5px}
.guarantee .selo{font-size:14px}
.guarantee p{font-size:16px;line-height:1.6}
.plans.unico .plan{padding:34px 28px}
.plans.unico .plan>small{font-size:14.5px}
.plans.unico .monthly{font-size:16px}
.plans.unico li{font-size:16.5px}
.plans.unico .cta{font-size:18px;padding:18px}
@media(max-width:620px){
  .plans.unico .plan{padding:28px 20px}
  .plans.unico li{font-size:16px}
  .plans.unico .cta{font-size:17px}
  .plans.unico .monthly{font-size:15px}
}

/* ══ Piso tipografico, medido no site em 27/08/2026 ═══════════════════
   Ver piso-tipografico.py para a lista do que estava pequeno e quanto.
   Regra: nada de texto abaixo de 16px, nada de botao abaixo de 17px. */

/* Botoes. O do hero estava com 12,2px, menor que a letra do paragrafo
   ao lado dele. */
.cta{font-size:17px;line-height:1.25;letter-spacing:-.01em}
.nav .cta{font-size:14.5px;padding:11px 16px}

/* As sublinhas dos cards: "modulos de viagem", "licoes praticas",
   "Ouca, repita e memorize". Eram 13px e sao elas que explicam o
   numero de cima; ilegiveis, o numero fica solto. */
.stats span{font-size:15.5px;line-height:1.35}
.hero-bullets li span,.hero-bullets li div span{font-size:15.5px;line-height:1.45}
.final-proof span{font-size:15px;line-height:1.4}

/* Rotulos em caixa alta. Sobem menos porque caixa alta com espacamento
   ja le maior, e porque "PREPARACAO PRATICA ANTES DE EMBARCAR" quebra
   feio se crescer demais numa tela de 360px. */
.eyebrow{font-size:13.5px;letter-spacing:.1em;line-height:1.4}
.ecv-about__badge span{font-size:13px;letter-spacing:.08em}
.phrase-card small,.demo-copy small{font-size:14.5px;letter-spacing:.08em}
.hero-seguro{font-size:15px}

/* Perguntas frequentes: a pergunta estava boa, a resposta nao. */
.faq p{font-size:16.5px;line-height:1.62}
.faq h3{font-size:17.5px;line-height:1.35}

/* Comparativo "Nao e mais um curso generico": o titulo estava certo e
   as linhas de dentro, que sao o argumento inteiro, estavam a 12px. */
.compare-row{font-size:16.5px;line-height:1.55}
.compare-table b,.compare-row b{font-size:16.5px}

/* Inventario "9 modulos, 38 licoes". */
.inventory-card p{font-size:16px;line-height:1.55}
.inventory-card h3{font-size:17.5px}

/* Demonstracao e depoimentos. */
.demo-list{font-size:16px;line-height:1.6}
.demo-tab{font-size:16px}
.real-screen{font-size:15.5px}
.cartao blockquote{font-size:16.5px;line-height:1.62}
.provas .rodape{font-size:15.5px;line-height:1.55}

/* Card de preco: ele esta sozinho no meio da tela, pode respirar. */
.plans.unico .popular-label{font-size:12.5px;letter-spacing:.12em}

@media(max-width:620px){
  .cta{font-size:17px}
  .faq p,.compare-row,.cartao blockquote{font-size:16px}
  .stats span{font-size:15px}
  .eyebrow{font-size:13px;letter-spacing:.08em}
}

/* ══ Hero cortado no celular estreito + peso do piso (27/08/2026) ═════
   Ver hero-cortado.py. Medido a 375px: .hero-copy tinha 478px de
   largura dentro de um hero de 375 com overflow:hidden, entao o fim do
   titulo e do botao principal sumiam. */

/* 1. o item de grid precisa poder encolher */
.hero>.hero-copy{min-width:0}
.hero{min-width:0}

/* 2. a linha "Compra segura e protegida" era um bloco flex indivisivel */
.hero .hero-seguro{flex-wrap:wrap;row-gap:4px;min-width:0}

/* 3. o rotulo de cima estava travado em uma linha so */
.hero .hero-copy .eyebrow{white-space:normal;min-width:0}

/* 4. e o que mais pudesse segurar largura la dentro */
.hero .hero-copy>*{max-width:100%}
.hero .hero-actions{flex-wrap:wrap;min-width:0}
.hero .mini-proof{min-width:0}

/* ══ Piso tipografico, agora com peso para vencer ═════════════════════ */

/* O botao principal do topo estava em 12,2px, menor que o paragrafo
   ao lado. Um botao nunca deve ser o menor texto da tela. */
.hero .hero-actions .cta,.hero-actions>.cta{font-size:17px;line-height:1.25}
.section .cta,.method .cta,.final-copy .cta,.plans .plan .cta{font-size:17px}

/* Rotulos em caixa alta. 13,5px porque caixa alta com espacamento le
   maior do que o numero sugere, e porque "PREPARACAO PRATICA ANTES DE
   EMBARCAR" precisa caber em duas linhas curtas num telefone estreito. */
.hero .hero-copy .eyebrow,.container .section-head .eyebrow,
.container .aviso .eyebrow,.container .cabeca .eyebrow{font-size:13.5px;letter-spacing:.09em;line-height:1.45}

/* As sublinhas que explicam o numero de cima. Sozinhas nao dizem nada,
   mas sem elas o numero fica solto: sao a metade da frase. */
section.stats>div>span{font-size:15.5px;line-height:1.35}
.hero-bullets li div span,.hero-bullets li span{font-size:15.5px;line-height:1.45}
.final-copy .final-proof span{font-size:15px;line-height:1.4}
.ecv-about__intro .ecv-about__badge span{font-size:13px;letter-spacing:.08em}

/* Cartao de frase e aba da demonstracao. */
.hero-visual .phrase-card small,.demo-frame .demo-copy small{font-size:14.5px;letter-spacing:.08em}
.plans .plan .popular-label{font-size:12.5px;letter-spacing:.12em}
.guarantee>div>.selo{font-size:14.5px}

@media(max-width:620px){
  .hero .hero-copy .eyebrow{font-size:13px}
  section.stats>div>span{font-size:15px}
}

/* ══ Fotos dos depoimentos, secao final e sobras (27/08/2026) ═════════

   FOTO OVAL: as fotos sao 200x200, quadradas, mas estavam sendo
   renderizadas em 37x42 e 40x42, esticadas pelo pai. Com
   border-radius:50% numa caixa que nao e quadrada o circulo vira oval,
   e o object-fit:cover corta o rosto de lado. A da Fernanda era a mais
   torta das tres (37x42) e foi a que ela viu.
   O conserto e travar a caixa em quadrado e proibir o flex de encolher. */
.provas .pessoa picture,.cartao .pessoa picture{flex:0 0 auto;display:block;line-height:0}
.provas .pessoa img,.cartao .pessoa img{
  width:52px;height:52px;min-width:52px;max-width:52px;
  flex:0 0 52px;aspect-ratio:1/1;object-fit:cover;object-position:50% 30%;
  border-radius:50%;display:block}
/* object-position em 30% da altura: em foto de rosto o centro
   geometrico cai no queixo, e o corte tira a testa. */
.provas .pessoa,.cartao .pessoa{gap:12px;align-items:center}

/* SECAO FINAL: mesmo bug do hero. .final e grid, .final-copy tinha
   min-width:auto e o conteudo minimo era 485px numa tela de 375. */
.final>.final-copy{min-width:0}
.final-copy .final-proof{flex-wrap:wrap;row-gap:6px;min-width:0}
.final-copy>*{max-width:100%}

/* As duas tiras de selo que ainda estouravam a tela, por serem flex
   de uma linha so: "7 dias de garantia" e "Todos os dispositivos". */
.hero .mini-proof{flex-wrap:wrap}
.hero .mini-proof>span,.final-copy .final-proof>span{min-width:0;overflow-wrap:anywhere}

/* A sublinha das bolinhas do hero continuava em 13px: o seletor antigo
   perdia para o que ja existia. */
ul.hero-bullets li div span{font-size:15.5px;line-height:1.45}
