:root{
  --bg:#0b0d12;
  --bg-soft:#12151c;
  --panel:#171b24;
  --line:#262b38;
  --ink:#e8eaf0;
  --ink-dim:#a6acbd;
  --accent:#ff7a45;
  --accent-soft:#ffb088;
  --good:#59d499;
  font-size:16px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent-soft);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}

.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}

header.site{
  border-bottom:1px solid var(--line);
  padding:20px 0;
  position:sticky;top:0;
  background:rgba(11,13,18,0.92);
  backdrop-filter:blur(6px);
  z-index:10;
}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.brand{font-weight:700;font-size:1.15rem;letter-spacing:-0.01em;}
.brand span{color:var(--accent);}
nav.site a{color:var(--ink-dim);margin-left:22px;font-weight:500;}
nav.site a:hover{color:var(--ink);text-decoration:none;}
nav.site{display:flex;flex-wrap:wrap;}

main{padding:56px 0 80px;}

.hero{padding:24px 0 40px;}
.hero h1{font-size:2.6rem;line-height:1.15;margin:0 0 18px;letter-spacing:-0.02em;}
.hero h1 .accent{color:var(--accent);}
.hero p.lede{font-size:1.2rem;color:var(--ink-dim);max-width:640px;margin:0 0 28px;}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;}
.btn{
  display:inline-block;
  padding:12px 22px;
  border-radius:8px;
  font-weight:600;
  border:1px solid var(--line);
}
.btn.primary{background:var(--accent);color:#1a0f08;border-color:var(--accent);}
.btn.primary:hover{background:var(--accent-soft);text-decoration:none;}
.btn.ghost{color:var(--ink);}
.btn.ghost:hover{border-color:var(--ink-dim);text-decoration:none;}

.stat-band{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:16px;
  margin:36px 0 8px;
}
.stat{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:12px;
  padding:20px;
}
.stat .num{font-size:1.7rem;font-weight:700;color:var(--accent-soft);display:block;margin-bottom:6px;}
.stat .label{color:var(--ink-dim);font-size:0.92rem;}
.stat .asof{color:#6b7180;font-size:0.78rem;margin-top:8px;}

section{margin:56px 0;}
section h2{font-size:1.6rem;margin:0 0 10px;letter-spacing:-0.01em;}
section p.section-lede{color:var(--ink-dim);max-width:680px;margin:0 0 24px;}

.card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:12px;
  padding:22px;
}
.card h3{margin:0 0 8px;font-size:1.15rem;}
.card p{color:var(--ink-dim);margin:0 0 10px;}
.card .impact{color:var(--good);font-size:0.9rem;font-weight:600;}
.card .stack{color:#6b7180;font-size:0.82rem;margin-top:10px;}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px;
}

.case-study{
  background:var(--bg-soft);
  border:1px solid var(--line);
  border-radius:14px;
  padding:28px;
}
.case-study h3{margin-top:0;}
.case-study .tag{
  display:inline-block;
  color:var(--accent-soft);
  font-size:0.8rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.04em;
  margin-bottom:10px;
}

.services-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.services-list .item{padding:16px;border:1px solid var(--line);border-radius:10px;}
.services-list .item h4{margin:0 0 6px;font-size:1rem;}
.services-list .item p{margin:0;color:var(--ink-dim);font-size:0.92rem;}

footer.site{
  border-top:1px solid var(--line);
  padding:32px 0;
  color:var(--ink-dim);
  font-size:0.9rem;
}
footer.site .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

@media (max-width:640px){
  .hero h1{font-size:2rem;}
  header.site .wrap{flex-direction:column;align-items:flex-start;}
  nav.site{margin-left:0;}
  nav.site a{margin-left:0;margin-right:18px;}
}
