*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;
  background:#f5f7fb;
  color:#111827;
  line-height:1.7;
}
.wrap{width:92%;max-width:1120px;margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:40;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid #e5e7eb;
  transition:box-shadow .2s ease;
}
.site-header.scrolled{box-shadow:0 10px 30px rgba(15,23,42,.10);}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;
}
.brand{
  display:flex;align-items:center;gap:10px;
  text-decoration:none;color:#111827;font-weight:800;
}
.logo{height:26px}
.nav a{
  margin-left:14px;padding:8px 10px;
  font-size:.93rem;
  text-decoration:none;color:#6b7280;
  border-radius:999px;transition:.2s;
}
.nav a:hover{background:#eff6ff;color:#111827}
.nav-cta{
  background:#111827;color:#f9fafb !important;
  padding:8px 16px;border-radius:999px;font-weight:600;
}
.hero{
  padding:40px 0 30px;
  background:linear-gradient(180deg,#ffffff,#f3f6ff);
  border-bottom:1px solid #e5e7eb;
}
.hero-grid{
  display:grid;gap:26px;align-items:center;
}
@media(min-width:780px){
  .hero-grid{grid-template-columns:1.2fr .9fr;}
}
.hero-copy h1{
  font-size:2.4rem;line-height:1.15;margin-bottom:8px;
}
.accent{
  background:linear-gradient(90deg,#2563eb,#f97316);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-copy p{
  color:#6b7280;max-width:540px;
}
.hero-visual img{
  width:100%;border-radius:20px;
  box-shadow:0 18px 40px rgba(15,23,42,.18);
}
.btn-primary{
  display:inline-block;margin-top:14px;
  padding:10px 20px;
  border-radius:999px;
  background:#2563eb;
  color:#f9fafb;
  text-decoration:none;
  font-weight:600;
  border:0;
  cursor:pointer;
  transition:.2s;
}
.btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(37,99,235,.32);
}
.section{padding:50px 0}
.section h2{
  text-align:center;
  font-size:1.4rem;
  margin-bottom:18px;
  color:#111827;
}
.about-grid{
  display:grid;gap:16px;
}
@media(min-width:780px){
  .about-grid{grid-template-columns:2fr 1.4fr;}
}
.card{
  background:#ffffff;
  border-radius:18px;
  border:1px solid #e5e7eb;
  box-shadow:0 14px 35px rgba(15,23,42,.06);
}
.about-text{padding:18px}
.about-note{padding:18px}
.about-note.soft{background:#f9fafb}
.bullets{
  margin-top:10px;
  display:grid;gap:6px;
  color:#4b5563;
}
.bullets li{margin-left:16px;list-style:disc}
.services-grid{
  display:grid;
  gap:16px;
}
@media(min-width:780px){
  .services-grid{grid-template-columns:repeat(4,1fr);}
}
.svc{padding:16px}
.svc h3{
  font-size:1rem;margin-bottom:6px;
  color:#111827;
}
.svc p{font-size:.9rem;color:#6b7280}
.projects-grid{
  display:grid;gap:16px;
}
@media(min-width:900px){
  .projects-grid{grid-template-columns:repeat(3,1fr);}
}
.project img{
  width:100%;height:190px;object-fit:cover;
  border-top-left-radius:18px;border-top-right-radius:18px;
}
.project-body{padding:12px}
.project-body h4{margin-bottom:4px;color:#111827}
.project-body p{font-size:.9rem;color:#6b7280}
.soft-bg{background:#f9fafb}
.testimonials{
  display:grid;gap:14px;
}
@media(min-width:780px){
  .testimonials{grid-template-columns:repeat(2,1fr);}
}
.quote{
  padding:16px;font-size:.95rem;
}
.quote span{
  display:block;margin-top:6px;
  font-size:.85rem;color:#6b7280;
}
.contact-grid{
  display:grid;gap:18px;
}
@media(min-width:860px){
  .contact-grid{grid-template-columns:1.1fr 1.4fr;}
}
.contact-info{padding:18px}
.contact-info p{margin-bottom:6px;font-size:.93rem}
.contact-info a{
  color:#2563eb;text-decoration:none;border-bottom:1px solid transparent;
}
.contact-info a:hover{border-color:#2563eb}
.muted{color:#9ca3af;margin-top:6px}
.contact-form{
  padding:18px;
  display:grid;
  gap:10px;
}
.contact-form label{
  font-size:.88rem;
  font-weight:600;
  color:#111827;
}
.contact-form input,
.contact-form textarea{
  padding:9px 10px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  font-size:.9rem;
  outline:none;
  transition:.18s;
}
.contact-form input:focus,
.contact-form textarea:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.1);
}
.contact-form textarea{
  min-height:110px;
  resize:vertical;
}
.site-footer{
  border-top:1px solid #e5e7eb;
  padding:16px 0;
  text-align:center;
  font-size:.8rem;
  color:#9ca3af;
}
.thankyou .ty{
  padding:80px 0;
  text-align:center;
}
.thankyou h1{
  font-size:2rem;
  margin-bottom:8px;
}
