/* ==========================================================
   Teacher Patrícia · Landing page
   Paleta: #4D585A (ardósia) · #DB95A3 (rosa) · #FAEDE4 (creme)
   Tipografia: Satisfy (script) + Montserrat (texto)
   ========================================================== */

/* ---------- Tokens de tema ---------- */
:root{
  --bg:#FAEDE4;
  --surface:#FFF7F1;
  --text:#3A4446;
  --muted:#667274;
  --slate:#4D585A;
  --pink:#DB95A3;
  --pink-strong:#B86A7B;
  --line:#EBD6C8;
  --on-pink:#FFFFFF;
  --on-slate:#FAEDE4;
  --terminal:#4D585A;

  --script:"Satisfy",cursive;
  --script-2:"Satisfy",cursive;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;

  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#1B2224;--surface:#252E30;--text:#F3E6DC;--muted:#A9B5B6;--slate:#F3E6DC;
    --pink:#DB95A3;--pink-strong:#E6A6B3;--line:#37444A;--on-pink:#1B2224;--on-slate:#F3E6DC;--terminal:#0F1517;
  }
}
:root[data-theme="dark"]{
  --bg:#1B2224;--surface:#252E30;--text:#F3E6DC;--muted:#A9B5B6;--slate:#F3E6DC;
  --pink:#DB95A3;--pink-strong:#E6A6B3;--line:#37444A;--on-pink:#1B2224;--on-slate:#F3E6DC;--terminal:#0F1517;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(72px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;transition:background .3s,color .3s}
button{font:inherit;cursor:pointer}
img,svg{max-width:100%;display:block}
.wrap{max-width:1040px;margin:0 auto;padding:0 22px}

/* ---------- Header ---------- */
.header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:var(--script);font-size:30px;line-height:1;color:var(--slate);text-decoration:none;white-space:nowrap}
.nav-r{display:flex;align-items:center;gap:12px}
.nav-link{color:var(--muted);text-decoration:none;font-size:14px;font-weight:500}
.nav-link:hover{color:var(--text)}
@media(max-width:640px){.nav-link{display:none}}
.theme-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:17px;line-height:1}

/* ---------- Botões ---------- */
.btn{display:inline-block;background:var(--pink);color:var(--on-pink);padding:14px 26px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:1.5px solid var(--pink);transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px var(--pink-strong)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--slate)}
.btn-no-ghost{background:var(--slate);color:var(--on-pink);border-color:var(--slate)}
.btn-sm{padding:9px 18px;font-size:14px}

/* ---------- Tipografia ---------- */
.tag{display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--pink-strong)}
h1,h2,h3{color:var(--slate);margin:0}
h1{font-size:clamp(32px,5.2vw,54px);line-height:1.18;margin:14px 0 18px;font-weight:700}
h1 em{font-family:var(--script);font-style:normal;font-weight:400;color:var(--pink-strong);font-size:1.2em;line-height:1;padding:0 .08em}
h2{font-size:clamp(26px,4vw,38px);line-height:1.2;margin:8px 0 12px}
h3{font-size:17px;margin-bottom:8px}
.lead{font-size:18px;color:var(--muted);max-width:520px;margin:0}
.sub{color:var(--muted);max-width:720px;margin:0;text-wrap:pretty}

