@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root {
  --primary: #0F172A;
  --secondary: #2563EB;
  --accent: #06B6D4;
  --highlight: #9333EA;
  --bg: #f0f4f8;
  --text: #0F172A;
  --text-light: #475569;
  --white: #FFFFFF;
  --card-bg: #FFFFFF;
  --card-border: rgba(15,23,42,0.06);
  --glass-bg: rgba(255,255,255,0.75);
  --glass-border: rgba(255,255,255,0.5);
  --glass-shadow: 0 8px 32px rgba(15,23,42,0.08);
  --gradient-primary: linear-gradient(135deg, var(--secondary), var(--highlight));
  --gradient-accent: linear-gradient(135deg, var(--accent), var(--secondary));
  --gradient-dark: linear-gradient(135deg, var(--primary), #1e293b);
  --gradient-glow: linear-gradient(135deg, rgba(37,99,235,0.4), rgba(147,51,234,0.4));
  --shadow-sm: 0 2px 8px rgba(15,23,42,0.06);
  --shadow-md: 0 4px 20px rgba(15,23,42,0.08);
  --shadow-lg: 0 8px 40px rgba(15,23,42,0.12);
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

[data-theme="dark"] {
  --primary: #0F172A;
  --bg: #0a0f1a;
  --text: #E2E8F0;
  --text-light: #94A3B8;
  --card-bg: rgba(255,255,255,0.03);
  --card-border: rgba(255,255,255,0.06);
  --glass-bg: rgba(15,23,42,0.7);
  --glass-border: rgba(255,255,255,0.06);
  --glass-shadow: 0 8px 32px rgba(0,0,0,0.35);
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.4);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.5);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:80px; }
body {
  font-family:'Inter',sans-serif; color:var(--text); background:var(--bg);
  line-height:1.7; overflow-x:hidden; transition:background var(--transition), color var(--transition);
}
h1,h2,h3,h4,h5,h6 { font-family:'Poppins',sans-serif; font-weight:700; line-height:1.3; }
a { text-decoration:none; color:inherit; transition:var(--transition); }
ul { list-style:none; }
img { max-width:100%; height:auto; display:block; }
.container { max-width:1200px; margin:0 auto; padding:0 20px; }
.section { padding:100px 0; }
.section-title { text-align:center; margin-bottom:60px; }
.section-title h2 {
  font-size:clamp(28px,4vw,48px);
  background:var(--gradient-primary);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:16px;
}
.section-title p { color:var(--text-light); font-size:18px; max-width:600px; margin:0 auto; }

/* Scroll Progress Bar */
#scroll-progress { position:fixed; top:0; left:0; width:0; height:3px; background:var(--gradient-primary); z-index:9998; transition:width 0.1s; }

/* Top Bar */
.top-bar { background:var(--primary); color:var(--white); padding:8px 0; font-size:14px; position:relative; z-index:1001; }
.top-bar .container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.top-bar a { color:var(--white); opacity:0.8; transition:var(--transition); }
.top-bar a:hover { opacity:1; }
.top-bar .contact-info { display:flex; gap:24px; align-items:center; }
.top-bar .contact-info i { margin-right:8px; color:var(--accent); }
.top-bar .social-links { display:flex; gap:16px; }
.top-bar .social-links a:hover { color:var(--accent); }

/* Navbar */
.navbar {
  position:sticky; top:0; z-index:1000;
  background:rgba(255,255,255,0.75); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(0,0,0,0.05); transition:var(--transition);
}
[data-theme="dark"] .navbar { background:rgba(10,15,26,0.85); border-bottom:1px solid rgba(255,255,255,0.05); }
.navbar.scrolled { box-shadow:var(--shadow-md); }
[data-theme="light"] .navbar.scrolled { border-bottom:1px solid rgba(0,0,0,0.08); }
.navbar .container { display:flex; justify-content:space-between; align-items:center; height:70px; }
.nav-logo { font-size:24px; font-weight:800; font-family:'Poppins',sans-serif; color:var(--primary); display:flex; align-items:center; gap:8px; }
[data-theme="dark"] .nav-logo { color:var(--white); }
.nav-logo span { background:var(--gradient-primary); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.logo-dark { display:block; }
.logo-light { display:none; }
[data-theme="light"] .logo-dark { display:none; }
[data-theme="light"] .logo-light { display:block; }
.nav-links { display:flex; gap:32px; align-items:center; }
.nav-links a { font-size:15px; font-weight:500; color:var(--text); position:relative; padding:4px 0; }
[data-theme="dark"] .nav-links a { color:#E2E8F0; }
.nav-links a::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:2px; background:var(--gradient-primary); transition:var(--transition); border-radius:2px; }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }
.nav-links a:hover { color:var(--secondary); }
.nav-actions { display:flex; align-items:center; gap:12px; }
.theme-toggle { background:none; border:none; cursor:pointer; font-size:20px; color:var(--text); padding:8px; border-radius:50%; transition:var(--transition); }
.theme-toggle:hover { background:var(--glass-bg); }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:4px; }
.hamburger span { width:24px; height:2px; background:var(--text); border-radius:2px; transition:var(--transition); }
.hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* Buttons */
.btn {
  display:inline-flex; align-items:center; gap:8px; padding:12px 28px;
  border-radius:50px; font-weight:600; font-size:15px; font-family:'Inter',sans-serif;
  cursor:pointer; border:none; transition:var(--transition); position:relative; overflow:hidden;
}
.btn-primary {
  background:var(--gradient-primary); color:var(--white);
  box-shadow:0 4px 15px rgba(37,99,235,0.3);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 25px rgba(37,99,235,0.4); }
.btn-primary::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,0.15),transparent); opacity:0; transition:var(--transition); }
.btn-primary:hover::after { opacity:1; }
.btn-outline { background:transparent; color:var(--secondary); border:2px solid var(--secondary); }
.btn-outline:hover { background:var(--secondary); color:var(--white); transform:translateY(-2px); box-shadow:0 8px 25px rgba(37,99,235,0.3); }
.btn-glow { animation:glowPulse 2s ease-in-out infinite; }
@keyframes glowPulse { 0%,100% { box-shadow:0 4px 15px rgba(37,99,235,0.3); } 50% { box-shadow:0 4px 30px rgba(37,99,235,0.6); } }

