/**
 * Layout and components Blocksy cannot express as one global setting.
 * Colours, the Inter font, heading sizes and the standard button live in Blocksy.
 */

:root {
	/* Header, hero and footer. Wide screens keep the current fluid inset.
	   Phones use the inset the logo and hero badge already share. */
	--id-global-gutter: calc(2.4% + 1cm);
	--id-charcoal: var(--theme-palette-color-4);
	--id-slate: var(--theme-palette-color-3);
	--id-off-white: var(--theme-palette-color-6);
	--id-white: var(--theme-palette-color-8);
	--id-border: var(--theme-palette-color-5);
	--id-shadow: 0 12px 40px rgba(17, 20, 18, 0.08);
	--id-shadow-sm: 0 4px 16px rgba(17, 20, 18, 0.06);
	--id-radius: 14px;
	--id-radius-sm: 10px;
	--id-whatsapp: #008d31;
	--id-whatsapp-dark: #007428;
}

@media (max-width: 760px) {
	:root {
		--id-global-gutter: 14px;
	}
}

/* Ordinary text wraps between words. Blocksy’s body rule
   overflow-wrap: break-word only slices a line when it has no
   normal space. Long links can still break. The Home Hero, reviews
   and photo carousels keep their own wrapping. */
.entry-content :is(p, li, dd, figcaption):not(.id-hero *):not([data-id-reviews-carousel] *):not(.id-shared-photos *) {
	word-break: normal;
	hyphens: manual;
	overflow-wrap: break-word;
}

/* Marketing page content shell */
.page .entry-content > .wp-block-group,
.home .entry-content > .wp-block-group,
.page .entry-content > .wp-block-cover,
.home .entry-content > .wp-block-cover {
	margin-top: 0;
	margin-bottom: 0;
}

.page .entry-content h2,
.home .entry-content h2 {
	margin-top: 0;
	margin-bottom: 1rem;
}

.page .entry-content h3,
.home .entry-content h3 {
	margin-bottom: 0.65rem;
}

/* Full-bleed section utility */
.id-section,
.id-section--muted,
.id-section--accent {
	padding-block: clamp(2.75rem, 5vw, 4.75rem);
}

.id-section--full {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-inline: max(1.25rem, calc(50vw - 560px));
}

.id-section--muted.id-section--full,
.id-section--accent.id-section--full {
	background: transparent;
	border-block: none;
}




/* Blocksy top spacing reads as an empty strip under the menu */
.page .ct-container-full[data-vertical-spacing*='top'] {
	padding-top: 0;
}

/* Page intro — no grey title-bar band (custom H1 lives in content) */
.id-page-intro.id-section--full,
.id-page-intro.id-section--muted.id-section--full {
	border-top: none;
	border-bottom: none;
	border-block: none;
	background: transparent;
}

.id-page-intro.id-section--full {
	padding-block: clamp(1.75rem, 3vw, 2.5rem) clamp(2rem, 3.5vw, 3rem);
	text-align: left;
}

.id-page-intro__eyebrow {
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 700;
	font-style: normal;
	letter-spacing: normal;
	line-height: 1.3;
	text-transform: none;
	color: var(--theme-palette-color-2);
	margin-bottom: 0.75rem;
}

.id-page-intro h1 {
	margin-bottom: 1rem;
}

.page-id-26 .id-page-intro h1::after {
	content: "";
	display: block;
	width: 112px;
	height: 4px;
	margin: 18px auto 20px;
	border-radius: 2px;
	background: var(--theme-palette-color-1);
}

/* Buttons */
.ct-button,
.wp-block-button__link,
button[type="submit"],
input[type="submit"] {
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: var(--id-shadow-sm);
}

.id-cta-whatsapp .ct-button,
.id-cta-whatsapp .wp-block-button__link {
	background-color: var(--id-whatsapp);
	color: #fff;
	font-weight: 600;
}

.id-cta-whatsapp .ct-button:hover,
.id-cta-whatsapp .wp-block-button__link:hover {
	background-color: var(--id-whatsapp-dark);
	color: #fff;
}

#header a.ct-button[href*="wa.me"],
.id-cta-whatsapp .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

#header a.ct-button[href*="wa.me"]::before,
#header a.ct-button[href*="wa.me"]:hover::before,
.id-cta-whatsapp .wp-block-button__link::before,
.id-cta-whatsapp .wp-block-button__link:hover::before {
	content: "";
	display: block;
	position: static;
	z-index: auto;
	inset: auto;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	opacity: 1;
	filter: none;
	background-color: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20.52 3.48A11.9 11.9 0 0 0 12.05 0C5.47 0 .12 5.35.12 11.93c0 2.1.55 4.15 1.6 5.95L.02 24l6.26-1.64a11.93 11.93 0 0 0 5.77 1.47h.01C18.63 23.83 24 18.48 24 11.9c0-3.18-1.24-6.17-3.48-8.42ZM12.06 21.82a9.9 9.9 0 0 1-5.05-1.38l-.36-.21-3.72.98.99-3.63-.24-.37a9.88 9.88 0 0 1-1.55-5.28c0-5.47 4.45-9.92 9.93-9.92a9.86 9.86 0 0 1 7.02 2.91 9.87 9.87 0 0 1 2.91 7.02c0 5.47-4.45 9.88-9.93 9.88Zm5.44-7.4c-.3-.15-1.76-.87-2.03-.97-.28-.1-.48-.15-.68.15-.2.3-.77.97-.95 1.17-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.48-.89-.79-1.49-1.77-1.66-2.07-.18-.3-.02-.46.13-.61.14-.13.3-.35.45-.52.15-.18.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.21-.24-.58-.48-.5-.67-.51h-.57c-.2 0-.52.07-.8.37-.27.3-1.04 1.02-1.04 2.49s1.07 2.88 1.22 3.08c.15.2 2.1 3.2 5.09 4.49.71.31 1.27.49 1.7.62.71.23 1.36.2 1.87.12.57-.09 1.76-.72 2.01-1.42.25-.7.25-1.3.18-1.42-.08-.12-.28-.2-.57-.34Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20.52 3.48A11.9 11.9 0 0 0 12.05 0C5.47 0 .12 5.35.12 11.93c0 2.1.55 4.15 1.6 5.95L.02 24l6.26-1.64a11.93 11.93 0 0 0 5.77 1.47h.01C18.63 23.83 24 18.48 24 11.9c0-3.18-1.24-6.17-3.48-8.42ZM12.06 21.82a9.9 9.9 0 0 1-5.05-1.38l-.36-.21-3.72.98.99-3.63-.24-.37a9.88 9.88 0 0 1-1.55-5.28c0-5.47 4.45-9.92 9.93-9.92a9.86 9.86 0 0 1 7.02 2.91 9.87 9.87 0 0 1 2.91 7.02c0 5.47-4.45 9.88-9.93 9.88Zm5.44-7.4c-.3-.15-1.76-.87-2.03-.97-.28-.1-.48-.15-.68.15-.2.3-.77.97-.95 1.17-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.48-.89-.79-1.49-1.77-1.66-2.07-.18-.3-.02-.46.13-.61.14-.13.3-.35.45-.52.15-.18.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.21-.24-.58-.48-.5-.67-.51h-.57c-.2 0-.52.07-.8.37-.27.3-1.04 1.02-1.04 2.49s1.07 2.88 1.22 3.08c.15.2 2.1 3.2 5.09 4.49.71.31 1.27.49 1.7.62.71.23 1.36.2 1.87.12.57-.09 1.76-.72 2.01-1.42.25-.7.25-1.3.18-1.42-.08-.12-.28-.2-.57-.34Z'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask-mode: alpha;
	mask-mode: alpha;
}

#header a.ct-button[href*="/contact"] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

#header a.ct-button[href*="/contact"]::before,
#header a.ct-button[href*="/contact"]:hover::before {
	content: "";
	display: block;
	position: static;
	z-index: auto;
	inset: auto;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	opacity: 1;
	filter: none;
	background-color: #111;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask-mode: alpha;
	mask-mode: alpha;
}

