/* Abid Ali Portfolio - static build (no framework dependencies) */

:root{
  --blue-600:#2563eb;
  --blue-700:#1d4ed8;
  --blue-50:#eff6ff;
  --cyan-600:#0891b2;
  --slate-50:#f8fafc;
  --slate-100:#f1f5f9;
  --slate-200:#e2e8f0;
  --slate-500:#64748b;
  --slate-600:#475569;
  --slate-900:#0f172a;
  --white:#ffffff;
  --shadow-sm: 0 1px 2px rgba(15,23,42,.06);
  --shadow-md: 0 8px 24px rgba(15,23,42,.10);
  --shadow-lg: 0 16px 48px rgba(15,23,42,.14);
  --radius: 16px;
  --radius-sm: 12px;
  --font-serif: "Playfair Display", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --font-sans: "Source Sans 3", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--slate-900);
  background: radial-gradient(1200px 600px at 15% 10%, rgba(37,99,235,.10), rgba(248,250,252,0)) ,
              linear-gradient(135deg, var(--slate-50), var(--blue-50));
}

a{color:inherit; text-decoration:none}

.container{max-width:1120px; margin:0 auto; padding:0 16px}

/* Navbar */
.navbar{
  position:sticky; top:0; z-index:50;
  border-bottom:1px solid rgba(226,232,240,.9);
  background:rgba(255,255,255,.85);
  backdrop-filter: blur(10px);
}
.navbar-inner{height:64px; display:flex; align-items:center; justify-content:space-between}
.brand{font-family:var(--font-serif); font-weight:700; font-size:20px; color:var(--blue-600)}
.navlinks{display:none; align-items:center; gap:28px}
.navlink{font-size:14px; font-weight:600; color:rgba(15,23,42,.85)}
.navlink:hover{color:var(--blue-600)}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border-radius:14px;
  padding:12px 18px;
  border:1px solid transparent;
  background:var(--blue-600);
  color:#fff;
  font-weight:700;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, background .15s ease, color .15s ease;
  box-shadow: var(--shadow-sm);
}
.btn:hover{background:var(--blue-700); box-shadow: var(--shadow-md)}
.btn:active{transform:translateY(1px)}
.btn.secondary{background:#fff; color:var(--slate-900)}
.btn.secondary:hover{background:var(--slate-100)}
.btn.outline{background:transparent; color:var(--slate-900); border-color: rgba(37,99,235,.20)}
.btn.outline:hover{background:rgba(37,99,235,.06)}
.btn.outline.white{border-color:rgba(255,255,255,.9); color:#fff}
.btn.outline.white:hover{background:#fff; color:var(--blue-600)}
.btn.lg{padding:14px 22px; font-size:18px; border-radius:16px}
.btn.full{width:100%}

.icon{width:20px; height:20px; display:inline-block}
.icon.sm{width:16px;height:16px}
.icon.lg{width:28px;height:28px}

/* Dropdown */
.dropdown{position:relative}
.dropdown-trigger{display:inline-flex; align-items:center; gap:6px}
.dropdown-menu{
  position:absolute; right:0; top:44px;
  width:260px;
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  border-radius:14px;
  box-shadow: var(--shadow-md);
  padding:8px;
  display:none;
}
.dropdown.open .dropdown-menu{display:block}
.dropdown-item{display:block; padding:10px 10px; border-radius:10px; font-size:14px; font-weight:600; color:rgba(15,23,42,.85)}
.dropdown-item:hover{background:rgba(37,99,235,.06); color:var(--blue-600)}

/* Mobile menu */
.mobile-toggle{display:inline-flex; background:transparent; border:none; padding:8px; border-radius:12px; cursor:pointer}
.mobile-toggle:hover{background:rgba(15,23,42,.06)}
.mobile-menu{display:none; padding:14px 0 18px}
.mobile-menu.open{display:block}
.mobile-menu .navlink{display:block; padding:10px 0}
.mobile-subtitle{font-size:14px; font-weight:700; color:rgba(100,116,139,.95); margin:10px 0 8px}
.mobile-indent{padding-left:16px}

/* Sections */
.section{padding:64px 0}
.section.lg{padding:72px 0}
.section.center{text-align:center}

.badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(37,99,235,.20);
  color:var(--blue-600);
  font-weight:700;
  font-size:13px;
  background:rgba(255,255,255,.6);
}

.h1{font-family:var(--font-serif); font-size:42px; line-height:1.1; margin:0}
.h2{font-family:var(--font-serif); font-size:34px; line-height:1.15; margin:0}
.h3{font-family:var(--font-serif); font-size:22px; line-height:1.2; margin:0}

.lead{font-size:20px; color:var(--slate-600); line-height:1.7; margin:0}
.muted{color:var(--slate-600)}
.small{font-size:13px; color:var(--slate-500)}

.grid{display:grid; gap:28px}
.grid.hero{grid-template-columns:1fr}
.grid.services{grid-template-columns:1fr}
.grid.testimonials{grid-template-columns:1fr}
.grid.contact{grid-template-columns:1fr}

.card{
  background:rgba(255,255,255,.82);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  border: 1px solid rgba(226,232,240,.35);
}
.card.blur{backdrop-filter: blur(10px)}
.card.pad{padding:24px}
.card.pad-lg{padding:32px}
.card.hover:hover{box-shadow: var(--shadow-md)}

.hero-wrap{display:flex; flex-direction:column; gap:32px}
.hero-title span{color:var(--blue-600)}
.hero-buttons{display:flex; flex-direction:column; gap:14px}
.hero-stats{display:flex; flex-wrap:wrap; gap:26px; padding-top:14px}
.stat{display:flex; align-items:center; gap:10px}
.stat .value{font-weight:800; font-size:26px}
.stat .label{font-size:13px; color:var(--slate-600)}

.photo-wrap{position:relative; max-width:420px; margin:0 auto}
.photo-glow{position:absolute; inset:-10px; background:linear-gradient(90deg, rgba(96,165,250,.85), rgba(34,211,238,.85)); filter: blur(42px); opacity:.20; border-radius: 28px}
.photo{position:relative; width:100%; height:500px; object-fit:cover; border-radius: 22px; box-shadow: var(--shadow-lg)}

.service-card{padding:22px; text-align:center}
.service-icon{width:64px;height:64px;border-radius:999px;background:rgba(37,99,235,.08);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.service-card:hover .service-icon{background:rgba(37,99,235,.12)}

.testimonial-img{width:100%; height:auto; border-radius: 14px; box-shadow: var(--shadow-md); transition: transform .25s ease, box-shadow .25s ease}
.testimonial-link:hover .testimonial-img{transform: scale(1.03); box-shadow: var(--shadow-lg)}

.cta-card{
  background: linear-gradient(90deg, var(--blue-600), var(--cyan-600));
  color:#fff;
  border:none;
}
.cta-card .muted{color:rgba(239,246,255,.9)}

/* Contact form */
.form-grid{display:grid; gap:18px}
.form-2{grid-template-columns:1fr}
.field{display:flex; flex-direction:column; gap:8px}
label{font-weight:700; font-size:14px}
input, select, textarea{
  font: inherit;
  padding:12px 14px;
  border:1px solid rgba(226,232,240,.9);
  border-radius: 14px;
  outline:none;
  background:#fff;
}
textarea{resize:none}
input:focus, select:focus, textarea:focus{border-color: rgba(37,99,235,.55); box-shadow: 0 0 0 4px rgba(37,99,235,.10)}

.info-row{display:flex; gap:14px; align-items:flex-start}
.info-icon{padding:10px; background:rgba(37,99,235,.08); color:var(--blue-600); border-radius: 12px; display:flex; align-items:center; justify-content:center; flex:0 0 auto}
.info-title{font-weight:800}
.info-value{color:var(--blue-600); font-weight:800; font-size:18px}

/* Toasts */
.toast-wrap{position:fixed; right:18px; bottom:18px; display:flex; flex-direction:column; gap:10px; z-index:9999}
.toast{
  width:min(360px, calc(100vw - 36px));
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  border-radius: 16px;
  padding:14px 14px;
  box-shadow: var(--shadow-md);
  animation: toastIn .18s ease-out;
}
.toast h4{margin:0 0 4px; font-size:14px; font-weight:900}
.toast p{margin:0; font-size:13px; color:var(--slate-600); line-height:1.4}
.toast.danger{border-color: rgba(239,68,68,.35)}
.toast.danger h4{color:#b91c1c}
@keyframes toastIn{from{transform:translateY(8px); opacity:.0}to{transform:translateY(0); opacity:1}}

/* Responsive */
@media (min-width: 640px){
  .hero-buttons{flex-direction:row}
  .btn.full{width:auto}
}
@media (min-width: 768px){
  .navlinks{display:flex}
  .mobile-toggle{display:none}
  .grid.services{grid-template-columns:repeat(2, 1fr)}
  .grid.testimonials{grid-template-columns:repeat(2, 1fr)}
  .form-2{grid-template-columns:repeat(2, 1fr)}
}
@media (min-width: 1024px){
  .grid.hero{grid-template-columns: 1.15fr .85fr; align-items:center}
  .grid.services{grid-template-columns:repeat(4, 1fr)}
  .grid.contact{grid-template-columns: 1fr 2fr}
  .h1{font-size:56px}
  .h2{font-size:40px}
}

/* Utilities */
.mt-12{margin-top:48px}
.mb-16{margin-bottom:64px}
.pt-8{padding-top:32px}
.pb-16{padding-bottom:64px}
.text-center{text-align:center}
.max-w-2{max-width: 42rem; margin-left:auto; margin-right:auto}
.max-w-3{max-width: 48rem; margin-left:auto; margin-right:auto}
.max-w-4{max-width: 56rem; margin-left:auto; margin-right:auto}
.max-w-6{max-width: 72rem; margin-left:auto; margin-right:auto}

.scale-hover{transition: transform .25s ease}
.scale-hover:hover{transform: scale(1.04)}

