/* Layout exceptions only: shared home.css supplies typography, cards and CTA. */
.solutions-page { --landing-section-space: 88px; }
.solutions-page .solutions-hero { position: relative; isolation: isolate; padding: 112px 0; min-height: 720px; }
.solutions-hero-layout { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.solutions-hero-copy { min-width: 0; position: relative; z-index: 1; }
.solutions-page .solutions-hero-copy > .hero-eyebrow { font-weight: 600; }
.solutions-hero-visual { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.solutions-hero-copy .hero-title { margin: 0 0 28px; }
.solutions-hero-copy .hero-subtitle { margin: 0 0 32px; }
.solutions-hero-visual img { display: block; position: absolute; right: 0; bottom: -10%; width: auto; height: 120%; max-width: none; object-fit: contain; object-position: right bottom; }
.solutions-page .solutions-areas { padding: var(--landing-section-space) 0; }
.solutions-page .solutions-areas .section-header { padding: 0 0 48px; }
.solutions-page .solutions-areas .posts-list article { border-radius: 16px; }
.solutions-page .solutions-areas .posts-list .post-img {
  height: 220px; flex-shrink: 0; aspect-ratio: auto; padding: 20px; border-radius: 16px 16px 0 0;
}
.solutions-page .solutions-areas .posts-list .post-img img { object-fit: contain; }
.solutions-page .solutions-areas .posts-list .title { min-height: 0; }
.solutions-page .solutions-areas .posts-list .title a { color: #426b84; }
.solutions-page .solutions-areas .read-more a {
  background: var(--home-cta-color); color: #fff; border-color: var(--home-cta-color);
  min-height: 44px; font-size: 15px; display: inline-flex; align-items: center; justify-content: center;
}
.solutions-page .solutions-areas .read-more a:hover { background: var(--home-cta-hover); border-color: var(--home-cta-hover); color: #fff; }
@media (max-width: 1199px) {
  .solutions-page { --landing-section-space: 64px; }
  .solutions-hero-layout { gap: 32px; }
}
@media (max-width: 991px) {
  .solutions-page .solutions-hero { min-height: 0; padding: 40px 0 0; }
  .solutions-hero-layout { grid-template-columns: 1fr; gap: 36px; }
  .solutions-hero-visual { position: relative; inset: auto; }
  .solutions-hero-visual img { position: static; width: 100%; height: auto; max-width: 100%; max-height: none; }
}
@media (max-width: 767px) {
  .solutions-page { --landing-section-space: 48px; }
  .solutions-page main .container { padding-left: 24px; padding-right: 24px; }
  .solutions-page .solutions-hero { padding: 24px 0 0; }
  .solutions-hero-layout { grid-template-columns: 1fr; gap: 36px; }
  .solutions-hero-copy .hero-title { font-size: 32px; }
  .solutions-hero-copy .hero-subtitle { font-size: 18px; }
  .solutions-page .solutions-areas .section-header { padding-bottom: 32px; }
  .solutions-page .solutions-areas .posts-list .title { margin-top: 22px; }
}