.id-cta-dark .ct-button,
.id-cta-dark .wp-block-button__link {
	background-color: var(--id-charcoal);
	color: var(--id-white);
}

.id-cta-dark .ct-button:hover,
.id-cta-dark .wp-block-button__link:hover {
	background-color: #1a1f1c;
	color: var(--id-white);
}

.home .wp-block-button.id-page-link .wp-block-button__link,
.entry-content .wp-block-button.id-page-link .wp-block-button__link {
	background-color: var(--id-charcoal);
	border-color: var(--id-charcoal);
	color: var(--id-white);
}

.home .wp-block-button.id-page-link .wp-block-button__link:hover,
.home .wp-block-button.id-page-link .wp-block-button__link:focus-visible,
.entry-content .wp-block-button.id-page-link .wp-block-button__link:hover,
.entry-content .wp-block-button.id-page-link .wp-block-button__link:focus-visible {
	background-color: #1a1f1c;
	border-color: #1a1f1c;
	color: var(--id-white);
}

.home .wp-block-button.id-page-link.id-page-link--on-photo .wp-block-button__link,
.entry-content .wp-block-button.id-page-link.id-page-link--on-photo .wp-block-button__link {
	background-color: #ff6900;
	border-color: #ff6900;
	color: #111412;
}

.home .wp-block-button.id-page-link.id-page-link--on-photo .wp-block-button__link:hover,
.home .wp-block-button.id-page-link.id-page-link--on-photo .wp-block-button__link:focus-visible,
.entry-content .wp-block-button.id-page-link.id-page-link--on-photo .wp-block-button__link:hover,
.entry-content .wp-block-button.id-page-link.id-page-link--on-photo .wp-block-button__link:focus-visible {
	background-color: #e65e00;
	border-color: #e65e00;
	color: #111412;
}

/* Cards grid.
   Two-column grids stay paired until 760px.
   Three-column grids step down to two, then one. */
.id-cards {
	--id-cards-gap: 1.25rem;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--id-cards-gap);
}

.id-cards--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.id-price-options .id-cards--3 {
	grid-template-columns: minmax(0, 350fr) minmax(0, 380fr) minmax(0, 350fr);
}

@media (max-width: 900px) and (min-width: 761px) {
	.id-cards--3,
	.id-price-options .id-cards--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.id-cards--3 > :last-child:nth-child(odd) {
		grid-column: 1 / -1;
		justify-self: center;
		width: calc((100% - var(--id-cards-gap)) / 2);
	}

	.id-price-options .id-cards--3 > :last-child:nth-child(odd) {
		order: 1;
		grid-column: auto;
		justify-self: stretch;
		width: auto;
	}

	.id-price-options .id-cards--3 > .id-card--featured {
		order: 2;
		grid-column: 1 / -1;
		justify-self: center;
		width: calc((100% - var(--id-cards-gap)) / 2);
	}
}

@media (max-width: 760px) {
	.id-cards,
	.id-cards--3,
	.id-price-options .id-cards--3 {
		grid-template-columns: 1fr;
	}
}

.id-card {
	background: var(--id-white);
	border: 1px solid var(--id-border);
	border-radius: var(--id-radius);
	padding: 1.5rem 1.4rem;
	box-shadow: var(--id-shadow-sm);
	height: 100%;
	display: flex;
	flex-direction: column;
}

.id-card__icon {
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: rgba(255, 105, 0, 0.1);
	color: var(--theme-palette-color-2);
	display: grid;
	place-items: center;
	font-size: 1.25rem;
	margin-bottom: 1rem;
}

.id-card__eyebrow {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--theme-palette-color-2);
	margin-bottom: 0.5rem;
}

.id-card h3 {
	margin-top: 0;
}

.id-card p:last-of-type {
	flex-grow: 1;
}

.id-card .wp-block-buttons {
	margin-top: 1rem;
	margin-bottom: 0;
}

.id-card--price {
	padding: 1.75rem 1.25rem;
}

.id-price-options .id-card--price:not(.id-card--featured) {
	height: auto;
	align-self: center;
	padding-block: 1.25rem;
}

@media (max-width: 900px) and (min-width: 761px) {
	.id-price-options .id-cards > .id-card--price {
		margin-block: 0;
	}

	.id-price-options .id-card--price:not(.id-card--featured) {
		align-self: stretch;
		height: auto;
	}
}

.id-card--price .id-card__price {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 700;
	color: var(--id-charcoal);
	line-height: 1.1;
	margin: 0.35rem 0 0.75rem;
}

/* Shared pricing cards. The Prices page still has its own second row. */
.id-price-options .id-card--price:not(.id-card--featured) .id-card__price::after {
	content: "";
	display: block;
	width: 72px;
	height: 3px;
	margin: 0.85rem auto 0;
	border-radius: 2px;
	background: #ff6900;
}

.id-price-options .id-card--featured {
	position: relative;
	overflow: hidden;
	padding-block: 1.4rem;
	background: #111412;
	border: 2px solid #ff6900;
	color: #fff;
}

.id-price-options .id-card--featured .id-price-card__photo {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	pointer-events: none;
}

.id-price-options .id-card--featured::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(17, 20, 18, 0.65);
	pointer-events: none;
}

.id-price-options .id-card--featured > :not(.id-price-card__photo):not(picture):not(.id-price-ribbon) {
	position: relative;
	z-index: 2;
}

.id-price-options .id-card--featured h3,
.id-price-options .id-card--featured .id-card__price,
.id-price-options .id-card--featured .id-price-benefits,
.id-price-options .id-card--featured .id-price-benefits li {
	color: #fff;
}

.id-price-options .id-card--featured .id-card__price {
	font-size: clamp(2.4rem, 4vw, 3.15rem);
	margin-bottom: 0.35rem;
}

.id-price-options .id-card--featured .id-card__price::after {
	content: "";
	display: block;
	width: 72px;
	height: 3px;
	margin: 0.85rem auto 0;
	border-radius: 2px;
	background: #ff6900;
}

.id-price-options .id-card--featured p:last-of-type {
	flex-grow: 0;
	color: rgba(255, 255, 255, 0.88);
}

.id-price-options .id-price-ribbon {
	position: absolute;
	top: 22px;
	right: -42px;
	z-index: 3;
	margin: 0;
	padding: 0.35rem 2.6rem;
	background: #ff6900;
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	transform: rotate(35deg);
}

.id-price-options .id-price-benefits {
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
	text-align: left;
}

.id-price-options .id-price-benefits li {
	position: relative;
	margin: 0.4rem 0;
	padding-left: 1.7rem;
}

.id-price-options .id-price-benefits li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.1rem;
	width: 1.15rem;
	height: 1.15rem;
	border-radius: 50%;
	background: #ff6900 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.2 6.4 11.2 12.5 4.8'/%3E%3C/svg%3E") center / 0.85rem no-repeat;
}

/* Wide three-card row only. 900px and below keeps the existing card heights. */
@media (min-width: 901px) {
	.id-price-options .id-cards > .id-card--price {
		margin-block: 0;
	}

	.id-price-options .id-cards--3 > .id-card--price:not(.id-card--featured) {
		align-self: center;
		height: 285px;
		min-height: 0;
	}

	.page-id-23 .id-cards:not(.id-cards--3) > .id-card--price {
		align-self: stretch;
		height: auto;
	}

	.id-price-options .id-cards--3 > .id-card--featured {
		height: 300px;
		padding-block: 0.8rem;
		justify-content: center;
		gap: 0.25rem;
	}

	.id-price-options .id-cards--3 > .id-card--featured h3,
	.id-price-options .id-cards--3 > .id-card--featured .id-card__price,
	.id-price-options .id-cards--3 > .id-card--featured > p,
	.id-price-options .id-cards--3 > .id-card--featured .id-price-benefits {
		margin-block: 0;
	}

	.id-price-options .id-cards--3 > .id-card--featured .id-price-benefits li {
		margin: 0.15rem 0;
	}
}

