/* Green Orbit: Contact Us page (03 §4.7, brief of 26 Oct 2026). Loaded only on /contact-us/ (functions.php).
   Sections, in order: hero, contact + enquiry, about + video, Purple Cow, founder awards + counters, FAQ, closing CTA.
   Everything is built from go- classes on Elementor containers and widgets; the page itself is Build/site-setup/contact-us.js.

   Colours come from tokens.css. Three groups are new and local to this page, each from a client asset or brief:
   - Purple, the selective accent of the Purple Cow section (the brief asks for purple; it is sampled from the supplied cow photo).
   - The FAQ's sky and its deep green, sampled from the supplied FAQ image, which the brief asks to be reproduced.
   - The pastel card tints of the FAQ, from the same image.
   Propose them for 04 §2 if the agency keeps them. */

:root {
	--go-purple-700: #4F1A6B;
	--go-purple-600: #7A2E9E;
	--go-purple-500: #9B4BC0;
	--go-purple-300: #D9A7EC;
	--go-purple-100: #F1E1F8;
	--go-faq-green: #02503C;
	--go-faq-sky-top: #CDE8F6;
	--go-faq-sky-mid: #E9F4F6;
	--go-faq-paper: #FBF8EC;
}

html {
	scroll-padding-top: 96px;
}

/* ---------- Shared bits ---------- */
.e-con[class*="go-contact"],
.e-con.go-years,
.e-con.go-cow,
.e-con.go-awards,
.e-con.go-faq {
	--padding-left: var(--go-gutter);
	--padding-right: var(--go-gutter);
}

.go-contact-eyebrow,
.go-contact-eyebrow .elementor-heading-title {
	margin: 0;
	font-family: var(--go-font-body);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--go-green-700);
}

.go-on-dark .go-contact-eyebrow,
.go-on-dark .go-contact-eyebrow .elementor-heading-title {
	color: var(--go-accent);
}

.go-contact-page-cta .elementor-widget-container,
.go-contact-hero .elementor-widget-container {
	margin: 0;
}

/* ---------- 1. Hero ---------- */
.e-con.go-contact-hero {
	--padding-top: 32px;
	--padding-bottom: 85px;
	position: relative;
	isolation: isolate;
	min-height: 0;
	background-size: cover;
	background-position: center 58%;
	background-color: var(--go-forest-900);
	overflow: hidden;
}

.go-contact-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(10, 59, 97, .86) 0%, rgba(10, 59, 97, .62) 46%, rgba(10, 59, 97, .12) 100%),
		linear-gradient(180deg, rgba(10, 59, 97, .3) 0%, rgba(10, 59, 97, 0) 30%, rgba(10, 59, 97, .38) 100%);
}

.e-con.go-contact-hero__copy {
	--row-gap: 14px;
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	max-width: 600px;
}

.go-contact-hero .elementor-widget-heading h1.elementor-heading-title {
	margin: 0;
	font-family: var(--go-font-display);
	font-weight: 400;
	font-size: clamp(30px, 3.7vw, 46px);
	line-height: 1.04;
	letter-spacing: -.015em;
	color: var(--go-white);
}

.go-contact-hero .go-accent {
	background: none;
	color: var(--go-fresh-green);
}

.go-contact-hero .elementor-widget-text-editor {
	font-family: var(--go-font-body);
	font-size: 15px;
	line-height: 1.55;
	color: rgba(255, 255, 255, .88);
	max-width: 540px;
}

.go-contact-hero .elementor-widget-text-editor p {
	margin: 0 0 .7em;
}

.go-contact-hero .go-contact-hero__kicker {
	text-wrap: balance;
	font-family: var(--go-font-display);
	font-size: 19px;
	line-height: 1.3;
	color: var(--go-accent);
}

.go-contact-hero .go-contact-hero__kicker p {
	margin: 0;
}

.e-con.go-contact-hero__actions {
	--flex-direction: row;
	--gap: 12px;
	--padding-top: 8px;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	flex-wrap: wrap;
}

/* ---------- 2. Contact details + enquiry form ---------- */
.e-con.go-contact-main {
	--padding-top: 0;
	--padding-bottom: 80px;
	position: relative;
	z-index: 2;
	background-color: var(--go-cream-50);
}

.e-con.go-contact-main__grid {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
	gap: 28px;
	align-items: stretch;
	margin-top: -41px;
}

.e-con.go-contact-info {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--row-gap: 16px;
}

.go-contact-info > .elementor-widget-heading h2.elementor-heading-title,
.go-contact-form-card h2.elementor-heading-title {
	margin: 0;
	font-family: var(--go-font-display);
	font-weight: 400;
	font-size: 30px;
	line-height: 1.15;
	color: var(--go-white);
}

.e-con.go-contact-tiles {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	align-items: stretch;
}

.e-con.go-contact-tile {
	--padding-top: 22px;
	--padding-bottom: 22px;
	--padding-left: 24px;
	--padding-right: 24px;
	--row-gap: 14px;
	position: relative;
	justify-content: flex-start;
	border-radius: var(--go-radius-lg);
	background: var(--go-white);
	box-shadow: var(--go-shadow-md);
	font-family: var(--go-font-body);
	font-size: 14px;
	line-height: 1.5;
	color: var(--go-text-muted);
}

.e-con.go-contact-tile--offices {
	grid-column: 1 / -1;
}

.e-con.go-contact-tile__head {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--flex-direction: row;
	--gap: 12px;
	--align-items: center;
	flex-direction: row;
	align-items: center;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--go-border-light);
}

.e-con.go-contact-tile__body {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--row-gap: 12px;
	align-items: flex-start;
}

.go-contact-tile .elementor-widget-container {
	margin: 0;
}

.go-contact-tile h3.elementor-heading-title {
	margin: 0;
	font-family: var(--go-font-body);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--go-forest-800);
}

.elementor-widget-icon.go-contact-tile__icon .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--go-forest-800);
	color: var(--go-accent);
	font-size: 16px;
	line-height: 1;
}

