/* Quiet navigation and a small number of clearly labelled actions. */
.text-link,
main a.button {
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #075e70;
  text-decoration: none;
  text-underline-offset: 5px;
}
.text-link:hover,
main a.button:hover {
  background: transparent;
  box-shadow: none;
  text-decoration: underline;
  transform: none;
}
.home-page .has-background-video .hero-actions .text-link {
  padding-inline: 0;
  color: #fff;
}
.solutions-overview .ocean-hero-actions { margin-top: 24px; }

/* Contact and search sit with the other navigation labels. */
.site-header nav > .nav-contact,
.site-header nav > .nav-contact:hover,
.site-header nav > .nav-contact[aria-current] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
  padding: 12px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #062d3d;
  text-align: left;
}
.site-header nav > .nav-contact[aria-current] {
  text-decoration: underline;
  text-decoration-color: #53d8e9;
  text-underline-offset: 8px;
  text-decoration-thickness: 3px;
}
.site-header .header-explore,
.site-header .header-explore:hover {
  width: auto;
  min-width: 44px;
  min-height: 44px;
  padding: 10px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #062d3d;
}
.site-header .header-explore > span { display: inline; }
.site-header .header-explore > :is(svg, kbd) { display: none; }
.site-header .header-explore:hover > span,
.site-header nav > .nav-contact:hover { text-decoration: underline; text-underline-offset: 5px; }
.site-header .menu-toggle { min-width: 44px; min-height: 44px; justify-content: center; }

/* Every service category is visible without a carousel. */
.home-page .solutions-home { padding-block: 88px; }
.simple-solution-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 64px;
  margin: 36px 0 0;
  padding: 0;
  list-style: none;
}
.simple-solution-list > li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 20px;
  min-width: 0;
  margin: 0;
  padding: 17px 0;
  border-top: 1px solid #d5e3e7;
}
.simple-solution-list > li > a {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 44px;
  color: #062d3d;
  font-family: var(--display);
  font-size: clamp(22px, 2.1vw, 28px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
  text-decoration: none;
  text-underline-offset: 6px;
}
.simple-solution-list > li > a:hover { color: #075e70; text-decoration: underline; }
.simple-solution-list > li > span {
  color: #5b747f;
  font-size: 14px;
  line-height: 1.6;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.home-page .solutions-home .all-solutions { margin-top: 24px; }

/* Category links and image arrows need no button outlines. */
:is(.service-category-page, .service-detail-page) .service-category-navigation {
  gap: 8px 28px;
}
:is(.service-category-page, .service-detail-page) .service-category-navigation a,
:is(.service-category-page, .service-detail-page) .service-category-navigation a:hover,
:is(.service-category-page, .service-detail-page) .service-category-navigation a[aria-current] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #075e70;
  box-shadow: none;
  text-underline-offset: 5px;
}
:is(.service-category-page, .service-detail-page) .service-category-navigation a:hover,
:is(.service-category-page, .service-detail-page) .service-category-navigation a[aria-current] {
  text-decoration: underline;
}
.cargo-open,
:is(.cargo-portrait, .industry-visual-card):hover .cargo-open {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #075e70;
  box-shadow: none;
}

/* Playback, search and form controls retain their native functions. */
.home-page .hero-video-control,
.home-page .hero-video-control:hover,
.home-page .hero-video-volume {
  min-height: 44px;
  padding: 10px 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #fff;
  text-shadow: 0 1px 4px #001b2bd9;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.home-page .hero-video-control:hover { text-decoration: underline; text-underline-offset: 5px; }
.dialog-close,
.dialog-close:hover,
.cls-explorer .cls-explorer-close,
.cls-explorer .cls-explorer-close:hover {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #062d3d;
}
.filter-list > button,
.filter-list > button:hover,
.filter-list > button[aria-pressed=true] {
  min-height: 44px;
  padding: 10px 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #075e70;
  box-shadow: none;
  text-underline-offset: 6px;
}
.filter-list > button[aria-pressed=true],
.filter-list > button:hover { text-decoration: underline; }
.form-actions > :is(button[type=submit], .clear-draft) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #075e70;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
  text-underline-offset: 5px;
}
.form-actions > :is(button[type=submit], .clear-draft):hover {
  background: transparent;
  text-decoration: underline;
}
.enquiry-types .type-chip span,
.enquiry-types .type-chip > input:checked + span {
  min-height: 44px;
  padding: 10px 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #075e70;
  text-underline-offset: 6px;
}
.enquiry-types .type-chip > input:checked + span {
  font-weight: 650;
  text-decoration: underline;
}

@media (max-width: 1199px) {
  .site-header nav > .nav-contact,
  .site-header nav > .nav-contact:hover,
  .site-header nav > .nav-contact[aria-current] {
    padding-block: 13px;
    font-size: 20px;
    line-height: 1.5;
  }
}
@media (max-width: 799px) {
  .home-page .solutions-home { padding-block: 64px; }
  .simple-solution-list { grid-template-columns: minmax(0, 1fr); margin-top: 28px; }
  .simple-solution-list > li { padding-block: 14px; gap: 16px; }
  .simple-solution-list > li > a { font-size: 24px; }
}
@media (max-width: 399px) {
  .simple-solution-list > li > a { font-size: 22px; }
  .simple-solution-list > li > span { font-size: 13px; }
}