/* Home pricing section photograph. The cream band stays underneath if the image is removed. */
.id-home-price-options {
	position: relative;
	overflow: hidden;
}

.id-home-price-options > picture:has(> .id-home-price-options__photo) {
	display: block;
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.id-home-price-options__photo {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center center;
	pointer-events: none;
}

.id-home-price-options > :not(.id-home-price-options__photo):not(picture) {
	position: relative;
	z-index: 1;
}

@media (max-width: 760px) {
	.id-home-price-options__photo {
		object-position: 58% 70%;
	}
}

.id-card--review {
	position: relative;
}

.id-review-photo {
	width: 100%;
	height: 220px;
	margin: 0 0 1rem;
	border-radius: calc(var(--id-radius) - 2px);
	overflow: hidden;
	border: 1px solid var(--id-border);
	background: var(--id-white);
}

.id-review-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 22%;
}

.id-card--review::before {
	content: "\201C";
	position: absolute;
	top: 0.75rem;
	right: 1rem;
	font-size: 3rem;
	line-height: 1;
	color: rgba(255, 105, 0, 0.28);
	font-family: Georgia, serif;
}

.id-card__cite {
	display: block;
	margin-top: 1rem;
	font-size: 0.9rem;
	color: var(--id-slate);
	font-style: normal;
}

.id-section .wp-block-columns {
	gap: 1.25rem;
}


/* Checklist lists */
.id-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 1.25rem;
}

.id-checklist li {
	position: relative;
	padding-left: 1.75rem;
	margin-bottom: 0.65rem;
}

.id-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 0.65rem;
	height: 0.35rem;
	border-left: 2px solid var(--theme-palette-color-1);
	border-bottom: 2px solid var(--theme-palette-color-1);
	transform: rotate(-45deg);
}

.id-checklist.has-text-align-center li,
.id-checklist.has-text-align-right li {
	padding-left: 0;
}

.id-checklist.has-text-align-center li::before,
.id-checklist.has-text-align-right li::before {
	position: static;
	display: inline-block;
	margin-right: 0.7rem;
	vertical-align: 0.15em;
}

.wp-block-list.has-text-align-center:not(.id-checklist),
.wp-block-list.has-text-align-right:not(.id-checklist) {
	padding-inline-start: 0;
	list-style-position: inside;
}

/* Shared FAQ cards. Home width stays on its constrained group. */
.id-faq .wp-block-details {
	margin-block: 0;
	border: 2px solid #ff6900;
	border-radius: var(--id-radius-sm);
	background: var(--id-white);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(17, 20, 18, 0.06);
}

.id-faq .wp-block-details + .wp-block-details {
	margin-block-start: 0.75rem;
}

.id-faq .wp-block-details summary {
	cursor: pointer;
	position: relative;
	min-height: 44px;
	margin: 0;
	padding: 0.7rem 3.15rem;
	font-weight: 600;
	color: var(--id-charcoal);
	list-style: none;
	text-align: center;
}

.id-faq .wp-block-details summary::-webkit-details-marker,
.id-faq .wp-block-details summary::marker {
	content: "";
	display: none;
}

.id-faq .wp-block-details summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 0.85rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: #ff6900;
	color: #fff;
	font-size: 1.15rem;
	font-weight: 500;
	line-height: 1;
	transform: translateY(-50%);
}

.id-faq .wp-block-details summary:focus-visible {
	outline: 2px solid #ff6900;
	outline-offset: 2px;
}

.id-faq .wp-block-details[open] summary {
	border-bottom: 1px solid rgba(255, 105, 0, 0.28);
}

.id-faq .wp-block-details[open] summary::after {
	content: "−";
}

.id-faq .wp-block-details p {
	padding: 0.8rem 1.25rem 0;
	margin: 0;
	text-align: center;
}

.id-faq .wp-block-details p:last-child {
	padding-bottom: 0.9rem;
}