.elementor-widget-icon.go-contact-tile__icon .elementor-icon :is(svg, i) {
	width: 16px;
	height: 16px;
	color: var(--go-accent);
	fill: currentColor;
}

.go-contact-tile a {
	color: var(--go-forest-800);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--go-lime-500);
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.go-contact-tile a:is(.go-btn-whatsapp, .go-btn-secondary, .go-btn-primary) {
	text-decoration: none;
}

.go-contact-tile a.go-btn-secondary {
	color: var(--go-forest-800);
	border-color: var(--go-forest-800);
}

.go-contact-tile .go-offices {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 28px;
}

.go-contact-tile .go-office :is(p, h4) {
	margin: 0;
}

.go-contact-tile .go-office > * + * {
	margin-top: 4px;
}

.go-contact-tile .go-office__name {
	font-family: var(--go-font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--go-green-700);
}

.go-contact-tile .go-offices--icons :is(.go-office__address, .go-office__phone) {
	display: flex;
	gap: 8px;
	align-items: flex-start;
}

.go-contact-tile .go-offices--icons svg {
	flex: none;
	width: 16px;
	height: 16px;
	margin-top: 3px;
	color: var(--go-green-700);
}

.go-contact-tile .go-hours {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.go-contact-tile .go-hours :is(th, td) {
	padding: 5px 10px 5px 0;
	border: 0;
	border-bottom: 1px solid var(--go-border-light);
	background: none;
	text-align: left;
	font-weight: 400;
	vertical-align: top;
	white-space: nowrap;
}

.go-contact-tile .go-hours :is(thead th, tbody th) {
	font-weight: 600;
	color: var(--go-forest-800);
}

.go-contact-tile .go-support {
	margin: 0;
	padding: 10px 12px;
	border-radius: var(--go-radius-sm);
	background: var(--go-mint-50);
	color: var(--go-forest-800);
	font-weight: 600;
}

.go-contact-tile :is(a.go-phone, a.go-email, .go-contact-gmb) {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
}

.go-contact-tile .go-contact-gmb {
	gap: 6px;
	font-size: 14px;
}

/* The DVC button now sits in the WhatsApp & Email tile (31 Oct 2026): a compact pill, left-aligned under the email link. */
.go-contact-tile .elementor-widget-shortcode:has(a.go-social--digital-card) {
	align-self: flex-start;
	width: auto;
	max-width: 100%;
}

.go-contact-tile a.go-social--digital-card {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-height: 38px;
	padding: 0 16px;
	font-size: 14px;
	line-height: 1.2;
	white-space: nowrap;
}

/* The form card. On desktop it stretches to the height of the tiles beside it (the grid aligns stretch), so the fields are kept compact to fit inside that height. */
.e-con.go-contact-form-card {
	--padding-top: 20px;
	--padding-bottom: 20px;
	--padding-left: 24px;
	--padding-right: 24px;
	--row-gap: 8px;
	border-radius: var(--go-radius-xl);
	background: var(--go-white);
	box-shadow: var(--go-shadow-lg);
	border-top: 5px solid var(--go-accent);
}

.go-contact-form-card h2.elementor-heading-title {
	color: var(--go-forest-800);
	font-size: 26px;
}

.go-contact-form-card .elementor-widget-text-editor {
	font-family: var(--go-font-body);
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--go-text-muted);
}

.go-contact-form-card .go-enquiry {
	gap: 10px 12px;
}

.go-contact-form-card .go-enquiry .go-enquiry__row {
	gap: 4px;
}

.go-contact-form-card .go-enquiry label {
	font-size: 13px;
}

.go-contact-form-card .go-enquiry.go-enquiry .go-enquiry__row :is(input, textarea) {
	min-height: 42px;
	padding: 9px 12px;
	font-size: 15px;
}

.go-contact-form-card .go-enquiry textarea {
	height: 64px;
	min-height: 64px;
}

.go-contact-form-card .go-enquiry .go-enquiry__send {
	min-height: 44px;
	font-size: 15px;
}

.go-contact-form-card .go-enquiry .go-enquiry__note {
	font-size: 12.5px;
	line-height: 1.4;
}

.go-contact-form-card .elementor-widget-text-editor p {
	margin: 0;
}

/* ---------- 3. About + video + people ---------- */
.go-contact-about .go-section-head h2.elementor-heading-title {
	margin: 0;
	font-family: var(--go-font-display);
	font-weight: 400;
	font-size: clamp(30px, 3.6vw, 44px);
	line-height: 1.12;
	letter-spacing: -.01em;
	color: var(--go-forest-800);
}

.go-contact-about .elementor-widget-text-editor,
.go-contact-profile .elementor-widget-text-editor,
.go-contact-about .elementor-widget-text-editor strong {
	font-family: inherit;
	font-weight: 700;
}

.go-contact-about .elementor-widget-text-editor a {
	color: var(--go-green-700);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.e-con.go-contact-about {
	--padding-top: 72px;
	--padding-bottom: 88px;
	--row-gap: 32px;
	background-color: var(--go-white);
}

.e-con.go-contact-about__top {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
	gap: 48px;
	align-items: center;
}

.e-con.go-contact-about__text {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--row-gap: 14px;
}

.go-contact-about__text h3.elementor-heading-title {
	margin: 0;
	font-family: var(--go-font-display);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.22;
	color: var(--go-forest-800);
}

.go-contact-about .elementor-widget-text-editor p {
	margin: 0 0 .8em;
	font-size: 15px;
	line-height: 1.6;
}

.go-contact-about .elementor-widget-text-editor strong {
	color: var(--go-forest-800);
}

/* 31 Oct 2026: the Welcome text is about 15% shorter overall (tighter text and spacing; the video and the founder profiles are not touched). */
.e-con.go-contact-about__text {
	--row-gap: 10px;
}

.go-contact-about__text .elementor-widget-text-editor p {
	margin: 0 0 .55em;
	font-size: 14.5px;
	line-height: 1.55;
}

.elementor-widget-video.go-contact-video {
	position: relative;
	width: 88%;
	margin-inline: auto;
}

.go-contact-video .elementor-wrapper {
	overflow: hidden;
	border-radius: var(--go-radius-xl);
	box-shadow: var(--go-shadow-lg);
	background: var(--go-forest-950);
	aspect-ratio: 848 / 478;
}

.go-contact-video video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.go-contact-video::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 18px -14px -14px 18px;
	border-radius: var(--go-radius-xl);
	background: var(--go-mint-50);
	border: 1.5px solid var(--go-lime-300);
}

