/* =========================================================
   Primeira Fila · tema escuro (padrão) e claro
   ========================================================= */
:root{
  --bg:#0B0E14; --bg2:#10141C; --card:#151B26; --card2:#1C2431; --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.14);
  --tx:#F1F3F8; --tx2:#AEB7C7; --tx3:#7D889B;
  --y:#FFC93C; --y-tx:#FFC93C; --y-soft:rgba(255,201,60,.12); --y-line:rgba(255,201,60,.38);
  --ok:#2ECC8F; --err:#FF6B6B;
  --glass:rgba(16,20,28,.72); --sombra:0 18px 50px rgba(0,0,0,.45); --sombra2:0 6px 20px rgba(0,0,0,.35);
  --brilho:radial-gradient(60% 50% at 85% 0%,rgba(255,201,60,.13),transparent 70%);
  --r:16px; --max:1160px; --leitura:18px;
  --fd:'Barlow Condensed',system-ui,sans-serif; --ft:'Inter',system-ui,sans-serif; --fs:'Playfair Display',Georgia,serif;
  color-scheme:dark;
}
:root[data-tema="claro"]{
  --bg:#F7F5F0; --bg2:#EFEBE3; --card:#FFFFFF; --card2:#F4F1EA; --line:rgba(14,17,23,.09); --line2:rgba(14,17,23,.16);
  --tx:#12151C; --tx2:#4B5262; --tx3:#7A8090;
  --y-tx:#A87400; --y-soft:rgba(224,165,0,.12); --y-line:rgba(224,165,0,.45);
  --glass:rgba(255,255,255,.78); --sombra:0 18px 50px rgba(30,25,10,.12); --sombra2:0 6px 20px rgba(30,25,10,.08);
  --brilho:radial-gradient(60% 50% at 85% 0%,rgba(255,201,60,.22),transparent 70%);
  color-scheme:light;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--tx);font:16px/1.65 var(--ft);-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
a{color:var(--y-tx);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--y);color:#111}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
h1,h2,h3,.disp{font-family:var(--fd);font-weight:800;line-height:1.02;letter-spacing:.2px;overflow-wrap:anywhere}
h1{font-size:clamp(42px,7.2vw,84px);text-transform:uppercase}
h2{font-size:clamp(32px,4.6vw,52px);text-transform:uppercase}
h3{font-size:24px}
.y{color:var(--y-tx)} .mut{color:var(--tx2)} .mut3{color:var(--tx3)}
.kick{font:700 13px/1 var(--fd);letter-spacing:3.2px;text-transform:uppercase;color:var(--y-tx);display:flex;align-items:center;gap:12px}
.kick:before{content:"";width:30px;height:2px;background:var(--y);border-radius:2px}
.serif{font-family:var(--fs);font-style:italic;font-weight:600;text-transform:none;letter-spacing:0}

/* marca: troca o símbolo conforme o tema */
.logo{display:flex;align-items:center;gap:11px;color:var(--tx);text-decoration:none!important}
.logo img{height:30px;width:auto}
.logo .bar{width:2px;height:26px;background:var(--y);border-radius:2px}
.logo b{font:800 23px/1 var(--fd);letter-spacing:.6px;text-transform:uppercase;white-space:nowrap}
.logo b span{color:var(--y-tx)}
.so-claro{display:none!important}
:root[data-tema="claro"] .so-claro{display:block!important}
:root[data-tema="claro"] .so-escuro{display:none!important}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:14px 26px;
  font:700 16px/1 var(--fd);letter-spacing:1.4px;text-transform:uppercase;cursor:pointer;text-decoration:none!important;
  transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.55;cursor:wait;transform:none}
.btn-y{background:var(--y);color:#111;box-shadow:0 8px 24px rgba(255,201,60,.28)}
.btn-y:hover{box-shadow:0 12px 30px rgba(255,201,60,.38)}
.btn-o{background:transparent;color:var(--tx);border:1.5px solid var(--line2)}
.btn-o:hover{border-color:var(--y)}
.btn-sm{padding:10px 16px;font-size:14px}
.btn-full{width:100%}
.ico-btn{width:40px;height:40px;border-radius:999px;border:1px solid var(--line2);background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--tx2);transition:.18s}
.ico-btn:hover{color:var(--tx);border-color:var(--y)}
.ico-btn svg{width:18px;height:18px}
.tema-btn .sol{display:none} :root[data-tema="claro"] .tema-btn .sol{display:block} :root[data-tema="claro"] .tema-btn .lua{display:none}

