/* NexusLogic blog — shares the v3 "warm studio" design tokens */
:root{
  --bg:#17120d;
  --bg-2:#1d1710;
  --panel:#221b13;
  --panel-2:#2a2117;
  --line:#3c3122;
  --text:#f6efe2;
  --text-dim:#aa9c86;
  --clay:#e8734a;
  --clay-dim:#8a4527;
  --gold:#d4a53d;
  --sage:#8fb98f;
  --radius:16px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
::selection{background:var(--clay);color:#1a0d05;}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:'Inter',sans-serif;font-size:16px;line-height:1.6;
}
.display{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;letter-spacing:-0.02em;margin:0;}
.mono{font-family:'JetBrains Mono',monospace;}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:900px;margin:0 auto;padding:0 24px;}
.wrap-wide{max-width:1160px;margin:0 auto;padding:0 24px;}

/* textured background — same layered approach as the homepage, toned down for reading */
.grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.mesh{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(60% 40% at 12% 8%, rgba(232,115,74,0.14), transparent 60%),
    radial-gradient(50% 40% at 88% 20%, rgba(212,165,61,0.10), transparent 60%),
    radial-gradient(60% 40% at 50% 100%, rgba(143,185,143,0.06), transparent 60%);
}

/* nav */
nav{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 32px;backdrop-filter:blur(14px);background:rgba(23,18,13,0.75);
  border-bottom:1px solid rgba(255,255,255,0.07);
}
@media (max-width:640px){nav{padding:14px 20px;}}
.brand{display:flex;align-items:center;gap:9px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:18px;text-decoration:none;}
.brand .dot{width:8px;height:8px;border-radius:2px;background:var(--clay);box-shadow:0 0 12px var(--clay);transform:rotate(45deg);}
.nav-links{display:flex;gap:26px;font-size:13px;color:var(--text-dim);}
@media (max-width:700px){.nav-links{display:none;}}
.nav-links a{text-decoration:none;}
.nav-links a:hover{color:var(--text);}
.btn{
  font-family:'JetBrains Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.06em;
  padding:11px 18px;border-radius:9px;border:1px solid var(--clay);background:var(--clay);color:#1a0d05;
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;text-decoration:none;
  transition:box-shadow .2s;
}
.btn:hover{box-shadow:0 6px 20px rgba(232,115,74,0.35);}

/* breadcrumb */
.crumbs{position:relative;z-index:2;padding:18px 0 0;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.04em;}
.crumbs a{text-decoration:none;}
.crumbs a:hover{color:var(--clay);}

/* blog index */
.blog-hero{position:relative;z-index:2;padding:70px 0 40px;}
.blog-hero .tag{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--clay);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:14px;}
.blog-hero h1{font-size:clamp(32px,5vw,52px);max-width:760px;}
.blog-hero p{color:var(--text-dim);max-width:560px;margin-top:16px;font-size:16px;}

.post-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px 0 90px;}
@media (max-width:900px){.post-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.post-grid{grid-template-columns:1fr;}}
.post-card{
  background:linear-gradient(165deg, rgba(255,255,255,0.025), transparent 40%), var(--panel);
  border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;text-decoration:none;color:var(--text);
  display:flex;flex-direction:column;gap:12px;transition:border-color .2s, transform .2s;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}
.post-card:hover{border-color:rgba(232,115,74,0.45);transform:translateY(-2px);}
.post-card .cat{font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--clay);}
.post-card h3{font-size:19px;line-height:1.3;}
.post-card p{color:var(--text-dim);font-size:13.5px;line-height:1.55;margin:0;flex:1;}
.post-card .meta{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--text-dim);border-top:1px dashed var(--line);padding-top:12px;margin-top:4px;}
.post-card.feat{grid-column:span 3;display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;padding:34px;}
@media (max-width:900px){.post-card.feat{grid-column:span 2;grid-template-columns:1fr;}}
@media (max-width:640px){.post-card.feat{grid-column:span 1;}}
.post-card.feat .cat{margin-bottom:6px;}
.post-card.feat h3{font-size:28px;}
.post-card.feat .feat-visual{
  aspect-ratio:16/10;border-radius:12px;
  background:linear-gradient(150deg,var(--clay),var(--gold));
  display:flex;align-items:center;justify-content:center;color:#1a0d05;
  font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:15px;text-align:center;padding:20px;
}

/* article */
.article-head{position:relative;z-index:2;padding:36px 0 30px;}
.article-head .cat{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--clay);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:16px;}
.article-head h1{font-size:clamp(30px,4.6vw,48px);line-height:1.1;}
.article-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.04em;}
.article-dek{color:var(--text-dim);font-size:17px;line-height:1.6;margin-top:20px;max-width:720px;}

.article-body{position:relative;z-index:2;padding:10px 0 60px;}
.article-body h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:26px;margin:44px 0 16px;letter-spacing:-0.01em;}
.article-body h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:20px;margin:32px 0 12px;}
.article-body p{font-size:16px;line-height:1.75;color:#e9e1d2;margin:0 0 18px;}
.article-body ul,.article-body ol{font-size:16px;line-height:1.75;color:#e9e1d2;padding-left:22px;margin:0 0 18px;}
.article-body li{margin-bottom:8px;}
.article-body a{color:var(--clay);text-decoration:underline;text-decoration-color:rgba(232,115,74,0.4);text-underline-offset:3px;}
.article-body a:hover{text-decoration-color:var(--clay);}
.article-body strong{color:var(--text);}
.pull{
  border-left:2px solid var(--clay);padding:4px 0 4px 22px;margin:32px 0;
  font-family:'Bricolage Grotesque',sans-serif;font-size:21px;font-weight:500;line-height:1.5;color:var(--text);
}
.callout{
  background:linear-gradient(165deg,#2a1d10,var(--panel) 60%);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 26px;margin:34px 0;
}
.callout .ctag{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--clay);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:10px;}
.callout p{margin-bottom:14px;}
.callout p:last-child{margin-bottom:0;}
.toc{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin:28px 0 40px;
}
.toc .ttag{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--clay);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:12px;}
.toc ol{margin:0;padding-left:20px;font-size:14px;}
.toc li{margin-bottom:7px;}
.toc a{text-decoration:none;color:var(--text-dim);}
.toc a:hover{color:var(--clay);}
.faq{margin-top:10px;}
.faq-item{border-bottom:1px solid var(--line);padding:18px 0;}
.faq-item:first-child{padding-top:0;}
.faq-item h3{margin:0 0 8px;font-size:16.5px;}
.faq-item p{margin:0;font-size:14.5px;color:var(--text-dim);}

.author-strip{display:flex;align-items:center;gap:12px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);}
.author-strip .av{width:38px;height:38px;border-radius:10px;background:linear-gradient(150deg,var(--clay),var(--gold));flex:0 0 auto;}
.author-strip .an{font-size:13.5px;font-weight:600;}
.author-strip .ad{font-size:12px;color:var(--text-dim);}

.related{position:relative;z-index:2;padding:20px 0 90px;border-top:1px solid var(--line);margin-top:40px;}
.related h2{font-size:22px;margin-bottom:22px;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:820px){.related-grid{grid-template-columns:1fr;}}

footer{position:relative;z-index:2;padding:50px 0;border-top:1px solid var(--line);text-align:center;}
.foot-links{display:flex;justify-content:center;gap:30px;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.06em;flex-wrap:wrap;}
.foot-links a{text-decoration:none;}
.foot-links a:hover{color:var(--clay);}
.foot-mark{margin-top:20px;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:#9c8c74;}

footer.wrap-wide{padding-block:48px 40px;}
