/* @id cronuts-luxury-shell-css */
@font-face { font-family:'Space Grotesk'; font-weight:500; font-display:swap; src:url('/wp-content/themes/cronuts-2026/fonts/space-grotesk-500.woff2') format('woff2'); }
@font-face { font-family:'Space Grotesk'; font-weight:600; font-display:swap; src:url('/wp-content/themes/cronuts-2026/fonts/space-grotesk-600.woff2') format('woff2'); }
@font-face { font-family:'Space Grotesk'; font-weight:700; font-display:swap; src:url('/wp-content/themes/cronuts-2026/fonts/space-grotesk-700.woff2') format('woff2'); }
@font-face { font-family:'DM Sans'; font-weight:400; font-display:swap; src:url('/wp-content/themes/cronuts-2026/fonts/dm-sans-400.woff2') format('woff2'); }
@font-face { font-family:'DM Sans'; font-weight:500; font-display:swap; src:url('/wp-content/themes/cronuts-2026/fonts/dm-sans-500.woff2') format('woff2'); }
@font-face { font-family:'DM Sans'; font-weight:600; font-display:swap; src:url('/wp-content/themes/cronuts-2026/fonts/dm-sans-600.woff2') format('woff2'); }

:root {
	--font-display: 'Space Grotesk', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	--font-body:    'DM Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	--font-mono:    ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

	--ink-100: #F4F4F5;
	--ink-70:  rgba(244,244,245,0.72);
	--ink-55:  rgba(244,244,245,0.58);
	--ink-45:  rgba(244,244,245,0.46);
	--ink-22:  rgba(244,244,245,0.22);

	--bg-body:   #0A0A0A;
	--bg-raised: #111111;

	--cd-red:        #E6243F;
	--cd-red-hover:  #C71C33;
	--cd-amber:      #FF8A00;
	--cd-green:      #1D7A3F;
	--cd-green-hot:  #3DA66E;

	--red-gradient:     linear-gradient(120deg, #FF6B7A 0%, #E6243F 60%);
	--red-gradient-rev: linear-gradient(120deg, #FF8A95, #FFB1BB 60%);

	--hair:      rgba(255,255,255,0.08);
	--hair-soft: rgba(255,255,255,0.04);

	--ease-lux:  cubic-bezier(0.22, 1, 0.36, 1);
	--t-base:    420ms;

	--lux-radius-card: 22px;
	--lux-radius-pill: 999px;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
	background: var(--bg-body);
	color: var(--ink-100);
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
h1, h2, h3, h4 {
	margin: 0;
	font-family: var(--font-display);
	letter-spacing: -0.022em;
	color: var(--ink-100);
}
p { margin: 0; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }

/* === LUX section primitive === */
.lux {
	background: var(--bg-body);
	color: var(--ink-100);
	position: relative;
}
.lux__inner {
	width: 100%;
	max-width: 1320px;
	margin-inline: auto;
	padding: 0 32px;
}
.lux__rail {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-45);
	margin: 0 0 18px;
	display: inline-flex;
	align-items: center;
	gap: 14px;
}
.lux__rail::before {
	content: "";
	width: 48px;
	height: 1px;
	background: linear-gradient(90deg, var(--cd-red), transparent);
}
.lux__rail span {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--cd-red);
	letter-spacing: 0.16em;
	font-size: 11px;
}

/* === LUX HERO === */
.lux-hero {
	padding: 160px 0 96px;
	position: relative;
	overflow: hidden;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.lux-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 70% 55% at 12% 20%, rgba(230,36,63,0.18), transparent 55%),
		radial-gradient(ellipse 55% 45% at 88% 78%, rgba(230,36,63,0.12), transparent 55%),
		radial-gradient(ellipse 45% 35% at 50% 5%, rgba(120,80,255,0.08), transparent 55%);
	pointer-events: none;
	animation: luxMesh 32s ease-in-out infinite;
}
.lux-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
	background-size: 88px 88px;
	mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000, transparent 70%);
	-webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000, transparent 70%);
	pointer-events: none;
}
@keyframes luxMesh {
	0%, 100% { transform: translate(0,0) scale(1); }
	33%      { transform: translate(2%,-1.5%) scale(1.04); }
	66%      { transform: translate(-1.5%,1%) scale(0.97); }
}
.lux-hero__inner {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 80px;
	align-items: start;
	position: relative;
	z-index: 2;
}
.lux-hero__content { max-width: 56ch; }
.lux-hero__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(40px, 5.4vw, 76px);
	line-height: 1.0;
	letter-spacing: -0.04em;
	margin: 0 0 28px;
	color: var(--ink-100);
	text-wrap: balance;
}
.lux-hero__title em {
	font-style: italic;
	font-weight: 600;
	background: var(--red-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.lux-hero__lead {
	font-family: var(--font-body);
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.62;
	color: var(--ink-70);
	margin: 0 0 32px;
	max-width: 56ch;
}
.lux-hero__lead strong { color: var(--ink-100); font-weight: 600; }
.lux-hero__bullets {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.lux-hero__bullets li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	font-family: var(--font-body);
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--ink-70);
}
.lux-hero__bullets li svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	stroke: var(--cd-red);
	stroke-width: 2.4;
	margin-top: 2px;
}
.lux-hero__trust {
	display: flex;
	align-items: center;
	gap: 28px;
	padding-top: 28px;
	border-top: 1px solid var(--hair);
	flex-wrap: wrap;
}
.lux-hero__trust-stat {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.lux-hero__trust-num {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 26px;
	letter-spacing: -0.025em;
	color: var(--ink-100);
	line-height: 1;
}
.lux-hero__trust-num em {
	font-style: normal;
	font-weight: 500;
	color: var(--cd-red);
	font-size: 0.7em;
	margin-left: 3px;
}
.lux-hero__trust-lab {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-45);
}
.lux-hero__trust-divider {
	width: 1px;
	height: 32px;
	background: var(--hair);
}

