*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --deep-sea:#0C1A2E;
  --slate-helm:#15253E;
  --signal-amber:#D4952E;
  --foam:#DDE3EB;
  --haze:#6E8298;
  --cargo-rust:#8F4232;
  --teal:#4A7B6F;
  --mono:'JetBrains Mono',monospace;
  --sans:'Sora',system-ui,sans-serif;
  --base:1rem;
  --step-1:1.25rem;
  --step-2:1.563rem;
  --step-3:1.953rem;
  --step-4:2.441rem;
  --step-5:3.052rem;
  --step-6:3.815rem;
}
html{scroll-behavior:smooth;background:var(--deep-sea)}
body{
  font-family:var(--sans);
  color:var(--foam);
  background:var(--deep-sea);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--signal-amber);color:var(--deep-sea)}
:focus-visible{outline:2px solid var(--signal-amber);outline-offset:3px;border-radius:2px}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* ─── NAV ─── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:1.5rem 2rem;
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(to bottom,var(--deep-sea) 60%,transparent);
}
.nav__logo{display:flex;align-items:center}
.nav__logo-svg{
  width:90px;height:auto;
  fill:var(--foam);
}
.nav__links{display:flex;gap:2rem;list-style:none}
.nav__links a{
  font-family:var(--mono);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--haze);transition:color .2s;position:relative;
}
.nav__links a:hover,.nav__links a:focus-visible{color:var(--foam)}
.nav__links a.active{color:var(--signal-amber)}
.nav__links a.active::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;
  height:1.5px;background:var(--signal-amber);border-radius:1px;
}
.nav__mobile{display:none;background:none;border:none;color:var(--foam);cursor:pointer}
.nav__mobile svg{width:28px;height:28px;stroke:currentColor;stroke-width:2;fill:none}

/* ─── HERO (index) ─── */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 2rem 4rem;
  overflow:hidden;
}
.hero__globe{
  position:absolute;inset:0;
  width:100%;height:100%;
}
.hero__overlay{
  position:relative;z-index:2;
  max-width:680px;
  margin-bottom:2.5rem;
}
.hero__eyebrow{
  font-family:var(--mono);font-size:0.7rem;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--signal-amber);
  margin-bottom:1.25rem;
}
.hero__headline{
  font-family:var(--sans);font-size:var(--step-6);
  font-weight:700;
  line-height:1.08;
  color:var(--foam);
  margin-bottom:1.5rem;
}
.hero__headline em{font-style:italic;color:var(--signal-amber)}
.hero__body{
  font-size:var(--base);color:var(--haze);
  max-width:480px;line-height:1.7;
  margin-bottom:1.75rem;
}
.hero__cta{
  display:inline-block;
  font-family:var(--mono);font-size:0.72rem;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--deep-sea);background:var(--signal-amber);
  padding:0.8rem 1.75rem;border-radius:3px;
  transition:background .2s,transform .2s;
}
.hero__cta:hover,.hero__cta:focus-visible{background:#e8a838;transform:translateY(-1px)}
.hero__stats{
  position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;
  width:90%;margin:2rem auto 0;
  padding-top:2.5rem;
}
.hero__globe-caption{
  grid-column:1/-1;
  font-family:var(--mono);font-size:0.6rem;
  letter-spacing:0.1em;
  color:var(--haze);
  opacity:0.7;
  padding:1.5rem 0 0;
  margin-top:1.5rem;
  border-top:1px solid rgba(110,130,152,0.2);
}
.hero__stats .about-stat__value{
  font-family:var(--mono);font-size:var(--step-2);font-weight:600;
  color:var(--signal-amber);display:block;
}
.hero__stats .about-stat__label{
  font-family:var(--mono);font-size:0.65rem;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--haze);margin-top:0.25rem;display:block;
}
.hero__globe-live{
  color:var(--signal-amber);
  position:relative;
  padding-left:10px;
}
.hero__globe-live::before{
  content:'';position:absolute;left:0;top:50%;
  width:6px;height:6px;border-radius:50%;
  background:var(--signal-amber);
  transform:translateY(-50%);
  animation:live-pulse 2s ease infinite;
}
@keyframes live-pulse{
  0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(212,149,46,0.6)}
  50%{opacity:0.7;box-shadow:0 0 0 4px rgba(212,149,46,0)}
}

