/* Ascendra: right-to-left support (layout uses logical properties; this flips icons and directional details) */

/* Right-to-left rules moved here from style.css (kept in their original order) */
[dir="rtl"] .st-card { --dir: -1; }
@media (max-width: 1023px) {
  [dir="rtl"] .dside { transform: translateX(100%); }
  [dir="rtl"] .dside.is-open { transform: none; }
}
[dir="rtl"] .opn-display { transform: translateX(50%); }
[dir="rtl"] .flr.is-open .flr-door--l { transform: translateX(101%); }
[dir="rtl"] .flr.is-open .flr-door--r { transform: translateX(-101%); }
[dir="rtl"] .lgx-door--a { transform: translateX(101%); animation-name: lgxOpenB; }
[dir="rtl"] .lgx-door--b { transform: translateX(-101%); animation-name: lgxOpenA; }

[dir="rtl"] .ar, [dir="rtl"] .nb-flip { transform: scaleX(-1); }
[dir="rtl"] .btn:hover .ar, [dir="rtl"] .hero-card-link:hover .ar { transform: scaleX(-1) translateX(4px); }
[dir="rtl"] .hero-title, [dir="rtl"] .nb-name { letter-spacing: 0; }
[dir="rtl"] .hero-copy { align-items: flex-start; }

[dir="rtl"] .explorer-tab-arrow, [dir="rtl"] .explorer-actions .ar { transform: scaleX(-1); }
[dir="rtl"] .explorer-tab:hover .explorer-tab-arrow { transform: scaleX(-1) translateX(-2px); }


/* Home 1 section 4: journey rail runs right to left (horizontal layout only) */
@media (min-width: 981px) {
  [dir="rtl"] .jny-rail::after { transform-origin: right center; }
}


/* Home 1 section 6: arrows follow reading direction */
[dir="rtl"] .mat-row:hover .mat-arrow, [dir="rtl"] .mat-row:focus-visible .mat-arrow { transform: scaleX(-1) translateX(4px); }


