.rt-home { --rh-ink: #17191b; --rh-muted: #686c72; --rh-line: #e4e5e6; --rh-red: #b91830; color: var(--rh-ink); background: #fff; padding-top: var(--rt-header-safe, 5.75rem); }
.rt-home :is(#inicio, #resultados) { scroll-margin-top: var(--rt-header-safe, 5.75rem); }
.rt-home *, .rt-home *::before, .rt-home *::after { box-sizing: border-box; }
.rt-home :is(a, button, input, summary):focus-visible { outline: 3px solid #b91830; outline-offset: 5px; }
.rt-home :is(h1,h2,h3,p) { margin-top: 0; }
.rt-home h2 { font-size: clamp(1.9rem, 3.1vw, 2.85rem); font-weight: 800; line-height: 1.15; letter-spacing: -.055em; margin-bottom: 16px; }
.rt-home .rh-eyebrow { font-size: .65rem; font-weight: 800; letter-spacing: .17em; color: var(--rh-muted); margin-bottom: 20px; line-height: 1.6; }
.rt-home .rh-lead { font-size: 1rem; line-height: 1.85; color: var(--rh-muted); max-width: 490px; }
.rt-home .rh-section { padding-block: 76px; }
.rt-home .rh-main-carousel { height: 580px; min-height: 0; }
.rt-home .rh-main-carousel .swiper-slide { height: 580px; min-height: 0; }
.rt-home .rh-main-carousel .rt-hero-content { min-height: 580px; padding-top: 60px; padding-bottom: 80px; }
.rt-home .rh-main-carousel .rt-hero-title { font-size: clamp(2.4rem, 4.7vw, 4.4rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.07; }
.rt-home .rh-main-carousel .rt-hero-sub { max-width: 640px; }
.rt-home .rh-carousel-pause { position: absolute; bottom: 22px; right: max(24px, calc((100vw - 1320px) / 2)); z-index: 3; display: flex; gap: 5px; align-items: center; border: 1px solid #ffffff80; background: #0008; color: #fff; border-radius: 30px; padding: 9px 14px; font-size: .65rem; }
.rt-home .rh-shortcuts { border-block: 1px solid var(--rh-line); }
.rt-home .rh-shortcuts-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.rt-home .rh-shortcuts a { display: flex; align-items: center; gap: 14px; padding: 25px 18px; text-decoration: none; color: var(--rh-ink); border-right: 1px solid var(--rh-line); }
.rt-home .rh-shortcuts a:first-child { padding-left: 0; }
.rt-home .rh-shortcuts a:last-child { border: 0; }
.rt-home .rh-shortcuts a > i:first-child { font-size: 1.5rem; }
.rt-home .rh-shortcuts a > i:last-child { font-size: .8rem; color: #9a9da1; margin-left: auto; }
.rt-home .rh-shortcuts strong, .rt-home .rh-shortcuts small { display: block; }
.rt-home .rh-shortcuts strong { font-size: .75rem; margin-bottom: 4px; }
.rt-home .rh-shortcuts small { font-size: .65rem; color: var(--rh-muted); }
.rt-home .rh-shortcuts a:hover { background: #f8f8f7; }
.rt-home .rh-section-heading { display: flex; justify-content: space-between; gap: 30px; align-items: flex-end; margin-bottom: 28px; }
.rt-home .rh-section-heading .rh-eyebrow { margin-bottom: 12px; }
.rt-home .rh-section-heading h2 { margin-bottom: 12px; }
.rt-home .rh-section-heading p:not(.rh-eyebrow) { font-size: .85rem; line-height: 1.8; color: var(--rh-muted); margin-bottom: 0; }
.rt-home .rh-text-link { display: inline-flex; align-items: center; gap: 12px; color: var(--rh-ink); font-weight: 700; font-size: .75rem; text-decoration: none; flex-shrink: 0; padding-block: 8px; }
.rt-home .rh-text-link:hover { color: var(--rh-red); }
.rt-home .rh-categories { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.rt-home .rh-categories a { color: #5f646a; text-decoration: none; border: 1px solid var(--rh-line); padding: 9px 16px; border-radius: 30px; font-size: .72rem; font-weight: 600; }
.rt-home .rh-categories a.is-current { background: var(--rh-ink); color: #fff; border-color: var(--rh-ink); }
.rt-home .rh-categories a:hover { border-color: var(--rh-ink); }
.rt-home .rh-trust { background: #f7f7f5; border-block: 1px solid var(--rh-line); }
.rt-home .rh-heading-note { max-width: 350px; }
.rt-home .rh-client-list { list-style: none; padding: 0; margin: 35px 0 25px; display: grid; grid-template-columns: repeat(6,1fr); }
.rt-home .rh-client-list li { text-align: center; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid #dcdedb; padding: 16px 12px; gap: 20px; }
.rt-home .rh-client-list li:last-child { border: 0; }
.rt-home .rh-client-place { font-size: .58rem; color: var(--rh-muted); }
.rt-home .rh-client-logo { width: 100%; max-width: 180px; height: 100px; object-fit: contain; margin-inline: auto; }
.rt-home .rh-google-map { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; }
.rt-home [data-google-state="ready"] :is(.rh-route-plane,.rh-route-compass,.rh-route-watermark) { visibility: hidden; }
.rt-home .rh-google-status { font-size: .62rem; color: #606b57; padding: 0 18px; margin-bottom: 12px; }
.rt-home .rh-trust-bottom { border-top: 1px solid #dcdedb; padding-top: 18px; display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.rt-home .rh-trust-bottom > span { color: var(--rh-muted); font-size: .72rem; }
.rt-home .rh-route-grid { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 64px; }
.rt-home .rh-route-copy > .rh-lead { font-size: .9rem; }
.rt-home .rh-route-stops { border-top: 1px solid var(--rh-line); margin-top: 24px; }
.rt-home .rh-route-stops button { display: flex; gap: 18px; width: 100%; align-items: center; padding: 16px 0; color: var(--rh-muted); border: 0; border-bottom: 1px solid var(--rh-line); background: transparent; text-align: left; font-size: .8rem; }
.rt-home .rh-route-stops button > span { font-size: .6rem; color: #83888e; }
.rt-home .rh-route-stops button > i { margin-left: auto; }
.rt-home .rh-route-stops button[aria-pressed="true"] { color: var(--rh-ink); }
.rt-home .rh-route-stops button[aria-pressed="true"] > span { color: var(--rh-red); }
.rt-home .rh-route-stops button[aria-pressed="true"] > i { color: var(--rh-red); }
.rt-home .rh-route-stop-description { min-height: 74px; color: var(--rh-muted); font-size: .75rem; line-height: 1.8; padding-top: 16px; margin-bottom: 0; }
.rt-home .rh-route-viewer { background: #eef0eb; border: 1px solid #dfe3da; border-radius: 20px; overflow: hidden; min-width: 0; }
.rt-home .rh-route-toolbar { padding: 18px; display: flex; justify-content: space-between; gap: 10px; align-items: center; position: relative; z-index: 1; }
.rt-home .rh-route-toolbar > span { font-size: .53rem; font-weight: 800; letter-spacing: .1em; }
.rt-home .rh-route-toolbar > span i { margin-right: 6px; }
.rt-home .rh-route-toolbar > div { display: flex; background: #e0e5da; padding: 4px; border-radius: 8px; }
.rt-home .rh-route-toolbar button { font-size: .62rem; font-weight: 700; color: #60675c; border: 0; background: transparent; border-radius: 5px; padding: 9px 12px; }
.rt-home .rh-route-toolbar button[aria-pressed="true"] { background: white; color: var(--rh-ink); box-shadow: 0 2px 6px #0001; }
.rt-home .rh-route-stage { height: 375px; perspective: 1000px; position: relative; display: grid; place-items: center; overflow: hidden; }
.rt-home .rh-route-plane { width: 100%; transform: rotateX(42deg) rotateZ(-18deg) scale(.86); transform-style: preserve-3d; transition: transform 650ms ease; filter: drop-shadow(-10px 28px 15px #58644c35); }
.rt-home .rh-route-map { display: block; width: 100%; height: auto; overflow: visible; }
.rt-home [data-view="top"] .rh-route-plane { transform: rotateX(0) rotateZ(0) scale(.82); }
.rt-home .rh-route-compass { position: absolute; z-index: 1; left: 24px; top: 5px; font-size: .55rem; font-weight: 800; text-align: center; color: #788070; }
.rt-home .rh-route-compass span { display: block; font-size: 1.6rem; color: #394033; }
.rt-home .rh-map-point { transition: opacity 250ms ease; opacity: .45; }
.rt-home [data-stop="start"] .rh-map-point-start, .rt-home [data-stop="course"] .rh-map-point-course, .rt-home [data-stop="finish"] .rh-map-point-finish { opacity: 1; }
.rt-home .rh-route-watermark { position: absolute; bottom: 18px; left: 24px; font-size: .5rem; color: #747e69; letter-spacing: .14em; font-weight: 800; }
.rt-home .rh-route-disclaimer { display: flex; gap: 9px; align-items: flex-start; margin: 0 18px 18px; padding: 12px 14px; border: 1px solid #d2d9ca; border-radius: 8px; background: #f6f7f2; font-size: .6rem; line-height: 1.6; color: #606b57; }
.rt-home .rh-organizers { background: #17191b; color: #fff; }
.rt-home .rh-organizers-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.rt-home .rh-organizers .rh-eyebrow { color: #bbbfc5; }
.rt-home .rh-organizers .rh-lead { color: #b1b6bd; font-size: .87rem; }
.rt-home .rh-button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 17px 22px; border-radius: 8px; font-size: .77rem; font-weight: 800; text-decoration: none; }
.rt-home .rh-button-light { background: white; color: #17191b; margin-top: 14px; }
.rt-home .rh-button:hover { background: #eee; color: #17191b; }
.rt-home .rh-organizers-about { display: block; margin-top: 18px; color: #bfc3c8; font-size: .7rem; text-underline-offset: 4px; }
.rt-home .rh-service { display: flex; gap: 22px; border-bottom: 1px solid #ffffff26; padding-block: 23px; align-items: flex-start; }
.rt-home .rh-service:first-child { padding-top: 0; }
.rt-home .rh-service:last-child { border: 0; padding-bottom: 0; }
.rt-home .rh-service > span { color: #80858d; font-size: .6rem; padding-top: 4px; }
.rt-home .rh-service h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; letter-spacing: -.03em; }
.rt-home .rh-service p { font-size: .74rem; line-height: 1.8; color: #adb3bb; margin: 0; }
.rt-home .rh-service > i { margin-left: auto; color: #afb5bc; font-size: 1.5rem; }
.rt-home .rh-help-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.rt-home .rh-steps { list-style: none; padding: 0; margin: 25px 0; }
.rt-home .rh-steps li { font-size: .78rem; margin-bottom: 18px; display: flex; gap: 16px; color: #5d636b; }
.rt-home .rh-steps span { color: var(--rh-red); font-weight: 800; font-size: .65rem; }
.rt-home .rh-faq details { border-bottom: 1px solid var(--rh-line); }
.rt-home .rh-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0; list-style: none; cursor: pointer; font-weight: 700; font-size: .83rem; }
.rt-home .rh-faq summary::-webkit-details-marker { display: none; }
.rt-home .rh-faq summary i { transition: transform 200ms; }
.rt-home .rh-faq details[open] summary i { transform: rotate(45deg); }
.rt-home .rh-faq p { font-size: .78rem; color: var(--rh-muted); line-height: 1.9; padding-bottom: 10px; }
.rt-home .rh-faq p a { color: var(--rh-ink); }
.rt-home .rh-final { background: #f2f2ef; border-top: 1px solid var(--rh-line); padding-block: 36px; }
.rt-home .rh-final > div { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.rt-home .rh-final p { margin: 0; font-size: 1.2rem; font-weight: 800; letter-spacing: -.04em; }
.rt-home .rh-final a { font-size: .82rem; font-weight: 800; color: var(--rh-ink); text-decoration: none; }
.rt-home .rh-final a i { margin-left: 20px; }
@media (max-width: 1199px) {
    .rt-home .rh-route-grid { gap: 30px; }
    .rt-home .rh-organizers-grid, .rt-home .rh-help-grid { gap: 45px; }
    .rt-home .rh-shortcuts a { gap: 10px; padding-inline: 12px; }
}
@media (max-width: 991px) {
    .rt-home .rh-section { padding-block: 52px; }
    .rt-home .rh-shortcuts-grid { grid-template-columns: repeat(2,1fr); }
    .rt-home .rh-shortcuts a:nth-child(2) { border: 0; }
    .rt-home .rh-shortcuts a:nth-child(-n+2) { border-bottom: 1px solid var(--rh-line); }
    .rt-home .rh-shortcuts a:nth-child(3) { padding-left: 0; }
    .rt-home .rh-client-list { grid-template-columns: repeat(3,1fr); row-gap: 24px; }
    .rt-home .rh-client-list li:nth-child(3) { border: 0; }
    .rt-home .rh-route-grid { grid-template-columns: 1fr; gap: 30px; }
    .rt-home .rh-route-copy { max-width: 100%; }
    .rt-home .rh-route-copy .rh-lead { max-width: 600px; }
    .rt-home .rh-route-stage { height: 390px; }
    .rt-home .rh-route-plane { max-width: 600px; }
    .rt-home .rh-route-stop-description { min-height: auto; margin-bottom: 15px; }
    .rt-home .rh-help-grid { gap: 35px; }
}
@media (max-width: 767px) {
    .rt-home .rh-main-carousel, .rt-home .rh-main-carousel .swiper-slide { height: 560px; }
    .rt-home .rh-main-carousel .rt-hero-content { min-height: 560px; padding-top: 45px; padding-bottom: 80px; }
    .rt-home .rh-main-carousel .rt-hero-title { font-size: clamp(2rem, 8.5vw, 3rem); }
    .rt-home .rh-main-carousel .rt-hero-sub { font-size: 1rem; }
    .rt-home .rh-eyebrow { font-size: .59rem; margin-bottom: 16px; }
    .rt-home .rh-section-heading { flex-direction: column; align-items: flex-start; gap: 8px; }
    .rt-home .rh-shortcuts a { padding-block: 19px; gap: 10px; }
    .rt-home .rh-shortcuts strong { font-size: .68rem; }
    .rt-home .rh-shortcuts small { font-size: .57rem; }
    .rt-home .rh-shortcuts a > i:first-child { font-size: 1.2rem; }
    .rt-home .rh-shortcuts a > i:last-child { display: none; }
    .rt-home .rh-client-list { grid-template-columns: repeat(2,1fr); }
    .rt-home .rh-client-list li:nth-child(3) { border-right: 1px solid #dcdedb; }
    .rt-home .rh-client-list li:nth-child(even) { border: 0; }
    .rt-home .rh-trust-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
    .rt-home .rh-organizers-grid, .rt-home .rh-help-grid { grid-template-columns: 1fr; gap: 35px; }
    .rt-home .rh-route-toolbar { padding: 12px; gap: 6px; }
    .rt-home .rh-route-toolbar > span { font-size: .46rem; }
    .rt-home .rh-route-toolbar button { padding: 9px; }
    .rt-home .rh-route-stage { height: 285px; }
    .rt-home .rh-route-disclaimer { margin: 0 12px 12px; font-size: .58rem; }
    .rt-home .rh-route-watermark { left: 15px; font-size: .44rem; }
    .rt-home .rh-final > div { align-items: flex-start; flex-direction: column; gap: 15px; }
}
@media (prefers-reduced-motion: reduce) {
    .rt-home *, .rt-home *::before, .rt-home *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
