/* Estilo do Estúdio LumiNah.
   Compartilhado pelas duas versões da página (/estudio e /studio) pra elas
   nunca ficarem diferentes uma da outra: mexer aqui vale pras duas. */
/* Página de serviços: precisa parecer empresa de tecnologia, não portal
   místico. O fundo de galáxia do portal (body::before/::after no styles.css)
   é desligado só aqui, mesmo caminho que o Olhai o Campo usou. */
html { background:#0d0d1a !important; }
body::before, body::after { display:none !important; content:none !important; }
body { background:#0d0d1a !important; color:#e8e6f0 !important; font-family:'Inter',system-ui,sans-serif !important; }

.est-wrap { max-width:1080px; margin:0 auto; padding:0 22px; }

/* cabeçalho próprio */
/* o styles.css do portal dá um brilho roxo em TODO header (box-shadow), e aqui
   ele vazava como uma faixa lilás sob a barra. Desligado só nesta página. */
.est-topo { position:sticky; top:0; z-index:60; background:rgba(13,13,26,.92); backdrop-filter:blur(10px); border-bottom:1px solid rgba(196,163,255,.16); box-shadow:none !important; }
.est-topo-linha { display:flex; align-items:center; justify-content:space-between; gap:18px; height:62px; }
.est-marca { display:flex; align-items:center; gap:9px; color:#e8e6f0 !important; text-decoration:none !important; font-size:1.02rem; letter-spacing:.01em; }
.est-marca svg { color:#c9a227; flex:none; }
.est-marca strong { color:#c9a227; font-weight:700; }
.est-menu { display:flex; align-items:center; gap:22px; }
.est-menu a { color:#b9b3cc !important; text-decoration:none !important; font-size:.9rem; }
.est-menu a:hover { color:#fff !important; }
.est-menu .est-menu-cta { border:1px solid rgba(201,162,39,.5); color:#e4c98f !important; border-radius:999px; padding:6px 15px; font-weight:600; }
.est-menu .est-menu-cta:hover { background:rgba(201,162,39,.14); color:#fff !important; }
.est-menu-btn { display:none; background:none; border:none; color:#c5c0d6; cursor:pointer; padding:6px; }
@media (max-width:780px) {
  .est-menu { position:absolute; top:62px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:#12122a; border-bottom:1px solid rgba(196,163,255,.18); padding:6px 0; display:none; }
  .est-menu.aberto { display:flex; }
  .est-menu a { padding:12px 22px; font-size:.95rem; }
  .est-menu .est-menu-cta { margin:8px 22px 12px; text-align:center; }
  .est-menu-btn { display:block; }
}
.est-sec { padding:64px 0; }
.est-sec + .est-sec { border-top:1px solid rgba(196,163,255,.14); }
.est-titulo { font-family:'Cinzel',serif; font-size:1.9rem; margin:0 0 10px; color:#fff; letter-spacing:.01em; }
.est-linha { color:#b9b3cc; font-size:1.02rem; line-height:1.7; max-width:62ch; margin:0 0 26px; }

/* topo */
.est-hero { padding:76px 0 58px; text-align:center; }
.est-selo { display:inline-block; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:#c9a227; border:1px solid rgba(201,162,39,.4); border-radius:999px; padding:5px 14px; margin:0 0 20px; }
.est-hero h1 { font-family:'Cinzel',serif; font-size:2.7rem; line-height:1.18; margin:0 0 16px; color:#fff; }
.est-hero p { font-size:1.14rem; line-height:1.7; color:#c5c0d6; max-width:60ch; margin:0 auto 26px; }
.est-btn { display:inline-flex; align-items:center; gap:9px; background:#1A1A4D; color:#fff !important; border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:.82rem 1.8rem; text-decoration:none !important; font-weight:700; font-size:1rem; box-shadow:0 6px 20px rgba(0,0,0,.35); transition:transform .18s ease, box-shadow .18s ease; }
.est-btn:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,.45); }
.est-btn.ouro { background:linear-gradient(135deg,#c9a227,#a8851c); color:#1a1a2e !important; border-color:rgba(255,255,255,.28); }

/* portfólio */
.est-grade { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:18px; }
.est-card { background:rgba(255,255,255,.035); border:1px solid rgba(196,163,255,.18); border-radius:14px; padding:22px; }
.est-card h3 { margin:0 0 4px; font-size:1.12rem; color:#fff; }
.est-card .est-tipo { font-size:.76rem; letter-spacing:.09em; text-transform:uppercase; color:#c9a227; margin:0 0 11px; }
.est-card p { margin:0 0 13px; font-size:.94rem; line-height:1.62; color:#b9b3cc; }
.est-card ul { margin:0 0 14px; padding-left:17px; }
.est-card li { font-size:.87rem; line-height:1.55; color:#a9a3bd; margin:0 0 4px; }
.est-card a { color:#d9c98f; font-size:.9rem; font-weight:600; text-decoration:none; }
.est-card a:hover { text-decoration:underline; }

/* preços */
.est-preco { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
.est-plano { background:rgba(255,255,255,.035); border:1px solid rgba(196,163,255,.18); border-radius:14px; padding:24px; display:flex; flex-direction:column; }
.est-plano.destaque { border-color:rgba(201,162,39,.5); background:rgba(201,162,39,.06); }
.est-plano h3 { margin:0 0 6px; font-size:1.08rem; color:#fff; }
.est-plano .est-valor { font-size:1.55rem; font-weight:700; color:#c9a227; margin:0 0 3px; }
.est-plano .est-obs { font-size:.78rem; color:#8f8aa3; margin:0 0 15px; }
.est-plano ul { margin:0 0 18px; padding-left:17px; flex:1; }
.est-plano li { font-size:.88rem; line-height:1.6; color:#b9b3cc; margin:0 0 6px; }
.est-nota { font-size:.88rem; color:#9d97b2; line-height:1.65; margin:22px 0 0; max-width:70ch; }

/* consultoria: bloco à parte, porque é outra categoria de oferta (porta de
   entrada), e não mais um plano na fileira */
.est-consulta { display:grid; grid-template-columns:1.6fr 1fr; gap:26px; align-items:center;
  margin:26px 0 0; padding:26px; border-radius:16px;
  background:linear-gradient(135deg, rgba(201,162,39,.10), rgba(26,26,77,.22));
  border:1px solid rgba(201,162,39,.34); }
.est-consulta h3 { margin:0 0 9px; font-size:1.3rem; color:#fff; font-family:'Cinzel',serif; }
.est-consulta > div > p { margin:0 0 12px; font-size:.96rem; line-height:1.65; color:#c5c0d6; }
.est-consulta ul { margin:0; padding-left:17px; }
.est-consulta li { font-size:.9rem; line-height:1.62; color:#b9b3cc; margin:0 0 6px; }
.est-consulta-valor { text-align:center; border-left:1px solid rgba(201,162,39,.26); padding-left:24px; }
.est-consulta-valor .est-valor { font-size:2.3rem; margin:0 0 2px; }
.est-consulta-valor .est-obs { margin:0 0 14px; }
.est-abate { font-size:.87rem !important; line-height:1.55 !important; color:#e4c98f !important; margin:0 0 16px !important; }
@media (max-width:760px) {
  .est-consulta { grid-template-columns:1fr; gap:20px; padding:22px; }
  .est-consulta-valor { border-left:none; border-top:1px solid rgba(201,162,39,.26); padding:20px 0 0; }
}

/* como funciona */
.est-passos { display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:20px; counter-reset:passo; }
.est-passo { position:relative; padding-left:46px; }
.est-passo::before { counter-increment:passo; content:counter(passo); position:absolute; left:0; top:-2px; width:32px; height:32px; border-radius:50%; background:rgba(201,162,39,.14); border:1px solid rgba(201,162,39,.45); color:#c9a227; font-weight:700; display:flex; align-items:center; justify-content:center; font-size:.9rem; }
.est-passo h4 { margin:4px 0 6px; font-size:1rem; color:#fff; }
.est-passo p { margin:0; font-size:.9rem; line-height:1.62; color:#a9a3bd; }

/* quem faz */
.est-dupla { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px; }
.est-pessoa { background:rgba(255,255,255,.035); border:1px solid rgba(196,163,255,.18); border-radius:14px; padding:22px; }
.est-pessoa h3 { margin:0 0 3px; font-size:1.06rem; color:#fff; }
.est-pessoa .est-papel { font-size:.82rem; color:#c9a227; margin:0 0 11px; }
.est-pessoa p { margin:0; font-size:.92rem; line-height:1.65; color:#b9b3cc; }

/* formulário */
.est-form { max-width:660px; }
.est-form label { display:block; margin:0 0 15px; font-size:.88rem; color:#c5c0d6; }
.est-form input, .est-form select, .est-form textarea { width:100%; margin-top:6px; background:rgba(255,255,255,.05); border:1px solid rgba(196,163,255,.24); border-radius:9px; padding:11px 13px; color:#e8e6f0; font-family:inherit; font-size:.95rem; }
.est-form input:focus, .est-form select:focus, .est-form textarea:focus { outline:none; border-color:rgba(201,162,39,.6); }
.est-form textarea { min-height:132px; resize:vertical; line-height:1.6; }
.est-form option { background:#1a1a2e; color:#e8e6f0; }
.est-dois { display:grid; grid-template-columns:1fr 1fr; gap:0 15px; }
.est-obrig { color:#c9a227; }
/* erro fica dentro do formulário, junto do botão, que é onde a pessoa olha */
#estErro { margin:16px 0 0; padding:13px 15px; border-radius:9px; font-size:.93rem; line-height:1.6; display:none; }
#estErro.erro { display:block; background:rgba(220,110,110,.12); border:1px solid rgba(220,110,110,.4); color:#f0c3c3; }

/* confirmação: card grande, impossível de não ver. Ocupa o lugar do
   formulário, com altura parecida, pra a página não dar um salto estranho */
#estRecado { max-width:660px; margin:0; padding:34px 28px; border-radius:16px; text-align:center;
  background:linear-gradient(135deg, rgba(120,200,140,.10), rgba(26,26,77,.24));
  border:1px solid rgba(120,200,140,.42); }
#estRecado[hidden] { display:none; }
.est-ok-icone { width:62px; height:62px; margin:0 auto 16px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:#8fd8a4;
  background:rgba(120,200,140,.14); border:1px solid rgba(120,200,140,.45); }
#estRecado h3 { margin:0 0 10px; font-size:1.55rem; color:#fff; font-family:'Cinzel',serif; }
#estRecado p { margin:0 auto 10px; font-size:1rem; line-height:1.7; color:#c9dccf; max-width:46ch; }
#estRecado .est-ok-mini { font-size:.87rem; color:#93a89a; margin-bottom:0; }

@media (max-width:700px) {
  .est-hero { padding:52px 0 42px; }
  .est-hero h1 { font-size:1.95rem; }
  .est-titulo { font-size:1.55rem; }
  .est-sec { padding:48px 0; }
  .est-dois { grid-template-columns:1fr; }
}

/* seletor de idioma no menu: discreto, mas achável. Fica antes do botão de
   orçamento porque quem precisa dele precisa ANTES de decidir pedir. */
.est-menu .est-idioma { border:1px solid rgba(196,163,255,.3); border-radius:999px;
  padding:5px 13px; font-size:.83rem; letter-spacing:.02em; }
.est-menu .est-idioma:hover { background:rgba(196,163,255,.12); color:#fff !important; }
@media (max-width:780px) { .est-menu .est-idioma { margin:6px 22px; text-align:center; } }

/* ═══════════════════════════════════════════════════════════════════════
   Vida na página (js/estudio-vida.js)
   Movimento discreto de propósito: quem vende trabalho sério não pode ter
   uma página que disputa atenção com o próprio conteúdo.
   ═══════════════════════════════════════════════════════════════════════ */

@font-face {
  font-family: 'Great Vibes';
  src: url('/fontes/GreatVibes-Regular.ttf') format('truetype');
  font-display: swap;
}

/* palco atrás do título */
.est-hero { position: relative; overflow: hidden; }
.ev-palco { position:absolute; inset:0; pointer-events:none; z-index:0;
  display:flex; align-items:center; justify-content:center; }
.est-hero .est-wrap { position:relative; z-index:1; }

/* mais discreta: ela é assinatura, não protagonista. A leitura do
   título vem primeiro. */
.ev-semente { width:min(620px, 92vw); height:auto; opacity:.34; }
.ev-gira-h { transform-origin:50% 50%; animation: evGira 220s linear infinite, evPulsa 13s ease-in-out infinite; }
.ev-gira-a { transform-origin:50% 50%; animation: evGira 160s linear infinite reverse, evPulsa 17s ease-in-out infinite; }
@keyframes evGira { from { rotate: 0deg; } to { rotate: 360deg; } }
@keyframes evPulsa { 0%,100% { opacity:.8; } 50% { opacity:.38; } }

.ev-poeira { position:absolute; inset:0; width:100%; height:100%; }
@keyframes evFlutua {
  0%,100% { transform: translate(0,0); }
  50%     { transform: translate(0.9px, -1.6px); }
}

/* faixa de números */
.est-numeros { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:20px;
  padding:30px 26px; margin:0; border-radius:16px;
  background:rgba(255,255,255,.035); border:1px solid rgba(196,163,255,.16); }
.est-numero { text-align:center; }
.est-numero strong { display:block; font-family:'Cinzel',serif; font-size:2.05rem; color:#c9a227; line-height:1.1; margin:0 0 5px; }
.est-numero span { font-size:.87rem; color:#a9a3bd; line-height:1.45; display:block; }

/* citação em cursiva */
.est-citacao { text-align:center; padding:14px 0 4px; }
.est-citacao .ev-aspas { color:rgba(196,163,255,.34); font-size:2.1rem; line-height:1; display:block; margin:0 0 6px; }
.est-citacao blockquote { margin:0 auto; max-width:22ch;
  font-family:'Great Vibes', 'Segoe Script', cursive;
  font-size:clamp(2rem, 5.2vw, 3.3rem); line-height:1.28; color:#e4c98f;
  font-weight:400; letter-spacing:.01em; }
.est-citacao cite { display:block; margin:14px 0 0; font-style:normal;
  font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; color:#8f8aa3; }

/* frase viva */
.est-frase-viva { min-height:2.6em; display:flex; align-items:center; justify-content:center;
  text-align:center; font-size:1.06rem; line-height:1.6; color:#b9b3cc;
  font-style:italic; opacity:0; transition:opacity .9s ease; max-width:44ch; margin:0 auto; }

@media (prefers-reduced-motion: reduce) {
  .ev-gira-h, .ev-gira-a, .ev-poeira circle { animation:none !important; }
  .est-frase-viva { transition:none; }
}
@media (max-width:700px) {
  .ev-semente { opacity:.22; }
  .est-numero strong { font-size:1.7rem; }
}

/* mini-formulário de pagamento da consultoria */
.est-consulta-form { display:flex; flex-direction:column; gap:9px; margin:0 0 8px; }
.est-consulta-form input { background:rgba(255,255,255,.05); border:1px solid rgba(196,163,255,.24);
  border-radius:9px; padding:10px 12px; color:#e8e6f0; font-family:inherit; font-size:.92rem; }
.est-consulta-form input:focus { outline:none; border-color:rgba(201,162,39,.6); }
.est-consulta-form #consultaErro { margin:0; font-size:.83rem; color:#e6b6b6; min-height:0; }
.est-consulta-form #consultaErro:empty { display:none; }
.est-consulta-alt { display:block; text-align:center; font-size:.82rem; color:#9d97b2; text-decoration:none; }
.est-consulta-alt:hover { color:#c5c0d6; text-decoration:underline; }


