:root {
	--bg: #05070b;
	--bg2: #0b0f18;
	--text: #f4f7fb;
	--muted: rgba(244,247,251,.72);
	--line: rgba(255,255,255,.14);
	--line-soft: rgba(255,255,255,.08);
	--accent: #f2b44b;
	--accent-2: #ffd17a;
	--ok: #7fe0a7;
	--warn: #f2b44b;
	--shadow: 0 20px 60px rgba(0,0,0,.38);
	--radius: 22px;
	--reveal: 0%;
}
* {
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
}
body {
	margin: 0;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	color: var(--text);
	background:    radial-gradient(900px 520px at 50% 18%, rgba(255,255,255,.03), transparent 60%),    radial-gradient(700px 220px at 50% 58%, rgba(255,210,120,.04), transparent 70%),    linear-gradient(180deg, #040507 0%, #090d14 100%);
}
.container {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
}
.hero {
	position: relative;
	overflow: hidden;
	/*min-height: 100vh;*/
	background:    radial-gradient(1000px 420px at 50% 28%, rgba(255,255,255,.04), transparent 70%),    radial-gradient(650px 220px at 50% 74%, rgba(255,190,90,.04), transparent 70%),    linear-gradient(180deg, #030406 0%, #05070b 32%, #070a10 100%);
}
.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:    linear-gradient(180deg, rgba(255,255,255,.02), transparent 16%),    radial-gradient(1200px 500px at 50% -10%, rgba(255,255,255,.035), transparent 48%);
}
.hero-inner {
	position: relative;
	z-index: 1;
	padding: 22px 0 56px;
}
.booking-shell {
	width: min(1120px, 100%);
	margin: 0 auto;
	padding: 12px;
	border-radius: 26px;
	background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
	border: 1px solid var(--line);
	box-shadow: var(--shadow);
	backdrop-filter: blur(12px);
}
.booking-form {
	display: grid;
	grid-template-columns: 1fr 1fr .92fr .8fr 1.18fr 1.3fr auto;
	gap: 10px;
	align-items: stretch;
}
.field {
	width: 100%;
	min-height: 50px;
	padding: 13px 16px;
	border-radius: 16px;
	border: 1px solid rgba(255,255,255,.12);
	background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.025));
	color: #ffffff;
	outline: none;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.field::placeholder {
	color: #ffffff;
}
.field:focus {
	border-color: rgba(255,209,122,.65);
	box-shadow: 0 0 0 3px rgba(255,209,122,.09);
}
.field option {
	color: #111;
}
input[type="date"]:before,
input[type="time"]:before {
  content: attr(placeholder);
  color: #ffffff;
  margin-right: 0.5em;
}
input[type="date"]:focus:before,
input[type="date"]:valid:before,
input[type="time"]:focus:before,
input[type="time"]:valid:before {
  content: "";
  display: none;
}
.btn {
	appearance: none;
	border: 0;
	border-radius: 16px;
	min-height: 50px;
	padding: 0 18px;
	cursor: pointer;
	font-weight: 800;
	letter-spacing: .01em;
	transition: transform .12s ease, filter .18s ease, opacity .18s ease, background .2s ease;
}
.btn:hover {
	filter: brightness(1.04);
}
.btn:active {
	transform: translateY(1px);
}
.btn-primary {
	background: linear-gradient(180deg, var(--accent-2), var(--accent));
	color: #18140c;
	box-shadow: 0 10px 26px rgba(242,180,75,.22);
}
.btn-ghost {
	background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.05));
	color: var(--text);
	border: 1px solid var(--line);
}
.mode-switch {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin: 18px 0 0;
	flex-wrap: wrap;
}
.mode-btn {
	min-height: 40px;
	padding: 0 14px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.12);
	background: rgba(255,255,255,.04);
	color: var(--text);
	cursor: pointer;
	font-weight: 700;
}
.mode-btn.active {
	background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
	border-color: rgba(255,209,122,.35);
}
.admin-panel {
	display: none;
	width: min(980px, 100%);
	margin: 18px auto 0;
	padding: 16px;
	border-radius: 20px;
	border: 1px solid rgba(255,255,255,.10);
	background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.025));
	box-shadow: var(--shadow);
	text-align: left;
}
body.admin-mode .admin-panel {
	display: block;
}
.admin-title {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 800;
	color: #f5f7fb;
}
.admin-grid {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 12px;
}
.admin-grid .full {
	grid-column: 1 / -1;
}
.admin-help {
	margin-top: 10px;
	font-size: 13px;
	color: var(--muted);
	line-height: 1.45;
}
.top-route-switch {
	display: flex;
	gap: 8px;
	align-items: stretch;
}
.top-route-switch .route-btn {
	flex: 1;
	min-height: 50px;
	border-radius: 16px;
	padding: 0 14px;
}
.route-switch {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin: 20px 0 0;
	flex-wrap: wrap;
}
.route-btn {
	min-height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.12);
	background: rgba(255,255,255,.04);
	color: var(--text);
	font-weight: 700;
	cursor: pointer;
}
.route-btn.active {
	background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
	border-color: rgba(255,209,122,.35);
}
.hero-copy {
	text-align: center;
	padding-top: 42px;
}
h1 {
	margin: 0;
	font-size: clamp(44px, 6vw, 84px);
	line-height: 1.02;
	letter-spacing: -.04em;
	font-weight: 800;
	color: #f5f7fb;
	text-wrap: balance;
}
#heroPriceWrap {
	margin-top: 12px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--accent-2);
	text-shadow: 0 10px 28px rgba(0,0,0,.24);
}
.sync-text {
	position: relative;
	display: block;
	margin-inline: auto;
	isolation: isolate;
}
.sync-text::before {
	content: "";
	display: block;
	width: 100%;
	height: 1em;
	opacity: 0;
}
.sync-text-base, .sync-text-overlay {
	white-space: nowrap;
	width: 100%;
	text-align: center;
	display: block;
}
.sync-text-base-mask, .sync-text-mask {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	transition: clip-path 1.45s cubic-bezier(.22,.61,.36,1);
}
.sync-text-base-mask {
	clip-path: inset(0 0 0 var(--reveal) round 0);
}
.sync-text-mask {
	clip-path: inset(0 calc(100% - var(--reveal)) 0 0 round 0);
}
.sync-text-base-mask .sync-text-base, .sync-text-mask .sync-text-overlay {
	position: absolute;
	inset: 0;
}
.sync-route {
	margin-top: 8px;
	width: min(560px, 92vw);
	font-size: clamp(22px, 2.4vw, 34px);
	line-height: 1.15;
	font-weight: 700;
	color: rgba(244,247,251,.88);
	letter-spacing: -.02em;
}
.sync-price {
	min-width: 290px;
	font-size: clamp(30px, 4vw, 58px);
	line-height: 1.05;
	font-weight: 900;
	color: var(--accent-2);
}
.price-from-link {
	text-decoration: underline dotted;
	text-underline-offset: 6px;
	cursor: pointer;
}
#priceInfoBtn {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.16);
	background: rgba(255,255,255,.06);
	color: var(--text);
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transform: translateY(2px);
}
.tooltip {
	display: none;
	margin: 10px auto 0;
	max-width: 400px;
	padding: 12px 14px;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,.10);
	background: rgba(14,18,26,.92);
	color: var(--muted);
	font-size: 13px;
	line-height: 1.45;
	box-shadow: var(--shadow);
	text-align: left;
}
.tooltip.show {
	display: block;
}
#carStage {
	position: relative;
	width: min(1040px, 100%);
	height: min(620px, 52vw);
	min-height: 340px;
	margin: 18px auto 0;
	isolation: isolate;
}
#carStage::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 2%;
	width: min(560px, 64%);
	height: 12%;
	transform: translateX(-50%);
	border-radius: 50%;
	background: radial-gradient(ellipse at center, rgba(255,210,120,.06) 0%, rgba(255,210,120,.02) 32%, rgba(255,255,255,0) 72%);
	filter: blur(26px);
	z-index: 0;
	pointer-events: none;
	opacity: .42;
}
.car-layer {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	z-index: 1;
	pointer-events: none;
	user-select: none;
}
.car-layer img {
	width: min(900px, 78%);
	max-width: none;
	height: auto;
	object-fit: contain;
	display: block;
	filter: drop-shadow(0 14px 26px rgba(0,0,0,.22));
}
.car-mask {
	clip-path: inset(0 calc(100% - var(--reveal)) 0 0 round 0);
	transition: clip-path 1.45s cubic-bezier(.22,.61,.36,1);
}
.divider-line {
	position: absolute;
	top: 10%;
	bottom: 14%;
	left: var(--reveal);
	width: 2px;
	transform: translateX(-1px);
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.56) 18%, rgba(255,255,255,.26) 82%, rgba(255,255,255,0) 100%);
	box-shadow: 0 0 16px rgba(255,255,255,.18);
	transition: left 1.45s cubic-bezier(.22,.61,.36,1), opacity .55s ease;
	pointer-events: none;
	opacity: .95;
	z-index: 2;
}
body.state-bts .divider-line, body.state-vie .divider-line {
	opacity: .08;
}
.hero-trust {
	margin-top: 14px;
	text-align: center;
	font-size: 13px;
	color: rgba(244,247,251,.60);
}
.hero-trust h2 {
	font-size: 13px;
	font-weight: 400;
}
.features {
	margin-top: 18px;
	display: flex;
	justify-content: center;
	gap: 26px;
	flex-wrap: wrap;
	font-size: 14px;
	color: rgba(244,247,251,.76);
}
.features div {
	padding: 10px 14px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.08);
	background: rgba(255,255,255,.03);
}
.request-success {
	display: none;
	margin: 16px auto 0;
	width: min(760px, 100%);
	padding: 14px 18px;
	border-radius: 16px;
	background: rgba(69,209,143,.10);
	border: 1px solid rgba(69,209,143,.28);
	color: #fff;
	font-size: 14px;
	line-height: 1.45;
	text-align: center;
}
section.section {
	padding: 56px 0;
}
.section-title {
	margin: 0 0 10px;
	font-size: 28px;
	letter-spacing: -.02em;
}
.section-sub {
	margin: 0 0 18px;
	color: var(--muted);
	line-height: 1.5;
	max-width: 700px;
}
.card {
	border-radius: var(--radius);
	border: 1px solid var(--line);
	background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.035));
	box-shadow: var(--shadow);
}
.pricing-grid {
	display: grid;
	grid-template-columns: 1.02fr .98fr;
	gap: 16px;
}
.price-card, .benefits-card {
	padding: 22px;
}
.price-top {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 14px;
}
.strike {
	color: rgba(244,247,251,.52);
	text-decoration: line-through;
	text-decoration-thickness: 2px;
}
#priceCardPromo {
	font-size: 30px;
	font-weight: 900;
	color: var(--accent-2);
}
.price-list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.price-item {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 13px 14px;
	border-radius: 16px;
	border: 1px solid rgba(255,255,255,.10);
	background: rgba(255,255,255,.03);
}
.price-item span {
	color: var(--muted);
	font-weight: 600;
}
.price-item strong {
	color: var(--text);
}
.price-foot {
	margin-top: 12px;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.45;
}
.benefits-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.benefit {
	min-height: 102px;
	padding: 16px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,.10);
	background: rgba(255,255,255,.03);
}
.benefit .k {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 800;
	letter-spacing: .01em;
}
.benefit .k i {
	width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(69,209,143,.12);
	color: var(--ok);
	border: 1px solid rgba(69,209,143,.25);
	font-style: normal;
}
.benefit .d {
	margin-top: 8px;
	color: var(--muted);
	line-height: 1.45;
	font-size: 13.5px;
}
footer {
    margin-top: 30px;
	padding: 28px 0 40px;
	border-top: 1px solid rgba(255,255,255,.07);
	color: var(--muted);
}
.footer-grid {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	align-items: center;
}
.tinylink {
	color: rgba(244,247,251,.72);
	text-decoration: none;
	border-bottom: 1px dashed rgba(244,247,251,.32);
}
.tinylink:hover {
	border-bottom-color: rgba(244,247,251,.55);
}
.seo-footer {
	margin-top: 18px;
	font-size: 13px;
	color: #6f7a86;
	max-width: 900px;
	line-height: 1.55;
}
.price-from-link {
	position: relative;
}
#heroPriceWrap {
	gap: 4px;
}
#priceInfoBtn {
	margin-left: 2px;
	transform: none;
	align-self: center;
}
.call-button {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 1000;
	background: linear-gradient(180deg, var(--accent-2), var(--accent));
	color: #13100b;
	padding: 14px 18px;
	border-radius: 999px;
	font-weight: 800;
	text-decoration: none;
	box-shadow: 0 10px 26px rgba(242,180,75,.28);
}
#heroAddress {
    display: none;
}
.mode-switch {
    display: none;
}
@media (max-width:1100px) {
.booking-form {
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.booking-form > *:nth-child(5),  .booking-form > *:nth-child(6) {
	grid-column: span 2;
}
.pricing-grid {
	grid-template-columns: 1fr;
}
}
@media (max-width:860px) {
.hero {
	min-height: auto;
}
.admin-grid {
	grid-template-columns: 1fr 1fr;
}
.booking-form {
	grid-template-columns: 1fr 1fr;
}
.booking-form > *:nth-child(5),  .booking-form > *:nth-child(6),  .booking-form > *:nth-child(7) {
	grid-column: span 2;
}
.hero-copy {
	padding-top: 34px;
}
#carStage {
	height: min(560px, 62vw);
	min-height: 320px;
	margin-top: 30px;
}
.benefits-grid {
	grid-template-columns: 1fr;
}
}
@media (max-width:560px) {
.container {
	width: min(100%, calc(100% - 20px));
}
.hero-inner {
	padding-top: 14px;
}
.booking-shell {
	padding: 10px;
	border-radius: 20px;
}
.booking-form {
	grid-template-columns: 1fr;
}
.booking-form > * {
	grid-column: auto !important;
}
.top-route-switch {
	width: 100%;
}
#sendBtn {
	width: 100%;
}
h1 {
	font-size: 40px;
}
#heroPriceWrap {
	font-size: 34px;
}
.tooltip {
	max-width: 100%;
}
.call-button {
	right: 12px;
	bottom: 12px;
}
#carStage {
	height: 250px;
	min-height: 250px;
	margin-top: 10px;
}
.car-layer img {
	width: 98%;
}
.admin-grid {
	grid-template-columns: 1fr;
}
.features {
	gap: 10px;
}
}