:root{--ink:#101d21;--ink2:#18282b;--dark:#0e171b;--dark2:#12252a;--teal:#08bab9;--teal-dark:#009c99;--teal-light:#36d0cb;--mint:#c5f2e9;--icon-bg:#ecf7f3;--icon-fg:#028f8b;--paper:#f7f8f5;--white:#fff;--muted:#617176;--border:#dfe7e4;--font:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--r:22px;--wrap:1200px;
  /* acentos complementarios — SOLO para detalles puntuales (íconos, marcas de fondo).
     El turquesa sigue siendo el color de marca en botones, links, logo y CTAs: no se toca. */
  --violet:#6C6BF5;--violet-bg:#EFEEFF;--violet-fg:#5A4FE0;
  --amber:#FF7A45;--amber-bg:#FFEFE6;--amber-fg:#D9561F;
  --coral:#FF5C8A;--coral-bg:#FFE9EF;--coral-fg:#D93A68;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px}button{cursor:pointer}img,svg{max-width:100%}p,h1,h2,h3{margin-top:0}h1,h2{text-wrap:balance}section{overflow:clip}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(22px,4vw,40px)}.skip-link{position:absolute;z-index:99;left:18px;top:-90px;padding:12px 18px;border-radius:10px;background:#fff;color:#000}.skip-link:focus{top:12px}.site-header{height:82px;background:var(--dark);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.08);transition:box-shadow .2s}.site-header.scrolled{box-shadow:0 10px 40px rgba(0,0,0,.17)}.nav-shell{height:100%;display:flex;align-items:center;gap:25px}.brand-link{display:flex;flex:1;align-items:center}.brand-link img{width:169px;height:auto}.site-nav{display:flex;align-items:center;gap:32px}.site-nav a{font-size:12px;font-weight:650;color:#c5d3d2;transition:color .2s}.site-nav a:hover{color:#fff}.nav-cta{flex-shrink:0;border:1px solid rgba(255,255,255,.24);color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:12px 17px;transition:background .2s,border-color .2s}.nav-cta:hover{background:#20373c;border-color:var(--teal)}.nav-cta span,.button span,.text-link span{margin-left:9px;display:inline-block;transition:translate .25s cubic-bezier(.3,.7,.4,1.5)}.nav-cta:hover span,.button-primary:hover span,.text-link:hover span{translate:3px -2px}.button-ghost:hover span{translate:0 3px}
/* HERO */
.hero{background:var(--dark);color:#fff;position:relative;isolation:isolate}.hero:before{content:'';position:absolute;width:850px;height:850px;right:-280px;top:-250px;border-radius:50%;background:radial-gradient(circle,rgb(from var(--teal) r g b / .22),rgb(from var(--teal-dark) r g b / .09) 40%,transparent 70%);pointer-events:none;z-index:-1}.hero-grid-pattern{position:absolute;inset:0;z-index:-1;opacity:.2;background-image:linear-gradient(rgba(148,195,190,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(148,195,190,.16) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 12%,black 75%)}.hero-layout{min-height:670px;display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center;padding-top:60px;padding-bottom:62px}.hero-content{position:relative;z-index:2}.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:29px;font-size:10.5px;letter-spacing:.20em;font-weight:800;color:#53716d}.light-eyebrow{color:#a3c3c2}.small-spark{width:8px;height:8px;background:var(--teal);border-radius:3px;rotate:45deg;box-shadow:0 0 0 5px rgb(from var(--teal) r g b / .12);display:inline-block;animation:spark-pulse 2.6s ease-in-out infinite}.hero h1{font-size:clamp(51px,5.65vw,86px);line-height:1.09;letter-spacing:-.067em;font-weight:800;margin-bottom:28px;max-width:740px}.hero h1 .accent-underline{position:relative;color:#f7f9f8;white-space:nowrap}.hero h1 .accent-underline:after{content:'';position:absolute;left:0;bottom:-9px;width:95%;height:7px;background:var(--teal);border-radius:60%;transform:rotate(-1deg);opacity:.9}.teal-dot{color:var(--teal)}.hero-intro{font-size:15px;line-height:1.9;max-width:505px;color:#bdccca;margin-bottom:31px}.hero-actions{display:flex;gap:11px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 22px;border:1px solid transparent;font-weight:750;font-size:12px;white-space:nowrap;min-height:49px;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--teal);color:#062225}.button-primary:hover{background:var(--teal-light)}.button-ghost{color:#e7eeee;border-color:#405357}.button-ghost:hover{background:#1e343a;border-color:#708889}.hero-note{color:#9ab0b1;font-size:11px;line-height:1.5;display:flex;align-items:center;gap:12px;margin-top:54px;max-width:440px}.note-stroke{width:27px;height:1px;background:var(--teal);flex:none}.hero-visual{height:515px;position:relative;display:flex;justify-content:center;align-items:center;min-width:0}.visual-halo{position:absolute;width:80%;aspect-ratio:1;max-width:450px;border-radius:50%;background:radial-gradient(circle,rgb(from var(--teal) r g b / .12),transparent 65%);filter:blur(8px)}.orbit{position:absolute;border:1px solid rgb(from var(--teal-light) r g b / .35);border-radius:50%;rotate:-19deg}.orbit-one{width:89%;height:76%;animation:spin-cw 70s linear infinite}.orbit-two{width:108%;height:92%;border-style:dashed;opacity:.75;animation:spin-ccw 95s linear infinite}@keyframes spin-cw{to{rotate:341deg}}@keyframes spin-ccw{to{rotate:-379deg}}.build-card{position:relative;z-index:3;width:min(390px,93%);background:#f9fbf9;border-radius:21px;box-shadow:0 30px 100px rgba(0,0,0,.42),0 2px 10px rgba(0,0,0,.16);color:var(--ink);rotate:-2deg;overflow:hidden;transition:rotate .5s,translate .5s;animation:card-float 5s ease-in-out infinite alternate}.hero-visual:hover .build-card{animation-play-state:paused;rotate:0deg;translate:0 -5px}@keyframes card-float{to{translate:0 -10px}}.build-card-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eaf0ec;padding:21px 23px}.build-kicker{font-size:10px;letter-spacing:.13em;font-weight:800;color:#657772}.build-dots{display:flex;gap:5px}.build-dots i{width:6px;height:6px;border-radius:50%;background:#d3ddda}.build-dots i:first-child{background:var(--teal)}.build-steps{padding:27px 24px 22px}.build-step{display:flex;gap:15px;align-items:center;position:relative}.build-step>div:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}.build-step small{font-size:10px;color:#80908e;font-weight:700}.build-step strong{font-size:15px;letter-spacing:-.02em}.step-symbol{width:53px;height:53px;display:grid;place-items:center;border-radius:16px;flex-shrink:0}.seed-symbol{background:#eff4f2}.seed-symbol span{width:17px;height:17px;border:4px solid #4d7069;border-radius:50%;box-shadow:0 0 0 7px #dfebe7}.build-symbol{background:#112126}.build-symbol img{width:37px;height:34px}.solved-symbol{background:var(--icon-bg);color:var(--icon-fg);font-size:29px;font-weight:800}.step-check{font-size:12px;font-weight:800;color:var(--teal-dark)}.step-pulse{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 rgb(from var(--teal) r g b / .45);animation:live-pulse 1.8s ease-out infinite}@keyframes live-pulse{70%{box-shadow:0 0 0 9px rgb(from var(--teal) r g b / 0)}100%{box-shadow:0 0 0 0 rgb(from var(--teal) r g b / 0)}}.flow-line{height:35px;width:2px;background:linear-gradient(to bottom,#cddcda,var(--teal));margin:7px 0 7px 26px;position:relative}.flow-line span{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--teal);top:15px;left:-2px}.build-card-footer{background:#eff5f2;padding:17px 22px;color:#4a6962;display:flex;gap:9px;align-items:center;font-size:10px;font-weight:700}.footer-green-dot{width:7px;height:7px;background:var(--teal);border-radius:50%}.float-label{position:absolute;z-index:5;background:rgba(26,47,50,.96);border:1px solid #37545a;color:#f3f8f6;box-shadow:0 20px 40px rgba(0,0,0,.19);font-size:10px;font-weight:700;letter-spacing:.02em;border-radius:12px;padding:13px 15px;display:flex;gap:9px;align-items:center}.float-top{top:31px;right:5px;rotate:4deg;animation:label-float 6s ease-in-out infinite alternate}.float-bottom{bottom:26px;left:0;rotate:3deg;animation:label-float 7s ease-in-out infinite alternate-reverse}@keyframes label-float{to{translate:0 -9px}}.float-check,.label-icon{display:grid;place-items:center;color:var(--teal);font-size:16px}.visual-dot{position:absolute;background:var(--teal);width:9px;height:9px;border-radius:50%;opacity:.65}.dot-a{top:88px;left:40px}.dot-b{bottom:90px;right:20px;width:5px;height:5px}.dot-c{right:60px;top:125px;width:5px;height:5px}.hero-bottom{padding-top:0;padding-bottom:21px;display:flex;justify-content:space-between;align-items:center;color:#8b9d9d;font-size:10px;letter-spacing:.02em}.scroll-cue{display:flex;align-items:center;gap:14px}.scroll-cue span{color:var(--teal);font-size:18px;display:inline-block;transition:translate .25s cubic-bezier(.3,.7,.4,1.5);animation:cue-bounce 1.6s ease-in-out infinite}.scroll-cue:hover span{animation-play-state:paused}@keyframes cue-bounce{0%,100%{translate:0 0}50%{translate:0 5px}}.value-strip{background:#eaf1ed;border-bottom:1px solid #dce7e1}.value-strip-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-top:24px;padding-bottom:24px}.value-strip-inner>div{font-size:12px;font-weight:700;display:flex;align-items:center;gap:14px;color:#344b49}.value-strip-inner>div:not(:last-child){border-right:1px solid #cddad6}.strip-spark{font-size:19px;color:var(--teal-dark);display:inline-block;animation:spark-pulse 2.6s ease-in-out infinite}.value-strip-inner>div:nth-child(2) .strip-spark{animation-delay:.3s}.value-strip-inner>div:nth-child(3) .strip-spark{animation-delay:.6s}@keyframes spark-pulse{0%,100%{opacity:1;scale:1}50%{opacity:.5;scale:.8}}
/* SECTIONS */
.section{padding:120px 0}.services-section{padding:90px 0}.section-index{color:var(--teal-dark);font-size:12px;letter-spacing:0;display:inline-grid;place-items:center;min-width:27px;height:27px;border:1px solid rgb(from var(--teal) r g b / .4);border-radius:8px}.section-top{display:grid;grid-template-columns:245px 1fr;gap:30px;margin-bottom:30px}.section-top .eyebrow{padding-top:17px}.section-title-group{display:flex;align-items:end;justify-content:space-between;gap:40px}.section-title-group>p{max-width:320px;color:var(--muted);line-height:1.85;font-size:13px;margin-bottom:4px}.section h2{font-size:clamp(37px,4vw,55px);line-height:1.19;letter-spacing:-.055em;font-weight:800;margin-bottom:0}.section h2 em{font-style:normal;color:var(--teal-dark)}.services-section{background:#f8f9f6}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{border:1px solid #dce6e2;border-radius:18px;padding:24px 23px 22px;background:white;min-height:272px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}.service-card:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--teal);scale:1 0;transform-origin:bottom;transition:scale .4s cubic-bezier(.22,.9,.3,1)}.service-card:has(.icon-violet):before{background:var(--violet)}.service-card:has(.icon-amber):before{background:var(--amber)}.service-card:has(.icon-coral):before{background:var(--coral)}.service-card:hover{transform:translateY(-5px);border-color:#a3d2ca;box-shadow:0 18px 36px rgba(26,58,52,.07)}.service-card:hover:before{scale:1 1}.service-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--icon-bg);color:var(--icon-fg);flex:none;margin-bottom:18px;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.service-card:hover .service-icon{transform:scale(1.1) rotate(-6deg)}.service-icon svg{width:31px;height:31px}.service-number{color:#8a9897;letter-spacing:.11em;font-size:9px;font-weight:800;margin-bottom:14px}.service-card h3{font-size:18px;line-height:1.35;letter-spacing:-.035em;margin-bottom:10px}.service-card p{color:#68787a;font-size:12px;line-height:1.8;margin-bottom:15px}.service-tags{color:var(--teal-dark);margin-top:auto;font-size:9.5px;font-weight:700;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.service-tags i{width:3px;height:3px;background:var(--teal);border-radius:50%}.service-card-wide{grid-column:span 4;min-height:172px;display:grid;grid-template-columns:1.3fr 1fr;padding:0;overflow:hidden;position:relative}.wide-service-copy{padding:20px 29px}.wide-service-copy .service-icon{margin-bottom:12px}.wide-service-copy h3{margin-bottom:8px}.wide-service-copy p{max-width:570px;margin-bottom:0}.creative-visual{position:relative;background:var(--icon-bg);overflow:hidden}.creative-ring{position:absolute;border:2px solid rgb(from var(--teal) r g b / .16);border-radius:50%;width:300px;height:300px;top:-90px;right:-30px}.ring-2{width:220px;height:220px;top:-50px;right:10px;border-color:rgb(from var(--teal) r g b / .3)}.creative-tile{width:80px;height:80px;border-radius:23px;position:absolute;display:grid;place-items:center;box-shadow:0 20px 45px rgba(8,63,54,.15);font-size:45px;font-weight:800}.tile-one{background:#142e30;color:#d5f4ec;left:25%;top:27%;transform:rotate(-12deg)}.tile-two{background:var(--teal);color:#08302e;right:17%;top:15%;transform:rotate(16deg)}.tile-three{background:linear-gradient(140deg,var(--amber),var(--coral));width:60px;height:60px;right:35%;bottom:-18px;transform:rotate(-25deg)}
/* comparison */
.problem-section{background:#e9f0ec}.problem-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:80px}.problem-copy h2{max-width:460px;margin-bottom:28px}.cta-call{margin-top:22px;position:relative}.cta-call:before{content:'';position:absolute;inset:-6px;border-radius:999px;border:2px solid var(--teal);pointer-events:none;animation:cta-ring 2.2s ease-out infinite}@keyframes cta-ring{0%{opacity:.6;scale:1}100%{opacity:0;scale:1.16}}.problem-copy>p:not(.eyebrow){font-size:14px;line-height:1.95;color:#556966;max-width:440px}.text-link{display:inline-flex;align-items:center;color:var(--teal-dark);font-size:13px;font-weight:800;margin-top:14px;border-bottom:1px solid rgb(from var(--teal) r g b / .55);padding-bottom:7px}.comparison{background:#fff;border:1px solid #dae6df;border-radius:22px;overflow:hidden;box-shadow:0 20px 60px rgba(17,59,51,.045);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}.comparison:hover{transform:translateY(-6px);box-shadow:0 30px 70px rgba(17,59,51,.1)}.comparison-top{padding:27px 30px 19px;display:flex;justify-content:space-between;gap:15px;align-items:start}.comparison-heading{font-weight:800;letter-spacing:-.03em;font-size:16px}.comparison-caption{letter-spacing:.1em;font-size:8px;color:#687a78;font-weight:800;flex:none}.scenario-tabs{padding:0 30px 21px;display:flex;gap:8px;flex-wrap:wrap}.scenario-tab{background:#f4f7f5;border:1px solid #e5eeea;padding:9px 14px;border-radius:999px;font-size:10px;font-weight:800;color:#61736c;transition:background .2s,border-color .2s,color .2s,scale .3s cubic-bezier(.34,1.56,.64,1)}.scenario-tab:hover{scale:1.05}.scenario-tab.active{background:var(--icon-bg);border-color:rgb(from var(--teal) r g b / .45);color:var(--teal-dark);scale:1.07}.comparison-columns{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e8eeeb}.comparison-before,.comparison-after{padding:24px 22px 20px;min-height:234px}.comparison-before{background:#f5f6f4}.comparison-after{background:rgb(from var(--teal) r g b / .1)}.compare-label{font-size:10px;letter-spacing:.15em;font-weight:850;display:flex;align-items:center;gap:8px;color:#687774}.comparison-after .compare-label{color:var(--teal-dark)}.compare-circle{width:22px;height:22px;border:1px solid #cbd5d0;border-radius:50%;display:grid;place-items:center;font-size:13px;transition:scale .3s cubic-bezier(.34,1.56,.64,1)}.comparison:hover .compare-circle{scale:1.12}.comparison-after .compare-circle{background:rgb(from var(--teal) r g b / .5);border-color:rgb(from var(--teal) r g b / .5)}.comparison-columns ul{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:14px;transition:opacity .16s ease,translate .16s ease}.comparison-columns ul.swapping{opacity:0;translate:0 6px}.comparison-columns li{font-size:11px;line-height:1.5;color:#5d6b69;display:flex;align-items:flex-start;gap:8px}.comparison-columns li:before{content:'';width:5px;height:5px;flex:none;border-radius:50%;background:#adb8b4;margin-top:6px}.comparison-after li:before{background:var(--teal)}.comparison-after li{color:#2b5a52}.comparison-footnote{padding:15px 24px;margin:0;color:#6c7976;font-size:9px}
/* process */
.process-section{background:#f8f9f6}.process-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:48px}.process-intro>p{color:#667675;font-size:14px;line-height:1.9;max-width:440px;margin-bottom:3px;margin-left:auto}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.process-step{background:#fff;border:1px solid #e1e9e6;border-radius:18px;min-height:286px;padding:29px;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}.process-step:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--teal);scale:1 0;transform-origin:bottom;transition:scale .4s cubic-bezier(.22,.9,.3,1)}.process-step:has(.icon-violet):before{background:var(--violet)}.process-step:has(.icon-amber):before{background:var(--amber)}.process-step:has(.icon-coral):before{background:var(--coral)}.process-step:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(26,58,52,.07)}.process-step:hover:before{scale:1 1}.process-num{font-size:10px;font-weight:850;letter-spacing:.1em;color:#8c9c9a}.step-title{margin-top:48px;display:flex;gap:14px;align-items:center}.step-title h3{font-size:23px;letter-spacing:-.04em;margin:0}.process-glyph{display:grid;place-items:center;background:var(--icon-bg);color:var(--icon-fg);width:36px;height:36px;border-radius:11px;font-size:19px;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.process-step:hover .process-glyph{transform:scale(1.12) rotate(8deg)}.process-step p{font-size:12px;line-height:1.95;color:#677673;margin-top:17px;max-width:300px}
/* manifesto */
.manifesto-section{background:#071619;color:#fff;position:relative}.manifesto-inner{padding-top:96px;padding-bottom:100px;position:relative;isolation:isolate}.manifesto-inner:after{content:'';position:absolute;right:0;top:-140px;width:600px;height:600px;background:radial-gradient(circle,rgb(from var(--teal) r g b / .24),transparent 65%);pointer-events:none;z-index:-1;transition:background .5s ease}.manifesto-inner .eyebrow{color:#9abfbb}.manifesto-inner h2{font-size:clamp(64px,9vw,130px);letter-spacing:-.075em;line-height:1.05;font-weight:800;margin:0}.m-line{display:inline-block;cursor:default;transition:translate .45s cubic-bezier(.2,.8,.2,1),color .3s}.m-line:hover,.m-line.m-active{translate:22px 0}.m-dot{display:inline-block;animation:spark-pulse 2.4s ease-in-out infinite}.m-line:nth-of-type(1) .m-dot{color:var(--teal)}.m-line:nth-of-type(1):hover,.m-line:nth-of-type(1).m-active{color:var(--teal-light)}.m-line:nth-of-type(2) .m-dot{color:var(--violet);animation-delay:.3s}.m-line:nth-of-type(2):hover,.m-line:nth-of-type(2).m-active{color:var(--violet)}.m-line:nth-of-type(3) .m-dot{color:var(--amber);animation-delay:.6s}.m-line:nth-of-type(3):hover,.m-line:nth-of-type(3).m-active{color:var(--amber)}.manifesto-inner>p:last-of-type{font-size:14px;color:#adc2be;margin:32px 0 0}.manifesto-mark{position:absolute;right:120px;top:39%;color:var(--teal);opacity:.19;font-size:290px;line-height:1;transform:rotate(15deg);pointer-events:none;transition:color .5s ease}
.manifesto-section:has(.m-line:nth-of-type(2):hover) .manifesto-inner:after,.manifesto-section:has(.m-line:nth-of-type(2).m-active) .manifesto-inner:after{background:radial-gradient(circle,rgb(from var(--violet) r g b / .26),transparent 65%)}
.manifesto-section:has(.m-line:nth-of-type(2):hover) .manifesto-mark,.manifesto-section:has(.m-line:nth-of-type(2).m-active) .manifesto-mark{color:var(--violet)}
.manifesto-section:has(.m-line:nth-of-type(3):hover) .manifesto-inner:after,.manifesto-section:has(.m-line:nth-of-type(3).m-active) .manifesto-inner:after{background:radial-gradient(circle,rgb(from var(--amber) r g b / .26),transparent 65%)}
.manifesto-section:has(.m-line:nth-of-type(3):hover) .manifesto-mark,.manifesto-section:has(.m-line:nth-of-type(3).m-active) .manifesto-mark{color:var(--amber)}
/* faq */
.faq-section{background:#f4f7f3}.faq-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px}.faq-intro>p:not(.eyebrow){margin-top:23px;color:#667675;font-size:13px;line-height:1.8}.faq-items{border-top:1px solid #d5e1da}.faq-items details{border-bottom:1px solid #d5e1da;padding:21px 0}.faq-items summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;font-weight:750;font-size:14px;cursor:pointer;line-height:1.55}.faq-items summary::-webkit-details-marker{display:none}.faq-items details p{font-size:12px;line-height:1.9;color:#667675;padding-top:10px;padding-right:25px;max-width:620px;margin-bottom:0;overflow:hidden;transition:height .32s cubic-bezier(.2,.8,.2,1)}.faq-plus{position:relative;width:27px;height:27px;border-radius:50%;border:1px solid #bfd4cd;flex:none;transition:rotate .35s cubic-bezier(.34,1.56,.64,1),background .25s,border-color .25s,scale .25s}.faq-plus:before,.faq-plus:after{content:'';position:absolute;top:50%;left:50%;translate:-50% -50%;background:var(--icon-fg);transition:background .25s}.faq-plus:before{width:11px;height:2px;border-radius:1px}.faq-plus:after{width:2px;height:11px;border-radius:1px}.faq-items summary:hover .faq-plus{scale:1.08;border-color:rgb(from var(--teal) r g b / .5)}.faq-items details.open .faq-plus{rotate:45deg;background:var(--icon-bg);border-color:rgb(from var(--teal) r g b / .5)}.faq-items summary{transition:color .2s}.faq-items details.open summary{color:var(--teal-dark)}
/* light-section accents — each section gets its own mark, tied to what that section is about,
   instead of recycling the hero/manifesto's glow+grid+spark. All sit behind the content (z-index:-1)
   at low opacity so they read as texture, not decoration competing with the copy. */
.services-section,.process-section,.problem-section,.faq-section{position:relative;isolation:isolate}
/* servicios — the real KREDDA isotype, oversized, as a watermark (what we do = who we are) */
.services-section:before{content:'';position:absolute;right:30px;top:24px;width:360px;height:360px;background:url('assets/mark-watermark.svg') no-repeat center/contain;opacity:.13;pointer-events:none;z-index:-1;rotate:4deg;animation:drift-mark 9s ease-in-out infinite alternate}
/* enfoque — a big ↗ echoing the CTA arrows used everywhere: "antes" becomes "después" */
.problem-section:before{content:'↗';position:absolute;left:-36px;bottom:-70px;font-size:300px;line-height:1;font-weight:800;color:var(--amber);opacity:.13;pointer-events:none;z-index:-1;animation:drift-mark 10.5s ease-in-out infinite alternate}
/* proceso — the same ◈ used for step 02 "Construimos", enlarged into a background mark */
.process-section:before{content:'◈';position:absolute;right:-20px;bottom:-110px;font-size:320px;line-height:1;font-weight:800;color:var(--violet);opacity:.13;pointer-events:none;z-index:-1;animation:drift-mark 8.5s ease-in-out infinite alternate}
/* faq — a question mark: the one glyph that's actually about having questions */
.faq-section:before{content:'?';position:absolute;left:4px;bottom:-110px;font-size:340px;line-height:1;font-weight:800;color:var(--coral);opacity:.13;pointer-events:none;z-index:-1;animation:drift-mark 11.5s ease-in-out infinite alternate}
@keyframes drift-mark{0%{translate:0 0}100%{translate:0 -16px}}
/* complementary accents on specific icons — the turquesa stays the brand color everywhere else
   (buttons, links, logo); this is the only place secondary hues appear, each one fixed and
   intentional, never random. Declared after .service-icon/.process-glyph so they win by source
   order without needing !important. */
.icon-violet{background:var(--violet-bg);color:var(--violet-fg)}
.icon-amber{background:var(--amber-bg);color:var(--amber-fg)}
.icon-coral{background:var(--coral-bg);color:var(--coral-fg)}
/* contact */
.contact-section{background:#112429;color:#fff;padding:110px 0 120px;position:relative;isolation:isolate}.contact-section:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 23% 85%,rgb(from var(--teal) r g b / .16),transparent 40%);pointer-events:none;z-index:-1;animation:glow-breathe 6s ease-in-out infinite alternate}.contact-section:after{content:'';position:absolute;left:-140px;top:-120px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgb(from var(--violet) r g b / .22),transparent 70%);pointer-events:none;z-index:-1;animation:drift-mark 10s ease-in-out infinite alternate}@keyframes glow-breathe{to{opacity:.55;scale:1.1}}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;position:relative}.contact-copy{padding-top:35px}.contact-copy h2{font-size:clamp(46px,4.9vw,71px);letter-spacing:-.06em;line-height:1.17;margin-bottom:25px}.contact-copy h2 span{color:var(--teal-light)}.contact-copy>p:not(.eyebrow){line-height:1.9;color:#b2c7c4;font-size:14px;max-width:400px}.contact-clarity{color:#edf6f4!important;font-weight:700;margin-top:23px}.contact-brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:95px}.contact-brand img{width:175px}.contact-brand span{font-size:11px;color:#a5bdb9;margin-left:45px}.contact-card{background:#fff;color:#183034;padding:35px;border-radius:21px}.form-head h3{font-size:24px;letter-spacing:-.045em;margin-bottom:5px}.form-head p{font-size:12px;color:#71817c;margin-bottom:28px}.form-row{margin-bottom:18px}.form-row label{display:block;font-size:11px;font-weight:800;color:#405554;margin-bottom:8px}.form-row label span{color:var(--teal-dark)}.form-row input,.form-row select,.form-row textarea{width:100%;display:block;border-radius:10px;border:1px solid #dbe6e0;background:#f9fbf9;color:#1c3030;padding:13px 14px;font-size:12px;transition:border-color .2s,box-shadow .2s}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgb(from var(--teal) r g b / .15);outline:none}.form-row textarea{resize:vertical;min-height:104px}.form-row ::placeholder{color:#9aa8a4}.form-submit{border:0;width:100%;margin-top:6px}.form-note{font-size:10px;line-height:1.6;color:#6a7975;text-align:center;margin:13px 0 0}.form-status{background:rgb(from var(--teal) r g b / .08);border:1px solid rgb(from var(--teal) r g b / .35);color:#275b51;border-radius:11px;padding:15px;font-size:12px;line-height:1.8;margin-top:15px}.form-status button{border:none;background:var(--teal-dark);border-radius:7px;color:#fff;font-weight:750;padding:9px 13px;margin-top:10px}.form-status a{text-decoration:underline}.site-footer{background:#091417;color:#d3e0dd;padding:40px 0;border-top:1px solid #254047}.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:35px}.footer-inner img{width:155px;height:auto}.footer-inner>div:first-child p{font-size:10px;color:#7e9d98;margin-left:40px}.footer-right{text-align:right}.footer-right nav{display:flex;justify-content:end;gap:30px;margin:5px 0 27px}.footer-right nav a{font-size:11px;font-weight:700}.footer-right a:hover{color:var(--teal)}.footer-right p{font-size:10px;color:#819c98}.toast{position:fixed;z-index:35;left:50%;bottom:23px;transform:translate(-50%,25px);opacity:0;pointer-events:none;background:#1a3d39;color:white;padding:12px 21px;border-radius:12px;font-size:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}/* motion — content is visible by default; script.js itself opts into the hidden-until-revealed
   state (adds .reveal-ready to <html>) only once it has confirmed it's running, so a failed or
   blocked script.js never leaves sections permanently invisible */
.reveal{opacity:1;transform:none;transition:opacity .65s ease,transform .65s ease}
html.reveal-ready .reveal{opacity:0;transform:translateY(22px)}
/* staggered reveal — cards in the same row shouldn't all pop in at once */
.services-grid .reveal:nth-child(2){transition-delay:.08s}.services-grid .reveal:nth-child(3){transition-delay:.16s}.services-grid .reveal:nth-child(4){transition-delay:.24s}.services-grid .reveal:nth-child(5){transition-delay:.32s}
.steps-grid .reveal:nth-child(2){transition-delay:.1s}.steps-grid .reveal:nth-child(3){transition-delay:.2s}
html.reveal-ready .reveal.visible{opacity:1;transform:translateY(0)}
/* responsive */
@media (max-width:1080px){.site-nav{gap:20px}.section-top{grid-template-columns:1fr;gap:0}.section-top .eyebrow{padding:0}.section-title-group{align-items:end}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card-wide{grid-column:span 2}.problem-grid{gap:45px}.hero-layout{gap:15px}.hero h1{font-size:clamp(49px,5.9vw,72px)}}
@media (max-width:820px){.nav-cta{display:none}.site-nav{display:none}.hero-layout{grid-template-columns:1fr;gap:0;padding-top:70px}.hero h1{font-size:clamp(51px,9vw,80px)}.hero-intro{max-width:590px}.hero-visual{height:480px;max-width:570px;width:100%;justify-self:center}.hero-note{margin-top:31px}.section{padding:86px 0}.section-title-group{flex-direction:column;align-items:start;gap:23px}.section-title-group>p{max-width:500px}.problem-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.problem-copy h2{max-width:700px}.comparison{max-width:680px}.process-intro{grid-template-columns:1fr;gap:25px}.process-intro>p{margin:0;max-width:650px}.contact-brand{margin-top:35px}.contact-section{padding:80px 0}.manifesto-mark{right:30px;font-size:190px}.services-section:before{width:260px;height:260px;top:10px;right:10px}.problem-section:before,.process-section:before,.faq-section:before{font-size:220px}}
@media (max-width:600px){.site-header{height:72px}.brand-link img{width:150px}.wrap{padding-inline:20px}.hero-layout{min-height:unset;padding-top:71px;padding-bottom:10px}.hero h1{font-size:clamp(47px,10vw,68px);letter-spacing:-.068em;margin-bottom:28px}.hero-intro{font-size:13px;line-height:1.85}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%;font-size:12px}.hero-visual{height:418px;margin-top:26px}.build-card{width:min(355px,88%)}.build-card-header{padding:17px 18px}.build-steps{padding:20px}.build-step strong{font-size:13px}.step-symbol{width:46px;height:46px;border-radius:13px}.float-top{top:1px;right:0;font-size:8px;padding:11px 12px}.float-bottom{bottom:1px;font-size:8px}.hero-bottom{display:none}.value-strip-inner{grid-template-columns:1fr;gap:13px;padding-top:20px;padding-bottom:22px}.value-strip-inner>div:not(:last-child){border-right:0}.value-strip-inner>div{font-size:11px}.section{padding:74px 0}.eyebrow{margin-bottom:23px;font-size:10px}.section h2{font-size:clamp(35px,8vw,47px)}.services-grid{grid-template-columns:1fr}.service-card{min-height:255px}.service-card-wide{grid-column:span 1;grid-template-columns:1fr}.creative-visual{min-height:165px}.section-top{margin-bottom:28px}.comparison-top{padding:22px 17px 17px}.comparison-heading{font-size:14px}.comparison-caption{display:none}.scenario-tabs{padding:0 16px 20px}.comparison-before,.comparison-after{padding:20px 14px;min-height:260px}.comparison-columns li{font-size:10px}.comparison-columns ul{gap:14px}.comparison-footnote{padding:13px 16px}.steps-grid{grid-template-columns:1fr;gap:12px}.process-step{min-height:220px}.step-title{margin-top:32px}.manifesto-inner{padding-top:75px;padding-bottom:78px}.manifesto-inner h2{font-size:clamp(58px,14vw,90px)}.manifesto-mark{right:-28px;top:42%;font-size:150px}.services-section:before{width:190px;height:190px;right:8px;top:8px}.problem-section:before{bottom:-28px}.process-section:before{bottom:-40px}.faq-section:before{bottom:-38px}.problem-section:before,.process-section:before,.faq-section:before{font-size:160px}.faq-grid{gap:30px}.faq-items summary{font-size:12.5px}.contact-copy{padding-top:0}.contact-copy h2{font-size:49px}.contact-card{padding:25px 20px}.footer-inner{flex-direction:column;gap:20px}.footer-right{text-align:left}.footer-right nav{justify-content:start;gap:23px}.footer-right p{line-height:1.7}.footer-inner img{width:145px}}
/* touch devices never fire :hover, so the key hover feedback gets a tap (:active) equivalent.
   The manifesto's color-sync has no natural "tap target" to guess, so script.js plays it once
   automatically (adding .m-active in sequence) when the section scrolls into view on these
   devices — see the IntersectionObserver in script.js. */
@media (hover:none){
  .service-card:active{border-color:#a3d2ca;box-shadow:0 14px 28px rgba(26,58,52,.08)}
  .service-card:active:before{scale:1 1}
  .service-card:active .service-icon{transform:scale(1.08) rotate(-5deg)}
  .process-step:active{box-shadow:0 14px 28px rgba(26,58,52,.08)}
  .process-step:active:before{scale:1 1}
  .process-step:active .process-glyph{transform:scale(1.1) rotate(6deg)}
  .comparison:active .compare-circle{scale:1.1}
  .faq-items summary:active .faq-plus{scale:1.08}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}html.reveal-ready .reveal{opacity:1;transform:none}}
