
:root{
  --ink:#0F172A;
  --muted:#334155;
  --bg:#F8FAFC;
  --card:#FFFFFF;
  --primary:#2563EB;
  --accent:#22C55E;
  --amber:#F59E0B;
  --radius:16px;
  --shadow:0 10px 30px rgba(2,6,23,0.08);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, 'Noto Sans Malayalam', sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}
img{max-width:100%; display:block}
.container{width:min(1200px, 92%); margin-inline:auto}

.site-header{
  position:sticky; top:0; z-index:50; background:rgba(248,250,252,0.8); backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid rgba(15,23,42,0.06);
}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; padding:14px 0;}
.logo{font-family:Poppins, Inter, sans-serif; font-weight:700; letter-spacing:0.2px;}
.logo span{color:var(--primary)}
.nav a{margin-left:18px; text-decoration:none; color:var(--muted); font-weight:500}
.nav a:hover{color:var(--ink)}
.menu-toggle{display:none; background:none; border:0; padding:8px; cursor:pointer}
.menu-toggle span{display:block; width:24px; height:2px; background:var(--ink); margin:5px 0}

.btn{display:inline-block; padding:12px 18px; border-radius:12px; text-decoration:none; font-weight:600; transition:transform .1s ease, box-shadow .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--primary); color:#fff; box-shadow:var(--shadow)}
.btn-outline{border:2px solid var(--ink); color:var(--ink)}

.hero{padding:72px 0 32px; background:
 radial-gradient(1400px 600px at 10% 10%, #e8f0ff 0%, rgba(232,240,255,0) 60%),
 radial-gradient(1000px 600px at 90% 10%, #e7fff2 0%, rgba(231,255,242,0) 55%);}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center}
.hero h1{font-family:Poppins, Inter, sans-serif; font-size:clamp(32px, 6vw, 48px); line-height:1.1; margin:0 0 12px}
.hero .sub{color:var(--muted); font-size:clamp(15px, 2.6vw, 18px); margin:0 0 16px}
.cta-row{display:flex; gap:12px; flex-wrap:wrap; margin:16px 0 8px}
.quick-points{display:flex; gap:16px; padding:0; margin:10px 0 0; list-style:none; color:var(--muted); flex-wrap:wrap}
.hero-visual{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); background:#fff}

.section{padding:64px 0}
.section.alt{background:#fff}
.section-title{font-family:Poppins, Inter, sans-serif; font-size:clamp(24px,4.4vw,34px); margin:0 0 6px}
.section-sub{color:var(--muted); margin:0 0 24px}

.cards{display:grid; grid-template-columns:repeat(6,1fr); gap:16px}
.card{background:var(--card); padding:20px; border-radius:14px; box-shadow:var(--shadow)}
.card .icon{font-size:28px}
.card h3{margin:6px 0 6px; font-size:18px}

.process{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:22px}
.process .step{background:linear-gradient(180deg, #fff, #f7fbff); border:1px solid rgba(15,23,42,.06); padding:14px; border-radius:12px; font-weight:600; box-shadow:var(--shadow)}
.process .step span{background:var(--amber); color:#111; border-radius:999px; padding:4px 9px; margin-right:8px}

.featured-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.feature{position:relative; display:block; border-radius:16px; overflow:hidden; box-shadow:var(--shadow); background:#000}
.feature img{width:100%; height:240px; object-fit:cover; opacity:.88}
.feature-caption{position:absolute; inset:auto 0 0 0; padding:16px; background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.55)); color:#fff}

.why-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:12px}
.why{background:#fff; border:1px solid rgba(15,23,42,.06); padding:12px 14px; border-radius:12px; display:flex; align-items:center; gap:10px}

.gallery-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:10px}
.gallery-grid a{display:block; border-radius:12px; overflow:hidden; box-shadow:var(--shadow)}
.gallery-grid img{height:160px; width:100%; object-fit:cover}

.faq-list details{background:#fff; border-radius:12px; padding:14px 16px; margin:10px 0; border:1px solid rgba(15,23,42,.06)}
.faq-list summary{cursor:pointer; font-weight:700}

.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px}
.contact-card, .map-card{background:#fff; border-radius:16px; box-shadow:var(--shadow); padding:20px}
.map-card iframe{width:100%; height:360px; border:0; border-radius:12px}
.link{color:var(--primary); text-decoration:none}

.site-footer{padding:28px 0; border-top:1px solid rgba(15,23,42,.06); background:#fff}
.footer-grid{display:grid; grid-template-columns:1.2fr .8fr; align-items:center}
.logo.foot{font-size:20px}
.tiny{font-size:12px; color:var(--muted)}

.fab-whatsapp{
  position:fixed; right:16px; bottom:16px; width:56px; height:56px;
  background:linear-gradient(135deg, #25D366, #1ebe57);
  border-radius:50%; box-shadow:var(--shadow);
}
.fab-whatsapp::after{
  content:'📱'; display:flex; align-items:center; justify-content:center; width:100%; height:100%; font-size:26px;
}

/* Responsive */
@media (max-width: 1100px){
  .cards{grid-template-columns:repeat(3,1fr)}
  .why-grid{grid-template-columns:repeat(3,1fr)}
  .gallery-grid{grid-template-columns:repeat(4,1fr)}
  .featured-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 780px){
  .hero-grid{grid-template-columns:1fr; gap:24px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .featured-grid{grid-template-columns:1fr}
  .process{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .nav{display:none}
  .menu-toggle{display:block}
}