/* Hero Split Layout */
.hero {
  position:relative; min-height:calc(100vh - 120px); display:flex; align-items:center;
  overflow:hidden; padding:60px 0;
}
.hero-bg { position:absolute; inset:0; z-index:0; }
.hero-bg .gradient-sphere { position:absolute; border-radius:50%; filter:blur(80px); opacity:0.3; animation:floatSphere 20s ease-in-out infinite; }
[data-theme="light"] .hero-bg .gradient-sphere { opacity:0.15; }
.hero-bg .sphere-1 { width:500px; height:500px; background:var(--secondary); top:-150px; right:-100px; }
.hero-bg .sphere-2 { width:350px; height:350px; background:var(--highlight); bottom:-80px; left:-50px; animation-delay:-7s; }
.hero-bg .sphere-3 { width:280px; height:280px; background:var(--accent); top:60%; left:40%; animation-delay:-14s; }
@keyframes floatSphere { 0%,100% { transform:translate(0,0) scale(1); } 25% { transform:translate(40px,-40px) scale(1.1); } 50% { transform:translate(-30px,30px) scale(0.95); } 75% { transform:translate(30px,40px) scale(1.05); } }
#particles-canvas { position:absolute; inset:0; z-index:1; }
.hero .container { position:relative; z-index:2; width:100%; }

/* Page Header Spheres & Particles */
.page-header-bg .gradient-sphere { position:absolute; border-radius:50%; filter:blur(80px); opacity:0.25; animation:floatSphere 20s ease-in-out infinite; }
[data-theme="light"] .page-header-bg .gradient-sphere { opacity:0.12; }
.page-header-bg .sphere-1 { width:400px; height:400px; background:var(--secondary); top:-120px; right:-80px; }
.page-header-bg .sphere-2 { width:280px; height:280px; background:var(--highlight); bottom:-60px; left:-60px; animation-delay:-7s; }
.page-header-bg .sphere-3 { width:200px; height:200px; background:var(--accent); top:40%; left:55%; animation-delay:-14s; }
.page-header #particles-canvas { z-index:1; }
.page-header .container { position:relative; z-index:2; }

.hero-split {
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:60px;
  align-items:center;
}

.hero-content-left { max-width:620px; }
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--glass-bg); backdrop-filter:blur(10px);
  border:1px solid var(--glass-border); padding:8px 20px;
  border-radius:50px; font-size:14px; font-weight:500; color:var(--secondary); margin-bottom:24px;
}
.hero-badge .dot { width:8px; height:8px; border-radius:50%; background:var(--accent); animation:dotPulse 1.5s ease-in-out infinite; }
@keyframes dotPulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:0.5; transform:scale(0.8); } }
.hero-content-left h1 { font-size:clamp(36px,5vw,60px); margin-bottom:20px; line-height:1.15; }
.hero-content-left h1 .gradient-text { background:var(--gradient-primary); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-content-left p { font-size:18px; color:var(--text-light); margin-bottom:36px; max-width:520px; }
.hero-buttons { display:flex; gap:16px; flex-wrap:wrap; }

/* Hero Form (Right Side) */
.hero-form-right { position:relative; }
.hero-form-glass {
  position:relative;
  border-radius:var(--radius-lg);
  padding:36px 32px;
  overflow:hidden;
}
[data-theme="dark"] .hero-form-glass {
  background:var(--glass-bg);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border:1px solid var(--glass-border);
  box-shadow:var(--glass-shadow);
}
[data-theme="light"] .hero-form-glass {
  background:#FFFFFF;
  border:1px solid rgba(15,23,42,0.06);
  box-shadow:0 4px 24px rgba(15,23,42,0.06), 0 12px 48px rgba(15,23,42,0.04);
}

/* Gradient top accent bar */
.hero-form-glass::after {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background:var(--gradient-primary);
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}

/* Subtle radial glow in background */
.hero-form-glass::before {
  content:'';
  position:absolute;
  top:-50%; left:-50%;
  width:200%; height:200%;
  background:radial-gradient(circle at 30% 20%, rgba(37,99,235,0.06), transparent 50%),
              radial-gradient(circle at 70% 80%, rgba(147,51,234,0.04), transparent 50%);
  pointer-events:none;
}

.hero-form-header {
  text-align:center;
  margin-bottom:28px;
  position:relative;
  padding-top:4px;
}
.hero-form-header .form-icon {
  width:52px; height:52px;
  border-radius:16px;
  background:var(--gradient-primary);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 16px;
  font-size:22px;
  color:#fff;
  box-shadow:0 4px 16px rgba(37,99,235,0.25);
}
.hero-form-header h3 {
  color:var(--text);
  font-size:22px;
  margin-bottom:6px;
  font-family:'Poppins',sans-serif;
}
.hero-form-header p {
  color:var(--text-light);
  font-size:14px;
}

.hero-form-glass .form-group { position:relative; margin-bottom:18px; z-index:1; }

.hero-form-glass .form-group input,
.hero-form-glass .form-group textarea,
.hero-form-glass .form-group select {
  width:100%; padding:16px 18px 16px 46px;
  border-radius:12px;
  font-size:15px; font-family:'Inter',sans-serif;
  transition:all 0.25s ease; outline:none;
}
[data-theme="dark"] .hero-form-glass .form-group input,
[data-theme="dark"] .hero-form-glass .form-group textarea,
[data-theme="dark"] .hero-form-glass .form-group select {
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.1);
  color:var(--text);
}
[data-theme="light"] .hero-form-glass .form-group input,
[data-theme="light"] .hero-form-glass .form-group textarea,
[data-theme="light"] .hero-form-glass .form-group select {
  background:#F8FAFC;
  border:1px solid rgba(15,23,42,0.08);
  color:var(--text);
}

.hero-form-glass .form-group input:hover,
.hero-form-glass .form-group textarea:hover,
.hero-form-glass .form-group select:hover {
  border-color:var(--secondary);
}
[data-theme="light"] .hero-form-glass .form-group input:hover,
[data-theme="light"] .hero-form-glass .form-group textarea:hover,
[data-theme="light"] .hero-form-glass .form-group select:hover {
  border-color:var(--secondary);
  background:#FFFFFF;
}