/* ---------- Hero ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;padding:64px 0 48px}
@media(max-width:860px){.hero{grid-template-columns:minmax(0,1fr);gap:36px;padding-top:36px}}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0}
@media(max-width:860px){.hero .cta{justify-content:center}.hero .cta .btn{text-align:center}}
.stats{display:flex;flex-wrap:wrap;gap:28px;list-style:none;padding:0;margin:32px 0 0}
.stats b{display:block;font-size:24px;line-height:1.2;color:var(--slate)}
.stats span{font-size:13px;color:var(--muted)}

/* ---------- Cena do notebook (fluxo normal, sem posições absolutas) ---------- */
.scene{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:400px;margin:0 auto}
.flags{display:flex;gap:14px}
.flag{width:56px;padding:6px;border-radius:12px 12px 12px 4px;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 18px -12px #0006;animation:float 5s ease-in-out infinite}
.flag:nth-child(2){border-radius:12px 12px 4px 12px;animation-delay:1.4s}
.flag svg{width:100%;height:auto;border-radius:3px}
@keyframes float{50%{transform:translateY(-6px)}}

.laptop{width:100%;background:var(--slate);border-radius:18px 18px 6px 6px;padding:12px;box-shadow:0 30px 50px -30px #000a}
.screen{background:var(--bg);border-radius:10px;overflow:hidden}
.screen-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:var(--surface);border-bottom:1px solid var(--line)}
.screen-bar i{width:9px;height:9px;border-radius:50%;background:var(--pink)}
.screen-bar i:nth-child(2){opacity:.65}.screen-bar i:nth-child(3){opacity:.35}
.screen-bar span{margin-left:8px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--muted)}

.chat{display:flex;flex-direction:column;gap:10px;padding:16px 14px;min-height:230px}
.msg{margin:0;padding:10px 14px;max-width:84%;font-size:13px;line-height:1.45;overflow-wrap:break-word;opacity:0;transform:translateY(8px);animation:pop .45s ease forwards}
.msg-t{align-self:flex-start;background:var(--pink);color:var(--on-pink);border-radius:14px 14px 14px 4px}
.msg-s{align-self:flex-end;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px 14px 4px 14px}
.msg:nth-child(1){animation-delay:.4s}.msg:nth-child(2){animation-delay:1.3s}
.msg:nth-child(3){animation-delay:2.2s}.msg:nth-child(4){animation-delay:3.1s}
@keyframes pop{to{opacity:1;transform:none}}

.deck{width:112%;height:14px;margin-top:-14px;background:var(--slate);border-radius:0 0 18px 18px;position:relative;box-shadow:0 14px 24px -14px #0008}
.deck::after{content:"";position:absolute;left:50%;top:0;width:18%;height:5px;transform:translateX(-50%);background:color-mix(in srgb,var(--bg) 25%,var(--slate));border-radius:0 0 8px 8px}
@media(max-width:480px){.deck{width:106%}}

/* ---------- Seções ---------- */
.section{padding:64px 0}
.tabs{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px;margin:28px 0 20px}
.tabs button{border:0;background:none;color:var(--muted);padding:10px 22px;border-radius:999px;font-weight:600;font-size:14px}
.tabs a.tab-link{color:var(--muted);padding:10px 22px;border-radius:999px;font-weight:600;font-size:14px;text-decoration:none;transition:color .2s}
.tabs a.tab-link:hover,.tabs a.tab-link:focus-visible{color:var(--text)}
.tabs button.on{background:var(--slate);color:var(--bg)}
@media(max-width:860px){.tabs{display:flex;width:fit-content;max-width:100%;margin:28px auto 20px;justify-content:center}}
@media(max-width:560px){.tabs{flex-direction:column;width:100%;border-radius:28px}.tabs button,.tabs a.tab-link{width:100%;text-align:center}}
.hero-tabs{margin:28px 0 14px}
.submenu{display:none;flex-wrap:wrap;gap:12px}
.submenu.on{display:flex;animation:pop .4s ease both}
@media(max-width:860px){.hero-tabs{margin:28px auto 14px}.submenu{justify-content:center}}
.panel{display:none;grid-template-columns:1fr 1fr;gap:18px}
.panel.on{display:grid;animation:pop .4s ease both}
@media(max-width:720px){.panel.on{grid-template-columns:1fr}}

.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;transition:transform .25s}
.card:hover{transform:translateY(-4px)}
.card p{margin:0;color:var(--muted);font-size:15px}
.card ul{margin:0;padding-left:18px;color:var(--muted);font-size:15px}
.card li{margin:6px 0}

