:root{
  --navy:#0B2A4A;
  --deep:#0F3A5C;
  --cream:#EAF4FA;
  --accent:#0090D0;
  --cyan:#18C0F0;
  --steel:#4C6A82;
  --green:#3E8E6E;
  --white:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  background:var(--cream);
  color:var(--navy);
  line-height:1.5;
  overflow-x:hidden;
}
h1,h2,h3,.display{
  font-family:'Oswald',sans-serif;
  text-transform:uppercase;
  letter-spacing:0.01em;
  line-height:1.05;
}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}

.wrap{max-width:1180px;margin:0 auto;padding:0 28px;position:relative;}

/* ---------- NAV ---------- */
header{
  position:sticky;top:0;z-index:100;
  background:rgba(10,37,64,0.96);
  backdrop-filter:blur(6px);
  color:var(--cream);
}
nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 28px;max-width:1180px;margin:0 auto;
}
.logo{
  font-family:'Poppins',sans-serif;
  font-weight:600;font-size:1.45rem;letter-spacing:0.01em;
  text-transform:none;
  display:flex;align-items:center;gap:10px;
  color:#FFFFFF;
}
.logo-icon{display:block;}
.nav-links{display:flex;gap:20px;align-items:center;list-style:none;}
.nav-links li{position:relative;}
.nav-links a{
  font-size:0.76rem;text-transform:uppercase;letter-spacing:0.05em;
  font-weight:500;color:rgba(239,233,220,0.82);
  padding:6px 16px;border-bottom:1px solid transparent;
  transition:border-color .2s, color .2s;
  white-space:nowrap;
}
.nav-links a:hover{color:var(--cream);border-color:var(--accent);}
.nav-links a.active{color:var(--cyan);}
.nav-links li.has-dropdown > a::after{content:" \25BE";font-size:0.7em;opacity:0.7;}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 22px;font-size:0.8rem;font-weight:600;
  text-transform:uppercase;letter-spacing:0.06em;
  border-radius:10px;border:1.5px solid transparent;
  transition:transform .15s ease, background .2s, color .2s, border-color .2s;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--accent);color:var(--white);}
.btn-primary:hover{background:#cf4416;}
.btn-ghost{border-color:rgba(239,233,220,0.4);color:var(--cream);}
.btn-ghost:hover{border-color:var(--cream);}
.btn-dark{border-color:var(--navy);color:var(--navy);}
.btn-dark:hover{background:var(--navy);color:var(--cream);}
.nav-toggle{display:none;background:none;border:none;color:var(--cream);}

/* ---------- HERO ---------- */
.hero{
  background:var(--navy);color:var(--cream);
  position:relative;overflow:hidden;
  padding:88px 0 110px;
}
.hero-bg-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center right;   /* ship ka silhouette right side pe rahega */
  opacity:1;z-index:0;pointer-events:none;
}

/* left se dark/blue, right pe image saaf dikhe */
.hero-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(105deg,
    rgba(6,22,38,0.96) 0%,
    rgba(9,32,54,0.9) 22%,
    rgba(11,42,74,0.55) 42%,
    rgba(24,192,240,0.22) 62%,
    rgba(24,192,240,0.08) 80%,
    rgba(11,42,74,0.15) 100%);
}

.hero .wrap{position:relative;z-index:2;}

/* .hero-ship rule delete kar do, ab use nahi ho raha */
.hero .wrap{position:relative;z-index:1;}
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:64px;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,0.18));
  pointer-events:none;
}
.hero-grid{
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;
}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;font-size:0.78rem;letter-spacing:0.14em;
  color:var(--accent);text-transform:uppercase;margin-bottom:18px;
  display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:22px;height:1.5px;background:var(--accent);}
.hero h1{font-size:clamp(2.4rem,5vw,3.9rem);font-weight:600;margin-bottom:22px;}
.hero h1 em{font-style:normal;color:var(--accent);}
.hero p.lede{
  font-size:1.08rem;color:rgba(239,233,220,0.82);max-width:46ch;margin-bottom:34px;
}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.hero p.lede-support{font-size:0.96rem;max-width:52ch;margin-top:-18px;}
.hero-trust{font-family:'IBM Plex Mono',monospace;font-size:0.76rem;letter-spacing:0.04em;
  color:rgba(239,233,220,0.55);margin-top:16px;}

