/* Shared navigation disclosure. Native details keeps service links usable without JS. */
.nav { position:relative; z-index:40; }
.nav-links { align-items:center; }
.nav .nav-toggle[hidden] { display:none; }
.nav-services { position:relative; align-self:center; }
.nav-services summary { display:flex; align-items:center; gap:5px; min-height:44px; padding:12px 0; color:#d0dfe4; cursor:pointer; list-style:none; font:inherit; }
.nav-services summary::-webkit-details-marker { display:none; }
.nav-services summary::marker { content:""; }
.nav-services summary:hover, .nav-services[open] summary { color:white; }
.nav-services.is-current summary { color:white; text-decoration:underline; text-underline-offset:8px; text-decoration-color:#6cc3dd; }
.nav-services .services-chevron { flex:none; transition:transform .18s ease; }
.nav-services[open] .services-chevron { transform:rotate(180deg); }
.nav-services summary:focus-visible { outline:2px solid #6cc3dd; outline-offset:5px; border-radius:3px; }
.nav-services .services-submenu { position:absolute; top:calc(100% + 8px); left:-22px; width:320px; max-width:calc(100vw - 40px); padding:10px; border:1px solid #dce5e7; border-radius:14px; background:#fff; box-shadow:0 14px 36px #082f3e29; }
.nav-services .services-submenu ul { list-style:none; margin:0; padding:0; }
.nav-services .services-submenu a { display:flex; align-items:center; min-height:48px; padding:12px 14px; font-size:15px; line-height:1.4; color:#0b3b4c; border-radius:7px; opacity:1; white-space:normal; text-decoration:none; }
.nav-services .services-submenu a:hover, .nav-services .services-submenu a:focus-visible { color:#005c7a; background:#eef6f8; }
.nav-services .services-submenu a:focus-visible { outline:2px solid #0077a0; outline-offset:-2px; }
.nav-services .services-submenu .services-overview { margin-bottom:5px; padding-bottom:15px; border-bottom:1px solid #e0e8eb; border-radius:0; font-weight:600; }
.nav-services .services-submenu a[aria-current="page"] { color:#005c7a; text-decoration:underline; text-underline-offset:4px; }

/* Accommodate the approved multi-line page introductions without enlarging the main type. */
.inner .ip-heading-main, .inner .ip-heading-sub { display:block; }
.inner .ip-heading-sub { font-size:.68em; line-height:1.13; margin-top:15px; letter-spacing:-.035em; }
.inner .ip-example-summary { max-width:820px; font-size:18px; line-height:1.6; color:var(--petrol); margin-top:22px; }
.inner .ip-service-header { align-items:start; }
.inner .ip-service-question { padding-top:36px; }
.inner .ip-service:focus { outline:none; }
.case-read { max-width:100%; line-height:1.4; }
.case-read svg { flex:none; }

@media (max-width:960px) {
  .nav-links { align-items:stretch; }
  .nav-services { align-self:stretch; }
  .nav-services summary { justify-content:space-between; padding:13px 0; }
  .nav-services .services-submenu { position:static; width:100%; max-width:100%; margin:0 0 12px; padding:6px; box-shadow:none; border-color:#ffffff24; border-radius:9px; background:#103f50; }
  .nav-services .services-submenu a { color:#f3f8fa; font-size:16px; }
  .nav-services .services-submenu a:hover, .nav-services .services-submenu a:focus-visible { color:white; background:#205263; }
  .nav-services .services-submenu a:focus-visible { outline-color:#6cc3dd; }
  .nav-services .services-submenu .services-overview { border-color:#ffffff24; }
  .nav-services .services-submenu a[aria-current="page"] { color:white; }
}
@media (max-width:800px) {
  .inner .ip-service-question { padding-top:0; }
}
@media (prefers-reduced-motion:reduce) {
  .nav-services .services-chevron { transition:none; }
}