.phrase{background:var(--terminal);color:#F3E6DC;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.phrase small{opacity:.75;font-size:13px}
.phrase p{margin:4px 0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:18px;line-height:1.4;color:var(--pink)}
.phrase button{margin-top:8px;background:var(--pink);color:#1B2224;border:0;border-radius:999px;padding:9px 18px;font-weight:600;font-size:13px}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
@media(max-width:720px){.steps{grid-template-columns:1fr}}
.num{font-family:var(--script-2);font-size:48px;line-height:1;color:var(--pink-strong);margin-bottom:6px}

.fit{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.fit div{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px;font-size:15px;line-height:1.4}
.fit div::before{content:"✓";flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--pink);color:var(--on-pink);font-size:13px;font-weight:700}
@media(max-width:860px){.fit{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.fit{grid-template-columns:1fr}}

.final{background:var(--slate);color:var(--on-slate);border-radius:28px;padding:56px 24px;text-align:center;margin:20px 0 56px}
.final .tag{color:var(--pink)}
.final h2{color:var(--on-slate);max-width:640px;margin-left:auto;margin-right:auto}
.final p{max-width:480px;margin:0 auto 26px;opacity:.88}
:root[data-theme="dark"] .final{background:var(--surface);color:var(--text);border:1px solid var(--line)}
:root[data-theme="dark"] .final h2{color:var(--text)}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .final{background:var(--surface);color:var(--text);border:1px solid var(--line)}
  :root:not([data-theme="light"]) .final h2{color:var(--text)}
}

/* ---------- Selo Parceiro Flexge ---------- */
.hero-side{display:flex;flex-direction:column;align-items:center;gap:26px;min-width:0}
.partner{display:inline-flex;align-items:center;gap:14px;padding:8px 22px 8px 8px;background:var(--surface);border:1px solid var(--line);border-radius:999px}
.partner img{width:90px;height:90px;flex:none;border-radius:50%}
.partner p{margin:0;font-size:12px;line-height:1.35;color:var(--muted);text-align:left}
.partner b{display:block;font-size:15px;color:var(--slate)}
a.partner{text-decoration:none;color:inherit;transition:transform .2s,border-color .2s,box-shadow .2s}
a.partner:hover,a.partner:focus-visible{transform:translateY(-3px);border-color:var(--pink);box-shadow:0 12px 24px -16px var(--pink-strong)}
.partner-more{display:block;margin-top:3px;font-size:12px;font-weight:600;color:var(--pink-strong)}
.status-art img{width:96px;height:96px;border-radius:50%}
@media(max-width:480px){.partner img{width:56px;height:56px}}

/* ---------- Contato: e-mail ---------- */
.contact-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.mail-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:22px auto 0!important;font-size:14px;opacity:1!important}
.mail-line span{opacity:.9;overflow-wrap:anywhere}
.copy-btn{background:transparent;color:inherit;border:1.5px solid currentColor;border-radius:999px;padding:6px 14px;font-weight:600;font-size:12px;opacity:.9;transition:opacity .2s,background .2s,color .2s}
.copy-btn:hover,.copy-btn:focus-visible{opacity:1;background:var(--pink);border-color:var(--pink);color:var(--on-pink)}
.copy-btn.ok{background:var(--pink);border-color:var(--pink);color:var(--on-pink)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Loja ---------- */
.store{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:36px 32px}
.store>div{flex:1 1 320px}
.section-tight{padding:16px 0}
.store.level{border-color:var(--pink);background:color-mix(in srgb,var(--pink) 10%,var(--surface))}
.store.level h2{margin-bottom:6px}

/* ---------- Redes sociais ---------- */
.social{display:flex;justify-content:center;gap:12px;margin-top:26px}
.social a{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1.5px solid currentColor;color:inherit;opacity:.85;transition:transform .2s,opacity .2s,background .2s,color .2s}
.social a:hover{opacity:1;transform:translateY(-3px);background:var(--pink);border-color:var(--pink);color:var(--on-pink)}
.social svg{width:21px;height:21px}
.footer .social{margin:0 0 16px;color:var(--slate)}

.footer{border-top:1px solid var(--line);padding:30px 22px;text-align:center;color:var(--muted);font-size:13px}
.footer p{margin:0}
.footer .dev{margin-top:6px;font-size:12px}
.footer .dev a{color:var(--pink-strong);font-weight:600;text-decoration:none}
.footer .dev a:hover,.footer .dev a:focus-visible{text-decoration:underline}

/* ---------- Páginas de status (loja em construção e 404) ---------- */
.status{display:flex;flex-direction:column;align-items:center;text-align:center;min-height:calc(100vh - 64px - 90px);justify-content:center;padding:56px 0}
.status .lead{margin:0 auto}
.status .cta{justify-content:center}
.status-art{position:relative;width:120px;height:120px;margin-bottom:22px;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--slate);animation:float 4s ease-in-out infinite}
.status-art svg{width:64px;height:64px}
.status-bubble{position:absolute;top:-14px;right:-58px;padding:6px 12px;border-radius:12px 12px 12px 4px;background:var(--pink);color:var(--on-pink);font-size:12px;font-weight:600;white-space:nowrap}
.progress{width:min(360px,100%);height:8px;margin:30px auto 0;border-radius:999px;background:var(--line);overflow:hidden}
.progress span{display:block;width:40%;height:100%;border-radius:inherit;background:var(--pink);animation:slide 1.8s ease-in-out infinite}
@keyframes slide{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
.err{font-family:var(--script);font-size:clamp(96px,22vw,180px);line-height:1;color:var(--pink-strong);margin-bottom:6px;padding:0 .1em}
.chat-mini{width:min(340px,100%);min-height:0;margin-top:26px;padding:0;text-align:left}
@media(max-width:480px){.status-bubble{right:-30px}}
@media (prefers-reduced-motion:reduce){.progress span{width:100%}}

/* ---------- Reveal ao rolar ---------- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .msg,.reveal{opacity:1;transform:none}
}

/* ---------- Página Empresa (empresa.html) ---------- */
.biz-hero{padding:64px 0 24px;max-width:780px}
.biz-hero .tag{display:block;margin-top:14px}
.biz-hero .lead{max-width:640px}
.pill{display:inline-block;background:var(--pink);color:var(--on-pink);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.text-link{display:inline-block;margin-top:18px;color:var(--muted);text-decoration:none;font-size:15px}
.text-link b{color:var(--pink-strong);border-bottom:1.5px solid currentColor}
.text-link:hover b,.text-link:focus-visible b{color:var(--text)}
.stat-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}
.stat-cards .card{padding:20px 22px}
.stat-cards b{display:block;font-size:22px;line-height:1.25;color:var(--slate);margin-bottom:4px}
.stat-cards span{font-size:14px;color:var(--muted)}
.fit.cols-2{grid-template-columns:repeat(2,1fr)}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}
.badge{display:inline-block;background:var(--pink);color:var(--on-pink);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:10px}
.chips-title{margin:34px 0 14px}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.chips li{padding:8px 16px;border:1px solid var(--line);background:var(--surface);border-radius:999px;font-size:14px;font-weight:600;color:var(--text)}
.tech-box{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:40px 32px}
.tech-box .btn{margin-top:26px}
.note{margin:24px 0 0;color:var(--muted);font-size:14px;max-width:640px}
.script-quote{font-family:var(--script);font-size:clamp(28px,4.4vw,42px);line-height:1.3;color:var(--pink-strong);margin:18px 0 22px}
.quotes{display:grid;gap:18px;margin-top:28px}
.quote{margin:0;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--pink);border-radius:20px;padding:24px 26px}
.quote blockquote{margin:0 0 14px;font-size:15px;line-height:1.7;color:var(--text)}
.quote figcaption{font-size:14px;color:var(--muted)}
.quote figcaption b{color:var(--slate)}
@media(max-width:720px){.stat-cards,.grid-2{grid-template-columns:1fr}.tech-box{padding:30px 22px}}
@media(max-width:600px){.fit.cols-2{grid-template-columns:1fr}}
@media(max-width:860px){.biz-hero{padding-top:40px}}

