/* Homepage section headings follow the original magenta-label/dark-title style. */
.home-page .section:not(.home-hero):not(.pink) h2{color:#111318}
.home-page .section .eyebrow{
  color:var(--pink);font-family:DM Sans,Arial,sans-serif;font-weight:400;
  font-size:clamp(20px,1.65vw,28px);line-height:1.3;letter-spacing:.045em;
  margin-bottom:16px;
}
#solution>h2{max-width:1100px;margin-left:auto;margin-right:auto}
#outcomes .grid{row-gap:clamp(32px,5vh,60px)}
#outcomes .feature p{max-width:370px;margin-left:auto;margin-right:auto}

/* Full-height imagery stays independent of text entrances and media playback. */
.home-capabilities{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  padding:0;min-height:560px;
}
.capability{
  position:relative;isolation:isolate;overflow:hidden;min-width:0;
  min-height:560px;padding:0;background:#1e103b;color:#fff;
}
.capability:before{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,#09051b00 15%,#09051b22 42%,#09051bbd 66%,#09051bc7 100%);
}
.capability>.capability-image,.capability>video{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;
  object-fit:cover;z-index:0;opacity:1;
}
.capability:first-child>.capability-image{object-position:37% center}
.capability:nth-child(2)>.capability-image{object-position:38% center}
.capability-copy{
  position:absolute;top:58%;left:0;z-index:2;width:100%;
  padding:24px clamp(22px,2vw,40px) 0;
}
.capability{display:flex;align-items:center;flex-direction:column;justify-content:flex-start}
.capability h2{
  font-family:Phoenix Sans,Arial,sans-serif;font-weight:700;color:#fff;
  font-size:clamp(24px,1.75vw,32px);line-height:1.22;
  margin:0 auto 15px;max-width:360px;text-wrap:balance;
}
.capability h2 a{color:inherit;text-decoration:none;text-shadow:0 2px 14px #050213b3}
.capability h2 a:hover{text-decoration:underline;text-underline-offset:6px}
.capability h2 a:focus-visible{outline-color:#fff}
.capability-arrow{font-family:DM Sans,Arial,sans-serif;font-weight:400;white-space:nowrap}
.capability-copy p{font-size:clamp(16px,1vw,18px);line-height:1.5;max-width:300px;margin:0 auto;color:#f7f3fb;text-wrap:pretty}
.capability.capability--interface{background:radial-gradient(ellipse at 50% 28%,#7647aa 0%,#291344 62%,#160b2b 100%)}
.capability--interface>.capability-image{
  inset:8% 0 auto;width:100%;height:48%;object-fit:contain;padding:0 20px;
  filter:drop-shadow(0 20px 24px #0a041a80);
}
.capability>.video-toggle{
  z-index:3;right:12px;bottom:12px;font-size:10px;line-height:1.4;
  padding:4px 6px;border:0;border-radius:12px;background:#171426a8;
}
@media(prefers-reduced-motion:no-preference){
  .capability>.capability-image{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .capability:hover>.capability-image,.capability:focus-within>.capability-image{transform:scale(1.035)}
}
@media(max-width:1100px){
  .home-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}
  .capability{min-height:430px}
  .capability-copy{top:55%;padding:22px 24px 0}
  .capability h2{font-size:26px}
}
@media(max-width:580px){
  .capability{min-height:380px}
  .capability-copy{top:42%;padding:20px 12px 0}
  .capability h2{font-size:21px;line-height:1.25;margin-bottom:12px}
  .capability-copy p{font-size:15px;line-height:1.45}
  .capability--interface>.capability-image{top:5%;height:34%;padding:0 9px}
}
@media(max-width:359px){
  .home-capabilities{grid-template-columns:1fr}
  .capability{min-height:420px}
  .capability h2{font-size:25px}
}
@media print{
  .home-capabilities{display:block}
  .capability{min-height:0;padding:20px 0;break-inside:avoid;background:#fff}
  .capability:before,.capability>video,.capability>.video-toggle{display:none}
  .capability>.capability-image{position:static;width:240px;height:180px;object-fit:contain;padding:0;filter:none}
  .capability-copy{position:static;padding:15px 0}
  .capability h2,.capability h2 a,.capability-copy p{color:#000;text-shadow:none}
}
