/* Vairuotojų visata — /vairuotoju-visata/ hub (page-scoped, no bleed) */

#visata-hub.hoptrans-visata-hub,
#visata-page #visata-hub {
	/* Match Salient .container.main-content rail (1425 / 40) */
	--hop-rail-max: 1425px;
	--hop-rail-gutter: 40px;
	--hop-visata-ink: var(--hop-ink, #1c2e20);
	--hop-visata-muted: rgba(28, 46, 32, 0.55);
	--hop-visata-cream: var(--hop-bg, #f4f2eb);
	--hop-visata-panel: var(--hop-sc-4, #dae4e1);
	--hop-visata-card: #ffffff;
	--hop-visata-tint: var(--hop-sc-1, #e8e4da);
	/* Shared hairline for H + V dividers (stats columns, cabin rows, etc.) */
	--hop-visata-rule: rgba(28, 46, 32, 0.22);
	--hop-visata-hairline: var(--hop-visata-rule);
	/* Section separators only (nav / major blocks) — not column frames */
	--hop-visata-rule-strong: var(--hop-ink, #1c2e20);
	/* Clear text from vertical hairlines between columns (~32–36px) */
	--hop-visata-col-pad: clamp(32px, 4vw, 36px);
	/* Fleet intro + kabina photo splits share one column template */
	--hop-visata-fleet-split: minmax(0, 1.1fr) minmax(0, 0.9fr);
	color: var(--hop-visata-ink);
	font-family: "Outfit", sans-serif;
	box-sizing: border-box;
	max-width: var(--hop-rail-max);
	margin: 0 auto;
	padding: clamp(24px, 3vw, 40px) var(--hop-rail-gutter) clamp(48px, 6vw, 88px);
}

#visata-hub .hoptrans-visata-hub__label {
	margin: 0 0 8px;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--hop-g3, #409c61);
}

#visata-hub .hoptrans-visata-hub__heading {
	margin: 0 0 14px;
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(1.85rem, 3.6vw, 2.75rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.03em;
	color: var(--hop-visata-ink) !important;
}

#visata-hub .hoptrans-visata-hub__heading--h2 {
	font-size: clamp(1.55rem, 2.8vw, 2.15rem);
	margin-bottom: 10px;
}

#visata-hub .hoptrans-visata-hub__lead {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.55;
	color: var(--hop-visata-ink);
	max-width: 36rem;
}

#visata-hub .hoptrans-visata-hub__lead--muted {
	color: var(--hop-visata-muted);
	font-size: 0.98rem;
}

/* —— CTAs (ink arrow-circle pattern) —— */
#visata-hub .hoptrans-visata-hub__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 22px;
}

#visata-hub .hoptrans-visata-hub__cta {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 4px 6px 4px 20px;
	border-radius: 100px;
	background: var(--hop-visata-ink);
	color: #fff !important;
	font-family: "Outfit", sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background-color 0.25s ease;
	border: none;
	box-shadow: none;
}

#visata-hub .hoptrans-visata-hub__cta:hover,
#visata-hub .hoptrans-visata-hub__cta:focus-visible {
	background: #000;
	outline: none;
}

#visata-hub .hoptrans-visata-hub__cta-icon {
	box-sizing: border-box;
	flex: 0 0 34px;
	width: 34px;
	min-width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #fff
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231c2e20' d='M7 7h10v10h-2.2V10.7L7.8 17.7 6.3 16.2 13.3 9.2H7V7z'/%3E%3C/svg%3E")
		center / 50% no-repeat;
}

#visata-hub .hoptrans-visata-hub__cta--ghost {
	background: transparent;
	color: var(--hop-visata-ink) !important;
	border: 1.5px solid rgba(28, 46, 32, 0.28);
	padding: 10px 18px;
}

#visata-hub .hoptrans-visata-hub__cta--ghost:hover,
#visata-hub .hoptrans-visata-hub__cta--ghost:focus-visible {
	background: rgba(28, 46, 32, 0.06);
}

/* —— Hero —— */
/* Outer #visata-hub rail gutter = page align; panel pad = text vs cream BG */
/* +30px top: clear fixed header → eyebrow („VAIRUOTOJŲ EKOSISTEMA“) */
#visata-hero.hoptrans-visata-hub__hero {
	margin: 0 0 clamp(28px, 4vw, 44px);
	padding: clamp(28px, 4vw, 48px);
	padding-top: calc(clamp(28px, 4vw, 48px) + 30px);
	border-radius: 20px;
	background: var(--hop-visata-cream);
	border: none;
	box-shadow: none;
}

#visata-hero .hoptrans-visata-hub__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: stretch;
}

/* Eyebrow + H1 stay top; lead + CTAs drop to match photo height */
#visata-hero .hoptrans-visata-hub__hero-copy {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

#visata-hero .hoptrans-visata-hub__hero-copy > .hoptrans-visata-hub__lead {
	margin-top: auto;
	padding-top: clamp(16px, 2vw, 28px);
}

#visata-hero .hoptrans-visata-hub__hero-copy > .hoptrans-visata-hub__actions {
	margin-top: 18px;
}

#visata-hero .hoptrans-visata-hub__hero-media {
	/* Rebalanced: copy stack fills height — no large photo-only offset */
	margin: 0;
	align-self: stretch;
	border-radius: 16px;
	overflow: hidden;
	border: none;
	box-shadow: none;
	aspect-ratio: 4 / 3;
	background: var(--hop-visata-panel);
}

#visata-hero .hoptrans-visata-hub__hero-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* —— Nav — graphical (type + hairlines, no white cards) —— */
#visata-nav.hoptrans-visata-hub__nav {
	margin: 0 0 clamp(28px, 4vw, 44px);
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
}

#visata-nav .hoptrans-visata-hub__nav-grid {
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 1px solid var(--hop-visata-rule-strong);
	border-bottom: 1px solid var(--hop-visata-rule-strong);
}

