/* Base */
:root{
  --bg:#0a0b10;
  --bg-soft:#11131b;
  --card:#171a24;
  --text:#ffffff;
  --muted:#b7c0d1;
  --primary:#ff7b00;
  --primary-2:#ff5100;
  --accent:#6c63ff;
  --ring: rgba(255,123,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  background:var(--bg);
  color:var(--text);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;display:inline-block}
.container{max-width:1140px;margin:0 auto;padding:0 20px}

.btn{
  display:inline-block;
  padding:14px 22px;
  border-radius:14px;
  background:var(--primary);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.2px;
  transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
  box-shadow:0 8px 24px var(--ring);
  will-change:transform;
}
.btn:hover{background:var(--primary-2);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-ghost{background:transparent;border:1px solid #2a2f3a}
.btn-ghost:hover{background:#1a1f2b}

/* Header */
.header{
  background: radial-gradient(1200px 600px at 10% 10%, #1b1530 0%, rgba(10,11,16,0) 60%), url('img/hero-bg.png') center/cover no-repeat;
  padding:64px 0 40px;
  border-bottom:1px solid #1b1e28;
}
.header__inner{ text-align:center }
.logo{ filter: drop-shadow(0 6px 20px rgba(108,99,255,.35)); }
h1{font-size:clamp(24px,3vw,40px); margin:16px 0 6px}
.subtitle{color:var(--muted);font-size:clamp(15px,2vw,18px);max-width:820px;margin:0 auto 16px}
.cta-group{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:10px 0 8px}

.trust{
  list-style:none;
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
  margin:18px 0 0;
  padding:0;
}
.trust li{
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;background:#121420;border:1px solid #1f2230;
  color:#e7ecf7;font-size:14px
}

/* Sections */
.section{padding:48px 0}
.section--light{background:var(--bg-soft);border-top:1px solid #181b26;border-bottom:1px solid #181b26}
h2{font-size:clamp(20px,2.4vw,28px);margin:0 0 16px}
h3{font-size:18px;margin:6px 0 8px}
p{margin:8px 0}
.center{text-align:center;margin-top:12px}

.grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.card{
  background:var(--card);
  border:1px solid #202435;
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}

.list{padding-left:18px}
.list li{margin:8px 0}

.steps{counter-reset:s; padding-left:0; list-style:none}
.steps li{position:relative;background:var(--card);border:1px solid #202435;border-radius:14px;padding:12px 12px 12px 42px;margin:10px 0}
.steps li::before{
  counter-increment:s; content:counter(s);
  position:absolute; left:12px; top:12px; width:22px;height:22px; display:inline-grid;place-items:center;
  background:var(--accent); color:#fff; border-radius:999px; font-weight:700; font-size:13px
}

.note{
  background:#141826;border:1px dashed #2b3250;border-radius:14px;padding:12px;margin-top:12px;color:#dfe6fb
}

.icons{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:10px;
}
.icon{
  background:var(--card);
  border:1px solid #202435;
  border-radius:16px;
  padding:16px;
  display:flex;align-items:center;gap:12px;
  justify-content:center;
  color:#e9eefc;
}

/* FAQ */
details.faq{
  background:var(--card);
  border:1px solid #202435;
  border-radius:14px;
  padding:12px 14px;
  margin:10px 0;
}
details.faq summary{
  cursor:pointer; list-style:none; font-weight:700;
}
details.faq[open]{
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}

/* Footer */
.footer{
  background:#0b0d14;
  border-top:1px solid #171a24;
  margin-top:20px;
  padding:22px 0 10px;
}
.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.footer__brand{display:flex;align-items:center;gap:8px}
.footer__nav{display:flex;gap:14px;flex-wrap:wrap}
.footer__nav a{color:#cfd8ea;text-decoration:none;border-bottom:1px dashed transparent}
.footer__nav a:hover{border-bottom-color:#cfd8ea}
.footer__cta .btn-ghost{border-color:#30364a}

/* Accessibility and focus */
a:focus-visible, .btn:focus-visible, summary:focus-visible{
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Responsive */
@media (max-width: 900px){
  .grid-3{grid-template-columns:1fr 1fr}
  .icons{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .grid-3{grid-template-columns:1fr}
  .icons{grid-template-columns:1fr}
  .trust{gap:8px}
}

/* Safari Retina Fixes */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
