/* ==========================================================================
   Xakal Resources / Content Hub — shared styles
   Reuses the homepage Xakal violet design system. Self-contained tokens so
   these pages render correctly even if loaded independently.
   ========================================================================== */
:root{
  --bg-dark:#180F24; --bg-card:#231535; --bg-light:#FFFFFF; --bg-alt:#F7F4FB;
  --text-on-dark:#FFFFFF; --text-muted-dark:#9B8DB0;
  --text-on-light:#231535; --headline-light:#362A41; --body-light:#4A3E58;
  --border-dark:#3D2857; --border-light:#EFEAF5;
  --brand:#6D28D9; --brand-hover:#5B21B6;
  --violet-300:#C4B5FD; --violet-400:#A78BFA; --violet-500:#8B5CF6; --violet-600:#7C3AED; --violet-700:#6D28D9;
  --shadow-1:0 1px 2px rgba(24,15,36,.06);
  --shadow-2:0 2px 4px rgba(24,15,36,.08);
  --shadow-3:0 8px 16px rgba(24,15,36,.10);
  --shadow-4:0 16px 32px rgba(24,15,36,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--text-on-light);background:var(--bg-light);
  -webkit-font-smoothing:antialiased;line-height:1.6;
}
img{max-width:100%;display:block}
a{color:var(--brand);text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:0 32px}