/* ===== menu flutuante (venda) ===== */
.flut{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:40;width:min(var(--max),calc(100% - 24px))}
.flut .in{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 10px 10px 20px;border-radius:999px;
  background:var(--glass);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);
  border:1px solid var(--line);box-shadow:var(--sombra2)}
.flut nav{display:flex;align-items:center;gap:6px}
.flut nav a.lk{color:var(--tx2);font-weight:500;font-size:15px;padding:8px 12px;border-radius:999px}
.flut nav a.lk:hover,.flut nav a.lk.on{color:var(--tx);background:var(--card2);text-decoration:none}
@media(max-width:860px){.flut nav a.lk{display:none}}
.espaco-topo{height:96px}

/* seções */
section{padding:100px 0}
.sec-alt{background:var(--bg2)}
.sec-head{max-width:760px;margin-bottom:46px}
.sec-head h2{margin-top:16px}
.sec-head p{color:var(--tx2);margin-top:16px;font-size:18px}
.centro{text-align:center;margin-inline:auto}
.centro .kick{justify-content:center}

/* hero */
.hero{padding:70px 0 96px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:var(--brilho);pointer-events:none}
.hero .wrap{position:relative}
.hero h1{margin:26px 0 24px;max-width:900px}
.hero p.lead{font-size:20px;color:var(--tx2);max-width:640px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.prova{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:16px 44px;margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}
.prova div{color:var(--tx3);font-size:14px}
.prova b{display:block;font:800 36px/1 var(--fd);color:var(--tx);margin-bottom:4px}
@media(max-width:620px){.prova{grid-template-columns:repeat(2,1fr)}}

/* grades e cartões */
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:960px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--sombra2)}
.card h3{margin:14px 0 8px}
.card p{color:var(--tx2);font-size:15px}
.ic{width:44px;height:44px;border-radius:12px;background:var(--y-soft);display:grid;place-items:center;color:var(--y-tx)}
.ic svg{width:22px;height:22px}
.ic img{width:24px}

.pal{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.pal .n{font:800 22px/1 var(--fd);color:var(--y-tx);min-width:28px}
.pal b{display:block;font-weight:600}
.pal span{color:var(--tx2);font-size:14px}

/* preços */
.precos{display:grid;grid-template-columns:repeat(2,minmax(0,390px));gap:24px;justify-content:center}
@media(max-width:780px){.precos{grid-template-columns:minmax(0,1fr)}}
.plano{position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:var(--sombra2)}
.plano.dest{border:1.5px solid var(--y);box-shadow:0 0 0 6px var(--y-soft),var(--sombra)}
.plano .selo{position:absolute;top:-14px;left:34px;background:var(--y);color:#111;font:800 13px/1 var(--fd);letter-spacing:1.6px;padding:8px 14px;border-radius:30px;text-transform:uppercase}
.plano .nome{font:700 18px/1 var(--fd);letter-spacing:2px;text-transform:uppercase;color:var(--tx2)}
.plano .preco{font:800 60px/1 var(--fd);margin:16px 0 6px}
.plano .preco small{font-size:24px;color:var(--tx2);font-weight:600}
.plano ul{list-style:none;margin:24px 0 28px;display:grid;gap:11px}
.plano li{display:flex;gap:10px;color:var(--tx2);font-size:15px}
.plano li:before{content:"✓";color:var(--ok);font-weight:700}

details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:10px}
summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";color:var(--y-tx);font-weight:700;font-size:20px;line-height:1}
details[open] summary:after{content:"–"}
details p{color:var(--tx2);margin-top:10px}

footer{border-top:1px solid var(--line);padding:40px 0;color:var(--tx3);font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center}

/* formulários e modal */
.campo{display:grid;gap:7px;margin-bottom:15px}
.campo label{font-size:14px;color:var(--tx2)}
.campo input,.campo select,.campo textarea{background:var(--bg);border:1.5px solid var(--line2);border-radius:12px;padding:13px 15px;outline:none;transition:border-color .15s}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--y)}
.msg{font-size:14px;margin-top:12px;min-height:20px}
.msg.err{color:var(--err)} .msg.ok{color:var(--ok)}
.modal{position:fixed;inset:0;background:rgba(5,7,10,.6);backdrop-filter:blur(4px);display:none;place-items:center;z-index:80;padding:16px}
.modal.on{display:grid}
.modal .box{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:30px;width:100%;max-width:440px;position:relative;box-shadow:var(--sombra)}
.modal .x{position:absolute;right:16px;top:12px;background:none;border:0;color:var(--tx3);font-size:28px;cursor:pointer}

