:root{
  --white:#ffffff;
  --ink:#102033;
  --muted:#607084;
  --blue:#0b3a63;
  --blue2:#0d5b8d;
  --green:#2f936f;
  --gold:#d9a63a;
  --soft:#f4f8fb;
  --line:#e0e8ef;
  --shadow:0 24px 65px rgba(16,32,51,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;background:#fff;color:var(--ink);line-height:1.6;overflow-x:hidden}
a{text-decoration:none;color:inherit} img{max-width:100%;display:block}.container{width:min(1160px,92%);margin:auto}.section{padding:92px 0}
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{height:78px;width:min(1160px,92%);margin:auto;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center}.brand-icon{width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,var(--blue),var(--green));display:grid;place-items:center;color:#fff;font-size:26px;font-weight:900;box-shadow:0 12px 26px rgba(11,58,99,.23)}.brand b{display:block;font-size:20px}.brand small{display:block;color:var(--muted);font-size:12px;line-height:1}.menu{display:flex;gap:24px;align-items:center;font-weight:800;color:#33475c}.menu a:hover{color:var(--blue2)}.btn-menu{background:var(--blue);color:#fff!important;padding:11px 18px;border-radius:999px}.menu-btn{display:none;border:0;background:var(--soft);border-radius:12px;font-size:27px;padding:8px 12px;color:var(--ink)}
.hero{position:relative;min-height:720px;display:flex;align-items:center;background:radial-gradient(circle at 8% 15%,#eaf6ff 0,#fff 34%,#fff 100%);overflow:hidden}.shape{position:absolute;border-radius:999px;filter:blur(3px);opacity:.6}.shape-a{width:380px;height:380px;background:#dff4ec;right:-130px;top:110px}.shape-b{width:230px;height:230px;background:#edf5ff;left:-80px;bottom:90px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center;position:relative}.tag{display:inline-flex;background:#eef8f4;color:var(--green);border-radius:999px;padding:8px 14px;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:900;margin-bottom:16px}.tag.light{background:rgba(255,255,255,.13);color:#fff}.hero h1{font-size:clamp(48px,7vw,88px);line-height:.94;letter-spacing:-3px;margin-bottom:24px}.hero h1 span{display:block;color:var(--blue)}.lead{font-size:21px;color:var(--muted);max-width:670px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:15px 24px;border-radius:999px;font-weight:900;border:1px solid transparent;transition:.25s}.btn:hover{transform:translateY(-3px)}.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 14px 30px rgba(11,58,99,.25)}.secondary{background:#fff;color:var(--blue);border-color:var(--line);box-shadow:0 10px 25px rgba(16,32,51,.08)}.white{background:#fff;color:var(--blue);box-shadow:0 14px 30px rgba(0,0,0,.16)}.info-row{display:grid;grid-template-columns:.8fr 1.3fr;gap:14px;margin-top:34px}.info-row div{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 26px rgba(16,32,51,.06)}.info-row strong{display:block;color:var(--blue);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.info-row span{display:block;color:var(--muted);font-size:14px}.hero-card{position:relative}.photo-frame{background:#fff;border:1px solid var(--line);border-radius:30px;padding:12px;box-shadow:var(--shadow);transform:rotate(1.2deg)}.photo-frame img{border-radius:22px;width:100%;height:auto;object-fit:contain}.note{position:absolute;left:-28px;bottom:32px;background:#fff;border-left:6px solid var(--gold);border-radius:22px;padding:18px 20px;box-shadow:var(--shadow);max-width:290px}.note b,.note span{display:block}.note span{color:var(--muted);font-size:14px;margin-top:4px}
.intro{background:var(--soft)}.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}.section-title h2,.center h2,.story-text h2,.location-card h2,.why-box h2{font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-2px}.intro-text{font-size:20px;color:#34485f}.quote{margin-top:22px;background:#fff;border-left:6px solid var(--green);border-radius:22px;padding:22px;font-weight:900;color:var(--blue);box-shadow:0 14px 34px rgba(16,32,51,.08)}.center{text-align:center;max-width:780px;margin:0 auto 46px}.center p{color:var(--muted);font-size:18px}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:0 14px 34px rgba(16,32,51,.07);position:relative;overflow:hidden;transition:.25s}.card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--blue),var(--green),var(--gold))}.card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.card span{width:50px;height:50px;border-radius:16px;background:var(--soft);display:grid;place-items:center;color:var(--blue);font-size:24px;margin-bottom:16px}.card h3{font-size:21px;margin-bottom:8px}.card p{color:var(--muted)}
.story{background:linear-gradient(180deg,#fff,var(--soft))}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.story-image{background:#fff;border:1px solid var(--line);border-radius:30px;padding:14px;box-shadow:var(--shadow)}.story-image img{border-radius:22px;width:100%;height:auto;object-fit:contain}.story-text p{font-size:19px;color:var(--muted);margin-top:20px}.highlight{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 14px 34px rgba(16,32,51,.08)}.highlight b{display:block;font-size:24px;color:var(--blue)}.highlight span{color:var(--muted)}.why{background:var(--blue);color:#fff;position:relative;overflow:hidden}.why:before{content:"";position:absolute;width:420px;height:420px;border-radius:999px;background:rgba(255,255,255,.08);right:-120px;top:-160px}.why-box{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px}.why-box p{font-size:19px;color:rgba(255,255,255,.84);max-width:780px;margin-top:18px}.location-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px}.location-card,.map-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:36px;box-shadow:0 14px 34px rgba(16,32,51,.07)}.location-card p{color:var(--muted);font-size:18px;margin-top:12px}.phone{font-size:34px!important;color:var(--blue)!important;font-weight:900}.compact{margin-top:24px}.map-card{min-height:360px;background:linear-gradient(135deg,#eef8ff,#f8fbf9);display:grid;place-items:center;text-align:center;color:var(--blue)}.pin{width:86px;height:86px;border-radius:999px;background:#fff;display:grid;place-items:center;font-size:42px;color:var(--green);box-shadow:0 12px 30px rgba(16,32,51,.11)}.map-card h3{font-size:30px}.map-card p{color:var(--muted);font-size:18px}.footer{background:#081c30;color:#fff;padding:34px 0}.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer span{display:block;color:rgba(255,255,255,.72)}.whatsapp{position:fixed;right:22px;bottom:22px;width:62px;height:62px;border-radius:999px;background:#25d366;color:#fff;display:grid;place-items:center;font-size:30px;font-weight:900;box-shadow:0 14px 35px rgba(0,0,0,.25);z-index:150}
/* Importante: el contenido queda visible aunque JavaScript no cargue en Cloudflare. */
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.js .reveal.show{opacity:1;transform:translateY(0)}.js .delay{transition-delay:.15s}
@media(max-width:980px){.hero-grid,.intro-grid,.story-grid,.location-grid{grid-template-columns:1fr}.hero{min-height:auto;padding:70px 0}.services{grid-template-columns:repeat(2,1fr)}.info-row{grid-template-columns:1fr}.note{position:relative;left:auto;bottom:auto;margin:16px 0 0}.why-box{flex-direction:column;align-items:flex-start}.footer-grid{flex-direction:column;align-items:flex-start}.menu-btn{display:block}.menu{display:none;position:absolute;top:78px;left:4%;right:4%;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow);flex-direction:column}.menu.open{display:flex}}
@media(max-width:620px){.section{padding:64px 0}.hero h1{letter-spacing:-1.5px}.services{grid-template-columns:1fr}.actions .btn{width:100%}.brand small{display:none}.phone{font-size:26px!important}.nav{height:70px}.menu{top:70px}}
