:root{
  --bg:#0B1220;
  --card:#121B2E;
  --card-hi:#182541;
  --line:#243252;
  --gold:#E8B94D;
  --gold-soft:rgba(232,185,77,0.16);
  --teal:#5EEAD4;
  --teal-soft:rgba(94,234,212,0.14);
  --text:#EAEDF5;
  --muted:#8B93A7;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);}
body{
  font-family:'Inter',sans-serif;
  color:var(--text);
  min-height:100vh;
}
a{color:var(--teal);text-decoration:none;}
a:hover{text-decoration:underline;}
.site-wrap{max-width:920px;margin:0 auto;padding:0 20px;}

/* header nav shared across content pages */
.site-header{
  border-bottom:1px solid var(--line);
  padding:22px 0;
}
.site-header .site-wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.site-header .brand{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:19px;
  color:var(--text);
}
.site-header .brand em{font-style:italic;color:var(--gold);}
.site-header nav{display:flex;gap:22px;flex-wrap:wrap;}
.site-header nav a{
  color:var(--muted);
  font-size:14px;
  font-weight:500;
}
.site-header nav a:hover{color:var(--text);text-decoration:none;}
.site-header nav a.current{color:var(--gold);}

/* footer shared */
.site-footer{
  border-top:1px solid var(--line);
  margin-top:64px;
  padding:32px 0 48px;
}
.site-footer .site-wrap{display:flex;flex-direction:column;gap:16px;}
.site-footer .legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
}
.site-footer .legal-links a{color:var(--muted);}
.site-footer .legal-links a:hover{color:var(--teal);text-decoration:none;}
.site-footer .copy{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--muted);
  opacity:.7;
}

/* generic page/article content */
main.page{padding:48px 0 32px;}
main.page h1{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:clamp(30px,4.5vw,44px);
  line-height:1.08;
  margin:0 0 18px;
  letter-spacing:-0.01em;
}
main.page .eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:14px;
}
main.page .lede{
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
  max-width:640px;
  margin-bottom:36px;
}
main.page h2{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:22px;
  margin:36px 0 12px;
}
main.page h3{
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size:16px;
  margin:24px 0 8px;
  color:var(--text);
}
main.page p{
  color:#C7CCDA;
  font-size:15px;
  line-height:1.8;
  max-width:680px;
  margin:0 0 16px;
}
main.page ul, main.page ol{
  color:#C7CCDA;
  font-size:15px;
  line-height:1.8;
  max-width:680px;
  padding-left:22px;
  margin:0 0 16px;
}
main.page li{margin-bottom:6px;}
main.page .updated{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--muted);
  margin-bottom:8px;
  display:block;
}

/* CTA box */
.cta-box{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:26px 28px;
  margin:36px 0;
}
.cta-box h3{margin-top:0;}
.cta-box p{margin-bottom:18px;}
.btn-gold{
  display:inline-block;
  background:var(--gold);
  color:#1A1305;
  font-weight:600;
  font-size:14px;
  padding:12px 20px;
  border-radius:10px;
  text-decoration:none;
}
.btn-gold:hover{opacity:.9;text-decoration:none;}

/* blog listing */
.blog-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  margin-top:8px;
}
.blog-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:24px 26px;
  transition:border-color .15s;
}
.blog-card:hover{border-color:var(--teal);}
.blog-card .tag{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--teal);
  display:block;
  margin-bottom:10px;
}
.blog-card h2{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:20px;
  margin:0 0 10px;
}
.blog-card h2 a{color:var(--text);}
.blog-card h2 a:hover{color:var(--teal);text-decoration:none;}
.blog-card p{color:var(--muted);font-size:14px;line-height:1.65;margin:0;max-width:none;}

.related-posts{
  margin-top:44px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.related-posts h3{margin-top:0;}
.related-posts ul{list-style:none;padding:0;}
.related-posts li{margin-bottom:10px;}

/* cookie consent banner */
#cookie-banner{
  position:fixed;
  left:16px; right:16px; bottom:16px;
  max-width:640px;
  margin:0 auto;
  background:var(--card-hi);
  border:1px solid var(--line);
  border-radius:14px;
  padding:18px 20px;
  display:none;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  z-index:999;
  box-shadow:0 12px 32px rgba(0,0,0,0.4);
}
#cookie-banner.show{display:flex;}
#cookie-banner p{
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
  margin:0;
  flex:1;
  min-width:220px;
}
#cookie-banner p a{color:var(--teal);}
#cookie-banner .cb-actions{display:flex;gap:10px;}
#cookie-banner button{
  font-family:'Inter',sans-serif;
  font-size:13px;
  font-weight:600;
  padding:9px 16px;
  border-radius:8px;
  cursor:pointer;
  border:1px solid var(--line);
  background:transparent;
  color:var(--text);
}
#cookie-banner button.accept{
  background:var(--gold);
  color:#1A1305;
  border:none;
}

@media (max-width:600px){
  .site-header nav{gap:14px;}
  main.page{padding:36px 0 24px;}
}

@media (prefers-reduced-motion: reduce){
  *{transition:none !important;}
}
