:root{--bg:#07111f;--bg2:#0d1b2e;--ink:#3E3E3E;--muted:#5f6f86;--line:#e6ebf2;--soft:#f5f7fb;--brand:#2f80ed;--brand2:#58c4dd;--white:#fff;--radius:24px;--shadow:0 24px 70px rgba(6,22,42,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(230,235,242,.9)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo img{width:154px;display:block}.nav-links{display:flex;align-items:center;gap:24px;font-size:16px;color:#23314a}.nav-links a:hover{color:var(--brand)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 22px;font-weight:700;border:1px solid transparent;transition:.2s ease}.nav-cta,.btn.primary{background:var(--brand);color:#fff;box-shadow:0 10px 28px rgba(47,128,237,.25)}.btn.secondary{border-color:rgba(255,255,255,.32);color:#fff;background:rgba(255,255,255,.08)}.btn.light{border-color:var(--line);background:#fff;color:#12223a}.menu-toggle{display:none;border:0;background:transparent;font-size:28px}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at top right,rgba(88,196,221,.28),transparent 34%),linear-gradient(135deg,#06111f 0%,#0c2748 58%,#153d68 100%);color:#fff}.hero .container{position:relative;z-index:1;display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center;min-height:690px;padding:76px 0}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--brand2);margin-bottom:16px}.hero h1{font-size:clamp(42px,6vw,78px);line-height:.98;margin:0 0 24px;letter-spacing:-.055em}.hero p{font-size:clamp(18px,2vw,23px);color:#d8e6f7;max-width:680px;margin:0 0 34px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:30px;padding:30px;backdrop-filter:blur(16px);box-shadow:0 40px 100px rgba(0,0,0,.22)}.hero-card h3{margin:0 0 18px;font-size:22px}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.metric{padding:18px;border-radius:18px;background:rgba(255,255,255,.11)}.metric strong{display:block;font-size:30px}.metric span{font-size:13px;color:#dbe8f8}.section{padding:96px 0}.section.soft{background:var(--soft)}.section.dark{background:var(--bg);color:#fff}.section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:end;margin-bottom:42px}.section h2{font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-.04em;margin:0}.lead{font-size:19px;color:var(--muted);margin:0}.dark .lead{color:#c9d7ea}.grid{display:grid;gap:22px}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 4px 22px rgba(14,33,62,.04)}.card h3{font-size:23px;margin:0 0 10px}.card p{color:var(--muted);margin:0}.dark .card{background:#0d1b2e;border-color:rgba(255,255,255,.1)}.dark .card p{color:#c9d7ea}.number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e9f3ff;color:var(--brand);font-weight:900;margin-bottom:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.visual{border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}.visual img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.pill-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.pill{padding:10px 14px;border-radius:999px;background:#eef5ff;color:#25496f;font-weight:700;font-size:14px}.process{counter-reset:step}.process .card{position:relative}.process .card:before{counter-increment:step;content:"0" counter(step);display:block;color:var(--brand);font-weight:900;margin-bottom:18px}.case{display:flex;flex-direction:column;min-height:260px}.case .tag{color:var(--brand);font-weight:800;margin-bottom:auto}.cta{border-radius:36px;padding:56px;background:linear-gradient(135deg,#0b2038,#123d68);color:#fff;display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:center;box-shadow:var(--shadow)}.cta h2{margin:0 0 14px}.cta p{color:#d8e6f7;margin:0}.footer{background:#030914;color:#cbd8e8;padding:52px 0 26px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:34px}.footer h4{color:#fff;margin:0 0 14px}.footer a{display:block;margin:8px 0;color:#cbd8e8}.footer img{width:150px;margin-bottom:14px}.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:22px;font-size:14px;color:#91a2b8}.page-hero{background:linear-gradient(135deg,#06111f,#10365d);color:#fff;padding:108px 0 74px}.page-hero h1{font-size:clamp(42px,5vw,68px);line-height:1;margin:0 0 18px;letter-spacing:-.045em}.page-hero p{font-size:20px;color:#d8e6f7;max-width:760px}.contact-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px}.contact-box{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}.form{display:grid;gap:14px}.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);border-radius:16px;padding:16px;font:inherit}.form textarea{min-height:150px}.small{font-size:14px;color:var(--muted)}@media (max-width:900px){.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.hero .container,.split,.section-head,.cta,.contact-wrap{grid-template-columns:1fr}.hero .container{min-height:auto;padding:70px 0}.hero:after{display:none}.hero-card{margin-top:10px}.grid.three,.grid.four{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.section{padding:70px 0}.metric-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.container{width:min(100% - 28px,1160px)}.nav{height:68px}.nav-links{top:68px}.logo img{width:132px}.hero h1{font-size:42px}.hero-actions{display:grid}.btn{width:100%}.cta{padding:34px}.metric-grid{grid-template-columns:1fr}}

/* Ajustes Koshca v2 */
.step-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e9f3ff;color:var(--brand);margin-bottom:18px}.step-icon svg{width:27px;height:27px}.resolve-head{display:block;margin-bottom:42px}.resolve-head h2{white-space:nowrap;margin-bottom:14px}.resolve-head .lead{max-width:760px}.logo img{height:auto}.contact-wrap .contact-box:first-child{align-self:stretch}@media(max-width:700px){.resolve-head h2{white-space:normal}}


