:root{
  --bg:#ffffff; --ink:#0f172a; --muted:#64748b; --line:#e5e7eb;
  --accent:#2563eb; --accent-ink:#fff;
}
*{box-sizing:border-box}
html,body{
  margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial;
}
.container{max-width:1080px;margin:0 auto;padding:0 16px}
.header { position: sticky; top: 0; background: #fff; z-index: 50; }
.footer{border-bottom:1px solid var(--line)}
.footer{border-top:1px solid var(--line);border-bottom:none;margin-top:48px}
.inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:600}
.nav a{color:var(--muted);text-decoration:none;margin:0 10px;font-weight:500}
.nav a.active,.nav a:hover{color:var(--ink)}
.cta{background:var(--accent);color:var(--accent-ink);padding:8px 14px;border-radius:10px;text-decoration:none}
.hero{padding:42px 0;border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(26px,2.6vw,36px);margin:0 0 10px}
.kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;margin-bottom:6px}
.section{padding:32px 0;border-bottom:1px solid var(--line)}
.badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:14px}
.badge{border:1px solid var(--line);border-radius:12px;padding:12px}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
footer .kicker{color:var(--muted)}
/* Chat section styling (safe to keep even if disabled) */
.box{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}
.unlock input, .box input, .box button{font:inherit}
/* --- Chat visual polish --- */
.unlock {
  background:#f1f5f9;
  border:1px solid #dbeafe;
}
.unlock button {
  background:#2563eb;
  color:#fff;
  border:none;
  border-radius:6px;
  padding:6px 12px;
}
.unlock button:hover {background:#1d4ed8;}
.box {
  background:#f8fafc;
}
#log {
  background:#fff;
}
#f input {
  border:1px solid #cbd5e1;
  border-radius:6px;
  padding:6px;
}
#f button {
  background:#2563eb;
  color:#fff;
  border:none;
  border-radius:6px;
  padding:6px 12px;
}
#f button:hover {background:#1d4ed8;}
/* --- Mobile-first improvements --- */
:root {
  --space: 16px;
}

/* General spacing & tap targets */
button, .cta { min-height: 44px; line-height: 1.2; }
input, textarea { min-height: 44px; }

/* Ensure containers don’t hug the edges on small screens */
.container { max-width: 1080px; margin: 0 auto; padding: 0 var(--space); }

/* Cards & grids collapse nicely */
.badges, .card-grid, .grid { display: grid; gap: 16px; }
.badges { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.card-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }

/* Chat layout */
.box, .unlock { max-width: 800px; }
#log { height: 240px; }