/* === LUX FORM (glass panel) === */
.lux-form {
	position: relative;
	background: linear-gradient(165deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.018) 100%);
	border: 1px solid var(--hair);
	border-radius: var(--lux-radius-card);
	padding: 36px 32px 32px;
	backdrop-filter: blur(18px) saturate(1.4);
	-webkit-backdrop-filter: blur(18px) saturate(1.4);
	box-shadow: 0 1px 0 rgba(255,255,255,0.06) inset, 0 30px 60px -20px rgba(0,0,0,0.55);
	isolation: isolate;
	overflow: hidden;
}
.lux-form::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 3px;
	background: linear-gradient(90deg, transparent, var(--cd-red), transparent);
	border-radius: 0 0 var(--lux-radius-pill) var(--lux-radius-pill);
}
.lux-form__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}
.lux-form__icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(230,36,63,0.28), rgba(230,36,63,0.08));
	border: 1px solid rgba(230,36,63,0.4);
	display: grid;
	place-items: center;
	color: #FF8090;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.1), 0 6px 20px -6px rgba(230,36,63,0.4);
}
.lux-form__icon svg { width: 20px; height: 20px; stroke-width: 2; }
.lux-form__pulse {
	font-family: var(--font-mono);
	font-size: 10.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-55);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: var(--lux-radius-pill);
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--hair);
}
.lux-form__pulse::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--cd-green-hot);
	box-shadow: 0 0 0 3px rgba(61,166,110,0.18);
	animation: luxPulse 2s ease-in-out infinite;
}
@keyframes luxPulse {
	0%, 100% { opacity: 0.55; }
	50%      { opacity: 1; }
}
.lux-form__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 26px;
	letter-spacing: -0.025em;
	line-height: 1.15;
	color: var(--ink-100);
	margin: 0 0 6px;
}
.lux-form__sub {
	font-family: var(--font-body);
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-55);
	margin: 0 0 22px;
}

/* Progress bar */
.lux-progress {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--hair);
}
.lux-progress__track {
	flex: 1;
	height: 4px;
	background: rgba(255,255,255,0.06);
	border-radius: var(--lux-radius-pill);
	overflow: hidden;
}
.lux-progress__fill {
	height: 100%;
	width: 0;
	background: var(--red-gradient);
	border-radius: inherit;
	transition: width 320ms var(--ease-lux);
}
.lux-progress__pct {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.04em;
	color: var(--ink-55);
	min-width: 36px;
	text-align: right;
}
.lux-progress__pct strong {
	color: var(--ink-100);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 13px;
}

/* Field */
.lux-field {
	margin-bottom: 16px;
	position: relative;
}
.lux-field__label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ink-70);
	margin-bottom: 8px;
}
.lux-field__label small {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 11px;
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--ink-45);
	margin-left: 4px;
}
.lux-field__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--cd-green-hot);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	opacity: 0;
	transition: opacity 220ms;
}
.lux-field.is-valid .lux-field__check { opacity: 1; }
.lux-field__wrap {
	position: relative;
	display: flex;
	align-items: center;
}
.lux-field__icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	color: var(--ink-45);
	pointer-events: none;
}
.lux-field input[type="text"],
.lux-field input[type="url"],
.lux-field input[type="email"],
.lux-field input[type="number"],
.lux-field select {
	width: 100%;
	background: rgba(255,255,255,0.03);
	border: 1px solid var(--hair);
	border-radius: 12px;
	padding: 14px 16px 14px 40px;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--ink-100);
	transition: border-color 220ms, background 220ms, box-shadow 220ms;
	outline: none;
	font-feature-settings: 'tnum';
}
.lux-field--no-icon input,
.lux-field--no-icon select {
	padding-left: 16px;
}
.lux-field input:focus,
.lux-field select:focus {
	border-color: rgba(230,36,63,0.55);
	background: rgba(255,255,255,0.05);
	box-shadow: 0 0 0 4px rgba(230,36,63,0.12);
}
.lux-field input::placeholder { color: var(--ink-45); }
.lux-field select {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.45)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 16px;
	padding-right: 40px;
}
.lux-field--suffix .lux-field__wrap::after {
	content: attr(data-suffix);
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--ink-45);
	font-family: var(--font-mono);
	font-size: 12px;
	pointer-events: none;
	letter-spacing: 0.04em;
}
.lux-field--suffix input { padding-right: 56px; }

/* Optin checkbox */
.lux-optin {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 12px;
	font-family: var(--font-body);
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--ink-55);
	cursor: pointer;
}
.lux-optin input[type="checkbox"] {
	margin-top: 3px;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	accent-color: var(--cd-red);
}
.lux-optin strong { color: var(--ink-70); font-weight: 600; }

/* Honeypot */
.lux-hp {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Submit button */
.lux-submit {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: linear-gradient(135deg, #EE2A48 0%, #C71C33 100%);
	color: #fff;
	border: 0;
	border-radius: var(--lux-radius-pill);
	padding: 16px 24px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: -0.005em;
	box-shadow: 0 6px 24px rgba(230,36,63,0.42), inset 0 1px 0 rgba(255,255,255,0.22), inset 0 -1px 0 rgba(0,0,0,0.18);
	transition: transform 200ms, box-shadow 200ms, background 200ms;
	position: relative;
	overflow: hidden;
	margin-top: 8px;
}
.lux-submit::before {
	content: "";
	position: absolute;
	top: 0;
	left: -120%;
	width: 60%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent);
	transition: left 700ms var(--ease-lux);
	pointer-events: none;
}
.lux-submit:hover::before { left: 120%; }
.lux-submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 32px rgba(230,36,63,0.55), inset 0 1px 0 rgba(255,255,255,0.28), inset 0 -1px 0 rgba(0,0,0,0.18);
}
.lux-submit:active { transform: translateY(0); }
.lux-submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.lux-submit svg { stroke: #fff; }
.lux-submit-meta {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin-top: 14px;
	font-family: var(--font-mono);
	font-size: 10.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-45);
	flex-wrap: wrap;
}
.lux-submit-meta span { display: inline-flex; align-items: center; gap: 6px; }
.lux-submit-meta span + span::before {
	content: "·";
	color: var(--cd-red);
	margin-right: 16px;
	margin-left: -8px;
}

