:root{
  --navy:#0D1B2A;
  --navy-2:#132436;
  --navy-3:#1B3348;
  --teal:#00C2B8;
  --teal-light:#3DDCD1;
  --teal-dim:#049990;
  --paper:#F3F1EC;
  --paper-2:#EAE7DF;
  --ink:#14212E;
  --ink-dim:#4A5A67;
  --line:#D8D4C9;
  --line-dark:#2A405a5a;
  --line-on-navy: rgba(255,255,255,0.14);
}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Manrope',-apple-system,sans-serif;-webkit-font-smoothing:antialiased;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dim);}
*:focus-visible{outline:2.5px solid var(--teal);outline-offset:2px;}
h1,h2,h3{font-family:'Sora',sans-serif;margin:0;text-wrap:balance;}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal);display:inline-flex;align-items:center;gap:8px;}
.eyebrow::before{content:"";width:6px;height:6px;background:var(--teal);border-radius:1px;}
.blueprint-bg{
  background-color:var(--navy);
  background-image:radial-gradient(rgba(0,194,184,0.16) 1px, transparent 1px);
  background-size:26px 26px;
}
section{position:relative;}
img,svg{max-width:100%;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition:none !important;}}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(243,241,236,0.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:14px;padding-bottom:14px;}
.brand{display:flex;align-items:center;}
.brand img{display:block;height:48px;width:auto;}
nav{display:flex;align-items:center;gap:30px;}
nav a{font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:500;letter-spacing:0.04em;color:var(--ink-dim);}
nav a:hover{color:var(--ink);}
.hablemos{font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:600;padding:10px 18px;background:var(--navy);color:var(--teal-light);border-radius:3px;letter-spacing:0.03em;}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:var(--paper);border-radius:4px;align-items:center;justify-content:center;cursor:pointer;}
.burger span{display:block;width:16px;height:1.5px;background:var(--ink);margin:2px 0;}
#mobileNav{display:none;flex-direction:column;gap:16px;padding:6px 0 20px;border-top:1px solid var(--line);}
#mobileNav a{font-family:'JetBrains Mono',monospace;font-size:13.5px;color:var(--ink-dim);}
@media (max-width:880px){ nav,.hablemos{display:none;} .burger{display:flex;} #mobileNav.open{display:flex;} }

/* hero */
.hero{padding:clamp(64px,9vw,120px) 0 clamp(70px,8vw,110px);color:#fff;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:minmax(320px,1.08fr) minmax(280px,0.82fr);gap:56px;align-items:end;}
@media (max-width:860px){ .hero-grid{grid-template-columns:1fr;gap:44px;} }
.hero h1{font-size:clamp(38px,5.6vw,72px);line-height:0.98;font-weight:800;letter-spacing:-0.01em;margin:20px 0 26px;}
.hero h1 .accent{color:var(--teal-light);}
.hero p.lead{font-size:clamp(15.5px,1.3vw,18px);line-height:1.65;color:rgba(255,255,255,0.68);max-width:480px;margin:0 0 34px;}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;}
.btn{font-family:'JetBrains Mono',monospace;font-size:13.5px;font-weight:600;padding:15px 26px;border-radius:3px;letter-spacing:0.02em;display:inline-flex;align-items:center;gap:10px;}
.btn-solid{background:var(--teal);color:var(--navy);}
.btn-outline{border:1px solid rgba(255,255,255,0.32);color:#fff;}
.btn-outline:hover{border-color:var(--teal-light);color:var(--teal-light);}

/* terminal mock */
.term{background:rgba(255,255,255,0.045);border:1px solid var(--line-on-navy);border-radius:8px;backdrop-filter:blur(6px);overflow:hidden;box-shadow:0 40px 80px rgba(0,0,0,0.35);}
.term-bar{display:flex;align-items:center;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line-on-navy);}
.term-bar .dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:rgba(255,255,255,0.25);}
.term-bar .lbl{margin-left:8px;white-space:nowrap;font-family:'JetBrains Mono',monospace;font-size:11px;color:rgba(255,255,255,0.4);}
.term-body{padding:20px;font-family:'JetBrains Mono',monospace;font-size:12.5px;line-height:2;color:rgba(255,255,255,0.78);}
.term-body .g{color:var(--teal-light);}
.term-body .cursor{display:inline-block;width:7px;height:14px;background:var(--teal);vertical-align:-2px;animation:blink 1.1s steps(1) infinite;}
@keyframes blink{50%{opacity:0;}}


/* section heads */
.shead{max-width:600px;margin-bottom:44px;}
.shead h2{font-size:clamp(26px,3.2vw,40px);font-weight:800;margin:14px 0 12px;}
.shead p{font-size:15.5px;line-height:1.6;color:var(--ink-dim);margin:0;}
.shead.on-navy h2{color:#fff;}
.shead.on-navy p{color:rgba(255,255,255,0.62);}

/* services index */
.svc-index{padding:clamp(64px,7vw,100px) 0;}
.svc-row{display:grid;grid-template-columns:64px 1fr auto;gap:24px;align-items:start;padding:26px 0;border-top:1px solid var(--line);transition:background 0.15s;}
.svc-row:last-child{border-bottom:1px solid var(--line);}
.svc-row:hover{background:var(--paper-2);}
.svc-num{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--teal-dim);padding-top:4px;}
.svc-main h3{font-size:19px;font-weight:700;margin-bottom:6px;}
.svc-main p{font-size:14px;line-height:1.55;color:var(--ink-dim);margin:0;max-width:620px;}
.svc-link{font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:600;white-space:nowrap;padding-top:4px;}
@media (max-width:640px){ .svc-row{grid-template-columns:40px 1fr;} .svc-link{grid-column:2;padding-top:0;} }

