:root{
  --blue:#071b34;
  --blue2:#0d2b4f;
  --orange:#f37021;
  --gold:#ffb12b;
  --white:#ffffff;
  --soft:#f4f7fb;
  --text:#243142;
  --muted:#647287;
  --shadow:0 22px 60px rgba(6, 21, 42, .16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Open Sans',Arial,sans-serif;color:var(--text);background:#fff;line-height:1.6}
a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.center{text-align:center}
.topbar{position:fixed;top:0;left:0;right:0;z-index:40;height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:rgba(7,27,52,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.12)}
.brand{font-family:Montserrat,sans-serif;color:#fff;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.brand span{color:var(--gold)}nav{display:flex;gap:24px}nav a{color:#fff;font-weight:800;font-size:.9rem;opacity:.9}nav a:hover{color:var(--gold)}
.hero{min-height:100vh;background:#020912;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:96px 5% 34px;gap:24px;overflow:hidden}.hero-image{width:min(1160px,96vw);height:clamp(420px,72vh,760px);background:url('assets/portada.png') center center/contain no-repeat;filter:drop-shadow(0 30px 50px rgba(0,0,0,.34));animation:softEntrance 1.1s ease both}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:0;z-index:3}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font-family:Montserrat,sans-serif;font-weight:900;letter-spacing:.01em;transition:.25s;box-shadow:var(--shadow)}.btn.primary{background:linear-gradient(135deg,var(--orange),var(--gold));color:#111}.btn.secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(8px)}.btn.outline{background:#fff;color:var(--blue);border:1px solid #dce4ef}.btn.small{min-height:46px;padding:0 22px}.btn:hover{transform:translateY(-3px);filter:saturate(1.12)}
.section{padding:94px 0}.section-kicker{font-family:Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.16em;color:var(--orange);font-weight:900;font-size:.82rem;margin:0 0 12px}.section h1,.section h2{font-family:Montserrat,sans-serif;color:var(--blue);font-size:clamp(2rem,4.4vw,3.8rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 24px}.grid-2{display:grid;grid-template-columns:1fr 1.18fr;gap:54px;align-items:center}.intro{background:linear-gradient(180deg,#fff,var(--soft))}.text-card,.contact-card{background:#fff;border:1px solid #e6edf6;border-radius:30px;padding:34px;box-shadow:var(--shadow)}.text-card p{margin-top:0}.value{background:var(--soft)}.cards{display:grid;gap:22px;margin-top:36px}.four{grid-template-columns:repeat(4,1fr)}.cards article{background:#fff;border:1px solid #e6edf6;border-radius:26px;padding:28px;box-shadow:0 16px 40px rgba(5,23,45,.08);transition:.25s}.cards article:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.cards span{font-family:Montserrat,sans-serif;font-weight:900;color:var(--orange);font-size:1.75rem}.cards h3{font-family:Montserrat,sans-serif;color:var(--blue);font-size:1.12rem;line-height:1.25;margin:10px 0 8px}.cards p{color:var(--muted);margin:0}.service-grid{grid-template-columns:repeat(4,1fr)}.services{background:linear-gradient(180deg,#fff,#f8fbff)}
.dark{background:linear-gradient(135deg,#071b34,#020912);color:#fff;position:relative;overflow:hidden}.dark:before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 82% 20%,rgba(243,112,33,.22),transparent 34%),radial-gradient(circle at 20% 80%,rgba(59,130,246,.18),transparent 35%)}.dark .container{position:relative}.dark h2,.dark p{color:#fff}.dark .section-kicker{color:var(--gold)}.big-text{font-size:1.55rem;font-weight:800;line-height:1.35;margin-top:0}.map{background:linear-gradient(135deg,#071b34,#0b274d);color:#fff;padding:74px 0}.map-panel{text-align:center;max-width:820px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:34px;padding:42px 34px;box-shadow:var(--shadow)}.map h2{color:#fff;font-size:clamp(2.2rem,5vw,4rem);margin-bottom:12px}.map p{color:#edf5ff;max-width:620px;margin:0 auto 26px}.map .section-kicker{color:var(--gold)}.cta{background:#fff}.contact-card{max-width:920px;text-align:center}.contact-actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin:24px 0}.contact-data{display:flex;gap:18px 30px;flex-wrap:wrap;justify-content:center;color:var(--muted)}.contact-data p{margin:0}footer{padding:30px 5%;background:#020912;color:#fff;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.whatsapp{position:fixed;right:22px;bottom:22px;z-index:80;background:#20c35a;color:#fff;font-weight:900;border-radius:999px;padding:15px 20px;box-shadow:0 12px 34px rgba(0,0,0,.28)}.reveal{opacity:0;transform:translateY(26px);transition:1s ease}.reveal.visible{opacity:1;transform:none}@keyframes softEntrance{from{opacity:0;transform:scale(.985) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:980px){nav{display:none}.grid-2,.four,.service-grid{grid-template-columns:1fr}.hero{min-height:88vh;padding-top:82px}.hero-image{height:clamp(310px,60vh,610px);width:100%}.section{padding:72px 0}.section h1,.section h2{text-align:left}.center{text-align:center!important}.contact-data{display:block}.contact-data p{margin:8px 0}footer{text-align:center;justify-content:center}.whatsapp{right:14px;bottom:14px;padding:13px 16px}.btn{min-height:48px;padding:0 20px;font-size:.88rem}}