/* Error + loading */
.lux-error {
	display: none;
	margin-top: 16px;
	padding: 12px 16px;
	border-radius: 10px;
	background: rgba(230,36,63,0.10);
	border: 1px solid rgba(230,36,63,0.35);
	color: #FFB1BB;
	font-family: var(--font-body);
	font-size: 13px;
	line-height: 1.5;
}
.lux-error.is-on { display: block; }
.lux-loading {
	display: none;
	margin-top: 16px;
	padding: 14px 16px;
	border-radius: 10px;
	background: rgba(255,255,255,0.03);
	border: 1px solid var(--hair);
}
.lux-loading.is-on { display: block; }
.lux-loading__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
	font-family: var(--font-mono);
	font-size: 11.5px;
	color: var(--ink-70);
	letter-spacing: 0.02em;
}
.lux-loading__step { color: var(--ink-100); }
.lux-loading__pct {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--cd-red);
	letter-spacing: 0.04em;
}
.lux-loading__bar {
	height: 3px;
	background: rgba(255,255,255,0.06);
	border-radius: var(--lux-radius-pill);
	overflow: hidden;
	position: relative;
}
.lux-loading__bar::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent, var(--cd-red), transparent);
	animation: luxLoadingSweep 1.6s linear infinite;
}
@keyframes luxLoadingSweep {
	0%   { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}

/* === LUX CTA BAND === */
.lux-cta-band {
	display: grid;
	grid-template-columns: 1.5fr auto;
	gap: 48px;
	align-items: center;
	margin: 64px 0 0;
	padding: 48px 56px;
	border-radius: var(--lux-radius-card);
	background: linear-gradient(155deg, #141414 0%, #0B0B0B 100%);
	border: 1px solid var(--hair);
	position: relative;
	overflow: hidden;
}
.lux-cta-band::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 60% 80% at 100% 0%, rgba(230,36,63,0.16), transparent 60%);
	pointer-events: none;
}
.lux-cta-band__body { position: relative; z-index: 1; }
.lux-cta-band__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(22px, 2.4vw, 30px);
	letter-spacing: -0.025em;
	line-height: 1.18;
	color: var(--ink-100);
	margin: 8px 0 12px;
	max-width: 24ch;
}
.lux-cta-band__title em {
	font-style: italic;
	font-weight: 500;
	color: var(--cd-red);
}
.lux-cta-band__lead {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.65;
	color: var(--ink-70);
	margin: 0;
	max-width: 60ch;
}
.lux-cta-band__actions {
	position: relative;
	z-index: 1;
	display: flex;
	gap: 12px;
	flex-shrink: 0;
}
.lux-cta-band__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 16px 28px;
	border-radius: var(--lux-radius-pill);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: -0.005em;
	transition: transform 200ms, box-shadow 200ms, background 200ms;
	white-space: nowrap;
}
.lux-cta-band__btn--primary {
	background: linear-gradient(135deg, #EE2A48 0%, #C71C33 100%);
	color: #fff;
	box-shadow: 0 6px 24px rgba(230,36,63,0.42), inset 0 1px 0 rgba(255,255,255,0.22);
}
.lux-cta-band__btn--primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 32px rgba(230,36,63,0.55), inset 0 1px 0 rgba(255,255,255,0.28);
}

