:root{
  /* Paleta pedida: mais neutra e marrom, com o vinho só como destaque/CTA. */
  --cta:#9D2241; --cta-hi:#B02A4D;
  --bg:#FDF8F6; --bg-alt:#F5ECE6;
  --bege-cinza:#E6DBD1; --bege-med:#E2D1C3; --bege-leve:#C6AD9C; --bege-suave:#B89A83; --bege-quente:#A68269;
  --marrom-claro:#785C48; --marrom-medio:#594436;
  --vinho-medio:#793840; --vinho-acinz:#8E3B4A; --vinho-escuro:#6B2334; --vinho-prof:#5A1729; --vinho-noturno:#480A1D;
  --ink:#3E2E24; --ink-soft:#6B5646;
  --grad-cta:linear-gradient(135deg,#9D2241,#6B2334);
  --grad-neutro:linear-gradient(135deg,#E2D1C3,#A68269);
  --grad-hero:linear-gradient(160deg,#F5ECE6 0%,#E2D1C3 55%,#A68269 100%);
  --grad-page:linear-gradient(180deg,#FDF8F6 0%,#E6DBD1 32%,#C6AD9C 62%,#785C48 100%);
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:.3s ease;
  --shadow:0 18px 40px -22px rgba(62,46,36,.35);
}
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.5;overflow-x:hidden}
body.bio-page{background:var(--grad-page)}
html:has(body.bio-page){background:#785C48}
button,input,textarea{font:inherit;color:inherit}
h1,h2,h3,p,ul{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--cta);outline-offset:3px}
.ic{width:1em;height:1em;display:block;flex:none}

/* ================= BIO ================= */
.bio-shell{max-width:480px;margin:0 auto;padding:32px 20px calc(48px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:22px}
.bio-avatar{width:104px;height:104px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px var(--bg),0 0 0 7px var(--bege-med),var(--shadow)}
.bio-name{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--marrom-medio);text-align:center}
.bio-keywords{font-size:13px;letter-spacing:.02em;color:var(--ink-soft);text-align:center;margin-top:-10px}
.bio-icons{display:flex;gap:14px}
.bio-icons a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--bege-cinza);color:var(--marrom-medio);transition:background var(--ease),color var(--ease),transform var(--ease)}
.bio-icons a:hover{background:var(--cta);color:#fff;transform:translateY(-2px)}
.bio-icons .ic{width:19px;height:19px}

.bio-card{width:100%;border-radius:20px;text-decoration:none;display:block;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:transform var(--ease)}
.bio-card:hover{transform:translateY(-2px)}
.bio-chat{background:linear-gradient(150deg,#9D2241 0%,#6B2334 70%,#5A1729 100%);padding:32px 26px}
.bio-chat .headline{font-family:var(--serif);font-size:25px;line-height:1.28;font-weight:700;color:#FDF8F6;margin-bottom:14px}
.bio-chat p{font-size:15px;line-height:1.5;margin-bottom:22px;color:rgba(253,248,246,.82)}
.bio-chat .go{display:inline-flex;align-items:center;gap:8px;background:#FDF8F6;color:var(--vinho-prof);font-weight:700;font-size:14px;padding:13px 22px;border-radius:12px;box-shadow:0 10px 22px -10px rgba(0,0,0,.35)}
.bio-chat .go .ic{width:16px;height:16px}

.bio-tile{aspect-ratio:3/1;background:var(--bege-cinza)}
.bio-tile img{width:100%;height:100%;object-fit:cover;display:block}
.bio-foot{font-size:11px;color:rgba(253,248,246,.75);text-align:center;margin-top:6px}

/* ================= CHAT ================= */
.shell{max-width:560px;margin:0 auto;padding:16px 16px calc(44px + env(safe-area-inset-bottom));min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:10px;padding:6px 0 20px}
.topbar a{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--bege-cinza);color:var(--marrom-medio)}
.topbar a .ic{width:16px;height:16px}
.topbar .brand{font-family:var(--serif);font-weight:600;letter-spacing:.06em;font-size:14px;color:var(--marrom-medio)}
#app{flex:1;display:flex;flex-direction:column}
.screen{flex:1;display:flex;flex-direction:column;animation:in-fwd var(--ease) both}
.screen.back{animation-name:in-back}
@keyframes in-fwd{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes in-back{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* -- bolhas de chat, com a foto da Le do lado (como numa conversa de verdade) -- */
.bubbles{display:flex;flex-direction:column;gap:12px;margin-bottom:22px}
.brow{display:flex;align-items:flex-end;gap:8px}
.bavatar{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px var(--bg)}
.bubble{align-self:flex-start;max-width:78%;background:var(--bg-alt);border:1px solid var(--bege-med);border-radius:4px 16px 16px 16px;padding:12px 16px;font-size:15px;line-height:1.5;color:var(--ink);animation:up var(--ease) both}
.bubble.me{align-self:flex-end;background:var(--grad-cta);color:#fff;border-radius:16px 16px 4px 16px;border:none}
.typing{align-self:flex-start;display:flex;gap:4px;padding:14px 16px;background:var(--bg-alt);border:1px solid var(--bege-med);border-radius:4px 16px 16px 16px;width:fit-content}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--bege-quente);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}

.qhead{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.qtile{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--grad-cta);color:#fff;flex:none;box-shadow:0 8px 18px -10px rgba(157,34,65,.55)}
.qtile .ic{width:21px;height:21px}
.qtitle{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--marrom-medio)}
.qstep{font-size:12px;color:var(--cta);font-weight:700;letter-spacing:.05em;margin-bottom:4px}

.options{display:flex;flex-direction:column;gap:10px}
.opt{text-align:left;background:var(--bg-alt);border:1.5px solid rgba(157,34,65,.18);border-radius:14px;padding:15px 16px;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;transition:background var(--ease),border-color var(--ease),color var(--ease),transform var(--ease)}
.opt:active{transform:scale(.98)}
.opt.sel{background:var(--grad-cta);border-color:transparent;color:#fff}

.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.field label{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--marrom-medio)}
.input{width:100%;border:1.5px solid var(--bege-med);border-radius:12px;padding:14px 16px;font-size:16px;background:var(--bg-alt);color:var(--ink)}
.input:focus-visible{border-color:var(--cta)}
.phone-row{display:flex;gap:8px}
.cc-select{flex:none;width:92px;border:1.5px solid var(--bege-med);border-radius:12px;padding:0 6px;font-size:14px;background:var(--bg-alt);color:var(--ink)}
.phone-row .input{flex:1;min-width:0}
.err{font-size:12px;color:var(--cta);min-height:16px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:13px;padding:15px 22px;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none;transition:transform var(--ease),opacity var(--ease)}
.btn:active{transform:scale(.98)}
.btn[disabled]{opacity:.55;cursor:default}
.btn-primary{background:var(--grad-cta);color:#fff;box-shadow:0 10px 22px -10px rgba(157,34,65,.6)}
.btn-outline{background:transparent;border:1.5px solid var(--bege-med);color:var(--marrom-medio)}
.btn .ic{width:16px;height:16px}
.btn-row{display:flex;gap:10px;margin-top:8px}
.btn-block{width:100%}

.center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}
.progress{width:100%;max-width:220px;height:6px;border-radius:6px;background:var(--bege-cinza);overflow:hidden}
.progress i{display:block;height:100%;background:var(--grad-cta);transition:width .4s ease}

/* -- resultado -- */
.result-hello{font-family:var(--serif);font-size:25px;font-weight:700;line-height:1.3;color:var(--marrom-medio);background:var(--bg-alt);border:1px solid var(--bege-med);border-left:5px solid var(--cta);border-radius:4px 16px 16px 4px;padding:20px 22px;margin-bottom:24px;box-shadow:var(--shadow)}
.result-hello .rh-name{color:var(--cta)}
.main-card{border-radius:20px;overflow:hidden;background:var(--bg-alt);border:1px solid var(--bege-med);box-shadow:var(--shadow);margin-bottom:22px}
.main-card .photo{width:100%;aspect-ratio:16/6;object-fit:cover;object-position:center 38%;display:block}
.main-card .body{padding:20px}
.main-card h3{font-family:var(--serif);font-size:20px;color:var(--marrom-medio);margin-bottom:8px}
.main-card .just{font-style:italic;font-size:14px;line-height:1.55;color:var(--ink-soft);margin-bottom:14px}
.main-card .price{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--cta);margin-bottom:14px}

.comp-title{font-family:var(--serif);font-size:24px;font-weight:700;line-height:1.3;color:var(--vinho-prof);margin:32px 0 16px}
.comp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}
.comp-card{display:flex;flex-direction:column;background:var(--bg-alt);border:1px solid var(--bege-med);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow)}
.cphoto{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.cphoto-ic{display:grid;place-items:center;background:var(--grad-neutro);color:var(--vinho-prof);font-size:28px}
.comp-card .ct{flex:1;display:flex;flex-direction:column;padding:12px}
.comp-card .ct b{font-family:var(--serif);font-size:14px;color:var(--marrom-medio);line-height:1.3;margin-bottom:5px}
.cdesc{font-size:12px;line-height:1.5;color:var(--ink-soft);flex:1;margin-bottom:10px}
.crow{display:flex;align-items:center;justify-content:space-between;font-weight:700}
.crow small{font-family:var(--serif);font-size:15px;color:var(--cta)}
.crow .ic{width:15px;height:15px;color:var(--cta)}

.wa-block{text-align:center;padding:26px 22px;margin-top:22px;border-radius:20px;background:linear-gradient(150deg,#9D2241 0%,#6B2334 70%,#5A1729 100%);box-shadow:var(--shadow)}
.wa-block h3{font-family:var(--serif);font-size:21px;color:#FDF8F6;margin-bottom:10px}
.wa-block p{font-size:14px;line-height:1.5;color:rgba(253,248,246,.85);margin-bottom:18px}
.btn-wa{background:#FDF8F6;color:var(--vinho-prof)}

@media (max-width:380px){
  .bio-avatar{width:88px;height:88px}
  .bio-name{font-size:21px}
}
