/* Vloom Studio Insights — editorial archive and article surfaces. */

.site-rebrand .insights-topics { padding: 72px 0; border-bottom: 1px solid var(--line); background: #edeae3; }
.insights-topics h2 { margin: 0 0 28px; font-size: clamp(2rem, 4vw, 3.4rem); }
.insights-topics nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.insights-topics nav a { border-top: 2px solid #3155f5; padding: 20px 0; color: #141925; text-decoration: none; }
.insights-topics nav span { display: block; margin-bottom: 14px; color: #2548d9; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.insights-topics nav strong { font: 500 clamp(1.3rem, 2vw, 1.8rem)/1.2 'Source Serif 4', Georgia, serif; }
.insights-topics nav a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.insights-topics > .shell > p { max-width: 760px; margin: 25px 0 0; font-size: 13px; line-height: 1.7; color: #515865; }
.insights-topics > .shell > p a { color: #2548d9; text-underline-offset: 3px; }
@media (max-width: 720px) { .insights-topics nav { grid-template-columns: 1fr; gap: 8px; } }

.site-rebrand .insights-hero {
  overflow: hidden;
  padding: 154px 0 104px;
  background:
    radial-gradient(circle at 84% 16%, rgba(49, 85, 245, 0.2), transparent 28%),
    linear-gradient(135deg, #f5f2eb 0%, #eceaf7 100%);
}

.site-rebrand .insights-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.72fr);
  gap: clamp(48px, 8vw, 118px);
  align-items: end;
}

.site-rebrand .insights-hero h1 {
  max-width: 800px;
  margin: 12px 0 24px;
  font-size: clamp(3.7rem, 6.8vw, 6.8rem);
  line-height: 0.92;
}

.site-rebrand .insights-hero-copy > p:last-child {
  max-width: 650px;
  margin: 0;
  color: #515865;
  font-size: 1.08rem;
  line-height: 1.62;
}

.site-rebrand .insights-ledger {
  position: relative;
  margin: 0;
  border: 1px solid rgba(17, 19, 25, 0.13);
  border-radius: 22px 22px 22px 7px;
  padding: 22px;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0 28px 72px rgba(34, 37, 51, 0.13);
  backdrop-filter: blur(12px);
}

.site-rebrand .insights-ledger figcaption {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  color: #666d79;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.site-rebrand .insights-ledger ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-rebrand .insights-ledger li {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  gap: 12px;
  align-items: center;
  border-top: 1px solid #d8d8de;
  padding: 12px 0;
  color: #6a707c;
  font-size: 0.75rem;
}

.site-rebrand .insights-ledger li::before {
  content: attr(data-number);
  color: var(--blue);
  font-size: 0.65rem;
  font-weight: 800;
}

.site-rebrand .insights-ledger li strong {
  color: var(--ink);
  font-size: 0.79rem;
  font-weight: 720;
}

.site-rebrand .insights-ledger li span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8fa2ff;
  box-shadow: 0 0 0 5px rgba(49, 85, 245, 0.09);
}

.site-rebrand .insights-archive {
  padding: 100px 0 116px;
  background: var(--paper-bright);
}

.site-rebrand .insights-archive-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.76fr) minmax(360px, 0.55fr);
  gap: clamp(40px, 8vw, 112px);
  align-items: end;
  margin-bottom: 44px;
}

.site-rebrand .insights-archive-intro h2 {
  max-width: 760px;
  margin: 8px 0 0;
  font-size: clamp(2.9rem, 5vw, 5rem);
  line-height: 0.96;
}

.site-rebrand .insights-archive-intro > p {
  margin: 0;
  color: #5c6370;
  line-height: 1.65;
}

.site-rebrand .insights-archive .section-label {
  color: #2548d9;
}

.site-rebrand .insights-feature {
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr) auto;
  gap: clamp(26px, 4vw, 52px);
  align-items: center;
  margin-bottom: 26px;
  border-radius: 20px 20px 20px 6px;
  padding: clamp(30px, 5vw, 58px);
  background: #0b0e14;
  color: #fff;
  text-decoration: none;
  transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

.site-rebrand .insights-feature:hover,
.site-rebrand .insights-feature:focus-visible {
  transform: translateY(-3px);
  background: #11182a;
  box-shadow: 0 24px 60px rgba(17, 19, 25, 0.18);
}

.site-rebrand .insights-feature-month {
  display: grid;
  gap: 3px;
  color: #9fb0ff;
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.site-rebrand .insights-feature-month strong {
  font-family: "Source Serif 4", Georgia, serif;
  color: #fff;
  font-size: 3.4rem;
  font-weight: 600;
  letter-spacing: -0.04em;
}

.site-rebrand .insights-feature h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.65rem, 3vw, 2.65rem);
  line-height: 1.06;
}

