body.lt-page {
	margin: 0;
	background: #f6f3ee;
	color: #163044;
	font-family: "Segoe UI", system-ui, sans-serif;
	line-height: 1.5;
}
.lt-page a { color: inherit; }
.lt-page img { max-width: 100%; }
.lt-wrap {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}
.lt-bar {
	position: sticky;
	top: 0;
	z-index: 40;
	background: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid rgba(16, 40, 61, 0.08);
}
.lt-head {
	display: flex;
	align-items: center;
	gap: 18px;
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
	min-height: 74px;
	position: relative;
}
.lt-head .logo { flex: 0 0 auto; }
.lt-head .logo img { height: 48px; width: auto; display: block; }
.awe-navigation { margin-left: auto; }
.menu-list, .sub-menu { list-style: none; margin: 0; padding: 0; }
.menu-list { display: flex; align-items: center; gap: 4px; }
.menu-list > li { position: relative; }
.menu-list > li > a {
	display: block;
	padding: 10px 12px;
	text-decoration: none;
	font-weight: 650;
	font-size: 14px;
	color: #163044;
}
.sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 240px;
	background: #fff;
	border-radius: 14px;
	padding: 8px;
	box-shadow: 0 16px 40px rgba(16, 40, 61, 0.14);
	z-index: 50;
}
.menu-item-has-children:hover > .sub-menu,
.menu-item-has-children:focus-within > .sub-menu { display: block; }
.sub-menu a {
	display: block;
	padding: 8px 10px;
	border-radius: 8px;
	text-decoration: none;
	font-size: 14px;
}
.sub-menu a:hover { background: #f6f3ee; }
.lt-burger {
	display: none;
	margin-left: auto;
	border: 0;
	background: #10283d;
	color: #fff;
	border-radius: 999px;
	min-height: 40px;
	padding: 0 16px;
	font-weight: 700;
	cursor: pointer;
}
.lt-banner {
	background: #10283d;
	color: #fff;
	padding: 42px 0 36px;
}
.lt-kicker {
	margin: 0 0 8px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 700;
	color: #f0c27a;
}
.lt-banner h1, .lt-product h1, .lt-book h2, .sb-fleet h2, .lt-section h2 {
	font-family: Georgia, "Iowan Old Style", serif;
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.12;
}
.lt-banner h1 { font-size: clamp(34px, 5vw, 56px); margin: 0 0 12px; max-width: 16ch; }
.lt-banner p, .lt-lead { max-width: 40rem; margin: 0 0 22px; font-size: 18px; }
.lt-banner p { color: rgba(255, 255, 255, 0.88); }
.lt-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.lt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 18px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 700;
	border: 0;
	cursor: pointer;
}
.lt-btn--gold { background: #e8a23a; color: #1b1408; }
.lt-btn--gold:hover { background: #f0b14e; }
.lt-btn--ghost { color: #fff; border: 1px solid rgba(255, 255, 255, 0.55); }
.lt-btn--line { color: #10283d; border: 1px solid #c9d5df; background: #fff; }
.lt-btn--block { width: 100%; }
.lt-section { padding: 36px 0; }
.lt-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.lt-card {
	background: #fff;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(16, 40, 61, 0.06);
	display: flex;
	flex-direction: column;
}
.lt-card img {
	width: 100%;
	height: 210px;
	object-fit: cover;
	display: block;
	background: #d7e3ee;
}
.lt-card__body { padding: 16px 16px 18px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.lt-card h2 { font-size: 20px; line-height: 1.25; margin: 0; }
.lt-card h2 a { text-decoration: none; }
.lt-card p { margin: 0; color: #4d6274; font-size: 14px; }
.lt-card__foot { margin-top: auto; display: flex; flex-direction: column; gap: 10px; }
.lt-price { margin: 0; }
.lt-price small { display: block; color: #5c7284; font-size: 12px; }
.lt-price strong { font-family: Georgia, serif; font-size: 26px; font-weight: 500; color: #0e3a5a; }
.lt-price del { color: #8aa0b0; margin-right: 6px; font-size: 14px; }
.lt-empty { background: #fff; border-radius: 18px; padding: 28px; }
.lt-product { padding: 28px 0 48px; }
.lt-crumbs { font-size: 14px; margin: 0 0 14px; color: #5c7284; }
.lt-crumbs a { color: #0e3a5a; }
.lt-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.7fr);
	gap: 28px;
	align-items: start;
}
.lt-heroimg {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 22px;
	background: #d7e3ee;
	display: block;
}
.lt-thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; }
.lt-thumb {
	border: 2px solid transparent;
	padding: 0;
	border-radius: 10px;
	background: none;
	cursor: pointer;
	flex: 0 0 auto;
}
.lt-thumb.is-on { border-color: #e8a23a; }
.lt-thumb img { width: 92px; height: 64px; object-fit: cover; display: block; border-radius: 8px; }
.lt-book {
	position: sticky;
	top: 90px;
	background: #fff;
	border-radius: 22px;
	padding: 22px;
	box-shadow: 0 12px 32px rgba(16, 40, 61, 0.08);
}
.lt-book h2 { margin: 0 0 8px; font-size: 30px; }
.lt-rate {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	align-items: center;
	padding: 12px 0;
	border-top: 1px solid #e6edf2;
}
.lt-rate strong { display: block; }
.lt-rate span { color: #0e3a5a; font-weight: 700; }
.lt-promo { color: #9b2c2c; font-size: 12px; font-weight: 700; }
.lt-fine { color: #5c7284; font-size: 13px; }
.lt-book .lt-actions { margin-top: 8px; }
.lt-story { margin-top: 28px; background: #fff; border-radius: 22px; padding: 22px 24px; }
.lt-story h2 { margin: 0 0 12px; font-size: 28px; }
.lt-stop { display: grid; grid-template-columns: 120px 1fr; gap: 12px; padding: 12px 0; border-top: 1px solid #e6edf2; }
.lt-stop strong { color: #0e3a5a; }
.lt-detail img { height: auto; border-radius: 12px; }
.lt-detail table { width: 100%; }
.lt-cta {
	margin: 10px auto 40px;
	background: #10283d;
	color: #fff;
	border-radius: 28px;
	padding: 36px;
}
.lt-cta h2 { margin: 0 0 8px; font-size: 32px; color: #fff; }
.lt-cta p { color: rgba(255, 255, 255, 0.86); }
.lt-dock { display: none; }
.lt-foot { background: #10283d; color: #fff; padding: 28px 0 18px; }
.lt-foot a { color: #fff; }
.lt-foot__grid { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 18px; align-items: center; }
.lt-foot p { margin: 6px 0 0; color: rgba(255, 255, 255, 0.78); }
.lt-foot a { display: block; text-decoration: none; margin-top: 4px; }
.lt-credit { text-align: center; color: rgba(255, 255, 255, 0.55); font-size: 13px; margin: 18px 0 0; }
.lt-credit a { display: inline; color: inherit; }
.sb-fleet { padding: 8px 0 0; }
.sb-fleet__wrap { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.sb-fleet h2 { font-size: clamp(28px, 4vw, 40px); margin: 8px 0 12px; }
.sb-fleet p { line-height: 1.65; }
.sb-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.sb-card { background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 8px 24px rgba(16, 40, 61, 0.06); }
.sb-card img, .sb-card__empty {
	width: 100%;
	height: 140px;
	object-fit: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #d7e3ee;
	color: #3d5366;
}
.sb-card div { padding: 12px 14px 16px; }
.sb-card h3 { margin: 0 0 6px; font-size: 16px; }
.sb-card p, .sb-note { color: #4d6274; font-size: 14px; }
@media (max-width: 980px) {
	.lt-burger { display: inline-flex; }
	.awe-navigation {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		background: #fff;
		padding: 8px 16px 16px;
		box-shadow: 0 16px 30px rgba(16, 40, 61, 0.12);
	}
	.lt-head.is-open .awe-navigation { display: block; }
	.menu-list { flex-direction: column; align-items: stretch; }
	.sub-menu { position: static; display: none; box-shadow: none; min-width: 0; padding-left: 8px; }
	.menu-item-has-children:hover > .sub-menu { display: none; }
	.menu-item-has-children.is-open > .sub-menu { display: block; }
	.lt-grid, .sb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lt-layout, .lt-foot__grid, .lt-stop { grid-template-columns: 1fr; }
	.lt-book { position: static; }
}
@media (max-width: 640px) {
	.lt-grid, .sb-grid { grid-template-columns: 1fr; }
	.lt-cta { padding: 24px; }
	.lt-dock {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 45;
		gap: 8px;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: #fff;
		box-shadow: 0 -8px 24px rgba(16, 40, 61, 0.12);
	}
	.lt-dock .lt-btn { flex: 1; }
	body.lt-page { padding-bottom: 74px; }
}
