/* ═══════════════════════════════════════════════════════════
   11-MEMBERSHIP.CSS — Página Membership (personas, matrix, FAQ)
   ═══════════════════════════════════════════════════════════ */

/* ── Transition Section (py-16 fixed, not responsive) ────── */

.evolve-section-py16 {
	padding-block: 4rem;
}

/* ── Persona Cards ─────────────────────────────────────── */

.evolve-persona-grid {
	display: grid;
	gap: 2rem;
}

@media (min-width: 1024px) {
	.evolve-persona-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.evolve-persona-grid.is-single {
	grid-template-columns: minmax(0, 48rem);
	justify-content: center;
}

.evolve-persona-card {
	position: relative;
	padding: 2rem 2rem 2rem 2.25rem;
	border-radius: 1rem;
	border: 1px solid var(--evolve-border);
	background: #fff;
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -2px rgba(0,0,0,0.05);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: 100%;
	transition: all 500ms;
}

@media (min-width: 1024px) {
	.evolve-persona-card { padding: 2.5rem 2.5rem 2.5rem 2.75rem; }
}

.evolve-persona-card:hover {
	box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.05);
	transform: translateY(-0.375rem);
	border-color: rgba(255, 0, 128, 0.30);
}

.evolve-persona-card-accent {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 0.375rem;
	background: var(--evolve-gradient);
	pointer-events: none;
}

.evolve-persona-title {
	font-family: "Space Grotesk", Inter, sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--evolve-pink);
	line-height: 1.25;
	margin: 0 0 0.5rem;
}

@media (min-width: 1024px) {
	.evolve-persona-title { font-size: 1.875rem; }
}

.evolve-persona-tier {
	font-size: 1rem;
	font-weight: 500;
	color: color-mix(in srgb, var(--evolve-foreground) 90%, transparent);
	line-height: 1.375;
	margin: 0 0 1.25rem;
}

@media (min-width: 1024px) {
	.evolve-persona-tier { font-size: 1.125rem; }
}

.evolve-persona-why {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--evolve-muted);
	margin: 0 0 0.75rem;
}

.evolve-persona-list {
	display: grid;
	gap: 0.5rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
	flex: 1;
}

.evolve-persona-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	font-size: 0.875rem;
	color: color-mix(in srgb, var(--evolve-foreground) 80%, transparent);
	line-height: 1.5;
}

.evolve-persona-list li::before {
	content: "";
	display: block;
	flex: 0 0 0.875rem;
	width: 0.875rem;
	height: 0.875rem;
	margin-top: 0.125rem;
	background: var(--evolve-pink);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

/* ── Membership Tier Cards ─────────────────────────────── */

.evolve-tier-cards {
	display: grid;
	gap: 2rem;
}

@media (min-width: 768px) {
	.evolve-tier-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
	}
}

.evolve-membership-tier-card.is-featured {
	border-color: color-mix(in srgb, var(--evolve-pink) 55%, var(--evolve-border));
	background: linear-gradient(180deg, color-mix(in srgb, var(--evolve-pink) 5%, #fff), #fff 40%);
	box-shadow: 0 10px 30px rgba(255, 0, 128, 0.10);
}

.evolve-tier-card-name {
	font-family: "Space Grotesk", Inter, sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--evolve-charcoal);
	margin: 0 0 0.25rem;
}

.evolve-tier-card-price {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--evolve-charcoal);
	margin: 0.75rem 0 0;
}

.evolve-tier-card-purpose {
	font-size: 0.875rem;
	color: var(--evolve-muted);
	margin: 0.75rem 0 1.5rem;
}

.evolve-tier-card-purpose p {
	margin: 0;
}

.evolve-tier-card-purpose p + p {
	margin-top: 0.5rem;
}

.evolve-tier-feature-list {
	display: grid;
	gap: 0.75rem;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
	flex: 1;
}

.evolve-tier-feature-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--evolve-foreground);
}

.evolve-tier-feature-list li.no-value {
	color: color-mix(in srgb, var(--evolve-muted) 40%, transparent);
}

