
.spartan-article{ font-family:var(--font-body); color:var(--text-bright); line-height:1.7; }
.sp-eyebrow{
  font-family:var(--font-mono); font-size:.8rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--spartan-gold); margin:0 0 10px;
}
.sp-lead{ font-size:clamp(1.05rem,1.6vw,1.25rem); color:var(--text-bright); max-width:880px; margin:0 0 28px; }
.spartan-article h2{
  font-family:var(--font-display); text-transform:uppercase; letter-spacing:.03em;
  font-size:clamp(1.6rem,3vw,2.3rem); color:var(--text-white); margin:48px 0 18px; border-left:4px solid var(--spartan-gold); padding-left:16px;
}
.spartan-article h3{
  font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.02em;
  font-size:clamp(1.15rem,2vw,1.5rem); color:var(--spartan-gold); margin:28px 0 12px;
}
.spartan-article p{ max-width:880px; margin:0 0 18px; }
.spartan-article strong{ color:var(--text-white); }
.spartan-article a{ color:var(--spartan-gold); text-decoration:underline; }
.sp-callout{
  background:var(--spartan-charcoal); border:1px solid var(--border-gold); border-radius:12px;
  padding:clamp(16px,3vw,28px); margin:28px 0; max-width:880px;
}
.sp-callout p{ margin:0; }
.sp-table-wrap{ overflow-x:auto; margin:24px 0; }
.sp-table{ width:100%; border-collapse:collapse; font-family:var(--font-mono); font-size:.85rem; min-width:560px; }
.sp-table th, .sp-table td{ border:1px solid var(--border-subtle); padding:10px 12px; text-align:left; }
.sp-table th{ background:var(--spartan-charcoal); color:var(--spartan-gold); text-transform:uppercase; font-size:.75rem; letter-spacing:.05em; }
.sp-table td{ color:var(--text-gray); }
.sp-clausula{
  font-size:.9rem; color:var(--text-muted); border-top:1px solid var(--border-subtle); padding-top:18px; margin-top:40px; max-width:880px;
}
.sp-fuentes{ font-size:.85rem; max-width:880px; }
.sp-fuentes li{ margin-bottom:8px; color:var(--text-gray); }
/* FAQ accordion */
.hds-faq{ max-width:880px; margin:24px 0; }
.hds-faq details{ border:1px solid var(--border-subtle); border-radius:10px; margin:12px 0; background:var(--spartan-dark); overflow:hidden; }
.hds-faq summary{ cursor:pointer; list-style:none; padding:18px 22px; font-family:var(--font-condensed); font-weight:600; font-size:1.12rem; letter-spacing:.02em; color:var(--text-white); display:flex; justify-content:space-between; align-items:center; gap:14px; }
.hds-faq summary::-webkit-details-marker{ display:none; }
.hds-faq summary::after{ content:"+"; font-family:var(--font-mono); color:var(--spartan-gold); font-size:1.4rem; transition:transform .2s ease; }
.hds-faq details[open] summary::after{ transform:rotate(45deg); }
.hds-faq details p{ padding:0 22px 20px; margin:0; max-width:none; color:var(--text-gray); }
/* Producto */
.spartan-product{
  background:#ffffff; color:#1a1a1a;
  border-radius:14px; padding:clamp(20px,4vw,36px);
  margin:32px 0; box-shadow:0 18px 50px rgba(0,0,0,.45);
  display:grid; grid-template-columns:minmax(180px,260px) 1fr; gap:clamp(20px,4vw,40px);
  align-items:start; border:1px solid rgba(0,0,0,.06);
}
.spartan-product .sp-media{ display:flex; align-items:center; justify-content:center; }
.spartan-product img{ width:100%; max-width:240px; aspect-ratio:1/1; object-fit:contain; margin:0 auto; display:block; }
.spartan-product h3{
  font-family:var(--font-display); font-size:clamp(1.5rem,3vw,2.1rem);
  letter-spacing:.04em; text-transform:uppercase; color:#0a0a0a; margin:0 0 14px;
}
.spartan-product .sp-datos{ list-style:none; padding:0; margin:0 0 18px; display:flex; flex-wrap:wrap; gap:8px; }
.spartan-product .sp-datos li{
  font-family:var(--font-mono); font-size:.72rem; background:#f3f3f3; color:#1a1a1a;
  padding:6px 10px; border-radius:6px; border:1px solid rgba(0,0,0,.08);
}
.spartan-product .sp-datos li span{ color:var(--spartan-gold); filter:brightness(.7); font-weight:700; margin-right:5px; }
.spartan-product p{ color:#333; font-family:var(--font-body); line-height:1.65; max-width:none; }
.spartan-product strong{ color:#0a0a0a; }
.spartan-product, .spartan-product li{ color:#1a1a1a; }
.spartan-product a{
  display:inline-block; margin:10px 10px 0 0; padding:12px 22px; border-radius:8px;
  font-family:var(--font-condensed); font-weight:600; letter-spacing:.05em;
  text-transform:uppercase; text-decoration:none; transition:transform .15s ease, filter .15s ease;
}
.spartan-product a:hover{ transform:translateY(-2px); filter:brightness(1.08); }
.spartan-product a[href*="amazon"], .spartan-product a[href*="amzn"]{ background:var(--spartan-gold); color:#0a0a0a; }
.spartan-product a[href*="tiktok"]{ background:#0a0a0a; color:#fff; }
@media (max-width:680px){ .spartan-product{ grid-template-columns:1fr; } }
/* Gráfica */
.sp-graf{ margin:28px 0; max-width:880px; }
.sp-graf .row{ display:grid; grid-template-columns:170px 1fr 60px; align-items:center; gap:12px; margin:10px 0; }
.sp-graf .lbl{ font-family:var(--font-mono); font-size:.8rem; color:var(--text-gray); }
.sp-graf .track{ height:14px; background:var(--spartan-charcoal); border-radius:7px; overflow:hidden; border:1px solid var(--border-subtle); }
.sp-graf .fill{ display:block; height:100%; width:0; background:var(--spartan-gold); border-radius:7px; transition:width 1.4s cubic-bezier(.2,.8,.2,1); }
.sp-graf.is-visible .fill{ width:var(--w); }
.sp-graf .val{ font-family:var(--font-mono); color:var(--spartan-neon); font-size:.85rem; text-align:right; }
@media (prefers-reduced-motion: reduce){ .sp-graf .fill{ transition:none; width:var(--w); } }
