/* Home page (template "Home page"): sections printed by inc/home-sections.php. Loaded after program.css, which provides
 * the shared tokens (--fp-*), the booking bar and focus rings. Anuphan, the brand font, sets all home text.
 * Resets are scoped with :is(.entry-content, .is-root-container) so they outrank the Kadence content spacing in style.css
 * and still apply in the editor. Contrast of every text/ground pair was checked (docs/home-redesign/mockup-polish/contrast.py).
 * Scale: 14 / 15 / 16–17 body / 20 / 26–34 / 32–48. Sections: 56px phone, 96px from 768px. */

:root {
	--fh-wrap: min(1200px, 100% - 2 * var(--fp-edge));
	--fh-subtle: var(--global-palette8, #f7fafc);
	--fh-card-line: #e2e8f0;
	--fh-radius: 16px;
	--fh-shadow: 0 1px 2px rgba(26, 32, 44, 0.06), 0 8px 24px -12px rgba(26, 32, 44, 0.18);
	--fh-shadow-hover: 0 2px 4px rgba(26, 32, 44, 0.08), 0 18px 36px -16px rgba(26, 32, 44, 0.3);
	--fh-ease: 180ms cubic-bezier(0.2, 0, 0, 1);
	--fh-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
	--fh-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	--fh-route: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='3 11 22 2 13 21 11 13 3 11'/%3E%3C/svg%3E");
	--fh-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
}

/* ------------------------------------------------------------------
 * Resets, type and section rhythm
 * ---------------------------------------------------------------- */
:is(.entry-content, .is-root-container) > :is(.freesia-home-hero, .freesia-home-short, .freesia-home-section, .freesia-home-booking) { margin-block: 0; }
:is(.freesia-home-hero, .freesia-home-short, .freesia-home-section) :is(h1, h2, h3, p, ul, li, figure) { margin-block: 0; }
:is(.freesia-home-hero, .freesia-home-section) :is(.wp-block-group, .wp-block-image, .wp-block-list, .wp-block-buttons) { margin-block: 0; }
:is(.freesia-home-hero, .freesia-home-short, .freesia-home-section) { box-sizing: border-box; font-family: var(--fp-display); }
:is(.freesia-home-hero, .freesia-home-section) :is(h1, h2, h3, p, li) { font-family: var(--fp-display); }
:is(.freesia-home-hero, .freesia-home-short, .freesia-home-section) :is(a, button):focus-visible { outline: 3px solid var(--fp-blue); outline-offset: 3px; border-radius: 6px; }
.freesia-nw { display: inline-block; }

.freesia-home-section { padding-block: 56px; background: #fff; color: var(--fp-text); font-size: 16px; line-height: 1.75; }
.freesia-home-section.is-layout-constrained > :not(.alignfull) { box-sizing: border-box; width: var(--fh-wrap); max-width: none; margin-inline: auto !important; }
.freesia-home-section h2.wp-block-heading { color: var(--fp-brown); font-size: 26px; font-weight: 600; line-height: 1.4; text-wrap: balance; }
.freesia-home-section h3.wp-block-heading { font-weight: 600; text-wrap: balance; }
.freesia-home-section a:not(.wp-block-button__link) { color: inherit; text-decoration: none; transition: color var(--fh-ease); }

.freesia-home-head.wp-block-group { display: grid; justify-items: center; gap: 12px; max-width: 760px !important; text-align: center; }
.freesia-home-head .wp-block-image img { width: 56px; height: 56px; }
.freesia-home-head .freesia-home-intro { max-width: 62ch; color: var(--fp-muted); }

.freesia-home-section--approach, .freesia-home-section--articles, .freesia-home-section--visit { background: var(--fh-subtle); }

/* Checklists (program cards, doctor credentials) */
.freesia-home-section .wp-block-list.freesia-home-checks { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.freesia-home-checks li { position: relative; padding-left: 28px; }
.freesia-home-checks li::before {
	content: ""; position: absolute; left: 0; top: 0.4em; width: 16px; height: 16px; background: var(--fp-logo-blue);
	-webkit-mask: var(--fh-check) center / contain no-repeat; mask: var(--fh-check) center / contain no-repeat;
}

/* ------------------------------------------------------------------
 * 1 Hero: background video, still frame first, even scrim behind centred copy
 * ---------------------------------------------------------------- */
.wp-block-cover.freesia-home-hero { display: grid; align-items: center; min-height: 560px; padding: 0; background: #3b4552; color: #fff; }
.wp-block-cover.freesia-home-hero > .wp-block-cover__video-background { object-position: 50% 40%; }
.wp-block-cover.freesia-home-hero > .wp-block-cover__background.has-background-dim.has-background-dim-0 {
	opacity: 1; background: radial-gradient(ellipse 90% 75% at 50% 50%, rgba(15, 26, 38, 0.7) 0 55%, rgba(15, 26, 38, 0.56) 100%);
}
.wp-block-cover.freesia-home-hero > .wp-block-cover__inner-container { box-sizing: border-box; width: var(--fh-wrap); max-width: none; margin-inline: auto; padding-block: 72px; color: #fff; }
.freesia-home-hero__copy.wp-block-group { display: grid; justify-items: center; gap: 18px; text-align: center; }
.wp-block-cover.freesia-home-hero h1.freesia-home-hero__title { max-width: 22em; color: #fff; font-size: 32px; font-weight: 700; line-height: 1.4; text-transform: none; text-wrap: balance; }
.freesia-home-hero .freesia-home-hero__lead { max-width: 40em; color: #fff; font-size: 16px; line-height: 1.75; }
.wp-block-buttons.freesia-home-hero__actions { justify-content: center; margin-top: 10px; }
.wp-block-button.freesia-home-hero__button > .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 56px; padding: 0 32px;
	border-radius: 999px; background: var(--fp-blue); color: #fff; font-family: var(--fp-display); font-size: 17px; font-weight: 600; line-height: 1.3;
	text-decoration: none; transition: background-color var(--fh-ease);
}
.wp-block-button.freesia-home-hero__button > .wp-block-button__link:hover { background: var(--fp-blue-deep); color: #fff; }
.freesia-home-hero a:focus-visible { outline-color: #fff; }

/* ------------------------------------------------------------------
 * 2 Review Short: compact tap-to-play card
 * ---------------------------------------------------------------- */
.freesia-home-short.wp-block-group { padding-block: 40px; background: #fff; }
.freesia-home-short + .freesia-home-section { padding-top: 24px; }
.freesia-home-short__card, .freesia-home-short .wp-block-embed { box-sizing: border-box; width: 200px; max-width: 100%; margin: 0 auto !important; }
.freesia-home-short__play {
	position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 9 / 16; padding: 0; overflow: hidden;
	border: 0; border-radius: 20px; background: #2c3440; box-shadow: var(--fh-shadow); cursor: pointer; transition: box-shadow var(--fh-ease);
}
.freesia-home-short__play img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.freesia-home-short__icon {
	position: relative; display: block; width: 64px; height: 64px; border-radius: 50%; background: #fff;
	box-shadow: 0 6px 20px -6px rgba(0, 0, 0, 0.45); transition: transform var(--fh-ease);
}
.freesia-home-short__icon::after {
	content: ""; position: absolute; left: 50%; top: 50%; width: 0; height: 0; margin: -11px 0 0 -7px;
	border-style: solid; border-width: 11px 0 11px 19px; border-color: transparent transparent transparent #c4302b;
}
.freesia-home-short__play:hover { box-shadow: var(--fh-shadow-hover); }
.freesia-home-short__play:hover .freesia-home-short__icon { transform: scale(1.06); }
.freesia-home-short__player { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; border: 0; border-radius: 20px; background: #000; }
.freesia-home-short__link { display: block; margin-top: 8px; color: var(--fp-blue); text-align: center; }

/* ------------------------------------------------------------------
 * 3 Conditions
 * ---------------------------------------------------------------- */
.freesia-home-conds.wp-block-group { display: grid; gap: 8px; max-width: 960px !important; margin-top: 32px !important; }
.freesia-home-cond.wp-block-group { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; gap: 16px; padding: 10px; }
.freesia-home-cond .wp-block-image img { width: 88px; height: 88px; border-radius: 50%; }
.freesia-home-cond h3.wp-block-heading { color: var(--fp-text); font-size: 17px; line-height: 1.5; }

/* ------------------------------------------------------------------
 * 4 Approach: numbered steps (numbers drawn here, not in the text)
 * ---------------------------------------------------------------- */
.freesia-home-steps.wp-block-group { display: grid; gap: 32px; margin-top: 32px !important; counter-reset: freesia-step; }
.freesia-home-step.wp-block-group { display: grid; align-content: start; gap: 12px; counter-increment: freesia-step; }
.freesia-home-step .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.freesia-home-step p { font-size: 16px; line-height: 1.7; }
.freesia-home-step p::before {
	content: counter(freesia-step); display: grid; place-items: center; width: 32px; height: 32px; margin: 4px 0 12px; border-radius: 50%;
	box-shadow: inset 0 0 0 1.5px var(--fp-blue); color: var(--fp-blue); font-size: 15px; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums;
}
.freesia-home-step strong { color: var(--fp-ink); font-weight: 600; }

/* ------------------------------------------------------------------
 * 5 Programs: price cards, the whole card links to the program page
 * ---------------------------------------------------------------- */
.freesia-home-progs.wp-block-group { display: grid; gap: 20px; margin-top: 32px !important; }
.freesia-home-prog.wp-block-group {
	position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: var(--fh-radius); background: #fff;
	box-shadow: inset 0 0 0 1px var(--fh-card-line), var(--fh-shadow); transition: box-shadow var(--fh-ease);
}
.freesia-home-prog .freesia-home-prog__image img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.freesia-home-prog__body.wp-block-group { display: flex; flex: 1; flex-direction: column; padding: 20px 22px 22px; }
.freesia-home-prog h3.freesia-home-prog__title { color: var(--fp-ink); font-size: 20px; line-height: 1.4; }
.freesia-home-prog__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--fh-radius); }
.freesia-home-prog__title a:focus-visible { outline: none; }
.freesia-home-prog:has(.freesia-home-prog__title a:focus-visible) { outline: 3px solid var(--fp-blue); outline-offset: 3px; }
.freesia-home-prog .freesia-home-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; margin: 6px 0 14px; padding-bottom: 14px; border-bottom: 1px solid var(--fh-card-line); }
.freesia-home-price__from { color: var(--fp-muted); font-size: 15px; }
.freesia-home-price__num { color: var(--fp-blue); font-size: 30px; font-weight: 600; line-height: 1.25; font-variant-numeric: tabular-nums lining-nums; }
.freesia-home-price__unit { color: var(--fp-blue); font-size: 16px; font-weight: 500; }
.freesia-home-prog .freesia-home-checks { color: var(--fp-muted); font-size: 15px; line-height: 1.65; }
.freesia-home-section .freesia-home-more {
	margin-top: auto; padding-top: 16px; color: var(--fp-blue); font-size: 15px; font-weight: 600;
	text-decoration: underline; text-decoration-color: rgba(43, 108, 176, 0.35); text-decoration-thickness: 2px; text-underline-offset: 5px;
	transition: text-decoration-color var(--fh-ease);
}
.freesia-home-prog:hover { box-shadow: inset 0 0 0 1.5px var(--fp-blue), var(--fh-shadow-hover); }
.freesia-home-prog:hover .freesia-home-prog__title { color: var(--fp-blue); }
.freesia-home-prog:hover .freesia-home-more { text-decoration-color: currentColor; }

/* ------------------------------------------------------------------
 * 6 Fair pricing: photo above the text on phones, text on a scrim over the photo from 768px
 * ---------------------------------------------------------------- */
.wp-block-cover.freesia-home-fair { display: block; min-height: 0; padding: 0; background: #2e221c; color: #fff; }
.wp-block-cover.freesia-home-fair > .wp-block-cover__image-background { position: relative; display: block; height: auto; aspect-ratio: 16 / 9; object-position: 72% 50%; }
.wp-block-cover.freesia-home-fair > .wp-block-cover__inner-container { box-sizing: border-box; width: var(--fh-wrap); max-width: none; margin-inline: auto; padding-block: 36px 44px; color: #fff; }
.freesia-home-fair__copy.wp-block-group { display: grid; gap: 14px; margin-left: 0 !important; }
.wp-block-cover.freesia-home-fair h2.wp-block-heading { color: #fff; font-size: 26px; font-weight: 600; line-height: 1.4; }
.freesia-home-fair p { color: #fff; font-size: 16px; line-height: 1.75; }
.freesia-home-fair p.freesia-home-fair__note { margin-top: 6px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, 0.28); color: #e6ddd6; font-size: 15px; }

/* ------------------------------------------------------------------
 * 7 Equipment
 * ---------------------------------------------------------------- */
.freesia-home-devs.wp-block-group { display: grid; gap: 8px; margin-top: 32px !important; }
.freesia-home-dev.wp-block-group { position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: start; gap: 2px 16px; padding: 12px 8px; }
.freesia-home-dev .wp-block-image { grid-row: span 2; }
.freesia-home-dev .wp-block-image img { width: 96px; height: 96px; border-radius: 50%; transition: box-shadow var(--fh-ease); }
.freesia-home-dev h3.wp-block-heading { color: var(--fp-ink); font-size: 18px; line-height: 1.4; }
.freesia-home-dev h3 a::after { content: ""; position: absolute; inset: 0; border-radius: var(--fh-radius); }
.freesia-home-dev p { color: var(--fp-muted); font-size: 15px; line-height: 1.65; }
.freesia-home-dev:hover h3 a { color: var(--fp-blue); }
.freesia-home-dev:hover .wp-block-image img { box-shadow: 0 0 0 6px var(--fp-mist); }

/* ------------------------------------------------------------------
 * 8 Doctor: portrait beside a plain light panel
 * ---------------------------------------------------------------- */
.freesia-home-section.freesia-home-section--doctor { display: grid; padding: 0; background: var(--fp-mist); }
.freesia-home-doctor__photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 30% 30%; }
.freesia-home-doctor__body.wp-block-group { display: grid; align-content: center; gap: 8px; box-sizing: border-box; width: var(--fh-wrap); margin-inline: auto; padding-block: 36px 48px; }
.freesia-home-section--doctor h2.freesia-home-doctor__title { color: var(--fp-blue); font-size: 20px; line-height: 1.4; }
.freesia-home-section--doctor h3.freesia-home-doctor__name { color: var(--fp-ink); font-size: 26px; line-height: 1.4; text-wrap: pretty; }
.freesia-home-section--doctor .freesia-home-checks { gap: 10px; margin-top: 16px; padding-top: 20px; border-top: 1px solid #cddcea; }

/* ------------------------------------------------------------------
 * 9 Articles: the site's cards, excerpt across the card
 * ---------------------------------------------------------------- */
.freesia-home-articles.wp-block-query { margin-top: 32px !important; }
.freesia-home-articles .wp-block-post-template { gap: 24px; margin: 0; padding: 0; }
.freesia-home-articles .bloom-loop-card { display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: var(--fh-radius); background: #fff; box-shadow: var(--fh-shadow); transition: box-shadow var(--fh-ease); }
.freesia-home-articles .bloom-loop-card:hover { box-shadow: var(--fh-shadow-hover); }
.freesia-home-articles .wp-block-post-featured-image { margin: 0; }
.freesia-home-articles .wp-block-post-featured-image img { aspect-ratio: 16 / 10 !important; }
.freesia-home-articles .bloom-loop-card__body { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 20px 22px 24px; }
.freesia-home-articles .bloom-loop-card__body > * { margin-block: 0; }
.freesia-home-articles .bloom-loop-card__terms a { color: var(--fp-blue); font-size: 13px; font-weight: 600; }
.freesia-home-articles .wp-block-post-title { font-size: 20px; font-weight: 600; line-height: 1.45; }
.freesia-home-articles .wp-block-post-title a { color: var(--fp-blue-deep); }
.freesia-home-articles .wp-block-post-title a:hover { color: var(--fp-blue); }
.freesia-home-articles .bloom-loop-card__meta { flex-wrap: wrap; gap: 0 14px; color: var(--fp-muted); font-size: 14px; }
.freesia-home-articles .wp-block-post-excerpt { margin-top: 4px; color: var(--fp-text); font-size: 15.5px; line-height: 1.7; }
.freesia-home-articles .wp-block-post-excerpt__excerpt { margin: 0; }
.freesia-home-articles .wp-block-read-more { margin-top: auto; padding-top: 12px; color: var(--fp-blue); font-size: 15px; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(43, 108, 176, 0.35); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.wp-block-buttons.freesia-home-articles__actions { justify-content: center; margin-top: 40px !important; }
.wp-block-button.freesia-home-outline > .wp-block-button__link {
	display: inline-flex; align-items: center; min-height: 48px; box-sizing: border-box; padding: 0 26px; border-radius: 999px;
	background: #fff; color: var(--fp-blue); box-shadow: inset 0 0 0 1.5px var(--fp-blue); font-family: var(--fp-display); font-size: 16px; font-weight: 600;
	text-decoration: none; transition: background-color var(--fh-ease), color var(--fh-ease);
}
.wp-block-button.freesia-home-outline > .wp-block-button__link:hover { background: var(--fp-mist); color: var(--fp-blue-deep); }

/* ------------------------------------------------------------------
 * 10 Google reviews
 * ---------------------------------------------------------------- */
.freesia-home-reviews.wp-block-group { max-width: 1000px !important; margin-top: 32px !important; }

/* ------------------------------------------------------------------
 * 11 Visit: map with its space kept while it loads, rows with icons
 * ---------------------------------------------------------------- */
.freesia-home-visit.wp-block-group { display: grid; gap: 32px; }
.freesia-home-map.wp-block-group { overflow: hidden; border-radius: var(--fh-radius); background: #e7ecf1; }
.freesia-home-map :is(.wp-block-bloom-map, iframe) { display: block; width: 100%; margin: 0; }
.freesia-home-map iframe { height: auto; aspect-ratio: 4 / 3; border: 0; }
.freesia-home-visit__info h2.wp-block-heading { margin-bottom: 8px; }
.freesia-home-visit__row.wp-block-group { position: relative; padding: 16px 0 16px 54px; border-bottom: 1px solid var(--fh-card-line); }
.freesia-home-visit__row:last-child { border-bottom: 0; }
.freesia-home-visit__row::before {
	content: ""; position: absolute; left: 0; top: 16px; width: 40px; height: 40px; border-radius: 50%;
	background: var(--fp-mist) no-repeat center / 20px;
}
.freesia-home-visit__row::after {
	content: ""; position: absolute; left: 10px; top: 26px; width: 20px; height: 20px; background: var(--fp-blue);
	-webkit-mask: var(--fh-icon) center / contain no-repeat; mask: var(--fh-icon) center / contain no-repeat;
}
.freesia-home-visit__row--address { --fh-icon: var(--fh-pin); }
.freesia-home-visit__row--travel { --fh-icon: var(--fh-route); }
.freesia-home-visit__row--hours { --fh-icon: var(--fh-clock); }
.freesia-home-visit__row h3.wp-block-heading { color: var(--fp-ink); font-size: 17px; line-height: 1.5; }
.freesia-home-visit__row--hours p { font-variant-numeric: tabular-nums; }

/* ------------------------------------------------------------------
 * Wider screens
 * ---------------------------------------------------------------- */
@media (min-width: 600px) {
	.freesia-home-conds.wp-block-group { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
	.freesia-home-cond.wp-block-group { grid-template-columns: minmax(0, 1fr); justify-items: center; padding: 16px 12px 20px; text-align: center; }
	.freesia-home-cond .wp-block-image img { width: 128px; height: 128px; }
	.freesia-home-steps.wp-block-group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 24px; }
	.freesia-home-progs.wp-block-group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
}

@media (min-width: 768px) {
	.freesia-home-section { padding-block: 96px; font-size: 17px; }
	.freesia-home-section h2.wp-block-heading { font-size: 34px; line-height: 1.35; }
	.freesia-home-head.wp-block-group { gap: 16px; }

	.wp-block-cover.freesia-home-hero { min-height: 640px; }
	.wp-block-cover.freesia-home-hero h1.freesia-home-hero__title { font-size: 48px; line-height: 1.35; }
	:lang(en) .wp-block-cover.freesia-home-hero h1.freesia-home-hero__title { font-size: 44px; line-height: 1.25; }
	.freesia-home-hero .freesia-home-hero__lead { font-size: 18px; }

	.freesia-home-short.wp-block-group { padding-block: 56px; }
	.freesia-home-short + .freesia-home-section { padding-top: 48px; }
	.freesia-home-short__card, .freesia-home-short .wp-block-embed { width: 248px; }

	.freesia-home-conds.wp-block-group, .freesia-home-steps.wp-block-group, .freesia-home-progs.wp-block-group,
	.freesia-home-devs.wp-block-group, .freesia-home-articles.wp-block-query, .freesia-home-reviews.wp-block-group { margin-top: 48px !important; }

	.wp-block-cover.freesia-home-fair { min-height: 520px; }
	.wp-block-cover.freesia-home-fair > .wp-block-cover__image-background { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; object-position: 60% 50%; }
	.wp-block-cover.freesia-home-fair > .wp-block-cover__background.has-background-dim.has-background-dim-0 {
		opacity: 1; background: linear-gradient(90deg, rgba(46, 34, 28, 0.86) 0%, rgba(46, 34, 28, 0.8) 50%, rgba(46, 34, 28, 0) 74%);
	}
	.wp-block-cover.freesia-home-fair > .wp-block-cover__inner-container { display: grid; align-content: center; min-height: 520px; padding-block: 72px; }
	.freesia-home-fair__copy.wp-block-group { max-width: 560px; }
	.wp-block-cover.freesia-home-fair h2.wp-block-heading { font-size: 34px; line-height: 1.35; }
	.freesia-home-fair p { font-size: 17px; }

	.freesia-home-devs.wp-block-group { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
	.freesia-home-dev.wp-block-group { grid-template-columns: minmax(0, 1fr); justify-items: center; align-content: start; gap: 4px; padding: 12px 8px 16px; text-align: center; }
	.freesia-home-dev .wp-block-image { grid-row: auto; margin-bottom: 12px; }
	.freesia-home-dev .wp-block-image img { width: 148px; height: 148px; }
}

@media (min-width: 1024px) {
	.wp-block-cover.freesia-home-hero { min-height: 680px; }
	.freesia-home-steps.wp-block-group { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
	.freesia-home-progs.wp-block-group { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }

	.freesia-home-section.freesia-home-section--doctor { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 560px; }
	.freesia-home-doctor__photo.wp-block-image { position: relative; min-height: 100%; }
	.freesia-home-doctor__photo img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; object-position: 40% 30%; }
	.freesia-home-doctor__body.wp-block-group { width: auto; max-width: 640px; margin: 0; padding: 80px 32px 80px 64px; }
	.freesia-home-section--doctor h2.freesia-home-doctor__title { font-size: 22px; }
	.freesia-home-section--doctor h3.freesia-home-doctor__name { font-size: 30px; }

	.freesia-home-visit.wp-block-group { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: 64px; }
	.freesia-home-map iframe { aspect-ratio: 16 / 11; }
}

@media (prefers-reduced-motion: reduce) {
	:is(.freesia-home-hero, .freesia-home-short, .freesia-home-section) *, :is(.freesia-home-hero, .freesia-home-short, .freesia-home-section) *::before, :is(.freesia-home-hero, .freesia-home-short, .freesia-home-section) *::after { transition: none !important; }
}
