/*
 * re.fashion Landing v5 (Claude Design) – scoped styles.
 * Everything is scoped to .rf-landing so nothing leaks into the rest of the site.
 * Loaded by wp-content/novamira-sandbox/re-fashion-landing.php on the front end
 * and in the block editor. Move into the Twenty Twenty-Five child theme later.
 */

/* Inter variable font, already hosted locally by the site (latin subset covers German). */
@font-face {
	font-family: "RF Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("/wp-content/fonts/inter/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root .rf-landing {
	--rf-y: #fff200;
	--rf-k: #000;
	--rf-w: #fff;
	--rf-gutter: clamp(20px, 4vw, 48px);
	--rf-max: 1200px;

	--i-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5l7 7-7 7'/%3E%3C/svg%3E");
	--i-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12l7 7 7-7'/%3E%3C/svg%3E");
	--i-ext: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E");
	--i-bag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
	--i-ig: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='black'/%3E%3C/svg%3E");
	--i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpath d='M22 6l-10 7L2 6'/%3E%3C/svg%3E");
	--i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	--i-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
	--i-cycle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M23 4v6h-6'/%3E%3Cpath d='M1 20v-6h6'/%3E%3Cpath d='M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15'/%3E%3C/svg%3E");
	--i-drop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z'/%3E%3C/svg%3E");
	--i-scissors: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cpath d='M20 4L8.12 15.88'/%3E%3Cpath d='M14.47 14.48L20 20'/%3E%3Cpath d='M8.12 9.12l3.76 3.76'/%3E%3C/svg%3E");
	--i-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M4 9h16'/%3E%3Cpath d='M4 15h16'/%3E%3C/svg%3E");
	--i-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12'/%3E%3Cpath d='M18 6L6 18'/%3E%3C/svg%3E");

	font-family: "RF Inter", Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: var(--rf-k);
	background: var(--rf-w);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-wrap: pretty;
	margin: 0 !important;
	padding: 0 !important;
}

/* ---------- Resets against theme defaults ---------- */
/* :where() keeps these at (0,2,0): strong enough to beat theme defaults, weak enough
   that the component rules below (declared later, same weight) still win. */
:root .rf-landing.rf-landing :where(h1, h2, h3, p, figure, ul) { margin: 0; }
:root .rf-landing.rf-landing :where(h1, h2, h3) { color: inherit; font-family: inherit; text-transform: none; }
:root .rf-landing.rf-landing :where(.wp-block-group, .wp-block-query, .wp-block-buttons, .wp-block-image) { margin-block: 0; }
:root .rf-landing.rf-landing .wp-block-group.has-background { padding: 0; }
:root .rf-landing a:where(:not(.wp-block-button__link):not(.wp-block-navigation-item__content)) { color: inherit; }
:root .rf-landing img { max-width: 100%; height: auto; display: block; }
:root .rf-landing :focus-visible { outline: 3px solid var(--rf-k) !important; outline-offset: 3px; }
:root .rf-landing .rf-band--black :focus-visible { outline-color: var(--rf-y) !important; }
:root .rf-landing [id] { scroll-margin-top: 84px; }
@media (prefers-reduced-motion: no-preference) {
	html:has(.rf-landing) { scroll-behavior: smooth; }
}

/* Classic themes wrap flow-layout group contents in an extra div; let it vanish from layout. */
:root .rf-landing .wp-block-group__inner-container { display: contents; }

/* ---------- Layout primitives ---------- */
:root .rf-landing .rf-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--rf-max);
	margin-inline: auto !important;
	padding-inline: var(--rf-gutter);
}
:root .rf-landing .rf-section { padding-block: clamp(56px, 8vw, 112px); }
:root .rf-landing .rf-pb { padding-bottom: clamp(56px, 8vw, 112px); }
:root .rf-landing .rf-split {
	display: grid;
	gap: clamp(40px, 6vw, 96px);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
	align-items: center;
}
:root .rf-landing .rf-split--end {
	gap: 24px 64px;
	align-items: end;
	margin-bottom: clamp(36px, 5vw, 64px);
}
:root .rf-landing .rf-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: clamp(32px, 4vw, 48px);
}
:root .rf-landing .rf-stack .rf-body + .rf-body { margin-top: 16px; }
:root .rf-landing .rf-stack .rf-h2 { margin-bottom: 24px; }
:root .rf-landing .rf-stack * + :is(.rf-link, .wp-block-buttons) { margin-top: 24px; }
:root .rf-landing .rf-band--black .rf-stack * + .wp-block-buttons { margin-top: 32px; }