/* Home 1 section 7: swap the two moving directions in RTL and keep review text aligned naturally */
[dir="rtl"] .stories-lane { -webkit-mask-image: linear-gradient(to left, transparent 0, #000 5%, #000 95%, transparent 100%); mask-image: linear-gradient(to left, transparent 0, #000 5%, #000 95%, transparent 100%); }
[dir="rtl"] .stories-track--forward { animation-name: stories-drift-reverse; }
[dir="rtl"] .stories-track--reverse { animation-name: stories-drift; }
[dir="rtl"] .story-card { text-align: right; align-items: flex-start; }
[dir="rtl"] .stories-eyebrow, [dir="rtl"] .stories-rating, [dir="rtl"] .story-person { flex-direction: row; }
[dir="rtl"] .stories-cta .ar { transform: scaleX(-1); }
[dir="rtl"] .stories-cta:hover .ar { transform: scaleX(-1) translateX(4px); }
@media (prefers-reduced-motion: reduce) { [dir="rtl"] .stories-track--forward, [dir="rtl"] .stories-track--reverse { animation: none; } }


/* Home 1 section 8: CTA follows reading direction in RTL */
[dir="rtl"] .home-cta-copy { justify-items: start; text-align: right; }
[dir="rtl"] .home-cta-primary i { transform: scaleX(-1); }
[dir="rtl"] .home-cta-primary:hover i { transform: scaleX(-1) translate(-2px,-2px); }
[dir="rtl"] .home-cta-secondary .ar { transform: scaleX(-1); }
[dir="rtl"] .home-cta-secondary:hover .ar { transform: scaleX(-1) translateX(4px); }
[dir="rtl"] .home-cta-visual figcaption { text-align: right; }


/* Home 2 / Section 1 — RTL direction and composition */
[dir="rtl"] .vertical-hero-copy{text-align:right}[dir="rtl"] .vertical-hero-eyebrow{letter-spacing:0}[dir="rtl"] .vertical-hero-visual{padding:0 0 0 clamp(14px,2.3vw,34px)}[dir="rtl"] .vertical-hero-vertical-note{right:auto;left:0;writing-mode:vertical-lr}[dir="rtl"] .vertical-hero-floor{left:auto;right:-20px}[dir="rtl"] .vertical-hero-scroll{left:auto;right:clamp(22px,5.2vw,88px)}[dir="rtl"] .vertical-hero-primary i,[dir="rtl"] .vertical-hero-secondary i,[dir="rtl"] .vertical-hero-label-arrow i,[dir="rtl"] .vertical-hero-next>a i{transform:scaleX(-1)}[dir="rtl"] .vertical-hero-image-label{text-align:right}[dir="rtl"] .vertical-hero-label-arrow{margin-inline-start:auto}[dir="rtl"] .vertical-hero-next{direction:rtl}
@media(max-width:640px){[dir="rtl"] .vertical-hero-visual{padding:0 0 0 12px}[dir="rtl"] .vertical-hero-floor{right:-8px}[dir="rtl"] .vertical-hero-scroll{right:20px}}


/* Home 2 / Section 2 — RTL alignment */
/* Home 2 / Section 2: car, progress line and hover nudge follow the reading direction */
[dir="rtl"] .lsh { --lsh-dir: -1; }
[dir="rtl"] .lsh-bar { transform-origin: right center; }


/* Home 2 / Section 3: the drawn house is a picture and keeps its orientation; text follows the page direction */


/* Home 2 / Section 4 — RTL */
[dir="rtl"] .client4{direction:rtl}[dir="rtl"] .client4-copy{text-align:right}[dir="rtl"] .client4-panel-head{direction:rtl}[dir="rtl"] .client4-steps{direction:rtl}[dir="rtl"] .client4-file:hover{transform:translateX(-4px)}[dir="rtl"] .client4-btn i{transform:scaleX(-1)}[dir="rtl"] .client4-btn:hover i{transform:scaleX(-1) translate(3px,-1px)}


/* Login: doors open outward from the reading-direction edges; arrows follow reading direction */
[dir="rtl"] .lg-card { --s: -1; }
[dir="rtl"] .lg-submit .fa-arrow-up { transform: none; }

/* About page: timeline car and arrows follow reading direction (logical properties handle the rest) */
[dir="rtl"] .ab-end .ar { transform: scaleX(-1); }
[dir="rtl"] .ab-end .btn:hover .ar { transform: scaleX(-1) translateX(4px); }

/* Products banner: the two ascents mirror so each path still rises toward the centre */
[dir="rtl"] .pb-art { transform: scaleX(-1); }
[dir="rtl"] .pb-eyebrow, [dir="rtl"] .pb-num { letter-spacing: 0; }
[dir="rtl"] .pb-link .ar { transform: scaleX(-1); }
[dir="rtl"] .pb-link:hover .ar { transform: scaleX(-1) translateX(4px); }

/* Products section 2 (stairlift index): follows reading direction */
/* About / Our story (Rising Line): the line draws from the start edge, so flip the origins and drop letter-spacing */
[dir="rtl"] .rl-eyebrow { letter-spacing: 0; }
@media (min-width: 1100px) {
  [dir="rtl"] .rl-base::before { transform-origin: right center; }
}
/* Keep the testimonial marquee track geometry stable in RTL; cards keep RTL reading order. */
[dir="rtl"] .stories-track { direction: ltr; }
[dir="rtl"] .story-card { direction: rtl; }
/* About / Meet the team (Handover): doors, car and tape follow the reading direction through --tm-dir; flip arrow, drop letter-spacing */
[dir="rtl"] .tm { --tm-dir: -1; }
[dir="rtl"] .tm-eyebrow { letter-spacing: 0; }
[dir="rtl"] .tm-cta .ar { transform: scaleX(-1); }
[dir="rtl"] .btn.tm-cta:hover .ar { transform: scaleX(-1) translateX(4px); }


/* About / Our promise (The Ascent): grid columns flip by themselves, so the stairs rise to the left; only the two stair-shaped panels (physical polygons) are mirrored */
@media (min-width: 1200px) {
  [dir="rtl"] .pd-fill { transform: scaleX(-1); }
}
[dir="rtl"] .pd-eyebrow { letter-spacing: 0; }
[dir="rtl"] .pd-cta .ar { transform: scaleX(-1); }


/* About / Why Ascendra (Bento): the grid mirrors by itself; flip the tape marker offset, the button arrow and drop letter-spacing */
[dir="rtl"] .bn { --bn-dir: -1; }
[dir="rtl"] .bn-eyebrow { letter-spacing: 0; }
[dir="rtl"] .bn-tile--cta .ar { transform: scaleX(-1); }
[dir="rtl"] .bn-num, [dir="rtl"] .bn-end { direction: ltr; unicode-bidi: isolate; }

/* Products section 3 (rise gauge): everything mirrors, the slope still rises toward the door */
[dir="rtl"] .rg-svg { transform: scaleX(-1); }
[dir="rtl"] .rg-eyebrow { letter-spacing: 0; }
[dir="rtl"] .rg-tag--rise { transform: translate(-12px, -50%); }
[dir="rtl"] .rg-tag--door { transform: translate(50%, -100%); }
[dir="rtl"] .rg-handle { transform: translate(50%, -50%); }
[dir="rtl"] .rg-major { margin-inline-start: 0; margin-inline-end: -1px; }
[dir="rtl"] .rg-link .ar { transform: scaleX(-1); }
[dir="rtl"] .rg-link:hover .ar { transform: scaleX(-1) translateX(4px); }

/* Products section 4 (mosaic): grid columns mirror automatically, only the text tracking needs a reset */
[dir="rtl"] .mz-eyebrow, [dir="rtl"] .mz-label { letter-spacing: 0; }

/* Home 2 / Section 5: doors open towards the reading-direction edges */
[dir="rtl"] .opn { --opn-dir: -1; }

/* stair-climb stage (products): mirror the stepped corner and the chevrons */
[dir="rtl"] .stc-fig { clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--st) * 3), calc(100% - var(--st)) calc(100% - var(--st) * 3), calc(100% - var(--st)) calc(100% - var(--st) * 2), calc(100% - var(--st) * 2) calc(100% - var(--st) * 2), calc(100% - var(--st) * 2) calc(100% - var(--st)), calc(100% - var(--st) * 3) calc(100% - var(--st)), calc(100% - var(--st) * 3) 100%, 0 100%); }
[dir="rtl"] .stc-badge { clip-path: polygon(100% 0, calc(100% - var(--st)) 0, calc(100% - var(--st)) var(--st), calc(100% - var(--st) * 2) var(--st), calc(100% - var(--st) * 2) calc(var(--st) * 2), calc(100% - var(--st) * 3) calc(var(--st) * 2), calc(100% - var(--st) * 3) calc(var(--st) * 3), 100% calc(var(--st) * 3)); }
[dir="rtl"] .stc-n { grid-column: 3; } [dir="rtl"] .stc-badge i { grid-column: 1; }
[dir="rtl"] .stc-btn i { transform: scaleX(-1); }


