:root{--bg:#fbfcf9;--ink:#142224;--muted:#667173;--lime:#c6f43d;--lime-dark:#99c800;--soft:#eef2eb;--line:#dbe1da;--dark:#0f1718;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{position:absolute;inset:0 0 auto;z-index:10}.nav-shell{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1c292a1c}.brand img{display:block;width:190px;max-height:58px;object-fit:contain}.nav-menu{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}.nav-menu>a:not(.nav-cta):hover{color:#6d8e00}.nav-cta{padding:11px 17px;border-radius:9px;background:var(--ink);color:#fff}.menu-toggle{display:none}.hero{padding:155px 0 85px;min-height:760px;display:flex;align-items:center;background:radial-gradient(circle at 80% 24%,#c6f43d3d,transparent 25%),linear-gradient(145deg,#fbfcf9,#f0f4ec);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:80px}.eyebrow,.tag{color:#6b8804;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin:0 0 18px}.hero h1,.section h2,.contact h2{font:700 clamp(50px,6vw,78px)/.98 Outfit,sans-serif;letter-spacing:-.05em;margin:0}.hero h1 em{font-style:normal;position:relative;z-index:1}.hero h1 em:after{content:"";position:absolute;z-index:-1;height:18px;background:var(--lime);left:-4px;right:-4px;bottom:5px;transform:rotate(-1deg)}.lead{font-size:19px;color:var(--muted);max-width:650px;margin:28px 0}.actions{display:flex;gap:12px}.btn{padding:14px 20px;border-radius:10px;font-weight:700;font-size:14px}.btn.primary{background:var(--ink);color:#fff}.btn.primary:hover{background:#2a3b3d}.btn.secondary{border:1px solid var(--line);background:#fff}.checks{display:flex;flex-wrap:wrap;gap:12px 22px;list-style:none;padding:0;margin:40px 0 0;font-size:12px;color:var(--muted)}.checks li:before,.plans li:before{content:"✓";color:#6e9000;font-weight:700;margin-right:7px}.hero-art{height:470px;position:relative}.window{position:absolute;inset:45px 15px 45px 30px;background:var(--dark);border-radius:24px;box-shadow:0 35px 70px #16242533;transform:rotate(2deg);overflow:hidden}.window-bar{height:48px;border-bottom:1px solid #ffffff17;display:flex;align-items:center;gap:7px;padding:0 19px}.window-bar i{width:8px;height:8px;border-radius:50%;background:#465052}.window-bar i:first-child{background:var(--lime)}.window-body{padding:55px 42px}.code-line{height:13px;width:72%;border-radius:9px;background:#718083;margin:18px 0}.code-line.long{width:94%;background:#c6f43d}.code-line.short{width:48%}.status{margin-top:65px;border-top:1px solid #ffffff1c;padding-top:22px;color:#cbd3d3;font-size:13px}.status span{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime);margin-right:8px}.float-card{position:absolute;background:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 15px 35px #1624251c}.float-card b,.float-card small{display:block}.float-card small{color:var(--muted);font-size:10px}.card-a{left:0;top:15px}.card-b{right:-18px;bottom:20px}.quick{background:#fff;border-block:1px solid var(--line)}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr)}.quick article{display:flex;gap:20px;padding:30px;border-right:1px solid var(--line)}.quick article:first-child{border-left:1px solid var(--line)}.quick span,.service>span,.steps span{font-size:10px;color:#7a8a8b}.quick b{font-family:Outfit}.quick p{margin:2px 0 0;color:var(--muted);font-size:12px}.section{padding:110px 0}.heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:80px;margin-bottom:55px}.section h2,.contact h2{font-size:clamp(40px,5vw,61px)}.heading>p{color:var(--muted);margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{position:relative;padding:34px;min-height:330px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.25s}.service:hover{z-index:1;transform:translateY(-5px);box-shadow:0 20px 45px #13232412}.service>span{position:absolute;right:28px;top:25px}.icon{display:grid;place-items:center;width:54px;height:54px;border-radius:12px;background:var(--lime);font-size:23px;margin:30px 0 45px}.service h3,.solutions h3,.steps h3,.plans h3{font:600 24px Outfit;margin:0}.service p,.solutions p,.steps p,.plans p{color:var(--muted);font-size:14px}.dark{background:var(--dark);color:#fff}.dark .tag{color:var(--lime)}.dark .heading>p,.dark .solutions p{color:#9facad}.solutions{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff1d}.solutions article{padding:38px 35px 25px 0;border-right:1px solid #ffffff1d}.solutions article+article{padding-left:35px}.solutions b{color:var(--lime);font-size:11px}.solutions h3{font-size:27px;margin:48px 0 15px}.process .heading{margin-bottom:20px}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px}.steps article{padding:28px;border-top:3px solid var(--line);position:relative}.steps article:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--lime-dark);top:-6px;left:28px}.steps h3{margin-top:30px}.plans-section{background:var(--soft)}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.plans article{padding:35px;background:#fff;border:1px solid var(--line);border-radius:16px}.plans article.featured{background:var(--ink);color:#fff;transform:translateY(-12px)}.plan-label{color:#789900!important;text-transform:uppercase;font-size:10px!important;font-weight:700;letter-spacing:.12em}.featured .plan-label{color:var(--lime)!important}.featured p{color:#b9c4c5}.plans ul{list-style:none;padding:20px 0;border-block:1px solid var(--line);font-size:13px}.featured ul{border-color:#ffffff20}.plans li{margin:9px 0}.plans a{display:inline-block;margin-top:15px;font-size:13px;font-weight:700}.featured a{color:var(--lime)}.contact{padding:90px 0;background:var(--lime)}.contact-box{display:grid;grid-template-columns:1.1fr .9fr;gap:80px}.contact .tag{color:#435500}.contact-box>div>p:last-child{max-width:600px}.contact-links a,.contact-links>div{display:block;padding:17px 0;border-bottom:1px solid #17262738}.contact-links small,.contact-links b{display:block}.contact-links small{text-transform:uppercase;letter-spacing:.1em;font-size:9px}.contact-links b{font-size:15px}footer{padding:55px 0 25px;background:var(--dark);color:#fff}.footer{display:grid;grid-template-columns:1fr 1fr auto;gap:40px;align-items:center}.footer img{width:180px}.footer p{font-size:12px;color:#97a5a6}.footer>span{font-size:10px;color:#758485}.reveal{opacity:0;transform:translateY(22px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.container{width:min(100% - 32px,1160px)}.menu-toggle{display:block;background:none;border:0;width:44px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--ink);margin:7px}.nav-menu{display:none;position:absolute;top:76px;left:16px;right:16px;flex-direction:column;align-items:stretch;background:#fff;padding:25px;border:1px solid var(--line);border-radius:14px}.nav-menu.open{display:flex}.hero-grid,.heading,.contact-box{grid-template-columns:1fr}.hero{padding-top:125px}.hero-art{height:390px}.services{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.plans{grid-template-columns:1fr}.plans article.featured{transform:none}.footer{grid-template-columns:1fr 1fr}.footer>span{grid-column:1/-1}}
@media(max-width:600px){.brand img{width:150px}.hero-grid{gap:35px}.hero h1{font-size:50px}.actions{flex-direction:column}.checks{display:block}.checks li{margin:8px 0}.hero-art{height:330px}.window{inset:35px 5px}.card-b{right:0}.quick-grid,.services,.solutions,.steps{grid-template-columns:1fr}.quick article,.quick article:first-child{border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.section{padding:80px 0}.heading{gap:22px}.solutions article,.solutions article+article{padding:30px 0;border-right:0;border-bottom:1px solid #ffffff1d}.steps article{padding-left:0}.footer{grid-template-columns:1fr}.contact{padding:70px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Fotografía de marca */
.hero-photo{height:520px;border-radius:24px;overflow:hidden;box-shadow:0 32px 70px #1624252b;background:#dfe5dc}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:58% center;display:block}.photo-badge{position:absolute;left:20px;bottom:20px;right:20px;padding:15px 18px 15px 42px;border:1px solid #ffffff55;border-radius:12px;background:#0f1718dc;color:#fff;backdrop-filter:blur(12px)}.photo-badge>span{position:absolute;left:18px;top:22px;width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime)}.photo-badge b,.photo-badge small{display:block}.photo-badge b{font:600 14px Outfit}.photo-badge small{color:#bac5c5;font-size:10px}.support-photo{position:relative;height:450px;margin:0 0 55px;border-radius:18px;overflow:hidden}.support-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0f1718cc 0%,transparent 60%)}.support-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}.support-photo figcaption{position:absolute;z-index:1;left:40px;bottom:38px;display:flex;flex-direction:column;max-width:340px}.support-photo figcaption span{color:var(--lime);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.support-photo figcaption b{font:600 31px/1.1 Outfit;margin-top:8px}
@media(max-width:900px){.hero-photo{height:430px}.support-photo{height:400px}}
@media(max-width:600px){.hero-photo{height:350px}.hero-photo>img{object-position:60% center}.support-photo{height:330px}.support-photo figcaption{left:24px;bottom:24px}.support-photo figcaption b{font-size:25px}}

/* Presentación más natural: sin rótulos pequeños ni indicador decorativo */
.eyebrow,.tag,.photo-badge>span{display:none}.photo-badge{padding-left:18px}

/* Botones técnicos con esquina recortada */
.btn,.nav-cta{position:relative;border-radius:0;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,0 100%);padding:14px 25px;letter-spacing:.015em;transition:transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}
.btn.primary,.nav-cta{background:var(--ink);color:#fff;box-shadow:inset 0 -3px 0 #00000040}
.btn.primary:hover,.nav-cta:hover{background:#263638;color:var(--lime);transform:translateX(4px);box-shadow:inset 0 -3px 0 var(--lime)}
.btn.secondary{border:1px solid var(--ink);background:transparent;color:var(--ink);box-shadow:inset 0 0 0 0 var(--ink)}
.btn.secondary:hover{background:var(--ink);color:#fff;transform:translateX(4px)}
.plans a{position:relative;padding:11px 36px 11px 0;border-bottom:2px solid currentColor;transition:padding .2s ease,color .2s ease}
.plans a:hover{padding-left:8px;padding-right:28px;color:#6e9000}
.plans .featured a:hover{color:#fff}

/* Fotografías en las tarjetas de servicios */
.service{padding:0;min-height:420px;overflow:hidden;display:flex;flex-direction:column}.service-photo{display:block;width:100%;height:220px;object-fit:cover;transition:transform .45s ease}.service:hover .service-photo{transform:scale(1.035)}.service-content{padding:27px 30px 30px}.service-content h3{margin:0}.service-content p{margin-bottom:0}.service>span,.service>.icon{display:none}
@media(max-width:600px){.service{min-height:0}.service-photo{height:240px}}

/* Footer completo y acceso flotante a WhatsApp */
.footer{grid-template-columns:1.4fr .65fr 1fr;align-items:start;gap:75px}.footer-brand img{width:190px;background:#fff;padding:7px}.footer-brand p{max-width:330px;margin-top:20px}.footer-nav,.footer-contact{display:flex;flex-direction:column;gap:9px}.footer-nav>b,.footer-contact>b{font:600 14px Outfit;margin-bottom:8px}.footer-nav a,.footer-contact>a{font-size:12px;color:#97a5a6;transition:color .2s ease}.footer-nav a:hover,.footer-contact>a:hover{color:var(--lime)}.facebook-link{display:flex!important;align-items:center;gap:8px;margin-top:7px}.facebook-link svg{width:28px;height:28px;padding:5px;border:1px solid #ffffff2b;fill:currentColor}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:22px;margin-top:8px;border-top:1px solid #ffffff1b;color:#758485;font-size:10px}.whatsapp-float{position:fixed;z-index:20;right:22px;bottom:22px;display:flex;align-items:center;gap:9px;padding:12px 17px 12px 13px;background:#25d366;color:#082d17;font-weight:700;font-size:12px;box-shadow:0 13px 35px #0f171844;clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,0 100%);transition:transform .2s ease,background .2s ease}.whatsapp-float:hover{transform:translateY(-4px);background:#4bea7f}.whatsapp-float svg{width:25px;height:25px;fill:currentColor}
@media(max-width:900px){.footer{grid-template-columns:1fr 1fr;gap:45px}.footer-brand{grid-column:1/-1}.footer>span{grid-column:auto}}
@media(max-width:600px){.footer{grid-template-columns:1fr;gap:34px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:7px}.whatsapp-float{right:15px;bottom:15px;padding:13px}.whatsapp-float span{display:none}}

/* Logotipos oficiales de redes sociales */
.facebook-link svg,.whatsapp-float svg{display:none}.facebook-link:before,.whatsapp-float:before{content:"";display:block;flex:0 0 auto;background-repeat:no-repeat;background-position:center;background-size:contain}.facebook-link:before{width:28px;height:28px;background-image:url("assets/facebook.svg")}.whatsapp-float:before{width:27px;height:27px;background-image:url("assets/whatsapp.svg")}

/* Botón flotante oficial de WhatsApp */
.whatsapp-float{width:60px;height:60px;right:22px;bottom:22px;padding:0;border-radius:50%;clip-path:none;display:grid;place-items:center;background:#25d366;box-shadow:0 8px 24px #00000030;transition:transform .2s ease,box-shadow .2s ease}.whatsapp-float span{display:none}.whatsapp-float:before{width:38px;height:38px}.whatsapp-float:hover{background:#25d366;transform:translateY(-3px) scale(1.04);box-shadow:0 12px 28px #00000038}
@media(max-width:600px){.whatsapp-float{width:56px;height:56px;right:16px;bottom:16px}.whatsapp-float:before{width:35px;height:35px}}