/* === LUX FAQ === */
.lux-faq {
	padding: 120px 0;
	border-top: 1px solid var(--hair);
}
.lux-faq__head {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 48px;
	align-items: end;
	margin-bottom: 56px;
	padding-bottom: 36px;
	border-bottom: 1px solid var(--hair);
}
.lux-faq__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(32px, 4vw, 56px);
	line-height: 1.0;
	letter-spacing: -0.03em;
	color: var(--ink-100);
	margin: 14px 0 0;
	max-width: 18ch;
	text-wrap: balance;
}
.lux-faq__title em {
	font-style: italic;
	font-weight: 500;
	color: var(--cd-red);
}
.lux-faq__counter {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-55);
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 12px;
}
.lux-faq__counter strong {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 32px;
	color: var(--cd-red);
	letter-spacing: -0.04em;
	line-height: 1;
}
.lux-faq__list {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: lux-faq;
}
.lux-faq__list li {
	counter-increment: lux-faq;
	border-bottom: 1px solid var(--hair);
}
.lux-faq__item {
	padding: 28px 0;
	transition: padding-left var(--t-base) var(--ease-lux);
	position: relative;
}
.lux-faq__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 0;
	background: var(--cd-red);
	transition: width var(--t-base) var(--ease-lux);
}
.lux-faq__item[open] { padding-left: 24px; }
.lux-faq__item[open]::before { width: 3px; }
.lux-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(18px, 1.8vw, 22px);
	letter-spacing: -0.018em;
	line-height: 1.3;
	color: var(--ink-100);
	cursor: pointer;
	list-style: none;
	transition: color 220ms;
}
.lux-faq__item summary::-webkit-details-marker { display: none; }
.lux-faq__item summary::before {
	content: counter(lux-faq, decimal-leading-zero);
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	color: var(--ink-45);
	min-width: 30px;
	font-weight: 500;
}
.lux-faq__item summary::after {
	content: "+";
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 28px;
	color: var(--cd-red);
	line-height: 1;
	flex-shrink: 0;
	transition: transform 280ms var(--ease-lux);
}
.lux-faq__item[open] summary::after {
	transform: rotate(45deg);
}
.lux-faq__item summary:hover { color: #fff; }
.lux-faq__answer {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.7;
	color: var(--ink-70);
	margin: 16px 0 0 30px;
	max-width: 70ch;
}
.lux-faq__answer strong { color: var(--ink-100); font-weight: 600; }
.lux-faq__answer em { font-style: italic; color: var(--ink-100); }
.lux-faq__answer code {
	font-family: var(--font-mono);
	font-size: 0.92em;
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--hair);
	padding: 2px 6px;
	border-radius: 4px;
}
.lux-faq__answer a {
	color: var(--cd-red);
	border-bottom: 1px solid rgba(230,36,63,0.4);
	transition: color 200ms, border-color 200ms;
}
.lux-faq__answer a:hover { color: #FF6B7A; border-bottom-color: #FF6B7A; }

/* === LUX SITE FOOTER === */
.lux-site-footer {
	background: #050505;
	color: var(--ink-45);
	padding: 48px 0;
	font-family: var(--font-body);
	font-size: 13px;
	text-align: center;
	border-top: 1px solid var(--hair);
}
.lux-site-footer p { margin: 0 0 6px; }
.lux-site-footer p:last-child { margin: 0; }
.lux-site-footer a {
	color: var(--ink-70);
	transition: color 200ms;
}
.lux-site-footer a:hover { color: var(--cd-red); }

/* === RESPONSIVE === */
@media (max-width: 1100px) {
	.lux-hero {
		min-height: auto;
		padding: 130px 0 72px;
	}
	.lux-hero__inner {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	.lux__inner { padding: 0 24px; }
	.lux-cta-band {
		grid-template-columns: 1fr;
		padding: 36px 32px;
		gap: 24px;
	}
	.lux-faq {
		padding: 80px 0;
	}
	.lux-faq__head {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-bottom: 40px;
	}
}
@media (max-width: 720px) {
	.lux-hero { padding: 110px 0 56px; }
	.lux-form { padding: 28px 22px 24px; }
	.lux-hero__trust { gap: 16px; }
	.lux-hero__trust-divider { display: none; }
	.lux-cta-band { padding: 28px 22px; }
	.lux-faq { padding: 64px 0; }
	.lux-faq__item summary { font-size: 16px; gap: 14px; }
	.lux-faq__answer { margin-left: 0; font-size: 14.5px; }
	.lux-faq__counter strong { font-size: 24px; }
	.lux-submit-meta span + span::before { margin: 0 8px 0 -4px; }
}

/* === FOCUS VISIBLE === */
.lux-submit:focus-visible,
.lux-cta-band__btn:focus-visible,
.lux-field input:focus-visible,
.lux-field select:focus-visible {
	outline: 3px solid var(--cd-red);
	outline-offset: 4px;
}

/* === REDUCED MOTION === */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}
/* @id cronuts-luxury-shell-css */
@font-face { font-family:'Space Grotesk'; font-weight:500; font-display:swap; src:url('/wp-content/themes/cronuts-2026/fonts/space-grotesk-500.woff2') format('woff2'); }
@font-face { font-family:'Space Grotesk'; font-weight:600; font-display:swap; src:url('/wp-content/themes/cronuts-2026/fonts/space-grotesk-600.woff2') format('woff2'); }
@font-face { font-family:'Space Grotesk'; font-weight:700; font-display:swap; src:url('/wp-content/themes/cronuts-2026/fonts/space-grotesk-700.woff2') format('woff2'); }
@font-face { font-family:'DM Sans'; font-weight:400; font-display:swap; src:url('/wp-content/themes/cronuts-2026/fonts/dm-sans-400.woff2') format('woff2'); }
@font-face { font-family:'DM Sans'; font-weight:500; font-display:swap; src:url('/wp-content/themes/cronuts-2026/fonts/dm-sans-500.woff2') format('woff2'); }
@font-face { font-family:'DM Sans'; font-weight:600; font-display:swap; src:url('/wp-content/themes/cronuts-2026/fonts/dm-sans-600.woff2') format('woff2'); }

:root {
	--font-display: 'Space Grotesk', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	--font-body:    'DM Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	--font-mono:    ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

	--ink-100: #F4F4F5;
	--ink-70:  rgba(244,244,245,0.72);
	--ink-55:  rgba(244,244,245,0.58);
	--ink-45:  rgba(244,244,245,0.46);
	--ink-22:  rgba(244,244,245,0.22);

	--bg-body:   #0A0A0A;
	--bg-raised: #111111;

	--cd-red:        #E6243F;
	--cd-red-hover:  #C71C33;
	--cd-amber:      #FF8A00;
	--cd-green:      #1D7A3F;
	--cd-green-hot:  #3DA66E;

	--red-gradient:     linear-gradient(120deg, #FF6B7A 0%, #E6243F 60%);
	--red-gradient-rev: linear-gradient(120deg, #FF8A95, #FFB1BB 60%);

	--hair:      rgba(255,255,255,0.08);
	--hair-soft: rgba(255,255,255,0.04);

	--ease-lux:  cubic-bezier(0.22, 1, 0.36, 1);
	--t-base:    420ms;

	--lux-radius-card: 22px;
	--lux-radius-pill: 999px;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
	background: var(--bg-body);
	color: var(--ink-100);
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
h1, h2, h3, h4 {
	margin: 0;
	font-family: var(--font-display);
	letter-spacing: -0.022em;
	color: var(--ink-100);
}
p { margin: 0; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }

/* === LUX section primitive === */
.lux {
	background: var(--bg-body);
	color: var(--ink-100);
	position: relative;
}
.lux__inner {
	width: 100%;
	max-width: 1320px;
	margin-inline: auto;
	padding: 0 32px;
}
.lux__rail {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-45);
	margin: 0 0 18px;
	display: inline-flex;
	align-items: center;
	gap: 14px;
}
.lux__rail::before {
	content: "";
	width: 48px;
	height: 1px;
	background: linear-gradient(90deg, var(--cd-red), transparent);
}
.lux__rail span {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--cd-red);
	letter-spacing: 0.16em;
	font-size: 11px;
}

/* === LUX HERO === */
.lux-hero {
	padding: 160px 0 96px;
	position: relative;
	overflow: hidden;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.lux-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 70% 55% at 12% 20%, rgba(230,36,63,0.18), transparent 55%),
		radial-gradient(ellipse 55% 45% at 88% 78%, rgba(230,36,63,0.12), transparent 55%),
		radial-gradient(ellipse 45% 35% at 50% 5%, rgba(120,80,255,0.08), transparent 55%);
	pointer-events: none;
	animation: luxMesh 32s ease-in-out infinite;
}
.lux-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
	background-size: 88px 88px;
	mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000, transparent 70%);
	-webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000, transparent 70%);
	pointer-events: none;
}
@keyframes luxMesh {
	0%, 100% { transform: translate(0,0) scale(1); }
	33%      { transform: translate(2%,-1.5%) scale(1.04); }
	66%      { transform: translate(-1.5%,1%) scale(0.97); }
}
.lux-hero__inner {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 80px;
	align-items: start;
	position: relative;
	z-index: 2;
}
.lux-hero__content { max-width: 56ch; }
.lux-hero__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(40px, 5.4vw, 76px);
	line-height: 1.0;
	letter-spacing: -0.04em;
	margin: 0 0 28px;
	color: var(--ink-100);
	text-wrap: balance;
}
.lux-hero__title em {
	font-style: italic;
	font-weight: 600;
	background: var(--red-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.lux-hero__lead {
	font-family: var(--font-body);
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.62;
	color: var(--ink-70);
	margin: 0 0 32px;
	max-width: 56ch;
}
.lux-hero__lead strong { color: var(--ink-100); font-weight: 600; }
.lux-hero__bullets {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.lux-hero__bullets li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	font-family: var(--font-body);
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--ink-70);
}
.lux-hero__bullets li svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	stroke: var(--cd-red);
	stroke-width: 2.4;
	margin-top: 2px;
}
.lux-hero__trust {
	display: flex;
	align-items: center;
	gap: 28px;
	padding-top: 28px;
	border-top: 1px solid var(--hair);
	flex-wrap: wrap;
}
.lux-hero__trust-stat {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.lux-hero__trust-num {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 26px;
	letter-spacing: -0.025em;
	color: var(--ink-100);
	line-height: 1;
}
.lux-hero__trust-num em {
	font-style: normal;
	font-weight: 500;
	color: var(--cd-red);
	font-size: 0.7em;
	margin-left: 3px;
}
.lux-hero__trust-lab {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-45);
}
.lux-hero__trust-divider {
	width: 1px;
	height: 32px;
	background: var(--hair);
}

