@font-face {
	font-family: "BLF Acme";
	src: url("art/Acme-Regular.ttf") format("truetype");
	font-weight: 400;
	font-display: swap;
}

.blf-htb-page {
	--navy: #2e3192;
	--green: #00a650;
	--ink: #231f20;
	--paper: #ffffff;
	--wash: #f3f4fb;
	box-sizing: border-box;
	max-width: 72rem;
	margin: 0 auto;
	padding: 0 0 3rem;
	color: var(--ink);
	background: var(--paper);
	font-family: "Segoe UI", system-ui, sans-serif;
	font-size: 1.0625rem;
	line-height: 1.45;
}

.blf-htb-page *,
.blf-htb-page *::before,
.blf-htb-page *::after {
	box-sizing: border-box;
}

.blf-htb-hero,
.blf-htb-section,
.blf-htb-band,
.blf-htb-final,
.blf-htb-ways-head {
	padding-left: 1rem;
	padding-right: 1rem;
}

.blf-htb-hero {
	padding-top: 1.25rem;
	padding-bottom: 1.5rem;
	background:
		linear-gradient(160deg, var(--navy) 0 58%, var(--green) 58% 62%, var(--navy) 62% 100%);
	color: #ffffff;
}

.blf-htb-logo {
	display: block;
	width: min(100%, 42rem);
	height: auto;
	margin: 0 0 1.1rem;
	padding: 0.45rem 0.7rem;
	background: #ffffff;
	border-radius: 0.85rem;
}

.blf-htb-page h1,
.blf-htb-page h2,
.blf-htb-page h3 {
	font-family: "BLF Acme", "Segoe UI", system-ui, sans-serif;
	font-weight: 400;
	line-height: 1.1;
}

.blf-htb-page h1 {
	margin: 0 0 0.6rem;
	max-width: 16ch;
	font-size: clamp(2.1rem, 8vw, 3.4rem);
}

.blf-htb-lead {
	max-width: 36rem;
	margin: 0 0 1rem;
	font-size: 1.125rem;
}

.blf-htb-page h2 {
	margin: 0 0 0.6rem;
	color: var(--navy);
	font-size: clamp(1.6rem, 4vw, 2.1rem);
}

.blf-htb-hero h1,
.blf-htb-final h2 {
	color: #ffffff;
}

.blf-htb-page h3 {
	margin: 0 0 0.35rem;
	font-size: 1.45rem;
}

.blf-htb-page p {
	margin: 0 0 0.75rem;
}

