:root{
  --brand-50:#161A24;
  --brand-100:#1E2533;
  --brand-200:#2A3448;
  --brand-300:#3A4762;
  --brand-700:#7C3AED;
  --brand-800:#6D28D9;
  --brand-900:#4C1D95;

  --ink:#E8EDF7;
  --soft:#A8B3C7;
  --muted:#7F8CA3;
  --line:#2A3448;
  --paper:#090B10;
  --white:#121722;
  --success:#34D399;
  --success-bg:#0E1E1A;
  --warning:#F59E0B;
  --warning-bg:#241A08;
  --danger:#EF4444;
  --danger-bg:#2A1013;
  --info:#2EC4C7;
  --info-bg:#0B1F23;
  --gold:#C7A86D;

  --shadow:0 18px 40px rgba(0,0,0,.38);
  --shadow-soft:0 10px 24px rgba(0,0,0,.28);
  --radius:24px;
  --radius-md:16px;
  --radius-sm:12px;
  --max:1200px;
  --max-narrow:900px;
  --transition:.2s ease;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top right, rgba(124,58,237,.10), transparent 24%),
    radial-gradient(circle at left center, rgba(46,196,199,.06), transparent 22%),
    var(--paper);
  line-height:1.65;
  text-rendering:optimizeLegibility;
}

body.menu-open{
  overflow:hidden;
}

img{
  max-width:100%;
  display:block;
}

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

button,
input,
select,
textarea{
  font:inherit;
}

button{
  cursor:pointer;
}

ul,
ol{
  margin:0 0 1rem;
  padding-left:1.25rem;
}

li + li{
  margin-top:.45rem;
}

p{
  margin:0 0 1rem;
}

h1,h2,h3,h4{
  margin:0 0 1rem;
  line-height:1.2;
  letter-spacing:-.02em;
}

h1{font-size:clamp(2.2rem,5vw,4rem)}
h2{font-size:clamp(1.45rem,2.5vw,2rem)}
h3{font-size:1.15rem}
small{font-size:.82rem}

::selection{
  background:rgba(124,58,237,.35);
  color:#fff;
}

.container{
  width:min(var(--max), calc(100% - 2rem));
  margin-inline:auto;
}

.narrow{max-width:760px}
.narrow-page{max-width:var(--max-narrow)}
.bg-paper{background:var(--paper)}
.text-center{text-align:center}
.text-soft{color:var(--soft)}
.hidden{display:none !important}

.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
}

.skip-link:focus{
  left:1rem;
  top:1rem;
  z-index:9999;
  background:var(--white);
  color:var(--ink);
  padding:.75rem 1rem;
  border-radius:12px;
  box-shadow:var(--shadow);
}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(9,11,16,.86);
  border-bottom:1px solid rgba(42,52,72,.9);
  backdrop-filter:blur(10px);
}

.nav-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 0;
}

.brand{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-width:0;
}

.brand-badge{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:linear-gradient(135deg, var(--brand-700), var(--brand-900));
  color:#fff;
  font-weight:700;
  flex:0 0 auto;
  box-shadow:0 10px 24px rgba(124,58,237,.28);
}

.brand strong{display:block}
.brand small{display:block;color:var(--soft);font-size:.78rem}

.desktop-nav{
  display:flex;
  gap:1.5rem;
  align-items:center;
}

.desktop-nav a{
  font-size:.95rem;
  font-weight:600;
  color:#D8E0F0;
  transition:color var(--transition);
}

.desktop-nav a:hover,
.desktop-nav a[aria-current="page"],
.text-link:hover,
.mobile-nav a:hover,
.breadcrumb a:hover{
  color:var(--info);
}

.menu-btn{
  display:none;
  border:1px solid var(--line);
  background:var(--white);
  color:var(--ink);
  border-radius:12px;
  padding:.55rem .8rem;
  font-size:1rem;
}

.mobile-nav{
  display:none;
  flex-direction:column;
  gap:.5rem;
  padding:0 1rem 1rem;
  background:rgba(9,11,16,.96);
}

.mobile-nav a{
  border:1px solid var(--line);
  background:var(--white);
  padding:.9rem 1rem;
  border-radius:14px;
  font-weight:600;
  transition:color var(--transition), background var(--transition), border-color var(--transition);
}