/* ─── HOME SERVICES ─── */
.home-services{
  padding:2rem 2rem;
  max-width:1120px;margin:0 auto;
}
.home-services__tag{
  font-family:var(--mono);font-size:0.65rem;
  letter-spacing:0.16em;text-transform:uppercase;
  color:var(--signal-amber);margin-bottom:0.75rem;
}
.home-services__title{
  font-family:var(--sans);font-size:var(--step-4);
  font-weight:700;margin-bottom:0.75rem;
}
.home-services__title em{font-style:italic;color:var(--signal-amber)}
.home-services__desc{
  font-size:0.95rem;color:var(--haze);max-width:520px;
  margin-bottom:3rem;line-height:1.7;
}
.home-services__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.service-card{
  background:var(--slate-helm);
  border-radius:4px;
  overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .3s;
}
.service-card:hover{transform:translateY(-3px)}
.service-card__bar{height:3px;width:100%}
.service-card__bar--charter{background:var(--signal-amber)}
.service-card__bar--oil{background:var(--cargo-rust)}
.service-card__bar--minerals{background:var(--teal)}
.service-card__img{
  width:100%;height:180px;object-fit:cover;
  filter:brightness(0.7) saturate(0.8);
}
.service-card__body{padding:1.75rem;flex:1;display:flex;flex-direction:column}
.service-card__heading{
  font-family:var(--sans);font-size:var(--step-1);
  font-weight:600;margin-bottom:0.75rem;
}
.service-card__text{
  font-size:0.85rem;color:var(--haze);line-height:1.7;flex:1;
}
.service-card__link{
  font-family:var(--mono);font-size:0.7rem;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--signal-amber);margin-top:1rem;
  display:inline-block;
  transition:color .2s;
}
.service-card__link:hover{color:var(--foam)}

/* ─── HOME ABOUT ─── */
.home-about{
  padding:5rem 2rem;
  max-width:1120px;margin:0 auto;
  border-top:1px solid rgba(110,130,152,0.12);
}
.home-about__grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:3rem;
  align-items:center;
}
.home-about__tag{
  font-family:var(--mono);font-size:0.65rem;
  letter-spacing:0.16em;text-transform:uppercase;
  color:var(--signal-amber);margin-bottom:0.75rem;
}
.home-about__heading{
  font-family:var(--sans);font-size:var(--step-4);
  font-weight:700;margin-bottom:1.25rem;
}
.home-about__body{
  font-size:0.95rem;color:var(--haze);line-height:1.8;
  margin-bottom:1.75rem;
}
.home-about__link{
  font-family:var(--mono);font-size:0.72rem;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--signal-amber);
  display:inline-flex;align-items:center;gap:0.5rem;
  transition:color .2s;
}
.home-about__link:hover{color:var(--foam)}
.home-about__link::after{content:'→';transition:transform .2s}
.home-about__link:hover::after{transform:translateX(3px)}
.home-about__img{
  width:100%;min-height:320px;
  object-fit:cover;border-radius:4px;
  filter:brightness(0.75) saturate(0.85);
}

/* ─── PAGE HEADER ─── */
.page-header{
  padding:10rem 2rem 4rem;
  border-bottom:1px solid rgba(110,130,152,0.12);
}
.page-header__inner{max-width:1120px;margin:0 auto}
.page-header__tag{
  font-family:var(--mono);font-size:0.65rem;
  letter-spacing:0.16em;text-transform:uppercase;
  color:var(--signal-amber);margin-bottom:0.75rem;
}
.page-header__title{
  font-family:var(--sans);font-size:var(--step-5);
  font-weight:700;
}
.page-header__title em{font-style:italic;color:var(--signal-amber)}

