/* OneNode responsive layout review, 2026-09-05. */
.primary-nav .mobile-support { display: none; }
.primary-nav a, .header-cta { white-space: nowrap; }
.marketing-content .wp-block-details summary { padding-right: 58px; }
.service-directory .onenode-related-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; list-style: none; padding: 0; margin: 28px 0 0; }
.service-directory .onenode-related-links a { display: block; padding: 18px 20px; border: 1px solid #cbdfea; border-radius: 12px; text-decoration: none; font-weight: 650; }
.service-directory .onenode-related-links a:hover, .service-directory .onenode-related-links a:focus-visible { background: #edf8fd; text-decoration: underline; }
.home .card h3 a { color: inherit; text-decoration: underline; text-decoration-color: #059ed3; text-underline-offset: 5px; }
.home .card h3 a:hover { color: #0079ac; }
.price-card .plan-action { margin-top: 24px; }
.price-card .plan-action a { display: inline-block; color: #80ddff; font-weight: 650; text-underline-offset: 5px; padding-block: 8px; }
.post-card:not(:has(.post-card-media)) .post-card-body { padding-top: 28px; }
@media (min-width:861px) and (max-width:1150px) {
  .header-inner { gap: 16px; }
  .primary-nav ul { gap: 16px; }
  .primary-nav a { font-size: 14px; }
  .header-inner .brand-logo { width: 150px; }
  .header-cta { padding-inline: 15px; font-size: 13px; }
}
@media (max-width:860px) {
  .primary-nav.is-open .mobile-support { display: block; margin-top: 14px; }
  .primary-nav.is-open .mobile-support a { border: 1px solid #43c9ef; border-radius: 10px; padding: 15px; color: #80ddff; }
  .form-layout > .form-aside { order: 2; }
  .form-layout > .form-aside + div { order: 1; }
}
@media (max-width:680px) {
  .section, .home .marketing-content .section { padding-block: 60px; }
  .section-sm { padding-block: 44px; }
  .page-hero { padding-block: 68px 54px; }
  .content-shell { padding-block: 52px; }
  .marketing-content .hero.editable-hero .container { padding-block: 66px 54px; }
  .home .marketing-content > .section:not(.dark):not(.soft) + .section:not(.dark):not(.soft),
  .home .marketing-content > .section.soft + .section.soft { padding-top: 16px; }
  .method-step { min-height: 0; }
  .method-step::before { margin-bottom: 18px; }
  .card, .detail-card { min-height: 0; }
  .service-directory .onenode-related-links { grid-template-columns: 1fr; }
}
/* Service links belong to their existing cards. */
.detail-card { position: relative; }
.detail-card:has(.service-card-link) { position: relative; transition: border-color .15s ease, box-shadow .15s ease; }
.detail-card:has(.service-card-link):hover,
.detail-card:has(.service-card-link:focus-visible) { border-color: #008bc1; box-shadow: 0 8px 24px rgba(0,112,160,.12); }
.detail-card .service-card-action { margin: 20px 0 0; }
.detail-card .service-card-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #006b99; font-size: 16px; font-weight: 650; text-decoration: none; }
.detail-card .service-card-link::after { content: ""; position: absolute; inset: 0; border-radius: 18px; }
.detail-card .service-card-link:focus-visible { outline: none; }
.detail-card .service-card-link:focus-visible::after { outline: 3px solid #008bc1; outline-offset: 3px; }
.page-hero .service-coverage-link { margin: 22px 0 0; }
.page-hero .service-coverage-link a { display: inline-flex; align-items: center; min-height: 44px; color: #80ddff; font-size: 16px; font-weight: 600; text-underline-offset: 5px; }
@media (prefers-reduced-motion: reduce) { .detail-card:has(.service-card-link) { transition: none; } }