.id-contact-card {
	background: var(--id-white);
	border: 1px solid var(--id-border);
	border-radius: var(--id-radius);
	padding: 1.5rem;
	box-shadow: var(--id-shadow-sm);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.id-contact-card h3 {
	margin: 0;
	color: var(--id-charcoal);
}

.id-contact-card p {
	margin: 0;
}

.id-contact-card .id-checklist {
	margin: 0.25rem 0 0;
}

.id-form-section {
	background: var(--id-white);
	border: 1px solid var(--id-border);
	border-radius: var(--id-radius);
	padding: clamp(1.5rem, 3vw, 2rem);
	box-shadow: var(--id-shadow-sm);
}

.id-form-section .wpforms-container {
	margin-top: 0.5rem;
}

.id-form-section .id-enquiry-terms {
	margin-top: 0.35rem;
}

.id-form-section .id-enquiry-terms li {
	align-items: flex-start;
	gap: 0.7rem;
}

.id-form-section .id-enquiry-terms input[type="checkbox"] {
	width: 1.25rem;
	height: 1.25rem;
	margin: 0.2rem 0 0;
	flex: none;
}

.id-form-section .id-enquiry-terms input[type="checkbox"] + label {
	cursor: default;
}

.id-form-section .id-enquiry-terms label a {
	color: #ff6900;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

.id-form-section .id-enquiry-terms label a:hover,
.id-form-section .id-enquiry-terms label a:focus-visible {
	color: #d85a00;
}

.id-form-section .id-enquiry-terms label a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* Homepage hero — layout the block editor cannot place over a full-bleed photo. */
.home .entry-content > .id-hero,
.entry-content > .id-hero {
	width: 100vw;
	max-width: none;
	margin-top: 0;
	margin-right: calc(50% - 50vw);
	margin-bottom: 0;
	margin-left: calc(50% - 50vw);
}

.id-hero {
	display: grid;
	position: relative;
	align-items: center;
	isolation: isolate;
	min-height: 0;
	background: #050505;
	color: #fff;
	line-height: 1.6;
}

.id-hero > .wp-block-image,
.id-hero__image {
	display: block;
	grid-area: 1 / 1;
	width: 100%;
	max-width: none;
	margin: 0;
	align-self: start;
	justify-self: stretch;
	/* The approved hero photograph is 1672×941. Later photographs cover this same frame. */
	aspect-ratio: 1672 / 941;
	overflow: hidden;
}

.id-hero > .wp-block-image img,
.id-hero__image img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.id-hero__frame {
	grid-area: 1 / 1;
	z-index: 1;
	align-self: end;
	justify-self: start;
	width: min(1120px, calc(100% - 1.25rem - var(--id-global-gutter)));
	max-width: none;
	margin: 0 0 0 var(--id-global-gutter);
}

.id-hero__content {
	width: 100%;
	max-width: none;
	margin: 0;
	/* Bottom padding lifts the group toward the middle of a tall photograph
	   and settles near the lower edge as the photograph gets shorter. */
	padding: clamp(8px, 2vw, 28px) 0 clamp(8px, calc(29vw - 235px), 150px);
}

.id-hero__content > * {
	margin-top: 0;
}

.home .entry-content .id-hero h1,
.entry-content .id-hero h1 {
	margin: 0 0 clamp(6px, calc(2.2vw - 10px), 22px);
	color: #fff;
	font-size: clamp(38px, 4.6vw, 66px);
	font-weight: 800;
	letter-spacing: -0.045em;
	line-height: 1.04;
}

.home .entry-content .id-hero__content > p,
.entry-content .id-hero__content > p {
	max-width: 520px;
	margin: 0 0 clamp(4px, calc(1.2vw - 4px), 12px);
	color: #f3f3f3;
	font-size: 16px;
	line-height: 1.6;
}

.home .entry-content .id-hero .id-hero__place,
.entry-content .id-hero .id-hero__place {
	white-space: nowrap;
}

@media (min-width: 760px) {
	.home .entry-content .id-hero__copy,
	.entry-content .id-hero__copy {
		-webkit-box-decoration-break: clone;
		box-decoration-break: clone;
		padding: 0.45em 1.5em;
		margin: -0.45em -1.5em;
		background-image: linear-gradient(
			to right,
			rgba(5, 5, 5, 0) 0%,
			rgba(5, 5, 5, 0.55) 20%,
			rgba(5, 5, 5, 0.55) 80%,
			rgba(5, 5, 5, 0) 100%
		);
	}
}

.id-hero .wp-block-buttons.id-hero__actions.is-layout-flex {
	display: grid;
	grid-template-columns: max-content max-content;
	gap: 10px;
	width: max-content;
	max-width: 100%;
	margin: clamp(8px, calc(2.6vw - 10px), 27px) 0 0;
}

.id-hero__actions .wp-block-button {
	display: contents;
	margin: 0;
}

.id-hero__actions .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-width: max-content;
	max-width: 100%;
	min-height: 48px;
	padding: 12px 16px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	transition: transform 0.15s;
}

.id-hero__actions .wp-block-button__link::before {
	content: "";
	position: static;
	z-index: auto;
	inset: auto;
	display: block;
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	margin-right: 8px;
	opacity: 1;
	filter: none;
	background: currentColor;
	-webkit-mask: var(--id-hero-icon) center / contain no-repeat;
	mask: var(--id-hero-icon) center / contain no-repeat;
	-webkit-mask-mode: alpha;
	mask-mode: alpha;
}

.id-hero__actions .wp-block-button__link:hover {
	transform: translateY(-2px);
}

.id-hero__actions .wp-block-button__link:focus-visible {
	outline: 3px solid #ff9c51;
	outline-offset: 5px;
}

.id-hero__btn--whatsapp {
	--id-hero-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20.52 3.48A11.9 11.9 0 0 0 12.05 0C5.47 0 .12 5.35.12 11.93c0 2.1.55 4.15 1.6 5.95L.02 24l6.26-1.64a11.93 11.93 0 0 0 5.77 1.47h.01C18.63 23.83 24 18.48 24 11.9c0-3.18-1.24-6.17-3.48-8.42ZM12.06 21.82a9.9 9.9 0 0 1-5.05-1.38l-.36-.21-3.72.98.99-3.63-.24-.37a9.88 9.88 0 0 1-1.55-5.28c0-5.47 4.45-9.92 9.93-9.92a9.86 9.86 0 0 1 7.02 2.91 9.87 9.87 0 0 1 2.91 7.02c0 5.47-4.45 9.88-9.93 9.88Zm5.44-7.4c-.3-.15-1.76-.87-2.03-.97-.28-.1-.48-.15-.68.15-.2.3-.77.97-.95 1.17-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.48-.89-.79-1.49-1.77-1.66-2.07-.18-.3-.02-.46.13-.61.14-.13.3-.35.45-.52.15-.18.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.21-.24-.58-.48-.5-.67-.51h-.57c-.2 0-.52.07-.8.37-.27.3-1.04 1.02-1.04 2.49s1.07 2.88 1.22 3.08c.15.2 2.1 3.2 5.09 4.49.71.31 1.27.49 1.7.62.71.23 1.36.2 1.87.12.57-.09 1.76-.72 2.01-1.42.25-.7.25-1.3.18-1.42-.08-.12-.28-.2-.57-.34Z'/%3E%3C/svg%3E");
}

.id-hero__actions .id-hero__btn--whatsapp .wp-block-button__link {
	background: #008d31;
	color: #fff;
}

.id-hero__actions .id-hero__btn--whatsapp .wp-block-button__link::before,
.id-hero__actions .id-hero__btn--whatsapp .wp-block-button__link:hover::before {
	background-color: #fff;
	opacity: 1;
	filter: none;
}

.id-hero__actions .id-hero__btn--whatsapp .wp-block-button__link:hover {
	color: #fff;
}

.id-hero__btn--call {
	--id-hero-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.5.6 3.6.1.4 0 .7-.3 1L6.6 10.8z'/%3E%3C/svg%3E");
}

.id-hero__actions .id-hero__btn--call .wp-block-button__link {
	border: 2px solid #e9eee9;
	background: rgba(0, 0, 0, 0.4);
	color: #fff;
}

.id-hero__actions .id-hero__btn--call .wp-block-button__link:hover {
	color: #fff;
}

.id-hero__btn--email,
.id-hero__btn--email .wp-block-button__link {
	--id-hero-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E");
}

.id-hero__actions .id-hero__btn--email .wp-block-button__link {
	background: #ff6900;
	color: #111;
}

.id-hero__actions .id-hero__btn--email .wp-block-button__link:hover {
	color: #111;
}

.id-hero__badge {
	position: absolute;
	z-index: 2;
	top: 1.8vw;
	left: var(--id-global-gutter);
	display: flex;
	align-items: stretch;
	gap: 0;
	overflow: hidden;
	width: auto;
	max-width: none;
	margin: 0;
	border: 1px solid #777;
	border-radius: 2px;
	background: #fff;
	color: #111;
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.1;
}

.id-hero__badge-mark {
	display: block;
	flex-shrink: 0;
	width: clamp(42px, 5vw, 84px);
	height: clamp(40px, 4.65vw, 78px);
	margin: 0;
	overflow: hidden;
	background: #080808;
}

.id-hero__badge-mark img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.id-hero__badge-copy {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: auto;
	margin: 0;
	padding: 4px 7px;
	white-space: nowrap;
}

.id-hero__badge-copy p {
	margin: 0;
	color: #111;
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.1;
	white-space: nowrap;
}

.id-hero__badge-title {
	font-size: clamp(15px, 1.8vw, 30px);
	font-weight: 900;
}

.id-hero__badge-sub {
	font-size: clamp(9px, 1.1vw, 18px);
	font-weight: 800;
}

@media (max-width: 760px) {
	.id-hero {
		display: block;
	}

	.id-hero > .wp-block-image,
	.id-hero__image {
		position: relative;
		overflow: hidden;
		aspect-ratio: 1024 / 576;
	}

	.id-hero > .wp-block-image img,
	.id-hero__image img {
		width: 100%;
		max-width: none;
		height: 100%;
		object-fit: cover;
	}

	.id-hero__frame {
		position: relative;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 22px var(--id-global-gutter) 28px;
		background: #050505;
	}

	.id-hero__content {
		width: 100%;
		max-width: none;
		padding: 0;
	}

	.home .entry-content .id-hero h1,
	.entry-content .id-hero h1 {
		position: absolute;
		z-index: 2;
		left: 0;
		right: 0;
		bottom: 100%;
		margin: 0;
		padding: 14px var(--id-global-gutter) 12px;
		background: linear-gradient(180deg, rgba(5, 5, 5, 0) 0%, rgba(5, 5, 5, 0.72) 34%, rgba(5, 5, 5, 0.94) 68%, #050505 100%);
	}

	.home .entry-content .id-hero .id-hero__place,
	.entry-content .id-hero .id-hero__place {
		white-space: normal;
	}

	.home .entry-content .id-hero__content > p,
	.entry-content .id-hero__content > p {
		max-width: none;
		margin-bottom: 12px;
	}

	.id-hero .wp-block-buttons.id-hero__actions.is-layout-flex {
		grid-template-columns: 1fr;
		width: 260px;
		margin-top: 27px;
	}

	.id-hero__actions .wp-block-button__link {
		width: 100%;
	}

	.id-hero__badge {
		top: 12px;
	}
}

/* Useful Links page only. Layout is Gutenberg Columns; this is button styling plus the centred nerves width. */
@media (min-width: 782px) {
	.page-id-30 .id-links > .id-links--nerves {
		width: calc((100% - 1.25rem) / 2);
		margin-inline: auto;
	}
}

.page-id-30 .id-link-list {
	list-style: none;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}

.page-id-30 .id-link-list li {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}

.page-id-30 .id-link-list a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.65rem 1rem;
	border-radius: var(--id-radius-sm);
	color: #fff;
	font-weight: 600;
	line-height: 1.3;
	width: 100%;
	text-align: center;
	text-decoration: none;
}

.page-id-30 .id-links--official .id-link-list a {
	background: #56605b;
}

.page-id-30 .id-links--official .id-link-list a:hover,
.page-id-30 .id-links--official .id-link-list a:focus-visible {
	background: #46504c;
	color: #fff;
	outline: 2px solid #46504c;
	outline-offset: 2px;
}

.page-id-30 .id-links--test .id-link-list a {
	background: #ff6900;
}

.page-id-30 .id-links--test .id-link-list a:hover,
.page-id-30 .id-links--test .id-link-list a:focus-visible {
	background: #e05c00;
	color: #fff;
	outline: 2px solid #e05c00;
	outline-offset: 2px;
}

.page-id-30 .id-links--nerves .id-link-list a {
	background: #2f6f8f;
}

.page-id-30 .id-links--nerves .id-link-list a:hover,
.page-id-30 .id-links--nerves .id-link-list a:focus-visible {
	background: #285f7a;
	color: #fff;
	outline: 2px solid #285f7a;
	outline-offset: 2px;
}


#header .ct-header-text .entry-content,
#header .ct-header-text p {
	margin: 0;
}