#visata-nav .hoptrans-visata-hub__nav-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: clamp(16px, 2.5vw, 28px);
	align-items: baseline;
	min-height: 0;
	padding: clamp(18px, 2.2vw, 26px) 0;
	border-radius: 0;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--hop-visata-rule);
	box-shadow: none;
	text-decoration: none !important;
	color: var(--hop-visata-ink);
	transition: opacity 0.2s ease;
}

#visata-nav .hoptrans-visata-hub__nav-card:last-child {
	border-bottom: none;
}

#visata-nav .hoptrans-visata-hub__nav-card:hover,
#visata-nav .hoptrans-visata-hub__nav-card:focus-visible {
	box-shadow: none;
	outline: none;
	transform: none;
	opacity: 0.72;
}

#visata-nav .hoptrans-visata-hub__nav-num {
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1;
	color: var(--hop-visata-ink);
	font-variant-numeric: tabular-nums;
}

#visata-nav .hoptrans-visata-hub__nav-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

#visata-nav .hoptrans-visata-hub__nav-eyebrow {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hop-visata-muted);
}

#visata-nav .hoptrans-visata-hub__nav-title {
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.2;
}

#visata-nav .hoptrans-visata-hub__nav-text {
	font-size: 0.92rem;
	line-height: 1.5;
	color: var(--hop-visata-muted);
	max-width: 36rem;
}

#visata-nav .hoptrans-visata-hub__nav-cta {
	margin-top: 0;
	align-self: center;
	font-size: 0.88rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--hop-visata-ink);
	white-space: nowrap;
}

/* —— Kodėl (privalumai light panel) —— */
#visata-kodel.hoptrans-visata-hub__why {
	margin: 0 0 clamp(28px, 4vw, 44px);
}

#visata-kodel .hoptrans-visata-hub__why-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	gap: clamp(28px, 4vw, 48px);
	/* Inner pad for mint BG — do not zero L/R (flush-to-corner regression) */
	padding: clamp(32px, 4vw, 48px);
	border-radius: 20px;
	background: var(--hop-visata-panel);
	border: none;
	box-shadow: none;
}

#visata-kodel .hoptrans-visata-hub__why-intro {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 22rem;
}

#visata-kodel .hoptrans-visata-hub__why-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(22px, 3vw, 36px) clamp(24px, 3vw, 40px);
	margin: 0;
	padding: 0;
	list-style: none;
}

#visata-kodel .hoptrans-visata-hub__why-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

#visata-kodel .hoptrans-visata-hub__why-num {
	font-size: 0.8rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--hop-visata-muted);
}

#visata-kodel .hoptrans-visata-hub__why-title {
	font-size: clamp(1.02rem, 1.35vw, 1.2rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

#visata-kodel .hoptrans-visata-hub__why-text {
	font-size: 0.92rem;
	line-height: 1.5;
	color: var(--hop-visata-muted);
}

/* —— Fleet (#vilkikai) — graphical expansion, no white/mint cards —— */
#vilkikai.hoptrans-visata-hub__teaser {
	margin: 0 0 clamp(28px, 4vw, 44px);
	padding: clamp(28px, 3.5vw, 40px) 0;
	border-radius: 0;
	background: transparent;
	border: none;
	border-top: 1px solid var(--hop-visata-rule-strong);
	border-bottom: 1px solid var(--hop-visata-rule-strong);
	box-shadow: none;
	scroll-margin-top: 96px;
}

#vilkikai .hoptrans-visata-hub__fleet-header {
	max-width: 40rem;
	margin: 0 0 clamp(24px, 3vw, 36px);
}

#vilkikai .hoptrans-visata-hub__fleet-block-label {
	margin: 0 0 8px;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hop-visata-muted);
}

#vilkikai .hoptrans-visata-hub__fleet-block-title {
	margin: 0 0 10px;
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.2;
	color: var(--hop-visata-ink) !important;
}

/* Variant A — Palaikymas kelyje (single block, not duplicate Privalumai grid) */
#vilkikai .hoptrans-visata-hub__fleet-support {
	margin: 0 0 clamp(28px, 3.5vw, 40px);
	padding-bottom: clamp(20px, 2.5vw, 28px);
	border-bottom: 1px solid var(--hop-visata-hairline);
	max-width: 44rem;
}

#vilkikai .hoptrans-visata-hub__fleet-support .hoptrans-visata-hub__fleet-block-title {
	margin-bottom: 12px;
}

#vilkikai .hoptrans-visata-hub__fleet-support .hoptrans-visata-hub__lead {
	margin: 0;
}

/* Intro (Ką vairuojate) + Kabina — shared split; photos align on media left edge */
#vilkikai .hoptrans-visata-hub__fleet-cabin {
	display: grid;
	grid-template-columns: var(--hop-visata-fleet-split);
	/* No column-gap: hairline + --hop-visata-col-pad keep both media left edges identical */
	column-gap: 0;
	row-gap: clamp(24px, 4vw, 48px);
	align-items: stretch;
	margin: 0 0 clamp(28px, 3.5vw, 40px);
	padding-bottom: clamp(20px, 2.5vw, 28px);
	border-bottom: 1px solid var(--hop-visata-rule);
}

#vilkikai .hoptrans-visata-hub__fleet-cabin-copy {
	min-width: 0;
	padding-right: var(--hop-visata-col-pad);
}

#vilkikai .hoptrans-visata-hub__fleet-cabin-media {
	margin: 0;
	padding: 0;
	border: none;
	border-left: 1px solid var(--hop-visata-rule);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: hidden;
	align-self: stretch;
	height: 100%;
	min-height: 0;
	display: grid;
}

#vilkikai .hoptrans-visata-hub__fleet-cabin-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: center;
}

#vilkikai .hoptrans-visata-hub__fleet-rows {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--hop-visata-hairline);
}

#vilkikai .hoptrans-visata-hub__fleet-row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(14px, 2vw, 22px);
	align-items: baseline;
	padding: 14px 0;
	border-bottom: 1px solid var(--hop-visata-hairline);
	background: transparent;
	box-shadow: none;
}