.hero-form-glass .form-group input:focus,
.hero-form-glass .form-group textarea:focus,
.hero-form-glass .form-group select:focus {
  transform:translateY(-1px);
}
[data-theme="dark"] .hero-form-glass .form-group input:focus,
[data-theme="dark"] .hero-form-glass .form-group textarea:focus,
[data-theme="dark"] .hero-form-glass .form-group select:focus {
  border-color:var(--secondary);
  background:rgba(255,255,255,0.08);
  box-shadow:0 0 0 3px rgba(37,99,235,0.15), 0 0 24px rgba(37,99,235,0.06);
}
[data-theme="light"] .hero-form-glass .form-group input:focus,
[data-theme="light"] .hero-form-glass .form-group textarea:focus,
[data-theme="light"] .hero-form-glass .form-group select:focus {
  border-color:var(--secondary);
  background:#FFFFFF;
  box-shadow:0 0 0 3px rgba(37,99,235,0.1), 0 4px 12px rgba(37,99,235,0.08);
}

.hero-form-glass .form-group label {
  position:absolute; left:46px; top:50%;
  transform:translateY(-50%);
  font-size:14px; font-weight:400;
  transition:all 0.25s ease;
  pointer-events:none;
  display:flex; align-items:center; gap:8px;
}
[data-theme="dark"] .hero-form-glass .form-group label { color:rgba(255,255,255,0.45); }
[data-theme="light"] .hero-form-glass .form-group label { color:rgba(15,23,42,0.4); }

.hero-form-glass .form-group textarea ~ label { top:18px; transform:none; }
.hero-form-glass .form-group label i { font-size:14px; opacity:0.7; }

.hero-form-glass .form-group input:focus ~ label,
.hero-form-glass .form-group textarea:focus ~ label,
.hero-form-glass .form-group input:not(:placeholder-shown) ~ label,
.hero-form-glass .form-group textarea:not(:placeholder-shown) ~ label {
  top:-10px; left:14px; font-size:11px; padding:0 6px;
}
[data-theme="dark"] .hero-form-glass .form-group input:focus ~ label,
[data-theme="dark"] .hero-form-glass .form-group textarea:focus ~ label,
[data-theme="dark"] .hero-form-glass .form-group input:not(:placeholder-shown) ~ label,
[data-theme="dark"] .hero-form-glass .form-group textarea:not(:placeholder-shown) ~ label {
  color:var(--accent);
  background:var(--bg);
}
[data-theme="light"] .hero-form-glass .form-group input:focus ~ label,
[data-theme="light"] .hero-form-glass .form-group textarea:focus ~ label,
[data-theme="light"] .hero-form-glass .form-group input:not(:placeholder-shown) ~ label,
[data-theme="light"] .hero-form-glass .form-group textarea:not(:placeholder-shown) ~ label {
  color:var(--secondary);
  background:#FFFFFF;
}

.hero-form-glass .form-group .input-icon {
  position:absolute; left:16px; top:50%;
  transform:translateY(-50%);
  font-size:15px;
  pointer-events:none;
  transition:all 0.25s ease;
  z-index:1;
}
[data-theme="dark"] .hero-form-glass .form-group .input-icon { color:rgba(255,255,255,0.25); }
[data-theme="light"] .hero-form-glass .form-group .input-icon { color:rgba(15,23,42,0.25); }
.hero-form-glass .form-group input:focus ~ .input-icon,
.hero-form-glass .form-group textarea:focus ~ .input-icon { color:var(--secondary); }

.hero-form-glass .form-group select {
  appearance:none; -webkit-appearance:none; cursor:pointer;
}
[data-theme="dark"] .hero-form-glass .form-group select { color:var(--text); }
[data-theme="dark"] .hero-form-glass .form-group select option { background:var(--primary); color:var(--text); }
[data-theme="light"] .hero-form-glass .form-group select { color:var(--text); }
[data-theme="light"] .hero-form-glass .form-group select option { background:#fff; color:var(--text); }

.hero-form-glass .form-group .select-arrow {
  position:absolute; right:16px; top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  font-size:12px;
  transition:var(--transition);
}
[data-theme="dark"] .hero-form-glass .form-group .select-arrow { color:rgba(255,255,255,0.25); }
[data-theme="light"] .hero-form-glass .form-group .select-arrow { color:rgba(15,23,42,0.25); }

.hero-form-glass .form-group textarea { min-height:100px; resize:vertical; }

.hero-form-glass .submit-btn {
  width:100%; justify-content:center; padding:16px; font-size:16px; margin-top:8px;
  border-radius:12px;
}
[data-theme="light"] .hero-form-glass .submit-btn {
  box-shadow:0 4px 20px rgba(37,99,235,0.3);
}
[data-theme="light"] .hero-form-glass .submit-btn:hover {
  box-shadow:0 8px 30px rgba(37,99,235,0.45);
}

/* Stats Bar */
.stats-bar { padding:40px 0; background:var(--primary); position:relative; }
.stats-bar::after { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--secondary),transparent); }
.stats-bar-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; }
.stats-bar-item h3 { font-size:36px; color:var(--white); margin-bottom:4px; font-family:'Poppins',sans-serif; }
.stats-bar-item h3 .suffix { color:var(--accent); }
.stats-bar-item p { color:rgba(255,255,255,0.6); font-size:15px; }

/* Services Section */
.services-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; }
.service-card {
  background:var(--card-bg); border-radius:var(--radius-md); padding:0 32px 36px;
  text-align:center; transition:var(--transition); position:relative; overflow:hidden;
  border:1px solid var(--card-border); box-shadow:var(--shadow-sm);
}
.service-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color:transparent; }
.service-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--gradient-primary); transform:scaleX(0); transform-origin:left; transition:var(--transition); }
.service-card:hover::before { transform:scaleX(1); }
.service-img-wrap { position:relative; width:calc(100% + 64px); margin:0 -32px 24px; overflow:hidden; }
.service-img-wrap img { width:100%; height:200px; object-fit:cover; display:block; transition:transform 0.6s ease; }
.service-card:hover .service-img-wrap img { transform:scale(1.08); }
.service-img-wrap::after { content:''; position:absolute; bottom:0; left:0; right:0; height:50%; background:linear-gradient(to top,var(--card-bg),transparent); pointer-events:none; }
/* Default icon style for cards without image */
.service-icon { width:70px; height:70px; border-radius:20px; background:var(--gradient-primary); display:flex; align-items:center; justify-content:center; margin:0 auto 24px; font-size:28px; color:var(--white); transition:var(--transition); }
.service-card:hover .service-icon { transform:scale(1.1) rotate(5deg); }
.service-card h3 { font-size:20px; margin-bottom:12px; }
.service-card p { color:var(--text-light); font-size:15px; }

