/* SpielWechsel — Homepage sections */

.sw-home section { position: relative; }

.sw-home .sw-container--narrow { max-width: 64rem; }
.sw-home .sw-container--medium { max-width: 80rem; }
.sw-home .sw-container--prose { max-width: 64rem; }

/* ------------- Hero ------------- */
.sw-hero {
	background: #fff;
	color: var(--sw-foreground);
	border-bottom: 1px solid rgba(0,0,0,0.1);
	overflow: hidden;
}
.sw-hero__inner {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}
@media (min-width: 1024px) {
	.sw-hero__inner { padding-top: 3rem; padding-bottom: 3.5rem; }
}
.sw-hero__title {
	font-size: 1.5rem;
	line-height: 1.1;
	letter-spacing: -0.01em;
	font-weight: 800;
	max-width: 56rem;
}
@media (min-width: 640px) { .sw-hero__title { font-size: 1.875rem; } }
@media (min-width: 1024px) { .sw-hero__title { font-size: 2.25rem; } }
.sw-hero__title-accent { color: var(--sw-primary); }
.sw-hero__sub {
	margin-top: 1rem;
	font-size: 1rem;
	color: rgba(0,0,0,0.7);
	max-width: 42rem;
	line-height: 1.6;
}
@media (min-width: 1024px) { .sw-hero__sub { font-size: 1.125rem; } }
.sw-hero__cards {
	display: none;
	margin-top: 2rem;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}
@media (min-width: 1024px) { .sw-hero__cards { display: grid; } }
.sw-hero__card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 1.75rem;
	background: var(--sw-navy);
	color: #fff;
	text-align: center;
	border-radius: 8px;
	transition: filter 0.15s ease;
}
.sw-hero__card:hover { filter: brightness(1.1); }
.sw-hero__card-title {
	font-family: var(--sw-font-body);
	font-weight: 800;
	font-size: 1.125rem;
	line-height: 1.2;
	letter-spacing: -0.005em;
}
@media (min-width: 1024px) { .sw-hero__card-title { font-size: 1.25rem; } }
.sw-hero__card-sub {
	margin-top: 0.5rem;
	font-size: 0.875rem;
	color: rgba(255,255,255,0.7);
	line-height: 1.4;
}