#vilkikai .hoptrans-visata-hub__fleet-row-num {
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	color: var(--hop-visata-ink);
}

#vilkikai .hoptrans-visata-hub__fleet-row-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

#vilkikai .hoptrans-visata-hub__fleet-row-title {
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
	color: var(--hop-visata-ink);
}

#vilkikai .hoptrans-visata-hub__fleet-row-text {
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--hop-visata-muted);
}

/* Ką vežate + Servisas — shared white cards (no resting border) */
#vilkikai-kroviniai.hoptrans-visata-hub__fleet-cargo,
#vilkikai-servisas.hoptrans-visata-hub__fleet-service {
	margin: 0 0 clamp(28px, 3.5vw, 40px);
	padding-bottom: clamp(20px, 2.5vw, 28px);
	border-bottom: 1px solid var(--hop-visata-rule);
}

#vilkikai-kroviniai .hoptrans-visata-hub__fleet-cargo-cols,
#vilkikai-servisas .hoptrans-visata-hub__fleet-path {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 22px);
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	border: none;
}

#vilkikai-kroviniai .hoptrans-visata-hub__fleet-cargo-col,
#vilkikai-servisas .hoptrans-visata-hub__fleet-path-step {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: clamp(20px, 2.4vw, 28px);
	border: none;
	border-radius: 16px;
	background: var(--hop-visata-card, #ffffff);
	box-shadow: none;
	min-width: 0;
	transition: box-shadow 0.28s ease;
}

#vilkikai-kroviniai .hoptrans-visata-hub__fleet-cargo-col:hover,
#vilkikai-kroviniai .hoptrans-visata-hub__fleet-cargo-col:focus-within,
#vilkikai-servisas .hoptrans-visata-hub__fleet-path-step:hover,
#vilkikai-servisas .hoptrans-visata-hub__fleet-path-step:focus-within {
	box-shadow: var(--hop-card-shadow-hover, 0 10px 28px rgba(28, 46, 32, 0.08));
}

#vilkikai-kroviniai .hoptrans-visata-hub__fleet-cargo-col .hoptrans-visata-hub__fleet-row-num,
#vilkikai-servisas .hoptrans-visata-hub__fleet-path-num {
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	color: var(--hop-visata-ink);
}

#vilkikai-kroviniai .hoptrans-visata-hub__fleet-cargo-col .hoptrans-visata-hub__fleet-row-title {
	margin: 0;
	padding: 0;
	border: none;
	font-size: 1.08rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
	color: var(--hop-visata-ink);
}

#vilkikai-kroviniai .hoptrans-visata-hub__fleet-cargo-col .hoptrans-visata-hub__fleet-row-text {
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--hop-visata-muted);
}

#vilkikai-servisas .hoptrans-visata-hub__fleet-path-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 0;
	border: none;
}

#vilkikai-servisas .hoptrans-visata-hub__fleet-path-title {
	margin: 0;
	font-family: "Outfit", sans-serif !important;
	font-size: 1.08rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--hop-visata-ink) !important;
}

#vilkikai-servisas .hoptrans-visata-hub__fleet-path-text {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--hop-visata-muted);
}

/* Vizualai — stable artistic collage (coherent block, soft tilt, no void gaps) */
#vilkikai-vizualai.hoptrans-visata-hub__fleet-thumbs {
	margin: 0 0 clamp(20px, 2.5vw, 28px);
}

#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb-strip {
	display: grid;
	grid-template-columns: 1.25fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	grid-template-areas:
		"feat wide wide"
		"feat a    b";
	gap: clamp(10px, 1.2vw, 14px);
	margin: clamp(20px, 2.5vw, 28px) 0 0;
	padding: 0;
	list-style: none;
	border: none;
	align-items: stretch;
	width: 100%;
	aspect-ratio: 2.15 / 1;
	min-height: 280px;
	max-height: 460px;
}

#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb {
	position: relative;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 6px;
	overflow: hidden;
	background: var(--hop-visata-panel);
	box-shadow: none;
	min-height: 0;
	height: 100%;
	/* reveal vars only — no translate that opens white voids */
	--visata-thumb-tx: 0px;
	--visata-thumb-ty: 0px;
	--visata-thumb-rot: 0deg;
	transform: translate(var(--visata-thumb-tx), var(--visata-thumb-ty)) rotate(var(--visata-thumb-rot));
}

#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--1 {
	grid-area: feat;
	border-radius: 8px 4px 4px 8px;
	z-index: 2;
}

#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--2 {
	grid-area: wide;
	border-radius: 4px 8px 4px 4px;
	--visata-thumb-rot: 0.35deg;
	z-index: 1;
}

#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--3 {
	grid-area: a;
	border-radius: 4px;
	--visata-thumb-rot: -0.4deg;
	z-index: 3;
}

#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--4 {
	grid-area: b;
	border-radius: 4px 6px 8px 4px;
	--visata-thumb-rot: 0.4deg;
	z-index: 2;
}

#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

#vilkikai .hoptrans-visata-hub__actions--fleet {
	margin-top: clamp(8px, 1.5vw, 16px);
	padding-top: clamp(20px, 2.5vw, 28px);
	border-top: 1px solid var(--hop-visata-rule);
}

/* Legacy points (unused after expansion — keep harmless) */
#visata-hub .hoptrans-visata-hub__points {
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 1px solid var(--hop-visata-rule);
}

#visata-hub .hoptrans-visata-hub__point {
	position: relative;
	padding: 12px 0;
	font-size: 0.95rem;
	line-height: 1.45;
	color: var(--hop-visata-ink);
	border-bottom: 1px solid var(--hop-visata-rule);
}

#visata-hub .hoptrans-visata-hub__point::before {
	display: none;
}

/* —— Routes teaser (#visata-marsrutai) —— */
#visata-marsrutai.hoptrans-visata-hub__teaser--routes {
	margin: 0 0 clamp(28px, 4vw, 44px);
	/* Inner pad for mint BG — rail gutter stays on #visata-hub only */
	padding: clamp(28px, 4vw, 48px);
	border-radius: 20px;
	background: var(--hop-visata-panel);
	border: none;
	box-shadow: none;
	scroll-margin-top: 96px;
}

