/* Home is an entrance to dedicated pages; detailed catalogues show one choice. */
.home-page .hero-v2 { min-height: 0; padding-top: calc(var(--header-h) + var(--notice-h) + 36px); padding-bottom: 40px; }
.home-page .hero-v2-copy { padding-top: 0; }
.home-gateways { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 560px; margin: 28px 0; }
.home-gateways a { display: block; min-width: 0; padding: 14px 18px; border: 1px solid var(--line-strong); border-radius: 12px; background: rgba(8, 33, 52, .88); }
.home-gateways a:first-child { border-color: #57c4d7; background: #12384c; }
.home-gateways a:hover { background: #173c50; border-color: #71d9eb; }
.home-gateways strong { display: block; color: #edfaff; font-size: 1rem; }
.home-gateways span { display: block; color: #a7bdcc; font-size: .875rem; margin-top: 3px; }
.home-page .portfolio-entry { min-height: 44px; margin-top: 8px; align-items: center; }
.gateway-story-link { min-height: 44px; margin-top: 16px; }
.home-service-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; border-top: 1px solid var(--line); padding-top: 28px; }
.home-service-links a { display: grid; grid-template-columns: minmax(0, 1fr) 24px; gap: 8px 20px; min-width: 0; padding: 20px; border-radius: 12px; }
.home-service-links a:hover { background: #092437; }
.home-service-links strong { color: #e9f8ff; font-size: 1.125rem; }
.home-service-links span { grid-column: 1; color: #a7bdcc; font-size: 1rem; }
.home-service-links b { grid-column: 2; grid-row: 1 / 3; color: #8de9f4; align-self: center; }
.home-page :is(.home-gateways a[id], .home-service-links a[id]) { scroll-margin-top: calc(var(--header-h) + var(--notice-h) + 24px); }
.solutions-page .section { padding-block: 56px; }
.solution-browser { --solution-nav-offset: 172px; }
.solution-selector { position: sticky; top: calc(var(--header-h) + var(--notice-h)); z-index: 10; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 20px; padding: 12px; border: 1px solid var(--line-strong); border-radius: 16px; background: #071a2b; }
.solution-selector a { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 48px; padding: 10px 14px; border: 1px solid transparent; border-radius: 10px; color: #b4cad8; font-size: .9375rem; line-height: 1.5; text-align: center; }
.solution-selector a:hover { color: #effcff; border-color: var(--line-strong); background: #102d40; }
.solutions-page .catalogue-card[id] { scroll-margin-top: calc(var(--notice-h) + var(--header-h) + var(--solution-nav-offset) + 24px); }
.solutions-page .catalogue-card .read-more-body { max-width: 78ch; }
@supports selector(:has(*)) {
  .solution-browser .catalogue-card { display: none; }
  .solution-browser .catalogue-card:target,
  .solution-browser:not(:has(.catalogue-card:target)) .catalogue-card:first-child { display: grid; }
  .solution-browser:not(:has(.catalogue-card:target)) .solution-selector a[href="#dolphin-suite"],
  .solution-browser:has(#dolphin-suite:target) .solution-selector a[href="#dolphin-suite"],
  .solution-browser:has(#sirius-suite:target) .solution-selector a[href="#sirius-suite"],
  .solution-browser:has(#cloud-suite:target) .solution-selector a[href="#cloud-suite"],
  .solution-browser:has(#connectivity:target) .solution-selector a[href="#connectivity"],
  .solution-browser:has(#software-lab:target) .solution-selector a[href="#software-lab"],
  .solution-browser:has(#research_engineering:target) .solution-selector a[href="#research_engineering"] { color: #e6fbff; background: #12384c; border-color: #49b3cb; }
}
@media (max-width: 720px) {
  .home-service-links { grid-template-columns: 1fr; gap: 8px; }
  .home-gateways a { padding: 12px; }
  .solutions-page .section { padding-block: 36px; }
  .solution-browser { --solution-nav-offset: 248px; }
  .solution-selector { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 8px; }
  .solution-selector a { font-size: .875rem; padding-inline: 8px; }
}
@media print {
  .solution-browser .catalogue-card { display: grid; }
  .solution-selector { position: static; }
}