/* ------------- Top 10 ------------- */
.sw-top10 {
	background: color-mix(in oklab, var(--sw-secondary) 60%, transparent);
}
.sw-top10__inner {
	padding-top: 1.5rem;
	padding-bottom: 3rem;
}
@media (min-width: 1024px) {
	.sw-top10__inner { padding-top: 2rem; padding-bottom: 4rem; }
}
.sw-top10__head {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 1.5rem;
}
@media (min-width: 1024px) {
	.sw-top10__head { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}
.sw-top10__title {
	margin-top: 0.75rem;
	font-size: 1.875rem;
	max-width: 48rem;
}
@media (min-width: 1024px) { .sw-top10__title { font-size: 3rem; } }
.sw-top10__sub {
	font-size: 0.875rem;
	color: var(--sw-muted-foreground);
	max-width: 22rem;
}
@media (min-width: 1024px) { .sw-top10__sub { text-align: right; } }

/* ------------- Intro / 3 cards ------------- */
.sw-intro { background: #fff; }
.sw-intro__inner {
	max-width: 64rem;
	margin: 0 auto;
	padding: 2.5rem 1.25rem;
}
@media (min-width: 1024px) {
	.sw-intro__inner { padding: 3.5rem 2rem; }
}
.sw-intro__title { margin-top: 0.5rem; font-size: 1.5rem; }
@media (min-width: 1024px) { .sw-intro__title { font-size: 1.875rem; } }
.sw-intro__lead {
	margin-top: 1.25rem;
	font-size: 1.125rem;
	color: var(--sw-muted-foreground);
	max-width: 48rem;
	line-height: 1.6;
}
.sw-intro__cards {
	margin-top: 1.5rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 768px) {
	.sw-intro__cards { grid-template-columns: repeat(3, 1fr); }
}
.sw-intro__card {
	border: 1px solid var(--sw-hairline);
	background: #fff;
	padding: 1.5rem;
}
.sw-intro__card h3 { font-size: 1.25rem; }
.sw-intro__card p {
	margin-top: 0.75rem;
	font-size: 0.875rem;
	color: var(--sw-muted-foreground);
	line-height: 1.6;
}
.sw-intro__after {
	margin-top: 2.5rem;
	font-size: 1rem;
	color: rgba(0,0,0,0.8);
	max-width: 48rem;
}
.sw-intro__note {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--sw-hairline);
	font-size: 0.75rem;
	color: var(--sw-muted-foreground);
	line-height: 1.6;
	max-width: 48rem;
}

/* ------------- TOC ------------- */
.sw-toc {
	background: #fff;
	border-top: 1px solid var(--sw-hairline);
	border-bottom: 1px solid var(--sw-hairline);
}
.sw-toc__inner { padding: 3rem 1.25rem; }
@media (min-width: 1024px) { .sw-toc__inner { padding: 4rem 2rem; } }
.sw-toc__title { margin-top: 0.5rem; font-size: 1.5rem; }
@media (min-width: 1024px) { .sw-toc__title { font-size: 1.875rem; } }
.sw-toc__list {
	margin-top: 2rem;
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 2rem;
	list-style: none;
	padding: 0;
}
@media (min-width: 640px) { .sw-toc__list { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .sw-toc__list { grid-template-columns: 1fr 1fr 1fr; } }
.sw-toc__item { border-top: 1px solid var(--sw-hairline); }
.sw-toc__item a {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	padding: 0.75rem 0;
}
.sw-toc__num {
	font-family: var(--sw-font-display);
	font-size: 0.75rem;
	color: var(--sw-muted-foreground);
	font-weight: 700;
	width: 1.5rem;
}
.sw-toc__label {
	flex: 1;
	font-size: 0.875rem;
	color: var(--sw-foreground);
	transition: color 0.15s ease;
}
.sw-toc__item a:hover .sw-toc__label { color: var(--sw-primary); }
.sw-toc__arrow { color: var(--sw-primary); font-size: 0.875rem; }

/* ------------- Comparison Table ------------- */
.sw-cmp { background: #fff; }
.sw-cmp__inner { padding: 2.5rem 1.25rem; }
@media (min-width: 1024px) { .sw-cmp__inner { padding: 3.5rem 2rem; } }
.sw-cmp__title { margin-top: 0.5rem; font-size: 1.5rem; }
@media (min-width: 1024px) { .sw-cmp__title { font-size: 1.875rem; } }
.sw-cmp__lead { margin-top: 1rem; color: var(--sw-muted-foreground); max-width: 42rem; }
.sw-cmp__table-wrap {
	margin-top: 2rem;
	overflow-x: auto;
	border: 1px solid var(--sw-hairline);
}
.sw-cmp__table {
	width: 100%;
	min-width: 860px;
	border-collapse: collapse;
	font-size: 0.875rem;
}
.sw-cmp__table thead {
	background: var(--sw-navy-deep);
	color: #fff;
}
.sw-cmp__table th {
	text-align: left;
	padding: 0.75rem 1rem;
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	font-weight: 700;
	font-family: var(--sw-font-display);
}
.sw-cmp__table td { padding: 0.75rem 1rem; }
.sw-cmp__table tbody tr:nth-child(even) { background: color-mix(in oklab, var(--sw-secondary) 40%, transparent); }
.sw-cmp__name {
	font-family: var(--sw-font-display);
	font-weight: 600;
}
.sw-cmp__rank-num { color: var(--sw-muted-foreground); margin-right: 0.5rem; }
.sw-cmp__cta {
	color: var(--sw-primary);
	font-family: var(--sw-font-display);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	white-space: nowrap;
}
.sw-cmp__note {
	margin-top: 1rem;
	font-size: 0.75rem;
	color: var(--sw-muted-foreground);
}

/* ------------- Test Process + Payouts ------------- */
.sw-test { background: #fff; }
.sw-test__inner { padding: 2.5rem 1.25rem; }
@media (min-width: 1024px) { .sw-test__inner { padding: 3.5rem 2rem; } }
.sw-test__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}
@media (min-width: 1024px) {
	.sw-test__grid { grid-template-columns: 1fr 1.4fr; gap: 4rem; }
}
.sw-test__title { margin-top: 0.5rem; font-size: 1.5rem; }
@media (min-width: 1024px) { .sw-test__title { font-size: 1.875rem; } }
.sw-test__lead { margin-top: 1.25rem; color: var(--sw-muted-foreground); line-height: 1.7; }
.sw-test__list { margin-top: 2rem; display: flex; flex-direction: column; gap: 1.25rem; }
.sw-test__item { border-top: 1px solid var(--sw-hairline); padding-top: 1rem; }
.sw-test__item-title {
	font-family: var(--sw-font-display);
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.sw-test__item-body { margin-top: 0.375rem; font-size: 0.875rem; color: var(--sw-muted-foreground); line-height: 1.6; }
.sw-test__panel {
	background: var(--sw-navy-deep);
	color: #fff;
	padding: 1.5rem;
}
@media (min-width: 1024px) { .sw-test__panel { padding: 2.5rem; } }
.sw-test__panel-title { margin-top: 0.5rem; font-size: 1.5rem; color: #fff; }
.sw-test__payouts { margin-top: 2rem; }
.sw-test__payout {
	padding: 1.25rem 0;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 1rem;
	border-bottom: 1px solid oklch(1 0 0 / 12%);
}
.sw-test__payout:last-child { border-bottom: 0; }
.sw-test__brand {
	font-family: var(--sw-font-display);
	font-weight: 700;
	font-size: 1.125rem;
}
.sw-test__payout-meta { margin-top: 4px; font-size: 0.75rem; color: rgba(255,255,255,0.55); }
.sw-test__payout-time {
	color: var(--sw-primary);
	font-family: var(--sw-font-display);
	font-weight: 700;
	font-size: 1.125rem;
	white-space: nowrap;
}
.sw-test__payout-label {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(255,255,255,0.45);
	font-family: var(--sw-font-display);
}

/* ------------- Bonus Explained ------------- */
.sw-bonus { background: color-mix(in oklab, var(--sw-secondary) 60%, transparent); }
.sw-bonus__inner { padding: 2.5rem 1.25rem; }
@media (min-width: 1024px) { .sw-bonus__inner { padding: 3.5rem 2rem; } }
.sw-bonus__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}
@media (min-width: 1024px) { .sw-bonus__grid { grid-template-columns: 1fr 1fr; } }
.sw-bonus__title { margin-top: 0.5rem; font-size: 1.5rem; }
@media (min-width: 1024px) { .sw-bonus__title { font-size: 1.875rem; } }
.sw-bonus__lead { margin-top: 1.25rem; color: var(--sw-muted-foreground); line-height: 1.7; }
.sw-bonus__panel { background: var(--sw-navy-deep); color: #fff; padding: 2rem; }
@media (min-width: 1024px) { .sw-bonus__panel { padding: 2.5rem; } }
.sw-bonus__panel-title { margin-top: 0.5rem; font-size: 1.5rem; color: #fff; }
.sw-bonus__calc { margin-top: 2rem; display: flex; flex-direction: column; gap: 1.25rem; font-size: 0.875rem; }
.sw-bonus__calc-row { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.sw-bonus__calc-label { color: rgba(255,255,255,0.7); }
.sw-bonus__calc-value { font-family: var(--sw-font-display); font-weight: 700; font-size: 1.1rem; color: #fff; }
.sw-bonus__calc-value--big { color: var(--sw-primary); font-size: 1.5rem; }
.sw-bonus__calc-section { border-top: 1px solid oklch(1 0 0 / 15%); padding-top: 1.25rem; }

/* ------------- Euro Limit ------------- */
.sw-eurolimit { background: #fff; }
.sw-eurolimit__inner { padding: 2.5rem 1.25rem; }
@media (min-width: 1024px) { .sw-eurolimit__inner { padding: 3.5rem 2rem; } }
.sw-eurolimit__title { margin-top: 0.5rem; font-size: 1.5rem; }
@media (min-width: 1024px) { .sw-eurolimit__title { font-size: 1.875rem; } }
.sw-eurolimit__lead { margin-top: 1.25rem; color: var(--sw-muted-foreground); max-width: 48rem; line-height: 1.7; }
.sw-eurolimit__grid {
	margin-top: 1.5rem;
	display: grid;
	grid-template-columns: 1fr;
	border: 1px solid var(--sw-hairline);
}
@media (min-width: 768px) { .sw-eurolimit__grid { grid-template-columns: repeat(3, 1fr); } }
.sw-eurolimit__cell {
	padding: 1.5rem;
}
@media (min-width: 1024px) { .sw-eurolimit__cell { padding: 2.5rem; } }
.sw-eurolimit__cell + .sw-eurolimit__cell { border-top: 1px solid var(--sw-hairline); }
@media (min-width: 768px) {
	.sw-eurolimit__cell + .sw-eurolimit__cell { border-top: 0; border-left: 1px solid var(--sw-hairline); }
}
.sw-eurolimit__num {
	font-family: var(--sw-font-display);
	font-weight: 800;
	font-size: 3rem;
	color: var(--sw-primary);
	line-height: 1;
}
.sw-eurolimit__label {
	margin-top: 0.25rem;
	font-family: var(--sw-font-display);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--sw-muted-foreground);
	font-weight: 700;
}
.sw-eurolimit__body {
	margin-top: 1rem;
	font-size: 0.875rem;
	color: rgba(0,0,0,0.8);
	line-height: 1.7;
}
.sw-eurolimit__fazit {
	margin-top: 2.5rem;
	max-width: 48rem;
	color: rgba(0,0,0,0.8);
	line-height: 1.7;
}

/* ------------- Comparisons (versus cards) ------------- */
.sw-versus { background: color-mix(in oklab, var(--sw-secondary) 60%, transparent); }
.sw-versus__inner { padding: 2.5rem 1.25rem; }
@media (min-width: 1024px) { .sw-versus__inner { padding: 3.5rem 2rem; } }
.sw-versus__title { margin-top: 0.5rem; font-size: 1.5rem; max-width: 48rem; }
@media (min-width: 1024px) { .sw-versus__title { font-size: 1.875rem; } }
.sw-versus__lead { margin-top: 1rem; color: var(--sw-muted-foreground); max-width: 42rem; }
.sw-versus__grid {
	margin-top: 1.5rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 768px) { .sw-versus__grid { grid-template-columns: 1fr 1fr; } }
.sw-versus__card {
	background: #fff;
	border: 1px solid var(--sw-hairline);
	padding: 1.5rem;
}
@media (min-width: 1024px) { .sw-versus__card { padding: 2rem; } }
.sw-versus__matchup {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-family: var(--sw-font-display);
	font-weight: 700;
	font-size: 1.5rem;
}
@media (min-width: 1024px) { .sw-versus__matchup { font-size: 1.875rem; } }
.sw-versus__vs { color: var(--sw-muted-foreground); font-size: 1rem; }
.sw-versus__winner {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: var(--sw-foreground);
	color: var(--sw-background);
	padding: 4px 8px;
	margin-top: 0.75rem;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 700;
	font-family: var(--sw-font-display);
}
.sw-versus__body {
	margin-top: 1rem;
	font-size: 0.875rem;
	color: rgba(0,0,0,0.8);
	line-height: 1.7;
}

/* ------------- Providers ------------- */
.sw-providers { background: #fff; }
.sw-providers__inner { padding: 2.5rem 1.25rem; }
@media (min-width: 1024px) { .sw-providers__inner { padding: 3.5rem 2rem; } }
.sw-providers__title { margin-top: 0.5rem; font-size: 1.5rem; }
@media (min-width: 1024px) { .sw-providers__title { font-size: 1.875rem; } }
.sw-providers__lead { margin-top: 1rem; color: var(--sw-muted-foreground); max-width: 48rem; line-height: 1.7; }
.sw-providers__list { margin-top: 1.5rem; border: 1px solid var(--sw-hairline); }
.sw-providers__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	padding: 1.25rem;
}
@media (min-width: 1024px) {
	.sw-providers__row { grid-template-columns: 240px 1fr 1fr; padding: 1.5rem; }
}
.sw-providers__row + .sw-providers__row { border-top: 1px solid var(--sw-hairline); }
.sw-providers__name { font-family: var(--sw-font-display); font-weight: 700; font-size: 1.125rem; }
.sw-providers__hits { font-size: 0.875rem; color: rgba(0,0,0,0.85); }
.sw-providers__at { font-size: 0.75rem; color: var(--sw-muted-foreground); }
@media (min-width: 1024px) { .sw-providers__at { text-align: right; } }
.sw-providers__after { margin-top: 1.5rem; font-size: 0.875rem; color: var(--sw-muted-foreground); max-width: 48rem; }

/* ------------- Payments ------------- */
.sw-payments { background: color-mix(in oklab, var(--sw-secondary) 60%, transparent); }
.sw-payments__inner { padding: 2.5rem 1.25rem; }
@media (min-width: 1024px) { .sw-payments__inner { padding: 3.5rem 2rem; } }
.sw-payments__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}
@media (min-width: 1024px) { .sw-payments__grid { grid-template-columns: 1fr 1fr; } }
.sw-payments__title { margin-top: 0.5rem; font-size: 1.5rem; }
@media (min-width: 1024px) { .sw-payments__title { font-size: 1.875rem; } }
.sw-payments__list { margin-top: 2rem; display: flex; flex-direction: column; gap: 1.25rem; }
.sw-payments__item { border-top: 1px solid var(--sw-hairline); padding-top: 1rem; }
.sw-payments__item-title {
	font-family: var(--sw-font-display);
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.sw-payments__item-body { margin-top: 0.375rem; font-size: 0.875rem; color: var(--sw-muted-foreground); }
.sw-payments__panel { background: var(--sw-navy-deep); color: #fff; padding: 1.5rem; }
@media (min-width: 1024px) { .sw-payments__panel { padding: 2.5rem; } }
.sw-payments__panel-title { margin-top: 0.5rem; font-size: 1.5rem; color: #fff; }
.sw-payments__ranking { margin-top: 2rem; list-style: none; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.sw-payments__rank {
	display: grid;
	grid-template-columns: 40px 1fr auto;
	align-items: baseline;
	gap: 1rem;
	border-bottom: 1px solid oklch(1 0 0 / 12%);
	padding-bottom: 0.75rem;
}
.sw-payments__rank-num {
	font-family: var(--sw-font-display);
	font-weight: 700;
	font-size: 1.5rem;
	color: var(--sw-primary);
}
.sw-payments__rank-brand {
	font-family: var(--sw-font-display);
	font-weight: 700;
	font-size: 1.125rem;
}
.sw-payments__rank-method { font-size: 0.75rem; color: rgba(255,255,255,0.55); }
.sw-payments__rank-time {
	color: var(--sw-primary);
	font-family: var(--sw-font-display);
	font-weight: 700;
	white-space: nowrap;
}

/* ------------- Methodology ------------- */
.sw-method { background: #fff; }
.sw-method__inner { padding: 2.5rem 1.25rem; }
@media (min-width: 1024px) { .sw-method__inner { padding: 3.5rem 2rem; } }
.sw-method__title { margin-top: 0.5rem; font-size: 1.5rem; }
@media (min-width: 1024px) { .sw-method__title { font-size: 1.875rem; } }
.sw-method__lead { margin-top: 1rem; color: var(--sw-muted-foreground); max-width: 48rem; }
.sw-method__grid {
	margin-top: 1.5rem;
	border: 1px solid var(--sw-hairline);
	display: grid;
	grid-template-columns: 1fr;
}
@media (min-width: 768px) { .sw-method__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .sw-method__grid { grid-template-columns: repeat(3, 1fr); } }
.sw-method__cell {
	padding: 1.5rem;
	border-top: 1px solid var(--sw-hairline);
}
.sw-method__cell:nth-child(-n+1) { border-top: 0; }
@media (min-width: 768px) {
	.sw-method__cell:nth-child(2) { border-top: 0; }
	.sw-method__cell:nth-child(even) { border-left: 1px solid var(--sw-hairline); }
}
@media (min-width: 1024px) {
	.sw-method__cell { padding: 2rem; }
	.sw-method__cell:nth-child(-n+3) { border-top: 0; }
	.sw-method__cell:nth-child(even) { border-left: 0; }
	.sw-method__cell:not(:nth-child(3n+1)) { border-left: 1px solid var(--sw-hairline); }
}
.sw-method__pct {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
}
.sw-method__pct-num {
	font-family: var(--sw-font-display);
	font-weight: 800;
	font-size: 3rem;
	color: var(--sw-primary);
	line-height: 1;
}
.sw-method__pct-sym {
	font-family: var(--sw-font-display);
	font-size: 1.125rem;
	color: var(--sw-muted-foreground);
}
.sw-method__name { margin-top: 0.75rem; font-size: 1.25rem; }
.sw-method__desc { margin-top: 0.5rem; font-size: 0.875rem; color: var(--sw-muted-foreground); line-height: 1.7; }

/* ------------- GGL License ------------- */
.sw-ggl { background: #fff; }
.sw-ggl__inner { padding: 2.5rem 1.25rem; }
@media (min-width: 1024px) { .sw-ggl__inner { padding: 3.5rem 2rem; } }
.sw-ggl__grid { display: grid; grid-template-columns: 1fr; gap: 3rem; }
@media (min-width: 1024px) { .sw-ggl__grid { grid-template-columns: 1fr 1.2fr; gap: 4rem; } }
.sw-ggl__title { margin-top: 0.5rem; font-size: 1.5rem; }
@media (min-width: 1024px) { .sw-ggl__title { font-size: 1.875rem; } }
.sw-ggl__lead { margin-top: 1.25rem; color: var(--sw-muted-foreground); line-height: 1.7; }
.sw-ggl__subtitle { margin-top: 2.5rem; font-size: 1.25rem; }
.sw-ggl__steps { margin-top: 1rem; list-style: none; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; font-size: 0.875rem; color: rgba(0,0,0,0.85); }
.sw-ggl__steps li { display: flex; gap: 0.75rem; }
.sw-ggl__step-num { color: var(--sw-primary); font-family: var(--sw-font-display); font-weight: 700; width: 1.25rem; }
.sw-ggl__panel { border: 1px solid var(--sw-hairline); }
.sw-ggl__panel-head { background: var(--sw-navy-deep); color: #fff; padding: 1.5rem; }
@media (min-width: 1024px) { .sw-ggl__panel-head { padding: 2rem; } }
.sw-ggl__panel-title { margin-top: 0.5rem; font-size: 1.5rem; color: #fff; }
.sw-ggl__rules { list-style: none; margin: 0; padding: 0; }
.sw-ggl__rules li {
	padding: 1.25rem;
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 1rem;
	border-top: 1px solid var(--sw-hairline);
}
.sw-ggl__rules li:first-child { border-top: 0; }
@media (min-width: 1024px) { .sw-ggl__rules li { padding: 1.5rem; } }
.sw-ggl__rule-name {
	font-family: var(--sw-font-display);
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.sw-ggl__rule-body { font-size: 0.875rem; color: rgba(0,0,0,0.8); }

/* ------------- Responsible ------------- */
.sw-resp { background: var(--sw-navy-deep); color: #fff; }
.sw-resp__inner { padding: 2.5rem 1.25rem; }
@media (min-width: 1024px) { .sw-resp__inner { padding: 3.5rem 2rem; } }
.sw-resp__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}
@media (min-width: 1024px) { .sw-resp__grid { grid-template-columns: 1fr 1.4fr; gap: 4rem; } }
.sw-resp__title { margin-top: 0.5rem; font-size: 1.5rem; color: #fff; }
@media (min-width: 1024px) { .sw-resp__title { font-size: 1.875rem; } }
.sw-resp__lead { margin-top: 1.25rem; color: rgba(255,255,255,0.7); line-height: 1.7; }
.sw-resp__help {
	margin-top: 2rem;
	padding: 1.5rem;
	border: 1px solid oklch(1 0 0 / 15%);
}
.sw-resp__help-label {
	font-family: var(--sw-font-display);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--sw-primary);
	font-weight: 700;
}
.sw-resp__help-title {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 1.25rem;
	color: var(--sw-primary);
	font-family: var(--sw-font-display);
	font-weight: 700;
}
.sw-resp__help-title:hover { text-decoration: underline; }
.sw-resp__help-sub { margin-top: 0.25rem; font-size: 0.75rem; color: rgba(255,255,255,0.6); }
.sw-resp__help-list {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid oklch(1 0 0 / 12%);
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	font-size: 0.75rem;
	color: rgba(255,255,255,0.75);
}
.sw-resp__help-list span { color: #fff; }
.sw-resp__items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	border: 1px solid oklch(1 0 0 / 15%);
}
@media (min-width: 640px) { .sw-resp__items { grid-template-columns: 1fr 1fr; } }
.sw-resp__items li { padding: 1.5rem; }
@media (min-width: 640px) {
	.sw-resp__items li:nth-child(even) { border-left: 1px solid oklch(1 0 0 / 15%); }
	.sw-resp__items li:nth-child(n+3) { border-top: 1px solid oklch(1 0 0 / 15%); }
}
.sw-resp__item-title {
	font-family: var(--sw-font-display);
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--sw-primary);
}
.sw-resp__item-body { margin-top: 0.5rem; font-size: 0.875rem; color: rgba(255,255,255,0.75); line-height: 1.7; }

/* ------------- FAQ ------------- */
.sw-faq { background: color-mix(in oklab, var(--sw-secondary) 60%, transparent); }
.sw-faq__inner { max-width: 64rem; margin: 0 auto; padding: 2.5rem 1.25rem; }
@media (min-width: 1024px) { .sw-faq__inner { padding: 3.5rem 2rem; } }
.sw-faq__title { margin-top: 0.5rem; font-size: 1.5rem; }
@media (min-width: 1024px) { .sw-faq__title { font-size: 1.875rem; } }
.sw-faq__list {
	margin-top: 1.5rem;
	border: 1px solid var(--sw-hairline);
	background: #fff;
}
.sw-faq__item { border-top: 1px solid var(--sw-hairline); }
.sw-faq__item:first-child { border-top: 0; }
.sw-faq__trigger {
	display: flex;
	width: 100%;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.25rem;
	background: transparent;
	border: 0;
	cursor: pointer;
	text-align: left;
	font-family: var(--sw-font-display);
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: -0.005em;
}
@media (min-width: 1024px) { .sw-faq__trigger { padding: 1.25rem 2rem; font-size: 1.125rem; } }
.sw-faq__sign {
	color: var(--sw-primary);
	font-size: 1.5rem;
	line-height: 1;
	flex-shrink: 0;
	margin-top: 2px;
	font-family: var(--sw-font-display);
}
.sw-faq__sign-close { display: none; }
.sw-faq__item.is-open .sw-faq__sign-open { display: none; }
.sw-faq__item.is-open .sw-faq__sign-close { display: inline; }
.sw-faq__answer {
	padding: 0 1.25rem 1.5rem 1.25rem;
	color: rgba(0,0,0,0.8);
	line-height: 1.7;
}
@media (min-width: 1024px) { .sw-faq__answer { padding: 0 2rem 1.5rem 2rem; } }

/* ------------- Author ------------- */
.sw-author { background: #fff; }
.sw-author__inner { padding: 2.5rem 1.25rem; }
@media (min-width: 1024px) { .sw-author__inner { padding: 3.5rem 2rem; } }
.sw-author__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
}
@media (min-width: 1024px) { .sw-author__grid { grid-template-columns: 320px 1fr; gap: 4rem; } }
.sw-author__card {
	background: var(--sw-navy-deep);
	color: #fff;
	padding: 2rem;
}
.sw-author__photo {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 2px;
}
.sw-author__name { margin-top: 1rem; font-size: 1.25rem; font-family: var(--sw-font-display); color: #fff; }
.sw-author__role { margin-top: 0.25rem; font-size: 0.875rem; color: rgba(255,255,255,0.65); }
.sw-author__dl {
	margin-top: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	font-size: 0.875rem;
}
.sw-author__dl-row {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	border-bottom: 1px solid oklch(1 0 0 / 12%);
	padding-bottom: 0.5rem;
}
.sw-author__dl-row dt { color: rgba(255,255,255,0.55); }
.sw-author__dl-row dd { color: #fff; text-align: right; margin: 0; }
.sw-author__cta {
	margin-top: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.sw-author__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	background: #fff;
	color: var(--sw-navy-deep);
	padding: 0.625rem 1rem;
	border-radius: 4px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-family: var(--sw-font-display);
	font-weight: 700;
}
.sw-author__btn:hover { background: rgba(255,255,255,0.9); }
.sw-author__linkedin { font-size: 0.875rem; color: rgba(255,255,255,0.8); border-bottom: 1px solid rgba(255,255,255,0.3); padding-bottom: 2px; align-self: flex-start; }
.sw-author__linkedin:hover { color: #fff; }
.sw-author__title { margin-top: 0.5rem; font-size: 1.5rem; }
@media (min-width: 1024px) { .sw-author__title { font-size: 1.875rem; } }
.sw-author__body { margin-top: 1.25rem; display: flex; flex-direction: column; gap: 1rem; color: rgba(0,0,0,0.85); line-height: 1.7; }
.sw-author__sub { margin-top: 2.5rem; font-size: 1.25rem; }
.sw-author__steps {
	margin-top: 1rem;
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	border: 1px solid var(--sw-hairline);
}
@media (min-width: 640px) { .sw-author__steps { grid-template-columns: 1fr 1fr; } }
.sw-author__steps li {
	padding: 1rem;
	font-size: 0.875rem;
	display: flex;
	gap: 0.75rem;
}
@media (min-width: 640px) {
	.sw-author__steps li:nth-child(even) { border-left: 1px solid var(--sw-hairline); }
	.sw-author__steps li:nth-child(n+3) { border-top: 1px solid var(--sw-hairline); }
}
.sw-author__step-num {
	color: var(--sw-primary);
	font-family: var(--sw-font-display);
	font-weight: 700;
	flex-shrink: 0;
}
