/* Homepage-only animation loops and layout (converted from the approved Concept A comp). */
@keyframes cyc{0%,10%{transform:translateY(-0.0000%)}12.5%,22.5%{transform:translateY(-11.1111%)}25%,35%{transform:translateY(-22.2222%)}37.5%,47.5%{transform:translateY(-33.3333%)}50%,60%{transform:translateY(-44.4444%)}62.5%,72.5%{transform:translateY(-55.5556%)}75%,85%{transform:translateY(-66.6667%)}87.5%,97.5%{transform:translateY(-77.7778%)}100%{transform:translateY(-88.8889%)}}
.cycle{animation:cyc 18s cubic-bezier(.7,0,.3,1) infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.45)}}
.pulse{animation:pulse 1.6s ease-in-out infinite}
@keyframes flow{to{stroke-dashoffset:-28}}
.flow{stroke-dasharray:6 8;animation:flow 1.4s linear infinite}
@keyframes cap{0%,16%{transform:translateY(0)}20%,36%{transform:translateY(-12.5%)}40%,56%{transform:translateY(-25%)}60%,76%{transform:translateY(-37.5%)}80%,96%{transform:translateY(-50%)}100%{transform:translateY(-62.5%)}}
.capscroll{animation:cap 16s cubic-bezier(.6,0,.3,1) infinite}
@keyframes type{0%{width:0}60%,100%{width:100%}}
.type{animation:type 4.5s steps(38) infinite}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}
.caret{animation:blink 1s step-end infinite}

.sector-card { color: inherit; text-decoration: none; border-radius: 18px; transition: transform .25s ease; }
.sector-card:hover { color: inherit; transform: translateY(-4px); }
.sector-card:hover h3 { color: var(--lav-700); }
.sector-card img { transition: filter .25s ease; }
.sector-card:hover img { filter: saturate(1.15); }
#features .aware-feature-card { min-height: 260px; }
#features .aware-feature-card > svg { flex-shrink: 0; }
#features .aware-feature-primary { min-height: 440px; }
.sector-more { margin-top: 10px; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--lav-700); }
@media (max-width: 1100px) {
  .hero-art { width: 100% !important; margin-top: 32px; }
  .hero-art > img { width: 100% !important; }
  .hero-card { left: 24px !important; }
  .proof-grid { padding-top: 28px !important; padding-bottom: 28px !important; row-gap: 24px; }
}
@media (max-width: 720px) {
  .hero-art { height: auto !important; display: flex; flex-direction: column; }
  .hero-art > img { position: static !important; width: 100% !important; height: 300px !important; }
  .hero-art > div:first-of-type { top: 12px !important; right: 12px !important; }
  .hero-card { position: static !important; width: 100% !important; margin-top: 16px; }
  .proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .proof-grid > div { padding: 0 !important; border-left: 0 !important; }
  .proof-grid > div > span:first-child { font-size: 40px !important; }
  .hero-h1 > span[style*="nowrap"], .hero-h1 span[style*="white-space: nowrap"] { white-space: normal !important; }
}