.mobile-nav.is-open{display:flex}

.section{padding:4rem 0}

.section.alt{
  background:#0E131D;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.hero{
  background:
    radial-gradient(circle at top right, rgba(124,58,237,.16), transparent 28%),
    radial-gradient(circle at left center, rgba(46,196,199,.08), transparent 26%),
    linear-gradient(180deg, #0B0F17 0%, #090B10 100%);
  padding:5rem 0 4rem;
}

.hero-grid{
  display:grid;
  grid-template-columns:1.15fr .95fr;
  gap:2rem;
  align-items:center;
}

.eyebrow{
  display:inline-block;
  margin-bottom:1rem;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.75rem;
  font-weight:700;
}

.lead{
  font-size:1.125rem;
  color:var(--soft);
  max-width:760px;
}

.hero-actions,
.actions-row{
  display:flex;
  gap:.9rem;
  flex-wrap:wrap;
  margin:2rem 0 1.5rem;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:48px;
  padding:.9rem 1.2rem;
  border:none;
  border-radius:16px;
  font-weight:700;
  transition:transform var(--transition), background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
}

.btn:hover{transform:translateY(-1px)}

.btn:focus-visible,
.menu-btn:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
a:focus-visible,
summary:focus-visible{
  outline:3px solid rgba(46,196,199,.35);
  outline-offset:2px;
}

.btn-primary{
  background:linear-gradient(135deg, var(--brand-700), var(--brand-800));
  color:#fff;
  box-shadow:0 12px 28px rgba(124,58,237,.26);
}

.btn-primary:hover{
  background:linear-gradient(135deg, var(--brand-800), var(--brand-900));
}

.btn-secondary,
.btn-ghost{
  background:var(--white);
  color:var(--ink);
  border:1px solid var(--line);
}

.btn-secondary:hover,
.btn-ghost:hover{
  background:#182031;
}

.tag-list{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
}

.tag-list span,
.tag{
  background:#141B28;
  border:1px solid #243047;
  border-radius:999px;
  padding:.45rem .8rem;
  color:#C6D1E3;
  font-size:.9rem;
}

.section-head{
  margin-bottom:2rem;
  max-width:760px;
}

.grid{display:grid;gap:1.5rem}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}

.card{
  background:linear-gradient(180deg, #121722 0%, #101520 100%);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.5rem;
  box-shadow:var(--shadow-soft);
}

.card:hover{
  transform:translateY(-2px);
  transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
  box-shadow:var(--shadow);
  border-color:#3C4B66;
}

.feature-card h2{font-size:1.8rem}

.mini-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin:1.5rem 0;
}

.mini-grid > div{
  background:#141B28;
  border:1px solid var(--line);
  border-radius:18px;
  padding:1rem;
}

.mini-grid small{
  display:block;
  color:var(--soft);
  text-transform:uppercase;
  font-size:.72rem;
  margin-bottom:.35rem;
}

.mini-grid strong{display:block}
.breadcrumb{margin-bottom:1rem;color:var(--soft);font-size:.95rem}
.text-link{color:var(--info);font-weight:700;transition:color var(--transition)}
.article > section + section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}
.article h2{margin-bottom:.9rem}
.article h3{margin-bottom:.5rem}
.article p:last-child,.article ul:last-child,.article ol:last-child{margin-bottom:0}

.article blockquote{
  margin:1.5rem 0;
  padding:1rem 1.25rem;
  background:#141B28;
  border-left:4px solid var(--gold);
  border-radius:0 var(--radius-md) var(--radius-md) 0;
  color:var(--ink);
}

.article code,.code-inline{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  background:#1A2233;
  color:#CDB4FF;
  padding:.15rem .4rem;
  border-radius:8px;
  font-size:.92em;
}

.code-block,pre{
  overflow:auto;
  margin:1rem 0;
  padding:1rem 1.1rem;
  background:#05070B;
  color:#D8E0F0;
  border:1px solid #1E293B;
  border-radius:18px;
  font-size:.92rem;
  line-height:1.55;
}

pre code{background:none;color:inherit;padding:0}

