.page-sosei-east-beer {
	--sosei-celeste: #9bd8d2;
	--sosei-celeste-deep: #39aead;
	--sosei-ink: #141414;
	--sosei-paper: #fffdf5;
	--sosei-cream: #eee0c6;
	--sosei-pink: #e62d68;
	--sosei-yellow: #ffd715;
	--sosei-green: #10a86b;
	--sosei-blue: #2e3f97;
	--sosei-orange: #e86216;
	--sosei-can-cobalt: #26358f;
	--sosei-can-lilac: #b7b9ff;
	background: var(--sosei-paper);
	color: var(--sosei-ink);
}

.sosei-beer {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--sosei-paper);
}

.sosei-beer-hero {
	order: 1;
	position: relative;
	min-height: calc(100vh - 72px);
	display: flex;
	align-items: center;
	padding: clamp(5rem, 7vw, 8rem) 0 clamp(3rem, 6vw, 6rem);
	background:
		linear-gradient(90deg, rgba(155, 216, 210, .92), rgba(155, 216, 210, .8)),
		radial-gradient(circle at 85% 20%, rgba(255, 215, 21, .7), transparent 24rem),
		var(--sosei-celeste);
	isolation: isolate;
}

.sosei-beer-hero [data-sosei-parallax] {
	transform: translate3d(0, var(--sosei-parallax-y, 0), 0);
	will-change: transform;
}

.sosei-beer-hero-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: -1;
}

.motif {
	position: absolute;
	display: block;
}

.motif-sun {
	width: 5rem;
	height: 5rem;
	right: 12%;
	top: 16%;
	background: var(--sosei-yellow);
	border-radius: 50%;
}

.motif-drop {
	width: 3rem;
	height: 4rem;
	left: 6%;
	bottom: 18%;
	background: #19a8dc;
	border-radius: 50% 50% 55% 55%;
	transform: rotate(18deg);
}

.motif-bolt {
	width: 4rem;
	height: 8rem;
	right: 7%;
	bottom: 18%;
	background: var(--sosei-pink);
	clip-path: polygon(40% 0, 100% 0, 62% 42%, 100% 42%, 22% 100%, 45% 54%, 0 54%);
}

.motif-building {
	left: 8%;
	top: 22%;
	width: 8rem;
	height: 5rem;
	background: repeating-linear-gradient(90deg, rgba(20, 20, 20, .18) 0 1rem, transparent 1rem 1.55rem);
	clip-path: polygon(0 100%, 0 35%, 18% 35%, 18% 16%, 33% 16%, 33% 48%, 48% 48%, 48% 0, 68% 0, 68% 30%, 88% 30%, 88% 100%);
}

.sosei-beer-access-pill,
.sosei-beer-kicker,
.sosei-label,
.sosei-year-status {
	font-size: .78rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.sosei-beer-access-pill {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .55rem .85rem;
	margin-bottom: 2rem;
	background: rgba(255, 253, 245, .82);
	border: 1px solid rgba(20, 20, 20, .18);
	border-radius: 999px;
}

.sosei-beer-can-access .sosei-beer-access-pill {
	margin-bottom: 1.4rem;
}

.sosei-beer-kicker,
.sosei-label {
	margin: 0 0 .85rem;
	color: rgba(20, 20, 20, .72);
}

.sosei-beer-title {
	margin: 0;
	font-size: clamp(3.3rem, 10vw, 8.8rem);
	font-weight: 900;
	line-height: .88;
	letter-spacing: 0;
}

.sosei-welcome {
	display: inline-block;
	margin: 0 0 1.05rem;
	padding: .58rem .85rem;
	background: var(--sosei-yellow);
	color: var(--sosei-ink);
	font-size: clamp(1rem, 1.8vw, 1.35rem);
	font-weight: 900;
	line-height: 1.35;
	box-shadow: .35rem .35rem 0 var(--sosei-pink);
}

.sosei-beer-title span {
	display: inline-block;
	color: var(--sosei-pink);
}

.sosei-beer-lead {
	max-width: 39rem;
	margin: 1.6rem 0 0;
	font-size: clamp(1rem, 1.7vw, 1.35rem);
	font-weight: 700;
	line-height: 1.8;
}

.sosei-beer-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	margin-top: 2rem;
}

