/* Shared navigation and card fixes for the blue landing-page template. */
.blue nav.contents {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 8px 0 30px;
  padding: 18px;
  color: #173553;
  background: #e1effb;
  border: 1px solid #c5d9ea;
  border-radius: 16px;
}
.blue nav.contents a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 8px 14px;
  color: #174f86;
  background: #fff;
  border: 1px solid #b9d1e6;
  border-radius: 8px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
}
.blue nav.contents a:hover { background: #d3e8fa; border-color: #1456a0; }
.blue nav.contents a:focus-visible { outline: 3px solid #1659a2; outline-offset: 2px; }
.blue article { min-height: 0; }
@media (max-width: 620px) {
  .blue nav.contents { gap: 8px; padding: 14px; margin-bottom: 24px; }
  .blue nav.contents a { font-size: 15px; }
}
/* External decorative icons preserve the original card layout with fewer DOM nodes. */
.blue .service-card .service-icon { display:block; width:65px; height:48px; }
@media (max-width:620px) { .blue .service-card .service-icon { width:52px; height:40px; } }
/* Shared site navigation and related services. */
.blue nav.site-nav { display:block; position:relative; z-index:5; margin:16px 0 0; padding:0; background:transparent; color:#173553; }
.blue .site-nav-bar { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.blue .site-nav-bar > a, .blue .site-menu > summary { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:8px 14px; border:1px solid #bed4e6; border-radius:8px; background:#fff; color:#174f86; font-size:15px; font-weight:700; line-height:1.3; text-decoration:none; cursor:pointer; }
.blue .site-nav-bar > a:hover, .blue .site-menu > summary:hover { background:#dceeff; border-color:#669bc4; }
.blue .site-nav-bar > a[aria-current="page"] { background:#e1effb; border-color:#83a9cb; }
.blue .site-menu { position:static; border:0; }
.blue .site-menu > summary { gap:8px; list-style:none; }
.blue .site-menu > summary::-webkit-details-marker { display:none; }
.blue .site-menu[open] > summary { background:#1456a0; border-color:#1456a0; color:#fff; }
.blue .site-menu-panel { position:absolute; right:0; top:calc(100% + 8px); width:min(980px, calc(100vw - 40px)); max-height:min(70vh, 680px); overflow:auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:22px; background:#fff; border:1px solid #bdd5e9; border-radius:16px; box-shadow:0 16px 38px #1735532b; }
.blue .site-menu-group strong { display:block; margin:0 0 10px; color:#173553; font-size:15px; }
.blue .site-menu-group ul { margin:0; padding:0; list-style:none; }
.blue .site-menu-group li { max-width:none; margin:0; }
.blue .site-menu-group a { display:block; padding:7px 0; color:#145690; font-size:15px; line-height:1.35; text-decoration:none; }
.blue .site-menu-group a:hover { text-decoration:underline; }
.blue .site-menu-group a[aria-current="page"] { color:#173553; font-weight:700; }
.blue nav.breadcrumbs { display:block; margin:16px 0 0; padding:0; color:#567087; background:transparent; font-size:14px; }
.blue .breadcrumbs ol { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:0; padding:0; list-style:none; }
.blue .breadcrumbs li { margin:0; max-width:none; }
.blue .breadcrumbs li + li::before { content:'›'; padding-right:6px; color:#7592aa; }
.blue .breadcrumbs a { color:#145690; text-decoration:underline; text-underline-offset:2px; }
.blue .breadcrumbs [aria-current="page"] { color:#435f77; }
.blue .related-pages { padding:32px 0; border-top:1px solid #bed2e3; }
.blue .related-pages h2 { font-size:clamp(24px,3vw,34px); }
.blue .related-pages p { margin:12px 0 18px; }
.blue .related-pages-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:10px; }
.blue .related-pages-list a { display:flex; align-items:center; min-height:58px; padding:14px 16px; background:#fff; border:1px solid #bed4e6; border-radius:10px; color:#145690; font-weight:700; text-decoration:none; }
.blue .related-pages-list a:hover { background:#e1effb; border-color:#83a9cb; }
.blue :is(.site-nav,.breadcrumbs,.related-pages) a:focus-visible, .blue .site-menu summary:focus-visible { outline:3px solid #1659a2; outline-offset:3px; }
@media(max-width:720px) {
  .blue .site-nav-bar { gap:6px; }
  .blue .site-nav-bar > a, .blue .site-menu > summary { font-size:14px; padding:8px 10px; }
  .blue .site-menu { position:static; }
  .blue .site-menu-panel { right:0; left:0; width:auto; grid-template-columns:1fr 1fr; gap:18px; padding:18px; }
  .blue nav.breadcrumbs { font-size:13px; }
}
@media(max-width:390px) { .blue .site-menu-panel { grid-template-columns:1fr; } }