/* ===== área do assinante ===== */
.app-top{position:sticky;top:0;z-index:30;background:var(--glass);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--line)}
.app-top .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;gap:12px}
.app-top .acoes{display:flex;align-items:center;gap:8px}
.saldo{display:flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:999px;padding:6px 14px 6px 8px;font-size:14px;color:var(--tx2);text-decoration:none!important}
.saldo img{width:22px;height:22px}
.saldo b{color:var(--tx)}
.app{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;padding-top:30px;padding-bottom:90px}

/* menu flutuante do app: cartão lateral no computador, barra inferior no celular */
.dock{position:sticky;top:92px;align-self:start;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:10px;box-shadow:var(--sombra2);display:grid;gap:2px}
.dock a{display:flex;gap:11px;align-items:center;padding:11px 13px;border-radius:12px;color:var(--tx2);font-weight:500;font-size:15px;text-decoration:none!important;transition:.15s}
.dock a svg,.dock a img{width:19px;height:19px;flex:none}
.dock a:hover{background:var(--card2);color:var(--tx)}
.dock a.on{background:var(--y-soft);color:var(--tx)}
.dock a.on svg{color:var(--y-tx)}
.dock .nicho-atual{margin:8px 4px 4px;padding:14px;border-top:1px solid var(--line);font-size:13px;color:var(--tx3)}
.dock .nicho-atual b{display:block;color:var(--tx);font-size:15px;margin:2px 0 4px}
@media(max-width:900px){
  .app{grid-template-columns:minmax(0,1fr);gap:0;padding-bottom:120px}
  .dock{position:fixed;top:auto;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:45;
    display:flex;justify-content:space-around;gap:0;width:calc(100% - 24px);max-width:520px;padding:6px;border-radius:22px;
    background:var(--glass);backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);box-shadow:var(--sombra)}
  .dock a{flex-direction:column;gap:3px;padding:8px 4px;font-size:11px;flex:1;text-align:center;border-radius:14px}
  .dock a span{white-space:nowrap}
  .dock .nicho-atual{display:none}
}
.pg-head{margin-bottom:30px}
.pg-head h1{font-size:clamp(36px,5.4vw,60px);margin-top:12px}
.pg-head p{color:var(--tx2);margin-top:12px;max-width:720px;font-size:17px}

.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{background:var(--card);border:1px solid var(--line2);color:var(--tx2);border-radius:999px;padding:8px 15px;font-size:14px;cursor:pointer;transition:.15s}
.chip:hover{color:var(--tx)}
.chip.on{background:var(--y);border-color:var(--y);color:#111;font-weight:600}
@media(max-width:640px){.chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -22px;padding:0 22px}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap}}

.nichos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media(max-width:760px){.nichos{grid-template-columns:minmax(0,1fr)}}
.nicho{background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:24px;text-align:left;cursor:pointer;transition:.15s;box-shadow:var(--sombra2)}
.nicho:hover,.nicho.on{border-color:var(--y);transform:translateY(-2px)}
.nicho b{font:800 23px/1.1 var(--fd);text-transform:uppercase;display:block;margin-bottom:8px}
.nicho span{color:var(--tx2);font-size:14px}

.ins{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 24px;position:relative;box-shadow:var(--sombra2)}
.ins:before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:3px;border-radius:0 3px 3px 0;background:var(--y)}
.ins .meta{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--tx3);margin-bottom:8px}
.ins .meta a{color:var(--tx2);font-weight:500}
.ins h4{font:800 22px/1.15 var(--fd);margin-bottom:8px}
.ins p{color:var(--tx2);font-size:15px}
.tema-tit{font:800 14px/1 var(--fd);letter-spacing:2.8px;text-transform:uppercase;color:var(--y-tx);margin:40px 0 16px;display:flex;align-items:center;gap:12px}
.tema-tit:after{content:"";flex:1;height:1px;background:var(--line)}

.lista-pal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(max-width:720px){.lista-pal{grid-template-columns:minmax(0,1fr)}}
.lp{display:block;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 24px;color:var(--tx);box-shadow:var(--sombra2);transition:.15s}
.lp:hover{border-color:var(--y);text-decoration:none;transform:translateY(-2px)}
.lp small{color:var(--tx3);font-size:13px}
.lp b{display:block;font:800 25px/1.08 var(--fd);margin:8px 0 6px;text-transform:uppercase}
.lp span{color:var(--tx2);font-size:14px}
.tag{display:inline-block;font-size:12px;padding:4px 9px;border-radius:999px;background:var(--card2);color:var(--tx2);margin:0 4px 4px 0}
.tag.y{background:var(--y-soft);color:var(--y-tx);font-weight:600}

