:root{
  --bg:#0b0f17; /* deep night */
  --sun-1:#7B2FF7; /* neon purple */
  --sun-2:#00E5FF; /* electric cyan */
  --sun-3:#FF2D95; /* neon pink accent */
  --accent:#FF2D95; /* primary neon accent */
  --muted:#9aa4b2; /* light muted on dark */
  --text:#e6f7ff; /* primary readable text on dark */
  --card-bg:linear-gradient(135deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  --glass: rgba(255,255,255,0.04);
  --radius:14px;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial;color:#222;background:var(--bg);-webkit-font-smoothing:antialiased}
.container{max-width:1100px;margin:0 auto;padding:24px}
.site-header{position:sticky;top:0;backdrop-filter:blur(6px);background:linear-gradient(90deg, rgba(11,15,23,0.9), rgba(11,15,23,0.7));z-index:50;border-bottom:1px solid rgba(255,255,255,0.04)}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:800;color:var(--sun-2);text-decoration:none;font-size:1.05rem;letter-spacing:0.6px}
.menu-toggle{display:none;background:transparent;border:0;font-size:1.35rem}
.nav a{margin-left:18px;color:var(--text);text-decoration:none;font-weight:600;opacity:0.9}
.hero{padding:64px 0;background:linear-gradient(160deg, rgba(123,47,247,0.92), rgba(0,229,255,0.86));color:#ffffff;border-bottom-left-radius:40px;border-bottom-right-radius:40px}
.hero-inner{padding:20px}
.hero h1{font-size:clamp(1.6rem,4vw,2.6rem);margin:0 0 12px;font-weight:800;line-height:1.05;text-shadow:0 6px 18px rgba(0,0,0,0.45);color:var(--text)}
.tag{opacity:0.95;margin:0 0 18px;color:rgba(230,247,255,0.88)}
.cta-row{display:flex;gap:12px}
.btn{display:inline-block;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:700;border:0;cursor:pointer}
.btn.primary{background:linear-gradient(90deg,var(--sun-2),var(--sun-3));color:#04121a;font-weight:800;padding:12px 20px;border-radius:12px;box-shadow:0 18px 48px rgba(0,229,255,0.14), 0 6px 18px rgba(123,47,247,0.12);border:0}
.btn.ghost{background:rgba(255,255,255,0.04);color:rgba(230,247,255,0.96);border:1px solid rgba(255,255,255,0.12);backdrop-filter:blur(4px)}
.services{padding:36px 0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:18px;border-radius:12px;box-shadow:0 10px 30px rgba(123,47,247,0.06);border:1px solid rgba(255,255,255,0.03);transition:box-shadow .28s ease,transform .28s ease}
.card h3{margin:0 0 8px;color:var(--sun-2)}
.card p{color:rgba(230,247,255,0.8)}

/* Neon glow on hover/focus */
.card:hover, .card:focus-within{transform:translateY(-6px);box-shadow:0 20px 50px rgba(123,47,247,0.22), 0 0 40px rgba(123,47,247,0.08) inset}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gallery-img{width:100%;height:160px;object-fit:cover;border-radius:10px;cursor:pointer;display:block;filter:none;transform:none;transition:transform .28s ease,box-shadow .28s ease,opacity .6s ease;border:1px solid rgba(255,255,255,0.02)}

/* Force crisp rendering for SVG and raster images in the gallery */
.gallery-img{filter:none !important;-webkit-filter:none !important;image-rendering:auto !important;will-change:auto !important;backface-visibility:hidden}

/* Blur-up placeholder applies only to lazy images */
.gallery-img.lazy{filter:blur(8px);transform:scale(1.02);transition:filter .6s ease,transform .6s ease,opacity .6s ease}
.gallery-img.lazy.loaded{filter:blur(0px);transform:scale(1);opacity:1}
.gallery-img:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 18px 48px rgba(123,47,247,0.18), 0 0 30px rgba(0,229,255,0.06)}
.gallery-img:focus{outline:2px solid rgba(123,47,247,0.22);outline-offset:4px}
.testimonials{padding:30px 0}
.testimonials-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}
.testimonials-grid blockquote{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:20px;border-radius:12px;color:var(--text);margin:0;border:1px solid rgba(255,255,255,0.04);position:relative;box-shadow:0 12px 36px rgba(11,15,23,0.6)}
.testimonials-grid blockquote::before{display:none}
.testimonials-grid blockquote p{margin:0 0 10px;font-size:1.05rem;line-height:1.45}
.testimonials-grid blockquote footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}
.testimonials-grid blockquote footer cite{font-weight:700;color:var(--sun-3);font-style:normal}
.testimonials-grid .rating{color:var(--sun-2);letter-spacing:0.8px}

