.desktop-home-features {
  --stories-inset:clamp(20px,5.5vw,88px);
  width:100%;
  padding:clamp(64px,7.5vw,120px) var(--stories-inset);
  color:#1d1d1f;
  background:#f5f5f7;
}
.desktop-home-features h2,
.desktop-home-features .story-layout {
  width:min(100%,1360px);
  margin-inline:auto;
}
.desktop-home-features h2 {
  margin-block:0 clamp(34px,4vw,64px);
  font-size:clamp(42px,5.8vw,86px);
  font-weight:610;
  line-height:1.01;
  letter-spacing:-.055em;
}
.desktop-home-features .story-layout {
  --stage-height:clamp(325px,min(65svh,45vw),650px);
  --stick-top:clamp(70px,calc((100svh - var(--stage-height)) / 2 + 14px),165px);
}
.desktop-home-features .story-chapter {
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
  gap:clamp(28px,5.2vw,84px);
  align-items:center;
}
.desktop-home-features .story-chapter + .story-chapter {
  margin-top:clamp(40px,6vw,90px);
}
.desktop-home-features .story-caption {
  grid-column:2;
  grid-row:1;
  min-width:0;
}
.desktop-home-features .story-caption h3 {
  max-width:10.8em;
  margin:0;
  font-size:clamp(38px,4.2vw,68px);
  font-weight:600;
  line-height:1.02;
  letter-spacing:-.055em;
}
.desktop-home-features .story-caption p {
  max-width:29ch;
  margin:18px 0 0;
  color:#56565b;
  font-size:clamp(17px,1.48vw,23px);
  font-weight:450;
  line-height:1.43;
  letter-spacing:-.018em;
}
.desktop-home-features .story-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0 22px;
  margin-top:16px;
}
.desktop-home-features .story-actions button {
  min-height:44px;
  padding:0;
  border:0;
  border-radius:2px;
  background:transparent;
  color:#005eae;
  font:inherit;
  font-size:clamp(15px,1.15vw,18px);
  font-weight:520;
  text-align:start;
  cursor:pointer;
}
.desktop-home-features .story-actions button span { margin-left:2px; }
.desktop-home-features .story-actions button:is(:hover,:focus-visible) {
  text-decoration:underline;
  text-underline-offset:4px;
}
.desktop-home-features .story-actions button:focus-visible { outline:2px solid #0071e3; outline-offset:4px; }
.desktop-home-features .story-actions .story-replay {
  display:inline-flex; align-items:center; gap:6px;
  min-width:6em; color:#505056;
}
.desktop-home-features .story-replay::before {
  content:""; width:.62em; height:.63em; background:currentColor;
  clip-path:polygon(12% 0,100% 50%,12% 100%);
}
.desktop-home-features .story-replay[data-playing]::before {
  width:.56em; height:.56em; border-radius:1px; clip-path:none;
}
.desktop-home-features .story-visual {
  position:relative;
  grid-column:1;
  grid-row:1;
  width:100%;
  height:var(--stage-height);
  min-width:0;
  margin:0;
  overflow:hidden;
  border-radius:clamp(16px,2vw,31px);
  isolation:isolate;
}
.desktop-home-features .story-frame {
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
}
.desktop-home-features .story-talk-visual {
  background:#dce9f0;
  background:linear-gradient(145deg,#e7eff3,#c9dde7 56%,#d8e4f5);
}
.desktop-home-features .story-talk-shots {
  width:min(79%,calc(var(--stage-height) * .99),520px);
}
.desktop-home-features .story-talk-shots img {
  display:block;
  height:auto;
  box-shadow:0 10px 23px -16px #233547a6;
}
.desktop-home-features .story-conversation {
  width:88%;
  border-radius:0 0 13px 13px;
}
.desktop-home-features .story-reminder {
  width:85%;
  margin:clamp(12px,2.2vw,31px) 0 0 auto;
  border-radius:10px;
}
.desktop-home-features .story-focus-visual {
  background:#f0e5d4;
  background:linear-gradient(147deg,#f5e8c9,#efdec7 53%,#e8d2c9);
}
.desktop-home-features .story-focus-controls {
  display:block;
  width:min(65%,calc(var(--stage-height) * .78),402px);
  height:auto;
  border-radius:0 0 19px 19px;
  box-shadow:0 13px 26px -18px #54412f9c;
}
.desktop-home-features .story-music-visual { background:#f5f5f3; }
.desktop-home-features .story-piano { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
@media (min-width:850px) and (min-height:570px) {
  .desktop-home-features[data-pinned] .story-layout {
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
    gap:0 clamp(28px,5.2vw,84px);
  }
  .desktop-home-features[data-pinned] .story-chapter { display:contents; }
  .desktop-home-features[data-pinned] .story-caption {
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:clamp(465px,76svh,815px);
  }
  .desktop-home-features[data-pinned] .story-chapter:nth-child(2) .story-caption { grid-row:2; }
  .desktop-home-features[data-pinned] .story-chapter:nth-child(3) .story-caption { grid-row:3; }
  .desktop-home-features[data-pinned] .story-chapter:nth-child(4) .story-caption { grid-row:4; }
  .desktop-home-features[data-pinned] .story-visual {
    position:sticky;
    top:var(--stick-top);
    align-self:start;
    grid-row:1 / span 4;
    pointer-events:none;
    visibility:var(--story-visibility,visible);
  }
  .desktop-home-features[data-pinned] [data-reminder-interactive] [data-save-reminder],
  .desktop-home-features[data-pinned] .story-talk-visual:not([inert]) [data-review-story] { pointer-events:auto; }
  .desktop-home-features[data-pinned] .story-visual { opacity:var(--story-opacity,1); }
  .desktop-home-features[data-pinned] .story-frame { transform:translateY(var(--story-shift,0)); }
}
@media (max-width:849px) {
  .desktop-home-features { padding-inline:clamp(18px,5vw,38px); }
  .desktop-home-features .story-chapter { display:flex; flex-direction:column; align-items:stretch; gap:18px; }
  .desktop-home-features .story-chapter + .story-chapter { margin-top:58px; }
  .desktop-home-features .story-caption h3 { max-width:none; font-size:clamp(34px,6vw,45px); }
  .desktop-home-features .story-caption p { max-width:37ch; margin-top:9px; }
  .desktop-home-features .story-actions { margin-top:3px; }
  .desktop-home-features .story-visual { --stage-height:clamp(235px,74vw,475px); border-radius:17px; }
  .desktop-home-features .story-talk-shots { width:min(87%,455px); }
}

.desktop-home-features #reminder-story { scroll-margin-top:92px; }
.desktop-home-features [data-review-story] {
  display:block;
  color:#121214;
  text-decoration:none;
}
.desktop-home-features [data-review-story]:is(:hover,:focus-visible) { text-decoration:underline; }
.desktop-home-features [data-review-story]:focus-visible { outline:3px solid #56a7ff; outline-offset:2px; }