/* === LUX FORM (glass panel) === */
.lux-form {
	position: relative;
	background: linear-gradient(165deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.018) 100%);
	border: 1px solid var(--hair);
	border-radius: var(--lux-radius-card);
	padding: 36px 32px 32px;
	backdrop-filter: blur(18px) saturate(1.4);
	-webkit-backdrop-filter: blur(18px) saturate(1.4);
	box-shadow: 0 1px 0 rgba(255,255,255,0.06) inset, 0 30px 60px -20px rgba(0,0,0,0.55);
	isolation: isolate;
	overflow: hidden;
}
.lux-form::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 3px;
	background: linear-gradient(90deg, transparent, var(--cd-red), transparent);
	border-radius: 0 0 var(--lux-radius-pill) var(--lux-radius-pill);
}
.lux-form__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}
.lux-form__icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(230,36,63,0.28), rgba(230,36,63,0.08));
	border: 1px solid rgba(230,36,63,0.4);
	display: grid;
	place-items: center;
	color: #FF8090;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.1), 0 6px 20px -6px rgba(230,36,63,0.4);
}
.lux-form__icon svg { width: 20px; height: 20px; stroke-width: 2; }
.lux-form__pulse {
	font-family: var(--font-mono);
	font-size: 10.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-55);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: var(--lux-radius-pill);
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--hair);
}
.lux-form__pulse::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--cd-green-hot);
	box-shadow: 0 0 0 3px rgba(61,166,110,0.18);
	animation: luxPulse 2s ease-in-out infinite;
}
@keyframes luxPulse {
	0%, 100% { opacity: 0.55; }
	50%      { opacity: 1; }
}
.lux-form__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 26px;
	letter-spacing: -0.025em;
	line-height: 1.15;
	color: var(--ink-100);
	margin: 0 0 6px;
}
.lux-form__sub {
	font-family: var(--font-body);
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-55);
	margin: 0 0 22px;
}

/* Progress bar */
.lux-progress {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--hair);
}
.lux-progress__track {
	flex: 1;
	height: 4px;
	background: rgba(255,255,255,0.06);
	border-radius: var(--lux-radius-pill);
	overflow: hidden;
}
.lux-progress__fill {
	height: 100%;
	width: 0;
	background: var(--red-gradient);
	border-radius: inherit;
	transition: width 320ms var(--ease-lux);
}
.lux-progress__pct {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.04em;
	color: var(--ink-55);
	min-width: 36px;
	text-align: right;
}
.lux-progress__pct strong {
	color: var(--ink-100);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 13px;
}

/* Field */
.lux-field {
	margin-bottom: 16px;
	position: relative;
}
.lux-field__label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ink-70);
	margin-bottom: 8px;
}
.lux-field__label small {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 11px;
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--ink-45);
	margin-left: 4px;
}
.lux-field__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--cd-green-hot);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	opacity: 0;
	transition: opacity 220ms;
}
.lux-field.is-valid .lux-field__check { opacity: 1; }
.lux-field__wrap {
	position: relative;
	display: flex;
	align-items: center;
}
.lux-field__icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	color: var(--ink-45);
	pointer-events: none;
}
.lux-field input[type="text"],
.lux-field input[type="url"],
.lux-field input[type="email"],
.lux-field input[type="number"],
.lux-field select {
	width: 100%;
	background: rgba(255,255,255,0.03);
	border: 1px solid var(--hair);
	border-radius: 12px;
	padding: 14px 16px 14px 40px;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--ink-100);
	transition: border-color 220ms, background 220ms, box-shadow 220ms;
	outline: none;
	font-feature-settings: 'tnum';
}
.lux-field--no-icon input,
.lux-field--no-icon select {
	padding-left: 16px;
}
.lux-field input:focus,
.lux-field select:focus {
	border-color: rgba(230,36,63,0.55);
	background: rgba(255,255,255,0.05);
	box-shadow: 0 0 0 4px rgba(230,36,63,0.12);
}
.lux-field input::placeholder { color: var(--ink-45); }
.lux-field select {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.45)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 16px;
	padding-right: 40px;
}
.lux-field--suffix .lux-field__wrap::after {
	content: attr(data-suffix);
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--ink-45);
	font-family: var(--font-mono);
	font-size: 12px;
	pointer-events: none;
	letter-spacing: 0.04em;
}
.lux-field--suffix input { padding-right: 56px; }

/* Optin checkbox */
.lux-optin {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 12px;
	font-family: var(--font-body);
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--ink-55);
	cursor: pointer;
}
.lux-optin input[type="checkbox"] {
	margin-top: 3px;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	accent-color: var(--cd-red);
}
.lux-optin strong { color: var(--ink-70); font-weight: 600; }

