*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;color:#11233f;line-height:1.6}a{text-decoration:none;color:inherit}.wrap{width:min(1160px,calc(100% - 32px));margin:auto}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 max(16px,calc((100% - 1160px)/2));position:sticky;top:0;background:#fff;z-index:10;box-shadow:0 3px 18px #092b5715}header img{width:340px;height:80px;object-fit:contain;transition:transform .25s ease,filter .25s ease}header img:hover{transform:scale(1.025);filter:drop-shadow(0 5px 10px #0a4d7b30)}nav{display:flex;gap:25px;align-items:center;font-weight:700}.navbtn,.primary,form button{background:linear-gradient(135deg,#46b51b,#248b0e);color:#fff;padding:14px 22px;border-radius:999px}.hero{min-height:730px;display:grid;align-items:center;color:#fff;background:linear-gradient(110deg,#031b49e8,#064f9bb8),url('assets/trabajos/trabajo-01.webp') center/cover}.hero-grid{display:grid;grid-template-columns:minmax(0,820px);gap:0;align-items:center}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.kicker{font-size:12px;letter-spacing:2px;font-weight:800;color:#a7ef88}.blue{color:#278e13}.hero h1,.section h2,.showcase h2,.dark h2,.contact h2{font-size:clamp(40px,6vw,76px);line-height:1.03;margin:12px 0 20px}.hero h1 em{font-style:normal;color:#a7ef88}.hero p{font-size:19px;max-width:700px}.hero-copy{padding:34px 0;text-shadow:0 2px 18px #00183d99}.actions{display:flex;gap:14px;margin-top:30px}.btn{padding:15px 22px;border-radius:999px;font-weight:800}.ghost{border:1px solid #ffffff88}.section,.showcase,.dark,.contact{padding:105px 0}.section>div>h2{max-width:760px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.cards article{padding:28px;border:1px solid #dce7ef;border-radius:22px;box-shadow:0 12px 35px #143c6e0c}.cards b{font-size:30px}.cards p,.showcase p{color:#617085}.showcase{background:#f2f8fc}.showcase-photo{margin:0;max-width:520px;justify-self:end}.showcase-photo img{width:100%;height:390px;object-fit:cover;object-position:center;border-radius:24px;box-shadow:0 18px 50px #153e6f25;display:block}.showcase-photo figcaption{margin-top:12px;color:#617085;font-size:14px}.points strong{color:#08398f}.dark{background:#06245f;color:#fff}.dark p{color:#ffffffbd}.benefits{display:grid;gap:15px}.benefits div{display:flex;gap:16px;padding:22px;border:1px solid #ffffff22;border-radius:18px;background:#ffffff0e;font-size:24px;color:#63cb3a}.benefits span{display:grid;color:#fff;font-size:17px}.benefits small{color:#ffffffaa;font-size:14px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}.steps div{padding:26px;background:#f1f7fb;border-top:4px solid #08398f}.steps b{font-size:42px;color:#08398f33}.contact{background:linear-gradient(135deg,#06245f,#075ca6);color:#fff}.contact a{font-weight:800}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#fff;padding:28px;border-radius:24px}.contact input,.contact select,.contact textarea{padding:14px;border:1px solid #ccd9e5;border-radius:10px;font:inherit}.contact textarea,.contact button{grid-column:1/-1}.contact textarea{min-height:110px}.contact button{border:0;font-weight:800;font-size:16px}footer{background:#07172f;color:#ffffffa8;text-align:center;padding:45px 0}footer img{width:300px;background:#fff;border-radius:12px;padding:8px;margin:auto}.wa{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-weight:900;box-shadow:0 10px 28px #0004}@media(max-width:900px){nav a:not(.navbtn){display:none}.hero-grid,.split{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){header{height:84px}header img{width:235px;height:66px}.navbtn{padding:10px 14px}.hero{min-height:auto;padding:75px 0}.hero h1{font-size:44px}.actions{display:grid}.cards,.steps,.contact form{grid-template-columns:1fr}.contact textarea,.contact button{grid-column:auto}.section,.showcase,.dark,.contact{padding:75px 0}}
/* Trabajos realizados */
.projects{background:#fff}.projects-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.projects-head>div{max-width:780px}.projects-head h2{margin-bottom:12px}.projects-head p{color:#617085;font-size:18px}.project-feature{display:grid;grid-template-columns:1.3fr .7fr;gap:0;background:#06245f;color:#fff;border-radius:26px;overflow:hidden;margin-bottom:28px;box-shadow:0 18px 50px #153e6f25}.project-feature img{width:100%;height:430px;object-fit:cover}.project-feature div{padding:38px;display:flex;flex-direction:column;justify-content:center}.project-feature strong{color:#9eea7c;text-transform:uppercase;letter-spacing:1.5px;font-size:12px}.project-feature h3{font-size:31px;line-height:1.15;margin:10px 0}.project-feature p{color:#ffffffc7}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-item{position:relative;border:0;padding:0;background:#eaf2f7;border-radius:16px;overflow:hidden;cursor:pointer;min-height:210px;box-shadow:0 8px 24px #0d376512}.gallery-item img{width:100%;height:100%;min-height:210px;object-fit:cover;display:block;transition:transform .3s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item span{position:absolute;left:0;right:0;bottom:0;padding:30px 13px 12px;color:#fff;text-align:left;font-size:13px;font-weight:800;background:linear-gradient(transparent,#031b49e8)}.gallery-note{text-align:center;color:#617085;margin-top:24px}.lightbox{position:fixed;inset:0;background:#001126eF;z-index:100;display:none;align-items:center;justify-content:center;padding:28px}.lightbox.open{display:flex}.lightbox img{max-width:min(94vw,1500px);max-height:90vh;border-radius:14px;box-shadow:0 22px 70px #0008}.lightbox-close{position:absolute;right:24px;top:18px;width:46px;height:46px;border:0;border-radius:50%;font-size:34px;line-height:1;background:#fff;color:#06245f;cursor:pointer}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(3,1fr)}.project-feature{grid-template-columns:1fr}.project-feature img{height:380px}.projects-head{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item,.gallery-item img{min-height:165px}.project-feature img{height:280px}.project-feature div{padding:26px}.project-feature h3{font-size:25px}}

@media(max-width:900px){.showcase-photo{justify-self:stretch;max-width:none}.showcase-photo img{height:320px}}
@media(max-width:620px){.showcase-photo img{height:250px}.hero{background-position:center center}}

/* Interacciones y movimiento sutil */
nav a{position:relative;transition:color .25s ease,transform .25s ease}
nav a:not(.navbtn)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:3px;border-radius:999px;background:#46b51b;transform:scaleX(0);transform-origin:center;transition:transform .25s ease}
nav a:not(.navbtn):hover,nav a:not(.navbtn):focus-visible{color:#278e13;transform:translateY(-1px)}
nav a:not(.navbtn):hover::after,nav a:not(.navbtn):focus-visible::after{transform:scaleX(1)}
.btn,.navbtn,form button,.wa{transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.btn:hover,.btn:focus-visible,.navbtn:hover,.navbtn:focus-visible,form button:hover,form button:focus-visible{transform:translateY(-3px);box-shadow:0 12px 28px #0b3d6f35;filter:brightness(1.04)}
.wa:hover,.wa:focus-visible{transform:translateY(-4px) scale(1.04);box-shadow:0 16px 34px #0005}
.cards article{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease}
.cards article:hover{transform:translateY(-8px);box-shadow:0 20px 45px #143c6e1c;border-color:#83c96c;background:#fbfffa}
.steps>div{position:relative;overflow:hidden;border-radius:0 0 18px 18px;transition:transform .3s ease,box-shadow .3s ease,background .3s ease,border-color .3s ease}
.steps>div::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff00,#46b51b16);opacity:0;transition:opacity .3s ease;pointer-events:none}
.steps>div:hover{transform:translateY(-10px) scale(1.015);box-shadow:0 18px 38px #0b3d6f20;background:#fff;border-top-color:#46b51b}
.steps>div:hover::after{opacity:1}
.steps>div b,.steps>div h3,.steps>div p{position:relative;z-index:1;transition:transform .3s ease,color .3s ease}
.steps>div:hover b{transform:translateY(-2px) scale(1.08);color:#46b51b66}
.steps>div:hover h3{transform:translateX(4px);color:#278e13}
.steps>div:hover p{transform:translateX(4px)}
.benefits>div{transition:transform .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease}
.benefits>div:hover{transform:translateX(8px);background:#ffffff18;border-color:#9eea7c66;box-shadow:0 12px 28px #00183d40}
.gallery-item{transition:transform .28s ease,box-shadow .28s ease}
.gallery-item:hover{transform:translateY(-5px);box-shadow:0 16px 36px #0d376526}
.showcase-photo img,.project-feature{transition:transform .35s ease,box-shadow .35s ease}
.showcase-photo:hover img{transform:scale(1.015);box-shadow:0 24px 60px #153e6f32}
.project-feature:hover{transform:translateY(-4px);box-shadow:0 24px 62px #153e6f32}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Redes sociales */
.header-social{display:flex;gap:8px;margin-left:10px}.header-social a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff;background:#08398f;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.header-social a:hover{transform:translateY(-3px) scale(1.06);background:#46b51b;box-shadow:0 10px 24px #0b3d6f35}
.social-section{padding:95px 0;background:linear-gradient(180deg,#f4f9fc,#fff)}.social-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center}.social-grid p{color:#617085;font-size:18px}.social-cards{display:grid;gap:18px}.social-card{display:grid;grid-template-columns:62px 1fr auto;gap:18px;align-items:center;padding:24px 26px;border-radius:22px;background:#fff;border:1px solid #dce7ef;box-shadow:0 12px 34px #143c6e12;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.social-card:hover{transform:translateY(-7px) translateX(4px);box-shadow:0 22px 46px #143c6e22;border-color:#83c96c}.social-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:#fff;font-size:31px;font-weight:900;background:#08398f;transition:transform .3s ease}.social-card:hover .social-icon{transform:rotate(-5deg) scale(1.08)}.social-card strong{display:block;font-size:22px;color:#07172f}.social-card small{color:#617085}.social-card>b{color:#08398f;font-size:14px}.instagram .social-icon{background:linear-gradient(135deg,#7b2cff,#ef2b78,#ff9a2f)}.tiktok .social-icon{background:#111}
.footer-social{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:20px 0}.footer-social a{color:#fff;font-weight:800;border:1px solid #ffffff33;padding:9px 15px;border-radius:999px;transition:background .25s ease,transform .25s ease}.footer-social a:hover{background:#ffffff18;transform:translateY(-2px)}
.floating-social{position:fixed;right:20px;bottom:20px;z-index:90;display:grid;gap:10px}.floating-social a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:900;box-shadow:0 10px 28px #0004;transition:transform .25s ease,box-shadow .25s ease}.floating-social a:hover{transform:translateY(-4px) scale(1.07);box-shadow:0 16px 34px #0005}.float-wa{background:#25d366}.float-ig{background:linear-gradient(135deg,#7b2cff,#ef2b78,#ff9a2f)}.float-tt{background:#111}.wa{display:none}
@media(max-width:1050px){.header-social{display:none}.social-grid{grid-template-columns:1fr}}@media(max-width:620px){.social-section{padding:72px 0}.social-card{grid-template-columns:52px 1fr;padding:19px}.social-card>b{grid-column:2}.social-icon{width:50px;height:50px}.floating-social{right:12px;bottom:12px}.floating-social a{width:48px;height:48px}}


/* v9: logotipo ampliado y redes con identidad visual oficial */
header{height:108px}
header img{width:408px;height:96px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand-icon{width:100%;height:100%;display:block}
.header-social a{padding:0;background:transparent;overflow:hidden}
.header-social .brand-icon{width:36px;height:36px}
.social-icon{padding:0;overflow:hidden;background:transparent!important}
.social-icon .brand-icon{width:58px;height:58px}
.floating-social{right:24px;bottom:24px;padding:8px;border:1px solid #ffffff66;border-radius:26px;background:#ffffffb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 16px 38px #061a3740}
.floating-social a{position:relative;padding:0;background:transparent!important;overflow:visible}
.floating-social .brand-icon{width:54px;height:54px;filter:drop-shadow(0 7px 12px #001a3c35)}
.floating-social a::before{content:attr(data-label);position:absolute;right:66px;top:50%;transform:translate(8px,-50%);padding:7px 11px;border-radius:9px;background:#07172f;color:#fff;font-size:12px;font-weight:800;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease;box-shadow:0 8px 20px #0003}
.floating-social a:hover::before,.floating-social a:focus-visible::before{opacity:1;transform:translate(0,-50%)}
.floating-social a:hover,.floating-social a:focus-visible{transform:translateY(-4px) scale(1.12)}
@media(max-width:1150px){header img{width:360px;height:88px}nav{gap:18px}}
@media(max-width:900px){header{height:96px}header img{width:300px;height:78px}}
@media(max-width:620px){header{height:92px}header img{width:282px;height:76px}.floating-social{right:10px;bottom:10px;padding:6px;gap:8px;border-radius:22px}.floating-social .brand-icon{width:48px;height:48px}.floating-social a::before{display:none}}
