:root{
  --brand:#ff9834; --brand-dark:#d9731a; --ink:#1d2127; --muted:#5b6470; --line:#e7e9ee;
  --bg:#ffffff; --soft:#fff6ee; --card:#ffffff; --radius:14px;
  --max:1120px;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--brand-dark)}
a:hover{color:var(--ink)}
img{max-width:100%;height:auto}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* topo */
.top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.brand{display:flex;align-items:center}
.brand img{height:96px;width:auto}
.nav{display:flex;gap:22px;flex-wrap:wrap}
.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.nav a:hover{color:var(--brand-dark)}
@media (max-width:720px){.nav{gap:14px}.nav a{font-size:14px}.nav .opt{display:none}}

/* hero */
.hero{background:linear-gradient(180deg,var(--soft),#fff 75%);padding:72px 0 56px}
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
.eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-dark);margin-bottom:14px}
h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:0 0 18px;letter-spacing:-.02em}
.lead{font-size:clamp(17px,2.2vw,20px);color:var(--muted);margin:0 0 28px;max-width:38em}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 22px;border-radius:999px;font-weight:700;text-decoration:none;font-size:16px}
.btn.primary{background:var(--brand);color:#fff}
.btn.primary:hover{background:var(--brand-dark);color:#fff}
.btn.ghost{border:2px solid var(--line);color:var(--ink)}
.btn.ghost:hover{border-color:var(--brand)}
.hero-logo{justify-self:center;max-width:320px}
@media (max-width:820px){.hero{padding:48px 0 36px}.hero .wrap{grid-template-columns:1fr}.hero-logo{display:none}}

/* seções */
section{padding:64px 0}
section.alt{background:#fafbfc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
h2{font-size:clamp(24px,3.4vw,34px);line-height:1.2;margin:0 0 12px;letter-spacing:-.01em}
.sub{color:var(--muted);margin:0 0 32px;max-width:44em}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.grid{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.card h3{margin:0 0 6px;font-size:18px}
.card p{margin:0;color:var(--muted);font-size:15.5px}
.dot{width:38px;height:38px;border-radius:10px;background:var(--soft);color:var(--brand-dark);display:grid;place-items:center;font-weight:800;margin-bottom:12px}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:820px){.steps{grid-template-columns:1fr}}
.steps .card h3::before{counter-increment:s;content:counter(s);display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;font-size:14px;margin-right:10px}

/* FAQ */
details{border:1px solid var(--line);border-radius:12px;padding:16px 20px;background:#fff;margin-bottom:12px}
summary{cursor:pointer;font-weight:700;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:var(--brand-dark);font-weight:800}
details[open] summary::after{content:"–"}
details p{color:var(--muted);margin:10px 0 0}

/* contato */
.contact{background:var(--ink);color:#fff;border-radius:var(--radius);padding:36px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.contact h2{color:#fff;margin:0 0 6px}
.contact p{margin:0;color:#c9ced6}

/* documento (política, termos) */
.doc{padding:48px 0 72px}
.doc .wrap{max-width:820px;overflow-wrap:anywhere}
.doc h1{font-size:clamp(28px,4vw,40px)}
.doc .meta{color:var(--muted);font-size:15px;margin:-6px 0 28px}
.doc h2{font-size:21px;margin:36px 0 10px;padding-top:8px;border-top:1px solid var(--line)}
.doc h3{font-size:18px;margin:24px 0 8px}
.doc ul,.doc ol{padding-left:22px}
.doc li{margin:4px 0}
.doc table{width:100%;border-collapse:collapse;margin:12px 0;font-size:15.5px}
.doc td,.doc th{border:1px solid var(--line);padding:10px 12px;vertical-align:top;text-align:left}
.doc td:first-child{width:32%}
.toc{background:#fafbfc;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin:0 0 28px;font-size:15.5px}
.toc ul{margin:6px 0 0;padding-left:0;list-style:none}
.toc li{margin:3px 0}
.note{background:var(--soft);border-left:4px solid var(--brand);padding:14px 18px;border-radius:8px;margin:18px 0}

/* rodapé */
footer{border-top:1px solid var(--line);padding:32px 0 40px;color:var(--muted);font-size:15px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer nav{display:flex;gap:18px;flex-wrap:wrap}
footer a{color:var(--muted)}

/* ===== efeitos (inspirados no tema anterior) ===== */
.top{transition:box-shadow .25s ease}
.top.scrolled{box-shadow:0 6px 24px rgba(20,24,31,.08)}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
.js .reveal.in{opacity:1;transform:none}
.hl{background:linear-gradient(transparent 62%,rgba(255,152,52,.38) 62%);padding:0 .08em;border-radius:2px}
.lift{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.lift:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(20,24,31,.08);border-color:#ffd7b3}

/* hero com imagem */
.hero-img .wrap{grid-template-columns:1fr 1.05fr}
.hero-media img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:0 30px 60px -20px rgba(20,24,31,.45)}
.hero-text h1{font-size:clamp(32px,4.6vw,50px)}
@media (max-width:820px){
  .hero-img .wrap{grid-template-columns:1fr}
  .hero-media{max-width:420px;margin:8px auto 0}
}

/* faixa de palavras rolando */
.marquee{overflow:hidden;background:var(--ink);color:#fff;padding:14px 0;white-space:nowrap}
.marquee .track{display:inline-block;animation:marq 38s linear infinite}
.marquee span{display:inline-block;font-weight:800;font-size:18px;letter-spacing:.02em;margin:0 22px}
.marquee span::after{content:"•";color:var(--brand);margin-left:44px}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none}}

/* blocos imagem + texto */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.split.reverse{grid-template-columns:.8fr 1.2fr}
@media (max-width:900px){.split,.split.reverse{grid-template-columns:1fr}}
.grid.two{grid-template-columns:repeat(2,1fr)}
@media (max-width:560px){.grid.two{grid-template-columns:1fr}}
.media-card{margin:0}
.media-card img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 24px 50px -22px rgba(20,24,31,.45)}
.media-card.tall{max-width:440px;justify-self:center}
.checks{list-style:none;padding:0;margin:0}
.checks li{padding-left:30px;position:relative;margin:10px 0}
.checks li::before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;font-size:13px;display:grid;place-items:center;font-weight:800}
.dot{font-size:18px}

/* telas do app em carrossel */
.phones{--pad:max(20px,calc((100vw - var(--max))/2 + 20px));display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x proximity;padding:8px var(--pad) 26px;scroll-padding-inline:var(--pad);scrollbar-width:thin}
.phones::-webkit-scrollbar{height:8px}.phones::-webkit-scrollbar-thumb{background:#d5d9e0;border-radius:8px}
.phone{flex:0 0 auto;width:230px;margin:0;scroll-snap-align:start}
.phone img{display:block;width:100%;height:auto;border-radius:26px;border:8px solid #1d2127;box-shadow:0 20px 40px -18px rgba(20,24,31,.5);background:#1d2127}
.phone figcaption{text-align:center;font-weight:700;font-size:15px;margin-top:12px;color:var(--muted)}
@media (max-width:560px){.phone{width:200px}}
.narrow{max-width:860px}

.split > .media-card{align-self:start;position:sticky;top:100px}
@media (max-width:900px){.split > .media-card{position:static}}