/* ---------- Type ---------- */
:root .rf-landing .rf-h1 {
	font-size: clamp(40px, 8vw, 112px);
	font-weight: 800;
	line-height: 0.96;
	letter-spacing: -0.045em;
	max-width: 16ch;
	text-wrap: balance;
}
:root .rf-landing .rf-h2 {
	font-size: clamp(32px, 4.4vw, 56px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.035em;
	max-width: 16ch;
}
:root .rf-landing .rf-h3 {
	font-size: clamp(26px, 2.8vw, 38px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.03em;
	margin-bottom: 20px;
}
:root .rf-landing .rf-body { font-size: 17px; line-height: 1.6; }
:root .rf-landing .rf-lead { max-width: 560px; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.55; }
:root .rf-landing mark.has-inline-color {
	padding: 0 0.12em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
:root .rf-landing .rf-h1 mark { overflow-wrap: anywhere; }
:root .rf-landing .rf-band--black mark.has-inline-color { padding: 0; }

:root .rf-landing .rf-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 20px;
}
:root .rf-landing .rf-eyebrow::before {
	content: "";
	flex: none;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--rf-y);
}
:root .rf-landing .rf-eyebrow--dark::before { background: var(--rf-k); }

/* ---------- Icons (mask = currentColor, background = black on yellow) ---------- */
:root .rf-landing .rf-ico-right { --rf-i: var(--i-right); }
:root .rf-landing .rf-ico-down { --rf-i: var(--i-down); }
:root .rf-landing .rf-ico-ext { --rf-i: var(--i-ext); }
:root .rf-landing .rf-ico-bag { --rf-i: var(--i-bag); }
:root .rf-landing .rf-ico-ig { --rf-i: var(--i-ig); }
:root .rf-landing .rf-ico-mail { --rf-i: var(--i-mail); }
:root .rf-landing .rf-ico-heart { --rf-i: var(--i-heart); }
:root .rf-landing .rf-ico-cycle { --rf-i: var(--i-cycle); }
:root .rf-landing .rf-ico-drop { --rf-i: var(--i-drop); }
:root .rf-landing .rf-ico-scissors { --rf-i: var(--i-scissors); }

:root .rf-landing :is(.rf-ico-right, .rf-ico-down, .rf-ico-ext) :is(.wp-block-button__link, a)::after,
:root .rf-landing a:is(.rf-ico-right, .rf-ico-ext)::after,
:root .rf-landing :is(.rf-ico-bag, .rf-ico-ig) :is(.wp-block-button__link, a)::before,
:root .rf-landing .rf-scribe__label::before {
	content: "";
	flex: none;
	width: 1.15em;
	height: 1.15em;
	background: currentColor;
	-webkit-mask: var(--rf-i) center / contain no-repeat;
	mask: var(--rf-i) center / contain no-repeat;
}
:root .rf-landing .rf-scribe__label { --rf-i: var(--i-mail); }

/* ---------- Buttons ---------- */
:root .rf-landing .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
:root .rf-landing .rf-btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border: 1px solid var(--rf-k);
	border-radius: 999px;
	padding: 16px 24px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	box-shadow: none;
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
:root .rf-landing .rf-btn--dark .wp-block-button__link { background: var(--rf-k); color: var(--rf-w); }
:root .rf-landing .rf-btn--dark .wp-block-button__link:is(:hover, :focus-visible) { background: var(--rf-y); color: var(--rf-k); }
:root .rf-landing .rf-btn--to-white .wp-block-button__link:is(:hover, :focus-visible) { background: var(--rf-w); color: var(--rf-k); }
:root .rf-landing .rf-btn--light .wp-block-button__link { background: var(--rf-w); color: var(--rf-k); }
:root .rf-landing .rf-btn--light .wp-block-button__link:is(:hover, :focus-visible) { background: var(--rf-y); color: var(--rf-k); }
:root .rf-landing .rf-btn--ghost .wp-block-button__link { background: transparent; color: var(--rf-k); }
:root .rf-landing .rf-btn--ghost .wp-block-button__link:is(:hover, :focus-visible) { background: var(--rf-k); color: var(--rf-y); }
:root .rf-landing .rf-btn--yellow .wp-block-button__link { background: var(--rf-y); color: var(--rf-k); border: 2px solid var(--rf-y); }
:root .rf-landing .rf-btn--yellow .wp-block-button__link:is(:hover, :focus-visible) { background: var(--rf-w); border-color: var(--rf-w); color: var(--rf-k); }
:root .rf-landing .rf-btn--header .wp-block-button__link { height: 48px; padding: 0 20px; font-size: 14px; gap: 8px; }
:root .rf-landing .rf-btn--sm .wp-block-button__link { padding: 11px 18px; font-size: 14px; }

/* Inline text links with the yellow underline */
:root .rf-landing :is(.rf-link a, a.rf-link) {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 700;
	color: var(--rf-k);
	text-decoration: underline;
	text-decoration-color: var(--rf-y);
	text-decoration-thickness: 3px;
	text-underline-offset: 4px;
}
:root .rf-landing :is(.rf-link a, a.rf-link):is(:hover, :focus-visible) { background: var(--rf-y); text-decoration-color: var(--rf-k); }

/* ---------- Header ---------- */
:root .rf-landing .rf-header { position: sticky; top: 0; z-index: 30; background: var(--rf-w); }
body.admin-bar .rf-landing .rf-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .rf-landing .rf-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .rf-landing .rf-header { top: 0; } }
:root .rf-landing .rf-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-block: 12px;
}
:root .rf-landing .rf-header__actions { display: flex; align-items: center; gap: 10px; flex-wrap: nowrap; }
:root .rf-landing .rf-logo img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }

/* Navigation: toggle, overlay, items */
:root .rf-landing .rf-nav .wp-block-navigation__responsive-container-open,
:root .rf-landing .rf-nav .wp-block-navigation__responsive-container-close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border-radius: 50%;
	border: 1px solid var(--rf-k);
	background: var(--rf-w);
	color: var(--rf-k);
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s;
}
:root .rf-landing .rf-nav .wp-block-navigation__responsive-container-open:is(:hover, :focus-visible) { background: var(--rf-y); }
:root .rf-landing .rf-nav :is(.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close) svg { display: none; }
:root .rf-landing .rf-nav :is(.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close)::before {
	content: "";
	width: 22px;
	height: 22px;
	background: currentColor;
	-webkit-mask: var(--i-menu) center / contain no-repeat;
	mask: var(--i-menu) center / contain no-repeat;
}
:root .rf-landing .rf-nav .wp-block-navigation__responsive-container-close::before {
	-webkit-mask-image: var(--i-close);
	mask-image: var(--i-close);
}
:root .rf-landing .rf-nav .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: 16px;
	right: var(--rf-gutter);
	background: var(--rf-k);
	color: var(--rf-y);
}
:root .rf-landing .rf-nav .wp-block-navigation__responsive-container-close:is(:hover, :focus-visible) { background: var(--rf-y); color: var(--rf-k); }