#header .id-header-phone {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	padding: 8px 12px;
	border-radius: 6px;
	background: #111412;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.1;
	text-decoration: none;
	white-space: nowrap;
}

#header .id-header-phone::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.5.6 3.6.1.4 0 .7-.3 1L6.6 10.8z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.5.6 3.6.1.4 0 .7-.3 1L6.6 10.8z'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask-mode: alpha;
	mask-mode: alpha;
}

#header .id-header-phone__word {
	margin-right: 0.3em;
}

#header .id-header-phone:hover,
#header .id-header-phone:focus-visible {
	background: #2a2a2a;
	color: #fff;
}

/* Blocksy waits until the header has slid up by the admin-bar height,
   then pins it. That is the jump. Start the pin immediately, but keep
   the header in the same place under the bar. */
@media (min-width: 783px) {
	body.admin-bar {
		--header-sticky-offset: 32px;
	}
}

@media (min-width: 601px) and (max-width: 782px) {
	body.admin-bar {
		--header-sticky-offset: 46px;
	}
}

#header [data-sticky*="yes"],
#header [data-sticky*="fixed"] {
	top: calc(var(--admin-bar, 0px) + var(--theme-frame-size, 0px)) !important;
}

/* A phone is either a narrow portrait or a short landscape.
   Width alone would make a rotated phone sticky. */
@media (max-width: 560px), (max-height: 500px) {
	#header [data-sticky*="yes"],
	#header [data-sticky*="fixed"] {
		position: static;
	}
}

/* Blocksy hides the full menu below 1000px, and only pins the header
   it is showing. The logo and menu still fit, with a clear gap, down
   to 820px. A short screen keeps the compact header instead. */
@media (min-width: 820px) and (max-width: 999.98px) and (min-height: 501px) {
	#header [data-device="desktop"] {
		display: block;
		min-height: var(--header-height, 112px);
	}

	#header [data-device="desktop"] [data-sticky] {
		position: fixed;
		z-index: 5;
		top: calc(var(--admin-bar, 0px) + var(--theme-frame-size, 0px));
		left: 0;
		right: 0;
		width: 100%;
	}

	#header [data-device="mobile"] {
		display: none;
	}
}

@media (min-width: 1000px) and (max-height: 500px) {
	#header [data-device="desktop"] {
		display: none;
	}

	#header [data-device="mobile"] {
		display: block;
	}

	#offcanvas [data-device="mobile"] {
		display: block;
	}
}

#header [data-id="menu"] .menu,
#header [data-id="menu"] .menu > li {
	height: auto;
	align-self: center;
}

#header [data-id="menu"] .menu > li > .ct-menu-link {
	height: auto;
	padding-block: 6px;
}

/* Both edges use the shared gutter. The full menu keeps its existing
   right inset, so the desktop header does not shift. */
#header [data-row="middle"] > .ct-container-fluid {
	width: auto;
	margin-left: var(--id-global-gutter);
	margin-right: var(--id-global-gutter);
}

@media (min-width: 820px) and (min-height: 501px) {
	#header [data-row="middle"] > .ct-container-fluid {
		margin-right: 22px;
	}
}

#header [data-id="trigger"] {
	min-width: 44px;
	min-height: 44px;
	border: 1px solid #ddd;
	border-radius: 6px;
	justify-content: center;
}

/* Home section directly under the hero */
.home .entry-content > .id-why,
.entry-content > .id-why {
	margin: 0;
	padding-block: 64px 72px;
}

/* Home rhythm bands. Delete this block to restore the original page fade. */
.home .id-why.id-section--full,
.home .id-reviews.id-section--full,
.home .id-lessons.id-section--full,
.home .id-home-faq.id-section--full,
.entry-content .id-why.id-section--full,
.entry-content .id-reviews.id-section--full,
.entry-content .id-lessons.id-section--full,
.entry-content .id-home-faq.id-section--full,
.id-band.id-section--full {
	background: #f0e4d6;
}

.id-about-actions {
	padding-block: 2.75rem 3.25rem;
}

/* When the page ends on a cream section, that colour runs into the footer. Pale endings keep the white gap. Contact keeps its gap, because the whole page is one cream section. */
body:not(.page-id-27) .ct-container-full[data-vertical-spacing*='bottom']:has(.entry-content > .id-band:last-child),
body:not(.page-id-27) .ct-container-full[data-vertical-spacing*='bottom']:has(.entry-content > .id-band + p:empty:last-child) {
	padding-bottom: 0;
}

.entry-content > .id-band + p:empty:last-child {
	display: none;
}

.page-id-27 .ct-container-full[data-vertical-spacing*='bottom'] {
	padding-bottom: 0;
}

.page-id-27 .entry-content > .id-band.id-section--full {
	padding-bottom: 50px;
}

.id-about-actions > .wp-block-buttons {
	margin-top: 0;
	margin-bottom: 0;
}

.home .entry-content .id-why__inner,
.entry-content .id-why__inner {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

/* Instructor split. Words, photo and button are blocks. This only places them. */
.id-instructor .id-instructor__split {
	align-items: center;
	gap: 48px;
}

.id-instructor .wp-block-media-text__content {
	padding: 0;
}

.id-instructor .wp-block-media-text__media {
	position: relative;
	container-type: inline-size;
	margin: 0;
	overflow: hidden;
	border-radius: 14px;
	background: #eee;
}

.id-instructor .wp-block-media-text__media img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 1.3;
	object-fit: cover;
	object-position: 50% 35%;
	border-radius: 14px;
}

