/* MB SpA — mbsc.cl */

/* ── Fuentes ── */
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iIq129k.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1isq129k.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iAq129k.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n1iEq129k.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/ibm-plex-mono-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl1FgtIU.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwlRFgtIU.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl9FgtIU.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJwl5FgtIU.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/ibm-plex-mono-500-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/ibm-plex-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/ibm-plex-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/ibm-plex-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbABA.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbABA.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbABA.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbABA.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v23/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbABA.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/fonts/ibm-plex-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── Base ── */
body{margin:0;background:#F3F5F8}
a{color:#004473}a:where(:hover){color:#01172F}
*{box-sizing:border-box}
input,select,textarea,button{font:inherit}

/* ── Compartidos entre secciones ── */
.c-el {
  background: #FFFFFF;
  border-bottom: 1px solid #D3DAE3;
}

.c-section {
  background: #01172F;
  color: #FFFFFF;
}

.c-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.c-div {
  font-size: 15px;
  color: #4A5A6E;
}

.c-section-2 {
  border-bottom: 1px solid #D3DAE3;
}

.c-div-2 {
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(72px, 8vw, 112px) clamp(16px, 4vw, 48px);
}

.c-div-3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 48px;
}

.c-div-4 {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #4A5A6E;
  margin-bottom: 14px;
}

.c-h2 {
  margin: 0;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  font-weight: 600;
}

.c-span {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  color: #4A5A6E;
}

.c-p {
  margin: 0;
  font-size: 15px;
  color: #4A5A6E;
}

.c-div-5 {
  max-width: 680px;
}

.c-p-2 {
  margin: 0;
  max-width: 420px;
  color: #4A5A6E;
  font-size: 16px;
}

.c-div-6 {
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(72px, 8vw, 112px) clamp(16px, 4vw, 48px);
  display: flex;
  flex-wrap: wrap;
  gap: 56px;
}

/* ── Contenedor de página ── */
.page-div {
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  color: #01172F;
  background: #F3F5F8;
  font-size: 17px;
  line-height: 1.55;
  width: 100%;
}

/* ── Header ── */
.header-div {
  max-width: 1240px;
  margin: 0 auto;
  padding: 16px clamp(16px, 4vw, 48px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 32px;
}

.header-a {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: #01172F;
}

.header-span {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.header-span-2 {
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -0.01em;
}

.header-span-3 {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #4A5A6E;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.header-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 28px;
  font-size: 15px;
}

.header-a-2 {
  text-decoration: none;
  padding: 10px 0;
  color: #01172F;
}

.header-a-3 {
  text-decoration: none;
  padding: 12px 20px;
  background: #004473;
  color: #FFFFFF;
  font-weight: 500;
}

/* ── Inicio ── */
.inicio-div {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.inicio-div-2 {
  flex: 1 1 560px;
  min-width: 0;
  background-image: linear-gradient(#0B2540 1px, transparent 1px), linear-gradient(90deg, #0B2540 1px, transparent 1px);
  background-size: 24px 24px;
  display: flex;
  justify-content: flex-end;
}

.inicio-div-3 {
  width: 100%;
  max-width: 660px;
  padding: clamp(56px, 8vw, 120px) clamp(16px, 4vw, 56px);
  display: flex;
  flex-direction: column;
  gap: 28px;
  justify-content: center;
}

.inicio-div-4 {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #B9C6D6;
  display: flex;
  align-items: center;
  gap: 12px;
}

.inicio-span {
  display: inline-block;
  width: 28px;
  height: 3px;
  background: #F08A24;
}

.inicio-h1 {
  margin: 0;
  font-size: clamp(40px, 5.2vw, 72px);
  line-height: 1.02;
  letter-spacing: -0.025em;
  font-weight: 600;
}

.inicio-p {
  margin: 0;
  font-size: clamp(17px, 1.5vw, 20px);
  color: #D3DCE7;
  max-width: 540px;
}

.inicio-div-5 {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 4px;
}

.inicio-a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 26px;
  background: #F08A24;
  color: #01172F;
  text-decoration: none;
  font-weight: 600;
}

.inicio-a-2 {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  padding: 0 26px;
  border: 1px solid #B9C6D6;
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 500;
}

.inicio-div-6 {
  flex: 1 1 480px;
  min-width: 0;
  position: relative;
  min-height: 520px;
}

.inicio-div-7 {
  position: absolute;
  left: 0;
  bottom: 0;
  background: #01172F;
  color: #FFFFFF;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.06em;
  padding: 12px 16px;
  display: flex;
  gap: 10px;
  align-items: center;
}

.inicio-span-2 {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #F08A24;
}

/* ── Spec ── */
.spec-div {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 48px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.spec-div-2 {
  padding: 28px 24px 28px 0;
  border-right: 1px solid #E3E8EF;
}

.spec-div-3 {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  color: #2D69AD;
  letter-spacing: 0.06em;
  font-weight: 500;
}

.spec-div-4 {
  font-weight: 600;
  margin-top: 6px;
}

.spec-div-5 {
  padding: 28px 24px;
  border-right: 1px solid #E3E8EF;
}

.spec-div-6 {
  padding: 28px 0 28px 24px;
}

/* ── Esencia ── */
.esencia-section {
  background: #006eb8;
  background: linear-gradient(145deg,rgba(0, 110, 184, 1) 0%, rgba(0, 24, 46, 1) 100%);
  color: #FFFFFF;
}

.esencia-div {
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(72px, 9vw, 128px) clamp(16px, 4vw, 48px);
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
  align-items: flex-end;
  justify-content: space-between;
}

.esencia-div-2 {
  flex: 1 1 640px;
  min-width: 0;
}

.esencia-div-3 {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #C9D6E6;
  margin-bottom: 24px;
}

.esencia-p {
  margin: 0;
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: 1.15;
  letter-spacing: -0.015em;
  font-weight: 500;
}

.esencia-div-4 {
  flex: 0 1 300px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 15px;
  border-left: 3px solid #F08A24;
  padding-left: 20px;
}

.esencia-span {
  color: #C9D6E6;
}

/* ── Servicios ── */
.servicios-div {
  max-width: 640px;
}

.servicios-p {
  margin: 0;
  max-width: 400px;
  color: #4A5A6E;
  font-size: 16px;
}

.servicios-div-2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1px;
  background: #D3DAE3;
  border: 1px solid #D3DAE3;
  counter-reset: servicio;
  /* Número de fondo de cada servicio (01, 02, …): ajustar aquí */
  --numero-tamano: 170px;
  --numero-color: #004473;
  --numero-opacidad: 0.07;
  --numero-derecha: -6px;
  --numero-abajo: -30px;
}

.servicios-div-3 {
  background: #FFFFFF;
  padding: 32px 28px 36px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 230px;
  counter-increment: servicio;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/* El número sale del orden de las tarjetas; el segundo content lo oculta a lectores de pantalla */
.servicios-div-3::after {
  content: counter(servicio, decimal-leading-zero);
  content: counter(servicio, decimal-leading-zero) / "";
  position: absolute;
  z-index: -1;
  right: var(--numero-derecha);
  bottom: var(--numero-abajo);
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 500;
  font-size: var(--numero-tamano);
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--numero-color);
  opacity: var(--numero-opacidad);
  pointer-events: none;
}

.servicios-div-4 {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.servicios-h3 {
  margin: 0;
  font-size: 21px;
  font-weight: 600;
}

/* ── Recintos ── */
.recintos-div {
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(72px, 8vw, 112px) clamp(16px, 4vw, 48px);
  display: flex;
  flex-wrap: wrap;
  gap: 64px;
}

.recintos-div-2 {
  flex: 1 1 460px;
  min-width: 0;
}

.recintos-h2 {
  margin: 0 0 32px;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-weight: 600;
}

.recintos-ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 2px solid #004473;
}

.recintos-li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid #E3E8EF;
}

.recintos-span {
  font-weight: 500;
}

.recintos-div-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  /* Ícono de fondo de cada especialidad: ajustar aquí */
  --icono-tamano: 88px;
  --icono-opacidad: 0.1;
  --icono-derecha: -12px;
  --icono-abajo: -16px;
}

.recintos-div-4 {
  border: 1px solid #D3DAE3;
  padding: 16px 18px;
  background: #F3F5F8;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/* Íconos: Material Symbols Sharp (Google, Apache 2.0), en assets/icons/.
   El color va dentro de cada SVG (atributo fill). */
.recintos-div-4::after,
.para-quien-div-4::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: var(--icono-derecha);
  bottom: var(--icono-abajo);
  width: var(--icono-tamano);
  height: var(--icono-tamano);
  background: center / contain no-repeat;
  opacity: var(--icono-opacidad);
  pointer-events: none;
}

.esp-hvac::after { background-image: url("assets/icons/hvac.svg"); }
.esp-electrical-services::after { background-image: url("assets/icons/electrical_services.svg"); }
.esp-bolt::after { background-image: url("assets/icons/bolt.svg"); }
.esp-lan::after { background-image: url("assets/icons/lan.svg"); }
.esp-radiology::after { background-image: url("assets/icons/radiology.svg"); }
.esp-plumbing::after { background-image: url("assets/icons/plumbing.svg"); }
.esp-fire-extinguisher::after { background-image: url("assets/icons/fire_extinguisher.svg"); }
.esp-format-paint::after { background-image: url("assets/icons/format_paint.svg"); }
.esp-countertops::after { background-image: url("assets/icons/countertops.svg"); }
.esp-monitor-heart::after { background-image: url("assets/icons/monitor_heart.svg"); }

.recintos-div-5 {
  font-weight: 600;
  font-size: 16px;
}

.recintos-div-6 {
  font-size: 14px;
  color: #4A5A6E;
}

/* ── Experiencia ── */
.experiencia-div {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px;
}

.experiencia-article {
  background: #FFFFFF;
  border: 1px solid #D3DAE3;
  border-top: 4px solid #004473;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.experiencia-div-2 {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  color: #4A5A6E;
  letter-spacing: 0.06em;
}

.experiencia-h3 {
  margin: 0;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.experiencia-p {
  margin: 0;
  font-size: 15px;
  color: #33465C;
}

.experiencia-div-3 {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #E3E8EF;
  font-size: 14px;
}

.experiencia-span {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #4A5A6E;
  letter-spacing: 0.06em;
  display: block;
}

.experiencia-article-2 {
  background: #FFFFFF;
  border: 1px solid #D3DAE3;
  border-top: 4px solid #2D69AD;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.experiencia-article-3 {
  background: #FFFFFF;
  border: 1px solid #D3DAE3;
  border-top: 4px solid #01172F;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.experiencia-div-4 {
  margin-top: 56px;
  border-top: 2px solid #004473;
  padding-top: 24px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 20px;
}

.experiencia-span-2 {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  color: #4A5A6E;
  letter-spacing: 0.06em;
  margin-right: 12px;
}

.experiencia-span-3 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 88px;
  min-width: 160px;
  padding: 0 24px;
  background: #FFFFFF;
  border: 1px solid #D3DAE3;
}

.experiencia-img {
  height: 22px;
  width: auto;
  display: block;
}

.experiencia-span-4 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 88px;
  min-width: 120px;
  padding: 0 24px;
  background: #FFFFFF;
  border: 1px solid #D3DAE3;
}

.experiencia-img-2 {
  height: 64px;
  width: auto;
  display: block;
}

.experiencia-img-3 {
  height: 60px;
  width: auto;
  display: block;
}

.experiencia-img-4 {
  height: 40px;
  width: auto;
  display: block;
}

/* Logo ICCC: es la versión con letras blancas, por eso la celda va con fondo oscuro */
.experiencia-span-5 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 88px;
  padding: 0 24px;
  background: #01172F;
  border: 1px solid #01172F;
}