:root .rf-landing .rf-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--rf-y) !important;
	color: var(--rf-k) !important;
	padding: 16px var(--rf-gutter) clamp(24px, 4vw, 40px) !important;
	font-family: inherit;
}
:root .rf-landing .rf-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 96px !important;
	align-items: flex-start !important;
	min-height: 100%;
	justify-content: center;
}
:root .rf-landing .rf-nav .is-menu-open .wp-block-navigation__container {
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center !important;
	gap: 2px 12px !important;
	width: 100%;
}
:root .rf-landing .rf-nav .is-menu-open .wp-block-navigation-item { flex-basis: 100%; }
:root .rf-landing .rf-nav .is-menu-open .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	gap: 0.2em;
	font-size: clamp(40px, 8vw, 92px);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.05;
	padding: 4px 10px !important;
	margin-left: -10px;
	color: var(--rf-k);
	text-decoration: none;
}
:root .rf-landing .rf-nav .is-menu-open .wp-block-navigation-item__content:is(:hover, :focus-visible) { background: var(--rf-k); color: var(--rf-y); }
:root .rf-landing .rf-nav .is-menu-open .rf-nav-ext .wp-block-navigation-item__content::after {
	content: "";
	width: 0.6em;
	height: 0.6em;
	background: currentColor;
	-webkit-mask: var(--i-ext) center / contain no-repeat;
	mask: var(--i-ext) center / contain no-repeat;
}
/* Small items at the bottom of the overlay: language pill + Instagram */
:root .rf-landing .rf-nav .is-menu-open :is(.rf-nav-lang, .rf-nav-ig) { flex-basis: auto; margin-top: clamp(32px, 6vh, 64px); }
:root .rf-landing .rf-nav .is-menu-open .rf-nav-lang .wp-block-navigation-item__content {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	padding: 8px 16px !important;
	margin: 0;
	border: 1px solid var(--rf-k);
	border-radius: 999px;
}
:root .rf-landing .rf-nav .is-menu-open .rf-nav-lang--de { margin-right: -12px; }
:root .rf-landing .rf-nav .is-menu-open .rf-nav-lang--de .wp-block-navigation-item__content { border-radius: 999px 0 0 999px; }
:root .rf-landing .rf-nav .is-menu-open .rf-nav-lang--en .wp-block-navigation-item__content { border-radius: 0 999px 999px 0; border-left: 0; }
html[lang^="de"] .rf-landing .rf-nav .is-menu-open .rf-nav-lang--de .wp-block-navigation-item__content,
html[lang^="en"] .rf-landing .rf-nav .is-menu-open .rf-nav-lang--en .wp-block-navigation-item__content { background: var(--rf-k); color: var(--rf-y); }
:root .rf-landing .rf-nav .is-menu-open .rf-nav-ig { margin-left: auto; }
:root .rf-landing .rf-nav .is-menu-open .rf-nav-ig .wp-block-navigation-item__content {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	gap: 10px;
	margin: 0;
	padding: 8px 0 !important;
}
:root .rf-landing .rf-nav .is-menu-open .rf-nav-ig .wp-block-navigation-item__content::before {
	content: "";
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--i-ig) center / contain no-repeat;
	mask: var(--i-ig) center / contain no-repeat;
}
:root .rf-landing .rf-nav .is-menu-open .rf-nav-ig .wp-block-navigation-item__content:is(:hover, :focus-visible) { background: none; color: var(--rf-k); text-decoration: underline; }

/* ---------- Hero ---------- */
:root .rf-landing .rf-hero { padding-top: clamp(40px, 6vw, 80px); }
:root .rf-landing .rf-hero__row {
	display: flex;
	flex-wrap: wrap;
	gap: 28px 64px;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: clamp(24px, 4vw, 44px);
}
:root .rf-landing .rf-hero-media { position: relative; margin-top: clamp(36px, 6vw, 64px); }
:root .rf-landing .rf-hero-img img { width: 100%; height: clamp(380px, 62vh, 780px); object-fit: cover; }
:root .rf-landing .rf-badge {
	position: absolute;
	right: var(--rf-gutter);
	bottom: -48px;
	z-index: 2;
	width: clamp(120px, 17vw, 200px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--rf-y);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	line-height: 1.1;
	pointer-events: none;
}
:root .rf-landing .rf-badge__title { font-weight: 800; font-size: clamp(18px, 2.4vw, 28px); letter-spacing: -0.03em; }
:root .rf-landing .rf-badge__tag { font-weight: 600; font-size: clamp(10px, 1.2vw, 14px); margin-top: 5px; }