.id-instructor .id-instructor__kicker {
	margin: 0 0 5px;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

.id-instructor__intro {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.id-instructor__rating {
	display: flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	margin: 0 0 12px;
	color: var(--id-charcoal);
	font-family: Inter, sans-serif;
	line-height: 1;
}

.id-instructor__rating-mark {
	display: block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.id-instructor__rating-score {
	font-size: 22px;
	font-weight: 700;
}

.id-instructor__rating-stars {
	display: flex;
	gap: 2px;
}

.id-instructor__rating-stars svg {
	display: block;
	width: 20px;
	height: 20px;
}

.id-instructor h2 {
	margin: 5px 0 14px;
}

.id-instructor .wp-block-media-text__content > p:not(.id-instructor__kicker) {
	margin: 0 0 14px;
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
}

a.id-instructor__elite {
	color: #e10600;
	font-weight: 700;
	text-decoration: none;
}

a.id-instructor__elite:hover,
a.id-instructor__elite:focus,
a.id-instructor__elite:focus-visible {
	color: #b00000;
	text-decoration: none;
	outline: 2px solid #e10600;
	outline-offset: 3px;
}

/* Portrait badge. One system for Home and About. Size and inset follow the
   photograph frame (2.73cqw is the current desktop “APPROVED” size on a
   550px portrait; 2.55cqw is the current 14px inset). */
.id-instructor__badge {
	position: absolute;
	top: 2.55cqw;
	left: 2.55cqw;
	z-index: 3;
	display: flex;
	align-items: stretch;
	gap: 0;
	width: max-content;
	max-width: calc(100% - 5.1cqw);
	margin: 0;
	overflow: hidden;
	border: 1px solid #777;
	border-radius: 2px;
	background: #fff;
	color: #111;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2.73cqw;
	line-height: 1.1;
}

.id-instructor__badge-mark {
	display: block;
	flex-shrink: 0;
	width: 2.67em;
	height: auto;
	aspect-ratio: 40 / 38;
	margin: 0;
	overflow: hidden;
	background: #080808;
}

.id-instructor__badge-mark img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.id-instructor__badge-copy {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.27em;
	width: auto;
	margin: 0;
	padding: 0.27em 0.47em;
	white-space: nowrap;
}

.id-instructor__badge-copy p {
	margin: 0;
	color: #111;
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.1;
	white-space: nowrap;
}

.id-instructor__badge .id-instructor__badge-title {
	font-size: 1em;
	font-weight: 900;
}

.id-instructor__badge .id-instructor__badge-sub {
	font-size: 0.6em;
	font-weight: 800;
}

.id-about-photo {
	position: relative;
	align-self: flex-start;
	container-type: inline-size;
}

.id-about-photo > .wp-block-image {
	margin: 0;
}

.id-instructor .wp-block-buttons {
	margin-top: 0;
}

@media (max-width: 760px) {
	.id-instructor .wp-block-media-text__media img {
		aspect-ratio: 1.25;
	}
}

/* Tuition car split. Words, photo and button are blocks. This only places them. */
.id-tuition .id-tuition__split {
	align-items: center;
	gap: 48px;
	grid-template-columns: 1fr 1fr;
}

.id-tuition .wp-block-media-text__content {
	padding: 0;
}

.id-tuition .wp-block-media-text__media {
	margin: 0;
	overflow: hidden;
	border-radius: 10px;
	background: #fff7f1;
}

.id-tuition .wp-block-media-text__media img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	object-position: center;
	border-radius: 10px;
}

.id-tuition h2 {
	margin: 0 0 14px;
	text-align: left;
}

.id-tuition .wp-block-media-text__content > p {
	margin: 0 0 14px;
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
}

.id-tuition .wp-block-buttons {
	margin-top: 0;
}

/* Photo beside text. Below 760px both pieces share one column.
   WordPress leaves the words in column 2 until 600px, which used to
   collapse the photograph. Placing both here removes that gap.
   A photo on the right keeps the words above it. */
@media (max-width: 760px) {
	.id-instructor__split.id-photo-text,
	.id-tuition__split.id-photo-text {
		grid-template-columns: minmax(0, 1fr);
		gap: 27px;
	}

	.id-photo-text > .wp-block-media-text__media {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
	}

	.id-photo-text > .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 2;
		min-width: 0;
	}

	.id-photo-text.has-media-on-the-right > .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 1;
	}

	.id-photo-text.has-media-on-the-right > .wp-block-media-text__media {
		grid-column: 1;
		grid-row: 2;
	}

	.id-tuition .wp-block-media-text__content > p {
		font-size: 16px;
	}
}

/* Five driving stages. The words are blocks. Arrows are drawn between them. */
.id-process__intro {
	margin: 0;
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
}

.id-process__title {
	margin: 0 0 42px;
	text-align: center;
}

.id-process__heading {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px 14px;
	margin: 0 0 8px;
	text-align: center;
}

.id-process__stage {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}

.id-process__stage::before {
	content: "";
	flex-shrink: 0;
	width: 0.8em;
	height: 0.8em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' d='M3 12h18M13 4l8 8-8 8'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' d='M3 12h18M13 4l8 8-8 8'/%3E%3C/svg%3E") center / contain no-repeat;
}

.id-process__intro {
	margin: 0;
}

.id-process__steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
}

.id-process__step {
	margin: 0;
	text-align: center;
}

.id-process__num {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin: 0 auto 13px;
	border: 2px solid var(--theme-palette-color-1);
	border-radius: 50%;
	background: #fff;
	color: var(--theme-palette-color-1);
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
}

.id-process__step h3 {
	margin: 0 0 7px;
}

.id-process__step > p:not(.id-process__num) {
	margin: 0;
	font-size: 16px;
}

.id-process__note {
	max-width: 900px;
	margin: 36px auto 0;
	padding: 24px;
	border-radius: 8px;
	background: transparent;
	font-size: 16px;
	line-height: 1.7;
	text-align: center;
}

@media (max-width: 900px) and (min-width: 761px) {
	.id-process__steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.id-process__steps {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.id-process__step {
		display: grid;
		grid-template-columns: 42px 80px minmax(0, 1fr);
		gap: 10px;
		align-items: center;
		margin-bottom: 10px;
		padding-bottom: 22px;
		border-bottom: 1px solid #e5e7eb;
		text-align: left;
	}

	.id-process__num {
		width: 35px;
		height: 35px;
		margin: 0;
		font-size: 13px;
	}

	.id-process__step h3,
	.id-process__step > p:not(.id-process__num) {
		margin: 0;
	}

	.id-process__step > p:not(.id-process__num) {
		font-size: 14px;
	}
}

/* Home lesson progression: four steps, same circles. Approach keeps five. */
.id-process--progress .id-process__steps {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 900px) {
	.id-process--progress .id-process__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 28px;
	}
}

@media (max-width: 760px) {
	.id-process--progress .id-process__steps {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.id-process--progress .id-process__step {
		grid-template-columns: 42px minmax(0, 1fr);
		align-items: start;
	}

	.id-process--progress .id-process__num {
		grid-column: 1;
		grid-row: 1 / span 2;
		margin-top: 2px;
	}

	.id-process--progress .id-process__step h3,
	.id-process--progress .id-process__step > p:not(.id-process__num) {
		grid-column: 2;
	}
}

/* Lesson options. The words, cards and button are blocks. This only places them. */
.id-lessons__layout {
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	gap: 55px;
	align-items: center;
}

.id-lessons__copy h2 {
	margin: 0 0 14px;
	text-align: left;
}

.id-lessons__copy > .wp-block-paragraph {
	margin: 0 0 14px;
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
}

.id-lessons__copy .wp-block-buttons {
	margin: 0;
}

.id-lessons__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: 0;
}

.id-lessons__card {
	margin: 0;
	padding: 19px 20px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #fff;
}

.id-lessons__name,
.id-lessons__detail {
	margin: 0;
}

.id-lessons__name {
	margin-bottom: 4px;
	color: var(--id-charcoal);
	font-weight: 700;
}

.id-lessons__detail {
	color: #6b7280;
	font-size: 16px;
}

@media (max-width: 760px) {
	.id-lessons__layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.id-lessons__grid {
		grid-template-columns: 1fr;
	}

	.id-lessons__detail {
		font-size: 15px;
	}
}

/* Ready line. The words stay in blocks. The photograph is added by Shared Photos. */
.home .entry-content .id-ready.id-section--full,
.id-ready.id-section--full {
	position: relative;
	overflow: hidden;
	padding-block: 64px;
	color: #fff;
	text-align: center;
}

.home .entry-content .id-ready.id-section--full::before,
.id-ready.id-section--full::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(0, 0, 0, 0.72);
	pointer-events: none;
}

.id-ready__photo {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}

.home .entry-content .id-ready.id-section--full > :not(.id-ready__photo):not(picture),
.id-ready.id-section--full > :not(.id-ready__photo):not(picture) {
	position: relative;
	z-index: 2;
}

