:root {
  --bb: #0d0d0f;
  --bs: #141416;
  --bsh: #1c1c21;
  --bbd: rgba(255,255,255,.07);
  --bm: rgba(255,255,255,.42);
  --bt: rgba(255,255,255,.88);
  --ba: #5E0ED7;
  --bgt: rgba(255,255,255,.06);
  --bgtt: rgba(255,255,255,.45);
}
body { background: var(--bb); color: var(--bt); font-family: Inter, sans-serif; }
body:not(.loading) #site-header.loading-hidden { opacity: 1 !important; visibility: visible !important; }
.site-header.scrolled .nav-container { height: 90px; }

/* HERO */
.bl-hero {
  position: relative; overflow: hidden;
  padding: 200px 0 110px;
  border-bottom: 1px solid var(--bbd);
  min-height: 560px; display: flex; align-items: center;
}
.bl-hero-video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  z-index: 0; opacity: 1; pointer-events: none;
}
.bl-hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: rgba(13,13,15,.45); pointer-events: none;
}
.bl-hero > .container { position: relative; z-index: 2; width: 100%; }
.bl-hero-inner { display: grid; grid-template-columns: 1fr 320px; gap: 5rem; align-items: flex-end; }
.bl-eyebrow {
  display: inline-flex; align-items: center; gap: .6rem;
  font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
  color: var(--ba); margin-bottom: 1.75rem;
}
.bl-eyebrow::before { content:''; display:block; width:20px; height:1.5px; background:var(--ba); border-radius:2px; }
.bl-h1 {
  font-size: clamp(3.2rem, 6.5vw, 6rem); font-weight: 800; line-height: .93;
  letter-spacing: -.045em; text-transform: uppercase; color: #fff; margin-bottom: 1.75rem;
}
.bl-h1 .word-line { display: block; overflow: hidden; line-height: inherit; padding-bottom: .05em; }
.bl-h1 .word-inner { display: block; will-change: transform; }
.bl-desc { font-size: clamp(.9rem, 1.1vw, 1.05rem); color: var(--bm); max-width: 500px; line-height: 1.8; }
.bl-stats { display: flex; flex-direction: column; gap: .6rem; }
.bl-stat {
  display: flex; align-items: center; justify-content: space-between; gap: 2rem;
  padding: .9rem 1.25rem;
  background: rgba(20,20,22,.7); border: 1px solid rgba(255,255,255,.1);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  font-size: .78rem; font-weight: 600; color: var(--bt); letter-spacing: .03em;
}
.bl-stat-num { font-size: 1.1rem; font-weight: 800; color: #fff; }

/* ARTICLE STACK */
.bl-stack-section { padding: 6rem 0 9rem; background: var(--bb); position: relative; }
.bl-section-label { font-size: .62rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--bm); margin-bottom: 1.5rem; display: flex; align-items: center; gap: .75rem; }
.bl-section-label::after { content:''; flex:1; height:1px; background:var(--bbd); }
.blog-stack { width: min(80vw, 1180px); height: 70vh; margin: 0 auto; position: relative; z-index: 2; }
.blog-stack-card { position: absolute; inset: 0; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1.5rem, 4vw, 3.5rem); color: #fff; text-decoration: none; background: var(--bs) var(--card-image) center / cover no-repeat; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; box-shadow: 0 30px 80px rgba(0,0,0,.35); transition: border-color .3s, box-shadow .3s, transform .3s; }
.blog-stack-card__wash { position: absolute; inset: 0; z-index: -1; background: linear-gradient(120deg, rgba(8,8,11,.95) 0%, rgba(8,8,11,.68) 52%, rgba(8,8,11,.34) 100%), linear-gradient(0deg, rgba(8,8,11,.8), transparent 60%); transition: background .35s; }
.blog-stack-card:hover { border-color: rgb(244,245,244); box-shadow: 0 35px 90px rgba(0,0,0,.5); }
.blog-stack-card:hover .blog-stack-card__wash { background: linear-gradient(120deg, rgba(8,8,11,.9) 0%, rgba(8,8,11,.54) 52%, rgba(8,8,11,.22) 100%), linear-gradient(0deg, rgba(8,8,11,.7), transparent 60%); }
.blog-stack-card::before { content:''; position:absolute; inset:0; z-index:-2; background:inherit; transition: transform .7s cubic-bezier(.16,1,.3,1); }
.blog-stack-card:hover::before { transform: scale(1.04); }
.blog-stack-card__top, .blog-stack-card__meta { display:flex; align-items:center; gap:1rem; font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.68); }
.blog-stack-card__index { color:var(--ba); }
.blog-stack-card__content { display:flex; flex-direction:column; gap:1.25rem; max-width:760px; }
.blog-stack-card__title { font-size:clamp(2rem,4.8vw,5rem); font-weight:800; line-height:.98; letter-spacing:-.045em; text-transform:uppercase; }
.blog-stack-card__description { max-width:620px; font-size:clamp(.92rem,1.25vw,1.1rem); line-height:1.7; color:rgba(255,255,255,.7); }
.blog-stack-card__meta { justify-content:flex-start; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,.2); }
.blog-stack-card__cta { color:#fff; margin-left:auto; }
.blog-stack-card:focus-visible { outline:2px solid rgba(255,255,255,.8); outline-offset:5px; }
.blog-stack-card[hidden] { display:none; }

/* NEWSLETTER */
.bl-newsletter { background: var(--bs); border-top: 1px solid var(--bbd); border-bottom: 1px solid var(--bbd); padding: 5rem 0; }
.bl-nl-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.nl-eyebrow { font-size: .62rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--ba); margin-bottom: .6rem; }
.nl-heading { font-size: 1.6rem; font-weight: 800; color: #fff; letter-spacing: -.025em; margin-bottom: .6rem; }
.nl-text { font-size: .9rem; color: var(--bm); line-height: 1.7; }
.nl-form { display: flex; gap: .6rem; }
.nl-input { flex: 1; background: var(--bb); border: 1px solid var(--bbd); color: #fff; padding: .9rem 1.15rem; font-size: .9rem; font-family: Inter,sans-serif; outline: none; border-radius: 4px; transition: border-color .2s; }
.nl-input::placeholder { color: var(--bm); }
.nl-input:focus { border-color: rgba(94,14,215,.5); }
.nl-btn { background: var(--ba); color: #fff; border: none; padding: .9rem 1.75rem; font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; border-radius: 4px; font-family: Inter,sans-serif; transition: background .2s, transform .15s; white-space: nowrap; }
.nl-btn:hover { background: #7a2ef0; transform: translateY(-1px); }

/* Footer 4-col override */
.site-footer .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; }

/* RESPONSIVE */
@media(max-width:1024px){ .bl-hero-inner{grid-template-columns:1fr;gap:3rem;} .bl-stats{flex-direction:row;flex-wrap:wrap;} .bl-stat{flex:1;min-width:140px;} }
@media(max-width:1100px){ .blog-stack{width:min(88vw,720px);} }
@media(max-width:900px){ .bl-hero{padding:160px 0 80px;} .blog-stack{height:64vh;} .bl-nl-inner{grid-template-columns:1fr;gap:2.5rem;} }
@media(max-width:600px){ .bl-hero{padding:130px 0 60px;} .bl-stack-section{padding-top:3rem;} .blog-stack{width:calc(100% - 32px);height:65vh;} .blog-stack-card{padding:1.35rem;} .blog-stack-card__title{font-size:clamp(1.8rem,10vw,3rem);} .blog-stack-card__meta{flex-wrap:wrap;gap:.65rem;} .blog-stack-card__cta{width:100%;margin-left:0;} .nl-form{flex-direction:column;} }
