/* Minimal Pro — Con‑Principio Legal (theme CSS) */
:root{
  --ink:#1f3f4a; --accent:#e3805a; --muted:#8aa0a8; --line:#e6ebed;
  --paper:#ffffff; --bg-alt:#f6f8f9; --radius:16px; --shadow:0 6px 24px rgba(0,0,0,.06);
}
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
.container{width:min(1140px,92%); margin-inline:auto}

/* Header */
.site-header{position:sticky; top:0; z-index:60; background:rgba(255,255,255,.9); backdrop-filter:saturate(130%) blur(8px); border-bottom:1px solid var(--line)}
.header__inner{display:flex; align-items:center; justify-content:space-between; padding:12px 0}
.brand{display:flex; align-items:center; gap:.7rem; color:var(--ink); font-weight:700; text-decoration:none}
.brand__logo{width:34px; height:34px}
.nav{display:flex; gap:20px; align-items:center}
.nav a{color:var(--ink); opacity:.9; text-decoration:none}
.nav a:hover{opacity:1}
.nav .btn{margin-left:6px}
.nav-toggle{display:none; flex-direction:column; gap:4px; background:transparent; border:0; cursor:pointer}
.nav-toggle span{width:26px;height:2px;background:var(--ink);display:block}
@media (max-width:900px){
  .nav{position:fixed; inset:60px 16px auto 16px; background:#fff; padding:16px; border:1px solid var(--line); border-radius:14px; display:none; flex-direction:column; box-shadow:var(--shadow)}
  .nav.show{display:flex} .nav-toggle{display:flex}
}

/* Hero */
.hero{padding:64px 0}
.hero__grid{display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center}
.hero__copy h1{font-size:clamp(2rem, 4.6vw, 3.1rem); line-height:1.1; margin:0 0 10px}
.hero__copy h1 em{font-style:normal; color:var(--accent)}
.hero__copy p{color:var(--muted); margin:0 0 18px}
.hero__cta{display:flex; gap:12px; flex-wrap:wrap}
.hero__meta{display:flex; flex-wrap:wrap; gap:10px 18px; margin:16px 0 0; padding:0; list-style:none; color:var(--muted)}
.hero__media img{border-radius:16px; width:100%; height:auto; object-fit:cover; box-shadow:var(--shadow)}
@media (max-width:960px){ .hero__grid{grid-template-columns:1fr} }

/* Strip */
.strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff}
.strip__inner{display:flex; gap:26px; flex-wrap:wrap; align-items:center; justify-content:center; padding:12px 0; color:var(--muted)}
.strip__item{display:flex; align-items:center; gap:10px; white-space:nowrap}

/* Sections */
.section{padding:56px 0; border-top:1px solid var(--line)} .section--alt{background:var(--bg-alt)}
h2{font-size:clamp(1.6rem,3.2vw,2.1rem); margin:0 0 8px}

/* Servicios */
.services{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:16px}
.services ul{margin:0; padding-left:18px} .services li{margin:6px 0}
@media (max-width:720px){ .services{grid-template-columns:1fr} }

/* KPIs */
.kpis{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:16px}
.kpi{border:1px solid var(--line); border-radius:12px; background:#fff; padding:16px; text-align:center}
.kpi strong{display:block; font-size:1.35rem; color:var(--ink)} .kpi span{color:var(--muted); font-size:.95rem}
@media (max-width:900px){ .kpis{grid-template-columns:repeat(2,1fr)} }

/* Diferenciales + Proceso */
.cards-slim{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:16px}
.cards-slim .card{border:1px solid var(--line); border-radius:14px; background:#fff; padding:18px}
.cards-slim .card h3{margin:0 0 6px; font-size:1.05rem} .cards-slim .card p{margin:0; color:var(--muted)}
@media (max-width:900px){ .cards-slim{grid-template-columns:1fr 1fr} } @media (max-width:560px){ .cards-slim{grid-template-columns:1fr} }
.process{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:18px}
.step{border:1px solid var(--line); border-radius:12px; background:#fff; padding:16px}
.step b{display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--accent); color:#111; margin-bottom:8px}
@media (max-width:900px){ .process{grid-template-columns:repeat(2,1fr)} } @media (max-width:560px){ .process{grid-template-columns:1fr} }

/* Equipo */
.team{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:16px}
.member{border:1px solid var(--line); border-radius:16px; padding:16px; background:#fff; box-shadow:var(--shadow)}
.member img{width:100%; aspect-ratio: 4/3; object-fit:cover; border-radius:12px; margin-bottom:12px}
.member h3{margin:0 0 4px; font-size:1.05rem} .member p{margin:0; color:var(--muted)}
@media (max-width:900px){ .team{grid-template-columns:1fr 1fr} } @media (max-width:560px){ .team{grid-template-columns:1fr} }

/* FAQ */
.faq{border-top:1px solid var(--line); margin-top:12px}
.faq details{border-bottom:1px solid var(--line); padding:12px 0}
.faq summary{cursor:pointer; font-weight:600; list-style:none} .faq summary::-webkit-details-marker{display:none}
.faq p{color:var(--muted); margin:8px 0 0}

/* Contacto */
.contact__grid{display:grid; grid-template-columns:1fr 1fr; gap:26px; align-items:start}
.list{list-style:none; padding:0; margin:12px 0 0} .list li{margin:6px 0}
.contact{display:grid; gap:10px}
.contact input,.contact textarea{width:100%; background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:12px; padding:12px 14px; font:inherit; outline:0}
.contact input:focus,.contact textarea:focus{border-color:var(--accent); box-shadow:0 0 0 3px rgba(227,128,90,.18)}
@media (max-width:900px){ .contact__grid{grid-template-columns:1fr} }

/* Buttons */
.btn{--bg:var(--accent); --fg:#111; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 16px; border-radius:12px; background:var(--bg); color:var(--fg); border:1px solid transparent; font-weight:700; text-decoration:none; transition:transform .15s ease, filter .15s ease}
.btn:hover{transform:translateY(-1px); filter:saturate(110%)} .btn--lg{padding:12px 18px}
.btn--outline{background:transparent; color:var(--ink); border-color:var(--line)} .btn--ghost{background:transparent; color:var(--ink); border-color:var(--line)}

/* CTA + Footer */
.cta-banner{background:#1f3f4a; color:#fff; border-radius:16px; padding:22px; display:flex; align-items:center; justify-content:space-between; gap:14px; box-shadow:var(--shadow)}
.cta-banner h3{margin:0; font-size:1.25rem} .cta-actions{display:flex; gap:10px; flex-wrap:wrap}
.footer{border-top:1px solid var(--line); padding:20px 0; background:#fff}
.footer__inner{display:flex; align-items:center; justify-content:space-between; gap:16px} .footnav{display:flex; gap:16px}
@media (max-width:700px){ .footer__inner{flex-direction:column} }

/* Floating WhatsApp */
.wapp-float{position:fixed; right:16px; bottom:16px; width:54px; height:54px; border-radius:50%; background:#25D366; display:grid; place-items:center; color:#fff; font-weight:900; box-shadow:0 8px 22px rgba(0,0,0,.2); z-index:70}

/* Reveal */
@media (prefers-reduced-motion:no-preference){
  [data-reveal]{opacity:0; transform:translateY(8px); transition:all .5s ease}
  .reveal--in{opacity:1; transform:none}
}
