/* Typography */
:root {
  --brand: #0d6efd;
  --brand-dark: #0b5ed7;
  --ink: #101828;
}

body { font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif; color: var(--ink); }

.navbar-brand img { filter: drop-shadow(0 1px 0 rgba(16,24,40,.05)); }

/* Hero */
.hero-section { background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%); }
.hero-curve { position: absolute; inset: auto 0 0 0; height: 80px; background: radial-gradient(120% 100% at 50% 0%, rgba(13,110,253,.15) 0%, rgba(13,110,253,0) 60%); pointer-events:none; }
.hero-visual img { aspect-ratio: 3/2; object-fit: cover; }

/* Icon wrap */
.icon-wrap { width: 48px; height: 48px; display: inline-grid; place-items: center; border-radius: 12px; font-size: 20px; }

/* Portfolio */
.portfolio-card img { aspect-ratio: 3/2; object-fit: cover; }

/* CTA */
.cta-section { background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%); }

/* Utilities */
.rounded-4 { border-radius: 1rem !important; }

/* Small enhancements */
.service { transition: transform .2s ease, box-shadow .2s ease; }
.service:hover { transform: translateY(-4px); box-shadow: 0 1rem 2rem rgba(16,24,40,.08) !important; }