#visata-marsrutai .hoptrans-visata-hub__routes-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
}

#visata-marsrutai .hoptrans-visata-hub__routes-map {
	position: relative;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: clamp(4px, 1vw, 10px);
	border-radius: 16px;
	background: var(--hop-visata-card);
	border: none;
	box-shadow: none;
	aspect-ratio: 11 / 8.6;
	min-height: clamp(300px, 40vw, 540px);
}

#visata-marsrutai .hoptrans-visata-hub__routes-europe {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	object-fit: contain;
	object-position: center;
	opacity: 1;
	pointer-events: none;
	user-select: none;
}

/* Animated corridor overlay — same box as pins (viewBox 1100×860). */
#visata-marsrutai .hoptrans-visata-hub__routes-lines {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: visible;
	z-index: 1;
}

#visata-marsrutai .hoptrans-visata-hub__routes-line {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
	/* Idle / off-screen: solid full line. Draw loop only with .is-routes-drawing. */
	stroke-dasharray: none;
	stroke-dashoffset: 0;
	animation: none;
}

#visata-marsrutai.is-routes-drawing .hoptrans-visata-hub__routes-line {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
}

#visata-marsrutai.is-routes-drawing .hoptrans-visata-hub__routes-lines-primary .hoptrans-visata-hub__routes-line {
	animation: hop-visata-route-draw 5.2s ease-in-out infinite;
}

#visata-marsrutai .hoptrans-visata-hub__routes-lines-primary .hoptrans-visata-hub__routes-line {
	stroke: var(--hop-g3, #409c61);
	stroke-width: 1.75;
	opacity: 0.9;
}

#visata-marsrutai .hoptrans-visata-hub__routes-line--de {
	animation-delay: 0s;
}

#visata-marsrutai .hoptrans-visata-hub__routes-line--benelux {
	animation-delay: 0.35s;
	opacity: 0.82;
}

#visata-marsrutai .hoptrans-visata-hub__routes-line--fr {
	animation-delay: 0.7s;
	opacity: 0.76;
	stroke: var(--hop-ink, #1c2e20);
	stroke-width: 1.55;
}

#visata-marsrutai.is-routes-drawing .hoptrans-visata-hub__routes-lines-secondary .hoptrans-visata-hub__routes-line {
	animation: hop-visata-route-draw 5.8s ease-in-out infinite;
}

#visata-marsrutai .hoptrans-visata-hub__routes-lines-secondary .hoptrans-visata-hub__routes-line {
	stroke: var(--hop-g3, #409c61);
	stroke-width: 1.25;
	opacity: 0.42;
}

#visata-marsrutai .hoptrans-visata-hub__routes-line--klaipeda-warsaw {
	animation-delay: 0.15s;
}

/*
 * Loop: draw solid stroke → hold → snap reset → pause → redraw.
 * Uses normalized pathLength=1 (solid, not dashed dots).
 */
@keyframes hop-visata-route-draw {
	0% {
		stroke-dashoffset: 1;
	}
	42% {
		stroke-dashoffset: 0;
	}
	68% {
		stroke-dashoffset: 0;
	}
	69% {
		stroke-dashoffset: 1;
	}
	100% {
		stroke-dashoffset: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	#visata-marsrutai .hoptrans-visata-hub__routes-line,
	#visata-marsrutai.is-routes-drawing .hoptrans-visata-hub__routes-line {
		animation: none !important;
		stroke-dasharray: none;
		stroke-dashoffset: 0;
	}

	#visata-marsrutai .hoptrans-visata-hub__routes-lines-primary .hoptrans-visata-hub__routes-line {
		opacity: 0.85;
	}

	#visata-marsrutai .hoptrans-visata-hub__routes-lines-secondary .hoptrans-visata-hub__routes-line {
		opacity: 0.4;
	}
}

#visata-marsrutai.is-routes-static .hoptrans-visata-hub__routes-line {
	animation: none !important;
	stroke-dasharray: none;
	stroke-dashoffset: 0;
}

#visata-marsrutai .hoptrans-visata-hub__routes-pins {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 2;
}

#visata-marsrutai .hoptrans-visata-hub__routes-pin {
	position: absolute;
	transform: translate(-50%, -50%);
	padding: 4px 9px;
	border-radius: 100px;
	background: rgba(244, 242, 235, 0.94);
	color: var(--hop-visata-ink);
	font-family: "Outfit", sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.2;
	white-space: nowrap;
	box-shadow: 0 1px 0 rgba(28, 46, 32, 0.08);
}

/* Pin % from Natural Earth lon/lat → SVG viewBox (see hoptrans-europe-countries.svg). */
#visata-marsrutai .hoptrans-visata-hub__routes-pin--kaunas {
	left: 79.2%;
	top: 24.4%;
}

#visata-marsrutai .hoptrans-visata-hub__routes-pin--klaipeda {
	left: 73.1%;
	top: 21.4%;
	font-size: 0.64rem;
	font-weight: 600;
	color: var(--hop-visata-muted);
}

#visata-marsrutai .hoptrans-visata-hub__routes-pin--warsaw {
	left: 72.5%;
	top: 34.3%;
}

#visata-marsrutai .hoptrans-visata-hub__routes-pin--de {
	left: 49.3%;
	top: 38.6%;
	color: var(--hop-visata-muted);
}

#visata-marsrutai .hoptrans-visata-hub__routes-pin--benelux {
	left: 35.8%;
	top: 39%;
	color: var(--hop-visata-muted);
}

#visata-marsrutai .hoptrans-visata-hub__routes-pin--fr {
	left: 31.3%;
	top: 55.9%;
	color: var(--hop-visata-muted);
}

#visata-marsrutai .hoptrans-visata-hub__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