/* About page section 7: FAQ lift. Doors mirror, digits stay left-to-right, arrows follow reading direction */
[dir="rtl"] .lf { --lf-dir: -1; }
[dir="rtl"] .lf-eyebrow { letter-spacing: 0; }
[dir="rtl"] .lf-cbtn .ar { transform: scaleX(-1); }
[dir="rtl"] .lf-cbtn:hover .ar { transform: scaleX(-1) translateX(4px); }
[dir="rtl"] .lf-big, [dir="rtl"] .lf-disp, [dir="rtl"] .lf-fn, [dir="rtl"] .lf-facts b { direction: ltr; unicode-bidi: isolate; }

/* Products section 5: pinned build. Parts fly in from the mirrored side and horizontal arrows flip */
[dir="rtl"] .bp { --bp-dir: -1; }
[dir="rtl"] .bp-arr .fa-arrow-right, [dir="rtl"] .bp-arr .fa-arrow-left { transform: scaleX(-1); }
[dir="rtl"] .bp-count { direction: rtl; }

/* Products section 6 (the climb): stairs mirror with the grid, the rail reveals from the reading-direction edge, arrows flip */
[dir="rtl"] .cmb-tag { letter-spacing: 0; }
[dir="rtl"] .cmb.is-js .cmb-rail { clip-path: inset(-24px 0 -24px 100%); }
[dir="rtl"] .cmb.is-in .cmb-rail { clip-path: inset(-24px 0 -24px 0); }
[dir="rtl"] .cmb-link:hover .ar { transform: scaleX(-1) translateX(4px); }

