:root{--navy:#082b48;--blue:#0878d4;--orange:#fa751e;--ink:#14283a;--muted:#526376;--soft:#f1f6fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:white}a{text-decoration:none;color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.header{background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 14px #09243b14}.nav{display:flex;align-items:center;gap:28px;min-height:90px}.brand img{width:185px;height:75px;object-fit:contain;object-position:left center}.menu{display:flex;gap:26px;margin-left:auto;font-size:14px;font-weight:700}.menu a:hover,.text-link{color:var(--blue)}.call{background:var(--navy);color:white;border-radius:7px;padding:13px 18px;font-weight:750;white-space:nowrap}.menu-toggle{display:none}.hero{background:var(--navy);color:white}.hero-inner{min-height:520px;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.hero-copy{padding:68px 34px 55px 0;align-self:center}.eyebrow,.kicker{font-size:12px;letter-spacing:2.3px;font-weight:850}.eyebrow:before,.kicker:before{content:'';display:inline-block;background:var(--orange);height:3px;width:32px;vertical-align:middle;margin-right:12px}.hero h1{font-size:clamp(40px,4.7vw,66px);line-height:1.09;letter-spacing:-2px;margin:20px 0}.hero h1 span{color:#27a4ff}.hero p{font-size:18px;max-width:550px}.hero-photo{background:linear-gradient(90deg,var(--navy) 0%,transparent 22%),url('assets/portada.webp') center 25%/cover no-repeat;min-height:480px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:7px;font-weight:800;text-align:center}.primary{background:var(--orange);color:white}.primary:hover{background:#e65f0c}.outline{border:1px solid #c5d8e6;color:white}.outline:hover{background:#ffffff22}.qualities{display:flex;flex-wrap:wrap;gap:18px;color:#d9e8f2;font-size:13px}.section{padding:76px 0}.section-intro{margin-bottom:28px}.kicker{color:var(--blue)}h2{font-size:clamp(28px,3.1vw,40px);line-height:1.17;letter-spacing:-.9px;margin:13px 0}h3{margin:10px 0 5px;font-size:20px}p{margin:8px 0 15px}.section-intro p,.service p,.steps p,.about p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service{border-radius:12px;overflow:hidden;box-shadow:0 6px 22px #183c5919;background:white;border:1px solid #e4eaf0}.service img{width:100%;height:158px;object-fit:cover;display:block}.service-body{padding:0 18px 20px}.symbol{display:grid;place-items:center;font-size:23px;color:white;background:var(--blue);width:46px;height:46px;border-radius:50%;margin-top:-24px;position:relative;border:3px solid white}.service:nth-child(2) .symbol{background:#e84036}.service:nth-child(3) .symbol{background:var(--orange)}.service:nth-child(4) .symbol{background:var(--navy)}.service p{font-size:14px}.soft{background:var(--soft)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.steps>div{background:white;padding:28px;border-radius:12px}.steps b{font-size:30px;color:var(--orange)}.about{display:grid;grid-template-columns:0.8fr 1.2fr;gap:55px;align-items:center}.about>img{width:100%;border-radius:14px;aspect-ratio:1.45;object-fit:cover}.text-link{font-weight:800}.contact{background:var(--navy);color:white;padding:60px 0}.contact-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.contact p{color:#dce8f2;max-width:620px}.contact .kicker{color:#66b9f5}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}footer{background:#061f34;color:#c8d7e3;font-size:12px;padding:22px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}@media(max-width:1000px){.menu{gap:12px}.nav{gap:12px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){.nav{min-height:70px;flex-wrap:wrap}.brand img{width:145px;height:60px}.menu-toggle{display:block;margin-left:auto;background:none;border:0;font-size:28px;color:var(--navy);cursor:pointer}.menu{display:none;order:4;flex-basis:100%;flex-direction:column;padding:10px 0 22px}.menu.open{display:flex}.top-call{font-size:12px;padding:9px}.hero-inner{display:flex;flex-direction:column-reverse}.hero-photo{min-height:300px;background:linear-gradient(0deg,var(--navy),transparent 32%),url('assets/portada.webp') center 22%/cover no-repeat}.hero-copy{padding:12px 0 45px}.hero h1{font-size:42px}.hero p{font-size:16px}.section{padding:55px 0}.steps,.about{grid-template-columns:1fr}.about{gap:25px}.contact-inner{display:block}.contact-actions{margin-top:20px}}@media(max-width:440px){.wrap{width:calc(100% - 28px)}.cards{grid-template-columns:1fr}.hero h1{font-size:37px}.top-call{display:none}.hero-photo{min-height:255px}.actions .btn{width:100%}}

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.header, .hero-inner { display: none; }
.hero-art { position: relative; }
.hero-art > img { display: block; width: 100%; height: auto; }
.hotspot { position: absolute; display: block; border-radius: 5px; }
.hotspot:hover { background: #ffffff22; }
.hotspot-logo { left: 9.5%; top: 1%; width: 16%; height: 11.5%; }
.hotspot-inicio { left: 41.7%; top: 3.6%; width: 3.6%; height: 6%; }
.hotspot-servicios { left: 45.8%; top: 3.6%; width: 4.9%; height: 6%; }
.hotspot-como { left: 51.2%; top: 3.6%; width: 8.2%; height: 6%; }
.hotspot-sobre { left: 60.4%; top: 3.6%; width: 4.8%; height: 6%; }
.hotspot-contacto { left: 65.7%; top: 3.6%; width: 5.1%; height: 6%; }
.hotspot-telefono { left: 72.9%; top: 2.3%; width: 11.9%; height: 8.6%; }
.hotspot-llamar { left: 6%; top: 59.3%; width: 17.4%; height: 9.8%; }
.hotspot-presupuesto { left: 24.4%; top: 59.3%; width: 15.3%; height: 9.8%; }
.contact-actions { max-width: 420px; }
.contact-actions .email-button { max-width: 100%; overflow-wrap: anywhere; font-size: 14px; }
@media (max-width: 1500px) {
  .header { display: block; }
  .hero-art { display: none; }
  .hero .hero-inner { display: grid; }
  .hero-photo { position: relative; overflow: hidden; background: var(--navy); }
  .hero-photo img { position: absolute; top: -14.92%; right: 0; width: auto; max-width: none; height: 114.92%; transform: translateX(8%); }
}
@media (max-width: 750px) {
  .hero .hero-inner { display: flex; flex-direction: column-reverse; }
  .hero-photo { min-height: 0; height: clamp(265px, 65vw, 390px); }
  .contact-actions .btn { flex: 1 1 180px; }
}
