/* Homepage editorial selection. Colours are fixed so the scroll-driven body
   theme cannot reduce contrast as the testimonials enter the viewport. */
.lp-insights {
  background: #f4f0ee;
  color: #181818;
  padding-block: clamp(72px, 8vw, 140px);
  scroll-margin-top: 40px;
}
.lp-insights__eyebrow {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid #c9c5c2;
  padding-top: 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.lp-insights__eyebrow p::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 10px;
  background: #e52421;
  border-radius: 50%;
}
.lp-insights__eyebrow > span { color: #68635f; }
.lp-insights__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 310px);
  align-items: end;
  gap: 32px;
  margin-block: 40px 48px;
}
.lp-insights__heading h2 {
  font-size: clamp(48px, 6.3vw, 108px);
  line-height: .98;
  letter-spacing: -.055em;
}
.lp-insights .lp-insights__heading em { color: #e52421; }
.lp-insights__intro p { font-size: 16px; line-height: 1.55; color: #625d59; max-width: 32ch; }
.lp-insights__all {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  padding-block: 20px 8px;
  border-bottom: 1px solid #181818;
  color: #181818;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.lp-insights__all span { font-size: 24px; transition: transform .25s ease; }
.lp-insights__all:hover span { transform: translate(3px, -3px); }
.lp-insights__grid { display: grid; grid-template-columns: 2.05fr 1fr 1fr; gap: 32px 28px; }
.lp-story { min-width: 0; }
.lp-story--lead { grid-row: span 2; padding-right: 28px; border-right: 1px solid #d6d0cc; }
.lp-story__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.lp-story__visual { position: relative; overflow: hidden; isolation: isolate; aspect-ratio: 16 / 10; background: #e3ddd8; }
.lp-story--lead .lp-story__visual { aspect-ratio: 1.25; }
.lp-story__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.lp-story__link:hover img { transform: scale(1.045); }
.lp-story__art {
  position: absolute;
  inset: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f7eee8;
  background: #e52421;
}
.lp-story__art::before, .lp-story__art::after {
  content: "";
  position: absolute;
  width: 82%;
  aspect-ratio: 1;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .25;
  transform: translateX(-26%);
}
.lp-story__art::after { transform: translateX(26%); }
.lp-story__art[data-desk="messaging"] { background: #c9d3bf; color: #254b37; }
.lp-story__art[data-desk="social"] { background: #d8c9ef; color: #4c306f; }
.lp-story__art[data-desk="search"], .lp-story__art[data-desk="ai"] { background: #252a30; color: #eee6d6; }
.lp-story__glyph { font-family: var(--ux-display); font-size: clamp(90px, 12vw, 200px); line-height: 1; font-weight: 500; transform: rotate(-12deg); }
.lp-story--lead .lp-story__glyph { font-size: clamp(160px, 24vw, 390px); }
.lp-story__art-label { position: absolute; bottom: 18px; left: 20px; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.lp-story__badge { position: absolute; top: 18px; left: 18px; padding: 7px 11px; background: #f4f0ee; color: #181818; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lp-story__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin-top: 18px; font-size: 10px; font-weight: 700; line-height: 1.5; letter-spacing: .045em; text-transform: uppercase; }
.lp-story__category { color: #b51e1b; }
.lp-story__meta time { color: #69615b; }
.lp-insights .lp-story__title { font-size: clamp(20px, 1.65vw, 29px); line-height: 1.13; letter-spacing: -.03em; margin-top: 9px; text-wrap: pretty; transition: color .2s ease; }
.lp-insights .lp-story--lead .lp-story__title { font-size: clamp(28px, 2.7vw, 48px); line-height: 1.07; }
.lp-story__link:hover .lp-story__title { color: #bd201d; }
.lp-story__excerpt { font-size: 15px; line-height: 1.55; color: #625d59; margin-top: 16px !important; max-width: 52ch; }
.lp-story__foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: auto; padding-top: 18px; font-size: 11px; color: #68605a; }
.lp-story__arrow { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #ccc4be; border-radius: 50%; font-size: 17px; color: #181818; transition: background .25s, color .25s, transform .25s; }
.lp-story__link:hover .lp-story__arrow { color: #fff; background: #e52421; border-color: #e52421; transform: rotate(45deg); }
.lp-story--lead .lp-story__foot { padding-top: 24px; }
.lp-story--lead .lp-story__arrow { width: 38px; height: 38px; font-size: 22px; }
.lp-insights__placeholder { min-height: 240px; background: linear-gradient(150deg, #e6dfda, #ede7e2); }
.lp-insights__placeholder--lead { grid-row: span 2; min-height: 540px; }
.lp-insights__status { font-size: 14px; color: #625d59; margin-top: 20px !important; }
.lp-insights__status:empty { display: none; }
.lp-insights__retry { margin-top: 12px; padding: 10px 18px; font: inherit; font-size: 14px; cursor: pointer; background: transparent; border: 1px solid #181818; color: #181818; }
.lp-insights__retry[hidden] { display: none; }
.lp-insights__notice { margin-top: 16px !important; font-size: 16px; }
.lp-insights__notice a { color: inherit; }
.lp-insights a:focus-visible, .lp-insights button:focus-visible { outline: 3px solid #b51e1b; outline-offset: 6px; }
@media (max-width: 1099px) {
  .lp-insights__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
  .lp-story--lead { grid-column: 1 / -1; grid-row: auto; padding-right: 0; border-right: 0; padding-bottom: 32px; border-bottom: 1px solid #d6d0cc; }
  .lp-story--lead .lp-story__link { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
  .lp-story--lead .lp-story__visual { grid-row: span 4; height: 100%; min-height: 320px; aspect-ratio: auto; }
  .lp-story--lead .lp-story__meta { margin-top: 0; }
  .lp-story--lead .lp-story__glyph { font-size: 220px; }
  .lp-insights__placeholder--lead { grid-column: 1 / -1; grid-row: auto; min-height: 320px; }
}
@media (max-width: 699px) {
  .lp-insights__eyebrow > span { display: none; }
  .lp-insights__heading { grid-template-columns: 1fr; gap: 24px; margin-block: 32px; }
  .lp-insights__intro p { max-width: 38ch; }
  .lp-insights__grid { gap: 28px 18px; }
  .lp-story--lead .lp-story__link { display: flex; }
  .lp-story--lead .lp-story__visual { min-height: 0; height: auto; aspect-ratio: 1.3; }
  .lp-story--lead .lp-story__meta { margin-top: 18px; }
  .lp-insights .lp-story__title { font-size: 20px; }
  .lp-story__art-label { left: 12px; bottom: 12px; font-size: 8px; }
  .lp-story__glyph { font-size: 90px; }
  .lp-story__meta { gap: 4px; align-items: start; flex-direction: column; }
}
@media (max-width: 389px) {
  .lp-insights__grid { grid-template-columns: 1fr; }
  .lp-story__meta { flex-direction: row; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-insights *, .lp-insights *::before, .lp-insights *::after { transition: none !important; }
}