/* ---------- Looks ---------- */
:root .rf-landing .rf-looks { padding-top: clamp(72px, 9vw, 112px); }
:root .rf-landing .rf-grid-2 {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
}
:root .rf-landing .rf-looks__bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px 24px;
	flex-wrap: wrap;
	margin-top: 16px;
}
:root .rf-landing .rf-looks__bar .rf-eyebrow { margin: 0; }
:root .rf-landing :is(.rf-img-16x9, .rf-img-4x3, .rf-img-3x2) img { width: 100%; object-fit: cover; }
:root .rf-landing .rf-img-16x9 img { aspect-ratio: 16 / 9; }
:root .rf-landing .rf-img-4x3 img { aspect-ratio: 4 / 3; }
:root .rf-landing .rf-img-3x2 img { aspect-ratio: 3 / 2; }

/* ---------- re.philosophy ---------- */
:root .rf-landing .rf-upcycle { max-width: 760px; margin-top: clamp(56px, 8vw, 112px) !important; }
:root .rf-landing .rf-upcycle .rf-body { margin-bottom: 28px; }
:root .rf-landing .rf-steps { display: grid; gap: 12px; }
:root .rf-landing .rf-step {
	position: relative;
	min-height: 48px;
	padding: 12px 0 12px 64px;
	font-size: 16px;
	line-height: 1.5;
}
:root .rf-landing .rf-step::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 48px;
	height: 48px;
	margin-top: -24px;
	border-radius: 50%;
	background: var(--rf-y) var(--rf-i) center / 22px no-repeat;
}

/* ---------- re.think ---------- */
:root .rf-landing .rf-band--yellow { background: var(--rf-y); }
:root .rf-landing .rf-cards { display: grid; gap: 28px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) { :root .rf-landing .rf-cards { grid-template-columns: 1fr; } }
:root .rf-landing .rf-card { background: var(--rf-w); border: 1px solid var(--rf-k); display: flex; flex-direction: column; }
:root .rf-landing .rf-card__body { padding: 24px 24px 20px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
:root .rf-landing .rf-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
:root .rf-landing .rf-card__title {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: clamp(26px, 2.6vw, 34px);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1;
}
:root .rf-landing .rf-card__title::before {
	content: "";
	flex: none;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--rf-y) var(--rf-i) center / 24px no-repeat;
}
:root .rf-landing .rf-card__num { font-size: 13px; font-weight: 800; letter-spacing: 0.06em; }
:root .rf-landing .rf-card__text { font-size: 16px; line-height: 1.6; }
:root .rf-landing .rf-actions { margin-top: clamp(40px, 5vw, 56px) !important; }

