*{box-sizing:border-box}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial;
  background:#f8fafc;
  color:#0f172a;
}
.navbar{
  position:fixed;
  top:0;
  width:100%;
  background:#ffffff;
  border-bottom:1px solid #e5e7eb;
  z-index:1000;
}
.nav-inner{
  max-width:1200px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 20px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
}
.brand img{height:42px}
nav a{
  margin-left:22px;
  text-decoration:none;
  color:#334155;
  font-weight:500;
  transition:.2s;
}
nav a:hover{color:#2563eb}
.main{
  padding-top:90px;
  max-width:1200px;
  margin:auto;
}
.hero{
  min-height:80vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:40px 20px;
}
.hero h1{font-size:44px;line-height:1.2}
.hero p{font-size:18px;color:#475569}
.hero-actions{margin-top:24px}
.hero button{
  padding:14px 26px;
  border-radius:8px;
  border:none;
  cursor:pointer;
  font-size:16px;
  margin-right:12px;
  background:#2563eb;
  color:#fff;
}
.hero button.secondary{
  background:#e5e7eb;
  color:#0f172a;
}
.section{padding:40px 20px}
.section.narrow{max-width:700px;margin:auto}
.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:22px;
}
.card{
  background:#fff;
  padding:24px;
  border-radius:14px;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
  transition:.25s;
}
.card:hover{transform:translateY(-6px)}
.card span{display:block;margin-top:12px;font-weight:700;color:#2563eb}
.card.highlight{border:2px solid #2563eb}
.contact-form{
  display:grid;
  gap:14px;
}
.contact-form input,
.contact-form textarea{
  padding:12px;
  border-radius:8px;
  border:1px solid #cbd5e1;
}
.fade{animation:fade .3s}
@keyframes fade{from{opacity:0}to{opacity:1}}
@media(max-width:768px){
  .hero h1{font-size:32px}
  nav a{margin-left:14px}
}