.experiencia-img-5 {
  height: 64px;
  width: auto;
  display: block;
}

/* ── Obras ── */
.obras-div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 40px;
}

.obras-div-2 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  grid-auto-rows: 240px;
  gap: 12px;
}

.obras-figure {
  margin: 0;
  position: relative;
  grid-row: span 2;
  overflow: hidden;
  background: #E3E8EF;
}

.obras-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.obras-figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  background: #01172F;
  color: #FFFFFF;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.04em;
  padding: 8px 12px;
}

.obras-figure-2 {
  margin: 0;
  position: relative;
  grid-column: span 2;
  overflow: hidden;
  background: #E3E8EF;
}

.obras-figure-3 {
  margin: 0;
  position: relative;
  overflow: hidden;
  background: #E3E8EF;
}

/* ── Metodo ── */
.metodo-div {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
  align-items: stretch;
  margin-bottom: 56px;
}

.metodo-div-2 {
  flex: 1 1 480px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.metodo-div-3 {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #B9C6D6;
  margin-bottom: 14px;
}

.metodo-h2 {
  margin: 0 0 16px;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  font-weight: 600;
}

.metodo-p {
  margin: 0;
  color: #D3DCE7;
  font-size: 17px;
  max-width: 520px;
}

.metodo-figure {
  flex: 1 1 360px;
  min-width: 0;
  margin: 0;
  position: relative;
  min-height: 360px;
}

.metodo-figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  background: #F08A24;
  color: #01172F;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 8px 12px;
}