/* Honeypot */
.lux-hp {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Submit button */
.lux-submit {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: linear-gradient(135deg, #EE2A48 0%, #C71C33 100%);
	color: #fff;
	border: 0;
	border-radius: var(--lux-radius-pill);
	padding: 16px 24px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: -0.005em;
	box-shadow: 0 6px 24px rgba(230,36,63,0.42), inset 0 1px 0 rgba(255,255,255,0.22), inset 0 -1px 0 rgba(0,0,0,0.18);
	transition: transform 200ms, box-shadow 200ms, background 200ms;
	position: relative;
	overflow: hidden;
	margin-top: 8px;
}
.lux-submit::before {
	content: "";
	position: absolute;
	top: 0;
	left: -120%;
	width: 60%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent);
	transition: left 700ms var(--ease-lux);
	pointer-events: none;
}
.lux-submit:hover::before { left: 120%; }
.lux-submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 32px rgba(230,36,63,0.55), inset 0 1px 0 rgba(255,255,255,0.28), inset 0 -1px 0 rgba(0,0,0,0.18);
}
.lux-submit:active { transform: translateY(0); }
.lux-submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.lux-submit svg { stroke: #fff; }
.lux-submit-meta {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin-top: 14px;
	font-family: var(--font-mono);
	font-size: 10.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-45);
	flex-wrap: wrap;
}
.lux-submit-meta span { display: inline-flex; align-items: center; gap: 6px; }
.lux-submit-meta span + span::before {
	content: "·";
	color: var(--cd-red);
	margin-right: 16px;
	margin-left: -8px;
}

/* Error + loading */
.lux-error {
	display: none;
	margin-top: 16px;
	padding: 12px 16px;
	border-radius: 10px;
	background: rgba(230,36,63,0.10);
	border: 1px solid rgba(230,36,63,0.35);
	color: #FFB1BB;
	font-family: var(--font-body);
	font-size: 13px;
	line-height: 1.5;
}
.lux-error.is-on { display: block; }
.lux-loading {
	display: none;
	margin-top: 16px;
	padding: 14px 16px;
	border-radius: 10px;
	background: rgba(255,255,255,0.03);
	border: 1px solid var(--hair);
}
.lux-loading.is-on { display: block; }
.lux-loading__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
	font-family: var(--font-mono);
	font-size: 11.5px;
	color: var(--ink-70);
	letter-spacing: 0.02em;
}
.lux-loading__step { color: var(--ink-100); }
.lux-loading__pct {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--cd-red);
	letter-spacing: 0.04em;
}
.lux-loading__bar {
	height: 3px;
	background: rgba(255,255,255,0.06);
	border-radius: var(--lux-radius-pill);
	overflow: hidden;
	position: relative;
}
.lux-loading__bar::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent, var(--cd-red), transparent);
	animation: luxLoadingSweep 1.6s linear infinite;
}
@keyframes luxLoadingSweep {
	0%   { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}

/* === LUX CTA BAND === */
.lux-cta-band {
	display: grid;
	grid-template-columns: 1.5fr auto;
	gap: 48px;
	align-items: center;
	margin: 64px 0 0;
	padding: 48px 56px;
	border-radius: var(--lux-radius-card);
	background: linear-gradient(155deg, #141414 0%, #0B0B0B 100%);
	border: 1px solid var(--hair);
	position: relative;
	overflow: hidden;
}
.lux-cta-band::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 60% 80% at 100% 0%, rgba(230,36,63,0.16), transparent 60%);
	pointer-events: none;
}
.lux-cta-band__body { position: relative; z-index: 1; }
.lux-cta-band__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(22px, 2.4vw, 30px);
	letter-spacing: -0.025em;
	line-height: 1.18;
	color: var(--ink-100);
	margin: 8px 0 12px;
	max-width: 24ch;
}
.lux-cta-band__title em {
	font-style: italic;
	font-weight: 500;
	color: var(--cd-red);
}
.lux-cta-band__lead {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.65;
	color: var(--ink-70);
	margin: 0;
	max-width: 60ch;
}
.lux-cta-band__actions {
	position: relative;
	z-index: 1;
	display: flex;
	gap: 12px;
	flex-shrink: 0;
}
.lux-cta-band__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 16px 28px;
	border-radius: var(--lux-radius-pill);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: -0.005em;
	transition: transform 200ms, box-shadow 200ms, background 200ms;
	white-space: nowrap;
}
.lux-cta-band__btn--primary {
	background: linear-gradient(135deg, #EE2A48 0%, #C71C33 100%);
	color: #fff;
	box-shadow: 0 6px 24px rgba(230,36,63,0.42), inset 0 1px 0 rgba(255,255,255,0.22);
}
.lux-cta-band__btn--primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 32px rgba(230,36,63,0.55), inset 0 1px 0 rgba(255,255,255,0.28);
}