.site-rebrand .insights-feature p {
  max-width: 720px;
  margin: 0;
  color: #b9bfca;
  font-size: 0.91rem;
  line-height: 1.55;
}

.site-rebrand .insights-feature-arrow,
.site-rebrand .insights-row-arrow {
  font-size: 1.35rem;
  transition: transform 220ms ease;
}

.site-rebrand .insights-feature:hover .insights-feature-arrow,
.site-rebrand .insights-feature:focus-visible .insights-feature-arrow,
.site-rebrand .insights-row:hover .insights-row-arrow,
.site-rebrand .insights-row:focus-visible .insights-row-arrow {
  transform: translate(3px, -3px);
}

.site-rebrand .insights-list {
  margin: 0;
  border-top: 1px solid var(--line);
  padding: 0;
  list-style: none;
}

.site-rebrand .insights-row {
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr) auto;
  gap: clamp(26px, 4vw, 52px);
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding: 27px 6px;
  color: var(--ink);
  text-decoration: none;
  transition: padding 220ms ease, color 220ms ease, background-color 220ms ease;
}

.site-rebrand .insights-row:hover,
.site-rebrand .insights-row:focus-visible {
  padding-right: 16px;
  padding-left: 16px;
  background: #f3f0e9;
  color: var(--blue-dark);
}

.site-rebrand .insights-row time {
  color: #626976;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-rebrand.insights-page .editorial-cta .section-label {
  color: #fff;
}

.site-rebrand .insights-row strong {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(1.3rem, 2.25vw, 2rem);
  font-weight: 600;
  line-height: 1.18;
}

.site-rebrand .insights-archive-note {
  max-width: 820px;
  margin: 34px 0 0;
  border-left: 3px solid var(--blue);
  padding-left: 17px;
  color: #666d79;
  font-size: 0.78rem;
  line-height: 1.6;
}

/* Home-page handoff to the editorial archive. */

.site-rebrand .home-insights {
  padding: 96px 0 104px;
  background: #edeae3;
}

.site-rebrand .home-insights-heading {
  display: flex;
  justify-content: space-between;
  gap: 34px;
  align-items: end;
  margin-bottom: 30px;
}

.site-rebrand .home-insights-heading h2 {
  max-width: 780px;
  margin: 8px 0 0;
  font-size: clamp(2.8rem, 5vw, 5rem);
  line-height: 0.96;
}

.site-rebrand .home-insights .section-label {
  color: #2548d9;
}

.site-rebrand .home-insights-list {
  border-top: 1px solid var(--line);
}

.site-rebrand .home-insights-list a {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding: 24px 4px;
  color: var(--ink);
  text-decoration: none;
  transition: padding 220ms ease, color 220ms ease, background-color 220ms ease;
}

.site-rebrand .home-insights-list a:hover,
.site-rebrand .home-insights-list a:focus-visible {
  padding-right: 14px;
  padding-left: 14px;
  background: rgba(255, 255, 255, 0.48);
  color: var(--blue-dark);
}

.site-rebrand .home-insights-list time {
  color: #565e6a;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-rebrand .home-insights-list strong {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(1.18rem, 2.1vw, 1.72rem);
  font-weight: 600;
  line-height: 1.2;
}

/* Individual field note. */

.site-rebrand .insight-article-hero {
  padding: 132px 0 76px;
  background:
    radial-gradient(circle at 84% 24%, rgba(74, 104, 255, 0.23), transparent 28%),
    #0b0e14;
  color: #fff;
}

.site-rebrand .insight-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 54px;
  color: #aeb4c0;
  font-size: 0.73rem;
}

.site-rebrand .insight-breadcrumb a {
  color: #dce2ef;
  text-underline-offset: 3px;
}

