/* Blitz Global Journal: editorial stylesheet, independent of the main site.css */

:root{
  --paper:#FBFAF6;
  --paper-raised:#F4F1E8;
  --ink:#20201C;
  --ink-soft:#514E45;
  --ink-faint:#8B8778;
  --rule:#DEDACB;
  --accent:#1B5E8C;
  --accent-soft:#E7EEF2;
  --disclosure-bg:#F1E9D8;
  --disclosure-border:#D8C79E;
  --serif:Charter,"Iowan Old Style","Georgia Pro",Georgia,"Times New Roman",serif;
  --display:"Space Grotesk",var(--serif);
  --measure:68ch;
}

*{box-sizing:border-box}
html{background:var(--paper)}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--serif);
  font-size:1.08rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent)}
a:hover{color:var(--ink)}
img{max-width:100%}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:100}
.skip-link:focus{left:12px;top:12px}

.wrap{max-width:920px;margin:0 auto;padding:0 24px}

/* ---------- Disclosure banner ---------- */
.disclosure{
  background:var(--disclosure-bg);
  border-bottom:1px solid var(--disclosure-border);
  font-family:var(--display), sans-serif;
  font-size:.86rem;
  line-height:1.5;
  color:#5B4A26;
  padding:10px 24px;
  text-align:center;
}
.disclosure .wrap{max-width:920px;padding:0}

/* ---------- Masthead ---------- */
.masthead{
  padding:44px 0 28px;
  border-bottom:3px solid var(--ink);
  text-align:center;
}
.masthead .kicker{
  display:block;
  font-family:var(--display), sans-serif;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
  color:var(--ink-faint);
  margin-bottom:10px;
}
.masthead h1{
  margin:0;
  font-family:var(--display), var(--serif);
  font-weight:700;
  font-size:clamp(2.1rem, 1.6rem + 2vw, 3.2rem);
  letter-spacing:-.01em;
}
.masthead .tagline{
  margin:10px 0 0;
  color:var(--ink-soft);
  font-style:italic;
  font-size:1rem;
}
.masthead nav{margin-top:18px;font-family:var(--display), sans-serif;font-size:.82rem;letter-spacing:.02em}
.masthead nav a{margin:0 12px;color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent}
.masthead nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}

/* ---------- Layout ---------- */
main{padding:40px 0 80px}
.journal-grid{display:grid;grid-template-columns:1fr 280px;gap:56px;align-items:start;max-width:920px;margin:0 auto;padding:0 24px}

/* ---------- Post list (index) ---------- */
.post-list{display:flex;flex-direction:column}
.post-item{padding:28px 0;border-bottom:1px solid var(--rule)}
.post-item:first-child{padding-top:0}
.post-item .meta{font-family:var(--display), sans-serif;font-size:.78rem;letter-spacing:.04em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:8px}
.post-item h2{margin:0 0 8px;font-size:1.55rem;line-height:1.25}
.post-item h2 a{color:var(--ink);text-decoration:none}
.post-item h2 a:hover{color:var(--accent)}
.post-item .dek{margin:0;color:var(--ink-soft)}

.sidebar-note{
  background:var(--paper-raised);
  border:1px solid var(--rule);
  border-radius:2px;
  padding:22px;
  font-size:.92rem;
  color:var(--ink-soft);
}
.sidebar-note h3{
  margin:0 0 10px;
  font-family:var(--display), sans-serif;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ink);
}
.sidebar-note p{margin:0 0 12px}
.sidebar-note p:last-child{margin-bottom:0}

/* ---------- Article ---------- */
article.post{max-width:var(--measure);margin:0 auto;padding:0 24px}
article.post header{margin-bottom:32px}
article.post h1{
  font-family:var(--display), var(--serif);
  font-weight:700;
  font-size:clamp(1.9rem, 1.5rem + 1.6vw, 2.7rem);
  line-height:1.15;
  margin:0 0 14px;
}
article.post .byline{
  font-family:var(--display), sans-serif;
  font-size:.8rem;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--ink-faint);
}
article.post .dek{font-size:1.15rem;color:var(--ink-soft);font-style:italic;margin:14px 0 0}
article.post h2{font-size:1.4rem;margin:2.2em 0 .6em;border-top:1px solid var(--rule);padding-top:.9em}
article.post h3{font-size:1.15rem;margin:1.8em 0 .5em}
article.post p{margin:0 0 1.15em}
article.post ul,article.post ol{margin:0 0 1.15em;padding-left:1.4em}
article.post li{margin-bottom:.4em}
article.post blockquote{
  margin:1.6em 0;
  padding:.2em 0 .2em 1.2em;
  border-left:3px solid var(--accent);
  color:var(--ink-soft);
  font-style:italic;
}
article.post .comparison{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.95rem}
article.post .comparison th,article.post .comparison td{border:1px solid var(--rule);padding:10px 12px;text-align:left;vertical-align:top}
article.post .comparison th{background:var(--paper-raised);font-family:var(--display), sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}
article.post .fine-print{
  margin-top:2.4em;
  padding-top:1.2em;
  border-top:1px solid var(--rule);
  font-size:.86rem;
  color:var(--ink-faint);
}
.back-link{display:inline-block;margin-top:2.4em;font-family:var(--display), sans-serif;font-size:.88rem}

