/* ==========================================================================
   Strong Way — "drive" design layer (2026-10-15)
   Loaded after rail-site.css and overrides it. Direction: bold condensed
   headlines, a signal-red accent, slanted hero edge with red stripes, red
   bars beside section titles, offset red photo frames, pill buttons, and
   bands that alternate light grey / white / near-black.

   Latin and Cyrillic headings are set in capitals; Georgian never is
   (uppercasing Georgian turns it into Mtavruli).
   ========================================================================== */

:root {
    --rs-ink:        #121416;
    --rs-ink-2:      #1A1D20;
    --rs-ink-3:      #24282C;
    --rs-paper:      #F2F2F2;
    --rs-paper-2:    #E8E8E8;
    --rs-white:      #FFFFFF;
    --rs-text:       #121416;
    --rs-text-2:     #4A4F55;
    --rs-text-3:     #62686E;
    --rs-line:       #DADCDE;
    --rs-on-dark:    #FFFFFF;
    --rs-on-dark-2:  #C3C7CB;
    --rs-on-dark-3:  #9EA4AA;
    --rs-line-dark:  rgba(255, 255, 255, .12);
    --rs-line-dark-2: rgba(255, 255, 255, .24);

    /* signal red; the old token names are kept so every page follows */
    --rs-orange:     #D92D27;
    --rs-orange-hi:  #E8453E;
    --rs-orange-lo:  #B8231E;
    --rs-orange-ink: #B8231E;
    --rs-orange-wash: rgba(217, 45, 39, .1);

    --sw-canvas: #F2F2F2;
    --sw-brand: #D92D27;
    --sw-brand-deep: #B8231E;
    --sw-brand-tint: #FBE9E8;
    --sw-ink: #121416;
    --sw-body: #4A4F55;
    --sw-line: #DADCDE;
    --sw-graphite: #121416;

    --rs-display: "Noto Sans Georgian", "Noto Sans", system-ui, sans-serif;
}

