/* IVIS shared site styles — base, nav, buttons, typography, footer.
   Page-specific styles stay in each page's <style> block. */
:root {
  --navy: #192230;
  --navy-light: #1e2a3a;
  --navy-2: #243244;
  --navy-3: #2d3d52;
  --navy-border: #2f3f55;
  --navy-border-light: #3a4d66;
  --green: #66c61c;
  --green-light: #7ad42f;
  --green-dim: rgba(102,198,28,.10);
  --green-border: rgba(102,198,28,.28);
  --orange: #f69008;
  --orange-light: #f89d28;
  --orange-dim: rgba(246,144,8,.10);
  --orange-border: rgba(246,144,8,.25);
  --lime: #b6c512;
  --lime-dim: rgba(182,197,18,.10);
  --lime-border: rgba(182,197,18,.25);
  --red: #f04438;
  --red-dim: rgba(240,68,56,.10);
  --red-border: rgba(240,68,56,.25);
  --blue: #60a5fa;
  --text: #e6e9ee;
  --text-2: #a0aab8;
  --text-3: #6b7a8d;
  --text-4: #4a5768;
  --bg: #0e1520;
  --bg-alt: #111c28;
  --surface: #16202e;
  --surface-2: #1b2838;
  --surface-3: #223040;
  --max-w: 1200px;
  --blue-dim: rgba(96,165,250,.10);
  --violet: #a78bfa;
  --violet-dim: rgba(167,139,250,.10);
  --blue-border: rgba(96,165,250,.28);
  --violet-light: #c4b5fd;
  --violet-border: rgba(167,139,250,.28);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.container{max-width:var(--max-w);margin:0 auto;padding:0 32px}
section{padding:100px 0}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 0 0 rgba(102,198,28,.3)}50%{box-shadow:0 0 0 10px rgba(102,198,28,0)}}
.anim{animation:fadeUp .65s ease-out both}
.d1{animation-delay:.08s}
.d2{animation-delay:.16s}
.d3{animation-delay:.24s}
.d4{animation-delay:.32s}
.d5{animation-delay:.4s}
.announce{background:var(--orange-dim);border-bottom:1px solid var(--orange-border);padding:10px 32px;text-align:center;font-size:13px;color:var(--text);line-height:1.6}
.announce a{color:var(--orange-light);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.announce a:hover{color:#fff}
nav{position:sticky;top:0;z-index:100;background:rgba(0, 0, 0, 0.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--navy-border);padding:0 32px}
.nav-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}
.nav-logo img{height:28px;display:block}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none}
.nav-links a{color:var(--text-2);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--text)}
.nav-cta{display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;border:none;transition:all .2s;white-space:nowrap;font-family:'DM Sans',sans-serif;justify-content:center}
.btn-green{background:var(--green);color:#0e1520}
.btn-green:hover{background:var(--green-light);transform:translateY(-1px);box-shadow:0 4px 20px rgba(102,198,28,.3)}
.btn-orange{background:var(--orange);color:#0e1520}
.btn-orange:hover{background:var(--orange-light);transform:translateY(-1px);box-shadow:0 4px 20px rgba(246,144,8,.3)}
.btn-outline{background:transparent;color:var(--text);border:1px solid var(--navy-border-light)}
.btn-outline:hover{border-color:var(--text-2);background:var(--surface-2)}
.btn-free{background:var(--green-dim);color:var(--green);border:1px solid var(--green-border)}
.btn-free:hover{background:rgba(102,198,28,.18);transform:translateY(-1px)}
.btn-sm{padding:8px 16px;font-size:13px}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--green);margin-bottom:12px}
.stitle{font-size:38px;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin-bottom:16px}
.ssub{font-size:17px;color:var(--text-2);max-width:640px;line-height:1.7}
footer{background:var(--bg);padding:60px 0 32px}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.ft-brand img{height:24px;margin-bottom:14px}
.ft-brand p{font-size:13px;color:var(--text-4);line-height:1.6;margin-bottom:16px;max-width:260px}
.ft-social{display:flex;gap:10px}
.ft-social a{width:32px;height:32px;border-radius:6px;background:var(--surface);border:1px solid var(--navy-border);display:flex;align-items:center;justify-content:center;color:var(--text-4);text-decoration:none;font-size:11px;font-weight:600;transition:all .2s}
.ft-social a:hover{border-color:var(--green-border);color:var(--green)}
.ft-col h4{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-4);margin-bottom:14px}
.ft-col a{display:block;font-size:13px;color:var(--text-2);text-decoration:none;padding:3px 0;transition:color .2s}
.ft-col a:hover{color:var(--text)}
.ft-bottom{border-top:1px solid var(--navy-border);padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-4)}
.d6 { animation-delay:.48s }
.nav-links a.active{color:var(--green)}