/* ---------- Subscribe block ---------- */
.subscribe-block{
  margin-top:8px;
  padding:44px 0;
  border-top:3px solid var(--ink);
  border-bottom:1px solid var(--rule);
  background:var(--paper-raised);
}
.subscribe-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.subscribe-copy .kicker{
  display:block;
  font-family:var(--display), sans-serif;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
  color:var(--ink-faint);
  margin-bottom:10px;
}
.subscribe-copy h2{
  font-family:var(--display), var(--serif);
  font-weight:700;
  font-size:1.6rem;
  margin:0 0 10px;
}
.subscribe-copy p{color:var(--ink-soft);margin:0;max-width:34em}
#subscribe-form{background:var(--paper);border:1px solid var(--rule);border-radius:2px;padding:26px}
#subscribe-form .field{margin-bottom:14px}
#subscribe-form label{
  display:block;
  font-family:var(--display), sans-serif;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.03em;
  color:var(--ink);
  margin-bottom:6px;
}
#subscribe-form input{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--rule);
  border-radius:2px;
  font:inherit;
  font-size:.92rem;
  color:var(--ink);
  background:#fff;
  transition:border-color .15s;
}
#subscribe-form input:focus{outline:none;border-color:var(--accent)}
#subscribe-form .cf-turnstile{margin:6px 0 14px}
.sub-btn{
  display:inline-block;
  background:var(--ink);
  color:var(--paper);
  font-family:var(--display), sans-serif;
  font-weight:700;
  font-size:.86rem;
  letter-spacing:.02em;
  padding:11px 22px;
  border:none;
  border-radius:2px;
  cursor:pointer;
  transition:background .15s;
}
.sub-btn:hover{background:var(--accent)}
#subscribe-status{
  font-family:var(--display), sans-serif;
  font-size:.82rem;
  margin-top:12px;
  display:none;
  padding:10px 12px;
  border-radius:2px;
}
#subscribe-status.ok{display:block;background:#E4F0E7;color:#1F6B3A}
#subscribe-status.err{display:block;background:#F6E3DF;color:#A23B24}

.subscribe-pointer{
  display:inline-block;
  margin-top:1.6em;
  margin-left:1.4em;
  font-family:var(--display), sans-serif;
  font-size:.88rem;
}

/* ---------- Footer ---------- */
footer.journal-foot{
  border-top:3px solid var(--ink);
  padding:28px 0;
  margin-top:40px;
}
footer.journal-foot .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
footer.journal-foot .foot-brand{display:flex;align-items:center;gap:10px}
footer.journal-foot .logo-anim{height:22px;width:22px;flex-shrink:0}
footer.journal-foot .foot-brand span{font-family:var(--display), sans-serif;font-size:.82rem;letter-spacing:.04em;color:var(--ink-soft)}
footer.journal-foot .foot-links{font-family:var(--display), sans-serif;font-size:.8rem}
footer.journal-foot .foot-links a{margin-left:16px;color:var(--ink-soft);text-decoration:none}
footer.journal-foot .foot-links a:hover{color:var(--ink)}

.logo-anim .meridian{transform-box:view-box;transform-origin:center;animation:globeSpin 6s linear infinite}
.logo-anim .m2{animation-delay:-1.5s}
@keyframes globeSpin{
  0%{transform:scaleX(1)}25%{transform:scaleX(0)}
  50%{transform:scaleX(-1)}75%{transform:scaleX(0)}100%{transform:scaleX(1)}
}
.logo-anim .bolt{transform-box:view-box;transform-origin:center;animation:boltFlash 4s ease-in-out infinite}
@keyframes boltFlash{
  0%,100%{opacity:1}
  8%{opacity:.35}12%{opacity:1}16%{opacity:.6}
  20%,72%{opacity:1}78%{opacity:1}
}

@media (prefers-reduced-motion:reduce){
  .logo-anim .meridian,.logo-anim .bolt{animation:none}
}

/* ---------- Responsive ---------- */
@media (max-width:760px){
  .journal-grid{grid-template-columns:1fr;gap:32px}
  .masthead nav a{margin:0 8px}
  footer.journal-foot .wrap{flex-direction:column;align-items:flex-start}
  .subscribe-inner{grid-template-columns:1fr;gap:28px}
}
