/* GIXTOH Consolidated — AUTUM / Portal técnico de estudios */

:root {
    --gix-blue: #002060;
    --gix-blue-deep: #00163f;
    --gix-night: #06142c;
    --gix-black: #080b11;
    --gix-ink: #1b2028;
    --gix-gray: #5e6671;
    --gix-line: #cbd1d9;
    --gix-surface: #f1f3f5;
    --gix-white: #fff;
    --gix-shell: 1240px;
    --gix-header-height: 100px;
    --gix-study-nav-height: 76px;
    --gix-font: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--gix-header-height) + var(--gix-study-nav-height) + 24px); }
body.gix-studies-page { margin: 0; min-width: 320px; color: var(--gix-black); background: var(--gix-white); font-family: var(--gix-font); font-size: 16px; line-height: 1.65; overflow-x: hidden; }
body.gix-menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
::selection { color: var(--gix-white); background: var(--gix-blue); }
.gix-shell { width: min(calc(100% - 64px), var(--gix-shell)); margin-inline: auto; }
.gix-skip-link { position: fixed; top: -80px; left: 24px; z-index: 3000; padding: 12px 18px; color: var(--gix-white); background: var(--gix-blue); font-weight: 700; transition: top 160ms ease; }
.gix-skip-link:focus { top: 16px; }
.gix-kicker { margin: 0 0 18px; color: var(--gix-blue); font-size: .78rem; font-weight: 700; letter-spacing: .13em; line-height: 1.35; text-transform: uppercase; }
.gix-kicker--light { color: var(--gix-white); }
.gix-text-link { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 5px; color: var(--gix-blue); border-bottom: 1px solid currentColor; font-size: .9rem; font-weight: 600; }
.gix-text-link span { transition: transform 160ms ease; }
.gix-text-link:hover span, .gix-text-link:focus-visible span { transform: translate(4px, -4px); }

