
:root{
  --vc-bg:#f7f9fc;
  --vc-bg-soft:#fbfdff;
  --vc-card:#ffffff;
  --vc-text:#111827;
  --vc-muted:#64748b;
  --vc-border:#e2e8f0;
  --vc-indigo:#4f46e5;
  --vc-blue:#2563eb;
  --vc-violet:#7c3aed;
  --vc-cyan:#06b6d4;
  --vc-green:#16a34a;
  --vc-orange:#f59e0b;
  --vc-rose:#f43f5e;
  --vc-shadow:0 10px 35px rgba(15,23,42,.07);
  --vc-shadow-lg:0 22px 60px rgba(15,23,42,.11);
  --vc-radius:22px;
  --vc-max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{margin:0;color:var(--vc-text);background:var(--vc-bg);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:100%;overflow-x:hidden}
body.theme-dark{
  --vc-bg:#070b16;--vc-bg-soft:#0b1220;--vc-card:#0f172a;--vc-text:#f8fafc;--vc-muted:#94a3b8;--vc-border:#26344b;
}
body.theme-neon{
  --vc-bg:#040711;--vc-bg-soft:#071022;--vc-card:#0a1223;--vc-text:#f8fafc;--vc-muted:#a5b4fc;--vc-border:#203759;
}
a{color:inherit}
.vc-container{width:min(var(--vc-max),calc(100% - 28px));margin-inline:auto}
.vc-surface{background:var(--vc-card);border:1px solid var(--vc-border);border-radius:var(--vc-radius);box-shadow:var(--vc-shadow)}
.vc-kicker{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:800;font-size:12px}
body.theme-dark .vc-kicker,body.theme-neon .vc-kicker{background:#172554;color:#c7d2fe}
.vc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:10px 15px;border-radius:13px;border:1px solid var(--vc-border);background:var(--vc-card);font-weight:800;text-decoration:none;color:var(--vc-text);cursor:pointer;transition:.18s ease}
.vc-btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(15,23,42,.08)}
.vc-btn-primary{border-color:transparent;color:#fff;background:linear-gradient(135deg,#2563eb,#4f46e5 55%,#7c3aed)}
.vc-btn-soft{background:#f8fafc}
body.theme-dark .vc-btn-soft,body.theme-neon .vc-btn-soft{background:#111c30}
.vc-gradient-text{background:linear-gradient(100deg,#2563eb,#4f46e5,#9333ea);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Header */
.vc-header-wrap{position:fixed;top:0;left:0;right:0;width:100%;z-index:1200;background:rgba(247,249,252,.84);border-bottom:1px solid rgba(226,232,240,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.theme-dark .vc-header-wrap,body.theme-neon .vc-header-wrap{background:rgba(7,11,22,.84);border-bottom-color:#1e293b}
.vc-header{min-height:72px;display:flex;align-items:center;gap:18px;justify-content:space-between}
.vc-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:210px}
.vc-brand img{width:46px;height:46px;display:block;filter:drop-shadow(0 8px 13px rgba(79,70,229,.18))}
.vc-brand-copy{line-height:1.1}
.vc-brand-name{font-family:Poppins,Inter,sans-serif;font-weight:800;font-size:18px;letter-spacing:-.02em}
.vc-brand-tag{margin-top:4px;font-size:11px;color:var(--vc-muted);font-weight:600}
.vc-main-nav{display:flex;align-items:center;justify-content:center;gap:4px;flex:1}
.vc-nav-link{padding:9px 11px;border-radius:11px;text-decoration:none;font-size:13px;font-weight:800;color:#334155;white-space:nowrap}
.vc-nav-link:hover,.vc-nav-link.active{background:#fff;color:#4338ca;box-shadow:0 4px 14px rgba(15,23,42,.06)}
body.theme-dark .vc-nav-link,body.theme-neon .vc-nav-link{color:#cbd5e1}
body.theme-dark .vc-nav-link:hover,body.theme-neon .vc-nav-link:hover{background:#111827}
.vc-header-actions{display:flex;align-items:center;gap:7px}
.vc-user-avatar{width:40px;height:40px;border-radius:13px;overflow:hidden;background:linear-gradient(135deg,#22d3ee,#4f46e5,#9333ea);color:#fff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900}
.vc-user-avatar img{width:100%;height:100%;object-fit:cover}
.vc-menu-btn{display:none;width:42px;height:42px;border:1px solid var(--vc-border);border-radius:12px;background:var(--vc-card);font-size:20px;color:var(--vc-text);cursor:pointer}
.vc-more{position:relative}
.vc-more-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;background:var(--vc-card);border:1px solid var(--vc-border);border-radius:15px;box-shadow:var(--vc-shadow-lg);padding:7px;display:none}
.vc-more.open .vc-more-menu{display:grid}
.vc-more-menu a{padding:10px 11px;border-radius:10px;text-decoration:none;font-weight:700;font-size:13px}
.vc-more-menu a:hover{background:var(--vc-bg-soft)}

/* Footer */
.vc-footer{margin-top:52px;background:#0f172a;color:#e5e7eb}
.vc-footer-inner{padding:46px 0 26px}
.vc-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:34px}
.vc-footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.vc-footer-logo img{width:48px;height:48px}
.vc-footer-title{font-family:Poppins;font-size:18px;font-weight:800;color:#fff}
.vc-footer p{color:#94a3b8;line-height:1.7;font-size:13px;max-width:380px}
.vc-footer h4{font-size:13px;color:#fff;margin:0 0 13px}
.vc-footer-links{display:grid;gap:9px}
.vc-footer-links a{text-decoration:none;color:#cbd5e1;font-size:13px}
.vc-footer-links a:hover{color:#fff}
.vc-footer-bottom{margin-top:34px;padding-top:20px;border-top:1px solid #273449;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#94a3b8;font-size:12px}
.vc-social{display:flex;gap:9px}.vc-social a{color:#fff;text-decoration:none}
.vc-mobile-nav{display:none}

/* Shared article/home utility */
.vc-section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:15px}
.vc-section-head h2{font-family:Poppins;font-size:24px;letter-spacing:-.03em;margin:0}
.vc-section-head p{color:var(--vc-muted);font-size:13px;margin:5px 0 0}
.vc-section-link{font-weight:800;color:#4338ca;text-decoration:none;font-size:13px}
.vc-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:800}
body.theme-dark .vc-chip,body.theme-neon .vc-chip{background:#172033;color:#cbd5e1}

@media(max-width:1020px){
  .vc-main-nav{display:none}
  .vc-menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .vc-header-actions .vc-login-link{display:none}
  .vc-brand{min-width:0}
  .vc-header{min-height:66px}
  .vc-header.vc-open .vc-main-nav{
    display:grid;position:absolute;left:14px;right:14px;top:72px;background:var(--vc-card);border:1px solid var(--vc-border);border-radius:18px;padding:9px;box-shadow:var(--vc-shadow-lg)
  }
  .vc-header.vc-open .vc-main-nav .vc-nav-link{padding:12px}
}
@media(max-width:720px){
  body{padding-bottom:70px}
  .vc-container{width:min(100% - 20px,var(--vc-max))}
  .vc-brand-tag{display:none}
  .vc-brand-name{font-size:16px}
  .vc-brand img{width:42px;height:42px}
  .vc-header-actions .vc-signup-link{display:none}
  .vc-more{display:none}
  .vc-footer-grid{grid-template-columns:1fr 1fr}
  .vc-footer-brand-col{grid-column:1/-1}
  .vc-footer{margin-top:36px}
  .vc-mobile-nav{display:grid;position:fixed;left:8px;right:8px;bottom:8px;z-index:1200;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.94);border:1px solid #dbe4ef;border-radius:18px;box-shadow:0 12px 35px rgba(15,23,42,.18);backdrop-filter:blur(16px);overflow:hidden}
  body.theme-dark .vc-mobile-nav,body.theme-neon .vc-mobile-nav{background:rgba(15,23,42,.95);border-color:#273449}
  .vc-mobile-nav a{display:grid;place-items:center;gap:3px;padding:9px 3px;text-decoration:none;font-size:10px;font-weight:800;color:#64748b}
  .vc-mobile-nav a b{font-size:18px;line-height:1}
}
@media(max-width:480px){
  .vc-footer-grid{grid-template-columns:1fr}
  .vc-footer-brand-col{grid-column:auto}
}


/* =========================================================
   Phase 4.5.3 — Truly Fixed Global Header
   ========================================================= */
:root{
  --vc-header-height:72px;
}

body{
  padding-top:var(--vc-header-height);
}

.vc-header-wrap{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:1200 !important;
  background:rgba(247,249,252,.94) !important;
  border-bottom:1px solid rgba(226,232,240,.95) !important;
  box-shadow:0 6px 22px rgba(15,23,42,.055);
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
}

body.theme-dark .vc-header-wrap,
body.theme-neon .vc-header-wrap{
  background:rgba(7,11,22,.94) !important;
  border-bottom-color:#1e293b !important;
}

.vc-header{
  height:var(--vc-header-height);
  min-height:var(--vc-header-height);
}

/*
 * Some old page styles still target the HTML <header> element.
 * These declarations make the shared Vitorr header resistant
 * to those page-local rules.
 */
.vc-header-wrap > .vc-header{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

@media(max-width:1020px){
  :root{
    --vc-header-height:66px;
  }

  .vc-header{
    height:var(--vc-header-height);
    min-height:var(--vc-header-height);
  }

  .vc-header.vc-open .vc-main-nav{
    top:calc(var(--vc-header-height) + 6px);
  }
}

@media(max-width:720px){
  /*
   * vitorr-ui.css already gives mobile pages bottom-nav space.
   * Preserve that while also reserving the fixed header.
   */
  body{
    padding-top:var(--vc-header-height);
    padding-bottom:70px;
  }
}




/* Phase 4.5.5 — allow desktop fixed article sidebar */
.vc-article-page,
.vc-article-layout{
  overflow:visible !important;
}


/* Phase 5.2 — selected-text AI tools */
::selection{
  background:rgba(99,102,241,.22);
}