.blf-htb-actions {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.blf-htb-btn,
.blf-htb-scroll {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.7rem 1rem;
	border: 2px solid var(--navy);
	border-radius: 999px;
	background: var(--navy);
	color: #ffffff;
	font-family: "Segoe UI", system-ui, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.blf-htb-hero .blf-htb-btn,
.blf-htb-hero .blf-htb-btn-quiet,
.blf-htb-final .blf-htb-btn,
.blf-htb-final .blf-htb-btn-quiet {
	border-color: #ffffff;
	background: #ffffff;
	color: var(--navy);
}

.blf-htb-btn-quiet {
	background: #ffffff;
	color: var(--navy);
}

.blf-htb-btn:focus,
.blf-htb-scroll:focus,
.blf-htb-textlink:focus,
.blf-htb-scroller:focus {
	outline: 3px solid #231f20;
	outline-offset: 3px;
}

.blf-htb-page summary:focus {
	outline: none;
}

.blf-htb-ways {
	padding-top: 1.5rem;
	background: var(--wash);
}

.blf-htb-ways-head {
	display: grid;
	gap: 0.35rem;
	margin-bottom: 0.75rem;
}

.blf-htb-ways-head p {
	margin: 0;
}

.blf-htb-scroll-controls {
	display: flex;
	gap: 0.5rem;
}

.blf-htb-scroll {
	width: 48px;
	padding: 0;
	font-size: 1.6rem;
}

.blf-htb-scroller {
	display: flex;
	gap: 0.75rem;
	margin: 0;
	padding: 0.25rem 1rem 1.25rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 1rem;
	list-style: none;
	-webkit-overflow-scrolling: touch;
}

.blf-htb-scroller > li {
	flex: 0 0 min(84vw, 22rem);
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	min-height: 18rem;
	padding: 1rem;
	border-radius: 1.25rem;
	background: #ffffff;
	box-shadow: inset 0 0 0 3px var(--navy);
}

.blf-htb-way img {
	display: block;
	width: calc(100% + 2rem);
	height: 8.5rem;
	margin: -1rem -1rem 0.8rem;
	object-fit: cover;
	border-radius: 1.1rem 1.1rem 0 0;
}

.blf-htb-way-no {
	margin: 0 0 0.2rem;
	color: var(--navy);
	font-weight: 700;
}

.blf-htb-way .blf-htb-btn {
	margin-top: auto;
}

.blf-htb-section {
	padding-top: 2rem;
}

.blf-htb-steps {
	display: grid;
	gap: 0.75rem;
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	counter-reset: blf-step;
}

.blf-htb-steps > li {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: 0.8rem;
	align-items: center;
	padding: 0.85rem 0;
	border-bottom: 2px solid #e4e6f4;
}

.blf-htb-steps > li::before {
	counter-increment: blf-step;
	content: counter(blf-step);
	grid-row: 1 / span 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	background: var(--navy);
	color: #ffffff;
	font-family: "BLF Acme", "Segoe UI", sans-serif;
	font-size: 1.3rem;
}

.blf-htb-steps > li > .blf-htb-btn,
.blf-htb-steps > li > .blf-htb-actions,
.blf-htb-steps > li > .blf-htb-notice {
	grid-column: 2;
	margin-top: 0.55rem;
}

.blf-htb-steps strong {
	font-family: "BLF Acme", "Segoe UI", sans-serif;
	font-size: 1.25rem;
	font-weight: 400;
}

.blf-htb-band {
	display: grid;
	gap: 1rem;
	margin-top: 2rem;
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
	background: var(--navy);
	color: #ffffff;
}

.blf-htb-band h2 {
	color: #ffffff;
}

.blf-htb-list {
	display: grid;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.blf-htb-list > li {
	padding: 0.75rem 0.9rem;
	background: var(--wash);
	border-left: 6px solid var(--green);
}

.blf-htb-notice {
	margin: 0.7rem 0 0;
	padding: 0.95rem 1.05rem;
	border-radius: 0.75rem;
	background: #fff200;
	color: var(--ink);
	font-weight: 700;
}

.blf-htb-notice + .blf-htb-notice {
	margin-top: 0.55rem;
}

.blf-htb-page p.blf-htb-notice-pad {
	padding-bottom: 2.75rem;
}

.blf-htb-map {
	display: grid;
	gap: 1rem;
	align-items: center;
}

.blf-htb-map img {
	width: 100%;
	height: auto;
	background: #f7f8fd;
	border-radius: 1.25rem;
}

.blf-htb-fees h3 {
	margin: 0 0 0.45rem;
	color: var(--navy);
	font-size: 1.2rem;
}

.blf-htb-rings {
	display: grid;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.blf-htb-rings li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	min-height: 48px;
	padding: 0 0.8rem;
	background: var(--wash);
	border-left: 8px solid var(--navy);
}

.blf-htb-rings li:nth-child(1) { border-left-color: #00a650; }
.blf-htb-rings li:nth-child(2) { border-left-color: #c01a2d; }
.blf-htb-rings li:nth-child(3) { border-left-color: #231f20; }
.blf-htb-rings li:nth-child(4) { border-left-color: #2e3192; }
.blf-htb-rings li:nth-child(5) { border-left-color: #2e3192; }

.blf-htb-split {
	display: grid;
	gap: 0.75rem;
}

.blf-htb-split article {
	padding: 1rem;
	background: var(--wash);
}

.blf-htb-split article.blf-htb-kombi {
	background: var(--paper);
	color: var(--ink);
	box-shadow: inset 0 0 0 3px var(--navy);
}

.blf-htb-kombi img {
	display: block;
	width: calc(100% + 2rem);
	height: 8.5rem;
	margin: -1rem -1rem 0.8rem;
	object-fit: cover;
}

.blf-htb-kombi h3 {
	color: var(--navy);
}

.blf-htb-textlink {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	margin-top: 0.35rem;
	color: var(--navy);
	font-weight: 700;
}

.blf-htb-pay {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.blf-htb-pay > li {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.15rem;
	margin: 0;
	padding: 0.2rem 0.35rem;
	border: 1px solid #e4e6f4;
	border-radius: 0.45rem;
	background: var(--paper);
}

.blf-htb-pay img {
	display: block;
	height: 1.55rem;
	width: auto;
}

.blf-htb-pay > li.blf-htb-pay-cash {
	padding: 0.35rem 0.7rem;
	border: 2px solid var(--navy);
	color: var(--navy);
	font-weight: 700;
}

.blf-htb-page summary {
	min-height: 48px;
	padding: 0.95rem 0.15rem;
	cursor: pointer;
	font-weight: 700;
}

.blf-htb-page details {
	margin: 0 0 0.75rem;
	padding: 0.15rem 1.1rem;
	border: 1px solid #e4e6f4;
	border-radius: 0.9rem;
	background: var(--wash);
}

.blf-htb-page details p {
	margin: 0.45rem 0.2rem 1.15rem;
	padding: 0.35rem 0.2rem 0.45rem;
}

.blf-htb-final {
	margin: 2rem 1rem 0;
	padding: 1.25rem 1rem 1.4rem;
	border-radius: 1.25rem;
	background: var(--navy);
	color: #ffffff;
}

.blf-htb-final .blf-htb-btn,
.blf-htb-final .blf-htb-btn-quiet {
	border-color: #ffffff;
	background: #ffffff;
	color: var(--navy);
}

.blf-htb-shop-link a,
.blf-htb-product-link a {
	color: #2e3192;
	font-weight: 700;
}

@media (min-width: 720px) {
	.blf-htb-hero,
	.blf-htb-section,
	.blf-htb-band,
	.blf-htb-final,
	.blf-htb-ways-head {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	.blf-htb-scroller {
		padding-left: 2rem;
		padding-right: 2rem;
		scroll-padding-inline: 2rem;
	}

	.blf-htb-scroller > li {
		flex-basis: min(46vw, 24rem);
	}

	.blf-htb-actions {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.blf-htb-btn {
		width: auto;
		min-width: 12rem;
	}

	.blf-htb-band,
	.blf-htb-split {
		grid-template-columns: 1fr 1fr;
	}

	.blf-htb-map {
		grid-template-columns: 1.45fr 0.75fr;
	}

	.blf-htb-final {
		margin-left: 2rem;
		margin-right: 2rem;
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

@media (min-width: 1100px) {
	.blf-htb-scroller > li {
		flex-basis: calc((100% - 1.5rem) / 3);
	}
}

@media (prefers-reduced-motion: reduce) {
	.blf-htb-scroller {
		scroll-behavior: auto;
	}
}