/* Header */
.gix-header { position: fixed; inset: 0 0 auto; z-index: 1200; height: var(--gix-header-height); color: var(--gix-black); background: rgba(255,255,255,.985); border-bottom: 1px solid #e6e8ec; box-shadow: 0 8px 24px rgba(0,25,72,.06); backdrop-filter: blur(12px); }
.gix-header__inner { width: min(calc(100% - 64px), 1780px); height: 100%; margin-inline: auto; display: flex; align-items: center; gap: clamp(24px,4vw,72px); }
.gix-header__brand { display: flex; flex: 0 0 auto; align-items: center; }
.gix-header__brand img { width: clamp(190px,14vw,250px); height: auto; object-fit: contain; }
.gix-header__nav { display: flex; min-width: 0; align-items: center; gap: clamp(16px,2vw,34px); }
.gix-header__nav a { position: relative; padding: 12px 0; font-size: .93rem; font-weight: 600; white-space: nowrap; }
.gix-header__nav a::after { content: ""; position: absolute; right: 0; bottom: 6px; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform 180ms ease; }
.gix-header__nav a:hover::after, .gix-header__nav a:focus-visible::after, .gix-header__nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.gix-header__actions { margin-left: auto; display: flex; align-items: center; gap: 16px; }
.gix-header__socials { display: flex; align-items: center; gap: 16px; }
.gix-header__socials a { display: grid; width: 30px; height: 30px; place-items: center; }
.gix-header__socials img { width: 25px; height: 25px; object-fit: contain; }
.gix-search-trigger { display: grid; width: 58px; height: 58px; color: var(--gix-blue); place-items: center; border: 1px solid #d8deeb; border-radius: 50%; }
.gix-search-trigger span { position: relative; width: 20px; height: 20px; border: 2px solid currentColor; border-radius: 50%; }
.gix-search-trigger span::after { content: ""; position: absolute; right: -7px; bottom: -5px; width: 9px; height: 2px; background: currentColor; transform: rotate(45deg); }
.gix-menu-trigger { display: none; width: 48px; height: 48px; padding: 0; color: var(--gix-black); background: transparent; border: 0; }
.gix-menu-trigger span { display: block; width: 26px; height: 2px; margin: 6px auto; background: currentColor; transition: transform 160ms ease; }
.gix-menu-trigger[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
.gix-menu-trigger[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
.gix-mobile-nav { position: fixed; inset: var(--gix-header-height) 0 0; z-index: 1190; padding: 36px 32px; color: var(--gix-white); background: var(--gix-night); overflow-y: auto; }
.gix-mobile-nav a { display: block; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.22); font-size: 1.35rem; font-weight: 600; }
.gix-mobile-nav a[aria-current="page"] { color: #b8c9ee; }
.gix-search-panel { position: fixed; inset: var(--gix-header-height) 0 auto; z-index: 1150; padding: 26px 32px; color: var(--gix-white); background: var(--gix-night); }
.gix-search-panel form { width: min(100%,760px); margin-inline: auto; }
.gix-search-panel label { display: block; margin-bottom: 10px; font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.gix-search-panel form div { display: grid; grid-template-columns: 1fr auto; }
.gix-search-panel input, .gix-search-panel button { min-height: 52px; border: 1px solid var(--gix-white); }
.gix-search-panel input { padding: 0 16px; color: var(--gix-black); background: var(--gix-white); }
.gix-search-panel button { padding: 0 28px; color: var(--gix-white); background: transparent; font-weight: 600; }

/* Study navigation */
.gxt-study-nav { position: fixed; top: var(--gix-header-height); right: 0; left: 0; z-index: 1100; height: var(--gix-study-nav-height); background: var(--gix-surface); border-bottom: 1px solid #d4d9df; }
.gxt-study-nav__inner { width: min(100%,1780px); height: 100%; margin-inline: auto; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); }
.gxt-study-nav a { position: relative; display: flex; min-width: 0; align-items: center; gap: 12px; padding: 0 20px; border-left: 1px solid #d4d9df; font-size: .82rem; line-height: 1.25; }
.gxt-study-nav a:last-child { border-right: 1px solid #d4d9df; }
.gxt-study-nav a::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; background: var(--gix-blue); transform: scaleX(0); transform-origin: right; transition: transform 180ms ease; }
.gxt-study-nav a:hover::after, .gxt-study-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.gxt-study-nav span { flex: 0 0 auto; color: var(--gix-blue); font-weight: 700; }
.gxt-study-nav strong { min-width: 0; font-weight: 600; }

/* Hero */
.gxs-hero { margin-top: calc(var(--gix-header-height) + var(--gix-study-nav-height)); color: var(--gix-white); background: var(--gix-night); }
.gxs-hero__grid { min-height: 570px; padding-top: clamp(85px,9vw,150px); padding-bottom: clamp(80px,8vw,130px); display: grid; grid-template-columns: minmax(0,1.2fr) minmax(360px,.8fr); gap: clamp(72px,11vw,175px); align-items: end; }
.gxs-hero h1 { max-width: 820px; margin: 0; font-size: clamp(3.7rem,6.4vw,7rem); font-weight: 600; letter-spacing: -.058em; line-height: .94; }
.gxs-hero__aside { padding-bottom: 7px; }
.gxs-hero__aside p { margin: 0; color: #cbd4e2; font-size: 1rem; line-height: 1.82; }
.gxs-hero__aside .gxs-hero__lead { margin-bottom: 24px; color: var(--gix-white); font-size: clamp(1.26rem,1.8vw,1.58rem); font-weight: 500; line-height: 1.48; }
.gxs-hero__aside a { display: flex; justify-content: space-between; gap: 24px; margin-top: 36px; padding: 17px 0; color: var(--gix-white); border-top: 1px solid rgba(255,255,255,.48); border-bottom: 1px solid rgba(255,255,255,.48); font-size: .9rem; font-weight: 600; }
.gxs-hero__evidence { height: clamp(230px,23vw,430px); display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); overflow: hidden; }
.gxs-hero__evidence a { position: relative; min-width: 0; overflow: hidden; border-right: 1px solid rgba(255,255,255,.4); }
.gxs-hero__evidence img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.72) contrast(1.03); transition: transform 500ms ease, filter 300ms ease; }
.gxs-hero__evidence span { position: absolute; right: 0; bottom: 0; left: 0; padding: 42px 18px 16px; background: linear-gradient(to top,rgba(2,10,25,.88),transparent); color: var(--gix-white); font-size: .72rem; font-weight: 600; }
.gxs-hero__evidence a:hover img, .gxs-hero__evidence a:focus-visible img { transform: scale(1.035); filter: saturate(1); }

/* Shared section heads */
.gxs-section-head { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(330px,.8fr); gap: clamp(60px,9vw,150px); align-items: end; margin-bottom: clamp(64px,7vw,105px); }
.gxs-section-head h2, .gxs-integration h2, .gxs-routes h2, .gxs-contact h2 { margin: 0; color: var(--gix-black); font-size: clamp(2.65rem,4.7vw,5.1rem); font-weight: 600; letter-spacing: -.052em; line-height: 1.01; }
.gxs-section-head > p { margin: 0 0 6px; color: var(--gix-ink); font-size: 1.03rem; line-height: 1.8; }

/* Orientation */
.gxs-orientation { padding: clamp(100px,10vw,170px) 0; background: var(--gix-white); }
.gxs-question-list { border-top: 1px solid var(--gix-line); }
.gxs-question-list > a { display: grid; grid-template-columns: 52px minmax(0,1.2fr) minmax(180px,.55fr) 30px; gap: 28px; align-items: center; min-height: 150px; padding: 27px 4px; border-bottom: 1px solid var(--gix-line); }
.gxs-question-list__number { color: var(--gix-blue); font-size: .78rem; font-weight: 700; }
.gxs-question-list__descriptor { display: block; margin-bottom: 8px; color: var(--gix-gray); font-size: .73rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.gxs-question-list h3 { margin: 0; color: var(--gix-black); font-size: clamp(1.55rem,2.5vw,2.55rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.15; }
.gxs-question-list strong { color: var(--gix-blue); font-size: 1rem; font-weight: 600; }
.gxs-question-list i { font-size: 1.25rem; font-style: normal; transition: transform 160ms ease; }
.gxs-question-list a:hover i, .gxs-question-list a:focus-visible i { transform: translate(4px,-4px); }

/* Integration */
.gxs-integration { padding: clamp(100px,11vw,185px) 0; color: var(--gix-white); background: var(--gix-blue-deep); }
.gxs-integration__grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); gap: clamp(70px,11vw,180px); }
.gxs-integration h2 { color: var(--gix-white); }
.gxs-integration__copy > p { margin: 0; color: #cbd4e2; font-size: 1.02rem; line-height: 1.82; }
.gxs-integration__copy .gxs-integration__lead { margin-bottom: 28px; color: var(--gix-white); font-size: clamp(1.3rem,1.9vw,1.7rem); font-weight: 500; line-height: 1.5; }
.gxs-integration__note { margin-top: 50px; padding: 28px 0; border-top: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); }
.gxs-integration__note span { display: block; margin-bottom: 10px; color: #afc0e5; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.gxs-integration__note p { margin: 0; color: var(--gix-white); font-weight: 600; line-height: 1.55; }

/* Process */
.gxs-process { padding: clamp(96px,10vw,165px) 0; background: var(--gix-surface); }
.gxs-process__steps { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); list-style: none; border-top: 1px solid #adb5bf; border-left: 1px solid #adb5bf; }
.gxs-process__steps li { min-height: 270px; padding: 29px 24px 34px; border-right: 1px solid #adb5bf; border-bottom: 1px solid #adb5bf; }
.gxs-process__steps span { display: block; color: var(--gix-blue); font-size: .76rem; font-weight: 700; }
.gxs-process__steps h3 { margin: 58px 0 15px; font-size: 1.15rem; font-weight: 600; letter-spacing: -.02em; }
.gxs-process__steps p { margin: 0; color: var(--gix-gray); font-size: .89rem; line-height: 1.65; }

/* Decision routes */
.gxs-routes { padding: clamp(100px,11vw,180px) 0; background: var(--gix-white); }
.gxs-routes__layout { display: grid; grid-template-columns: minmax(330px,.8fr) minmax(0,1.2fr); gap: clamp(72px,11vw,180px); align-items: start; }
.gxs-routes__layout > header { position: sticky; top: calc(var(--gix-header-height) + var(--gix-study-nav-height) + 38px); }
.gxs-routes h2 { font-size: clamp(2.6rem,4.1vw,4.5rem); }
.gxs-routes header > p:last-child { margin: 30px 0 0; color: var(--gix-gray); line-height: 1.75; }
.gxs-routes__list { border-top: 1px solid var(--gix-line); }
.gxs-routes__list article { display: grid; grid-template-columns: 48px 1fr; gap: 25px; padding: 32px 0 37px; border-bottom: 1px solid var(--gix-line); }
.gxs-routes__list article > span { color: var(--gix-blue); font-size: .78rem; font-weight: 700; }
.gxs-routes__list h3 { margin: 0 0 10px; font-size: 1.4rem; font-weight: 600; letter-spacing: -.025em; }
.gxs-routes__list p { margin: 0 0 17px; color: var(--gix-gray); line-height: 1.72; }
.gxs-routes__list strong { color: var(--gix-blue); font-size: .78rem; font-weight: 600; letter-spacing: .04em; }

/* Directory */
.gxs-directory { padding: clamp(100px,10vw,170px) 0; background: var(--gix-surface); }
.gxs-section-head--directory { align-items: start; }
.gxs-directory__list { border-top: 1px solid #aeb6c0; }
.gxs-directory__list article { display: grid; grid-template-columns: minmax(250px,.42fr) minmax(0,1.58fr); min-height: 380px; border-bottom: 1px solid #aeb6c0; }
.gxs-directory__media { min-height: 380px; overflow: hidden; }
.gxs-directory__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.78); transition: transform 400ms ease, filter 300ms ease; }
.gxs-directory__media:hover img { transform: scale(1.025); filter: saturate(1); }
.gxs-directory__content { padding: 42px clamp(38px,5vw,78px) 45px; display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.8fr); column-gap: 70px; align-content: center; }
.gxs-directory__meta { grid-column: 1 / -1; display: flex; gap: 25px; align-items: center; margin-bottom: 45px; }
.gxs-directory__meta span { color: var(--gix-blue); font-size: .78rem; font-weight: 700; }
.gxs-directory__meta small { color: var(--gix-gray); font-size: .72rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.gxs-directory h3 { margin: 0; color: var(--gix-black); font-size: clamp(2.15rem,3.4vw,3.8rem); font-weight: 600; letter-spacing: -.045em; line-height: 1; }
.gxs-directory__content > p { margin: 0; color: var(--gix-gray); line-height: 1.75; }
.gxs-directory .gix-text-link { grid-column: 2; margin-top: 28px; width: fit-content; }

/* Caution and contact */
.gxs-caution { padding: 50px 0; color: var(--gix-white); background: var(--gix-night); }
.gxs-caution__grid { display: grid; grid-template-columns: 190px 1fr; gap: 60px; align-items: start; }
.gxs-caution .gix-kicker { margin: 4px 0 0; color: #afc0e5; }
.gxs-caution__grid > p:last-child { max-width: 900px; margin: 0; color: #d1d9e5; font-size: .94rem; line-height: 1.75; }
.gxs-contact { padding: clamp(90px,9vw,150px) 0; background: var(--gix-white); }
.gxs-contact__grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(350px,.85fr); gap: clamp(70px,11vw,175px); align-items: end; }
.gxs-contact__grid > div:last-child > p { margin: 0 0 34px; color: var(--gix-ink); font-size: 1.05rem; line-height: 1.8; }
.gxs-contact__grid > div:last-child > a { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 19px 0; color: var(--gix-blue); border-top: 1px solid var(--gix-blue); border-bottom: 1px solid var(--gix-blue); font-weight: 600; }
.gxs-contact__grid > div:last-child > a span { font-size: 1.35rem; transition: transform 160ms ease; }
.gxs-contact__grid > div:last-child > a:hover span { transform: translateX(5px); }

/* Footer */
.gix-footer { padding: 86px 0 28px; color: var(--gix-black); background: var(--gix-white); border-top: 1px solid #dfe3e8; }
.gix-footer__main { display: grid; grid-template-columns: minmax(270px,1.5fr) repeat(3,minmax(150px,.75fr)); gap: 52px; }
.gix-footer__brand img { width: min(100%,260px); height: auto; object-fit: contain; }
.gix-footer__brand p { max-width: 360px; margin: 24px 0 0; color: var(--gix-gray); font-size: .92rem; }
.gix-footer__links { display: flex; flex-direction: column; gap: 10px; }
.gix-footer__links h2 { margin: 0 0 10px; font-size: .78rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.gix-footer__links a { width: fit-content; color: #3d434c; font-size: .9rem; }
.gix-footer__links a:hover, .gix-footer__links a:focus-visible { color: var(--gix-blue); text-decoration: underline; text-underline-offset: 4px; }
.gix-footer__bottom { margin-top: 68px; padding-top: 22px; display: flex; justify-content: space-between; gap: 28px; border-top: 1px solid #dfe3e8; color: var(--gix-gray); font-size: .78rem; }
.gix-footer__bottom p { margin: 0; }

@media (max-width: 1480px) {
    .gxt-study-nav a { gap: 9px; padding-inline: 14px; font-size: .75rem; }
    .gxs-process__steps { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 1180px) {
    :root { --gix-header-height: 88px; --gix-study-nav-height: 68px; }
    .gix-header__socials { display: none; }
    .gix-header__inner { width: min(calc(100% - 48px),1780px); }
    .gxt-study-nav { overflow-x: auto; scrollbar-width: thin; }
    .gxt-study-nav__inner { width: max-content; min-width: 1180px; }
    .gxt-study-nav a { width: 196px; }
    .gxs-hero__evidence { grid-template-columns: repeat(3,1fr); height: 520px; }
    .gxs-directory__content { grid-template-columns: 1fr; }
    .gxs-directory__content > p, .gxs-directory .gix-text-link { grid-column: 1; }
    .gxs-directory__content > p { margin-top: 24px; }
}

@media (max-width: 980px) {
    .gix-header__nav, .gix-search-trigger { display: none; }
    .gix-menu-trigger { display: block; }
    .gxs-hero__grid, .gxs-section-head, .gxs-integration__grid, .gxs-routes__layout, .gxs-contact__grid { grid-template-columns: 1fr; gap: 48px; }
    .gxs-hero__grid { min-height: 0; align-items: start; }
    .gxs-hero__aside { max-width: 660px; }
    .gxs-routes__layout > header { position: static; }
    .gxs-question-list > a { grid-template-columns: 42px 1fr 30px; }
    .gxs-question-list > a > strong { display: none; }
    .gxs-directory__list article { grid-template-columns: minmax(220px,.38fr) minmax(0,.62fr); }
    .gix-footer__main { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
    :root { --gix-header-height: 76px; --gix-study-nav-height: 62px; }
    .gix-shell { width: min(calc(100% - 36px),var(--gix-shell)); }
    .gix-header__inner { width: calc(100% - 34px); }
    .gix-header__brand img { width: 168px; }
    .gix-menu-trigger { width: 42px; height: 42px; }
    .gxt-study-nav__inner { min-width: 1020px; }
    .gxt-study-nav a { width: 170px; padding-inline: 12px; }
    .gxs-hero__grid { padding-top: 70px; padding-bottom: 70px; }
    .gxs-hero h1 { font-size: clamp(3rem,15vw,4.6rem); }
    .gxs-hero__evidence { height: 660px; grid-template-columns: repeat(2,1fr); }
    .gxs-section-head h2, .gxs-integration h2, .gxs-routes h2, .gxs-contact h2 { font-size: clamp(2.35rem,11vw,3.5rem); }
    .gxs-question-list > a { min-height: 132px; gap: 14px; }
    .gxs-question-list h3 { font-size: 1.45rem; }
    .gxs-process__steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .gxs-process__steps li { min-height: 238px; padding: 25px 19px 28px; }
    .gxs-process__steps h3 { margin-top: 42px; }
    .gxs-routes__list article { grid-template-columns: 34px 1fr; gap: 16px; }
    .gxs-directory__list article { grid-template-columns: 1fr; }
    .gxs-directory__media { min-height: 0; aspect-ratio: 16 / 10; }
    .gxs-directory__media img { object-position: center 42%; }
    .gxs-directory__content { padding: 34px 0 42px; }
    .gxs-directory__meta { margin-bottom: 30px; }
    .gxs-caution__grid { grid-template-columns: 1fr; gap: 14px; }
    .gix-footer__main { grid-template-columns: 1fr; }
    .gix-footer__bottom { flex-direction: column; }
}

@media (max-width: 460px) {
    .gxs-hero__evidence { height: 540px; }
    .gxs-hero__evidence span { padding-inline: 10px; font-size: .65rem; }
    .gxs-process__steps { grid-template-columns: 1fr; }
    .gxs-process__steps li { min-height: 205px; }
    .gxs-question-list__descriptor { letter-spacing: .07em; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
