@font-face {
  font-family: "myriad_proregular";
  src: url("fonts/myriad_pro_regular-webfont.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "myriad_prosemicondensed";
  src: url("fonts/myriad_pro_semicondensed-webfont.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  color-scheme: light;
  --ink: #152235;
  --muted: #5e6d7f;
  --line: #d8e1eb;
  --soft: #f3f7fb;
  --blue: #0a74b9;
  --blue-deep: #075486;
  --navy: #071421;
  --gold: #f0b429;
  --shadow: 0 18px 54px rgba(8, 20, 33, 0.14);
  font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: #eaf0f6;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.5;
  overflow-x: hidden;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

.header-wrapper {
  position: sticky;
  top: 0;
  z-index: 30;
  margin-top: 0;
  padding: 12px 0;
  background: #ffffff;
}

.container-fluid {
  width: 100%;
  padding-left: 40px;
  padding-right: 40px;
}

.flex-center {
  display: flex;
  align-items: center;
}

.justify-content-between {
  justify-content: space-between;
}

.header-wrapper .flex-center {
  gap: normal;
  min-width: 0;
}

.logo {
  width: 250px;
  flex: 0 0 250px;
}

.logo img {
  display: inline;
  width: 100%;
  height: auto;
}

.header-right {
  display: block;
  min-width: 0;
  flex: 0 0 auto;
}

.headerRightInfo {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
  line-height: normal;
  list-style: none;
  width: auto;
}

.headerRightInfo li {
  margin-bottom: -8px;
}

.headerRightInfo li + li {
  margin-left: 26px;
}

.headerRightInfo a {
  display: inline-grid;
  place-items: center;
  color: #000000;
  font-size: 22px;
  line-height: normal;
}

.headerRightInfo .search a,
.headerRightInfo .email a {
  width: 22px;
  height: 22px;
}

.headerRightInfo .search span {
  position: relative;
  display: block;
  width: 19px;
  height: 19px;
  border: 3px solid #000000;
  border-radius: 50%;
}

.headerRightInfo .search span::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 3px;
  right: -8px;
  bottom: -4px;
  background: #000000;
  transform: rotate(45deg);
  transform-origin: left center;
}

.headerRightInfo .email span {
  position: relative;
  display: block;
  width: 24px;
  height: 17px;
  border: 2px solid #000000;
  border-radius: 1px;
}

.headerRightInfo .email span::before,
.headerRightInfo .email span::after {
  content: "";
  position: absolute;
  top: 2px;
  width: 15px;
  height: 2px;
  background: #000000;
}

.headerRightInfo .email span::before {
  left: 1px;
  transform: rotate(32deg);
  transform-origin: left center;
}

.headerRightInfo .email span::after {
  right: 1px;
  transform: rotate(-32deg);
  transform-origin: right center;
}

.header-right_menu {
  position: relative;
  top: 10px;
  min-width: 0;
}

.main-menu > ul {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-menu > ul > li {
  display: inline-flex;
  margin-right: 50px;
}

.main-menu > ul > li:last-child {
  margin-right: 0;
}

.main-menu > ul > li > a {
  display: inline-block;
  padding-bottom: 10px;
  color: #000000;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  text-transform: capitalize;
}

.main-menu > ul > li > a:hover,
.headerRightInfo a:hover {
  color: var(--blue);
}

.themeBtn.requestBtn,
.contact-strip a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 41px;
  padding: 10px 30px;
  color: #fff;
  background: #2e2564;
  border-radius: 0;
  font-weight: 900;
  line-height: normal;
  text-align: center;
  white-space: nowrap;
}

.themeBtn.requestBtn:hover,
.contact-strip a:hover {
  background: #ff8a26;
}

.header-right_actions {
  display: none;
}

.hamburger_button {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 40px;
  height: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.hamburger_button span {
  display: block;
  width: 40px;
  height: 2px;
  background: #000000;
}

.mobile-panel {
  display: none;
}


@media only screen and (min-width: 1200px) and (max-width: 1549px) {
  .main-menu > ul > li {
    margin-right: 30px;
  }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .main-menu > ul > li {
    margin-right: 25px;
  }
}

@media (max-width: 1100px) {
  .overview-grid {
    grid-template-columns: 1fr;
  }

  .preview-carousel {
    height: 245px;
  }

  .video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .header-wrapper {
    position: sticky;
  }

  .header-right {
    display: flex;
    justify-content: flex-end;
    margin-top: 11px;
  }

  .header-right_menu {
    display: none;
  }

  .requestDemo {
    display: none;
  }

  .header-right_actions {
    display: flex;
    margin-left: 40px;
  }

  .mobile-panel {
    position: absolute;
    top: 100%;
    right: 15px;
    z-index: 40;
    display: block;
    width: min(86vw, 380px);
    padding: 22px 24px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(8, 20, 33, 0.2);
  }

  .mobile-panel[hidden] {
    display: none;
  }

  .mobile-menu {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
  }

  .mobile-menu a {
    display: block;
    padding: 12px 0;
    color: #000000;
    font-size: 18px;
    line-height: 1.25;
  }

  .mobile-request {
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .header-wrapper {
    margin-top: 20px;
  }
}

@media (max-width: 780px) {
  .hero-banner {
    min-height: 190px;
  }

  .slide-section {
    padding-inline: 10px;
  }

  .slide-frame {
    padding: 18px 12px;
  }

  .overview-grid,
  .physics-grid,
  .video-grid {
    grid-template-columns: 1fr;
  }

  .preview-carousel {
    height: 430px;
  }

  .pair-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .pair-item figcaption {
    font-size: 0.82rem;
  }

  .site-footer {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 767.98px) {
  .container-fluid {
    padding-left: 15px;
    padding-right: 15px;
  }

  .logo {
    width: 170px;
    flex-basis: 170px;
  }

  .header-right_actions {
    margin-top: 4px;
    margin-left: 7px;
  }
}

@media (max-width: 420px) {
  .hero-banner {
    min-height: 170px;
  }
}

body { color:#686868;background:#f3f7fb; overflow-x:visible; }
.header-wrapper,.header-wrapper button { font-family:'Calibri','myriad_proregular',Arial,sans-serif; }
.header-wrapper .main-menu > ul > li > a,.header-wrapper .mobile-menu a { color:#000; }
.header-wrapper .requestBtn { font-size:calc(17px + 2pt);font-weight:400;line-height:normal; }
.header-wrapper .headerRightInfo .search a,.header-wrapper .headerRightInfo .email a { width:22px;height:27px; }
.header-wrapper .headerRightInfo i { font-family:'simple-line-icons';font-size:22px;font-style:normal;font-weight:400;line-height:1; }
.header-wrapper .icon-magnifier::before { content:'\e090'; }
.header-wrapper .icon-envelope::before { content:'\e086'; }
@media (min-width:992px) { .header-wrapper { min-height:90px; } }
html { scroll-padding-top:110px; }
:focus-visible { outline:3px solid #0a74b9; outline-offset:4px; }
.screen-reader-text,.marine-skip { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.marine-skip:focus { position:fixed;left:16px;top:16px;width:auto;height:auto;clip-path:none;background:white;padding:12px;z-index:100; }
.marine-main { color:#686868;font-family:'Calibri','myriad_proregular','Segoe UI',Arial,sans-serif; font-size:calc(clamp(17px,1.1vw,20px) + 2pt);line-height:1.65; }
.marine-main h1,.marine-main h2,.marine-main h3 { font-family:'Calibri','myriad_prosemicondensed','Segoe UI',Arial,sans-serif;line-height:1.2; }
.marine-main h1 { margin:0 0 24px;color:#000;font-size:clamp(28px,2.5vw,46px);text-align:center;font-weight:600; }
.marine-main h2 { color:#000;font-size:clamp(28px,2.5vw,42px);margin:0 0 26px; }
.marine-main h3 { font-size:clamp(22px,1.7vw,28px);color:#000;margin:0 0 18px; }
.marine-main p { margin:0 0 22px; }
.marine-banner { position:relative; background:#213d62; }
.marine-banner video { display:block;width:100%;height:auto;aspect-ratio:2160/356;object-fit:contain; }
.marine-container { max-width:1800px;margin-inline:auto;padding-inline:clamp(20px,4vw,76px); }
@media (min-width:768px) {
  :is(#overview,#capabilities,#results,#design,#testimonials,#resources) > .marine-container {
    width:85%;max-width:1530px;padding-inline:clamp(17px,3.4vw,64.6px);
  }
  #overview .marine-lead { width:80%;max-width:1040px; }
}
.marine-section { padding-block:clamp(40px,4vw,72px);scroll-margin-top:8px; }
.marine-section--white,.marine-overview { background:white; }
.marine-lead { max-width:1300px;margin:0 auto 34px!important;text-align:center;font-size:calc(clamp(19px,1.35vw,23px) + 2pt); }
.marine-grid { display:grid;gap:clamp(20px,2vw,34px); }
.marine-grid>* { min-width:0; }
.marine-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.marine-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.marine-card { padding:clamp(22px,2.2vw,36px);background:#fff;border:1px solid #d8e1eb;border-radius:12px;box-shadow:0 14px 40px #08142114; }
.marine-card p:last-child { margin-bottom:0; }
.marine-card ul { padding-left:23px;margin:0; }
.marine-card li { padding-block:3px; }
.marine-jump { display:flex;justify-content:center;flex-wrap:wrap;gap:6px 14px;background:transparent;padding:15px 20px; }
.marine-jump a { color:#000;font-weight:700;padding:7px 12px;line-height:1.2; }
.marine-jump a:hover { text-decoration:underline; }
.marine-list-card { padding:0 0 24px;overflow:hidden;box-shadow:0 16px 36px rgba(8,20,33,.18),0 4px 10px rgba(8,20,33,.08); }
.marine-list-card h3 { padding:18px 26px;background:#fff;color:#000; }
.marine-list-card ul { padding-inline:48px 26px; }
.marine-gallery { margin-top:34px; }
.marine-figure { margin:0;background:white;border:1px solid #d8e1eb;border-radius:10px;overflow:hidden;box-shadow:0 12px 32px #08142112; }
.marine-figure img { width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;padding:12px;background:white; }
.marine-figure video { display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;padding:12px;background:white; }
.marine-figure figcaption { padding:14px 20px;background:#f3f7fb;color:#686868;font-size:calc(18px + 2pt);font-weight:600; }
.marine-design-card { display:flex;flex-direction:column; }
.marine-design-intro { width:100%;margin-inline:0;text-align:left; }
.marine-design-card ul { margin-bottom:24px; }
.marine-design-images { margin-top:auto;display:grid;gap:18px; }
.marine-design-images img { width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:#f3f7fb; }
@media (min-width:1101px) {
  .marine-design-grid { gap:clamp(12px,1vw,18px); }
  .marine-design-card { padding:clamp(20px,1.4vw,24px); }
}
.marine-testimonials { display:grid;gap:26px; }
#testimonials-title { margin-bottom:20.8px; }
.marine-quote blockquote { margin:0;font-size:calc(clamp(17px,1.05vw,19px) + 2pt); }
.marine-resource { padding:0 0 22px;overflow:hidden;display:block;transition:transform .2s; }
.marine-resource:hover { transform:translateY(-4px); }
.marine-resource img { width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#071421; }
.marine-resource-title { display:block;padding:22px 22px 8px;font-size:24px;color:#000;font-weight:600; }
.marine-resource-link { color:#686868;padding-inline:22px;font-size:calc(17px + 2pt);text-decoration:underline; }
.marine-contact { background:#e3e7ed;border-radius:12px;padding:clamp(24px,3vw,48px);margin-top:44px; }
.marine-eyebrow { font-size:calc(16px + 2pt);letter-spacing:1.5px;color:#686868;margin-bottom:12px!important; }
.marine-contact h3 { max-width:1150px;font-size:clamp(24px,2.1vw,34px); }
.marine-button { display:inline-flex;align-items:center;justify-content:center;background:#2e2564;color:#fff;padding:clamp(10px,1vw,16px) clamp(20px,2.8vw,50px);min-height:0;font-family:'Calibri','myriad_prosemicondensed',Arial,sans-serif;font-size:calc(17px + 2pt);font-weight:400;line-height:1.25; }
.marine-button:hover { background:#213d62; }
.homepage-footer .social-icon span { display:inline-block; }
@media (min-width:768px) and (max-width:991.98px) { .header-wrapper { margin-top:0; } }
@media (max-width:1100px) { .marine-grid--three { grid-template-columns:repeat(2,minmax(0,1fr)); } .marine-design-grid { grid-template-columns:1fr; } .marine-design-images { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { html { scroll-padding-top:90px; } .marine-grid--two,.marine-grid--three { grid-template-columns:1fr; } .marine-design-images { grid-template-columns:1fr; } .marine-jump { gap:6px 4px; } .marine-jump a { font-size:calc(15px + 2pt); } }
@media (max-width:360px) { .logo { width:145px;flex-basis:145px; } .headerRightInfo li+li { margin-left:16px; } .hamburger_button,.hamburger_button span { width:30px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
body.admin-bar .header-wrapper { top:32px; }
@media(max-width:782px) { body.admin-bar .header-wrapper { top:46px; } }


/* One-point increase for navigation and footer copy; retain title sizes. */
.header-wrapper .main-menu > ul > li > a { font-size:calc(16px + 2pt); }
.header-wrapper .mobile-menu a { font-size:calc(18px + 2pt); }
.homepage-footer .footer-widget-list li { font-size:calc(17px + 2pt); }
.homepage-footer .footer-widget .footer-widget-list-icon li span { font-size:calc(clamp(15px, 1.2vw, 18px) + 2pt); }

/* Use installed Calibri; retain bundled Myriad as the fallback. */
.homepage-footer .footer-widget-list,
.homepage-footer .footer-widget-list a,
.homepage-footer .footer-widget-list-icon { font-family: Calibri, myriad_proregular, Arial, sans-serif !important; }
.homepage-footer .footer-widget-title { font-family: Calibri, myriad_prosemicondensed, Arial, sans-serif !important; }

/* Capability crops and display proportions follow the supplied PowerPoint. */
#capabilities .marine-figure video, #capabilities .marine-figure img { aspect-ratio:auto; }

/* Floating capability animations with rounded media corners. */
#capabilities .marine-figure { align-self:start; padding:0; border:0; border-radius:14px; overflow:hidden; background:transparent; box-shadow:0 16px 32px rgba(8,20,33,.20),0 4px 10px rgba(8,20,33,.10); }
#capabilities .marine-figure video, #capabilities .marine-figure img { padding:0; border-radius:14px; display:block; width:100%; }

/* Desktop capability sizes and spacing reproduce the supplied PowerPoint. */
@media (min-width:1101px) {
  #capabilities .marine-gallery { display:block; position:relative; aspect-ratio:10290870 / 3841249; }
  #capabilities .marine-gallery > .marine-figure:nth-child(1) { position:absolute; left:0.12875%; top:1.12901%; width:30.54498%; }
  #capabilities .marine-gallery > .marine-figure:nth-child(2) { position:absolute; left:32.58055%; top:1.53697%; width:32.73958%; }
  #capabilities .marine-gallery > .marine-figure:nth-child(3) { position:absolute; left:67.84132%; top:0.00000%; width:32.15868%; }
  #capabilities .marine-gallery > .marine-figure:nth-child(4) { position:absolute; left:0.00000%; top:50.95278%; width:30.85411%; }
  #capabilities .marine-gallery > .marine-figure:nth-child(5) { position:absolute; left:32.61154%; top:52.08363%; width:32.70859%; }
  #capabilities .marine-gallery > .marine-figure:nth-child(6) { position:absolute; left:67.83009%; top:52.18214%; width:31.78766%; }
}

/* Complementary marine products with an explicit bidirectional connection. */
.marine-product-pair { display:grid;grid-template-columns:minmax(0,1fr) clamp(84px,8vw,130px) minmax(0,1fr);gap:clamp(14px,1.4vw,24px);align-items:stretch; }
.marine-product-card { min-width:0;box-shadow:0 22px 42px rgba(8,20,33,.16),0 5px 12px rgba(8,20,33,.09); }
.marine-product-card h2 { margin-bottom:10px; }
.marine-product-card .marine-product-subtitle { font-size:clamp(19px,1.4vw,23px);font-weight:400;line-height:1.35;color:#777;margin:0 0 24px; }
.marine-product-connection { display:flex;align-items:center;justify-content:center; }
.marine-product-connection svg { display:block;width:100%;max-width:112px;height:auto; }
@media (max-width:1000px) {
 .marine-product-pair { grid-template-columns:minmax(0,1fr);gap:18px; }
 .marine-product-connection { height:92px; }
 .marine-product-connection svg { width:92px;transform:rotate(90deg); }
}

/* Compact product titles and more prominent descriptive subtitles. */
.marine-product-card { container-type:inline-size; }
.marine-product-card h2 { font-size:clamp(18px,1.9vw,30px);font-size:clamp(17px,7cqi,30px);white-space:nowrap; }
.marine-product-card .marine-product-subtitle { font-size:clamp(20px,1.6vw,25px);font-weight:700; }

.marine-product-card h2, .marine-product-card .marine-product-subtitle { text-align:center; }
.marine-product-card .marine-product-subtitle { font-size:clamp(19px,1.5vw,24px); }