/* ---------- Rodapé: rótulo ao passar o mouse + botão "voltar" ---------- */
.social a{position:relative}
.social a.back{border-color:var(--pink)}
.social a[data-tip]::after,.social a[data-tip]::before{position:absolute;left:50%;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .15s,transform .15s}
.social a[data-tip]::after{content:attr(data-tip);bottom:calc(100% + 12px);background:var(--pink);color:var(--on-pink);font-size:12px;font-weight:600;line-height:1;padding:7px 10px;border-radius:8px;white-space:nowrap}
.social a[data-tip]::before{content:"";bottom:calc(100% + 6px);border:6px solid transparent;border-top-color:var(--pink);border-bottom:0}
.social a[data-tip]:focus-visible::after,.social a[data-tip]:focus-visible::before,.social a[data-tip]:active::after,.social a[data-tip]:active::before{opacity:1;transform:translate(-50%,0)}
@media (hover:hover){.social a[data-tip]:hover::after,.social a[data-tip]:hover::before{opacity:1;transform:translate(-50%,0)}}

/* ---------- Página Flexge (flexge.html) ---------- */
.flx-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center;padding:64px 0 28px}
.flx-hero .tag{display:block;margin-top:14px}
.flx-hero .lead{max-width:560px}
.flx-hero .note{margin-top:16px}
.flx-photo{position:relative;display:flex;justify-content:center}
.flx-photo>img:first-child{width:min(100%,380px);height:auto}
.flx-seal{position:absolute;top:-4px;right:4%;width:108px;height:auto;transform:rotate(8deg);filter:drop-shadow(0 10px 14px #0003)}
.stat-cards.three{grid-template-columns:repeat(3,1fr);margin-top:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.phones{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px;align-items:end}
.phones figure{margin:0;text-align:center}
.phones img{width:100%;max-width:300px;height:auto;margin:0 auto}
.phones figcaption{margin-top:14px;font-size:14px;color:var(--muted);max-width:260px;margin-left:auto;margin-right:auto}
.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pink-strong);margin-bottom:8px}
.steps.four{grid-template-columns:repeat(2,1fr)}
.step-one{align-items:center}
.step-one>div{flex:1 1 320px}
.step-one img{flex:1 1 300px;max-width:420px;width:100%;height:auto;margin:0 auto}
.step-one .btn{margin-top:20px}
.fine{display:block;max-width:560px;margin:24px auto 0;font-size:12px;line-height:1.6;opacity:.8}
.fine a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:860px){.flx-hero{grid-template-columns:minmax(0,1fr);padding-top:40px}.flx-photo{order:2}}
@media(max-width:720px){.stat-cards.three,.phones{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(2,1fr)}.steps.four{grid-template-columns:1fr}}
@media(max-width:560px){.grid-3{grid-template-columns:1fr}}

