@charset "utf-8";

:root {
	--night: #071327;
	--deep: #091c37;
	--blue: #79d7ff;
	--cyan: #70cfff;
	--pink: #eea7ce;
	--white: #f7f5ff;
	--muted: #b8c5db;
	--line: rgba(163, 200, 242, .25);
	--serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	--sans: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif
}

* {
	box-sizing: border-box
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 90px
}

body {
	margin: 0;
	background: var(--night);
	color: var(--white);
	font-family: var(--sans);
	line-height: 1.85;
	letter-spacing: .055em
}

img {
	display: block;
	max-width: 100%
}

a {
	color: inherit
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0
}

.skip-link:focus {
	left: 1rem;
	z-index: 100;
	background: white;
	color: black;
	padding: .7rem
}

.site-header {
	position: absolute;
	z-index: 10;
	inset: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 5vw;
	color: #fff;
	background: linear-gradient(#040b19a8, transparent)
}

.brand {
	display: flex;
	align-items: baseline;
	gap: 12px;
	text-decoration: none
}

.brand-mark {
	font-family: var(--serif);
	font-size: 20px;
	letter-spacing: .2em
}

.brand-sub {
	font-size: 9px;
	letter-spacing: .17em;
	opacity: .75
}

.main-nav {
	display: flex;
	gap: 28px;
	align-items: center;
	font-size: 11px;
	letter-spacing: .14em
}

.main-nav a {
	text-decoration: none
}

.nav-ticket {
	padding: 9px 18px;
	border: 1px solid #b6dfff;
	border-radius: 99px
}

.hero {
	min-height: min(840px, 100svh);
	height: 780px;
	max-height: 920px;
	position: relative;
	display: grid;
	place-items: center;
	overflow: hidden;
	background: #0b1734
}

.hero-sky {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(5, 13, 31, .16) 0%, rgba(7, 18, 40, .2) 45%, #08142a 100%), url("/lp_manten/images/manten2627_background_image.webp") center 43%/cover no-repeat
}

.hero:after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: url("/lp_manten/images/star_2627.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	opacity: .24;
	mix-blend-mode: screen
}

.hero-content {
	position: relative;
	z-index: 1;
	text-align: center;
	padding: 120px 20px 70px;
	text-shadow: 0 2px 24px #081126
}

.eyebrow, .section-kicker {
	font-size: 10px;
	letter-spacing: .28em;
	color: #b9dcff
}

.hero h1 {
	margin: 23px auto 0;
	max-width: 440px
}

.hero h1 img {
	width: min(100%, 340px);
	margin: auto;
	filter: drop-shadow(0 6px 20px #17266d)
}

.hero-copy {
	font-family: var(--serif);
	font-size: clamp(18px, 2.4vw, 25px);
	letter-spacing: .18em;
	margin: 12px 0
}

.hero-date, .ticket-date {
	font-size: clamp(16px, 2vw, 21px);
	letter-spacing: .19em;
	font-weight: 300
}

.hero-date span, .ticket-date span {
	color: var(--pink);
	padding: 0 9px
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	text-decoration: none;
	border-radius: 2px;
	padding: 14px 27px;
	letter-spacing: .12em;
	font-size: 12px;
	transition: transform .25s, background .25s
}

.button:hover, .share-button:hover {
	transform: translateY(-2px)
}

.button-primary {
	color: #071327;
	background: linear-gradient(110deg, #a5e7ff, #d2ccff 62%, #f2b7db);
	box-shadow: 0 0 30px #7acbff42
}

.button-primary:hover {
	background: #fff
}

.hero-note {
	font-size: 10px;
	color: #e4e9f5;
	letter-spacing: .08em
}

.hero-note span {
	margin-left: 8px;
	color: #d2d9e9
}

.scroll-cue {
	position: absolute;
	z-index: 2;
	bottom: 22px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 9px;
	text-decoration: none;
	font-size: 8px;
	letter-spacing: .24em
}

.scroll-cue i {
	height: 32px;
	width: 1px;
	background: linear-gradient(#dbd9ff, transparent)
}

.hero-stamp {
	position: absolute;
	right: 5%;
	bottom: 9%;
	width: 90px;
	height: 90px;
	border: 1px solid #cfecff70;
	border-radius: 50%;
	display: grid;
	align-content: center;
	text-align: center;
	line-height: 1.15;
	transform: rotate(12deg);
	color: #d1edff
}

.hero-stamp span {
	font-family: var(--serif);
	font-size: 22px
}

.hero-stamp small {
	font-size: 7px;
	letter-spacing: .1em
}

.section-pad {
	padding: 105px max(6vw, 24px)
}

.intro {
	text-align: center;
	background: radial-gradient(ellipse at 50% 0, #132b53 0, transparent 58%), #08152a
}

.section-pad h2, .experience-copy h2, .cablecar-copy h2 {
	font-family: var(--serif);
	font-weight: 400;
	font-size: clamp(27px, 4vw, 42px);
	line-height: 1.55;
	letter-spacing: .12em;
	margin: 14px 0 20px
}

.intro .lead, .lead {
	color: #d3dceb;
	font-size: 14px;
	line-height: 2.2
}

.sp-only {
	display: none
}

.intro-image {
	position: relative;
	max-width: 950px;
	margin: 52px auto 62px;
	overflow: hidden
}

.intro-image:after, .experience-photos:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, #0613295c, transparent 35%);
	pointer-events: none
}

.intro-image img {
	width: 100%;
	height: clamp(270px, 52vw, 560px);
	object-fit: cover
}

.image-caption {
	position: absolute;
	z-index: 1;
	bottom: 18px;
	left: 24px;
	font-size: 9px;
	letter-spacing: .2em
}

.event-facts {
	max-width: 1000px;
	margin: auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	text-align: left;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line)
}

.fact {
	padding: 23px 20px;
	border-right: 1px solid var(--line)
}

.fact:last-child {
	border-right: 0
}

.fact>span, .cafe-details span {
	display: block;
	color: var(--blue);
	font-size: 10px;
	letter-spacing: .14em;
	margin-bottom: 11px
}

.fact strong {
	display: block;
	font-family: var(--serif);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.7;
	min-height: 54px
}
.fact strong > small {
	font-size: 13px;
	display: inline-block;
}

.fact small {
	display: block;
	color: var(--muted);
	font-size: 10px;
	line-height: 1.8;
	margin-top: 9px
}
.fact small em {
	font-style: normal;
	font-weight: 600;
}

.text-link {
	display: inline-flex;
	gap: 20px;
	align-items: center;
	color: #d9e8ff;
	text-decoration: none;
	font-size: 11px;
	letter-spacing: .12em;
	border-bottom: 1px solid #a6dfff78;
	padding: 0 0 7px;
	margin-top: 28px
}

.text-link span {
	color: var(--blue)
}

.calendar {
	background: #f4f6fa;
	color: #101f37;
	text-align: center
}

.calendar .section-kicker {
	color: #5774a1
}

.calendar h2, .movie h2, .lights h2, .around h2 {
	font-family: var(--serif);
	font-size: clamp(28px, 3.4vw, 38px);
	font-weight: 400;
	letter-spacing: .12em;
	margin: 12px 0
}

.section-desc {
	font-size: 12px;
	color: #68758a
}

.calendar-grid {
/*	max-width: 950px;	/**/
	max-width: 1100px;
	margin: 42px auto 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px
}

.calendar-card {
	margin: 0;
/*	padding: 16px 14px 12px;	/**/
	padding: 10px 10px 10px;
	background: #fff;
	box-shadow: 0 9px 30px #20345212
}

.calendar-card figcaption {
	font-family: Georgia, serif;
	font-size: 12px;
	letter-spacing: .16em;
	color: #213858;
	border-bottom: 1px solid #e3e9f1;
	padding-bottom: 8px;
	display: none;
}

.calendar-card figcaption span {
	font-family: var(--sans);
	font-size: 9px;
	color: #6480a8;
	margin-right: 5px
}

.calendar-card img {
	width: 100%;
	height: auto;
/*	margin: 12px auto 0;	/**/
	margin: 0px auto 0;
}

.calendar-note {
	font-size: 10px;
	color: #5f6c80;
	margin: 22px auto 0
}

.movie {
	text-align: center;
	background: linear-gradient(180deg, #0b1b36, #08142a)
}

.movie .section-kicker {
	color: #92dfff
}

.movie .section-desc {
	color: #aab8ce
}

.video-frame {
	max-width: 880px;
	margin: 36px auto 0;
	aspect-ratio: 16/9;
	background: #030b19;
	box-shadow: 0 20px 60px #0005
}

.video-frame iframe {
	width: 100%;
	height: 100%;
	border: 0
}

.experiences {
	overflow: hidden;
	background: #071327
}

.experience-row {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	align-items: center;
	gap: 6vw;
	padding: 100px 9vw;
	background: radial-gradient(ellipse at 20% 50%, #132d56 0, transparent 60%)
}

.experience-row.terrace-row {
	grid-template-columns: 1.2fr 1fr;
	background: radial-gradient(ellipse at 80% 50%, #17204d 0, transparent 58%)
}

.experience-copy {
/*	max-width: 420px	/**/
	max-width: 600px
}

.experience-copy h2 {
/*	font-size: clamp(36px, 5vw, 60px);	/**/
	font-size: clamp(24px, 3.8vw, 42px);
/*	letter-spacing: .17em;	/**/
	letter-spacing: .05em;
	line-height: 1.25;
	margin: 18px 0
}

.experience-copy p, .cablecar-copy p {
	font-size: 13px;
	color: #c1cee0;
	line-height: 2.2
}

.experience-photos {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px
}

.experience-photos img {
	width: 100%;
	height: clamp(190px, 28vw, 340px);
	object-fit: cover
}

.experience-photos img:nth-child(2) {
	margin-top: 48px
}

.experience-photos:after {
	display: none
}

.lights {
	text-align: center;
	background: #091831
}

.lights .section-kicker {
	color: #9ce2ff
}

.light-feature {
	max-width: 1000px;
	height: clamp(300px, 48vw, 530px);
	margin: 42px auto 0;
	position: relative;
	text-align: left;
	overflow: hidden
}

.light-feature:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #08142ae0 0%, #08142a8c 38%, transparent 80%)
}

.light-feature>img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.light-label {
	position: absolute;
	z-index: 1;
	left: 7%;
	top: 50%;
	transform: translateY(-50%)
}

.light-label span {
	font-size: 10px;
	letter-spacing: .22em;
	color: var(--blue)
}

.light-label p {
	font-family: var(--serif);
	font-size: 20px;
	line-height: 1.9;
	letter-spacing: .12em
}

.cablecar-section {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	background: #0b1c38;
	align-items: center
}

.cablecar-image {
	height: 100%;
	min-height: 450px
}

.cablecar-image img {
	width: 100%;
	height: 100%;
	min-height: 450px;
	object-fit: cover
}

.cablecar-copy {
	padding: 70px clamp(32px, 8vw, 110px)
}

.cablecar-copy .section-kicker {
	color: var(--blue)
}

.button-outline {
	border: 1px solid #9edfff;
	color: #e5f6ff;
	margin-top: 18px
}

.button-outline:hover {
	background: #112747
}

.cafe {
	text-align: center;
	background: radial-gradient(ellipse at center, #1b3155, #09172d 65%)
}

.cafe-heading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 35px;
	margin: 25px 0
}

.cafe-heading img {
	width: 130px;
	max-height: 100px;
	object-fit: contain
}

.cafe-heading h2 {
	font-family: var(--serif);
	font-size: clamp(25px, 3.7vw, 38px);
	font-weight: 400;
	letter-spacing: .1em;
	line-height: 1.55;
	margin: 0
}

.cafe .lead {
	max-width: 680px;
	margin: 0 auto
}

.cafe-details {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: center;
	gap: 8px 22px;
	text-align: left;
	align-items: center;
	margin: 30px auto 0
}

.cafe-details span {
	margin: 0
}

.cafe-details strong {
	font-size: 12px;
	font-weight: 400
}

.share {
	text-align: center;
	background: linear-gradient(140deg, #152452, #251d52 56%, #111932);
	position: relative;
	overflow: hidden
}

.share:before, .share:after {
	content: "✦";
	position: absolute;
	color: #aee6ff30;
	font-size: 180px
}

.share:before {
	left: 7%;
	top: 10%
}

.share:after {
	right: 8%;
	bottom: 1%
}

.share-stars {
	font-size: 24px;
	color: #b1e7ff;
	margin-bottom: 18px
}

.share .section-kicker {
	color: #d7bbff
}

.share h2 {
	font-size: clamp(28px, 4vw, 42px)
}

.share p {
	font-size: 13px;
	color: #d0d8ee;
	line-height: 2.2
}

.share-button {
	position: relative;
	z-index: 1;
	display: inline-flex;
	gap: 26px;
	align-items: center;
	border: 1px solid #c6c9ff;
	padding: 12px 24px;
	margin: 18px auto;
	text-decoration: none;
	font-size: 12px;
	transition: transform .25s
}

.share-button span {
	color: #c4dfff
}

.share small {
	display: block;
	font-size: 9px;
	color: #aeb8d2
}

.ticket {
	text-align: center;
	position: relative;
	overflow: hidden;
	background: linear-gradient(180deg, #071328, #101a3c 60%, #09162b)
}

.ticket:before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("/lp_manten/images/star_2627.png") center/cover;
	opacity: .18;
	pointer-events: none
}

.ticket>* {
	position: relative
}

.ticket-glow {
	position: absolute !important;
	width: 500px;
	height: 300px;
	left: 50%;
	top: 10%;
	transform: translateX(-50%);
	background: #4f7bff40;
	filter: blur(90px);
	pointer-events: none
}

.ticket .section-kicker {
	color: #b1e5ff
}

.ticket h2 {
/*
	font-size: clamp(29px, 4.3vw, 46px);
*/
	font-size: clamp(28px, 3.6vw, 40px);
	letter-spacing: 0.05em;
}

.ticket-prices {
	display: flex;
	justify-content: center;
	gap: 65px;
	margin: 35px auto 16px
}

.ticket-prices div {
	display: grid;
	gap: 2px
}

.ticket-prices small {
	font-size: 10px;
	color: #c5d0e6
}

.ticket-prices strong {
/*
	font-family: Georgia, serif;
*/
	font-family: Roboto, Arial, sans-serif;
	font-weight: 600;
	font-size: 30px;
	letter-spacing: .04em;
	color: #d2ebff
}

.ticket-includes {
	font-size: 11px;
	color: #d5dced
}

.button-large {
	min-width: min(380px, 100%);
	margin-top: 17px;
	font-size: 14px;
	padding: 17px 25px
}

.ticket-footnote {
	font-size: 9px;
	color: #aebbd0
}

.around {
	text-align: center;
	background: #f5f7fb;
	color: #13223b
}

.around .section-kicker {
	color: #5a789f
}

.around .section-desc {
	color: #69768b
}

.around-links {
	max-width: 900px;
	margin: 38px auto 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	text-align: left
}

.around-links a {
	background: white;
	text-decoration: none;
	padding: 24px 26px;
	border: 1px solid #e2e7f0;
	transition: box-shadow .2s, transform .2s
}

.around-links a:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 30px #10213a12
}

.around-links span {
	display: block;
	font-size: 8px;
	letter-spacing: .14em;
	color: #8193ab
}

.around-links strong {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-top: 7px;
	font-size: 13px;
	font-weight: 500
}

.around-links b {
	font-weight: 400;
	color: #477ba9
}

.site-footer {
	text-align: center;
	padding: 40px 20px 85px;
	background: #050d1b;
	color: #9eabc0
}

.footer-logo {
	font-family: var(--serif);
	display: block;
	text-decoration: none;
	font-size: 20px;
	letter-spacing: .18em;
	color: #e5efff
}

.footer-logo small {
	font-family: var(--sans);
	font-size: 8px;
	letter-spacing: .15em
}

.site-footer p {
	font-size: 8px;
	letter-spacing: .19em
}

.site-footer>small {
	font-size: 8px;
	letter-spacing: .12em
}

.mobile-cta {
	display: none
}

.reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .8s ease, transform .8s ease
}

.reveal.is-visible {
	opacity: 1;
	transform: translateY(0)
}

@media(max-width:800px) {
	.site-header {
		padding: 14px 22px
	}

	.brand {
		display: block
	}

	.brand-mark {
		display: block;
		font-size: 18px;
		line-height: 1.2
	}

	.brand-sub {
		display: block;
		font-size: 7px;
		margin-top: 4px
	}

	.main-nav {
		gap: 14px;
		font-size: 9px
	}

	.main-nav a:not(.nav-ticket) {
		display: none
	}

	.nav-ticket {
		padding: 7px 13px
	}

	.hero {
		height: 760px;
		min-height: 680px;
		max-height: 94svh
	}

	.hero-sky {
		background-position: 52% center
	}

	.hero-content {
		padding-top: 70px
	}

	.hero-stamp {
		width: 70px;
		height: 70px;
		right: 5%;
		bottom: 13%
	}

	.hero-stamp span {
		font-size: 18px
	}

	.hero-stamp small {
		font-size: 6px
	}

	.section-pad {
		padding: 76px 22px
	}

	.event-facts {
		grid-template-columns: 1fr 1fr
	}

	.fact {
		padding: 18px 14px;
		border-bottom: 1px solid var(--line)
	}

	.fact:nth-child(2) {
		border-right: 0
	}

	.fact:nth-child(3), .fact:nth-child(4) {
		border-bottom: 0
	}

	.fact strong {
		min-height: 0
	}
	

	.calendar-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px
	}

	.calendar-card {
		padding: 12px 10px
	}

	.experience-row, .experience-row.terrace-row {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 70px 22px
	}

	.experience-row.terrace-row .experience-photos {
		order: 2
	}

	.experience-row.terrace-row .experience-copy {
		order: 1
	}

	.experience-copy {
		max-width: 600px
	}

	.experience-photos img {
		height: clamp(180px, 43vw, 300px)
	}

	.experience-photos img:nth-child(2) {
		margin-top: 25px
	}

	.cablecar-section {
		grid-template-columns: 1fr
	}

	.cablecar-image, .cablecar-image img {
		min-height: 300px;
		height: 52vw;
		max-height: 460px
	}

	.cablecar-copy {
		padding: 48px 25px 65px
	}

	.light-feature {
		height: 420px
	}

	.light-label {
		left: 7%
	}

	.light-label p {
		font-size: 17px
	}

	.around-links {
		gap: 12px
	}

	.around-links a {
		padding: 18px
	}

	.around-links strong {
		font-size: 11px
	}

	.mobile-cta {
		display: flex;
		position: fixed;
		z-index: 20;
		bottom: 0;
		left: 0;
		right: 0;
		padding: 9px 14px calc(9px + env(safe-area-inset-bottom));
		background: #071327f2;
		backdrop-filter: blur(12px);
		border-top: 1px solid #95caff50;
		align-items: center;
		justify-content: space-between;
		gap: 10px
	}

	.mobile-cta span {
		font-size: 9px;
		color: #c6d8ee;
		white-space: nowrap
	}

	.mobile-cta a {
		background: linear-gradient(110deg, #a5e7ff, #e2c7f3);
		color: #071327;
		text-decoration: none;
		font-weight: 600;
		font-size: 11px;
		padding: 9px 14px;
		white-space: nowrap
	}

	.site-footer {
		padding-bottom: 100px
	}
}

@media(max-width:520px) {
	.hero {
		min-height: 650px;
		height: 88svh
	}

	.hero h1 img {
		width: 280px
	}

	.eyebrow {
		font-size: 8px
	}

	.hero-copy {
		font-size: 17px
	}

	.hero-date {
		font-size: 15px
	}

	.hero-note {
		font-size: 9px
	}

	.sp-only {
		display: block
	}

	.pc-only {
		display: none
	}

	.intro .lead, .lead {
		font-size: 12px
	}

	.intro-image {
		margin: 38px auto 42px
	}

	.intro-image img {
		height: 280px
	}

	.image-caption {
		left: 13px;
		bottom: 10px;
		font-size: 8px
	}

	.fact>span {
		font-size: 9px
	}

	.fact strong {
		font-size: 13px
	}

	.fact small {
		font-size: 9px
	}

	.calendar-grid {
		gap: 9px
	}

	.calendar-card {
		padding: 9px 7px
	}

	.calendar-card figcaption {
		font-size: 10px
	}

	.calendar-card figcaption span {
		font-size: 8px
	}

	.calendar-note {
		font-size: 9px;
		line-height: 1.8
	}

	.video-frame {
		margin-top: 25px
	}

	.experience-copy h2 {
/*		font-size: 38px;	/**/
		font-size: 28px
	}

	.experience-copy p, .cablecar-copy p {
		font-size: 12px
	}

	.experience-photos {
		gap: 9px
	}

	.experience-photos img {
		height: 190px
	}

	.light-feature {
		height: 330px
	}

	.light-feature:after {
		background: linear-gradient(90deg, #08142ae0 0%, #08142a90 60%, transparent)
	}

	.light-label p {
		font-size: 15px
	}

	.cafe-heading {
		gap: 18px
	}

	.cafe-heading img {
		width: 85px
	}

	.cafe-heading h2 {
		font-size: 23px
	}

	.cafe-details {
		gap: 8px 13px
	}

	.cafe-details strong {
		font-size: 11px
	}

	.share:before, .share:after {
		font-size: 100px
	}

	.share p {
		font-size: 11px
	}

	.ticket-prices {
		gap: 35px
	}

	.ticket-prices strong {
		font-size: 25px
	}

	.ticket-includes {
		font-size: 10px
	}

	.around-links {
		grid-template-columns: 1fr
	}

	.around-links a {
		padding: 17px 19px
	}

	.around-links strong {
		font-size: 12px
	}

	.mobile-cta span {
		font-size: 8px
	}

	.mobile-cta a {
		font-size: 10px;
		padding: 9px 11px
	}
}

@media(prefers-reduced-motion:reduce) {
	html {
		scroll-behavior: auto
	}

	.reveal {
		opacity: 1;
		transform: none;
		transition: none
	}

	*, *:before, *:after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important
	}
}

.share-button {
	font-family: var(--sans);
	background: transparent;
	color: var(--white);
	cursor: pointer
}

.share-caption {
	font-size: 11px !important;
	letter-spacing: .12em;
	color: #d9d7ff !important;
	margin: 5px auto 10px !important
}

.share small[data-share-status] {
	margin-bottom: 8px
}

/* Requested desktop type scale and updated event artwork */
@media(min-width:801px) {
	body {
		font-size: 16px
	}

	.main-nav {
		font-size: 13px
	}

	.section-kicker {
		font-family: Roboto, Arial, sans-serif;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: .22em
	}

	.hero {
		height: 960px;
		min-height: 900px;
		max-height: 1040px
	}

	.hero-content {
		padding-top: 126px
	}

	.hero-art {
		margin: 0 auto 22px;
		width: min(560px, 48vw)
	}

	.hero-art img {
		width: 100%;
		height: auto
	}

	.hero h1 {
/*		max-width: 490px;	/**/
		max-width: 540px;
/*		margin-top: 18px	/**/
		margin-top: 0;
	}
/*
	.hero h1 img {
		width: min(100%, 440px)
	}
*/
	.hero h1 img {
		width: min(100%, 540px)
	}

	.hero-copy {
		font-size: 25px
	}

	.hero-date {
		font-size: 24px;
		margin-bottom: 2px
	}

	.hero-special-dates {
		margin: 0 0 16px;
		font-size: 14px;
		letter-spacing: .1em;
		color: #e7d9ff
	}

	.intro .lead, .lead {
		font-size: 16px
	}

	.section-desc {
		font-size: 14px
	}

	.fact small {
		font-size: 12px
	}

	.fact strong {
		font-size: 16px
	}

	.experience-copy p, .cablecar-copy p {
		font-size: 16px
	}

	.button, .text-link {
		font-size: 14px
	}

	.calendar-card {
		background: #0c1c39;
		color: #f3f7ff;
		border: 1px solid #6e8db680;
		box-shadow: 0 10px 32px #06112640
	}

	.calendar-card figcaption {
		color: #e6efff;
		border-color: #536a8c
	}

	.calendar-card figcaption span {
		color: #9dbce4
	}

	.calendar-note {
		font-size: 12px
	}

	.event-subtitle {
		width: min(470px, 80%);
		height: auto;
		margin: 26px auto 18px
	}

	.event-description {
		max-width: 860px;
		margin: 0 auto
	}

	.venue-map {
		max-width: 640px;
		margin: 42px auto 55px;
		padding: 22px;
		background: #0c1b36;
		border: 1px solid #6e8db650
	}

	.venue-map figcaption {
		font: 600 12px Roboto, Arial, sans-serif;
		letter-spacing: .18em;
		color: #9fe2ff;
		margin-bottom: 16px
	}

	.venue-map figcaption span {
		font-family: var(--sans);
		font-weight: 400;
		letter-spacing: .08em;
		margin-left: 10px;
		color: #e5edf9
	}

	.venue-map img {
		width: min(100%, 470px);
		margin: 0 auto
	}

	@media(min-width:801px) {
		.menu-toggle {
			display: none
		}
	}
}

@media(max-width:800px) {
	.menu-toggle {
		position: relative;
		z-index: 13;
		display: flex;
		width: 42px;
		height: 42px;
		padding: 11px 9px;
		border: 1px solid #b6dfff88;
		border-radius: 50%;
		background: #071327c9;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		cursor: pointer
	}

	.menu-toggle span {
		display: block;
		height: 1px;
		width: 22px;
		background: #eff8ff;
		transition: transform .2s, opacity .2s
	}

	.menu-toggle[aria-expanded="true"] span:first-child {
		transform: translateY(6px) rotate(45deg)
	}

	.menu-toggle[aria-expanded="true"] span:nth-child(2) {
		opacity: 0
	}

	.menu-toggle[aria-expanded="true"] span:last-child {
		transform: translateY(-6px) rotate(-45deg)
	}

	.site-header {
		overflow: visible
	}

	.main-nav {
		position: absolute;
		top: calc(100% + 6px);
		left: 16px;
		right: 16px;
		z-index: 12;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 8px 16px;
		background: rgba(5, 15, 34, .97);
		border: 1px solid #9edfff55;
		box-shadow: 0 16px 38px #0007;
		backdrop-filter: blur(14px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(-8px);
		transition: opacity .2s, transform .2s, visibility .2s
	}

	.main-nav.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0)
	}

	.site-header .main-nav a:not(.nav-ticket) {
		display: block;
		padding: 13px 4px;
		border-bottom: 1px solid #9eb6d52e;
		font-size: 12px
	}

	.site-header .main-nav .nav-ticket {
		display: block;
		margin: 12px 0 6px;
		text-align: center;
		font-size: 12px
	}

	.hero-art {
		width: min(360px, 82vw);
		margin: 0 auto 14px
	}

	.hero-art img {
		width: 100%;
		height: auto
	}

	.hero-special-dates {
		font-size: 10px;
		letter-spacing: .06em;
		color: #e7d9ff;
		margin: 0 0 10px
	}

	.event-subtitle {
		width: min(360px, 90%);
		height: auto;
		margin: 22px auto 14px
	}

	.event-description {
		font-size: 12px;
		line-height: 2.1
	}

	.venue-map {
		margin: 32px auto 40px;
		padding: 16px;
		background: #0c1b36;
		border: 1px solid #6e8db650
	}

	.venue-map figcaption {
		font: 600 11px Roboto, Arial, sans-serif;
		letter-spacing: .16em;
		color: #9fe2ff;
		margin-bottom: 12px
	}

	.venue-map figcaption span {
		font-family: var(--sans);
		font-weight: 400;
		margin-left: 8px;
		color: #e5edf9
	}

	.venue-map img {
		width: min(100%, 390px);
		margin: 0 auto
	}

	.calendar-card {
		background: #0c1c39;
		color: #f3f7ff;
		border: 1px solid #6e8db680;
		box-shadow: 0 8px 22px #06112630
	}

	.calendar-card figcaption {
		color: #e6efff;
		border-color: #536a8c
	}

	.calendar-card figcaption span {
		color: #9dbce4
	}
}

@media(max-width:520px) {
	.hero-art {
		width: min(310px, 82vw);
		margin-bottom: 11px
	}

	.hero h1 img {
		width: 300px
	}

	.hero-special-dates {
		font-size: 9px
	}
}

@media(prefers-reduced-motion:reduce) {
	.main-nav, .menu-toggle span {
		transition: none
	}
}

.section-kicker {
	font-family: Roboto, Arial, sans-serif;
	font-weight: 600
}

@media(min-width:801px) {
	.hero {
		height: 1040px;
		min-height: 1000px;
		max-height: 1120px
	}
}

@media(max-width:800px) {
	.hero {
		height: auto;
		min-height: max(820px, 92svh)
	}
}

@media(max-width:520px) {
	.hero {
		min-height: max(800px, 92svh)
	}
}

/* Final event presentation refinements */
.hero-schedule, .ticket-schedule {
	color: #f0eaff;
	letter-spacing: .09em;
	line-height: 1.9
}

.hero-schedule {
	font-size: 13px;
	margin: 2px 0 17px;
	text-shadow: 0 2px 14px #081126
}

.ticket-schedule {
	font-size: 13px;
	margin: 0 auto 22px
}

.scroll-cue {
	display: none
}

.calendar {
	background: radial-gradient(ellipse at 50% 0%, #183b70 0%, transparent 58%), linear-gradient(140deg, #07162e 0%, #0b2044 50%, #07152f 100%);
	color: #f4f6ff
}

.calendar .section-kicker {
	color: #9bdcff
}

.calendar h2 {
	color: #f6f7ff
}

.calendar .section-desc, .calendar .calendar-note {
	color: #c4d1e6
}

.calendar-card {
	background: #0b1a36;
	border-color: #9bcfff60
}

.calendar-card figcaption {
	color: #e7f0ff;
	border-color: #6881a5
}

.calendar-card figcaption span {
	color: #a9c9f2
}

.ticket-includes {
	max-width: 680px;
	margin: 24px auto 5px;
	padding: 16px 20px;
	border: 1px solid #b2e7ffb0;
	background: linear-gradient(100deg, #a5e7ff20, #e2c7f31c);
	box-shadow: 0 0 28px #70cfff24;
	color: #f5f5ff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.7
}

.fact:last-child small {
	color: #f1eaff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.9
}

.intro-map-row {
	display: block
}

@media(min-width:801px) {
	.hero-art {
		animation: hero-title-in .9s cubic-bezier(.2, .7, .25, 1) both
	}

	.hero h1 img {
		animation: hero-logo-in 1.15s cubic-bezier(.18, .74, .25, 1) .2s both
	}

	.hero-schedule {
		font-size: 15px
	}

	.intro-map-row {
		display: grid;
		grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
		align-items: center;
		gap: clamp(34px, 6vw, 84px);
		max-width: 1120px;
		margin: 0 auto 32px;
		text-align: left
	}

	.intro-copy-column h2 {
		margin-top: 0
	}

	.event-description {
		max-width: none;
		margin: 0;
		font-size: 16px
	}

	.venue-map {
		width: 100%;
		margin: 0;
		padding: 24px
	}

	.venue-map img {
		width: min(100%, 440px)
	}

	.ticket-schedule {
		font-size: 15px;
		margin-bottom: 24px
	}
}

@keyframes hero-title-in {
	from {
		opacity: 0;
		transform: translateY(22px);
		filter: blur(7px)
	}

	to {
		opacity: 1;
		transform: translateY(0);
		filter: blur(0)
	}
}

@keyframes hero-logo-in {
	from {
		opacity: 0;
		transform: translateY(28px) scale(.94);
		filter: blur(10px)
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
		filter: drop-shadow(0 6px 20px #17266d)
	}
}

@media(max-width:800px) {
	.hero-schedule {
		font-size: 10px;
		line-height: 1.8;
		margin: 0 0 11px
	}

	.ticket-schedule {
		font-size: 11px;
		line-height: 1.8
	}

	.ticket-includes {
		font-size: 12px;
		padding: 13px 12px
	}

	.intro-map-row {
		display: block
	}

	.venue-map {
		margin: 30px auto 40px
	}
}

@media(prefers-reduced-motion:reduce) {
	.hero-art, .hero h1 img {
		animation: none;
		opacity: 1;
		transform: none;
		filter: none
	}
}

@media(min-width:801px) {
	.hero {
		height: auto;
		min-height: 1000px;
		max-height: none
	}
}

/* Re-applied requested refinements */
.section-kicker {
	font-family: Roboto, Arial, sans-serif;
	font-weight: 600
}

.hero-schedule, .ticket-schedule {
	color: #f0eaff;
	letter-spacing: .09em;
	line-height: 1.9
}

.hero-schedule {
	font-size: 13px;
	margin: 2px 0 17px;
	text-shadow: 0 2px 14px #081126
}

.ticket-schedule {
	font-size: 13px;
	margin: 0 auto 22px
}

.calendar {
	background: radial-gradient(ellipse at 50% 0%, #183b70 0%, transparent 58%), linear-gradient(140deg, #07162e 0%, #0b2044 50%, #07152f 100%);
	color: #f4f6ff
}

.calendar .section-kicker {
	color: #9bdcff
}

.calendar h2 {
	color: #f6f7ff
}

.calendar .section-desc, .calendar .calendar-note {
	color: #c4d1e6
}

.calendar-card {
	background: #0b1a36;
	border-color: #9bcfff60
}

.calendar-card figcaption {
	color: #e7f0ff;
	border-color: #6881a5
}

.calendar-card figcaption span {
	color: #a9c9f2
}

.ticket-includes {
	max-width: 680px;
/*	margin: 24px auto 5px;	/**/
	margin: 24px auto 35px;
	padding: 16px 20px;
	border: 1px solid #b2e7ffb0;
	background: linear-gradient(100deg, #a5e7ff20, #e2c7f31c);
	box-shadow: 0 0 28px #70cfff24;
	color: #f5f5ff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.7
}

.fact:last-child small {
	color: #f1eaff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.9
}

.scroll-cue, .hero-stamp {
	display: none
}

@media(min-width:801px) {
	body {
		font-size: 16px
	}

	.hero {
		height: auto;
		min-height: 1000px;
		max-height: none
	}

	.hero-art {
		width: min(560px, 48vw);
		margin: 0 auto 22px;
		animation: hero-title-in .9s cubic-bezier(.2, .7, .25, 1) both
	}

	.hero-art img {
		width: 100%;
		height: auto
	}

	.hero h1 {
		max-width: 490px;
		max-width: 540px;
		margin-top: 18px;
		margin-top: 0;
	}

	.hero h1 img {
		width: min(100%, 440px);
		width: min(100%, 540px);
		animation: hero-logo-in 1.15s cubic-bezier(.18, .74, .25, 1) .2s both
	}

	.hero-schedule, .ticket-schedule {
		font-size: 15px
	}

	.intro-map-row {
		display: grid;
		grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
		align-items: center;
		gap: clamp(34px, 6vw, 84px);
		max-width: 1120px;
		margin: 0 auto 32px;
		text-align: left
	}

	.event-subtitle {
		width: min(470px, 80%);
		height: auto;
		margin: 26px auto 34px
	}

	.intro-copy-column h2 {
		margin-top: 0
	}

	.event-description {
		max-width: none;
		margin: 0;
		font-size: 16px
	}

	.venue-map {
		width: 100%;
		margin: 0;
		padding: 24px;
		background: #0c1b36;
		border: 1px solid #6e8db650
	}

	.venue-map figcaption {
		font: 600 12px Roboto, Arial, sans-serif;
		letter-spacing: .18em;
		color: #9fe2ff;
		margin-bottom: 16px
	}

	.venue-map figcaption span {
		font-family: var(--sans);
		font-weight: 400;
		letter-spacing: .08em;
		margin-left: 10px;
		color: #e5edf9
	}

	.venue-map img {
		width: min(100%, 440px);
		margin: 0 auto
	}
}

@media(max-width:800px) {
	.site-header {
		overflow: visible
	}

	.menu-toggle {
		position: relative;
		z-index: 13;
		display: flex;
		width: 42px;
		height: 42px;
		padding: 11px 9px;
		border: 1px solid #b6dfff88;
		border-radius: 50%;
		background: #071327c9;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		cursor: pointer
	}

	.menu-toggle span {
		display: block;
		height: 1px;
		width: 22px;
		background: #eff8ff;
		transition: transform .2s, opacity .2s
	}

	.menu-toggle[aria-expanded="true"] span:first-child {
		transform: translateY(6px) rotate(45deg)
	}

	.menu-toggle[aria-expanded="true"] span:nth-child(2) {
		opacity: 0
	}

	.menu-toggle[aria-expanded="true"] span:last-child {
		transform: translateY(-6px) rotate(-45deg)
	}

	.main-nav {
		position: absolute;
		top: calc(100% + 6px);
		left: 16px;
		right: 16px;
		z-index: 12;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 8px 16px;
		background: rgba(5, 15, 34, .97);
		border: 1px solid #9edfff55;
		box-shadow: 0 16px 38px #0007;
		backdrop-filter: blur(14px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(-8px);
		transition: opacity .2s, transform .2s, visibility .2s
	}

	.main-nav.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0)
	}

	.site-header .main-nav a:not(.nav-ticket) {
		display: block;
		padding: 13px 4px;
		border-bottom: 1px solid #9eb6d52e;
		font-size: 12px
	}

	.site-header .main-nav .nav-ticket {
		display: block;
		margin: 12px 0 6px;
		text-align: center;
		font-size: 12px
	}

	.hero-art {
		width: min(360px, 82vw);
		margin: 0 auto 14px
	}

	.hero-art img {
		width: 100%;
		height: auto
	}

	.hero-schedule {
		font-size: 10px;
		line-height: 1.8;
		margin: 0 0 11px
	}

	.ticket-schedule {
		font-size: 11px;
		line-height: 1.8
	}

	.ticket-includes {
		font-size: 12px;
		padding: 13px 12px
	}

	.intro-map-row {
		display: block
	}

	.event-subtitle {
		width: min(360px, 90%);
		height: auto;
		margin: 22px auto 14px
	}

	.event-description {
		font-size: 12px;
		line-height: 2.1
	}

	.venue-map {
		margin: 30px auto 40px;
		padding: 16px;
		background: #0c1b36;
		border: 1px solid #6e8db650
	}

	.venue-map figcaption {
		font: 600 11px Roboto, Arial, sans-serif;
		letter-spacing: .16em;
		color: #9fe2ff;
		margin-bottom: 12px
	}

	.venue-map figcaption span {
		font-family: var(--sans);
		font-weight: 400;
		margin-left: 8px;
		color: #e5edf9
	}

	.venue-map img {
		width: min(100%, 390px);
		margin: 0 auto
	}

	.calendar-card {
		background: #0c1c39;
		color: #f3f7ff;
		border: 1px solid #6e8db680
	}

	.calendar-card figcaption {
		color: #e6efff;
		border-color: #536a8c
	}

	.calendar-card figcaption span {
		color: #9dbce4
	}
}

@media(max-width:520px) {
	.hero {
		height: auto;
		min-height: max(800px, 92svh)
	}

	.hero-art {
		width: min(310px, 82vw);
		margin-bottom: 11px
	}

	.hero h1 img {
		width: 300px
	}

	.hero-schedule, .ticket-schedule {
		font-size: 9px
	}
}

@keyframes hero-title-in {
	from {
		opacity: 0;
		transform: translateY(22px);
		filter: blur(7px)
	}

	to {
		opacity: 1;
		transform: translateY(0);
		filter: blur(0)
	}
}

@keyframes hero-logo-in {
	from {
		opacity: 0;
		transform: translateY(28px) scale(.94);
		filter: blur(10px)
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
		filter: drop-shadow(0 6px 20px #17266d)
	}
}

@media(prefers-reduced-motion:reduce) {
	.hero-art, .hero h1 img {
		animation: none;
		opacity: 1;
		transform: none;
		filter: none
	}

	.menu-toggle span, .main-nav {
		transition: none
	}
}

@media(min-width:801px) {
	.menu-toggle {
		display: none
	}
}

/* MANTEN 1059 requested restored presentation */
.section-kicker {
	font-family: Roboto, Arial, sans-serif;
	font-weight: 600
}

.scroll-cue, .hero-stamp {
	display: none !important
}

.hero-schedule, .ticket-schedule {
	color: #f0eaff;
	letter-spacing: .09em;
	line-height: 1.9
}

.hero-schedule {
	font-size: 13px;
	margin: 2px 0 17px;
	text-shadow: 0 2px 14px #081126
}

.ticket-schedule {
	font-size: 13px;
	margin: 0 auto 22px
}

.calendar {
	background: radial-gradient(ellipse at 50% 0%, #183b70 0%, transparent 58%), linear-gradient(140deg, #07162e 0%, #0b2044 50%, #07152f 100%);
	color: #f4f6ff
}

.calendar .section-kicker {
	color: #9bdcff
}

.calendar h2 {
	color: #f6f7ff
}

.calendar .section-desc, .calendar .calendar-note {
	color: #c4d1e6
}

.calendar-card {
	background: #0b1a36;
	border: 1px solid #9bcfff60
}

.calendar-card figcaption {
	color: #e7f0ff;
	border-color: #6881a5
}

.calendar-card figcaption span {
	color: #a9c9f2
}

.ticket-includes {
	max-width: 680px;
/*	margin: 24px auto 5px;	/**/
	margin: 24px auto 25px;
	padding: 16px 20px;
	border: 1px solid #b2e7ffb0;
	background: linear-gradient(100deg, #a5e7ff20, #e2c7f31c);
	box-shadow: 0 0 28px #70cfff24;
	color: #f5f5ff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.7
}

.fact:last-child small {
	color: #f1eaff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.9
}

.menu-toggle {
	display: none
}

@media(min-width:801px) {
	body {
		font-size: 16px
	}

	.menu-toggle {
		display: none
	}

	.hero {
		height: auto;
		min-height: 1000px;
		max-height: none
	}

	.hero-content {
		padding-top: 126px
	}

	.hero-art {
		width: min(560px, 48vw);
		margin: 0 auto 22px;
		animation: hero-title-in .9s cubic-bezier(.2, .7, .25, 1) both
	}

	.hero-art img {
		width: 100%;
		height: auto
	}
/*
	.hero h1 {
		max-width: 490px;
		margin-top: 18px
	}
*/
	.hero h1 {
		max-width: 540px;
		margin-top: -30px;
	}

	.hero h1 img {
		width: min(100%, 440px);
		width: min(100%, 540px);
		animation: hero-logo-in 1.15s cubic-bezier(.18, .74, .25, 1) .2s both
	}

	.hero-schedule, .ticket-schedule {
		font-size: 15px
	}

	.intro-map-row {
		display: grid;
		grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
		align-items: center;
		gap: clamp(34px, 6vw, 84px);
		max-width: 1120px;
		margin: 0 auto 32px;
		text-align: left
	}

	.event-subtitle {
		width: min(470px, 80%);
		height: auto;
		margin: 26px auto 34px
	}

	.intro-copy-column h2 {
		margin-top: 0
	}

	.event-description {
		max-width: none;
		margin: 0;
		font-size: 16px
	}

	.venue-map {
		width: 100%;
		margin: 0;
		padding: 24px;
		background: #0c1b36;
		border: 1px solid #6e8db650
	}

	.venue-map figcaption {
		font: 600 12px Roboto, Arial, sans-serif;
		letter-spacing: .18em;
		color: #9fe2ff;
		margin-bottom: 16px
	}

	.venue-map figcaption span {
		font-family: var(--sans);
		font-weight: 400;
		letter-spacing: .08em;
		margin-left: 10px;
		color: #e5edf9
	}

	.venue-map img {
		width: min(100%, 440px);
		margin: 0 auto
	}
}

@media(max-width:800px) {
	.site-header {
		overflow: visible
	}

	.menu-toggle {
		position: relative;
		z-index: 13;
		display: flex;
		width: 42px;
		height: 42px;
		padding: 11px 9px;
		border: 1px solid #b6dfff88;
		border-radius: 50%;
		background: #071327c9;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		cursor: pointer
	}

	.menu-toggle span {
		display: block;
		height: 1px;
		width: 22px;
		background: #eff8ff;
		transition: transform .2s, opacity .2s
	}

	.menu-toggle[aria-expanded="true"] span:first-child {
		transform: translateY(6px) rotate(45deg)
	}

	.menu-toggle[aria-expanded="true"] span:nth-child(2) {
		opacity: 0
	}

	.menu-toggle[aria-expanded="true"] span:last-child {
		transform: translateY(-6px) rotate(-45deg)
	}

	.main-nav {
		position: absolute;
		top: calc(100% + 6px);
		left: 16px;
		right: 16px;
		z-index: 12;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 8px 16px;
		background: rgba(5, 15, 34, .97);
		border: 1px solid #9edfff55;
		box-shadow: 0 16px 38px #0007;
		backdrop-filter: blur(14px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(-8px);
		transition: opacity .2s, transform .2s, visibility .2s
	}

	.main-nav.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0)
	}

	.site-header .main-nav a:not(.nav-ticket) {
		display: block;
		padding: 13px 4px;
		border-bottom: 1px solid #9eb6d52e;
		font-size: 12px
	}

	.site-header .main-nav .nav-ticket {
		display: block;
		margin: 12px 0 6px;
		text-align: center;
		font-size: 12px
	}

	.hero-art {
		width: min(360px, 82vw);
		margin: 0 auto 14px
	}

	.hero-art img {
		width: 100%;
		height: auto
	}

	.hero-schedule {
		font-size: 10px;
		line-height: 1.8;
		margin: 0 0 11px
	}

	.ticket-schedule {
		font-size: 11px;
		line-height: 1.8
	}

	.ticket-includes {
		font-size: 12px;
		padding: 13px 12px
	}

	.intro-map-row {
		display: block
	}

	.event-subtitle {
		width: min(360px, 90%);
		height: auto;
		margin: 22px auto 14px
	}

	.event-description {
		font-size: 12px;
		line-height: 2.1
	}

	.venue-map {
		margin: 30px auto 40px;
		padding: 16px;
		background: #0c1b36;
		border: 1px solid #6e8db650
	}

	.venue-map figcaption {
		font: 600 11px Roboto, Arial, sans-serif;
		letter-spacing: .16em;
		color: #9fe2ff;
		margin-bottom: 12px
	}

	.venue-map figcaption span {
		font-family: var(--sans);
		font-weight: 400;
		margin-left: 8px;
		color: #e5edf9
	}

	.venue-map img {
		width: min(100%, 390px);
		margin: 0 auto
	}
}

@media(max-width:520px) {
	.hero {
		height: auto;
		min-height: max(800px, 92svh)
	}

	.hero-art {
		width: min(310px, 82vw);
		margin-bottom: 11px
	}

	.hero h1 img {
		width: 300px
	}

	.hero-schedule, .ticket-schedule {
		font-size: 9px
	}
}

@keyframes hero-title-in {
	from {
		opacity: 0;
		transform: translateY(22px);
		filter: blur(7px)
	}

	to {
		opacity: 1;
		transform: translateY(0);
		filter: blur(0)
	}
}

@keyframes hero-logo-in {
	from {
		opacity: 0;
		transform: translateY(28px) scale(.94);
		filter: blur(10px)
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
		filter: drop-shadow(0 6px 20px #17266d)
	}
}

@media(prefers-reduced-motion:reduce) {
	.hero-art, .hero h1 img {
		animation: none;
		opacity: 1;
		transform: none;
		filter: none
	}

	.menu-toggle span, .main-nav {
		transition: none
	}
}

/* Keep the mobile menu control and its panel attached to the viewport while scrolling. */
@media(max-width:800px) {
  .menu-toggle {
    position: fixed;
    top: 14px;
    right: 22px;
  }

  .main-nav {
    position: fixed;
    top: 68px;
    left: 16px;
    right: 16px;
  }
}