:root{
  --bg: #0b0e12;
  --panel: #10141a;
  --panel-2: #121821;
  --border: #1b2230;
  --text: #e8eaec;
  --muted: #98a2b3;
  --accent: #00bfa6;   /* brand teal */
  --accent-2: #e35050; /* shield red option */
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background: radial-gradient(1200px 800px at 20% -10%, #0f1622 0%, var(--bg) 60%);
  color:var(--text);
  font:16px/1.6 Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* in-page anchors land below sticky nav */
[id]{scroll-margin-top: 92px;}

.container{max-width:1120px;margin:0 auto;padding:0 1.5rem}

/* Skip link */
.skip{position:absolute;left:-9999px;top:auto}
.skip:focus{left:16px;top:10px;background:#000;padding:.5rem 1rem;border-radius:8px;color:#fff;z-index:100}

/* NAV */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(16,20,26,.85); backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--border);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand{display:flex;align-items:center;gap:.65rem;color:var(--text);text-decoration:none;font-weight:900;letter-spacing:.35px}
.logo{height:48px;width:auto;display:inline-block;vertical-align:middle}
.links{display:flex;gap:1rem;align-items:center}
.links a{color:var(--text);text-decoration:none;opacity:.9}
.links a:hover{color:var(--accent)}

.btn{padding:.6rem 1rem;border-radius:.65rem;border:1px solid var(--accent);color:var(--accent);text-decoration:none;font-weight:700}
.btn-small{padding:.45rem .8rem}
.btn-primary{background:var(--accent);color:#00110e;border-color:transparent}
.btn-primary:hover{filter:brightness(1.07)}
.btn-ghost:hover{background:var(--accent);color:#00110e}

/* keyboard focus visibility */
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.menu-toggle{display:none;gap:6px;background:transparent;border:0;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:2px;background:#cfd4dc}

/* HERO */
.hero{position:relative;padding:6.5rem 0 4rem}
.hero-inner{text-align:center}
.hero-mark{
  width:120px;
  height:auto;
  opacity:.95;
  margin:0 auto 1rem;
  display:block;
  filter:none;
  border-radius:10px;
}
.kicker{color:var(--accent);font-weight:800;letter-spacing:.25px;margin-bottom:.75rem}
.hero h1{font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.15;margin:0 0 1rem}
.hero .lead{color:var(--muted);max-width:760px;margin:0 auto 2rem}
.subproof{color:#cbd3df;opacity:.95;margin:.5rem auto 0;max-width:700px}
.cta-row{display:flex;justify-content:center;gap:1rem;margin:1.25rem 0}
.notice{margin:.25rem 0 0;color:#cbd3df;font-size:.95rem;opacity:.9; line-height:1.35}
.trust-badges{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin:1rem 0 0;padding:0}
.trust-badges li{padding:.35rem .6rem;border:1px solid var(--border);border-radius:.5rem;background:rgba(16,20,26,.5);font-size:.9rem;color:#cbd3df}
.hero-gradient{position:absolute;inset:auto 0 -140px 0;height:240px;background:linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,.25), rgba(0,0,0,0));filter:blur(40px);pointer-events:none}

/* VALUE */
.value{padding:3rem 0 2rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:1.6rem}
.card h3{color:var(--accent);margin:0 0 .5rem}

/* SECTION BASE */
.section{padding:4.5rem 0}
.alt{background:linear-gradient( to bottom, rgba(255,255,255,0.02), rgba(255,255,255,0) ), var(--bg)}
.section h2{font-size:clamp(1.6rem,2.8vw,2.2rem);margin:0 0 1.2rem}
.link{color:var(--accent);text-decoration:none;font-weight:700}
.link:hover{text-decoration:underline}
.tall ul{margin:.6rem 0 0 1.1rem}

/* INDUSTRIES */
.chips{display:flex;flex-wrap:wrap;gap:.6rem}
.chips span{padding:.45rem .7rem;background:var(--panel);border:1px solid var(--border);border-radius:.7rem;color:#cbd3df}

/* PROCESS */
.steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.steps li{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem;position:relative}
.steps li::before{counter-increment:step;content:counter(step);position:absolute;left:-12px;top:-12px;background:var(--accent);color:#00110e;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-weight:800}

/* ABOUT */
.about-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}
.about-text p{margin:.6rem 0}
.muted{color:var(--muted)}
.small{font-size:.92rem}
.about-points{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}
.about-points > div{background:var(--panel);border:1px solid var(--border);border-radius:.6rem;padding:.6rem .8rem}
.about-photo img{width:100%;max-width:420px;border-radius:14px;border:1px solid var(--border);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.about-cta{display:flex;gap:.8rem;margin-top:1rem}

/* Headshot + Bio card */
.about-photo{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:left;
}
.bio{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:12px;
  padding:1rem 1.2rem;
  margin-top:1rem;
  max-width:420px;
  color:var(--text);
}
.bio h3{
  margin:0 0 .4rem;
  color:var(--accent);
  font-size:1.25rem;
  line-height:1.2;
}
.bio p{
  margin:.4rem 0;
  line-height:1.55;
}

/* CONTACT + EMBEDS */
.contact-wrap{display:grid;grid-template-columns:1fr .7fr;gap:1.6rem}
.form-embed{margin-top:1rem;background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.form-embed iframe{width:100%;height:900px;border:0;display:block;background:#fff}
.contact-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.2rem}
.contact-card ul{margin:.4rem 0 0 1rem}

/* FOOTER */
.footer{padding:2rem 0;border-top:1px solid var(--border);text-align:center;color:var(--muted)}
.foot{display:flex;align-items:center;justify-content:space-between}
.tiny{font-size:.85rem}

/* Slide-in CTA */
.slidein{
  position:fixed; right:18px; bottom:-300px; max-width:320px;
  background:var(--panel); border:1px solid var(--border);
  border-radius:12px; padding:1rem;
  box-shadow:0 10px 30px rgba(0,0,0,.45);
  transition:bottom .5s ease; z-index:70
}
.slidein.show{ bottom:18px }

/* Mobile floating CTA */
.cta-float{
  position:fixed; right:16px; bottom:16px; z-index:60; display:none;
}
@media (max-width: 760px){
  .cta-float{ display:inline-block; }
}

/* RESPONSIVE */
@media (max-width: 980px){
  .grid-3{grid-template-columns:1fr}
  .about-wrap,.contact-wrap{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .links{position:fixed;inset:80px 0 auto 0;display:none;flex-direction:column;gap:0;background:var(--panel);border-bottom:1px solid var(--border)}
  .links a{padding:1rem 1.5rem;border-top:1px solid var(--border)}
  .links.open{display:flex}
  .menu-toggle{display:flex}
  .foot{flex-direction:column;gap:.6rem}
  .card{padding:1.2rem}
  .section{padding:3.5rem 0}
  .form-embed iframe{height:700px}
}

/* very small phones */
@media (max-width: 380px){
  .hero-mark{ width:100px; }
  .chips span { font-size:.85rem; padding:.35rem .55rem; }
}

/* Resources list spacing */
#resources .card ul li { margin:.35rem 0; }

/* Services: 4-up on wide screens, auto-stack on smaller */
@media (min-width: 1200px){
  #services .grid-3 { grid-template-columns: repeat(4, 1fr); }
}

/* Slightly tighter card spacing on very large screens */
@media (min-width: 1400px){
  .grid-3 { gap: 1.4rem; }
}
/* Header logo sizing + baseline fix */
.logo{
  height:48px;            /* nav height target */
  width:auto;
  display:block;          /* removes inline-gap that can misalign on desktop */
}

/* Keep name on one line beside the logo */
.brand span{
  white-space:nowrap;
  line-height:1;          /* avoids wrapping under logo */
}