::selection { background: var(--rs-orange); color: #fff; }

/* Red fills carry white text (#D92D27 is 4.9:1 against white). */
.bg-brand.text-white,
.bg-brand.text-white:hover { color: #fff; }
.bg-brand.text-white:hover { background-color: var(--rs-orange-lo); }
.text-brand { color: var(--rs-orange-ink) !important; }

/* --------------------------------------------------------- display type */

.font-display,
.rs-h2,
.rs-h3,
.rs-hero__title,
.rs-break__title,
.rs-mode__name,
.rs-tile__title,
.rs-stat__value,
.rs-process__num,
.rs-wagon__title,
.sw-h1,
.sw-h2 {
    font-family: var(--rs-display);
    font-stretch: 62.5%;
    font-weight: 800;
    letter-spacing: -.005em;
}
:lang(en) .rs-h2, :lang(ru) .rs-h2,
:lang(en) .rs-h3, :lang(ru) .rs-h3,
:lang(en) .rs-hero__title, :lang(ru) .rs-hero__title,
:lang(en) .rs-break__title, :lang(ru) .rs-break__title,
:lang(en) .rs-mode__name, :lang(ru) .rs-mode__name,
:lang(en) .rs-tile__title, :lang(ru) .rs-tile__title,
:lang(en) .rs-wagon__title, :lang(ru) .rs-wagon__title,
:lang(en) .sw-h1, :lang(ru) .sw-h1,
:lang(en) .sw-h2, :lang(ru) .sw-h2 { text-transform: uppercase; }

.rs-h2 { font-size: clamp(2.25rem, 4.4vw, 3.75rem); line-height: 1.02; }
.rs-h3 { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.04; }
.rs-lead { color: var(--rs-text-2); }

/* Section titles carry a red bar in the left gutter. */
.rs-head { position: relative; }
.rs-head::before {
    content: '';
    position: absolute;
    left: calc(-1 * clamp(18px, 3vw, 44px));
    top: .2em;
    width: 3px;
    height: clamp(56px, 6vw, 84px);
    background: var(--rs-orange);
}
@media (max-width: 1320px) {
    .rs-head { padding-left: 18px; }
    .rs-head::before { left: 0; }
}

/* --------------------------------------------------------- buttons ---- */

.rs-btn {
    min-height: 50px;
    padding: 13px 28px;
    border-radius: 999px;
    border-width: 1.5px;
    font-family: var(--rs-display);
    font-stretch: 75%;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .01em;
}
:lang(en) .rs-btn, :lang(ru) .rs-btn { text-transform: uppercase; letter-spacing: .03em; }
.rs-btn--primary { background: var(--rs-orange); border-color: var(--rs-orange); color: #fff; }
.rs-btn--primary:hover { background: var(--rs-orange-lo); border-color: var(--rs-orange-lo); color: #fff; box-shadow: 0 14px 28px -14px rgba(217, 45, 39, .8); }
.rs-btn--primary:active { background: #9E1D19; }
.rs-btn--ghost { border-color: var(--rs-orange); color: #fff; background: transparent; }
.rs-btn--ghost:hover { background: var(--rs-orange); border-color: var(--rs-orange); color: #fff; }
.rs-btn--outline { background: transparent; border-color: var(--rs-orange); color: var(--rs-text); }
.rs-btn--outline:hover { background: var(--rs-orange); color: #fff; }
.rs-btn--sm { min-height: 42px; padding: 9px 20px; font-size: .9375rem; }
.rs-btn--xs { min-height: 36px; padding: 7px 14px; font-size: .8125rem; }

/* --------------------------------------------------------- nav ------- */

.rs-nav { background: rgba(18, 20, 22, .97); border-bottom-color: rgba(255, 255, 255, .08); }
@supports (backdrop-filter: blur(1px)) { .rs-nav { background: rgba(18, 20, 22, .88); } }
.rs-nav__link {
    color: #fff;
    font-family: var(--rs-display);
    font-stretch: 75%;
    font-size: 1rem;
    font-weight: 700;
}
:lang(en) .rs-nav__link, :lang(ru) .rs-nav__link { text-transform: uppercase; letter-spacing: .03em; }
.rs-nav__link:hover { color: #fff; }
.rs-nav__link::after { height: 2px; bottom: -2px; }
.rs-nav__wordmark small { color: var(--rs-orange-hi); }
.rs-lang.is-active { background: var(--rs-orange); color: #fff; }
.rs-nav__signin:hover { color: var(--rs-orange-hi); }
.rs-nav__actions .rs-btn--primary { background: transparent; border-color: var(--rs-orange); }
.rs-nav__actions .rs-btn--primary:hover { background: var(--rs-orange); }
.rs-install { background: transparent; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .28); }
.rs-install__icon { color: var(--rs-orange-hi); }
.rs-install:hover { background: #fff; color: var(--rs-ink); }

/* --------------------------------------------------------- hero ------ */

.rs-hero { background: var(--rs-paper); }
.rs-hero__stage {
    align-items: flex-start;
    min-height: clamp(640px, 92vh, 900px);
    padding: 0 0 clamp(150px, 16vw, 230px);
    background: var(--rs-ink);
}
.rs-hero__shade {
    background:
        linear-gradient(90deg, rgba(10, 11, 12, .92) 0%, rgba(10, 11, 12, .72) 38%, rgba(10, 11, 12, .18) 72%, rgba(10, 11, 12, .1) 100%),
        linear-gradient(180deg, rgba(10, 11, 12, .55) 0%, rgba(10, 11, 12, 0) 26%);
}

.rs-hero__info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 36px;
    margin: 0 0 clamp(40px, 7vh, 72px);
    padding: 18px 0;
    list-style: none;
    border-bottom: 1px solid rgba(255, 255, 255, .22);
    color: #fff;
    font-size: .9375rem;
}
.rs-hero__info li { display: inline-flex; align-items: center; gap: 10px; }
.rs-hero__info svg, .rs-hero__info i { width: 18px; height: 18px; color: #fff; }
.rs-hero__info a { color: #fff; transition: color .2s ease; }
.rs-hero__info a:hover { color: var(--rs-orange-hi); }
.rs-hero__info-end { margin-left: auto; color: var(--rs-on-dark-2); }

.rs-hero__top { max-width: 52rem; margin: 0; text-align: left; }
.rs-hero__eyebrow { margin: 0 0 18px; color: #fff; font-size: 1rem; font-weight: 500; }
.rs-hero__title {
    font-size: clamp(2.75rem, 6.2vw, 5.75rem);
    line-height: .98;
    text-shadow: none;
    text-wrap: balance;
}
:lang(ka) .rs-hero__title { font-size: clamp(2.5rem, 5.2vw, 4.75rem); line-height: 1.04; }
.rs-hero__lead { max-width: 34rem; margin: 26px 0 0; color: rgba(255, 255, 255, .86); }
.rs-hero__ctas { justify-content: flex-start; margin-top: 34px; }
.rs-hero .rs-btn--ghost { background: transparent; backdrop-filter: none; border-color: rgba(255, 255, 255, .55); }
.rs-hero .rs-btn--ghost:hover { background: #fff; border-color: #fff; color: var(--rs-ink); }

/* transport switcher: a row of tabs, left-aligned, red underline when on */
.rs-switch {
    max-width: 58rem;
    margin: clamp(40px, 6vh, 64px) 0 0;
    padding: 0;
    gap: 0;
    background: rgba(18, 20, 22, .55);
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .18);
    border-radius: 0;
}
.rs-switch__btn { border-radius: 0; padding: 16px 18px 18px; border-top: 3px solid transparent; margin-top: -1px; }
.rs-switch__btn:hover { background: rgba(255, 255, 255, .05); }
.rs-switch__btn[aria-pressed="true"] { background: rgba(255, 255, 255, .06); box-shadow: none; border-top-color: var(--rs-orange); }
.rs-switch__icon { color: var(--rs-orange-hi); }
.rs-switch__name { font-family: var(--rs-display); font-stretch: 75%; font-size: 1.125rem; font-weight: 800; }
:lang(en) .rs-switch__name, :lang(ru) .rs-switch__name { text-transform: uppercase; }
.rs-switch__more { text-align: left; }
.rs-switch__more a { text-decoration-color: var(--rs-orange-hi); }

/* the slanted lower edge: a grey wedge over the photograph, two red stripes
   running along the cut just beneath it */
.rs-hero__slant {
    position: absolute;
    left: 0; right: 0; bottom: -1px;
    z-index: 1;
    height: clamp(70px, 9vw, 150px);
    pointer-events: none;
}
.rs-hero__slant::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--rs-paper);
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.rs-hero__slant i { position: absolute; inset: 0; background: var(--rs-orange); }
.rs-hero__slant i:nth-child(1) { clip-path: polygon(44% 56%, 100% 0%, 100% 17%, 44% 73%); }
.rs-hero__slant i:nth-child(2) { background: #A71F1A; clip-path: polygon(18% 82%, 46% 54%, 46% 64%, 28% 82%); }

/* tracking bar docked on the light band, under the slant */
.rs-hero__dock { position: relative; z-index: 2; margin-top: calc(-1 * clamp(110px, 12vw, 170px)); padding-top: 0; padding-bottom: clamp(48px, 6vw, 80px); }
.rs-board {
    display: block;
    max-width: 46rem;
    background: var(--rs-ink);
    border: 0;
    border-left: 4px solid var(--rs-orange);
    border-radius: 0;
    box-shadow: 0 30px 60px -30px rgba(18, 20, 22, .6);
}
.rs-board__title { font-family: var(--rs-display); font-stretch: 75%; font-size: 1.375rem; font-weight: 800; }
:lang(en) .rs-board__title, :lang(ru) .rs-board__title { text-transform: uppercase; }
.rs-board__title .rs-ico { color: var(--rs-orange-hi); }
.rs-input--dark { background: #0C0D0F; border-color: rgba(255, 255, 255, .16); border-radius: 999px; padding-inline: 20px; }
.rs-input--dark:focus { background: #0C0D0F; border-color: var(--rs-orange); box-shadow: 0 0 0 3px rgba(217, 45, 39, .3); }

@media (max-width: 760px) {
    .rs-hero__info { gap: 8px 20px; font-size: .875rem; }
    .rs-hero__info-end { display: none !important; }
    .rs-hero__stage { padding-bottom: 150px; }
}
@media (max-width: 640px) {
    .rs-hero__stage { padding-top: 0; }
    .rs-hero__info li:nth-child(2) { display: none; }
}

/* --------------------------------------------------------- sections -- */

.rs-section--paper { background: var(--rs-paper); }
.rs-section--ink { background: var(--rs-ink); }
.rs-section--ink .rs-head::before { background: var(--rs-orange); }

/* modes: four cards on grey; rail, the core service, is the red one */
#modes { padding-top: clamp(24px, 4vw, 56px); }
.rs-compare { border-top: 0; column-gap: 14px; }
.rs-mode,
.rs-mode:first-child,
.rs-mode:last-child {
    padding: 30px 26px 30px;
    background: var(--rs-white);
    border-left: 0;
    box-shadow: 0 1px 0 rgba(18, 20, 22, .04), 0 24px 44px -32px rgba(18, 20, 22, .45);
}
.rs-mode__icon { border-radius: 50%; background: var(--rs-paper); color: var(--rs-orange-ink); }
.rs-mode__name { font-size: clamp(1.875rem, 2.6vw, 2.5rem); }
.rs-meter i { border-radius: 0; height: 6px; }
.rs-mode__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 20px;
    border: 1.5px solid var(--rs-orange);
    border-radius: 999px;
    color: var(--rs-text);
    font-family: var(--rs-display);
    font-stretch: 75%;
    font-size: .9375rem;
    font-weight: 800;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease;
}
:lang(en) .rs-mode__link, :lang(ru) .rs-mode__link { text-transform: uppercase; }
.rs-mode__link:hover { background: var(--rs-orange); color: #fff; }

.rs-mode:first-child {
    --rs-text: #fff;
    --rs-text-3: rgba(255, 255, 255, .78);
    --rs-line: rgba(255, 255, 255, .28);
    background: var(--rs-orange);
    color: #fff;
}
.rs-mode:first-child .rs-mode__icon { background: rgba(255, 255, 255, .16); color: #fff; }
.rs-mode:first-child .rs-meter i { background: rgba(255, 255, 255, .3); }
.rs-mode:first-child .rs-meter[data-level="2"] i:nth-child(-n+2) { background: #fff; }
.rs-mode:first-child .rs-mode__link { border-color: #fff; color: #fff; }
.rs-mode:first-child .rs-mode__link:hover { background: #fff; color: var(--rs-orange); }

.rs-note { border-left-width: 3px; }

/* services: a sticky heading column and photo + text rows */
.rs-svc { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.rs-svc__aside { position: sticky; top: calc(var(--rs-nav-h) + 32px); }
.rs-svc__aside .rs-head { margin-bottom: 28px; }
.rs-svc__aside .rs-links { flex-direction: column; gap: 0; }
.rs-svc__aside .rs-links li { border-top: 1px solid var(--rs-line); }
.rs-svc__aside .rs-links li:last-child { border-bottom: 1px solid var(--rs-line); }
.rs-svc__aside .rs-links a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    color: var(--rs-text);
    font-weight: 600;
    text-decoration: none;
    transition: color .2s ease, padding-left .3s var(--rs-ease);
}
.rs-svc__aside .rs-links a::after { content: '→'; color: var(--rs-orange); }
.rs-svc__aside .rs-links a:hover { color: var(--rs-orange-ink); padding-left: 6px; }

.rs-svc__list { display: grid; gap: clamp(28px, 3.4vw, 44px); }
.rs-svc__row { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: clamp(20px, 2.6vw, 36px); align-items: stretch; }
.rs-svc__media {
    position: relative;
    margin: 0;
    min-height: 240px;
    overflow: hidden;
    background: var(--rs-paper);
}
.rs-svc__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--rs-ease); }
.rs-svc__row:hover .rs-svc__media img { transform: scale(1.04); }
.rs-svc__media--dark { display: grid; place-items: center; background: radial-gradient(120% 90% at 50% 20%, #2A2E33 0%, var(--rs-ink) 72%); }
.rs-svc__media .rs-svc__cutout { object-fit: contain; padding: 14px; filter: drop-shadow(0 18px 18px rgba(0, 0, 0, .5)); }
.rs-svc__media .rs-trackui { width: calc(100% - 32px); margin: 16px; padding: 14px; border-radius: 0; box-shadow: none; }
.rs-svc__body { display: flex; flex-direction: column; justify-content: center; padding-block: 6px; }
.rs-svc__body .rs-tile__title { font-size: clamp(1.75rem, 2.4vw, 2.25rem); line-height: 1.02; margin-bottom: 12px; }
.rs-svc__body .rs-tile__text { max-width: 52ch; }
.rs-svc__more {
    align-self: flex-start;
    margin-top: 18px;
    color: var(--rs-text);
    font-family: var(--rs-display);
    font-stretch: 75%;
    font-size: 1rem;
    font-weight: 800;
    border-bottom: 2px solid var(--rs-orange);
}
:lang(en) .rs-svc__more, :lang(ru) .rs-svc__more { text-transform: uppercase; }
.rs-trackui__steps li.is-done::before { background: var(--rs-orange); border-color: var(--rs-orange); }
.rs-trackui__steps li.is-now::before { box-shadow: 0 0 0 4px rgba(217, 45, 39, .2); }

@media (max-width: 960px) {
    .rs-svc { grid-template-columns: minmax(0, 1fr); }
    .rs-svc__aside { position: static; }
}
@media (max-width: 600px) {
    .rs-svc__row { grid-template-columns: minmax(0, 1fr); }
    .rs-svc__media { min-height: 220px; }
}

/* routes band stays near-black; map and wagons keep their drawings */
.rs-map { border-radius: 0 !important; }
.rs-wagon { border-radius: 0; background: var(--rs-ink-2); border-color: rgba(255, 255, 255, .08); border-top: 3px solid var(--rs-orange); }

/* offset red frame behind a photograph */
.rs-frame { position: relative; margin: 0 clamp(14px, 1.6vw, 22px) clamp(14px, 1.6vw, 22px) 0; }
.rs-frame::before {
    content: '';
    position: absolute;
    left: clamp(14px, 1.6vw, 22px);
    top: clamp(14px, 1.6vw, 22px);
    right: calc(-1 * clamp(14px, 1.6vw, 22px));
    bottom: calc(-1 * clamp(14px, 1.6vw, 22px));
    background: var(--rs-orange);
}
.rs-frame img { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }

/* process: photo on the left, numbered steps on the right */
.rs-process {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: clamp(36px, 6vw, 96px);
    align-items: center;
    max-width: var(--rs-wrap);
}
.rs-process__photo img { aspect-ratio: 4 / 5; }
.rs-process__num { color: var(--rs-orange); font-size: clamp(2.5rem, 3.6vw, 3.25rem); }
.rs-process__text { font-weight: 600; }
.rs-process__step { height: 92px; }
@media (max-width: 960px) {
    .rs-process { grid-template-columns: minmax(0, 1fr); }
    .rs-process__photo img { aspect-ratio: 3 / 2; }
}

/* break: darkened photograph, title left, figures on a near-black card right */
.rs-break { min-height: 0; padding-block: clamp(64px, 8vw, 110px); }
.rs-break::after { background: linear-gradient(90deg, rgba(40, 12, 11, .82) 0%, rgba(18, 20, 22, .72) 50%, rgba(18, 20, 22, .55) 100%); }
.rs-break__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.rs-break__title { font-size: clamp(2.75rem, 5.6vw, 4.75rem); line-height: .98; color: #fff; }
.rs-break__title span { color: #fff; opacity: .72; }
.rs-break__card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: clamp(26px, 3.2vw, 44px);
    background: var(--rs-ink);
}
.rs-break__card .rs-stat {
    padding: 16px 0 16px 20px;
    border-left: 3px solid var(--rs-orange);
    margin-bottom: 18px;
}
.rs-break__card .rs-stat__value { color: #fff; font-size: clamp(2.5rem, 4vw, 3.5rem); line-height: 1; }
.rs-break__card .rs-stat__label { margin-top: 6px; padding-top: 0; border-top: 0; color: var(--rs-on-dark-2); font-size: .875rem; }
.rs-break__cta { grid-column: 1 / -1; justify-self: start; margin-top: 8px; color: #fff; }
@media (max-width: 860px) {
    .rs-break__inner { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
    .rs-break__card { grid-template-columns: minmax(0, 1fr); }
}

/* contact: form on grey with pill fields; details in red condensed labels */
#contact { background: var(--rs-paper); }
.rs-contact { align-items: start; }
.rs-formcard { order: -1; padding: 0; background: transparent; border: 0; border-radius: 0; }
.rs-input { background: transparent; border-color: #C4C7CA; border-radius: 999px; padding-inline: 20px; }
.rs-input:focus { background: #fff; border-color: var(--rs-orange); box-shadow: 0 0 0 3px rgba(217, 45, 39, .18); }
.rs-textarea { border-radius: 22px; }
.rs-select { background-position: right 18px center; }
.rs-modepick__option span { background: transparent; border-color: #C4C7CA; }
.rs-modepick__option svg { color: var(--rs-orange); }
.rs-modepick__option input:checked + span { background: var(--rs-orange); border-color: var(--rs-orange); color: #fff; }
.rs-modepick__option input:checked + span svg { color: #fff; }
.rs-form-status[data-state="success"] { background: #FBE9E8; }
.rs-form .rs-btn--block { width: auto; justify-self: start; padding-inline: 34px; }
.rs-details { max-width: none; }
.rs-detail { flex-direction: column; align-items: flex-start; gap: 4px; padding: 18px 0; border-top: 0; }
.rs-detail:last-child { border-bottom: 0; }
.rs-detail dt {
    color: var(--rs-orange);
    font-family: var(--rs-display);
    font-stretch: 62.5%;
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1;
}
:lang(en) .rs-detail dt, :lang(ru) .rs-detail dt { text-transform: uppercase; }
.rs-detail dd { text-align: left; }
.rs-detail a { font-size: 1.125rem; font-weight: 500; color: var(--rs-text-2); }
.rs-contact__wagon { margin: 12px 0 0; max-width: 300px; }

/* service, tracking and legal pages share the same building blocks */
.rs-svc-photo { border-radius: 0; }

/* --------------------------------------------------------- footer ---- */

.rs-footer { background: #0C0D0F; }
.rs-footer::before { height: 4px; background: linear-gradient(90deg, var(--rs-orange) 0 30%, #A71F1A 30% 42%, transparent 42%); }
.rs-footer__title { font-family: var(--rs-display); font-stretch: 75%; font-size: 1.125rem; font-weight: 800; color: #fff; }
:lang(en) .rs-footer__title, :lang(ru) .rs-footer__title { text-transform: uppercase; }
.rs-footer__list a:hover { color: var(--rs-orange-hi); }

/* --------------------------------------------------------- sizing fixes */
:lang(ka) .rs-hero__title { font-size: clamp(2.25rem, 4.3vw, 4rem); }
.rs-hero__top { max-width: 60rem; }
.rs-mode__name { font-size: clamp(1.5rem, 1.9vw, 2rem); overflow-wrap: anywhere; }
.rs-mode__head { gap: 12px; }
.sw-rail__line { stroke: var(--rs-orange); }
:lang(ka) .rs-break__title { font-size: clamp(2.25rem, 4vw, 3.5rem); line-height: 1.04; }
.rs-break__title { overflow-wrap: break-word; }
.rs-break__inner > * { min-width: 0; }

@media (max-width: 860px) {
    .rs-mode, .rs-mode:first-child, .rs-mode:last-child { padding: 26px 22px 28px; border-top: 0; margin-bottom: 14px; }
}
@media (max-width: 640px) {
    .rs-hero__info { padding-top: 14px; margin-bottom: 32px; }
    :lang(ka) .rs-break__title { font-size: 1.9rem; }
}

/* route map and pwa accents in the red palette */
.rs-route--sleepers { stroke: rgba(217, 45, 39, .4); }
.rs-trail--rail { stroke: #FF9A92; filter: drop-shadow(0 0 4px rgba(217, 45, 39, .9)); }
.rs-veh__box { fill: #E2362F; stroke: #121416; }
.rs-node-ring { stroke: rgba(217, 45, 39, .35); }
.rs-pwa__panel::before { background: var(--rs-orange); }

/* mode names never break inside a word: the icon sits above the name, and
   the size follows the card width */
.rs-mode { container-type: inline-size; }
.rs-mode__head { flex-direction: column; align-items: flex-start; gap: 14px; }
.rs-mode__name { overflow-wrap: normal; word-break: keep-all; white-space: nowrap; font-size: clamp(1.25rem, 15cqi, 2.25rem); }

/* the steps slide in from the right; keep that off the page width */
[data-scroll-rail], .rs-hero__stage { overflow-x: clip; }

/* Text is for reading, not editing: no blinking caret and no I-beam over
   headings and copy. Form fields keep both. */
body { caret-color: transparent; }
input, textarea, select, [contenteditable="true"] { caret-color: auto; }
h1, h2, h3, h4, p, li, dt, dd, span, figcaption, label { cursor: default; }
a, a *, button, button *, label[for], .rs-modepick__option, .rs-modepick__option *, summary, summary * { cursor: pointer; }
input, textarea { cursor: text; }

/* studio credit in the legal row */
.rs-footer__credit a { color: var(--rs-on-dark); font-weight: 700; border-bottom: 1px solid var(--rs-orange); transition: color .2s ease; }
.rs-footer__credit a:hover { color: var(--rs-orange-hi); }
