/* ══════════════════════════════════════════════════════════════
   NEXORA JOURNAL — shared blog styles (index + article pages)
   Matches the main site design tokens. Dark by default, light-aware.
════════════════════════════════════════════════════════════════ */
:root{
  --nb:#017BCB; --nb3:#4AAEE8;
  --g6:#7DC42A; --g7:#9ED44C;
  --d0:#040810; --d1:#070D18; --d2:#0C1422;
  --tw:#F2F4F8; --t2:#B8C4D4; --t3:#7A8A9C;
  --gold2:#E8C86A;
  --line:rgba(255,255,255,.10);
  --card:#0A1120;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Sora',system-ui,sans-serif;
  --body:'DM Sans',system-ui,sans-serif;
  --r18:18px; --r24:24px;
}
[data-theme="light"]{
  --d0:#F6F8FC; --d1:#FFFFFF; --d2:#EEF2F8;
  --tw:#0C1626; --t2:#3C4A5C; --t3:#6B7A8C;
  --line:rgba(10,20,36,.12);
  --card:#FFFFFF;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{
  background:var(--d0);color:var(--tw);
  font-family:var(--body);font-weight:300;line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1160px;margin:0 auto;padding:0 1.4rem}

/* ── NAV ─────────────────────────────────────────────── */
.bnav{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;padding:.9rem 1.4rem;
  background:color-mix(in srgb,var(--d0) 82%,transparent);
  backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);
  border-bottom:1px solid var(--line);
}
.bnav-logo{display:flex;align-items:center;gap:.65rem}
.bnav-logo img{width:34px;height:34px}
.bnav-logo .b-name{font-family:var(--sans);font-weight:700;font-size:.85rem;letter-spacing:.22em}
.bnav-logo .b-sub{font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--t3)}
.bnav-links{display:flex;align-items:center;gap:1.5rem;list-style:none}
.bnav-links a{font-family:var(--sans);font-size:.8rem;font-weight:500;color:var(--t2);transition:color .2s}
.bnav-links a:hover,.bnav-links a.active{color:var(--tw)}
.bnav-cta{
  font-family:var(--sans);font-size:.75rem;font-weight:600;
  padding:.6rem 1.3rem;border-radius:999px;
  background:var(--g6);color:#04210A;
}
.bnav-cta:hover{background:var(--g7)}

/* ── INDEX HERO ──────────────────────────────────────── */
.jhero{padding:4.5rem 0 2.5rem;text-align:center}
.eyebrow{
  font-family:var(--sans);font-size:.64rem;font-weight:600;letter-spacing:.26em;
  text-transform:uppercase;color:var(--g6);margin-bottom:1rem;
}
.jhero h1{
  font-family:var(--serif);font-weight:700;font-size:clamp(2.3rem,6vw,3.6rem);
  line-height:1.08;max-width:14ch;margin:0 auto .9rem;
}
.jhero h1 em{font-style:italic;font-weight:400;color:var(--g7)}
.jhero p{color:var(--t2);font-size:1.02rem;max-width:52ch;margin:0 auto}

/* ── POST GRID ───────────────────────────────────────── */
.post-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  padding:2rem 0 4rem;
}
.pcard{
  display:flex;flex-direction:column;border-radius:var(--r18);overflow:hidden;
  background:var(--card);border:1px solid var(--line);
  transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s;
}
.pcard:hover{transform:translateY(-6px);border-color:rgba(125,196,42,.35)}
.pcard-img{aspect-ratio:16/10;overflow:hidden}
.pcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pcard:hover .pcard-img img{transform:scale(1.05)}
.pcard-body{padding:1.4rem 1.4rem 1.6rem;display:flex;flex-direction:column;flex:1}
.pcat{
  font-family:var(--sans);font-size:.6rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--g6);margin-bottom:.7rem;
}
.pcard-body h3{font-family:var(--serif);font-weight:500;font-size:1.32rem;line-height:1.22;margin-bottom:.6rem}
.pcard-body p{color:var(--t2);font-size:.9rem;margin-bottom:1.1rem;flex:1}
.pmeta{font-family:var(--sans);font-size:.7rem;color:var(--t3);display:flex;gap:.6rem;align-items:center}
.pmeta .dot{opacity:.5}
.pread{margin-top:1rem;font-family:var(--sans);font-size:.75rem;font-weight:600;color:var(--g7)}

/* Featured (first card spans full row) */
.pcard.feat{grid-column:1 / -1;flex-direction:row}
.pcard.feat .pcard-img{aspect-ratio:auto;flex:1.15;min-height:340px}
.pcard.feat .pcard-body{flex:1;justify-content:center;padding:2.4rem 2.6rem}
.pcard.feat h3{font-size:2rem}
.pcard.feat p{font-size:1rem}