/* ---------- re.stories ---------- */
:root .rf-landing .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
:root .rf-landing .rf-feature {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
	border: 1px solid var(--rf-k);
}
:root .rf-landing .rf-feature__img { position: relative; min-height: 420px; margin: 0; }
:root .rf-landing .rf-feature__img :is(a, img) { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
:root .rf-landing .rf-feature__body {
	padding: clamp(24px, 4vw, 56px);
	display: flex;
	flex-direction: column;
	gap: 16px;
	justify-content: center;
}
:root .rf-landing .rf-meta { display: flex; flex-wrap: wrap; align-items: center; font-size: 13px; font-weight: 600; line-height: 1.4; gap: 0; }
:root .rf-landing .rf-meta :is(.wp-block-post-terms, .wp-block-post-date, .wp-block-post-author-name) { margin: 0; }
:root .rf-landing .rf-meta :is(.wp-block-post-date, .wp-block-post-author-name)::before { content: "\00b7"; margin: 0 0.45em; }
:root .rf-landing .rf-meta a { text-decoration: none; }
:root .rf-landing .wp-block-post-title a { text-decoration: none; color: inherit; }
:root .rf-landing .wp-block-post-title a:is(:hover, :focus-visible) { background: var(--rf-y); }
:root .rf-landing .rf-feature__title { font-size: clamp(28px, 3.4vw, 44px); font-weight: 800; letter-spacing: -0.035em; line-height: 1.05; }
:root .rf-landing .rf-excerpt p { margin: 0; font-size: 17px; line-height: 1.6; }
:root .rf-landing .rf-feature__body a.rf-link { margin-top: auto; align-self: flex-start; }
:root .rf-landing .rf-story-list .wp-block-post-template {
	display: grid;
	gap: 0 clamp(24px, 4vw, 48px);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}
:root .rf-landing .rf-story { display: flex; flex-direction: column; gap: 12px; padding: 28px 0 8px; height: 100%; }
:root .rf-landing .rf-story__title { font-size: clamp(22px, 2vw, 26px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.12; }
:root .rf-landing .rf-story .rf-excerpt p { font-size: 15px; }
:root .rf-landing .rf-story a.rf-link { margin-top: auto; align-self: flex-start; font-size: 14px; }

/* ---------- Stores ---------- */
:root .rf-landing .rf-stores {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
}
:root .rf-landing .rf-store {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-height: 170px;
	padding: 20px;
	border: 1px solid var(--rf-k);
	background: var(--rf-w);
	color: var(--rf-k);
	transition: background-color 0.15s, color 0.15s;
}
:root .rf-landing .rf-store::before {
	content: "";
	width: 22px;
	height: 22px;
	margin-bottom: 10px;
	background: currentColor;
	-webkit-mask: var(--i-pin) center / contain no-repeat;
	mask: var(--i-pin) center / contain no-repeat;
}
:root .rf-landing .rf-store:is(:hover, :focus-within) { background: var(--rf-y); }
:root .rf-landing .rf-store :is(.rf-store__name, .rf-store__all) a { text-decoration: none; color: inherit; }
:root .rf-landing .rf-store :is(.rf-store__name, .rf-store__all) a::after { content: ""; position: absolute; inset: 0; }
:root .rf-landing .rf-store :is(.rf-store__name, .rf-store__all) a:focus-visible { outline: none; }
:root .rf-landing .rf-store:focus-within { outline: 2px solid var(--rf-k); outline-offset: 3px; }
:root .rf-landing .rf-store__name { font-weight: 800; font-size: 16px; letter-spacing: -0.01em; margin-bottom: 4px !important; }
:root .rf-landing .rf-store__addr { font-size: 14px; line-height: 1.5; }
:root .rf-landing .rf-store__more {
	margin-top: auto !important;
	padding-top: 14px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 700;
}
:root .rf-landing .rf-store__more::after {
	content: "";
	width: 14px;
	height: 14px;
	background: currentColor;
	-webkit-mask: var(--i-right) center / contain no-repeat;
	mask: var(--i-right) center / contain no-repeat;
}
:root .rf-landing .rf-store--all { background: var(--rf-y); border-color: var(--rf-y); justify-content: space-between; gap: 16px; }
:root .rf-landing .rf-store--all::before { display: none; }
:root .rf-landing .rf-store--all:is(:hover, :focus-within) { background: var(--rf-k); color: var(--rf-y); }
:root .rf-landing .rf-store--all .rf-store__more { font-size: 14px; gap: 8px; padding-top: 0; }
:root .rf-landing .rf-store--all .rf-store__more::after { width: 18px; height: 18px; }
:root .rf-landing .rf-store__all { font-weight: 800; font-size: clamp(22px, 2vw, 26px); letter-spacing: -0.03em; line-height: 1.1; }

/* ---------- re.connect ---------- */
:root .rf-landing .rf-band--black { background: var(--rf-k); color: var(--rf-w); }
:root .rf-landing .rf-band--black :is(h2, p) { color: var(--rf-w); }
:root .rf-landing .rf-band--black .rf-h2 { max-width: 14ch; }
:root .rf-landing .rf-ig #sb_instagram { padding-bottom: 0 !important; }
:root .rf-landing .rf-ig #sb_instagram #sbi_images { padding: 0 !important; }
/* The plugin's legacy feed ignores num="6"; the design shows a 3 x 2 grid. */
:root .rf-landing .rf-ig #sbi_images > .sbi_item:nth-child(n + 7) { display: none !important; }

/* ---------- Footer ---------- */
:root .rf-landing .rf-footer { background: var(--rf-w); }
:root .rf-landing .rf-footer .rf-wrap { padding-top: clamp(40px, 6vw, 72px); padding-bottom: 32px; }
:root .rf-landing .rf-wordmark {
	font-size: clamp(56px, 13vw, 176px);
	font-weight: 900;
	letter-spacing: -0.06em;
	line-height: 0.9;
	margin-bottom: clamp(32px, 5vw, 56px) !important;
}
:root .rf-landing .rf-wordmark mark {
	display: inline-block;
	width: 0.16em;
	height: 0.16em;
	margin: 0 0.05em;
	padding: 0;
	border-radius: 50%;
	background: var(--rf-y) !important;
	color: transparent !important;
	overflow: hidden;
	line-height: 0;
}
:root .rf-landing .rf-footer__bar {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 48px;
	align-items: center;
	justify-content: space-between;
	padding-top: 8px;
}
:root .rf-landing .rf-footer__nav { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; font-size: 14px; font-weight: 700; }
:root .rf-landing .rf-footer__nav a { text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
:root .rf-landing .rf-footer__nav a:is(:hover, :focus-visible) { background: var(--rf-y); }
:root .rf-landing .rf-scribe { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
:root .rf-landing .rf-scribe__label { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; }
:root .rf-landing .rf-copy { font-size: 14px; font-weight: 600; }

/* =====================================================================
   Subpages (re.philosophy, re.think, re.cycle, re.connect, re.stories,
   Stores, legal). Same tokens and type scale as the landing page.
   ===================================================================== */

/* Page hero */
:root .rf-landing .rf-pagehero { padding-top: clamp(32px, 5vw, 64px); padding-bottom: clamp(40px, 6vw, 80px); }
:root .rf-landing .rf-pagehero .rf-h1 { margin-top: clamp(24px, 4vw, 40px); }
:root .rf-landing .rf-pagehero .rf-eyebrow + .rf-h1 { margin-top: 0; }
:root .rf-landing .rf-pagehero .rf-lead { margin-top: clamp(20px, 3vw, 32px); }
:root .rf-landing .rf-pagehero .rf-lead + .rf-lead { margin-top: 12px; }
:root .rf-landing .rf-lead-lg {
	font-size: clamp(20px, 2.2vw, 28px);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.015em;
	max-width: 30ch;
	margin-top: clamp(20px, 3vw, 32px);
}

/* Section pills: re.philosophy / re.think / re.cycle / re.connect */
:root .rf-landing .rf-subnav { display: flex; flex-wrap: wrap; gap: 8px; }
:root .rf-landing .rf-subnav a {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	border: 1px solid var(--rf-k);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	color: var(--rf-k);
	transition: background-color 0.15s, color 0.15s;
}
:root .rf-landing .rf-subnav a:is(:hover, :focus-visible) { background: var(--rf-y); }
:root .rf-landing .rf-subnav .is-current a { background: var(--rf-k); color: var(--rf-y); }
:root .rf-landing .rf-band--black .rf-subnav a { border-color: var(--rf-w); color: var(--rf-w); }
:root .rf-landing .rf-band--black .rf-subnav a:is(:hover, :focus-visible) { background: var(--rf-w); color: var(--rf-k); }
:root .rf-landing .rf-band--black .rf-subnav .is-current a { background: var(--rf-y); border-color: var(--rf-y); color: var(--rf-k); }

/* Long-form text */
:root .rf-landing .rf-split--top { align-items: start; }
:root .rf-landing .rf-stack .rf-num { font-size: 13px; font-weight: 800; letter-spacing: 0.06em; margin-bottom: 16px; }
:root .rf-landing .rf-inline-links a {
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: currentColor;
	text-decoration-thickness: 3px;
	text-underline-offset: 4px;
}
:root .rf-landing .rf-inline-links a:is(:hover, :focus-visible) { background: var(--rf-y); text-decoration-color: var(--rf-k); }
:root .rf-landing .rf-band--black .rf-inline-links a { color: var(--rf-w); }
:root .rf-landing .rf-band--black .rf-inline-links a:is(:hover, :focus-visible) { color: var(--rf-k); }

/* Headline with a yellow icon circle (re.think) */
:root .rf-landing .rf-icon-title { display: flex; align-items: center; gap: 18px; margin-bottom: 24px; }
:root .rf-landing .rf-icon-title::before {
	content: "";
	flex: none;
	width: clamp(52px, 5vw, 64px);
	height: clamp(52px, 5vw, 64px);
	border-radius: 50%;
	background: var(--rf-y) var(--rf-i) center / 45% no-repeat;
}
:root .rf-landing .rf-row + .rf-row { margin-top: clamp(64px, 9vw, 120px); }

/* re.cycle: three rows with the cycle logos */
:root .rf-landing .rf-cycle-row {
	display: grid;
	grid-template-columns: clamp(88px, 12vw, 160px) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 64px);
	align-items: start;
	padding-block: clamp(32px, 4vw, 56px);
	border-top: 1px solid var(--rf-k);
}
:root .rf-landing .rf-cycle-row:last-child { border-bottom: 1px solid var(--rf-k); }
:root .rf-landing .rf-cycle-logo img {
	width: 100%;
	aspect-ratio: 1;
	box-sizing: border-box;
	padding: 18%;
	border-radius: 50%;
	background: var(--rf-y);
	object-fit: contain;
}
:root .rf-landing .rf-cycle-row .rf-h2 { margin-bottom: 20px; }
:root .rf-landing .rf-cycle-row .rf-body + .rf-body { margin-top: 14px; }
:root .rf-landing .rf-cycle-row .rf-body { max-width: 68ch; }
@media (max-width: 600px) {
	:root .rf-landing .rf-cycle-row { grid-template-columns: 1fr; gap: 20px; }
	:root .rf-landing .rf-cycle-logo { width: 80px; }
}

/* "Weiter mit" band at the end of each about page */
:root .rf-landing .rf-next .rf-eyebrow { margin-bottom: 12px; }
:root .rf-landing .rf-next .rf-next__link a {
	display: inline-flex;
	align-items: center;
	gap: 0.2em;
	font-size: clamp(44px, 8vw, 104px);
	font-weight: 800;
	letter-spacing: -0.045em;
	line-height: 1;
	color: var(--rf-k);
	text-decoration: none;
	padding: 0 0.08em;
	margin-left: -0.08em;
}
:root .rf-landing .rf-next .rf-next__link a::after {
	content: "";
	width: 0.7em;
	height: 0.7em;
	background: currentColor;
	-webkit-mask: var(--i-right) center / contain no-repeat;
	mask: var(--i-right) center / contain no-repeat;
}
:root .rf-landing .rf-next .rf-next__link a:is(:hover, :focus-visible) { background: var(--rf-k); color: var(--rf-y); }

/* Buttons on black, small pills */
:root .rf-landing .rf-btn--ghost-light .wp-block-button__link { background: transparent; color: var(--rf-w); border-color: var(--rf-w); }
:root .rf-landing .rf-btn--ghost-light .wp-block-button__link:is(:hover, :focus-visible) { background: var(--rf-y); border-color: var(--rf-y); color: var(--rf-k); }
:root .rf-landing .rf-btn--pill .wp-block-button__link { padding: 10px 18px; font-size: 14px; }

/* Stores page: detailed cards */
:root .rf-landing .rf-stores--detail { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 16px; }
:root .rf-landing .rf-stores--detail .rf-store { min-height: 0; padding: 24px; gap: 6px; }
:root .rf-landing .rf-store__contact { font-size: 14px; line-height: 1.6; margin-top: 8px !important; }
:root .rf-landing .rf-store__contact a { position: relative; z-index: 1; text-decoration: underline; text-decoration-color: currentColor; text-decoration-thickness: 2px; text-underline-offset: 3px; }
:root .rf-landing .rf-store:hover .rf-store__contact a { text-decoration-color: var(--rf-k); }
:root .rf-landing .rf-store__hours { font-size: 13px; font-weight: 600; line-height: 1.6; margin-top: 8px !important; }
:root .rf-landing .rf-countries { margin-top: 24px !important; }
:root .rf-landing .rf-h2 + .rf-body { margin-top: 16px; }

/* re.stories overview grid */
:root .rf-landing .rf-story-grid .wp-block-post-template {
	display: grid;
	gap: clamp(40px, 5vw, 64px) clamp(24px, 4vw, 48px);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
}
:root .rf-landing .rf-story-card { display: flex; flex-direction: column; gap: 12px; height: 100%; }
:root .rf-landing .rf-story-card .wp-block-post-featured-image { margin: 0 0 8px; }
:root .rf-landing .rf-story-card .wp-block-post-featured-image img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
:root .rf-landing .rf-story-card a.rf-link { margin-top: auto; align-self: flex-start; font-size: 14px; }
:root .rf-landing .wp-block-query-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: clamp(48px, 6vw, 72px);
	font-size: 14px;
	font-weight: 700;
}
:root .rf-landing .wp-block-query-pagination :is(a, .page-numbers) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 14px;
	border: 1px solid var(--rf-k);
	border-radius: 999px;
	text-decoration: none;
	color: var(--rf-k);
}
:root .rf-landing .wp-block-query-pagination a:is(:hover, :focus-visible) { background: var(--rf-y); }
:root .rf-landing .wp-block-query-pagination .page-numbers.current { background: var(--rf-k); color: var(--rf-y); }

/* Curated Instagram grid (core Gallery block, replaces the Smash Balloon feed) */
:root .rf-landing .wp-block-gallery.rf-ig-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px !important;
	margin: 0;
}
:root .rf-landing .wp-block-gallery.rf-ig-grid > .wp-block-image { width: auto !important; margin: 0 !important; }
:root .rf-landing .wp-block-gallery.rf-ig-grid img { aspect-ratio: 1; width: 100%; height: 100% !important; object-fit: cover; transition: opacity 0.15s; }
:root .rf-landing .wp-block-gallery.rf-ig-grid a:is(:hover, :focus-visible) img { opacity: 0.82; }

