.osprey-calculator-wrapper {
	background: radial-gradient(circle at top left, #fff 0, #f6f8fc 40%, #f3f6fb 100%);
	padding: 2.25rem 1.25rem;
}

.osprey-calculator-card {
	background: #f6f6f6;
	border-radius: 18px;
	box-shadow: 0 24px 45px rgba(0, 0, 0, .08);
	font-size: 16px;
	margin: 0 auto;
	padding: 1.6rem 1.6rem 1.7rem;
	width: min(92vw, 1040px);
}

.osc-head {
	margin: 0 0 1rem;
	text-align: center;
}

.osc-eyebrow {
	color: #9aa3af;
	font-family: "Poppins", system-ui, sans-serif;
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .22em;
	margin-bottom: .45rem;
	text-transform: uppercase;
}

.osc-title {
	color: #0a1533;
	font-family: "Bungee", system-ui, sans-serif;
	font-size: clamp(1.5rem, 2.2vw, 2rem);
	font-weight: 400;
	margin: 0;
}

.osc-layout {
	align-items: start;
	display: grid;
	gap: 1rem;
	grid-template-columns: 1.15fr .85fr;
}

.osc-controls,
.osc-result-card {
	background: #fff;
	border: 1px solid #0a1533 !important;
	border-radius: 14px;
	box-shadow: 0 14px 28px rgba(10, 21, 51, .05);
	padding: 1rem;
}

.osc-grid2 {
	display: grid;
	gap: .8rem 1rem;
	grid-template-columns: 1fr 1fr;
	margin-bottom: .85rem;
}

.osc-grid2--tight {
	margin-bottom: .7rem;
}

.osc-block,
.osc-field {
	background: rgba(10, 21, 51, .03);
	border: 1px solid #0a1533 !important;
	border-radius: 12px;
	padding: .85rem .9rem;
}

.osc-label {
	display: block;
	font-family: "Anton", system-ui, sans-serif;
	font-size: 1rem;
	letter-spacing: .04em;
	margin-bottom: .35rem;
	text-transform: uppercase;
}

.osc-label--emphasis {
	color: #0a1533;
}

.osc-range,
.osc-select {
	width: 100%;
}

.osc-value,
.osc-radio,
.osc-select,
.osc-small,
.osc-result-heading,
.osc-total,
.osc-breakdown,
.osc-quote-btn,
.osc-disclaimer {
	font-family: "Inter", system-ui, sans-serif;
}

.osc-value {
	color: #111;
	font-weight: 600;
	margin-top: .3rem;
}

.osc-inline {
	align-items: center;
	display: flex;
	gap: .65rem;
}

.osc-radio {
	align-items: center;
	display: inline-flex;
	font-size: .92rem;
	font-weight: 600;
	gap: .35rem;
}

.osc-radio input {
	accent-color: #16a89f;
}

.osc-select {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .14);
	border-radius: 10px;
	font-weight: 600;
	padding: .55rem .6rem;
}

.osc-small,
.osc-disclaimer {
	color: #6b7280;
	font-size: .82rem;
	margin-top: .45rem;
}

.osc-result-card {
	box-shadow: 0 14px 28px rgba(10, 21, 51, .06);
	padding: 1.15rem 1.15rem 1.25rem;
	position: sticky;
	top: 16px;
}

.osc-result-heading {
	color: #111;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.osc-total {
	color: #0a1533;
	font-size: 2rem;
	font-weight: 900;
	margin: .65rem 0 .75rem;
}

.osc-breakdown {
	color: #111;
	font-size: .92rem;
}

.osc-breakdown hr {
	border: 0;
	border-top: 1px solid rgba(0, 0, 0, .1);
	margin: .65rem 0;
}

.osc-quote-btn {
	background: #16a89f;
	border-radius: 999px;
	box-shadow: 0 14px 28px rgba(22, 168, 159, .28);
	color: #fff;
	display: block;
	font-weight: 900;
	letter-spacing: .08em;
	margin-top: 1rem;
	padding: .85rem 1.2rem;
	text-align: center;
	text-decoration: none;
}

.osc-disclaimer {
	margin-top: .75rem;
}

@media (max-width: 980px) {
	.osc-layout {
		grid-template-columns: 1fr;
	}

	.osc-result-card {
		position: relative;
		top: auto;
	}
}

@media (max-width: 720px) {
	.osc-grid2 {
		grid-template-columns: 1fr;
	}

	.osprey-calculator-card {
		padding: 1.25rem;
	}
}

@media (min-width: 1101px) {
	.osprey-page-rates #os-catering-packages {
		height: 1242.65px;
	}

	.osprey-page-rates #os-bar-packages {
		height: 1127.8px;
	}

	.osprey-page-rates .os-booking-section {
		min-height: 714.15px;
	}
}
