* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: #1f2937; background: #0f172a; }
:root{
    --brand:#2563eb;
    --brand2:#6d28d9;
    --ink:#0f172a;
    --paper:#f8fafc;
    --soft:#e2e8f0;
    --muted:#64748b;
}
.container{ max-width:1100px; margin:0 auto; padding:0 20px; }
.container.narrow{ max-width:900px; }
header{ position:sticky; top:0; z-index:1000; background:rgba(15,23,42,0.9); backdrop-filter: blur(6px); border-bottom:1px solid rgba(148,163,184,0.2); }
nav{ display:flex; align-items:center; justify-content:space-between; height:64px; }
.brand{ color:#fff; font-weight:700; text-decoration:none; letter-spacing:.3px; }
.menu{ list-style:none; display:flex; gap:14px; }
.menu a{ color:#e5e7eb; text-decoration:none; padding:10px 12px; border-radius:10px; font-weight:600; font-size:14px; }
.menu a:hover{ background:rgba(148,163,184,0.2); color:#fff; }

.section{ padding:64px 0; }
.hero{ background: radial-gradient(1200px 400px at 70% -20%, rgba(37,99,235,0.25), transparent), radial-gradient(900px 300px at 10% -10%, rgba(109,40,217,0.2), transparent), linear-gradient(180deg, #0b1220, #0f172a 60%); color:#e5e7eb; }
.hero .hero-image{ border:5px solid #cbd5e1; background:#0b1220; }
.hero .hero-image img{ width:100%; height:400px; object-fit:cover; display:block; }
.hero .hero-text{ margin-top:20px; }
.hero h1{ font-size:28px; margin:0 0 10px; }
.btn{ display:inline-block; padding:10px 16px; border-radius:12px; background: linear-gradient(135deg, var(--brand), var(--brand2)); color:#fff; text-decoration:none; font-weight:700; box-shadow: 0 8px 24px rgba(37,99,235,0.35); }
.btn:hover{ transform: translateY(-1px); }

.bg-light{ background: linear-gradient(180deg, #ffffff, #f8fafc); color:#111827; }
.bg-dark{ background: linear-gradient(180deg, #0f172a, #111827); color:#e5e7eb; }
.bg-gradient{ background: linear-gradient(135deg, rgba(37,99,235,0.12), rgba(109,40,217,0.12)); color:#e5e7eb; }

h2{ font-size:26px; margin:0 0 12px; }
h3{ font-size:18px; margin:22px 0 6px; color: var(--muted); }
p{ margin:10px 0; line-height:1.7; }

/* Responsive gallery grid */
.gallery{ display:grid; gap:16px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.gallery img{ width:100%; height:200px; object-fit:cover; border-radius:12px; border:3px solid #cbd5e1; cursor:pointer; transition: transform .2s ease; background:#0b1220; }
.gallery img:hover{ transform: scale(1.03); }

/* Lightbox overlay */
.lightbox{ display:none; position:fixed; inset:0; background:rgba(0,0,0,0.9); justify-content:center; align-items:center; gap:16px; padding:20px; z-index:2000; }
.lightbox img{ max-width:90%; max-height:80%; border-radius:12px; border:2px solid #cbd5e1; }
.lb-close, .lb-prev, .lb-next{ position:absolute; background:transparent; color:#ffffff; border:none; font-size:40px; cursor:pointer; line-height:1; padding:8px 14px; }
.lb-close{ top:16px; right:24px; }
.lb-prev{ left:24px; }
.lb-next{ right:24px; }

/* Contact form */
.contact-form{ display:grid; gap:12px; }
.contact-form label{ font-weight:600; }
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea{ width:100%; padding:12px 14px; border:1px solid #cbd5e1; border-radius:12px; background:#fff; color:#0f172a; }
.contact-form .captcha-row{ display:grid; grid-template-columns: auto 120px 1fr; align-items:center; gap:12px; }
.honeypot{ position:absolute; left:-5000px; opacity:0; }

footer{ background:#0b1220; color:#94a3b8; padding:22px 0; border-top:1px solid rgba(148,163,184,0.2); }
footer p{ margin:0; text-align:center; }
