/* Tipografias (archivos locales, sin llamadas a Google Fonts) */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/inter-tight-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/inter-tight-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;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-tight-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-tight-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;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-tight-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-tight-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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-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;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-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 y responsivo — viene del diseño original */
html { scroll-behavior: smooth; }
  body { margin: 0; background: #F5F1E8; color: #0B2438; font-family: 'Inter Tight', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
  * { box-sizing: border-box; }
  img { max-width: 100%; }
  a { color: #0B2438; text-decoration: none; }
  a:hover { color: #DC993B; }
  ::selection { background: #DC993B; color: #0B2438; }
  input:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible { outline: 2px solid #DC993B; outline-offset: 3px; }
  input::placeholder, textarea::placeholder { color: #7E93A5; }
  @keyframes dcReveal { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
  [data-reveal] { animation: dcReveal 700ms cubic-bezier(0.16,1,0.3,1) both; }
  @media (max-width: 1000px) {
    [data-pad] { padding-left: 22px !important; padding-right: 22px !important; }
    [data-sec] { padding-top: 76px !important; padding-bottom: 76px !important; }
    [data-sec-b] { padding-bottom: 76px !important; }
    [data-sec-t] { padding-top: 76px !important; }
    [data-nav-links] { display: none !important; }
    [data-hide-sm] { display: none !important; }
    [data-stack] { grid-template-columns: 1fr !important; gap: 36px !important; }
    [data-tlitem] { grid-template-columns: 1fr !important; gap: 14px !important; }
    [data-procstack] { height: 680px !important; }
    [data-proccard] { min-height: 110px !important; }
    [data-cols2] { grid-template-columns: 1fr 1fr !important; }
    [data-cols3] { grid-template-columns: 1fr 1fr !important; }
    [data-stats] { grid-template-columns: 1fr !important; gap: 16px !important; }
    [data-gallery] { grid-template-columns: 1fr !important; }
    [data-gitem] { grid-column: 1 / -1 !important; }
    [data-gimg] { height: auto !important; aspect-ratio: 4 / 3 !important; }
    [data-minh] { min-height: 0 !important; }
    [data-tl] { padding-left: 42px !important; }
    [data-tldot] { left: -35px !important; }
    [data-hero] { padding-top: 132px !important; padding-bottom: 72px !important; }
    [data-hero-note] { display: none !important; }
  }
  @media (max-width: 620px) {
    [data-cols2] { grid-template-columns: 1fr !important; }
    [data-cols3] { grid-template-columns: 1fr !important; }
    [data-form] { grid-template-columns: 1fr !important; }
    [data-span2] { grid-column: span 1 !important; }
    [data-topbar] { font-size: 10px !important; letter-spacing: 0.08em !important; justify-content: center !important; }
    [data-hide-xs] { display: none !important; }
    [data-cta-row] > a { flex: 1 1 100% !important; text-align: center !important; }
  }
  @media (prefers-reduced-motion: reduce) { [data-reveal] { animation: none; opacity: 1 !important; transform: none !important; } }

/* Efectos al pasar el cursor */
.hv1:hover, .hv1:focus-visible { background:#134974;border-color:#134974;color:#F5F1E8; }
.hv2:hover, .hv2:focus-visible { background:transparent;color:#DC993B; }
.hv3:hover, .hv3:focus-visible { border-color:#F5F1E8;background:rgba(245,241,232,0.06); }
.hv4:hover, .hv4:focus-visible { color:#DC993B; }
.hv5:hover, .hv5:focus-visible { border-color:#DC993B;color:#DC993B; }
.hv6:hover, .hv6:focus-visible { background:#DC993B;border-color:#DC993B;color:#0B2438; }
.hv7:hover, .hv7:focus-visible { border-color:#134974;color:#134974; }
.hv8:hover, .hv8:focus-visible { color:#DC993B;border-color:#DC993B; }

/* Carrusel de testimonios */
[data-quote-slide][hidden] { display: none !important; }

/* Al saltar desde el menu, deja aire para la barra fija */
[id] { scroll-margin-top: 130px; }
@media (max-width: 1000px) { [id] { scroll-margin-top: 110px; } }
