/**
 * Sora Benefits Matrix — Front-End Styles
 * All selectors namespaced under .sora-benefits-matrix.
 */
.sora-benefits-matrix {
	--sbm-navy: #0B1F3A;
	--sbm-gold: #C9A84C;
	--sbm-white: #fff;
	--sbm-border: rgba(255,255,255,.14);
	--sbm-muted: rgba(255,255,255,.68);
	--sbm-dim:   rgba(255,255,255,.45);
	--sbm-faint: rgba(255,255,255,.4);

	background: var(--sbm-navy);
	color: var(--sbm-white);
	font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
	font-weight: 400;
	line-height: 1.6;
	padding: 120px 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.sora-benefits-matrix *,
.sora-benefits-matrix *::before,
.sora-benefits-matrix *::after { box-sizing: border-box; }

.sora-benefits-matrix .sbm-container {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 48px;
}

/* Typography */
.sora-benefits-matrix .sbm-h2 {
	font-family: 'Lora', Georgia, serif;
	font-weight: 500;
	letter-spacing: -.01em;
	line-height: 1.18;
	font-size: clamp(32px, 3.8vw, 46px);
	color: var(--sbm-white);
	margin: 0 0 22px;
	max-width: 640px;
}

.sora-benefits-matrix .sbm-lead {
	font-size: 16px;
	line-height: 1.65;
	color: var(--sbm-muted);
	max-width: 620px;
	margin: 0;
}

/* Section head */
.sora-benefits-matrix .sbm-section-head {
	display: grid;
	grid-template-columns: 1fr 1.35fr;
	gap: 80px;
	margin-bottom: 64px;
	align-items: start;
}

.sora-benefits-matrix .sbm-lhs {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.sora-benefits-matrix .sbm-section-num {
	font-family: 'Lora', Georgia, serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .18em;
	color: var(--sbm-dim);
}

.sora-benefits-matrix .sbm-section-eyebrow {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: rgba(255,255,255,.55);
}

/* Table */
.sora-benefits-matrix .sbm-bt { border-top: 1px solid var(--sbm-border); }

.sora-benefits-matrix .sbm-bt-head,
.sora-benefits-matrix .sbm-bt-row {
	display: grid;
	grid-template-columns: 60px 1.4fr 1fr 160px 140px;
	gap: 32px;
	border-bottom: 1px solid var(--sbm-border);
}

.sora-benefits-matrix .sbm-bt-head {
	padding: 18px 0 16px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--sbm-faint);
}

.sora-benefits-matrix .sbm-bt-row {
	padding: 36px 0;
	align-items: start;
}

.sora-benefits-matrix .sbm-h-cost,
.sora-benefits-matrix .sbm-h-tag { text-align: right; }

/* Row cells */
.sora-benefits-matrix .sbm-bt-num {
	font-family: 'Lora', Georgia, serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .1em;
	color: var(--sbm-dim);
	padding-top: 6px;
}

.sora-benefits-matrix .sbm-bt-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.sora-benefits-matrix .sbm-bt-name {
	font-family: 'Lora', Georgia, serif;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.25;
	color: var(--sbm-white);
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.sora-benefits-matrix .sbm-badge {
	font-size: 9px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	padding: 4px 8px;
	border: 1px solid rgba(255,255,255,.3);
	color: rgba(255,255,255,.7);
	border-radius: 2px;
}

.sora-benefits-matrix .sbm-badge.sbm-gold {
	border-color: var(--sbm-gold);
	color: var(--sbm-gold);
}

.sora-benefits-matrix .sbm-bt-desc {
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--sbm-muted);
	max-width: 620px;
	margin: 0;
}

.sora-benefits-matrix .sbm-bt-equiv {
	padding-top: 4px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sora-benefits-matrix .sbm-equiv-label {
	font-size: 9px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--sbm-faint);
}

.sora-benefits-matrix .sbm-equiv-tools {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.sora-benefits-matrix .sbm-equiv-tools span {
	font-family: 'Lora', Georgia, serif;
	font-size: 15px;
	font-weight: 500;
	color: rgba(255,255,255,.85);
	line-height: 1.3;
}

.sora-benefits-matrix .sbm-bt-cost {
	text-align: right;
	padding-top: 4px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: flex-end;
}

.sora-benefits-matrix .sbm-cost-figure {
	font-family: 'Lora', Georgia, serif;
	font-size: 22px;
	font-weight: 500;
	color: var(--sbm-white);
	letter-spacing: -.01em;
	line-height: 1.1;
}

.sora-benefits-matrix .sbm-cost-period {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(255,255,255,.5);
}

.sora-benefits-matrix .sbm-bt-tag {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255,255,255,.6);
	text-align: right;
	padding-top: 10px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

.sora-benefits-matrix .sbm-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(255,255,255,.3);
	flex-shrink: 0;
}

.sora-benefits-matrix .sbm-bt-tag.sbm-featured {
	color: var(--sbm-gold);
	font-weight: 600;
}

.sora-benefits-matrix .sbm-bt-tag.sbm-featured .sbm-dot {
	background: var(--sbm-gold);
}

/* Accessibility — focus visible on any interactive descendant */
.sora-benefits-matrix :focus-visible {
	outline: 2px solid var(--sbm-gold);
	outline-offset: 3px;
	border-radius: 2px;
}

/* Responsive */
@media (max-width: 1100px) {
	.sora-benefits-matrix .sbm-bt-head,
	.sora-benefits-matrix .sbm-bt-row {
		grid-template-columns: 50px 1.3fr 1fr 140px 120px;
		gap: 24px;
	}
	.sora-benefits-matrix .sbm-bt-name { font-size: 19px; }
	.sora-benefits-matrix .sbm-cost-figure { font-size: 19px; }
}

@media (max-width: 1024px) {
	.sora-benefits-matrix { padding: 90px 0; }
	.sora-benefits-matrix .sbm-container { padding: 0 32px; }
	.sora-benefits-matrix .sbm-section-head {
		grid-template-columns: 1fr;
		gap: 48px;
	}
}

@media (max-width: 900px) {
	.sora-benefits-matrix .sbm-container { padding: 0 24px; }
	.sora-benefits-matrix .sbm-bt-head { display: none; }
	.sora-benefits-matrix .sbm-bt-row {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 32px 0;
	}
	.sora-benefits-matrix .sbm-bt-num { padding-top: 0; font-size: 12px; }
	.sora-benefits-matrix .sbm-bt-cost,
	.sora-benefits-matrix .sbm-bt-tag {
		text-align: left;
		align-items: flex-start;
		justify-content: flex-start;
		padding-top: 4px;
	}
	.sora-benefits-matrix .sbm-bt-equiv { padding-top: 4px; }
}

@media (max-width: 380px) {
	.sora-benefits-matrix { padding: 64px 0; }
	.sora-benefits-matrix .sbm-container { padding: 0 20px; }
	.sora-benefits-matrix .sbm-bt-name { font-size: 18px; }
	.sora-benefits-matrix .sbm-cost-figure { font-size: 20px; }
}

/* Print — light theme, no gold accents, no backgrounds */
@media print {
	.sora-benefits-matrix {
		background: #fff;
		color: #000;
		padding: 24px 0;
	}
	.sora-benefits-matrix .sbm-h2,
	.sora-benefits-matrix .sbm-bt-name,
	.sora-benefits-matrix .sbm-cost-figure,
	.sora-benefits-matrix .sbm-bt-num,
	.sora-benefits-matrix .sbm-equiv-tools span { color: #000; }
	.sora-benefits-matrix .sbm-lead,
	.sora-benefits-matrix .sbm-bt-desc,
	.sora-benefits-matrix .sbm-equiv-label,
	.sora-benefits-matrix .sbm-cost-period,
	.sora-benefits-matrix .sbm-bt-tag,
	.sora-benefits-matrix .sbm-section-num,
	.sora-benefits-matrix .sbm-section-eyebrow { color: #444; }
	.sora-benefits-matrix .sbm-bt,
	.sora-benefits-matrix .sbm-bt-head,
	.sora-benefits-matrix .sbm-bt-row { border-color: rgba(0,0,0,.15); }
	.sora-benefits-matrix .sbm-bt-tag.sbm-featured { color: #000; font-weight: 700; }
	.sora-benefits-matrix .sbm-dot,
	.sora-benefits-matrix .sbm-bt-tag.sbm-featured .sbm-dot { background: #000; }
	.sora-benefits-matrix .sbm-badge,
	.sora-benefits-matrix .sbm-badge.sbm-gold {
		border-color: #000;
		color: #000;
	}
}

/* Reduced motion — disable any transitions if added later */
@media (prefers-reduced-motion: reduce) {
	.sora-benefits-matrix *,
	.sora-benefits-matrix *::before,
	.sora-benefits-matrix *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