/* Portfolio */
/* Portfolio Grid */
.portfolio-filters { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-bottom:40px; }
.filter-btn { padding:8px 22px; border-radius:50px; font-size:14px; font-weight:500; color:var(--text-light); background:var(--card-bg); border:1px solid var(--card-border); cursor:pointer; transition:all 0.3s ease; text-decoration:none; }
.filter-btn:hover { color:var(--white); background:var(--secondary); border-color:var(--secondary); }
.filter-btn.active { color:var(--white); background:var(--gradient-primary); border-color:transparent; }
.portfolio-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:28px; }
.portfolio-item { display:block; border-radius:var(--radius-md); overflow:hidden; background:var(--card-bg); border:1px solid var(--card-border); text-decoration:none; transition:transform 0.4s ease, box-shadow 0.4s ease; }
.portfolio-item:hover { transform:translateY(-6px); box-shadow:0 16px 48px rgba(0,0,0,0.18); }
.portfolio-img-wrap { position:relative; aspect-ratio:16/10; overflow:hidden; }
.portfolio-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.portfolio-item:hover .portfolio-img-wrap img { transform:scale(1.08); }
.portfolio-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(15,23,42,0.9),rgba(15,23,42,0.15)); display:flex; flex-direction:column; justify-content:flex-end; padding:24px; opacity:0; transition:opacity 0.4s ease; }
[data-theme="light"] .portfolio-overlay { background:linear-gradient(to top,rgba(15,23,42,0.85),rgba(15,23,42,0.1)); }
.portfolio-item:hover .portfolio-overlay { opacity:1; }
.portfolio-cat { display:inline-block; padding:4px 12px; border-radius:50px; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; color:var(--white); background:rgba(37,99,235,0.85); backdrop-filter:blur(4px); margin-bottom:8px; align-self:flex-start; }
.portfolio-overlay h3 { color:var(--white); font-size:19px; margin-bottom:4px; }
.portfolio-link { color:var(--white); font-size:14px; display:flex; align-items:center; gap:6px; opacity:0.8; }
.portfolio-link i { font-size:16px; transition:transform 0.3s ease; }
.portfolio-item:hover .portfolio-link i { transform:translateX(4px); }

/* Team */
.team-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:30px; }
.team-card { background:var(--card-bg); border-radius:var(--radius-md); overflow:hidden; text-align:center; transition:var(--transition); box-shadow:var(--shadow-sm); border:1px solid var(--card-border); }
.team-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.team-image { width:100%; height:280px; object-fit:cover; }
.team-info { padding:24px; }
.team-info h3 { font-size:20px; margin-bottom:4px; }
.team-info .role { color:var(--secondary); font-weight:500; font-size:14px; margin-bottom:16px; }
.team-social { display:flex; justify-content:center; gap:12px; }
.team-social a { width:36px; height:36px; border-radius:50%; background:var(--bg); display:flex; align-items:center; justify-content:center; color:var(--text-light); transition:var(--transition); font-size:16px; }
.team-social a:hover { background:var(--gradient-primary); color:var(--white); transform:translateY(-2px); }

/* Team Detail */
.team-detail-section { padding:80px 0; }
.team-detail-card { display:grid; grid-template-columns:360px 1fr; gap:48px; align-items:start; background:var(--card-bg); border-radius:var(--radius-lg); padding:40px; border:1px solid var(--card-border); box-shadow:var(--shadow-md); }
.team-detail-left { text-align:center; }
.team-detail-img-wrap { border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); margin-bottom:24px; }
.team-detail-img-wrap img { width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; display:block; }
.team-detail-social { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.team-detail-social a { width:44px; height:44px; border-radius:50%; background:var(--bg); display:flex; align-items:center; justify-content:center; color:var(--text-light); transition:var(--transition); font-size:18px; }
.team-detail-social a:hover { background:var(--gradient-primary); color:var(--white); transform:translateY(-3px); }
.team-detail-right { display:flex; flex-direction:column; justify-content:center; }
.team-detail-header { margin-bottom:24px; }
.team-detail-header h1 { font-size:34px; margin-bottom:8px; font-family:'Poppins',sans-serif; }
.team-detail-role { font-size:18px; color:var(--secondary); font-weight:500; position:relative; padding-bottom:16px; }
.team-detail-role::after { content:''; position:absolute; bottom:0; left:0; width:50px; height:3px; background:var(--gradient-primary); border-radius:2px; }
.team-detail-bio { font-size:16px; line-height:1.8; color:var(--text-light); }
@media (max-width:768px) {
  .team-detail-card { grid-template-columns:1fr; gap:32px; padding:28px; }
  .team-detail-img-wrap { max-width:300px; margin:0 auto 24px; }
  .team-detail-header h1 { font-size:28px; }
  .team-detail-header { text-align:center; }
  .team-detail-role::after { left:50%; transform:translateX(-50%); }
  .team-detail-bio { text-align:center; }
  .team-detail-right .btn-outline { text-align:center; display:flex; justify-content:center; }
}

/* Blog */
.blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(360px,1fr)); gap:32px; }
.blog-card {
  background:var(--card-bg); border-radius:var(--radius-md); overflow:hidden;
  transition:var(--transition); box-shadow:var(--shadow-sm); border:1px solid var(--card-border);
  display:flex; flex-direction:column;
}
.blog-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color:transparent; }
.blog-card:hover .blog-image-wrap img { transform:scale(1.08); }
.blog-image-wrap { position:relative; overflow:hidden; aspect-ratio:16/10; }
.blog-image-wrap::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(15,23,42,0.5), transparent 60%);
  opacity:0; transition:var(--transition); z-index:1;
}
.blog-card:hover .blog-image-wrap::after { opacity:1; }
.blog-image { width:100%; height:100%; object-fit:cover; transition:transform 0.5s cubic-bezier(0.4,0,0.2,1); }
.blog-image-wrap .blog-date-badge {
  position:absolute; top:16px; left:16px; z-index:2;
  background:var(--gradient-primary); color:var(--white); padding:6px 14px;
  border-radius:8px; font-size:12px; font-weight:600; display:flex; align-items:center; gap:6px;
  box-shadow:0 4px 15px rgba(37,99,235,0.35);
}
.blog-content { padding:24px 28px 28px; flex:1; display:flex; flex-direction:column; }
.blog-content .meta {
  font-size:13px; color:var(--text-light); margin-bottom:14px;
  display:flex; gap:18px; align-items:center; flex-wrap:wrap;
}
.blog-content .meta span { display:inline-flex; align-items:center; gap:6px; }
.blog-content .meta i { font-size:14px; color:var(--secondary); width:16px; text-align:center; }
.blog-content h3 { font-size:20px; margin-bottom:12px; line-height:1.4; }
.blog-content h3 a { color:inherit; }
.blog-content h3 a:hover { color:var(--secondary); }
.blog-content p {
  color:var(--text-light); font-size:15px; line-height:1.7; margin-bottom:20px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; flex:1;
}
.blog-content .blog-read-more {
  display:inline-flex; align-items:center; gap:8px;
  font-weight:600; font-size:14px; color:var(--secondary);
  transition:var(--transition); margin-top:auto;
}
.blog-content .blog-read-more i { transition:transform var(--transition); font-size:12px; }
.blog-content .blog-read-more:hover i { transform:translateX(4px); }
.blog-content .blog-read-more:hover { gap:12px; }

