
:root{
  --blue:#366091;
  --blue2:#4F81BD;
  --pale:#D9E2F3;
  --ink:#0c1930;
  --text:#4c5a70;
  --muted:#6e7b8e;
  --line:#d8e1eb;
  --soft:#f3f7fb;
  --white:#fff;
  --max:1360px;
  --shadow:0 18px 50px rgba(13,37,67,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.5;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.wrap{width:min(var(--max),calc(100% - 72px));margin:auto}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(216,225,235,.9);
  backdrop-filter:blur(10px);
}
.header-inner{
  min-height:86px;
  display:flex;align-items:center;justify-content:space-between;gap:36px;
}
.brand{display:flex;align-items:center;gap:16px;min-width:300px}
.brand-logo{width:68px;height:68px;object-fit:contain;flex:0 0 auto}
.brand-word{display:flex;flex-direction:column;gap:2px}
.brand-word strong{
  font-size:22px;letter-spacing:.35em;font-weight:500;color:#0b1730
}
.brand-word small{
  font-size:8.5px;letter-spacing:.28em;color:#4a5e7a;font-weight:700
}
.nav{display:flex;align-items:center;gap:30px;font-size:13px}
.nav a:not(.cta):hover{color:var(--blue)}
.cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 24px;background:var(--blue);color:#fff!important;
  border:1px solid var(--blue);font-size:13px;font-weight:700;
  transition:.2s ease;
}
.cta:hover{background:#294c78;border-color:#294c78}
.mobile-nav-note{display:none}

/* Hero */
.hero{
  position:relative;
  min-height:650px;
  border-bottom:1px solid var(--line);
  overflow:hidden;
  background:
    linear-gradient(90deg,#fff 0%,#fff 40%,rgba(255,255,255,.94) 48%,rgba(255,255,255,.24) 70%,rgba(255,255,255,.05) 100%),
    url("mountains-hero.jpg") center right/57% 100% no-repeat;
}
.hero-inner{
  min-height:650px;
  display:grid;grid-template-columns:54% 46%;
  align-items:center;
}
.hero-copy{padding:72px 0 66px;position:relative;z-index:2}
.eyebrow{
  margin:0 0 18px;
  color:var(--blue);
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}
h1,h2,h3,p{margin-top:0}
h1{
  font-size:clamp(54px,5.35vw,82px);
  line-height:.98;
  letter-spacing:-.042em;
  margin-bottom:30px;
  max-width:760px;
}
.hero-copy .lead{
  max-width:675px;
  color:#49566b;
  font-size:20px;
  line-height:1.55;
  margin-bottom:34px;
}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.text-link{font-size:14px;font-weight:700;color:var(--blue);padding-bottom:4px;border-bottom:1px solid var(--blue)}
.hero-side{
  align-self:stretch;
  position:relative;
  pointer-events:none;
}
.hero-labels{
  position:absolute;
  left:8%;top:25%;
  display:flex;flex-direction:column;gap:48px;
}
.hero-label{
  font-size:10px;letter-spacing:.18em;color:#285e9e;font-weight:700;
  text-transform:uppercase;
}
.hero-label b{display:block;font-size:9px;color:#7d8da2;margin-bottom:6px}
.hero-label:after{content:"";display:block;width:24px;height:1px;background:var(--blue2);margin-top:9px}
.hero-note{
  position:absolute;right:2%;top:16%;
  padding-left:26px;border-left:1px solid var(--blue2);
  font-size:10px;letter-spacing:.18em;color:#285e9e;font-weight:700;line-height:1.7;
  text-transform:uppercase;
}

/* Feature strip */
.features{border-bottom:1px solid var(--line);background:#fff}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.feature{
  min-height:170px;
  padding:30px 38px 28px;
  border-right:1px solid var(--line);
}
.feature:first-child{padding-left:0}.feature:last-child{border-right:0;padding-right:0}
.icon{
  width:42px;height:42px;border:1.5px solid var(--blue);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--blue);
  margin-bottom:15px;font-weight:700;font-size:18px;
}
.feature:nth-child(2) .icon,.feature:nth-child(4) .icon{border-radius:8px}
.feature h3{
  color:#1f5f9f;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px
}
.feature p{font-size:14px;color:#536176;max-width:240px;margin-bottom:0}

/* Sections */
.section{padding:88px 0;border-bottom:1px solid var(--line)}
.section.soft{background:linear-gradient(90deg,#f3f7fb 0%,#eef5fb 100%)}
.section-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:86px;align-items:start}
.section h2{
  font-size:clamp(34px,3.2vw,52px);
  line-height:1.06;letter-spacing:-.032em;margin-bottom:22px;
}
.section-copy{font-size:17px;color:var(--text)}
.section-copy p{margin-bottom:18px}
.rule-title{
  font-size:10px;color:var(--blue);font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:12px
}
.problem-list{display:grid;grid-template-columns:1fr 1fr;margin-top:42px;border-top:1px solid var(--line)}
.problem{
  padding:22px 24px 22px 0;border-bottom:1px solid var(--line)
}
.problem:nth-child(odd){border-right:1px solid var(--line);padding-right:32px}
.problem:nth-child(even){padding-left:32px}
.problem span{font-size:9px;letter-spacing:.16em;color:#8d99aa}
.problem h3{font-size:17px;margin:7px 0}
.problem p{font-size:13px;color:var(--muted);margin:0}

.quote-panel{
  background:rgba(255,255,255,.72);
  padding:38px 42px;border-left:2px solid var(--blue2);
  font-size:24px;line-height:1.4;color:#455872;font-style:italic;
}
.principles{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:44px;border-top:1px solid var(--line)
}
.principle{padding:22px 24px 0 0;border-right:1px solid var(--line);min-height:120px}
.principle:last-child{border-right:0;padding-left:24px}
.principle:not(:first-child){padding-left:24px}
.principle b{font-size:10px;color:var(--blue);letter-spacing:.13em}
.principle p{font-size:13px;color:var(--muted);margin:8px 0 0}

/* System diagram */
.system-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.system-diagram{
  display:grid;grid-template-columns:180px 1fr 180px;align-items:center;gap:28px;
  min-height:380px
}
.system-inputs,.system-outputs{display:flex;flex-direction:column;gap:11px}
.system-inputs span,.system-outputs span{
  border:1px solid #a9bfda;background:rgba(255,255,255,.85);
  padding:9px 10px;text-align:center;font-size:9px;letter-spacing:.12em;color:#285e9e;font-weight:700
}
.system-core{
  width:150px;height:150px;border:1.5px solid var(--blue);border-radius:50%;
  display:flex;align-items:center;justify-content:center;text-align:center;
  color:var(--blue);font-size:10px;letter-spacing:.14em;font-weight:700;margin:auto;position:relative
}
.system-core:before,.system-core:after{content:"";position:absolute;top:50%;width:54px;height:1px;background:var(--blue2)}
.system-core:before{right:100%}.system-core:after{left:100%}
.system-outputs span:not(:last-child):after{
  content:"↓";display:block;margin:-1px 0 -13px;color:#6e8eb5;font-size:12px
}

/* Deliverables */
.deliverables{
  display:grid;grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--line);margin-top:46px
}
.deliverable{padding:26px 22px 28px 0;border-right:1px solid var(--line);min-height:260px}
.deliverable:not(:first-child){padding-left:22px}
.deliverable:last-child{border-right:0}
.deliverable .n{font-size:9px;color:#8b98aa;letter-spacing:.14em}
.deliverable .tag{font-size:9px;color:var(--blue);letter-spacing:.16em;font-weight:700;margin:28px 0 11px}
.deliverable h3{font-size:17px;margin-bottom:12px}
.deliverable p{font-size:13px;color:var(--muted)}
.value-bar{
  margin-top:50px;padding:34px 38px;background:#eef4fa;
  display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center
}
.value-bar h3{font-size:25px;margin:0}
.value-flow{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap;color:var(--blue);font-size:10px;letter-spacing:.12em;font-weight:700}
.value-flow i{font-style:normal;color:#8ba3bd}

/* Services */
.services-head{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end;margin-bottom:40px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{
  background:#f7fafc;border:1px solid var(--line);padding:28px 28px 30px;min-height:325px;position:relative
}
.service-card:nth-child(2){background:#f0f6fb}.service-card:nth-child(3){background:#eaf3fa}
.service-card .service-number{font-size:9px;color:#8492a5;letter-spacing:.15em}
.service-card h3{font-size:20px;margin:18px 0 12px}
.service-card .mode{font-size:10px;color:var(--blue);letter-spacing:.15em;font-weight:700;text-transform:uppercase}
.service-card p{font-size:14px;color:#58677b}
.service-card .docs{font-size:12px;color:#315f93;border-top:1px solid #cfdbe7;padding-top:16px;margin-top:18px}

/* Fit */
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.fit-col{border-top:2px solid var(--blue);padding-top:24px}
.fit-col.no{border-color:#8f9aa8}
.clean-list{list-style:none;margin:0;padding:0}
.clean-list li{padding:15px 0;border-bottom:1px solid var(--line);color:#526175;font-size:14px}
.fit-close{margin-top:48px;font-size:26px;font-weight:700;line-height:1.25;max-width:920px}

/* About */
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:72px;align-items:center}
.about-logo-wrap{border-left:1px solid var(--line);min-height:330px;display:flex;align-items:center;justify-content:flex-start;padding-left:52px}
.about-logo{width:118px;height:118px;object-fit:contain}

/* Contact */
.contact{
  background:
    linear-gradient(90deg,rgba(34,88,143,.98),rgba(29,83,138,.94)),
    url("mountains-hero.jpg") right center/52% auto no-repeat;
  color:#fff;padding:70px 0
}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}
.contact h2{font-size:38px;line-height:1.08;margin-bottom:16px}
.contact p{color:#e2edf7;font-size:16px;max-width:720px}
.contact .cta{background:#fff;color:var(--blue)!important;border-color:#fff;min-height:54px;padding:0 28px}
.contact .cta:hover{background:#edf4fa}
.contact-email{display:block;color:#fff;margin-top:15px;font-size:13px;text-decoration:underline;text-underline-offset:4px}

/* Footer */
footer{padding:46px 0 34px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:46px}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand img{width:54px;height:54px;object-fit:contain}
.footer-brand b{letter-spacing:.28em;font-size:16px;font-weight:500}
.footer-grid h4{font-size:11px;margin:0 0 13px;color:#33465f}
.footer-grid a,.footer-grid span{display:block;font-size:12px;color:#6b7788;margin:6px 0}
.footer-bottom{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);font-size:11px;color:#7f8a98;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* Legal pages */
.legal-wrap{width:min(900px,calc(100% - 40px));margin:60px auto 100px}
.legal-wrap .brand-logo{margin-bottom:35px}
.legal-wrap h1{font-size:48px;letter-spacing:-.03em}
.legal-wrap h2{font-size:24px;margin-top:38px}
.legal-wrap p,.legal-wrap li{color:#4f5e72}
.back{display:inline-block;color:var(--blue);font-weight:700;margin-bottom:30px}

/* Responsive */
@media(max-width:1050px){
  .wrap{width:calc(100% - 40px)}
  .brand-word{display:none}.brand{min-width:auto}
  .nav{gap:18px}.nav a:not(.cta){display:none}
  .hero{background-size:62% 100%}
  .hero-inner{grid-template-columns:62% 38%}
  .features .wrap{width:calc(100% - 40px)}
  .feature-grid{grid-template-columns:1fr 1fr}
  .feature:nth-child(2){border-right:0}.feature:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section-grid,.system-layout,.services-head,.contact-grid{grid-template-columns:1fr;gap:35px}
  .deliverables{grid-template-columns:1fr 1fr}
  .deliverable{border-bottom:1px solid var(--line)}
  .deliverable:nth-child(even){border-right:0}
  .service-grid{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}.about-logo-wrap{border-left:0;border-top:1px solid var(--line);padding:40px 0 0;min-height:0}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .wrap{width:calc(100% - 32px)}
  .header-inner{min-height:70px}.brand-logo{width:52px;height:52px}.nav .cta{display:none}
  .mobile-nav-note{display:block;font-size:11px;color:var(--blue);font-weight:700}
  .hero{
    min-height:auto;
    background:
      linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 47%,rgba(255,255,255,.55) 70%,rgba(255,255,255,.15) 100%),
      url("mountains-hero.jpg") center bottom/cover no-repeat;
  }
  .hero-inner{grid-template-columns:1fr;min-height:780px;align-items:start}
  .hero-copy{padding-top:62px}
  h1{font-size:48px}
  .hero-copy .lead{font-size:17px}
  .hero-side{display:none}
  .feature-grid{grid-template-columns:1fr}
  .feature,.feature:first-child,.feature:last-child{padding:26px 0;border-right:0;border-bottom:1px solid var(--line);min-height:auto}
  .section{padding:70px 0}
  .section h2{font-size:36px}
  .problem-list{grid-template-columns:1fr}
  .problem:nth-child(odd),.problem:nth-child(even){border-right:0;padding:20px 0}
  .principles{grid-template-columns:1fr}
  .principle,.principle:not(:first-child),.principle:last-child{border-right:0;border-bottom:1px solid var(--line);padding:18px 0;min-height:auto}
  .system-diagram{grid-template-columns:1fr;gap:20px;min-height:auto}
  .system-core:before,.system-core:after{display:none}
  .deliverables{grid-template-columns:1fr}
  .deliverable,.deliverable:not(:first-child){border-right:0;padding:22px 0;min-height:auto}
  .value-bar{grid-template-columns:1fr;padding:28px 24px}
  .value-flow{justify-content:flex-start}
  .fit-grid{grid-template-columns:1fr}
  .about-logo{width:110px;height:110px}
  .contact h2{font-size:32px}
  .footer-grid{grid-template-columns:1fr}
}

/* Language switch */
.lang-switch{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.08em;color:#6d7b8f;white-space:nowrap}
.lang-switch a{color:var(--blue);font-weight:700}
.lang-switch strong{color:#0b1730}
.en-site .hero{
  background:
    linear-gradient(90deg,#fff 0%,#fff 40%,rgba(255,255,255,.94) 48%,rgba(255,255,255,.24) 70%,rgba(255,255,255,.05) 100%),
    url("mountains-hero-en.jpg") center right/57% 100% no-repeat;
}
@media(max-width:1050px){.lang-switch{display:none}.mobile-nav-note a{display:inline!important}}
@media(max-width:720px){
  .en-site .hero{
    background:
      linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 47%,rgba(255,255,255,.55) 70%,rgba(255,255,255,.15) 100%),
      url("mountains-hero-en.jpg") center bottom/auto 52% no-repeat;
  }
}

/* V1.3 — Clarify color rhythm
   White remains the dominant surface. Color is used to create hierarchy,
   depth and pacing without changing the brand palette. */

/* Recognition / problem section: a restrained cool field, almost white. */
main > section:nth-of-type(3){
  background:linear-gradient(135deg,#f7f9fc 0%,#eef3f8 100%);
}

/* Analysis-system section: the single deep-color moment in the body. */
main > section:nth-of-type(5){
  background:linear-gradient(135deg,#17365d 0%,#2a5686 55%,#366091 100%);
  color:var(--white);
  border-bottom-color:rgba(255,255,255,.16);
}
main > section:nth-of-type(5) h2,
main > section:nth-of-type(5) h3{color:var(--white)}
main > section:nth-of-type(5) .rule-title{color:#d9e2f3}
main > section:nth-of-type(5) .section-copy,
main > section:nth-of-type(5) .section-copy p{color:#e7eef7}
main > section:nth-of-type(5) .system-inputs span,
main > section:nth-of-type(5) .system-outputs span{
  color:#fff;
  border-color:rgba(217,226,243,.48);
  background:rgba(255,255,255,.08);
}
main > section:nth-of-type(5) .system-core{
  color:#fff;
  border-color:#d9e2f3;
  background:rgba(255,255,255,.05);
  box-shadow:0 18px 55px rgba(8,25,46,.18);
}
main > section:nth-of-type(5) .system-core:before,
main > section:nth-of-type(5) .system-core:after{background:rgba(217,226,243,.6)}
main > section:nth-of-type(5) .system-outputs span:not(:last-child):after{color:#c5d6ea}

/* Services: cards become clearer objects on a very light blue field. */
#servicios{
  background:linear-gradient(135deg,#f6f9fc 0%,#edf3f9 100%);
}
#servicios .service-card{
  background:#fff;
  border-color:#d4dfeb;
  box-shadow:0 16px 42px rgba(13,37,67,.055);
}
#servicios .service-card:nth-child(2){background:#fbfdff}
#servicios .service-card:nth-child(3){background:#f7fafd}

/* About stays quiet, but distinct from the white fit section above. */
#sobre{background:#f7f9fc}

/* Give selected content surfaces a little more depth without adding new colors. */
.quote-panel{
  box-shadow:0 16px 42px rgba(13,37,67,.045);
}
.value-bar{
  background:linear-gradient(135deg,#eef4fa 0%,#e7eff8 100%);
  border:1px solid #d9e3ed;
}

/* On small screens retain the same rhythm and keep the dark analysis block legible. */
@media(max-width:720px){
  main > section:nth-of-type(5) .system-inputs span,
  main > section:nth-of-type(5) .system-outputs span{
    background:rgba(255,255,255,.10);
  }
}


/* V1.4 — semantic and trust refinements */
/* Explicit class replaces positional targeting for the analysis block. */
.analysis-section{
  background:linear-gradient(135deg,#17365d 0%,#2a5686 55%,#366091 100%)!important;
  color:var(--white);
  border-bottom-color:rgba(255,255,255,.16);
}
.analysis-section h2,.analysis-section h3{color:var(--white)}
.analysis-section .rule-title{color:#d9e2f3}
.analysis-section .section-copy,.analysis-section .section-copy p{color:#e7eef7}
.analysis-section .system-inputs span,.analysis-section .system-outputs span{
  color:#fff;border-color:rgba(217,226,243,.48);background:rgba(255,255,255,.08)
}
.analysis-section .system-core{
  color:#fff;border-color:#d9e2f3;background:rgba(255,255,255,.05);
  box-shadow:0 18px 55px rgba(8,25,46,.18)
}
.analysis-section .system-core:before,.analysis-section .system-core:after{background:rgba(217,226,243,.6)}
.analysis-section .system-outputs span:not(:last-child):after{color:#c5d6ea}

.founder-card{width:100%;max-width:320px;text-align:left}
.founder-card .about-logo{display:block;margin:0 0 30px}
.founder-card blockquote{
  margin:0;padding:26px 0 0;border-top:1px solid var(--line);
  font-size:18px;line-height:1.52;color:var(--ink);font-style:normal;font-weight:500;letter-spacing:-.01em
}
.founder-name{margin:28px 0 4px;font-size:15px;font-weight:700;color:var(--ink)}
.founder-role{margin:0;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--blue);font-weight:700}
@media(max-width:720px){
  .analysis-section .system-inputs span,.analysis-section .system-outputs span{background:rgba(255,255,255,.10)}
  .founder-card{max-width:420px;text-align:left}
  .founder-card .about-logo{margin-left:0}
}
