/*
 * The Fitness Living Newsletter — /newsletter/ (page-newsletter.php).
 * Warm off-white page, a pure-white subscription card under a double gold
 * rule, Source Serif headlines, Libre Franklin labels, deep editorial brown
 * action. Deliberately unlike Muscle & Authority's charcoal card.
 */

.flm-nlp,
.flm-nlp * {
	box-sizing: border-box;
}

.flm-nlp {
	--nlp-ink: #171512;
	--nlp-copy: #463e33;
	--nlp-label: #3d352b;
	--nlp-gold: #7a5c27;
	--nlp-gold-rule: #a7843f;
	--nlp-brown: #3d2617;
	--nlp-brown-deep: #2b1a0f;
	--nlp-rule: #ddd2bf;
	--nlp-paper: #faf6ee;
	background: var(--nlp-paper);
	color: var(--nlp-ink);
	font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
}

.flm-nlp__shell {
	margin: 0 auto;
	padding: 40px 0 88px;
	width: min(1280px, calc(100% - 64px));
}

.flm-nlp__hero {
	align-items: start;
	border-top: 3px solid var(--nlp-ink);
	display: grid;
	gap: clamp(44px, 6vw, 88px);
	grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr);
	padding: 36px 0 40px;
}

.flm-nlp__eyebrow,
.flm-nlp__benefits-title {
	color: var(--nlp-gold);
	font-family: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .2em;
	line-height: 1.3;
	margin: 0 0 18px;
	text-transform: uppercase;
}

.flm-nlp .flm-nlp__title {
	color: var(--nlp-ink);
	font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
	font-size: clamp(48px, 5.4vw, 78px);
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: .98;
	margin: 0;
	max-width: 12.5em;
	text-wrap: balance;
}

.flm-nlp__deck {
	color: var(--nlp-copy);
	font-size: 21px;
	font-weight: 400;
	line-height: 1.6;
	margin: 26px 0 0;
	max-width: 36em;
}

/* Desktop: the introduction sits level with the middle of the signup card, so
   the space under it is no larger than the space above it. */
@media (min-width: 1025px) {
	.flm-nlp__intro {
		align-self: center;
		padding-bottom: 12px;
	}
}

/* ---------- Subscription card ---------- */

.flm-nlp__card {
	background: #fff;
	border: 1px solid var(--nlp-rule);
	border-top: 4px double var(--nlp-gold-rule);
	box-shadow: 0 1px 0 rgba(23, 21, 18, .04), 0 24px 48px -32px rgba(61, 38, 23, .32);
	padding: clamp(30px, 3.2vw, 42px);
}

.flm-nlp .flm-nlp__card-title {
	color: var(--nlp-ink);
	font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
	font-size: clamp(32px, 2.9vw, 40px);
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.08;
	margin: 0 0 12px;
	text-wrap: balance;
}

.flm-nlp__card-line {
	color: var(--nlp-copy);
	font-size: 18.5px;
	line-height: 1.55;
	margin: 0 0 24px;
}

.flm-nlp__field + .flm-nlp__field {
	margin-top: 18px;
}