.metodo-ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0;
  border-top: 1px solid #2A3D55;
}

.metodo-li {
  padding: 28px 24px 8px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.metodo-span {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 32px;
  font-weight: 500;
  color: #F08A24;
}

.metodo-span-2 {
  font-weight: 600;
  font-size: 18px;
}

.metodo-span-3 {
  font-size: 15px;
  color: #B9C6D6;
}

.metodo-li-2 {
  padding: 28px 0 8px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ── Valores ── */
.valores-div {
  flex: 1 1 340px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.valores-h2 {
  margin: 0 0 16px;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-weight: 600;
}

.valores-p {
  margin: 0;
  color: #4A5A6E;
  font-size: 16px;
  max-width: 380px;
}

.valores-img {
  width: 100%;
  max-width: 420px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  border-bottom: 4px solid #F08A24;
}

.valores-div-2 {
  flex: 2 1 560px;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0 40px;
  align-content: start;
}

.valores-div-3 {
  padding: 20px 0;
  border-top: 2px solid #004473;
}

.valores-div-4 {
  font-weight: 600;
  font-size: 18px;
  margin-bottom: 6px;
}

/* ── Para-quien ── */
.para-quien-div {
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(64px, 7vw, 96px) clamp(16px, 4vw, 48px);
}

.para-quien-div-2 {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #4A5A6E;
  margin-bottom: 32px;
}

.para-quien-div-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  /* Ícono de fondo de cada tarjeta: ajustar aquí */
  --icono-tamano: 150px;
  --icono-opacidad: 0.08;
  --icono-derecha: -20px;
  --icono-abajo: -28px;
}

.para-quien-div-4 {
  border: 1px solid #D3DAE3;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/* El ::after que dibuja el ícono está definido junto a .recintos-div-4::after */
.pq-local-hospital::after { background-image: url("assets/icons/local_hospital.svg"); }
.pq-architecture::after { background-image: url("assets/icons/architecture.svg"); }
.pq-precision-manufacturing::after { background-image: url("assets/icons/precision_manufacturing.svg"); }

.para-quien-h3 {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
}

/* ── Contacto ── */
.contacto-section {
  background-image: linear-gradient(#E3E8EF 1px, transparent 1px), linear-gradient(90deg, #E3E8EF 1px, transparent 1px);
  background-size: 24px 24px;
}

.contacto-div {
  flex: 1 1 400px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.contacto-div-2 {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #4A5A6E;
}

.contacto-h2 {
  margin: 0;
  font-size: clamp(32px, 3.8vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 600;
}

.contacto-p {
  margin: 0;
  color: #33465C;
  font-size: 17px;
  max-width: 460px;
}

.contacto-dl {
  margin: 8px 0 0;
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 14px 16px;
  font-size: 16px;
  border-top: 2px solid #004473;
  padding-top: 24px;
}

.contacto-dt {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  color: #4A5A6E;
  letter-spacing: 0.06em;
  padding-top: 3px;
}

.contacto-dd {
  margin: 0;
}

.contacto-form {
  flex: 1 1 480px;
  min-width: 0;
  background: #FFFFFF;
  border: 1px solid #D3DAE3;
  border-top: 4px solid #004473;
  padding: clamp(24px, 3vw, 40px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
}

.contacto-label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
}

.contacto-input {
  height: 48px;
  border: 1px solid #A7B4C4;
  padding: 0 14px;
  background: #F7F9FB;
  color: #01172F;
}

.contacto-label-2 {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
}

.contacto-select {
  height: 48px;
  border: 1px solid #A7B4C4;
  padding: 0 12px;
  background: #F7F9FB;
  color: #01172F;
}

.contacto-textarea {
  border: 1px solid #A7B4C4;
  padding: 12px 14px;
  background: #F7F9FB;
  color: #01172F;
  resize: vertical;
}

.contacto-button {
  grid-column: 1 / -1;
  min-height: 52px;
  border: 0;
  background: #F08A24;
  color: #01172F;
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
}

/* ── Footer ── */
.footer-footer {
  background: #01172F;
  color: #B9C6D6;
  font-size: 14px;
  border-top: 4px solid #F08A24;
}

.footer-div {
  max-width: 1240px;
  margin: 0 auto;
  padding: 40px clamp(16px, 4vw, 48px);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
}

.footer-div-2 {
  display: flex;
  align-items: center;
  gap: 14px;
}

.footer-span {
  display: inline-flex;
  padding: 8px;
  /* Isotipo en versión blanca: color y opacidad de cada plano (izquierdo, central, derecho) */
  --iso-color: #FFFFFF;
  --iso-plano-1: 0.75;
  --iso-plano-2: 1;
  --iso-plano-3: 0.5;
}

.footer-span polygon { fill: var(--iso-color); }
.footer-span polygon:nth-child(1) { fill-opacity: var(--iso-plano-1); }
.footer-span polygon:nth-child(2) { fill-opacity: var(--iso-plano-2); }
.footer-span polygon:nth-child(3) { fill-opacity: var(--iso-plano-3); }

.footer-span-2 {
  color: #FFFFFF;
  font-weight: 600;
}

.footer-div-3 {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.04em;
}
