
.impbento {
	--bg1: #08060e;
	--bg2: #120a1e;
	--glow: #ff4d8d;
	--cellbg: #14101f;
	--cellbg2: #1b1330;
	--cellbd: #2a2440;
	--txt: #fff;
	--txt2: rgba( 255, 255, 255, 0.72 );
	--eye: #ff9ac0;
	--gap: 0.8rem;
	--rad: 16px;
	--rowh: 96px;
	--stagepad: 16px;
	--stagerad: 20px;
	--shadow: 0 22px 50px -20px rgba( 0, 0, 0, 0.7 );
	--sheen: rgba( 255, 255, 255, 0.14 );
	--sheenblend: soft-light;
	--ease: cubic-bezier( 0.2, 0.8, 0.2, 1 );
	--tilt: 5;
	--bend: 4;
	--lift: 8;
	position: relative;
	container-type: inline-size;
}

.impbento__stage {
	position: relative;
	overflow: hidden;
	padding: var( --stagepad );
	border: 1px solid var( --cellbd );
	border-radius: var( --stagerad );
	background:
		radial-gradient( 120% 120% at 50% -10%, color-mix( in srgb, var( --glow ) 12%, transparent ), transparent 62% ),
		linear-gradient( 150deg, var( --bg1 ), var( --bg2 ) );
}

