/* Bad Marine LLC — shared brand system.
   Palette and type scale carried over exactly from the existing Crash Location
   Resolution tool (Desktop/Bad Marine - Crash Location Resolution/index.html)
   so every Bad Marine property reads as the same company. */

:root{
  --bg-0:#08090b;
  --bg-1:#111318;
  --panel:#16181d;
  --panel-2:#1c1f25;
  --border:#2a2d34;
  --text:#eef0f3;
  --muted:#9aa0ac;
  --muted-2:#6b7078;
  --accent:#33c7f5;
  --accent-glow:#7fe3ff;
  --accent-dim:#1c5b70;
  --good:#39d98a;
  --warn:#f5b942;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:
    radial-gradient(1200px 600px at 50% -10%, #14171d 0%, var(--bg-0) 60%),
    var(--bg-0);
  color:var(--text);
  font-family:"Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;
  min-height:100vh;
  line-height:1.6;
}
.mono{font-family:Consolas,"SFMono-Regular",Menlo,monospace;}

/* Default inline links read as normal text, not a wash of neon - the brand's cyan glow is a
   single accent dot in the logo, not a body-copy color. It shows up on hover instead, and stays
   reserved for small, deliberate UI accents elsewhere (nav active state, eyebrow labels, CTAs). */
a{color:var(--text);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:2px;}
a:hover{color:var(--accent-glow);text-decoration-color:var(--accent-glow);}

.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}

/* ---------- Header / nav ---------- */
header.site-header{
  border-bottom:1px solid var(--border);
  background:rgba(8,9,11,.88);
  backdrop-filter:blur(6px);
  position:sticky;
  top:0;
  z-index:40;
}
.nav-row{
  display:flex;
  align-items:center;
  gap:18px;
  padding:16px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:inherit;
}
.brand img{width:40px;height:40px;display:block;}
.brand .wordmark .name{
  font-size:16px;
  font-weight:700;
  letter-spacing:.06em;
  color:#fff;
  text-transform:uppercase;
}
.brand .wordmark .tagline{
  font-size:11.5px;
  color:var(--muted);
  letter-spacing:.02em;
}
nav.site-nav{
  display:flex;
  gap:6px;
  margin-left:auto;
  flex-wrap:wrap;
}
nav.site-nav a{
  color:var(--muted);
  text-decoration:none;
  font-size:13.5px;
  font-weight:600;
  letter-spacing:.02em;
  padding:8px 12px;
  border-radius:8px;
  transition:color .15s ease, background .15s ease;
}
nav.site-nav a:hover{color:var(--text);background:var(--panel);}
nav.site-nav a.active{color:var(--accent);background:rgba(51,199,245,.08);}

/* ---------- Hero ---------- */
.hero{
  padding:72px 0 56px;
  border-bottom:1px solid var(--border);
  position:relative;
  overflow:hidden;
}
.hero-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.hero-copy{flex:1 1 auto;min-width:0;}
.hero-logo{
  flex:0 0 auto;
  display:block;
  width:min(400px, 34vw);
  filter:drop-shadow(0 12px 32px rgba(0,0,0,.5));
}
.hero-logo img{display:block;width:100%;height:auto;}
.eyebrow{
  font-family:Consolas,"SFMono-Regular",Menlo,monospace;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 14px;
}
.hero h1{
  font-size:40px;
  line-height:1.15;
  margin:0 0 18px;
  color:#fff;
  letter-spacing:-.01em;
  max-width:20ch;
}
.hero p.lede{
  font-size:17px;
  color:var(--muted);
  max-width:62ch;
  margin:0 0 28px;
}
/* Product-page hero: the H1 is the product name, this is the one-line
   plain-language description of what it does, sitting directly under it. */
.hero h1 + .hero-subtitle{margin-top:-6px;}
.hero p.hero-subtitle{
  font-size:19px;
  line-height:1.4;
  font-weight:600;
  color:var(--accent-glow);
  max-width:60ch;
  margin:0 0 20px;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* ---------- Buttons ---------- */
.btn{
  appearance:none;
  display:inline-block;
  border:none;
  border-radius:8px;
  padding:12px 22px;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  letter-spacing:.01em;
  text-decoration:none;
}
.btn-primary{background:var(--accent);color:#04222c;}
.btn-primary:hover{background:var(--accent-glow);}
.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-glow);}

