*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#00152d;--navy-90:#00152df7;--blue:#1c70bc;--blue-dk:#155294;--blue-lt:#3a8dd4;--coral:#fc345c;--lavanda:#e3ecf6;--lavanda-dk:#cfdceb;--white:#fff;--cream:#f1f5f9;--gray-50:#e8eff6;--gray-200:#d6e0eb;--gray-400:#8a94a6;--gray-700:#46566a;--font-heading:"DM Sans", sans-serif;--font-body:"Inter", sans-serif;--font-ui:"Inter", sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-card:0 1px 2px #00152d0a, 0 10px 30px #00285a14;--shadow-btn:0 1px 2px #00152d1f;--transition:.2s ease;--section-pad:clamp(32px, 3.5vw, 44px) clamp(20px, 5vw, 48px)}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--cream);color:var(--navy);-webkit-font-smoothing:antialiased;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.label{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--blue-dk);align-items:center;gap:12px;font-size:.74rem;font-weight:600;display:inline-flex}.label:before{content:"";background:var(--blue);width:28px;height:1px}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--navy);margin-bottom:16px;font-weight:700}h1{letter-spacing:-.03em;font-size:clamp(2.6rem,5.4vw,4rem);line-height:1.06}h2{letter-spacing:-.025em;font-size:clamp(2rem,4vw,2.9rem);line-height:1.12}h3{letter-spacing:-.01em;font-size:clamp(1.2rem,2.4vw,1.45rem);font-weight:700;line-height:1.25}p{color:var(--gray-700)}.text-center{text-align:center}.text-white{color:var(--white)!important}.text-blue{color:var(--blue)!important}.text-coral{color:var(--coral)!important}.text-gradient{background:linear-gradient(135deg, var(--blue) 0%, var(--blue-lt) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-alt{background:linear-gradient(135deg, var(--blue-lt) 0%, var(--lavanda) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{font-family:var(--font-ui);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition);white-space:nowrap;border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 28px;font-size:.95rem;font-weight:500;line-height:1.2;display:inline-flex}.btn .arrow{transition:transform var(--transition);display:inline-block}.btn:hover .arrow{transform:translate(3px)}.btn-primary{background:var(--navy);color:var(--white);border-color:var(--navy)}.btn-primary:hover{background:var(--blue-dk);border-color:var(--blue-dk)}.btn-outline{color:var(--navy);background:0 0;border-color:#00152d47}.btn-outline:hover{background:var(--navy);border-color:var(--navy);color:var(--white)}.btn-outline-white{color:var(--white);background:0 0;border-color:#ffffff80}.btn-outline-white:hover{background:var(--white);color:var(--navy);border-color:var(--white)}.btn-whatsapp{color:var(--white);background:#1e7a4c;border-color:#1e7a4c}.btn-whatsapp:hover{background:#16603b;border-color:#16603b}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--blue-lt);outline-offset:2px}.btn svg{fill:currentColor;flex-shrink:0;width:18px;height:18px}.reveal{opacity:0;transition:opacity .5s ease-out,transform .5s ease-out;transform:translateY(12px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:50ms}.reveal-delay-2{transition-delay:.1s}.reveal-delay-3{transition-delay:.15s}.reveal-delay-4{transition-delay:.2s}.reveal-delay-5{transition-delay:.25s}#scroll-progress{background:var(--blue);z-index:1001;width:0%;height:2px;transition:width .1s linear;position:fixed;top:0;left:0}.lang-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:4px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:all .2s}.lang-btn:hover{color:var(--navy);background:#fff}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}}#header{z-index:1000;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--gray-200);transition:box-shadow var(--transition);background:#ecf4fdfa;position:fixed;top:0;left:0;right:0}#header.scrolled{box-shadow:0 6px 24px #00285a14}.nav-inner{align-items:center;gap:24px;max-width:1280px;height:64px;margin:0 auto;padding:0 clamp(16px,3vw,40px);display:flex}.nav-logo{flex-shrink:0;align-items:center;gap:12px;display:flex}.nav-logo-mark{background:var(--blue);border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.nav-logo-mark svg{fill:#fff;width:22px;height:22px}.nav-logo-text{flex-direction:column;line-height:1.1;display:flex}.nav-logo-text .brand-name{font-family:var(--font-heading);color:var(--white);letter-spacing:.01em;font-size:1.35rem;font-weight:800}.nav-logo-text .brand-sub{letter-spacing:.1em;text-transform:uppercase;color:var(--blue-lt);font-size:.7rem;font-weight:600}.nav-links{align-items:center;gap:2px;margin-left:auto;list-style:none;display:flex}.nav-links a{color:var(--gray-700);border-radius:var(--radius-sm);transition:color var(--transition), background var(--transition);padding:8px 14px;font-size:.92rem;font-weight:500}.nav-links a:hover,.nav-links a.active{color:var(--navy);background:var(--lavanda)}.nav-logo-img{width:auto;height:28px}.nav-ctas{flex-shrink:0;align-items:center;gap:8px;display:flex}.nav-ctas .btn{padding:9px 20px;font-size:.9rem}.nav-mobile-menu{display:contents}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;margin-left:auto;padding:6px;display:none}.nav-toggle span{background:var(--navy);width:24px;height:2px;transition:transform var(--transition), opacity var(--transition);border-radius:2px;display:block}.nav-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.floating-ctas{z-index:900;flex-direction:column;gap:10px;display:none;position:fixed;bottom:24px;right:20px}.floating-ctas .btn{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;padding:0;display:flex;box-shadow:0 4px 16px #00152d47}.floating-ctas.is-hidden{opacity:0;pointer-events:none;visibility:hidden}.floating-ctas .btn svg{width:22px;height:22px}.section{padding:var(--section-pad)}.section-inner{max-width:1280px;margin:0 auto}.section-header{margin-bottom:clamp(24px,4vw,40px)}.section-header .label{margin-bottom:0}.section-header h2{margin-top:16px;margin-bottom:14px}.section-header p{max-width:580px;font-size:1.05rem}.section-header.centered{text-align:center}.section-header.centered p{margin-left:auto;margin-right:auto}#footer{color:#ffffffbf;background:#000d1c;border-top:1px solid #ffffff14;padding:clamp(36px,5vw,52px) clamp(20px,5vw,48px) 0}.footer-inner{max-width:1280px;margin:0 auto}.footer-top{grid-template-columns:repeat(auto-fit,minmax(200px,max-content));justify-content:center;align-items:flex-start;gap:clamp(40px,9vw,120px);padding-bottom:36px;display:grid}.footer-col h5{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--white);margin-bottom:16px;font-size:.86rem;font-weight:600}.footer-col ul{flex-direction:column;gap:8px;list-style:none;display:flex}.footer-col ul li a{color:#ffffff94;transition:color var(--transition);font-size:.88rem}.footer-col ul li a:hover,.footer-col ul li button:hover{color:var(--blue-lt)}.footer-col ul li a.has-icon{align-items:center;gap:8px;display:inline-flex}.footer-col ul li button{font:inherit;color:#ffffff94;cursor:pointer;text-align:left;transition:color var(--transition);background:0 0;border:0;padding:0;font-size:.88rem}.footer-name{color:#ffffff94;font-size:.88rem;font-weight:400}.footer-bottom{border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding:14px 0;display:flex}.footer-bottom p{color:#ffffff80;font-size:.78rem}.footer-bottom a{color:#ffffffc7;font-weight:500}.footer-bottom a:hover{color:var(--blue-lt)}@media (width<=1024px){.footer-top{grid-template-columns:1fr 1fr}}@media (width<=768px){.nav-links,.nav-ctas{display:none}.nav-toggle{display:flex}#header.scrolled{-webkit-backdrop-filter:none}.floating-ctas{display:flex}.nav-mobile-open .nav-mobile-menu{border-bottom:1px solid var(--gray-200);z-index:999;background:#ecf4fd;flex-direction:column;max-height:calc(100vh - 64px);display:flex;position:fixed;top:64px;left:0;right:0;overflow-y:auto;box-shadow:0 12px 24px #00285a1a}.nav-mobile-open .nav-links{flex-direction:column;align-items:stretch;gap:2px;width:100%;margin-left:0;padding:8px 16px;display:flex}.nav-mobile-open .nav-links a{text-align:center;width:100%;padding:12px;display:block}.nav-mobile-open .nav-ctas{flex-direction:column;width:100%;padding:8px 16px 16px;display:flex}.nav-mobile-open .nav-ctas .btn{justify-content:center;width:100%}.footer-top{grid-template-columns:1fr}.footer-bottom{text-align:center;flex-direction:column}}.form-group{margin-bottom:14px}.form-group label{color:var(--navy);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{width:100%;font-family:var(--font-body);color:var(--navy);background:var(--white);transition:border-color var(--transition), box-shadow var(--transition);appearance:none;border:1px solid #cbd3e0;border-radius:10px;outline:none;padding:11px 14px;font-size:.92rem}.form-group textarea{resize:vertical;min-height:88px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1c70bc26}.form-group input.error,.form-group textarea.error{border-color:var(--coral);box-shadow:0 0 0 3px #fc345c1a}.form-group .error-msg{color:var(--coral);margin-top:4px;font-size:.75rem;display:none}.form-group .error-msg.visible{display:block}.form-privacy{color:var(--gray-700);margin:4px 0 0;font-size:.75rem;line-height:1.5}.form-privacy a{color:var(--blue);text-decoration:underline}.form-submit-btn{justify-content:center;width:100%;margin-top:6px;padding:14px;font-size:1rem}#form-contacto .form-group-grow{flex-direction:column;flex:1;display:flex}#form-contacto .form-group-grow textarea{flex:1}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%234A5568' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:38px}.form-card-header{margin-bottom:24px}.form-card-header h3{color:var(--navy);margin-bottom:6px;font-size:1.2rem}.form-card-header p{color:var(--gray-400);font-size:.87rem}.form-success{text-align:center;background:var(--lavanda);border-radius:var(--radius-md);margin-top:16px;padding:28px 20px;display:none}.form-success h3,.form-success h4{margin-bottom:6px}.success-icon{background:var(--blue);width:44px;height:44px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;font-weight:700;display:flex}.form-error{border-radius:var(--radius-md);text-align:center;background:#fef2f2;border:1px solid #fecaca;margin-top:16px;padding:16px 20px}.form-error h3,.form-error h4{color:#b91c1c;margin-bottom:4px;font-size:1rem}.form-error p{color:#7f1d1d;font-size:.88rem}.form-success.visible{display:block}.form-success-icon{background:#1c70bc1a;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;display:flex}.form-success-icon svg{width:28px;height:28px;fill:var(--blue)}.cc-banner[hidden],.cc-overlay[hidden]{display:none}.cc-banner{z-index:2000;background:var(--white);color:var(--navy);border-top:3px solid var(--blue);max-height:90vh;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 32px #00152d33}.cc-banner:focus{outline:none}.cc-inner{align-items:center;gap:24px;max-width:1100px;margin:0 auto;padding:18px 20px;display:flex}.cc-text{flex:1}.cc-text h2,.cc-modal h2{font-family:var(--font-body);color:var(--navy);margin-bottom:6px;font-size:1.05rem;font-weight:700}.cc-text p,.cc-modal p{color:var(--gray-700);font-size:.9rem;line-height:1.55}.cc-banner a,.cc-modal a{color:var(--blue-dk);text-decoration:underline}.cc-actions{flex-shrink:0;gap:10px;display:flex}.cc-btn{font-family:var(--font-body);background:var(--navy);min-height:44px;color:var(--white);border:2px solid var(--navy);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);padding:11px 18px;font-size:.9rem;font-weight:700;line-height:1.2}.cc-btn:hover{background:var(--blue-dk);border-color:var(--blue-dk)}.cc-btn:focus-visible,.cc-banner a:focus-visible,.cc-modal a:focus-visible,.cc-cat input:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.cc-overlay{z-index:2100;background:#00152d99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.cc-modal{background:var(--white);border-radius:var(--radius-md);width:100%;max-width:520px;max-height:100%;padding:24px;overflow-y:auto}.cc-modal:focus{outline:none}.cc-modal h2{font-size:1.2rem}.cc-cat{border-top:1px solid var(--gray-200);padding:14px 0}.cc-cat-head{color:var(--navy);cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:.95rem;font-weight:700;display:flex}.cc-cat input[type=checkbox]{appearance:none;background:var(--gray-700);cursor:pointer;width:44px;height:24px;transition:background var(--transition);border-radius:999px;flex-shrink:0;position:relative}.cc-cat input[type=checkbox]:after{content:"";background:var(--white);width:18px;height:18px;transition:transform var(--transition);border-radius:50%;position:absolute;top:3px;left:3px}.cc-cat input[type=checkbox]:checked{background:var(--blue-dk)}.cc-cat input[type=checkbox]:checked:after{transform:translate(20px)}.cc-cat input[type=checkbox]:disabled{cursor:not-allowed;opacity:.7}.cc-actions-modal{border-top:1px solid var(--gray-200);flex-wrap:wrap;padding-top:18px}.cc-actions-modal .cc-btn{flex:auto}@media (width<=768px){.cc-inner{flex-direction:column;align-items:stretch;gap:14px;padding:16px}.cc-actions{flex-direction:column}.cc-btn{width:100%}}@media (prefers-reduced-motion:reduce){.cc-btn,.cc-cat input[type=checkbox],.cc-cat input[type=checkbox]:after{transition:none}}