/* Blog Detail */
.blog-detail-wrapper { max-width:860px; margin:0 auto; }
.blog-detail-card {
  background:var(--card-bg); border:1px solid var(--card-border);
  border-radius:var(--radius-lg); padding:52px 56px;
  box-shadow:0 4px 24px rgba(15,23,42,0.06); margin-bottom:24px;
  position:relative;
}
@media (max-width:768px) { .blog-detail-card { padding:28px 24px; } }

.blog-detail-featured {
  position:relative; border-radius:var(--radius-lg); overflow:hidden;
  margin-bottom:40px; box-shadow:0 8px 30px rgba(15,23,42,0.1);
}
.blog-detail-featured img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.blog-detail-featured .blog-detail-overlay {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(to top, rgba(15,23,42,0.8), transparent);
  padding:60px 40px 32px;
}
.blog-detail-meta {
  display:flex; gap:24px; flex-wrap:wrap; font-size:14px; color:rgba(255,255,255,0.8);
}
.blog-detail-meta span { display:inline-flex; align-items:center; gap:8px; }
.blog-detail-meta i { color:var(--accent); }

/* Blog detail body — main content area */
.blog-detail-body {
  font-size:18px; line-height:2; color:var(--text);
  font-weight:400;
  position:relative;
}
.blog-detail-body p {
  margin-bottom:28px;
}
.blog-detail-body p:last-child { margin-bottom:0; }
.blog-detail-body p:first-child::first-letter {
  font-size:56px; font-weight:700; float:left; line-height:0.85;
  margin-right:14px; margin-top:6px; padding:4px 0;
  background:var(--gradient-primary); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text;
}
/* In-content image */
.blog-detail-body .blog-detail-image { margin:36px 0; }
.blog-detail-body .blog-detail-image img {
  width:100%; border-radius:var(--radius-md);
  box-shadow:0 6px 24px rgba(15,23,42,0.1);
  transition:var(--transition);
}
.blog-detail-body .blog-detail-image img:hover {
  box-shadow:0 12px 40px rgba(15,23,42,0.16);
  transform:scale(1.01);
}
.blog-detail-footer {
  margin-top:48px; padding-top:32px;
  border-top:1px solid var(--card-border);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;
}
.blog-detail-author {
  display:flex; align-items:center; gap:14px;
}
.blog-detail-author .author-avatar {
  width:48px; height:48px; border-radius:50%;
  background:var(--gradient-primary); display:flex; align-items:center; justify-content:center;
  color:var(--white); font-size:20px; font-weight:700;
}
.blog-detail-author .author-info h4 { font-size:15px; margin-bottom:2px; }
.blog-detail-author .author-info span { font-size:13px; color:var(--text-light); }
.blog-detail-share { display:flex; gap:8px; }
.blog-detail-share a {
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--bg); color:var(--text-light); font-size:16px;
  transition:var(--transition); border:1px solid var(--card-border);
}
.blog-detail-share a:hover { background:var(--secondary); color:var(--white); border-color:var(--secondary); transform:translateY(-2px); }
.blog-detail-back { text-align:center; margin-top:40px; }