/* re.connect: full Instagram grid */
:root .rf-landing .rf-ig-all #sb_instagram { padding-bottom: 0 !important; }
:root .rf-landing .rf-ig-all #sb_instagram #sbi_images { padding: 0 !important; }

/* Legal pages */
:root .rf-landing .rf-legal { max-width: 760px; }
:root .rf-landing .rf-legal :where(h1) { font-size: clamp(36px, 5vw, 64px); font-weight: 800; letter-spacing: -0.035em; line-height: 1.02; margin-bottom: 32px; }
:root .rf-landing .rf-legal :where(h2) { font-size: clamp(22px, 2.4vw, 30px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; margin: 48px 0 14px; }
:root .rf-landing .rf-legal :where(h3, h4) { font-size: 18px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.3; margin: 32px 0 8px; }
:root .rf-landing .rf-legal :where(p) { font-size: 16px; line-height: 1.65; margin: 0 0 14px; overflow-wrap: anywhere; }
:root .rf-landing .rf-legal :where(ul, ol) { margin: 0 0 16px; padding-left: 1.2em; }
:root .rf-landing .rf-legal :where(li) { font-size: 16px; line-height: 1.6; margin-bottom: 6px; }
:root .rf-landing .rf-legal a { text-decoration: underline; text-decoration-color: currentColor; text-decoration-thickness: 2px; text-underline-offset: 3px; }
:root .rf-landing .rf-legal a:is(:hover, :focus-visible) { background: var(--rf-y); }

/* =====================================================================
   Block theme layer (re.fashion child of Twenty Twenty-Five).
   Templates wrap everything in .rf-landing.rf-shell; header/footer are
   template parts holding the synced patterns.
   ===================================================================== */
:root .rf-landing .rf-part-header { position: sticky; top: 0; z-index: 30; background: var(--rf-w); }
body.admin-bar .rf-landing .rf-part-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .rf-landing .rf-part-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .rf-landing .rf-part-header { top: 0; } }
:root .rf-landing .rf-part-header .rf-header { position: static; }
:root .rf-landing.rf-shell > .wp-block-post-content > .rf-landing { margin: 0 !important; }
:root .rf-landing :where(.wp-block-template-part) { margin-block: 0; }