/* manifest tickets */
.tickets{display:flex;flex-direction:column;gap:20px;}
.ticket{
  background:var(--cream);color:var(--navy);
  border-radius:12px;padding:20px 22px;position:relative;
  box-shadow:0 18px 40px -14px rgba(0,0,0,0.55);
  animation:float 6s ease-in-out infinite;
}
.ticket:nth-child(2){animation-delay:-3s;}
.ticket::before{
  content:"";position:absolute;left:0;right:0;top:0;height:0;
  border-top:2px dashed rgba(10,37,64,0.18);
}
.ticket-top{
  display:flex;justify-content:space-between;align-items:flex-start;
  margin-bottom:14px;
}
.ticket-id{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;color:var(--steel);letter-spacing:0.06em;}
.status{
  display:flex;align-items:center;gap:6px;font-family:'IBM Plex Mono',monospace;
  font-size:0.7rem;letter-spacing:0.07em;text-transform:uppercase;font-weight:500;
}
.status .pulse{width:7px;height:7px;border-radius:50%;background:var(--green);position:relative;}
.status .pulse::after{
  content:"";position:absolute;inset:-4px;border-radius:50%;
  border:1.5px solid var(--green);animation:ping 2s ease-out infinite;
}
.ticket-service{font-family:'Oswald',sans-serif;font-size:1.15rem;font-weight:600;
  text-transform:uppercase;margin-bottom:6px;}
.ticket-route{font-size:0.88rem;color:var(--steel);}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@keyframes ping{0%{opacity:0.9;transform:scale(1);}100%{opacity:0;transform:scale(2.4);}}

/* ---------- SECTION SHARED ---------- */
section{padding:96px 0;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head .eyebrow{color:var(--accent);}
.section-head.dark .eyebrow{color:var(--accent);}
.section-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:600;color:var(--navy);}
.section-head p{color:var(--steel);margin-top:14px;font-size:1.02rem;max-width:56ch;}
.services-banner-img{width:100%;border-radius:18px;margin-top:40px;display:block;
  box-shadow:0 20px 50px -20px rgba(10,37,64,0.35);}

/* ---------- SERVICES ---------- */
.services{background:var(--white);position:relative;overflow:hidden;}
.services .wrap{z-index:1;}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.service-grid-4{grid-template-columns:repeat(2,1fr);}
.service-grid-3{grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){.service-grid-3{grid-template-columns:1fr;}}
.service-card{
  border:1.5px solid rgba(10,37,64,0.1);border-radius:18px;padding:38px 34px;
  box-shadow:0 1px 2px rgba(10,37,64,0.04);
  position:relative;transition:border-color .2s, transform .2s;
}
.service-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 20px 40px -18px rgba(10,37,64,0.25);}
.service-icon{margin-bottom:22px;}
.service-icon svg{border-radius:14px;box-shadow:0 10px 24px -10px rgba(10,37,64,0.35);}
.service-num{font-family:'IBM Plex Mono',monospace;font-size:0.78rem;color:var(--accent);
  letter-spacing:0.08em;margin-bottom:18px;display:block;}
.service-card h3{font-size:1.5rem;color:var(--navy);margin-bottom:14px;}
.service-card p{color:var(--steel);margin-bottom:22px;}
.service-card ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
.service-card li{
  font-size:0.9rem;color:var(--deep);display:flex;align-items:center;gap:10px;
}
.service-card li::before{content:"";width:14px;height:1.5px;background:var(--accent);flex:none;}