.site-rebrand .insight-series-label {
  margin: 0 0 12px;
  color: #9fb0ff;
  font-size: 0.71rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.site-rebrand .insight-article-hero h1 {
  max-width: 1000px;
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(3.1rem, 6.7vw, 6.5rem);
  line-height: 0.93;
}

.site-rebrand .insight-dek {
  max-width: 790px;
  margin: 0;
  color: #c2c7d1;
  font-size: clamp(1.05rem, 2vw, 1.28rem);
  line-height: 1.62;
}

.site-rebrand .insight-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 30px 0 0;
  color: #959ca9;
  font-size: 0.76rem;
}

.site-rebrand .insight-byline strong {
  color: #fff;
}

.site-rebrand .insight-body {
  padding: 84px 0 106px;
  background: var(--paper-bright);
}

.site-rebrand .insight-layout {
  display: grid;
  grid-template-columns: minmax(0, 760px) minmax(220px, 270px);
  gap: clamp(58px, 9vw, 128px);
  justify-content: center;
  align-items: start;
}

.site-rebrand .insight-content {
  min-width: 0;
  color: #323844;
  font-size: 1.08rem;
  line-height: 1.78;
}

.site-rebrand .insight-content > p:first-child {
  margin-top: 0;
  color: #1b202b;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(1.35rem, 2.3vw, 1.72rem);
  line-height: 1.48;
}

.site-rebrand .insight-content h2 {
  margin: 58px 0 18px;
  color: var(--ink);
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: 1.04;
}

.site-rebrand .insight-content h3 {
  margin: 34px 0 10px;
  font-size: 1.25rem;
}

.site-rebrand .insight-content p,
.site-rebrand .insight-content ul,
.site-rebrand .insight-content ol {
  margin-top: 0;
  margin-bottom: 24px;
}

.site-rebrand .insight-content li + li {
  margin-top: 10px;
}