/* --- Small screens --- */
@media (max-width: 768px) {
  html, body { font-size: 16px; }
  .inner { flex-wrap: wrap; gap: 10px; }

  /* Hamburger visible on mobile; nav stacked */
  .hamburger { display: inline-flex; align-items: center; justify-content: center;
               width: 44px; height: 44px; border: 1px solid var(--line);
               border-radius: 8px; background: #fff; cursor: pointer; }
  .nav { display: none; width: 100%; flex-direction: column; gap: 10px; }
  .nav.open { display: flex; }
  .nav a { padding: 10px 0; border-top: 1px solid var(--line); }

  /* Grids collapse to one column */
  .badges, .card-grid, .grid { grid-template-columns: 1fr; }

  /* Chat: full width; comfortable input */
  .box, .unlock { max-width: 100%; }
  #log { height: 180px; }
  #f { display: grid; grid-template-columns: 1fr; gap: 10px; }
  #f input { width: 100%; }
  #f button { width: 100%; }
}

/* --- Very small screens --- */
@media (max-width: 380px) {
  .hero h1 { font-size: 22px; }
}
/* Investors page polish */
.card ul { margin: 0 0 0 18px; }
.card ul li { margin: 6px 0; }
/* --- Soft content-protection helpers --- */
.no-copy {
  user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}
.no-screenshot::after {
  content: "© GPSHELIX — Confidential"; 
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 40px; color: rgba(100,100,100,0.05);
  pointer-events: none;
  z-index: 9999;
}
/* DEBUG: make the skip link obvious during testing */
.skip {
  position: absolute;
  left: -9999px;
  top: -9999px;
  background: #111;
  color: #fff;
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: 600;
}
.skip:focus {
  left: 12px;
  top: 12px;
  z-index: 1000;
  outline: 2px solid #22c55e; /* bright green ring */
}
:focus {
  outline: 3px solid #2563eb; /* show where keyboard focus is */
  outline-offset: 2px;
}

/* Smooth scroll & scrollbar polish */
html { scroll-behavior: smooth; }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #2563eb; }
/* Mobile hamburger */
.hamburger { display:none; }
@media (max-width:768px){
  .hamburger{
    display:inline-flex; align-items:center; justify-content:center;
    width:44px; height:44px; border:1px solid #e5e7eb; border-radius:8px; background:#fff;
  }
  #site-nav, .nav { display:none; width:100%; flex-direction:column; gap:10px; }
  #site-nav.open, .nav.open { display:flex; }
}
/* visibility hotfix */
body { background:#fff !important; color:#0f172a !important; }
.hero, .section, .grid, .card, p, h1, h2, h3 { color:#0f172a !important; }

/* deploy bump 2025-10-16T11:18:12 */
/* —— Header / Footer logo sizing & header layout —— */
.header .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand img,
.logo img {
  height: 36px;
  width: auto;
  display: block;
  max-width: 100%;
}

footer .brand img,
footer .logo img {
  height: 28px;
}

/* Desktop nav horizontal; mobile rules you already have will still apply */
@media (min-width: 769px) {
  .nav {
    display: flex;
    align-items: center;
    gap: 16px;
  }
}

/* Ensure hero text uses body color (not overridden by old rules) */
.hero h1, .hero p { color: var(--ink); }
/* Logo visibility tweak */
.brand img, .logo img { height: 36px; width: auto; display: block; }
@media (prefers-color-scheme: light) { .brand img { filter: brightness(1.35) contrast(1.15); } }
@media (max-width: 768px) { .brand img { filter: brightness(1.35) contrast(1.15); } }
footer .brand img, footer .logo img { height: 28px; }
/* ==== Global polish (header, spacing, bullets, footer) ==== */
.header .inner{display:flex;align-items:center;justify-content:space-between;gap:16px}

.brand img,.logo img{height:36px;width:auto;display:block;max-width:100%}
footer .brand img,footer .logo img{height:28px}

/* If old templates include a text <span> next to logo, hide it */
.logo span,.brand span{display:none}

/* Comfortable gutters & readable line-length */
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.hero.container{max-width:900px}
.section.container{max-width:1000px}

/* Cards spacing */
.card-grid{gap:20px}

/* CTA readability + focus */
.nav .cta{
  background:var(--accent);color:#fff;font-weight:600;
  padding:8px 14px;border-radius:10px;text-decoration:none;
  transition:background .2s ease, box-shadow .2s ease;
}
.nav .cta:hover{background:#1d4ed8}
.nav .cta:focus{outline:2px solid #1d4ed8;outline-offset:2px;box-shadow:0 0 0 3px rgba(37,99,235,.25)}

/* Hamburger only on mobile; desktop keeps horizontal nav */
.hamburger{display:none}
@media (max-width:768px){
  .hamburger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:8px;background:#fff}
  .nav{display:none;width:100%;flex-direction:column;gap:10px}
  .nav.open{display:flex}
}
@media (min-width:769px){
  .nav{display:flex;align-items:center;gap:16px}
}

/* Darken link color in footer for better contrast */
footer a{color:#0f172a;text-decoration:underline}
footer a:hover{text-decoration:none}

/* Ensure bullet & dash characters render properly */
ul{list-style:disc inside}