/* ---------- INDUSTRY ---------- */
.industry{padding:0;}
.industry-media{position:relative;min-height:640px;overflow:hidden;display:flex;align-items:flex-end;background:#08192B;}
.industry-media canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
.industry-scrim{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(8,25,43,0.15) 0%, rgba(8,25,43,0.55) 65%, rgba(7,20,32,0.85) 100%);
}
.industry-content{
  position:relative;z-index:2;color:var(--cream);
  max-width:1400px;
  width:100%;
  margin:0 auto;
  padding:100px 56px 90px;
  text-align: center;
}
.industry-content .eyebrow{color:var(--accent);font-size:0.86rem;letter-spacing:0.16em; display: block;}
.industry-content h2{font-size:clamp(2.2rem,4.6vw,3.6rem);margin-bottom:22px;color:var(--cream);}
.industry-content p{color:rgba(239,233,220,0.85);font-size:1.15rem;line-height:1.7;margin-bottom:48px;}
.industry-glass{display:flex;gap:28px;flex-wrap:wrap;}
.glass-stat{
  background:rgba(239,233,220,0.08);
  border:1px solid rgba(239,233,220,0.22);
  backdrop-filter:blur(10px);
  border-radius:16px;
  padding:26px 38px;
  display:flex;flex-direction:column;gap:8px;
  min-width:180px;
  flex:1 1 200px;
}
.glass-stat .num{font-family:'Oswald',sans-serif;font-size:2.4rem;font-weight:600;color:var(--accent);}
.glass-stat .label{font-family:'IBM Plex Mono',monospace;font-size:0.78rem;letter-spacing:0.07em;
  text-transform:uppercase;color:rgba(239,233,220,0.75);}
@media (max-width:1024px){
  .industry-media{min-height:520px;}
  .industry-content{padding:64px 28px 56px;}
  .industry-glass{gap:16px;}
  .glass-stat{padding:20px 26px;min-width:150px;}
}
@media (max-width:600px){
  .industry-glass{flex-direction:column;}
  .glass-stat{flex:1 1 auto;}
}

/* ---------- WHY ---------- */
.why{background:var(--cream);position:relative;overflow:hidden;}
.why .wrap{z-index:1;}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(10,37,64,0.12);
  border-radius:18px;overflow:hidden;}
.pillar{background:var(--cream);padding:38px 32px;}
.pillar-img{width:64px;height:64px;margin-bottom:18px;display:block;}
.pillar .pnum{font-family:'IBM Plex Mono',monospace;font-size:0.78rem;color:var(--steel);
  display:block;margin-bottom:16px;}
.pillar h3{font-size:1.25rem;color:var(--navy);margin-bottom:12px;}
.pillar p{color:var(--steel);font-size:0.95rem;}

/* ---------- INTERNATIONAL OPERATORS ---------- */
.international{background:var(--navy);color:var(--cream);padding:88px 0;position:relative;overflow:hidden;}
.international .section-head.dark h2{color:var(--cream);}
.international .section-head.dark p{color:rgba(239,233,220,0.82);font-size:1.05rem;max-width:68ch;}
.intl-stats{display:flex;gap:24px;flex-wrap:wrap;margin-top:40px;}
.intl-stat{background:rgba(234,244,250,0.06);border:1px solid rgba(234,244,250,0.14);
  border-radius:14px;padding:26px 28px;flex:1;min-width:180px;}
.intl-stat .num{display:block;font-size:2rem;color:var(--cyan);margin-bottom:6px;}
.intl-stat .label{font-size:0.88rem;color:rgba(239,233,220,0.72);}

/* ---------- HOW IT WORKS ---------- */
.how-it-works{background:var(--white);padding:88px 0;}
.hiw-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.hiw-step{background:var(--cream);border-radius:14px;padding:30px 26px;position:relative;}
.hiw-num{font-size:0.85rem;color:var(--accent);display:block;margin-bottom:14px;letter-spacing:0.08em;}
.hiw-step h3{font-size:1.15rem;color:var(--navy);margin-bottom:10px;}
.hiw-step p{color:var(--steel);font-size:0.92rem;}
.hiw-step:not(:last-child)::after{content:"\2192";position:absolute;right:-24px;top:32px;
  color:var(--accent);font-size:1.3rem;}
@media (max-width:900px){
  .hiw-steps{grid-template-columns:1fr 1fr;}
  .hiw-step::after{display:none;}
}
@media (max-width:600px){.hiw-steps{grid-template-columns:1fr;}}