#visata-marsrutai .hoptrans-visata-hub__chip {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: 100px;
	background: var(--hop-visata-card);
	border: none;
	box-shadow: none;
	font-size: 0.88rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--hop-visata-ink);
	line-height: 1.2;
}

#visata-marsrutai .hoptrans-visata-hub__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

#visata-marsrutai .hoptrans-visata-hub__fact {
	position: relative;
	padding-left: 0.95rem;
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--hop-visata-muted);
}

#visata-marsrutai .hoptrans-visata-hub__fact::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--hop-g3, #409c61);
}

#visata-marsrutai .hoptrans-visata-hub__actions--routes {
	margin-top: 20px;
}

/* —— Academy (#akademija) — graphical type + hairlines —— */
#akademija.hoptrans-visata-hub__teaser {
	margin: 0 0 clamp(28px, 4vw, 44px);
	padding: clamp(28px, 3.5vw, 40px) 0;
	border-radius: 0;
	background: transparent;
	border: none;
	border-top: 1px solid var(--hop-visata-rule-strong);
	border-bottom: 1px solid var(--hop-visata-rule-strong);
	box-shadow: none;
	scroll-margin-top: 96px;
}

#akademija .hoptrans-visata-hub__academy-band {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: start;
	margin-bottom: clamp(28px, 4vw, 40px);
	padding-bottom: clamp(20px, 2.5vw, 28px);
	border-bottom: 1px solid var(--hop-visata-rule);
}

#akademija .hoptrans-visata-hub__teaser-header {
	max-width: 40rem;
	margin: 0;
}

#akademija .hoptrans-visata-hub__academy-feature {
	margin: 0;
	padding: 0;
	border: none;
	border-left: 1px solid var(--hop-visata-hairline);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

#akademija .hoptrans-visata-hub__academy-feature-title {
	margin: 0 0 8px;
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.2;
	color: var(--hop-visata-ink) !important;
}

#akademija .hoptrans-visata-hub__academy-feature-text {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--hop-visata-muted);
}

#akademija .hoptrans-visata-hub__academy-feature-text--more {
	margin-top: 10px;
}

#akademija .hoptrans-visata-hub__chips--academy {
	margin: 14px 0 0;
	flex-wrap: wrap;
}

#akademija .hoptrans-visata-hub__academy-video {
	margin: 16px 0 0;
	padding: 0;
	border: none;
	border-radius: 12px;
	overflow: hidden;
	background: #0b140e;
	box-shadow: none;
	max-width: 280px;
}

#akademija .hoptrans-visata-hub__academy-video-el {
	display: block;
	width: 100%;
	height: auto;
	max-height: min(52vh, 420px);
	aspect-ratio: 9 / 16;
	object-fit: cover;
	vertical-align: middle;
	background: #0b140e;
}

@media (max-width: 999px) {
	#akademija .hoptrans-visata-hub__academy-video {
		max-width: 220px;
	}
}

#akademija .hoptrans-visata-hub__path {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

#akademija .hoptrans-visata-hub__path-step {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	border: none;
	border-right: 1px solid var(--hop-visata-hairline);
	background: transparent;
	box-shadow: none;
	padding: 0 18px 4px 0;
}

#akademija .hoptrans-visata-hub__path-step:nth-child(3n) {
	border-right: none;
	padding-right: 0;
}

#akademija .hoptrans-visata-hub__path-step:nth-child(3n + 1) {
	padding-left: 0;
}

#akademija .hoptrans-visata-hub__path-step:last-child {
	border-right: none;
}

#akademija .hoptrans-visata-hub__path-num {
	display: block;
	width: auto;
	height: auto;
	border-radius: 0;
	background: transparent;
	color: var(--hop-visata-ink);
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

#akademija .hoptrans-visata-hub__path-step--featured .hoptrans-visata-hub__path-num {
	background: transparent;
	color: var(--hop-visata-ink);
}

#akademija .hoptrans-visata-hub__path-rail {
	display: none;
}

#akademija .hoptrans-visata-hub__path-body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	border-top: 1px solid var(--hop-visata-rule);
	padding-top: 14px;
}

#akademija .hoptrans-visata-hub__path-title {
	margin: 0;
	font-family: "Outfit", sans-serif !important;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--hop-visata-ink) !important;
}

#akademija .hoptrans-visata-hub__path-text {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--hop-visata-muted);
}

#akademija .hoptrans-visata-hub__path-points {
	margin: 2px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

#akademija .hoptrans-visata-hub__path-points li {
	position: relative;
	padding-left: 0.95rem;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--hop-visata-muted);
}

#akademija .hoptrans-visata-hub__path-points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--hop-g3, #409c61);
}

#akademija .hoptrans-visata-hub__actions--academy {
	margin-top: clamp(24px, 3vw, 32px);
	padding-top: clamp(20px, 2.5vw, 28px);
	border-top: 1px solid var(--hop-visata-rule);
}

/* —— Shared vertical hairline column gutters (#visata-hub) ——
   Only hairline grids (akademija path). Card / mosaic blocks use gap. */
#visata-hub .hoptrans-visata-hub__path > * {
	padding-left: var(--hop-visata-col-pad);
	padding-right: var(--hop-visata-col-pad);
}

#visata-hub .hoptrans-visata-hub__path > *:first-child {
	padding-left: 0;
}

#visata-hub .hoptrans-visata-hub__path > *:last-child {
	padding-right: 0;
}

/* Split panels with a left hairline (media / academy feature) */
#visata-hub .hoptrans-visata-hub__fleet-cabin-media,
#visata-hub .hoptrans-visata-hub__academy-feature {
	padding-left: var(--hop-visata-col-pad);
}

/* —— CTA strip —— */
#visata-cta.hoptrans-visata-hub__cta-strip {
	margin: 0;
}

#visata-cta .hoptrans-visata-hub__cta-strip-card {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	align-items: center;
	gap: clamp(20px, 3vw, 36px);
	padding: clamp(24px, 3vw, 36px) clamp(28px, 4vw, 48px);
	border-radius: 16px;
	background: var(--hop-visata-card);
	border: none;
	box-shadow: none;
}

