/* 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-20C4, 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-20C4, 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-20C4, 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-20C4, 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-20C4, 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, summary:focus-visible, select:focus-visible { outline: 2px solid #DC993B; outline-offset: 3px; box-shadow: 0 0 0 7px #0B2438; }
  .skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; background: #0B2438; color: #F5F1E8; padding: 12px 18px; font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; transform: translateY(-200%); }
  .skip-link:focus { transform: none; color: #F5F1E8; }
  main:focus { outline: none; }
  select option { background: #0B2438; color: #F5F1E8; }
  [data-hscroll]:focus-visible { outline: 2px solid #DC993B; outline-offset: 4px; }
  .field-error { font-family: 'Inter Tight', sans-serif; font-size: 14px; letter-spacing: 0; text-transform: none; line-height: 1.4; color: #F0B37A; }
  [aria-invalid="true"] { border-color: #F0B37A !important; }
  [data-faq] > summary::-webkit-details-marker { display: none; }
  [data-faq] > summary:hover { color: #134974; }
  [data-faq-icon] { display: inline-block; transition: transform 200ms cubic-bezier(0.16,1,0.3,1); }
  [data-faq][open] [data-faq-icon] { transform: rotate(45deg); }
  @media (max-width: 1000px) and (prefers-reduced-motion: no-preference) {
    [data-procpin] { --strip-h: max(420px, calc(100svh - var(--pin-top, 128px) - 96px)); height: calc(var(--strip-h) + 240vh); }
    [data-procpin] > [data-procstack] { position: sticky; top: var(--pin-top, 128px); height: var(--strip-h) !important; }
    [data-procpin] [data-proccard] { transition: none !important; }
  }
  .wa-bar { display: none; }
  @media (max-width: 760px) {
    .wa-bar { display: flex; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: #0B2438; border-top: 1px solid #1C4468; transform: translateY(110%); visibility: hidden; transition: transform 320ms cubic-bezier(0.16,1,0.3,1), visibility 0s linear 320ms; }
    .wa-bar.is-on { transform: none; visibility: visible; transition: transform 320ms cubic-bezier(0.16,1,0.3,1); }
    .wa-bar a { min-height: 48px; display: flex; align-items: center; justify-content: center; text-align: center; font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; }
    .wa-bar-main, .wa-bar-main:hover { flex: 1.7; background: #DC993B; color: #0B2438; }
    .wa-bar-alt, .wa-bar-alt:hover { flex: 1; border: 1px solid #6B8196; color: #F5F1E8; }
    footer { padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important; }
  }
  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: 12px !important; }
    [data-tltext] { margin-top: 0 !important; }
    [data-procstack] { height: 680px !important; }
    [data-proccard] { min-height: 52px !important; }
    section [data-matcard] h3 { font-size: 17px !important; }
    [data-cols2] { grid-template-columns: 1fr 1fr !important; }
    [data-cols3] { grid-template-columns: 1fr 1fr !important; }
    [data-cols4] { grid-template-columns: 1fr 1fr !important; }
    [data-stats] { grid-template-columns: 1fr !important; gap: 12px !important; }
    [data-stats] > div { padding: 24px 22px !important; gap: 8px !important; border-color: #2A5A85 !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; }
    section h2 { font-size: clamp(2.05rem, 7.4vw, 2.5rem) !important; font-weight: 400 !important; line-height: 1.14 !important; letter-spacing: -0.02em !important; max-width: none !important; }
    section h3 { font-size: 21px !important; font-weight: 500 !important; line-height: 1.25 !important; }
    section p { font-size: 17.5px !important; line-height: 1.62 !important; }
  }
  @media (max-width: 620px) {
    [data-cols2] { grid-template-columns: 1fr !important; }
    [data-cols3] { grid-template-columns: 1fr !important; }
    [data-cols4] { grid-template-columns: 1fr 1fr !important; }
    [data-form] { grid-template-columns: 1fr !important; }
    [data-span2] { grid-column: span 1 !important; }
    [data-topbar] { letter-spacing: 0.08em !important; justify-content: center !important; }
    [data-show-xs] { display: block !important; }
    [data-hscroll] { grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: 84%; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 22px; overscroll-behavior-x: contain; margin: 0 -22px; padding: 0 22px 14px; gap: 14px !important; }
    [data-hscroll] > article { scroll-snap-align: start; }
    [data-mat] { grid-template-columns: 1fr !important; gap: 12px !important; }
    [data-matcard] { flex-direction: row !important; }
    [data-matcard] > div:first-child { flex: 0 0 40%; aspect-ratio: auto !important; min-height: 168px; border-bottom: 0 !important; border-right: 1px solid #1C4468; }
    [data-matcard] > div:last-child { padding: 16px 18px !important; justify-content: center; }
    [data-matcard] p { font-size: 15px !important; line-height: 1.55 !important; }
    [data-hide-xs] { display: none !important; }
    [data-cta-row] > a { flex: 1 1 100% !important; text-align: center !important; }
  }
  @keyframes heroSettle { from { transform: scale(1.18); filter: brightness(0.55); } to { transform: scale(1.06); filter: brightness(1); } }
  @keyframes heroLine { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  [data-mbtn] { transition: transform 500ms cubic-bezier(0.32,0.72,0,1), background 400ms cubic-bezier(0.32,0.72,0,1), color 400ms cubic-bezier(0.32,0.72,0,1), border-color 400ms cubic-bezier(0.32,0.72,0,1); }
  [data-mbtn]:active { transform: scale(0.97); }
  [data-mbtn-ico] { transition: transform 500ms cubic-bezier(0.32,0.72,0,1), background 400ms cubic-bezier(0.32,0.72,0,1); }
  [data-mbtn]:hover [data-mbtn-ico] { transform: translate(3px,-2px) scale(1.08); }
  @media (max-width: 1000px) { [data-hero-h1] { font-size: clamp(2.5rem, 10.5vw, 3.4rem) !important; } [data-hero-meta] { display: none !important; } }
  @media (prefers-reduced-motion: reduce) { [data-hero-img] { animation: none !important; } }
  @media (prefers-reduced-motion: reduce) { [data-reveal] { animation: none; opacity: 1 !important; transform: none !important; } .wa-bar, .wa-bar.is-on, [data-faq-icon], [data-proccard] { transition: 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:#F0B25A;border-color:#F0B25A; }
.hv3:hover, .hv3:focus-visible { border-color:#F5F1E8;background:rgba(245,241,232,0.08); }
.hv4:hover, .hv4:focus-visible { color:#134974;border-top-color:#DC993B; }
.hv5:hover, .hv5:focus-visible { background:#DC993B;border-color:#DC993B;color:#0B2438; }
.hv6:hover, .hv6:focus-visible { border-color:#134974;color:#134974; }
.hv7:hover, .hv7:focus-visible { background:transparent;color:#DC993B; }
.hv8:hover, .hv8:focus-visible { border-color:#DC993B;color:#DC993B; }
.hv9:hover, .hv9:focus-visible { color:#DC993B;border-color:#DC993B; }

/* 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; } }