.home .entry-content .id-ready h2,
.id-ready h2 {
	max-width: 720px;
	margin: 0 auto 34px;
	color: #fff;
	text-align: center;
}

.id-ready__lead {
	max-width: 690px;
	margin: 0 auto;
	color: #eee;
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
}

.id-ready__line {
	display: block;
	margin: 12px auto 0;
	color: var(--theme-palette-color-1);
	font-size: 45px;
	font-weight: 700;
	line-height: 1.05;
}

@media (max-width: 760px) {
	.home .entry-content .id-ready.id-section--full,
	.id-ready.id-section--full {
		padding-block: 52px;
	}

	.id-ready__line {
		font-size: 35px;
	}
}

/* Standard Home section heading below the hero.
   Future redesigned Home sections should use id-home-heading on the main h2.
   Do not apply this to the hero H1. */
.home .entry-content h2.id-home-heading,
.entry-content .id-why h2.id-home-heading,
.entry-content .id-process h2.id-home-heading,
.entry-content .id-reviews h2.id-home-heading,
.entry-content .id-areas h2.id-home-heading,
.entry-content .id-home-faq h2.id-home-heading,
.id-learn > h2.id-home-heading {
	margin: 0;
	color: #171717;
	text-align: center;
}

.id-learn > h2.id-home-heading {
	margin-bottom: 40px;
}

.id-section-heading::after {
	content: "";
	display: block;
	width: 112px;
	height: 4px;
	margin: 18px auto 36px;
	border-radius: 2px;
	background: #ff6900;
}

.home .entry-content .id-why__features,
.entry-content .id-why__features {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 4px 0 44px;
}

.home .entry-content .id-why__feature,
.entry-content .id-why__feature {
	margin: 0;
	padding: 0 12px;
	text-align: center;
}

.home .entry-content .id-why__feature + .id-why__feature,
.entry-content .id-why__feature + .id-why__feature {
	border-left: 1px solid #dccdbf;
}

.home .entry-content .id-why__icon,
.entry-content .id-why__icon {
	display: block;
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	margin: 0 auto 8px;
	color: #ff6900;
}

.home .entry-content .id-why__features h3,
.entry-content .id-why__features h3 {
	margin: 0;
	color: #171717;
}

.home .entry-content .id-why__statement,
.entry-content .id-why__statement {
	max-width: 740px;
	margin: 4px auto 0;
	color: #2a2a2a;
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
	text-align: center;
}

@media (max-width: 760px) {
	.home .entry-content > .id-why,
	.entry-content > .id-why {
		padding-block: 44px 52px;
	}

	.home .entry-content .id-why__features,
	.entry-content .id-why__features {
		grid-template-columns: 1fr 1fr;
		gap: 22px 0;
		padding-bottom: 32px;
	}

	.home .entry-content .id-why__feature,
	.entry-content .id-why__feature {
		padding: 0 10px;
	}

	.home .entry-content .id-why__feature:nth-child(3),
	.entry-content .id-why__feature:nth-child(3) {
		border-left: 0;
	}

	.home .entry-content .id-why__icon,
	.entry-content .id-why__icon {
		width: 22px;
		height: 22px;
		margin-bottom: 6px;
	}
}

/* Thoughtful-way section: same warm fade, no green block */
.id-learn.id-section--full {
	padding-top: 80px;
	padding-bottom: 108px;
	border: 0;
}

.id-learn .id-cards {
	display: grid;
	gap: 1.75rem;
	width: 100%;
	max-width: none;
	margin-top: 0;
	margin-left: 0;
	margin-right: 0;
}

@media (min-width: 761px) {
	.id-learn .id-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.id-learn .id-card__icon svg {
	display: block;
	width: 22px;
	height: 22px;
}

@media (max-width: 760px) {
	.id-learn.id-section--full {
		padding-top: 56px;
		padding-bottom: 76px;
	}

	.id-learn > h2.id-home-heading {
		margin-bottom: 28px;
	}

	.id-learn .id-cards {
		gap: 1rem;
	}
}

/* Block layout adds its own gaps. These sections use the spacing above. */
.home .entry-content .id-why__inner,
.entry-content .id-why__inner,
.home .entry-content .id-why__features,
.entry-content .id-why__features,
.home .entry-content .id-why__feature,
.entry-content .id-why__feature,
.id-learn > .id-cards,
.id-learn .id-card {
	margin-block-start: 0;
	margin-block-end: 0;
}

.home .entry-content .id-why__features > .id-why__feature,
.entry-content .id-why__features > .id-why__feature,
.home .entry-content .id-why__feature > *,
.entry-content .id-why__feature > *,
.id-learn .id-cards > .id-card,
.id-learn .id-card > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.id-learn.is-layout-constrained > .id-cards {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.home .entry-content .id-why .wp-block-html,
.entry-content .id-why .wp-block-html,
.id-learn .id-card .wp-block-html {
	margin: 0;
}

/* Learner reviews. The quotes, names and button stay in blocks. */
.home .entry-content .id-reviews.id-section--full,
.id-reviews.id-section--full {
	padding-block: 60px;
}

.home .entry-content .id-reviews h2.id-home-heading,
.id-reviews h2.id-home-heading {
	margin-bottom: 30px;
}

.home .entry-content .id-reviews .wp-block-buttons,
.id-reviews .wp-block-buttons {
	justify-content: center;
	margin-top: 28px;
	margin-bottom: 0;
}

/* Google review button. The G and stars come from the review cards. */
.entry-content a.id-google-review {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	width: fit-content;
	margin: 0;
	padding: 12px 18px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #fff;
	color: var(--id-charcoal);
	font-family: Inter, sans-serif;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(17, 20, 18, 0.05);
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.entry-content a.id-google-review:hover,
.entry-content a.id-google-review:focus-visible {
	border-color: #d0d5dd;
	background: #fff;
	color: var(--id-charcoal);
	text-decoration: none;
	box-shadow: var(--id-shadow-sm);
	transform: translateY(-1px);
}

.entry-content a.id-google-review:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.id-google-review__brand {
	display: flex;
	align-items: center;
	gap: 6px;
}

.id-google-review .id-instructor__rating-mark {
	width: 18px;
	height: 18px;
}

.id-google-review__name {
	font-size: 13px;
	font-weight: 600;
}

.id-google-review__stars {
	display: flex;
	gap: 1px;
}

.id-google-review__stars svg {
	display: block;
	width: 15px;
	height: 15px;
}

.id-google-review__label {
	font-size: 15px;
	font-weight: 600;
}

@media (max-width: 760px) {
	.home .entry-content .id-reviews.id-section--full,
	.id-reviews.id-section--full {
		padding-block: 42px;
	}

	.home .entry-content .id-reviews h2.id-home-heading,
	.id-reviews h2.id-home-heading {
		margin-bottom: 26px;
	}
}

/* Anchor only. 112px sticky header, minus the section padding already above the heading. */
#learner-feedback {
	scroll-margin-top: 79px;
}

@media (max-width: 760px) {
	#learner-feedback {
		scroll-margin-top: 97px;
	}
}

@media (max-width: 560px), (max-height: 500px) {
	#learner-feedback {
		scroll-margin-top: -36px;
	}
}

/* Areas. Town names stay in blocks. The orange dot is drawn beside each name. */
.home .entry-content .id-areas.id-section--full,
.id-areas.id-section--full {
	padding-block: 60px;
	background: transparent;
	text-align: center;
}

.home .entry-content .id-areas h2.id-home-heading,
.id-areas h2.id-home-heading {
	margin-bottom: 8px;
}

.id-areas__lead {
	max-width: 780px;
	margin: 0 auto 28px;
	color: #3a3a3a;
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
	text-align: center;
}

.id-areas__pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0;
}

.id-areas__pill {
	width: fit-content;
	margin: 0;
	padding: 10px 15px;
	border: 2px solid #ffd6bb;
	border-radius: 999px;
	background: #fff;
	color: var(--id-charcoal);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
}

