:root{
  --bg: #0d1b2a;
  --bg-alt: #0f2233;
  --panel: #10263b;
  --card: #132b44;
  --text: #e6edf5;
  --muted: #a7b4c6;
  --brand: #5ee1a8;
  --brand-ink: #0d3326;
  --ink: #0a1420;
  --line: #1f3a57;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --radius: 14px;
  --radius-lg: 22px;
  --max: 1400px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color: var(--text);
  background: radial-gradient(1200px 600px at 15% -10%, #173042 0%, var(--bg) 40%), linear-gradient(180deg, #0b1725, var(--bg));
  background-attachment: fixed;
  line-height:1.5;
}

.container{
  width:100%;
  max-width:var(--max);
  margin-inline:auto;
  padding-inline:20px;
}

/* Header */
.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(10px);
  background: rgba(8,16,28,.68);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.header-inner{display:flex; gap:16px; align-items:center; justify-content:space-between; padding:14px 0;}
.brand{display:flex; align-items:center; gap:10px; color:var(--text); text-decoration:none; font-weight:700; letter-spacing:.2px;}
.brand-mark{
  display:inline-grid; place-items:center;
  width:34px; height:34px; border-radius:10px;
  background: var(--brand);
  color: var(--brand-ink);
  font-weight:900;
}
.brand-mark.small{width:26px; height:26px; font-size:14px}
.brand-text{font-size:18px}

.nav-list{display:flex; gap:18px; align-items:center; list-style:none; margin:0; padding:0}
.nav-list a{color:#cdd7e6; text-decoration:none; padding:8px 10px; border-radius:10px}
.nav-list a:hover{background:rgba(255,255,255,.06)}

.header-cta .btn{padding:10px 14px}

/* Buttons */
.btn{
  display:inline-block;
  text-decoration:none;
  color: var(--ink);
  background: #e8eef7;
  border:1px solid rgba(255,255,255,.08);
  padding:12px 16px;
  border-radius:12px;
  font-weight:700;
  transition:transform .06s ease, box-shadow .2s ease, background .2s ease;
  box-shadow: var(--shadow);
  cursor:pointer;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{
  background: var(--brand);
  color: var(--brand-ink);
}
.btn-ghost{
  background: transparent;
  color: #dbe6f7;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow:none;
}
.btn-lg{
  padding:16px 24px;
  font-size:1.1rem;
}

/* Hero */
.hero{padding:80px 0 60px}
.hero-inner{display:grid; grid-template-columns: 1fr 1.2fr; gap:40px; align-items:center}
.hero-copy h1{font-size: clamp(32px, 5vw, 56px); line-height:1.05; margin:0 0 16px; font-weight:800}
.lead{color:#cdd7e6; font-size:1.15rem; margin:0 0 24px}
.hero-actions{display:flex; gap:14px; margin:0 0 20px}

.trust{display:flex; flex-wrap:wrap; gap:10px; align-items:center; color:#c0ccde}
.trust .dot{width:6px; height:6px; background:#4b617d; border-radius:50%}
.badge{
  display:inline-block; background:#11283f; border:1px solid #264663; color:#c0ccde;
  padding:6px 10px; border-radius:999px; font-size:.9rem
}

/* Hero mock card */
.hero-card{
  background: linear-gradient(180deg, #0e2236, #0a1a2b);
  border:1px solid #233b57;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  overflow:hidden;
  width: 100%; /* Add this line */
  max-width: 750px; /* Add this line - make it larger than your GIF max-width */
  /*overflow:hidden;*/
}
.mock-toolbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 12px; border-bottom:1px solid #1e3551; background:#0c1f33;
}
.mock-toolbar .lamp{width:64px; height:16px; border-radius:8px; background:linear-gradient(90deg,#1f3a57,#365f8a)}
.mock-toolbar .dots span{display:inline-block; width:8px; height:8px; background:#284461; border-radius:50%; margin-left:6px}
.mock-content{padding:18px 18px 8px; color:#d6e1f0}
.chip{
  display:inline-block; padding:2px 8px; border-radius:999px; background:#123353; border:1px solid #27507a; color:#cfe0f6; cursor:help
}
.tooltip-demo{
  position:absolute; transform:translate(16px, 8px);
  max-width:320px; background:#06111c; border:1px solid #1f3a57; border-radius:12px; padding:10px 12px;
  box-shadow: var(--shadow); display:none;
}
.inline-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:14px 0 2px}
.stat{background:#0c1f33; border:1px solid #223a57; border-radius:12px; padding:12px}
.stat-num{font-size:1.25rem; font-weight:800}
.stat-label{display:block; color:#a5b3c7; font-size:.9rem}
.footnote{color:#8ea1ba; font-size:.85rem}

/* Sections */
.section{padding:80px 0}
.section.alt{
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)); 
  border-top:1px solid rgba(255,255,255,.06); 
  border-bottom:1px solid rgba(255,255,255,.06)
}
.section h2{font-size: clamp(28px, 4vw, 42px); margin:0 0 24px; text-align:center; font-weight:700}

/* Steps */
.steps{display:grid; grid-template-columns: repeat(3, 1fr); gap:24px; margin-top:32px}
.step{
  background: var(--panel); 
  border:1px solid #224060; 
  border-radius: var(--radius); 
  padding:24px;
  text-align:center;
}
.step-num{
  display:inline-grid; 
  place-items:center; 
  width:40px; height:40px; 
  border-radius:12px; 
  background:var(--brand); 
  color:var(--brand-ink); 
  font-weight:800; 
  font-size:1.2rem;
  margin-bottom:16px
}
.step h3{margin:0 0 12px; font-size:1.2rem}
.step p{color:#cdd7e6; margin:0}

/* Benefits */
.benefits-grid{display:grid; grid-template-columns: repeat(3, 1fr); gap:32px; margin-top:32px}
.benefit{text-align:center}
.benefit-icon{font-size:48px; margin-bottom:16px}
.benefit h3{margin:0 0 12px; font-size:1.3rem}
.benefit p{color:#cdd7e6; margin:0}

/* CTA Panel */
.cta-panel{
  background: linear-gradient(135deg, #112a40, #0e2134); 
  border:1px solid #224060;
  border-radius:var(--radius-lg);
  padding:48px 40px;
  text-align:center;
  box-shadow: var(--shadow);
}
.cta-content h2{margin:0 0 12px; font-size: clamp(24px, 3vw, 36px)}
.cta-content p{color:#cdd7e6; font-size:1.1rem; margin:0 0 32px}
.cta-actions{display:flex; gap:16px; justify-content:center; align-items:center; flex-wrap:wrap}

/* FAQ */
.faq{display:grid; gap:12px; max-width:800px; margin:32px auto 0}
.faq-item{
  background: var(--panel); 
  border:1px solid #224060; 
  border-radius: 12px; 
  padding:20px;
}
.faq-item summary{cursor:pointer; font-weight:700; font-size:1.1rem}
.faq-item p{color:#cfe0f6; margin:16px 0 0; line-height:1.6}
.faq-item a{color:var(--brand)}

/* Footer */
.site-footer{
  margin-top:40px; 
  padding:32px 0; 
  border-top:1px solid rgba(255,255,255,.08);
  background: rgba(8,16,28,.6);
}
.footer-inner{
  display:flex; 
  gap:16px; 
  align-items:center; 
  justify-content:space-between; 
  flex-wrap:wrap
}
.footer-links{display:flex; gap:20px; flex-wrap:wrap}
.footer-links a{color:#cdd7e6; text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.brand-left{display:flex; align-items:center; gap:8px}
.copyright{color:var(--muted); margin:0}

.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}


/* Demo GIF styles */
.demo-gif {
  width: 100%;
  max-width: min(700px, 90vw); /* Uses 90% of viewport width but caps at 700px */
  height: auto;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}


/* Responsive */
@media (max-width: 980px){
  .hero-inner{grid-template-columns: 1fr; gap:32px}
  .steps{grid-template-columns: 1fr; gap:20px}
  .benefits-grid{grid-template-columns: 1fr; gap:24px}
  .cta-actions{flex-direction:column}
}

@media (max-width: 720px){
  .hero{padding:60px 0 40px}
  .section{padding:60px 0}
  .nav-list{display:none}
  .header-cta{display:none}
  .hero-actions{flex-direction:column; align-items:stretch}
  .hero-actions .btn{text-align:center}
  .cta-panel{padding:32px 24px}
  .footer-inner{flex-direction:column; text-align:center; gap:12px}
  
  /* Mobile-friendly demo GIF */
  .demo-gif {
    max-width: 100%;
    border-radius: 8px;
  }
  
  /* Adjust hero layout for mobile */
  .hero-inner {
    gap: 24px;
  }
  
  .hero-card {
    margin: 0 -10px; /* Extend slightly beyond container for more space */
  }
}

@media (max-width: 980px) and (min-width: 721px){
  .demo-gif {
    max-width: 500px;
  }
}