.impbento__bgcanvas {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.impbento__plane {
	position: relative;
	z-index: 1;
	transform-style: preserve-3d;
	transition: transform 0.25s ease;
	will-change: transform;
}

.impbento__echo {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.impbento__grid {
	position: relative;
	z-index: 1;
	display: grid;
	--cols: var( --cols-set, 4 );
	grid-template-columns: repeat( var( --cols ), 1fr );
	grid-auto-rows: minmax( var( --rowh ), calc( ( 100cqw - ( var( --cols ) - 1 ) * var( --gap-override, var( --gap ) ) ) / var( --cols ) * var( --rowratio, 0.78 ) ) );
	gap: var( --gap-override, var( --gap ) );
	transform-style: preserve-3d;
	transition: gap 0.35s var( --ease );
}

.impbento { --imp-fx: 0.28; }
.impbento[ data-imp-fx="off" ] { --imp-fx: 0; }
.impbento[ data-imp-fx="subtle" ] { --imp-fx: 0.28; }
.impbento[ data-imp-fx="balanced" ] { --imp-fx: 0.7; }
.impbento[ data-imp-fx="bold" ] { --imp-fx: 1.3; }

.impbento { --imp-lag: 1; }
.impbento[ data-imp-fx="subtle" ] { --imp-lag: 2; }
.impbento[ data-imp-fx="balanced" ] { --imp-lag: 1.25; }
.impbento[ data-imp-fx="bold" ] { --imp-lag: 0.85; }
.impbento[ data-imp-pace="calm" ] { --imp-lag: 2.2; }
.impbento[ data-imp-pace="natural" ] { --imp-lag: 1; }
.impbento[ data-imp-pace="lively" ] { --imp-lag: 0.6; }

.impbento[ data-imp-fx="off" ] .impbento__spot,
.impbento[ data-imp-fx="off" ] .impbento__sheen {
	display: none;
}

.impbento__spot {
	position: absolute;
	inset: 0;
	z-index: 2;
	opacity: 0;
	pointer-events: none;
	transition: opacity calc( 0.3s * var( --imp-lag, 1 ) ) ease;
	background: radial-gradient( 260px circle at var( --sx, 50% ) var( --sy, 50% ), color-mix( in srgb, var( --glow ) calc( 20% * var( --imp-fx ) ), transparent ), transparent 68% );
}

.impbento__cell {
	position: relative;
	overflow: hidden;
	border: 1px solid var( --cellbd );
	border-radius: var( --rad );
	background: var( --cellbg );
	box-shadow: var( --shadow );
	transform-style: preserve-3d;
	transition: transform 0.2s var( --ease ), box-shadow 0.25s ease, border-color 0.25s ease;
	will-change: transform;
	--mx: 50%;
	--my: 50%;
}

.impbento[ data-imp-theme="glass" ] .impbento__cell {
	backdrop-filter: blur( var( --blur, 14px ) ) saturate( 1.3 );
	-webkit-backdrop-filter: blur( var( --blur, 14px ) ) saturate( 1.3 );
	box-shadow: var( --shadow ), inset 0 1px 0 rgba( 255, 255, 255, 0.35 );
}

.impbento__sheen {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: 0;
	pointer-events: none;
	mix-blend-mode: var( --sheenblend, soft-light );
	transition: opacity calc( 0.6s * var( --imp-lag, 1 ) ) ease;
	background: radial-gradient( 240px circle at var( --mx ) var( --my ), var( --sheen ), transparent 64% );
}

.impbento__cell.is-cursor .impbento__sheen {
	opacity: var( --imp-fx );
}

.impbento__inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 0.12rem;
	height: 100%;
	padding: 1rem;
}

.impbento__inner--onimg {
	background: linear-gradient( to top, rgba( 4, 3, 9, 0.82 ) 0%, rgba( 4, 3, 9, 0.32 ) 42%, transparent 72% );
}

.impbento__inner--cta {
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}

.impbento__cell--living .impbento__inner,
.impbento__cell--pulse .impbento__inner {
	justify-content: center;
	gap: 0.3rem;
}

.impbento__cell--quote .impbento__inner,
.impbento__cell--blurin .impbento__inner,
.impbento__cell--type .impbento__inner,
.impbento__cell--stat .impbento__inner,
.impbento__cell--count .impbento__inner,
.impbento__cell--price .impbento__inner,
.impbento__cell--logos .impbento__inner {
	justify-content: center;
}

.impbento__eyebrow {
	margin-bottom: 0.1rem;
	color: var( --eye );
	font-size: 0.58rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.impbento__k {
	color: var( --txt2 );
	font-size: 0.6rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.impbento__title {
	color: var( --txt );
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.01em;
}

.impbento__sub {
	margin-top: 0.15rem;
	color: var( --txt2 );
	font-size: 0.74rem;
}

.impbento__v {
	color: var( --txt );
	font-size: 1rem;
	font-weight: 700;
}

.impbento__big {
	color: var( --txt );
	font-size: 1.7rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
}

.impbento__quote {
	color: var( --txt );
	font-size: 1.02rem;
	font-weight: 600;
	line-height: 1.28;
}

.impbento[ data-imp-theme="cream" ] .impbento__quote {
	font-style: italic;
}

.impbento__arrow {
	color: var( --glow );
	font-weight: 700;
	transition: transform 0.2s ease;
}

.impbento__cell--text:hover .impbento__arrow,
.impbento__inner--ctarich:hover .impbento__arrow {
	transform: translateX( 4px );
}

.impbento__cell--text {
	background: var( --ctabg, var( --cellbg ) );
}

.impbento__cell--stat,
.impbento__cell--count,
.impbento__cell--quote,
.impbento__cell--marquee,
.impbento__cell--pulse {
	background: var( --cellbg2, var( --cellbg ) );
}

.impbento__badge {
	position: absolute;
	bottom: 0.7rem;
	left: 1rem;
	z-index: 3;
	padding: 0.16rem 0.5rem;
	border: 1px solid rgba( 255, 255, 255, 0.3 );
	border-radius: 999px;
	background: rgba( 4, 3, 9, 0.4 );
	color: #fff;
	font-size: 0.56rem;
	backdrop-filter: blur( 4px );
}

.impbento__img {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.impbento[ data-imp-theme="glass" ] .impbento__img {
	opacity: 0.92;
}

@media ( prefers-reduced-motion: no-preference ) {
	.impbento__img--ken {
		animation: impbento-ken 26s ease-in-out infinite alternate;
	}
}

@keyframes impbento-ken {
	from { transform: scale( 1.04 ) translate3d( -1%, -1%, 0 ); }
	to { transform: scale( 1.14 ) translate3d( 1.5%, 1%, 0 ); }
}

.impbento__cell--photo.is-bound .impbento__eyebrow,
.impbento__cell--photo.is-bound .impbento__title {
	color: #fff;
}

.impbento__cell--photo.is-bound .impbento__k,
.impbento__cell--photo.is-bound .impbento__sub {
	color: rgba( 255, 255, 255, 0.82 );
}

.impbento__cell--photo:not( .is-bound ) .impbento__inner--onimg {
	background: none;
}

.impbento__empty {
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient( 135deg, color-mix( in srgb, var( --glow ) 12%, transparent ), transparent 60% ),
		var( --cellbg2, var( --cellbg ) );
}

.impbento__hint {
	position: absolute;
	inset: 0 0 auto 0;
	z-index: 3;
	display: block;
	padding: 0.85rem 0.9rem;
	color: var( --txt2 );
	font-size: 0.68rem;
	line-height: 1.35;
	text-align: center;
	pointer-events: none;
	text-shadow: 0 1px 2px var( --cellbg );
}

.impbento__notice {
	margin: 0 0 0.6rem;
	padding: 0.6rem 0.8rem;
	border-left: 3px solid #d98324;
	border-radius: 6px;
	background: rgba( 217, 131, 36, 0.1 );
	font-size: 0.85rem;
}

.impbento__gl {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.impbento__cell--living .impbento__v,
.impbento__cell--living .impbento__eyebrow {
	color: #fff;
	text-shadow: 0 1px 6px rgba( 0, 0, 0, 0.3 );
}

.impbento[ data-imp-light="1" ] .impbento__cell--living .impbento__v,
.impbento[ data-imp-light="1" ] .impbento__cell--living .impbento__eyebrow,
.impbento[ data-imp-pale="1" ] .impbento__cell--living .impbento__v,
.impbento[ data-imp-pale="1" ] .impbento__cell--living .impbento__eyebrow {
	color: var( --txt );
	text-shadow: none;
}

.impbento__marqwrap {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	height: 100%;
	overflow: hidden;
	mask-image: linear-gradient( 90deg, transparent, #000 8%, #000 92%, transparent );
	-webkit-mask-image: linear-gradient( 90deg, transparent, #000 8%, #000 92%, transparent );
}

.impbento__marq {
	display: flex;
	white-space: nowrap;
	will-change: transform;
}

.impbento__marq span {
	padding-right: 1rem;
	color: var( --txt );
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.16em;
}

.impbento__avs {
	display: flex;
}

.impbento__av {
	width: 38px;
	height: 38px;
	margin-left: -12px;
	border: 2px solid var( --cellbg );
	border-radius: 50%;
	background-color: var( --cellbg2, var( --cellbg ) );
	background-image: conic-gradient( from calc( var( --i ) * 72deg ), var( --glow ), color-mix( in srgb, var( --glow ) 20%, var( --cellbg2, var( --cellbg ) ) ) );
	background-position: center;
	box-shadow: 0 2px 8px -3px rgba( 0, 0, 0, 0.5 );
}

.impbento__av:first-child {
	margin-left: 0;
}

.impbento__spark {
	display: block;
	width: 100%;
	height: 34px;
}

.impbento__pulsetop {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.impbento__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #2fd08a;
}

@media ( prefers-reduced-motion: no-preference ) {
	.impbento__dot {
		animation: impbento-pulse 1.8s ease-out infinite;
	}
}

@keyframes impbento-pulse {
	0% { box-shadow: 0 0 0 0 rgba( 47, 208, 138, 0.6 ); }
	70% { box-shadow: 0 0 0 8px rgba( 47, 208, 138, 0 ); }
	100% { box-shadow: 0 0 0 0 rgba( 47, 208, 138, 0 ); }
}

.impbento__typed {
	color: var( --txt );
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.3;
}

.impbento__caret {
	display: inline-block;
	width: 2px;
	height: 1em;
	margin-left: 1px;
	background: var( --glow );
	vertical-align: text-bottom;
}

@media ( prefers-reduced-motion: no-preference ) {
	.impbento__caret {
		animation: impbento-caret 1s steps( 1 ) infinite;
	}
}

.impbento__typed.is-done .impbento__caret {
	opacity: 0;
	animation: none;
}

@keyframes impbento-caret {
	50% { opacity: 0; }
}

.impbento__blurin {
	color: var( --txt );
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
}

.impbento__word {
	display: inline-block;
}

.impbento__blurin.is-armed .impbento__word {
	opacity: 0;
	filter: blur( 8px );
	transform: translateY( 6px );
}

.impbento__blurin.is-armed.is-in .impbento__word {
	animation: impbento-word 0.6s var( --ease ) forwards;
	animation-delay: calc( var( --wi ) * 0.06s );
}

@keyframes impbento-word {
	to {
		opacity: 1;
		filter: blur( 0 );
		transform: none;
	}
}

.impbento__inner--ring {
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.7rem;
}

.impbento__ring {
	flex: none;
	width: 62px;
	height: 62px;
	transform: rotate( -90deg );
}

.impbento__ringbg {
	fill: none;
	stroke: color-mix( in srgb, var( --txt ) 12%, transparent );
	stroke-width: 6;
}

.impbento__ringfg {
	fill: none;
	stroke: var( --glow );
	stroke-width: 6;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.1s linear;
}

.impbento__ringtxt {
	fill: var( --txt );
	font-size: 20px;
	font-weight: 800;
	text-anchor: middle;
	transform: rotate( 90deg );
	transform-origin: 40px 40px;
}

.impbento__ringmeta {
	display: flex;
	flex-direction: column;
}

.impbento__graph {
	display: flex;
	align-items: flex-end;
	gap: 3px;
	height: 100%;
	min-height: 42px;
	margin-top: auto;
}

.impbento__gbar {
	flex: 1;
	height: 0;
	min-height: 2px;
	border-radius: 3px 3px 0 0;
	background: linear-gradient( to top, var( --glow ), color-mix( in srgb, var( --glow ) 40%, transparent ) );
	transition: height 0.6s var( --ease );
}

.impbento__graph--area .impbento__gbar {
	border-radius: 2px;
	background: linear-gradient( to top, color-mix( in srgb, var( --glow ) 85%, transparent ), color-mix( in srgb, var( --glow ) 25%, transparent ) );
}

.impbento__cell--flip {
	perspective: 900px;
}

.impbento__flip {
	position: absolute;
	inset: 0;
	z-index: 2;
	cursor: pointer;
}

.impbento__flipinner {
	position: absolute;
	inset: 0;
	transform-style: preserve-3d;
	transition: transform 0.6s cubic-bezier( 0.5, 0.05, 0.2, 1 );
}

.impbento__flip.is-flipped .impbento__flipinner {
	transform: rotateY( 180deg );
}

.impbento__flipface {
	position: absolute;
	inset: 0;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.impbento__flipback {
	border-radius: inherit;
	background: var( --cellbg2, var( --cellbg ) );
	transform: rotateY( 180deg );
}

.impbento__flipcue {
	position: absolute;
	top: 0.6rem;
	right: 0.7rem;
	color: var( --glow );
	font-size: 0.8rem;
	opacity: 0.6;
}

.impbento__flip:hover .impbento__flipcue {
	opacity: 1;
}

.impbento__inner--like {
	align-items: stretch;
	justify-content: space-between;
	gap: 0.15rem;
	cursor: pointer;
}

.impbento__liketop {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.impbento__heart {
	color: color-mix( in srgb, var( --txt ) 30%, transparent );
	font-size: 1.15rem;
	line-height: 1;
	transition: transform 0.2s, color 0.2s;
}

.impbento__inner--like:hover .impbento__heart {
	transform: scale( 1.12 );
}

.impbento__inner--like.is-liked .impbento__heart {
	color: #ff3d6f;
}

.impbento__inner--like .impbento__big {
	font-size: 1.35rem;
}

.impbento__likemeta {
	display: flex;
	flex-direction: column;
}

.impbento__heartburst {
	position: absolute;
	bottom: 1.6rem;
	left: 1rem;
	color: #ff3d6f;
	font-size: 1.2rem;
	pointer-events: none;
	animation: impbento-burst 0.7s ease-out forwards;
}

@keyframes impbento-burst {
	to {
		opacity: 0;
		transform: translateY( -40px ) scale( 1.6 );
	}
}

.impbento__inner--ctarich {
	justify-content: center;
	gap: 0.1rem;
}

.impbento__inner--ctarich .impbento__eyebrow,
.impbento__inner--ctarich .impbento__sub,
.impbento__inner--ctarich .impbento__ctago {
	line-height: 1.25;
}

.impbento__cell[ data-row="1" ] .impbento__inner--ctarich .impbento__sub {
	display: none;
}

.impbento__ctatitle {
	color: var( --txt );
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: -0.01em;
}

.impbento__ctago {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 0.3rem;
	color: var( --glow );
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.impbento__player {
	justify-content: center;
	gap: 0.5rem;
}

.impbento__playrow {
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.impbento__playbtn {
	display: grid;
	flex: none;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: var( --glow );
	cursor: pointer;
	transition: transform 0.15s;
}

.impbento__playbtn:hover {
	transform: scale( 1.08 );
}

.impbento__playicon {
	width: 0;
	height: 0;
	margin-left: 3px;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 11px solid #fff;
	transition: all 0.15s;
}

.impbento__player.is-playing .impbento__playicon {
	width: 10px;
	height: 12px;
	margin-left: 0;
	border: 0;
	border-right: 3.5px solid #fff;
	border-left: 3.5px solid #fff;
}

.impbento__playmeta {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.impbento__playmeta .impbento__v {
	overflow: hidden;
	font-size: 0.9rem;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.impbento__eq {
	display: flex;
	align-items: flex-end;
	gap: 2px;
	height: 16px;
	opacity: 0.35;
	transition: opacity 0.2s;
}

.impbento__player.is-playing .impbento__eq {
	opacity: 1;
}

.impbento__eq i {
	width: 3px;
	height: 40%;
	border-radius: 2px;
	background: var( --glow );
}

@media ( prefers-reduced-motion: no-preference ) {
	.impbento__player.is-playing .impbento__eq i {
		animation: impbento-eq 0.8s ease-in-out infinite;
	}
}

.impbento__eq i:nth-child( 2 ) { animation-delay: 0.12s; }
.impbento__eq i:nth-child( 3 ) { animation-delay: 0.24s; }
.impbento__eq i:nth-child( 4 ) { animation-delay: 0.36s; }

@keyframes impbento-eq {
	0%, 100% { height: 30%; }
	50% { height: 100%; }
}

.impbento__progress {
	display: block;
	width: 100%;
	height: 3px;
	overflow: hidden;
	border-radius: 999px;
	background: color-mix( in srgb, var( --txt ) 14%, transparent );
}

.impbento__progress span {
	display: block;
	width: 0;
	height: 100%;
	background: var( --glow );
}

.impbento__switch {
	align-self: flex-start;
	width: 42px;
	height: 24px;
	padding: 0;
	border: 1px solid var( --cellbd );
	border-radius: 999px;
	background: color-mix( in srgb, var( --txt ) 12%, transparent );
	cursor: pointer;
	transition: background 0.2s ease;
}

.impbento__switch.is-on {
	background: var( --glow );
}

.impbento__knob {
	display: block;
	width: 18px;
	height: 18px;
	margin-left: 2px;
	border-radius: 50%;
	background: #fff;
	transition: transform 0.2s var( --ease );
}

.impbento__switch.is-on .impbento__knob {
	transform: translateX( 18px );
}

.impbento__inner--clock {
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.6rem;
	cursor: pointer;
}

.impbento__clockface {
	flex: none;
	width: 54px;
	height: 54px;
}

.impbento__clockmeta {
	display: flex;
	flex-direction: column;
}

.impbento__inner--weather {
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.6rem;
}

.impbento__wicon {
	font-size: 1.7rem;
	line-height: 1;
}

.impbento__wmeta {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.impbento__wmeta .impbento__big {
	font-size: 1.4rem;
}

.impbento__wmeta .impbento__v {
	font-size: 0.82rem;
	font-weight: 600;
}

.impbento__inner--ticker {
	justify-content: space-between;
}

.impbento__tickertop {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.impbento__delta {
	padding: 0.1rem 0.4rem;
	border-radius: 999px;
	background: color-mix( in srgb, var( --txt ) 10%, transparent );
	font-size: 0.6rem;
	font-weight: 700;
}

.impbento__inner--ticker.is-up .impbento__delta,
.impbento__cell--ticker .is-up .impbento__delta {
	color: #2fd08a;
}

.impbento__inner--ticker.is-down .impbento__delta {
	color: #ff5c7a;
}

.impbento__inner--ticker .impbento__big {
	font-size: 1.4rem;
}

.impbento__tickerline {
	display: block;
	width: 100%;
	height: 26px;
}

.impbento__video,
.impbento__frame {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
	background: #000;
}

.impbento__videoposter {
	position: absolute;
	inset: 0;
	z-index: 3;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.impbento__cell--video .impbento__inner--onimg {
	pointer-events: none;
}

.impbento__cell--video .impbento__inner--onimg a {
	pointer-events: auto;
}

.impbento__play {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: rgba( 8, 6, 14, 0.55 );
	box-shadow: 0 6px 24px -6px rgba( 0, 0, 0, 0.6 ), inset 0 0 0 1px rgba( 255, 255, 255, 0.5 );
	backdrop-filter: blur( 6px );
	transform: translate( -50%, -50% );
	transition: transform 0.2s var( --ease ), background 0.2s ease;
}

.impbento__play::before {
	content: "";
	width: 0;
	height: 0;
	margin-left: 4px;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
	border-left: 15px solid #fff;
}

.impbento__videoposter:hover .impbento__play {
	background: var( --glow );
	transform: translate( -50%, -50% ) scale( 1.08 );
}

.impbento__videoposter:focus-visible {
	outline: 3px solid var( --glow );
	outline-offset: -3px;
}

.impbento__cell--price {
	background: var( --cellbg2, var( --cellbg ) );
}

.impbento__inner--price {
	justify-content: center;
}

.impbento__pricerow {
	display: flex;
	align-items: baseline;
	gap: 0.3rem;
}

.impbento__period {
	color: var( --txt2 );
	font-size: 0.7rem;
}

.impbento__inner--logos {
	justify-content: center;
}

.impbento__logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.7rem;
}

.impbento__logo {
	color: var( --txt );
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	opacity: 0.72;
	white-space: nowrap;
}

.impbento[ data-imp-bleed="wide" ],
.impbento[ data-imp-bleed="bleed" ] {
	margin-left: calc( 50% - 50vw );
	margin-right: calc( 50% - 50vw );
	width: auto;
}

.impbento[ data-imp-bleed="wide" ] .impbento__stage {
	border-right: 0;
	border-left: 0;
	border-radius: 0;
	padding: max( var( --stagepad ), 3.5rem ) max( var( --stagepad ), 4vw );
}

.impbento[ data-imp-bleed="bleed" ] .impbento__stage {
	border: 0;
	border-radius: 0;
	padding: max( var( --stagepad ), 4.5rem ) 0;
}

.impbento[ data-imp-bleed="bleed" ] .impbento__plane {
	max-width: var( --imp-content, 1180px );
	margin: 0 auto;
	padding: 0 max( var( --stagepad ), 4vw );
}

.impbento[ data-imp-bleed="bleed" ] .impbento__stage::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient( to bottom, var( --imp-page, transparent ), transparent 12% ),
		linear-gradient( to top, var( --imp-page, transparent ), transparent 12% );
}

.impbento__cell {
	grid-column: span var( --c );
	grid-row: span var( --r );
}

.impbento__cell {
	--imp-auto-c: 2;
}

.impbento__cell[ data-col="1" ] {
	--imp-auto-c: 1;
}

@container ( max-width: 900px ) {
	.impbento__grid {
		--cols: 3;
	}

	.impbento__cell {
		grid-column: span var( --c-md, var( --c ) );
		grid-row: span var( --r-md, var( --r ) );
		order: var( --o-md, 0 );
	}
}

@container ( max-width: 640px ) {
	.impbento__grid {
		--cols: 2;
	}

	.impbento__cell {
		grid-column: span var( --c-sm, var( --c-md, var( --imp-auto-c ) ) );
		grid-row: span var( --r-sm, var( --r-md, var( --r ) ) );
		order: var( --o-sm, var( --o-md, 0 ) );
	}

	.impbento__cell[ data-col="3" ],
	.impbento__cell[ data-col="4" ],
	.impbento__cell[ data-col="5" ],
	.impbento__cell[ data-col="6" ] {
		min-height: calc( var( --rowh ) * 1.6 );
	}

	.impbento__spot {
		display: none;
	}

	.impbento__plane {
		transform: none !important;
	}
}

@media ( max-width: 900px ) {
	.impbento__grid {
		--cols: 3;
	}

	.impbento__cell {
		grid-column: span var( --c-md, var( --c ) );
		grid-row: span var( --r-md, var( --r ) );
		order: var( --o-md, 0 );
	}
}

@media ( max-width: 640px ) {
	.impbento__grid {
		--cols: 2;
	}

	.impbento__cell {
		grid-column: span var( --c-sm, var( --c-md, var( --imp-auto-c ) ) );
		grid-row: span var( --r-sm, var( --r-md, var( --r ) ) );
		order: var( --o-sm, var( --o-md, 0 ) );
	}

	.impbento__cell[ data-col="3" ],
	.impbento__cell[ data-col="4" ],
	.impbento__cell[ data-col="5" ],
	.impbento__cell[ data-col="6" ] {
		min-height: calc( var( --rowh ) * 1.6 );
	}

	.impbento__spot {
		display: none;
	}

	.impbento__plane {
		transform: none !important;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.impbento__cell,
	.impbento__plane,
	.impbento__img {
		transition: none !important;
		transform: none !important;
	}

	.impbento__spot {
		display: none;
	}

	.impbento__word {
		opacity: 1;
		filter: none;
		transform: none;
	}
}

.impbento__inner--slot {
	justify-content: center;
	gap: 0.45rem;
	text-align: center;
}

.impbento__slotglyph {
	font-size: 1.7rem;
	line-height: 1;
	opacity: 0.55;
}

.impbento__slotlink {
	align-self: center;
	padding: 0.24rem 0.7rem;
	border: 1px solid var( --cellbd );
	border-radius: 999px;
	color: var( --txt2 );
	font-size: 0.72rem;
	text-decoration: none;
	transition: border-color 0.2s var( --ease ), color 0.2s var( --ease );
}

.impbento__slotlink:hover,
.impbento__slotlink:focus-visible {
	border-color: var( --glow );
	color: var( --txt );
}

.impbento__link {
	position: absolute;
	inset: 0;
	z-index: 4;
	border-radius: inherit;
}

.impbento__link:focus-visible {
	outline: 3px solid var( --glow );
	outline-offset: -3px;
}

.impbento__cell--video .impbento__link,
.impbento__cell--flip .impbento__link,
.impbento__cell--toggle .impbento__link,
.impbento__cell--like .impbento__link,
.impbento__cell--player .impbento__link,
.impbento__cell--clock .impbento__link {
	z-index: 1;
}

.impbento__cell:has( .impbento__link ) {
	cursor: pointer;
}

.impbento__cell:has( .impbento__link:hover ) .impbento__arrow,
.impbento__cell:has( .impbento__link:focus-visible ) .impbento__arrow {
	transform: translateX( 4px );
}

.impbento__inner--weather.is-offline .impbento__big,
.impbento__inner--weather.is-offline .impbento__v {
	opacity: 0.62;
}

.impbento__hint--inline {
	position: static;
	display: block;
	margin-top: 0.4rem;
	padding: 0;
	color: var( --txt2 );
	font-size: 0.62rem;
	line-height: 1.35;
	text-align: left;
}

.impbento__inner {
	min-width: 0;
	overflow: hidden;
}

.impbento__title,
.impbento__v,
.impbento__sub,
.impbento__k,
.impbento__eyebrow,
.impbento__big,
.impbento__ctatitle,
.impbento__logo,
.impbento__period {
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.impbento__title,
.impbento__v,
.impbento__ctatitle {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	line-clamp: 4;
	overflow: hidden;
}

.impbento__sub {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}

.impbento__eyebrow,
.impbento__k {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.impbento__big {
	overflow: hidden;
	font-size: clamp( 1rem, 11cqw, 1.7rem );
	text-overflow: ellipsis;
	white-space: nowrap;
}

.impbento__cell--quote .impbento__v {
	-webkit-line-clamp: 6;
	line-clamp: 6;
}

.impbento__cell[ data-row="2" ] .impbento__v,
.impbento__cell[ data-row="2" ] .impbento__title {
	-webkit-line-clamp: 8;
	line-clamp: 8;
}

.impbento__cell[ data-row="3" ] .impbento__v,
.impbento__cell[ data-row="4" ] .impbento__v {
	-webkit-line-clamp: 14;
	line-clamp: 14;
}

.impbento__logos {
	overflow: hidden;
	max-height: 100%;
}

.impbento__marqwrap {
	max-width: 100%;
	overflow: hidden;
}

.impbento__marq span {
	white-space: nowrap;
}

.impbento__ringmeta,
.impbento__clockmeta,
.impbento__wmeta,
.impbento__playmeta,
.impbento__likemeta,
.impbento__pulsetop,
.impbento__tickertop,
.impbento__pricerow,
.impbento__inner--like,
.impbento__inner--clock,
.impbento__inner--weather {
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}

.impbento__blurin {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	line-clamp: 5;
	overflow: hidden;
	max-width: 100%;
}

.impbento__word {
	overflow-wrap: anywhere;
}

.impbento__arrow {
	flex: none;
}

.impbento__inner--cta,
.impbento__inner--ctarich {
	min-width: 0;
}

.impbento__ctago {
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.impbento__badge {
	max-width: calc( 100% - 2rem );
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.impbento__inner--cta .impbento__v {
	min-width: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}

.impbento__blurin .impbento__word {
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.impbento__cell--quote .impbento__k {
	max-width: 100%;
}

.impbento__inner > * {
	min-height: 0;
	flex-shrink: 1;
}

.impbento__inner {
	justify-content: safe center;
}

.impbento__cell--photo .impbento__inner,
.impbento__cell--video .impbento__inner {
	justify-content: safe flex-end;
}

.impbento__inner > .impbento__title,
.impbento__inner > .impbento__v,
.impbento__inner > .impbento__sub,
.impbento__inner > .impbento__ctatitle {
	position: relative;
	overflow: hidden;
}

.impbento__inner > .impbento__title {
	max-height: calc( 1.08em * 4 );
}

.impbento__inner > .impbento__v {
	max-height: calc( 1.35em * 4 );
}

.impbento__inner > .impbento__sub {
	max-height: calc( 1.4em * 3 );
}

.impbento__cell--quote .impbento__inner > .impbento__v {
	max-height: calc( 1.35em * 6 );
}

.impbento__cell[ data-row="2" ] .impbento__inner > .impbento__v,
.impbento__cell[ data-row="3" ] .impbento__inner > .impbento__v,
.impbento__cell[ data-row="4" ] .impbento__inner > .impbento__v {
	max-height: calc( 1.35em * 10 );
}

.impbento__cell[ data-row="2" ] .impbento__inner > .impbento__title,
.impbento__cell[ data-row="3" ] .impbento__inner > .impbento__title,
.impbento__cell[ data-row="4" ] .impbento__inner > .impbento__title {
	max-height: calc( 1.08em * 8 );
}

