@font-face{
  font-family:Montserrat;
  src:url('/assets/montserrat-regular.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap}

*{
  box-sizing:border-box}
html{
  background:#f8f8f8;
  overflow-y:scroll}
body{
  margin:0;
  background:#fff;
  color:#434345;
  font:16px/1.5 Montserrat,sans-serif}
button,input{
  font:inherit}
button{
  color:inherit;
  cursor:pointer}
button,a{
  -webkit-tap-highlight-color:transparent}
a{
  color:inherit;
  text-decoration:none}
img{
  max-width:100%;
  display:block}
button{
  border:0;
  border-radius:0;
  background:none;
  padding:0}
h1,h2,h3,p,ul,dl,dd{
  margin:0}
h1,h2,h3{
  font-weight:400}
ul{
  list-style:none;
  padding:0}
[hidden]{
  display:none!important}
:focus-visible{
  outline:2px solid #e45f52;
  outline-offset:4px}
.kc-site{
  max-width:2500px;
  margin:auto;
  background:#fff}

/* Header geometry follows the original 80px desktop and 60px mobile bars. */
.site-header{
  position:fixed;
  z-index:100;
  top:0;
  left:0;
  right:0;
  height:80px;
  background:#fff;
  box-shadow:0 1px 10px #4343454d}
.header-inner{
  height:100%;
  max-width:1500px;
  margin:auto;
  position:relative}
.brand{
  position:absolute;
  left:4%;
  top:10px;
  z-index:102}
.brand img{
  height:60px;
  width:auto}
.main-navigation{
  position:absolute;
  left:20%;
  top:32px}
.main-navigation>ul{
  display:flex;
  align-items:flex-start}
.main-navigation>ul>li{
  position:relative;
  padding:5px 20px 15px;
  white-space:nowrap;
  border-bottom:4px solid transparent}
.main-navigation .nav-label{
  display:block;
  font-size:16px;
  font-weight:400;
  line-height:24px;
  color:#000}
.main-navigation>ul>li.active{
  border-bottom-color:#ed6557}
.main-navigation>ul>li.active>.nav-label{
  color:#dd675d}
.main-navigation>ul>li:hover,.main-navigation>ul>li:focus-within,.main-navigation>ul>li.expanded{
  border-bottom-color:#395ac0}
.main-navigation>ul>li:hover>.nav-label,.main-navigation>ul>li.expanded>.nav-label{
  color:#395ac0}
.chevron{
  display:inline-block;
  width:6px;
  height:6px;
  border-right:1px solid;
  border-bottom:1px solid;
  transform:rotate(45deg);
  margin:0 0 3px 5px}
.submenu{
  display:none;
  position:absolute;
  top:44px;
  left:0;
  width:200px;
  padding:10px;
  background:#424242e6;
  color:#fff;
  z-index:103}
.submenu li+li{
  border-top:2px solid #fff}
.submenu a{
  display:block;
  padding:10px 15px}
.submenu a:hover{
  text-decoration:underline}
.nav-group:hover>.submenu,.nav-group:focus-within>.submenu,.nav-group.expanded>.submenu{
  display:block}
.menu-toggle,.menu-backdrop{
  display:none}
main{
  padding-top:80px}
.page-hero{
  background:#2f588c;
  color:#fff;
  padding:50px 30px}
.hero-inner{
  max-width:1500px;
  margin:auto;
  padding:24px 10%}
.hero-inner h1{
  border-block:4px solid #868686;
  text-align:center;
  font-size:35px;
  line-height:52.5px;
  font-weight:500;
  padding:24px 0;
  white-space:pre-wrap}
.site-footer{
  background:#ededed;
  padding:20px 75px 10px;
  min-height:106px}
.site-footer p{
  border-top:2px solid #c7c7c7;
  color:grey;
  padding-top:50px;
  font-size:14px;
  line-height:21px}

.home-hero{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/9;
  background:#b6d2e7}
.home-hero video{
  width:100%;
  height:100%;
  object-fit:cover}
.video-wash{
  position:absolute;
  inset:0;
  background:#ffffff33;
  pointer-events:none}
.journey-section{
  display:grid;
  grid-template-columns:1fr 1fr;
  padding:50px 120px;
  max-width:1500px;
  margin:auto}
.journey-image{
  padding:30px 20px 20px}
.journey-image img{
  width:100%;
  aspect-ratio:100/85;
  object-fit:cover}
.journey-copy{
  padding:20px}
.journey-copy h1{
  font-size:25px;
  font-weight:700;
  line-height:1.4;
  margin-bottom:20px;
  color:#000}
.journey-copy p{
  text-align:justify}
.business-section{
  display:grid;
  grid-template-columns:60% 40%;
  background:#0b2987;
  color:#fff;
  padding:50px 180px}
.business-copy{
  padding:20px}
.business-copy h2{
  font-size:25px;
  font-weight:700;
  margin-bottom:20px}
.business-copy p{
  font-size:18px;
  text-align:justify}
.business-image{
  padding:80px 20px 0}
.business-image img{
  width:100%;
  aspect-ratio:1;
  object-fit:cover}

.fleet-section{
  padding:58px 9.5% 200px 11.9%}
.fleet-group+.fleet-group{
  margin-top:56px}
.fleet-group h2{
  font-size:25px;
  line-height:33.75px;
  color:#0b2987;
  margin-bottom:30px}
.fleet-table{
  border-collapse:collapse;
  width:100%;
  text-align:left;
  table-layout:fixed}
.fleet-table th{
  background:#0b2987;
  color:#fff;
  font-weight:700;
  height:34px;
  padding:4px 10px}
.fleet-table th:first-child{
  width:50%}
.fleet-table th:nth-child(2){
  width:25%}
.fleet-table th:last-child{
  text-align:center}
.fleet-table td{
  height:34px;
  padding:4px 10px}
.fleet-table tbody tr:nth-child(even){
  background:#edf7fd}
.fleet-table td:last-child{
  text-align:center}
.fleet-table button{
  font-size:16px;
  line-height:26px;
  text-align:inherit}
.fleet-table .vessel-name{
  text-decoration:underline}

.history-section{
  padding:50px 20px 160px}
.timeline{
  position:relative;
  margin:10px 150px 0}
.timeline-rail{
  display:flex;
  overflow-x:auto;
  scrollbar-width:none;
  scroll-behavior:smooth}
.timeline-rail::-webkit-scrollbar{
  display:none}
.timeline-year{
  flex:0 0 10%;
  padding:10px 0;
  text-align:left;
  font-size:20px;
  font-weight:700;
  line-height:30px}
.timeline-year img{
  height:20px;
  width:100%;
  object-fit:fill}
.timeline-year.selected{
  color:#ff7600}
.timeline-arrow{
  position:absolute;
  top:3px;
  font-size:42px;
  line-height:60px;
  color:#000;
  letter-spacing:-7px;
  white-space:nowrap}
.timeline-arrow span{
  font-size:34px;
  vertical-align:bottom;
  font-weight:400;
  display:inline-block}
.timeline-arrow.previous{
  left:-52px}
.timeline-arrow.next{
  right:-45px}
.history-panels{
  margin-top:58px;
  min-height:690px}
.history-panel{
  text-align:center;
  padding:10px 50px;
  min-height:700px}
.history-panel h2{
  font-size:30px;
  line-height:45px;
  font-weight:700;
  color:#1671ad;
  margin-bottom:14px}
.history-description{
  padding:0 10vw;
  line-height:24px;
  margin-bottom:24px}
.history-image{
  width:600px;
  height:auto;
  margin:0 auto}
.history-caption{
  margin-top:24px}

.team-sections{
  background:#e3e3e3}
.team-section h2{
  text-align:center;
  color:#0b2987;
  font-size:25px;
  line-height:34px}
.team-board{
  padding:80px 150px 0}
.team-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:40px;
  padding:50px 5px 0}
.person-card{
  box-shadow:0 0 1px 1px #eaeaea;
  min-width:0}
.portrait-button{
  display:block;
  width:100%;
  background:#fff}
.portrait-button img{
  width:100%;
  aspect-ratio:1;
  object-fit:cover}
.person-caption{
  background:#2f588c;
  color:#fff;
  height:150px;
  padding:30px 20px}
.person-caption h3{
  font-size:20px;
  font-weight:700;
  line-height:30px}
.person-caption p{
  font-size:16px}
.team-management{
  padding:180px 300px 140px}
.team-management .team-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  padding:50px 5px 0}

.venture-section{
  padding:54px 17.5% 100px}
.venture-section>p{
  text-align:justify;
  line-height:24px}
.venture-images{
  width:88.3%;
  margin:56px auto 0}
.venture-images img{
  width:100%;
  height:auto}
.venture-images img+img{
  margin-top:20px}
.sustainability-section{
  padding:74px 150px 120px}
.rich-copy{
  text-align:justify;
  line-height:24px}
.rich-copy strong{
  display:inline;
  font-size:25px;
  line-height:34px;
  font-weight:700;
  color:#0b2987}
.metrics-scroll{
  margin-top:50px;
  overflow-x:auto;
  max-width:100%}
.metrics-table{
  border-collapse:collapse;
  font-size:14px;
  line-height:21px;
  width:100%;
  text-align:left}
.metrics-table th{
  font-weight:400}
.metrics-table thead{
  background:#0b2987;
  color:#fff}
.metrics-table td,.metrics-table th{
  padding:5px 10px;
  white-space:nowrap}
.metrics-table tbody tr{
  background:#edf7fd}
.metrics-table tbody tr:nth-child(even){
  background:#d9edfc}
.reports-section{
  margin-top:90px}
.reports-section h2{
  font-size:25px;
  font-weight:700;
  color:#0b2987;
  margin-bottom:50px}
.reports-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:40px;
  padding:0 20px}
.reports-grid img{
  width:100%;
  height:auto}
.reports-grid p{
  color:#000;
  text-align:center;
  font-size:16px;
  font-weight:700;
  margin-top:20px}
.safety-section{
  padding:74px 150px 50px}
.safety-image{
  margin-top:60px}
.safety-image img{
  width:100%;
  aspect-ratio:100/60;
  object-fit:cover}
.contact-section{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:64px;
  padding:50px 14.4% 100px 15.4%}
.contact-map{
  width:100%;
  height:750px;
  border:0}
.contact-details section+section{
  margin-top:48px}
.contact-details h2{
  font-size:16px;
  font-weight:400;
  border-bottom:1px solid #d7d7d7;
  padding-bottom:12px;
  position:relative}
.contact-details h2:after{
  content:'';
  position:absolute;
  bottom:-1px;
  left:0;
  width:40px;
  height:1px;
  background:#111}
.contact-details p{
  margin-top:20px}
.email-link{
  color:#4ca77d}
.address{
  white-space:pre-line}
.linkedin{
  font-family:Arial,sans-serif;
  font-size:20px;
  font-weight:700;
  padding-left:5px}

/* All dialog data is server rendered;
   native JS changes hidden and inert. */
.modal-open{
  overflow:hidden}
.modal-overlay{
  position:fixed;
  inset:0;
  z-index:300;
  background:#000c;
  overflow-y:auto;
  overscroll-behavior:contain}
.person-dialog{
  background:white;
  width:600px;
  max-width:calc(100% - 20px);
  margin:30px auto 10px;
  color:#434345}
.person-dialog>header{
  background:#2f588c;
  color:#fff;
  text-align:center;
  padding:8px 10px}
.person-dialog>header h2{
  font-size:30px;
  line-height:45px}
.person-dialog>header p{
  font-size:20px;
  line-height:30px}
.person-dialog-body{
  padding:10px 20px 80px;
  text-align:center}
.person-dialog-body>img{
  width:300px;
  aspect-ratio:1;
  object-fit:cover;
  margin:10px auto}
.person-dialog-body>p{
  font-size:14px;
  line-height:21px;
  margin-bottom:22px}
.person-close{
  text-align:right;
  margin-top:34px}
.person-close button,.vessel-close button{
  background:grey;
  color:#fff;
  font:16px/24px Arial,sans-serif;
  padding:10px 20px}
.vessel-dialog{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:40px;
  background:#c4e0f5;
  width:78%;
  max-width:1100px;
  margin:20vh auto 30px;
  padding:35px 20px;
  position:relative}
.vessel-image{
  width:100%;
  height:auto;
  align-self:center;
  grid-row:1 / 3}
.vessel-details h2{
  text-align:center;
  font-size:30px;
  line-height:45px;
  color:#000;
  margin:-10px 0 24px}
.vessel-specifications{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:10px;
  color:#828c90}
.vessel-specifications>div{
  display:grid;
  grid-template-columns:55% 45%;
  align-content:start;
  margin-bottom:4px;
  line-height:21px}
.vessel-specifications dt{
  font-weight:700}
.vessel-specifications dd{
  overflow-wrap:anywhere}
.spec-yard_built{
  grid-column:2;
  grid-row:2}
.spec-grt{
  grid-column:1;
  grid-row:2}
.spec-flag{
  grid-column:1}
.spec-class{
  grid-column:2}
.spec-loa{
  grid-column:1}
.spec-breadth{
  grid-column:2}
.vessel-close{
  text-align:center;
  margin-top:26px}
.vessel-close button{
  padding-inline:50px}

@media(min-width:1899px){
  .journey-section{
  padding-inline:350px;
  max-width:2500px}
.journey-copy h1,.business-copy h2{
  font-size:30px}
}

@media(max-width:1199px){
  .site-header{
  height:60px}
.brand{
  left:60px;
  top:15px}
.brand img{
  height:40px}
.menu-toggle{
  display:block;
  position:absolute;
  left:11px;
  top:20px;
  width:26px;
  height:23px;
  z-index:105}
.menu-toggle span{
  display:block;
  height:1px;
  background:#666;
  margin-bottom:9px;
  width:26px}
.menu-open .menu-toggle span:first-child{
  transform:translateY(10px) rotate(45deg);
  height:3px}
.menu-open .menu-toggle span:nth-child(2){
  visibility:hidden}
.menu-open .menu-toggle span:last-child{
  transform:translateY(-10px) rotate(-45deg);
  height:3px}
.menu-open .menu-toggle{
  top:19px}
.main-navigation{
  display:none;
  position:fixed;
  left:0;
  top:60px;
  width:50%;
  height:calc(100dvh - 60px);
  overflow-y:auto;
  background:#fff;
  z-index:104;
  padding-top:32px}
.menu-open .main-navigation{
  display:block}
.main-navigation>ul{
  display:block}
.main-navigation>ul>li{
  border:0!important;
  padding:10px 20px;
  white-space:normal}
.main-navigation .nav-label{
  font-size:16px;
  text-align:left;
  white-space:nowrap}
.main-navigation>ul>li.active>.nav-label{
  color:#000}
.menu-open .menu-backdrop{
  display:block;
  position:fixed;
  top:60px;
  bottom:0;
  left:0;
  right:0;
  background:#000c;
  z-index:103}
.submenu{
  position:static;
  width:100%;
  margin-top:10px;
  padding:0;
  background:#fff;
  color:#000}
.submenu a{
  padding:10px 0;
  font-size:14px}
.submenu li+li{
  border:0}
.nav-group:hover>.submenu,.nav-group:focus-within>.submenu{
  display:none}
.nav-group.expanded>.submenu{
  display:block}
main{
  padding-top:60px}
.page-hero{
  padding:50px 15px}
.hero-inner{
  padding:24px 0}
.hero-inner h1{
  font-size:25px;
  line-height:37.5px;
  padding:24px 0}
.site-footer{
  padding:20px 25px 10px;
  min-height:86px}
.site-footer p{
  padding-top:10px;
  font-size:14px;
  line-height:21px}
.journey-section{
  display:flex;
  flex-direction:column;
  padding:20px 15px}
.journey-copy{
  padding:30px 0;
  order:0}
.journey-copy h1{
  font-size:25px;
  font-weight:400;
  line-height:37.5px;
  margin-bottom:20px}
.journey-copy p{
  font-size:16px;
  line-height:24px}
.journey-image{
  padding:10px 0;
  order:1}
.business-section{
  display:block;
  padding:20px 15px}
.business-copy{
  padding:30px 0}
.business-copy h2{
  font-size:25px;
  line-height:37.5px}
.business-copy p{
  font-size:16px;
  line-height:24px}
.business-image{
  padding:10px 0}
.fleet-section{
  padding:60px 15px 200px}
.fleet-group h2{
  font-size:25px;
  line-height:35px;
  margin-bottom:24px}
.fleet-group+.fleet-group{
  margin-top:60px}
.fleet-table th,.fleet-table td{
  padding:4px 5px}
.fleet-table th:first-child{
  width:40%}
.fleet-table th:nth-child(2){
  width:30%}
.fleet-table th{
  font-size:14px;
  height:30px}
.fleet-table button{
  font-size:16px;
  line-height:26px}
.history-section{
  padding:50px 15px 300px}
.timeline{
  margin:10px 10px 0}
.timeline-year{
  flex-basis:20%;
  font-size:10px;
  line-height:15px}
.timeline-year img{
  height:10px}
.timeline-arrow{
  font-size:27px;
  top:0;
  line-height:35px;
  letter-spacing:-5px}
.timeline-arrow.previous{
  left:-27px}
.timeline-arrow.next{
  right:-24px}
.timeline-arrow span{
  font-size:25px}
.history-panels{
  margin-top:80px;
  min-height:700px}
.history-panel{
  padding:10px 0;
  min-height:700px}
.history-panel h2{
  margin-bottom:14px}
.history-description{
  padding:0;
  margin-bottom:24px}
.history-image{
  max-width:100%}
.history-caption{
  line-height:24px}
.team-board,.team-management{
  padding:50px 15px}
.team-grid,.team-management .team-grid{
  grid-template-columns:1fr;
  gap:40px;
  padding:40px 0 0}
.team-section h2{
  font-size:25px}
.person-caption{
  height:150px;
  padding:30px 20px}
.team-management{
  padding-top:50px}
.venture-section{
  padding:50px 15px 80px}
.venture-images{
  width:100%;
  margin-top:50px}
.sustainability-section{
  padding:74px 15px 100px}
.rich-copy strong{
  font-size:25px;
  line-height:34px}
.metrics-scroll{
  margin-top:50px}
.metrics-table{
  width:1100px;
  min-width:1100px}
.reports-section{
  margin-top:90px}
.reports-grid{
  grid-template-columns:1fr;
  padding:0;
  gap:40px}
.reports-section h2{
  margin-bottom:50px}
.reports-grid img{
  width:100%}
.safety-section{
  padding:74px 15px 50px}
.safety-image{
  margin-top:60px}
.contact-section{
  display:flex;
  flex-direction:column;
  padding:50px 15px 100px;
  gap:50px}
.contact-map{
  height:500px}
.contact-details section+section{
  margin-top:48px}
.person-dialog{
  margin-top:30px}
.person-dialog>header h2{
  font-size:20px;
  line-height:30px}
.person-dialog>header p{
  font-size:20px;
  line-height:30px}
.person-dialog-body{
  padding:10px 10px 50px}
.person-dialog-body>img{
  width:250px;
  max-width:100%;
  margin:10px auto}
.person-dialog-body>p{
  font-size:16px;
  line-height:24px;
  margin-bottom:24px}
.vessel-dialog{
  display:flex;
  flex-direction:column;
  width:94%;
  max-width:600px;
  margin:10px auto 30px;
  padding:20px 10px 30px;
  gap:0}
.vessel-details{
  order:0}
.vessel-details h2{
  font-size:30px;
  line-height:45px;
  margin:0}
.vessel-specifications{
  display:block;
  color:#434345}
.vessel-specifications>div{
  display:grid;
  grid-template-columns:50% 50%;
  padding:5px 0;
  border-bottom:1px solid #879fac;
  line-height:24px;
  margin:0}
.vessel-specifications dt{
  font-weight:400}
.vessel-specifications dd{
  overflow-wrap:normal}
.desktop-colon{
  display:none}
.vessel-image{
  order:1;
  margin-top:10px;
  width:100%}
.vessel-close{
  order:2;
  margin-top:10px}
.vessel-close button{
  padding:10px 50px}
}

@media(max-width:1199px){
  .contact-map{
  height:750px}
.team-grid,.team-management .team-grid{
  padding-top:20px}
.rich-copy strong{
  font-size:20px;
  line-height:27px}
.venture-images img+img{
  margin-top:50px}
}

.home-hero{
  height:55vw;
  aspect-ratio:auto}
.business-section{
  grid-template-columns:7fr 5fr}
.business-copy p{
  margin-bottom:2px}
.journey-copy h1{
  line-height:37.5px}

.fleet-section{
  padding:60px 150px 200px}
.fleet-group{
  padding-left:20px}
.fleet-group+.fleet-group{
  margin-top:60px}

.modal-open{
  overflow-y:scroll}
.modal-overlay{
  overflow-y:scroll}
.person-close button,.vessel-close button{
  font-family:Montserrat,sans-serif}

@font-face{
  font-family:KcIcons;
  src:url('/assets/21bbbc8de17e2d-fa-solid-900.woff2') format('woff2');
  font-weight:900;
  font-style:normal;
  font-display:block}

.timeline-arrow{
  font-size:0;
  letter-spacing:0;
  top:0;
  line-height:60px}
.timeline-arrow .caret{
  font:900 60px/1 KcIcons;
  vertical-align:middle;
  display:inline-block}
.timeline-arrow.previous .caret:before{
  content:'\f0d9'}
.timeline-arrow.next .caret:before{
  content:'\f0da'}
.timeline-arrow .secondary-arrow{
  font:400 34px/1 Montserrat,sans-serif;
  vertical-align:bottom;
  margin-left:0}

.history-panel h2{
  line-height:39px;
  font-weight:900;
  margin-bottom:20px}
.history-description{
  margin-bottom:22px}
.history-panels{
  margin-top:53px}
.timeline-year img{
  width:auto;
  max-width:none}

.nav-group.dismissed>.submenu{
  display:none!important}

@media(max-width:1199px){
  .fleet-section{
  padding:60px 15px 200px}
.fleet-group{
  padding-left:0}
.fleet-group h2{
  font-size:24px;
  line-height:36px;
  margin-bottom:20px}
.vessel-dialog{
  width:calc(100% - 20px);
  margin:10px auto 30px}
.person-dialog{
  max-width:calc(100% - 20px)}
.timeline-arrow .caret{
  font-size:35px}
.timeline-arrow .secondary-arrow{
  font-size:25px}
.timeline-arrow{
  line-height:35px}
.history-panels{
  margin-top:75px}
}

@media(prefers-reduced-motion:reduce){
  .timeline-rail{
  scroll-behavior:auto}
}
.sustainability-section,.safety-section{padding-top:70px}
.rich-copy{margin-bottom:2px}
.rich-copy strong{line-height:1.5}
.metrics-table th:first-child{width:40%}
.metrics-table th:not(:first-child){width:10%}
.metrics-table td,.metrics-table th{white-space:normal}
@media(max-width:1199px){
  .metrics-table{width:100%;min-width:0}
  .metrics-table td,.metrics-table th{padding:5px}
  .reports-section{margin-top:100px;padding-inline:15px}
  .reports-section h2{font-size:20px;line-height:26px;margin-bottom:20px}
  .reports-grid{gap:62px}
  .reports-grid p{font-size:14px;line-height:21px;margin-top:10px}
  .sustainability-section{padding-bottom:92px}
}

@media(max-width:1199px){
  .team-section{
  padding:50px 15px 82px}
.team-section h2{
  line-height:32.5px}
.team-grid,.team-management .team-grid{
  gap:52px;
  padding-top:20px}
.home-hero{
  height:260px}
.journey-copy h1{
  margin-bottom:22px}
}


