/* Akademia Jazdy: motion follows a training route, never a racing game. */
:root{--aj-ease:cubic-bezier(.16,1,.3,1);--aj-ease-out:cubic-bezier(.4,0,1,1);--aj-fast:180ms;--aj-state:280ms;--aj-step:420ms;--aj-enter:640ms;--aj-motion-blue:var(--brand,#0864b8)}
/* All content is readable before JS and after interrupted animation. */
.hero-title,.hero-copy,.hero-image img,.vehicle-view,.vehicle-machine,.vehicle-road i,.route-art .art-car{animation:none}
.section-heading,.course-card,.steps-grid article,.gallery-grid figure,.course-programme-grid>div{translate:none;transition:none}.reveal-pending,.aj-approach{opacity:1;translate:none}
.section-heading h1,.section-heading h2{text-wrap:balance}.hero-image img{transform-origin:60% 55%}
.site-header{transition:box-shadow var(--aj-state),border-color var(--aj-state)}.site-header.aj-header-raised{box-shadow:0 8px 30px #06131c24;border-bottom-color:#b9dce84a}
.desktop-nav a:before{content:'';position:absolute;bottom:6px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--aj-state) var(--aj-ease)}.desktop-nav a:is(:hover,:focus-visible):before{transform:scaleX(1)}
.button{transition:background var(--aj-fast),box-shadow var(--aj-state),transform var(--aj-state) var(--aj-ease),border-color var(--aj-fast);transform:translateY(0)}
.button.primary:is(:hover,:focus-visible){filter:none;box-shadow:0 7px 20px #0864b826;transform:translateY(-2px)}.button:active{transform:translateY(0) scale(.985)}.button .icon{transition:transform var(--aj-state) var(--aj-ease)}.button:is(:hover,:focus-visible) .icon{transform:translateX(5px)}
.course-card{position:relative;isolation:isolate}.course-photo-link{overflow:hidden}.course-photo-link :is(img,.vehicle-render){transition:transform 650ms var(--aj-ease)}
@media(hover:hover) and (pointer:fine){.course-card:is(:hover,:focus-within) .course-photo-link :is(img,.vehicle-render){transform:translateX(3px) scale(1.035)}.gallery-grid a img{transition:transform 700ms var(--aj-ease)}.gallery-grid a:hover img{transform:scale(1.025)}}
.course-card .card-link .icon,.text-link .icon{transition:transform var(--aj-state) var(--aj-ease)}.course-card:is(:hover,:focus-within) .card-link .icon,.text-link:is(:hover,:focus-visible) .icon{transform:translateX(5px)}
.steps-grid{position:relative;isolation:isolate}.steps-grid:before{content:'';position:absolute;left:0;right:0;top:34px;height:2px;background:repeating-linear-gradient(90deg,#0864b838 0 10px,transparent 10px 21px);z-index:-1}.step-number{position:relative;background:var(--paper);border:1px solid #0864b850;border-radius:11px;padding:6px 12px;display:inline-block;color:var(--aj-motion-blue);transition:background var(--aj-state),color var(--aj-state)}.steps-grid article:hover .step-number{background:var(--aj-motion-blue);color:#fff}
.faq-list details{transition:border-color var(--aj-state),background var(--aj-state)}.faq-list details[open]{border-color:var(--aj-motion-blue)}.faq-list summary .icon{transition:transform var(--aj-state) var(--aj-ease)}.faq-list details[open] summary .icon{transform:rotate(45deg)}
/* Configurator: stable controls, a short response to each real choice. */
.journey-progress-track{height:3px;overflow:hidden;background:#dce7e9}.journey-progress-track i{width:100%!important;transform:scaleX(var(--journey-progress,.25));transform-origin:left;transition:transform 500ms var(--aj-ease)}
.journey-progress button{transition:color var(--aj-state),background var(--aj-state),border-color var(--aj-state)}.journey-progress button>span{transition:background var(--aj-state),color var(--aj-state),box-shadow var(--aj-state)}.journey-progress button[aria-current=step]>span{box-shadow:0 0 0 4px #0864b80e}
.journey-choice{isolation:isolate;transition:border-color var(--aj-fast),background var(--aj-fast),box-shadow var(--aj-state)}.journey-choice[aria-pressed=true]{box-shadow:inset 3px 0 0 var(--aj-motion-blue),0 5px 14px #193f5010;border-color:var(--aj-motion-blue)}.journey-choice:active{background:#eaf2f6}.journey-choice-check{transition:background var(--aj-fast),color var(--aj-fast)}
.journey-stage{transform-origin:50% 0}.journey-stage-heading h3{outline-offset:5px}.journey-price-row strong,.journey-option-price,.form-price{font-variant-numeric:tabular-nums}
.vehicle-stage{isolation:isolate}.vehicle-view{transform:none;opacity:1}.vehicle-machine{transform:none}.vehicle-ghost{pointer-events:none!important;position:absolute;inset:0;z-index:2}
.vehicle-road{transform:perspective(300px) rotateX(35deg) rotate(-6deg);opacity:.48;bottom:17px;border-block:1px solid #badceb30;padding-block:10px;overflow:hidden}.vehicle-road i{width:32px;animation:none}.vehicle-stage:after{content:'';position:absolute;left:15%;right:15%;bottom:17px;height:1px;background:linear-gradient(90deg,transparent,#b9dce888,transparent);pointer-events:none}
.vehicle-gear{border-radius:9px;background:#0864b8;color:#fff;border:2px solid #fff;box-shadow:0 0 0 1px #0864b8;transition:background var(--aj-state),color var(--aj-state)}.vehicle-stage[data-gear=automat] .vehicle-gear{background:#b9dce8;color:#14252d;border-color:#fff}
/* Miniature road map reserves its space; its marker follows the four stages. */
.journey-route{margin:7px 0 18px;padding:14px 15px 9px;border:1px solid #b9dce826;border-radius:15px;background:#0c202b3d;min-width:0}.journey-route-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;line-height:1.5;letter-spacing:.04em;color:#c4dbe5}.journey-route-top>strong{font-size:10px;color:#fff;font-weight:700}.journey-route svg{display:block;width:100%;height:68px;overflow:visible;margin-top:5px}.journey-route-road{stroke:#b9dce820;stroke-width:9;fill:none;stroke-linecap:round}.journey-route-line{stroke:#8cbed366;stroke-width:1;fill:none;stroke-dasharray:3 5}.journey-route-progress{fill:none;stroke:#8fd8f6;stroke-width:2;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:none}.journey-route-stop{fill:#183846;stroke:#8aaab9;stroke-width:1.5}.journey-route-stop.is-reached{fill:#b9e4f3;stroke:#b9e4f3}.journey-route-marker{transform-origin:0 0;transform-box:view-box;transition:none}.journey-route-labels{display:flex;justify-content:space-between;gap:6px;font-size:9px;line-height:1.5;color:#b4cbd5}.journey-route-labels span.is-current{color:#fff;font-weight:750}
.route-art .route-svg path:nth-child(2){animation:none}.art-chip,.art-car{transition:background var(--aj-state)}
.mobile-nav{transform-origin:top center}.aj-cookie-banner,.aj-privacy-dialog,.aj-image-viewer{transform-origin:center;animation:aj-dialog-enter 320ms var(--aj-ease)}
@keyframes aj-dialog-enter{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:760px){.steps-grid:before{display:none}.journey-route{grid-column:1/-1;grid-row:auto;margin:10px 0 0;padding:10px 12px 8px}.journey-route svg{height:52px}.journey-route-top{font-size:10px}.journey-route-labels{font-size:10px}.journey-visual{row-gap:8px}.journey-stage-heading>p{font-size:14px}.journey-choice small{line-height:1.6}}
@media(max-width:380px){.journey-route-top{flex-wrap:wrap;gap:2px}.journey-route-labels{font-size:9px}.journey-route{padding-inline:10px}}
.aj-motion-off *,.aj-motion-off *:before,.aj-motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.aj-motion-off{scroll-behavior:auto!important}.aj-motion-off .aj-approach,.aj-motion-off .reveal-pending{opacity:1!important;translate:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.aj-approach,.reveal-pending{opacity:1;translate:none}}

.journey-panel{scroll-margin-top:112px}.admin-bar .journey-panel{scroll-margin-top:144px}

/* Category tiles share a top edge and a heading row, regardless of description length. */
.aj-configurator .journey-course-choice{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;align-content:start}
.aj-configurator .journey-course-choice>.journey-choice-copy{display:grid;grid-template-rows:minmax(2.1rem,auto) auto;align-content:start;gap:6px;flex:0 0 auto;width:100%}
.aj-configurator .journey-course-choice strong{margin:0;align-self:start;line-height:1.4}
.aj-configurator .journey-course-choice small{margin:0;align-self:start}

/* One seamless strip replaces five independently restarting road dashes. */
.vehicle-road{display:block;height:24px;padding:10px 0;contain:paint}
.vehicle-road i{display:none}
.vehicle-road-flow{display:block;position:relative;width:calc(100% + 64px);height:2px;background:repeating-linear-gradient(90deg,#badceb 0 30px,transparent 30px 64px);transform:translate3d(0,0,0)}