.id-areas__pill::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 8px;
	border-radius: 50%;
	background: var(--theme-palette-color-1);
	vertical-align: 1px;
}

.id-areas__pill:has(a) {
	position: relative;
	background: #FFF4EC;
}

.id-areas__pill a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.id-areas__pill:has(a):hover,
.id-areas__pill:has(a):focus-within {
	background: #FFE8D6;
}

.id-areas__pill a {
	color: #D85A00;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

.id-areas__pill a:hover,
.id-areas__pill a:focus,
.id-areas__pill a:focus-visible {
	color: #FF6900;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

/* Confirmed areas include postcodes, so the pills share one width. */
.id-areas__pills--matched .id-areas__pill {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 210px;
	max-width: 100%;
	white-space: nowrap;
}

@media (max-width: 760px) {
	.home .entry-content .id-areas.id-section--full,
	.id-areas.id-section--full {
		padding-block: 42px;
	}
}

/* Closing strip. Layout and alignment come from the Group, Heading, Paragraph and Buttons block. */
.home .entry-content .id-next.id-section--full,
.id-next.id-section--full {
	padding-block: 45px;
	background: transparent;
}

.id-next > h2 {
	margin-top: 0;
	margin-bottom: 5px;
	color: #171717;
}

.id-next > p {
	margin-top: 0;
	margin-bottom: 0;
	color: #3a3a3a;
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
}

.id-next > .wp-block-buttons .wp-block-button__link {
	width: auto;
	justify-content: center;
	min-height: 36px;
	padding: 8px 12px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.1;
	white-space: nowrap;
}

.id-next__call .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #111412;
	color: #fff;
}

.id-next__call .wp-block-button__link:hover {
	background: #2a2a2a;
	color: #fff;
}

.id-next__call .wp-block-button__link::before,
.id-next__call .wp-block-button__link:hover::before {
	content: "";
	display: block;
	position: static;
	z-index: auto;
	inset: auto;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	opacity: 1;
	filter: none;
	background-color: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.5.6 3.6.1.4 0 .7-.3 1L6.6 10.8z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.5.6 3.6.1.4 0 .7-.3 1L6.6 10.8z'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask-mode: alpha;
	mask-mode: alpha;
}

.id-next__email .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #ff6900;
	color: #111;
}

.id-next__email .wp-block-button__link:hover {
	background: #e65e00;
	color: #111;
}

.id-next .id-cta-whatsapp .wp-block-button__link::before,
.id-next .id-cta-whatsapp .wp-block-button__link:hover::before {
	width: 16px;
	height: 16px;
}

.id-next__email .wp-block-button__link::before,
.id-next__email .wp-block-button__link:hover::before {
	content: "";
	display: block;
	position: static;
	z-index: auto;
	inset: auto;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	opacity: 1;
	filter: none;
	background-color: #111;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask-mode: alpha;
	mask-mode: alpha;
}

/* Footer only. The data-footer attribute sits on the page, so these rules stay on #footer. */
#footer.ct-footer {
	background: #070707;
	color: #bbb;
}

#footer[data-id="type-1"] [data-row="middle"] > .ct-container,
#footer [data-row="bottom"] > .ct-container {
	width: auto;
	max-width: none;
	margin-left: var(--id-global-gutter);
}

#footer[data-id="type-1"] [data-row="middle"] > .ct-container {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 36px;
	align-items: start;
	padding-top: 36px;
	padding-bottom: 22px;
}

#footer [data-column] {
	width: auto;
}

#footer [data-column="widget-area-1"] p {
	max-width: 320px;
}

@media (min-width: 1000px) {
	#footer[data-id="type-1"] [data-row="middle"] > .ct-container {
		display: flex;
		justify-content: flex-end;
		align-items: flex-start;
		gap: 72px;
		margin-right: 72px;
	}

	#footer [data-row="bottom"] > .ct-container {
		margin-right: max(30px, calc((100% - 1120px) / 2));
	}

	#footer [data-column="widget-area-1"] {
		margin-right: auto;
	}

	#footer [data-column]:not([data-column="widget-area-1"]) {
		min-width: 160px;
	}
}

#footer h4,
#footer .widget-title {
	margin: 0 0 12px;
	color: #FF6900;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

#footer p,
#footer li,
#footer a {
	color: #bbb;
	text-decoration: none;
}

#footer p {
	font-size: 13px;
	line-height: 1.75;
}

#footer a:hover,
#footer a:focus-visible {
	color: #fff;
}

#footer .wp-block-list,
#footer .menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer .menu {
	display: flex;
	flex-direction: column;
}

#footer .wp-block-list li {
	display: flex;
	align-items: center;
	min-height: 28px;
	font-size: 14px;
	line-height: 1.25;
}

#footer .menu li {
	align-items: flex-start;
	justify-content: flex-start;
	min-height: 28px;
}

#footer .wp-block-list a,
#footer .menu a,
#footer .ct-footer-copyright a {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	justify-content: flex-start;
	box-sizing: border-box;
	width: fit-content;
	max-width: 100%;
	height: auto;
	min-height: 28px;
	margin: 0;
	padding: 0;
	font-family: Inter, sans-serif;
	font-size: 14px;
	font-weight: 400;
	font-style: normal;
	letter-spacing: normal;
	line-height: 1.25;
	text-align: left;
	text-transform: none;
}

#footer .wp-block-image {
	max-width: 180px;
	margin: 0 0 14px;
	background: #fff;
	border-radius: 6px;
}

#footer .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
}

#footer [data-row="bottom"] {
	border-top: 1px solid #292929;
	margin-top: 0;
	padding-top: 14px;
}

#footer [data-row="bottom"] > .ct-container {
	padding-top: 0;
	padding-bottom: 16px;
}

#footer .ct-footer-copyright {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	color: #888;
	font-size: 13px;
}

#footer .ct-footer-copyright p {
	margin: 0;
	color: #888;
	font-size: 13px;
}

@media (max-width: 999.98px) {
	#footer[data-id="type-1"] [data-row="middle"] > .ct-container,
	#footer [data-row="bottom"] > .ct-container {
		margin-right: var(--id-global-gutter);
	}

	#footer[data-id="type-1"] [data-row="middle"] > .ct-container {
		grid-template-columns: 1fr 1fr;
		gap: 28px 22px;
		padding-top: 32px;
		padding-bottom: 18px;
	}
}

@media (max-width: 689px) {
	#footer .ct-footer-copyright {
		display: block;
	}

	#footer .ct-footer-copyright p + p {
		margin-top: 8px;
	}
}

/* Legal pages that use id-privacy-panel. Headings stay on the site styles. */
.id-page-intro:has(> .id-privacy-panel) p,
.id-page-intro:has(> .id-privacy-panel) .wp-block-list,
.id-page-intro:has(> .id-privacy-panel) .wp-block-list li {
	font-family: Inter, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.65;
	color: #2d312f;
}

.id-privacy-panel {
	margin-block: 0;
	border-radius: var(--id-radius);
	background: var(--id-white);
	box-shadow: 0 2px 10px rgba(17, 20, 18, 0.05);
	padding: 1.35rem 1.5rem 1.25rem;
}

.id-page-intro > .id-privacy-panel + .id-privacy-panel {
	margin-block-start: 1.25rem;
}

.id-privacy-panel > * {
	margin-block: 0;
}

.id-privacy-panel > * + * {
	margin-block-start: 0.85rem;
}

.id-privacy-panel .wp-block-list {
	padding-left: 1.25rem;
}

/* Terms page anchors. 112px sticky header, plus a small gap.
   The header is not sticky on a phone, so the offset is removed there. */
.page-id-33 .id-page-intro :is(h2, h3)[id] {
	scroll-margin-top: calc(128px + var(--admin-bar, 0px));
}

@media (max-width: 560px), (max-height: 500px) {
	.page-id-33 .id-page-intro :is(h2, h3)[id] {
		scroll-margin-top: 0;
	}
}