/* ---------- STATS ---------- */
.stats{background:var(--navy);color:var(--cream);padding:64px 0;}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:left;}
.stat-row .num{font-family:'Oswald',sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--accent); text-align: center;}
.stat-row .label{font-family:'IBM Plex Mono',monospace;font-size:0.76rem;letter-spacing:0.07em;
  text-transform:uppercase;color:rgba(239,233,220,0.7);margin-top:8px; text-align: center;}

/* ---------- COVERAGE ---------- */
.coverage{background:var(--white);position:relative;overflow:hidden;}
.coverage .wrap{z-index:1;}
.cov-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.port-list{list-style:none;display:flex;flex-direction:column;}
.port-list li{
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 0;border-bottom:1px solid rgba(10,37,64,0.1);
  font-family:'IBM Plex Mono',monospace;font-size:0.85rem;color:var(--navy);
}
.port-list li span.tag{color:var(--steel);font-size:0.75rem;}
.map-box{ min-height:800px; position:relative; }
.map-box iframe{ position:absolute; inset:0; width:100%; height:100%; }
@media (max-width:760px){ .map-box{ min-height:420px; } }
/* ---------- CTA / CONTACT ---------- */
.contact{background:var(--cream);position:relative;overflow:hidden;}
.contact .wrap{z-index:1;}
.contact-panel{
  background:var(--navy);color:var(--cream);border-radius:20px;
  padding:56px;display:grid;grid-template-columns:1fr 1fr;gap:48px;
}
.contact-copy h2{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:16px;color:var(--cream);}
.contact-copy p{color:rgba(239,233,220,0.78);max-width:38ch;}
form{display:flex;flex-direction:column;gap:14px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
label{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.07em;
  text-transform:uppercase;color:rgba(239,233,220,0.65);margin-bottom:6px;display:block;}
input,select,textarea{
  width:100%;background:rgba(239,233,220,0.06);border:1px solid rgba(239,233,220,0.25);
  border-radius:8px;padding:11px 12px;color:var(--cream);font-family:'Inter',sans-serif;font-size:0.92rem;
}
input::placeholder,textarea::placeholder{color:rgba(239,233,220,0.4);}
textarea{resize:vertical;min-height:70px;}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23EFE9DC'%3E%3Cpath d='M5.5 7.5l4.5 4.5 4.5-4.5' stroke='%23EFE9DC' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;}
.form-msg{font-family:'IBM Plex Mono',monospace;font-size:0.8rem;color:var(--green);min-height:18px;}
.contact-panel .btn-primary{margin-top:4px;align-self:flex-start;}

/* ---------- FOOTER ---------- */
footer{background:var(--navy);color:rgba(239,233,220,0.6);padding:56px 0 30px;font-size:0.85rem;}

.footer-top{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:40px;
  padding-bottom:28px;
  border-bottom:1px solid rgba(239,233,220,0.12);
  margin-bottom:20px;
}
.footer-col h4{
  color:var(--cream);font-size:0.8rem;text-transform:uppercase;
  letter-spacing:0.06em;margin-bottom:14px;
}
.footer-brand .logo{color:var(--cream);margin-bottom:14px;}
.footer-brand p{max-width:32ch;line-height:1.6;}

.footer-links{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-links a{color:rgba(239,233,220,0.75);transition:color .2s;}
.footer-links a:hover{color:var(--cyan);}

.footer-col p{margin-bottom:8px;}

.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:0.78rem;}

@media (max-width:760px){
  .footer-top{grid-template-columns:1fr;gap:32px;}
}
/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .ticket{animation:none;}
  .status .pulse::after{animation:none;}
  .reveal{transition:none;opacity:1;transform:none;}
  .blob-a,.blob-b,.blob-c{animation:none;}
}