/* ── ARTICLE ─────────────────────────────────────────── */
.art-hero{position:relative;height:clamp(300px,46vh,480px);overflow:hidden}
.art-hero img{width:100%;height:100%;object-fit:cover}
.art-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--d0) 2%,rgba(4,8,16,.45) 45%,rgba(4,8,16,.2) 100%)}
.article{max-width:720px;margin:0 auto;padding:0 1.4rem}
.art-head{margin-top:-4.5rem;position:relative;z-index:2;margin-bottom:2.4rem}
.art-head .pcat{margin-bottom:.9rem}
.art-head h1{font-family:var(--serif);font-weight:700;font-size:clamp(2rem,5.2vw,3rem);line-height:1.1;margin-bottom:1.1rem}
.art-head h1 em{font-style:italic;font-weight:400;color:var(--g7)}
.art-byline{
  display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;
  font-family:var(--sans);font-size:.78rem;color:var(--t3);
  padding-bottom:1.6rem;border-bottom:1px solid var(--line);
}
.art-byline strong{color:var(--t2);font-weight:600}
.art-byline .dot{opacity:.5}
.art-body{padding:2.2rem 0 1rem}
.art-body p{font-size:1.06rem;color:var(--t2);margin-bottom:1.4rem}
.art-body h2{
  font-family:var(--serif);font-weight:500;font-size:1.6rem;line-height:1.25;
  color:var(--tw);margin:2.4rem 0 1rem;
}
.art-body h3{font-family:var(--sans);font-weight:600;font-size:1.05rem;color:var(--tw);margin:1.8rem 0 .7rem}
.art-body strong{color:var(--tw);font-weight:600}
.art-body ul{list-style:none;margin:.4rem 0 1.5rem}
.art-body li{font-size:1.02rem;color:var(--t2);padding-left:1.5rem;position:relative;margin-bottom:.7rem}
.art-body li::before{content:'—';position:absolute;left:0;color:var(--g6)}
.art-body blockquote{
  margin:2rem 0;padding:1.3rem 1.6rem;border-left:3px solid var(--g6);
  background:var(--d2);border-radius:0 var(--r18) var(--r18) 0;
  font-family:var(--serif);font-style:italic;font-size:1.3rem;line-height:1.4;color:var(--tw);
}
.art-fig{margin:2rem 0}
.art-fig img{border-radius:var(--r18);border:1px solid var(--line)}
.art-fig figcaption{font-family:var(--sans);font-size:.76rem;color:var(--t3);margin-top:.6rem;text-align:center}

/* Lead CTA block (end of article + index) */
.jcta{
  margin:3rem auto 4.5rem;max-width:720px;text-align:center;
  padding:2.6rem 2rem;border-radius:var(--r24);
  background:linear-gradient(135deg,rgba(1,123,203,.14),rgba(125,196,42,.12));
  border:1px solid var(--line);
}
.jcta h2{font-family:var(--serif);font-weight:500;font-size:1.7rem;line-height:1.2;margin-bottom:.7rem}
.jcta h2 em{font-style:italic;color:var(--g7)}
.jcta p{color:var(--t2);font-size:.98rem;max-width:44ch;margin:0 auto 1.5rem}
.jcta-btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.btn-solid{
  font-family:var(--sans);font-size:.82rem;font-weight:600;
  padding:.85rem 1.8rem;border-radius:999px;background:var(--g6);color:#04210A;transition:background .2s;
}
.btn-solid:hover{background:var(--g7)}
.btn-ghost{
  font-family:var(--sans);font-size:.82rem;font-weight:600;
  padding:.85rem 1.8rem;border-radius:999px;border:1px solid var(--line);color:var(--tw);
}
.btn-ghost:hover{border-color:var(--g6)}

/* Related / back */
.art-back{max-width:720px;margin:0 auto 3rem;padding:0 1.4rem}
.art-back a{font-family:var(--sans);font-size:.8rem;font-weight:600;color:var(--g7)}

/* ── FOOTER ──────────────────────────────────────────── */
.bfoot{border-top:1px solid var(--line);padding:2.4rem 0;margin-top:1rem}
.bfoot .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.bfoot .bnav-logo .b-sub{color:var(--t3)}
.bfoot-links{display:flex;gap:1.4rem;list-style:none;flex-wrap:wrap}
.bfoot-links a{font-family:var(--sans);font-size:.78rem;color:var(--t2)}
.bfoot-links a:hover{color:var(--tw)}
.bfoot small{display:block;width:100%;color:var(--t3);font-size:.72rem;margin-top:1.2rem;text-align:center}

/* ── THEME TOGGLE ────────────────────────────────────── */
.theme-btn{
  background:none;border:1px solid var(--line);border-radius:999px;
  width:36px;height:36px;cursor:pointer;color:var(--tw);font-size:.9rem;line-height:1;
}
[data-theme="light"] .t-moon,:root:not([data-theme="light"]) .t-sun{display:none}

/* ── RESPONSIVE ──────────────────────────────────────── */
@media(max-width:860px){
  .post-grid{grid-template-columns:1fr 1fr}
  .pcard.feat{flex-direction:column}
  .pcard.feat .pcard-img{min-height:220px}
  .pcard.feat .pcard-body{padding:1.8rem}
  .pcard.feat h3{font-size:1.6rem}
}
@media(max-width:680px){
  .bnav-links{gap:1rem}
  .bnav-links .hide-sm{display:none}
  .post-grid{grid-template-columns:1fr;gap:1.3rem}
  .jhero{padding:3rem 0 1.5rem}
  .art-head{margin-top:-3rem}
}
@media(max-width:420px){
  .bnav{padding:.8rem .9rem}
  .bnav-links{gap:.7rem}
  .bnav-logo .b-sub{display:none}
  .bnav-cta{padding:.55rem .9rem;font-size:.72rem}
}