.site-rebrand .insight-content a {
  color: var(--blue-dark);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.site-rebrand .insight-callout {
  margin: 38px 0;
  border: 1px solid #ccd3f2;
  border-radius: 16px 16px 16px 5px;
  padding: 25px 27px;
  background: #eef1ff;
}

.site-rebrand .insight-callout strong {
  display: block;
  margin-bottom: 7px;
  color: var(--blue-dark);
  font-family: "Instrument Sans", Arial, sans-serif;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.site-rebrand .insight-callout p:last-child {
  margin-bottom: 0;
}

.site-rebrand .insight-checklist {
  margin: 30px 0 38px;
  border-top: 1px solid var(--line);
  padding: 0;
  list-style: none;
  counter-reset: insight-check;
}

.site-rebrand .insight-checklist li {
  counter-increment: insight-check;
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  margin: 0;
  border-bottom: 1px solid var(--line);
  padding: 18px 0;
}

.site-rebrand .insight-checklist li::before {
  content: "0" counter(insight-check);
  padding-top: 2px;
  color: var(--blue);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.07em;
}

.site-rebrand .insight-sources {
  margin-top: 58px;
  border-top: 1px solid var(--line);
  padding-top: 24px;
}

.site-rebrand .insight-sources h2 {
  margin-top: 0;
  font-family: "Instrument Sans", Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.site-rebrand .insight-sources ul {
  margin: 0;
  padding-left: 20px;
  font-size: 0.88rem;
  line-height: 1.55;
}

.site-rebrand .insight-aside {
  position: sticky;
  top: 104px;
  border-top: 3px solid var(--blue);
  padding-top: 18px;
}

.site-rebrand .insight-aside > p {
  margin: 0 0 13px;
  color: #6d737e;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.site-rebrand .insight-aside nav {
  display: grid;
  gap: 0;
}

.site-rebrand .insight-aside a {
  border-bottom: 1px solid var(--line);
  padding: 12px 0;
  color: #404754;
  font-size: 0.79rem;
  line-height: 1.4;
  text-decoration: none;
}

.site-rebrand .insight-aside a:hover,
.site-rebrand .insight-aside a:focus-visible {
  color: var(--blue-dark);
}

.site-rebrand .insight-related {
  padding: 74px 0 82px;
  background: #ece9e2;
}

.site-rebrand .insight-related > .shell > .section-label {
  color: #2548d9;
}

.site-rebrand .insight-related-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.site-rebrand .insight-related a {
  min-height: 170px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid var(--line);
  border-radius: 15px 15px 15px 5px;
  padding: 24px;
  background: var(--paper-bright);
  color: var(--ink);
  text-decoration: none;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.site-rebrand .insight-related a:hover,
.site-rebrand .insight-related a:focus-visible {
  transform: translateY(-3px);
  border-color: #aeb9ef;
  box-shadow: 0 18px 42px rgba(17, 19, 25, 0.09);
}

.site-rebrand .insight-related span {
  color: #5f6672;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-rebrand .insight-related strong {
  max-width: 520px;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(1.25rem, 2.3vw, 1.85rem);
  font-weight: 600;
  line-height: 1.17;
}

@media (prefers-reduced-motion: no-preference) {
  .site-rebrand .insights-hero-copy,
  .site-rebrand .insights-ledger,
  .site-rebrand .insight-article-hero .shell > * {
    animation: insights-rise 480ms both cubic-bezier(0.2, 0.72, 0.2, 1);
  }

  .site-rebrand .insights-ledger,
  .site-rebrand .insight-article-hero .shell > :nth-child(2) { animation-delay: 70ms; }
  .site-rebrand .insight-article-hero .shell > :nth-child(3) { animation-delay: 120ms; }
  .site-rebrand .insight-article-hero .shell > :nth-child(4) { animation-delay: 170ms; }
}

@keyframes insights-rise {
  from { opacity: 0.35; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 900px) {
  .site-rebrand .insights-hero-layout,
  .site-rebrand .insights-archive-intro,
  .site-rebrand .insight-layout {
    grid-template-columns: 1fr;
  }

  .site-rebrand .insights-ledger {
    max-width: 600px;
  }

  .site-rebrand .insight-aside {
    position: static;
    order: -1;
  }

  .site-rebrand .insight-aside nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
  }
}

@media (max-width: 720px) {
  .site-rebrand .insights-hero {
    padding: 112px 0 72px;
  }

  .site-rebrand .insights-hero-layout {
    gap: 40px;
  }

  .site-rebrand .insights-hero h1,
  .site-rebrand .insight-article-hero h1 {
    font-size: clamp(2.75rem, 13vw, 3.65rem);
  }

  .site-rebrand .insights-ledger {
    border-radius: 17px 17px 17px 5px;
    padding: 17px;
  }

  .site-rebrand .insights-ledger li {
    grid-template-columns: 28px 1fr auto;
    gap: 8px;
    padding: 10px 0;
  }

  .site-rebrand .insights-archive,
  .site-rebrand .home-insights {
    padding: 76px 0 82px;
  }

  .site-rebrand .insights-feature,
  .site-rebrand .insights-row,
  .site-rebrand .home-insights-list a {
    grid-template-columns: 1fr auto;
  }

  .site-rebrand .insights-feature {
    padding: 26px 23px;
  }

  .site-rebrand .insights-feature-month,
  .site-rebrand .insights-row time,
  .site-rebrand .home-insights-list time {
    grid-column: 1 / -1;
  }

  .site-rebrand .insights-feature-month strong {
    display: inline;
    margin-right: 7px;
    font-size: 1.3rem;
  }

  .site-rebrand .insights-row {
    gap: 9px 16px;
    padding: 22px 2px;
  }

  .site-rebrand .insights-row strong,
  .site-rebrand .home-insights-list strong {
    overflow-wrap: anywhere;
  }

  .site-rebrand .home-insights-heading {
    display: grid;
    gap: 22px;
  }

  .site-rebrand .home-insights-list a {
    gap: 9px 16px;
    padding: 21px 2px;
  }

  .site-rebrand .insight-article-hero {
    padding: 104px 0 60px;
  }

  .site-rebrand .insight-breadcrumb {
    margin-bottom: 38px;
  }

  .site-rebrand .insight-body {
    padding: 62px 0 78px;
  }

  .site-rebrand .insight-layout {
    gap: 48px;
  }

  .site-rebrand .insight-content {
    font-size: 1rem;
    line-height: 1.72;
  }

  .site-rebrand .insight-content h2 {
    margin-top: 46px;
  }

  .site-rebrand .insight-aside nav,
  .site-rebrand .insight-related-grid {
    grid-template-columns: 1fr;
  }

  .site-rebrand .insight-related {
    padding: 60px 0 66px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-rebrand .insights-feature,
  .site-rebrand .insights-row,
  .site-rebrand .home-insights-list a,
  .site-rebrand .insights-feature-arrow,
  .site-rebrand .insights-row-arrow,
  .site-rebrand .insight-related a {
    transition: none;
  }
}