/* ---------- Sections / panels ---------- */
section{padding:56px 0;}
section.alt{background:var(--bg-1);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
section h2{
  font-size:26px;
  color:#fff;
  margin:0 0 8px;
  letter-spacing:-.005em;
}
section p.section-lede{
  color:var(--muted);
  font-size:15px;
  max-width:70ch;
  margin:0 0 36px;
}

.panel{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:12px;
  padding:26px;
}

/* ---------- Product cards ---------- */
.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:20px;
}
.product-card{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:12px;
  padding:26px;
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:border-color .15s ease, transform .15s ease;
}
.product-card:hover{border-color:var(--accent);transform:translateY(-2px);}
.product-card .status{
  display:inline-flex;
  align-self:flex-start;
  align-items:center;
  gap:6px;
  padding:3px 10px;
  border-radius:99px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.status-live{background:rgba(57,217,138,.14);color:var(--good);}
.status-dev{background:rgba(245,185,66,.14);color:var(--warn);}
.status-demo{background:rgba(51,199,245,.14);color:var(--accent);}
.product-card h3{margin:0;font-size:18px;color:#fff;}
.product-card .card-sub{margin:0;color:var(--accent-glow);font-size:12.5px;font-weight:600;letter-spacing:.01em;}
.product-card p{margin:0;color:var(--muted);font-size:14px;}
.product-card .learn-more{color:var(--accent);font-size:13.5px;font-weight:600;margin-top:auto;}

/* ---------- Stat callouts ---------- */
.stat-row{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:16px;
  margin:28px 0;
}
.stat{
  background:var(--panel-2);
  border:1px solid var(--border);
  border-radius:10px;
  padding:18px;
  text-align:center;
}
.stat .n{
  display:block;
  font-size:30px;
  font-weight:700;
  color:#fff;
  font-family:Consolas,"SFMono-Regular",Menlo,monospace;
}
.stat .l{
  display:block;
  margin-top:4px;
  font-size:12px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.04em;
}

/* ---------- Honest / callout boxes ---------- */
.callout{
  border-left:3px solid var(--warn);
  background:rgba(245,185,66,.06);
  border-radius:0 8px 8px 0;
  padding:16px 20px;
  margin:24px 0;
  font-size:14.5px;
  color:var(--text);
}
.callout p{margin:0 0 8px;}
.callout p:last-child{margin-bottom:0;}
.callout .callout-title{
  font-weight:700;
  color:#f5c968;
  font-size:12.5px;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:8px;
  display:block;
}

.pill{
  display:inline-block;
  padding:2px 8px;
  border-radius:99px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.02em;
}
.pill-accent{background:rgba(51,199,245,.14);color:var(--accent-glow);}
.pill-good{background:rgba(57,217,138,.14);color:var(--good);}

ul.spec-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
ul.spec-list li{
  padding-left:20px;
  position:relative;
  color:var(--text);
  font-size:14.5px;
}
ul.spec-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:7px;
  height:7px;
  background:var(--accent);
  clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

/* ---------- Footer ---------- */
footer.site-footer{
  border-top:1px solid var(--border);
  padding:36px 0;
  color:var(--muted-2);
  font-size:13px;
}
footer.site-footer .footer-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:20px;
}
footer.site-footer a{color:var(--muted);}
footer.site-footer a:hover{color:var(--accent-glow);}
footer.site-footer .contact-block p{margin:2px 0;}

/* ---------- Pipeline diagram (platform.html) ---------- */
.pipeline{margin:32px 0 8px;}
.pipeline-track{
  display:flex;
  align-items:stretch;
  flex-wrap:wrap;
  gap:0;
}
.pipeline-node{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:12px;
  padding:18px 20px;
  flex:1 1 160px;
  min-width:150px;
}
.pipeline-node--product{border-color:var(--accent-dim);background:var(--panel-2);}
.pipeline-node h3{margin:0 0 6px;font-size:15px;color:#fff;line-height:1.3;}
.pipeline-node p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.45;}
.pipeline-node .status{margin-bottom:10px;}
.pipeline-kicker{
  display:block;
  font-family:Consolas,"SFMono-Regular",Menlo,monospace;
  font-size:10.5px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted-2);
  margin-bottom:8px;
}
.pipeline-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 36px;
  color:var(--accent);
  font-size:18px;
}
.pipeline-branch{
  margin:22px auto 0;
  max-width:360px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.pipeline-branch-connector{
  font-family:Consolas,"SFMono-Regular",Menlo,monospace;
  font-size:11px;
  color:var(--muted-2);
  text-align:center;
}
.pipeline-branch .pipeline-node{width:100%;}

@media (max-width: 640px){
  .hero h1{font-size:30px;}
  .hero p.hero-subtitle{font-size:16px;}
  .nav-row{flex-wrap:wrap;}
  .hero-row{flex-direction:column-reverse;gap:28px;}
  .hero-logo{width:min(260px, 60vw);}
  .pipeline-track{flex-direction:column;}
  .pipeline-arrow{display:none;}
}