.sosei-beer-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.2rem;
	padding: .85rem 1.15rem;
	border: 2px solid var(--sosei-ink);
	border-radius: 999px;
	font-weight: 800;
	line-height: 1.25;
	text-decoration: none;
	transition: transform .18s ease, background-color .18s ease;
}

.sosei-beer-btn:hover {
	transform: translateY(-2px);
}

.sosei-beer-btn-primary {
	background: var(--sosei-ink);
	color: #fff;
}

.sosei-beer-btn-outline {
	background: rgba(255, 253, 245, .55);
	color: var(--sosei-ink);
}

.sosei-can-stage {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 34rem;
	padding: 2rem;
	background: var(--sosei-pink);
	box-shadow: 1.2rem 1.2rem 0 rgba(20, 20, 20, .18);
}

.sosei-beer-can-access .sosei-beer {
	background: #f8f0d8;
}

.sosei-beer-can-access .sosei-beer-hero {
	color: #fffdf5;
	background:
		linear-gradient(135deg, rgba(38, 53, 143, .98), rgba(230, 45, 104, .9)),
		radial-gradient(circle at 76% 18%, rgba(255, 215, 21, .98), transparent 13rem),
		radial-gradient(circle at 20% 84%, rgba(155, 216, 210, .95), transparent 11rem),
		var(--sosei-can-cobalt);
}

.sosei-beer-can-access .sosei-beer-access-pill {
	background: var(--sosei-yellow);
	border-color: var(--sosei-yellow);
	color: var(--sosei-ink);
}

.sosei-beer-can-access .sosei-beer-kicker,
.sosei-beer-can-access .sosei-label {
	color: rgba(255, 253, 245, .76);
}

.sosei-beer-can-access .sosei-beer-title span {
	color: var(--sosei-yellow);
	text-shadow: .075em .075em 0 var(--sosei-pink);
}

.sosei-beer-can-access .sosei-beer-lead {
	color: #fffdf5;
}

.sosei-beer-can-access .sosei-beer-btn-primary {
	background: var(--sosei-yellow);
	border-color: var(--sosei-yellow);
	color: var(--sosei-ink);
}

.sosei-beer-can-access .sosei-beer-btn-outline {
	background: transparent;
	border-color: #fffdf5;
	color: #fffdf5;
}

.sosei-beer-can-access .motif-sun {
	background: var(--sosei-celeste);
}

.sosei-beer-can-access .motif-drop {
	background: var(--sosei-yellow);
}

.sosei-beer-can-access .motif-bolt {
	background: var(--sosei-celeste);
}

.sosei-beer-can-access .motif-building {
	background: repeating-linear-gradient(90deg, rgba(255, 253, 245, .28) 0 1rem, transparent 1rem 1.55rem);
}

.sosei-beer-can-access .sosei-can-stage {
	background:
		linear-gradient(90deg, var(--sosei-yellow) 0 16%, transparent 16% 20%, var(--sosei-pink) 20% 100%),
		var(--sosei-pink);
	box-shadow: 1.2rem 1.2rem 0 rgba(255, 253, 245, .28);
	overflow: hidden;
}

.sosei-beer-can-access .sosei-year-chip {
	background: var(--sosei-yellow);
	color: var(--sosei-ink);
}

.sosei-can-entry {
	position: absolute;
	left: 1rem;
	top: 1rem;
	z-index: 2;
	padding: .5rem .7rem;
	background: var(--sosei-can-cobalt);
	color: #fffdf5;
	font-size: .76rem;
	font-weight: 900;
	letter-spacing: 0;
}

.sosei-can {
	width: min(72vw, 21rem);
	filter: drop-shadow(0 1.5rem 1.8rem rgba(20, 20, 20, .32));
}

.sosei-can-metal {
	height: 3.6rem;
	background: linear-gradient(90deg, #9f9f9f, #f4f4f4 30%, #b7b7b7 70%, #f2f2f2);
	border: 2px solid rgba(20, 20, 20, .14);
}

.sosei-can-metal.top {
	border-radius: 3rem 3rem .8rem .8rem;
}

.sosei-can-metal.bottom {
	border-radius: .8rem .8rem 3rem 3rem;
}

.sosei-can-label {
	padding: 1.6rem 1.35rem 1.25rem;
	background: var(--sosei-cream);
	border-left: 2px solid rgba(20, 20, 20, .12);
	border-right: 2px solid rgba(20, 20, 20, .12);
}

.sosei-can-label-head,
.sosei-can-label-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	font-size: .78rem;
	font-weight: 900;
}

