.os-plugin-grid,
.os-slot-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}

.os-hero-grid,
.os-slots-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(22rem, 0.9fr);
	gap: 1.5rem;
	align-items: start;
}

.os-card {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 2.2rem;
	border: 1px solid rgba(27, 45, 70, 0.1);
	border-radius: 2rem;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 20px 60px rgba(19, 20, 28, 0.05);
}

.os-card-cta {
	border-color: rgba(196, 56, 146, 0.24);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(253, 244, 250, 0.98) 100%);
}

.os-card-head,
.os-card-meta,
.os-card-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.os-card-kicker,
.os-card-meta,
.os-status {
	font-size: 0.84rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.os-card-kicker,
.os-card-meta {
	color: #7f8ea1;
}

.os-status {
	display: inline-flex;
	align-items: center;
	min-height: 2.25rem;
	padding: 0.4rem 0.85rem;
	border: 1px solid currentColor;
	border-radius: 999px;
	font-weight: 700;
	white-space: nowrap;
}

.os-status[data-status="available"] {
	color: #0ea57c;
}

.os-status[data-status="reserved"] {
	color: #d38f0f;
}

.os-status[data-status="in_progress"] {
	color: #0a8dd6;
}

.os-status[data-status="completed"],
.os-status[data-status="published"] {
	color: #43c39f;
}

.os-card-title {
	margin: 0;
	font-size: clamp(2rem, 3vw, 3.25rem);
	line-height: 1.02;
	letter-spacing: -0.05em;
	color: #244f72;
	text-wrap: balance;
}

.os-card-copy {
	margin: 0;
	font-size: 1.1rem;
	color: #55718c;
}

.os-copy-inverse {
	color: rgba(255, 255, 255, 0.84);
}

.os-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: 0.7rem 1.25rem;
	border: 1px solid rgba(27, 45, 70, 0.12);
	border-radius: 999px;
	background: transparent;
	color: #244f72;
	text-decoration: none;
	font-weight: 700;
}

.os-button.is-primary {
	border-color: #c43892;
	background: #c43892;
	color: #ffffff;
}

.os-button.is-secondary {
	background: transparent;
}

.os-button.is-inverse {
	border-color: rgba(255, 255, 255, 0.18);
	color: #ffffff;
}

.os-panel {
	padding: 2.4rem;
	border-radius: 2rem;
	background: #151720;
	color: rgba(255, 255, 255, 0.82);
}

.os-panel-soft {
	padding: 2.2rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 2rem;
	background: #2a2c36;
	color: rgba(255, 255, 255, 0.82);
}

.os-panel-title {
	margin: 0;
	color: #ffffff;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.02;
	letter-spacing: -0.04em;
}

.os-heading-inverse {
	color: #ffffff;
}

.os-card-meta-inverse {
	color: rgba(255, 255, 255, 0.74);
}

.os-compare-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.os-compare-panels {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.os-compare-panel {
	padding: 1.75rem;
	border: 1px solid rgba(27, 45, 70, 0.08);
	border-radius: 2rem;
	background: rgba(255, 255, 255, 0.9);
}

.os-compare-panel-accent {
	border-color: rgba(196, 56, 146, 0.18);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(252, 242, 248, 0.95) 100%);
}

.os-compare-panel-list {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.os-compare-pill {
	margin: 0;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(27, 45, 70, 0.08);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.96);
	color: #55718c;
	font-size: 1.02rem;
}

.os-eyebrow-muted {
	color: #7f8ea1;
}

.os-system-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: 2rem;
	align-items: start;
}

.os-system-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.os-system-card:nth-child(4) {
	grid-column: 1 / 2;
}

.os-system-card:nth-child(5) {
	grid-column: 2 / 3;
}

.os-workflow-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}

.os-workflow-card {
	min-height: 17.5rem;
	justify-content: flex-end;
}

.os-compare-card,
.os-detail-card {
	padding: 1.5rem;
	border: 1px solid rgba(27, 45, 70, 0.08);
	border-radius: 1.5rem;
	background: rgba(255, 255, 255, 0.78);
}

.os-surface {
	padding: 2.4rem;
}

.os-surface-roomy {
	padding: 2.8rem;
}

.os-heading-xl {
	margin: 0;
	font-size: clamp(3rem, 4.5vw, 4.8rem);
	line-height: 0.98;
	letter-spacing: -0.06em;
	color: #244f72;
	text-wrap: balance;
}

.os-card-kicker-accent {
	color: #c43892;
}

.os-stack-xl > * + * {
	margin-top: 3.5rem;
}

.os-list {
	margin: 0;
	padding-left: 1.2rem;
	color: #55718c;
}

.os-list li + li {
	margin-top: 0.7rem;
}

.os-faq-item {
	padding-top: 1rem;
	border-top: 1px solid rgba(27, 45, 70, 0.1);
}

.os-faq-question {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.25;
	color: #244f72;
}

input[type="text"],
input[type="email"],
textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(27, 45, 70, 0.16);
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.96);
	color: #244f72;
	font: inherit;
}

label {
	display: inline-block;
	margin-bottom: 0.35rem;
	color: rgba(255, 255, 255, 0.88);
	font-weight: 700;
}

@media (max-width: 900px) {
	.os-plugin-grid,
	.os-slot-grid,
	.os-hero-grid,
	.os-slots-layout,
	.os-compare-grid,
	.os-compare-panels,
	.os-workflow-grid,
	.os-system-layout,
	.os-system-grid {
		grid-template-columns: 1fr;
	}

	.os-system-card:nth-child(4),
	.os-system-card:nth-child(5) {
		grid-column: auto;
	}
}
