*{box-sizing:border-box}html{scroll-behavior:smooth}
:root{ --ink:#0f172a; --muted:#475569; --paper:#ffffff; --soft:#f8fafc;
  --brand:#1d4ed8; --ring:rgba(29,78,216,.35) }
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--ink);background:var(--paper)}
.container{width:min(1150px,92%);margin-inline:auto}
.topbar{position:sticky;top:0;background:rgba(0,0,0,.7);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid #0b1220;z-index:10;color:#fff}
.nav{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:10px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.brand .logo{border-radius:6px;display:block}
.menu a{margin:0 10px;text-decoration:none;color:#cbd5e1}
.menu a:hover{color:#fff}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;text-decoration:none;border:1px solid #1f2937;cursor:pointer}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#f8fafc;font-weight:700}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.btn.whatsapp{background:var(--brand);border-color:var(--brand);color:#f8fafc;font-weight:700}
.btn:focus{outline:3px solid var(--ring);outline-offset:3px}
.btn .wa-ico{width:20px;height:20px;display:inline-block}

.hero{position:relative;min-height:72vh;display:flex;align-items:center;justify-content:center}
.hero .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.6),rgba(0,0,0,.55))}
.hero .hero-content{position:relative;text-align:center;color:#fff;padding:64px 0}
.hero h1{font-size:46px;line-height:1.1;margin:0 0 12px}
.hero .lead{font-size:18px;opacity:.95}
.hero .cta-row{display:flex;gap:12px;justify-content:center;margin:18px 0}
.bullets{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin:12px 0 0;padding:0;list-style:none}
.bullets li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:8px 12px;border-radius:999px}

.section{padding:64px 0}
.section.alt{background:var(--soft)}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.card h3{margin:6px 0 8px}

.city-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;margin:16px 0;list-style:none}
.note{color:#64748b}

.flow{max-width:780px}
.steps{display:grid;gap:12px;font-size:18px}
.cta-center{text-align:center;margin-top:18px}

.gallery-section{background:linear-gradient(180deg,#ffffff, #f1f5f9)}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gallery img{width:100%;height:220px;object-fit:cover;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 2px 10px rgba(0,0,0,.05)}

.contact-section{position:relative;background:#0b1220;color:#fff}
.contact-section .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,78,216,.15),rgba(0,0,0,.65))}
.contact-section .contact{position:relative}
.contact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.link{color:#bbdefb;text-decoration:underline;text-underline-offset:2px}

.footer{border-top:1px solid #0b1220;background:#0b1220;color:#cbd5e1;padding:24px 0}
.foot-grid{display:flex;justify-content:space-between;align-items:center;gap:10px}
.micro{color:#9aa7b3}

@media (max-width:960px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .city-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .menu{display:none}
  .hero{min-height:65vh}
}
@media (max-width:560px){
  .cards,.city-list,.gallery,.contact-grid{grid-template-columns:1fr}
  .hero h1{font-size:34px}
}