/* About section 8 (Call the lift): separators and arrows use logical properties, only the tag tracking needs a reset */
[dir="rtl"] .clt-tag { letter-spacing: 0; }
[dir="rtl"] .lgn-tag, [dir="rtl"] .lgn-chips { letter-spacing: 0; }

/* Products section 7 (CTA): rail grows from the reading-direction edge, arrow flips, tag tracking reset */
[dir="rtl"] .pcta-tag { letter-spacing: 0; }
[dir="rtl"] .pcta-rail::before { transform-origin: 100% 50%; }
[dir="rtl"] .pcta-btn .ar { transform: scaleX(-1); }
[dir="rtl"] .pcta-btn:hover .ar { transform: scaleX(-1) translateX(4px); }
[dir="rtl"] .pcta-car { margin-inline-start: -15px; }

/* Contact section 2 (the floor request): the dark side moves to the right, so its edge padding swaps; arrows flip */
@media (min-width: 961px) {
  [dir="rtl"] .fm-side { padding: var(--fm-pad) var(--fm-edge) var(--fm-pad) clamp(28px, 4vw, 56px); }
  [dir="rtl"] .fm-main { padding: var(--fm-pad) clamp(28px, 4vw, 64px) var(--fm-pad) var(--fm-edge); }
}
[dir="rtl"] .fm-tag, [dir="rtl"] .fm-label { letter-spacing: 0; }
[dir="rtl"] .fm-submit .ar { transform: scaleX(-1); }
[dir="rtl"] .fm-submit:hover .ar { transform: scaleX(-1) translateX(4px); }
[dir="rtl"] .fm-input[type="email"], [dir="rtl"] .fm-input[type="tel"] { direction: ltr; text-align: end; }


/* Contact section 3 (find us): logical properties handle the mirror, so only tag tracking and the arrow need a reset */
[dir="rtl"] .mp-tag { letter-spacing: 0; }
[dir="rtl"] .mp-ask .ar { transform: scaleX(-1); }
[dir="rtl"] .mp-ask:hover .ar { transform: scaleX(-1) translateX(4px); }
[dir="rtl"] .mp-go i { transform: scaleX(-1); }

/* Contact section 4 (The Ascent): the lift shaft and the light spill follow the reading direction */
[dir="rtl"] .cl-floor::before { transform-origin: right center; background: radial-gradient(ellipse 80% 140% at 100% 50%, color-mix(in srgb, var(--silver) 50%, transparent), transparent 72%), var(--cl-on); }
[dir="rtl"] .cl-tag { letter-spacing: 0; }
[dir="rtl"] .cl-lbl { letter-spacing: 0; }
[dir="rtl"] .cl-ctas .ar { transform: scaleX(-1); }
[dir="rtl"] .cl-ctas .btn:hover .ar { transform: scaleX(-1) translateX(4px); }
[data-theme="dark"][dir="rtl"] .cl-floor::before { background: radial-gradient(ellipse 80% 140% at 100% 50%, rgba(174, 181, 188, .3), transparent 72%), var(--cl-on); }

/* Contact section 5 (Door Panels): the seam reveal is symmetric; only tracking, the link arrow and the rail direction need a reset */
[dir="rtl"] .fq-tag, [dir="rtl"] .fq-rail, [dir="rtl"] .fq-no { letter-spacing: 0; }
[dir="rtl"] .fq-link .ar { transform: scaleX(-1); }
[dir="rtl"] .fq-link:hover .ar { transform: scaleX(-1) translateX(4px); }
[dir="rtl"] .fq-panel-in { background: none; }

/* Contact section 6 (Call the Lift): tracking and the arrow follow the reading direction; the ticker stays left-to-right */
[dir="rtl"] .go-tag, [dir="rtl"] .go-ticker span { letter-spacing: 0; }
[dir="rtl"] .go-btn--p .ar { transform: scaleX(-1); }
[dir="rtl"] .go-btn--p:hover .ar { transform: scaleX(-1) translateX(4px); }

/* Login (The Lobby): tracking resets; the shaft and doors mirror through logical properties */
[dir="rtl"] .lgx-tag, [dir="rtl"] .lgx-disp { letter-spacing: 0; }
