/* FRMO Trailer Sponsors — public page, styled after the campaign flyer */
.frmo-ts {
	--frmo-red: #c8102e;
	--frmo-black: #0d0d0d;
	--frmo-cream: #efe9dc;
	--frmo-ink: #1a1a1a;
	--frmo-grey: #9a9a9a;
	--frmo-head: "Bebas Neue", "Oswald", Impact, "Arial Narrow", sans-serif;
	--frmo-body: "Oswald", "Arial Narrow", Arial, sans-serif;
	--frmo-script: "Permanent Marker", "Comic Sans MS", cursive;

	position: relative;
	max-width: 1120px;
	margin: 0 auto;
	color: #f2f2f2;
	font-family: var(--frmo-body);
	font-size: 17px;
	line-height: 1.45;
	background-color: var(--frmo-black);
	/* grunge texture without images */
	background-image:
		radial-gradient(ellipse at 15% 10%, rgba(255,255,255,.07), transparent 45%),
		radial-gradient(ellipse at 85% 60%, rgba(255,255,255,.05), transparent 50%),
		repeating-linear-gradient(115deg, rgba(255,255,255,.018) 0 2px, transparent 2px 7px);
	box-shadow: 0 10px 40px rgba(0,0,0,.45);
	overflow: hidden;
	box-sizing: border-box;
}
.frmo-ts *, .frmo-ts *::before, .frmo-ts *::after { box-sizing: border-box; }
.frmo-ts img { max-width: 100%; height: auto; display: block; }
.frmo-ts h1, .frmo-ts h2, .frmo-ts h3 { font-family: var(--frmo-head); letter-spacing: .02em; margin: 0; line-height: .95; text-transform: uppercase; color: #fff; }
.frmo-ts p { margin: 0 0 .8em; }
.frmo-ts a { color: inherit; }

/* Test banner */
.frmo-test-banner { padding: 10px 16px; background: #ffcc00; color: #111; font-size: 14px; border-bottom: 6px solid; border-image: repeating-linear-gradient(45deg, #111 0 12px, #ffcc00 12px 24px) 6; }
.frmo-test-banner code { font-weight: 700; padding: 0 4px; border: 1px solid #111; border-radius: 3px; }

/* ---------- HERO ---------- */
.frmo-hero {
	display: grid;
	grid-template-columns: 220px 1fr 150px;
	gap: 20px;
	align-items: center;
	padding: 24px 24px 18px;
}
.frmo-hero__logo img { border-radius: 50%; filter: drop-shadow(0 0 18px rgba(0,0,0,.8)); }
.frmo-hero__title h1 { display: flex; flex-direction: column; transform: rotate(-2deg); transform-origin: left; }
.frmo-h1a { font-size: clamp(40px, 6vw, 72px); color: #fff; font-family: var(--frmo-script); line-height: .95; text-transform: uppercase; }
.frmo-h1b { font-size: clamp(40px, 6.4vw, 78px); white-space: nowrap; color: var(--frmo-red); font-family: var(--frmo-script); line-height: .95; text-transform: uppercase; text-shadow: 3px 3px 0 rgba(0,0,0,.6); }
.frmo-campaign { font-family: var(--frmo-head); font-size: clamp(28px, 3.6vw, 44px); margin: 16px 0 6px !important; color: #fff; letter-spacing: .03em; }
.frmo-tagline { font-size: 14px; letter-spacing: .32em; text-transform: uppercase; color: #ddd; margin: 0 !important; }
.frmo-hero__rider {
	align-self: stretch;
	min-height: 240px;
	background-size: cover;
	background-position: center bottom;
	position: relative;
	-webkit-mask-image: linear-gradient(to left, #000 70%, transparent);
	mask-image: linear-gradient(to left, #000 70%, transparent);
}
.frmo-hero__rider span { position: absolute; top: 12px; right: 10px; font-family: var(--frmo-head); font-size: 24px; line-height: 1; text-align: right; text-transform: uppercase; color: #fff; text-shadow: 0 2px 6px rgba(0,0,0,.8); }

/* ---------- INTRO ---------- */
.frmo-intro { display: grid; grid-template-columns: 34% 1fr; gap: 20px; padding: 0 24px 24px; align-items: center; }
.frmo-intro__copy h2 { font-size: clamp(34px, 4.2vw, 50px); margin-bottom: 14px; }
.frmo-intro__copy p { color: #e4e4e4; font-size: 16px; }
.frmo-intro__trailer img { border: 3px solid #1f1f1f; box-shadow: 0 6px 24px rgba(0,0,0,.6); }
.frmo-brush {
	display: inline-block;
	margin-top: 10px;
	padding: 14px 22px;
	background: var(--frmo-red);
	color: #fff;
	font-family: var(--frmo-script);
	font-size: 20px;
	line-height: 1.15;
	text-transform: uppercase;
	transform: rotate(-5deg);
	clip-path: polygon(2% 8%, 98% 0, 100% 88%, 4% 100%, 0 50%);
}

/* ---------- TIERS ---------- */
.frmo-tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 16px; padding: 0 24px 24px; }
.frmo-card {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 110px;
	grid-template-rows: 1fr auto;
	gap: 10px;
	padding: 18px;
	color: var(--frmo-ink);
	background: var(--frmo-cream);
	background-image: radial-gradient(rgba(0,0,0,.05) 1px, transparent 1px);
	background-size: 4px 4px;
	border: 3px solid #fff;
	outline: 1px solid rgba(0,0,0,.4);
	transition: transform .15s ease, box-shadow .15s ease;
}
.frmo-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.5); }
.frmo-card.is-selected { outline: 4px solid var(--frmo-red); }
.frmo-card h3 { color: var(--frmo-ink); font-size: 30px; }
.frmo-card__size { font-family: var(--frmo-head); font-size: 22px; margin: 4px 0 !important; }
.frmo-card__price { font-family: var(--frmo-head); font-size: 64px; line-height: 1; color: var(--frmo-red); margin: 6px 0 8px !important; }
.frmo-card__desc { font-size: 15px; margin: 0 0 6px !important; }
.frmo-card__left { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--frmo-red); margin: 0 !important; }
.frmo-card__logo {
	align-self: center;
	aspect-ratio: 1 / 1;
	display: flex; align-items: center; justify-content: center; text-align: center;
	background: #a9a9a9; color: #eee;
	font-family: var(--frmo-head); font-size: 22px; line-height: 1;
	text-transform: uppercase;
}
.frmo-card .frmo-pick { grid-column: 1 / -1; }
/* Whole card is clickable (stretched link). */
.frmo-card .frmo-pick::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.frmo-card { cursor: pointer; }
/* filter/transform on the link would shrink the stretched ::after back to the button — keep them off here. */
.frmo-ts .frmo-card .frmo-pick:hover, .frmo-ts .frmo-card .frmo-pick:active { filter: none; transform: none; }
.frmo-card:hover .frmo-pick { background: #e0142f; box-shadow: 0 3px 0 rgba(0,0,0,.6); }
.frmo-card.is-soldout { cursor: not-allowed; }
.frmo-btn.is-disabled { background: #555; cursor: not-allowed; }
.frmo-btn.is-disabled::after { display: none; }
.frmo-admin-note { background: #fff3cd; color: #111; padding: 12px 16px; border-left: 6px solid var(--frmo-red); font: 15px/1.4 Arial, sans-serif; }
.frmo-admin-note a { color: var(--frmo-red); font-weight: 700; }

/* Theme-proofing: many themes force their own heading/paragraph fonts. */
.frmo-ts h1, .frmo-ts h2, .frmo-ts h3, .frmo-ts legend,
.frmo-ts .frmo-campaign, .frmo-ts .frmo-card__size, .frmo-ts .frmo-card__price,
.frmo-ts .frmo-card__logo, .frmo-ts .frmo-btn, .frmo-ts .frmo-aud span,
.frmo-ts .frmo-contact__email, .frmo-ts .frmo-level__name, .frmo-ts .frmo-level__price,
.frmo-ts .frmo-foot__title { font-family: var(--frmo-head) !important; font-weight: 400 !important; letter-spacing: .02em; }
.frmo-ts .frmo-h1a, .frmo-ts .frmo-h1b, .frmo-ts .frmo-brush, .frmo-ts .frmo-script { font-family: var(--frmo-script) !important; }
.frmo-ts p, .frmo-ts li, .frmo-ts label, .frmo-ts .frmo-card__desc, .frmo-ts .frmo-card__left { font-family: var(--frmo-body) !important; }
.frmo-ts .frmo-card__price { font-size: 64px !important; line-height: 1 !important; }
.frmo-ts .frmo-card h3 { font-size: 30px !important; line-height: .95 !important; }
.frmo-card.is-soldout { opacity: .6; }
.frmo-card.is-soldout .frmo-card__price { text-decoration: line-through; }

/* Buttons */
.frmo-btn {
	display: inline-block;
	width: 100%;
	padding: 12px 18px;
	border: 0;
	border-radius: 2px;
	background: var(--frmo-red);
	color: #fff !important;
	font-family: var(--frmo-head);
	font-size: 22px;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 3px 0 rgba(0,0,0,.45);
	transition: filter .15s ease, transform .1s ease;
}
.frmo-btn:hover { filter: brightness(1.12); }
.frmo-btn:active { transform: translateY(2px); box-shadow: none; }
.frmo-btn:disabled { background: #555; cursor: not-allowed; filter: none; }
.frmo-btn--big { font-size: 28px; padding: 16px; margin-top: 12px; }

/* ---------- AUDIENCE ---------- */
.frmo-audience { display: grid; grid-template-columns: repeat(4, 1fr); padding: 6px 24px 22px; }
.frmo-aud { display: flex; align-items: center; gap: 14px; padding: 6px 14px; border-left: 2px solid #555; }
.frmo-aud:first-child { border-left: 0; }
.frmo-aud span { font-family: var(--frmo-head); font-size: 24px; line-height: 1; text-transform: uppercase; }
.frmo-ico { width: 52px; height: 52px; flex: 0 0 52px; color: #fff; }

/* ---------- DETAILS + CONTACT ---------- */
.frmo-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 0 24px 26px; }
.frmo-details {
	background: var(--frmo-red);
	padding: 22px 26px;
	clip-path: polygon(0 3%, 100% 0, 99% 100%, 1% 97%);
}
.frmo-details h3 { font-size: 34px; margin-bottom: 10px; }
.frmo-details ul { margin: 0; padding-left: 20px; }
.frmo-details li { margin: 0 0 4px; font-size: 16px; }
.frmo-contact {
	position: relative;
	background: var(--frmo-cream);
	color: var(--frmo-ink);
	padding: 22px 24px;
	border: 3px solid #1a1a1a;
	outline: 3px solid var(--frmo-cream);
	outline-offset: -9px;
}
.frmo-contact h3 { color: var(--frmo-ink); font-size: 30px; margin-bottom: 8px; }
.frmo-contact__email { display: flex; align-items: center; gap: 12px; color: var(--frmo-red) !important; font-family: var(--frmo-head); font-size: clamp(26px, 3vw, 40px); text-decoration: none; word-break: break-all; margin-bottom: 10px; }
.frmo-ico--mail { width: 46px; height: 32px; flex: 0 0 46px; color: #111; }
.frmo-contact p { font-size: 15px; }
.frmo-script { font-family: var(--frmo-script); color: var(--frmo-red); font-size: 30px; line-height: 1.05; transform: rotate(-8deg); display: inline-block; text-transform: uppercase; }
.frmo-contact .frmo-script { position: absolute; right: 18px; bottom: 14px; }

/* ---------- CHECKOUT ---------- */
.frmo-checkout {
	margin: 0 24px 28px;
	padding: 26px;
	background: var(--frmo-cream);
	color: var(--frmo-ink);
	border: 3px solid #fff;
}
.frmo-checkout h2 { color: var(--frmo-ink); font-size: 48px; margin-bottom: 16px; }
.frmo-closed { font-size: 18px; }
.frmo-closed a { color: var(--frmo-red); font-weight: 600; }
.frmo-form fieldset { border: 0; border-top: 3px solid var(--frmo-ink); margin: 0 0 20px; padding: 14px 0 0; }
.frmo-form legend { font-family: var(--frmo-head); font-size: 26px; padding-right: 10px; text-transform: uppercase; color: var(--frmo-ink); }
.frmo-levels { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 10px; }
.frmo-levels legend { grid-column: 1 / -1; }
.frmo-form .frmo-level {
	display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: auto auto; column-gap: 10px;
	align-items: center;
	padding: 12px 14px; background: #fff; border: 2px solid #bbb; cursor: pointer;
}
.frmo-level input { grid-row: 1 / 3; width: 20px; height: 20px; accent-color: var(--frmo-red); }
.frmo-level__name { grid-column: 2; grid-row: 1; font-family: var(--frmo-head); font-size: 22px; line-height: 1; }
.frmo-level__size { grid-column: 2; grid-row: 2; font-size: 13px; color: #555; }
.frmo-level__price { grid-column: 3; grid-row: 1 / 3; font-family: var(--frmo-head); font-size: 32px; color: var(--frmo-red); }
.frmo-level:has(input:checked) { border-color: var(--frmo-red); box-shadow: 0 0 0 2px var(--frmo-red); }
.frmo-level.is-soldout { opacity: .5; cursor: not-allowed; }
.frmo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.frmo-form label { display: block; font-weight: 600; font-size: 15px; color: var(--frmo-ink); }
.frmo-form input[type=text], .frmo-form input[type=email], .frmo-form input[type=tel], .frmo-form select, .frmo-form textarea, .frmo-form input[type=file] {
	display: block; width: 100%; margin-top: 4px; padding: 10px 12px;
	font: 400 16px/1.3 Arial, sans-serif; color: #111; background: #fff;
	border: 2px solid #bbb; border-radius: 2px;
}
.frmo-form input:focus, .frmo-form select:focus, .frmo-form textarea:focus { outline: none; border-color: var(--frmo-red); }
.frmo-form small { display: block; font-weight: 400; font-size: 12px; color: #555; margin-top: 3px; }
.frmo-full { margin-top: 12px; }
.frmo-form .is-invalid { border-color: var(--frmo-red) !important; background: #fff4f4 !important; }
.frmo-hp { position: absolute !important; left: -9999px !important; height: 1px; overflow: hidden; }
#frmo-card-container { min-height: 90px; margin-bottom: 8px; }
.frmo-agree { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400 !important; margin: 6px 0; }
.frmo-agree input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--frmo-red); flex: 0 0 20px; }
.frmo-secure { font-size: 13px; color: #555; text-align: center; margin: 10px 0 0 !important; }
.frmo-msg { margin-top: 14px; padding: 12px 14px; border-left: 5px solid var(--frmo-red); background: #fff; color: #7a0000; font-weight: 600; }
.frmo-msg.is-info { border-color: #333; color: #333; }
.frmo-success { text-align: center; padding: 20px 10px; }
.frmo-success .frmo-script { font-size: 48px; margin-bottom: 16px; }
.frmo-success__msg { font-size: 20px; }
.frmo-success__meta { color: #555; }
.frmo-success__receipt { max-width: 320px; }
.frmo-btn.is-loading { position: relative; color: transparent !important; }
.frmo-btn.is-loading::after { content: ""; position: absolute; left: 50%; top: 50%; width: 26px; height: 26px; margin: -13px 0 0 -13px; border: 3px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: frmo-spin .8s linear infinite; }
@keyframes frmo-spin { to { transform: rotate(360deg); } }

/* ---------- FOOTER ---------- */
.frmo-foot { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 28px 22px; border-top: 2px solid #333; background: #050505; }
.frmo-foot__title { font-family: var(--frmo-head); font-size: 30px; letter-spacing: .35em; margin: 0 !important; text-transform: uppercase; }
.frmo-foot__sub { font-size: 13px; letter-spacing: .4em; text-transform: uppercase; color: #bbb; margin: 0 !important; }
.frmo-foot .frmo-script { color: #e8dcc0; font-size: 26px; transform: rotate(-4deg); }

/* ---------- Top off the tank ---------- */
.frmo-cover { margin: 0 0 14px; padding: 14px 16px; background: #fff; border: 2px dashed var(--frmo-red); }
.frmo-cover__opt { display: flex !important; align-items: center; gap: 10px; cursor: pointer; }
.frmo-cover__opt input { width: 22px; height: 22px; accent-color: var(--frmo-red); flex: 0 0 22px; }
.frmo-ts .frmo-cover__label { font-family: var(--frmo-head) !important; font-size: 24px; text-transform: uppercase; color: var(--frmo-ink); }
.frmo-ts .frmo-cover__amt { margin-left: auto; font-family: var(--frmo-head) !important; font-size: 24px; color: var(--frmo-red); }
.frmo-cover__desc { margin: 6px 0 0 !important; font-size: 14px; color: #444; }
.frmo-summary { margin: 0 0 14px; padding: 10px 16px; background: var(--frmo-ink); color: #fff; }
.frmo-summary div { display: flex; justify-content: space-between; font-size: 16px; padding: 2px 0; }
.frmo-summary div:last-child { border-top: 1px solid #555; margin-top: 4px; padding-top: 6px; font-family: var(--frmo-head); font-size: 24px; letter-spacing: .04em; }
.frmo-ts .frmo-card__cover { font-size: 13px; color: #555; margin: -4px 0 6px !important; }

/* ---------- HARDENING against theme styles (applies at every width) ---------- */
.frmo-ts { container: frmo / inline-size; width: 100%; max-width: 1120px; overflow-wrap: break-word; }
.frmo-ts .frmo-form fieldset { min-width: 0 !important; max-width: 100% !important; width: auto !important; padding: 14px 0 0 !important; margin: 0 0 20px !important; border: 0 !important; border-top: 3px solid var(--frmo-ink) !important; }
.frmo-ts .frmo-form legend { float: none !important; width: auto !important; max-width: 100% !important; white-space: normal !important; padding: 0 10px 0 0 !important; margin: 0 !important; border: 0 !important; }
.frmo-ts .frmo-hero > *, .frmo-ts .frmo-intro > *, .frmo-ts .frmo-tiers > *, .frmo-ts .frmo-card > *,
.frmo-ts .frmo-bottom > *, .frmo-ts .frmo-grid > *, .frmo-ts .frmo-levels > *, .frmo-ts .frmo-level > *,
.frmo-ts .frmo-audience > *, .frmo-ts .frmo-cover__opt > *, .frmo-ts .frmo-summary div > * { min-width: 0; }
.frmo-ts .frmo-form label { white-space: normal !important; max-width: 100%; }
.frmo-ts .frmo-form input[type=text], .frmo-ts .frmo-form input[type=email], .frmo-ts .frmo-form input[type=tel],
.frmo-ts .frmo-form input[type=file], .frmo-ts .frmo-form select, .frmo-ts .frmo-form textarea {
	width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box !important;
	height: auto !important; margin: 4px 0 0 !important; padding: 12px !important;
	font-size: 16px !important; /* 16px stops iOS from zooming into the field */
	line-height: 1.3 !important; border-radius: 2px !important; box-shadow: none !important;
}
.frmo-ts .frmo-form input[type=file] { padding: 8px !important; font-size: 14px !important; }
.frmo-ts .frmo-form input[type=radio], .frmo-ts .frmo-form input[type=checkbox] {
	width: 22px !important; height: 22px !important; min-width: 22px !important; max-width: 22px !important;
	padding: 0 !important; margin: 0 !important; flex: 0 0 22px !important; position: static !important; opacity: 1 !important;
	-webkit-appearance: auto !important; appearance: auto !important; accent-color: var(--frmo-red);
}
.frmo-ts .frmo-form .frmo-level input[type=radio] { grid-row: 1 / 3; }
.frmo-ts .frmo-level__name, .frmo-ts .frmo-level__size { overflow-wrap: anywhere; }
.frmo-ts .frmo-level__price { white-space: nowrap; }
.frmo-ts .frmo-btn { white-space: normal !important; max-width: 100%; min-width: 0 !important; height: auto !important; line-height: 1.15 !important; }
.frmo-ts #frmo-card-container, .frmo-ts #frmo-card-container iframe { max-width: 100% !important; min-width: 0 !important; }
.frmo-ts .frmo-test-banner code { white-space: nowrap; display: inline-block; }
.frmo-ts .frmo-test-banner { overflow-wrap: anywhere; }
.frmo-ts .frmo-summary div { gap: 12px; }
.frmo-ts .frmo-summary div span:last-child { white-space: nowrap; }

/* ---------- RESPONSIVE ----------
 * Breakpoints follow the WIDTH OF THE PLUGIN BLOCK (container queries), not the screen,
 * so it adapts correctly inside narrow theme content columns and sidebars.
 * Older browsers without container queries fall back to screen-width media queries.
 */
@container frmo (max-width: 900px) {
	.frmo-hero { grid-template-columns: 180px 1fr; }
	.frmo-hero__rider { display: none; }
	.frmo-intro { grid-template-columns: 1fr; }
	.frmo-audience { grid-template-columns: 1fr 1fr; row-gap: 14px; }
	.frmo-aud:nth-child(3) { border-left: 0; }
	.frmo-bottom { grid-template-columns: 1fr; }
}
@container frmo (max-width: 600px) {
	.frmo-ts .frmo-h1b { white-space: normal; }
	.frmo-hero { grid-template-columns: 1fr; text-align: center; padding: 18px 14px; }
	.frmo-hero__logo img { max-width: 170px; margin: 0 auto; }
	.frmo-hero__title h1 { transform: rotate(-2deg); transform-origin: center; }
	.frmo-tagline { letter-spacing: .12em; font-size: 12px; }
	.frmo-intro, .frmo-tiers, .frmo-audience, .frmo-bottom { padding-left: 14px; padding-right: 14px; }
	.frmo-card { grid-template-columns: 1fr 84px; padding: 16px; }
	.frmo-ts .frmo-card__price { font-size: 52px !important; }
	.frmo-audience { grid-template-columns: 1fr; }
	.frmo-aud { border-left: 0; padding: 4px 0; }
	.frmo-details, .frmo-contact { padding: 18px 16px; }
	.frmo-ts .frmo-contact__email { font-size: 22px; overflow-wrap: anywhere; }
	.frmo-contact .frmo-script { position: static; margin-top: 8px; }
	.frmo-foot { flex-direction: column; text-align: center; padding: 18px 14px; }
	.frmo-ts .frmo-foot__title { letter-spacing: .18em; font-size: 22px; }

	/* Checkout: full-bleed, single column, big tap targets */
	.frmo-checkout { margin: 0 0 20px; padding: 20px 14px 24px; border-left: 0; border-right: 0; }
	.frmo-ts .frmo-checkout h2 { font-size: 36px; }
	.frmo-ts .frmo-form legend { font-size: 22px; }
	.frmo-levels { grid-template-columns: 1fr; gap: 8px; }
	.frmo-form .frmo-level { min-height: 64px; padding: 12px; }
	.frmo-ts .frmo-level__price { font-size: 28px; }
	.frmo-grid { grid-template-columns: 1fr; gap: 12px; }
	.frmo-cover { padding: 12px; }
	.frmo-cover__opt { flex-wrap: wrap; }
	.frmo-ts .frmo-cover__label { font-size: 20px; }
	.frmo-ts .frmo-cover__amt { font-size: 22px; }
	.frmo-summary { padding: 10px 12px; }
	.frmo-ts .frmo-btn--big { position: sticky; bottom: 10px; z-index: 5; font-size: 22px; padding: 16px 12px; box-shadow: 0 6px 18px rgba(0,0,0,.35); }
	.frmo-test-banner { font-size: 13px; }
}
@container frmo (max-width: 370px) {
	.frmo-card { grid-template-columns: 1fr 70px; }
	.frmo-ts .frmo-card__logo { font-size: 16px; }
	.frmo-ts .frmo-card__price { font-size: 46px !important; }
	.frmo-ts .frmo-card h3 { font-size: 26px !important; }
	.frmo-ts .frmo-level__name { font-size: 19px; }
	.frmo-ts .frmo-level__price { font-size: 24px; }
}
@supports not (container-type: inline-size) {
	@media (max-width: 900px) {
	.frmo-hero { grid-template-columns: 180px 1fr; }
	.frmo-hero__rider { display: none; }
	.frmo-intro { grid-template-columns: 1fr; }
	.frmo-audience { grid-template-columns: 1fr 1fr; row-gap: 14px; }
	.frmo-aud:nth-child(3) { border-left: 0; }
	.frmo-bottom { grid-template-columns: 1fr; }
}
	@media (max-width: 600px) {
	.frmo-ts .frmo-h1b { white-space: normal; }
	.frmo-hero { grid-template-columns: 1fr; text-align: center; padding: 18px 14px; }
	.frmo-hero__logo img { max-width: 170px; margin: 0 auto; }
	.frmo-hero__title h1 { transform: rotate(-2deg); transform-origin: center; }
	.frmo-tagline { letter-spacing: .12em; font-size: 12px; }
	.frmo-intro, .frmo-tiers, .frmo-audience, .frmo-bottom { padding-left: 14px; padding-right: 14px; }
	.frmo-card { grid-template-columns: 1fr 84px; padding: 16px; }
	.frmo-ts .frmo-card__price { font-size: 52px !important; }
	.frmo-audience { grid-template-columns: 1fr; }
	.frmo-aud { border-left: 0; padding: 4px 0; }
	.frmo-details, .frmo-contact { padding: 18px 16px; }
	.frmo-ts .frmo-contact__email { font-size: 22px; overflow-wrap: anywhere; }
	.frmo-contact .frmo-script { position: static; margin-top: 8px; }
	.frmo-foot { flex-direction: column; text-align: center; padding: 18px 14px; }
	.frmo-ts .frmo-foot__title { letter-spacing: .18em; font-size: 22px; }

	/* Checkout: full-bleed, single column, big tap targets */
	.frmo-checkout { margin: 0 0 20px; padding: 20px 14px 24px; border-left: 0; border-right: 0; }
	.frmo-ts .frmo-checkout h2 { font-size: 36px; }
	.frmo-ts .frmo-form legend { font-size: 22px; }
	.frmo-levels { grid-template-columns: 1fr; gap: 8px; }
	.frmo-form .frmo-level { min-height: 64px; padding: 12px; }
	.frmo-ts .frmo-level__price { font-size: 28px; }
	.frmo-grid { grid-template-columns: 1fr; gap: 12px; }
	.frmo-cover { padding: 12px; }
	.frmo-cover__opt { flex-wrap: wrap; }
	.frmo-ts .frmo-cover__label { font-size: 20px; }
	.frmo-ts .frmo-cover__amt { font-size: 22px; }
	.frmo-summary { padding: 10px 12px; }
	.frmo-ts .frmo-btn--big { position: sticky; bottom: 10px; z-index: 5; font-size: 22px; padding: 16px 12px; box-shadow: 0 6px 18px rgba(0,0,0,.35); }
	.frmo-test-banner { font-size: 13px; }
}
	@media (max-width: 370px) {
	.frmo-card { grid-template-columns: 1fr 70px; }
	.frmo-ts .frmo-card__logo { font-size: 16px; }
	.frmo-ts .frmo-card__price { font-size: 46px !important; }
	.frmo-ts .frmo-card h3 { font-size: 26px !important; }
	.frmo-ts .frmo-level__name { font-size: 19px; }
	.frmo-ts .frmo-level__price { font-size: 24px; }
}
}
