/* Index composition. Shared navigation, app controls and footer retain their site-wide rules. */
.home-page.site-refreshed .site-header .brand { flex-shrink: 0; padding-block: 0; }
.home-page.site-refreshed .brand-mark { width: 200px; height: 64px; max-height: none; object-fit: cover; filter: none; transform: none; transform-origin: center; }
.home-page.site-refreshed .brand:hover .brand-mark { transform: scale(1.03); }
.home-page.site-refreshed { --home-space: clamp(64px, 7.5vw, 104px); }
.home-page.site-refreshed .home-section { padding-block: var(--home-space); }
.home-page.site-refreshed .home-section h2 { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.16; letter-spacing: -.04em; }
.home-page.site-refreshed .home-heading { max-width: 760px; margin-bottom: 40px; }
.home-page.site-refreshed .home-overline { font-size: 12px; letter-spacing: .14em; }
.home-page.site-refreshed .home-hero-content { min-height: 700px; padding-block: 156px 164px; }
.home-page.site-refreshed .home-hero h1 { font-size: clamp(40px, 5.2vw, 70px); max-width: 850px; line-height: 1.1; }
.home-page.site-refreshed .home-hero-content p { max-width: 580px; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.75; }
.home-page.site-refreshed .hero-actions { gap: 14px; flex-wrap: wrap; }
.home-page.site-refreshed .hero-scroll { text-decoration: none; color: #d8e6f3; font-size: 13px; }
.home-page.site-refreshed .home-highlights { padding-bottom: 32px; }
.home-page.site-refreshed .home-highlights .intro-pillars { gap: 16px; }
.home-page.site-refreshed .home-highlights .intro-pillar { padding: 26px; border-radius: 12px; box-shadow: 0 10px 30px #102b430a; }
.home-page.site-refreshed .home-highlights .intro-pillar h3 { font-size: 18px; letter-spacing: -.025em; }
.home-page.site-refreshed .home-highlights .intro-pillar p { line-height: 1.7; }
.home-page.site-refreshed .home-logo-strip { padding-block: 22px; background: #f3f7fa; border-block: 1px solid #e0e8ee; }
.home-page.site-refreshed .home-logo-strip > .container { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; }
.home-page .industry-links { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.home-page .industry-links a { display: inline-flex; align-items: center; gap: 8px; color: #39556b; font-size: 14px; text-decoration: none; padding-block: 5px; }
.home-page .industry-links a span { color: #477eaa; }
.home-page .industry-links a:hover { color: #0e62cc; }
.home-page.site-refreshed .home-split { gap: clamp(32px, 5vw, 72px); align-items: center; }
.home-page.site-refreshed .home-photo { min-height: 460px; border-radius: 16px; }
.home-page.site-refreshed .home-photo-frame { inset: 22px -14px -14px 22px; border-radius: 16px; }
.home-page.site-refreshed .home-photo-badge { left: -20px; bottom: 24px; background: #fff; border: 1px solid #dee8f0; box-shadow: 0 14px 32px #183c5314; }
.home-page .intro-capabilities { list-style: none; margin: 24px 0 28px; padding: 0; display: grid; gap: 10px; color: #35536a; font-size: 14px; }
.home-page .intro-capabilities li { display: flex; align-items: center; gap: 12px; }
.home-page .intro-capabilities li::before { content: '✓'; color: #245f90; background: #e8f1f8; border-radius: 50%; width: 24px; height: 24px; display: grid; place-items: center; flex-shrink: 0; }
.home-page.site-refreshed .solutions-index { background: #f3f7fa; }
.home-page.site-refreshed .solutions-index .home-heading { text-align: left; margin-inline: 0; }
.home-page.site-refreshed .solutions-index .section-line { margin-inline: 0; }
.home-page.site-refreshed .si-grid { gap: 40px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: stretch; }
.home-page.site-refreshed .si-visual { height: auto; min-height: 540px; border-radius: 16px; }
.home-page.site-refreshed .si-row { padding: 20px 16px; border-radius: 10px; gap: 16px; }
.home-page.site-refreshed .si-row h3 { font-size: 18px; }
.home-page.site-refreshed .si-row.is-active { background: #e1edf7; }
.home-page .home-workflow { background: white; }
.home-page .workflow-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 48px; margin-bottom: 40px; }
.home-page .workflow-heading h2 { margin-bottom: 0; }
.home-page .workflow-heading > p { max-width: 450px; margin: 0 0 4px; color: #526778; font-size: 16px; line-height: 1.8; }
.home-page .workflow-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.home-page .workflow-step { border-top: 2px solid #a9c5db; padding-top: 22px; }
.home-page .workflow-number { color: #386b93; font-size: 13px; font-weight: 600; }
.home-page .workflow-step h3 { font-size: 20px; margin: 18px 0 12px; letter-spacing: -.025em; }
.home-page .workflow-step p { font-size: 15px; line-height: 1.8; color: #526778; margin: 0; }
.home-page.site-refreshed .app-showcase { background: radial-gradient(ellipse at 85% 50%, #285477 0%, transparent 55%), #112b43; }
.home-page.site-refreshed .app-showcase .csl-heading h2 { font-size: clamp(36px, 4.8vw, 64px); color: #fff; }
.home-page.site-refreshed .app-showcase .csl-heading > p { margin-top: 16px; font-size: 17px; }
.home-page.site-refreshed .app-showcase .csl-panel { min-height: 580px; gap: 40px; }
.home-page.site-refreshed .app-showcase .csl-copy h3 { font-size: clamp(30px, 3.2vw, 42px); }
.home-page.site-refreshed .app-showcase .csl-journey li { padding: 24px; background: #ffffff04; border-color: #64819a66; }
.home-page.site-refreshed .spare-compact { padding-block: 48px; background: #e8f1f8; border-bottom: 1px solid #d8e5ef; }
.home-page.site-refreshed .spare-compact h2 { font-size: clamp(28px, 3vw, 36px); }
.home-page.site-refreshed .spare-compact p { max-width: 650px; }
.home-page.site-refreshed .home-faq { background: #fff; }
.home-page.site-refreshed .faq-layout { gap: 64px; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.home-page.site-refreshed .faq-list { gap: 12px; margin: 0; }
.home-page.site-refreshed .faq-list details { padding: 22px 24px; border-radius: 12px; background: #f5f8fb; box-shadow: none; }
.home-page.site-refreshed .faq-list details[open] { background: #edf4fa; border-color: #b5cddd; }
.home-page.site-refreshed .know-more { background: #f3f7fa; }
.home-page.site-refreshed .know-more-feature { border-radius: 16px; box-shadow: 0 10px 32px #19384c0a; }
.home-page.site-refreshed .know-more-feature-body { padding: 32px; }
.home-page.site-refreshed .know-more-card { padding: 26px; border: 1px solid #dce6ee; border-radius: 14px; box-shadow: none; }
.home-page.site-refreshed .home-cta { padding-block: 80px; background: #122e45; text-align: left; }
.home-page.site-refreshed .home-cta > .container { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: center; gap: 56px; }
.home-page.site-refreshed .home-cta h2 { font-size: clamp(30px, 3.8vw, 48px); margin: 0 0 20px; }
.home-page.site-refreshed .home-cta h2 em { color: #bbd7ee; }
.home-page .home-cta .home-overline { color: #accbe2; }
.home-page .project-copy > p:last-child { max-width: 570px; color: #c1d2de; font-size: 16px; line-height: 1.8; margin: 0; }
.home-page .project-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.home-page .project-actions > .btn { background: #d3e6f5; color: #234c6b; border-color: #d3e6f5; }
.home-page .project-actions > .btn:hover { background: #e8f3fb; }
.home-page .project-actions > a:not(.btn) { color: #e4eef6; font-size: 15px; overflow-wrap: anywhere; }
.home-page .project-actions > span { color: #acc3d4; font-size: 12px; }
@media (max-width: 1000px) {
  .home-page.site-refreshed .si-grid { grid-template-columns: 1fr; gap: 24px; }
  .home-page.site-refreshed .si-visual { min-height: 320px; }
  .home-page .workflow-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  .home-page.site-refreshed .app-showcase .csl-panel { gap: 24px; }
  .home-page.site-refreshed .home-cta > .container { gap: 32px; }
}
@media (max-width: 700px) {
  .home-page.site-refreshed .home-hero-content { min-height: 650px; padding-block: 132px 112px; }
  .home-page.site-refreshed .home-highlights { margin-top: 0; padding-block: 24px; }
  .home-page.site-refreshed .home-logo-strip > .container { grid-template-columns: 1fr; gap: 12px; }
  .home-page .industry-links { gap: 4px 20px; }
  .home-page.site-refreshed .home-photo { min-height: 320px; }
  .home-page.site-refreshed .home-photo-frame { display: none; }
  .home-page.site-refreshed .home-photo-badge { left: 16px; right: 16px; bottom: 16px; }
  .home-page .workflow-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 32px; }
  .home-page.site-refreshed .app-showcase .csl-panel { grid-template-columns: 1fr; min-height: 0; }
  .home-page.site-refreshed .faq-layout { grid-template-columns: 1fr; gap: 32px; }
  .home-page.site-refreshed .faq-list details { padding: 20px; }
  .home-page.site-refreshed .home-cta { padding-block: 64px; }
  .home-page.site-refreshed .home-cta > .container { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .home-page .workflow-grid { grid-template-columns: 1fr; gap: 28px; }
  .home-page.site-refreshed .home-hero h1 { font-size: 38px; }
  .home-page.site-refreshed .hero-actions > .btn { padding-inline: 18px; }
  .home-page.site-refreshed .si-row { padding-inline: 8px; gap: 10px; }
  .home-page.site-refreshed .know-more-feature-body { padding: 24px; }
}