/* Avatar + layout tweaks */
.testimonial-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,0.06);flex:0 0 56px}
.testimonial-inner{margin-left:12px;flex:1}
.testimonials-grid blockquote{display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px}
.testimonial-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,0.06);margin-bottom:12px}
.testimonial-name{display:block;font-weight:800;color:var(--sun-3);margin-bottom:8px}
.rating{display:none}
.star{display:none}
.contact{padding:34px 0}
.contact p{color:rgba(230,247,255,0.92);margin-top:0}
.contact a{color:var(--sun-2);text-decoration:underline}
.contact-form{margin-top:12px;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:16px;border-radius:12px;box-shadow:0 14px 40px rgba(123,47,247,0.06);border:1px solid rgba(255,255,255,0.03)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.form-group{display:flex;flex-direction:column}
.form-group.full{grid-column:1 / -1}
.label{font-size:.9rem;color:var(--muted);margin-bottom:6px}
input,textarea{padding:10px;border-radius:8px;border:1px solid rgba(0,0,0,0.08);font-size:1rem}
.form-actions{display:flex;align-items:center;gap:12px;margin-top:12px}
.form-status{margin-left:8px;color:var(--accent);font-weight:600}
.disclaimer{font-size:.9rem;color:var(--muted);margin-top:8px}
.map iframe{width:100%;height:200px;border:0;margin-top:12px;border-radius:10px}
.site-footer{padding:18px 0;background:linear-gradient(180deg, rgba(11,15,23,0.0), rgba(11,15,23,0.0));border-top:1px solid rgba(255,255,255,0.03);color:rgba(230,230,235,0.65)}
.site-footer a{color:var(--sun-3)}
.site-footer p{color:rgba(230,230,235,0.65);margin:0}

/* Button glow on hover */
.btn.primary:hover, .btn.primary:focus{box-shadow:0 20px 70px rgba(0,229,255,0.24), 0 0 48px rgba(123,47,247,0.12);transform:translateY(-2px);color:#04121a}
.btn.primary:active{transform:translateY(0)}

/* Headings contrast */
h1,h2,h3{color:var(--text)}
h2{font-weight:800;margin-bottom:14px}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:12px}
.socials a{color:var(--accent);text-decoration:none}
.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,0.6);z-index:200}
.lightbox.open{display:flex}
.lightbox-image{max-width:92%;max-height:84%;border-radius:12px}
.lightbox-close{position:absolute;top:28px;right:28px;background:transparent;border:0;color:white;font-size:22px}
/* Responsive */
@media(max-width:900px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .testimonials-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .container{padding:16px}
  .header-inner{gap:12px}
  .menu-toggle{display:block}
  .nav{position:fixed;top:66px;right:0;transform:translateX(110%);background:linear-gradient(180deg,rgba(255,250,244,0.98),white);width:70%;height:calc(100% - 66px);padding:20px;box-shadow:-8px 0 30px rgba(107,46,111,0.06);transition:transform .28s ease;border-radius:12px 0 0 12px}
  .nav.open{transform:translateX(0)}
  .nav a{display:block;margin:12px 0}
  .hero{padding:44px 0}
  .gallery-img{height:140px}
  .form-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:700px){
  .testimonials-grid{grid-template-columns:1fr}
}
@media(max-width:420px){
  .testimonials-grid blockquote{flex-direction:column}
  .testimonial-inner{margin-left:0;margin-top:10px}
}
/* subtle animations */
.card, .gallery-img, .testimonials-grid blockquote{transition:transform .28s ease,box-shadow .28s ease}
.card:hover, .gallery-img:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(107,46,111,0.09)}