.flm-nlp__field label {
	color: var(--nlp-label);
	display: block;
	font-family: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.3;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.flm-nlp .flm-nlp__input {
	background: #fffdf8 !important;
	border: 1px solid #cdbfa6 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--nlp-ink) !important;
	display: block;
	font-family: "Libre Franklin", "Helvetica Neue", Arial, sans-serif !important;
	font-size: 17px !important;
	height: 52px;
	margin: 0;
	padding: 0 14px !important;
	width: 100%;
}

.flm-nlp .flm-nlp__input:focus {
	border-color: #8d692a !important;
	outline: 2px solid rgba(141, 105, 42, .28);
	outline-offset: 1px;
}

.flm-nlp .flm-nlp__input[aria-invalid="true"] {
	border-color: #8c2f1f !important;
}

.flm-nlp__error {
	color: #8c2f1f;
	font-family: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
	font-size: 15px;
	line-height: 1.4;
	margin: 6px 0 0;
}

.flm-nlp .flm-nlp__submit {
	align-items: center;
	background: var(--nlp-brown);
	border: 1px solid var(--nlp-brown);
	border-radius: 0;
	box-shadow: inset 0 0 0 2px var(--nlp-brown), inset 0 0 0 3px rgba(212, 177, 110, .62);
	color: #fff;
	cursor: pointer;
	display: flex;
	font-family: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	gap: 10px;
	justify-content: center;
	letter-spacing: .12em;
	line-height: 1.3;
	margin-top: 22px;
	min-height: 56px;
	padding: 14px 18px;
	text-transform: uppercase;
	transition: background-color .2s ease, box-shadow .2s ease;
	width: 100%;
}

.flm-nlp .flm-nlp__submit span {
	color: #d8b673;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
}

.flm-nlp .flm-nlp__submit:hover,
.flm-nlp .flm-nlp__submit:focus-visible {
	background: var(--nlp-brown-deep);
	border-color: var(--nlp-brown-deep);
	box-shadow: inset 0 0 0 2px var(--nlp-brown-deep), inset 0 0 0 3px rgba(222, 190, 126, .9);
}

.flm-nlp .flm-nlp__submit:focus-visible {
	outline: 2px solid #8d692a;
	outline-offset: 3px;
}

.flm-nlp .flm-nlp__submit[disabled] {
	cursor: progress;
	opacity: .78;
}

.flm-nlp__status {
	font-size: 17px;
	line-height: 1.5;
	margin: 14px 0 0;
}

.flm-nlp__status:empty {
	display: none;
}

.flm-nlp__status[data-state="success"] {
	color: #2f5130;
}

.flm-nlp__status[data-state="error"] {
	color: #8c2f1f;
}

.flm-nlp__assurance {
	color: var(--nlp-label);
	font-family: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
	line-height: 1.6;
	margin: 18px 0 0;
	text-align: center;
}

.flm-nlp__reassurance {
	display: block;
	font-size: 15.5px;
	font-weight: 600;
	letter-spacing: .01em;
	white-space: nowrap;
}

.flm-nlp .flm-nlp__privacy {
	color: #5b3a24;
	font-size: 15px;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
}

.flm-nlp .flm-nlp__privacy:hover,
.flm-nlp .flm-nlp__privacy:focus-visible {
	color: var(--nlp-ink);
}

.flm-nlp__paused {
	color: var(--nlp-copy);
	font-size: 18px;
	margin: 0;
}

.flm-nlp__honeypot {
	height: 1px !important;
	left: -10000px !important;
	overflow: hidden !important;
	position: absolute !important;
	width: 1px !important;
}

/* ---------- What you'll discover ---------- */

.flm-nlp__benefits {
	border-top: 1px solid var(--nlp-ink);
	padding-top: 28px;
}

.flm-nlp .flm-nlp__benefits-title {
	margin-bottom: 24px;
}

.flm-nlp__benefit-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.flm-nlp__benefit {
	border-left: 1px solid var(--nlp-rule);
	min-width: 0;
	padding: 0 34px;
}

.flm-nlp__benefit:first-child {
	border-left: 0;
	padding-left: 0;
}

.flm-nlp__benefit:last-child {
	padding-right: 0;
}

.flm-nlp .flm-nlp__benefit h3 {
	color: var(--nlp-ink);
	font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
	font-size: 25px;
	font-weight: 700;
	letter-spacing: -.015em;
	line-height: 1.2;
	margin: 0 0 10px;
}

.flm-nlp__benefit p {
	color: var(--nlp-copy);
	font-size: 18px;
	line-height: 1.6;
	margin: 0;
}

/* ---------- Narrower screens ---------- */

@media (max-width: 1024px) {
	.flm-nlp__hero {
		gap: 44px;
		grid-template-columns: 1fr;
	}

	.flm-nlp__card {
		max-width: 640px;
	}
}

@media (max-width: 767px) {
	.flm-nlp__shell {
		padding: 24px 0 60px;
		width: calc(100% - 32px);
	}

	.flm-nlp__hero {
		gap: 34px;
		padding: 26px 0 40px;
	}

	.flm-nlp .flm-nlp__title {
		font-size: clamp(40px, 11vw, 52px);
	}

	.flm-nlp__deck {
		font-size: 19px;
		margin-top: 20px;
	}

	.flm-nlp__card {
		padding: 28px 22px 26px;
	}

	.flm-nlp__card-line {
		font-size: 18px;
	}

	.flm-nlp__benefit-grid {
		grid-template-columns: 1fr;
	}

	.flm-nlp__benefit,
	.flm-nlp__benefit:first-child,
	.flm-nlp__benefit:last-child {
		border-left: 0;
		border-top: 1px solid var(--nlp-rule);
		padding: 20px 0;
	}

	.flm-nlp__benefit:first-child {
		border-top: 0;
		padding-top: 0;
	}

	.flm-nlp .flm-nlp__benefit h3 {
		font-size: 23px;
	}

	.flm-nlp__benefit p {
		font-size: 17.5px;
	}
}

@media (max-width: 380px) {
	.flm-nlp .flm-nlp__submit {
		font-size: 12.5px;
		letter-spacing: .08em;
		padding-left: 10px;
		padding-right: 10px;
	}

	.flm-nlp__reassurance {
		font-size: 15px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.flm-nlp .flm-nlp__submit {
		transition: none;
	}
}
