:root{
  /* Helix design system */
  --bg: #141414; /* primary background */
  --card: #1C1C1C; /* section containers / cards */
  --border: #2A2A2A; /* borders / dividers */

  /* Text colors */
  --text-head: #EAEAEA; /* headings */
  --text-body: #B5B5B5; /* body */
  --text-meta: #7A7A7A; /* muted/meta */

  /* Single accent */
  --accent: #5B8DEF; /* muted electric blue */

  --max-width: 1120px;
  --base-font-size: 16px;
}
*{box-sizing:border-box}
.display-font{font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}
.body-root{font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}
body{font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;margin:0;background:var(--bg);color:var(--text-body);line-height:1.6;font-size:var(--base-font-size)}
.container{max-width:var(--max-width);margin:0 auto;padding:28px}
.center{text-align:center}
.site-header{background:transparent;border-bottom:1px solid transparent;position:sticky;top:0;padding:14px 0;z-index:40;transition:background 240ms ease, border-color 240ms ease, padding 180ms ease}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:12px}
.site-header nav{display:flex;align-items:center;gap:10px}
.site-header nav a{margin:0 8px}
.site-header h1{margin:0;font-size:22px;font-weight:700;color:var(--text-head);letter-spacing:0.01em}
.site-header nav a{margin-left:18px;color:var(--text-meta);text-decoration:none;padding:8px 10px;border-radius:8px;font-weight:600}
.site-header nav a:active, .site-header nav a[aria-current]{color:var(--accent)}
.site-header.scrolled{background:rgba(20,20,20,0.98);border-bottom:1px solid var(--border);padding:14px 0}
.hero{padding:56px 0 40px;text-align:left;position:relative;overflow:visible}
.hero-inner{max-width:820px;margin:0 auto}
.hero h2{margin:0 0 10px;font-size:clamp(28px,5.5vw,56px);font-weight:700;color:var(--text-head);letter-spacing:-0.01em;line-height:1.06}
.hero p{color:var(--text-body);margin:0 0 20px;font-size:17px;max-width:760px}

/* Center section headings and leads for consistent alignment */
.section h2, .section .lead{text-align:center;margin-left:auto;margin-right:auto;max-width:820px}
.grid-2 > div{display:flex;flex-direction:column;justify-content:center}
.btn{display:inline-block;padding:12px 18px;border-radius:8px;text-decoration:none;font-weight:700;line-height:1;transition:filter 180ms ease, background 180ms ease}
.btn-primary{background:var(--accent);color:#0b0d10;border:1px solid var(--accent);}
.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text-body)}
.btn:focus{outline:3px solid rgba(91,141,239,0.12);outline-offset:2px}
.btn-primary:hover{filter:brightness(1.05)}
.btn-secondary:hover{background:rgba(255,255,255,0.02)}