/* Contact Page */
.contact-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.contact-info-cards { display:grid; gap:20px; }
.contact-info-card { background:var(--card-bg); border-radius:var(--radius-md); padding:28px; display:flex; align-items:center; gap:20px; box-shadow:var(--shadow-sm); border:1px solid var(--card-border); transition:var(--transition); }
.contact-info-card:hover { transform:translateX(6px); box-shadow:var(--shadow-md); }
.contact-icon { width:56px; height:56px; border-radius:16px; background:var(--gradient-primary); display:flex; align-items:center; justify-content:center; font-size:22px; color:var(--white); flex-shrink:0; }
.contact-info-card h4 { font-size:16px; margin-bottom:4px; }
.contact-info-card p { color:var(--text-light); font-size:14px; }
.map-container { border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-md); margin-top:40px; }
.map-container iframe { width:100%; height:350px; border:none; }
.contact-form-section { background:var(--card-bg); border-radius:var(--radius-md); padding:40px; box-shadow:var(--shadow-sm); border:1px solid var(--card-border); }
.contact-form-section .form-group { position:relative; margin-bottom:20px; }
.contact-form-section .form-group input,
.contact-form-section .form-group textarea,
.contact-form-section .form-group select {
  width:100%; padding:16px 20px; background:var(--bg);
  border:1px solid var(--card-border); border-radius:var(--radius-sm);
  color:var(--text); font-size:15px; font-family:'Inter',sans-serif;
  transition:var(--transition); outline:none;
}
[data-theme="dark"] .contact-form-section .form-group input,
[data-theme="dark"] .contact-form-section .form-group textarea,
[data-theme="dark"] .contact-form-section .form-group select {
  background:rgba(255,255,255,0.05);
}
.contact-form-section .form-group input:focus,
.contact-form-section .form-group textarea:focus,
.contact-form-section .form-group select:focus {
  border-color:var(--secondary); box-shadow:0 0 0 3px rgba(37,99,235,0.1);
}
.contact-form-section .form-group label { position:absolute; left:20px; top:50%; transform:translateY(-50%); color:var(--text-light); font-size:15px; transition:var(--transition); pointer-events:none; padding:0 4px; }
.contact-form-section .form-group textarea ~ label { top:20px; transform:none; }
.contact-form-section .form-group input:focus ~ label,
.contact-form-section .form-group textarea:focus ~ label,
.contact-form-section .form-group input:not(:placeholder-shown) ~ label,
.contact-form-section .form-group textarea:not(:placeholder-shown) ~ label {
  top:-10px; left:12px; font-size:12px; color:var(--secondary);
  background:var(--card-bg); padding:0 6px;
}
[data-theme="dark"] .contact-form-section .form-group input:focus ~ label,
[data-theme="dark"] .contact-form-section .form-group textarea:focus ~ label,
[data-theme="dark"] .contact-form-section .form-group input:not(:placeholder-shown) ~ label,
[data-theme="dark"] .contact-form-section .form-group textarea:not(:placeholder-shown) ~ label { background:var(--bg); }

/* About Page */
.about-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.about-image-wrapper { position:relative; }
.about-image-wrapper img { border-radius:var(--radius-lg); width:100%; }
.about-image-wrapper::before { content:''; position:absolute; top:-20px; left:-20px; width:100%; height:100%; border:2px solid var(--secondary); border-radius:var(--radius-lg); z-index:-1; opacity:0.3; }
.about-stats { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:20px; margin-top:40px; }
.about-stat { text-align:center; padding:20px; background:var(--card-bg); border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); }
.about-stat h3 { font-size:32px; background:var(--gradient-primary); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.about-stat p { color:var(--text-light); font-size:14px; }

/* Portfolio Detail */
.portfolio-detail { padding:40px 0; }
.portfolio-detail-hero { position:relative; height:400px; border-radius:var(--radius-lg); overflow:hidden; margin-bottom:40px; }
.portfolio-detail-hero img { width:100%; height:100%; object-fit:cover; }
.portfolio-detail-hero .overlay { position:absolute; inset:0; background:linear-gradient(to top,var(--primary),transparent); }
.portfolio-detail-hero .info { position:absolute; bottom:32px; left:32px; color:var(--white); }
.portfolio-detail-hero .info h1 { font-size:36px; margin-bottom:8px; }
.portfolio-detail-hero .info .category { color:var(--accent); font-size:16px; }
.portfolio-content { max-width:900px; margin:0 auto; }
.portfolio-content .description { font-size:18px; line-height:1.8; color:var(--text-light); margin-bottom:32px; }

/* Gallery Section */
.gallery-section { margin-bottom:48px; }
.section-title { font-size:clamp(24px,3vw,34px); margin-bottom:24px; position:relative; display:inline-block; }
.section-title::after { content:''; position:absolute; bottom:-4px; left:0; width:60px; height:3px; background:var(--gradient-primary); border-radius:2px; }
.gallery-preview { display:flex; flex-direction:column; gap:16px; }
.gallery-main { position:relative; border-radius:var(--radius-md); overflow:hidden; background:var(--card-bg); border:1px solid var(--card-border); aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; }
.gallery-main img { width:100%; height:100%; object-fit:contain; transition:opacity 0.4s ease; }
.gallery-main-caption { position:absolute; bottom:0; left:0; right:0; padding:12px 20px; background:linear-gradient(transparent,rgba(0,0,0,0.7)); color:white; font-size:14px; font-weight:500; opacity:0; transition:opacity 0.3s ease; }
.gallery-main:hover .gallery-main-caption { opacity:1; }
.gallery-thumbs { display:flex; gap:10px; overflow-x:auto; padding-bottom:4px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
.gallery-thumbs::-webkit-scrollbar { height:4px; }
.gallery-thumbs::-webkit-scrollbar-thumb { background:var(--text-light); border-radius:2px; }
.gallery-thumb { flex:0 0 120px; aspect-ratio:16/10; border-radius:var(--radius-sm); overflow:hidden; cursor:pointer; position:relative; border:2px solid transparent; transition:border-color 0.3s ease, transform 0.3s ease; scroll-snap-align:start; text-decoration:none; opacity:0.6; }
.gallery-thumb:hover { opacity:0.85; }
.gallery-thumb.active { border-color:var(--secondary); opacity:1; transform:translateY(-2px); }
.gallery-thumb img { width:100%; height:100%; object-fit:cover; }
.gallery-thumb-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,0.3); opacity:0; transition:opacity 0.3s ease; }
.gallery-thumb:hover .gallery-thumb-overlay { opacity:1; }
.gallery-thumb-overlay i { color:white; font-size:14px; }

/* Video Section */
.video-section { margin-bottom:48px; }
.video-hero { position:relative; border-radius:var(--radius-lg); overflow:hidden; cursor:pointer; background:var(--card-bg); border:1px solid var(--card-border); transition:transform 0.4s ease, box-shadow 0.4s ease; }
.video-hero:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,0.2); }
.video-thumb { position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--primary); }
.video-thumb img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.video-hero:hover .video-thumb img { transform:scale(1.05); }
.video-play-btn { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.video-play-btn i { font-size:48px; color:white; background:rgba(37,99,235,0.9); width:80px; height:80px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,99,235,0.4); transition:transform 0.3s ease, background 0.3s ease; }
.video-hero:hover .video-play-btn i { transform:scale(1.1); background:var(--secondary); }
.video-info { padding:16px 20px 20px; }
.video-info h3 { font-size:17px; margin-bottom:4px; color:var(--text); }
.video-info p { font-size:14px; color:var(--text-light); margin:0; }