@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .ticket{min-width:260px;}
  .service-grid{grid-template-columns:1fr;}
  .pillars{grid-template-columns:1fr;}
  .stat-row{grid-template-columns:1fr;gap:26px;}
  .cov-grid{grid-template-columns:1fr;}
  .contact-panel{grid-template-columns:1fr;padding:34px 26px;}
  .field-row,.full-form .field-row{grid-template-columns:1fr;}
  .full-form{padding:28px 22px;}
  .contact-layout{grid-template-columns:1fr !important;}
}
@media (max-width:1024px){
  .nav-links{
    position:absolute;top:100%;left:0;right:0;background:var(--navy);
    flex-direction:column;align-items:flex-start;padding:18px 28px 26px;gap:16px;
    display:none;
  }
  .nav-links.open{display:flex;}
  .nav-toggle{display:block;}
  .nav-links .btn{width:100%;justify-content:center;}
  .nav-links .dropdown{
    position:static !important;
    box-shadow:none;border:none;background:rgba(255,255,255,0.04);
    margin-top:8px;margin-left:12px;
    display:none;max-height:0;overflow:hidden;transition:max-height .25s ease;
    padding-top:0;
  }
  .nav-links li.has-dropdown.open-dropdown .dropdown{display:block;max-height:300px;}
  .nav-links li.has-dropdown > a::after{content:" \25BE";display:inline-block;}
}
/* ---------- BACKGROUND COLOR EFFECTS ---------- */
.section-blobs{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none; border-radius: 20px;}
.blob{position:absolute;border-radius:50%;filter:blur(70px);}
.blob-a{width:440px;height:440px;background:var(--accent);opacity:0.16;top:-140px;left:-100px;
  animation:blobMoveA 17s ease-in-out infinite alternate;}
.blob-b{width:380px;height:380px;background:var(--cyan);opacity:0.14;bottom:-140px;right:-80px;
  animation:blobMoveB 21s ease-in-out infinite alternate;}
.blob-c{width:260px;height:260px;background:var(--deep);opacity:0.12;top:40%;left:55%;
  animation:blobMoveC 14s ease-in-out infinite alternate;}
@keyframes blobMoveA{from{transform:translate(0,0) scale(1);}to{transform:translate(70px,50px) scale(1.18);}}
@keyframes blobMoveB{from{transform:translate(0,0) scale(1);}to{transform:translate(-60px,-40px) scale(1.12);}}
@keyframes blobMoveC{from{transform:translate(0,0) scale(1);}to{transform:translate(-40px,30px) scale(1.25);}}

/* ---------- NAV DROPDOWN ---------- */
.dropdown{
  display:none;position:absolute;top:100%;left:0;margin-top:0;padding-top:24px;
  background:var(--navy);border:1px solid rgba(234,244,250,0.12);border-radius:10px;
  min-width:220px;padding:8px;box-shadow:0 20px 40px -14px rgba(0,0,0,0.5);
}
.nav-links li.has-dropdown:hover .dropdown{display:block;}
.dropdown a{display:block;padding:10px 14px;font-size:0.82rem;letter-spacing:0.03em;
  text-transform:none;border-radius:6px;color:rgba(234,244,250,0.85);}
.dropdown a:hover{background:rgba(24,192,240,0.1);color:var(--cream);}
.dropdown-soon{display:block;padding:10px 14px;font-size:0.82rem;letter-spacing:0.03em;
  text-transform:none;border-radius:6px;color:rgba(234,244,250,0.4);cursor:default;white-space:nowrap;}
.dropdown-soon em{font-style:normal;font-size:0.72rem;opacity:0.85;display:block;margin-top:2px;}
.footer-soon{color:rgba(239,233,220,0.45);cursor:default;}
.footer-soon em{font-style:normal;font-size:0.85em;opacity:0.85;}

/* ---------- GENERIC PAGE HERO (interior pages) ---------- */
.page-hero{
  background:var(--navy);color:var(--cream);position:relative;overflow:hidden;
  padding:64px 0 56px;
}
.page-hero .wrap{position:relative;z-index:2;}
.page-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.4;z-index:0;}
.page-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(11,42,74,0.35) 0%, rgba(11,42,74,0.92) 100%);z-index:1;}
.page-hero .eyebrow{color:var(--cyan);}
.breadcrumb{font-family:'IBM Plex Mono',monospace;font-size:0.78rem;color:rgba(234,244,250,0.6);margin-bottom:14px;}
.breadcrumb a{color:var(--cyan);}
.page-hero h1{font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:14px;}