/* Accent word styling (muted use) */
.accent-word{color:var(--accent);font-weight:800}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:34px;align-items:start}
.card{background:var(--card);padding:22px;border-radius:10px;border:1px solid var(--border);box-shadow:none;display:flex;flex-direction:column;justify-content:space-between;min-height:280px;transition:background 180ms ease,border-color 180ms ease,transform 220ms ease}
.card h3{color:var(--text-head);margin-top:4px;margin-bottom:6px;font-size:24px;font-weight:600}
.card .label{color:var(--text-meta);font-size:13px;font-weight:700;letter-spacing:0.02em;margin-bottom:6px}
.card p{color:var(--text-body);margin:0 0 8px}
.card ul{margin:6px 0 0 18px;padding:0;color:var(--text-body);font-size:15px}
.card:hover{background:#202020;border-color:rgba(91,141,239,0.12)}
.card .card-cta{opacity:0;transform:translateY(6px);transition:opacity 220ms ease,transform 220ms ease}
.card:hover .card-cta{opacity:1;transform:translateY(0)}
.pricing-grid{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px}
.price-card{flex:1;min-width:220px;background:var(--card);padding:24px;border-radius:10px;text-align:center;border:1px solid var(--border)}
.price{font-size:22px;color:var(--accent);margin:8px 0;font-weight:700}
.price-card.popular{border:2px solid rgba(91,141,239,0.08)}

/* Layout utilities */
.section{padding:72px 0}
#services.section{padding-top:64px}
#why.section{padding:72px 0}
#testimonials.section{padding-top:76px}
.lead{color:var(--text-body);font-size:16px;margin-bottom:8px}
.muted{color:var(--text-meta)}
.kicker{color:var(--accent);font-weight:800;font-size:13px;letter-spacing:0.02em;margin-bottom:8px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}

/* Testimonials / Trust */
.trusted{display:flex;gap:18px;align-items:center;margin-top:20px}
.trusted img{height:28px;opacity:0.85}
.testimonials{display:grid;grid-template-columns:1fr;gap:20px;margin-top:28px}
.testimonial{background:transparent;border-left:4px solid var(--border);padding:22px;border-radius:8px}
.testimonial p{margin:0;color:var(--text-body);font-size:20px;font-weight:600;line-height:1.45}
.testimonial cite{display:block;margin-top:10px;font-size:13px;color:var(--text-meta);font-weight:400;opacity:0.8}

/* Process */
.panel{background:var(--card);padding:20px;border-radius:10px;border:1px solid var(--border)}
.process{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:12px}
.step{background:transparent;padding:18px;border-radius:8px;border:1px solid var(--border);position:relative;overflow:visible}
.step[data-step]::before{content:attr(data-step);position:absolute;right:12px;top:8px;font-size:56px;font-weight:800;color:var(--text-meta);opacity:0.06;line-height:1}
.step h4{margin:0 0 6px;color:var(--text-head);font-weight:700}
.step p{margin:0;color:var(--text-body);font-size:15px}

/* Footer */
.site-footer{padding:36px 0;border-top:1px solid var(--border);margin-top:48px}
.footer-grid{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.footer-links a{display:block;color:var(--text-meta);text-decoration:none;margin-bottom:10px}

form{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:820px;margin:0 auto}
form label{display:block;font-size:14px;color:var(--text-meta)}
.form-control, form input,form textarea,form select{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text-body);} 
.form-control::placeholder, form textarea::placeholder{color:var(--text-meta)}
.note,.small{color:var(--text-meta);font-size:14px}
.form-submit{grid-column:1/-1;padding:16px 18px;background:var(--accent);color:#0b0d10;border:none;border-radius:8px;font-weight:800}
@media(max-width:980px){
  .grid-2{grid-template-columns:1fr}
  .pricing-grid{flex-direction:column}
  .container{padding:20px}
  .hero h2{font-size:clamp(34px,5.5vw,48px)}
}

@media(max-width:740px){
  form{grid-template-columns:1fr}
  .site-header .container{flex-direction:column;gap:12px;align-items:center}
  .hero h2{font-size:clamp(28px,6.5vw,36px)}
  .hero{text-align:center;padding:40px 0}
  .hero-inner{padding:0 6px}
  .section{padding:48px 0}
  .cards{gap:16px}
  .card{min-height:unset;padding:16px}
  .footer-grid{justify-content:center;text-align:center}
  .site-header nav{display:flex;flex-wrap:wrap;justify-content:center}

  /* Stack hero CTAs and make CTAs full width on small screens */
  .hero-inner p{flex-direction:column;align-items:stretch}
  .hero-inner p .btn{width:100%}

  /* Make primary form action easy to tap */
  .form-submit{padding:14px 16px;font-size:16px}
}

/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.animate{opacity:0;transform:translateY(18px)}
.animate.in-view{animation:fadeUp 640ms cubic-bezier(.22,.95,.3,1) forwards}
.cards .card{opacity:0;transform:translateY(18px)}
.cards .card.in-view{opacity:1;transform:none;transition:opacity 420ms ease,transform 420ms ease}

/* hero subtle grid texture */
.hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.012) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,0.01) 1px, transparent 1px);background-size:220px 220px,220px 220px;opacity:0.6;pointer-events:none}

/* small utilities */
.muted-underline{border-top:1px solid rgba(255,255,255,0.02);padding-top:18px;margin-top:18px}

