/*
 * Ashley brand landing pages — styles (nectar / modmax / next-gen-nuvella / dreamcloud).
 * Hosted on CDN; referenced by templates/ashley-landing-page/page.nectar-modmax-nuvella.liquid.
 * Markup (class names, data-* attributes) lives in that Liquid template — keep selectors in sync.
 */

body, footer {
	background-color: #fff !important;
}

.amn-page {
	--amn-primary: #01158A;
	--amn-nuvella: #30afa9;
	--amn-max: 1152px;
	--amn-gap: 1.5rem;
	color: #363636;
	line-height: 1.5;
}

.amn-page *,
.amn-page *::before,
.amn-page *::after {
	box-sizing: border-box;
}

.amn-container {
	width: 100%;
	max-width: var(--amn-max);
	margin: 0 auto;
	padding: 0 1rem;
}

.amn-container img { max-width: 100%; }

/* ---- Typography ---- */
.amn-h2 {
	font-size: clamp(1.5rem, 3.5vw, 2rem);
	font-weight: 700;
	line-height: 1.15;
	margin: 0;
}

.amn-h3 {
	font-size: 1.15rem;
	font-weight: 700;
	margin: 0 0 .5rem;
}

.amn-primary { color: var(--amn-primary); }
.amn-text-white { color: #fff; }
.amn-text-black { color: #000; }
.amn-text-center { text-align: center; }
.amn-mb { margin-bottom: 1rem; }
.amn-nuvella-bg { background-color: var(--amn-nuvella); }

/* ---- Sections / spacing ---- */
.amn-section { margin: 3rem 0; }
.amn-section-sm { margin: 1.5rem auto; }
.amn-logo { margin: 3rem 0; text-align: center; }
.amn-logo--dreamcloud img { max-width: 320px; width: 100%; height: auto; }

/* ---- Buttons ---- */
.amn-btn {
	display: inline-block;
	margin-top: 1rem;
	padding: .7em 1.4em;
	background: var(--amn-primary);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	border-radius: 4px;
	line-height: 1;
	transition: opacity .2s ease, transform .2s ease;
}
.amn-btn:hover { opacity: .88; transform: translateY(-1px); }

/* ---- Banner (background image + overlaid text) ---- */
.amn-banner-section {
	position: relative;
	margin: 3rem 0;
}

.amn-banner {
	width: 100%;
	height: 0;
	padding-bottom: 37%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: block;
}

.amn-banner--tall { padding-bottom: 45%; }

.amn-banner-text {
	width: 50%;
	position: absolute;
	top: 25%;
	left: 0;
	padding: 1rem 1.5rem;
}
.amn-banner-text p { margin: .75rem 0 0; }

.amn-banner-section--plain { text-align: center; }

/* ---- Feature row (circular image + centered copy) ---- */
.amn-features {
	display: flex;
	flex-wrap: wrap;
	gap: var(--amn-gap);
	margin: 3rem 0;
}
.amn-feature {
	flex: 1 1 260px;
	text-align: center;
}
.amn-feature-img {
	width: 128px;
	height: 128px;
	border-radius: 9999px;
	object-fit: cover;
	display: block;
	margin: 0 auto 1rem;
}
/* Show the full image, uncropped (for wide / non-square thumbnails) */
.amn-feature-img--full {
	width: auto;
	height: auto;
	max-width: 100%;
	border-radius: 0;
	object-fit: initial;
}
/* SVG icon rendered inside the same 128px circular frame as photo bubbles */
.amn-feature-icon {
	width: 128px;
	height: 128px;
	border-radius: 9999px;
	background: rgba(1, 21, 138, .08);
	color: var(--amn-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1rem;
}
.amn-feature-icon svg {
	width: 60px;
	height: 60px;
}
.amn-feature-text { padding: .5rem; }

/* ---- Media (image beside text) ---- */
.amn-media {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--amn-gap);
	margin: 3rem 0;
}
.amn-media-figure,
.amn-media-body {
	flex: 1 1 300px;
	min-width: 0;
}
.amn-media-figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.amn-media-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.amn-media-body p { margin: .5rem 0 0; }
.amn-media-body--fill { padding: 1.25rem; }
.amn-media-body--fill p { color: #fff; }

/* ---- Video ---- */
.amn-video { margin: 3rem 0; }
.amn-video video {
	display: block;
	width: 100%;
	height: auto;
}

/* ---- RTE text block ---- */
.amn-rte { padding: 1rem; margin: 3rem 0; }

/* ---- Config logos row ---- */
.amn-logos {
	display: flex;
	flex-wrap: wrap;
	gap: var(--amn-gap);
	justify-content: center;
}
.amn-logo-item {
	flex: 1 1 120px;
	max-width: 200px;
	text-align: center;
}
.amn-logo-item img { display: inline-block; }

/* ---- Products grid ---- */
.amn-products {
	display: flex;
	flex-wrap: wrap;
	gap: var(--amn-gap);
}
.amn-product { flex: 1 1 200px; min-width: 0; }

/* ---- Mosaic ---- */
.amn-mosaic {
	display: flex;
	flex-wrap: wrap;
	gap: var(--amn-gap);
	margin: 3rem 0;
}
.amn-mosaic-main { flex: 2 1 340px; }
.amn-mosaic-side { flex: 1 1 240px; }
.amn-mosaic-box {
	position: relative;
	margin: 0 0 var(--amn-gap);
}
.amn-mosaic-box:last-child { margin-bottom: 0; }
.amn-mosaic-image {
	width: 100%;
	height: 0;
	padding-bottom: 50%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: block;
}
.amn-mosaic-side .amn-mosaic-image { padding-bottom: 65%; }
.amn-mosaic-text {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 1rem;
}
.amn-mosaic-text p { margin: .5rem 0 0; }

/* ---- Scroll reveal (progressive enhancement) ---- */
.amn-js [data-amn-reveal] {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .6s ease, transform .6s ease;
}
.amn-js [data-amn-reveal].amn-in {
	opacity: 1;
	transform: none;
}
@media (prefers-reduced-motion: reduce) {
	.amn-js [data-amn-reveal] {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* ---- Responsive ---- */
@media screen and (max-width: 767px) {
	.amn-banner {
		padding-bottom: 60%;
	}
	.amn-banner--tall { padding-bottom: 65%; }

	.amn-banner-text,
	.amn-mosaic-text {
		width: 100%;
		position: static;
		padding: 1rem 0;
		color: var(--amn-primary);
	}
	.amn-banner-text p,
	.amn-mosaic-text p { color: var(--amn-primary); }

	.amn-mosaic-image {
		padding-bottom: 60%;
	}
	.amn-mosaic-side .amn-mosaic-image { padding-bottom: 60%; }

	/* keep the coloured nuvella panels readable on mobile */
	.amn-media-body--fill,
	.amn-media-body--fill p { color: #fff; }
}

/* =====================================================================
 * Sealy — Carrington Chase brand landing page (page.handle == "sealy").
 *
 * Ported from the standalone HTML kit provided by Sealy, stripped of its
 * external dependencies (jQuery, slick, fontello, Google Fonts) and the
 * global html font-size scaling hack. Everything is scoped under `.sealy`
 * and every class is `sealy-` prefixed so it cannot collide with, or be
 * clobbered by, the host theme's own styles.
 *
 * The original design scales the whole page with the viewport by mutating
 * the root font-size. We reproduce that here by giving `.sealy` a fluid
 * font-size and expressing everything below it in `em`, so the scaling
 * stays contained to this block instead of the entire storefront.
 *
 * Markup lives in page.nectar-modmax-nuvella.liquid; JS behaviour (tabs,
 * card tap-to-reveal, carousels) lives in amn-landing.js. Keep in sync.
 * ===================================================================== */
.sealy {
	--sy-blue: #1D4F91;
	--sy-navy: #00325B;
	--sy-sky: #ABC8E7;
	--sy-smoke: #ECEFF1;
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color: var(--sy-navy);
	background: #fff;
	line-height: normal;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
	font-size: 16px;
}
/* Fluid base: mimics the kit's viewport-driven root scaling, contained here. */
@media screen and (min-width: 1024px) {
	.sealy { font-size: clamp(11.375px, 1.1111vw, 16px); }
}
@media screen and (max-width: 1023px) {
	.sealy { font-size: clamp(13.13px, 4.1024vw, 19.69px); }
}

.sealy * { box-sizing: border-box; }
.sealy img { display: block; max-width: 100%; }

/* ---- Typography ---- */
.sealy-h {
	font-family: inherit;
	color: var(--sy-navy);
	line-height: 1.15;
	font-weight: 700;
	margin: .8333em 0 .3333em;
}
.sealy-h:first-child { margin-top: 0; }
.sealy-h:last-child { margin-bottom: 0; }
.sealy-h + .sealy-h { margin-top: 0; }
.sealy-as-h0 { font-size: 5.3125em; }
.sealy-as-h1 { font-size: 3.75em; }
.sealy-as-h2 { font-size: 3.125em; }
.sealy-as-h3 { font-size: 2.625em; }
.sealy-as-h4 { font-size: 2.1875em; }
@media screen and (max-width: 1023px) {
	.sealy-as-h0 { font-size: 3.75em; }
	.sealy-as-h1 { font-size: 2.5em; }
	.sealy-as-h2 { font-size: 2.5em; }
	.sealy-as-h3 { font-size: 1.875em; }
	.sealy-as-h4 { font-size: 1.5625em; }
}

.sealy-editor { font-size: 1.25em; line-height: 1.5; font-weight: 400; word-break: break-word; }
.sealy-editor--big { font-size: 1.5em; }
@media screen and (max-width: 1023px) {
	.sealy-editor { font-size: 1.125em; }
	.sealy-editor--big { font-size: 1.125em; }
}
.sealy-editor p { margin: 0 0 1em; }
.sealy-editor p:last-child { margin: 0; }
.sealy sup { position: relative; font-size: 70%; line-height: normal; vertical-align: super; }

/* ---- Utilities ---- */
.sealy-tac { text-align: center; }
.sealy-tal { text-align: left; }
.sealy-mb0 { margin-bottom: 0 !important; }
.sealy-bg-dark { color: #fff; }
.sealy-bg-dark .sealy-h { color: #fff; }
@media screen and (min-width: 1024px) { .sealy-mobile { display: none !important; } }
@media screen and (max-width: 1023px) { .sealy-desktop { display: none !important; } }

/* ---- Buttons ---- */
.sealy-btn {
	display: inline-block;
	cursor: pointer;
	font-size: 1.125em;
	line-height: 1.2;
	font-weight: 700;
	color: #fff;
	text-transform: uppercase;
	text-align: center;
	padding: 1.1111em 3.3333em;
	min-width: 20em;
	background: var(--sy-blue);
	border: 2px solid var(--sy-blue);
	border-radius: .5556em;
	text-decoration: none;
	vertical-align: middle;
	transition: background .3s, border-color .3s, color .3s;
	box-shadow: rgba(0, 0, 0, .4) 0 8px 10px 0;
}
.sealy-btn:hover { background: var(--sy-sky); border-color: var(--sy-sky); color: var(--sy-navy); }
@media screen and (max-width: 1023px) {
	.sealy-btn { min-width: 0; font-size: 1em; width: 100%; padding: 1em 2.5em; }
}
/* On dark panels the button inverts to white. */
.sealy-bg-dark .sealy-btn { background: #fff; border-color: #fff; color: var(--sy-navy); }
.sealy-bg-dark .sealy-btn:hover { background: var(--sy-navy); border-color: var(--sy-navy); color: #fff; }

.sealy-actions { margin: 1.875em 0 0; }
.sealy-actions:last-child { margin-bottom: 0; }

/* ---- Layout primitives ---- */
.sealy-wrapper { padding: 0 1.25em; margin: 0 auto; max-width: 88.125em; }
@media screen and (max-width: 1023px) { .sealy-wrapper { max-width: none; } }

.sealy-block { background: #fff; padding: 7.5em 0; }
@media screen and (max-width: 1023px) { .sealy-block { padding: 3.75em 0; } }
/* Collapse the doubled gap between consecutive full-bleed white blocks. */
.sealy-block + .sealy-block { margin-top: -7.5em; }
@media screen and (max-width: 1023px) { .sealy-block + .sealy-block { margin-top: -3.75em; } }
.sealy-block--head:first-child { padding-top: 0; }

.sealy-image-wrap { position: relative; }
.sealy-image-wrap img { display: block; object-position: center center; }
.sealy-image-wrap--cover { overflow: hidden; }
.sealy-image-wrap--cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sealy-image-wrap--responsive img { width: 100%; height: auto; }

/* ---- Carousel (scroll-snap replacement for slick) ---- */
.sealy-carousel {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.sealy-carousel::-webkit-scrollbar { display: none; }
.sealy-carousel-dots { display: none; justify-content: center; gap: .75em; margin-top: .625em; }
.sealy-carousel-dot {
	width: 16px; height: 16px; padding: 0;
	border: 1px solid var(--sy-navy);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: background-color .3s;
}
.sealy-carousel-dot--active { background: var(--sy-navy); }
@media screen and (max-width: 1023px) { .sealy-carousel-dot { width: 10px; height: 10px; } }

/* ---- Hero ---- */
.sealy-head__content { background: var(--sy-blue); position: relative; }
@media screen and (max-width: 1023px) { .sealy-head .sealy-wrapper { padding: 0; } }
.sealy-head__bg { position: absolute; inset: 0; }
.sealy-head__image-mobile { position: relative; }
.sealy-head__image-mobile:after {
	content: " ";
	border: 2px solid #fff;
	border-bottom: none;
	border-radius: 1.875em 1.875em 0 0;
	position: absolute;
	top: 1.25em; left: 1.25em; right: 1.25em; bottom: 0;
}
.sealy-head__wrap {
	padding: 0 6.25em;
	width: 27.5em;
	height: 43.75em;
	display: flex;
	align-items: center;
	position: relative;
	z-index: 2;
}
@media screen and (max-width: 1023px) { .sealy-head__wrap { padding: 2.5em 1.25em; width: auto; height: auto; } }
.sealy-head__logo { margin-bottom: 1.25em; }
.sealy-head__logo .sealy-logo-svg { width: 100%; max-width: 13.75em; }

.sealy-logo-svg { display: block; height: auto; }
.sealy-logo-svg path { fill: #fff; }

/* ---- "Quality Rest" cards ---- */
.sealy-pros__slider { margin: 3.125em -0.9375em 0; display: flex; align-items: stretch; }
@media screen and (max-width: 1023px) {
	.sealy-pros__slider {
		margin: 3.125em 0 0;
		scroll-snap-type: x mandatory;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.sealy-pros__slider::-webkit-scrollbar { display: none; }
}
.sealy-pros__item { flex: 1; min-width: 0; }
@media screen and (max-width: 1023px) { .sealy-pros__item { flex: 0 0 88%; scroll-snap-align: center; } }
.sealy-pros__pad {
	margin: 0 .9375em;
	height: 100%;
	border-radius: 1.75em;
	overflow: hidden;
	background: var(--sy-blue);
	position: relative;
}
.sealy-pros__image { position: absolute; inset: 0; }
.sealy-pros__hover {
	position: relative;
	z-index: 2;
	padding: 2.5em;
	min-height: 31.25em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: rgba(0, 50, 91, .85);
	transition: opacity .4s;
	opacity: 0;
}
@media screen and (max-width: 1023px) { .sealy-pros__hover { min-height: 25em; padding: 2.5em 1.25em; } }
@media (hover: hover) { .sealy-pros__item:hover .sealy-pros__hover { opacity: 1; } }
.sealy-pros__item--hover .sealy-pros__hover { opacity: 1; }
.sealy-pros__indicator {
	position: absolute;
	left: 0; right: 0; bottom: 1em;
	color: #fff;
	text-align: center;
	line-height: 1;
	z-index: 3;
	pointer-events: none;
	transition: transform .3s;
}
.sealy-pros__indicator svg { width: 1.875em; height: 1.875em; margin: 0 auto; }
.sealy-pros__item--hover .sealy-pros__indicator { transform: rotate(45deg); }

/* ---- Mattress tabs ---- */
.sealy-tab-titles {
	padding: 2.5em 0 0;
	margin-top: 2.5em;
	background: var(--sy-blue);
	display: flex;
	align-items: stretch;
	justify-content: center;
}
.sealy-tab-titles--mobile { padding: .625em; margin-top: 2.5em; background: var(--sy-smoke); }
.sealy-tab-title {
	margin: 0 .625em;
	width: 17.5em;
	padding: 1.125em .75em;
	border: none;
	border-radius: .625em .625em 0 0;
	background: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color .3s;
}
.sealy-tab-title:hover { background-color: rgba(236, 239, 241, .1); }
.sealy-tab-title-h { color: #fff; margin: 0; transition: color .3s; }
.sealy-tab-title--active { background-color: var(--sy-smoke); }
.sealy-tab-title--active .sealy-tab-title-h { color: var(--sy-blue); }
.sealy-tab-select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	display: block;
	font-family: inherit;
	font-size: 1.125em;
	font-weight: 700;
	line-height: 1.5556em;
	color: #fff;
	background: var(--sy-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right .8em center / 1.4em no-repeat;
	border: 1px solid var(--sy-blue);
	border-radius: 0;
	padding: .8889em 2.6667em .8889em .8889em;
	outline: none;
}
.sealy-tab-contents { background: var(--sy-smoke); }
.sealy-tab-content { display: none; }
.sealy-tab-content--active { display: block; }
.sealy-tab-content-wrap { padding-top: 1.875em; }

.sealy-mattress__wrap { padding: 0 6.25em 1.875em; display: flex; align-items: center; }
@media screen and (max-width: 1023px) { .sealy-mattress__wrap { display: block; padding: 0 1.25em 2.5em; } }
.sealy-mattress__media { width: 48.75em; margin: 0 1.25em 0 -5em; }
@media screen and (max-width: 1023px) { .sealy-mattress__media { width: auto; margin: -1.875em -1.25em 1.875em; } }
.sealy-mattress__images { width: 100%; }
.sealy-mattress__image { flex: 0 0 100%; scroll-snap-align: center; height: 32.125em; position: relative; }
@media screen and (max-width: 1023px) { .sealy-mattress__image { height: 12.5em; } }
/* Inner image-wrap must fill the slide; its <img> is absolutely positioned. */
.sealy-mattress__image .sealy-image-wrap { position: absolute; inset: 0; }
.sealy-mattress__text { flex: 1; }

/* ---- "Find Your Perfect Base" ---- */
.sealy-imgtext__wrap { display: flex; align-items: center; }
@media screen and (max-width: 1023px) { .sealy-imgtext__wrap { display: block; } }
.sealy-imgtext__image { width: 45em; margin-right: 5em; margin-left: 2.5em; }
@media screen and (max-width: 1023px) { .sealy-imgtext__image { width: auto; margin: 0 0 2.5em; } }
.sealy-imgtext__text { flex: 1; padding-right: 6.25em; }
@media screen and (max-width: 1023px) { .sealy-imgtext__text { padding: 0; } }

/* ---- CTA ---- */
@media screen and (max-width: 1023px) { .sealy-cta .sealy-wrapper { padding: 0; } }
.sealy-cta__wrap { position: relative; }
.sealy-cta__bg { position: absolute; inset: 0; }
@media screen and (max-width: 1023px) { .sealy-cta__bg { position: relative; width: auto; height: 23.75em; } }
.sealy-cta__content {
	position: relative;
	z-index: 2;
	background: rgba(29, 79, 145, .9);
	width: 40.3125em;
	margin: 0 0 0 auto;
	padding: 5em 7.5em 5em 5.3125em;
	min-height: 43.125em;
}
@media screen and (max-width: 1023px) { .sealy-cta__content { min-height: 0; width: auto; padding: 2.5em; margin: 0; } }
.sealy-cta__logo { margin-top: 4.375em; }
.sealy-cta__logo .sealy-logo-svg { width: 100%; max-width: 18.75em; }
@media screen and (max-width: 1023px) { .sealy-cta__logo { margin: 2.5em auto 0; } }
.sealy-cta__line {
	position: absolute;
	top: 1.875em; left: 1.875em; right: 1.875em; bottom: 1.875em;
	border: 4px solid #fff;
	border-radius: 1.875em;
	pointer-events: none;
	z-index: 3;
}
@media screen and (max-width: 1023px) {
	.sealy-cta__line { top: 1.25em; left: 1.25em; right: 1.25em; bottom: 1.25em; border-width: 2px; }
}

/* ---- Products carried (reuses the .amn-products flex grid) ---- */
.sealy-products__grid { margin: 2em 0; }


/* =====================================================================
 * Shared carousel dots — used by the Tempur-Pedic and Stearns & Foster
 * scroll-snap carousels (amn-landing.js builds the buttons). Brand blocks
 * below restyle .amn-cdot as needed.
 * ===================================================================== */
.amn-cdots { display: none; justify-content: center; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.amn-cdots.amn-cdots--show { display: flex; }
.amn-cdot { width: 30px; height: 6px; padding: 0; border: 1px solid #365071; border-radius: 3px; background: transparent; cursor: pointer; }
.amn-cdot--active { background: #365071; }

/* =====================================================================
 * Tempur-Pedic — brand landing page (page.handle == "tempur-pedic").
 * Ported from the supplied HTML kit; Swiper replaced by a dependency-free
 * scroll-snap carousel. Scoped to `.tempur`, all classes `tempur-` prefixed.
 * Background images point at the CDN (immutable, so no cache-bust needed).
 * ===================================================================== */
.tempur {
	--tp-navy: #0a2240;
	--tp-gray: #D5DFE3;
	--tp-teal: #00afaa;
	--tp-cdn: 'https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic';
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 18px;
	color: var(--tp-navy);
	line-height: 1.5;
}
.tempur * { box-sizing: border-box; }
.tempur img { display: block; max-width: 100%; }
.tempur sup { position: relative; font-size: 55%; line-height: 0; vertical-align: baseline; top: -0.6em; }
.tempur h1, .tempur h2, .tempur h3 { font-family: inherit; }

/* ---- Buttons ---- */
.tempur-btn {
	display: inline-block;
	color: #fff;
	border-radius: 10px;
	font-size: 0.833em;
	font-weight: 500;
	line-height: 1;
	padding: 14px 19px;
	text-decoration: none;
	text-transform: uppercase;
	text-align: center;
	transition: transform 100ms ease-in-out;
	cursor: pointer;
}
.tempur-btn:hover { transform: scale(1.05); }
.tempur-btn--blue { background-color: var(--tp-navy); color: #fff; }
.tempur-btn--gray { background-color: var(--tp-gray); color: var(--tp-navy); }
@media all and (min-width: 1024px) { .tempur-btn { font-size: 0.889em; } }

/* ---- Hero ---- */
.tempur-header { background: var(--tp-navy) url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/bg_mobile_header.jpg") no-repeat bottom center/100% auto; }
.tempur-header__inner { display: flex; flex-direction: column; height: calc(450px + 100vw); justify-content: space-between; margin: 0 auto; padding: 35px 15px; }
.tempur-header__content { color: #fff; }
.tempur-header__content img { display: block; width: 150px; }
.tempur-header__content h1 { font-weight: 300; font-size: 1.6666666667em; line-height: 1.2667; margin: 20px 0 25px; }
.tempur-header__content p { font-size: 0.9444444444em; font-weight: 400; line-height: 1.5882; margin: 0; }
.tempur-header__content .tempur-btn { margin-top: 32px; }
@media all and (min-width: 1024px) {
	.tempur-header { background: var(--tp-navy) url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/bg_header.jpg") no-repeat center center/auto 100%; padding-left: 20px; }
	.tempur-header__inner { height: 44.6vw; max-height: 765px; max-width: 1400px; justify-content: center; padding: 35px 0; }
	.tempur-header__content { padding-right: 50%; }
	.tempur-header__content img { width: 250px; }
	.tempur-header__content h1 { margin: 40px 0 25px; }
	.tempur-header__content p { padding-right: 20%; }
}
@media all and (min-width: 1280px) {
	.tempur-header__content { padding-right: 55%; }
	.tempur-header__content h1 { font-size: 2.222em; margin: 50px 0 25px; }
	.tempur-header__content p { font-size: 1em; line-height: 1.5; }
}
@media all and (min-width: 1800px) { .tempur-header__inner { height: 765px; } }

/* ---- Gradient/wave background wrappers ---- */
.tempur-gradient {
	background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/bg_wave_texture.png"), linear-gradient(180deg, rgb(223,222,222) 0%, rgb(255,255,255) 100%);
	background-repeat: no-repeat, no-repeat;
	background-position: top right, top center;
	background-size: 200% auto, auto auto;
}
.tempur-gradient--alt {
	background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/bg_wave_texture_alt.png"), linear-gradient(180deg, rgb(223,222,222) 0%, rgb(255,255,255) 100%);
	background-repeat: no-repeat, no-repeat;
	background-position: top left, top center;
	background-size: 200% auto, auto auto;
}
@media all and (min-width: 1024px) {
	.tempur-gradient, .tempur-gradient--alt { background-size: 100% auto, auto auto; }
}

/* ---- Carousel (scroll-snap; replaces Swiper) ---- */
.tempur-carousel { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 0 20px 10px; }
.tempur-carousel::-webkit-scrollbar { display: none; }
.tempur-carousel > * { scroll-snap-align: start; flex: 0 0 86%; }
@media all and (min-width: 1024px) { .tempur-carousel { padding: 0 0 10px; } }

/* ---- RTBs (Solutions) ---- */
.tempur-rtbs { padding: 50px 0 0; }
.tempur-rtbs__inner { margin: 0 auto; max-width: 1400px; }
.tempur-rtbs__title { font-size: 1.389em; font-weight: 700; line-height: 1.2; margin: 0 0 30px; padding: 0 50px; text-align: center; }
.tempur-rtbs__card { background: #fff; }
.tempur-rtbs__img { height: 62vw; background-repeat: no-repeat; background-size: cover; }
.tempur-rtbs__card .tempur-rtbs__body { padding: 20px; }
.tempur-rtbs__card h3 { font-size: 1.111em; font-weight: 700; line-height: 1; margin: 0 0 20px; }
.tempur-rtbs__card p { font-size: 1em; font-weight: 400; line-height: 1.5; margin: 0; }
.tempur-rtbs__img--aches { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/aches_image.jpg"); background-position: center center; }
.tempur-rtbs__img--hot { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/hot_image.jpg"); background-position: top center; }
.tempur-rtbs__img--snore { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/snore_image.jpg"); background-position: center center; }
.tempur-rtbs__img--restlessness { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/restlessness_image.jpg"); background-position: top center; }
.tempur-rtbs .tempur-carousel > * { flex-basis: 86%; }
@media all and (min-width: 1024px) {
	.tempur-rtbs { padding: 50px 20px 0; }
	.tempur-rtbs__title { font-size: 1.944em; line-height: 1; margin: 65px 0 50px; }
	.tempur-rtbs__img { height: 22.7vw; max-height: 230px; }
	.tempur-rtbs__card h3 { font-size: 1.389em; }
	.tempur-rtbs .tempur-carousel > * { flex-basis: calc(25% - 15px); }
}

/* ---- Product rows ---- */
.tempur-product { padding: 20px; }
.tempur-product__inner { background: #fff; padding: 10px; max-width: 1400px; margin: 0 auto; }
.tempur-product__content h2 { font-size: 1.667em; font-weight: 700; line-height: 1.1667; margin: 25px 0 10px; padding: 0 15px; }
.tempur-product__content h3 { font-size: 1.3888em; font-weight: 300; letter-spacing: -0.83px; line-height: 1.2; margin: 0; padding: 0 15px; }
.tempur-product__content p { padding: 0 15px; font-size: 1em; font-weight: 400; line-height: 1.5; }
.tempur-product__content ul { padding: 0 0 0 30px; }
.tempur-product__content li { font-size: 1em; font-weight: 400; line-height: 1.5; }
.tempur-product__btns { display: flex; justify-content: center; margin: 20px 0 0; }
.tempur-product__btns a { width: 100%; }
.tempur-pimg { background-repeat: no-repeat; background-position: center center; background-size: contain; margin: 25px 0 50px; }
.tempur-pimg--adapt { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/adapt_stack.png"); height: 67vw; }
.tempur-pimg--breeze { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/breeze_stack.png"); height: 52vw; }
.tempur-pimg--split { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/split_king.jpg"); height: 67vw; }
.tempur-pimg--active { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/mattress_stack_breeze.jpg"); height: 52vw; }
.tempur-pimg--flat { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/flat-foundations.png"); height: 52vw; }
.tempur-pimg--bases { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/base.png"); height: 52vw; margin-top: 20px; }
.tempur-pimg--pillows { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/pillow-stack.png"); height: 52vw; margin-top: 10px; }
@media all and (min-width: 1024px) {
	.tempur-product__inner { display: flex; align-items: stretch; padding: 50px 25px; }
	.tempur-product__inner--alt { flex-direction: row-reverse; }
	.tempur-product__content h2 { font-size: 1.8em; padding: 0; }
	.tempur-product__content h2.tempur-split { font-size: 1.75em; }
	.tempur-product__content h3, .tempur-product__content p { padding: 0; }
	.tempur-product__content p, .tempur-product__content li { line-height: 1.5556em; }
	.tempur-product__btns { justify-content: flex-start; margin: 40px 0 0; }
	.tempur-product__btns a { width: auto; min-width: 360px; }
	.tempur-pimg { height: auto; margin: 0; }
	.tempur-pimg--adapt { flex: 0 0 56%; margin-left: 50px; }
	.tempur-pimg--breeze { flex: 0 0 50%; margin-right: 100px; }
	.tempur-pimg--split { flex: 0 0 56%; margin-left: 50px; }
	.tempur-pimg--active { flex: 0 0 50%; margin-right: 100px; }
	.tempur-pimg--flat { flex: 0 0 55%; margin-left: 100px; }
	.tempur-pimg--bases { flex: 0 0 53%; margin-right: 50px; }
	.tempur-pimg--pillows { flex: 0 0 52%; min-height: 360px; }
}
@media all and (min-width: 1280px) {
	.tempur-product__inner { padding: 0 50px; }
	.tempur-product__content { padding: 100px 0; }
	.tempur-product__content h3 { font-size: 1.667em; letter-spacing: -1px; line-height: 1.5em; }
	.tempur-pimg--bases { flex: 0 0 58%; }
}

/* ---- Testimonials ---- */
.tempur-testimonials { padding: 50px 0 0; }
.tempur-testimonials__inner { margin: 0 auto; max-width: 1400px; position: relative; }
.tempur-testimonials__card { background: #fff; }
.tempur-testimonials__card .tempur-testimonials__body { padding: 50px 40px; text-align: center; }
.tempur-stars { background: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/stars.png") no-repeat center center/contain; height: 35px; margin: 0 0 50px; }
.tempur-testimonials__card h3 { font-size: 1.111em; font-weight: 500; line-height: 1; margin: 0 0 20px; }
.tempur-testimonials__card p { font-size: 1em; font-weight: 400; line-height: 1.5; margin: 0; }
.tempur-testimonials__card .tempur-customer { font-size: 1em; font-weight: 500; line-height: 1.5em; margin: 80px 0 0; }
.tempur-testimonials .amn-cdot { width: 10px; height: 10px; border-radius: 0; border: 1px solid var(--tp-navy); }
.tempur-testimonials .amn-cdot--active { background: var(--tp-navy); }
.tempur-testimonials__prev, .tempur-testimonials__next { display: none; position: absolute; top: 40%; width: 50px; height: 50px; border: none; background-color: transparent; background-repeat: no-repeat; background-position: center center; background-size: contain; cursor: pointer; z-index: 99; }
.tempur-testimonials__prev { left: -15px; background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/left_arrow.svg"); }
.tempur-testimonials__next { right: -15px; background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/right_arrow.svg"); }
.tempur-testimonials .tempur-carousel > * { flex-basis: 86%; }
@media all and (min-width: 1024px) {
	.tempur-testimonials { padding: 70px 20px 0; }
	.tempur-testimonials__card h3 { font-size: 1.667em; }
	.tempur-testimonials .amn-cdot { width: 13px; height: 13px; }
	.tempur-testimonials__prev, .tempur-testimonials__next { display: block; }
	.tempur-testimonials .tempur-carousel > * { flex-basis: calc(33.333% - 14px); }
}

/* ---- Why ---- */
.tempur-why { background: var(--tp-navy) url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/bg_why_mobile.jpg") no-repeat bottom center/100% auto; max-width: 1400px; margin: 60px auto 0; }
.tempur-why__inner { display: flex; flex-direction: column; height: calc(145px + 100vw); justify-content: space-between; margin: 0 auto; padding: 35px 20px; color: #fff; }
.tempur-why h2 { font-size: 1.944em; font-weight: 700; margin: 0 0 26px; }
.tempur-why p { color: #fff; font-size: 1em; font-weight: 400; line-height: 1.5; margin: 0; }
.tempur-why__content { color: #fff; }
@media all and (min-width: 768px) { .tempur-why__inner { height: calc(145px + 65vw); max-height: 765px; max-width: 1400px; } }
@media all and (min-width: 1024px) {
	.tempur-why { background: var(--tp-navy) url("https://web-assets.dovrmedia.com/brand-landing-pages/tempur-pedic/bg_why.jpg") no-repeat center center/auto 100%; padding-left: 20px; }
	.tempur-why__inner { height: 48.6vw; max-height: 765px; justify-content: center; padding: 35px 0; }
	.tempur-why__content { padding: 0 20px 0 66%; }
}
@media all and (min-width: 1200px) { .tempur-why p { max-width: 369px; } }
@media all and (min-width: 1280px) {
	.tempur-why__inner { height: 44.6vw; }
	.tempur-why__content { padding: 0 20px 0 68%; }
	.tempur-why__content-inner { width: 380px; }
}
@media all and (min-width: 1800px) { .tempur-why__inner { height: 607px; } }

/* ---- Video ---- */
.tempur-video { padding: 0 20px; }
.tempur-video__inner { padding: 40px 0; max-width: 1400px; margin: 0 auto; }
.tempur-embed { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; }
.tempur-embed iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
@media all and (min-width: 1024px) { .tempur-video__inner { padding: 50px 0; } }
@media all and (min-width: 1280px) { .tempur-video__inner { padding: 100px 0; } }

/* ---- Disclaimers ---- */
.tempur-disclaimers { padding: 0 20px; }
.tempur-disclaimers__inner { border-top: 1px solid #2D2926; max-width: 1400px; margin: 0 auto; padding: 50px 0; }
.tempur-disclaimers__inner p { color: #2D2926; font-size: 0.889em; font-weight: 400; line-height: 1.25; margin: 10px 0; }

/* ---- Products carried (reuses .amn-products) ---- */
.tempur-products { max-width: 1400px; margin: 0 auto; padding: 20px; text-align: center; }
.tempur-products h2 { font-size: 1.8em; font-weight: 700; margin: 0 0 20px; }
.tempur-products__grid { margin: 2em 0; text-align: left; }


/* =====================================================================
 * Stearns & Foster — brand landing page (page.handle == "stearns-foster").
 * Ported from the supplied HTML kit; Owl Carousel replaced by a vanilla
 * autoplay fade slider (amn-landing.js), jQuery / Font Awesome dropped.
 * Scoped to `.stearns`, all classes `sf-` prefixed. Brand fonts fall back
 * to serif/sans stacks (add the Google Fonts link if exact fonts wanted).
 * ===================================================================== */
.stearns {
	--sf-navy: #00103B;
	--sf-blue: #7EA9CB;
	--sf-coral: #F3756D;
	--sf-light: #ecf2f7;
	font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	font-size: 18px;
	color: #000;
	line-height: 1.625;
}
.stearns * { box-sizing: border-box; }
.stearns img { display: block; max-width: 100%; }
/* keep this at single-class specificity so per-element width overrides
   (e.g. .sf-two-up__img at >=40em) can win via source order */
.sf-responsive-img { width: 100%; }
.stearns h1, .stearns h2, .stearns h3, .stearns h4, .stearns h5, .stearns h6, .stearns p, .stearns li { margin: 0; color: #000; font-weight: 400; line-height: 1.3; }
.stearns p, .stearns li { font-family: inherit; line-height: 1.625; }
.stearns h1, .stearns h3, .stearns h4, .stearns h5 { font-family: 'Playfair Display', Playfair, Georgia, 'Times New Roman', serif; }
.stearns h2 { font-size: 2.75em; }
.stearns h3 { font-size: 1.75em; font-weight: 500; text-transform: uppercase; }
.stearns h4 { font-size: 1.75em; font-weight: 500; text-transform: uppercase; }
.stearns h5 { font-size: 1.125em; opacity: 0.9; }
.stearns p { font-size: 0.9em; margin: 0 0 1em; }
.stearns sup { font-size: 8px; vertical-align: text-top; }
.stearns strong { font-weight: 500; }

/* utilities */
.sf-text-white { color: #fff !important; }
.sf-text-dark-blue { color: var(--sf-navy) !important; }
.sf-text-center { text-align: center; }
.sf-no-break { white-space: nowrap; }
.sf-mobile-hide { display: none; }

/* buttons */
.sf-btn {
	display: inline-block;
	width: 100%;
	color: #fff;
	font-family: 'Nunito Sans', helvetica, arial, sans-serif;
	font-weight: 400;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	font-size: 0.75em;
	padding: 0.8125em 1.75em;
	margin: auto;
	text-align: center;
	text-decoration: none;
	transition: all 0.2s ease-in-out;
	cursor: pointer;
}
.sf-btn--dark-blue { background-color: var(--sf-navy); color: #fff; }
.sf-btn--dark-blue:hover { background-color: var(--sf-coral); }
.sf-btn--blue { background-color: var(--sf-blue); color: #fff; }
.sf-btn--blue:hover { background-color: var(--sf-coral); }
.sf-btn--coral { background-color: var(--sf-coral); color: #fff; }
.sf-btn--coral:hover { background-color: var(--sf-navy); }

/* layout */
.sf-logo img { max-width: 90%; margin: 2em auto 1em; }
.sf-wcsb img { width: 80%; max-width: 30em; margin: 1em auto; }
.sf-section { width: 100%; max-width: 66em; margin: auto auto 3em; }
.sf-container { padding: 1em; }

/* section headers with decorative script image */
.sf-section-header { margin: 0 0 0.5em; }
.sf-section-text img { width: 70%; max-width: 30em; margin: 0 auto 0.5em; }
.sf-section-text .sf-smaller { max-width: 16em; }
.sf-section-text .sf-smallest { width: 40%; max-width: 10em; }
.sf-heads-content { margin: 2em 0 3em; }
.sf-heads-title { margin: 0; }
.sf-heads-title.sf-larger { }

/* stitched light-blue band */
.sf-heads { background-color: var(--sf-light); margin-top: 2em; position: relative; padding-top: 2em; }
.sf-stitch { background: url("https://web-assets.dovrmedia.com/brand-landing-pages/stearns-foster/2x/stitch@2x.png") no-repeat center top/cover; height: 23px; }
.sf-stitch.sf-stitch--bottom { position: relative; top: -2em; }

/* fade slider (replaces Owl) */
.sf-slider-wrap { max-width: 66em; margin: 0 auto; }
.sf-slider { display: grid; }
.sf-slide { grid-area: 1 / 1; opacity: 0; transition: opacity 0.6s ease; pointer-events: none; }
/* No-JS baseline: show the first slide so the hero is never blank if the
   script is missing/stale/blocked. Once the fade JS runs it adds
   .sf-slider--js (below) and takes full control. */
.sf-slide:first-child { opacity: 1; pointer-events: auto; }
.sf-slider--js .sf-slide { opacity: 0; pointer-events: none; }
.sf-slider--js .sf-slide.sf-slide--active { opacity: 1; pointer-events: auto; }
.sf-carousel-container { display: flex; flex-wrap: wrap; background-repeat: no-repeat; background-size: cover; }
.sf-carousel-container--1 { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/stearns-foster/slider/carousel-1-texture.jpg"); }
.sf-carousel-container--2 { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/stearns-foster/slider/carousel-2-texture.jpg"); }
.sf-carousel-container--3 { background-image: url("https://web-assets.dovrmedia.com/brand-landing-pages/stearns-foster/slider/carousel-3-texture.jpg"); }
.sf-carousel-left { width: 100%; }
.sf-carousel-right { width: 100%; text-align: center; margin: auto; }
.sf-slide-content { text-align: center; margin: 20px 2em; }
.sf-slide-content h4 { font-size: 2em; padding-bottom: 0.25em; }
.sf-slide-content p { font-size: 0.9em; }
.sf-slide-content .sf-btn { padding: 0.4em; width: 80%; font-size: 60%; }
.sf-slider-text img { width: 50%; margin: 0 auto 0.5em; }
.sf-slider-text .sf-larger { width: 70%; }
.sf-dots { display: flex; justify-content: center; gap: 0.5rem; margin: 1em 0; padding: 0; list-style: none; }
.sf-dot { width: 30px; height: 10px; padding: 0; background: #fff; border: 1px solid var(--sf-blue); border-radius: 50px; cursor: pointer; }
.sf-dot--active { background: var(--sf-blue); }

/* benefits grid */
.sf-benefits { display: flex; flex-wrap: wrap; justify-content: space-between; }
.sf-benefit { display: block; margin: 0 0 1.5em; }
.sf-benefit-content { background: #fff; padding: 1em; min-height: 170px; }
.sf-benefit-content h4 { font-size: 1.5em; }
.sf-benefit-content p { font-size: 0.9em; }

/* collections */
.sf-two-up { position: relative; width: 100%; display: block; margin: 2em 0 1em; background: #fff; }
.sf-two-up__img { display: block; width: 100%; }
.sf-two-up__content { background: #fff; padding: 1.5em; position: relative; overflow: hidden; }
.sf-two-up__content h3 { font-size: 1.25em; }
.sf-one-up { display: flex; justify-content: space-between; flex-wrap: wrap; }
.sf-collection { width: 100%; display: block; margin-bottom: 1em; position: relative; background: #fff; }
.sf-one-up__content { background: #fff; padding: 1.5em; position: relative; overflow: hidden; }
.sf-one-up__content h3 { font-size: 1.25em; }

/* features (video) */
.sf-features { display: flex; flex-wrap: wrap; justify-content: space-between; }
.sf-feature { display: block; margin: 0 0 1.5em; width: 100%; }
.sf-feature video { width: 100%; height: auto; display: block; margin-bottom: -0.5em; }
.sf-feature-content { background: var(--sf-light); padding: 2em; }
.sf-feature-content h4 { font-size: 1.5em; margin-bottom: 0.25em; }
.sf-feature-content p { font-size: 0.9em; margin-bottom: 1em; }

/* comparison table */
.sf-table { width: 100%; overflow: auto; position: relative; margin-top: 2em; scrollbar-width: thin; scrollbar-color: var(--sf-blue) #fff; }
.sf-table table { position: relative; border-collapse: collapse; width: 100%; font-size: 0.65em; background: var(--sf-light); text-transform: uppercase; }
.sf-table img { display: inline; }
.sf-table td, .sf-table th { padding: 1.25em; text-align: center; vertical-align: middle; }
.sf-table td { border-right: 1px solid var(--sf-blue); border-bottom: 1px solid var(--sf-blue); }
.sf-table thead th { position: sticky; top: 0; background: var(--sf-navy); border-right: 1px solid var(--sf-blue); color: #fff; max-width: 10em; font-family: 'Nunito Sans', helvetica, arial, sans-serif; font-size: 0.9em; }
.sf-table thead th:first-child { left: 0; z-index: 1; border-bottom: 1px solid var(--sf-blue); }
.sf-table tbody th { position: sticky; left: 0; color: #fff; background: var(--sf-navy); border-right: 1px solid var(--sf-blue); border-bottom: 1px solid var(--sf-blue); font-family: 'Playfair Display', Playfair, Georgia, serif; }
.sf-button { max-width: 20em; margin: 2em auto; }
.sf-button a { border-radius: 0; }

/* accessories */
.sf-accessories { }
.sf-accessory { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-bottom: 3em; width: 100%; }
.sf-accessory img { border: 1px solid var(--sf-blue); }
.sf-accessory h3 { font-size: 1.25em; line-height: 1; margin: 0.5em 0; }
.sf-accessory h3 span { font-size: 0.75em; }
.sf-accessory-img { width: 100%; }
.sf-accessory__content { width: 100%; }
.sf-accessory__title { width: 100%; }
.sf-points { list-style: none; margin: 0 0 1.5em 1em; padding: 0; }
.sf-points li { font-size: 0.9em; margin-bottom: 0.25em; }
.sf-points li::before { content: "\2022"; color: var(--sf-coral); font-weight: bold; display: inline-block; width: 1em; margin-left: -1em; }
.sf-disclaimer { font-size: 0.6em; text-align: center; margin-top: 1em; line-height: 1.625; }

/* products carried (reuses .amn-products) */
.sf-products { max-width: 66em; margin: 0 auto 3em; padding: 1em; text-align: center; }
.sf-products h3 { font-size: 1.75em; text-transform: uppercase; margin-bottom: 1em; }
.sf-products__grid { margin: 2em 0; text-align: left; }

@media all and (min-width: 40em) {
	.stearns h1 { font-size: 1.75em; }
	.stearns h2 { font-size: 5.5em; }
	.stearns h3 { font-size: 3em; }
	.sf-container { padding: 2em; }
	.sf-carousel-left { width: 60%; }
	.sf-carousel-right { width: 40%; }
	.sf-slide-content h4 { font-size: 1.5em; }
	.sf-slide-content p { font-size: 60%; }
	.sf-slide-content .sf-btn { padding: 0.4em; width: 80%; font-size: 60%; }
	.sf-benefit { width: 32%; }
	.sf-benefit-content { min-height: 280px; }
	.sf-benefit-content h4 { font-size: 0.83em; margin-bottom: 0.25em; }
	.sf-feature-content h4 { font-size: 1em; }
	.sf-stitch { height: 28px; }
	.sf-two-up { display: flex; justify-content: space-between; flex-wrap: wrap; }
	.sf-two-up__img { width: 49%; }
	.sf-two-up__content { width: 50%; }
	.sf-two-up__content h3 { font-size: 1.5em; }
	.sf-two-up__content p { font-size: 80%; }
	.sf-one-up .sf-collection { width: 49%; }
	.sf-one-up__content h3 { font-size: 1em; }
	.sf-one-up__content p { font-size: 75%; }
}

@media all and (min-width: 56em) {
	.sf-logo { max-width: 100%; margin: auto; padding: 0 1.25em; }
	.sf-mobile-hide { display: block; }
	.sf-desktop-hide { display: none; }
	.sf-slide-content h4 { font-size: 3em; }
	.sf-slide-content p { font-size: 100%; }
	.sf-slide-content .sf-btn { padding: 0.5em; width: 80%; font-size: 100%; }
	.sf-benefit-content h4 { font-size: 1.5em; }
	.sf-benefit-content p { font-size: 1em; }
	.sf-benefit-content { min-height: 240px; }
	.sf-feature-content h4 { font-size: 1.5em; }
	.sf-feature-content p { font-size: 1em; }
	.sf-stitch { height: 33px; }
	.sf-two-up__content img { position: absolute; left: -4em; bottom: -16em; width: 22em; }
	.sf-two-up__content h3 { font-size: 2.25em; }
	.sf-one-up__content h3 { font-size: 1.5em; }
	.sf-accessory h3 { margin-top: 0; }
	.sf-accessory-img { width: 25%; height: auto; }
	.sf-accessory__content { width: 55%; padding: 0 1em 0 2em; }
	.sf-accessory__title { width: 20%; border-left: 2px solid var(--sf-blue); padding-left: 0.75em; }
	.sf-accessory__title.sf-coral { border-left-color: var(--sf-coral); }
	.sf-accessory__title h3 { font-size: 1.75em; line-height: 0.75; }
}

@media all and (min-width: 74em) {
	.sf-logo { width: 50em; margin: auto; padding: 0 1.25em; }
	.sf-benefit-content { min-height: 190px; }
	.sf-two-up__content img { bottom: -12em; }
}

/* =====================================================================
 * Furniture of America — brand landing page (page.handle == "furniture-of-america").
 * Original layout (no vendor kit supplied): a warm, value-forward furniture
 * page built around rooms and collections rather than a single hero product.
 * Scoped to `.foa`, every class `foa-` prefixed so the host theme cannot
 * reach in. Uses the shared [data-amn-carousel] and [data-amn-count]
 * behaviours from amn-landing.js. Imagery lives on the CDN — see the
 * template for the expected file names.
 * ===================================================================== */
.foa {
	--foa-ink: #2b2622;
	--foa-muted: #6f6157;
	--foa-clay: #b0532c;
	--foa-sand: #f5f0e9;
	--foa-line: #e2d9cd;
	--foa-serif: Georgia, 'Iowan Old Style', 'Times New Roman', serif;
	font-size: clamp(15px, 0.55vw + 13px, 18px);
	line-height: 1.6;
	color: var(--foa-ink);
	background: #fff;
	overflow-x: hidden;
}
.foa * { box-sizing: border-box; }
.foa img { display: block; max-width: 100%; }
.foa p { margin: 0 0 1em; }
.foa p:last-child { margin-bottom: 0; }

.foa-wrap { width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 clamp(1rem, 4vw, 3rem); }
.foa-tac { text-align: center; }

/* ---- Typography ---- */
.foa-eyebrow {
	margin: 0 0 0.6em;
	font-family: inherit;
	font-size: 0.78em;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--foa-clay);
}
.foa-h2 {
	font-family: var(--foa-serif);
	font-weight: 400;
	font-size: clamp(1.6rem, 3.2vw, 2.75rem);
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin: 0 0 0.5em;
	color: inherit;
}
.foa-lede { max-width: 46em; margin-bottom: 2.5em; color: var(--foa-muted); }
.foa-tac .foa-lede { margin-left: auto; margin-right: auto; }

/* ---- Button ---- */
.foa-btn {
	display: inline-block;
	padding: 0.85em 2em;
	border: 1px solid var(--foa-ink);
	border-radius: 2px;
	background: var(--foa-ink);
	color: #fff;
	font-size: 0.85em;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.foa-btn:hover, .foa-btn:focus-visible { background: var(--foa-clay); border-color: var(--foa-clay); color: #fff; }
.foa-btn--light { background: #fff; border-color: #fff; color: var(--foa-ink); }
.foa-btn--light:hover, .foa-btn--light:focus-visible { background: var(--foa-clay); border-color: var(--foa-clay); color: #fff; }

/* ---- 1. Hero ---- */
.foa-hero { position: relative; display: flex; align-items: flex-end; min-height: min(78vh, 640px); color: #fff; }
.foa-hero__bg { position: absolute; inset: 0; }
.foa-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.foa-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(29, 24, 20, 0.15) 0%, rgba(29, 24, 20, 0.35) 45%, rgba(29, 24, 20, 0.85) 100%);
}
.foa-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: clamp(3rem, 9vw, 6rem) clamp(1rem, 4vw, 3rem);
}
.foa-hero__logo { width: clamp(150px, 20vw, 260px); height: auto; margin-bottom: 1.5rem; }
.foa-hero__title {
	font-family: var(--foa-serif);
	font-weight: 400;
	font-size: clamp(2rem, 5.4vw, 3.75rem);
	line-height: 1.08;
	margin: 0 0 0.5em;
	color: #fff;
}
.foa-hero__copy { max-width: 34em; margin-bottom: 2em; color: rgba(255, 255, 255, 0.9); }

/* ---- 2. Stat strip ---- */
.foa-stats { background: var(--foa-sand); padding: clamp(2.5rem, 6vw, 4rem) 0; }
.foa-stats__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(1.5rem, 4vw, 3rem); }
.foa-stat { text-align: center; }
.foa-stat__num {
	font-family: var(--foa-serif);
	font-size: clamp(2rem, 5vw, 3.25rem);
	line-height: 1;
	color: var(--foa-clay);
	font-variant-numeric: tabular-nums;
}
.foa-stat__num--word { font-size: clamp(1.25rem, 2.6vw, 1.75rem); line-height: 1.15; }
.foa-stat__label { margin-top: 0.7em; font-size: 0.82em; line-height: 1.45; color: var(--foa-muted); }

/* ---- 3. Shop by room ---- */
.foa-rooms { padding: clamp(3rem, 8vw, 6rem) 0 0; }
.foa-rooms__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(0.75rem, 2vw, 1.25rem); margin-top: 2rem; }
.foa-room {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border-radius: 3px;
	background: var(--foa-sand);
	text-decoration: none;
}
.foa-room img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.foa-room::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(29, 24, 20, 0) 45%, rgba(29, 24, 20, 0.75) 100%);
}
.foa-room__label {
	position: absolute;
	z-index: 1;
	left: 1rem;
	bottom: 1rem;
	right: 1rem;
	color: #fff;
	font-family: var(--foa-serif);
	font-size: clamp(1rem, 2.2vw, 1.5rem);
	line-height: 1.2;
}
.foa-room:hover img, .foa-room:focus-visible img { transform: scale(1.05); }

/* ---- 4. Pillars ---- */
.foa-pillars { padding: clamp(3rem, 8vw, 6rem) 0 0; }
.foa-pillars__grid { display: grid; gap: clamp(2rem, 4vw, 3rem); margin-top: 2.5rem; }
.foa-pillar { text-align: center; }
.foa-pillar__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin-bottom: 1rem;
	border-radius: 50%;
	background: var(--foa-sand);
	color: var(--foa-clay);
}
.foa-pillar__icon svg { width: 34px; height: 34px; }
.foa-pillar h3 { font-family: var(--foa-serif); font-weight: 400; font-size: 1.35em; margin: 0 0 0.5em; }
.foa-pillar p { font-size: 0.92em; color: var(--foa-muted); }

/* ---- 5. Products ---- */
.foa-products { padding: clamp(3rem, 8vw, 6rem) 0 0; }
.foa-products__grid { margin: 2rem 0 2.5rem; text-align: left; }

/* ---- 6. Closing band ---- */
.foa-closing {
	margin-top: clamp(3rem, 8vw, 6rem);
	padding: clamp(3rem, 8vw, 5rem) 0;
	background: var(--foa-ink);
	color: #fff;
	text-align: center;
}
.foa-closing .foa-eyebrow { color: #d8a184; }
.foa-closing .foa-h2 { color: #fff; max-width: 18em; margin-left: auto; margin-right: auto; }
.foa-closing__copy { max-width: 38em; margin: 0 auto 2em; color: rgba(255, 255, 255, 0.82); }

/* ---- 7. Fine print ---- */
.foa-fine { padding: clamp(2rem, 5vw, 3.5rem) 0; }
.foa-fine p { font-size: 0.75em; line-height: 1.6; color: var(--foa-muted); text-align: center; margin: 0; }

@media screen and (min-width: 750px) {
	.foa-stats__grid { grid-template-columns: repeat(4, 1fr); }
	.foa-rooms__grid { grid-template-columns: repeat(3, 1fr); }
	.foa-pillars__grid { grid-template-columns: repeat(3, 1fr); }
}

@media screen and (min-width: 1024px) {
}

@media (prefers-reduced-motion: reduce) {
	.foa-room img, .foa-btn { transition: none; }
	.foa-room:hover img, .foa-room:focus-visible img { transform: none; }
}

/* =====================================================================
 * Coaster Fine Furniture — brand landing page (page.handle == "coaster-furniture").
 * Original layout (no vendor kit supplied).
 * Scoped to `.coaster`, every class `coa-` prefixed.
 * ===================================================================== */
.coaster {
	--coa-ink: #17181a;
	--coa-muted: #6b6e73;
	--coa-brass: #a67c3d;
	--coa-mist: #f2f1ef;
	--coa-line: #e3e1de;
	font-size: clamp(15px, 0.55vw + 13px, 18px);
	line-height: 1.6;
	color: var(--coa-ink);
	background: #fff;
	overflow-x: hidden;
}
.coaster * { box-sizing: border-box; }
.coaster img { display: block; max-width: 100%; }
.coaster p { margin: 0 0 1em; }
.coaster p:last-child { margin-bottom: 0; }

.coa-wrap { width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 clamp(1rem, 4vw, 3rem); }
.coa-tac { text-align: center; }

/* ---- Typography ---- */
.coa-eyebrow {
	margin: 0 0 0.7em;
	font-size: 0.75em;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--coa-brass);
}
.coa-tac.coa-eyebrow { text-align: center; }
.coa-h2 {
	font-family: inherit;
	font-weight: 600;
	font-size: clamp(1.55rem, 3.1vw, 2.6rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
	margin: 0 0 0.6em;
}
.coa-lede { max-width: 44em; margin: 0 auto 3em; text-align: center; color: var(--coa-muted); }

/* ---- Button ---- */
.coa-btn {
	display: inline-block;
	padding: 0.85em 2em;
	border: 1px solid var(--coa-ink);
	border-radius: 999px;
	background: var(--coa-ink);
	color: #fff;
	font-size: 0.82em;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.coa-btn:hover, .coa-btn:focus-visible { background: var(--coa-brass); border-color: var(--coa-brass); color: #fff; }
.coa-btn--light { background: #fff; border-color: #fff; color: var(--coa-ink); }
.coa-btn--light:hover, .coa-btn--light:focus-visible { background: var(--coa-brass); border-color: var(--coa-brass); color: #fff; }

/* ---- 1. Hero ---- */
.coa-hero { position: relative; display: flex; align-items: center; min-height: min(80vh, 660px); color: #fff; }
.coa-hero__bg { position: absolute; inset: 0; }
.coa-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.coa-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(12, 13, 14, 0.82) 0%, rgba(12, 13, 14, 0.5) 55%, rgba(12, 13, 14, 0.15) 100%);
}
.coa-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: clamp(3rem, 9vw, 6rem) clamp(1rem, 4vw, 3rem);
}
.coa-hero__logo { width: clamp(140px, 18vw, 240px); height: auto; margin-bottom: 1.75rem; }
.coa-hero__title {
	font-weight: 600;
	font-size: clamp(2rem, 5.2vw, 3.6rem);
	line-height: 1.06;
	letter-spacing: -0.03em;
	margin: 0 0 0.55em;
	color: #fff;
}
.coa-hero__copy { max-width: 32em; margin-bottom: 2.2em; color: rgba(255, 255, 255, 0.88); }

/* ---- 2. Intro + stats ---- */
.coa-intro { padding: clamp(3rem, 8vw, 6rem) 0 0; }
.coa-intro__wrap { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.coa-intro__lede p { color: var(--coa-muted); }
.coa-intro__stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.coa-intro__stats li { padding-left: 1rem; border-left: 2px solid var(--coa-brass); }
.coa-stat__num {
	display: block;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}
.coa-stat__label { display: block; margin-top: 0.55em; font-size: 0.8em; line-height: 1.4; color: var(--coa-muted); }

/* ---- 3. Rooms ---- */
.coa-rooms { padding: clamp(3rem, 8vw, 6rem) 0 0; }
.coa-rooms__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(0.75rem, 1.8vw, 1.25rem); margin-top: 2rem; }
.coa-room {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border-radius: 3px;
	background: var(--coa-mist);
	text-decoration: none;
}
.coa-room img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.coa-room::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12, 13, 14, 0) 50%, rgba(12, 13, 14, 0.78) 100%); }
.coa-room__label {
	position: absolute;
	z-index: 1;
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	color: #fff;
	font-weight: 600;
	font-size: clamp(0.95rem, 1.8vw, 1.15rem);
	letter-spacing: -0.01em;
}
.coa-room:hover img, .coa-room:focus-visible img { transform: scale(1.05); }

/* ---- 4. Lookbook mosaic ---- */
.coa-look { padding: clamp(3rem, 8vw, 6rem) 0 0; }
/* Mobile: a plain 2-up of mixed-height figures, so each hugs its own image. */
.coa-look__grid { display: grid; grid-template-columns: repeat(2, 1fr); align-items: start; gap: clamp(0.75rem, 1.8vw, 1.25rem); margin-top: 2rem; }
.coa-look__item { margin: 0; overflow: hidden; border-radius: 3px; }
.coa-look__item img { width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.coa-look__item--tall img { aspect-ratio: 3 / 4; }

/* ---- 5. Products ---- */
.coa-products { padding: clamp(3rem, 8vw, 6rem) 0 0; }
.coa-products__grid { margin: 2rem 0 2.5rem; text-align: left; }

/* ---- 6. Why Coaster ---- */
.coa-why { margin-top: clamp(3rem, 8vw, 6rem); padding: clamp(3rem, 8vw, 5rem) 0; background: var(--coa-mist); }
.coa-why__grid { display: grid; gap: clamp(2rem, 4vw, 3rem); margin-top: 2.5rem; }
.coa-why__num { display: block; font-size: 0.8em; font-weight: 700; letter-spacing: 0.2em; color: var(--coa-brass); margin-bottom: 0.9em; }
.coa-why__item h3 { font-size: 1.25em; font-weight: 600; letter-spacing: -0.01em; margin: 0 0 0.5em; }
.coa-why__item p { font-size: 0.92em; color: var(--coa-muted); }

/* ---- 7. Closing band ---- */
.coa-closing {
	padding: clamp(3rem, 8vw, 5rem) 0;
	background: var(--coa-ink);
	color: #fff;
	text-align: center;
}
.coa-closing .coa-eyebrow { color: #d4ae72; }
.coa-closing .coa-h2 { color: #fff; max-width: 20em; margin: 0 auto 1.2em; }

/* ---- 8. Fine print ---- */
.coa-fine { padding: clamp(2rem, 5vw, 3.5rem) 0; }
.coa-fine p { font-size: 0.75em; line-height: 1.6; color: var(--coa-muted); text-align: center; margin: 0; }

@media screen and (min-width: 750px) {
	.coa-intro__wrap { grid-template-columns: 1.15fr 1fr; }
	.coa-rooms__grid { grid-template-columns: repeat(3, 1fr); }
	/* tall | stacked pair | tall — placed explicitly so the middle column
	   fills both rows instead of leaving a hole under the short items. */
	.coa-look__grid { grid-template-columns: 1.15fr 1fr 1.15fr; grid-template-rows: repeat(2, clamp(170px, 18vw, 270px)); align-items: stretch; }
	.coa-look__item img { height: 100%; aspect-ratio: auto; }
	.coa-look__item:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
	.coa-look__item:nth-child(2) { grid-column: 2; grid-row: 1; }
	.coa-look__item:nth-child(3) { grid-column: 2; grid-row: 2; }
	.coa-look__item:nth-child(4) { grid-column: 3; grid-row: 1 / span 2; }
	.coa-why__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	.coa-room img, .coa-btn { transition: none; }
	.coa-room:hover img, .coa-room:focus-visible img { transform: none; }
}