/* Lightbox (Image) */
.lightbox { position:fixed; inset:0; z-index:99999; background:rgba(0,0,0,0.92); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:opacity 0.3s ease, visibility 0.3s ease; }
.lightbox.active { opacity:1; visibility:visible; }
.lightbox-body { text-align:center; }
.lightbox-img { max-width:92vw; max-height:78vh; object-fit:contain; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,0.5); transform:scale(0.92); transition:transform 0.3s ease; }
.lightbox.active .lightbox-img { transform:scale(1); }
.lightbox-caption { color:rgba(255,255,255,0.7); font-size:15px; margin-top:16px; max-width:600px; margin-left:auto; margin-right:auto; }
.lightbox-close { position:absolute; top:20px; right:24px; font-size:36px; color:rgba(255,255,255,0.6); cursor:pointer; transition:color 0.3s; background:none; border:none; line-height:1; z-index:2; }
.lightbox-close:hover { color:white; }
.lightbox-nav { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,0.08); border:none; color:rgba(255,255,255,0.6); width:48px; height:48px; border-radius:50%; cursor:pointer; font-size:20px; transition:all 0.3s; display:flex; align-items:center; justify-content:center; z-index:2; }
.lightbox-nav:hover { background:rgba(255,255,255,0.15); color:white; }
.lightbox-prev { left:20px; }
.lightbox-next { right:20px; }
.lightbox-counter { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,0.5); font-size:14px; font-weight:500; letter-spacing:0.5px; }

/* Video Lightbox */
.video-lightbox { z-index:100000; }
.video-lightbox-content { width:90vw; max-width:1000px; }
.video-lightbox-container { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:var(--radius-lg); background:#000; box-shadow:0 20px 60px rgba(0,0,0,0.6); }
.video-lightbox-container iframe { position:absolute; inset:0; width:100%; height:100%; }

/* Footer */
.footer { background:var(--primary); color:rgba(255,255,255,0.8); padding:80px 0 0; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:40px; margin-bottom:60px; }
.footer-brand h3 { font-size:24px; color:var(--white); margin-bottom:16px; font-family:'Poppins',sans-serif; }
.footer-brand h3 span { background:var(--gradient-primary); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.footer-brand p { font-size:15px; line-height:1.8; margin-bottom:20px; }
.footer-social { display:flex; gap:12px; }
.footer-social a { width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.05); display:flex; align-items:center; justify-content:center; transition:var(--transition); color:rgba(255,255,255,0.6); }
.footer-social a:hover { background:var(--gradient-primary); color:var(--white); transform:translateY(-3px); }
.footer h4 { color:var(--white); font-size:18px; margin-bottom:20px; }
.footer-links li { margin-bottom:12px; }
.footer-links a { color:rgba(255,255,255,0.6); font-size:15px; transition:var(--transition); display:flex; align-items:center; gap:8px; }
.footer-links a:hover { color:var(--accent); padding-left:4px; }
.footer-contact li { display:flex; gap:12px; margin-bottom:16px; font-size:15px; }
.footer-contact i { color:var(--accent); margin-top:4px; flex-shrink:0; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.08); padding:24px 0; text-align:center; font-size:14px; }

/* WhatsApp Button */
.whatsapp-btn {
  position:fixed; bottom:24px; right:24px; width:56px; height:56px;
  border-radius:50%; background:#25D366; color:var(--white);
  display:flex; align-items:center; justify-content:center; font-size:28px;
  box-shadow:0 4px 20px rgba(37,211,102,0.4); z-index:999;
  transition:var(--transition); animation:whatsappPulse 2s ease-in-out infinite;
}
.whatsapp-btn:hover { transform:scale(1.1); box-shadow:0 8px 30px rgba(37,211,102,0.5); }
@keyframes whatsappPulse { 0%,100% { box-shadow:0 4px 20px rgba(37,211,102,0.4); } 50% { box-shadow:0 4px 35px rgba(37,211,102,0.7); } }