.feat-check {
	display: block;
	flex: 0 0 1rem;
	width: 1rem;
	height: 1rem;
	margin-top: 0.125rem;
	background: var(--evolve-pink);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.feat-x {
	display: block;
	flex: 0 0 1rem;
	width: 1rem;
	height: 1rem;
	margin-top: 0.125rem;
	background: color-mix(in srgb, var(--evolve-muted) 30%, transparent);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

/* ── Value Matrix — Desktop Table ──────────────────────── */

.evolve-matrix-wrap {
	display: none;
}

@media (min-width: 1024px) {
	.evolve-matrix-wrap { display: block; }
}

.evolve-matrix {
	border-radius: 1rem;
	overflow: hidden;
	border: 1px solid var(--evolve-border);
	background: #fff;
}

.evolve-matrix table {
	width: 100%;
	border-collapse: collapse;
}

.evolve-matrix thead th {
	padding: 1.5rem;
	text-align: center;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--evolve-muted);
}

.evolve-matrix thead th:first-child {
	text-align: left;
	width: 25%;
}

.evolve-matrix thead th h3 {
	font-family: "Space Grotesk", Inter, sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--evolve-charcoal);
	margin: 0;
}

.evolve-matrix tbody td {
	padding: 1.25rem;
	font-size: 0.875rem;
	border-top: 1px solid var(--evolve-border);
	text-align: center;
	vertical-align: middle;
}

.evolve-matrix tbody td:first-child {
	text-align: left;
	font-weight: 500;
	color: var(--evolve-charcoal);
}

.evolve-matrix tbody td span {
	color: var(--evolve-muted);
}

.evolve-matrix tbody tr.alt {
	background: rgba(246, 246, 247, 0.5);
}

.evolve-matrix tbody td.cta-cell {
	padding: 1.5rem;
	border-top: none;
	border-bottom: none;
}

.mat-check {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	margin-inline: auto;
	background: var(--evolve-pink);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.mat-x {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	margin-inline: auto;
	background: color-mix(in srgb, var(--evolve-muted) 20%, transparent);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

/* ── Membership Testimonials (dark card overrides) ─────── */

.evolve-membership-testimonials .evolve-card {
	padding: 1.5rem;
}

.evolve-membership-testimonials .evolve-dark-card > p:not(:last-child) {
	font-size: 0.875rem;
	font-style: italic;
	color: rgba(255, 255, 255, 0.80);
	margin-bottom: 1rem;
}

.evolve-membership-testimonials .evolve-dark-card > strong {
	font-size: 1rem;
}

.evolve-membership-testimonials .evolve-dark-card > p:last-child {
	font-size: 0.75rem;
}

.evolve-membership-testimonials .evolve-testimonial-image {
	width: 4rem;
	height: 4rem;
	border: 2px solid rgba(255, 0, 128, 0.30);
	margin-bottom: 1rem;
}

/* ── Membership Final CTA ──────────────────────────────── */

.evolve-membership-cta {
	text-align: center;
}

/* React: text-3xl md:text-5xl = 1.875rem → 3rem @768px */
.evolve-membership-cta-heading {
	font-family: "Space Grotesk", Inter, sans-serif;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--evolve-charcoal);
	margin: 0 0 1.5rem;
}

@media (min-width: 768px) {
	.evolve-membership-cta-heading { font-size: 3rem; }
}

.evolve-membership-cta-lead {
	font-size: 1.125rem;
	line-height: 1.625;
	color: var(--evolve-muted);
	max-width: 42rem;
	margin: 0 auto 2.5rem;
}

/* ── FAQ ───────────────────────────────────────────────── */

.evolve-faq {
	max-width: 48rem;
	margin-inline: auto;
	display: grid;
	gap: 1rem;
}

.evolve-faq details {
	border: 1px solid var(--evolve-border);
	border-radius: 1rem;
	background: #fff;
	padding: 1.5rem;
}

.evolve-faq details + details {
	margin-top: 0;
}

.evolve-faq summary {
	padding: 0;
	color: var(--evolve-charcoal);
	font-family: "Space Grotesk", Inter, sans-serif;
	font-weight: 600;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	list-style: none;
}

.evolve-faq summary::-webkit-details-marker { display: none; }

.evolve-faq summary::after {
	content: "+";
	font-size: 1.5rem;
	line-height: 1;
	color: var(--evolve-pink);
	flex-shrink: 0;
	transition: transform 300ms;
}

.evolve-faq details[open] > summary::after {
	transform: rotate(45deg);
}

.evolve-faq details p {
	margin: 1rem 0 0;
	padding: 0;
	color: var(--evolve-muted);
	font-size: 0.875rem;
	line-height: 1.625;
}

/* ── Membership Table (generic) ────────────────────────── */

.evolve-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--evolve-border);
	border-radius: var(--evolve-radius);
	background: #fff;
}