.notice,.alert,.info-box,.warning-box,.success-box,.legal-box{
  border:1px solid var(--line);
  border-radius:18px;
  padding:1rem 1.1rem;
  margin:1rem 0;
}

.notice,.info-box{background:var(--info-bg);color:#9BE8EA;border-color:#14414A}
.warning-box{background:var(--warning-bg);color:#F6C968;border-color:#6B4B0C}
.success-box{background:var(--success-bg);color:#7EE2B8;border-color:#1A5B4A}
.alert{background:var(--danger-bg);color:#FF8A93;border-color:#6A1A22}
.legal-box{background:#101520;color:var(--ink)}
.notice strong,.alert strong,.info-box strong,.warning-box strong,.success-box strong,.legal-box strong{display:block;margin-bottom:.35rem}

table{
  width:100%;
  border-collapse:collapse;
  margin:1rem 0;
  background:#101520;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow-soft);
}

thead{background:#141B28}
th,td{padding:.95rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
tbody tr:last-child td{border-bottom:none}
th{font-size:.92rem;font-weight:700}
td{color:#D1D9E8}
.table-wrap{overflow-x:auto;margin:1rem 0}

.form-row{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  margin-bottom:1rem;
}

.form-row:last-child{margin-bottom:0}
label{font-weight:600;color:var(--ink)}

input,select,textarea{
  width:100%;
  border:1px solid var(--line);
  background:#0F1520;
  color:var(--ink);
  border-radius:14px;
  padding:.9rem 1rem;
  transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

input::placeholder,textarea::placeholder{color:var(--muted)}
input:hover,select:hover,textarea:hover{border-color:#41506B}
input:focus,select:focus,textarea:focus{
  border-color:var(--info);
  box-shadow:0 0 0 4px rgba(46,196,199,.14);
  outline:none;
}

textarea{min-height:140px;resize:vertical}
input[type="checkbox"],input[type="radio"]{width:auto;min-height:auto;box-shadow:none}
.form-help{margin-top:.4rem;color:var(--soft);font-size:.92rem}
.form-error{color:#FF8A93;font-size:.92rem;margin-top:.35rem}
.form-success{color:#7EE2B8;font-size:.92rem;margin-top:.35rem}
.contact-form,.newsletter-form{display:block}
.form-inline{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}
.form-inline .form-row{flex:1 1 260px;margin-bottom:0}
.checkbox-row{display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0}
.checkbox-row label{font-weight:500;line-height:1.5}

details{
  border:1px solid var(--line);
  background:#101520;
  border-radius:18px;
  padding:1rem 1.1rem;
  box-shadow:var(--shadow-soft);
}

details + details{margin-top:.9rem}
summary{cursor:pointer;font-weight:700;list-style:none}
summary::-webkit-details-marker{display:none}
details[open] summary{margin-bottom:.8rem}
details > *:last-child{margin-bottom:0}
.legal-list,.clean-list{list-style:none;padding:0;margin:0}
.legal-list li,.clean-list li{padding:.85rem 0;border-bottom:1px solid var(--line)}
.legal-list li:last-child,.clean-list li:last-child{border-bottom:none}

.site-footer{
  border-top:1px solid var(--line);
  background:#0B0F17;
  margin-top:2rem;
}

.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:2rem;
  padding:3rem 0 2rem;
}

.footer-grid h2{
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:1rem;
  color:var(--gold);
}

.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li + li{margin-top:.75rem}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 0 2rem;
  color:var(--soft);
  font-size:.95rem;
  border-top:1px solid var(--line);
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.35rem .7rem;
  border-radius:999px;
  background:rgba(199,168,109,.14);
  color:var(--gold);
  font-size:.82rem;
  font-weight:700;
  border:1px solid rgba(199,168,109,.24);
}

hr{border:none;border-top:1px solid var(--line);margin:2rem 0}

@media (max-width: 980px){
  .hero-grid,.cols-3,.cols-2,.footer-grid{grid-template-columns:1fr}
  .desktop-nav{display:none}
  .menu-btn{display:inline-block}
  .mobile-nav.is-open{display:flex}
  .form-inline{flex-direction:column;align-items:stretch}
}

@media (max-width: 640px){
  .section{padding:3rem 0}
  .hero{padding:4rem 0 3rem}
  .mini-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .card{padding:1.2rem}
  .btn{width:100%}
  .hero-actions .btn,.actions-row .btn{width:100%}
}
.category-grid{
  gap:1.6rem;
}

.category-card{
  position:relative;
  overflow:hidden;
  min-height:250px;
  padding:1.5rem 1.5rem 1.4rem;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)),
    var(--cat-bg, #121722);
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
  isolation:isolate;
}

.category-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, var(--cat-glow, rgba(124,58,237,.16)), transparent 38%);
  pointer-events:none;
  transition:opacity .28s ease, transform .35s ease;
}

.category-card::after{
  content:"";
  position:absolute;
  left:-30%;
  top:0;
  width:60%;
  height:4px;
  background:linear-gradient(90deg, transparent 0%, var(--cat-accent, #7C3AED) 50%, transparent 100%);
  opacity:.9;
  transition:opacity .28s ease, transform .28s ease, box-shadow .28s ease;
}

.category-card:hover{
  transform:translateY(-4px);
  border-color:var(--cat-accent, #7C3AED);
  box-shadow:0 18px 40px rgba(0,0,0,.35);
}

.category-card:hover::before{
  opacity:1;
  transform:scale(1.04);
}

.category-card:hover::after{
  box-shadow:0 0 18px var(--cat-accent, #7C3AED);
  animation:categoryGlow 1.2s ease forwards;
}

.category-card h3,
.category-card p,
.category-card .category-icon{
  position:relative;
  z-index:1;
}

.category-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin-bottom:1rem;
  border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 10px 24px rgba(0,0,0,.18);
  transition:transform .28s ease, background .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.category-icon svg{
  width:26px;
  height:26px;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.category-card h3{
  margin-bottom:.75rem;
  transition:color .25s ease, transform .25s ease;
}

.category-card p{
  color:#d7deeb;
  margin-bottom:0;
  transition:color .25s ease;
}

.category-card:hover .category-icon{
  transform:translateY(-3px) scale(1.06);
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 14px 28px rgba(0,0,0,.28);
}

.category-card:hover h3{
  color:#ffffff;
  transform:translateY(-1px);
}

.category-card:hover p{
  color:#eef3fb;
}

.cat-politica{
  --cat-bg: linear-gradient(180deg, #1a1326 0%, #120f1c 100%);
  --cat-accent: #a855f7;
  --cat-glow: rgba(168,85,247,.22);
}
.cat-politica .category-icon{ color:#d8b4fe; }

.cat-ciencia{
  --cat-bg: linear-gradient(180deg, #0f1b25 0%, #0b141c 100%);
  --cat-accent: #22c55e;
  --cat-glow: rgba(34,197,94,.18);
}
.cat-ciencia .category-icon{ color:#86efac; }

.cat-tecnologia{
  --cat-bg: linear-gradient(180deg, #0d1824 0%, #0a121b 100%);
  --cat-accent: #06b6d4;
  --cat-glow: rgba(6,182,212,.20);
}
.cat-tecnologia .category-icon{ color:#67e8f9; }

.cat-secretas{
  --cat-bg: linear-gradient(180deg, #20160f 0%, #16100b 100%);
  --cat-accent: #f59e0b;
  --cat-glow: rgba(245,158,11,.20);
}
.cat-secretas .category-icon{ color:#fcd34d; }

.cat-celebridades{
  --cat-bg: linear-gradient(180deg, #25131a 0%, #1a0d12 100%);
  --cat-accent: #ec4899;
  --cat-glow: rgba(236,72,153,.18);
}
.cat-celebridades .category-icon{ color:#f9a8d4; }

.cat-historicos{
  --cat-bg: linear-gradient(180deg, #18202a 0%, #10161d 100%);
  --cat-accent: #94a3b8;
  --cat-glow: rgba(148,163,184,.16);
}
.cat-historicos .category-icon{ color:#cbd5e1; }

@keyframes categoryGlow{
  from{ left:-30%; }
  to{ left:70%; }
}

@media (max-width: 640px){
  .category-card{
    min-height:auto;
  }
}