/* CTA band (folds into blueprint world) */
.cta-band{padding:clamp(60px,7vw,96px) 0;}
.cta-band h2{font-size:clamp(24px,3.2vw,38px);font-weight:800;color:#fff;max-width:600px;line-height:1.16;margin-bottom:16px;}
.cta-band .accent{color:var(--teal-light);}
.cta-band p{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,0.62);max-width:480px;margin:0 0 26px;}


/* nosotros timeline */
.nosotros{padding:clamp(64px,7vw,100px) 0;}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.tl-step{padding:0 26px 0 0;position:relative;}
.tl-step:not(:last-child)::after{content:"";position:absolute;top:15px;right:0;width:26px;height:1px;background:var(--line);}
.tl-num{font-family:'Sora',sans-serif;font-weight:800;font-size:28px;color:var(--teal-dim);}
.tl-step h3{font-size:16.5px;font-weight:700;margin:12px 0 8px;}
.tl-step p{font-size:13.5px;line-height:1.55;color:var(--ink-dim);margin:0;}
@media (max-width:760px){ .timeline{grid-template-columns:1fr;gap:28px;} .tl-step:not(:last-child)::after{display:none;} }



/* faq */
.faq{padding:clamp(64px,7vw,100px) 28px;max-width:896px;margin:0 auto;}
.faq-item{border-top:1px solid var(--line);}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-q{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;background:none;border:none;cursor:pointer;text-align:left;font-family:'Sora',sans-serif;font-size:15px;font-weight:700;color:var(--ink);}
.faq-q .sign{font-family:'JetBrains Mono',monospace;color:var(--teal);width:14px;text-align:center;}
.faq-q .sign::before{content:"+";}
.faq-item.open .faq-q .sign::before{content:"\2212";}
.faq-a{margin:0;padding:0 4px 20px;font-size:14px;line-height:1.6;color:var(--ink-dim);display:none;}
.faq-item.open .faq-a{display:block;}


/* contacto */
.contacto{padding:clamp(64px,7vw,100px) 0;}
.contact-grid{display:grid;grid-template-columns:minmax(260px,0.8fr) minmax(300px,1.1fr);gap:44px;}
.cline{display:flex;align-items:center;gap:12px;margin-top:16px;}
.cline .dot{width:6px;height:6px;background:var(--teal);}
.cline .k{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-dim);}
.cline .v{font-size:14.5px;font-weight:700;}
.cline .v.placeholder{color:#9a9484;font-family:'JetBrains Mono',monospace;font-weight:500;font-size:13px;}
form{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;gap:14px;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:760px){ .contact-grid{grid-template-columns:1fr;} .frow{grid-template-columns:1fr;} form{padding:20px;} }
input,select,textarea{font-family:'Manrope',sans-serif;font-size:14px;padding:13px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);}
textarea{resize:vertical;}
.submit{font-family:'JetBrains Mono',monospace;font-weight:600;font-size:13.5px;min-height:44px;background:var(--navy);color:var(--teal-light);border:none;cursor:pointer;letter-spacing:0.02em;}
.thanks{padding:14px;background:rgba(0,194,184,0.1);color:var(--teal-dim);font-size:13.5px;font-weight:600;display:none;}
.thanks.show{display:block;}
.thanks.error{background:#FCEBD9;color:#A85A12;}
.submit:disabled{opacity:0.6;cursor:default;}

footer{background:var(--navy);color:rgba(255,255,255,0.6);}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;padding:50px 0 32px;}
.foot-brand p{font-size:13px;line-height:1.6;max-width:300px;color:rgba(255,255,255,0.42);margin:14px 0 0;}
.foot-cols{display:flex;gap:56px;flex-wrap:wrap;}
.foot-col{display:flex;flex-direction:column;gap:9px;}
.foot-col .h{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.08em;color:rgba(255,255,255,0.35);margin-bottom:2px;}
.foot-col a,.foot-col span{font-size:13px;color:rgba(255,255,255,0.55);}
.foot-bottom{border-top:1px solid var(--line-on-navy);padding:18px 0;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:rgba(255,255,255,0.35);}


/* caso real */
.casos{padding:clamp(64px,7vw,100px) 0;}
.case-feature{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,56px);align-items:center;border:1px solid var(--line);background:#fff;padding:clamp(26px,4vw,44px);}
.case-feature .metric{font-family:'Sora',sans-serif;font-size:clamp(56px,8vw,96px);font-weight:800;color:var(--teal-dim);line-height:1;}
.case-feature h3{font-size:19px;font-weight:700;margin-bottom:8px;}
.case-feature p{font-size:14.5px;line-height:1.6;color:var(--ink-dim);margin:0 0 14px;max-width:560px;}
.case-feature .go{font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:600;}
@media (max-width:640px){ .case-feature{grid-template-columns:1fr;} }