/* === LUX FAQ === */
.lux-faq {
	padding: 120px 0;
	border-top: 1px solid var(--hair);
}
.lux-faq__head {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 48px;
	align-items: end;
	margin-bottom: 56px;
	padding-bottom: 36px;
	border-bottom: 1px solid var(--hair);
}
.lux-faq__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(32px, 4vw, 56px);
	line-height: 1.0;
	letter-spacing: -0.03em;
	color: var(--ink-100);
	margin: 14px 0 0;
	max-width: 18ch;
	text-wrap: balance;
}
.lux-faq__title em {
	font-style: italic;
	font-weight: 500;
	color: var(--cd-red);
}
.lux-faq__counter {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-55);
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 12px;
}
.lux-faq__counter strong {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 32px;
	color: var(--cd-red);
	letter-spacing: -0.04em;
	line-height: 1;
}
.lux-faq__list {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: lux-faq;
}
.lux-faq__list li {
	counter-increment: lux-faq;
	border-bottom: 1px solid var(--hair);
}
.lux-faq__item {
	padding: 28px 0;
	transition: padding-left var(--t-base) var(--ease-lux);
	position: relative;
}
.lux-faq__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 0;
	background: var(--cd-red);
	transition: width var(--t-base) var(--ease-lux);
}
.lux-faq__item[open] { padding-left: 24px; }
.lux-faq__item[open]::before { width: 3px; }
.lux-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(18px, 1.8vw, 22px);
	letter-spacing: -0.018em;
	line-height: 1.3;
	color: var(--ink-100);
	cursor: pointer;
	list-style: none;
	transition: color 220ms;
}
.lux-faq__item summary::-webkit-details-marker { display: none; }
.lux-faq__item summary::before {
	content: counter(lux-faq, decimal-leading-zero);
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	color: var(--ink-45);
	min-width: 30px;
	font-weight: 500;
}
.lux-faq__item summary::after {
	content: "+";
	font-family: var(--font-display);
	font-weight: 400;
	font-size: 28px;
	color: var(--cd-red);
	line-height: 1;
	flex-shrink: 0;
	transition: transform 280ms var(--ease-lux);
}
.lux-faq__item[open] summary::after {
	transform: rotate(45deg);
}
.lux-faq__item summary:hover { color: #fff; }
.lux-faq__answer {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.7;
	color: var(--ink-70);
	margin: 16px 0 0 30px;
	max-width: 70ch;
}
.lux-faq__answer strong { color: var(--ink-100); font-weight: 600; }
.lux-faq__answer em { font-style: italic; color: var(--ink-100); }
.lux-faq__answer code {
	font-family: var(--font-mono);
	font-size: 0.92em;
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--hair);
	padding: 2px 6px;
	border-radius: 4px;
}
.lux-faq__answer a {
	color: var(--cd-red);
	border-bottom: 1px solid rgba(230,36,63,0.4);
	transition: color 200ms, border-color 200ms;
}
.lux-faq__answer a:hover { color: #FF6B7A; border-bottom-color: #FF6B7A; }

/* === LUX SITE FOOTER === */
.lux-site-footer {
	background: #050505;
	color: var(--ink-45);
	padding: 48px 0;
	font-family: var(--font-body);
	font-size: 13px;
	text-align: center;
	border-top: 1px solid var(--hair);
}
.lux-site-footer p { margin: 0 0 6px; }
.lux-site-footer p:last-child { margin: 0; }
.lux-site-footer a {
	color: var(--ink-70);
	transition: color 200ms;
}
.lux-site-footer a:hover { color: var(--cd-red); }

/* === RESPONSIVE === */
@media (max-width: 1100px) {
	.lux-hero {
		min-height: auto;
		padding: 130px 0 72px;
	}
	.lux-hero__inner {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	.lux__inner { padding: 0 24px; }
	.lux-cta-band {
		grid-template-columns: 1fr;
		padding: 36px 32px;
		gap: 24px;
	}
	.lux-faq {
		padding: 80px 0;
	}
	.lux-faq__head {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-bottom: 40px;
	}
}
@media (max-width: 720px) {
	.lux-hero { padding: 110px 0 56px; }
	.lux-form { padding: 28px 22px 24px; }
	.lux-hero__trust { gap: 16px; }
	.lux-hero__trust-divider { display: none; }
	.lux-cta-band { padding: 28px 22px; }
	.lux-faq { padding: 64px 0; }
	.lux-faq__item summary { font-size: 16px; gap: 14px; }
	.lux-faq__answer { margin-left: 0; font-size: 14.5px; }
	.lux-faq__counter strong { font-size: 24px; }
	.lux-submit-meta span + span::before { margin: 0 8px 0 -4px; }
}

/* === FOCUS VISIBLE === */
.lux-submit:focus-visible,
.lux-cta-band__btn:focus-visible,
.lux-field input:focus-visible,
.lux-field select:focus-visible {
	outline: 3px solid var(--cd-red);
	outline-offset: 4px;
}

/* === REDUCED MOTION === */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}
/* @id cronuts-ui-final-overrides */
/* ============================================================
   Cronuts UI Final Overrides — last in cascade. !important.
   Single source of truth for: body bg, sections, hero buttons,
   service cards, dark titles, stats band, header CTA hover.
   ============================================================ */

/* 0. Canvas: body light, sections plain transparent */
html, body{ background:#E0E5EC!important; color:#242424 }
:where(html) main, :where(html) #main, :where(html) body > main{
  background:transparent!important
}
:where(html) section.section:not(.section--dark):not([data-ti-section]):not(#opiniones):not(.cta-dark):not(.hero){
  background:transparent!important
}

/* 1. Botones — pill style global (border-radius 999px) */
:where(html) .btn,
:where(html) a.btn,
:where(html) button.btn,
:where(html) .btn--primary,
:where(html) .btn--secondary,
:where(html) .btn--ghost,
:where(html) .btn--light,
:where(html) .btn--large,
:where(html) .btn--dark-primary,
:where(html) .btn--dark-secondary,
:where(html) .btn--outline,
:where(html) .btn--tertiary,
:where(html) .ctc-submit,
:where(html) .ctc-calendly,
:where(html) input[type="submit"],
:where(html) button[type="submit"]{
  border-radius:999px!important
}

/* 2. Hero — primary CTA (rojo solido pill) */
:where(html) .btn.btn--dark-primary{
  background:#e6243f!important;
  color:#fff!important;
  border:1.5px solid transparent!important;
  box-shadow:0 4px 16px rgba(230,36,63,.35),inset 0 1px 0 rgba(255,255,255,.15)!important
}
:where(html) .btn.btn--dark-primary:hover{
  background:#c01e35!important;
  color:#fff!important;
  box-shadow:0 6px 22px rgba(230,36,63,.5),inset 0 1px 0 rgba(255,255,255,.2)!important;
  transform:translateY(-1px)
}

/* 3. Hero — secondary ghost (borde 70% alpha) */
:where(html) .btn.btn--dark-secondary{
  background:transparent!important;
  border:1.5px solid rgba(255,255,255,.7)!important;
  color:#fff!important;
  box-shadow:none!important
}
:where(html) .btn.btn--dark-secondary:hover{
  background:rgba(255,255,255,.12)!important;
  border-color:#fff!important;
  color:#fff!important;
  transform:translateY(-1px)
}

/* 4. Header pill CTA — primary rojo siempre, hover NO cambia color a rojo */
:where(html) .site-header__pill .btn,
:where(html) .site-header__pill .btn--primary{
  background:#e6243f!important;
  color:#fff!important;
  border:1px solid rgba(230,36,63,.5)!important;
  box-shadow:0 2px 10px rgba(230,36,63,.3),inset 0 1px 0 rgba(255,255,255,.12)!important
}
:where(html) .site-header__pill .btn:hover,
:where(html) .site-header__pill .btn--primary:hover{
  background:#c01e35!important;
  color:#fff!important;
  border-color:rgba(230,36,63,.7)!important;
  box-shadow:0 3px 14px rgba(230,36,63,.45),inset 0 1px 0 rgba(255,255,255,.18)!important
}

/* 5. Service cards (homepage grid "Seis disciplinas") — LIGHT cards sobre canvas light */
:where(html) .service-card{
  background:#fff!important;
  border:1px solid rgba(36,36,36,.06)!important;
  color:#242424!important;
  box-shadow:0 12px 32px rgba(17,24,39,.06),0 2px 8px rgba(17,24,39,.04)!important;
  border-radius:14px!important
}
:where(html) .service-card:hover{
  border-color:rgba(230,36,63,.3)!important;
  transform:translateY(-2px);
  box-shadow:0 24px 56px rgba(17,24,39,.09),0 6px 18px rgba(17,24,39,.05)!important
}
:where(html) .service-card .service-card__title{ color:#242424!important }
:where(html) .service-card .service-card__eyebrow{ color:#e6243f!important }
:where(html) .service-card .service-card__desc,
:where(html) .service-card .service-card__description{ color:#545760!important }
:where(html) .service-card .service-card__link{ color:#e6243f!important; font-weight:600!important }
:where(html) .service-card .service-card__foot{ border-top-color:rgba(36,36,36,.08)!important }
:where(html) .service-card .service-card__icon{
  background:#fff!important;
  border:1px solid rgba(36,36,36,.08)!important;
  color:#e6243f!important
}
:where(html) .service-card .service-card__arrow{
  background:#fff!important;
  border:1px solid rgba(36,36,36,.12)!important;
  color:#242424!important;
  border-radius:999px!important
}
:where(html) .service-card:hover .service-card__arrow{
  background:#e6243f!important;
  border-color:#e6243f!important;
  color:#fff!important
}

/* 6. .section__title — color por contexto (light por defecto) */
:where(html) .section .section__title{ color:#242424 }
:where(html) .section .section__title em{ color:#e6243f; font-style:normal }
:where(html) .section .eyebrow{ color:#e6243f }
:where(html) .section .section__lead{ color:#545760 }

/* 7. Secciones dark explicit (.section--dark, [data-ti-section], #opiniones) */
:where(html) .section--dark,
:where(html) [data-ti-section],
:where(html) #opiniones{ color:#fff!important }
:where(html) .section--dark .section__title,
:where(html) [data-ti-section] .section__title,
:where(html) #opiniones .section__title{ color:#fff!important }
:where(html) .section--dark .section__title em,
:where(html) [data-ti-section] .section__title em,
:where(html) #opiniones .section__title em{ color:#e6243f!important; font-style:normal }
:where(html) .section--dark .section__lead,
:where(html) [data-ti-section] .section__lead,
:where(html) #opiniones .section__lead{ color:rgba(255,255,255,.72)!important }
:where(html) .section--dark .eyebrow,
:where(html) [data-ti-section] .eyebrow,
:where(html) #opiniones .eyebrow{ color:#e6243f!important }

/* 8. Stats band — cards light sobre cualquier section */
:where(html) .stats-band .stat{
  background:#fff!important;
  color:#242424!important;
  border-radius:14px!important;
  box-shadow:0 12px 32px rgba(17,24,39,.06),0 2px 8px rgba(17,24,39,.04)!important
}
:where(html) .stats-band .stat__n{ color:#242424!important }
:where(html) .stats-band .stat__n em{ color:#e6243f!important; font-style:normal }
:where(html) .stats-band .stat__lbl{ color:#545760!important }
/* @id cronuts-site-footer-css */
.site-footer{background:#121212;color:rgba(255,255,255,.85);padding:96px 0 48px;font-family:var(--font-body,"Inter",system-ui,sans-serif)}
.site-footer .container{max-width:1400px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}
.site-footer__shell{background:#121212;border-radius:16px;padding:48px;box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 24px 64px rgba(0,0,0,.5);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}
.site-footer .footer-eyebrow{font-family:var(--font-display,"Poppins",sans-serif);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:14px}
.site-footer .footer-col a{display:block;font-size:13px;padding:4px 0;color:rgba(255,255,255,.85);text-decoration:none;transition:color 160ms}
.site-footer .footer-col a:hover{color:#e6243f}
.site-footer .footer-brand{display:flex;flex-direction:column;gap:16px;max-width:320px}
.site-footer .footer-brand__lockup{display:flex;align-items:center;gap:12px;text-decoration:none}
.site-footer .footer-brand__eye{width:40px;height:40px;display:block;object-fit:contain;flex-shrink:0;background:transparent}
.site-footer .footer-brand__word{font-family:var(--font-display,"Poppins",sans-serif);font-weight:700;font-size:22px;line-height:1;letter-spacing:-.02em;color:#fff;display:inline-flex;align-items:baseline}
.site-footer .footer-brand__word .dot{color:#e6243f;padding:0 1px}
.site-footer .footer-brand p{color:rgba(255,255,255,.72);font-size:14px;line-height:1.55;margin:0}
.site-footer .footer-socials{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}
.site-footer .footer-socials a{width:40px;height:40px;border-radius:999px;background:#1a1a1a;box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 4px 12px rgba(0,0,0,.4);display:grid;place-items:center;color:#fff;padding:0;transition:color 180ms,transform 180ms}
.site-footer .footer-socials a:hover{color:#e6243f;transform:translateY(-1px)}
.site-footer .footer-socials a svg{width:16px;height:16px;stroke-width:1.8;display:block}
.site-footer__meta{margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;font-family:ui-monospace,Menlo,monospace;font-size:10px;color:rgba(255,255,255,.45);letter-spacing:.04em;text-transform:uppercase;gap:16px;flex-wrap:wrap}
.site-footer__meta .dot{color:#e6243f}
.site-footer__meta-extra a{color:rgba(255,255,255,.7);text-decoration:none;transition:color 160ms}
.site-footer__meta-extra a:hover{color:#e6243f}
@media(max-width:1024px){.site-footer__shell{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:720px){.site-footer{padding:64px 0 32px}.site-footer__shell{grid-template-columns:1fr;padding:32px;gap:28px}.site-footer__meta{flex-direction:column;align-items:flex-start}}