.insights-section{padding:clamp(110px,9vw,180px) var(--page-gutter) clamp(90px,8vw,155px);background:var(--color-page);color:#0b0b0b}.insights-section__inner{width:min(100%,1515px);margin-inline:auto}.insights-section__eyebrow{width:max-content;margin:0 auto 30px;padding:8px 18px;border:1px solid rgba(0,0,0,.11);border-radius:999px;background:#fff;font-family:"Geist Mono",monospace;font-size:12px;box-shadow:0 4px 14px rgba(0,0,0,.04)}.insights-section__eyebrow span{margin-right:8px}.insights-section__title{margin:0 auto 70px;text-align:center;font-family:"Geist Mono",monospace;font-size:clamp(34px,2.7vw,52px);line-height:1.08;font-weight:400;letter-spacing:-.045em}.insights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.insight-card{overflow:hidden;border:1px solid rgba(0,0,0,.12);border-radius:28px;background:#fff}.insight-card__body{padding:30px 32px 26px}.insight-card__date{display:block;margin-bottom:24px;font-family:"Geist Mono",monospace;font-size:11px}.insight-card__title{margin:0 0 14px;font-family:"Geist Mono",monospace;font-size:clamp(23px,1.65vw,32px);line-height:1.06;font-weight:400;letter-spacing:-.04em}.insight-card__excerpt{margin:0 0 18px;font:400 12px/1.35 Inter,sans-serif}.insight-card__tag{display:inline-flex;padding:7px 18px;border-radius:999px;background:#f0f0f0;font:400 11px/1 Inter,sans-serif;color:#6e6e6e}.insight-card__image{display:block;width:100%;aspect-ratio:1.48/1;object-fit:cover}@media(max-width:900px){.insights-grid{grid-template-columns:1fr;max-width:600px;margin-inline:auto}.insights-section__title{margin-bottom:44px}}

/* =========================================================
   BLOG (Insights) — hover effect on the card artwork.
   The image sits in its own box at the bottom of the card (text
   is above it), so the darkening overlay is scoped to that image
   box only — it never dims the title/excerpt above it.
   Only engages on real hover input, so a tap on mobile never gets
   stuck in a "hovered" look.
   ========================================================= */
.insight-card__image-frame{position:relative;overflow:hidden;line-height:0}
.insight-card__image{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.insight-card__image-frame::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.38),rgba(0,0,0,0) 55%);
  opacity:0;
  pointer-events:none;
  transition:opacity .45s ease;
}
@media (hover:hover) and (pointer:fine){
  .insight-card{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease}
  .insight-card:hover{
    transform:translateY(-6px);
    box-shadow:0 22px 46px rgba(0,0,0,.12);
  }
  .insight-card:hover .insight-card__image{transform:scale(1.09)}
  .insight-card:hover .insight-card__image-frame::after{opacity:1}
}

/* Cards are now real links (whole card clickable to the post) */
.insight-card{display:block;cursor:pointer;text-decoration:none}
.insight-card *{text-decoration:none}
