
:root{
  --navy:#061826;
  --blue:#0d2b45;
  --steel:#6f7f89;
  --silver:#e7edf1;
  --white:#ffffff;
  --teal:#36c0bf;
  --text:#1d2933;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.6}
.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:rgba(6,24,38,.96);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.08em}
.mark{width:34px;height:34px;border:2px solid var(--teal);display:inline-block;transform:skew(-12deg);background:linear-gradient(135deg,rgba(54,192,191,.25),transparent)}
nav{display:flex;gap:24px}
nav a{color:#d7e0e6;text-decoration:none;font-size:14px}
nav a.active,nav a:hover{color:var(--teal)}
.hero{min-height:650px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.hero-bg{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(6,24,38,.98),rgba(6,24,38,.78),rgba(6,24,38,.35)),
  radial-gradient(circle at 80% 20%,rgba(54,192,191,.35),transparent 28%),
  linear-gradient(135deg,#0a2034,#132f48 45%,#71808b);
}
.hero-bg:after{content:"";position:absolute;inset:0;background-image:
 linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.035) 1px, transparent 1px);
 background-size:44px 44px;mask-image:linear-gradient(90deg,#000,transparent)}
.hero-content{position:relative;max-width:850px;padding:7vw;color:#fff}
.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.18em;color:var(--teal);font-weight:800;margin:0 0 14px}
h1{font-size:clamp(42px,7vw,86px);line-height:.98;margin:0 0 26px;letter-spacing:-.05em}
h2{font-size:clamp(30px,4vw,52px);line-height:1.05;margin:0 0 22px;letter-spacing:-.04em;color:var(--navy)}
h3{font-size:22px;line-height:1.2;margin:0 0 12px;color:inherit}
.lead{font-size:22px;max-width:780px;color:#dbe6ec;margin-bottom:32px}
.button{display:inline-block;background:var(--teal);color:#03121c;text-decoration:none;padding:13px 20px;border-radius:3px;font-weight:800;margin-right:12px}
.button.secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}
.section{padding:88px 7vw}
.intro-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start}
.intro-grid p,.split p{font-size:18px}
.dark{background:var(--navy);color:#dfe8ee}
.dark h2{color:#fff}
.wide{max-width:920px;font-size:20px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);padding:26px;min-height:190px}
.dark .card h3{color:#fff}
.section:not(.dark) .card{background:#f4f7f9;border:1px solid #dde5ea}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.reverse{background:#f4f7f9}
.panel{background:#f4f7f9;border-left:5px solid var(--teal);padding:34px}
.panel hr{border:0;border-top:1px solid #cfd9df;margin:26px 0}
.visual-block{min-height:330px;background:linear-gradient(135deg,#112d45,#70808b);color:#fff;display:flex;align-items:end;padding:28px;font-size:30px;font-weight:800;letter-spacing:-.03em;position:relative;overflow:hidden}
.visual-block:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:36px 36px}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border-top:1px solid #d4dde3;border-bottom:1px solid #d4dde3}
.timeline div{padding:28px;border-right:1px solid #d4dde3}
.timeline div:last-child{border-right:0}
.timeline strong{display:block;font-size:24px;color:var(--navy);margin-bottom:8px}
.timeline span{display:block}
ul{margin:0;padding-left:20px}
footer{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:#07131f;color:#dbe6ec;padding:42px 7vw;border-top:1px solid rgba(255,255,255,.08)}
footer p{margin:4px 0}
@media(max-width:900px){
  .site-header{height:auto;align-items:flex-start;flex-direction:column;padding:18px 6vw;gap:14px}
  nav{flex-wrap:wrap;gap:14px}
  .hero{min-height:560px}
  .intro-grid,.split,footer{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .timeline div{border-right:0;border-bottom:1px solid #d4dde3}
}


/* Cropped logo header fix */
.site-header{
  min-height:86px;
}

.logo-brand{
  display:flex;
  align-items:center;
  height:72px;
  max-width:260px;
}

.logo-brand img{
  height:64px;
  width:auto;
  display:block;
  border-radius:3px;
}

@media(max-width:900px){
  .logo-brand{
    height:60px;
    max-width:220px;
  }
  .logo-brand img{
    height:54px;
  }
}


/* V5 Hammer Hull landing page */
.site-header{
  background:#061826;
  border-bottom:1px solid rgba(255,255,255,.12);
  min-height:104px;
  padding:0 4vw;
}
.logo-brand{
  height:88px;
  max-width:360px;
}
.logo-brand img{
  height:78px !important;
  width:auto !important;
  max-width:360px !important;
  object-fit:contain;
}
nav{
  gap:34px;
}
nav a{
  font-size:16px;
}
nav a.active{
  padding-bottom:12px;
  border-bottom:2px solid var(--teal);
}

.hammer-hero{
  min-height:760px;
  background-image:
    linear-gradient(90deg, rgba(4,18,30,.96) 0%, rgba(4,18,30,.82) 32%, rgba(4,18,30,.22) 58%, rgba(4,18,30,.04) 100%),
    url("../assets/hammer-hull-hero.png");
  background-size:cover;
  background-position:center center;
  display:flex;
  align-items:center;
}
.hammer-hero .hero-bg,
.hammer-hero .hero-overlay{
  display:none;
}
.hammer-hero .hero-content{
  padding:5vw 4vw;
  max-width:650px;
}
.hammer-hero h1{
  font-size:clamp(56px,6vw,92px);
  line-height:.96;
  letter-spacing:-.06em;
  text-shadow:0 2px 18px rgba(0,0,0,.45);
}
.hammer-hero .lead{
  font-size:18px;
  line-height:1.65;
  max-width:560px;
  color:#f1f7fb;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.hammer-hero .eyebrow{
  font-size:17px;
  color:var(--teal);
}
.hammer-hero .button{
  min-width:220px;
  text-align:center;
  font-size:16px;
  padding:18px 24px;
}
.feature-strip{
  display:grid;
  grid-template-columns:1.2fr 1.2fr 1.2fr 1fr;
  gap:28px;
  background:#061826;
  color:#dce8ef;
  padding:34px 4vw;
  border-top:1px solid rgba(255,255,255,.08);
}
.feature{
  display:flex;
  gap:20px;
  align-items:flex-start;
  border-right:1px solid rgba(255,255,255,.16);
  padding-right:24px;
}
.feature h3{
  color:#fff;
  font-size:19px;
}
.feature p{
  margin:0;
  font-size:15px;
  color:#b8c7d1;
}
.feature-icon{
  color:var(--teal);
  border:2px solid var(--teal);
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  font-weight:900;
  font-size:24px;
  flex:none;
}
.specs p{
  margin:5px 0;
  color:#fff;
  font-size:15px;
}
.specs strong{
  color:var(--teal);
  display:inline-block;
  width:105px;
  font-weight:700;
}
.compact-hero{
  min-height:460px;
}
.image-panel{
  overflow:hidden;
  background:#071826;
}
.image-panel img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.safe-passage-panel{
  min-height:420px;
}
.hammer-card{
  background:
    linear-gradient(135deg,rgba(6,24,38,.8),rgba(54,192,191,.15)),
    url("../assets/hammer-hull-hero.png");
  background-size:cover;
  background-position:center;
}
@media(max-width:900px){
  .site-header{
    min-height:auto;
  }
  .logo-brand img{
    height:60px !important;
  }
  .hammer-hero{
    min-height:720px;
    background-position:62% center;
  }
  .feature-strip{
    grid-template-columns:1fr;
  }
  .feature{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
    padding-bottom:20px;
  }
}


/* V6 clean hero background fix - removes baked-in mockup text */
.hammer-hero{
  min-height:780px !important;
  background-image:
    linear-gradient(90deg, rgba(4,18,30,.98) 0%, rgba(4,18,30,.90) 34%, rgba(4,18,30,.42) 60%, rgba(4,18,30,.08) 100%),
    url("../assets/hammer-hull-clean-bg.png") !important;
  background-size:cover !important;
  background-position:right center !important;
  align-items:center !important;
}

.hammer-hero .hero-content{
  padding-top:4vw !important;
  padding-left:4vw !important;
  max-width:690px !important;
  position:relative;
  z-index:2;
}

.hammer-hero h1{
  margin-top:0 !important;
  font-size:clamp(54px,5.8vw,88px) !important;
  line-height:.98 !important;
  color:#fff !important;
}

.hammer-hero .lead{
  color:#fff !important;
  opacity:1 !important;
  max-width:590px !important;
}

.hammer-hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(4,18,30,0) 72%, rgba(4,18,30,.88) 100%);
}

.feature-strip{
  position:relative;
  z-index:3;
}

/* Remove any old visual bleed/duplication */
.hammer-hero .hero-bg,
.hammer-hero .hero-overlay{
  display:none !important;
}


/* V7 consolidated refinements */
.logo-brand{
  height:112px !important;
  max-width:460px !important;
}
.logo-brand img{
  height:102px !important;
  max-width:460px !important;
}
.site-header{
  min-height:126px !important;
}

/* Slightly zoom the hero vessel out and shift it right */
.hammer-hero{
  background-size:88% auto !important;
  background-position:112% center !important;
  background-repeat:no-repeat !important;
  background-color:#061826 !important;
}

/* Clean development imagery */
.image-panel.hammer-panel{
  min-height:420px;
  background:#061826;
}
.image-panel.hammer-panel img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.visual-block{
  color:transparent !important;
  font-size:0 !important;
}
.visual-block:after{
  opacity:.25;
}

/* Five card grid support */
.dark .cards{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}

@media(max-width:900px){
  .logo-brand{
    height:82px !important;
    max-width:340px !important;
  }
  .logo-brand img{
    height:74px !important;
    max-width:340px !important;
  }
  .site-header{
    min-height:auto !important;
  }
  .hammer-hero{
    background-size:cover !important;
    background-position:65% center !important;
  }
}


/* V9 Current Developments - dark/navy visual language */
.current-developments-page{
  background:#061826;
}

.developments-hero{
  min-height:470px;
}

.developments-hero .hero-content{
  max-width:980px;
}

.developments-hero h1{
  max-width:950px;
}

.developments-hero .lead{
  max-width:820px;
}

.development-dark-section{
  background:#061826;
  color:#dfe8ee;
  padding-top:70px;
}

.development-dark-row{
  display:grid;
  grid-template-columns:1.08fr 1fr;
  gap:46px;
  align-items:stretch;
  margin-bottom:42px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  box-shadow:0 24px 80px rgba(0,0,0,.22);
}

.development-dark-row.reverse-row{
  grid-template-columns:1.08fr 1fr;
}

.development-dark-image{
  min-height:470px;
  background:#07131f;
  overflow:hidden;
}

.development-dark-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.development-dark-copy{
  padding:46px 48px 42px 0;
}

.development-dark-copy h2{
  color:#fff;
  font-size:clamp(30px,3vw,46px);
  margin-bottom:24px;
}

.development-dark-copy p{
  font-size:18px;
  color:#dce8ef;
  margin:0 0 18px;
}

.dark-specs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  border-top:1px solid rgba(255,255,255,.18);
  margin-top:32px;
  padding-top:24px;
}

.dark-specs div{
  border-right:1px solid rgba(255,255,255,.15);
  padding-right:16px;
}

.dark-specs div:last-child{
  border-right:0;
}

.dark-specs strong{
  display:block;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--teal);
  font-size:12px;
  margin-bottom:7px;
}

.dark-specs span{
  color:#fff;
  font-size:16px;
}

@media(max-width:900px){
  .development-dark-row,
  .development-dark-row.reverse-row{
    grid-template-columns:1fr;
  }
  .development-dark-copy{
    padding:30px;
  }
  .development-dark-image{
    min-height:330px;
  }
  .dark-specs{
    grid-template-columns:1fr;
  }
  .dark-specs div{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.15);
    padding-bottom:14px;
  }
  .dark-specs div:last-child{
    border-bottom:0;
  }
}
