/* ======= EWA 2026 — Insight Article Template ======= */
/* Loaded after styles.css. Themed per category via --c. */
.in-page { background: var(--bg); min-height: 100vh; }

/* HERO */
.in-hero {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 0;
  align-items: stretch;
  border-bottom: 1px solid var(--line);
}
.in-hero-inner {
  padding: 150px clamp(24px, 4vw, 72px) 70px;
  display: flex; flex-direction: column;
  align-self: center;
  max-width: 760px;
}
.in-back {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--ink-soft); font-weight: 600; margin-bottom: 30px;
  transition: color 200ms;
}
.in-back:hover { color: var(--ink); }
.in-cat {
  align-self: flex-start;
  font-family: var(--display); font-weight: 700;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: #07060a; background: var(--c, var(--hot-pink));
  padding: 7px 13px; margin-bottom: 24px;
}
.in-title {
  font-family: var(--display); font-weight: 800;
  font-size: clamp(34px, 4.6vw, 68px); line-height: 1.1;
  letter-spacing: -0.018em; text-transform: uppercase; text-wrap: balance;
  padding-bottom: 0.04em;
}
.in-excerpt { margin-top: 22px; font-size: 18px; line-height: 1.5; color: var(--ink-soft); max-width: 52ch; }
.in-byline {
  margin-top: 28px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft);
}
.in-byline .in-author { color: var(--ink); font-weight: 600; }
.in-byline .in-dot { opacity: 0.4; }
.in-hero-img { position: relative; overflow: hidden; min-height: 420px; background: #15101e; }
.in-hero-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.in-hero-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(115deg, color-mix(in srgb, var(--c) 22%, transparent), transparent 60%); }
@media (max-width: 900px) {
  .in-hero { grid-template-columns: 1fr; }
  .in-hero-inner { padding: 140px clamp(20px, 6vw, 40px) 40px; order: 2; }
  .in-hero-img { order: 1; min-height: 280px; }
}

/* BODY */
.in-body {
  max-width: 1100px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 1fr) 320px;
  gap: 56px; align-items: start;
  padding: clamp(56px, 8vh, 100px) clamp(20px, 4vw, 56px) 100px;
}
.in-article { max-width: 720px; }
.in-h2 {
  font-family: var(--display); font-weight: 800;
  font-size: clamp(24px, 2.6vw, 34px); line-height: 1.05;
  text-transform: uppercase; letter-spacing: -0.01em;
  margin: 44px 0 4px; padding-bottom: 0.04em;
}
.in-h2:first-child { margin-top: 0; }
.in-p { font-size: 18px; line-height: 1.72; color: var(--ink-soft); margin-top: 20px; }
.in-article .in-h2 + .in-p { margin-top: 16px; }

.in-share { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 18px; }
.in-share-label { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink-soft); font-weight: 700; }
.in-share-row { display: flex; gap: 8px; }
.in-share-row a { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line-strong); color: var(--ink); transition: background 200ms, color 200ms, border-color 200ms; }
.in-share-row a:hover { background: var(--c); color: #07060a; border-color: var(--c); }

/* CTA aside */
.in-cta { position: sticky; top: 96px; }
.in-cta-card {
  border: 1px solid var(--line);
  background: radial-gradient(ellipse at 100% 0%, color-mix(in srgb, var(--c) 20%, transparent), transparent 55%), rgba(255,255,255,0.02);
  padding: 32px 28px;
}
.in-cta-card h3 { font-family: var(--display); font-weight: 800; font-size: 26px; line-height: 1.1; text-transform: uppercase; letter-spacing: -0.01em; padding-bottom: 0.04em; }
.in-cta-card p { margin: 14px 0 22px; font-size: 14px; line-height: 1.55; color: var(--ink-soft); }
@media (max-width: 900px) {
  .in-body { grid-template-columns: 1fr; gap: 40px; }
  .in-cta { position: static; }
}

/* RELATED */
.in-related { border-top: 1px solid var(--line); padding: clamp(60px, 9vh, 110px) clamp(20px, 4vw, 56px); }
.in-related-inner { max-width: 1360px; margin: 0 auto; }
.in-related-h { font-family: var(--display); font-weight: 800; font-size: clamp(28px, 4vw, 56px); line-height: 1.08; text-transform: uppercase; letter-spacing: -0.012em; margin-bottom: 36px; padding-bottom: 0.04em; }
.in-related-h em { font-family: var(--display); font-style: normal; font-weight: 800; text-transform: uppercase; color: var(--c); }
.in-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.in-rel-card { border: 1px solid var(--line); background: rgba(255,255,255,0.02); overflow: hidden; display: flex; flex-direction: column; transition: transform 360ms cubic-bezier(0.2,0.8,0.2,1), border-color 240ms; }
.in-rel-card:hover { transform: translateY(-5px); border-color: var(--cc, var(--c)); }
.in-rel-img { aspect-ratio: 16/10; overflow: hidden; }
.in-rel-img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(0.3); transition: filter 420ms, transform 700ms cubic-bezier(0.2,0.8,0.2,1); }
.in-rel-card:hover .in-rel-img img { filter: grayscale(0); transform: scale(1.05); }
.in-rel-body { padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.in-rel-tag { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cc, var(--c)); font-weight: 700; }
.in-rel-body h3 { font-family: var(--display); font-weight: 800; font-size: 19px; line-height: 1.05; text-transform: uppercase; letter-spacing: -0.005em; }
.in-rel-meta { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-soft); }
@media (max-width: 860px) { .in-related-grid { grid-template-columns: 1fr; } }

/* ── Rich post body (native WordPress / Gutenberg content) ──
   The site-wide reset zeroes p/h margins, so without these rules a post's
   paragraphs collapse into one unbroken block. */
.in-rich > * + * { margin-top: 20px; }
.in-rich p { font-size: 18px; line-height: 1.72; color: var(--ink-soft); }
.in-rich h2, .in-rich h3, .in-rich h4 { font-family: var(--serif); font-weight: 600; color: var(--ink); line-height: 1.25; margin-top: 40px; }
.in-rich h2 { font-size: 28px; }
.in-rich h3 { font-size: 23px; }
.in-rich h4 { font-size: 19px; }
.in-rich ul, .in-rich ol { padding-left: 24px; display: flex; flex-direction: column; gap: 10px; font-size: 18px; line-height: 1.6; color: var(--ink-soft); }
.in-rich ul { list-style: disc; }
.in-rich ol { list-style: decimal; }
.in-rich blockquote { border-left: 3px solid var(--c, var(--hot-pink)); padding: 6px 0 6px 20px; font-size: 20px; line-height: 1.55; color: var(--ink); font-style: italic; }
.in-rich img { max-width: 100%; height: auto; border-radius: 14px; }
.in-rich figure { margin: 28px 0 0; }
.in-rich figcaption { font-size: 13.5px; color: var(--ink-soft); margin-top: 10px; }
.in-rich a { color: var(--c, var(--hot-pink)); text-decoration: underline; text-underline-offset: 3px; }
.in-rich strong { color: var(--ink); }
.in-rich hr { border: 0; border-top: 1px solid var(--line); margin: 36px 0 16px; }
