/* astroesorte.com — tema cósmico colorido (leve, sem frameworks) */
:root{
  --bg:#0c0a1a;--bg2:#171334;--ink:#f5f1ff;--mut:#b9b1dd;--line:#2c2552;
  --accent:#ffb33e;--radius:16px;
  --c1:#ff7eb3;--c2:#7eb6ff;--c3:#ffd86b;--c4:#9b6bff;
  /* paleta dourada do handoff (símbolos) */
  --gold:#e9b84a;--gold-soft:#f3d188;--gold-deep:#c8862a;
  --gold-grad:linear-gradient(135deg,#f7d98f 0%,#e9b84a 45%,#c8862a 100%);
  --muted:#9b99bd;--muted-2:#6f6d92;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);font-family:"Segoe UI",system-ui,-apple-system,sans-serif;line-height:1.65;font-size:17px;
  background:
    radial-gradient(1100px 600px at 82% -8%, #6a2c9145, transparent 60%),
    radial-gradient(900px 520px at 8% 6%, #2456a145, transparent 60%),
    radial-gradient(900px 700px at 50% 112%, #a02c7240, transparent 60%),
    var(--bg);
  background-attachment:fixed;
}
.wrap{max-width:980px;margin:0 auto;padding:0 18px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;font-weight:600}
h1{font-size:2.2rem;margin:.2em 0}
h2{font-size:1.55rem;margin:1.6em 0 .5em}
img{max-width:100%;height:auto}

/* nav */
.nav{background:#120f2bcc;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:90px}
.brand{display:inline-flex;align-items:center}
.brand:hover{text-decoration:none}
.brand-logo{height:76px;width:auto;display:block}
@media(max-width:680px){.nav .wrap{height:66px}.brand-logo{height:52px}}
.menu{display:flex;gap:20px;list-style:none;margin:0;padding:0}
.menu a{color:var(--mut);font-size:.95rem}
.menu a:hover{color:var(--ink);text-decoration:none}
.burger{display:none;background:none;border:0;color:var(--ink);font-size:1.5rem;cursor:pointer}

/* hero */
.hero{text-align:center;padding:54px 0 40px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 0%,#ffffff0d,transparent);pointer-events:none}
.hero h1{
  background:linear-gradient(90deg,#ffd86b,#ff7eb3,#7eb6ff,#9b6bff,#ffd86b);
  background-size:300% auto;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shine 9s linear infinite;
}
@keyframes shine{to{background-position:300% center}}
.hero.sgn{background:radial-gradient(135% 150% at 50% -35%, var(--c,#9b6bff), transparent 68%)}
/* herói do signo com cena espacial + brilho da cor do signo */
.hero.sgn.hero-space{background:radial-gradient(130% 150% at 50% -32%, var(--c,#9b6bff), #140f2e 56%, #07060f 100%)}
.hero.sgn .nebula{opacity:.3}
.hero.sgn h1{background:none;color:#fff;text-shadow:0 2px 16px #0007;-webkit-text-fill-color:#fff}
.kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;margin:0 0 .4em;font-weight:600}
.hero.sgn .kicker{color:#fff;opacity:.9}
.sub{color:var(--mut);margin:.3em 0 0}
.hero.sgn .sub{color:#fff;opacity:.92}

/* ===== Homepage espacial ===== */
.hero-space{position:relative;overflow:hidden;padding:80px 0 60px;text-align:center;border-bottom:1px solid var(--line);
  background:radial-gradient(130% 120% at 50% -25%, #2a1f57 0%, #120e2c 52%, #07060f 100%)}
.hero-space .wrap{position:relative;z-index:3}
.hero-space .layer{position:absolute;inset:0;pointer-events:none}
.nebula{z-index:0;filter:blur(44px);opacity:.5;
  background:
    radial-gradient(420px 300px at 22% 32%, rgba(155,107,255,.5), transparent 70%),
    radial-gradient(360px 260px at 82% 22%, rgba(255,126,179,.35), transparent 70%),
    radial-gradient(520px 340px at 62% 95%, rgba(38,198,218,.3), transparent 70%);
  animation:nebula 24s ease-in-out infinite alternate}
@keyframes nebula{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(0,-16px,0) scale(1.09)}}
.stars,.stars2{z-index:1}
.stars{background-image:
  radial-gradient(2px 2px at 8% 18%,#fff,transparent),radial-gradient(2px 2px at 24% 60%,#fff,transparent),
  radial-gradient(1.6px 1.6px at 42% 30%,#fff,transparent),radial-gradient(2px 2px at 60% 70%,#fff,transparent),
  radial-gradient(1.6px 1.6px at 75% 22%,#fff,transparent),radial-gradient(2px 2px at 88% 56%,#fff,transparent),
  radial-gradient(1.6px 1.6px at 50% 12%,#fff,transparent),radial-gradient(2px 2px at 14% 84%,#fff,transparent),
  radial-gradient(1.6px 1.6px at 33% 90%,#fff,transparent),radial-gradient(2px 2px at 67% 88%,#fff,transparent),
  radial-gradient(1.6px 1.6px at 92% 84%,#fff,transparent);
  animation:tw3 3.5s ease-in-out infinite alternate}
@keyframes tw3{from{opacity:.5}to{opacity:1}}
.stars2{opacity:.7;background-image:
  radial-gradient(1px 1px at 12% 40%,#cfe0ff,transparent),radial-gradient(1px 1px at 28% 12%,#cfe0ff,transparent),
  radial-gradient(1px 1px at 47% 55%,#cfe0ff,transparent),radial-gradient(1px 1px at 58% 25%,#cfe0ff,transparent),
  radial-gradient(1px 1px at 71% 48%,#cfe0ff,transparent),radial-gradient(1px 1px at 83% 14%,#cfe0ff,transparent),
  radial-gradient(1px 1px at 95% 38%,#cfe0ff,transparent),radial-gradient(1px 1px at 6% 66%,#cfe0ff,transparent),
  radial-gradient(1px 1px at 38% 78%,#cfe0ff,transparent),radial-gradient(1px 1px at 54% 94%,#cfe0ff,transparent),
  radial-gradient(1px 1px at 78% 80%,#cfe0ff,transparent),radial-gradient(1px 1px at 20% 52%,#cfe0ff,transparent);
  animation:floaty 90s linear infinite}
@keyframes floaty{from{transform:translateY(0)}to{transform:translateY(-46px)}}
.planet{position:absolute;z-index:1;top:-46px;right:-40px;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle at 34% 30%, #ffd98a, #e8932f 42%, #6a3bbf 100%);
  box-shadow:0 0 70px 8px #9b6bff44, inset -18px -14px 40px #0007;opacity:.85}
.planet::after{content:"";position:absolute;left:-22%;top:42%;width:144%;height:30%;border-radius:50%;border:6px solid #ffd98a30;transform:rotate(-18deg)}
.shoot{position:absolute;z-index:2;top:16%;left:-12%;width:130px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,#fff);filter:drop-shadow(0 0 6px #fff);transform:rotate(16deg);opacity:0;animation:shoot 9s ease-in infinite}
@keyframes shoot{0%{opacity:0;transform:translate(0,0) rotate(16deg)}6%{opacity:1}16%{opacity:1}30%{opacity:0;transform:translate(460px,150px) rotate(16deg)}100%{opacity:0}}

/* ===== Perfil do signo ===== */
.traits{list-style:none;margin:8px 0 0;padding:0}
.traits li{padding:6px 0 6px 26px;position:relative;color:var(--ink)}
.traits li::before{content:"\2726";position:absolute;left:0;color:var(--gold-soft)}
.ficha{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.ficha li{display:flex;justify-content:space-between;gap:10px;background:linear-gradient(165deg,#ffffff10,#181433);border:1px solid var(--line);border-radius:10px;padding:11px 14px}
.ficha li span{color:var(--muted)}
.ficha li strong{color:var(--gold-soft)}
@media(max-width:560px){.ficha{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.nebula,.stars,.stars2,.planet,.shoot,.twinkle{animation:none!important}.hero h1{animation:none!important}}

/* ===== Medalhão + constelações — reprodução fiel do handoff ===== */
.medallion{
  width:212px;height:212px;margin:0 auto 26px;position:relative;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 50% 38%, rgba(233,184,74,.16) 0%, rgba(233,184,74,0) 62%),
    radial-gradient(circle at 50% 50%, #16142e 0%, #0d0c1d 100%);
  box-shadow:0 0 0 1px rgba(233,184,74,.28), inset 0 0 30px rgba(0,0,0,.6), 0 0 50px rgba(233,184,74,.18);
}
.medallion::before{
  content:"";position:absolute;inset:-1px;border-radius:50%;padding:1px;
  background:conic-gradient(from 200deg, rgba(233,184,74,.05), rgba(243,209,136,.55), rgba(200,134,42,.15), rgba(233,184,74,.05));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
}
.medallion::after{content:"";position:absolute;inset:11px;border-radius:50%;border:1px solid rgba(233,184,74,.16)}
.medallion svg{width:152px;height:152px;position:relative}
.medallion.has-photo{overflow:hidden}
.medallion .med-img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.glyph-badge{
  position:absolute;bottom:6px;right:10px;width:46px;height:46px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--gold-grad);color:#241a06;
  font-family:'Noto Sans Symbols',serif;font-size:24px;line-height:1;
  box-shadow:0 6px 16px rgba(0,0,0,.5),0 0 16px rgba(233,184,74,.5);
}
@media(max-width:560px){.medallion{width:170px;height:170px}.medallion svg{width:122px;height:122px}}

/* constellation rendering (exato) */
.const-grp{filter:drop-shadow(0 0 2.4px rgba(233,184,74,.55))}
.const-line{stroke:var(--gold);stroke-width:.9;stroke-linecap:round;opacity:.85}
.const-dot{fill:var(--gold-soft)}
.const-dot.bright{fill:#fff7e4}
.bg-star{fill:rgba(255,255,255,.35)}
.medallion .const-grp{filter:drop-shadow(0 0 3px rgba(243,209,136,.7))}
.medallion .const-line{stroke-width:.8}
.twinkle{animation:tw 2.6s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:1}50%{opacity:.45}}

/* texto */
main{padding:34px 0 50px}
.lead{font-size:1.18rem;color:#efe9ff}

/* grelha de signos — cartões fiéis ao handoff */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}
@media(max-width:820px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.grid{grid-template-columns:repeat(2,1fr);gap:12px}}
.card{
  position:relative;display:block;text-align:left;
  border:1px solid var(--line);border-radius:18px;padding:16px 16px 15px;
  background:linear-gradient(180deg,#151331 0%,#100f24 100%);
  color:var(--txt);transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;overflow:hidden;
}
.card:hover{transform:translateY(-4px);border-color:rgba(233,184,74,.4);box-shadow:0 14px 30px rgba(0,0,0,.45);text-decoration:none}
.card .const{width:100%;aspect-ratio:1.35/1;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.card .const svg{width:84%;height:100%}
.card .const-img{width:84%;border-radius:12px;object-fit:cover}
.card .c-glyph{position:absolute;top:13px;right:14px;font-family:'Noto Sans Symbols',serif;font-size:20px;color:var(--gold);opacity:.7;transition:opacity .25s}
.card:hover .c-glyph{opacity:1}
.card .c-name{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:19px;line-height:1.1}
.card .c-sub{color:var(--muted);font-size:12.5px;margin-top:3px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.card .c-el{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;
  background:rgba(233,184,74,.1);color:var(--gold-soft);font-size:11px;font-weight:600;letter-spacing:.02em;border:1px solid rgba(233,184,74,.18)}
.card .c-nums{margin-top:9px;color:var(--gold-soft);font-size:12.5px;font-weight:700;letter-spacing:.04em}

/* pills */
.links-row{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.pill{background:#ffffff12;border:1px solid var(--line);padding:9px 16px;border-radius:999px;font-size:.9rem;color:var(--ink)}
.pill:hover{border-color:var(--accent);background:#ffffff1f;text-decoration:none}

/* categorias */
.cats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.cat{background:linear-gradient(165deg,#ffffff12,#181433);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;transition:border-color .15s}
.cat:hover{border-color:var(--accent)}
.cat h2{margin:0 0 .4em;font-size:1.18rem}
.cat p{margin:0;color:var(--mut)}

/* numeros */
.nums-box{background:linear-gradient(165deg,#ffffff10,#181433);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:28px 0;text-align:center}
.nums-box.big{border-color:var(--accent);box-shadow:0 0 30px -10px var(--accent)}
.nums{display:flex;flex-wrap:wrap;gap:13px;justify-content:center;margin:16px 0}
.nums span{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:radial-gradient(circle at 34% 28%, #ffffffcc, var(--accent) 72%);color:#241500;font-weight:800;font-size:1.3rem;
  box-shadow:0 5px 16px -3px var(--accent)}
.mestre{color:var(--mut);margin:.3em 0 0}

/* CTA */
.cta{background:linear-gradient(155deg,#241a44,#3a2270);border:1px solid var(--accent);border-radius:var(--radius);padding:26px;margin:32px 0;text-align:center;box-shadow:0 0 40px -16px var(--accent)}
.cta-k{color:#d9cfff;font-size:.95rem;margin:0 0 .4em}
.cta h3{margin:.2em 0;color:#fff;font-size:1.4rem}
.cta p{color:#cfc6f0;max-width:580px;margin:.5em auto 1.1em}
.btn{display:inline-block;background:linear-gradient(160deg,#ffd266,var(--accent));color:#241500;font-weight:800;padding:14px 30px;border-radius:999px;font-size:1.08rem;box-shadow:0 8px 22px -6px var(--accent);transition:transform .12s}
.btn:hover{filter:brightness(1.06);transform:translateY(-2px);text-decoration:none}
.cta-18{display:block;color:var(--mut);font-size:.75rem;margin-top:10px}

/* banner Dia de Sorte */
.lucky{position:relative;text-align:center;margin:26px 0;padding:30px 22px;border-radius:var(--radius);
  background:linear-gradient(135deg,#5a3d0a,#7a5410 45%,#5a3d0a);border:1px solid #ffd266;
  box-shadow:0 0 0 1px #ffd26644,0 12px 40px -8px #ffb33e66;overflow:hidden}
.lucky::before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 50% 0%,#ffe9b055,transparent 60%);pointer-events:none}
.lucky-star{font-size:2.2rem;display:block;animation:twinkle 2.2s ease-in-out infinite}
@keyframes twinkle{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}
.lucky-k{font-family:Georgia,serif;font-size:1.6rem;color:#fff3d6;margin:.3em 0;text-shadow:0 2px 10px #0008;letter-spacing:.02em}
.lucky-msg{color:#fbeccb;max-width:580px;margin:.4em auto 1.1em}
.btn-lucky{background:linear-gradient(160deg,#ffe07a,#ff9d2e);box-shadow:0 8px 24px -4px #ffb33e88}
.badge-lucky{font-size:.85em}

/* listas numeros-hub */
.num-list{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.num-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;
  background:linear-gradient(165deg,#ffffff12,#181433);border:1px solid var(--c,var(--line));border-radius:12px;color:var(--ink);
  box-shadow:0 8px 22px -16px var(--c,#000)}
.num-row:hover{text-decoration:none;transform:translateX(3px);box-shadow:0 10px 26px -14px var(--c,#000)}
.nr-name{font-family:Georgia,serif;font-size:1.15rem}
.nr-nums{color:var(--c,var(--accent));font-weight:700}
.casino-list li{margin:.45em 0}
ul li{color:var(--ink)}

/* "o teu signo" (retenção) */
#meu-signo:empty{display:none}
.mysign{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 22px;padding:15px 20px;border-radius:14px;background:linear-gradient(135deg,#241a44,#3a2270);border:1px solid var(--accent);box-shadow:0 0 30px -12px var(--accent);color:var(--ink)}
.mysign:hover{text-decoration:none;filter:brightness(1.07)}
.mysign strong{color:var(--gold-soft);white-space:nowrap}

/* tabs ontem/hoje/amanhã */
.daytabs{display:flex;gap:8px;justify-content:center;margin:0 0 20px;flex-wrap:wrap}
.daytab{padding:8px 18px;border-radius:999px;border:1px solid var(--line);background:#ffffff10;color:var(--mut);font-size:.92rem}
.daytab:hover{text-decoration:none;color:var(--ink);border-color:var(--accent)}
.daytab.active{background:var(--accent);color:#241500;border-color:var(--accent);font-weight:700}

/* byline (E-E-A-T) */
.byline{color:var(--mut);font-size:.85rem;margin:.4em 0 0}
.byline a{color:var(--gold-soft)}
.hero.sgn .byline{color:#fff;opacity:.9}
.hero.sgn .byline a{color:#fff;text-decoration:underline}

/* teaser de regresso */
.teaser{margin:18px 0;text-align:center;color:var(--gold-soft);font-style:italic}

/* CTA família-safe (liga ao opt-in) */
.cta.soft{background:linear-gradient(155deg,#181433,#241a44);border-color:var(--line);box-shadow:none}
.cta.soft .btn{background:linear-gradient(160deg,#ffd266,var(--accent))}

/* aviso +18 na secção opt-in */
.adult-notice{background:#3a0d1d55;border:1px solid #e0457b66;color:#f3cdd9;border-radius:12px;padding:12px 16px;font-size:.85rem;margin-bottom:18px}
.adult-notice a{color:#ffd266}

/* compatibilidade */
.compat-pair{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:8px}
.sv-pair{width:96px;height:96px}
.sv-pair .glyph-badge{width:34px;height:34px;font-size:18px}
.compat-plus{font-family:Georgia,serif;font-size:2.4rem;color:var(--gold-soft)}
.crumbs{color:var(--muted);font-size:.85rem;margin:0 0 18px}
.crumbs a{color:var(--gold-soft)}
.afinidade{margin:6px 0 18px}
.meter{height:14px;border-radius:999px;background:#ffffff14;border:1px solid var(--line);overflow:hidden}
.meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#e0457b,#ffd266,#4caf50)}
.meter-label{margin:.5em 0 0;color:var(--mut);text-align:center}
.meter-label strong{color:var(--gold-soft)}
.compat-group{margin:18px 0;padding:16px 18px;background:linear-gradient(165deg,#ffffff10,#181433);border:1px solid var(--line);border-radius:14px}
.compat-group h2{margin:0 0 10px;font-size:1.2rem}

/* lista de casinos (página opt-in) */
.casino-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.casino-item{display:flex;align-items:center;gap:16px;padding:14px 18px;background:linear-gradient(165deg,#ffffff10,#181433);border:1px solid var(--line);border-radius:14px;transition:border-color .15s}
.casino-item:hover{border-color:var(--accent)}
.casino-vis{flex:0 0 130px;display:flex;align-items:center;justify-content:center;min-height:54px}
.casino-logo{max-width:130px;max-height:54px;object-fit:contain}
.casino-name{font-family:Georgia,serif;font-size:1.2rem;color:var(--ink)}
.casino-info{flex:1;min-width:0}
.casino-info strong{display:block;color:var(--ink)}
.casino-info span{color:var(--mut);font-size:.85rem}
.btn-sm{padding:9px 18px;font-size:.9rem;white-space:nowrap}
@media(max-width:560px){.casino-item{flex-wrap:wrap}.casino-vis{flex-basis:auto}}

/* ===== Cartões futuristas (homepage) — design Símbolos Futuristas ===== */
.el-fire{--accent:#ff5d8f}
.el-earth{--accent:#2bf0c0}
.el-air{--accent:#5fd6ff}
.el-water{--accent:#b07bff}
.fut-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}
@media(max-width:900px){.fut-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.fut-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:420px){.fut-grid{grid-template-columns:1fr}}
.fut-grid .sign{--accent:#5fd6ff;position:relative;display:block;text-align:center;background:linear-gradient(165deg,#0c1122,#0a0e1c);border:1px solid rgba(120,170,255,.11);border-radius:20px;padding:22px 16px 20px;overflow:hidden;color:var(--ink);transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .4s,box-shadow .45s}
.fut-grid .sign::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 60% at 50% -10%,color-mix(in oklch,var(--accent) 14%,transparent),transparent 70%);opacity:.55;transition:opacity .45s;pointer-events:none}
.fut-grid .sign:hover{transform:translateY(-6px);border-color:color-mix(in oklch,var(--accent) 55%,transparent);box-shadow:0 22px 50px rgba(0,0,0,.55),0 0 50px color-mix(in oklch,var(--accent) 22%,transparent);text-decoration:none}
.fut-grid .sign:hover::before{opacity:1}
.fut-grid .sign:hover .glow{opacity:.95}
.fut-grid .art{position:relative;display:block;width:100%;aspect-ratio:1/1;max-width:178px;margin:0 auto 14px}
.fut-grid .glow{position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle at 50% 48%,color-mix(in oklch,var(--accent) 26%,transparent),transparent 62%);filter:blur(8px);opacity:.5;transition:opacity .45s}
.fut-grid .art svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fut-grid .frame .hex{fill:none;stroke:rgba(140,200,255,.30);stroke-width:.8}
.fut-grid .frame .core{fill:color-mix(in oklch,var(--accent) 7%,transparent);stroke:color-mix(in oklch,var(--accent) 20%,transparent);stroke-width:.5}
.fut-grid .ring-thin{fill:none;stroke:rgba(140,200,255,.30);stroke-width:.6}
.fut-grid .ring-ticks{transform-box:fill-box;transform-origin:center;animation:fspin 26s linear infinite}
.fut-grid .ring-ticks circle{fill:none;stroke:color-mix(in oklch,var(--accent) 55%,transparent);stroke-width:1.4;stroke-dasharray:1.2 6.5;opacity:.5}
.fut-grid .ring-dash{transform-box:fill-box;transform-origin:center;animation:fspinr 40s linear infinite;fill:none;stroke:color-mix(in oklch,var(--accent) 45%,transparent);stroke-width:.7;stroke-dasharray:2 5;opacity:.45}
.fut-grid .sign:hover .ring-ticks{animation-duration:7s}
.fut-grid .sign:hover .ring-dash{animation-duration:11s}
@keyframes fspin{to{transform:rotate(360deg)}}
@keyframes fspinr{to{transform:rotate(-360deg)}}
.fut-grid .bracket{fill:none;stroke:color-mix(in oklch,var(--accent) 60%,transparent);stroke-width:1.2;stroke-linecap:round;opacity:.7}
.fut-grid .figure path,.fut-grid .figure line,.fut-grid .figure circle,.fut-grid .figure ellipse,.fut-grid .figure polyline{fill:none;stroke:var(--accent);stroke-width:var(--sw,2.4);stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px color-mix(in oklch,var(--accent) 90%,transparent)) drop-shadow(0 0 8px color-mix(in oklch,var(--accent) 38%,transparent))}
.fut-grid .figure .soft{stroke-width:var(--sw-soft,1.6);opacity:.7}
.fut-grid .figure .dot{fill:#f2faff;stroke:none;filter:drop-shadow(0 0 4px var(--accent))}
.fut-grid .figure .star{fill:#fff;stroke:none}
.fut-grid .figure .twinkle{animation:ftwk 2.8s ease-in-out infinite}
@keyframes ftwk{0%,100%{opacity:1}50%{opacity:.4}}
/* draw-in animado (traços desenham-se) + pop das estrelas */
.fut-grid .figure .stroke{stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}
.fut-grid .sign.drawn .figure .stroke{animation:fdraw 1.2s cubic-bezier(.45,.05,.25,1) forwards;animation-delay:var(--delay,0s)}
@keyframes fdraw{to{stroke-dashoffset:0}}
.fut-grid .figure .dot,.fut-grid .figure .star{opacity:0;transform:scale(.2);transform-box:fill-box;transform-origin:center}
.fut-grid .sign.drawn .figure .dot,.fut-grid .sign.drawn .figure .star{animation:fpop .5s cubic-bezier(.2,1.4,.4,1) forwards;animation-delay:var(--delay,.6s)}
@keyframes fpop{to{opacity:1;transform:scale(1)}}
.fut-grid .glyph{position:absolute;bottom:2%;right:4%;width:32px;height:32px;display:grid;place-items:center;font-family:'Noto Sans Symbols',serif;font-size:17px;line-height:1;color:#06121e;background:linear-gradient(135deg,color-mix(in oklch,var(--accent) 92%,white),var(--accent));border-radius:9px;box-shadow:0 6px 16px rgba(0,0,0,.5),0 0 16px color-mix(in oklch,var(--accent) 60%,transparent)}
.fut-grid .name{display:block;font-family:'Orbitron',Georgia,serif;font-weight:600;font-size:16px;letter-spacing:.05em;color:#eaf2ff;margin-bottom:4px}
.fut-grid .latin{display:block;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:#4d5a75;margin-bottom:12px}
.fut-grid .meta{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-size:12px;color:#74849e}
.fut-grid .pill{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:999px;color:color-mix(in oklch,var(--accent) 88%,white);background:color-mix(in oklch,var(--accent) 13%,transparent);border:1px solid color-mix(in oklch,var(--accent) 28%,transparent)}
.fut-grid .dates{color:#74849e}
.fut-grid .fut-nums{display:block;margin-top:10px;color:color-mix(in oklch,var(--accent) 80%,white);font-size:12.5px;font-weight:700;letter-spacing:.04em}
@media(prefers-reduced-motion:reduce){.fut-grid .ring-ticks,.fut-grid .ring-dash,.fut-grid .figure .twinkle,.fut-grid .sign.drawn .figure .stroke,.fut-grid .sign.drawn .figure .dot,.fut-grid .sign.drawn .figure .star{animation:none!important}.fut-grid .figure .stroke{stroke-dashoffset:0!important}.fut-grid .figure .dot,.fut-grid .figure .star{opacity:1!important;transform:none!important}}

/* ===== Personalidades dos signos (homepage, por baixo) ===== */
.personalidades{margin-top:46px}
.personalidades>h2{text-align:center}
.personalidades>.lead{text-align:center;color:var(--mut)}
.perfil-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
@media(max-width:680px){.perfil-list{grid-template-columns:1fr}}
.perfil-item{display:flex;gap:14px;padding:16px 18px;background:linear-gradient(165deg,#ffffff0d,#11132b);border:1px solid var(--line);border-left:3px solid var(--accent,#5fd6ff);border-radius:14px}
.perfil-glyph{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;font-family:'Noto Sans Symbols',serif;font-size:24px;color:var(--accent,#5fd6ff);filter:drop-shadow(0 0 6px color-mix(in oklch,var(--accent) 55%,transparent))}
.perfil-body h3{margin:0 0 .35em;font-family:'Orbitron',Georgia,serif;font-size:1.05rem}
.perfil-body h3 a{color:var(--ink)}
.perfil-meta{display:block;font-size:.72rem;color:var(--mut);text-transform:uppercase;letter-spacing:.1em;font-weight:400;margin-top:2px}
.perfil-body p{margin:0;color:var(--mut);font-size:.92rem;line-height:1.55}

/* footer */
.foot{background:#0a0818cc;border-top:1px solid var(--line);padding:30px 0;margin-top:30px;font-size:.85rem;color:var(--mut)}
.foot p{margin:.5em 0}
.foot .cr{opacity:.8}

@media(max-width:680px){
  .menu{position:fixed;inset:62px 0 auto 0;background:#120f2bf2;flex-direction:column;gap:0;padding:10px 18px;border-bottom:1px solid var(--line);display:none}
  body.open .menu{display:flex}
  .menu li{padding:9px 0;border-bottom:1px solid var(--line)}
  .burger{display:block}
  .cats{grid-template-columns:1fr}
  h1{font-size:1.8rem}
}


/* =================== HOMEPAGE REDESIGN (overlay do design) =================== */
/* =====================================================================
   astroesorte — futuristic theme
   Global starfield + neon HUD. Mobile-first, perfect on small screens.
   ===================================================================== */

:root{
  --bg:#06080f; --bg-2:#080b16;
  --panel:#0c1122; --panel-2:#0a0e1c; --panel-3:#0e1426;
  --line:rgba(120,170,255,.12); --line-hi:rgba(150,200,255,.28);
  --txt:#e2ecfb; --muted:#93a2c1; --muted-2:#5d6b8a;
  --cy:#5fd6ff; --vi:#b07bff; --pk:#ff5d8f; --gold:#ffd47a;
  /* element accents */
  --fire:#ff5d8f; --earth:#2bf0c0; --air:#5fd6ff; --water:#b07bff;
  --maxw:1120px;
  --r-card:20px; --r-pill:999px;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; color:var(--txt);
  font-family:"Space Grotesk", system-ui, -apple-system, sans-serif;
  font-size:16px; line-height:1.6;
  background:
    radial-gradient(1200px 720px at 50% -12%, rgba(95,214,255,.13), transparent 60%),
    radial-gradient(1000px 680px at 88% 18%, rgba(176,123,255,.12), transparent 58%),
    radial-gradient(900px 700px at 8% 92%, rgba(255,93,143,.08), transparent 60%),
    linear-gradient(180deg, var(--bg), var(--bg-2) 60%, #05070d);
  background-attachment:fixed;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

/* global starfield canvas */
#bg-stars{
  position:fixed; inset:0; width:100%; height:100%;
  z-index:0; pointer-events:none;
}
.nav, .hero, main, .foot{ position:relative; z-index:1; }

.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding-left:22px; padding-right:22px; }

/* ============================ NAV ============================ */
.nav{
  position:sticky; top:0; z-index:50;
  background:linear-gradient(180deg, rgba(10,13,26,.82), rgba(8,11,22,.66));
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav .wrap{ display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding-top:11px; padding-bottom:11px; }
.brand{ display:inline-flex; align-items:center; gap:11px; flex:0 0 auto; }
.brand-icon{ width:44px; height:44px; flex:0 0 auto; filter:drop-shadow(0 0 12px rgba(95,214,255,.45)); }
.brand-word{ font-family:"Space Grotesk",sans-serif; font-weight:700; line-height:1;
  font-size:clamp(22px, 4.6vw, 27px); letter-spacing:-.01em; color:#eef4ff;
  text-shadow:0 0 22px rgba(95,214,255,.18); }
.brand-word .e{ background:linear-gradient(135deg, var(--cy), var(--vi));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow:0 0 16px rgba(95,214,255,.5); }
.menu{ list-style:none; display:flex; align-items:center; gap:6px; margin:0; padding:0; }
.menu a{
  display:block; padding:9px 13px; border-radius:10px; white-space:nowrap;
  font-size:15px; font-weight:500; letter-spacing:.01em; color:var(--muted);
  transition:color .2s, background .2s;
}
.menu a:hover{ color:#eaf4ff; background:rgba(95,214,255,.08); }
.burger{
  display:none; appearance:none; cursor:pointer;
  width:44px; height:44px; border-radius:12px;
  background:rgba(95,214,255,.06); border:1px solid var(--line-hi);
  color:#dbe8ff; font-size:20px; line-height:1;
}
.burger:active{ background:rgba(95,214,255,.14); }

/* ============================ HERO ============================ */
.hero{ text-align:center; padding:74px 0 56px; overflow:hidden; }
.hero .wrap{ position:relative; z-index:2; }
.hero-space .layer.stars, .hero-space .layer.stars2, .hero-space .shoot{ display:none; } /* global canvas handles these */
.hero-space .nebula{
  position:absolute; inset:-20% -10% auto -10%; height:120%;
  background:
    radial-gradient(40% 60% at 28% 30%, rgba(95,214,255,.16), transparent 70%),
    radial-gradient(46% 64% at 76% 22%, rgba(176,123,255,.16), transparent 70%);
  filter:blur(8px); pointer-events:none; z-index:0;
}
.hero-space .planet{
  position:absolute; top:42px; right:11%; width:104px; height:104px;
  background:none; box-shadow:none; border-radius:0; z-index:0; opacity:.97;
}
.hero-space .planet::before{            /* esfera */
  content:""; position:absolute; inset:0; border-radius:50%;
  background:radial-gradient(circle at 36% 30%, #46568f, #1a2150 56%, #0a0e22);
  box-shadow:inset -12px -14px 30px rgba(0,0,0,.65), 0 0 46px rgba(120,150,255,.20),
    0 0 0 1px rgba(150,190,255,.15);
  z-index:1;
}
.hero-space .planet .ring{              /* anel — metade de trás (passa atrás do planeta) */
  position:absolute; left:50%; top:50%;
  width:212px; height:64px; margin:-32px 0 0 -106px;
  border:3px solid rgba(182,226,255,.5); border-radius:50%;
  box-shadow:0 0 16px rgba(95,214,255,.28), inset 0 0 12px rgba(95,214,255,.12);
  transform:rotate(-20deg); transform-origin:50% 50%; z-index:0;
}
.hero-space .planet::after{             /* anel — metade da frente (passa à frente) */
  content:""; position:absolute; left:50%; top:50%;
  width:212px; height:64px; margin:-32px 0 0 -106px;
  border:3px solid rgba(206,236,255,.85); border-radius:50%;
  box-shadow:0 0 16px rgba(95,214,255,.3);
  transform:rotate(-20deg); transform-origin:50% 50%;
  clip-path:polygon(-12% 50%, 112% 50%, 112% 142%, -12% 142%); z-index:2;
}
.hero-space .planet .moon{
  position:absolute; left:0; top:0; margin:-4.5px;
  width:9px; height:9px; border-radius:50%;
  background:radial-gradient(circle at 40% 38%, #eafdff, #86dcff 55%, #2f8fd6);
  box-shadow:0 0 11px 3px rgba(120,220,255,.7);
  will-change:transform, opacity;
  animation:moon 16s linear infinite;
  z-index:3;
}
@keyframes moon{
  0%{ transform:translate(143.4px, 11.3px) scale(0.756); opacity:0.477; }
  2.78%{ transform:translate(144.8px, 18.3px) scale(0.774); opacity:0.515; }
  5.56%{ transform:translate(143.4px, 26.3px) scale(0.794); opacity:0.559; }
  8.33%{ transform:translate(139.3px, 35.0px) scale(0.817); opacity:0.607; }
  11.11%{ transform:translate(132.4px, 44.3px) scale(0.840); opacity:0.658; }
  13.89%{ transform:translate(123.2px, 53.8px) scale(0.865); opacity:0.710; }
  16.67%{ transform:translate(111.8px, 63.3px) scale(0.889); opacity:0.762; }
  19.44%{ transform:translate(98.5px, 72.4px) scale(0.912); opacity:0.812; }
  22.22%{ transform:translate(83.9px, 80.9px) scale(0.934); opacity:0.859; }
  25%{ transform:translate(68.3px, 88.5px) scale(0.954); opacity:0.900; }
  27.78%{ transform:translate(52.2px, 95.0px) scale(0.970); opacity:0.936; }
  30.56%{ transform:translate(36.0px, 100.2px) scale(0.984); opacity:0.965; }
  33.33%{ transform:translate(20.4px, 104.0px) scale(0.993); opacity:0.985; }
  36.11%{ transform:translate(5.7px, 106.1px) scale(0.999); opacity:0.997; }
  38.89%{ transform:translate(-7.5px, 106.6px) scale(1.000); opacity:1.000; }
  41.67%{ transform:translate(-19.0px, 105.5px) scale(0.997); opacity:0.994; }
  44.44%{ transform:translate(-28.3px, 102.7px) scale(0.990); opacity:0.978; }
  47.22%{ transform:translate(-35.1px, 98.4px) scale(0.979); opacity:0.955; }
  50%{ transform:translate(-39.4px, 92.7px) scale(0.964); opacity:0.923; }
  52.78%{ transform:translate(-40.8px, 85.7px) scale(0.946); opacity:0.885; }
  55.56%{ transform:translate(-39.4px, 77.7px) scale(0.926); opacity:0.841; }
  58.33%{ transform:translate(-35.3px, 69.0px) scale(0.903); opacity:0.793; }
  61.11%{ transform:translate(-28.4px, 59.7px) scale(0.880); opacity:0.742; }
  63.89%{ transform:translate(-19.2px, 50.2px) scale(0.855); opacity:0.690; }
  66.67%{ transform:translate(-7.8px, 40.7px) scale(0.831); opacity:0.638; }
  69.44%{ transform:translate(5.5px, 31.6px) scale(0.808); opacity:0.588; }
  72.22%{ transform:translate(20.1px, 23.1px) scale(0.786); opacity:0.541; }
  75%{ transform:translate(35.7px, 15.5px) scale(0.766); opacity:0.500; }
  77.78%{ transform:translate(51.8px, 9.0px) scale(0.750); opacity:0.464; }
  80.56%{ transform:translate(68.0px, 3.8px) scale(0.736); opacity:0.435; }
  83.33%{ transform:translate(83.6px, 0.0px) scale(0.727); opacity:0.415; }
  86.11%{ transform:translate(98.3px, -2.1px) scale(0.721); opacity:0.403; }
  88.89%{ transform:translate(111.5px, -2.6px) scale(0.720); opacity:0.400; }
  91.67%{ transform:translate(123.0px, -1.5px) scale(0.723); opacity:0.406; }
  94.44%{ transform:translate(132.3px, 1.3px) scale(0.730); opacity:0.422; }
  97.22%{ transform:translate(139.1px, 5.6px) scale(0.741); opacity:0.445; }
  100%{ transform:translate(143.4px, 11.3px) scale(0.756); opacity:0.477; }
}
@media (max-width:680px){ .hero-space .planet{ transform:scale(.62); transform-origin:100% 0%; top:14px; right:3%; } }

.kicker{
  display:inline-flex; align-items:center; gap:12px;
  margin:0 0 18px; font-family:"Orbitron",sans-serif;
  font-size:12px; font-weight:600; letter-spacing:.26em; text-transform:uppercase;
  color:var(--cy);
}
.kicker::before, .kicker::after{ content:""; width:34px; height:1px;
  background:linear-gradient(90deg, transparent, var(--cy)); }
.kicker::after{ background:linear-gradient(90deg, var(--cy), transparent); }

.hero h1{
  margin:0 auto 18px; max-width:16ch;
  font-family:"Playfair Display", serif; font-weight:700;
  font-size:clamp(33px, 6vw, 62px); line-height:1.06; letter-spacing:-.01em;
  background:linear-gradient(176deg, #ffffff 0%, #cfe0ff 48%, var(--cy) 120%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow:0 0 46px rgba(95,214,255,.16);
  text-wrap:balance;
}
.hero .sub{
  margin:0 auto; max-width:60ch; color:var(--muted);
  font-size:clamp(15px, 2.2vw, 18px); line-height:1.65;
}

/* personalized "my sign" banner (injected) */
#meu-signo{ max-width:var(--maxw); margin:0 auto; padding:0 22px; }
.mysign{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin:26px 0 0; padding:15px 20px; border-radius:16px;
  background:linear-gradient(120deg, rgba(95,214,255,.10), rgba(176,123,255,.08));
  border:1px solid color-mix(in oklch, var(--cy) 32%, transparent);
  box-shadow:0 0 36px rgba(95,214,255,.12);
  transition:transform .35s, box-shadow .35s, border-color .35s;
}
.mysign span{ font-weight:600; color:#eaf3ff; }
.mysign strong{ font-family:"Orbitron",sans-serif; font-size:14px; color:var(--cy); white-space:nowrap; }
.mysign:hover{ transform:translateY(-2px); border-color:var(--cy);
  box-shadow:0 12px 40px rgba(95,214,255,.2); }

/* ============================ MAIN / SECTIONS ============================ */
main{ padding-bottom:30px; }
section{ margin-top:64px; }
section > h2{
  font-family:"Orbitron", sans-serif; font-weight:600;
  font-size:clamp(22px, 3.4vw, 32px); letter-spacing:.02em;
  margin:0 0 8px; text-align:center;
  color:#eef4ff;
}
section > h2::after{
  content:""; display:block; width:54px; height:2px; margin:14px auto 0;
  background:linear-gradient(90deg, transparent, var(--cy), var(--vi), transparent);
  border-radius:2px;
}
.personalidades .lead{
  text-align:center; color:var(--muted); margin:0 auto 34px; max-width:54ch;
  font-size:clamp(14px,2vw,16px);
}

/* ============================ SIGN GRID (HUD cards) ============================ */
.fut-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;
  margin-top:30px;
}
.sign{
  --accent:var(--cy);
  position:relative; display:flex; flex-direction:column; align-items:center; text-align:center;
  background:linear-gradient(165deg, var(--panel), var(--panel-2));
  border:1px solid var(--line); border-radius:var(--r-card);
  padding:20px 16px 18px; overflow:hidden; color:var(--txt);
  transition:transform .45s cubic-bezier(.2,.8,.2,1), border-color .4s, box-shadow .45s;
}
.sign.el-fire{ --accent:var(--fire); }
.sign.el-earth{ --accent:var(--earth); }
.sign.el-air{ --accent:var(--air); }
.sign.el-water{ --accent:var(--water); }
.sign::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(120% 60% at 50% -10%, color-mix(in oklch, var(--accent) 14%, transparent), transparent 70%);
  opacity:.55; transition:opacity .45s; }
.sign::after{ content:""; position:absolute; left:0; right:0; height:34%; top:-40%;
  background:linear-gradient(180deg, transparent, color-mix(in oklch, var(--accent) 22%, transparent), transparent);
  opacity:0; pointer-events:none; }
.sign:hover, .sign:focus-visible{
  transform:translateY(-6px); outline:none;
  border-color:color-mix(in oklch, var(--accent) 55%, transparent);
  box-shadow:0 22px 50px rgba(0,0,0,.55),
    0 0 0 1px color-mix(in oklch, var(--accent) 22%, transparent),
    0 0 50px color-mix(in oklch, var(--accent) 22%, transparent);
}
.sign:hover::before, .sign:focus-visible::before{ opacity:1; }
.sign:hover::after, .sign:focus-visible::after{ animation:sweep 1.1s cubic-bezier(.3,.6,.3,1); }
@keyframes sweep{ 0%{top:-40%;opacity:0;} 18%{opacity:1;} 100%{top:120%;opacity:0;} }

/* art stage */
.art{ position:relative; width:100%; aspect-ratio:1/1; max-width:188px; margin:0 auto 14px; }
.art .glow{ position:absolute; inset:14%; border-radius:50%;
  background:radial-gradient(circle at 50% 48%, color-mix(in oklch, var(--accent) 26%, transparent), transparent 62%);
  filter:blur(8px); opacity:.5; transition:opacity .45s; }
.sign:hover .glow{ opacity:.95; }
.art svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }

.frame .core{ fill:color-mix(in oklch, var(--accent) 7%, transparent);
  stroke:color-mix(in oklch, var(--accent) 20%, transparent); stroke-width:.5; }
.frame .hex{ fill:none; stroke:var(--line-hi); stroke-width:.8; }
.frame .ring-thin{ fill:none; stroke:var(--line-hi); stroke-width:.6; }
.ring-ticks{ transform-box:fill-box; transform-origin:center; animation:spin 26s linear infinite; }
.ring-ticks circle{ fill:none; stroke:color-mix(in oklch, var(--accent) 55%, transparent);
  stroke-width:1.4; stroke-dasharray:1.2 6.5; opacity:.5; }
.ring-dash{ transform-box:fill-box; transform-origin:center; animation:spin-rev 40s linear infinite;
  fill:none; stroke:color-mix(in oklch, var(--accent) 45%, transparent); stroke-width:.7; stroke-dasharray:2 5; opacity:.45; }
.sign:hover .ring-ticks{ animation-duration:7s; }
.sign:hover .ring-dash{ animation-duration:11s; }
@keyframes spin{ to{ transform:rotate(360deg);} }
@keyframes spin-rev{ to{ transform:rotate(-360deg);} }
.frame .bracket{ fill:none; stroke:color-mix(in oklch, var(--accent) 60%, transparent);
  stroke-width:1.2; stroke-linecap:round; opacity:.7; }

.figure path, .figure line, .figure circle, .figure ellipse, .figure polyline{
  fill:none; stroke:var(--accent); stroke-width:var(--sw, 2.4);
  stroke-linecap:round; stroke-linejoin:round;
  filter:drop-shadow(0 0 3px color-mix(in oklch, var(--accent) 90%, transparent))
         drop-shadow(0 0 8px color-mix(in oklch, var(--accent) 38%, transparent));
}
.figure .soft{ stroke-width:var(--sw-soft, 1.6); opacity:.7; }
.figure .dot{ fill:#f2faff; stroke:none; filter:drop-shadow(0 0 4px var(--accent)); }
.figure .star{ fill:#fff; stroke:none; }
.figure .stroke{ stroke-dasharray:var(--len); stroke-dashoffset:var(--len); }
.drawn .figure .stroke{ animation:draw 1.2s cubic-bezier(.45,.05,.25,1) forwards; animation-delay:var(--delay,0s); }
@keyframes draw{ to{ stroke-dashoffset:0; } }
.figure .dot, .figure .star{ opacity:0; transform:scale(.2); transform-box:fill-box; transform-origin:center; }
.drawn .figure .dot, .drawn .figure .star{ animation:pop .5s cubic-bezier(.2,1.4,.4,1) forwards; animation-delay:var(--delay,.6s); }
@keyframes pop{ to{ opacity:1; transform:scale(1); } }
.twinkle{ animation:twk 2.8s ease-in-out infinite; }
@keyframes twk{ 0%,100%{opacity:1;} 50%{opacity:.4;} }

.glyph{ position:absolute; bottom:2%; right:4%; width:34px; height:34px;
  display:grid; place-items:center; font-family:"Noto Sans Symbols", serif;
  font-size:18px; line-height:1; color:#06121e;
  background:linear-gradient(135deg, color-mix(in oklch, var(--accent) 92%, white), var(--accent));
  border-radius:9px; box-shadow:0 6px 16px rgba(0,0,0,.5), 0 0 16px color-mix(in oklch, var(--accent) 60%, transparent);
  transition:transform .5s cubic-bezier(.2,.8,.2,1); }
.sign:hover .glyph{ transform:translateY(-2px) scale(1.06); }

.name{ display:block; font-family:"Orbitron",sans-serif; font-weight:600;
  font-size:16px; letter-spacing:.04em; color:#eef4ff; margin-bottom:3px; }
.badge-lucky{ font-size:13px; filter:drop-shadow(0 0 6px var(--gold)); }
.latin{ display:block; font-size:11px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--muted-2); margin-bottom:11px; }
.meta{ display:flex; align-items:center; justify-content:center; gap:9px; flex-wrap:wrap;
  font-size:12px; color:var(--muted); }
.pill{ font-size:10.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  padding:3px 9px; border-radius:var(--r-pill);
  color:color-mix(in oklch, var(--accent) 88%, white);
  background:color-mix(in oklch, var(--accent) 13%, transparent);
  border:1px solid color-mix(in oklch, var(--accent) 28%, transparent); }
.dates{ font-variant-numeric:tabular-nums; }
.fut-nums{ display:block; margin-top:13px; padding-top:12px; width:100%;
  border-top:1px dashed var(--line-hi);
  font-family:"Orbitron",sans-serif; font-size:13px; letter-spacing:.06em;
  color:var(--gold); text-shadow:0 0 12px rgba(255,212,122,.35); }

/* ============================ PERSONALIDADES ============================ */
.perfil-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:8px; }
.perfil-item{
  --accent:var(--cy);
  position:relative; display:flex; gap:16px; align-items:flex-start;
  padding:20px 20px 20px 18px; border-radius:16px;
  background:linear-gradient(160deg, var(--panel-3), var(--panel-2));
  border:1px solid var(--line); overflow:hidden;
  transition:transform .35s, border-color .35s, box-shadow .35s;
}
.perfil-item.el-fire{ --accent:var(--fire); }
.perfil-item.el-earth{ --accent:var(--earth); }
.perfil-item.el-air{ --accent:var(--air); }
.perfil-item.el-water{ --accent:var(--water); }
.perfil-item::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg, var(--accent), transparent);
  box-shadow:0 0 14px color-mix(in oklch, var(--accent) 60%, transparent); }
.perfil-item:hover{ transform:translateY(-3px);
  border-color:color-mix(in oklch, var(--accent) 40%, transparent);
  box-shadow:0 16px 40px rgba(0,0,0,.45), 0 0 34px color-mix(in oklch, var(--accent) 14%, transparent); }
.perfil-glyph{ flex:0 0 auto; width:50px; height:50px; display:grid; place-items:center;
  font-family:"Noto Sans Symbols", serif; font-size:26px; line-height:1;
  color:var(--accent); border-radius:13px;
  background:color-mix(in oklch, var(--accent) 10%, transparent);
  border:1px solid color-mix(in oklch, var(--accent) 26%, transparent);
  filter:drop-shadow(0 0 8px color-mix(in oklch, var(--accent) 40%, transparent)); }
.perfil-body{ min-width:0; }
.perfil-body h3{ margin:2px 0 8px; font-family:"Orbitron",sans-serif; font-weight:600;
  font-size:16px; letter-spacing:.01em; color:#eef4ff; }
.perfil-body h3 a{ color:inherit; }
.perfil-body h3 a:hover{ color:var(--accent); }
.perfil-meta{ display:inline-block; margin-left:6px; font-family:"Space Grotesk",sans-serif;
  font-weight:500; font-size:11.5px; letter-spacing:.04em; text-transform:uppercase;
  color:var(--muted-2); }
.perfil-body p{ margin:0; color:#b9c6df; font-size:14px; line-height:1.62; }

/* ============================ FOOTER ============================ */
.foot{ margin-top:80px; border-top:1px solid var(--line);
  background:linear-gradient(180deg, transparent, rgba(8,11,22,.7));
  padding:36px 0 44px; }
.foot .wrap{ text-align:center; }
.foot p{ margin:0 auto 12px; max-width:760px; }
.foot .disc{ color:var(--muted); font-size:12.5px; line-height:1.6; }
.foot .resp{ color:#c7d2e8; font-size:12.5px; }
.foot .resp strong{ color:var(--cy); }
.foot a{ color:var(--cy); }
.foot a:hover{ text-decoration:underline; }
.foot-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px 4px;
  margin-top:18px !important; font-size:13px; color:var(--muted); }
.foot-links a{ color:var(--muted); padding:2px 4px; }
.foot-links a:hover{ color:var(--cy); }
.foot .cr{ margin-top:18px; color:var(--muted-2); font-size:12px; }

/* ============================ RESPONSIVE ============================ */
@media (max-width:980px){ .fut-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:1080px){
  .menu{
    position:fixed; inset:66px 12px auto 12px; flex-direction:column; align-items:stretch; gap:4px;
    max-height:calc(100vh - 84px); overflow-y:auto;
    padding:10px; border-radius:16px;
    background:linear-gradient(180deg, rgba(13,17,32,.98), rgba(9,12,22,.98));
    border:1px solid var(--line-hi); box-shadow:0 24px 60px rgba(0,0,0,.6);
    transform:translateY(-12px) scale(.98); opacity:0; visibility:hidden;
    transition:opacity .25s, transform .25s;
  }
  body.open .menu{ transform:none; opacity:1; visibility:visible; }
  .menu a{ padding:13px 14px; font-size:15px; border-radius:11px; }
  .burger{ display:inline-grid; place-items:center; }
}
@media (max-width:680px){
  .fut-grid{ grid-template-columns:repeat(2,1fr); gap:13px; }
  .perfil-list{ grid-template-columns:1fr; }
  .sign{ padding:16px 12px 15px; border-radius:17px; }
  .name{ font-size:15px; }
  .fut-nums{ font-size:12px; }
  .hero{ padding:54px 0 40px; }
  section{ margin-top:50px; }
  .mysign{ flex-direction:row; padding:13px 16px; }
  .mysign span{ font-size:14px; }
}
@media (max-width:420px){
  .fut-grid{ grid-template-columns:1fr 1fr; gap:11px; }
  .art{ max-width:150px; }
  .wrap{ padding-left:15px; padding-right:15px; }
  .glyph{ width:30px; height:30px; font-size:16px; }
}

@media (prefers-reduced-motion: reduce){
  .ring-ticks, .ring-dash, .twinkle, .sign::after, .hero-space .planet .moon{ animation:none !important; }
  .figure .stroke{ stroke-dashoffset:0 !important; }
  .figure .dot, .figure .star{ opacity:1 !important; transform:none !important; }
  html{ scroll-behavior:auto; }
}

/* ===== overlay: pills legiveis dentro de links-row (paginas interiores) ===== */
.links-row .pill{font-size:.9rem;letter-spacing:normal;text-transform:none;padding:8px 16px;color:var(--ink);background:#ffffff12;border:1px solid var(--line-hi)}
.links-row .pill:hover{border-color:var(--cy);color:#fff}
.daytab{color:var(--muted)}
/* ===== celebridades por signo ===== */
.celebs{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.celebs li{padding:9px 14px;background:linear-gradient(160deg,#ffffff0d,#0e1426);border:1px solid var(--line);border-left:3px solid var(--cy);border-radius:10px;color:var(--txt);font-size:.92rem}
@media(max-width:560px){.celebs{grid-template-columns:1fr}}

/* ===== banner de sorte organico (-> hub opt-in) ===== */
.lucknudge{display:flex;align-items:center;gap:16px;margin:26px 0;padding:18px 22px;border-radius:16px;
  background:linear-gradient(120deg,rgba(255,212,122,.12),rgba(176,123,255,.10));
  border:1px solid color-mix(in oklch,var(--gold) 40%,transparent);
  box-shadow:0 0 34px rgba(255,212,122,.12)}
.ln-spark{font-size:1.9rem;flex:0 0 auto;filter:drop-shadow(0 0 8px var(--gold))}
.ln-body{flex:1;min-width:0}
.ln-t{margin:0;font-family:'Orbitron',sans-serif;font-weight:600;color:#fff3d6;font-size:1.02rem}
.ln-s{margin:.25em 0 0;color:var(--muted);font-size:.9rem}
.ln-btn{flex:0 0 auto;background:linear-gradient(160deg,#ffe07a,var(--gold));color:#241500;font-weight:700;white-space:nowrap}
@media(max-width:560px){.lucknudge{flex-direction:column;text-align:center}}
/* ===== roleta da sorte ===== */
.wheel-sec{text-align:center}
.wheel-wrap{position:relative;width:min(340px,82vw);margin:18px auto 8px;aspect-ratio:1/1}
.wheel{width:100%;height:auto;display:block;border-radius:50%;filter:drop-shadow(0 10px 40px rgba(0,0,0,.5))}
.wheel-pointer{position:absolute;top:-4px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:22px solid var(--gold);z-index:3;filter:drop-shadow(0 2px 4px #000a)}
#wheel-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;border:3px solid #fff;background:radial-gradient(circle at 40% 35%,#1a2348,#0b1024);color:#eaf4ff;font-family:'Orbitron',sans-serif;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 0 22px rgba(95,214,255,.5);z-index:4}
#wheel-hub:disabled{opacity:.7;cursor:default}
.wheel-result{min-height:40px;margin-top:14px}
.wr-t{font-family:'Orbitron',sans-serif;font-size:1.05rem;color:#fff3d6;margin:0 0 10px}
.wr-s{color:var(--muted);font-size:.82rem;margin:.6em 0 0}
.wheel-18{color:var(--muted-2);font-size:.75rem;margin-top:8px}

/* ===== quiz ===== */
.quiz{max-width:680px;margin:30px auto 0}
.q-prog{font-family:'Orbitron',sans-serif;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cy);text-align:center}
.q-text{font-family:'Playfair Display',serif;font-size:1.5rem;text-align:center;margin:.3em 0 1em;color:#eef4ff}
.q-opts{display:grid;gap:12px}
.q-opt{appearance:none;cursor:pointer;text-align:left;padding:15px 18px;border-radius:14px;border:1px solid var(--line-hi);background:linear-gradient(165deg,var(--panel),var(--panel-2));color:var(--txt);font:inherit;font-size:1rem;transition:border-color .2s,transform .2s,box-shadow .2s}
.q-opt:hover{border-color:var(--cy);transform:translateY(-2px);box-shadow:0 10px 30px rgba(95,214,255,.16)}
.qr-k{font-family:'Orbitron',sans-serif;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cy);text-align:center}
.qr-sign{text-align:center;margin:8px 0}
.qr-glyph{font-family:'Noto Sans Symbols',serif;font-size:3rem;color:var(--cy);display:block;filter:drop-shadow(0 0 12px var(--cy))}
.qr-sign h2{font-family:'Orbitron',sans-serif;margin:.2em 0 0}
.qr-sub{text-align:center;color:var(--muted);max-width:46ch;margin:.4em auto 1em}
.quiz-result .links-row{justify-content:center}
.quiz-result{text-align:center}
.quiz-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
@media(max-width:560px){.quiz-cards{grid-template-columns:1fr}}
.quiz-card{display:block;text-align:center;padding:30px 22px;border-radius:18px;background:linear-gradient(165deg,var(--panel),var(--panel-2));border:1px solid var(--line);transition:transform .3s,border-color .3s,box-shadow .3s;color:var(--txt)}
.quiz-card:hover{transform:translateY(-5px);border-color:var(--cy);box-shadow:0 18px 44px rgba(0,0,0,.5),0 0 40px rgba(95,214,255,.14);text-decoration:none}
.qc-em{font-size:2.6rem;display:block;margin-bottom:8px}
.quiz-card h2{font-family:'Orbitron',sans-serif;margin:.2em 0 .3em;color:#eef4ff;font-size:1.2rem}
.quiz-card p{color:var(--muted);margin:0;font-size:.9rem}
.wr-b{font-family:'Space Grotesk',sans-serif;color:var(--cy);font-weight:600;font-size:.92rem;margin:0 0 12px}
/* ===== Quiz Express da homepage ===== */
.hq-sec{margin:26px 0 34px}
.hq-card{position:relative;border-radius:24px;padding:34px 30px 30px;overflow:hidden;background:linear-gradient(160deg,rgba(95,214,255,.10),rgba(176,123,255,.10) 55%,rgba(255,93,143,.08));border:1px solid var(--line-hi);box-shadow:0 24px 60px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.03)}
.hq-card::before{content:"";position:absolute;inset:-2px;border-radius:26px;padding:1.5px;background:linear-gradient(120deg,#5fd6ff,#b07bff,#ff5d8f,#ffd47a,#5fd6ff);background-size:300% 300%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;animation:hqbord 8s linear infinite;pointer-events:none}
@keyframes hqbord{to{background-position:300% 0}}
.hq-head{text-align:center;max-width:640px;margin:0 auto}
.hq-kick{font-family:'Orbitron',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cy);margin:0 0 .5em}
.hq-title{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.1;margin:0 0 .35em;color:#f3f7ff}
.hq-sub{color:var(--muted);margin:0 auto;max-width:52ch;font-size:.95rem}
.hq-barwrap{height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin:24px auto 6px;max-width:560px}
.hq-bar{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#5fd6ff,#b07bff,#ff5d8f);transition:width .45s cubic-bezier(.4,0,.2,1)}
.hq-body{max-width:560px;margin:18px auto 0}
.hq-prog{font-family:'Orbitron',sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cy);text-align:center;margin:0 0 .5em}
.hq-q{font-family:'Playfair Display',serif;font-size:clamp(1.3rem,3.4vw,1.7rem);text-align:center;color:#eef4ff;margin:.2em 0 1.1em}
.hq-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.hq-opts{grid-template-columns:1fr}}
.hq-opt{appearance:none;cursor:pointer;text-align:left;padding:16px 18px;border-radius:15px;border:1px solid var(--line-hi);background:linear-gradient(165deg,rgba(20,26,48,.85),rgba(12,16,34,.85));color:var(--txt);font:inherit;font-size:1rem;font-weight:500;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;animation:hqin .4s ease both}
.hq-opt:nth-child(2){animation-delay:.05s}.hq-opt:nth-child(3){animation-delay:.1s}.hq-opt:nth-child(4){animation-delay:.15s}
@keyframes hqin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hq-opt:hover{transform:translateY(-3px);border-color:var(--cy);box-shadow:0 12px 30px rgba(95,214,255,.18);background:linear-gradient(165deg,rgba(28,38,70,.95),rgba(16,22,46,.95))}
.hq-result{text-align:center;max-width:560px;margin:6px auto 0;animation:hqpop .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes hqpop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
.hq-rk{font-family:'Orbitron',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cy);margin:6px 0 0}
.hq-glyph{font-family:'Noto Sans Symbols',serif;font-size:4rem;line-height:1;color:#fff;display:block;margin:.1em 0;filter:drop-shadow(0 0 18px var(--cy))}
.hq-name{font-family:'Orbitron',sans-serif;font-size:1.6rem;margin:.1em 0 .3em;color:#f3f7ff}
.hq-blurb{color:var(--txt);font-size:1.05rem;max-width:42ch;margin:0 auto 1.2em}
.hq-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn.ghost{background:transparent;border:1px solid var(--line-hi);box-shadow:none;color:var(--txt)}
.btn.ghost:hover{border-color:var(--cy);background:rgba(95,214,255,.08)}
.hq-luck{display:inline-block;margin-top:16px;color:var(--gold);font-weight:600;font-size:.92rem;text-decoration:none}
.hq-luck:hover{text-decoration:underline}
.hq-share{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.hq-shbtn{appearance:none;cursor:pointer;font:inherit;font-size:.85rem;font-weight:600;padding:9px 15px;border-radius:11px;border:1px solid var(--line-hi);background:rgba(255,255,255,.05);color:var(--txt);text-decoration:none;transition:transform .15s,border-color .15s,background .15s}
.hq-shbtn:hover{transform:translateY(-2px);border-color:var(--cy);background:rgba(95,214,255,.10)}
.hq-shbtn.wa{border-color:rgba(37,211,102,.5)}
.hq-shbtn.wa:hover{background:rgba(37,211,102,.16)}
.hq-shbtn.fb{border-color:rgba(66,103,178,.6)}
.hq-shbtn.fb:hover{background:rgba(66,103,178,.18)}
/* ===== banner destaque: casino do signo ===== */
.luckcasino{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;margin:26px 0;padding:22px 24px;border-radius:20px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,212,122,.12),rgba(255,93,143,.08) 60%,rgba(95,214,255,.08));border:1px solid rgba(255,212,122,.38);box-shadow:0 18px 46px rgba(0,0,0,.42)}
.luckcasino::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#ffd47a,#ff5d8f)}
.lc-left{min-width:0}
.lc-k{font-family:'Orbitron',sans-serif;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:#ffe2a6;margin:0 0 .5em;display:flex;align-items:center;gap:.4em}
.lc-star{font-size:1.05em}
.lc-line{color:var(--txt);margin:0 0 .6em;font-size:1.02rem;line-height:1.45}
.lc-name{color:#ffd47a}
.lc-18{color:var(--muted-2);font-size:.72rem}
.lc-right{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;min-width:210px}
.lc-logo{max-height:42px;max-width:150px;width:auto;object-fit:contain}
.lc-logo-txt{font-family:'Orbitron',sans-serif;font-weight:700;font-size:1.15rem;color:#fff}
.lc-bonus{font-family:'Space Grotesk',sans-serif;font-weight:600;color:var(--cy);font-size:.92rem}
.btn-play{background:linear-gradient(135deg,#ffd47a,#ff9d5c);color:#1a1206;font-weight:700;border:none;box-shadow:0 8px 24px rgba(255,160,90,.4);animation:lcpulse 2.6s ease-in-out infinite}
.btn-play:hover{filter:brightness(1.06);transform:translateY(-2px)}
@keyframes lcpulse{0%,100%{box-shadow:0 8px 24px rgba(255,160,90,.35)}50%{box-shadow:0 8px 34px rgba(255,160,90,.65)}}
@media(max-width:680px){.luckcasino{grid-template-columns:1fr}.lc-right{min-width:0;align-items:stretch}.btn-play{width:100%}}

/* ===== tabela casino por signo (hub) ===== */
.ps-wrap{overflow-x:auto;border-radius:14px;border:1px solid var(--line)}
.ps-table{width:100%;border-collapse:collapse;min-width:560px}
.ps-table th,.ps-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:.92rem;vertical-align:middle}
.ps-table thead th{font-family:'Orbitron',sans-serif;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cy);background:rgba(255,255,255,.03)}
.ps-table tbody tr:hover{background:rgba(95,214,255,.05)}
.ps-table tr td:last-child{text-align:right}
.ps-sig a{display:inline-flex;align-items:center;gap:.45em;font-weight:600;color:var(--txt);text-decoration:none}
.ps-sig a:hover{color:var(--cy)}
.ps-gly{font-family:'Noto Sans Symbols',serif;color:var(--gold)}
.ps-bonus{color:var(--cy);font-size:.85rem}
/* ===== ritual da sorte ===== */
.ritual{display:flex;gap:16px;align-items:flex-start;margin:24px 0;padding:20px 22px;border-radius:18px;background:linear-gradient(160deg,rgba(176,123,255,.10),rgba(95,214,255,.06));border:1px solid var(--line-hi)}
.rit-ico{font-size:1.8rem;line-height:1;flex:none;filter:drop-shadow(0 0 10px rgba(176,123,255,.6))}
.rit-t{font-family:'Playfair Display',serif;margin:0 0 .4em;color:#eef4ff;font-size:1.2rem}
.rit-p{margin:0 0 .8em;color:var(--txt)}
.rit-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;font-size:.84rem;color:var(--muted)}
.rit-meta strong{color:var(--gold)}

/* ===== euromilhões: estrelas ===== */
.em-nums{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}
.em-nums .star{background:radial-gradient(circle at 40% 35%,#ffe9a8,#f0b73c)!important;color:#3a2a06!important;position:relative}
.em-nums .star::after{content:"\2605";position:absolute;top:-7px;right:-5px;font-size:.7rem;color:#ffd47a;filter:drop-shadow(0 0 3px #000)}
.nr-nums.em-nums{justify-content:flex-end}
.nr-nums.em-nums span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(165deg,#3a4d8a,#26305c);color:#eaf0ff;font-size:.8rem;font-weight:700}
.nr-nums.em-nums .star{width:30px;height:30px}

/* ===== E-E-A-T / disclaimers ===== */
.crit-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.crit-list li{padding:14px 16px;border-radius:13px;background:linear-gradient(165deg,var(--panel),var(--panel-2));border:1px solid var(--line);line-height:1.5}
.crit-list strong{color:#eef4ff}
.disc-min{font-size:.78rem;color:var(--muted-2);text-align:center;margin:22px auto 0;max-width:60ch;border-top:1px solid var(--line);padding-top:14px}
/* ===== banner casino: headline + caixa de bónus ===== */
.lc-head{font-family:'Playfair Display',serif;font-size:clamp(1.3rem,2.6vw,1.75rem);line-height:1.12;color:#fff;margin:.15em 0 .45em}
.lc-cta-sub{display:block;margin-top:7px;font-size:.74rem;color:var(--muted)}
.lc-bonusbox{display:flex;flex-direction:column;align-items:center;gap:1px;padding:12px 18px;border-radius:14px;background:radial-gradient(120% 140% at 50% 0%,rgba(255,212,122,.20),rgba(255,212,122,.06));border:1px solid rgba(255,212,122,.5);box-shadow:0 0 22px rgba(255,180,80,.18) inset}
.lc-bl{font-family:'Orbitron',sans-serif;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:#ffe2a6}
.lc-bv{font-family:'Orbitron',sans-serif;font-weight:800;font-size:1.5rem;line-height:1.05;color:#ffd47a;text-shadow:0 0 16px rgba(255,180,80,.45)}
.lc-bs{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.92rem;color:#fff}
@media(max-width:680px){.lc-bonusbox{width:100%}}
/* ===== FAQ (accordion) ===== */
.faq{margin:30px 0}
.faq-item{border:1px solid var(--line);border-radius:13px;background:linear-gradient(165deg,var(--panel),var(--panel-2));margin-bottom:10px;overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;padding:15px 18px;font-family:'Space Grotesk',sans-serif;font-weight:600;color:#eef4ff;position:relative;padding-right:42px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.3rem;color:var(--cy);transition:transform .2s}
.faq-item[open] summary::after{content:"\2212"}
.faq-item summary:hover{color:var(--cy)}
.faq-item p{margin:0;padding:0 18px 16px;color:var(--muted)}