:root {
  --ink: #080b0f;
  --paper: #f2eee5;
  --concrete: #c8b9a6;
  --yellow: #f0bd32;
  --oxide: #a53b2d;
  --blue: #10263d;
  --display: 'Archivo', 'Arial Black', sans-serif;
  --body: 'Instrument Sans', Arial, sans-serif;
  --mono: 'IBM Plex Mono', monospace;
  --page: min(1320px, calc(100vw - 56px));
  --route-progress: 0;
  --process-progress: 0;
}

html { scroll-behavior: auto; scroll-padding-top: 76px; }
body { background: var(--ink); }
.seo-fallback { min-height: 100svh; padding: 0 max(20px,calc((100vw - 1120px)/2)) 90px; color: var(--paper); background: radial-gradient(circle at 78% 14%,#17324d,var(--ink) 48%); }
.seo-fallback nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid rgba(255,255,255,.18); }
.seo-fallback nav strong { text-transform: uppercase; font: 800 .78rem var(--display); }
.seo-fallback a { color: inherit; }
.seo-fallback nav a,.seo-fallback section div a:first-child { padding: 13px 16px; color: var(--ink); background: var(--yellow); font: 600 .68rem var(--mono); text-transform: uppercase; }
.seo-fallback section { padding: clamp(70px,12vw,145px) 0 40px; }
.seo-fallback section > p:first-child { color: var(--yellow); font: 500 .63rem var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.seo-fallback h1 { max-width: 11ch; margin: 20px 0 28px; font: 900 clamp(3.8rem,9vw,8.8rem)/.82 var(--display); letter-spacing: -.09em; text-transform: uppercase; }
.seo-fallback h2 { max-width: 14ch; font: 800 clamp(2.5rem,6vw,5rem)/.9 var(--display); letter-spacing: -.07em; text-transform: uppercase; }
.seo-fallback section > p:not(:first-child),.seo-fallback address { max-width: 620px; color: #cfcdc7; font-size: 1rem; line-height: 1.65; font-style: normal; }
.seo-fallback section div { display: flex; gap: 18px; align-items: center; margin-top: 30px; }
.seo-fallback section div a:last-child { border-bottom: 1px solid rgba(255,255,255,.4); }
.noscript-note,.fallback-alert { margin: 0; padding: 18px 24px; color: var(--ink); background: var(--yellow); }
.fallback-alert { position: sticky; z-index: 100; top: 0; display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.shell { overflow: clip; }
.film-grain { opacity: .028; mix-blend-mode: soft-light; }
.kicker { color: var(--yellow); }
.button, .nav-cta, .arrow { border-radius: 0; }
.button { min-height: 54px; padding: 0 20px; border: 1px solid currentColor; box-shadow: none; text-transform: uppercase; font: 600 .68rem var(--mono); letter-spacing: .06em; }
.button-yellow { color: var(--ink); border-color: var(--yellow); background: var(--yellow); box-shadow: none; }
.button-yellow:hover { color: var(--paper); border-color: var(--paper); background: var(--ink); box-shadow: none; }
.arrow { width: auto; height: auto; background: none; }

/* Loader: the calibration line becomes the global progress vocabulary. */
.route-loader { position: fixed; z-index: 200; inset: 0; display: grid; place-content: center; gap: 16px; padding: 28px; background: var(--ink); color: var(--paper); clip-path: inset(0); transition: clip-path .72s cubic-bezier(.76,0,.24,1), visibility .72s; }
.route-loader > div { width: min(620px, calc(100vw - 56px)); display: flex; justify-content: space-between; font: 700 clamp(1.2rem,3vw,2.4rem)/1 var(--display); letter-spacing: -.04em; }
.route-loader i { display: block; width: min(620px, calc(100vw - 56px)); height: 2px; background: #30343a; }
.route-loader i::before { content: ''; display: block; width: calc(var(--loader-progress,0) * 100%); height: 100%; background: var(--yellow); }
.route-loader small { color: #8e9296; font: 500 .58rem var(--mono); letter-spacing: .16em; }
.route-loader.is-complete { clip-path: inset(0 0 100% 0); visibility: hidden; }

/* Navigation: thin identity rail, never a floating corporate pill. */
.nav { top: 0; left: 0; right: 0; width: 100%; height: 78px; transform: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.18); border-radius: 0; background: rgba(8,11,15,.72); box-shadow: none; backdrop-filter: none; transition: height .45s var(--ease), background-color .45s var(--ease); }
.nav.nav-compact { top: 0; width: 100%; height: 58px; border: 0; border-radius: 0; border-bottom: 1px solid rgba(255,255,255,.14); background: rgba(8,11,15,.96); box-shadow: none; backdrop-filter: none; }
.nav-inner, .nav.nav-compact .nav-inner { width: var(--page); height: 100%; padding: 0; }
.brand { gap: 11px; font-family: var(--display); }
.arch-mark { width: 52px; height: 30px; display: block; color: var(--yellow); transition: width .45s var(--ease); }
.arch-mark svg { width: 100%; height: 100%; overflow: visible; }
.arch-mark path, .arch-mark circle { fill: none; stroke: currentColor; stroke-width: 2.7; vector-effect: non-scaling-stroke; }
.brand-type { font-size: .68rem; letter-spacing: -.02em; line-height: 1.05; }
.brand-type small { display: block; margin-top: 4px; color: #9b9ea1; font: 400 .48rem var(--mono); letter-spacing: .07em; }
.nav.nav-compact .arch-mark { width: 45px; }
.nav.nav-compact .brand-type small { display: none; }
.nav-links { gap: 23px; color: #dad8d2; font: 500 .58rem var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.nav.nav-compact .nav-links { gap: 19px; }
.nav-links > a:not(.nav-cta) { display: flex; gap: 6px; }
.nav-links > a:not(.nav-cta) span { color: var(--yellow); font-size: .48rem; }
.nav-links > a:not(.nav-cta)::after { bottom: -12px; }
.nav-cta { min-height: 36px; padding: 0 12px; border: 1px solid rgba(255,255,255,.35); background: transparent; }
.nav-cta:hover { color: var(--ink) !important; background: var(--yellow); transform: none; }
.nav-progress { position: absolute; inset: auto 0 -1px; height: 1px; background: transparent; }
.nav-progress i { display: block; width: calc(var(--page-progress,0) * 100%); height: 100%; background: var(--yellow); }
.nav-links > a.is-current:not(.nav-cta) { color: var(--yellow); }

/* Continuous Lapa crossing. */
.route-film { position: relative; height: 560vh; background: var(--ink); }
.route-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; isolation: isolate; }
.route-panorama { position: absolute; z-index: 1; inset: -6svh auto -6svh 0; width: max-content; height: 112svh; margin: 0; will-change: transform; }
.route-panorama img { width: auto; max-width: none; height: 100%; object-fit: cover; filter: saturate(.8) contrast(1.04) brightness(.76); }
.route-scrim { position: absolute; z-index: 2; inset: 0; background: rgba(5,8,12,.42); pointer-events: none; }
.route-hero { position: absolute; z-index: 10; top: clamp(126px,17vh,174px); left: max(28px,calc((100vw - 1320px)/2)); width: min(1120px, calc(100vw - 56px)); will-change: transform,opacity; }
.route-hero h1 { margin: 18px 0 25px; overflow: hidden; font: 900 clamp(4.1rem,8.8vw,9.2rem)/.8 var(--display); letter-spacing: -.095em; text-transform: uppercase; text-wrap: balance; }
.route-hero h1 span { display: block; width: max-content; max-width: 100%; }
.route-hero h1 span:last-child { color: var(--yellow); }
.route-hero-bottom { display: grid; grid-template-columns: minmax(280px,460px) auto; align-items: end; gap: 44px; }
.route-hero-bottom p { margin: 0; color: #e0ddd6; font-size: clamp(.88rem,1.2vw,1.05rem); line-height: 1.55; text-wrap: pretty; }
.hero-actions { gap: 24px; align-items: center; }
.route-note { position: absolute; z-index: 11; width: min(820px, calc(100vw - 56px)); opacity: 0; will-change: transform,opacity,clip-path; }
.route-note span, .route-portal > div > span, .route-exit span { color: var(--yellow); font: 500 .6rem var(--mono); letter-spacing: .14em; }
.route-note h2 { margin: 18px 0; font: 900 clamp(3.6rem,7.2vw,8rem)/.84 var(--display); letter-spacing: -.085em; text-transform: uppercase; }
.route-note p { max-width: 410px; color: #d3d0c8; font-size: 1rem; line-height: 1.55; }
.note-a { left: max(28px,calc((100vw - 1320px)/2)); top: 23vh; }
.note-b { right: max(28px,calc((100vw - 1320px)/2)); bottom: 16vh; text-align: right; }
.note-b p { margin-left: auto; }
.route-portal { position: absolute; z-index: 13; inset: 0; display: grid; grid-template-columns: 54% 1fr; align-items: center; background: var(--ink); opacity: 0; will-change: transform,opacity,clip-path; }
.route-portal figure { height: 100%; margin: 0; overflow: hidden; }
.route-portal figure img { height: 112%; object-fit: cover; will-change: transform; }
.route-portal > div { padding: 7vw; }
.route-portal h2 { margin: 20px 0 0; font: 900 clamp(3.2rem,6vw,7rem)/.85 var(--display); letter-spacing: -.08em; text-transform: uppercase; }
.route-exit { position: absolute; z-index: 14; inset: 0; display: grid; place-content: center; gap: 20px; text-align: center; background: var(--paper); color: var(--ink); opacity: 0; }
.route-exit b { font: 900 clamp(3rem,8vw,9rem)/.85 var(--display); letter-spacing: -.08em; }
.route-exit span { color: var(--oxide); }
.route-meter { position: absolute; z-index: 30; left: max(28px,calc((100vw - 1320px)/2)); right: max(28px,calc((100vw - 1320px)/2)); bottom: 25px; display: grid; grid-template-columns: 110px 1fr 180px; align-items: center; gap: 22px; color: #dedbd4; font: 500 .56rem var(--mono); letter-spacing: .1em; }
.route-meter > span b { color: var(--yellow); }
.route-meter > i { height: 1px; background: rgba(255,255,255,.35); }
.route-meter > i em { display: block; width: calc(var(--route-progress) * 100%); height: 100%; background: var(--yellow); }
.route-meter small { text-align: right; }

/* Typography moves as one strip, then the signal panel becomes the simulator handoff. */
.process-film { position: relative; height: 420vh; background: var(--paper); color: var(--ink); }
.process-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.process-track { display: flex; width: max-content; height: 100%; will-change: transform; }
.process-panel { position: relative; flex: 0 0 100vw; height: 100%; display: grid; grid-template-columns: 36% 1fr; align-items: center; gap: 7vw; padding: 11vh max(28px,calc((100vw - 1320px)/2)); border-right: 1px solid #8b877f; }
.process-opening { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.process-opening h2 { max-width: 1100px; margin: 18px 0 26px; font: 900 clamp(4.4rem,9vw,10rem)/.8 var(--display); letter-spacing: -.095em; text-transform: uppercase; }
.process-opening p { max-width: 480px; margin-left: 43%; color: #5e5c56; font-size: 1.05rem; line-height: 1.6; }
.process-number { color: transparent; -webkit-text-stroke: 1px #8e8a81; font: 900 35vw/.75 var(--display); letter-spacing: -.12em; }
.process-panel small { color: var(--oxide); font: 600 .63rem var(--mono); letter-spacing: .15em; }
.process-panel h3 { margin: 20px 0 24px; font: 900 clamp(4rem,8vw,9rem)/.78 var(--display); letter-spacing: -.09em; text-transform: uppercase; }
.process-panel p { max-width: 390px; color: #5c5b55; font-size: 1rem; line-height: 1.6; }
.process-signal { color: var(--ink); background: var(--yellow); border-color: var(--ink); }
.process-signal .process-number { -webkit-text-stroke-color: rgba(8,11,15,.48); }
.process-signal small, .process-signal p { color: var(--ink); }
.process-progress { position: absolute; z-index: 4; left: 0; right: 0; bottom: 0; height: 5px; background: rgba(8,11,15,.16); }
.process-progress i { display: block; width: calc(var(--process-progress) * 100%); height: 100%; background: var(--oxide); }

/* Simulator: functional, sharp, and stable. */
.simulator { padding: 150px 0 170px; background: var(--blue); background-image: none; }
.sim-head { grid-template-columns: 1fr minmax(300px,420px); margin-bottom: 70px; }
.sim-head h2 { font-size: clamp(4rem,8vw,8.2rem); }
.sim-head p { color: #bdc5cc; font-size: 1rem; }
.sim-shell { margin: 0; padding: 0; border: 1px solid rgba(255,255,255,.26); border-radius: 0; background: none; box-shadow: 18px 18px 0 rgba(4,13,23,.32); overflow-anchor: none; }
.sim-grid { grid-template-columns: minmax(0,1.08fr) minmax(410px,.92fr); border: 0; border-radius: 0; }
.category-wall { align-content: stretch; }
.category { min-height: 100%; display: grid; grid-template-rows: auto 1fr auto; padding: 28px 24px; border-right: 1px solid rgba(255,255,255,.18); border-radius: 0; }
.category::after { display: none; }
.category:hover { transform: none; background: #151a20; }
.category.active { background: var(--yellow); }
.category-index { font: 500 .54rem var(--mono); opacity: .7; }
.category strong { align-self: center; font-size: clamp(5rem,9vw,8rem); }
.category-copy { display: grid; gap: 5px; }
.category b, .category small { position: static; margin: 0; font-family: var(--mono); }
.category em { position: absolute; top: 26px; right: 20px; font: 500 .5rem var(--mono); text-transform: uppercase; }
.quote { min-height: 850px; background: var(--paper); overflow-anchor: none; }
.quote-inner { padding: 38px; }
.quote-heading h3 { font-family: var(--display); }
.selection-mark { border-radius: 0; background: var(--ink); }
.payments button, .package-picks button { border-radius: 0; }
.extras label { border-radius: 0; }
.total-box { border-radius: 0; background: var(--ink); }
.sim-legal { max-width: 720px; margin: 28px 0 0 auto; color: #9eabb5; font: 400 .58rem/1.6 var(--mono); letter-spacing: .04em; text-align: right; text-transform: uppercase; }

.proof { padding: 160px 0; background: var(--concrete); }
.proof-grid { gap: 10vw; }
.proof-intro h2 { margin: 18px 0 40px; font: 900 clamp(3.8rem,6.7vw,7rem)/.84 var(--display); letter-spacing: -.085em; text-transform: uppercase; }
.rating-line { display: flex; align-items: end; gap: 16px; margin-top: 45px; }
.rating-line strong { font: 900 7.5rem/.7 var(--display); letter-spacing: -.1em; }
.rating-line span { font: 500 .6rem/1.55 var(--mono); text-transform: uppercase; }
.review { grid-template-columns: 54px 1fr; padding: 38px 0; }
.review > span { color: var(--oxide); font: 500 .62rem var(--mono); }
.review blockquote { font-size: clamp(1.5rem,2.5vw,2.35rem); }

.portal-break { position: relative; height: 270vh; background: var(--ink); }
.portal-break-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.portal-break figure { position: absolute; inset: 0; margin: 0; overflow: hidden; will-change: clip-path; }
.portal-break figure::after { content: ''; position: absolute; inset: 0; background: rgba(8,11,15,.48); }
.portal-break figure img { height: 112%; object-fit: cover; filter: saturate(.75); will-change: transform; }
.portal-break-copy { position: absolute; z-index: 3; left: max(28px,calc((100vw - 1320px)/2)); bottom: 12vh; width: min(900px,calc(100vw - 56px)); }
.portal-break-copy span { color: var(--yellow); font: 500 .61rem var(--mono); letter-spacing: .15em; }
.portal-break-copy h2 { margin: 18px 0 0; font: 900 clamp(3.9rem,7.6vw,8.5rem)/.82 var(--display); letter-spacing: -.09em; text-transform: uppercase; }
.portal-outline { position: absolute; z-index: 2; top: 8vh; right: 7vw; width: 26vw; height: 54vh; border: 1px solid rgba(240,189,50,.7); border-bottom: 0; border-radius: 13vw 13vw 0 0; }

.finale { height: 195vh; }
.finale-stage::before { background-image: url('/assets/arcos-driver.webp'); filter: saturate(.65) brightness(.55); }
.finale-stage::after { background: rgba(8,11,15,.46); }
.final-content h2 { font-size: clamp(4.2rem,9vw,9.6rem); }
.footer-inner div { display: flex; gap: 18px; }

.reveal-line { opacity: 0; transform: translateY(34px); clip-path: inset(0 0 24% 0); transition: opacity .9s var(--ease), transform .9s var(--ease), clip-path .9s var(--ease); }
.reveal-line.is-visible { opacity: 1; transform: none; clip-path: inset(0); }

@media (max-width: 1120px) {
  :root { --page: min(100% - 40px, 960px); }
  .nav-links { gap: 14px; }
  .nav-links > a:not(.nav-cta) span { display: none; }
  .route-hero { top: clamp(118px,15vh,145px); }
  .route-hero h1 { font-size: clamp(4rem,8.5vw,7rem); }
  .route-hero-bottom { grid-template-columns: minmax(260px,400px) 1fr; }
  .sim-grid { grid-template-columns: 1fr; }
  .category { min-height: 270px; }
  .quote { min-height: auto; }
}

@media (max-width: 768px) {
  :root { --page: calc(100vw - 34px); }
  body.menu-open { overflow: hidden; }
  .nav, .nav.nav-compact { height: 64px; background: rgba(8,11,15,.94); }
  .nav-inner, .nav.nav-compact .nav-inner { width: var(--page); }
  .arch-mark, .nav.nav-compact .arch-mark { width: 44px; }
  .brand-type { font-size: .62rem; }
  .brand-type small { display: none; }
  .menu { display: block; z-index: 3; color: var(--paper); }
  .nav-links, .nav.nav-compact .nav-links { position: fixed; z-index: 2; inset: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 0; padding: 88px 24px 32px; background: var(--ink); clip-path: inset(0 0 100% 0); visibility: hidden; transition: clip-path .65s var(--ease), visibility .65s; }
  .nav-links.open { display: flex; clip-path: inset(0); visibility: visible; }
  .nav-links > a:not(.nav-cta) { width: 100%; gap: 12px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.14); font: 800 clamp(2rem,10vw,4rem)/1 var(--display); letter-spacing: -.06em; }
  .nav-links > a:not(.nav-cta) span { display: block; font: 500 .55rem var(--mono); }
  .nav-links > a:not(.nav-cta)::after { display: none; }
  .nav-cta { margin-top: 30px; min-height: 50px; padding: 0 18px; }

  .route-film { height: 280vh; }
  .route-panorama { inset: 0 auto 0 0; height: 100svh; }
  .route-panorama img { height: 100%; }
  .route-hero { top: 112px; left: 20px; width: calc(100vw - 40px); }
  .route-hero h1 { margin-top: 14px; font-size: clamp(3.3rem,15.3vw,5.5rem); line-height: .83; }
  .route-hero h1 span { width: auto; }
  .route-hero-bottom { display: block; }
  .route-hero-bottom p { max-width: 390px; font-size: .9rem; }
  .hero-actions { margin-top: 24px; gap: 14px; }
  .hero-actions .button { min-height: 50px; }
  .route-note { left: 20px; right: auto; top: auto; bottom: 16vh; width: calc(100vw - 40px); text-align: left; }
  .route-note h2 { font-size: clamp(3.2rem,13vw,5.5rem); }
  .note-b p { margin-left: 0; }
  .route-portal { grid-template-columns: 1fr; }
  .route-portal figure { position: absolute; inset: 0; }
  .route-portal figure::after { content: ''; position: absolute; inset: 0; background: rgba(8,11,15,.5); }
  .route-portal > div { position: relative; z-index: 2; align-self: end; padding: 0 20px 18vh; }
  .route-portal h2 { font-size: clamp(3.4rem,13vw,5.4rem); }
  .route-exit { padding: 20px; }
  .route-exit b { font-size: clamp(2.8rem,13vw,5.2rem); }
  .route-meter { left: 20px; right: 20px; grid-template-columns: 80px 1fr; bottom: 18px; }
  .route-meter small { display: none; }

  .process-film { height: auto; }
  .process-stage { position: relative; height: auto; overflow: visible; }
  .process-track { display: block; width: auto; height: auto; transform: none !important; }
  .process-panel { width: 100%; min-height: 72svh; display: grid; grid-template-columns: 1fr; gap: 26px; padding: 82px 20px 60px; border-right: 0; border-bottom: 1px solid #8b877f; }
  .process-opening { display: flex; min-height: 82svh; }
  .process-opening h2 { font-size: clamp(3.7rem,15vw,6.2rem); }
  .process-opening p { margin: 8vh 0 0; }
  .process-number { font-size: 55vw; line-height: .6; }
  .process-panel h3 { font-size: clamp(3.8rem,16vw,6.4rem); }
  .process-progress { display: none; }

  .simulator, .proof { padding: 105px 0; }
  .sim-head, .proof-grid { grid-template-columns: 1fr; }
  .sim-head h2 { font-size: clamp(3.6rem,14vw,6rem); }
  .category-wall { grid-template-columns: 1fr; }
  .category { min-height: 132px; grid-template-columns: auto 1fr auto; grid-template-rows: auto auto; align-items: center; column-gap: 18px; padding: 20px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .category-index { grid-column: 1; }
  .category strong { grid-column: 1; grid-row: 2; font-size: 3.8rem; }
  .category-copy { grid-column: 2; grid-row: 2; }
  .category em { position: static; grid-column: 3; grid-row: 2; }
  .quote-inner { padding: 28px 20px; }
  .sim-legal { text-align: left; }
  .proof-intro { position: static; }
  .proof-intro h2 { font-size: clamp(3.5rem,13vw,5.7rem); }
  .portal-break { height: 145vh; }
  .portal-break-copy { left: 20px; bottom: 13vh; width: calc(100vw - 40px); }
  .portal-break-copy h2 { font-size: clamp(3.3rem,13vw,5.6rem); }
  .portal-outline { top: 10vh; right: -8vw; width: 55vw; height: 40vh; border-radius: 28vw 28vw 0 0; }
  .final-content { padding-bottom: 38px; }
  .final-content h2 { font-size: clamp(3.8rem,15vw,6.2rem); }
  .final-bottom { display: block; }
  .final-bottom .button { margin-top: 20px; }
  .finale { height: 135vh; }
  .seo-fallback { padding-inline: 18px; }
  .seo-fallback nav { min-height: 66px; }
  .seo-fallback h1 { font-size: clamp(3.2rem,14vw,4.7rem); }
  .seo-fallback section div { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 430px) {
  .route-hero { top: 98px; }
  .route-hero h1 { font-size: clamp(3rem,14.6vw,4.25rem); }
  .route-hero-bottom p { max-width: 330px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-actions .text-link { min-height: 36px; }
  .route-note h2 { font-size: 12.5vw; }
  .route-meter { grid-template-columns: 72px 1fr; gap: 12px; }
  .process-panel { min-height: 68svh; }
  .contact-grid { grid-template-columns: 1fr; }
  .footer-inner { gap: 12px; }
}

@media (max-height: 720px) and (min-width: 769px) {
  .nav, .nav.nav-compact { height: 58px; }
  .route-hero { top: 88px; }
  .route-hero h1 { font-size: clamp(3.6rem,7vw,6.4rem); margin: 12px 0 17px; }
  .route-hero-bottom p { font-size: .84rem; }
  .button { min-height: 46px; }
  .route-meter { bottom: 16px; }
}

body.reduced-motion .film-grain, body.reduced-motion .route-loader { display: none; }
body.reduced-motion .route-film, body.reduced-motion .process-film, body.reduced-motion .portal-break, body.reduced-motion .finale { height: auto; }
body.reduced-motion .route-stage, body.reduced-motion .process-stage, body.reduced-motion .portal-break-stage, body.reduced-motion .finale-stage { position: relative; height: auto; min-height: 100svh; }
body.reduced-motion .route-panorama { inset: 0; width: 100%; height: 100%; transform: none !important; }
body.reduced-motion .route-panorama img { width: 100%; height: 100%; object-fit: cover; }
body.reduced-motion .route-note, body.reduced-motion .route-portal, body.reduced-motion .route-exit, body.reduced-motion .route-meter { display: none; }
body.reduced-motion .route-hero { position: relative; top: auto; left: auto; width: var(--page); margin: 0 auto; padding-top: 18vh; opacity: 1 !important; transform: none !important; }
body.reduced-motion .process-track { display: block; width: auto; transform: none !important; }
body.reduced-motion .process-panel { width: 100%; min-height: 80vh; }
body.reduced-motion .portal-break figure { clip-path: none !important; }
body.reduced-motion .reveal-line { opacity: 1; transform: none; clip-path: none; }
