:root { --grb-ink: #0b3042; --grb-ink-2: #123f52; --grb-teal: #1d8b8a; --grb-teal-soft: #dff3f1; --grb-orange: #ea7a11; --grb-orange-soft: #fff1e3; --grb-expansion: #7962a6; --grb-expansion-soft: #f0ebf8; --grb-text: #263942; --grb-muted: #667980; --grb-line: #dce5e8; --grb-bg: #f5f8f8; --grb-white: #ffffff; --grb-shadow: 0 24px 70px rgba(11, 48, 66, 0.12); --grb-radius-lg: 30px; --grb-radius-md: 20px; --grb-radius-sm: 13px; --grb-container: 1180px; } .grb-page, .grb-page * { box-sizing: border-box; } .grb-page { width: 100%; overflow: hidden; color: var(--grb-text); background: var(--grb-white); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; } .grb-page img { display: block; max-width: 100%; } .grb-page a { color: inherit; text-decoration: none; } .grb-page h1, .grb-page h2, .grb-page h3, .grb-page p, .grb-page ul, .grb-page figure { margin-top: 0; } .grb-page h1, .grb-page h2, .grb-page h3 { color: var(--grb-ink); font-weight: 760; line-height: 1.08; letter-spacing: -0.035em; } .grb-page h1 { max-width: 860px; margin-bottom: 24px; color: var(--grb-white); font-size: clamp(2.65rem, 5.8vw, 5.25rem); } .grb-page h2 { margin-bottom: 22px; font-size: clamp(2rem, 3.7vw, 3.5rem); } .grb-page h3 { margin-bottom: 14px; font-size: clamp(1.25rem, 2vw, 1.7rem); } .grb-page p { margin-bottom: 18px; } .grb-container { width: min(calc(100% - 40px), var(--grb-container)); margin-inline: auto; } .grb-section { position: relative; padding: clamp(74px, 8vw, 124px) 0; } .grb-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; color: var(--grb-teal); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; } .grb-eyebrow::before { width: 28px; height: 2px; background: currentColor; content: ""; } .grb-eyebrow--light { color: #9fe4df; } .grb-btn { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 10px; padding: 12px 20px; border: 1px solid transparent; border-radius: 999px; font-size: 0.95rem; font-weight: 800; line-height: 1.2; transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease; } .grb-btn:hover { transform: translateY(-2px); } .grb-btn:focus-visible, .grb-page a:focus-visible, .grb-page summary:focus-visible { outline: 3px solid rgba(234, 122, 17, 0.38); outline-offset: 4px; } .grb-btn--primary { background: var(--grb-orange); color: var(--grb-white) !important; box-shadow: 0 14px 30px rgba(234, 122, 17, 0.25); } .grb-btn--primary:hover { background: #d96d0c; box-shadow: 0 18px 34px rgba(234, 122, 17, 0.3); } .grb-btn--secondary { background: var(--grb-ink); color: var(--grb-white) !important; } .grb-btn--secondary:hover { background: var(--grb-ink-2); } .grb-btn--ghost { border-color: rgba(255, 255, 255, 0.42); background: rgba(255, 255, 255, 0.08); color: var(--grb-white) !important; backdrop-filter: blur(12px); } .grb-btn--ghost:hover { border-color: rgba(255, 255, 255, 0.75); background: rgba(255, 255, 255, 0.15); } .grb-btn--outline { border-color: rgba(234, 122, 17, 0.42); background: var(--grb-white); color: #b85808 !important; } .grb-btn--outline:hover { border-color: var(--grb-orange); background: var(--grb-orange-soft); } .grb-hero { position: relative; min-height: 760px; display: flex; align-items: center; isolation: isolate; background: var(--grb-ink); } .grb-hero__media, .grb-hero__overlay { position: absolute; inset: 0; } .grb-hero__media { z-index: -3; } .grb-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 36%; } .grb-hero__overlay { z-index: -2; background: linear-gradient(90deg, rgba(7, 37, 51, 0.97) 0%, rgba(7, 37, 51, 0.9) 45%, rgba(7, 37, 51, 0.56) 73%, rgba(7, 37, 51, 0.72) 100%), linear-gradient(180deg, rgba(7, 37, 51, 0.15), rgba(7, 37, 51, 0.52)); } .grb-hero__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, 0.65fr); gap: clamp(50px, 7vw, 100px); align-items: center; padding-top: clamp(100px, 11vw, 150px); padding-bottom: clamp(82px, 9vw, 126px); } .grb-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 34px; color: rgba(255, 255, 255, 0.72); font-size: 0.8rem; } .grb-breadcrumbs a:hover { color: var(--grb-white); } .grb-hero__lead { max-width: 760px; margin-bottom: 32px; color: rgba(255, 255, 255, 0.84); font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.7; } .grb-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 34px; } .grb-hero__facts { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; } .grb-hero__facts li { padding: 8px 12px; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 999px; background: rgba(255, 255, 255, 0.07); color: rgba(255, 255, 255, 0.78); font-size: 0.78rem; backdrop-filter: blur(8px); } .grb-hero__facts strong { color: var(--grb-white); } .grb-bridge { padding: clamp(24px, 3vw, 34px); border: 1px solid rgba(255, 255, 255, 0.16); border-radius: var(--grb-radius-lg); background: rgba(255, 255, 255, 0.1); box-shadow: 0 30px 80px rgba(0, 0, 0, 0.22); backdrop-filter: blur(18px); } .grb-bridge__head { display: grid; gap: 4px; margin-bottom: 24px; } .grb-bridge__head span { color: #9fe4df; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; } .grb-bridge__head strong { color: var(--grb-white); font-size: 1.13rem; line-height: 1.35; } .grb-brand-token { display: flex; align-items: center; gap: 16px; padding: 18px; border-radius: 18px; background: rgba(255, 255, 255, 0.94); } .grb-brand-token__mark, .grb-mini-mark { display: inline-grid; flex: 0 0 auto; place-items: center; border-radius: 14px; color: var(--grb-white); font-weight: 850; line-height: 1; } .grb-brand-token__mark { width: 48px; height: 48px; font-size: 1.35rem; } .grb-brand-token--rookie .grb-brand-token__mark, .grb-mini-mark--rookie { background: var(--grb-orange); } .grb-brand-token--gestia .grb-brand-token__mark, .grb-mini-mark--gestia { background: var(--grb-teal); } .grb-brand-token strong, .grb-brand-token small { display: block; } .grb-brand-token strong { margin-bottom: 3px; color: var(--grb-ink); font-size: 1rem; } .grb-brand-token small { color: var(--grb-muted); font-size: 0.78rem; line-height: 1.45; } .grb-bridge__connector { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; padding: 14px 6px; color: rgba(255, 255, 255, 0.64); font-size: 0.67rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; } .grb-bridge__connector span:first-child, .grb-bridge__connector span:last-child { height: 1px; background: rgba(255, 255, 255, 0.25); } .grb-bridge__note { margin: 22px 2px 0; color: rgba(255, 255, 255, 0.74); font-size: 0.8rem; line-height: 1.55; } .grb-intro { background: var(--grb-white); } .grb-intro__grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(40px, 8vw, 110px); align-items: start; } .grb-intro__copy { padding-top: 8px; color: var(--grb-muted); font-size: 1.06rem; } .grb-intro__copy p:last-child { margin-bottom: 0; } .grb-section-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.7fr); gap: 40px; align-items: end; margin-bottom: 48px; } .grb-section-head > p, .grb-section-head > div + p { color: var(--grb-muted); font-size: 1.02rem; } .grb-section-head--center { display: block; max-width: 790px; margin-right: auto; margin-left: auto; text-align: center; } .grb-section-head--center .grb-eyebrow { justify-content: center; } .grb-section-head--center p { color: var(--grb-muted); font-size: 1.03rem; } .grb-coverage { background: radial-gradient(circle at 92% 12%, rgba(29, 139, 138, 0.12), transparent 24%), var(--grb-bg); } .grb-coverage-table { overflow: hidden; border: 1px solid var(--grb-line); border-radius: var(--grb-radius-lg); background: var(--grb-white); box-shadow: var(--grb-shadow); } .grb-coverage-table__header, .grb-coverage-row { display: grid; grid-template-columns: 1.05fr 1.45fr 1.2fr 0.7fr; gap: 28px; align-items: center; } .grb-coverage-table__header { padding: 16px 26px; background: var(--grb-ink); color: rgba(255, 255, 255, 0.72); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; } .grb-coverage-row { position: relative; padding: 28px 26px; border-bottom: 1px solid var(--grb-line); } .grb-coverage-row:last-child { border-bottom: 0; } .grb-coverage-row::before { position: absolute; top: 0; bottom: 0; left: 0; width: 4px; content: ""; } .grb-coverage-row--rookie::before { background: var(--grb-orange); } .grb-coverage-row--gestia::before { background: var(--grb-teal); } .grb-coverage-row--expansion::before { background: var(--grb-expansion); } .grb-coverage-row--expansion { background: linear-gradient(90deg, rgba(121, 98, 166, 0.065), transparent 35%); } .grb-coverage-row__brand { display: flex; align-items: center; gap: 13px; } .grb-mini-mark { width: 40px; height: 40px; } .grb-coverage-row strong, .grb-coverage-row small { display: block; } .grb-coverage-row strong { color: var(--grb-ink); } .grb-coverage-row small { color: var(--grb-muted); font-size: 0.75rem; } .grb-coverage-row p { margin: 6px 0 0; color: var(--grb-muted); font-size: 0.83rem; line-height: 1.5; } .grb-city-list { display: flex; flex-wrap: wrap; gap: 7px; } .grb-city-list span, .grb-city-list a { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 10px; border-radius: 999px; font-size: 0.76rem; font-weight: 800; } .grb-city-list span { background: var(--grb-orange-soft); color: #a84e05; } .grb-city-list--gestia a { background: var(--grb-teal-soft); color: #146e6d; } .grb-city-list--expansion a { background: var(--grb-expansion-soft); color: #624a8d; } .grb-city-list a:hover { filter: brightness(0.96); } .grb-coverage-row__clarification { max-width: 280px; } .grb-status { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 6px 10px; border-radius: 9px; font-size: 0.72rem; font-weight: 850; text-align: center; } .grb-status--rookie { background: var(--grb-orange-soft); color: #a84e05; } .grb-status--active { background: var(--grb-teal-soft); color: #146e6d; } .grb-status--expansion { background: var(--grb-expansion-soft); color: #624a8d; } .grb-coverage-note { display: flex; gap: 14px; align-items: flex-start; margin-top: 24px; padding: 18px 20px; border: 1px solid rgba(11, 48, 66, 0.11); border-radius: var(--grb-radius-sm); background: rgba(255, 255, 255, 0.72); } .grb-coverage-note > span { display: grid; flex: 0 0 auto; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--grb-ink); color: var(--grb-white); font-size: 0.74rem; font-weight: 850; } .grb-coverage-note p { margin: 0; color: var(--grb-muted); font-size: 0.9rem; } .grb-transfer { background: var(--grb-white); } .grb-transfer__grid { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(44px, 7vw, 92px); align-items: center; } .grb-transfer__media { position: relative; overflow: hidden; min-height: 610px; margin-bottom: 0; border-radius: var(--grb-radius-lg); box-shadow: var(--grb-shadow); } .grb-transfer__media::after { position: absolute; inset: auto 0 0; height: 34%; background: linear-gradient(180deg, transparent, rgba(11, 48, 66, 0.35)); content: ""; } .grb-transfer__media img { width: 100%; height: 100%; min-height: 610px; object-fit: cover; } .grb-transfer__content > p { color: var(--grb-muted); font-size: 1.02rem; } .grb-transfer-list { display: grid; gap: 14px; margin-top: 30px; } .grb-transfer-list article { display: grid; grid-template-columns: 46px 1fr; gap: 15px; padding: 18px 0; border-top: 1px solid var(--grb-line); } .grb-transfer-list article > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: var(--grb-teal-soft); color: var(--grb-teal); font-size: 0.75rem; font-weight: 850; } .grb-transfer-list h3 { margin-bottom: 7px; font-size: 1.1rem; } .grb-transfer-list p { margin: 0; color: var(--grb-muted); font-size: 0.88rem; } .grb-services { background: var(--grb-ink); } .grb-services h2, .grb-services h3 { color: var(--grb-white); } .grb-services .grb-section-head > p, .grb-services .grb-section-head > div + p { color: rgba(255, 255, 255, 0.66); } .grb-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } .grb-service-card { display: flex; min-height: 330px; flex-direction: column; padding: 25px; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: var(--grb-radius-md); background: rgba(255, 255, 255, 0.06); transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease; } .grb-service-card:hover { transform: translateY(-4px); border-color: rgba(159, 228, 223, 0.5); background: rgba(255, 255, 255, 0.1); } .grb-service-card--highlight { border-color: rgba(234, 122, 17, 0.45); background: linear-gradient(150deg, rgba(234, 122, 17, 0.16), rgba(255, 255, 255, 0.05)); } .grb-service-card__number { margin-bottom: 34px; color: #9fe4df; font-size: 0.77rem; font-weight: 850; letter-spacing: 0.12em; } .grb-service-card p { color: rgba(255, 255, 255, 0.66); font-size: 0.9rem; } .grb-service-card a { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: #9fe4df; font-size: 0.82rem; font-weight: 850; } .grb-service-card--highlight a { color: #ffb66d; } .grb-routes { background: var(--grb-bg); } .grb-route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } .grb-route-card { display: flex; min-height: 380px; flex-direction: column; padding: 30px; border: 1px solid var(--grb-line); border-radius: var(--grb-radius-lg); background: var(--grb-white); box-shadow: 0 16px 42px rgba(11, 48, 66, 0.07); } .grb-route-card--gestia { border-top: 5px solid var(--grb-teal); } .grb-route-card--investor { border-top: 5px solid var(--grb-expansion); } .grb-route-card--rookie { border-top: 5px solid var(--grb-orange); } .grb-route-card__tag { align-self: flex-start; margin-bottom: 26px; padding: 6px 10px; border-radius: 999px; background: var(--grb-bg); color: var(--grb-muted); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.1em; text-transform: uppercase; } .grb-route-card p { color: var(--grb-muted); font-size: 0.92rem; } .grb-route-card .grb-btn { align-self: flex-start; margin-top: auto; } .grb-faq { background: var(--grb-white); } .grb-faq__grid { display: grid; grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr); gap: clamp(50px, 8vw, 110px); align-items: start; } .grb-faq__intro { position: sticky; top: 110px; } .grb-faq__intro p { color: var(--grb-muted); } .grb-inline-link { display: inline-flex; align-items: center; gap: 9px; color: var(--grb-teal) !important; font-size: 0.9rem; font-weight: 850; } .grb-faq__list { border-top: 1px solid var(--grb-line); } .grb-faq__item { border-bottom: 1px solid var(--grb-line); } .grb-faq__item summary { position: relative; padding: 24px 52px 24px 0; color: var(--grb-ink); cursor: pointer; font-size: 1.02rem; font-weight: 800; list-style: none; } .grb-faq__item summary::-webkit-details-marker { display: none; } .grb-faq__item summary::before, .grb-faq__item summary::after { position: absolute; top: 50%; right: 12px; width: 16px; height: 2px; background: var(--grb-teal); content: ""; transition: transform 0.2s ease; } .grb-faq__item summary::before { transform: translateY(-50%); } .grb-faq__item summary::after { transform: translateY(-50%) rotate(90deg); } .grb-faq__item[open] summary::after { transform: translateY(-50%) rotate(0deg); } .grb-faq__item p { max-width: 760px; margin: -3px 52px 25px 0; color: var(--grb-muted); font-size: 0.94rem; } .grb-final { padding: clamp(66px, 7vw, 98px) 0; background: radial-gradient(circle at 8% 20%, rgba(29, 139, 138, 0.28), transparent 26%), radial-gradient(circle at 94% 86%, rgba(234, 122, 17, 0.2), transparent 24%), var(--grb-ink); } .grb-final__inner { display: grid; grid-template-columns: minmax(0, 1.2fr) auto; gap: 44px; align-items: center; } .grb-final h2 { max-width: 760px; color: var(--grb-white); } .grb-final p { max-width: 750px; margin-bottom: 0; color: rgba(255, 255, 255, 0.7); } .grb-final__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; } @media (max-width: 1080px) { .grb-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(310px, 0.55fr); gap: 42px; } .grb-coverage-table__header, .grb-coverage-row { grid-template-columns: 1fr 1.35fr 1fr 0.72fr; gap: 18px; } .grb-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .grb-service-card { min-height: 280px; } } @media (max-width: 900px) { .grb-hero { min-height: auto; } .grb-hero__grid, .grb-intro__grid, .grb-transfer__grid, .grb-faq__grid, .grb-final__inner { grid-template-columns: 1fr; } .grb-hero__grid { padding-top: 115px; } .grb-bridge { max-width: 620px; } .grb-section-head { grid-template-columns: 1fr; gap: 8px; } .grb-coverage-table__header { display: none; } .grb-coverage-row { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } .grb-coverage-row > [role="cell"]:not(.grb-coverage-row__brand)::before { display: block; margin-bottom: 6px; color: var(--grb-muted); content: attr(data-label); font-size: 0.65rem; font-weight: 850; letter-spacing: 0.1em; text-transform: uppercase; } .grb-route-grid { grid-template-columns: 1fr; } .grb-route-card { min-height: 320px; } .grb-faq__intro { position: static; } .grb-final__actions { justify-content: flex-start; } } @media (max-width: 640px) { .grb-container { width: min(calc(100% - 28px), var(--grb-container)); } .grb-section { padding: 68px 0; } .grb-page h1 { font-size: clamp(2.35rem, 12vw, 3.35rem); } .grb-page h2 { font-size: clamp(1.8rem, 9vw, 2.55rem); } .grb-hero__overlay { background: linear-gradient(180deg, rgba(7, 37, 51, 0.9), rgba(7, 37, 51, 0.97)); } .grb-hero__media img { object-position: 58% center; } .grb-hero__actions, .grb-final__actions { display: grid; grid-template-columns: 1fr; } .grb-btn { width: 100%; } .grb-hero__facts { display: grid; } .grb-hero__facts li { border-radius: 12px; } .grb-bridge { padding: 20px; border-radius: 22px; } .grb-brand-token { align-items: flex-start; padding: 15px; } .grb-coverage-row { grid-template-columns: 1fr; gap: 22px; padding: 24px 20px; } .grb-coverage-note { padding: 16px; } .grb-transfer__media, .grb-transfer__media img { min-height: 410px; } .grb-service-grid { grid-template-columns: 1fr; } .grb-service-card { min-height: 300px; } .grb-route-card { min-height: 0; padding: 24px; } .grb-route-card .grb-btn { margin-top: 26px; } .grb-faq__item summary { padding: 21px 46px 21px 0; } .grb-faq__item p { margin-right: 20px; } } @media (prefers-reduced-motion: reduce) { .grb-page *, .grb-page *::before, .grb-page *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; } } /* ========================================================= GESTIA LIVIN · LANDING GESTIA + ROOKIE IN TOWN Funciones: 1. Animaciones progresivas seguras. 2. Scroll suave para anchors internos. 3. FAQs nativas con una sola pregunta abierta. 4. Eventos para Google Tag Manager. Las FAQs funcionan incluso si este archivo no se carga. ========================================================= */ (function () { "use strict"; const root = document.querySelector("#gestiaRookie"); if (!root) { return; } root.classList.add("gr-js"); /* ====================================================== REDUCED MOTION ====================================================== */ const reducedMotion = window.matchMedia( "(prefers-reduced-motion: reduce)" ).matches; /* ====================================================== REVEAL DE ELEMENTOS ====================================================== */ const revealElements = Array.from( root.querySelectorAll(".gr-reveal") ); if ( reducedMotion || !("IntersectionObserver" in window) ) { revealElements.forEach(function (element) { element.classList.add("is-visible"); }); } else { const revealObserver = new IntersectionObserver( function (entries, observer) { entries.forEach(function (entry) { if (!entry.isIntersecting) { return; } entry.target.classList.add("is-visible"); observer.unobserve(entry.target); }); }, { root: null, rootMargin: "0px 0px -8% 0px", threshold: 0.12 } ); revealElements.forEach(function (element, index) { const delay = Math.min((index % 4) * 65, 195); element.style.transitionDelay = delay + "ms"; revealObserver.observe(element); }); } /* ====================================================== SCROLL SUAVE EN ENLACES INTERNOS ====================================================== */ const internalAnchorLinks = root.querySelectorAll( 'a[href^="#"]:not([href="#"])' ); internalAnchorLinks.forEach(function (link) { link.addEventListener("click", function (event) { const targetSelector = link.getAttribute("href"); if (!targetSelector) { return; } let target; try { target = root.querySelector(targetSelector); } catch (error) { return; } if (!target) { return; } event.preventDefault(); target.scrollIntoView({ behavior: reducedMotion ? "auto" : "smooth", block: "start" }); if ( window.history && typeof window.history.replaceState === "function" ) { window.history.replaceState(null, "", targetSelector); } }); }); /* ====================================================== FAQ NATIVA No se intercepta el click de summary.