.site-header nav a[aria-current="page"] { color: #2f6578; border-bottom: 2px solid #7ea4af; padding-bottom: 5px; }
.page-intro { background: linear-gradient(110deg,#f7fbfa 5%,#e7f0f2 100%); border-bottom: 1px solid #dce7e9; }
.page-intro-inner { width: min(1440px,92vw); margin: auto; padding: 88px 0 94px; }
.page-intro h1 { max-width: 1020px; font-size: clamp(42px,5.5vw,76px); line-height: 1.05; }
.page-intro p:not(.kicker) { max-width: 760px; margin: 24px 0 28px; color: #496571; font-size: 18px; line-height: 1.7; }
.page-intro .button { margin-top: 4px; }
.home-routes { background: #f8faf9; }
.route-grid { max-width: 1440px; margin: auto; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.route-grid a { min-height: 255px; padding: 28px; border: 1px solid #dce7e9; border-radius: 22px; background: #fff; display: flex; flex-direction: column; transition: transform .2s,border-color .2s; }
.route-grid a:hover { transform: translateY(-3px); border-color: #91b4be; }
.route-grid span { color: #668591; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.route-grid h3 { margin: 30px 0 10px; font-size: 22px; }
.route-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.route-grid b { margin-top: auto; color: #2f6578; font-size: 13px; }
.home-process { background: #e9f1f3; display: grid; grid-template-columns: 1.2fr 1fr auto; align-items: end; gap: 44px; }
.home-process h2,.explanation h2,.next-route h2 { margin: 0; font-size: clamp(32px,3.7vw,54px); line-height: 1.1; }
.home-process>p { max-width: 570px; color: #496571; line-height: 1.8; margin: 0; }
.home-process .button { white-space: nowrap; }
.selection-page { padding-top: 80px; }
.catalog-page { padding-top: 82px; }
.catalog-standalone { max-width: 1440px; margin: 38px auto 0; padding: 32px; background: #fff; border: 1px solid #dce7e9; border-radius: 24px; scroll-margin-top: 105px; }
.catalog-topline { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; margin: 0 6px 14px; }
.catalog-topline h2 { font-size: clamp(25px,2.5vw,36px); }
.catalog-topline span { color: #668591; font-size: 13px; white-space: nowrap; }
.catalog-page .product-grid { grid-template-columns: repeat(4,1fr); }
.explanation { background: #fff; }
.explanation>div:first-child { max-width: 1440px; margin: 0 auto 32px; }
.explanation-grid { max-width: 1440px; margin: auto; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.explanation-grid article { padding: 27px; border-radius: 20px; background: #f2f7f8; border: 1px solid #dce7e9; }
.explanation-grid b { font-family: Unbounded,sans-serif; font-size: 17px; }
.explanation-grid p { margin: 12px 0 0; color: var(--muted); line-height: 1.65; }
.services-page { background: #fff; }
.services-page .service-feature { background: #e5f0f2!important; }
.installation-page { max-width: none; padding-inline: max(4vw,24px); }
.installation-page .install-intro { max-width: 620px; margin-left: auto; }
.installation-page .timeline { max-width: 680px; }
.areas-page { background: #e8f0f4; }
.next-route { background: #edf4f5; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.next-route>div { max-width: 760px; }
.next-route p:not(.kicker) { color: var(--muted); line-height: 1.7; }
.next-route .button { white-space: nowrap; }
@media(max-width:1050px) {
  .home-process { grid-template-columns: 1fr 1fr; }
  .home-process .button { justify-self: start; }
  .catalog-page .product-grid { grid-template-columns: repeat(3,1fr); }
}
@media(max-width:760px) {
  .site-header nav { top: 70px; }
  .page-intro-inner { padding: 64px 0 70px; }
  .page-intro p:not(.kicker) { font-size: 16px; }
  .route-grid,.explanation-grid { grid-template-columns: 1fr 1fr; }
  .home-process { grid-template-columns: 1fr; }
  .catalog-page .product-grid { grid-template-columns: 1fr 1fr; }
  .catalog-standalone { padding: 22px 16px; }
  .installation-page .install-intro { margin: 0; }
  .next-route { flex-direction: column; align-items: start; }
}
@media(max-width:480px) {
  .page-intro h1 { font-size: 38px; }
  .route-grid,.explanation-grid,.catalog-page .product-grid { grid-template-columns: 1fr; }
  .route-grid a { min-height: 210px; }
  .catalog-topline { flex-direction: column; gap: 6px; }
  .catalog-meta { flex-direction: column; }
  .next-route .button { width: 100%; }
}
