:root{--navy:#1e2761;--navy-deep:#080b24;--navy-mid:#141a45;--sky:#0ea5e9;--sky-soft:#5fd4ff;--ice:#cadcfc;--paper:#f7f9fc;--ink:#14172b;--muted:#5b6584;--white:#fff;--radius:18px;--maxw:1180px;--ease-out:cubic-bezier(.16,.8,.28,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;line-height:1.65;overflow-x:hidden}h1,h2,h3{color:var(--navy);text-wrap:balance;margin:0 0 .5em;font-family:Fraunces,Georgia,serif;line-height:1.08}p{text-wrap:pretty}a{color:inherit}img,svg{display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}section{padding:120px 0;position:relative}@media (max-width:640px){section{padding:76px 0}}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.eyebrow{letter-spacing:.15em;text-transform:uppercase;color:var(--sky);margin:0 0 1em;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:500;display:block}.progress-bar{background:linear-gradient(90deg, var(--sky), var(--sky-soft));z-index:200;width:0%;height:2px;transition:width 50ms linear;position:fixed;top:0;left:0}.site-header{z-index:100;-webkit-backdrop-filter:blur(18px)saturate(160%);transition:box-shadow .3s var(--ease-out), background .3s var(--ease-out);background:#080b249e;border-bottom:1px solid #ffffff14;position:sticky;top:0}.site-header.scrolled{background:#080b24d1;box-shadow:0 12px 30px -18px #00000080}.header-inner{max-width:var(--maxw);justify-content:space-between;align-items:center;height:68px;margin:0 auto;padding:0 24px;display:flex}.logo{color:var(--white);letter-spacing:-.01em;font-family:Fraunces,serif;font-size:1.3rem;font-weight:600;text-decoration:none}.nav-links{gap:30px;margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:#ffffffd1;font-size:.92rem;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--sky-soft)}.nav-cta{background:var(--sky);color:var(--navy-deep);transition:transform .12s var(--ease-out), background .2s;border-radius:999px;padding:10px 20px;font-size:.88rem;font-weight:600;text-decoration:none}.nav-cta:hover{background:var(--sky-soft)}.nav-cta.is-pressed,.btn.is-pressed{transform:scale(.96)}.nav-toggle{cursor:pointer;background:0 0;border:none;width:38px;height:38px;padding:8px;display:none}.nav-toggle span{background:var(--white);width:20px;height:2px;margin:5px auto;transition:transform .2s,opacity .2s;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)}@media (max-width:880px){.nav-links{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);max-height:0;transition:max-height .3s var(--ease-out);background:#080b24f7;flex-direction:column;gap:0;padding:8px 0;position:fixed;inset:68px 0 0;overflow:hidden}.nav-links.open{max-height:420px}.nav-links a{border-top:1px solid #ffffff14;padding:18px 28px;font-size:1.05rem;display:block}.nav-toggle{display:block}.nav-cta{display:none}}.btn-row{flex-wrap:wrap;gap:14px;display:flex}.btn{cursor:pointer;transition:transform .12s var(--ease-out), background .2s, border-color .2s;will-change:transform;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:15px 26px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--sky);color:var(--navy-deep)}.btn-primary:hover{background:var(--sky-soft)}.btn-ghost{color:var(--white);border-color:#ffffff4d}.btn-ghost:hover{border-color:var(--white);background:#ffffff0f}.btn-dark{background:var(--navy);color:var(--white)}.btn-dark:hover{background:var(--navy-mid)}.hero{background:radial-gradient(1000px 480px at 82% -8%, #2a3b8f 0%, var(--navy) 48%, var(--navy-deep) 100%);color:var(--white);z-index:0;flex-direction:column;justify-content:center;min-height:88vh;margin-top:-68px;padding:144px 0 64px;display:flex;position:relative;overflow:hidden}.hero-inner{text-align:center;max-width:760px;margin:0 auto;padding:0 24px}.hero-title{color:var(--white);letter-spacing:-.03em;font-size:clamp(2.4rem,6vw,4.6rem);font-weight:500;line-height:1.03}.hero-title em{color:var(--sky-soft);background:linear-gradient(#0000 62%,#5fd4ff38 62%);font-style:normal}.hero-lead{color:var(--ice);max-width:52ch;margin:22px auto 34px;font-size:1.12rem}.hero .btn-row{justify-content:center}.scroll-cue{letter-spacing:.12em;text-transform:uppercase;color:#ffffff8c;flex-direction:column;align-items:center;gap:10px;margin:56px auto 0;font-family:IBM Plex Mono,monospace;font-size:.7rem;display:flex}.scroll-cue span{background:linear-gradient(var(--sky-soft), transparent);width:1px;height:34px;animation:1.6s ease-in-out infinite cue-flow}@keyframes cue-flow{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.scroll-cue span{opacity:.6;animation:none}}.pin-wrap{position:relative}.pin-stage{flex-direction:column;justify-content:center;align-items:center;height:100vh;min-height:560px;padding:32px 24px;display:flex;position:sticky;top:0;overflow:hidden}html.reduced-motion .pin-wrap{height:auto!important}html.reduced-motion .pin-stage{min-height:0;padding:80px 24px;height:auto!important;position:static!important}#ensamblaje{height:340vh;padding:0}.assembly-stage{background:radial-gradient(900px 500px at 50% 15%, #1c2568 0%, var(--navy-deep) 65%);color:var(--white);text-align:center;gap:clamp(20px,3vw,36px)}.assembly-stage .scene-eyebrow{margin:0}.kinetic-lines{width:min(100%,760px);height:clamp(120px,20vw,190px);position:relative}.k-line{letter-spacing:-.02em;color:var(--white);opacity:0;justify-content:center;align-items:center;margin:0;padding:0 8px;font-family:Fraunces,serif;font-size:clamp(1.5rem,4vw,2.6rem);font-weight:500;line-height:1.15;display:flex;position:absolute;inset:0}.k-line em{color:var(--sky-soft);font-style:normal}html.reduced-motion .k-line{margin-bottom:.6em;position:relative;opacity:1!important}html.reduced-motion .kinetic-lines{flex-direction:column;height:auto;display:flex}.assembly-core{flex-direction:column;align-items:center;gap:18px;display:flex}.core-box{width:clamp(220px,32vw,300px);height:clamp(220px,32vw,300px);transition:border-color .4s var(--ease-out), background .4s var(--ease-out), border-style 10ms;border:2px dashed #ffffff59;border-radius:22px;grid-template-rows:1fr 1fr auto;grid-template-columns:1fr 1fr;place-items:center;gap:10px;padding:18px;display:grid;position:relative}.core-box.solid{border-style:solid;border-color:var(--sky);background:#0ea5e914}.core-chip{width:100%;height:100%;min-height:64px;color:var(--white);text-align:center;opacity:0;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:.66rem;font-weight:600;display:flex}.core-chip svg{width:22px;height:22px;stroke:var(--sky-soft)}.core-chip[data-chip="4"]{grid-column:1/span 2}html.reduced-motion .core-chip{opacity:1!important;transform:none!important}.assembly-caption{letter-spacing:.08em;color:var(--ice);opacity:0;margin:0;font-family:IBM Plex Mono,monospace;font-size:.78rem}html.reduced-motion .assembly-caption{opacity:1!important;transform:none!important}.problema{background:var(--paper)}.section-head{max-width:640px;margin-bottom:52px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.section-head h2{letter-spacing:-.02em;font-size:clamp(1.7rem,3.4vw,2.4rem)}.section-head p{color:var(--muted);margin:0;font-size:1.04rem}.grid-3{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}@media (max-width:800px){.grid-3{grid-template-columns:1fr}}.p-card{background:var(--white);border-radius:var(--radius);border:1px solid #1e27610d;padding:30px;box-shadow:0 14px 34px -22px #1e27614d}.icon-circle{background:var(--navy);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;margin-bottom:18px;display:flex}.icon-circle svg{width:22px;height:22px;stroke:var(--white)}.p-card h3{color:var(--ink);margin-bottom:8px;font-family:IBM Plex Sans,sans-serif;font-size:1.05rem;font-weight:600}.p-card p{color:var(--muted);margin:0;font-size:.94rem}.reveal{opacity:1;transform:none}html:not(.reduced-motion) .reveal{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:translateY(22px)}html:not(.reduced-motion) .reveal.is-visible{opacity:1;transform:none}.reveal-1{transition-delay:50ms}.reveal-2{transition-delay:.15s}.reveal-3{transition-delay:.25s}.reveal-4{transition-delay:.35s}#servicios{height:320vh;padding:0}.gallery-stage{background:var(--paper);justify-content:flex-start;padding-top:clamp(48px,8vh,96px)}.gallery-head{text-align:center;max-width:640px;margin:0 auto 8px}.gallery-head h2{letter-spacing:-.02em;font-size:clamp(1.7rem,3.4vw,2.4rem)}.gallery-track-wrap{flex:1;align-items:center;width:100%;max-width:100%;margin:24px 0;display:flex;overflow:hidden}.gallery-track{gap:22px;padding:8px calc(50vw - 150px);display:flex}@media (max-width:760px){.gallery-track{padding:8px calc(50vw - 120px)}}.g-card{background:var(--white);border-radius:var(--radius);border:1px solid #1e27610f;flex-direction:column;flex:none;width:300px;min-height:320px;padding:32px 26px;transition:transform 50ms linear,opacity 50ms linear;display:flex;box-shadow:0 20px 50px -26px #1e276159}@media (max-width:760px){.g-card{width:240px;min-height:290px;padding:26px 20px}}.g-card .icon-circle{background:var(--sky)}.g-card h3{margin:6px 0 10px;font-size:1.15rem}.g-card p{color:var(--muted);flex:1;margin:0;font-size:.94rem}.g-card .g-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--sky);margin-top:14px;font-family:IBM Plex Mono,monospace;font-size:.68rem}html.reduced-motion .gallery-track-wrap{padding-bottom:12px;overflow-x:auto}html.reduced-motion .gallery-track{padding:8px 24px}html.reduced-motion .g-card{opacity:1!important;transform:none!important}.gallery-dots{justify-content:center;gap:8px;padding-bottom:8px;display:flex}.g-dot{background:#d7ddec;border-radius:50%;width:7px;height:7px;transition:background .2s,transform .2s}.g-dot.active{background:var(--sky);transform:scale(1.35)}html.reduced-motion .gallery-dots{display:none}.proceso{background:var(--white)}.steps{grid-template-columns:repeat(4,1fr);gap:34px;display:grid;position:relative}@media (max-width:820px){.steps{grid-template-columns:1fr;gap:36px}}.step{text-align:center;position:relative}@media (max-width:820px){.step{text-align:left;align-items:flex-start;gap:18px;display:flex}}.step .num{background:var(--navy);width:46px;height:46px;color:var(--white);z-index:2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0 auto 16px;font-family:IBM Plex Mono,monospace;font-weight:700;display:flex;position:relative}.step:last-child .num{background:var(--sky);color:var(--navy-deep)}@media (max-width:820px){.step .num{margin:0}}.step h3{color:var(--ink);margin-bottom:6px;font-family:IBM Plex Sans,sans-serif;font-size:1.02rem;font-weight:600}.step p{color:var(--muted);margin:0;font-size:.9rem}.steps-line{z-index:1;height:2px;position:absolute;top:23px;left:12.5%;right:12.5%}.steps-line svg{width:100%;height:2px;display:block;overflow:visible}.steps-line line{stroke:#e7ebf5;stroke-width:2px}.steps-line .drawn{stroke:var(--sky);stroke-width:2px;stroke-dasharray:1000;stroke-dashoffset:1000px;transition:stroke-dashoffset 1.4s var(--ease-out)}.steps-line.draw .drawn{stroke-dashoffset:0}html.reduced-motion .steps-line .drawn{stroke-dashoffset:0;transition:none}@media (max-width:820px){.steps-line{display:none}}.porque{background:radial-gradient(1000px 480px at 15% 110%, #263283 0%, var(--navy) 55%, var(--navy-deep) 100%);color:var(--white)}.porque .section-head h2{color:var(--white)}.porque .section-head p{color:var(--ice)}.grid-2{grid-template-columns:1fr 1fr;gap:22px;display:grid}@media (max-width:700px){.grid-2{grid-template-columns:1fr}}.d-card{-webkit-backdrop-filter:blur(14px);border-radius:var(--radius);transition:transform .3s var(--ease-out), background .3s;background:#ffffff0d;border:1px solid #ffffff21;align-items:flex-start;gap:18px;padding:28px;display:flex}.d-card:hover{background:#ffffff14;transform:translateY(-3px)}.d-card .icon-circle{background:var(--sky);flex-shrink:0;margin-bottom:0}.d-card .icon-circle svg{stroke:var(--navy-deep)}.d-card h3{color:var(--white);margin-bottom:6px;font-family:IBM Plex Sans,sans-serif;font-size:1.04rem;font-weight:600}.d-card p{color:var(--ice);margin:0;font-size:.9rem}.cotizador{background:var(--paper)}.cz-box{background:var(--white);border:1px solid #1e27610d;border-radius:24px;max-width:840px;margin:0 auto;padding:40px;box-shadow:0 24px 60px -30px #1e276152}@media (max-width:600px){.cz-box{padding:26px 20px}}.cz-step-label{letter-spacing:.1em;text-transform:uppercase;color:var(--sky);margin-bottom:10px;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:600;display:block}.cz-question{color:var(--navy);margin:0 0 18px;font-family:Fraunces,serif;font-size:1.18rem;font-weight:500}.cz-options{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:38px;display:grid}@media (max-width:700px){.cz-options{grid-template-columns:repeat(2,1fr)}}@media (max-width:460px){.cz-options{grid-template-columns:1fr}}.cz-card{text-align:center;cursor:pointer;transition:border-color .15s, background .15s, transform .1s var(--ease-out);-webkit-user-select:none;user-select:none;background:var(--white);border:2px solid #e7ebf5;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:18px 14px;display:flex;position:relative}.cz-card:hover{border-color:var(--ice);transform:translateY(-2px)}.cz-card.is-pressed{transform:scale(.97)}.cz-card.selected{border-color:var(--sky);background:#f0f9ff}.cz-card .icon-circle{width:42px;height:42px;margin:0}.cz-card svg{width:20px;height:20px}.cz-card span{color:var(--ink);font-size:.85rem;font-weight:600}.cz-check{background:var(--sky);width:20px;height:20px;color:var(--navy-deep);opacity:0;border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;transition:opacity .15s,transform .15s;display:flex;position:absolute;top:8px;right:8px;transform:scale(.5)}.cz-card.selected .cz-check{opacity:1;transform:scale(1)}.cz-toggle-row{flex-wrap:wrap;gap:14px;margin-bottom:36px;display:flex}.cz-toggle{text-align:center;cursor:pointer;min-width:140px;color:var(--ink);transition:border-color .15s, background .15s, transform .1s var(--ease-out);border:2px solid #e7ebf5;border-radius:14px;flex:1;padding:16px;font-size:.92rem;font-weight:600}.cz-toggle:hover{border-color:var(--ice)}.cz-toggle.is-pressed{transform:scale(.97)}.cz-toggle.selected{border-color:var(--sky);color:var(--navy);background:#f0f9ff}.cz-summary{background:var(--paper);opacity:0;max-height:0;transition:max-height .35s var(--ease-out), opacity .3s, padding .35s;border-radius:14px;margin-bottom:24px;padding:0 22px;overflow:hidden}.cz-summary.show{opacity:1;max-height:200px;padding-top:20px;padding-bottom:20px}.cz-summary h4{color:var(--navy);margin:0 0 10px;font-family:IBM Plex Sans,sans-serif;font-size:.95rem;font-weight:700}.cz-chips{flex-wrap:wrap;gap:8px;display:flex}.cz-chip{background:var(--navy);color:var(--white);border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:600}.cz-actions{flex-wrap:wrap;gap:14px;display:flex}.cz-hint{color:var(--muted);margin:14px 0 0;font-size:.85rem}.contacto{background:var(--white)}.contacto .wrap{grid-template-columns:1fr 1.15fr;align-items:start;gap:64px;display:grid}@media (max-width:860px){.contacto .wrap{grid-template-columns:1fr;gap:40px}}.contact-info h2{letter-spacing:-.02em;font-size:clamp(1.7rem,3.4vw,2.4rem)}.contact-info p{color:var(--muted)}.info-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;font-size:.95rem;display:flex}.info-row .icon-circle{flex-shrink:0;width:38px;height:38px;margin:0}.info-row .icon-circle svg{width:18px;height:18px}.copy-btn{color:var(--muted);cursor:pointer;background:0 0;border:1.5px solid #e7ebf5;border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:border-color .2s,color .2s}.copy-btn:hover{border-color:var(--sky);color:var(--sky)}form{background:var(--paper);border-radius:var(--radius);border:1px solid #1e27610d;flex-direction:column;gap:20px;padding:44px;display:flex;box-shadow:0 14px 40px #1e276114}@media (max-width:520px){form{padding:28px 22px}}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:520px){.form-row{grid-template-columns:1fr}}label{color:var(--ink);margin-bottom:-10px;font-size:.88rem;font-weight:600;display:block}input,textarea{background:var(--white);width:100%;color:var(--ink);border:1.5px solid #d7ddec;border-radius:12px;padding:15px 16px;font-family:inherit;font-size:1rem;display:block}input:focus,textarea:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 3px #0ea5e924}textarea{resize:vertical;min-height:130px;font-family:inherit}form .btn-primary{border:none;justify-content:center;width:100%;margin-top:6px;padding:16px;font-size:1.02rem}footer{background:var(--navy-deep);color:var(--ice);padding:34px 0;font-size:.85rem}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}footer a{color:var(--ice);opacity:.85;text-decoration:none}footer a:hover{opacity:1}.form-success{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:16px 8px;display:flex}.success-check{width:60px;height:60px}.success-check-circle{stroke:var(--sky);stroke-width:2.5px;stroke-dasharray:151;stroke-dashoffset:151px;animation:.5s forwards draw-circle}.success-check-mark{stroke:var(--sky);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36px;animation:.35s .45s forwards draw-check}@keyframes draw-circle{to{stroke-dashoffset:0}}@keyframes draw-check{to{stroke-dashoffset:0}}.form-success p{color:var(--navy);opacity:0;margin:0;font-size:1rem;font-weight:600;animation:.4s .75s forwards fade-up}.form-success .btn{opacity:0;animation:.4s .9s forwards fade-up}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}html.reduced-motion .success-check-circle,html.reduced-motion .success-check-mark,html.reduced-motion .form-success p,html.reduced-motion .form-success .btn{stroke-dashoffset:0;opacity:1;transform:none;animation:none!important}#formMsg.error{color:#b3261e;margin:0;font-size:.88rem}