/* Back to Top */
.back-to-top { position:fixed; bottom:24px; right:90px; width:44px; height:44px; border-radius:50%; background:var(--gradient-primary); color:var(--white); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:18px; z-index:999; opacity:0; visibility:hidden; transform:translateY(20px); transition:var(--transition); box-shadow:0 4px 15px rgba(37,99,235,0.3); }
.back-to-top.show { opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover { transform:translateY(-4px); box-shadow:0 8px 25px rgba(37,99,235,0.4); }

/* Section fade-in on load */
@keyframes sectionFadeIn {
  from { opacity:0; transform:translateY(20px); }
  to { opacity:1; transform:translateY(0); }
}
section { animation:sectionFadeIn 0.5s ease both; }
section:nth-of-type(2) { animation-delay:0.1s; }
section:nth-of-type(3) { animation-delay:0.2s; }
section:nth-of-type(4) { animation-delay:0.3s; }
section:nth-of-type(5) { animation-delay:0.4s; }
section:nth-of-type(6) { animation-delay:0.5s; }
section:nth-of-type(7) { animation-delay:0.6s; }
section:nth-of-type(8) { animation-delay:0.7s; }
section:nth-of-type(9) { animation-delay:0.8s; }

/* Toast */
.toast { position:fixed; top:100px; right:24px; padding:16px 24px; border-radius:var(--radius-sm); color:var(--white); font-weight:500; z-index:99999; transform:translateX(120%); transition:transform 0.4s ease; max-width:380px; box-shadow:var(--shadow-lg); }
.toast.show { transform:translateX(0); }
.toast.success { background:#10B981; }
.toast.error { background:#EF4444; }

/* Page Header */
.page-header { padding:120px 0 60px; text-align:center; position:relative; overflow:hidden; }
.page-header-bg { position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; background-repeat:no-repeat; }
.page-header-bg::before { content:''; position:absolute; inset:0; background:var(--gradient-dark); opacity:0.05; }
.page-header-bg[style*="background-image"]::before { opacity:0.65; background:#0a0f1a; }
[data-theme="light"] .page-header-bg[style*="background-image"]::before { opacity:0.55; background:var(--primary); }
.page-header .container { position:relative; z-index:1; }
.page-header h1 { font-size:clamp(32px,5vw,52px); margin-bottom:16px; }
.page-header p { color:var(--text-light); font-size:18px; max-width:500px; margin:0 auto; }

/* Pagination */
.pagination { display:flex; gap:6px; justify-content:center; margin-top:24px; }
.pagination .page-link { padding:8px 14px; border-radius:8px; background:var(--card-bg); color:var(--text); font-size:14px; border:1px solid var(--card-border); transition:var(--transition); text-decoration:none; }
.pagination .page-link:hover { background:var(--secondary); color:var(--white); border-color:var(--secondary); }
.pagination .page-link.active { background:var(--gradient-primary); color:var(--white); border-color:transparent; }

/* Search Bar */
.search-bar { position:relative; max-width:400px; }
.search-bar input { width:100%; padding:10px 16px 10px 40px; border:1px solid var(--card-border); border-radius:10px; font-size:14px; outline:none; background:var(--card-bg); color:var(--text); transition:var(--transition); }
.search-bar input:focus { border-color:var(--secondary); box-shadow:0 0 0 3px rgba(37,99,235,0.1); }
.search-bar i { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--text-light); font-size:14px; }

/* Drag Drop Upload */
.drop-zone {
  border:2px dashed var(--card-border); border-radius:var(--radius-sm);
  padding:40px 20px; text-align:center; cursor:pointer;
  transition:var(--transition); background:var(--bg); position:relative;
}
.drop-zone:hover, .drop-zone.dragover { border-color:var(--secondary); background:rgba(37,99,235,0.04); }
.drop-zone i { font-size:36px; color:var(--text-light); margin-bottom:12px; }
.drop-zone p { color:var(--text-light); font-size:14px; }
.drop-zone input { position:absolute; inset:0; opacity:0; cursor:pointer; }

/* Responsive */
@media (max-width:1024px) {
  .hero-split { grid-template-columns:1fr 1fr; gap:40px; }
  .about-wrapper { grid-template-columns:1fr; gap:40px; }
  .contact-wrapper { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:768px) {
  .hero { padding:40px 0; min-height:auto; }
  .hero-split { grid-template-columns:1fr; gap:40px; }
  .hero-content-left { order:1; text-align:center; max-width:100%; }
  .hero-content-left p { margin-left:auto; margin-right:auto; }
  .hero-buttons { justify-content:center; }
  .hero-form-right { order:2; }
  .top-bar .contact-info { font-size:12px; gap:12px; }
  .nav-links {
    position:fixed; top:0; right:-100%; width:280px; height:100vh;
    background:var(--card-bg); flex-direction:column; padding:100px 32px 32px;
    gap:20px; box-shadow:-10px 0 40px rgba(0,0,0,0.1); transition:var(--transition); z-index:999;
    border-left:1px solid var(--card-border);
  }
  [data-theme="dark"] .nav-links { background:var(--primary); border-left-color:rgba(255,255,255,0.05); }
  .nav-links.open { right:0; }
  .hamburger { display:flex; }
  .form-row { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .portfolio-grid { grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
  .portfolio-filters { gap:8px; }
  .filter-btn { padding:6px 16px; font-size:13px; }
  .blog-grid { grid-template-columns:1fr; }
  .blog-detail-featured .blog-detail-overlay { padding:40px 24px 24px; }
  .blog-detail-body { font-size:16px; line-height:1.8; }
  .blog-detail-body p:first-child::first-letter { font-size:40px; }
  .blog-detail-footer { flex-direction:column; align-items:flex-start; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .about-stats { grid-template-columns:1fr; }
  .hero-buttons { flex-direction:column; }
  .hero-buttons .btn { width:100%; justify-content:center; }
  .back-to-top { right:24px; bottom:90px; }
  .stats-bar-grid { grid-template-columns:repeat(2,1fr); gap:16px; }
  .section { padding:60px 0; }
  .page-header { padding:100px 0 40px; }
}

@media (max-width:480px) {
  .top-bar .social-links { display:none; }
  .top-bar .contact-info a:last-child { display:none; }
  .team-grid { grid-template-columns:1fr; }
  .stats-bar-grid { grid-template-columns:1fr 1fr; }
  .hero-form-glass { padding:24px 18px; }
  .hero-content-left h1 { font-size:28px; }
  .portfolio-grid { grid-template-columns:1fr; }
}

.mobile-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:998; opacity:0; visibility:hidden; transition:var(--transition); }
.mobile-overlay.show { opacity:1; visibility:visible; }

/* Service Detail Page */
.service-detail-hero { position:relative; height:420px; overflow:hidden; }
.service-detail-hero img { width:100%; height:100%; object-fit:cover; }
.service-detail-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--gradient-primary); }
.service-detail-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(15,23,42,0.85),rgba(15,23,42,0.3)); }
.service-detail-hero-content { position:absolute; bottom:0; left:0; right:0; padding:40px 0; }
.service-detail-hero-content h1 { font-size:38px; color:var(--white); margin-bottom:8px; }
.service-detail-hero-content p { font-size:18px; color:rgba(255,255,255,0.7); max-width:600px; }
.service-content { max-width:800px; margin:0 auto; }
.service-content-block { margin-bottom:40px; }
.service-content-block:last-child { margin-bottom:0; }
.service-content-block h2 { font-size:26px; margin-bottom:16px; color:var(--text); position:relative; padding-bottom:12px; }
.service-content-block h2::after { content:''; position:absolute; bottom:0; left:0; width:50px; height:3px; background:var(--gradient-primary); border-radius:2px; }
.service-content-block + .service-content-block { padding-top:32px; border-top:1px solid var(--card-border); }
.service-text { font-size:16px; line-height:1.8; color:var(--text-light); }
@media (max-width:768px) {
  .service-detail-hero { height:300px; }
  .service-detail-hero-content h1 { font-size:28px; }
  .service-detail-hero-content p { font-size:15px; }
  .service-content-block h2 { font-size:22px; }
}
@media (max-width:480px) {
  .service-detail-hero { height:240px; }
  .service-detail-hero-content h1 { font-size:24px; }
}

/* Make service card clickable */
a.service-card { color:inherit; text-decoration:none; display:block; }
a.service-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color:transparent; }