/* Ajustes Koshca v3 */
.nav-links{font-size:18px}
.nav-links a:hover{font-weight:700}
.card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(14,33,62,.12);border-color:#d6e1ef}
.footer img{width:170px;height:auto}
.legal{font-weight:400}
.footer .legal strong{font-weight:400}
.resolve-head .lead{max-width:900px}
.parallax-feature{overflow:hidden}
.parallax-feature .split{min-height:520px}
.parallax-visual{position:relative;overflow:hidden;min-height:420px}
.parallax-visual img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;will-change:transform;transition:transform .08s linear}
.capabilities-grid .card h3{font-size:20px;white-space:nowrap}
.capabilities-grid .card p{min-height:4.65em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.small a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1050px){.capabilities-grid .card h3{font-size:18px}}
@media(max-width:900px){.nav-links{font-size:18px}.capabilities-grid .card h3{white-space:normal}.capabilities-grid .card p{min-height:auto;display:block;overflow:visible}.parallax-feature .split{min-height:auto}.parallax-visual{min-height:340px}}


/* Ajustes Koshca v4 */
.nav-links a{position:relative;white-space:nowrap}
.nav-links a::before{display:block;content:attr(data-label);font-weight:700;height:0;overflow:hidden;visibility:hidden}
.nav-links a:hover{color:var(--brand);font-weight:700}
.btn,.nav-cta{transition:transform .28s ease,box-shadow .28s ease,background-color .28s ease,border-color .28s ease,color .28s ease}
.btn:hover,.nav-cta:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(47,128,237,.32)}
.btn.primary:hover,.nav-cta:hover{background:#226fd2}
.btn.secondary:hover{background:var(--brand);border-color:var(--brand);color:#fff}

.hero p{font-size:clamp(17px,1.8vw,21px)}
.parallax-feature{position:relative;min-height:360px;padding:72px 0;background-image:linear-gradient(rgba(3,12,26,.58),rgba(3,12,26,.58)),url('../img/parallax-koshca-v4.png');background-size:cover;background-position:center;background-attachment:fixed;color:#fff;display:flex;align-items:center}
.parallax-content{display:flex;justify-content:center;text-align:center}
.parallax-copy{max-width:850px;margin:0 auto}
.parallax-copy h2{max-width:850px;margin:0 auto;color:#fff}
.parallax-copy .eyebrow{margin-bottom:14px}
.industry-head{display:block;max-width:820px;margin:0 auto 42px;text-align:left}
.industry-head h2{margin-bottom:18px}
.industry-head .lead{max-width:820px}
.industry-grid .card{min-height:250px}
.industry-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(47,128,237,.15);color:#78b5ff;margin-bottom:20px}
.industry-icon svg{width:27px;height:27px}
.industry-grid .card h3{font-size:20px;white-space:nowrap}
.industry-grid .card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.65em}
.capabilities-grid .card{min-height:242px}
.capabilities-grid .card h3{font-size:19px;white-space:nowrap}
.capabilities-grid .card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.65em}
.privacy-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--muted);cursor:pointer;padding:4px 2px}
.privacy-consent input{width:18px!important;height:18px;margin:2px 0 0;accent-color:var(--brand);flex:0 0 auto;border-radius:4px!important}
.privacy-consent a{text-decoration:underline;text-underline-offset:3px}
.form button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.form input:-webkit-autofill,.form input:-webkit-autofill:hover,.form input:-webkit-autofill:focus,.form textarea:-webkit-autofill,.form select:-webkit-autofill{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px #fff inset!important;box-shadow:0 0 0 1000px #fff inset!important;transition:background-color 9999s ease-out 0s}
@media(max-width:1100px){.industry-grid .card h3{font-size:18px}.capabilities-grid .card h3{font-size:17px}}
@media(max-width:900px){.parallax-feature{background-attachment:scroll;min-height:300px;padding:64px 0}.industry-head{text-align:left}.industry-grid .card h3,.capabilities-grid .card h3{white-space:normal}.industry-grid .card p,.capabilities-grid .card p{display:block;min-height:auto;overflow:visible}.industry-grid .card,.capabilities-grid .card{min-height:auto}}


/* Ajustes Koshca v5 */
html{scrollbar-color:#3e3e3e #e7e9ed;scrollbar-width:thin}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:#e7e9ed}
::-webkit-scrollbar-thumb{background:#3e3e3e;border-radius:999px;border:2px solid #e7e9ed}
::-webkit-scrollbar-thumb:hover{background:#292929}
.nav-cta{padding:10px 18px;font-size:16px;min-width:auto}
.hero{background-image:linear-gradient(90deg,rgba(5,17,33,.94) 0%,rgba(8,31,57,.86) 46%,rgba(15,55,91,.66) 100%);background-size:cover;background-position:center;background-repeat:no-repeat}
.hero:after{display:none}
.hero .container{min-height:690px}
.hero .btn.primary:hover{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
.scroll-indicator{position:absolute;z-index:3;left:50%;bottom:18px;transform:translateX(-50%);width:42px;height:42px;border:1px solid rgba(255,255,255,.42);border-radius:50%;display:grid;place-items:center;color:#fff;font-size:30px;line-height:1;animation:scrollCue 1.8s ease-in-out infinite;transition:background-color .25s ease,border-color .25s ease}
.scroll-indicator:hover{background:rgba(255,255,255,.12);border-color:#fff}
@keyframes scrollCue{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,5px)}}
.industry-head{max-width:none;margin-left:0;margin-right:0;text-align:left}
.industry-head .lead{max-width:720px}
.industry-grid{position:relative}
.industry-card{transition:opacity .32s ease,transform .32s ease,box-shadow .28s ease,border-color .28s ease}
.industry-card.is-hidden{display:none}
.industry-card.is-leaving{opacity:0;transform:translateY(8px)}
.industry-card.is-entering{opacity:0;transform:translateY(8px)}
.industry-grid .card h3{white-space:nowrap;font-size:19px}
.form input,.form textarea,.form select{border:1px solid var(--line);background:#fff;color:var(--ink);outline:none;box-shadow:none}
.form input:focus,.form textarea:focus,.form select:focus{border-color:#b9cbe2;outline:none;box-shadow:0 0 0 3px rgba(47,128,237,.08)}
.form select{appearance:none;-webkit-appearance:none;background-color:#fff;color:var(--ink)}
.footer-grid>div:first-child>p{font-size:14px;line-height:1.55;max-width:330px}
@media(max-width:900px){.hero .container{min-height:auto;padding-bottom:92px}.scroll-indicator{bottom:14px}.industry-head .lead{max-width:100%}.industry-card.is-hidden{display:none}}


/* Ajustes Koshca v6 */
body{font-size:15px}
.nav-links{font-size:17px}
.nav-links a{font-weight:400}
.nav-links a:hover{font-weight:400;color:var(--brand)}
.nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:center;transition:transform .22s ease}
.nav-links a:not(.nav-cta):hover::after{transform:scaleX(1)}
.nav-cta{padding:8px 15px;font-size:15px;line-height:1.2}
.hero{margin-top:0;background-position:center top}
.hero .container{min-height:690px;padding-top:64px}
.hero h1{font-size:clamp(40px,5.6vw,74px)}
.hero p{font-size:clamp(16px,1.6vw,19px)}
.section{padding:86px 0}
.section h2{font-size:clamp(32px,3.7vw,50px)}
.lead{font-size:17px}
.card h3{font-size:21px}
.card p{font-size:15px}
.page-hero{padding:82px 0 62px}
.page-hero-centered .container{text-align:center;max-width:920px}
.page-hero-centered p{margin-left:auto;margin-right:auto;font-size:18px}
.page-hero h1{font-size:clamp(38px,4.6vw,62px)}
.scroll-indicator{width:34px;height:48px;border:0;border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:transparent}
.scroll-indicator span{display:block;width:14px;height:14px;border-right:2px solid rgba(255,255,255,.9);border-bottom:2px solid rgba(255,255,255,.9);transform:rotate(45deg);margin-top:-6px}
.scroll-indicator:hover{background:transparent;border-color:transparent;transform:translateX(-50%) scale(1.08)}
@keyframes scrollCue{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}
.capability-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e9f3ff;color:var(--brand);margin-bottom:18px}
.capability-icon svg{width:27px;height:27px}
.dark .capability-icon{background:rgba(47,128,237,.15);color:#78b5ff}
.resolve-head h2{font-size:clamp(32px,3.7vw,50px)}
.capabilities-grid .card p{line-height:1.55;min-height:4.65em}
.stacked-head{display:block;max-width:780px}
.stacked-head h2{margin-bottom:14px}
.process .card:before{display:none}
.industry-head{max-width:720px!important;margin-left:0!important;margin-bottom:54px!important}
.industry-head h2{max-width:620px}
.industry-head .lead{max-width:700px}
.industry-carousel{position:relative;overflow:hidden;padding:2px 2px 28px}
.industry-track{display:flex;gap:22px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform;cursor:grab}
.industry-track.dragging{cursor:grabbing;transition:none}
.industry-track .industry-card{flex:0 0 calc((100% - 66px)/4);min-width:0;display:block!important;opacity:1!important;transform:none}
.carousel-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-60%);width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(3,9,20,.82);color:#fff;font-size:27px;line-height:1;cursor:pointer}
.carousel-arrow.prev{left:8px}.carousel-arrow.next{right:8px}
.carousel-arrow:hover{background:var(--brand)}
.centered-content{display:block;max-width:880px;text-align:center}
.centered-content .lead{max-width:820px;margin-left:auto;margin-right:auto}
.centered-content .pill-list{justify-content:center}
.form input,.form textarea,.form select{border:1px solid #e6ebf2!important;background:#fff!important;color:var(--ink)!important;-webkit-appearance:none;appearance:none}
.form select{background-image:linear-gradient(45deg,transparent 50%,#67768a 50%),linear-gradient(135deg,#67768a 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.footer-grid>div:first-child>p{font-size:13px}
@media(max-width:900px){.industry-track .industry-card{flex-basis:calc((100% - 22px)/2)}.carousel-arrow{display:none}.page-hero-centered .container{text-align:center}}
@media(max-width:560px){.industry-track .industry-card{flex-basis:100%}.hero h1{font-size:39px}.nav-cta{padding:8px 14px}.section{padding:64px 0}}

/* Koshca v7 corrections */
.nav-links a::before{display:none!important}
.nav-links a,.nav-links a:hover{font-size:inherit!important;font-weight:400!important;letter-spacing:normal!important}
.nav-links a:not(.nav-cta):hover{color:var(--brand)!important}
.nav-cta{padding:7px 14px!important;font-size:14px!important;min-height:34px;box-shadow:0 7px 20px rgba(47,128,237,.20)!important}

.hero .container{grid-template-columns:1.04fr .96fr}
.hero-card{max-width:520px;justify-self:end}
.metric span{display:block;max-width:185px;line-height:1.42}
.scroll-indicator{bottom:22px!important;width:46px!important;height:50px!important;opacity:1!important}
.scroll-indicator span{width:16px!important;height:16px!important;border-width:0 3px 3px 0!important;border-color:#fff!important;filter:drop-shadow(0 2px 5px rgba(0,0,0,.35))}

.industry-head{max-width:700px!important;margin:0 0 48px!important}
.industry-head h2{max-width:560px!important;margin-bottom:16px!important}
.industry-head .lead{max-width:690px!important}
.industry-carousel-wrap{position:relative}
.industry-carousel{overflow:hidden!important;padding:2px 2px 24px!important}
.industry-track{gap:22px!important}
.industry-track .industry-card{flex:0 0 calc((100% - 66px)/4)!important}
.carousel-arrow{display:none!important}

.industries-page-hero .container{text-align:left!important;max-width:1160px!important}
.industries-page-hero h1{max-width:850px;font-size:clamp(36px,4.1vw,56px)!important}
.industries-page-hero p{margin-left:0!important;margin-right:0!important;max-width:760px!important;font-size:17px!important}
.criterion-centered{display:block!important;text-align:center;max-width:880px}
.criterion-copy{max-width:800px;margin:0 auto}
.criterion-copy .eyebrow{text-align:center}
.criterion-copy h2{max-width:700px;margin-left:auto;margin-right:auto}
.criterion-copy .lead{max-width:800px;margin:18px auto 0}

.capabilities-grid #tecnologia .capability-icon svg{width:29px;height:29px}

@media(max-width:1100px){
  .industry-track .industry-card{flex-basis:calc((100% - 44px)/3)!important}
}
@media(max-width:900px){
  .nav-cta{padding:8px 14px!important}
  .industry-track .industry-card{flex-basis:calc((100% - 22px)/2)!important}
  .hero-card{justify-self:stretch;max-width:none}
}
@media(max-width:560px){
  .industry-track .industry-card{flex-basis:100%!important}
  .industries-page-hero h1{font-size:36px!important}
}

/* Koshca v8 */
.industry-head{max-width:none!important;margin:0 auto 48px!important}
.stacked-head{max-width:none!important;margin:0 auto 48px!important}
.stacked-head h2{max-width:640px}
.stacked-head .lead{max-width:820px}

.page-hero-centered .container{text-align:left!important;max-width:none!important;margin:0 auto!important}
.page-hero-centered h1{max-width:820px;margin:0 0 18px}
.page-hero-centered p{max-width:760px;margin:0!important}
.page-hero-centered .eyebrow{text-align:left}

/* Timeline conectado - Como trabajamos */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;padding-top:6px}
.timeline:before{content:"";position:absolute;top:29px;left:calc(12.5% - 2px);right:calc(12.5% - 2px);height:2px;background:var(--line)}
.timeline-step{position:relative;padding:0 22px 0 0}
.timeline-step:last-child{padding-right:0}
.timeline-num{position:relative;z-index:1;width:58px;height:58px;border-radius:50%;background:#fff;border:2px solid var(--brand);color:var(--brand);display:grid;place-items:center;font-weight:900;font-size:18px;margin-bottom:22px}
.timeline-step h3{font-size:21px;margin:0 0 8px}
.timeline-step p{color:var(--muted);margin:0;font-size:15px}

/* Columnas con divisores - Que podemos resolver */
.pillar-cols{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.pillar-col{padding:8px 28px 0 0;position:relative}
.pillar-col+.pillar-col{border-left:1px solid var(--line);padding-left:28px}
.pillar-col-icon{position:relative;width:44px;height:44px;margin-bottom:52px}
.pillar-col-icon svg{position:absolute;top:-14px;left:-10px;width:74px;height:74px;color:var(--brand);opacity:.12}
.pillar-col h3{font-size:21px;margin:0 0 10px;position:relative}
.pillar-col p{color:var(--muted);margin:0;font-size:15px}
.dark .pillar-col p{color:#c9d7ea}
.dark .pillar-col+.pillar-col{border-left-color:rgba(255,255,255,.14)}

@media(max-width:900px){
  .timeline{grid-template-columns:1fr 1fr;gap:32px 0;row-gap:36px}
  .timeline:before{display:none}
  .timeline-step{padding-right:0}
  .pillar-cols{grid-template-columns:1fr 1fr;row-gap:36px}
  .pillar-col+.pillar-col{border-left:none;padding-left:0}
  .pillar-col:nth-child(2n){padding-left:28px;border-left:1px solid var(--line)}
}
@media(max-width:560px){
  .timeline{grid-template-columns:1fr}
  .pillar-cols{grid-template-columns:1fr}
  .pillar-col:nth-child(2n){padding-left:0;border-left:none}
  .pillar-col+.pillar-col{border-left:none;padding-top:28px;margin-top:8px;border-top:1px solid var(--line)}
}

/* Koshca v9 - fix superposicion titulo/descripcion */
.centered-content h2{margin-bottom:20px}
.contact-box h2{margin-bottom:14px}
.section h2+p{margin-top:16px}

/* Koshca v9 - tipografia unificada, checkbox/select y textos */
.page-hero-centered h1{font-size:clamp(36px,4.4vw,60px)!important}
.industries-page-hero h1{font-size:clamp(36px,4.4vw,60px)!important}
@media(max-width:560px){.industries-page-hero h1{font-size:36px!important}}
.parallax-copy .lead-close{margin:14px auto 0;max-width:700px;color:#d8e6f7;font-size:16px}

/* v11 adjustments */
.nav-cta:hover,.nav-cta:focus-visible{color:#fff!important;background:#1f69c8!important}
.hero{background-image:linear-gradient(90deg,rgba(5,17,33,.94) 0%,rgba(8,31,57,.86) 46%,rgba(15,55,91,.66) 100%),var(--hero-bg,url('../img/hero-bg-1.jpg'))!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.desktop-break{display:block}
.centered-content .pill-list{display:grid;gap:12px;margin-top:28px}
.centered-content .pill-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.principles-head{display:block!important;margin-bottom:42px}
.principles-head h2{white-space:nowrap;margin-bottom:14px}
.principles-head .lead{margin:0}
@media(max-width:900px){
  .desktop-break{display:none}
  .principles-head h2{white-space:normal}
}


/* Koshca v12 - ajustes finales */
.hero{
  background-image:linear-gradient(90deg,rgba(5,17,33,.92) 0%,rgba(8,31,57,.68) 48%,rgba(15,55,91,.24) 100%),url('../img/hero-bg-1.jpg')!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.page-hero-centered .container{max-width:1160px!important}
.page-hero-centered h1{max-width:none!important}
.hero-title-line,.hero-copy-line{display:block}
.hero-title-line{white-space:nowrap}
.centered-content{max-width:1160px!important}
.centered-content .lead{max-width:860px}
.centered-content .pill-list{gap:10px;margin-top:28px}
.centered-content .pill-row{flex-wrap:nowrap;gap:9px}
.centered-content .pill{font-size:13px;padding:9px 12px;white-space:nowrap}
@media(max-width:1100px){
  .centered-content .pill-row{flex-wrap:wrap}
}
@media(max-width:900px){
  .hero-title-line,.hero-copy-line{display:inline;white-space:normal}
  .hero-title-line+.hero-title-line::before,.hero-copy-line+.hero-copy-line::before{content:' '}
  .centered-content .pill-row{flex-wrap:wrap}
}

/* Koshca v13 */
.hero{
  background-image:linear-gradient(90deg,rgba(5,17,33,.92) 0%,rgba(8,31,57,.68) 48%,rgba(15,55,91,.24) 100%),var(--hero-bg-image,url('../img/hero-bg-1.jpg'))!important;
}
.nosotros-hero-copy{white-space:nowrap;max-width:none!important}
.contact-title-line{display:block;white-space:nowrap}
.privacy-consent input[type="checkbox"]{
  -webkit-appearance:checkbox!important;
  appearance:auto!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  padding:0!important;
  margin:2px 0 0!important;
  border:initial!important;
  border-radius:0!important;
  background:initial!important;
  box-shadow:none!important;
  accent-color:auto;
}
@media(max-width:900px){
  .nosotros-hero-copy{white-space:normal}
  .contact-title-line{display:inline;white-space:normal}
  .contact-title-line+.contact-title-line::before{content:' '}
}


/* Koshca v14 */
.consulting-title span{display:block;white-space:nowrap}
.form input::placeholder,.form textarea::placeholder{color:var(--muted);opacity:1}
.form select{color:var(--muted)!important}
.form select option{color:var(--ink)}
@media(max-width:900px){
  .consulting-title span{display:inline;white-space:normal}
  .consulting-title span+span::before{content:' '}
}

/* Koshca v15 */
/* Alturas consistentes en tops internos */
.page-hero{min-height:350px;display:flex;align-items:center;padding:74px 0}
.page-hero>.container{width:min(1160px,calc(100% - 40px))}
.page-hero-centered h1{max-width:1000px!important}
.hero-title-line,.contact-title-line,.consulting-title span{display:block}
.nosotros-hero-copy{max-width:none!important;white-space:nowrap}

/* Nube de capacidades compacta y balanceada */
.centered-content{max-width:1160px;text-align:center}
.centered-content .lead{max-width:920px;margin-left:auto;margin-right:auto}
.pill-list{display:grid;gap:10px;margin-top:28px;justify-content:center}
.pill-row{display:flex;gap:10px;justify-content:center;flex-wrap:nowrap}

/* Contacto */
.contact-wrap{grid-template-columns:.85fr 1.15fr;align-items:stretch}

.form input::placeholder,.form textarea::placeholder{color:#5f6f86;opacity:1}
.form select{color:#5f6f86;background:#fff}
.form select:valid{color:var(--ink)}
.form .is-invalid{border-color:#d93025!important;box-shadow:0 0 0 2px rgba(217,48,37,.08)}
.privacy-consent.is-invalid{outline:1px solid #d93025;outline-offset:7px;border-radius:3px}
.form-status{display:none;margin:0;font-size:14px}
.form-status.show{display:block}
.form-status.error{color:#b3261e}
.form-status.success{color:#16794b}

/* Aviso de privacidad */
.privacy-content .lead{margin-top:0;margin-bottom:22px}
.privacy-content a{text-decoration:underline;text-underline-offset:3px;color:var(--brand)}

@media(max-width:1200px){
  .nosotros-hero-copy{white-space:normal}
  .pill-row{flex-wrap:wrap}
}
@media(max-width:900px){
  .page-hero{min-height:auto;padding:70px 0}
  .nosotros-hero-copy{white-space:normal}
  .pill-list{display:flex;flex-wrap:wrap;justify-content:center}
  .pill-row{display:contents}
  .contact-visual{min-height:440px}
  .desktop-break,.hero-title-line,.contact-title-line,.consulting-title span{display:inline}
  .hero-title-line+.hero-title-line::before,.contact-title-line+.contact-title-line::before,.consulting-title span+span::before{content:' '}
}
@media(max-width:560px){
  .contact-visual{min-height:360px}
}

/* Koshca v16 */
/* Hero aleatorio: la imagen se define mediante una variable actualizada en cada carga. */
.hero{
  background-image:linear-gradient(90deg,rgba(5,17,33,.92) 0%,rgba(8,31,57,.68) 48%,rgba(15,55,91,.24) 100%),var(--hero-bg-image,url('../img/hero-bg-1.jpg'))!important;
}

/* Tops de Industrias y Nosotros con la misma caja y ritmo vertical. */
.page-hero.industries-page-hero,
.page-hero.page-hero-centered{
  min-height:350px!important;
  padding:74px 0!important;
  display:flex;
  align-items:center;
}
.page-hero.industries-page-hero>.container,
.page-hero.page-hero-centered>.container{
  width:min(1160px,calc(100% - 40px))!important;
  max-width:1160px!important;
  margin:0 auto!important;
  text-align:left!important;
}
.page-hero.industries-page-hero h1,
.page-hero.page-hero-centered h1{
  margin:0 0 18px!important;
  font-size:clamp(36px,4.4vw,60px)!important;
  line-height:1.08!important;
}
.page-hero.industries-page-hero p,
.page-hero.page-hero-centered p{
  margin:0!important;
  font-size:17px!important;
  line-height:1.65!important;
}

/* Contacto centrado y sin imagen lateral. */
.contact-wrap-centered{
  display:block!important;
  max-width:820px!important;
  margin:0 auto!important;
}
.contact-wrap-centered .contact-box{
  width:100%;
  padding:clamp(28px,4vw,48px);
}

/* Solo el cuadrado del checkbox se marca en rojo. */
.privacy-consent.is-invalid{outline:none!important}
.privacy-consent input[type="checkbox"].is-invalid{
  outline:2px solid #d93025!important;
  outline-offset:2px!important;
  border-radius:1px!important;
}

/* Separación del título y primer párrafo en tratamiento de datos. */
.privacy-section-title{margin-bottom:28px!important}
.privacy-section-title+p{margin-top:0!important}

@media(max-width:900px){
  .page-hero.industries-page-hero,
  .page-hero.page-hero-centered{min-height:auto!important;padding:70px 0!important}
}

/* Koshca v18 */
/* Íconos con mayor contraste */
.pillar-col-icon svg{
  opacity:.24;
}
.capability-icon{
  color:#2477df;
}

/* Botón de envío más compacto y con cursor de acción */
.form button[type="submit"]{
  width:auto;
  min-width:220px;
  max-width:100%;
  padding-left:34px;
  padding-right:34px;
  margin-left:auto;
  margin-right:auto;
  display:block;
  cursor:pointer;
}
.form button[type="submit"]:disabled{
  cursor:not-allowed;
}

/* CTAs apilados: botón debajo del texto, compacto y delineado */
.cta.cta-stacked{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:22px;
}
.cta.cta-stacked > div{
  width:100%;
}
.cta.cta-stacked .btn{
  width:auto;
  min-width:180px;
  padding:12px 24px;
  background:transparent;
  border:1px solid #2f80ed;
  color:#fff;
  cursor:pointer;
}
.cta.cta-stacked .btn:hover,
.cta.cta-stacked .btn:focus-visible{
  background:#2f80ed;
  color:#fff;
}
@media(max-width:700px){
  .cta.cta-stacked{align-items:flex-start}
  .cta.cta-stacked .btn{min-width:0}
}

/* Koshca v19 - ajustes editoriales, CTA, responsive y SEO visual */
.cta-watermark {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.cta-watermark::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -18px;
  right: -10px;
  width: min(42%, 500px);
  height: calc(100% + 36px);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: .42;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 34%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 34%, #000 100%);
}
.cta-watermark-network::after { background-image: url('../img/watermark-network.svg'); }
.cta-watermark-modules::after { background-image: url('../img/watermark-modules.svg'); }
.criterion-cta {
  display: inline-flex;
  margin-top: 26px;
  min-width: 132px;
  justify-content: center;
  background: transparent;
  color: var(--brand);
  border: 1px solid var(--brand);
  cursor: pointer;
}
.criterion-cta:hover,
.criterion-cta:focus-visible {
  background: var(--brand);
  color: #fff;
}
.privacy-section-title { margin-bottom: 28px; }

@media (max-width: 900px) {
  .cta-watermark::after {
    width: 48%;
    opacity: .25;
  }
}
@media (max-width: 560px) {
  .cta-watermark::after { display: none; }
  .cta-stacked h2 .desktop-break { display: none; }
}

/* Hero principal: regla única y estable para la fotografía de fondo. */
.hero {
  background-color: #071a2f !important;
  background-image:
    linear-gradient(90deg, rgba(5, 17, 33, 0.90) 0%, rgba(8, 31, 57, 0.66) 48%, rgba(15, 55, 91, 0.20) 100%),
    url('../img/hero-bg-1.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Koshca v22 - botón de contacto y franja blanca previa al footer */
.form .contact-submit,
.criterion-cta {
  width: auto;
  min-width: 156px;
  height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  cursor: pointer;
}

.form .contact-submit {
  margin: 10px auto 0;
  background: var(--brand);
  border: 1px solid var(--brand);
  color: #fff;
  box-shadow: none;
}

.form .contact-submit:hover,
.form .contact-submit:focus-visible {
  background: #fff;
  border-color: var(--brand);
  color: var(--brand);
  box-shadow: none;
}

/* La separación es una franja independiente, no parte del módulo anterior. */
.pre-footer-spacer {
  height: 96px;
  background: #fff;
}

@media (max-width: 900px) {
  .pre-footer-spacer {
    height: 76px;
  }
}

@media (max-width: 560px) {
  .form .contact-submit,
  .criterion-cta {
    min-width: 148px;
    height: 46px;
  }

  .pre-footer-spacer {
    height: 60px;
  }
}