/* ─── SERVICES DETAIL ─── */
.services-detail{
  max-width:1120px;margin:0 auto;
  padding:4rem 2rem;
}
.service-detail{
  margin-bottom:4rem;
}
.service-detail:last-child{margin-bottom:0}
.service-detail__bar{height:3px;width:100%;border-radius:2px;margin-bottom:2.5rem}
.service-detail__bar--charter{background:var(--signal-amber)}
.service-detail__bar--oil{background:var(--cargo-rust)}
.service-detail__bar--minerals{background:var(--teal)}
.service-detail__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:start;
}
.service-detail__grid--reverse{direction:rtl}
.service-detail__grid--reverse > *{direction:ltr}
.service-detail__img-wrap{position:relative}
.service-detail__img{
  width:100%;height:360px;object-fit:cover;border-radius:4px;
  filter:brightness(0.75) saturate(0.85);
}
.service-detail__heading{
  font-family:var(--sans);font-size:var(--step-3);
  font-weight:700;margin-bottom:1.25rem;
}
.service-detail__text{
  font-size:0.92rem;color:var(--haze);line-height:1.8;
  margin-bottom:1rem;
}
.service-detail__list{
  list-style:none;
  margin-top:1.5rem;
  display:flex;flex-direction:column;gap:0.75rem;
}
.service-detail__list li{
  font-size:0.88rem;color:var(--haze);
  padding-left:1.25rem;position:relative;
  line-height:1.6;
}
.service-detail__list li::before{
  content:'';position:absolute;left:0;top:0.55em;
  width:6px;height:6px;border-radius:50%;
  background:var(--signal-amber);
}

/* ─── ABOUT FULL ─── */
.about-full{
  max-width:1120px;margin:0 auto;
  padding:4rem 2rem;
}
.about-full__grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:3rem;
  align-items:start;
}
.about-full__img{
  width:100%;height:100%;min-height:420px;
  object-fit:cover;border-radius:4px;
  filter:brightness(0.75) saturate(0.85);
}
.about-full__body{
  font-size:0.95rem;color:var(--haze);line-height:1.85;
  margin-bottom:1.25rem;
}
.about-full__body strong{color:var(--foam);font-weight:500}

/* ─── ABOUT STATS ─── */
.about-stats{
  border-top:1px solid rgba(110,130,152,0.12);
  border-bottom:1px solid rgba(110,130,152,0.12);
  padding:3rem 2rem;
}
.about-stats__grid{
  max-width:1120px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:2rem;
}
.about-stat__value{
  font-family:var(--mono);font-size:var(--step-3);font-weight:600;
  color:var(--signal-amber);display:block;
}
.about-stat__label{
  font-family:var(--mono);font-size:0.65rem;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--haze);margin-top:0.35rem;display:block;
}

/* ─── ABOUT REGIONS ─── */
.about-regions{
  padding:5rem 2rem;
}
.about-regions__inner{max-width:1120px;margin:0 auto}
.about-regions__tag{
  font-family:var(--mono);font-size:0.65rem;
  letter-spacing:0.16em;text-transform:uppercase;
  color:var(--signal-amber);margin-bottom:0.75rem;
}
.about-regions__title{
  font-family:var(--sans);font-size:var(--step-3);
  font-weight:700;margin-bottom:2.5rem;
}
.about-regions__list{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:2rem;
}
.about-region{
  padding:1.75rem;
  background:var(--slate-helm);
  border-radius:4px;
  border-left:3px solid var(--signal-amber);
}
.about-region__name{
  font-family:var(--sans);font-size:1.1rem;
  font-weight:600;margin-bottom:0.5rem;
  color:var(--foam);
}
.about-region__desc{
  font-size:0.82rem;color:var(--haze);line-height:1.7;
}

/* ─── CONTACT PAGE ─── */
.contact-page{
  max-width:1120px;margin:0 auto;
  padding:4rem 2rem;
}
.contact-page__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
}
.contact-page__heading{
  font-family:var(--sans);font-size:var(--step-3);
  font-weight:700;margin-bottom:1rem;
}
.contact-page__intro{
  font-size:0.95rem;color:var(--haze);line-height:1.7;
  margin-bottom:2.5rem;
}
.contact-page__blocks{
  display:flex;flex-direction:column;gap:2rem;
}
.contact-block__label{
  font-family:var(--mono);font-size:0.65rem;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--signal-amber);margin-bottom:0.5rem;
}
.contact-block__text{
  font-size:0.9rem;color:var(--haze);line-height:1.7;
}
.contact-block__text a{transition:color .2s}
.contact-block__text a:hover{color:var(--foam)}