/* ---------- Avaliação Google ---------- */
.store.review{border-color:color-mix(in srgb,var(--pink) 55%,var(--line))}
.stars{display:flex;gap:4px;margin:6px 0 8px}
.stars svg{width:24px;height:24px;fill:#F4B400}

/* ---------- Formulário de interesse (diálogo) ---------- */
html:has(dialog[open]){overflow:hidden}
dialog{border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--text);padding:0;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 30px 60px -20px #0008}
dialog::backdrop{background:rgba(20,26,28,.62);backdrop-filter:blur(3px)}
dialog:not([open]){display:none}
.dlg-body{position:relative;padding:30px 26px 26px}
.dlg-body h2{font-size:clamp(22px,4vw,28px);margin:6px 0 6px}
.dlg-sub{margin:0 0 18px;color:var(--muted);font-size:15px}
.dlg-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:22px;line-height:1}
.field{margin-bottom:14px}
.field label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--slate)}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;font-size:15px}
.field textarea{resize:vertical;min-height:84px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--pink);outline-offset:1px;border-color:var(--pink)}
.field .invalid{border-color:#d9534f}
.dlg-note{margin:4px 0 14px;font-size:12px;line-height:1.5;color:var(--muted)}
.dlg-error{margin:0 0 12px;font-size:13px;font-weight:600;color:#d9534f}
.dlg-actions{display:flex;flex-wrap:wrap;gap:10px}
.dlg-actions .btn{flex:1 1 200px;text-align:center}
.dlg-ok{text-align:center;padding:12px 0}
.dlg-ok h3{margin:10px 0 6px;font-size:20px}
.dlg-ok p{margin:0 0 18px;color:var(--muted)}

/* ---------- Carrossel de depoimentos ---------- */
.car-tag{display:block;margin:38px 0 10px}
.carousel{--cw:min(560px,calc(100vw - 72px))}
.car-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:14px 0 18px;border-radius:24px}
.car-viewport::-webkit-scrollbar{display:none}
.car-viewport:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.car-track{position:relative;display:flex;gap:18px;width:max-content;min-width:100%;padding-inline:calc(50% - var(--cw) / 2)}
.rcard{flex:0 0 var(--cw);margin:0;display:flex;flex-direction:column;padding:26px 28px;background:var(--surface);border:1px solid var(--line);border-radius:24px;scroll-snap-align:center;opacity:.5;transform:scale(.93);transition:opacity .35s,transform .35s,border-color .35s,box-shadow .35s}
.rcard.is-active{opacity:1;transform:none;border-color:var(--pink);box-shadow:0 22px 40px -26px var(--pink-strong)}
.rcard .stars{margin:0 0 12px}
.rcard .stars svg{width:20px;height:20px}
.rtext{margin:0 0 20px;font-size:15.5px;line-height:1.75;color:var(--text);flex:1}
.rcard figcaption{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.45;color:var(--muted)}
.rcard figcaption b{color:var(--slate);font-size:14px}
.avatar{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--pink);color:var(--on-pink);font-weight:700;font-size:14px}
.car-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:4px}
.car-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:22px;line-height:1;padding-bottom:3px;transition:background .2s,color .2s,border-color .2s}
.car-btn:hover,.car-btn:focus-visible{background:var(--pink);border-color:var(--pink);color:var(--on-pink)}
.car-dots{display:flex;align-items:center;gap:8px}
.car-dot{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:var(--line);transition:width .25s,background .25s}
.car-dot[aria-current="true"]{width:24px;background:var(--pink)}
.car-pause{margin-left:6px;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:6px 14px;font-weight:600;font-size:12px}
.car-pause:hover,.car-pause:focus-visible{color:var(--text);border-color:var(--pink)}
@media(max-width:480px){.carousel{--cw:min(560px,calc(100vw - 96px))}.rcard{padding:22px 20px}}
@media (prefers-reduced-motion:reduce){.car-pause{display:none}.rcard{transition:none}}

/* ---------- Telas pequenas: evita estouro lateral ---------- */
body{overflow-x:hidden}
@supports (overflow:clip){body{overflow-x:clip}}
.hero>*{min-width:0}
h1,h2,h3,p{overflow-wrap:break-word}
.nav{gap:10px}
.logo{min-width:0}
@media(max-width:480px){
  .logo{font-size:25px}
  .nav-r{gap:8px}
  .btn-sm{padding:8px 14px;font-size:13px}
  .theme-btn{width:36px;height:36px;font-size:15px}
}
@media(max-width:380px){
  .wrap{padding:0 16px}
  .logo{font-size:21px}
  .nav-r{gap:6px}
  .btn-sm{padding:7px 11px;font-size:12px}
  .theme-btn{width:34px;height:34px}
  .store{padding:28px 20px}
  .final{padding:44px 18px}
}