/* capítulo: barra de leitura flutuante */
.leitura-bar{position:sticky;top:76px;z-index:20;margin:8px 0 30px;display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;
  background:var(--glass);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid var(--line);box-shadow:var(--sombra2)}
.leitura-bar .tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1}
.leitura-bar .tabs::-webkit-scrollbar{display:none}
.leitura-bar .tabs button{background:none;border:0;padding:9px 15px;border-radius:999px;color:var(--tx2);font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap}
.leitura-bar .tabs button.on{background:var(--y);color:#111}
.leitura-bar .ferr{display:flex;gap:4px;padding-left:6px;border-left:1px solid var(--line)}
.leitura-bar .ferr button{width:34px;height:34px;border-radius:999px;border:0;background:transparent;color:var(--tx2);cursor:pointer;font:700 14px var(--ft)}
.leitura-bar .ferr button:hover{background:var(--card2);color:var(--tx)}
.progresso{position:fixed;top:0;left:0;height:3px;background:var(--y);z-index:60;width:0;transition:width .1s}
@media(max-width:640px){.leitura-bar{top:72px;margin:0 -10px 24px}.leitura-bar .ferr .so-pc{display:none}}

.prosa{max-width:720px}
.prosa p{color:var(--tx);opacity:.92;margin-bottom:18px;font-size:var(--leitura);line-height:1.75}
.prosa h3{margin:36px 0 12px;font-size:calc(var(--leitura) + 10px)}
.prosa li{font-size:var(--leitura)}
.cit{margin:34px 0;padding:26px 28px;border-radius:18px;background:var(--y-soft);border:1px solid var(--y-line);font:italic 600 calc(var(--leitura) + 6px)/1.45 var(--fs);color:var(--tx)}
.acao{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.acao .n{font:800 34px/1 var(--fd);color:var(--y-tx);min-width:34px}
.acao b{display:block;margin-bottom:4px;font-size:calc(var(--leitura) - 1px)}
.acao p{margin:0!important;color:var(--tx2)!important;opacity:1!important;font-size:calc(var(--leitura) - 2px)!important}
.box-y{background:var(--y-soft);border:1px solid var(--y-line);border-radius:16px;padding:20px 22px;margin:26px 0}
.box-y b{color:var(--y-tx);font:800 14px/1 var(--fd);letter-spacing:2.2px;text-transform:uppercase;display:block;margin-bottom:8px}
.aviso{background:var(--card);border:1px dashed var(--line2);border-radius:14px;padding:16px 18px;color:var(--tx2);font-size:15px;margin:18px 0}
.mapa-img{border-radius:16px;border:1px solid var(--line);background:var(--card);min-height:220px;display:grid;place-items:center;color:var(--tx3);overflow:hidden;box-shadow:var(--sombra)}
.mats{display:grid;gap:10px}
.mat{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:15px 18px}
.mat b{font-weight:600} .mat small{display:block;color:var(--tx3)}
.tabela{width:100%;border-collapse:collapse;font-size:15px}
.tabela th,.tabela td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}
.tabela th{color:var(--tx3);font-weight:500;font-size:13px}
.vazio{text-align:center;padding:70px 20px;color:var(--tx2)}
.load{padding:70px;text-align:center;color:var(--tx3)}
.demo{background:#FF8A3D;color:#111;text-align:center;font-size:13px;font-weight:600;padding:6px}
.topo-btn{position:fixed;right:20px;bottom:24px;z-index:44;opacity:0;pointer-events:none;transition:opacity .2s;background:var(--card);box-shadow:var(--sombra2)}
.topo-btn.on{opacity:1;pointer-events:auto}
@media(max-width:900px){.topo-btn{bottom:96px;right:14px}}

/* celular */
@media(max-width:560px){
  .wrap{padding:0 18px}
  .logo b{font-size:20px} .logo img{height:26px} .logo .bar{height:22px}
  .saldo span{font-size:0} .saldo span b{font-size:14px}
  .flut{top:10px} .flut .in{padding:8px 8px 8px 16px}
  section{padding:72px 0} .hero{padding:40px 0 70px}
  .plano{padding:26px} .plano .preco{font-size:50px}
  .card{padding:22px}
}
.dock .nicho-atual a{display:inline;padding:0;color:var(--y-tx);font-size:13px;background:none!important}