/* ─── CONTACT FORM ─── */
.contact-form{
  background:var(--slate-helm);
  padding:2.5rem;
  border-radius:6px;
  border:1px solid rgba(110,130,152,0.1);
}
.contact-form__group{margin-bottom:1.5rem}
.contact-form__label{
  display:block;
  font-family:var(--mono);font-size:0.65rem;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--haze);margin-bottom:0.5rem;
}
.contact-form__input,
.contact-form__select,
.contact-form__textarea{
  width:100%;
  background:var(--deep-sea);
  border:1px solid rgba(110,130,152,0.2);
  border-radius:3px;
  padding:0.75rem 1rem;
  color:var(--foam);
  font-family:var(--sans);font-size:0.9rem;
  transition:border-color .2s;
}
.contact-form__input:focus,
.contact-form__select:focus,
.contact-form__textarea:focus{
  border-color:var(--signal-amber);
  outline:none;
}
.contact-form__select{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%236E8298' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 1rem center;
  padding-right:2.5rem;
}
.contact-form__textarea{resize:vertical;min-height:100px}
.contact-form__submit{
  width:100%;
  font-family:var(--mono);font-size:0.72rem;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--deep-sea);background:var(--signal-amber);
  padding:0.9rem 1.75rem;border:none;border-radius:3px;
  cursor:pointer;transition:background .2s,transform .2s;
}
.contact-form__submit:hover,.contact-form__submit:focus-visible{
  background:#e8a838;transform:translateY(-1px);
}

/* ─── FOOTER ─── */
.footer{
  margin-top:4rem;
  border-top:1px solid rgba(110,130,152,0.12);
  padding:3rem 2rem;
}
.footer__inner{
  max-width:1120px;margin:0 auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  grid-template-rows:auto auto;
  gap:1.5rem 3rem;
  align-items:center;
}
.footer__brand{grid-row:1/3}
.footer__logo-svg{
  width:80px;height:auto;
  fill:var(--haze);
  opacity:0.6;
}
.footer__links{
  display:flex;gap:1.5rem;
  font-family:var(--mono);font-size:0.7rem;
  letter-spacing:0.1em;text-transform:uppercase;
}
.footer__links a{color:var(--haze);transition:color .2s}
.footer__links a:hover{color:var(--foam)}
.footer__contact{
  font-size:0.82rem;color:var(--haze);
  text-align:right;line-height:1.7;
}
.footer__copy{
  grid-column:2;
  font-family:var(--mono);font-size:0.65rem;
  letter-spacing:0.08em;color:var(--haze);opacity:0.6;
}

/* ─── RESPONSIVE ─── */
@media(max-width:900px){
  .home-services__grid{grid-template-columns:1fr}
  .home-about__grid{grid-template-columns:1fr}
  .home-about__img{min-height:220px}
  .service-detail__grid,
  .service-detail__grid--reverse{grid-template-columns:1fr;direction:ltr}
  .about-full__grid{grid-template-columns:1fr}
  .about-full__img{min-height:260px}
  .about-stats__grid{grid-template-columns:1fr 1fr}
  .about-regions__list{grid-template-columns:1fr 1fr}
  .contact-page__grid{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr;justify-items:start}
  .footer__brand{grid-row:auto}
  .footer__contact{text-align:left}
  .footer__copy{grid-column:1}
  .hero__headline{font-size:var(--step-4)}
}
@media(max-width:640px){
  .nav__links{display:none}
  .nav__mobile{display:block}
  .hero{padding-bottom:3rem}
  .hero__headline{font-size:var(--step-3)}
  .hero__overlay{margin-bottom:2rem}
  .hero__stats{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  .hero__globe{display:none}
  .home-services__title{font-size:var(--step-2)}
  .home-about__heading{font-size:var(--step-2)}
  .page-header__title{font-size:var(--step-3)}
  .about-stats__grid{grid-template-columns:1fr 1fr}
  .about-regions__list{grid-template-columns:1fr}
  .hero__globe-caption{font-size:0.55rem}
}

/* ─── REDUCED MOTION ─── */
@media(prefers-reduced-motion:reduce){
  .service-card:hover{transform:none}
  html{scroll-behavior:auto}
  .hero__globe-live::before{animation:none}
}