.sosei-can-label-foot strong {
	color: var(--sosei-pink);
	font-size: 3.2rem;
	line-height: 1;
}

.sosei-can-mountain {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1.15;
	margin: 1rem 0 .8rem;
	background: #fff;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
	overflow: hidden;
}

.shape {
	position: absolute;
	display: block;
}

.shape.sun {
	left: 22%;
	top: 38%;
	width: 2rem;
	height: 2rem;
	background: var(--sosei-yellow);
	border-radius: 50%;
}

.shape.cloud {
	left: 35%;
	top: 26%;
	width: 4rem;
	height: 1.6rem;
	background: var(--sosei-pink);
	border-radius: 999px;
}

.shape.bolt {
	left: 49%;
	top: 38%;
	width: 2rem;
	height: 4.5rem;
	background: var(--sosei-yellow);
	clip-path: polygon(35% 0, 100% 0, 62% 42%, 100% 42%, 18% 100%, 44% 54%, 0 54%);
}

.shape.city {
	left: 18%;
	bottom: 18%;
	width: 42%;
	height: 22%;
	background: #9e9488;
	clip-path: polygon(0 100%, 0 50%, 16% 50%, 16% 25%, 30% 25%, 30% 70%, 42% 70%, 42% 0, 60% 0, 60% 36%, 78% 36%, 78% 100%);
}

.shape.person {
	left: 41%;
	bottom: 0;
	width: 3.4rem;
	height: 4.8rem;
	background: #f6a79a;
	border-radius: 2rem 2rem .5rem .5rem;
}

.shape.tree {
	bottom: 2%;
	width: 2.4rem;
	height: 6.2rem;
	background: var(--sosei-green);
	border-radius: 999px 999px .4rem .4rem;
}

.shape.tree.one {
	left: 6%;
	background: #0ea6a5;
}

.shape.tree.two {
	right: 11%;
	background: var(--sosei-yellow);
}

.sosei-year-chip {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	padding: .55rem .75rem;
	background: var(--sosei-paper);
	font-size: .76rem;
	font-weight: 900;
}

.sosei-beer-band,
.sosei-beer-section {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
}

.sosei-beer-band {
	order: 2;
	background: var(--sosei-ink);
	color: #fff;
}

.sosei-record {
	order: 3;
}

.sosei-exclusive {
	order: 4;
}

.sosei-route {
	order: 5;
}

.sosei-archive {
	order: 6;
}

.sosei-beer-can-access .sosei-exclusive {
	order: 3;
}

.sosei-beer-can-access .sosei-record {
	order: 4;
}

.sosei-beer-can-access .sosei-beer-band {
	background: var(--sosei-yellow);
	color: var(--sosei-ink);
}

.sosei-access-grid {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 1rem;
}

.sosei-access-card,
.sosei-record-card,
.sosei-unlocked-grid article,
.sosei-locked-panel {
	border: 2px solid currentColor;
	background: var(--sosei-paper);
	color: var(--sosei-ink);
}

.sosei-access-card {
	padding: clamp(1.35rem, 3vw, 2.3rem);
}

.sosei-access-card.is-active {
	background: var(--sosei-celeste);
}

.sosei-beer-can-access .sosei-access-card {
	border-color: var(--sosei-ink);
	background: #fffdf5;
}

.sosei-beer-can-access .sosei-access-card.is-active {
	background: var(--sosei-can-cobalt);
	color: #fffdf5;
}

.sosei-beer-can-access .sosei-access-card.is-active .sosei-label {
	color: var(--sosei-yellow);
}

.sosei-access-card h2,
.sosei-access-card h3,
.sosei-record-card h3,
.sosei-unlocked-grid h3,
.sosei-locked-panel h3 {
	margin: 0 0 .8rem;
	font-weight: 900;
	line-height: 1.2;
}

.sosei-access-card p,
.sosei-record-card p,
.sosei-unlocked-grid p,
.sosei-locked-panel p,
.sosei-section-lead,
.sosei-route-list span {
	margin: 0;
	line-height: 1.75;
}

.sosei-section-title {
	margin: 0;
	font-size: clamp(2rem, 4.5vw, 4.4rem);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: 0;
}

.sosei-section-lead {
	font-weight: 700;
}

