
:root{
  --green:#8DC63F;
  --green-dark:#6EA82E;
  --green-light:#B7E07B;
  --blue:#0090D3;
  --blue-dark:#00699B;
  --blue-light:#5FC4EE;
  --navy:#0A2233;
  --navy-2:#0F2E44;
  --ink:#0E1B24;
  --paper:#F5F8F7;
  --paper-2:#FFFFFF;
  --line:#DEE7E4;
  --muted:#5B6B72;
  --display:'Space Grotesk',sans-serif;
  --body:'Inter',sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px;}
.eyebrow{
  font-family:var(--mono);
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--blue-dark);
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:500;
}
.eyebrow::before{
  content:"";
  width:22px;height:1.5px;
  background:var(--green);
}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;color:var(--ink);letter-spacing:-.01em;}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--body);font-weight:600;font-size:15px;
  padding:14px 26px;border-radius:6px;
  border:1.5px solid transparent;
  cursor:pointer;transition:all .25s ease;
  white-space:nowrap;
}
.btn-primary{background:linear-gradient(135deg, var(--blue-light), var(--blue) 55%, var(--blue-dark));color:#fff;box-shadow:0 10px 24px -8px rgba(0,144,211,.55), inset 0 1px 0 rgba(255,255,255,.25);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(0,144,211,.6), inset 0 1px 0 rgba(255,255,255,.3);}
.btn-ghost{border-color:rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(6px);background:rgba(255,255,255,.04);}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1);}
.btn-outline-dark{border-color:var(--navy);color:var(--navy);box-shadow:0 2px 10px -4px rgba(10,34,51,.15);}
.btn-outline-dark:hover{background:var(--navy);color:#fff;transform:translateY(-2px);box-shadow:0 12px 24px -8px rgba(10,34,51,.35);}
.btn-green{background:linear-gradient(135deg, var(--green-light), var(--green) 60%, var(--green-dark));color:#0F2A05;box-shadow:0 10px 24px -8px rgba(141,198,63,.45), inset 0 1px 0 rgba(255,255,255,.3);}
.btn-green:hover{transform:translateY(-2px);box-shadow:0 14px 28px -8px rgba(141,198,63,.55);}
.arrow{transition:transform .25s ease;}
.btn:hover .arrow{transform:translateX(4px);}

[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease;}
[data-reveal].in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  [data-reveal]{opacity:1;transform:none;transition:none;}
  *{scroll-behavior:auto !important;animation:none !important;}
}

.btn:disabled{opacity:.6;cursor:not-allowed;transform:none !important;}

/* shared pulse keyframe (live-status dots, hero/CTA cards) */
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}