.e-con.go-contact-people {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: 24px;
	align-items: stretch;
}

.e-con.go-contact-people__side {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--row-gap: 24px;
}

.e-con.go-contact-profile {
	--padding-top: 20px;
	--padding-bottom: 20px;
	--padding-left: 20px;
	--padding-right: 20px;
	--flex-direction: row;
	--gap: 22px;
	--align-items: center;
	flex-direction: row;
	align-items: center;
	border-radius: var(--go-radius-xl);
	background: var(--go-cream-50);
	border: 1px solid var(--go-border-light);
}

.e-con.go-contact-profile--founder {
	background: var(--go-mint-50);
	border-color: var(--go-lime-300);
}

.e-con.go-contact-profile__body {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--row-gap: 8px;
	flex: 1 1 0;
	min-width: 0;
}

.elementor-widget-image.go-contact-profile__photo {
	flex: 0 0 24%;
	max-width: 24%;
}

.go-contact-profile--founder .elementor-widget-image.go-contact-profile__photo {
	flex-basis: 27%;
	max-width: 27%;
}

.go-contact-profile__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center 22%;
	border-radius: var(--go-radius-lg);
}

.go-contact-profile .go-contact-role {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--go-green-700);
}

.go-contact-profile h3.elementor-heading-title {
	margin: 0;
	font-family: var(--go-font-display);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.15;
	color: var(--go-forest-800);
}

.go-contact-profile .elementor-widget-text-editor,
.go-contact-profile .elementor-widget-text-editor p {
	margin: 0;
}

/* ---------- 3b. The 40 Years strip (11 Nov 2026): a short band between the founder cards and the Purple Cow.
   A small looping video on the left, heading and two short text blocks on the right. ---------- */
.e-con.go-years {
	--padding-top: 24px;
	--padding-bottom: 24px;
	background-color: var(--go-forest-800);
	color: var(--go-text-on-dark);
}

.e-con.go-years > .e-con-inner {
	display: grid;
	grid-template-columns: 264px minmax(0, 1fr);
	gap: 36px;
	align-items: center;
}

.elementor-widget-video.go-years__video {
	margin: 0;
}

.go-years__video .elementor-wrapper {
	overflow: hidden;
	border-radius: var(--go-radius-lg);
	box-shadow: var(--go-shadow-lg);
	background: var(--go-forest-950);
	aspect-ratio: 16 / 9;
}

.go-years__video video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.e-con.go-years__copy {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--row-gap: 6px;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	column-gap: 32px;
	row-gap: 8px;
	align-items: start;
}

.go-years .elementor-widget-heading {
	grid-column: 1 / -1;
}

.go-years h2.elementor-heading-title {
	text-wrap: balance;
	margin: 0;
	font-family: var(--go-font-display);
	font-weight: 400;
	font-size: clamp(21px, 2.2vw, 26px);
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--go-white);
}

.go-years .elementor-widget-text-editor {
	font-family: var(--go-font-body);
	font-size: 13.5px;
	line-height: 1.55;
	font-weight: 400;
	color: rgba(255, 255, 255, .88);
}

.go-years .elementor-widget-text-editor p {
	margin: 0 0 .5em;
}

.go-years .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

.go-years .go-years__close,
.go-years .go-years__close p {
	font-weight: 700;
	color: var(--go-accent);
}

@media (max-width: 1024px) {
	.e-con.go-years > .e-con-inner {
		grid-template-columns: 220px minmax(0, 1fr);
		gap: 28px;
	}

	.e-con.go-years__copy {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.e-con.go-years {
		--padding-top: 16px;
		--padding-bottom: 16px;
	}

	.e-con.go-years > .e-con-inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.e-con.go-years > .e-con-inner > .elementor-widget-video.go-years__video {
		max-width: 210px;
		margin-inline: auto;
	}

	.go-years__video .elementor-wrapper {
		border-radius: 16px;
	}

	.e-con.go-years__copy {
		row-gap: 6px;
	}

	.go-years h2.elementor-heading-title {
		font-size: 19px;
	}

	.go-years .elementor-widget-text-editor {
		font-size: 12px;
		line-height: 1.42;
	}

	.go-years .elementor-widget-text-editor p {
		margin-bottom: .35em;
	}
}

/* ---------- 4. The Purple Cow ---------- */
.e-con.go-cow {
	--padding-top: 36px;
	--padding-bottom: 36px;
	--column-gap: 56px;
	--flex-direction: row;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	/* Pre-29-Oct look restored: deep teal strip, purple glow behind the images, purple accents. */
	background-color: #00222E;
	color: var(--go-text-on-dark);
}

.go-cow::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: -8%;
	top: 8%;
	width: 62%;
	height: 90%;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(155, 75, 192, .5), rgba(155, 75, 192, 0));
	filter: blur(12px);
	pointer-events: none;
}

.e-con.go-cow__stage {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--width: 44%;
	position: relative;
	min-height: 332px;
	flex: 0 0 44%;
}

.elementor-widget-image.go-cow__field {
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	margin: 0;
	transform: rotate(-2.2deg);
	filter: drop-shadow(0 26px 40px rgba(0, 0, 0, .45));
}

.elementor-widget-image.go-cow__poster {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 42%;
	margin: 0;
	transform: rotate(3deg);
	filter: drop-shadow(0 24px 38px rgba(0, 0, 0, .5));
}