/* ---------- CONTENT PAGES ---------- */
.content-section{padding:80px 0;}

.content-block{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:48px;
  align-items:center;
  margin-bottom:64px;
}
.content-block .content-copy{order:1;}
.content-block .content-media{order:2;}

.content-block.reverse{
  grid-template-columns:0.9fr 1.1fr;
}
.content-block.reverse .content-copy{order:2;}
.content-block.reverse .content-media{order:1;}

.content-copy h2{font-size:clamp(1.5rem,2.6vw,2rem);color:var(--navy);margin-bottom:16px;}
.content-copy p{color:var(--steel);font-size:1.02rem;margin-bottom:14px;}
.content-media img{width:100%;height:420px;object-fit:cover;border-radius:16px;box-shadow:0 20px 44px -18px rgba(10,37,64,0.3);display:block;}.content-media.two-up{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.content-media.two-up img{height:260px;object-fit:cover;}
@media (max-width:600px){.content-media.two-up img{height:260px;}}
@media (max-width:820px){
  .content-block, .content-block.reverse{grid-template-columns:1fr;}
  .content-block.reverse .content-copy{order:1;}
  .content-block.reverse .content-media{order:2;}
}
/* ---------- GALLERY ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.gallery-grid img{width:100%;height:220px;object-fit:cover;border-radius:14px;
  box-shadow:0 14px 30px -14px rgba(10,37,64,0.3);transition:transform .3s ease;}
.gallery-grid img:hover{transform:scale(1.03);}

/* ---------- PORTS PAGE ---------- */
.ports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px;
  background:rgba(10,37,64,0.1);border-radius:14px;overflow:hidden;}
.ports-grid .port-item{background:var(--white);padding:22px 24px;
  font-family:'IBM Plex Mono',monospace;font-size:0.92rem;color:var(--navy);
  display:flex;align-items:center;gap:10px;}
.ports-grid .port-item::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none;}
.map-embed{border-radius:16px;overflow:hidden;box-shadow:0 20px 44px -18px rgba(10,37,64,0.3);margin-top:40px;}
.map-embed iframe{width:100%;height:clamp(320px, 55vw, 900px);border:0;display:block;}
@media (max-width:760px){
  .map-embed iframe{height:clamp(280px, 60vw, 420px);}
}

/* ---------- CONTACT PAGE FORM ---------- */
.full-form{background:var(--white);border-radius:18px;padding:44px;box-shadow:0 20px 50px -20px rgba(10,37,64,0.2);}
.full-form label{color:var(--steel);font-family:'IBM Plex Mono',monospace;font-size:0.72rem;
  letter-spacing:0.06em;text-transform:uppercase;margin-bottom:6px;display:block;}
.full-form input, .full-form select, .full-form textarea{
  width:100%;border:1.5px solid rgba(10,37,64,0.15);border-radius:8px;padding:11px 12px;
  font-family:'Inter',sans-serif;font-size:0.94rem;color:var(--navy);margin-bottom:18px;background:var(--white);}
.full-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.contact-info-strip{display:flex;flex-wrap:wrap;gap:32px;margin:36px 0 8px;padding:28px 0;}
.contact-info-strip div{display:flex;flex-direction:column;gap:4px;}
.contact-info-strip .label{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;
  text-transform:uppercase;letter-spacing:0.06em;color:var(--steel);}
.contact-info-strip .value{font-size:1.1rem;color:var(--navy);font-weight:600;}
.contact-map-wrap{height:100%;}
.contact-map-inner{border-radius:16px;overflow:hidden;box-shadow:0 20px 44px -18px rgba(10,37,64,0.3);height:100%;min-height:520px;}
@media (max-width:900px){
  .contact-map-wrap{height:auto;}
  .contact-map-inner{height:420px;min-height:0;}
}
@media (max-width:600px){
  .full-form{padding:24px 18px;}
  .contact-info-strip{gap:20px;}
}