#visata-cta .hoptrans-visata-hub__cta-strip-main {
	min-width: 0;
}

#visata-cta .hoptrans-visata-hub__cta-strip-media {
	margin: 0;
	border-radius: 12px;
	overflow: hidden;
}

#visata-cta .hoptrans-visata-hub__cta-strip-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

#visata-cta .hoptrans-visata-hub__actions {
	margin-top: 18px;
}

@media only screen and (max-width: 999px) {
	#visata-cta .hoptrans-visata-hub__cta-strip-card {
		grid-template-columns: 1fr;
	}
}

/* Klaipėda pin removed from markup (Brigita 2026-09-15) — hide if cached CSS refs linger */
#visata-marsrutai .hoptrans-visata-hub__routes-pin--klaipeda,
#visata-marsrutai .hoptrans-visata-hub__routes-line--klaipeda-warsaw {
	display: none !important;
}

/* —— Sticky tel (mobile) —— */
#visata-hub .hoptrans-visata-hub__sticky-tel {
	display: none;
}

@media only screen and (max-width: 999px) {
	#visata-hero .hoptrans-visata-hub__hero-inner,
	#vilkikai .hoptrans-visata-hub__fleet-cabin,
	#visata-marsrutai .hoptrans-visata-hub__routes-inner,
	#visata-kodel .hoptrans-visata-hub__why-panel {
		grid-template-columns: 1fr;
	}

	/* Stack: light gap under copy; reset desktop stretch push */
	#visata-hero .hoptrans-visata-hub__hero-copy > .hoptrans-visata-hub__lead {
		margin-top: 0;
		padding-top: 0;
	}

	#visata-hero .hoptrans-visata-hub__hero-media {
		margin-top: clamp(16px, 3vw, 24px);
	}

	#vilkikai-kroviniai .hoptrans-visata-hub__fleet-cargo-cols,
	#vilkikai-servisas .hoptrans-visata-hub__fleet-path {
		grid-template-columns: 1fr;
	}

	#vilkikai-kroviniai .hoptrans-visata-hub__fleet-cargo-col,
	#vilkikai-servisas .hoptrans-visata-hub__fleet-path-step {
		padding: clamp(18px, 4vw, 24px);
		border: none;
	}

	#vilkikai-servisas .hoptrans-visata-hub__fleet-path-step {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	#vilkikai-servisas .hoptrans-visata-hub__fleet-path-num {
		flex: 0 0 auto;
		min-width: 0;
	}

	#vilkikai-servisas .hoptrans-visata-hub__fleet-path-body {
		flex: 1 1 auto;
		border: none;
		padding: 0;
	}

	#visata-marsrutai .hoptrans-visata-hub__routes-map {
		aspect-ratio: 11 / 8.6;
		min-height: clamp(260px, 72vw, 420px);
		order: -1;
	}

	#vilkikai .hoptrans-visata-hub__fleet-cabin-media {
		border-left: none;
		border-top: 1px solid var(--hop-visata-rule);
		padding-left: 0;
		padding-top: clamp(16px, 2vw, 24px);
		height: auto;
		aspect-ratio: 4 / 3;
	}

	#vilkikai .hoptrans-visata-hub__fleet-cabin-copy {
		padding-right: 0;
	}

	/* Vizualai — tablet: featured left + stack, full-width footer */
	#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb-strip {
		grid-template-columns: 1.15fr 1fr;
		grid-template-rows: 1fr 1fr 0.9fr;
		grid-template-areas:
			"feat top"
			"feat mid"
			"wide wide";
		gap: clamp(10px, 2vw, 12px);
		padding: 0;
		aspect-ratio: 1 / 1.05;
		min-height: 400px;
		max-height: none;
	}

	#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--1 {
		grid-area: feat;
	}

	#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--2 {
		grid-area: top;
	}

	#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--3 {
		grid-area: mid;
	}

	#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--4 {
		grid-area: wide;
		border-radius: 6px;
	}

	#visata-nav .hoptrans-visata-hub__nav-card {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 14px 18px;
	}

	#visata-nav .hoptrans-visata-hub__nav-cta {
		grid-column: 2;
		justify-self: start;
		align-self: start;
	}

	#akademija .hoptrans-visata-hub__academy-band {
		grid-template-columns: 1fr;
		align-items: start;
	}

	#akademija .hoptrans-visata-hub__academy-feature {
		padding-left: 0;
		border-left: none;
		border-top: 1px solid var(--hop-visata-hairline);
		padding-top: 18px;
	}

	#akademija .hoptrans-visata-hub__path {
		grid-template-columns: 1fr;
		gap: 0;
	}

	#akademija .hoptrans-visata-hub__path-step {
		flex-direction: row;
		align-items: flex-start;
		gap: 16px;
		/* Vertically balance number+title+text between hairlines */
		padding: 18px 0 22px;
		border-right: none;
		border-bottom: 1px solid var(--hop-visata-rule);
	}

	#akademija .hoptrans-visata-hub__path-step:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}

	#akademija .hoptrans-visata-hub__path-num {
		flex: 0 0 auto;
		min-width: 2.5rem;
	}

	#akademija .hoptrans-visata-hub__path-body {
		flex: 1 1 auto;
		border-top: none;
		padding-top: 0;
	}

	#visata-kodel .hoptrans-visata-hub__why-intro {
		max-width: none;
	}
}

