/* Redesigned Home (s418 pilot), front page only (functions.php: is_front_page()).
   Ported from the redesign canvas board design-system/redesign-canvas/project/Main.dc.html + home.css.
   The page is native Elementor widgets in containers carrying saf-h-* classes, written by
   scripts/oneshot/saf-redesign-home.php; the grids here are layouts Elementor free has no setting for.
   The kit out-specifies a single class ((0,1,1) on a, h1-h6; (0,2,1) on :hover), so classes are doubled and
   states sit higher (css-cascade-and-specificity.md sec. 3). Also styles [saf_events_upcoming layout="next" /
   "cards"] (sober-af-events), which only Home prints. */

/* ---- Bands and wrap ---------------------------------------------------- */
.saf-h-band.saf-h-band {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
	color: var(--saf-charcoal, #1c1710);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.saf-h-band.saf-h-hero-band {
	padding: clamp(3rem, 6vw, 5.5rem) 0;
}

.saf-h-band.saf-h-dark {
	background: var(--saf-charcoal, #1c1710);
	color: var(--saf-linen, #f5f1e7);
}

.saf-h-band.saf-h-alt {
	background: #ece6d6;
}

/* The gradient is a background-image, which Elementor's background lazy-load
   (`.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded)`, inline, !important)
   blanks until the band scrolls into view: the solid red under it keeps the
   linen text readable before that. */
.saf-h-band.saf-h-red-band {
	background: #be2727 linear-gradient(135deg, #be2727, #7b181a);
	color: var(--saf-linen, #f5f1e7);
}

.saf-h-wrap.saf-h-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 1232px;
	margin: 0 auto;
	padding: 0 max(16px, env(safe-area-inset-right, 0px)) 0 max(16px, env(safe-area-inset-left, 0px));
	gap: 40px;
}

.saf-h-tight .saf-h-wrap.saf-h-wrap {
	gap: 32px;
}

/* Widgets inside the page take no theme or Elementor spacing of their own: the containers' gaps place them. */
.saf-h-band.saf-h-band .elementor-widget {
	margin: 0;
}

.saf-h-band.saf-h-band p {
	margin: 0;
}

/* ---- Type --------------------------------------------------------------- */
.saf-h-band .elementor-widget-heading .elementor-heading-title,
.saf-h-band .elementor-widget-text-editor.elementor-widget-text-editor {
	font-family: inherit;
	color: inherit;
}

.saf-h-band .elementor-widget-heading .elementor-heading-title {
	text-wrap: balance;
}

.saf-h-eyebrow.saf-h-eyebrow .elementor-heading-title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--saf-denim, #004263);
}

.saf-h-dark .saf-h-eyebrow.saf-h-eyebrow .elementor-heading-title {
	color: var(--saf-goldenrod, #ebad2e);
}

.saf-h-h1.saf-h-h1 .elementor-heading-title {
	font-size: clamp(2.75rem, 7vw, 5.5rem);
	line-height: 1.02;
	letter-spacing: -0.02em;
	font-weight: 700;
}

.saf-h-h1 .saf-h-red {
	color: var(--saf-brick-red, #be2727);
}

.saf-h-h2.saf-h-h2 .elementor-heading-title {
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.05;
	font-weight: 700;
}

.saf-h-lede.saf-h-lede {
	font-size: 18px;
	line-height: 1.65;
}

.saf-h-dark .saf-h-lede.saf-h-lede {
	opacity: 0.92;
}

.saf-h-muted.saf-h-muted {
	color: #5a554e;
}

.saf-h-tight .saf-h-split .saf-h-lede.saf-h-muted {
	font-size: 17px;
}

/* ---- Layout grids ---------------------------------------------------------- */
.saf-h-hero.saf-h-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 56px;
	align-items: center;
}

.saf-h-hero__copy.saf-h-hero__copy {
	gap: 24px;
	min-width: 0;
}

.saf-h-hero__copy .saf-h-lede {
	max-width: 34rem;
}

.saf-h-hero__side.saf-h-hero__side {
	gap: 12px;
	min-width: 0;
}

.saf-h-split.saf-h-split,
.saf-h-split-wide.saf-h-split-wide {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 56px;
	align-items: center;
}

.saf-h-split-wide.saf-h-split-wide {
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	align-items: start;
}

.saf-h-split.saf-h-split--end {
	align-items: end;
}

.saf-h-stack.saf-h-stack {
	gap: 20px;
	min-width: 0;
}

.saf-h-intro.saf-h-intro {
	gap: 12px;
	max-width: 46rem;
}

.saf-h-cols-3.saf-h-cols-3 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.saf-h-cols-2.saf-h-cols-2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

/* A plain white card (the redesigned /host-an-event/ and /peer-training/ pages). */
.saf-h-card.saf-h-card {
	gap: 10px;
	padding: 28px;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(28, 23, 16, 0.06);
}

.saf-h-card__kicker.saf-h-card__kicker .elementor-heading-title {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--saf-brick-red, #be2727);
}

.saf-h-card__title.saf-h-card__title .elementor-heading-title {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--saf-charcoal, #1c1710);
}

.saf-h-card__line.saf-h-card__line {
	font-size: 16px;
	line-height: 1.6;
	color: #5a554e;
}

.saf-h-form.saf-h-form {
	max-width: 46rem;
}

/* The forms plugin centres its own wrapper (max-width 720px, margin auto): pinned left so the form lines up with
   its heading (measured 2026-10-29 at 1440: wrapper at x=353, heading at x=113). */
.saf-h-form.saf-h-form .saf-forms-form-wrap {
	max-width: 46rem;
	margin-left: 0;
	margin-right: 0;
}

.saf-h-title.saf-h-title {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
}

.saf-h-title.saf-h-title > .elementor-widget {
	width: auto;
}

/* ---- Hero: button, pay row, collage -------------------------------------- */
/* The canvas .saf-btn: brick red, linen, no underline. The kit gives Elementor
   buttons its accent (goldenrod) and every <a> an underline, so both are set
   here; states at (0,5,0) beat the kit's (0,2,1). */
.saf-h-cta.saf-h-cta .elementor-button {
	/* owner 2026-10-29: "Make a donation should be bigger" -- larger than the canvas .saf-btn */
	padding: 1.1rem 2.4rem;
	border: 2px solid var(--saf-brick-red, #be2727);
	border-radius: 8px;
	background: var(--saf-brick-red, #be2727);
	color: var(--saf-linen, #f5f1e7);
	font-family: inherit;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.saf-h-cta.saf-h-cta .elementor-button .elementor-button-text {
	text-decoration: none;
}

.saf-h-cta.saf-h-cta .elementor-button.elementor-button:hover,
.saf-h-cta.saf-h-cta .elementor-button.elementor-button:focus-visible {
	border-color: var(--saf-burgundy, #7b181a);
	background: var(--saf-burgundy, #7b181a);
	color: var(--saf-linen, #f5f1e7);
	text-decoration: none;
}

.saf-h-pay.saf-h-pay {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	font-size: 14px;
	color: #5a554e;
}

.saf-h-pay.saf-h-pay > .elementor-widget {
	width: auto;
	flex: none;
}

.saf-h-pay .saf-h-pay__label p {
	font-size: 14px;
	color: #5a554e;
}

.saf-h-pay .saf-h-pay__logo img {
	display: block;
	width: auto;
	height: 20px;
}

.saf-h-collage.saf-h-collage {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: 210px 210px;
	gap: 12px;
}

.saf-h-collage__tall.saf-h-collage__tall {
	grid-row: span 2;
}

.saf-h-collage.saf-h-collage > .elementor-widget {
	min-height: 0;
	height: 100%;
}

.saf-h-collage .saf-h-collage__img img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	border-radius: 8px;
}

/* ---- [saf_events_upcoming layout="next"]: the hero's "Next up" card -------- */
.saf-next.saf-next {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 18px;
	border-radius: 16px;
	background: var(--saf-charcoal, #1c1710);
	color: var(--saf-linen, #f5f1e7);
	text-decoration: none;
}

.saf-next.saf-next.saf-next:hover,
.saf-next.saf-next.saf-next:focus-visible {
	color: var(--saf-linen, #f5f1e7);
	background: #2c251b;
	text-decoration: none;
}

.saf-next__date {
	display: flex;
	flex: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	height: 52px;
	border-radius: 8px;
	background: var(--saf-goldenrod, #ebad2e);
	color: var(--saf-charcoal, #1c1710);
	line-height: 1;
}

.saf-next__mon {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.saf-next__day {
	font-size: 22px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.saf-next__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.saf-next__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--saf-goldenrod, #ebad2e);
}

.saf-next__title {
	font-size: 17px;
	font-weight: 700;
}

.saf-next__meta {
	font-size: 14px;
	opacity: 0.85;
}

.saf-next__arrow {
	flex: none;
	margin-left: auto;
}

/* ---- Impact ----------------------------------------------------------------- */
.saf-h-stats.saf-h-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 12px;
}

.saf-h-stat.saf-h-stat {
	gap: 8px;
	padding-top: 16px;
	border-top: 2px solid var(--saf-goldenrod, #ebad2e);
}

/* [saf_impact_stat] carries no fallback number (owner 2026-10-29: the old fixed ones were wrong), so a failed
   read prints nothing: hide that stat instead of showing a label with no number. */
.saf-h-stat.saf-h-stat:has(.elementor-shortcode:empty) {
	display: none;
}

.saf-h-stat__n.saf-h-stat__n {
	font-size: clamp(2rem, 3.4vw, 2.75rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--saf-goldenrod, #ebad2e);
	font-variant-numeric: tabular-nums;
}

.saf-h-stat__label.saf-h-stat__label {
	font-size: 15px;
	opacity: 0.9;
}

.saf-h-photo.saf-h-photo img {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 16px;
}

/* ---- Join: the three ways in (each card is one link) --------------------- */
.saf-h-way.saf-h-way {
	gap: 16px;
	padding: 32px;
	border-radius: 16px;
	background: var(--saf-brick-red, #be2727);
	color: var(--saf-linen, #f5f1e7);
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.saf-h-way.saf-h-way.saf-h-way:hover,
.saf-h-way.saf-h-way.saf-h-way:focus-visible {
	color: var(--saf-linen, #f5f1e7);
	text-decoration: none;
	transform: translateY(-3px);
	box-shadow: 0 20px 48px rgba(28, 23, 16, 0.12);
}

.saf-h-way.saf-h-way.saf-h-way:focus-visible {
	outline: 3px solid var(--saf-denim, #004263);
	outline-offset: 2px;
}

.saf-h-way__icon.saf-h-way__icon {
	text-align: left;
}

.saf-h-way .saf-h-way__icon img {
	display: block;
	width: 56px;
	height: 56px;
}

.saf-h-way__title.saf-h-way__title .elementor-heading-title {
	font-size: 26px;
	line-height: 1.2;
	font-weight: 700;
}

.saf-h-way__line.saf-h-way__line {
	font-size: 16px;
	line-height: 1.5;
}

/* ---- Upcoming events: [saf_events_upcoming layout="cards"] ---------------- */
.saf-h-more.saf-h-more .elementor-heading-title {
	font-size: 16px;
	font-weight: 700;
}

.saf-h-more.saf-h-more .elementor-heading-title a {
	color: var(--saf-brick-red, #be2727);
	text-decoration: none;
	border-bottom: 2px solid transparent;
}

.saf-h-more.saf-h-more .elementor-heading-title a:hover,
.saf-h-more.saf-h-more .elementor-heading-title a:focus-visible {
	color: var(--saf-brick-red, #be2727);
	border-bottom-color: currentColor;
}

.saf-ecards {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.saf-ecards__item {
	display: flex;
	min-width: 0;
	margin: 0;
}

.saf-ecard.saf-ecard {
	display: grid;
	flex: 1;
	grid-template-columns: 180px minmax(0, 1fr);
	min-height: 180px;
	overflow: hidden;
	border-radius: 16px;
	background: #ffffff;
	color: var(--saf-charcoal, #1c1710);
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(28, 23, 16, 0.06);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.saf-ecard.saf-ecard.saf-ecard:hover,
.saf-ecard.saf-ecard.saf-ecard:focus-visible {
	color: var(--saf-charcoal, #1c1710);
	text-decoration: none;
	transform: translateY(-3px);
	box-shadow: 0 20px 48px rgba(28, 23, 16, 0.12);
}

.saf-ecard__poster {
	position: relative;
	display: block;
	background: var(--saf-charcoal, #1c1710);
}

/* Absolute, so a tall flyer fills the row the text sets instead of stretching it. */
.saf-ecard__poster img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.saf-ecard__fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	min-height: 160px;
	color: var(--saf-goldenrod, #ebad2e);
	font-size: 22px;
	font-weight: 700;
}

.saf-ecard__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	min-width: 0;
}

.saf-ecard__meta {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #5a554e;
}

.saf-ecard__title {
	font-size: 22px;
	line-height: 1.15;
	font-weight: 700;
}

.saf-ecard__where {
	font-size: 14px;
	color: #5a554e;
}

.saf-ecard__lanes {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.saf-ecard__lane {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 9999px;
	background: var(--saf-denim, #004263);
	color: var(--saf-linen, #f5f1e7);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.saf-ecards__empty {
	font-size: 17px;
	color: #5a554e;
}

/* ---- Testimonials: the saf_testimonial listing (first quote leads) -------- */
.saf-h-quotes .jet-listing-grid__items.jet-listing-grid__items {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: 28px 32px;
	align-items: start;
	margin: 0;
	width: auto;
}

.saf-h-quotes .jet-listing-grid__item.jet-listing-grid__item {
	width: auto;
	max-width: none;
	flex: none;
	padding: 0;
}

.saf-h-quotes .jet-listing-grid__item.jet-listing-grid__item:first-child {
	grid-row: span 2;
}

.saf-h-quote.saf-h-quote {
	gap: 12px;
	padding-top: 20px;
	border-top: 2px solid var(--saf-brick-red, #be2727);
}

.saf-h-quote__text.saf-h-quote__text {
	font-size: 17px;
	line-height: 1.55;
	color: var(--saf-charcoal, #1c1710);
}

.saf-h-quote__by.saf-h-quote__by {
	flex-direction: row;
	align-items: center;
	gap: 12px;
}

.saf-h-quote__by.saf-h-quote__by > .elementor-widget {
	width: auto;
	flex: none;
}

.saf-h-quote__name.saf-h-quote__name {
	font-size: 14px;
	font-weight: 600;
	color: #5a554e;
}

.saf-h-quote .saf-h-quote__mark img {
	display: block;
	width: 36px;
	height: 36px;
}

.saf-h-quotes .jet-listing-grid__item:not(:first-child) .saf-h-quote__mark {
	display: none;
}

.saf-h-quotes .jet-listing-grid__item:first-child .saf-h-quote.saf-h-quote {
	gap: 24px;
	padding: clamp(24px, 4vw, 48px);
	border-top: 0;
	border-radius: 16px;
	background: #ffffff;
}

/* The lead quote's mark (the canvas's SVG), drawn so the listing card stays one template. */
.saf-h-quotes .jet-listing-grid__item:first-child .saf-h-quote.saf-h-quote::before {
	content: "";
	display: block;
	width: 40px;
	height: 32px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 32'%3E%3Cpath fill='%23be2727' d='M0 32V19C0 8 6 1.5 16 0l1.6 4.6C11.8 6.3 9 10 8.8 15H16v17H0zm22 0V19C22 8 28 1.5 38 0l1.6 4.6C33.8 6.3 31 10 30.8 15H38v17H22z'/%3E%3C/svg%3E") no-repeat 0 0 / contain;
}

.saf-h-quotes .jet-listing-grid__item:first-child .saf-h-quote__text.saf-h-quote__text {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	line-height: 1.4;
	font-weight: 600;
}

/* ---- Get involved: five links ---------------------------------------------- */
.saf-h-links.saf-h-links .elementor-icon-list-items {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
}

.saf-h-links.saf-h-links.saf-h-links .elementor-icon-list-item.elementor-icon-list-item {
	margin: 0;
	padding: 0;
}

.saf-h-links.saf-h-links .elementor-icon-list-item > a {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	padding-top: 14px;
	border-top: 1px solid rgba(245, 241, 231, 0.4);
	color: var(--saf-linen, #f5f1e7);
	font-weight: 700;
	text-decoration: none;
}

.saf-h-links.saf-h-links .elementor-icon-list-item > a:hover,
.saf-h-links.saf-h-links .elementor-icon-list-item > a:focus-visible {
	color: var(--saf-linen, #f5f1e7);
	border-top-color: var(--saf-linen, #f5f1e7);
}

.saf-h-links .elementor-icon-list-text.elementor-icon-list-text {
	padding: 0;
	color: inherit;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
}

.saf-h-links.saf-h-links .elementor-icon-list-item > a::after {
	content: "\2192";
}

/* ---- Blog: the post listing card ------------------------------------------- */
/* Both grids zero JetEngine's -10px gutter margins, so they also take back its
   `width: calc(100% + 20px)` (frontend.css): left alone it spills 20px past the
   column, a 4px sideways scroll at 768 and 375. */
.saf-h-posts .jet-listing-grid__items.jet-listing-grid__items {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	width: auto;
}

.saf-h-posts .jet-listing-grid__item.jet-listing-grid__item {
	display: flex;
	width: auto;
	max-width: none;
	flex: none;
	padding: 0;
}

.saf-h-posts .jet-listing-grid__item > * {
	flex: 1;
}

.saf-h-post.saf-h-post {
	height: 100%;
	overflow: hidden;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(28, 23, 16, 0.04);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.saf-h-post.saf-h-post:hover {
	transform: translateY(-3px);
	box-shadow: 0 20px 48px rgba(28, 23, 16, 0.12);
}

.saf-h-post__img.saf-h-post__img img {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.saf-h-post__body.saf-h-post__body {
	flex: 1;
	gap: 12px;
	padding: 24px;
}

.saf-h-post__meta.saf-h-post__meta .elementor-heading-title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #5a554e;
}

.saf-h-post__title .jet-listing-dynamic-field__content.jet-listing-dynamic-field__content {
	margin: 0;
	font-family: inherit;
	font-size: 22px;
	line-height: 1.15;
	font-weight: 700;
	color: var(--saf-charcoal, #1c1710);
}

.saf-h-post__excerpt .jet-listing-dynamic-field__content.jet-listing-dynamic-field__content {
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
	color: #5a554e;
}

.saf-h-post__more.saf-h-post__more {
	margin-top: auto;
}

.saf-h-post__more .jet-listing-dynamic-link__link.jet-listing-dynamic-link__link {
	color: var(--saf-brick-red, #be2727);
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}

.saf-h-post__more .jet-listing-dynamic-link__link.jet-listing-dynamic-link__link:hover,
.saf-h-post__more .jet-listing-dynamic-link__link.jet-listing-dynamic-link__link:focus-visible {
	color: #7b181a;
	text-decoration: underline;
}

.saf-h-post__more .jet-listing-dynamic-link__link::after {
	content: " \2192";
}

/* ---- Tablet --------------------------------------------------------------- */
@media (max-width: 900px) {
	.saf-h-hero.saf-h-hero,
	.saf-h-split.saf-h-split,
	.saf-h-split-wide.saf-h-split-wide {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.saf-h-cols-3.saf-h-cols-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.saf-h-quotes .jet-listing-grid__items.jet-listing-grid__items {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.saf-h-quotes .jet-listing-grid__item.jet-listing-grid__item:first-child {
		grid-row: auto;
	}

	.saf-h-links.saf-h-links .elementor-icon-list-items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ---- Phone ----------------------------------------------------------------- */
@media (max-width: 600px) {
	.saf-h-band.saf-h-band,
	.saf-h-band.saf-h-hero-band {
		padding: 44px 0;
	}

	.saf-h-collage.saf-h-collage {
		grid-template-rows: 170px;
	}

	.saf-h-collage__tall.saf-h-collage__tall {
		grid-row: auto;
	}

	.saf-h-collage.saf-h-collage > .elementor-widget:nth-child(3) {
		display: none;
	}

	.saf-h-cols-3.saf-h-cols-3,
	.saf-h-cols-2.saf-h-cols-2,
	.saf-h-stats.saf-h-stats,
	.saf-h-posts .jet-listing-grid__items.jet-listing-grid__items,
	.saf-h-links.saf-h-links .elementor-icon-list-items {
		grid-template-columns: minmax(0, 1fr);
	}

	.saf-h-way.saf-h-way {
		display: grid;
		grid-template-columns: 44px minmax(0, 1fr);
		column-gap: 16px;
		row-gap: 6px;
		padding: 20px;
	}

	.saf-h-way__icon.saf-h-way__icon {
		grid-row: span 2;
	}

	.saf-h-way .saf-h-way__icon img {
		width: 44px;
		height: 44px;
	}

	.saf-h-way__title.saf-h-way__title .elementor-heading-title {
		font-size: 21px;
	}

	.saf-ecard.saf-ecard {
		grid-template-columns: 110px minmax(0, 1fr);
		min-height: 150px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.saf-h-way.saf-h-way,
	.saf-ecard.saf-ecard,
	.saf-h-post.saf-h-post {
		transition: none;
	}

	.saf-h-way.saf-h-way.saf-h-way:hover,
	.saf-h-way.saf-h-way.saf-h-way:focus-visible,
	.saf-ecard.saf-ecard.saf-ecard:hover,
	.saf-ecard.saf-ecard.saf-ecard:focus-visible,
	.saf-h-post.saf-h-post:hover {
		transform: none;
	}
}