/* HEADER (mirrors homepage) */
.x-header{background:rgba(24,15,36,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-dark);position:sticky;top:0;z-index:30}
.x-header .row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 32px;max-width:1320px;margin:0 auto}
.x-logo img{height:30px;width:auto}
.x-nav{display:flex;align-items:center;gap:6px}
.x-nav a{color:#E5DDF1;text-decoration:none;font-size:14px;font-weight:500;padding:8px 14px;border-radius:8px;transition:.2s}
.x-nav a:hover,.x-nav a.is-active{background:rgba(255,255,255,.06);color:#fff}
.x-cta-row{display:flex;align-items:center;gap:10px}
.x-cta-row .signin{color:#E5DDF1;text-decoration:none;font-size:14px;font-weight:500;padding:8px 12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;padding:12px 22px;border-radius:12px;border:none;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-hover);transform:translateY(-2px);box-shadow:var(--shadow-3)}

/* BREADCRUMB */
.breadcrumb{font-size:13px;color:var(--text-muted-dark);padding:18px 0 0}
.breadcrumb a{color:var(--violet-400)}
.breadcrumb a:hover{color:var(--brand)}
.breadcrumb span{color:#8A7C9C}

/* HUB HERO */
.hub-hero{background:radial-gradient(900px 460px at 85% -20%,rgba(139,92,246,.16) 0%,transparent 60%),var(--bg-dark);color:#fff;padding:56px 0 64px;position:relative;overflow:hidden}
.hub-hero .eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--violet-400)}
.hub-hero h1{font-size:48px;font-weight:700;line-height:1.08;letter-spacing:-.02em;margin:14px 0 14px}
.hub-hero p{font-size:18px;color:#D6CCE6;max-width:620px}

/* CATEGORY FILTER */
.filter-row{display:flex;flex-wrap:wrap;gap:10px;padding:32px 0 8px}
.chip{font-size:13px;font-weight:600;padding:8px 16px;border-radius:999px;border:1.5px solid var(--border-light);background:#fff;color:var(--headline-light);cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--violet-400);color:var(--brand)}
.chip.is-active{background:var(--brand);border-color:var(--brand);color:#fff}

/* ARTICLE GRID */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:24px 0 8px}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-light);border-radius:18px;overflow:hidden;transition:transform .25s,box-shadow .25s;height:100%}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-4)}
.card a.card-link{display:flex;flex-direction:column;height:100%;color:inherit}
.card-media{aspect-ratio:16/9;width:100%;object-fit:cover;background:var(--bg-alt)}
.card-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-cat{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--violet-600)}
.card h3{font-size:19px;line-height:1.3;font-weight:700;color:var(--headline-light)}
.card p{font-size:14px;color:var(--body-light);flex:1}
.card-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#8A7C9C;margin-top:6px}
.card-meta .dot{width:3px;height:3px;border-radius:50%;background:#C9BEDB}

/* PAGINATION */
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:40px 0 8px}
.pagination a,.pagination span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--border-light);font-size:14px;font-weight:600;color:var(--headline-light)}
.pagination a:hover{border-color:var(--violet-400);color:var(--brand)}
.pagination .is-active{background:var(--brand);border-color:var(--brand);color:#fff}
.pagination .disabled{opacity:.4;pointer-events:none}

/* NEWSLETTER / LEAD STRIP */
.lead-strip{background:var(--bg-alt);border-top:1px solid var(--border-light);margin-top:48px;padding:56px 0}
.lead-strip .inner{max-width:680px;margin:0 auto;text-align:center}
.lead-strip h2{font-size:30px;font-weight:700;color:var(--headline-light);margin-bottom:12px}
.lead-strip p{color:var(--body-light);margin-bottom:24px}

/* ARTICLE PAGE */
.article-wrap{max-width:760px;margin:0 auto;padding:8px 32px 0}
.article-head{padding:28px 0 8px}
.article-head .cat{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--violet-600)}
.article-head h1{font-size:42px;line-height:1.12;font-weight:700;letter-spacing:-.02em;color:var(--headline-light);margin:14px 0 16px}
.article-head .deck{font-size:19px;color:var(--body-light);line-height:1.55}
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;color:#8A7C9C;padding:18px 0;border-bottom:1px solid var(--border-light)}
.article-meta .dot{width:3px;height:3px;border-radius:50%;background:#C9BEDB}
.article-hero-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;margin:28px 0}
.article-body{font-size:17px;line-height:1.75;color:#33283F}
.article-body h2{font-size:28px;font-weight:700;color:var(--headline-light);margin:38px 0 14px;letter-spacing:-.01em}
.article-body h3{font-size:21px;font-weight:700;color:var(--headline-light);margin:28px 0 10px}
.article-body p{margin:0 0 18px}
.article-body ul,.article-body ol{margin:0 0 18px 22px}
.article-body li{margin-bottom:8px}
.article-body a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
.article-body blockquote{border-left:4px solid var(--violet-400);background:var(--bg-alt);padding:16px 22px;border-radius:0 12px 12px 0;margin:24px 0;font-size:18px;color:var(--headline-light)}
.article-body strong{color:var(--headline-light)}
.callout{background:linear-gradient(135deg,#F4EEFF,#FBF8FF);border:1px solid var(--border-light);border-radius:16px;padding:24px;margin:28px 0;text-align:center}
.callout h4{font-size:18px;color:var(--headline-light);margin-bottom:6px}
.callout p{font-size:14px;color:var(--body-light);margin-bottom:16px}

/* CHECKLIST */
.checklist{list-style:none;margin:0 0 18px;padding:0}
.checklist li{position:relative;padding:8px 0 8px 34px;border-bottom:1px solid var(--border-light);margin:0}
.checklist li:last-child{border-bottom:none}
.checklist li::before{content:"";position:absolute;left:0;top:9px;width:20px;height:20px;border-radius:6px;background:#EDE7FB url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236D28D9' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/13px no-repeat}

/* SHARE */
.share-row{display:flex;align-items:center;gap:12px;padding:28px 0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);margin:36px 0}
.share-row span{font-size:13px;font-weight:600;color:#8A7C9C}
.share-row a{width:38px;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-light);color:var(--headline-light);transition:.2s}
.share-row a:hover{border-color:var(--violet-400);color:var(--brand);background:var(--bg-alt)}

/* RELATED */
.related{padding:8px 0 0}
.related h2{font-size:26px;font-weight:700;color:var(--headline-light);margin-bottom:20px}

/* FOOTER */
.x-mini-footer{background:var(--bg-dark);color:#fff;padding:28px 0}
.x-mini-footer .row{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1320px;margin:0 auto;padding:0 32px;flex-wrap:wrap}
.x-mini-footer img{height:26px}
.x-mini-footer .links{display:flex;gap:20px;flex-wrap:wrap}
.x-mini-footer .links a{color:#C9BEDB;font-size:14px}
.x-mini-footer .links a:hover{color:#fff}

/* RESPONSIVE */
@media (max-width:980px){
  .article-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .container{padding:0 20px}
  .x-header .row{padding:14px 20px}
  .x-nav{display:none}
  .x-cta-row .signin{display:none}
  .hub-hero{padding:44px 0 48px}
  .hub-hero h1{font-size:34px}
  .article-head h1{font-size:30px}
  .article-grid{grid-template-columns:1fr}
  .article-wrap{padding:8px 20px 0}
}
