html{scroll-behavior:smooth;scroll-padding-top:130px}:root{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;--bg:#f3f6ff;--surface:#ffffff;--surface-soft:#e6ecff;--border:#d2dbff;--text-primary:#0b1222;--text-muted:#52607c;--accent:#3bb4d0;--accent-soft:#78aeff;--accent-dark:#0d1a36;--accent-highlight:#faa02a;--accent-pink:#ff7d7d;--shadow-soft:0 25px 45px rgba(11,18,34,0.12);line-height:1.6;color:var(--text-primary);background:var(--bg)}*,:after,:before{box-sizing:border-box}body{margin:0;color:var(--text-primary);font-family:inherit}.page,body{min-height:100vh;background:var(--bg)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.75rem 1.5rem;border-radius:999px;border:1px solid transparent;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 12px 26px rgba(59,180,208,.28)}.btn--primary:focus-visible,.btn--primary:hover{transform:translateY(-2px);background:#2ca1ba}.btn--secondary{border-color:var(--border);color:var(--text-primary);background:var(--surface)}.btn--secondary:focus-visible,.btn--secondary:hover{transform:translateY(-2px);background:var(--surface-soft)}.btn--highlight{background:linear-gradient(120deg,#8ebdff,#5f75ff 45%,#2ec7c2);box-shadow:0 16px 32px rgba(95,117,255,.3)}.btn--highlight:focus-visible,.btn--highlight:hover{background:linear-gradient(120deg,#79aefc,#4f66f2 45%,#26b7b2)}.btn--round{width:50px;height:50px;border-radius:50%;padding:0}.btn--round svg{width:22px;height:22px}.btn--small{padding:.4rem 1rem;font-size:.85rem;font-weight:600}.container{width:min(1200px,92vw);margin:0 auto}.topbar{position:-webkit-sticky;position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border);z-index:30}.topbar__wrapper{justify-content:space-between;gap:1.25rem;padding:.5rem 0}.brand,.topbar__wrapper{display:flex;align-items:center}.brand{gap:.75rem}.brand__logo{width:200px;height:96px;object-fit:contain;flex-shrink:0}.nav{gap:1.5rem}.nav,.nav__list{display:flex;align-items:center}.nav__list{list-style:none;gap:1.25rem;padding:0;margin:0}.nav__list a{font-weight:500;color:var(--text-muted);transition:color .2s ease,transform .2s ease}.nav__list a:focus-visible,.nav__list a:hover{color:var(--accent);transform:translateY(-1px)}.nav__cta{white-space:nowrap}.nav-toggle{border:none;background:none;display:grid;grid-gap:5px;gap:5px;padding:.25rem;cursor:pointer}.nav-toggle span{width:28px;height:2px;background:var(--text-primary);display:block;transition:transform .3s ease}.footer,.hero,.section{padding:4rem 0}.hero{background:radial-gradient(circle at 25% 25%,rgba(59,180,208,.25),transparent 45%),linear-gradient(180deg,#f7f9ff 0,var(--surface) 100%)}.hero__wrapper{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:2rem;gap:2rem;align-items:center}.badge{display:inline-flex;padding:.35rem .85rem;border-radius:999px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;background:var(--surface-soft);color:var(--text-muted)}.hero h1{font-size:clamp(2.75rem,4vw,3.8rem);margin-bottom:1rem;line-height:1.2}.highlight{position:relative;display:inline-flex;color:var(--accent);font-weight:700}.highlight:after{content:"";position:absolute;inset:auto 0 -8px 0;height:8px;border-radius:4px;background:linear-gradient(120deg,rgba(59,180,208,.5),rgba(250,160,42,.6));z-index:-1}.lead{color:var(--text-muted);max-width:480px}.hero__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.5rem}.hero__logos{margin-top:1.75rem;display:grid;grid-gap:.75rem;gap:.75rem}.hero__logos-label{font-size:.95rem;color:var(--text-muted)}.hero__logos-grid{display:flex;flex-wrap:wrap;gap:.75rem}.hero__logos-note{display:inline-flex;align-items:center;padding:.45rem .9rem;border-radius:999px;background:rgba(208,229,255,.55);border:1px solid rgba(160,194,255,.6);color:#2d4b76;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.hero__visual{display:flex;justify-content:center}.hero__frame{width:100%;border-radius:28px;border:1px solid var(--border);box-shadow:var(--shadow-soft);filter:drop-shadow(0 25px 35px rgba(11,18,34,.2))}.section{background:var(--surface)}.section--neutral{background:var(--bg)}.section__header{margin-bottom:2rem}.section__header h2{font-size:clamp(1.9rem,3vw,2.6rem);margin-bottom:.4rem;line-height:1.3}.section__header p{color:var(--text-muted);max-width:640px}.eyebrow{text-transform:uppercase;letter-spacing:.35em;font-size:.7rem;color:var(--text-muted);margin-bottom:.5rem}.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1.25rem;gap:1.25rem}.pillars article{padding:1.75rem;border-radius:20px;border:1px solid var(--border);background:var(--surface);min-height:210px;box-shadow:var(--shadow-soft)}.icon{width:48px;height:48px;margin-bottom:.9rem;color:var(--accent);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.grid{display:grid;grid-gap:1.25rem;gap:1.25rem}.grid--three{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:var(--surface);border-radius:20px;border:1px solid var(--border);padding:1.6rem;box-shadow:var(--shadow-soft);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;gap:.8rem}.card:focus-within,.card:hover{transform:translateY(-6px);box-shadow:0 25px 45px rgba(11,18,34,.17)}.card__icon{font-size:2rem;color:var(--accent)}.card ul{padding-left:1rem;color:var(--text-muted);margin:0;display:flex;flex-direction:column;gap:.25rem}.card a{font-weight:600;color:var(--accent)}.section__split{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:2.5rem;gap:2.5rem;align-items:center}.section__split--reverse{direction:rtl}.section__split--reverse>*{direction:ltr}.image-placeholder{border-radius:24px;min-height:260px;border:1px dashed var(--border);display:grid;place-items:center;padding:1.5rem;background:var(--surface);color:var(--text-muted)}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:1rem;gap:1rem;margin-top:1.5rem}.benefits-grid div{background:var(--surface-soft);border-radius:16px;padding:1rem;border:1px solid var(--border)}.feature-list{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-direction:column;gap:1rem}.feature-list li{background:var(--surface-soft);padding:1rem;border-radius:16px;border:1px solid var(--border)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1.25rem;gap:1.25rem}.testimonial{background:var(--surface);border-radius:20px;border:1px solid var(--border);padding:1.5rem;position:relative;box-shadow:var(--shadow-soft);min-height:220px}.quote-mark{font-size:3rem;color:var(--accent);position:absolute;top:1rem;right:1rem}.testimonial__meta{font-weight:600;color:var(--text-muted)}.stars{display:inline-flex;gap:.2rem;color:#f59e0b}.content-card{background:var(--surface);border-radius:20px;border:1px solid var(--border);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;min-height:220px;box-shadow:var(--shadow-soft)}.content-card a{color:var(--accent);font-weight:600}.project-card{border-radius:32px;background:linear-gradient(180deg,rgba(238,245,255,.95),rgba(255,255,255,.95));border:1px solid rgba(183,208,255,.8);padding:2rem;display:grid;grid-gap:2rem;gap:2rem;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);box-shadow:0 35px 65px rgba(15,23,42,.08)}.project-card__visual{border-radius:24px;overflow:hidden;border:1px solid rgba(193,217,255,.9);background:linear-gradient(180deg,rgba(245,251,255,.95),rgba(233,244,255,.95));padding:1rem;display:flex;justify-content:center;align-items:center;min-height:320px;box-shadow:inset 0 10px 18px rgba(255,255,255,.75),0 18px 36px rgba(14,31,69,.08)}.project-card__content h3{margin-top:0;font-size:1.6rem}.project-card__content{display:flex;flex-direction:column;gap:.9rem}.project-card__content p{margin:0;color:var(--text-muted);max-width:480px}.project-card__content ul{margin:0;padding-left:1rem;color:var(--text-muted);display:flex;flex-direction:column;gap:.45rem}.project-carousel{margin-top:0;border-radius:0;padding:0;border:none;background:transparent;box-shadow:none}.carousel-track,.project-carousel{width:100%;min-height:320px;position:relative;overflow:hidden}.carousel-track{padding-bottom:1rem}.carousel-slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;opacity:0;transition:opacity .4s ease;width:100%;height:100%;padding:.5rem .5rem 3rem;gap:.6rem}.carousel-slide--visible{opacity:1;position:absolute}.carousel-slide img{width:100%;max-height:220px;object-fit:cover;border-radius:18px;border:1px solid rgba(186,206,255,.45);box-shadow:0 14px 28px rgba(15,23,42,.12)}.carousel-caption{position:relative;z-index:2;text-align:center;margin-top:.75rem;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-dark);word-wrap:break-word;overflow-wrap:break-word}.carousel-controls{margin-top:2rem;display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.carousel-btn{border:none;border-radius:999px;padding:.65rem 1.2rem;background:var(--surface);border:1px solid var(--border);cursor:pointer;font-weight:600;color:var(--accent-dark);transition:background .2s ease,transform .2s ease;font-size:.85rem}.carousel-btn:focus-visible,.carousel-btn:hover{background:var(--surface-soft);transform:translateY(-1px)}.carousel-count{font-size:.85rem;font-weight:600;color:var(--accent)}.contact-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:1.5rem}.contact-card{border-radius:22px;border:1px solid rgba(59,180,208,.3);padding:1.5rem;background:linear-gradient(180deg,rgba(255,255,255,.8),var(--surface));box-shadow:var(--shadow-soft);min-height:220px}.contact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem;font-size:.95rem}.contact-list li{display:grid;grid-template-columns:max-content 1fr;grid-gap:.2rem 1rem;gap:.2rem 1rem;align-items:baseline}.contact-list strong{color:var(--text-primary);font-weight:700;grid-column:1;justify-self:start;white-space:nowrap}.contact-value{color:var(--text-muted);line-height:1.4;display:block;justify-self:end;text-align:right;word-break:break-word;overflow-wrap:break-word;word-wrap:break-word}.contact-value a{color:var(--accent);font-weight:600}.contact-list__whatsapp .contact-value{margin-top:-.1rem}.social-links{display:flex;gap:.75rem;margin-top:.75rem}.social-links a{border-bottom:2px solid transparent;padding-bottom:.25rem;color:var(--accent)}.social-links a:focus-visible,.social-links a:hover{border-color:var(--accent)}.privacy-link{color:var(--accent);font-weight:600}.privacy-list{display:grid;grid-gap:.75rem;gap:.75rem;padding-left:1rem;color:var(--text-muted);margin-top:1rem}.privacy-list li{position:relative;padding-left:1.1rem}.privacy-list li:before{content:"•";position:absolute;left:0;color:var(--accent)}.footer{border-top:1px solid var(--border);background:var(--surface)}.footer__wrapper{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.footer__links{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;text-transform:uppercase;letter-spacing:.2em;font-size:.8rem}.footer__links a,.footer__note{color:var(--text-muted)}.footer__note{text-align:center;margin:.5rem 0 .2rem}.footer__credit{font-size:.85rem}.whatsapp-floating{position:fixed;right:1.15rem;bottom:1.15rem;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#21b058,#25d366);color:#fff;display:grid;place-items:center;box-shadow:0 12px 28px rgba(37,211,102,.35);z-index:50;transition:transform .2s ease,box-shadow .2s ease}.whatsapp-floating__tooltip{position:absolute;right:72px;bottom:50%;transform:translateY(50%) translateX(8px);background:#0f172a;color:#fff;padding:.55rem .9rem;border-radius:999px;font-size:.95rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.whatsapp-floating__tooltip:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:10px;height:10px;background:#0f172a;border-radius:2px;box-shadow:2px 0 0 rgba(0,0,0,.05);-webkit-clip-path:polygon(0 0,100% 50%,0 100%);clip-path:polygon(0 0,100% 50%,0 100%)}.whatsapp-floating:focus-visible .whatsapp-floating__tooltip,.whatsapp-floating:hover .whatsapp-floating__tooltip{opacity:1;transform:translateY(50%) translateX(0)}.whatsapp-floating__icon{width:50px;height:50px;display:grid;place-items:center}.whatsapp-floating__icon svg{width:100%;height:100%;fill:currentColor}.whatsapp-floating span:not(.whatsapp-floating__icon):not(.whatsapp-floating__tooltip){display:none}.whatsapp-floating:focus-visible,.whatsapp-floating:hover{transform:translateY(-4px);box-shadow:0 20px 32px rgba(37,211,102,.45)}.reveal-hidden{opacity:0;transform:translateY(60px);filter:blur(1px);transition:opacity .8s ease,transform .8s cubic-bezier(.25,.46,.45,.94),filter .6s ease;will-change:opacity,transform,filter}.reveal-visible{opacity:1!important;transform:none!important;filter:none}@media (max-width:900px){.project-carousel{min-height:320px}.carousel-track{min-height:260px;padding-bottom:.8rem}.carousel-slide{padding:.25rem .25rem 2.5rem;gap:.4rem}.carousel-slide img{max-height:160px;border-radius:12px}.carousel-caption{font-size:.75rem;margin-top:.5rem;letter-spacing:.03em}.carousel-controls{margin-top:1.5rem;gap:.5rem}.carousel-btn{padding:.5rem 1rem;font-size:.75rem}.nav{position:fixed;top:70px;left:0;right:0;background:var(--surface);width:100%;padding:1rem 1.5rem;border-top:none;flex-direction:column;gap:1rem;max-height:calc(100vh - 70px);overflow-y:auto;z-index:20;transition:max-height .3s ease;box-sizing:border-box}.nav[data-visible=false]{max-height:0;overflow:hidden;visibility:hidden;pointer-events:none}.nav[data-visible=true]{max-height:calc(100vh - 70px);visibility:visible;pointer-events:auto}.nav__list{flex-direction:column;gap:.5rem}.nav-toggle{display:grid;z-index:21}}@media (max-width:600px){.contact-list li{grid-template-columns:1fr;gap:.3rem 0;align-items:flex-start}.contact-list strong{grid-column:1;margin-bottom:.2rem}.contact-value{justify-self:start;text-align:left}.project-card{grid-template-columns:1fr;padding:1.5rem}.project-card__visual{min-height:240px;order:-1}.project-card__content h3{font-size:1.3rem}.project-carousel{min-height:280px}.carousel-track{min-height:200px;padding-bottom:.6rem}.carousel-slide{padding:.2rem .2rem 2.2rem;gap:.3rem}.carousel-slide img{max-height:120px;border-radius:10px}.carousel-caption{font-size:.65rem;margin-top:.4rem}.carousel-controls{margin-top:1rem;gap:.4rem}.carousel-btn{padding:.4rem .8rem}.carousel-btn,.carousel-count{font-size:.65rem}}@media (min-width:901px){.nav-toggle{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.faq{display:flex;flex-direction:column;gap:1rem}.faq__item{position:relative}.faq__question{width:100%;border:none;background:linear-gradient(135deg,rgba(59,180,208,.12),rgba(255,255,255,.9));border-radius:20px;padding:1rem 1.3rem;font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center;cursor:pointer;box-shadow:0 12px 25px rgba(15,23,42,.08);transition:transform .2s ease,box-shadow .2s ease,background .3s ease}.faq__question span{font-size:1.4rem}.faq__question:focus-visible,.faq__question:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(15,23,42,.15);background:linear-gradient(120deg,rgba(59,180,208,.25),rgba(255,255,255,1))}.faq__answer{background:rgba(59,180,208,.07);border-radius:18px;border:1px solid rgba(59,180,208,.2);padding:1rem 1.25rem;margin-top:.25rem}.login-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,rgba(59,180,208,.08),rgba(142,189,255,.08));position:relative}.login-back-btn{position:absolute;top:2rem;left:2rem;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;border:1px solid var(--border);color:var(--text-muted);background:var(--surface);transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:10;cursor:pointer;text-decoration:none;box-shadow:var(--shadow-soft)}.login-back-btn:focus-visible,.login-back-btn:hover{transform:translateY(-2px);background:var(--surface-soft);box-shadow:0 25px 45px rgba(11,18,34,.17)}.login-back-btn svg{width:22px;height:22px;stroke-width:2.5;transition:all .3s ease}.login-wrapper{flex:1 1;display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;overflow:hidden}.login-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:linear-gradient(180deg,rgba(59,180,208,.1),rgba(142,189,255,.08));border-right:1px solid var(--border)}.login-visual-logo{height:200px;width:auto;max-width:100%;object-fit:contain;margin-bottom:3rem}.login-visual-content{display:flex;flex-direction:column;gap:1rem;text-align:center;max-width:300px}.login-visual-content h2{margin:0;font-size:1.5rem;color:var(--text-primary);line-height:1.4}.login-visual-content p{margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.6}.login-form-wrapper{display:flex;align-items:center;justify-content:center;padding:4rem 2rem}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:3rem 2rem;box-shadow:0 20px 40px rgba(11,18,34,.06);display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:380px}.login-card h1{margin:0;font-size:1.6rem;color:var(--text-primary);text-align:center}.login-subtitle{margin:0;color:var(--text-muted);text-align:center;font-size:.9rem}.login-form{width:100%;gap:1rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{font-weight:600;color:var(--text-primary);font-size:.9rem}.form-group input{padding:.8rem 1rem;border:1px solid var(--border);border-radius:10px;font-size:.95rem;font-family:inherit;background:var(--surface-soft);color:var(--text-primary);transition:border .2s ease,background .2s ease,box-shadow .2s ease}.form-group input:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px rgba(59,180,208,.1)}.form-group input::placeholder{color:var(--text-muted)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.login-btn{width:100%;padding:.85rem 1.5rem;font-size:.95rem;margin-top:.5rem;cursor:pointer;font-weight:600}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{width:100%;text-align:center;padding-top:1rem;border-top:1px solid var(--border)}.login-footer p{margin:0;color:var(--text-muted);font-size:.85rem}.login-footer a{text-decoration:none}.login-footer a:focus-visible,.login-footer a:hover{text-decoration:underline}@media (max-width:900px){.login-wrapper{grid-template-columns:1fr}.login-visual{border-right:none;border-bottom:1px solid var(--border);padding:3rem 2rem}.login-visual-logo{height:150px;margin-bottom:2rem}.login-form-wrapper{padding:3rem 2rem}}@media (max-width:600px){.login-page{padding-top:3.5rem}.login-back-btn{top:1rem;left:1rem;padding:.6rem 1rem;font-size:.8rem}.login-back-btn svg{width:18px;height:18px}.login-wrapper{grid-template-columns:1fr}.login-visual{display:none}.login-form-wrapper{padding:2rem 1rem}.login-card{padding:2rem 1.5rem;gap:1rem;border-radius:20px}.login-card h1{font-size:1.4rem}.login-subtitle{font-size:.85rem}}.login-footer a{color:var(--accent);font-weight:600;transition:color .2s ease}.login-footer a:focus-visible,.login-footer a:hover{color:#2ca1ba}.nav__actions{display:flex;align-items:center;gap:.5rem}.nav__login{border-color:var(--accent);color:var(--accent);white-space:nowrap}.nav__login:focus-visible,.nav__login:hover{background:rgba(59,180,208,.1)}.toast{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 12px 24px rgba(11,18,34,.15);font-weight:500;font-size:.95rem;animation:slideIn .3s ease;z-index:100;max-width:400px}.toast p{margin:0}.toast--success{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.toast--error{background:#ffebee;color:#c62828;border:1px solid #ffcdd2}.toast--warning{background:#fff3e0;color:#e65100;border:1px solid #ffe0b2}.toast--info{background:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}@keyframes slideIn{0%{transform:translateX(400px);opacity:0}to{transform:translateX(0);opacity:1}}@media (max-width:600px){.toast{bottom:1rem;right:1rem;left:1rem;max-width:100%}}