/* Single story / store post */
:root .rf-landing .rf-h1--post { font-size: clamp(36px, 6vw, 80px); max-width: 20ch; }
:root .rf-landing .rf-single .rf-pagehero { padding-bottom: clamp(24px, 4vw, 48px); }
:root .rf-landing .rf-single .rf-meta { margin-bottom: 0; }
:root .rf-landing .rf-single__more { border-top: 1px solid var(--rf-k); }
:root .rf-landing .rf-single__more .rf-eyebrow { margin-bottom: 8px; }

/* Cover blocks: keep the background image filling the cover (the global img rule sets height:auto) */
:root .rf-landing :is(img.wp-block-cover__image-background, video.wp-block-cover__video-background) { height: 100% !important; width: 100%; object-fit: cover; }

/* Readable long-form post content */
:root .rf-landing .rf-prose { padding-bottom: clamp(48px, 6vw, 96px); padding-inline: var(--rf-gutter); box-sizing: border-box; }
:root .rf-landing .rf-prose > :is(.wp-block-columns, .wp-block-gallery, .wp-block-cover, .wp-block-group:has(> .wp-block-columns)) { max-width: var(--rf-max) !important; }
:root .rf-landing .rf-prose .wp-block-group:has(> .wp-block-columns) > .wp-block-columns { max-width: none !important; }
/* Groups (converted Kadence rows) get the same wide measure as columns; inside them, text stays
   at reading width while covers, columns and galleries span the full group width. */