.go-cow__field img,
.go-cow__poster img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--go-radius-lg);
}

.go-cow__poster img {
	border: 6px solid var(--go-cream-50);
}

.go-cow__field img {
	aspect-ratio: 868 / 1100;
	object-fit: cover;
}

.e-con.go-cow__copy {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--row-gap: 8px;
	flex: 1 1 0;
	min-width: 0;
	justify-content: center;
}

.go-cow .go-contact-eyebrow,
.go-cow .go-contact-eyebrow .elementor-heading-title {
	color: var(--go-purple-300);
}

.go-cow h2.elementor-heading-title {
	margin: 0;
	font-family: var(--go-font-display);
	font-weight: 400;
	font-size: clamp(26px, 2.8vw, 34px);
	line-height: 1.1;
	letter-spacing: -.012em;
	color: var(--go-white);
}

.go-cow h2 .go-cow__word {
	color: var(--go-purple-300);
	font-style: italic;
}

.go-cow .elementor-widget-text-editor {
	font-family: var(--go-font-body);
	font-size: 14px;
	line-height: 1.5;
	color: rgba(255, 255, 255, .88);
	max-width: 560px;
}

.go-cow .elementor-widget-text-editor p {
	margin: 0 0 .6em;
}

.go-cow .go-cow__big {
	font-family: var(--go-font-display);
	font-size: 21px;
	line-height: 1.2;
	color: var(--go-purple-300);
}

.go-cow .go-cow__big p {
	margin: 0;
}

.go-cow .go-cow__close {
	padding-left: 18px;
	border-left: 3px solid var(--go-purple-500);
	font-family: var(--go-font-display);
	font-size: 17px;
	line-height: 1.35;
	color: var(--go-white);
}

.go-cow .go-cow__close p {
	margin: 0;
}

.go-cow a.go-btn-cta,
.go-cow .go-btn-cta .elementor-button {
	box-shadow: 0 0 0 4px rgba(155, 75, 192, .35);
}

/* ---------- 5. Founder awards + counters ---------- */
.e-con.go-awards {
	--padding-top: 52px;
	--padding-bottom: 52px;
	--row-gap: 26px;
	--align-items: center;
	position: relative;
	isolation: isolate;
	align-items: center;
	background-color: var(--go-forest-900);
	background-size: cover;
	background-position: center 62%;
}

.go-awards::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(247, 249, 249, .9) 0%, rgba(247, 249, 249, .5) 26%, rgba(10, 59, 97, .1) 62%, rgba(10, 59, 97, .5) 100%);
}

.go-awards h2.elementor-heading-title {
	margin: 0;
	text-align: center;
	font-family: var(--go-font-display);
	font-weight: 400;
	font-size: clamp(28px, 4vw, 46px);
	line-height: 1.1;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--go-forest-950);
}

.e-con.go-awards__stats {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
}

.e-con.go-awards__stat {
	--padding-top: 30px;
	--padding-bottom: 30px;
	--padding-left: 22px;
	--padding-right: 22px;
	--align-items: center;
	position: relative;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 14px;
	background: rgba(8, 64, 102, .74);
	border: 1px solid rgba(244, 197, 66, .45);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	box-shadow: 0 10px 30px rgba(10, 59, 97, .22);
}

.go-awards__stat::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 22%;
	bottom: 22%;
	width: 1px;
	height: auto;
	background: rgba(255, 255, 255, .4);
}

.go-awards__stat .elementor-widget-counter {
	width: 100%;
}

.go-awards__stat .elementor-counter {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
}

.go-awards__stat .elementor-counter-number-wrapper {
	display: flex;
	justify-content: center;
	font-family: var(--go-font-body);
	font-size: 42px;
	font-weight: 700;
	line-height: 1;
	color: var(--go-white);
}

.go-awards__stat .elementor-counter-title {
	margin: 0;
	font-family: var(--go-font-body);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--go-white);
}

.elementor-widget-image.go-awards__photo {
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
}

.go-awards__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 5.6;
	object-fit: cover;
	object-position: center 55%;
	border: 6px solid rgba(255, 255, 255, .9);
	border-radius: var(--go-radius-xl);
	box-shadow: var(--go-shadow-lg);
}

