:root{--bg:#07111F;--surface:#101B2B;--surface2:#17263A;--primary:#2F80ED;--primary2:#56CCF2;--text:#fff;--muted:#A8B6C8;--border:#27384F;--ok:#27AE60;--danger:#EB5757;--warn:#F2C94C}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at top,#123D68,#07111F 44%,#050912);color:var(--text)}a{color:inherit;text-decoration:none}.top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px 28px;background:rgba(7,17,31,.92);border-bottom:1px solid var(--border);backdrop-filter:blur(8px)}.brand{font-size:22px;font-weight:900}.brand span{color:var(--primary2)}button{border:0;border-radius:14px;padding:13px 18px;background:linear-gradient(135deg,var(--primary),var(--primary2));font-weight:900;color:white;cursor:pointer;box-shadow:0 10px 25px #0004}button:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}.hero{min-height:82vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px}.hero>div{max-width:900px}.hero h1{font-size:58px;line-height:1.02;margin:16px 0}.hero p{font-size:20px;color:var(--muted);line-height:1.55}.heroActions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}.pill,.vaultBadge{display:inline-block;border:1px solid #56CCF266;background:#56CCF21A;color:#BDEEFF;padding:10px 14px;border-radius:999px;font-weight:800}.container{max-width:1180px;margin:auto;padding:26px}.grid,.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.card{background:rgba(16,27,43,.97);border:1px solid var(--border);border-radius:24px;padding:24px;box-shadow:0 18px 60px #0005;margin-bottom:20px}label{font-weight:800;font-size:14px;display:block}input,select,textarea{width:100%;margin:8px 0 14px;padding:13px;border-radius:14px;border:1px solid var(--border);background:#07111F;color:#fff}.check input,.prep{width:auto}.small{color:var(--muted);font-size:13px;line-height:1.45}.msg{display:none;margin:10px 0;padding:12px;border-radius:12px;background:#351D22;color:#FFD0D5}.msg.ok{background:#102A1C;color:#B8FFD8}.contract{height:260px;overflow-y:auto;background:#07111F;border:1px solid var(--border);border-radius:16px;padding:18px;line-height:1.7}.end{text-align:center;background:#2F80ED22;color:#BDEEFF;border-radius:14px;padding:16px;margin-top:120px;font-weight:900}.mini,.guardianBox,.dataItem,.requestItem,.legacyItem,.timeItem{background:#07111F;border:1px solid var(--border);border-radius:18px;padding:16px}.plans,.plansWide,.docsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.docsGrid{grid-template-columns:repeat(2,1fr)}.plan{background:#07111F;border:1px solid var(--border);border-radius:18px;padding:16px}.plan.premium{border-color:var(--primary2)}.checklist label{padding:12px;border:1px solid var(--border);border-radius:14px;margin:10px 0;background:#07111F}.row{display:flex;justify-content:space-between;gap:12px;align-items:center}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.stats div{background:#07111F;border:1px solid var(--border);border-radius:18px;padding:16px}.stats b{font-size:30px;color:var(--primary2);display:block}.stats span{color:var(--muted);font-size:13px}.progress{height:28px;background:#07111F;border:1px solid var(--border);border-radius:999px;overflow:hidden}.progress div{height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--ok));transition:.25s}.scoreCircle{width:150px;height:150px;border-radius:50%;border:8px solid var(--primary2);display:flex;align-items:center;justify-content:center;margin:18px auto;background:#07111F;box-shadow:0 0 40px #56CCF233}.scoreCircle span{font-size:48px;font-weight:900;color:#BDEEFF}.recorder{display:grid;grid-template-columns:1.4fr .6fr;gap:20px}.phraseCard{text-align:center;position:relative}.stage{color:#BDEEFF;text-transform:uppercase;font-weight:900}.count{color:var(--muted);margin:10px}.phraseCard h1{font-size:46px;line-height:1.1}.preview{background:#07111F;border:1px dashed var(--primary2);border-radius:18px;padding:16px;text-align:left;margin:18px 0}.preview audio,audio{width:100%;margin-top:12px}.actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.red{background:var(--danger);color:#fff}.green{background:var(--ok);color:white}.yellow{background:var(--warn);color:#1a1300}.dark,.ghost{background:var(--surface2);color:#fff;border:1px solid var(--border);box-shadow:none}.map{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.dot{padding:10px 0;text-align:center;border-radius:12px;background:#07111F;border:1px solid var(--border);font-size:12px;color:var(--muted);cursor:pointer;box-shadow:none}.dot.done{border-color:var(--ok);color:#b8ffd8;background:#102A1C}.dot.active{border-color:var(--primary2);color:#BDEEFF}.dot.lock{opacity:.35;cursor:not-allowed}.certificate{background:linear-gradient(135deg,#0d2035,#102A1C);border:1px solid var(--ok);border-radius:28px;padding:40px;text-align:center;margin-bottom:22px}.seal{width:92px;height:92px;border-radius:50%;border:2px solid #BDEEFF;display:grid;place-items:center;margin:0 auto 18px;font-weight:900;color:#BDEEFF}.legacyList{display:grid;gap:12px;margin-top:18px}.status{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid var(--border);color:#BDEEFF}.countdown{position:absolute;inset:0;background:#07111fcc;display:grid;place-items:center;font-size:110px;font-weight:900;color:#BDEEFF;z-index:5;border-radius:24px}.recordStatus{color:#ff9b9b;font-weight:900;margin:10px}.volumeWrap{height:12px;background:#07111F;border:1px solid var(--border);border-radius:999px;overflow:hidden;margin:14px 0}.volumeWrap div{height:100%;width:0;background:linear-gradient(90deg,var(--primary2),var(--ok));transition:.08s}.bannerWarn{border-color:var(--warn);background:#2b220b}.bannerDanger{border-color:var(--danger);background:#351D22}@media print{.top,.card,.recorder,#vaultPanel{display:none!important}.certificate{display:block!important;color:#000;background:#fff;border:2px solid #000}}@media(max-width:850px){.grid,.grid2,.recorder,.plans,.plansWide,.docsGrid{grid-template-columns:1fr}.hero h1{font-size:38px}.phraseCard h1{font-size:30px}.stats{grid-template-columns:1fr}.top{flex-direction:column;gap:10px}.row{flex-direction:column;align-items:flex-start}.map{grid-template-columns:repeat(4,1fr)}}

/* V8.1 landing */
.home{background:radial-gradient(circle at top left,#153f66,#07111F 42%,#050912);min-height:100vh}
.siteNav{display:flex;justify-content:space-between;align-items:center;padding:22px 34px;border-bottom:1px solid var(--border);background:rgba(7,17,31,.72);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}
.brandBig{font-weight:950;font-size:24px;letter-spacing:.5px}.brandBig span{color:var(--primary2)}
.siteNav nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.siteNav a{color:var(--muted);font-weight:800;font-size:14px}.siteNav a:hover{color:#fff}
.movHero{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center;padding:74px 26px 54px}
.heroCopy h1{font-size:60px;line-height:1.02;margin:18px 0}.heroCopy p{font-size:19px;line-height:1.6;color:var(--muted)}
.heroActions.left{justify-content:flex-start}
.heroDevice{display:flex;justify-content:center}.phoneMock{width:340px;min-height:590px;border:1px solid #56CCF266;border-radius:42px;background:linear-gradient(180deg,#111d2d,#07111F);box-shadow:0 35px 100px #0008;padding:24px}.phoneTop{text-align:center;color:#BDEEFF;font-weight:900;margin:6px 0 28px}
.careGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.careGrid button{min-height:88px;border-radius:22px;font-size:15px}
.keyboardMock{margin-top:22px;background:#050912;border:1px solid var(--border);border-radius:18px;padding:16px;color:var(--muted)}.voiceTag{margin-top:16px;border:1px solid var(--ok);background:#102A1C;color:#B8FFD8;border-radius:999px;padding:10px;text-align:center;font-weight:900}
.benefitStrip{max-width:1180px;margin:0 auto 34px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 26px}.benefitStrip div{background:#101B2B;border:1px solid var(--border);border-radius:22px;padding:22px}.benefitStrip b{display:block;font-size:25px;color:#BDEEFF}.benefitStrip span{color:var(--muted);font-size:13px}
.sectionBlock{max-width:1180px;margin:0 auto;padding:58px 26px}.sectionTitle{text-align:center;max-width:780px;margin:0 auto 28px}.sectionTitle h2{font-size:42px;margin:0 0 10px}.sectionTitle p{color:var(--muted);font-size:17px;line-height:1.55}
.featureGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.featureCard{background:#101B2B;border:1px solid var(--border);border-radius:24px;padding:24px}.featureCard h3{color:#BDEEFF}.featureCard p{color:var(--muted);line-height:1.55}
.darkBlock{background:rgba(16,27,43,.45);border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-width:none}.darkBlock .sectionTitle,.darkBlock .featureGrid{max-width:1180px;margin-left:auto;margin-right:auto}
.pricingGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.priceCard{background:#101B2B;border:1px solid var(--border);border-radius:26px;padding:26px}.priceCard.featured{border-color:var(--primary2);box-shadow:0 0 40px #56CCF222}.priceCard b{display:block;font-size:30px;color:#BDEEFF;margin:8px 0}.priceCard p{color:var(--muted)}
.faqBlock details{background:#101B2B;border:1px solid var(--border);border-radius:18px;padding:18px;margin:10px 0}.faqBlock summary{font-weight:900;cursor:pointer}.faqBlock p{color:var(--muted)}
@media(max-width:900px){.siteNav{position:static;align-items:flex-start;flex-direction:column}.movHero,.featureGrid,.pricingGrid,.benefitStrip{grid-template-columns:1fr}.heroCopy h1{font-size:40px}.phoneMock{width:100%;max-width:360px}.sectionTitle h2{font-size:32px}}


/* V8.2 humanized senior illustration and Vozia Care flow */
.humanHero{position:relative;gap:22px;align-items:center}
.seniorCard{width:245px;height:340px;border-radius:34px;background:linear-gradient(180deg,#f4f7fb,#c7d7e8);box-shadow:0 30px 90px #0007;border:1px solid #ffffff44;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:22px;transform:rotate(-2deg)}
.seniorHead{position:absolute;top:38px;width:145px;height:145px}
.hair{position:absolute;top:0;left:16px;width:112px;height:62px;background:#eef3f8;border-radius:60px 60px 18px 18px;box-shadow:inset 0 -10px 0 #d5dde6}
.face{position:absolute;top:34px;left:18px;width:110px;height:108px;background:#e8b991;border-radius:50% 50% 46% 46%;box-shadow:inset 0 -8px 0 #d8a77e}
.eye{position:absolute;width:9px;height:9px;background:#203040;border-radius:50%;top:43px}.leftEye{left:31px}.rightEye{right:31px}
.nose{position:absolute;left:51px;top:48px;width:10px;height:24px;border-radius:10px;background:#d49a72}.smile{position:absolute;left:38px;top:78px;width:35px;height:15px;border-bottom:4px solid #7a3b35;border-radius:50%}.moustache{position:absolute;left:30px;top:69px;width:50px;height:10px;background:#f4f0e8;border-radius:50%}
.seniorBody{width:155px;height:145px;background:#1f6da8;border-radius:44px 44px 20px 20px;position:relative;box-shadow:inset 0 18px 0 #2b84c5}
.shirt{position:absolute;left:50%;transform:translateX(-50%);top:0;width:72px;height:80px;background:#eef7ff;clip-path:polygon(0 0,100% 0,70% 100%,30% 100%)}.hands{position:absolute;left:30px;bottom:24px;width:96px;height:20px;background:#e8b991;border-radius:99px}
@media(max-width:900px){.humanHero{flex-direction:column}.seniorCard{width:220px;height:300px;order:1}.phoneMock{order:2}}


.demoVoiceText{margin:-8px 0 14px;text-align:center;color:#BDEEFF}
.speakDemo{position:relative}
.speakDemo::after{content:"🔊";position:absolute;right:10px;bottom:8px;font-size:15px;opacity:.85}
.journeyGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.journeyStep{background:#07111F;border:1px solid var(--border);border-radius:18px;padding:16px}.journeyStep.ok{border-color:var(--ok);background:#102A1C}.journeyStep b{color:#BDEEFF}@media(max-width:850px){.journeyGrid{grid-template-columns:1fr}}

.protocolGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0}
.protocolGrid div{background:#07111F;border:1px solid var(--border);border-radius:16px;padding:14px}
.protocolGrid b{display:block;color:#BDEEFF;margin-bottom:6px}
.protocolGrid span{color:var(--muted);font-size:13px}
.promptGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.promptGrid button{min-height:76px}
.caseHero{background:linear-gradient(135deg,#102A1C,#07111F);border:1px solid var(--ok)}
@media(max-width:900px){.protocolGrid,.promptGrid{grid-template-columns:1fr}}


/* === Vozia V8.7 — Protocolo sequencial do paciente === */
.protocoloPacienteCard {
  border: 1px solid rgba(30,182,255,.35);
  background: linear-gradient(135deg, rgba(30,182,255,.08), rgba(255,255,255,.03));
}

.protocolSequence > div {
  position: relative;
  transition: .2s ease;
}

.protocolSequence > div.stepDone {
  border-color: rgba(34,197,94,.55);
  background: rgba(34,197,94,.10);
}

.protocolSequence > div.stepDone b::after {
  content: " ✓";
  color: #22C55E;
}

.protocolSequence > div.stepActive {
  border-color: rgba(30,182,255,.75);
  background: rgba(30,182,255,.14);
  box-shadow: 0 0 0 3px rgba(30,182,255,.10);
}

.protocolSequence > div.stepLocked {
  opacity: .55;
  filter: grayscale(.35);
}

.protocolActionBox {
  margin-top: 16px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(30,182,255,.25);
  background: rgba(14,17,22,.24);
}

.stepHeader {
  margin-bottom: 12px;
}

.stepHeader h2 {
  margin: 8px 0 4px;
}

.stepBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(30,182,255,.12);
  border: 1px solid rgba(30,182,255,.35);
  color: #1EB6FF;
  font-size: 13px;
  font-weight: 900;
}

.noticeBox {
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(245,158,11,.35);
  background: rgba(245,158,11,.10);
  color: inherit;
  margin: 14px 0;
  line-height: 1.5;
  font-size: 14px;
}

#legacySection.hidden,
#checklistCard.hidden,
#recorder.hidden,
#voziaCareRequestBox.hidden {
  display: none !important;
}


/* ============================================================
   VOZIA VAULT — UNICORN GLOBAL THEME
   Healthtech global: azul profundo + violeta premium + ciano
   ============================================================ */

:root{
  --bg:#070A18;
  --bg2:#0B1020;
  --surface:#111827;
  --surface2:#172036;
  --surface3:#1E293B;
  --primary:#7C3AED;
  --primary2:#22D3EE;
  --primary3:#2563EB;
  --accent:#A78BFA;
  --text:#F8FAFC;
  --muted:#A7B3C7;
  --border:rgba(148,163,184,.22);
  --ok:#34D399;
  --danger:#FB7185;
  --warn:#FBBF24;
  --glass:rgba(15,23,42,.76);
  --shadow:0 28px 80px rgba(0,0,0,.38);
  --glow:0 0 32px rgba(124,58,237,.35);
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:Inter,Arial,Helvetica,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 18% 0%, rgba(124,58,237,.38), transparent 31%),
    radial-gradient(circle at 86% 8%, rgba(34,211,238,.22), transparent 28%),
    radial-gradient(circle at 60% 100%, rgba(37,99,235,.18), transparent 36%),
    linear-gradient(145deg,#050713 0%,#070A18 42%,#0B1020 100%);
  min-height:100vh;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.8), transparent 80%);
  z-index:-1;
}

a{color:inherit;text-decoration:none}

.top,.siteNav{
  background:rgba(7,10,24,.78)!important;
  border-bottom:1px solid rgba(148,163,184,.18)!important;
  backdrop-filter:blur(22px)!important;
  box-shadow:0 14px 50px rgba(0,0,0,.25);
}

.brand,.brandBig{
  letter-spacing:.06em;
  background:linear-gradient(135deg,#fff,#A78BFA 48%,#22D3EE);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  text-shadow:none!important;
}

.brand span,.brandBig span{
  color:transparent!important;
}

.siteNav nav a{
  color:#D6E0F4;
  opacity:.88;
  font-weight:800;
}

.siteNav nav a:hover{
  color:#22D3EE;
}

button,.buttonLike{
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:16px!important;
  padding:13px 18px;
  background:linear-gradient(135deg,#7C3AED 0%,#2563EB 52%,#22D3EE 100%)!important;
  color:#FFFFFF!important;
  font-weight:950!important;
  cursor:pointer;
  box-shadow:0 16px 42px rgba(37,99,235,.28), 0 0 0 1px rgba(255,255,255,.05) inset!important;
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease!important;
}

button:hover{
  transform:translateY(-1px);
  filter:brightness(1.08);
  box-shadow:0 20px 55px rgba(124,58,237,.36), 0 0 32px rgba(34,211,238,.16)!important;
}

button:disabled{
  opacity:.42!important;
  cursor:not-allowed!important;
  transform:none!important;
}

button.ghost,.ghost{
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(148,163,184,.25)!important;
  color:#E2E8F0!important;
  box-shadow:none!important;
}

button.ghost:hover,.ghost:hover{
  border-color:rgba(34,211,238,.55)!important;
  color:#67E8F9!important;
  background:rgba(34,211,238,.08)!important;
}

button.green,.green{
  background:linear-gradient(135deg,#10B981,#22D3EE)!important;
  color:#04111D!important;
}

button.red,.red{
  background:linear-gradient(135deg,#E11D48,#FB7185)!important;
}

button.yellow,.yellow{
  background:linear-gradient(135deg,#F59E0B,#FBBF24)!important;
  color:#111827!important;
}

button.dark,.dark{
  background:linear-gradient(135deg,#111827,#334155)!important;
}

.container{
  width:min(1180px,calc(100% - 28px));
}

.card,.featureCard,.priceCard,.plan,.dataItem,.vaultPanel,.heroDevice,.phoneMock,.seniorCard,.certificate{
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;
  border:1px solid rgba(148,163,184,.20)!important;
  border-radius:26px!important;
  box-shadow:var(--shadow)!important;
  backdrop-filter:blur(18px);
}

.card:hover,.featureCard:hover,.priceCard:hover,.dataItem:hover{
  border-color:rgba(34,211,238,.32)!important;
}

.movHero{
  min-height:78vh;
  position:relative;
}

.movHero::after{
  content:"";
  position:absolute;
  right:4%;
  top:12%;
  width:320px;
  height:320px;
  background:radial-gradient(circle,rgba(124,58,237,.35),transparent 68%);
  filter:blur(18px);
  z-index:-1;
}

.pill,.tag,.stepBadge,.etapa-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  border-radius:999px!important;
  padding:8px 13px!important;
  border:1px solid rgba(34,211,238,.34)!important;
  background:linear-gradient(135deg,rgba(124,58,237,.20),rgba(34,211,238,.10))!important;
  color:#67E8F9!important;
  font-weight:950!important;
}

.heroCopy h1,.sectionTitle h2,.card h2,.priceCard h3,.featureCard h3{
  letter-spacing:-.04em;
}

.heroCopy h1{
  background:linear-gradient(135deg,#FFFFFF 0%,#C4B5FD 48%,#67E8F9 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  font-size:clamp(42px,6vw,78px)!important;
  line-height:.95!important;
}

.heroCopy p,.sectionTitle p,.small,p{
  color:var(--muted);
}

.benefitStrip{
  background:rgba(15,23,42,.62)!important;
  border:1px solid rgba(148,163,184,.18)!important;
  border-radius:28px;
  backdrop-filter:blur(18px);
  box-shadow:var(--shadow);
}

.benefitStrip div b{
  color:#FFFFFF;
}

.benefitStrip div span{
  color:#A7B3C7;
}

.pricingGrid .featured,.priceCard.featured,.premium{
  border-color:rgba(124,58,237,.55)!important;
  box-shadow:0 28px 80px rgba(124,58,237,.25)!important;
  background:
    radial-gradient(circle at top right,rgba(34,211,238,.16),transparent 38%),
    linear-gradient(180deg,rgba(124,58,237,.18),rgba(255,255,255,.045))!important;
}

input,select,textarea{
  background:rgba(2,6,23,.58)!important;
  border:1px solid rgba(148,163,184,.24)!important;
  color:#F8FAFC!important;
  border-radius:16px!important;
  outline:none;
}

input:focus,select:focus,textarea:focus{
  border-color:rgba(34,211,238,.72)!important;
  box-shadow:0 0 0 4px rgba(34,211,238,.13)!important;
}

input::placeholder,textarea::placeholder{
  color:#64748B!important;
}

.contract{
  background:rgba(2,6,23,.58)!important;
  border:1px solid rgba(124,58,237,.26)!important;
  border-radius:18px!important;
}

.end{
  color:#67E8F9!important;
}

.progress{
  background:rgba(148,163,184,.16)!important;
  border-radius:999px!important;
  overflow:hidden;
}

.progress > div,#bar{
  background:linear-gradient(90deg,#7C3AED,#2563EB,#22D3EE)!important;
  box-shadow:0 0 22px rgba(34,211,238,.35);
}

.stats div{
  background:rgba(2,6,23,.42)!important;
  border:1px solid rgba(148,163,184,.16)!important;
  border-radius:20px!important;
}

.stats b,.scoreCircle span{
  background:linear-gradient(135deg,#A78BFA,#22D3EE);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
}

.vaultBadge,.seal{
  background:linear-gradient(135deg,#7C3AED,#22D3EE)!important;
  color:#fff!important;
  box-shadow:var(--glow)!important;
}

.protocolSequence > div{
  background:rgba(2,6,23,.42)!important;
  border:1px solid rgba(148,163,184,.18)!important;
}

.protocolSequence > div.stepActive{
  background:linear-gradient(135deg,rgba(124,58,237,.22),rgba(34,211,238,.10))!important;
  border-color:rgba(34,211,238,.55)!important;
  box-shadow:0 0 0 4px rgba(34,211,238,.08)!important;
}

.protocolSequence > div.stepDone{
  background:rgba(16,185,129,.12)!important;
  border-color:rgba(52,211,153,.40)!important;
}

.protocolActionBox,.noticeBox,.guardianBox{
  background:rgba(2,6,23,.46)!important;
  border:1px solid rgba(148,163,184,.18)!important;
  border-radius:18px!important;
}

.noticeBox{
  border-color:rgba(167,139,250,.34)!important;
  background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(34,211,238,.06))!important;
}

.phraseCard{
  background:
    radial-gradient(circle at top left,rgba(124,58,237,.22),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;
}

.countdown{
  background:linear-gradient(135deg,#7C3AED,#22D3EE)!important;
  color:#fff!important;
}

.volumeWrap{
  background:rgba(148,163,184,.16)!important;
  border-radius:999px!important;
  overflow:hidden;
}

#volumeBar{
  background:linear-gradient(90deg,#34D399,#22D3EE,#A78BFA)!important;
}

.dot{
  background:rgba(2,6,23,.55)!important;
  border:1px solid rgba(148,163,184,.22)!important;
}

.dot.done{
  background:linear-gradient(135deg,#10B981,#22D3EE)!important;
  color:#06121F!important;
}

.dot.active{
  background:linear-gradient(135deg,#7C3AED,#2563EB)!important;
  color:#fff!important;
  box-shadow:0 0 0 4px rgba(124,58,237,.16)!important;
}

.msg{
  border-radius:14px!important;
  background:rgba(251,113,133,.12)!important;
  border:1px solid rgba(251,113,133,.28)!important;
  color:#FFE4E6!important;
}

.msg.ok{
  background:rgba(16,185,129,.12)!important;
  border-color:rgba(52,211,153,.34)!important;
  color:#BBF7D0!important;
}

.phoneMock{
  border:1px solid rgba(34,211,238,.28)!important;
  box-shadow:0 30px 90px rgba(34,211,238,.12),var(--shadow)!important;
}

.phoneTop,.voiceTag{
  color:#67E8F9!important;
}

.careGrid button{
  background:linear-gradient(135deg,#111827,#1E293B)!important;
  border:1px solid rgba(34,211,238,.24)!important;
}

.keyboardMock{
  background:rgba(2,6,23,.56)!important;
  border:1px solid rgba(148,163,184,.18)!important;
  color:#A7B3C7!important;
}

.seniorCard{
  background:
    radial-gradient(circle at 40% 0%,rgba(34,211,238,.20),transparent 36%),
    linear-gradient(180deg,rgba(124,58,237,.20),rgba(255,255,255,.04))!important;
}

.face{
  background:#FDE7C8!important;
}

.shirt{
  background:linear-gradient(135deg,#7C3AED,#2563EB)!important;
}

details{
  background:rgba(15,23,42,.58)!important;
  border:1px solid rgba(148,163,184,.18)!important;
  border-radius:18px!important;
}

summary{
  color:#F8FAFC!important;
  font-weight:950;
}

a.dataItem{
  color:inherit!important;
}

::-webkit-scrollbar{
  width:10px;
  height:10px;
}

::-webkit-scrollbar-track{
  background:#070A18;
}

::-webkit-scrollbar-thumb{
  background:linear-gradient(#7C3AED,#22D3EE);
  border-radius:999px;
}

@media(max-width:850px){
  .heroCopy h1{
    font-size:42px!important;
  }

  .top,.siteNav{
    gap:12px;
  }

  .siteNav nav{
    gap:8px;
  }
}


/* === Vozia fix gravação: cronômetro e prévia === */
.recordTimerBox{
  display:flex;
  align-items:center;
  gap:12px;
  margin:14px 0;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(34,211,238,.35);
  background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(34,211,238,.08));
  box-shadow:0 0 22px rgba(34,211,238,.12);
}

.recordTimerBox b{
  display:block;
  font-size:28px;
  letter-spacing:.04em;
  color:#FFFFFF;
}

.recordTimerBox span{
  display:block;
  color:#A7B3C7;
  font-size:13px;
  margin-top:2px;
}

.recordPulse{
  width:16px;
  height:16px;
  border-radius:50%;
  background:#FB7185;
  box-shadow:0 0 0 0 rgba(251,113,133,.70);
  animation:voziaPulse 1.2s infinite;
}

@keyframes voziaPulse{
  0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(251,113,133,.70)}
  70%{transform:scale(1);box-shadow:0 0 0 12px rgba(251,113,133,0)}
  100%{transform:scale(.95);box-shadow:0 0 0 0 rgba(251,113,133,0)}
}

.preview audio,
#audioPreview,
#legacyPreview{
  width:100%;
  margin-top:10px;
  border-radius:12px;
}

/* ============================================================
   VOZIA — RESPONSIVO MOBILE COMPLETO
   Index/Home + login + app + protocolo + gravação
   ============================================================ */

.mobileMenuBtn{display:none}
html,body{max-width:100%;overflow-x:hidden}
img,video,audio,canvas,svg{max-width:100%}

@media (max-width:1100px){
  .container{width:min(100% - 24px,980px)!important}
  .movHero{grid-template-columns:1fr!important;gap:28px!important;padding:42px 22px!important}
  .heroDevice{width:100%!important;min-height:auto!important}
  .humanHero{grid-template-columns:1fr!important}
  .phoneMock{width:100%!important}
  .benefitStrip,.featureGrid,.pricingGrid,.docsGrid,.protocolGrid,.grid2,.plansWide{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:820px){
  body{
    background:
      radial-gradient(circle at 20% 0%,rgba(124,58,237,.34),transparent 30%),
      radial-gradient(circle at 90% 10%,rgba(34,211,238,.18),transparent 25%),
      linear-gradient(145deg,#050713 0%,#070A18 55%,#0B1020 100%)!important;
  }
  .top{position:sticky!important;padding:14px 16px!important;flex-wrap:wrap!important;gap:10px!important}
  .top nav{display:flex!important;gap:8px!important;flex-wrap:wrap!important;width:100%!important}
  .top nav button{flex:1 1 auto!important;padding:11px 12px!important;font-size:14px!important}
  .brand{font-size:19px!important}

  .siteNav{
    position:sticky!important;top:0!important;z-index:50!important;
    display:grid!important;grid-template-columns:1fr auto!important;
    align-items:center!important;padding:14px 16px!important;gap:12px!important;
  }
  .brandBig{font-size:22px!important;line-height:1.05!important}
  .mobileMenuBtn{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:46px!important;height:46px!important;padding:0!important;border-radius:16px!important;font-size:26px!important
  }
  .siteNav nav{
    grid-column:1 / -1!important;display:none!important;flex-direction:column!important;
    align-items:stretch!important;gap:8px!important;width:100%!important;padding:10px 0 2px!important
  }
  .siteNav nav.open{display:flex!important}
  .siteNav nav a,.siteNav nav button{
    display:block!important;width:100%!important;text-align:left!important;padding:13px 14px!important;
    border-radius:14px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(148,163,184,.18)!important
  }
  .siteNav nav button{text-align:center!important}

  .movHero{min-height:auto!important;padding:34px 16px 26px!important;display:grid!important;grid-template-columns:1fr!important}
  .heroCopy{width:100%!important}
  .heroCopy h1{font-size:clamp(38px,13vw,56px)!important;line-height:.96!important;letter-spacing:-.06em!important;margin:18px 0 16px!important}
  .heroCopy p{font-size:17px!important;line-height:1.55!important}
  .heroActions,.heroActions.left,.actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;gap:10px!important}
  .heroActions button,.actions button{width:100%!important;min-height:48px!important}

  .heroDevice,.humanHero{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;padding:16px!important;border-radius:24px!important}
  .seniorCard{width:100%!important;max-width:300px!important;margin:0 auto!important;min-height:260px!important}
  .phoneMock{width:100%!important;padding:18px!important;border-radius:24px!important}
  .careGrid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .careGrid button{min-height:82px!important;font-size:15px!important;padding:12px 8px!important}
  .keyboardMock{font-size:15px!important;padding:13px!important}

  .benefitStrip{grid-template-columns:1fr 1fr!important;gap:10px!important;margin:12px 16px!important;padding:12px!important}
  .benefitStrip div{padding:14px 10px!important;text-align:center!important}

  .sectionBlock{padding:34px 16px!important}
  .sectionTitle h2{font-size:31px!important;line-height:1.05!important}
  .sectionTitle p{font-size:16px!important}
  .featureGrid,.pricingGrid,.docsGrid,.protocolGrid,.grid2,.plansWide,.grid{grid-template-columns:1fr!important;gap:14px!important}
  .featureCard,.priceCard,.card,.dataItem,.plan{border-radius:22px!important;padding:18px!important}

  #auth.container,main.container{width:calc(100% - 20px)!important;padding-left:0!important;padding-right:0!important}
  #auth .grid{display:grid!important;grid-template-columns:1fr!important}
  input,select,textarea{width:100%!important;min-height:46px!important;font-size:16px!important}
  label{font-size:14px!important}
  .contract{max-height:260px!important;font-size:14px!important;line-height:1.45!important}
  #registerBtn,#loginBtn,#forgotPasswordBtn{width:100%!important;margin-top:8px!important}
  .plans{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}

  .vaultPanel .row,.card .row{flex-direction:column!important;align-items:flex-start!important;gap:14px!important}
  .vaultBadge{align-self:flex-start!important}
  .stats{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .scoreCircle{width:150px!important;height:150px!important;margin:0 auto!important}

  .protocolSequence{grid-template-columns:1fr!important}
  .protocolSequence > div{min-height:auto!important}
  #startProtocolBtn{width:100%!important}

  .recorder{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .phraseCard h1,#phraseText{font-size:28px!important;line-height:1.12!important}
  .phraseCard .actions{display:grid!important;grid-template-columns:1fr!important}
  .phraseCard .actions button{width:100%!important}
  .map,#phraseMap{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:8px!important}
  .dot{width:100%!important;min-width:0!important;height:42px!important;padding:0!important}

  .promptGrid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  audio{width:100%!important}
  .recordTimerBox{align-items:center!important;padding:12px!important}
  .recordTimerBox b{font-size:24px!important}
}

@media (max-width:480px){
  .brandBig{font-size:20px!important}
  .heroCopy h1{font-size:42px!important}
  .pill{max-width:100%!important;white-space:normal!important}
  .careGrid{grid-template-columns:1fr!important}
  .benefitStrip{grid-template-columns:1fr!important}
  .sectionTitle h2{font-size:28px!important}
  .card,.featureCard,.priceCard,.dataItem,.plan{padding:16px!important}
  .docsGrid a,.dataItem{word-break:break-word!important}
  .map,#phraseMap{grid-template-columns:repeat(4,1fr)!important}
  .top nav{grid-template-columns:1fr!important}
}

/* === V8.10 gravação final === */
.recordTimerBox{
  display:flex;
  align-items:center;
  gap:12px;
  margin:14px 0;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(34,211,238,.35);
  background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(34,211,238,.08));
  box-shadow:0 0 22px rgba(34,211,238,.12);
}
.recordTimerBox b{display:block;font-size:28px;letter-spacing:.04em;color:#fff}
.recordTimerBox span{display:block;color:#A7B3C7;font-size:13px;margin-top:2px}
.recordPulse{
  width:16px;height:16px;border-radius:50%;background:#FB7185;
  box-shadow:0 0 0 0 rgba(251,113,133,.70);
  animation:voziaPulse 1.2s infinite;
}
@keyframes voziaPulse{
  0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(251,113,133,.70)}
  70%{transform:scale(1);box-shadow:0 0 0 12px rgba(251,113,133,0)}
  100%{transform:scale(.95);box-shadow:0 0 0 0 rgba(251,113,133,0)}
}
.preview audio,#audioPreview,#legacyPreview{width:100%;margin-top:10px;border-radius:12px}

/* === V8.11 audio fix final === */
#listenFixedBtn{
  min-width:160px;
}
#recordDebugMsg{
  margin-top:14px;
}

/* === V8.12 iPhone audio fix === */
#listenFixedBtn{min-width:160px}
#recordDebugMsg{margin-top:14px}

/* ============================================================
   V8.13 — MOBILE PRO + PROTOCOLO FLEXÍVEL
   ============================================================ */

.stepOptional{
  border-color:rgba(251,191,36,.42)!important;
  background:linear-gradient(135deg,rgba(251,191,36,.12),rgba(124,58,237,.08))!important;
}

.protocolQuickActions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.protocolQuickActions button{
  flex:1 1 220px;
}

.protocolChoiceBox{
  margin-top:18px;
}

.choiceGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:18px;
}

/* Responsividade mais forte para celular */
@media(max-width:900px){
  body{
    font-size:16px;
  }

  .container{
    width:calc(100% - 18px)!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .siteNav{
    padding:12px 14px!important;
  }

  .movHero{
    padding:28px 14px!important;
    overflow:hidden;
  }

  .heroCopy h1{
    max-width:100%!important;
    font-size:clamp(38px,12vw,54px)!important;
    line-height:1!important;
  }

  .heroCopy p{
    max-width:100%!important;
    font-size:16px!important;
  }

  .pill{
    max-width:100%!important;
    white-space:normal!important;
  }

  .heroDevice{
    overflow:hidden!important;
  }

  .phoneMock,
  .seniorCard{
    max-width:100%!important;
  }

  .grid,
  .grid2,
  .featureGrid,
  .pricingGrid,
  .docsGrid,
  .protocolGrid,
  .choiceGrid,
  .plans,
  .plansWide{
    grid-template-columns:1fr!important;
  }

  .card,
  .featureCard,
  .priceCard,
  .plan,
  .dataItem{
    padding:16px!important;
    border-radius:20px!important;
  }

  .sectionBlock{
    padding:30px 14px!important;
  }

  .sectionTitle h2,
  .card h2{
    font-size:28px!important;
    line-height:1.1!important;
  }

  input,
  select,
  textarea,
  button{
    max-width:100%!important;
  }

  .protocolQuickActions{
    flex-direction:column;
  }

  .protocolQuickActions button,
  .choiceGrid button,
  #startProtocolBtn{
    width:100%!important;
  }

  .stats{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .map,
  #phraseMap{
    grid-template-columns:repeat(4,1fr)!important;
  }

  .dot{
    min-width:0!important;
    width:100%!important;
  }

  .careGrid{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:420px){
  .heroCopy h1{
    font-size:38px!important;
  }

  .brandBig{
    font-size:19px!important;
  }

  .top nav{
    width:100%;
    display:grid!important;
    grid-template-columns:1fr 1fr;
  }

  .top nav button{
    width:100%!important;
  }

  .map,
  #phraseMap{
    grid-template-columns:repeat(3,1fr)!important;
  }
}

/* === V8.14 legacy recorder fix === */
#legacyListenBtn{min-width:160px}
#legacyDebugMsg{margin-top:14px}
#legacyTimerBox{margin-top:14px;margin-bottom:14px}