.sosei-record-card {
	min-height: 100%;
	padding: 1.6rem;
	box-shadow: .45rem .45rem 0 rgba(20, 20, 20, .12);
}

.sosei-record-card i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	margin-bottom: 1.2rem;
	background: var(--sosei-yellow);
	border-radius: 50%;
	font-size: 1.4rem;
}

.sosei-exclusive {
	background: #f4f0e8;
}

.sosei-beer-can-access .sosei-exclusive {
	position: relative;
	background:
		linear-gradient(90deg, rgba(38, 53, 143, .95), rgba(38, 53, 143, .95)),
		var(--sosei-can-cobalt);
	color: #fffdf5;
}

.sosei-beer-can-access .sosei-exclusive::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, transparent 0 48%, rgba(255, 215, 21, .82) 48% 52%, transparent 52%),
		repeating-linear-gradient(135deg, transparent 0 1.2rem, rgba(255, 253, 245, .08) 1.2rem 1.3rem);
	pointer-events: none;
}

.sosei-beer-can-access .sosei-exclusive > .container {
	position: relative;
	z-index: 1;
}

.sosei-beer-can-access .sosei-exclusive .sosei-label {
	color: var(--sosei-yellow);
}

.sosei-can-console {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, .7fr);
	gap: 1rem;
	margin-bottom: 1rem;
}

.sosei-console-main {
	padding: clamp(1.5rem, 3vw, 2.4rem);
	background: var(--sosei-celeste);
	border: 2px solid #fffdf5;
	color: var(--sosei-ink);
	box-shadow: .65rem .65rem 0 var(--sosei-pink);
}

.sosei-console-main .sosei-label {
	color: rgba(20, 20, 20, .68);
}

.sosei-console-main h3 {
	margin: 0 0 .8rem;
	font-size: clamp(1.8rem, 3vw, 3rem);
	font-weight: 900;
	line-height: 1.05;
}

.sosei-console-main p:last-child {
	margin: 0;
	font-weight: 800;
	line-height: 1.7;
}

.sosei-console-palette {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border: 2px solid #fffdf5;
}

.sosei-console-palette span {
	display: flex;
	align-items: end;
	min-height: 9rem;
	padding: .85rem;
	background: var(--tone);
	border-right: 2px solid #fffdf5;
	border-bottom: 2px solid #fffdf5;
	color: var(--sosei-ink);
	font-size: .8rem;
	font-weight: 900;
}

.sosei-console-palette span:nth-child(2),
.sosei-console-palette span:nth-child(3) {
	color: #fffdf5;
}

.sosei-console-palette span:nth-child(2n) {
	border-right: 0;
}

.sosei-console-palette span:nth-child(n+3) {
	border-bottom: 0;
}

.sosei-exclusive-head,
.sosei-archive-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.sosei-lock-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 7.5rem;
	min-height: 2.4rem;
	padding: .45rem .85rem;
	background: var(--sosei-ink);
	color: #fff;
	font-size: .8rem;
	font-weight: 900;
}

.sosei-unlocked-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

.sosei-unlocked-grid article {
	padding: 1.5rem;
	background: #fff;
}

.sosei-beer-can-access .sosei-unlocked-grid article {
	background: #fffdf5;
	color: var(--sosei-ink);
	border-color: #fffdf5;
	box-shadow: .45rem .45rem 0 var(--sosei-yellow);
}

.sosei-beer-can-access .sosei-unlocked-grid article:nth-child(2) {
	background: var(--sosei-pink);
	color: #fffdf5;
	box-shadow: .45rem .45rem 0 var(--sosei-celeste);
}

.sosei-beer-can-access .sosei-unlocked-grid article:nth-child(3) {
	background: var(--sosei-yellow);
	color: var(--sosei-ink);
	box-shadow: .45rem .45rem 0 var(--sosei-pink);
}

.sosei-unlocked-grid span {
	display: inline-block;
	margin-bottom: 3rem;
	color: var(--sosei-pink);
	font-size: 2.5rem;
	font-weight: 900;
	line-height: 1;
}

.sosei-beer-can-access .sosei-unlocked-grid span {
	margin-bottom: 5rem;
	color: inherit;
	font-size: clamp(3rem, 6vw, 6rem);
}

