/* Reset & base */
*{box-sizing:border-box}
html,body{height:100%}
body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial;line-height:1.5;color:#123;padding:0;margin:0;background:#fff}
img{max-width:100%;display:block}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}

/* Header */
.site-header{position:fixed;left:0;right:0;top:0;z-index:120;background:rgba(255,255,255,0.9);backdrop-filter:blur(6px);border-bottom:1px solid rgba(16,24,40,0.04)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 20px}
.brand{font-weight:700;color:#0b2545;text-decoration:none;font-size:1.15rem}
.main-nav ul{display:flex;gap:18px;align-items:center;list-style:none;margin:0;padding:0}
.main-nav a{color:#0b2545;text-decoration:none;padding:6px 8px;border-radius:6px;font-weight:600}
.main-nav a:hover{background:linear-gradient(90deg,#eef2ff,#fff);color:#0b3aff}
.mobile-toggle{display:none;background:transparent;border:0;color:#0b2545;font-size:1.05rem}

/* HERO */
.hero{position:relative;min-height:72vh;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,6,23,0.35),rgba(2,6,23,0.45))}
.hero-content{position:relative;color:#fff;padding:80px 20px}
.hero h1{font-size:2.4rem;margin:0 0 10px;letter-spacing:-0.01em}
.hero .lead{opacity:0.95;margin-bottom:18px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:10px 18px;border-radius:999px;text-decoration:none;font-weight:700}
.btn.primary{background:linear-gradient(90deg,#0b3aff,#6b5cff);color:#fff}
.btn.ghost{background:transparent;border:2px solid rgba(255,255,255,0.14);color:#fff}
.btn.whatsapp{background:linear-gradient(90deg,#25d366,#128c7e);color:#fff}

/* Sections */
.section{padding:72px 0}
.section-title{font-size:1.6rem;margin:0 0 6px;color:#0b2545}
.section-sub{color:#475569;margin-bottom:18px}

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.card{background:#fff;border-radius:12px;padding:22px;box-shadow:0 10px 25px rgba(13,38,67,0.06);text-align:left}
.card-icon{width:64px;height:64px;border-radius:12px;background:linear-gradient(90deg,#eef2ff,#f5f0ff);display:flex;align-items:center;justify-content:center;font-size:22px;color:#0b3aff;margin-bottom:12px}
.card h3{margin:6px 0 10px}
.card p{color:#475569;margin-bottom:12px}
.card-cta{text-decoration:none;color:#0b3aff;font-weight:700}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.gallery-item{border-radius:12px;overflow:hidden;cursor:zoom-in;background:#000}
.gallery-item figcaption{padding:10px 12px;background:linear-gradient(180deg,rgba(0,0,0,0.5),transparent);color:#fff;font-weight:600}

/* About */
.about-grid{display:grid;grid-template-columns:320px 1fr;gap:28px;align-items:center}
.about-media img{border-radius:12px;box-shadow:0 14px 40px rgba(2,6,23,0.12)}
.about-list{margin:12px 0 18px;padding-left:18px;color:#0b2545}
.about-list li{margin-bottom:10px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:360px 1fr;gap:28px;align-items:start}
.contact-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 12px 32px rgba(2,6,23,0.06)}
.contact-list{list-style:none;padding:0;margin:12px 0}
.contact-list li{margin:10px 0;color:#0b2545}
.iframe-wrapper{border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(2,6,23,0.06)}

/* Footer */
.site-footer{border-top:1px solid rgba(2,6,23,0.04);padding:18px 0;background:#fff}
.footer-grid{display:flex;justify-content:space-between;align-items:center}
.muted{color:#64748b;font-size:0.95rem}
.social a{color:#0b2545;margin-left:12px}

/* Responsive */
@media (max-width:900px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .about-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .main-nav{display:none}
  .mobile-toggle{display:block}
  .services-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  .hero h1{font-size:1.6rem}
  .wrap{padding:0 16px}
}

/* Small accessibility helpers */
.sr-only{position:absolute;left:-9999px}