.go-awards__caption {
	margin: 0;
	padding: 8px 16px;
	border-radius: var(--go-radius-pill);
	background: rgba(10, 59, 97, .72);
	color: var(--go-white);
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

/* ---------- 6. FAQ, recreated from the supplied image ---------- */
.e-con.go-faq {
	--padding-top: 64px;
	--padding-bottom: 56px;
	--padding-left: 0;
	--padding-right: 0;
	--row-gap: 32px;
	--align-items: center;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	align-items: center;
	background: linear-gradient(180deg, var(--go-faq-sky-top) 0%, var(--go-faq-sky-mid) 24%, var(--go-faq-paper) 58%, var(--go-faq-paper) 100%);
	counter-reset: go-faq;
}

.elementor-widget-image.go-faq__palm {
	position: absolute;
	top: 0;
	z-index: 0;
	width: clamp(140px, 18vw, 300px);
	margin: 0;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(180deg, #000 55%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 55%, transparent 100%);
}

.elementor-widget-image.go-faq__palm--left {
	left: 0;
	-webkit-mask-image: linear-gradient(180deg, #000 50%, transparent 100%), linear-gradient(90deg, #000 60%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(180deg, #000 50%, transparent 100%), linear-gradient(90deg, #000 60%, transparent 100%);
	mask-composite: intersect;
}

.elementor-widget-image.go-faq__palm--right {
	right: 0;
	-webkit-mask-image: linear-gradient(180deg, #000 50%, transparent 100%), linear-gradient(270deg, #000 60%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(180deg, #000 50%, transparent 100%), linear-gradient(270deg, #000 60%, transparent 100%);
	mask-composite: intersect;
}

.go-faq__palm img {
	display: block;
	width: 100%;
	height: auto;
}

.e-con.go-faq__head {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--row-gap: 6px;
	--align-items: center;
	position: relative;
	z-index: 1;
	align-items: center;
	text-align: center;
}

.go-faq__head h2.elementor-heading-title {
	position: relative;
	margin: 0;
	padding: 0 56px;
	font-family: var(--go-font-body);
	font-weight: 800;
	font-size: clamp(54px, 8vw, 96px);
	line-height: 1;
	letter-spacing: -.01em;
	color: var(--go-forest-800);
}

.go-faq__head h2.elementor-heading-title::before,
.go-faq__head h2.elementor-heading-title::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 34px;
	height: 34px;
	background:
		linear-gradient(currentColor, currentColor) 0 0 / 22px 3px no-repeat,
		linear-gradient(currentColor, currentColor) 6px 15px / 22px 3px no-repeat,
		linear-gradient(currentColor, currentColor) 0 30px / 22px 3px no-repeat;
	color: var(--go-green-700);
	transform: translateY(-50%) rotate(-14deg);
}

.go-faq__head h2.elementor-heading-title::before {
	left: 0;
}

.go-faq__head h2.elementor-heading-title::after {
	right: 0;
	transform: translateY(-50%) scaleX(-1) rotate(-14deg);
}

.go-faq__sub {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--go-forest-800);
}

.go-faq__sub p {
	margin: 0;
}

.go-faq__tag {
	margin: 0;
	font-family: var(--go-font-accent);
	font-style: italic;
	font-size: 22px;
	color: var(--go-green-700);
}

.go-faq__tag p {
	margin: 0;
}

.elementor-widget-html.go-faq__flight {
	position: absolute;
	top: 6px;
	right: 4%;
	width: clamp(150px, 20vw, 260px);
	pointer-events: none;
}

.go-faq__flight svg {
	display: block;
	width: 100%;
	height: auto;
	color: var(--go-green-700);
}

.e-con.go-faq__grid {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	width: calc(100% - 2 * var(--go-gutter));
	max-width: var(--go-content-width);
	margin-bottom: 36px;
}

.e-con.go-faq-card {
	--padding-top: 22px;
	--padding-bottom: 22px;
	--padding-left: 20px;
	--padding-right: 20px;
	--flex-direction: row;
	--gap: 14px;
	--align-items: center;
	position: relative;
	flex-direction: row;
	align-items: center;
	border-radius: 22px;
	background: var(--faq-tint, #EAF6EE);
	box-shadow: 0 2px 0 rgba(255, 255, 255, .7) inset, 0 8px 22px rgba(10, 45, 39, .07);
	counter-increment: go-faq;
}

.go-faq-card::before {
	content: counter(go-faq);
	position: absolute;
	top: -12px;
	left: -8px;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--faq-badge, #2E7D32);
	color: var(--go-white);
	font-family: var(--go-font-body);
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
	box-shadow: 0 4px 10px rgba(10, 45, 39, .22);
}

.elementor-widget-icon.go-faq-card__icon {
	flex: none;
	width: 72px;
}

.elementor-widget-icon.go-faq-card__icon .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .72);
	color: var(--faq-badge, #2E7D32);
	font-size: 32px;
	line-height: 1;
}

.elementor-widget-icon.go-faq-card__icon .elementor-icon :is(svg, i) {
	width: 32px;
	height: 32px;
	color: var(--faq-badge, #2E7D32);
	fill: currentColor;
}

.e-con.go-faq-card__body {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--row-gap: 6px;
	flex: 1 1 0;
	min-width: 0;
}

.go-faq-card h3.elementor-heading-title {
	margin: 0;
	font-family: var(--go-font-body);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
	color: var(--go-forest-800);
}

.go-faq-card .elementor-widget-text-editor {
	font-family: var(--go-font-body);
	font-size: 14px;
	line-height: 1.5;
	color: #36474A;
}

.go-faq-card .elementor-widget-text-editor p {
	margin: 0;
}

/* FAQ colours: the original sky, deep green and pastel tints sampled from the supplied FAQ image (restored 29 Oct 2026; the palette swap does not apply here). */
.go-faq-card--1 { --faq-tint: #E5F4EA; --faq-badge: #2E7D32; }
.go-faq-card--2 { --faq-tint: #FCF1D2; --faq-badge: #E69A0B; }
.go-faq-card--3 { --faq-tint: #DDF1F1; --faq-badge: #14A3A8; }
.go-faq-card--4 { --faq-tint: #FCE4E0; --faq-badge: #E5604F; }
.go-faq-card--5 { --faq-tint: #E9E6F7; --faq-badge: #7A67C7; }
.go-faq-card--6 { --faq-tint: #E4F2DA; --faq-badge: #5E9A25; }
.go-faq-card--7 { --faq-tint: #DDF1EE; --faq-badge: #14A3A8; }
.go-faq-card--8 { --faq-tint: #FCF1D2; --faq-badge: #E69A0B; }
.go-faq-card--9 { --faq-tint: #FCE4E0; --faq-badge: #E5604F; }

/* The "Happy Travels Always" band was removed on 29 Oct 2026 (contact-us.js no longer builds it). Stop-gap for the live page,
   whose data still has the container: Elementor class go-faq__land (image widget go-faq__landscape, text widget go-faq__sign). */
.e-con.go-faq__land,
.go-faq__land {
	display: none !important;
}

/* ---------- 7. Closing CTA ---------- */
.e-con.go-contact-cta {
	--padding-top: 64px;
	--padding-bottom: 64px;
	--row-gap: 16px;
	--align-items: center;
	align-items: center;
	text-align: center;
	background-color: var(--go-white);
}

.go-contact-cta h2.elementor-heading-title {
	margin: 0;
	font-family: var(--go-font-display);
	font-weight: 400;
	font-size: clamp(32px, 4.4vw, 52px);
	line-height: 1.1;
	color: var(--go-forest-800);
}

/* White strip (27 Oct 2026): the container still carries go-on-dark, so the light-section look is set back here. */
.go-contact-cta.go-on-dark h2.elementor-heading-title {
	color: var(--go-forest-800);
}

.go-contact-cta.go-on-dark .go-accent {
	color: var(--go-forest-800);
	background: linear-gradient(transparent 58%, var(--go-accent) 58%, var(--go-accent) 92%, transparent 92%);
}

.go-contact-cta .elementor-widget-text-editor {
	max-width: 560px;
	margin: 0 auto;
	font-family: var(--go-font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--go-text-muted);
}

.go-contact-cta.go-on-dark .elementor-widget-text-editor,
.go-contact-cta.go-on-dark .elementor-widget-text-editor p {
	color: var(--go-text-muted);
}

.go-contact-cta .elementor-widget-text-editor p {
	margin: 0;
}

.e-con.go-contact-cta__actions {
	--flex-direction: row;
	--gap: 12px;
	--padding-top: 8px;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--justify-content: center;
	flex-wrap: wrap;
	justify-content: center;
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
	.e-con.go-contact-hero {
		--padding-top: 48px;
		--padding-bottom: 128px;
		min-height: 0;
	}

	.e-con.go-contact-main__grid {
		grid-template-columns: minmax(0, 1fr);
		margin-top: -104px;
	}

	.e-con.go-contact-about__top {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
	}

	.e-con.go-contact-people {
		grid-template-columns: minmax(0, 1fr);
	}

	.e-con.go-contact-main {
		--padding-bottom: 60px;
	}

	.e-con.go-contact-about {
		--padding-top: 64px;
		--padding-bottom: 64px;
		--row-gap: 36px;
	}

	.elementor-widget-video.go-contact-video {
		width: 100%;
	}

	.e-con.go-awards {
		--padding-top: 44px;
		--padding-bottom: 44px;
	}

	.e-con.go-contact-cta {
		--padding-top: 52px;
		--padding-bottom: 52px;
	}

	.e-con.go-cow {
		--padding-top: 40px;
		--padding-bottom: 40px;
		--flex-direction: column;
		--column-gap: 0;
		--row-gap: 28px;
		flex-direction: column;
		align-items: stretch;
	}

	/* the boxed container keeps its children in .e-con-inner, so stack that too */
	.e-con.go-cow > .e-con-inner {
		flex-direction: column;
		align-items: stretch;
		gap: 28px;
	}

	.e-con.go-cow__copy {
		flex: none;
		width: 100%;
	}

	.e-con.go-cow__stage {
		--width: 100%;
		flex: none;
		width: 100%;
		max-width: 420px;
		min-height: 330px;
		margin: 0 auto;
	}

	.e-con.go-awards__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.e-con.go-faq__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Tablet only: the form card is a centred, narrower card (not the full width), with email and destination side by side. */
@media (min-width: 768px) and (max-width: 1024px) {
	.e-con.go-contact-form-card {
		width: 100%;
		max-width: 600px;
		margin-inline: auto;
	}

	.go-contact-form-card .go-enquiry .go-enquiry__row--email,
	.go-contact-form-card .go-enquiry .go-enquiry__row--interest {
		grid-column: auto;
	}
}

/* ---------- Phone ---------- */
/* 29 Oct 2026: phone sizes are a further 30% below the previous phone sizes for the hero, every image and the awards band. */
@media (max-width: 767px) {
	/* 30 Oct 2026: hero box a further 30% shorter (537 to about 376 px at 375 wide); the two buttons sit side by side. */
	.e-con.go-contact-hero {
		--padding-top: 20px;
		--padding-bottom: 50px;
	}

	.e-con.go-contact-hero__copy {
		--row-gap: 8px;
	}

	.go-contact-hero .elementor-widget-heading h1.elementor-heading-title {
		font-size: 26px;
		line-height: 1.1;
	}

	.go-contact-hero .elementor-widget-text-editor {
		font-size: 14px;
		line-height: 1.45;
	}

	.go-contact-hero .elementor-widget-text-editor p {
		margin: 0 0 .5em;
	}

	.go-contact-hero .go-contact-hero__kicker {
		font-size: 15px;
	}

	.e-con.go-contact-hero__actions {
		--gap: 8px;
		--padding-top: 4px;
		flex-wrap: nowrap;
	}

	.go-contact-hero__actions .elementor-widget {
		flex: 1 1 0;
		min-width: 0;
	}

	.go-contact-hero__actions .elementor-widget .elementor-button {
		width: 100%;
		min-height: 44px;
		padding: 8px 6px;
		font-size: 14px;
		white-space: nowrap;
		text-align: center;
	}

	.e-con.go-contact-main {
		--padding-bottom: 40px;
	}

	.e-con.go-contact-main__grid {
		margin-top: -30px;
		gap: 16px;
	}

	.e-con.go-contact-info {
		--row-gap: 12px;
	}

	.go-contact-info > .elementor-widget-heading h2.elementor-heading-title,
	.go-contact-form-card h2.elementor-heading-title {
		font-size: 24px;
	}

	.e-con.go-contact-tiles {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.e-con.go-contact-tile {
		--padding-top: 16px;
		--padding-bottom: 16px;
		--padding-left: 16px;
		--padding-right: 16px;
		--row-gap: 10px;
		font-size: 14px;
	}

	.e-con.go-contact-tile__head {
		--gap: 10px;
		padding-bottom: 10px;
	}

	.go-contact-tile h3.elementor-heading-title {
		font-size: 16px;
	}

	.elementor-widget-icon.go-contact-tile__icon .elementor-icon {
		width: 32px;
		height: 32px;
	}

	.elementor-widget-icon.go-contact-tile__icon .elementor-icon :is(svg, i) {
		width: 14px;
		height: 14px;
	}

	.go-contact-tile .go-offices {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.go-contact-tile .go-hours {
		font-size: 14px;
	}

	.go-contact-tile .go-hours :is(th, td) {
		padding: 4px 8px 4px 0;
	}

	/* The enquiry form: tighter card, 44 px fields, 16 px text (no iOS zoom), name and phone side by side */
	.e-con.go-contact-form-card {
		--padding-top: 14px;
		--padding-bottom: 14px;
		--padding-left: 12px;
		--padding-right: 12px;
		--row-gap: 6px;
		border-top-width: 4px;
	}

	.go-contact-form-card h2.elementor-heading-title {
		font-size: 20px;
	}

	.go-contact-form-card .elementor-widget-text-editor {
		font-size: 13px;
		line-height: 1.4;
	}

	.go-contact-form-card .go-enquiry {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.go-contact-form-card .go-enquiry label {
		font-size: 13px;
	}

	.go-contact-form-card .go-enquiry .go-enquiry__row {
		gap: 4px;
	}

	.go-contact-form-card .go-enquiry.go-enquiry .go-enquiry__row :is(input, textarea) {
		min-height: 42px;
		padding: 8px 10px;
		font-size: 16px;
	}

	.go-contact-form-card .go-enquiry textarea {
		height: 56px;
		min-height: 56px;
	}

	.go-contact-form-card .go-enquiry .go-enquiry__actions {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}

	.go-contact-form-card .go-enquiry .go-enquiry__send {
		min-height: 44px;
		font-size: 15px;
	}

	.go-contact-form-card .go-enquiry .go-enquiry__note {
		font-size: 12px;
		line-height: 1.35;
	}

	.e-con.go-contact-about {
		--padding-top: 24px;
		--padding-bottom: 40px;
		--row-gap: 16px;
	}

	/* The promo video sits between the About paragraphs, above "Our philosophy": the text column dissolves into the grid so the video can be ordered between its widgets. */
	.e-con.go-contact-about__top {
		gap: 10px;
	}

	.go-contact-about__text .elementor-widget-text-editor p {
		margin: 0 0 .5em;
		font-size: 14px;
		line-height: 1.5;
	}

	/* Boxed containers keep their widgets inside .e-con-inner, so that wrapper dissolves too. */
	.e-con.go-contact-about__text,
	.e-con.go-contact-about__text > .e-con-inner {
		display: contents;
	}

	/* Order: heading, intro paragraphs, VIDEO, "We believe a holiday…" paragraph, "Our philosophy". The text widget is split in two on the page (31 Oct 2026). */
	.go-contact-about__text > .e-con-inner > :nth-child(1),
	.go-contact-about__text > :nth-child(1) { order: 1; }
	.go-contact-about__text > .e-con-inner > :nth-child(2),
	.go-contact-about__text > :nth-child(2) { order: 2; }
	.elementor-widget-video.go-contact-video { order: 3; margin-block: 8px 12px; }
	.go-contact-about__text > .e-con-inner > :nth-child(3),
	.go-contact-about__text > :nth-child(3) { order: 4; }
	.go-contact-about__text > .e-con-inner > :nth-child(4),
	.go-contact-about__text > :nth-child(4) { order: 5; }

	.go-contact-about .go-section-head h2.elementor-heading-title {
		font-size: 26px;
		line-height: 1.15;
	}

	.e-con.go-contact-about .go-section-head {
		--padding-left: 0;
		--padding-right: 0;
		padding-inline: 0;
	}

	.go-contact-about__text h3.elementor-heading-title {
		font-size: 20px;
	}

	.elementor-widget-video.go-contact-video {
		width: 100%;
	}

	.go-contact-video::after {
		inset: 10px -8px -8px 10px;
	}

	/* 31 Oct 2026: phone founder/team cards, photo on the left and text on the right (as on desktop), with a smaller photo and 12 px text. */
	.e-con.go-contact-people,
	.e-con.go-contact-people__side {
		gap: 12px;
		--row-gap: 12px;
	}

	.e-con.go-contact-profile {
		--padding-top: 12px;
		--padding-bottom: 12px;
		--padding-left: 12px;
		--padding-right: 12px;
		--flex-direction: row;
		--align-items: flex-start;
		--gap: 12px;
		flex-direction: row;
		align-items: flex-start;
	}

	.elementor-widget-image.go-contact-profile__photo,
	.go-contact-profile--founder .elementor-widget-image.go-contact-profile__photo {
		flex: none;
		max-width: 72px;
		width: 72px;
	}

	.go-contact-profile__photo img {
		border-radius: var(--go-radius-md, 12px);
	}

	.e-con.go-contact-profile__body {
		--row-gap: 3px;
	}

	.go-contact-profile .go-contact-role {
		font-size: 10px;
		letter-spacing: .08em;
		line-height: 1.3;
	}

	.go-contact-profile h3.elementor-heading-title {
		font-size: 16px;
	}

	.go-contact-profile .elementor-widget-text-editor p {
		margin: 0;
		font-size: 12px;
		line-height: 1.45;
	}

	/* 31 Oct 2026: phone Purple Cow. The two photos become tilted polaroids (white frame, deeper bottom edge, soft shadow) overlapping a little;
	   heading centred under them; compact 12.5 px copy with real paragraph spacing. */
	.e-con.go-cow {
		--padding-top: 24px;
		--padding-bottom: 24px;
		--row-gap: 14px;
	}

	.e-con.go-cow > .e-con-inner {
		gap: 14px;
	}

	.go-cow::before {
		height: 200px;
	}

	.e-con.go-cow__stage {
		max-width: 260px;
		min-height: 168px;
	}

	.elementor-widget-image.go-cow__field,
	.elementor-widget-image.go-cow__poster {
		width: 42%;
	}

	.elementor-widget-image.go-cow__field {
		top: 4px;
		left: 5%;
		z-index: 1;
		transform: rotate(-6deg);
	}

	.elementor-widget-image.go-cow__poster {
		right: 5%;
		bottom: 0;
		z-index: 2;
		transform: rotate(5deg);
	}

	.go-cow__field img,
	.go-cow__poster img {
		border: 5px solid var(--go-white);
		border-bottom-width: 16px;
		border-radius: 3px;
		background: var(--go-white);
		box-shadow: 0 8px 18px rgba(0, 0, 0, .4);
	}

	.go-cow__field img {
		aspect-ratio: 1 / 1.12;
	}

	.e-con.go-cow__copy {
		--row-gap: 8px;
		width: 100%;
	}

	.go-cow h2.elementor-heading-title {
		font-size: 21px;
		line-height: 1.15;
		text-align: center;
		overflow-wrap: anywhere;
	}

	.go-cow .elementor-widget-text-editor {
		font-size: 12.5px;
		line-height: 1.5;
	}

	.go-cow .elementor-widget-text-editor p {
		margin: 0 0 .6em;
	}

	.go-cow .go-btn-cta.elementor-widget {
		align-self: stretch;
	}

	.go-cow .go-btn-cta .elementor-button {
		width: 100%;
		min-height: 42px;
		height: auto;
		padding-block: 6px;
		font-size: 14px;
		line-height: 1.2;
	}

	.go-cow .go-btn-cta .elementor-button :is(.elementor-button-content-wrapper, .elementor-button-text) {
		white-space: normal;
		text-align: center;
	}

	.go-cow .go-cow__big {
		font-size: 20px;
	}

	.go-cow .go-cow__close {
		font-size: 13px;
		line-height: 1.35;
		padding-left: 10px;
		margin-top: 2px;
	}

	.e-con.go-awards {
		--padding-top: 39px;
		--padding-bottom: 39px;
		--row-gap: 18px;
	}

	.go-awards h2.elementor-heading-title {
		font-size: 24px;
	}

	.e-con.go-awards__stats {
		gap: 8px;
	}

	.e-con.go-awards__stat {
		--padding-top: 14px;
		--padding-bottom: 14px;
		--padding-left: 10px;
		--padding-right: 6px;
	}

	.go-awards__stat::before {
		left: 6px;
	}

	.go-awards__stat .elementor-counter-number-wrapper {
		font-size: 24px;
	}

	.go-awards__stat .elementor-counter-title {
		font-size: 14px;
	}

	.elementor-widget-image.go-awards__photo {
		width: 70%;
	}

	.go-awards__photo img {
		aspect-ratio: 4 / 3;
		border-width: 3px;
	}

	.e-con.go-faq {
		--padding-top: 32px;
		--padding-bottom: 36px;
		--row-gap: 20px;
	}

	.go-faq__head h2.elementor-heading-title {
		padding: 0 36px;
		font-size: clamp(44px, 14vw, 56px);
	}

	.go-faq__sub {
		font-size: 11.5px;
		letter-spacing: .18em;
	}

	.go-faq__tag {
		font-size: 18px;
	}

	.elementor-widget-html.go-faq__flight {
		display: none;
	}

	.e-con.go-faq__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
		margin-bottom: 28px;
	}

	.e-con.go-faq-card {
		--padding-top: 14px;
		--padding-bottom: 14px;
		--padding-left: 14px;
		--padding-right: 14px;
		--gap: 10px;
	}

	.go-faq-card h3.elementor-heading-title {
		font-size: 16px;
	}

	.elementor-widget-image.go-faq__palm {
		width: 84px;
	}

	/* Same specificity as the desktop rule (section 6), or the 72px circle stays and spills over the text beside it. */
	.elementor-widget-icon.go-faq-card__icon,
	.elementor-widget-icon.go-faq-card__icon .elementor-icon {
		width: 44px;
		height: 44px;
		font-size: 22px;
	}

	.elementor-widget-icon.go-faq-card__icon .elementor-icon :is(svg, i) {
		width: 22px;
		height: 22px;
	}

	.go-faq-card::before {
		width: 38px;
		height: 38px;
		font-size: 18px;
	}

	.e-con.go-contact-cta {
		--padding-top: 36px;
		--padding-bottom: 36px;
		--row-gap: 12px;
	}

	.go-contact-cta .elementor-widget-text-editor {
		font-size: 15px;
	}

	.e-con.go-contact-cta__actions {
		--flex-direction: column;
		--gap: 8px;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	.go-contact-cta__actions .elementor-widget,
	.go-contact-cta__actions .elementor-button,
	.go-contact-cta__actions a {
		width: 100%;
	}
}

/* ---------- Motion: one arrival, then still. Reduced motion gets none of it (counters show their final numbers). ---------- */
@media (prefers-reduced-motion: no-preference) {
	.go-contact-hero .go-contact-hero__copy > * {
		animation: go-contact-rise 700ms var(--go-ease-in) both;
	}

	.go-contact-hero .go-contact-hero__copy > *:nth-child(2) { animation-delay: 80ms; }
	.go-contact-hero .go-contact-hero__copy > *:nth-child(3) { animation-delay: 160ms; }
	.go-contact-hero .go-contact-hero__copy > *:nth-child(4) { animation-delay: 240ms; }

	@keyframes go-contact-rise {
		from {
			opacity: 0;
			transform: translateY(18px);
		}

		to {
			opacity: 1;
			transform: none;
		}
	}

	.go-motion .go-cow__stage.go-reveal:not(.is-in) .go-cow__poster {
		opacity: 0;
		transform: rotate(3deg) translateY(36px);
	}

	.go-motion .go-cow__stage.go-reveal.is-in .go-cow__poster {
		transition: opacity 700ms var(--go-ease-in) 220ms, transform 700ms var(--go-ease-in) 220ms;
	}
}

/* The soft glow sits behind the images; stacked on tablet and phone the images are on top, so it is pinned to the top and kept off the copy. */
@media (max-width: 1024px) {
	.go-cow::before {
		left: 50%;
		top: 0;
		width: min(560px, 100%);
		height: 380px;
		transform: translateX(-50%);
	}
}
