/* Diago Infotech — vibrant professional styles */
:root{
  --bg:#0f1724;
  --card:#ffffff;
  --muted:#7b8794;
  --primary:#007cf0;
  --accent:#00dfd8;
  --accent2:#ff7a59;
  --glass: rgba(255,255,255,0.06);
  --maxw:1200px;
}
*{box-sizing:border-box}
html,body{height:100%; margin:0; font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; color:#0b1220; background:linear-gradient(180deg,#f7fbff 0%,#eef6ff 100%);}
a{color:var(--primary); text-decoration:none;}
.container{max-width:var(--maxw); margin:0 auto; padding:28px;}
.header{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 0;}
.logo img{height:64px;}
.nav{display:flex; gap:18px; align-items:center;}
.nav a{color:#0b1220; font-weight:600; padding:8px 12px; border-radius:8px;}
.nav a:hover{background:linear-gradient(90deg,var(--primary),var(--accent)); color:white;}

/* Hero */
.hero{display:grid; grid-template-columns:1fr 480px; gap:28px; align-items:center; margin-top:18px;}
.hero-card{background:white; padding:36px; border-radius:18px; box-shadow:0 12px 30px rgba(16,24,40,0.08); transform:translateY(0); animation:fadeUp .9s ease both;}
.hero h1{font-size:36px; margin:0 0 12px; color:#071133;}
.hero p{color:var(--muted); line-height:1.6;}
.cta{display:flex; gap:12px; margin-top:18px;}
.btn{display:inline-block; background:linear-gradient(90deg,var(--primary),var(--accent)); color:white; padding:12px 18px; border-radius:12px; font-weight:700; box-shadow:0 8px 18px rgba(3,102,214,0.15);}
.btn-ghost{background:transparent; border:2px solid #e6eef8; padding:10px 16px; border-radius:12px; font-weight:700;}

/* Services */
.services{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:28px;}
.service{background:linear-gradient(180deg,rgba(255,255,255,1),#fbfdff); padding:18px; border-radius:14px; box-shadow:0 8px 24px rgba(11,20,40,0.04); transition:transform .28s ease, box-shadow .28s ease;}
.service:hover{transform:translateY(-8px); box-shadow:0 18px 40px rgba(11,20,40,0.08);}

/* Portfolio */
.portfolio-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px;}
.portfolio-item{border-radius:12px; overflow:hidden; background:white; box-shadow:0 12px 30px rgba(16,24,40,0.06); transition:transform .28s ease; cursor:pointer;}
.portfolio-item img{width:100%; display:block;}
.portfolio-item .meta{padding:12px;}
.badge{display:inline-block; padding:6px 10px; border-radius:999px; background:linear-gradient(90deg,var(--accent),var(--accent2)); color:white; font-weight:700; font-size:12px;}

/* Testimonials */
.testimonials{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:24px;}
.testimonial{background:linear-gradient(180deg,#fff,#fcfeff); padding:18px; border-radius:14px; box-shadow:0 12px 30px rgba(16,24,40,0.06); display:flex; gap:12px; align-items:center;}
.testimonial img{width:72px; height:72px; border-radius:12px;}

/* Contact */
.contact-card{background:linear-gradient(180deg,#ffffff,#f7fbff); padding:22px; border-radius:14px; box-shadow:0 18px 40px rgba(11,20,40,0.06);}
.input, textarea{width:100%; padding:12px 14px; border-radius:10px; border:1px solid #e8f0fb; font-size:15px; background:white;}
textarea{min-height:140px; resize:vertical;}
.form-actions{display:flex; justify-content:flex-end; gap:12px; margin-top:12px;}
.info-list{margin-top:14px; font-size:14px; color:var(--muted);}

/* Footer */
.footer{margin-top:36px; padding:28px 0; text-align:center; color:var(--muted); font-size:14px;}

/* Utilities and animations */
@keyframes fadeUp{from{opacity:0; transform:translateY(24px)} to{opacity:1; transform:translateY(0)}}
.fade-in{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
.fade-in.is-visible{opacity:1; transform:translateY(0);}

/* Responsive */
@media (max-width:1000px){
  .hero{grid-template-columns:1fr; gap:18px;}
  .services{grid-template-columns:1fr 1fr;}
  .portfolio-grid{grid-template-columns:1fr 1fr;}
  .testimonials{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .nav{display:none;}
  .services{grid-template-columns:1fr;}
  .portfolio-grid{grid-template-columns:1fr;}
}