/* Book The Band — scoped to .mg-page.mg-book (Anton + Sora) */

.mg-page.mg-book {
	overflow-x: hidden;
}

.mg-page.mg-book a {
	color:var(--gold-bright);
}

.mg-page.mg-book .btn {
	font-family:var(--body);
	font-size:15px;
	font-weight:600;
	letter-spacing:.3px;
	padding:16px 32px;
	border-radius:46px;
	cursor:pointer;
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	gap:10px;
	border:none;
	transition:all .25s;
}

.mg-page.mg-book .btn-gold {
	background:var(--gold);
	color:var(--ink);
}

.mg-page.mg-book .btn-gold:hover {
	background:var(--gold-bright);
	transform:translateY(-3px);
	box-shadow:0 14px 36px rgba(212,175,55,.4);
}

.mg-page.mg-book .grain {
	position:absolute;
	inset:0;
	z-index:1;
	opacity:.05;
	pointer-events:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.mg-page.mg-book .book-hero {
	position:relative;
	min-height:100vh;
	display:flex;
	align-items:center;
	padding:120px 24px 60px;
	overflow:hidden;
}

.mg-page.mg-book .book-hero-img {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 30%;
}

.mg-page.mg-book .book-hero-bg {
	position:absolute;
	inset:0;
	background:radial-gradient(ellipse at 25% 30%,rgba(212,175,55,.18),transparent 55%),linear-gradient(180deg,rgba(12,12,14,.78) 0%,rgba(12,12,14,.66) 50%,#0c0c0e 100%);
}

.mg-page.mg-book .book-hero-wrap {
	position:relative;
	z-index:2;
	max-width:1120px;
	margin:0 auto;
	width:100%;
	display:grid;
	grid-template-columns:1fr;
	gap:40px;
	align-items:center;
}

.mg-page.mg-book .eyebrow {
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-size:12.5px;
	letter-spacing:3px;
	text-transform:uppercase;
	color:var(--gold);
	font-weight:500;
	margin-bottom:20px;
}

.mg-page.mg-book .eyebrow::before {
	content:"";
	width:30px;
	height:1px;
	background:var(--gold);
	opacity:.5;
}

.mg-page.mg-book .h1 {
	font-family:var(--display);
	font-size:clamp(42px,6.5vw,84px);
	line-height:.96;
	letter-spacing:-1px;
	text-transform:uppercase;
}

.mg-page.mg-book .h1 em {
	font-style:normal;
	color:var(--gold);
}

.mg-page.mg-book .hero-sub {
	font-size:clamp(15.5px,1.8vw,18px);
	color:#d8d4cc;
	max-width:480px;
	margin-top:20px;
}

.mg-page.mg-book .hero-sub b {
	color:var(--paper);
	font-weight:600;
}

.mg-page.mg-book .form-card {
	background:rgba(12,12,14,.62);
	border:1px solid var(--line);
	border-radius:20px;
	padding:34px;
	backdrop-filter:blur(8px);
}

.mg-page.mg-book .form-card h2 {
	font-family:var(--display);
	font-size:26px;
	text-transform:uppercase;
	letter-spacing:.5px;
	margin-bottom:6px;
}

.mg-page.mg-book .form-card .fsub {
	font-size:13.5px;
	color:var(--muted);
	margin-bottom:20px;
}

.mg-page.mg-book .form-card label {
	display:block;
	font-size:12.5px;
	letter-spacing:1px;
	text-transform:uppercase;
	color:var(--muted);
	margin:18px 0 7px;
}

.mg-page.mg-book .form-card label:first-of-type {
	margin-top:0;
}

.mg-page.mg-book .form-card input {
	width:100%;
	padding:14px 16px;
	border-radius:10px;
	border:1px solid var(--line);
	background:rgba(255,255,255,.04);
	color:var(--paper);
	font-family:var(--body);
	font-size:15px;
	transition:border-color .2s;
}

.mg-page.mg-book .form-card input:focus {
	outline:none;
	border-color:var(--gold);
}

.mg-page.mg-book .form-card .btn {
	width:100%;
	justify-content:center;
	margin-top:24px;
}

.mg-page.mg-book .form-note {
	font-size:12.5px;
	color:var(--muted);
	text-align:center;
	margin-top:14px;
}

.mg-page.mg-book .form-note b {
	color:var(--gold-bright);
	font-weight:600;
}

.mg-page.mg-book .trust {
	border-top:1px solid var(--line);
	border-bottom:1px solid var(--line);
	background:var(--ink-soft);
}

.mg-page.mg-book .trust-in {
	max-width:1120px;
	margin:0 auto;
	display:grid;
	grid-template-columns:1fr;
}

.mg-page.mg-book .tcell {
	padding:30px 24px;
	text-align:center;
	border-top:1px solid var(--line);
}

.mg-page.mg-book .tcell:first-child {
	border-top:none;
}

.mg-page.mg-book .tcell .big {
	font-family:var(--display);
	font-size:30px;
	color:var(--gold);
	line-height:1;
}

.mg-page.mg-book .tcell .sm {
	font-size:12.5px;
	letter-spacing:1.5px;
	text-transform:uppercase;
	color:var(--muted);
	margin-top:7px;
}

.mg-page.mg-book .sec {
	padding:76px 24px;
	position:relative;
}

.mg-page.mg-book .sec-alt {
	background:var(--ink-soft);
	border-top:1px solid var(--line);
	border-bottom:1px solid var(--line);
}

.mg-page.mg-book .sec-tag {
	font-size:12px;
	letter-spacing:3px;
	text-transform:uppercase;
	color:var(--gold);
	font-weight:500;
	margin-bottom:16px;
	display:block;
	text-align:center;
}

.mg-page.mg-book .h2 {
	font-family:var(--display);
	font-size:clamp(30px,4.4vw,50px);
	line-height:1;
	text-transform:uppercase;
	letter-spacing:-.5px;
	text-align:center;
}

.mg-page.mg-book .steps {
	max-width:1080px;
	margin:48px auto 0;
	display:grid;
	grid-template-columns:1fr;
	gap:20px;
}

.mg-page.mg-book .step {
	position:relative;
	padding:38px 30px;
	border:1px solid var(--line);
	border-radius:16px;
	background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);
	transition:border-color .3s,transform .3s;
}

.mg-page.mg-book .step:hover {
	border-color:rgba(212,175,55,.4);
	transform:translateY(-4px);
}

.mg-page.mg-book .step-num {
	font-family:var(--display);
	font-size:44px;
	color:var(--gold);
	line-height:1;
	margin-bottom:16px;
}

.mg-page.mg-book .step h3 {
	font-size:19px;
	font-weight:600;
	margin-bottom:10px;
}

.mg-page.mg-book .step p {
	color:var(--muted);
	font-size:15px;
}

.mg-page.mg-book .step .when {
	display:inline-block;
	margin-top:14px;
	font-size:12px;
	letter-spacing:1.5px;
	text-transform:uppercase;
	color:var(--gold-bright);
	border:1px solid rgba(212,175,55,.35);
	border-radius:30px;
	padding:6px 14px;
}

.mg-page.mg-book .faq-wrap {
	max-width:820px;
	margin:40px auto 0;
}

.mg-page.mg-book .faq {
	border-bottom:1px solid var(--line);
}

.mg-page.mg-book .faq summary {
	cursor:pointer;
	list-style:none;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:20px;
	padding:24px 0;
	font-size:19px;
	font-weight:600;
}

.mg-page.mg-book .faq summary::-webkit-details-marker {
	display:none;
}

.mg-page.mg-book .faq summary::after {
	content:"+";
	color:var(--gold);
	font-weight:300;
	font-size:28px;
	flex-shrink:0;
}

.mg-page.mg-book .faq[open] summary::after {
	content:"−";
}

.mg-page.mg-book .faq p {
	color:#cfcbc2;
	font-size:15.5px;
	margin:0 0 24px;
	max-width:66ch;
}

.mg-page.mg-book .quote-sec {
	text-align:center;
	position:relative;
	overflow:hidden;
}

.mg-page.mg-book .quote-bg {
	position:absolute;
	inset:0;
	background:radial-gradient(ellipse at 50% 50%,rgba(212,175,55,.14),transparent 60%),var(--ink-soft);
}

.mg-page.mg-book .quote-in {
	position:relative;
	z-index:2;
	max-width:780px;
	margin:0 auto;
}

.mg-page.mg-book .stars {
	color:var(--gold);
	font-size:20px;
	letter-spacing:4px;
	margin-bottom:24px;
}

.mg-page.mg-book .bigquote {
	font-size:clamp(21px,3vw,30px);
	line-height:1.5;
	font-weight:300;
	color:var(--paper);
}

.mg-page.mg-book .bigquote b {
	font-weight:600;
}

.mg-page.mg-book .quote-who {
	margin-top:26px;
	font-size:13px;
	letter-spacing:2px;
	text-transform:uppercase;
	color:var(--gold);
}

.mg-page.mg-book .quote-venue {
	font-size:13.5px;
	color:var(--muted);
	margin-top:5px;
}

.mg-page.mg-book .quote-in .btn {
	margin-top:36px;
}

.mg-page.mg-book .foot p {
	color:var(--muted);
	font-size:13.5px;
	margin-top:16px;
}

.mg-page.mg-book .foot a {
	color:#cfcbc2;
	text-decoration:none;
	margin:0 12px;
	font-size:14px;
}

.mg-page.mg-book .foot a:hover {
	color:var(--gold-bright);
}

@media(min-width:920px) {
	.mg-page.mg-book .book-hero{padding:140px 48px 80px}.mg-page.mg-book .book-hero-wrap{grid-template-columns:1.05fr .95fr;
	gap:60px}.mg-page.mg-book .sec{padding:100px 48px}.mg-page.mg-book .steps{grid-template-columns:repeat(3,1fr);
	gap:24px}.mg-page.mg-book .trust-in{grid-template-columns:repeat(3,1fr)}.mg-page.mg-book .tcell{border-top:none;
	border-left:1px solid var(--line)}.mg-page.mg-book .tcell:first-child{border-left:none};
}