@media only screen and (max-width: 690px) {
	#visata-hub.hoptrans-visata-hub,
	#visata-page #visata-hub {
		--hop-rail-gutter: 16px;
		padding-left: 16px;
		padding-right: 16px;
		/* Sticky tel is fixed — do not add 72px clearance (beige void before newsletter) */
		padding-bottom: clamp(20px, 4vw, 28px);
	}

	#visata-kodel .hoptrans-visata-hub__why-grid {
		grid-template-columns: 1fr;
	}

	/* Vizualai — mobile: clean full-width stack */
	#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb-strip {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		grid-template-areas: none;
		gap: 10px;
		padding: 0;
		aspect-ratio: auto;
		min-height: 0;
		max-height: none;
	}

	#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--1,
	#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--2,
	#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--3,
	#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--4 {
		grid-area: auto;
		width: 100%;
		aspect-ratio: 16 / 10;
		border-radius: 6px;
		justify-self: stretch;
		--visata-thumb-rot: 0deg;
	}

	#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--2 {
		--visata-thumb-rot: 0.35deg;
	}

	#vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb--3 {
		--visata-thumb-rot: -0.35deg;
	}

	#visata-hub .hoptrans-visata-hub__cta {
		white-space: normal;
	}

	#visata-hub .hoptrans-visata-hub__sticky-tel {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		position: fixed;
		left: 12px;
		right: 12px;
		bottom: 12px;
		z-index: 90;
		padding: 12px 16px;
		border-radius: 100px;
		background: var(--hop-visata-ink);
		color: #fff !important;
		text-decoration: none !important;
		box-shadow: 0 10px 28px rgba(28, 46, 32, 0.28);
		font-family: "Outfit", sans-serif;
		font-weight: 600;
		font-size: 14px;
	}

	#visata-hub .hoptrans-visata-hub__sticky-tel-label {
		opacity: 0.85;
		font-size: 0.8rem;
		letter-spacing: 0.04em;
		text-transform: uppercase;
	}

	#visata-hub .hoptrans-visata-hub__sticky-tel-num {
		font-size: 0.95rem;
	}
}

/* —— Stagger reveal (Intersection Observer → .is-revealed) —— */
#visata-hub .hoptrans-visata-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition:
		opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--visata-reveal-delay, 0ms);
}

#visata-hub .hoptrans-visata-reveal.is-revealed {
	opacity: 1;
	transform: translateY(0);
}

/* Keep nav interactive after reveal (no lift — graphical rows) */
#visata-nav .hoptrans-visata-hub__nav-card.hoptrans-visata-reveal.is-revealed:hover,
#visata-nav .hoptrans-visata-hub__nav-card.hoptrans-visata-reveal.is-revealed:focus-visible {
	transform: none;
	opacity: 0.72;
	transition:
		opacity 0.2s ease,
		transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: 0ms;
}

/*
 * Academy header + feature — one-shot move-in (keyframes).
 * Path stages — looping sequential reveal via JS (match #karjera-atranka:
 * translateY(28px), 1.65s, stagger 875ms, hold ~2.8s, reset).
 * Scope: #visata-hub #akademija only.
 */
@keyframes hop-visata-move-in {
	from {
		opacity: 0;
		transform: translateY(28px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

#visata-hub #akademija .hoptrans-visata-hub__teaser-header.hoptrans-visata-reveal,
#visata-hub #akademija .hoptrans-visata-hub__academy-feature.hoptrans-visata-reveal {
	opacity: 0;
	transform: translateY(28px);
	will-change: opacity, transform;
}

#visata-hub #akademija .hoptrans-visata-hub__teaser-header.hoptrans-visata-reveal.is-revealed,
#visata-hub #akademija .hoptrans-visata-hub__academy-feature.hoptrans-visata-reveal.is-revealed {
	animation: hop-visata-move-in 1.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}

#visata-hub #akademija .hoptrans-visata-hub__teaser-header.hoptrans-visata-reveal.is-revealed {
	animation-delay: var(--visata-reveal-delay, 0ms);
}

#visata-hub #akademija .hoptrans-visata-hub__academy-feature.hoptrans-visata-reveal.is-revealed {
	animation-delay: var(--visata-reveal-delay, 175ms);
}

/* Vizualai thumbs — one-shot move-in */
#visata-hub #vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb.hoptrans-visata-reveal {
	opacity: 0;
	transform: translate(
			var(--visata-thumb-tx, 0px),
			calc(var(--visata-thumb-ty, 0px) + 28px)
		)
		rotate(var(--visata-thumb-rot, 0deg));
	transition: none;
	will-change: opacity, transform;
}

#visata-hub #vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb.hoptrans-visata-reveal.is-revealed {
	animation: hop-visata-thumb-in 1.15s cubic-bezier(0.22, 1, 0.36, 1) both;
	animation-delay: var(--visata-reveal-delay, 0ms);
}

@keyframes hop-visata-thumb-in {
	from {
		opacity: 0;
		transform: translate(
				var(--visata-thumb-tx, 0px),
				calc(var(--visata-thumb-ty, 0px) + 28px)
			)
			rotate(var(--visata-thumb-rot, 0deg));
	}
	to {
		opacity: 1;
		transform: translate(var(--visata-thumb-tx, 0px), var(--visata-thumb-ty, 0px))
			rotate(var(--visata-thumb-rot, 0deg));
	}
}

/*
 * Looping stage cards — transition (not keyframes) so reset restarts cleanly.
 * Akademija path + Kroviniai / Servisas fleet cards.
 */
#visata-hub #akademija .hoptrans-visata-hub__path-step.hoptrans-visata-stage-reveal,
#visata-hub #vilkikai-kroviniai .hoptrans-visata-hub__fleet-cargo-col.hoptrans-visata-stage-reveal,
#visata-hub #vilkikai-servisas .hoptrans-visata-hub__fleet-path-step.hoptrans-visata-stage-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity 1.35s cubic-bezier(0.22, 1, 0.36, 1),
		transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}

#visata-hub #akademija .hoptrans-visata-hub__path-step.hoptrans-visata-stage-reveal {
	transition:
		opacity 1.65s cubic-bezier(0.22, 1, 0.36, 1),
		transform 1.65s cubic-bezier(0.22, 1, 0.36, 1);
}

#visata-hub #akademija .hoptrans-visata-hub__path-step.hoptrans-visata-stage-reveal.is-revealed,
#visata-hub #vilkikai-kroviniai .hoptrans-visata-hub__fleet-cargo-col.hoptrans-visata-stage-reveal.is-revealed,
#visata-hub #vilkikai-servisas .hoptrans-visata-hub__fleet-path-step.hoptrans-visata-stage-reveal.is-revealed {
	opacity: 1;
	transform: translateY(0);
}