.sosei-locked-panel {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1.2rem;
	align-items: center;
	padding: 1.6rem;
	background: repeating-linear-gradient(135deg, #fffdf5 0 .8rem, #efe8da .8rem 1.6rem);
}

.sosei-locked-panel i {
	font-size: 2.4rem;
}

.sosei-route {
	background: var(--sosei-celeste);
}

.sosei-beer-can-access .sosei-route {
	background: #fffdf5;
}

.sosei-route-list {
	display: grid;
	gap: .8rem;
}

.sosei-route-list a {
	display: grid;
	grid-template-columns: minmax(7rem, .55fr) 1fr auto;
	gap: 1rem;
	align-items: center;
	padding: 1rem 1.1rem;
	background: var(--sosei-paper);
	border: 2px solid var(--sosei-ink);
	color: var(--sosei-ink);
	text-decoration: none;
}

.sosei-route-list b {
	font-size: 1.05rem;
	font-weight: 900;
}

.sosei-route-list i {
	font-size: 1.4rem;
}

.sosei-archive {
	background: var(--sosei-paper);
}

.sosei-archive-head p {
	max-width: 24rem;
	margin: 0;
	font-weight: 800;
	line-height: 1.6;
}

.sosei-year-grid {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	border: 2px solid var(--sosei-ink);
}

.sosei-year-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 11rem;
	padding: .85rem;
	border-right: 2px solid var(--sosei-ink);
	color: var(--sosei-ink);
	text-decoration: none;
}

.sosei-year-card:last-child {
	border-right: 0;
}

.sosei-year-card strong {
	font-size: clamp(1.7rem, 2.8vw, 3rem);
	font-weight: 900;
	line-height: .95;
}

.sosei-year-card small {
	font-weight: 900;
}

.sosei-year-card.is-celeste {
	background: var(--sosei-celeste);
}

.sosei-year-card.is-magenta {
	background: var(--sosei-pink);
	color: #fff;
}

.sosei-year-card.is-yellow {
	background: var(--sosei-yellow);
}

.sosei-year-card.is-green {
	background: var(--sosei-green);
	color: #fff;
}

.sosei-year-card.is-blue {
	background: var(--sosei-blue);
	color: #fff;
}

.sosei-year-card.is-pink {
	background: #f2a0ba;
}

.sosei-year-card.is-lime {
	background: #b8dd4c;
}

.sosei-year-card.is-violet {
	background: #8c68bf;
	color: #fff;
}

.sosei-year-card.is-orange {
	background: var(--sosei-orange);
	color: #fff;
}

.sosei-year-card.is-ink {
	background: var(--sosei-ink);
	color: #fff;
}

.sosei-year-card.is-future {
	opacity: .86;
}

@media (max-width: 991.98px) {
	.sosei-beer-hero {
		min-height: auto;
	}

	.sosei-can-stage {
		min-height: 28rem;
	}

	.sosei-access-grid,
	.sosei-unlocked-grid,
	.sosei-can-console {
		grid-template-columns: 1fr;
	}

	.sosei-console-palette span {
		min-height: 6.5rem;
	}

	.sosei-exclusive-head,
	.sosei-archive-head {
		display: block;
	}

	.sosei-lock-badge {
		margin-top: 1rem;
	}

	.sosei-year-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.sosei-year-card:nth-child(5n) {
		border-right: 0;
	}

	.sosei-year-card:nth-child(n+6) {
		border-top: 2px solid var(--sosei-ink);
	}
}

@media (max-width: 575.98px) {
	.sosei-beer-hero {
		padding-top: 4rem;
	}

	.sosei-beer-actions {
		display: grid;
	}

	.sosei-beer-btn {
		width: 100%;
	}

	.sosei-can-stage {
		min-height: 23rem;
		padding: 1rem;
		box-shadow: .55rem .55rem 0 rgba(20, 20, 20, .18);
	}

	.sosei-can {
		width: min(74vw, 16.5rem);
	}

	.sosei-can-label-foot strong {
		font-size: 2.35rem;
	}

	.sosei-route-list a {
		grid-template-columns: 1fr auto;
	}

	.sosei-route-list span {
		grid-column: 1 / -1;
	}

	.sosei-year-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sosei-year-card {
		min-height: 8.5rem;
	}

	.sosei-year-card:nth-child(n) {
		border-right: 2px solid var(--sosei-ink);
		border-top: 0;
	}

	.sosei-year-card:nth-child(2n) {
		border-right: 0;
	}

	.sosei-year-card:nth-child(n+3) {
		border-top: 2px solid var(--sosei-ink);
	}
}
