:root{
  --primary:#db2777; --on-primary:#fff;
  --secondary:#c084fc; --accent:#fbcfe8; --on-accent:#831843;
  --ink:#2a0f24; --on-ink:#ffe4f1;
  --bg:#fdf2f8; --surface:#ffffff; --surface-alt:#fce7f3;
  --fg:#4a1538; --fg-muted:#b07c9b;
  --border:rgba(0,0,0,.10);
  --radius:4px; --btn-radius:4px; --pill:4px; --tab-radius:4px;
  --shadow:0 10px 24px -16px rgba(0,0,0,.28); --gA:120deg; --upper:.18em;
  --font-body:"Poppins","PingFang SC",sans-serif; --font-head:"Archivo","Poppins","PingFang SC",sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
::selection{background:var(--primary);color:var(--on-primary);}
::-webkit-scrollbar{width:11px;}
::-webkit-scrollbar-track{background:var(--surface-alt);}
::-webkit-scrollbar-thumb{background:var(--primary);border-radius:10px;}

.fill-primary{background:var(--primary);color:var(--on-primary);}
.fill-secondary{background:var(--secondary);color:#fff;}
.fill-accent{background:var(--accent);color:var(--on-accent);}
.fill-ink{background:var(--ink);color:var(--on-ink);}
.fill-surface{background:var(--surface);color:var(--fg);}
.fill-surface-alt{background:var(--surface-alt);color:var(--fg);}
.t-primary{color:var(--primary);} .t-secondary{color:var(--secondary);}
.t-accent{color:var(--accent);} .t-muted{color:var(--fg-muted);}
.grad{background:linear-gradient(var(--gA),var(--primary),var(--secondary));color:var(--on-primary);}
.t-grad{background:linear-gradient(var(--gA),var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-orb{background:radial-gradient(40% 40% at 20% 30%,var(--primary) 0%,transparent 60%),radial-gradient(45% 45% at 78% 60%,var(--secondary) 0%,transparent 60%),radial-gradient(40% 40% at 50% 95%,var(--accent) 0%,transparent 60%);opacity:.55;}

.headline{font-family:var(--font-head);font-weight:800;letter-spacing:-.01em;line-height:1.08;}
.tag{font-weight:800;font-size:.7rem;letter-spacing:var(--upper);text-transform:uppercase;}
.chip{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.78rem;padding:.4rem .9rem;border-radius:var(--pill);background:var(--surface-alt);color:var(--primary);}

.card{background:var(--surface);border:var(--border) solid;border-color:var(--border);border-width:1px;border-radius:var(--radius);transition:transform .25s ease,box-shadow .25s ease;box-shadow:var(--shadow);}
.card:hover{transform:translateY(-3px);box-shadow:0 26px 50px -22px rgba(0,0,0,.4);}
.card-soft{background:var(--surface-alt);border-radius:var(--radius);}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:800;letter-spacing:.02em;padding:.85rem 1.85rem;background:var(--primary);color:var(--on-primary);border:none;border-radius:var(--btn-radius);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s;box-shadow:0 12px 24px -10px var(--primary);}
.btn:hover{transform:translateY(-2px);filter:brightness(1.05);}
.btn-2{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:800;letter-spacing:.02em;padding:.82rem 1.8rem;background:transparent;color:var(--primary);border:1.5px solid var(--primary);border-radius:var(--btn-radius);cursor:pointer;transition:.2s;}
.btn-2:hover{background:var(--primary);color:var(--on-primary);}
.btn-ink{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:800;padding:.85rem 1.85rem;background:var(--ink);color:var(--on-ink);border-radius:var(--btn-radius);cursor:pointer;transition:.2s;}
.btn-ink:hover{filter:brightness(1.12);}

.cat-tab{font-weight:700;background:var(--surface-alt);color:var(--fg-muted);border-radius:var(--tab-radius);border:1px solid var(--border);cursor:pointer;transition:.15s;}
.cat-tab:hover{color:var(--primary);}
.cat-tab.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary);}

.nav-link{font-weight:700;color:var(--fg);padding:.4rem .7rem;border-radius:var(--tab-radius);transition:.18s;}
.nav-link:hover,.nav-link.active{color:var(--primary);}
.nav{display:flex;}
@media(max-width:1023px){
  .nav{position:fixed;top:0;right:0;bottom:0;width:80%;max-width:320px;flex-direction:column;align-items:stretch;gap:.6rem;background:var(--surface);border-left:1px solid var(--border);padding:6rem 1.5rem 2rem;transform:translateX(101%);transition:transform .22s ease;z-index:60;overflow-y:auto;}
  .nav.active{transform:translateX(0);}
  .menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:opacity .2s;z-index:55;}
  .menu-overlay.active{opacity:1;visibility:visible;}
  body.menu-open{overflow:hidden;}
  .nav-link{background:var(--surface-alt);padding:.7rem 1rem;}
}

.video-card{cursor:pointer;}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

.faq-answer{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .3s ease;}
.faq-item.active .faq-icon{transform:rotate(45deg);}
.faq-icon{transition:transform .2s ease;}
.back-to-top{opacity:0;visibility:hidden;transition:opacity .25s,transform .25s;}
.back-to-top.visible{opacity:1;visibility:visible;}
header.scrolled{box-shadow:0 8px 24px -16px rgba(0,0,0,.4);}
@media print{header,footer,.no-print{display:none;}}