.evolve-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 760px;
	font-size: 0.92rem;
}

.evolve-table .yes {
	color: var(--evolve-pink);
	font-weight: 900;
}

.evolve-table th,
.evolve-table td {
	padding: 1rem;
	border-bottom: 1px solid var(--evolve-border);
	text-align: left;
	vertical-align: top;
}

.evolve-table th {
	color: var(--evolve-charcoal);
	font-family: "Space Grotesk", Inter, sans-serif;
}

/* ═══════════════════════════════════════════════════════════
   COMPANIES PAGE OVERRIDES
   ═══════════════════════════════════════════════════════════ */

/* Companies grid: gap-8 (2rem) instead of default 1.5rem */
.evolve-companies-grid {
	gap: 2rem;
}

/* Companies "How We Work" cards: bg-card (white), flex-col, h-full, overflow-hidden, left padding for accent bar */
.evolve-companies-grid .evolve-card.interactive {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: #fff;
	padding: 2rem 2rem 2rem 2.25rem;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

@media (min-width: 1024px) {
	.evolve-companies-grid .evolve-card.interactive {
		padding: 2.5rem 2.5rem 2.5rem 2.75rem;
	}
}

/* Companies card hover: shadow-xl (not pink glow), -translate-y-1.5, border-pink/30 */
.evolve-companies-grid .evolve-card.interactive:hover {
	transform: translateY(-0.375rem);
	border-color: rgba(255, 0, 128, 0.30);
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
}

/* Companies card title: text-2xl lg:text-3xl, text-primary = pink hsl(320 100% 50%) */
.evolve-companies-card-title {
	font-family: "Space Grotesk", Inter, sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.25;
	color: hsl(320 100% 50%);
	margin: 0;
}

@media (min-width: 1024px) {
	.evolve-companies-card-title { font-size: 1.875rem; }
}

/* Companies "How We Work" label: muted, not pink eyebrow */
.evolve-companies-label {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--evolve-muted);
	margin: 0 0 1rem;
}

/* Companies arrow list: gap-3 (0.75rem) instead of 0.625rem */
.evolve-companies-list {
	gap: 0.75rem;
}

/* Companies testimonials: card padding p-8 (2rem fixed, not clamp), no shadow, no backdrop-filter */
.evolve-companies-testimonials .evolve-card {
	padding: 2rem;
	box-shadow: none;
	backdrop-filter: none;
}

/* Companies testimonials: quote color white/80 (not white/82), only first p not last-child role */
.evolve-companies-testimonials .evolve-dark-card > p:not(:last-child) {
	color: rgba(255, 255, 255, 0.80);
}

/* Companies testimonials: name font-size 1rem (not 1.125rem from base dark card) */
.evolve-companies-testimonials .evolve-dark-card > strong {
	font-size: 1rem;
}

/* Companies testimonials: image w-16 h-16 (4rem) rounded-full mb-5 (1.25rem), border-2 border-pink/30 */
.evolve-companies-testimonial-image {
	width: 4rem;
	height: 4rem;
	border-radius: 999px;
	overflow: hidden;
	margin-bottom: 1.25rem;
	border: 2px solid rgba(255, 0, 128, 0.30);
}

.evolve-companies-testimonial-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Companies marquee section: py-16 (4rem fixed) bg-secondary */
.evolve-companies-marquee-section {
	padding-block: 4rem;
	background: var(--evolve-secondary);
}

/* Companies marquee caption: text-sm muted mb-8 (2rem) text-center */
.evolve-companies-marquee-caption {
	font-size: 0.875rem;
	color: var(--evolve-muted);
	margin: 0;
	text-align: center;
}

.evolve-companies-marquee {
	margin-top: 2rem;
}

.evolve-companies-tools {
	text-align: left;
}

.evolve-companies-tools-content {
	min-width: 0;
}

.evolve-companies-tools-copy {
	margin: 1.5rem 0 2rem;
	color: var(--evolve-muted);
	line-height: 1.625;
}

.evolve-companies-tools-copy p {
	margin: 0;
}

.evolve-companies-tools-copy p + p {
	margin-top: 0.75rem;
}

.evolve-company-form-success {
	max-width: 48rem;
	margin-inline: auto;
	text-align: center;
}

[data-evolve-partnership-section][hidden],
[data-evolve-partnership-success][hidden],
.evolve-company-form[hidden] {
	display: none !important;
}