#visata-hub #akademija.is-academy-static .hoptrans-visata-hub__path-step.hoptrans-visata-stage-reveal,
#visata-hub #vilkikai-kroviniai.is-fleet-cards-static .hoptrans-visata-hub__fleet-cargo-col.hoptrans-visata-stage-reveal,
#visata-hub #vilkikai-servisas.is-fleet-cards-static .hoptrans-visata-hub__fleet-path-step.hoptrans-visata-stage-reveal {
	opacity: 1;
	transform: none;
	transition: none;
	will-change: auto;
}

/* —— CTA strip: horizontal L→R wipe, then periodic button nudge —— */
#visata-cta .hoptrans-visata-hub__cta-strip-card.hoptrans-visata-cta-reveal {
	opacity: 0;
	clip-path: inset(0 100% 0 0);
	transform: translateX(-12px);
	transition:
		opacity 1.4s cubic-bezier(0.22, 1, 0.36, 1),
		clip-path 1.4s cubic-bezier(0.22, 1, 0.36, 1),
		transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}

#visata-cta .hoptrans-visata-hub__cta-strip-card.hoptrans-visata-cta-reveal.is-revealed {
	opacity: 1;
	clip-path: inset(0 0 0 0);
	transform: translateX(0);
}

@keyframes hop-visata-cta-nudge {
	0%,
	100% {
		transform: translateX(0);
	}
	35% {
		transform: translateX(4px);
	}
	55% {
		transform: translateX(-2px);
	}
	70% {
		transform: translateX(0);
	}
}

@keyframes hop-visata-cta-nudge-icon {
	0%,
	100% {
		transform: translateX(0);
	}
	35% {
		transform: translateX(3px);
	}
	55% {
		transform: translateX(-1px);
	}
	70% {
		transform: translateX(0);
	}
}

#visata-cta .hoptrans-visata-hub__cta.is-nudging {
	animation: hop-visata-cta-nudge 0.85s cubic-bezier(0.22, 1, 0.36, 1) 1;
}

#visata-cta .hoptrans-visata-hub__cta.is-nudging .hoptrans-visata-hub__cta-icon {
	animation: hop-visata-cta-nudge-icon 0.85s cubic-bezier(0.22, 1, 0.36, 1) 1;
}

@media (prefers-reduced-motion: reduce) {
	#visata-hub .hoptrans-visata-reveal,
	#visata-hub #akademija .hoptrans-visata-hub__teaser-header.hoptrans-visata-reveal,
	#visata-hub #akademija .hoptrans-visata-hub__academy-feature.hoptrans-visata-reveal,
	#visata-hub #akademija .hoptrans-visata-hub__path-step.hoptrans-visata-stage-reveal,
	#visata-hub #vilkikai-kroviniai .hoptrans-visata-hub__fleet-cargo-col.hoptrans-visata-stage-reveal,
	#visata-hub #vilkikai-servisas .hoptrans-visata-hub__fleet-path-step.hoptrans-visata-stage-reveal,
	#visata-cta .hoptrans-visata-hub__cta-strip-card.hoptrans-visata-cta-reveal {
		opacity: 1;
		transform: none;
		clip-path: none;
		transition: none;
		animation: none;
		will-change: auto;
	}

	#visata-hub #vilkikai-vizualai .hoptrans-visata-hub__fleet-thumb.hoptrans-visata-reveal {
		opacity: 1;
		transform: translate(var(--visata-thumb-tx, 0px), var(--visata-thumb-ty, 0px))
			rotate(var(--visata-thumb-rot, 0deg));
		transition: none;
		animation: none;
		will-change: auto;
	}

	#visata-nav .hoptrans-visata-hub__nav-card.hoptrans-visata-reveal.is-revealed:hover,
	#visata-nav .hoptrans-visata-hub__nav-card.hoptrans-visata-reveal.is-revealed:focus-visible {
		transform: none;
		opacity: 1;
	}

	#visata-cta .hoptrans-visata-hub__cta.is-nudging,
	#visata-cta .hoptrans-visata-hub__cta.is-nudging .hoptrans-visata-hub__cta-icon {
		animation: none;
	}

}

/* Page shell — only when this page is active */
body.page-vairuotoju-visata #ajax-content-wrap,
body.hoptrans-visata-page #ajax-content-wrap {
	background: var(--hop-bg, #f4f2eb);
}

#visata-page.hoptrans-visata-page-wrap {
	background: transparent !important;
	background-color: transparent !important;
}

#visata-page.hoptrans-visata-page-wrap > .span_12 {
	padding: 0 !important;
}

/* 2026-09-21 — mobile map was clipped on the right.
 * min-height: 72vw plus aspect-ratio 11/8.6 grew the box wider than the column. */
@media only screen and (max-width: 690px) {
	#visata-marsrutai .hoptrans-visata-hub__routes-inner {
		min-width: 0;
	}

	#visata-marsrutai .hoptrans-visata-hub__routes-map {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 0;
		height: auto;
		aspect-ratio: 11 / 8.6;
		box-sizing: border-box;
	}
}

/* 2026-09-21 — academy list markers were outside the column; video stayed 220px. */
#akademija .hoptrans-visata-hub__chips--academy {
	display: block;
	margin: 14px 0 0;
	padding: 0 0 0 1.15rem;
	list-style: disc;
}

#akademija .hoptrans-visata-hub__chips--academy > .hoptrans-visata-hub__chip {
	display: list-item;
	margin: 0 0 6px;
	padding: 0;
	list-style: disc outside;
}

@media only screen and (max-width: 690px) {
	#akademija .hoptrans-visata-hub__academy-video {
		width: 100%;
		max-width: 100%;
	}

	#akademija .hoptrans-visata-hub__academy-video-el {
		width: 100%;
		max-width: 100%;
		max-height: none;
		height: auto;
	}
}