:root .rf-landing .rf-prose > .wp-block-group { max-width: var(--rf-max) !important; }
:root .rf-landing .rf-prose > .wp-block-group > :is(.wp-block-cover, .wp-block-columns, .wp-block-gallery) { max-width: none !important; width: 100%; }
/* Post hero covers: full wide width, text inset from the edges */
:root .rf-landing .rf-prose .wp-block-cover {
	padding: clamp(24px, 5vw, 64px) !important;
	box-sizing: border-box;
}
:root .rf-landing .rf-prose .wp-block-cover .wp-block-cover__inner-container { max-width: 760px; width: 100%; margin-inline: 0; }
:root .rf-landing .rf-prose .wp-block-cover .wp-block-cover__inner-container > * { max-width: none !important; margin-left: 0 !important; }

/* Converted Kadence columns carried large preset side paddings on their paragraphs */
:root .rf-landing .rf-prose .wp-block-column :is(p, h2, h3, h4)[style*="padding"] { padding-left: 0 !important; padding-right: 0 !important; }
:root .rf-landing .rf-prose > * { margin-block: 0 24px; }
:root .rf-landing .rf-prose :where(p, li) { font-size: 17px; line-height: 1.7; }
:root .rf-landing .rf-prose :where(p + p) { margin-top: 18px; }
:root .rf-landing .rf-prose :where(h2) { font-size: clamp(26px, 3vw, 38px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; margin: 48px 0 16px; }
:root .rf-landing .rf-prose :where(h3) { font-size: clamp(21px, 2.2vw, 28px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; margin: 36px 0 12px; }
:root .rf-landing .rf-prose :where(h4) { font-size: 19px; font-weight: 800; line-height: 1.3; margin: 28px 0 8px; }
:root .rf-landing .rf-prose :where(ul, ol) { padding-left: 1.2em; margin: 0 0 18px; }
:root .rf-landing .rf-prose :where(p, li) a { text-decoration: underline; text-decoration-color: currentColor; text-decoration-thickness: 2px; text-underline-offset: 3px; }
:root .rf-landing .rf-prose :where(p, li) a:is(:hover, :focus-visible) { background: var(--rf-y); }
:root .rf-landing .rf-prose :where(figure) { margin-block: 32px; }
:root .rf-landing .rf-prose :where(.wp-block-columns) { gap: clamp(24px, 4vw, 48px); margin-block: 40px; }
:root .rf-landing .rf-prose :where(.wp-block-column > * + *) { margin-top: 18px; }
:root .rf-landing .rf-prose :where(.wp-block-cover) { margin-block: 0 48px; }
:root .rf-landing .rf-prose :where(.wp-block-cover h2, .wp-block-cover h3, .wp-block-cover p) { color: var(--rf-w); }
:root .rf-landing .rf-prose :where(.wp-block-buttons) { margin-block: 24px; }
:root .rf-landing .rf-prose .wp-block-button__link { border-radius: 999px; padding: 14px 22px; font-weight: 700; font-size: 15px; background: var(--rf-k); color: var(--rf-w); }
:root .rf-landing .rf-prose .wp-block-button__link:is(:hover, :focus-visible) { background: var(--rf-y); color: var(--rf-k); }

/* Gallery block style "Slider": horizontal scroll-snap, no JavaScript (replaces Kadence sliders) */
:root .rf-landing .wp-block-gallery.is-style-rf-slider {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 12px !important;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	padding-bottom: 8px;
}
:root .rf-landing .wp-block-gallery.is-style-rf-slider > .wp-block-image {
	flex: 0 0 auto !important;
	width: clamp(220px, 70%, 420px) !important;
	scroll-snap-align: start;
	margin: 0 !important;
}
:root .rf-landing .wp-block-gallery.is-style-rf-slider > .wp-block-image img { aspect-ratio: 2 / 3; width: 100%; height: 100% !important; object-fit: cover; }

/* Search form on search.html */
:root .rf-landing .rf-search { margin-top: 24px; max-width: 560px; }
:root .rf-landing .rf-search .wp-block-search__input { border: 1px solid var(--rf-k); border-radius: 999px 0 0 999px; padding: 12px 18px; font: inherit; }
:root .rf-landing .rf-search .wp-block-search__button { border-radius: 0 999px 999px 0; background: var(--rf-k); color: var(--rf-w); font-weight: 700; padding: 12px 20px; margin-left: 0; }

/* ---------- Accessibility pass (2026-10-09) ---------- */
/* Keep focused elements clear of the sticky header (WCAG 2.4.11) */
html:has(.rf-landing) { scroll-padding-top: 96px; }
/* Light text over story cover photos */
:root .rf-landing .wp-block-cover:not(.is-light) .wp-block-cover__inner-container,
:root .rf-landing .rf-prose .wp-block-cover .wp-block-cover__inner-container { text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55), 0 0 18px rgba(0, 0, 0, 0.45); }
/* Focusable slider galleries */
:root .rf-landing .wp-block-gallery.is-style-rf-slider:focus-visible { outline-offset: 4px; }
/* Larger tap targets for footer links (WCAG 2.5.8) */
:root .rf-landing .rf-footer__nav a { padding-block: 10px; }
/* Skip link: visible, on-brand when focused */
.skip-link.screen-reader-text:focus { background: #fff200 !important; color: #000 !important; font-weight: 700; outline: 3px solid #000 !important; z-index: 100000; }

@media (prefers-reduced-motion: reduce) {
	:root .rf-landing *, :root .rf-landing *::before, :root .rf-landing *::after { transition: none !important; }
}
