*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --line:#e2e8f0;
  --blue:#0ea5e9;
  --indigo:#4f46e5;
  --violet:#7c3aed;
  --teal:#14b8a6;
  --amber:#f59e0b;
}
body{
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 45%,#ffffff 100%);
  color:var(--text);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1120px,92%);margin:0 auto}

.main-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.9);
  backdrop-filter: blur(8px);
  border-bottom:1px solid var(--line);
}
.header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0}
.brand-tag{display:inline-block;background:linear-gradient(90deg,#dbeafe,#cffafe);color:#0f172a;border:1px solid #bfdbfe;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;margin-bottom:.35rem}
.brand h1{font-size:clamp(1.4rem,2vw + 1rem,2.1rem);letter-spacing:.04em}
.brand-subtitle{color:var(--muted);max-width:40rem;font-size:.93rem}

.main-nav{display:flex;flex-wrap:wrap;gap:.45rem}
.main-nav a{padding:.45rem .75rem;border-radius:999px;border:1px solid transparent;font-size:.9rem;transition:.2s ease}
.main-nav a:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;transform:translateY(-1px)}

.hero{padding:2.8rem 0 1.8rem;background:radial-gradient(circle at 10% 0%,#e0f2fe 0%,transparent 40%),radial-gradient(circle at 100% 30%,#ede9fe 0%,transparent 36%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.3fr);gap:1.5rem;align-items:center}
.hero-text h2{font-size:clamp(1.7rem,2vw + 1rem,2.5rem);margin-bottom:.7rem}
.hero-text p{color:var(--muted);margin-bottom:1rem}
.pill-list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}
.pill-list li{border:1px solid #bfdbfe;background:#fff;padding:.35rem .7rem;border-radius:999px;font-size:.85rem;box-shadow:0 4px 14px rgba(37,99,235,.08)}

.hero-panel{display:flex;flex-direction:column;gap:1rem}
.info-block{border-radius:1rem;padding:1rem;background:linear-gradient(135deg,#eff6ff,#ecfeff);border:1px solid #bfdbfe;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.info-block.small{background:linear-gradient(135deg,#1e293b,#0f172a);color:#f8fafc;border-color:#1e293b}
.info-block h3,.info-block h4{margin-bottom:.35rem}

.hero-image-strip{margin-top:1.2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.hero-image-strip img{height:180px;object-fit:cover;border-radius:1rem;border:1px solid #dbeafe;box-shadow:0 10px 24px rgba(15,23,42,.08)}

.section{padding:2.7rem 0}
.section-alt{background:linear-gradient(180deg,#f8fafc,#f9fbff)}
.section h2{font-size:1.55rem;margin-bottom:.8rem}
.section p{color:var(--muted)}

.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:.8rem}
.card{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1rem;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.card h3{margin-bottom:.35rem}
.card p,.card li{color:var(--muted);font-size:.92rem}
.service-image{margin-top:.8rem;border-radius:.9rem;overflow:hidden;border:1px solid #dbeafe}
.service-image img{height:190px;width:100%;object-fit:cover;transition:transform .35s ease}
.card:hover .service-image img{transform:scale(1.03)}

.accent-blue{box-shadow:inset 0 4px 0 #0ea5e9,0 8px 22px rgba(14,165,233,.10)}
.accent-violet{box-shadow:inset 0 4px 0 #7c3aed,0 8px 22px rgba(124,58,237,.10)}
.accent-green{box-shadow:inset 0 4px 0 #10b981,0 8px 22px rgba(16,185,129,.10)}
.accent-cyan{box-shadow:inset 0 4px 0 #06b6d4,0 8px 22px rgba(6,182,212,.10)}
.accent-orange{box-shadow:inset 0 4px 0 #f97316,0 8px 22px rgba(249,115,22,.10)}
.accent-slate{box-shadow:inset 0 4px 0 #334155,0 8px 22px rgba(51,65,85,.10)}
.accent-gold{box-shadow:inset 0 4px 0 #f59e0b,0 8px 22px rgba(245,158,11,.10)}
.accent-indigo{box-shadow:inset 0 4px 0 #4f46e5,0 8px 22px rgba(79,70,229,.10)}

.split-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.2rem;align-items:center}
.split-grid.reverse{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
.media-card{padding:.55rem;background:linear-gradient(135deg,#fff,#eff6ff)}
.media-card img{width:100%;height:100%;max-height:340px;object-fit:cover;border-radius:.8rem}
.check-list{margin-top:.6rem;padding-left:1rem}
.check-list li{margin-bottom:.2rem;color:var(--muted)}

.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
.gallery-grid img{width:100%;height:220px;object-fit:cover;border-radius:1rem;border:1px solid #dbeafe;box-shadow:0 10px 24px rgba(15,23,42,.08)}

.contact-section{border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:1rem}
.contact-list{list-style:none;margin-top:.5rem}
.contact-list li{margin-bottom:.22rem}
.contact-list a{text-decoration:underline;text-underline-offset:2px}
.contact-note{background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#f8fafc;border-color:#1e3a8a}
.contact-note p{color:#dbeafe}
.main-footer{padding:1.2rem 0 1.5rem;border-top:1px solid var(--line);background:#fff}
.main-footer p{text-align:center;color:#64748b;font-size:.85rem}

.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}

@media (max-width:900px){
  .header-content{flex-direction:column;align-items:flex-start}
  .hero-grid,.split-grid,.split-grid.reverse,.contact-grid{grid-template-columns:1fr}
  .hero-image-strip{grid-template-columns:1fr}
  .hero-image-strip img{height:210px}
}
@media (max-width:640px){
  .main-nav{overflow:auto;padding-bottom:.2rem}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-grid img{height:200px}
}


/* SVG fallback icons (cuando no hay foto específica) */
.service-svg{width:100%;height:220px;display:block;opacity:.9}
.service-image{display:flex;align-items:center;justify-content:center}
.service-image img{width:100%;height:220px;object-fit:cover;border-radius:14px}
