/**
 * Page templates - Sprint 2.3.
 */
.fb-template-hero {
	position: relative;
	min-height: 62vh;
	padding: 170px 0 90px;
	isolation: isolate;
	color: #f8f5ef;
	background-image: var(--fb-hero-image);
	background-position: center center;
	background-size: cover;
}
.fb-template-hero::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	background: linear-gradient(90deg, rgba(9, 29, 20, 0.92), rgba(18, 53, 36, 0.68), rgba(18, 53, 36, 0.24)), linear-gradient(180deg, rgba(9, 29, 20, 0.1), rgba(9, 29, 20, 0.88));
}
.fb-template-hero__inner,
.fb-template-section__inner {
	width: min(100% - 40px, 1180px);
	margin: 0 auto;
}
.fb-template-hero__eyebrow,
.fb-template-kicker {
	margin: 0 0 16px;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.24em;
	color: #c8a24d;
	text-transform: uppercase;
}
.fb-template-hero h1 {
	max-width: 920px;
	margin: 0;
	font-size: clamp(3rem, 7vw, 7rem);
	line-height: 0.98;
	color: #f8f5ef;
}
.fb-template-hero p:last-child {
	max-width: 720px;
	margin: 26px 0 0;
	font-size: clamp(1.05rem, 1.7vw, 1.32rem);
	color: rgba(248, 245, 239, 0.88);
}
.fb-template-section {
	padding: clamp(70px, 8vw, 118px) 0;
	background: #f8f5ef;
}
.fb-template-section--dark {
	color: #f8f5ef;
	background: #0d271b;
}
.fb-template-section--dark h2,
.fb-template-section--dark h3 {
	color: #f8f5ef;
}
.fb-template-headline {
	max-width: 860px;
	margin-bottom: 38px;
}
.fb-template-headline h2 {
	margin: 0;
	font-size: clamp(2.2rem, 5vw, 5rem);
}
.fb-template-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
.fb-template-grid--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.fb-template-grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fb-template-card {
	position: relative;
	padding: clamp(26px, 4vw, 42px);
	overflow: hidden;
	background: #ffffff;
	border: 1px solid rgba(18, 53, 36, 0.1);
	border-radius: 32px;
	box-shadow: 0 24px 70px rgba(18, 53, 36, 0.12);
}
.fb-template-section--dark .fb-template-card {
	background: linear-gradient(155deg, rgba(22, 63, 44, 0.98), rgba(13, 39, 27, 0.98));
	border-color: rgba(200, 162, 77, 0.24);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}
.fb-template-card h3 {
	margin-top: 0;
	font-size: clamp(1.45rem, 2.5vw, 2.2rem);
}
.fb-template-card p {
	margin-bottom: 0;
}
.fb-template-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 13px;
	margin-bottom: 20px;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: #123524;
	text-transform: uppercase;
	background: #c8a24d;
	border-radius: 999px;
}
.fb-member-profile__monogram {
	display: grid;
	width: 70px;
	height: 70px;
	margin-bottom: 26px;
	place-items: center;
	font-family: "Cinzel", Georgia, serif;
	font-size: 1.65rem;
	font-weight: 800;
	color: #123524;
	background: linear-gradient(135deg, #d8bb73, #c8a24d);
	border-radius: 999px;
}
.fb-ranking-table {
	width: 100%;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid rgba(18, 53, 36, 0.1);
	border-radius: 28px;
	box-shadow: 0 24px 70px rgba(18, 53, 36, 0.12);
}
.fb-ranking-row {
	display: grid;
	grid-template-columns: 90px 1fr 160px 160px;
	gap: 18px;
	align-items: center;
	padding: 20px 26px;
	border-bottom: 1px solid rgba(18, 53, 36, 0.08);
}
.fb-ranking-row:last-child {
	border-bottom: 0;
}
.fb-ranking-row--head {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	color: #c8a24d;
	text-transform: uppercase;
	background: #123524;
}
.fb-lounge-panel {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 22px;
	align-items: stretch;
}
.fb-login-card {
	padding: clamp(28px, 4vw, 48px);
	color: #f8f5ef;
	background: radial-gradient(circle at top left, rgba(200, 162, 77, 0.27), transparent 32%), linear-gradient(155deg, #163f2c, #0d271b);
	border: 1px solid rgba(200, 162, 77, 0.28);
	border-radius: 34px;
}
.fb-login-card .login-username,
.fb-login-card .login-password,
.fb-login-card .login-remember,
.fb-login-card .login-submit {
	margin: 0 0 16px;
}
.fb-login-card label {
	display: block;
	margin-bottom: 7px;
	font-weight: 700;
	color: #c8a24d;
}
.fb-login-card input[type="text"],
.fb-login-card input[type="password"] {
	width: 100%;
	min-height: 50px;
	padding: 0 15px;
	color: #f8f5ef;
	background: rgba(248, 245, 239, 0.08);
	border: 1px solid rgba(248, 245, 239, 0.22);
	border-radius: 14px;
}
.fb-login-card input[type="submit"] {
	min-height: 50px;
	padding: 0 22px;
	font-weight: 800;
	color: #123524;
	cursor: pointer;
	background: linear-gradient(135deg, #d8bb73, #c8a24d);
	border: 0;
	border-radius: 999px;
}
.fb-contact-box {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 22px;
}
.fb-contact-note {
	padding: clamp(28px, 4vw, 44px);
	color: #f8f5ef;
	background: #123524;
	border-radius: 34px;
}
.fb-contact-content {
	padding: clamp(28px, 4vw, 44px);
	background: #ffffff;
	border: 1px solid rgba(18, 53, 36, 0.1);
	border-radius: 34px;
}
@media (max-width: 980px) {
	.fb-template-grid,
	.fb-template-grid--four,
	.fb-template-grid--two,
	.fb-lounge-panel,
	.fb-contact-box {
		grid-template-columns: 1fr 1fr;
	}
	.fb-ranking-row {
		grid-template-columns: 70px 1fr 110px 110px;
	}
}
@media (max-width: 720px) {
	.fb-template-hero__inner,
	.fb-template-section__inner {
		width: min(100% - 28px, 1180px);
	}
	.fb-template-grid,
	.fb-template-grid--four,
	.fb-template-grid--two,
	.fb-lounge-panel,
	.fb-contact-box {
		grid-template-columns: 1fr;
	}
	.fb-ranking-table {
		border-radius: 22px;
	}
	.fb-ranking-row,
	.fb-ranking-row--head {
		grid-template-columns: 1fr;
		gap: 6px;
	}
	.fb-ranking-row--head {
		display: none;
	}
}

.fb-core-theme-fallback{padding:24px;margin:24px 0;color:#123524;background:#fff8e1;border:1px solid rgba(200,162,77,.5);border-radius:22px}.fb-core-theme-fallback strong{display:block;margin-bottom:8px}.fb-core-template-output{margin-top:34px}.fb-core-template-output .fb-core-grid,.fb-core-template-output .fb-core-leaderboard,.fb-core-template-output .fb-core-lounge-teaser{margin-top:0}
