/* ==========================================================================
   Earls Gate theme: component styles
   --------------------------------------------------------------------------
   Colours, fonts and font sizes are defined in theme.json and can be changed
   in Appearance > Editor > Styles. This file adds what blocks cannot do on
   their own: the fixed header, cards, heroes, photo labels and animations.

   Class names used in the patterns (Block > Advanced > Additional CSS class):
     eg-section        a full-width page section
     eg-reveal         fades in when scrolled into view
     eg-reveal-grid    its cards fade in one after the other
     eg-countup        the number in this paragraph counts up once
     eg-split          two columns that stack below 1000px
     eg-split--reverse when stacked, the second column comes first
     eg-maxw-16ch ...  limits a heading to about 16 characters per line
   ========================================================================== */

/* ---------- 1. Base ---------- */

html {
	scroll-behavior: smooth;
	scroll-padding-top: 72px;
	-webkit-text-size-adjust: 100%;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

::selection {
	background: #8abd3a;
	color: #152940;
}

img,
video {
	max-width: 100%;
}

h1,
h2 {
	text-wrap: balance;
}

h1,
h2,
h3 {
	margin-top: 0;
}

/* One-line labels, names, values, tags and buttons use the font's natural line height, as in the design. */
p.is-style-label,
p.is-style-tag,
p.is-style-tag-green,
p.eg-stat-label,
p.eg-footer__copy,
p.eg-kicker,
p.eg-badge,
p.eg-photo-label,
p.eg-fact-value,
p.eg-fact-label,
p.eg-fact-key,
p.eg-card-cta,
p.eg-person-name,
p.eg-person-role,
p.eg-tl-date,
p.eg-label-strong,
p.eg-kv-key,
p.eg-kv-value,
p.eg-checklist-title,
.eg-checklist li,
.eg-lh-normal,
h2.eg-aside-title,
.wp-block-button__link {
	line-height: normal;
}

/* Keeps a hyphenated term on one line, for example "CPI-linked" (helper class eg-nobr). */
.eg-nobr {
	white-space: nowrap;
}

/* Balanced line breaks for intro and body texts, as in the design. */
.is-style-lead,
.eg-body {
	text-wrap: pretty;
}

.eg-hero--legal .is-style-lead {
	text-wrap: wrap;
}

/* Header, content and footer sit directly on each other. */
.wp-site-blocks > * {
	margin-block-start: 0;
}

.wp-block-post-content > .alignfull,
.entry-content > .alignfull {
	margin-block-start: 0;
	margin-block-end: 0;
}

.eg-main {
	position: relative;
}

@keyframes egPulse {
	0% { box-shadow: 0 0 0 0 rgba(138, 189, 58, 0.7); }
	70% { box-shadow: 0 0 0 10px rgba(138, 189, 58, 0); }
	100% { box-shadow: 0 0 0 0 rgba(138, 189, 58, 0); }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- 2. Dark backgrounds: light text automatically ---------- */

:is(.has-navy-900-background-color, .has-navy-background-color, .has-navy-deep-background-color,
	.has-navy-cta-gradient-background, .has-cta-glow-85-gradient-background,
	.has-cta-glow-88-gradient-background, .wp-block-cover.eg-hero, .is-style-card-navy, .is-style-card-glass) {
	color: rgba(255, 255, 255, 0.86);
}

:is(.has-navy-900-background-color, .has-navy-background-color, .has-navy-deep-background-color,
	.has-navy-cta-gradient-background, .has-cta-glow-85-gradient-background,
	.has-cta-glow-88-gradient-background, .wp-block-cover.eg-hero, .is-style-card-navy) :is(h1, h2, h3, h4, h5) {
	color: #fff;
}

:is(.has-navy-900-background-color, .has-navy-background-color, .has-navy-cta-gradient-background,
	.has-cta-glow-85-gradient-background, .has-cta-glow-88-gradient-background, .wp-block-cover.eg-hero) .is-style-lead {
	color: rgba(255, 255, 255, 0.86);
}

.eg-plugplay-section .is-style-lead {
	color: rgba(255, 255, 255, 0.8);
}

/* ---------- 3. Text styles ---------- */

.is-style-lead {
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.55;
	color: var(--wp--preset--color--muted-text);
	max-width: 680px;
}

.eg-measure-700 { max-width: 700px; }
.eg-measure-60ch { max-width: 60ch; }

.is-style-label {
	font-size: 14px;
	font-weight: 600;
	line-height: normal;
	color: var(--wp--preset--color--teal);
}

.eg-label-14 { font-size: 14px; }
.eg-label-15 { font-size: 15px; }
.eg-label-16 { font-size: 16px; }
.eg-label-strong { font-weight: 600; }

.eg-body {
	line-height: 1.65;
}

.is-style-arrow-link {
	font-size: 16px;
	font-weight: 600;
}

p.is-style-arrow-link {
	line-height: normal;
}

.is-style-arrow-link a {
	color: var(--wp--preset--color--navy);
	transition: color 0.2s;
}

.is-style-arrow-link a:hover {
	color: var(--wp--preset--color--navy-deep);
}

.is-style-arrow-link.has-green-color a {
	color: var(--wp--preset--color--green);
}

.is-style-arrow-link.has-green-color a:hover {
	color: #fff;
}

.eg-small-link {
	font-size: 15px;
}

.is-style-tag,
.is-style-tag-green {
	display: inline-block;
	margin: 0;
	padding: 9px 16px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.06);
	font-size: 15px;
	line-height: 1.35;
	color: #fff;
}

.is-style-tag-green {
	border-color: rgba(138, 189, 58, 0.5);
	background: rgba(138, 189, 58, 0.12);
}

.eg-maxw-16ch { max-width: 16ch; }
.eg-maxw-17ch { max-width: 17ch; }
.eg-maxw-18ch { max-width: 18ch; }
.eg-maxw-20ch { max-width: 20ch; }
.eg-maxw-22ch { max-width: 22ch; }

/* ---------- 4. Header and menu ---------- */

.eg-header {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	right: 0;
	z-index: 100;
	height: 72px;
	background: rgba(255, 255, 255, 0.82);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	border-bottom: 1px solid transparent;
	transition: background 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), border-color 0.3s, box-shadow 0.3s;
}

.eg-header.is-scrolled,
.eg-header:has(.is-menu-open) {
	background: rgba(255, 255, 255, 0.95);
	border-bottom-color: #d9dde0;
	box-shadow: 0 2px 8px rgba(42, 79, 124, 0.06);
}

.eg-header__bar {
	box-sizing: border-box;
	max-width: 1280px;
	height: 72px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 32px);
	gap: 24px;
}

.eg-header__logo {
	flex: 0 0 auto;
	margin: 0;
}

.eg-header__logo img {
	display: block;
	width: auto;
	height: 34px;
}

/* Desktop menu */
.eg-nav {
	font-size: 15px;
	font-weight: 500;
}

.eg-nav .wp-block-navigation-item__content {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 10px 16px;
	line-height: normal;
	border-radius: 999px;
	color: #424848;
	transition: background 0.2s, color 0.2s;
}

.eg-nav .wp-block-navigation-item__content:hover,
.eg-nav .wp-block-navigation-item__content:focus-visible {
	background: #f4f5f6;
	color: #2a4f7c;
}

.eg-nav .current-menu-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 4px;
	height: 2px;
	border-radius: 2px;
	background: #8abd3a;
}

.eg-nav .is-mobile-only {
	display: none;
}

/* Plug & Play dropdown */
.eg-nav .has-child {
	position: relative;
}

.eg-nav .has-child > .wp-block-navigation-item__content {
	padding-right: 30px;
}

.eg-nav .has-child.current-menu-item > .wp-block-navigation-item__content::after {
	right: 30px;
}

.eg-nav .has-child > .wp-block-navigation__submenu-icon {
	position: absolute;
	right: 14px;
	top: 50%;
	width: 12px;
	height: 12px;
	margin: -6px 0 0;
	padding: 0;
	color: #92999c;
}

.eg-nav .has-child > .wp-block-navigation__submenu-icon svg {
	width: 10px;
	height: 10px;
	stroke-width: 2px;
}

.eg-nav .wp-block-navigation__submenu-container {
	left: 50% !important;
	top: calc(100% + 4px) !important;
	min-width: 320px !important;
	padding: 8px !important;
	background: #fff !important;
	border: 1px solid #d9dde0 !important;
	border-radius: 20px;
	box-shadow: 0 8px 32px rgba(42, 79, 124, 0.1);
	transform: translateX(-50%) translateY(8px);
	transition: opacity 0.2s, transform 0.2s;
}

/* Invisible bridge so the dropdown stays open while the mouse moves down. */
.eg-nav .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -14px;
	height: 14px;
}

.eg-nav .has-child:hover > .wp-block-navigation__submenu-container,
.eg-nav .has-child:focus-within > .wp-block-navigation__submenu-container,
.eg-nav .has-child > [aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	transform: translateX(-50%) translateY(0);
}

.eg-nav .wp-block-navigation__submenu-container .wp-block-navigation-item {
	width: 100%;
}

.eg-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	width: 100%;
	padding: 12px 14px;
	border-radius: 12px;
	white-space: normal;
}

.eg-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
	font-size: 15px;
	font-weight: 600;
}

.eg-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__description {
	display: block;
	font-size: 13px;
	font-weight: 400;
	color: #5c6466;
}

/* "Book a plot consultation" button in the menu */
.eg-nav .is-cta {
	margin-left: 10px;
}

.eg-nav .is-cta > .wp-block-navigation-item__content {
	padding: 11px 22px;
	background: #8abd3a;
	color: #152940;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.01em;
	box-shadow: 0 4px 16px rgba(138, 189, 58, 0.3);
	transition: transform 0.2s, background 0.2s, box-shadow 0.25s;
}

.eg-nav .is-cta > .wp-block-navigation-item__content:hover,
.eg-nav .is-cta > .wp-block-navigation-item__content:focus-visible {
	background: #7cad30;
	color: #152940;
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(138, 189, 58, 0.4);
}

.eg-nav .is-cta > .wp-block-navigation-item__content::after {
	display: none;
}

/* Burger and close buttons */
.eg-nav .wp-block-navigation__responsive-container-open,
.eg-nav .wp-block-navigation__responsive-container-close {
	position: relative;
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: 999px;
	align-items: center;
	justify-content: center;
	color: #424848;
	background: transparent;
}

.eg-nav .wp-block-navigation__responsive-container-open svg,
.eg-nav .wp-block-navigation__responsive-container-close svg {
	display: none;
}

.eg-nav .wp-block-navigation__responsive-container-open::before {
	content: "";
	width: 22px;
	height: 1.5px;
	background: currentColor;
	box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
}

.eg-nav .wp-block-navigation__responsive-container-close::before,
.eg-nav .wp-block-navigation__responsive-container-close::after {
	content: "";
	position: absolute;
	left: 11px;
	top: 21px;
	width: 22px;
	height: 1.5px;
	background: currentColor;
	transform: rotate(45deg);
}

.eg-nav .wp-block-navigation__responsive-container-close::after {
	transform: rotate(-45deg);
}

/* Below 1060px: burger menu */
@media (max-width: 1059.98px) {
	.eg-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.eg-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

/* The open mobile menu: a panel under the header (the header is its frame). */
.eg-nav .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed;
	top: 72px;
	left: 0;
	right: 0;
	bottom: auto;
	max-height: calc(100vh - 72px - var(--wp-admin--admin-bar--height, 0px));
	overflow: auto;
	padding: 12px clamp(20px, 4vw, 32px) 24px;
	background: #fff;
	border-bottom: 1px solid #d9dde0;
	box-shadow: 0 8px 32px rgba(42, 79, 124, 0.1);
	animation: none;
}

.eg-nav .is-menu-open .wp-block-navigation__responsive-close,
.eg-nav .is-menu-open .wp-block-navigation__responsive-dialog {
	max-width: none;
	margin: 0;
}

.eg-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	position: fixed;
	top: 14px;
	right: clamp(20px, 4vw, 32px);
	display: flex;
}

.eg-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 0 !important;
	align-items: stretch !important;
}

.eg-nav .is-menu-open .wp-block-navigation__container {
	flex-direction: column;
	align-items: stretch !important;
	gap: 2px !important;
	width: 100%;
}

.eg-nav .is-menu-open .wp-block-navigation-item {
	flex-direction: column;
	align-items: stretch !important;
	width: 100%;
	margin: 0;
}

.eg-nav .is-menu-open .wp-block-navigation-item__content {
	display: block;
	padding: 14px 12px !important;
	border-radius: 12px;
	font-size: 17px;
	font-weight: 500;
	color: #424848;
}

.eg-nav .is-menu-open .wp-block-navigation-item__content::after {
	display: none;
}

.eg-nav .is-menu-open .is-mobile-only {
	display: flex;
}

.eg-nav .is-menu-open .is-desktop-only {
	display: none !important;
}

.eg-nav .is-menu-open .wp-block-navigation__submenu-icon {
	display: none !important;
}

.eg-nav .is-menu-open .wp-block-navigation__submenu-container {
	position: static !important;
	min-width: 0 !important;
	margin: 0 0 4px 12px !important;
	padding: 0 0 0 12px !important;
	border: 0 !important;
	border-left: 1.5px solid #d9dde0 !important;
	border-radius: 0;
	box-shadow: none;
	transform: none !important;
	gap: 2px;
}

/* Hide the burger while the menu is open (the close button sits in its place). */
.eg-nav:has(.is-menu-open) .wp-block-navigation__responsive-container-open {
	opacity: 0;
	pointer-events: none;
}

.eg-nav .is-menu-open .wp-block-navigation__submenu-container::before {
	display: none;
}

.eg-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 11px 12px !important;
	font-size: 15px;
	font-weight: 400;
	color: #5c6466;
}

.eg-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
	font-size: 15px;
	font-weight: 400;
}

.eg-nav .is-menu-open .wp-block-navigation-item__description {
	display: none !important;
}

.eg-nav .is-menu-open .is-cta {
	margin: 10px 0 0;
}

.eg-nav .is-menu-open .is-cta > .wp-block-navigation-item__content {
	display: flex;
	justify-content: center;
	padding: 16px 24px !important;
	border-radius: 999px;
	background: #8abd3a;
	color: #152940;
	font-size: 16px;
	font-weight: 600;
	box-shadow: none;
}

/* ---------- 5. Buttons ---------- */

.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: transform 0.2s, background 0.2s, box-shadow 0.25s, border-color 0.2s, color 0.2s;
}

.wp-block-button:not([class*="is-style-"]) > .wp-block-button__link,
.wp-block-button.is-style-fill > .wp-block-button__link {
	box-shadow: 0 4px 16px rgba(138, 189, 58, 0.3);
}

.wp-block-button:not([class*="is-style-"]) > .wp-block-button__link:hover,
.wp-block-button.is-style-fill > .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(138, 189, 58, 0.4);
}

.wp-block-buttons > .wp-block-button.is-style-outline > .wp-block-button__link {
	padding: 18px 34px;
	border: 1.5px solid #2a4f7c;
	background: transparent;
	color: #2a4f7c;
}

.wp-block-buttons > .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: #2a4f7c;
	color: #fff;
}

.wp-block-buttons > .wp-block-button.is-style-ghost > .wp-block-button__link {
	border: 1.5px solid rgba(255, 255, 255, 0.35);
	background: transparent;
	color: #fff;
}

.wp-block-buttons > .wp-block-button.is-style-ghost > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.6);
	color: #fff;
}

.wp-block-buttons > .wp-block-button.is-style-glass > .wp-block-button__link {
	border: 1.5px solid rgba(255, 255, 255, 0.3);
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

.wp-block-buttons > .wp-block-button.is-style-glass > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.5);
	color: #fff;
}

.wp-block-buttons > .wp-block-button.is-style-navy > .wp-block-button__link {
	background: #2a4f7c;
	color: #fff;
}

.wp-block-buttons > .wp-block-button.is-style-navy > .wp-block-button__link:hover {
	background: #1f3b5e;
	color: #fff;
}

.wp-block-buttons > .wp-block-button.is-style-pill > .wp-block-button__link {
	gap: 10px;
	padding: 10px 18px;
	border: 1px solid rgba(255, 255, 255, 0.24);
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	font-size: 15px;
	font-weight: 400;
}

.wp-block-buttons > .wp-block-button.is-style-pill > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.45);
	color: #fff;
}

.wp-block-buttons > .wp-block-button.is-size-medium > .wp-block-button__link {
	padding: 14px 26px;
	font-size: 15px;
}

.wp-block-buttons > .wp-block-button.is-size-small > .wp-block-button__link {
	padding: 10px 18px;
	font-size: 14px;
}

.wp-block-buttons > .wp-block-button.is-size-hero-s > .wp-block-button__link {
	padding: 16px 30px;
}

.wp-block-buttons {
	gap: 12px;
}

/* ---------- 6. Sections and layout helpers ---------- */

.eg-section {
	position: relative;
}

.eg-grow {
	flex: 1 1 0;
	min-width: 0;
}

.eg-mt-section {
	margin-top: clamp(56px, 7vw, 88px) !important;
}

@media (max-width: 999px) {
	.wp-block-columns.eg-split {
		flex-wrap: wrap !important;
	}

	.wp-block-columns.eg-split > .wp-block-column {
		flex-basis: 100% !important;
	}

	.wp-block-columns.eg-split--reverse {
		flex-direction: column-reverse;
	}
}

/* ---------- 7. Cards, tiles and panels ---------- */

.is-style-card,
.is-style-card-navy,
.is-style-card-green {
	box-sizing: border-box;
	padding: 32px;
	border-radius: 20px;
}

.is-style-card {
	background: #fff;
	border: 1px solid #d9dde0;
}

.is-style-card-navy {
	background: #2a4f7c;
	border: 1px solid #2a4f7c;
}

.is-style-card-green {
	background: #f2f8e8;
	border: 1px solid #8abd3a;
}

.is-style-card-glass {
	box-sizing: border-box;
	padding: 24px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.85);
}

.is-style-card > *,
.is-style-card-navy > *,
.is-style-card-green > *,
.is-style-card-glass > * {
	margin-bottom: 0;
}

.is-style-card p,
.is-style-card-green p {
	color: #424848;
}

.is-style-card-navy p {
	color: rgba(255, 255, 255, 0.86);
}

.is-style-card-glass p:not(.is-style-label) {
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.55;
}

.eg-card-30 {
	padding: 30px;
}

.is-style-panel {
	box-sizing: border-box;
	padding: clamp(24px, 4vw, 40px);
	border-radius: 20px;
	background: #f4f5f6;
}

.is-style-tiles {
	overflow: hidden;
	border: 1px solid #d9dde0;
	border-radius: 20px;
	background: #d9dde0;
}

.is-style-tiles > * {
	margin: 0 !important;
	background: #fff;
}

.eg-hover-lift {
	transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s, background 0.3s;
}

.eg-hover-lift:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 32px rgba(42, 79, 124, 0.08);
	border-color: #2a4f7c;
}

.is-style-card-navy.eg-hover-lift:hover {
	background: #1f3b5e;
	box-shadow: 0 24px 64px rgba(42, 79, 124, 0.14);
}

/* Whole card is clickable (link inside the last paragraph). */
.eg-link-card,
.eg-card-ben {
	position: relative;
	display: flex;
	flex-direction: column;
}

.eg-card-cta {
	margin-top: auto !important;
	padding-top: 20px;
	font-size: 15px;
	font-weight: 600;
}

.eg-card-cta a {
	color: #8abd3a;
	transition: color 0.2s;
}

.eg-card-ben .eg-card-cta a:hover {
	color: #fff;
}

.eg-card-ben .eg-card-cta {
	padding-top: 12px;
}

.eg-card-ben p:not(.eg-card-cta):not(.is-style-label) {
	color: rgba(255, 255, 255, 0.88);
}

.eg-link-card .eg-card-cta a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

/* Highlighted green card with a link (Plug & Play > Utilities): a darker link on the light green. */
.is-style-card-green .eg-card-cta a {
	color: #2a4f7c;
}

.is-style-card-green .eg-card-cta a:hover {
	color: #152940;
}

.is-style-card-green.eg-hover-lift:hover {
	border-color: #8abd3a;
}

/* ---------- 8. Images ---------- */

.wp-block-image.is-style-photo,
.wp-block-image.is-style-photo-flat,
.wp-block-image.eg-hero-photo {
	margin: 0;
	overflow: hidden;
	border-radius: 20px;
}

.wp-block-image.is-style-photo {
	box-shadow: 0 24px 64px rgba(42, 79, 124, 0.14);
}

.wp-block-image.eg-hero-photo {
	border-radius: 24px;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
}

.wp-block-image.is-style-photo img,
.wp-block-image.is-style-photo-flat img,
.wp-block-image.eg-hero-photo img {
	display: block;
	width: 100%;
	border-radius: inherit;
}

.wp-block-image.eg-avatar {
	flex: 0 0 auto;
	margin: 0;
}

.wp-block-image.eg-avatar img {
	border-radius: 50%;
	object-fit: cover;
	object-position: center 20%;
}

.eg-division-logo {
	margin: 0 0 32px;
}

.eg-division-logo img {
	display: block;
	width: auto;
	height: 40px;
}

/* Live text labels on top of the white pills in the aerial photos */
.eg-photo {
	position: relative;
	container-type: inline-size;
}

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

.eg-photo > .eg-photo-label {
	position: absolute;
	margin: 0 !important;
	transform: translate(-50%, -50%);
	font-weight: 600;
	line-height: normal;
	color: #152940;
	white-space: nowrap;
	pointer-events: none;
}

.eg-pos-site-south { left: 11.25%; top: 40%; font-size: 2.2cqw; }
.eg-pos-site-north { left: 71.25%; top: 36.3%; font-size: 2.2cqw; }
.eg-pos-pano-north { left: 41.875%; top: 35.19%; font-size: 2cqw; }
.eg-pos-tanks-south { left: 51.25%; top: 36.3%; font-size: 1.8cqw; }

/* ---------- 9. Heroes ---------- */

.eg-hero-home .eg-kicker {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 28px;
	font-size: 16px;
	font-weight: 600;
}

.eg-hero-home .eg-kicker::before {
	content: "";
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #8abd3a;
	animation: egPulse 2.4s infinite;
}

.eg-hero-home h1 {
	margin: 0;
	line-height: 1.02;
}

.eg-hero-home h1 mark {
	font-weight: 400;
}

.eg-hero-home .is-style-lead {
	max-width: 560px;
	margin-top: 28px;
	font-size: clamp(18px, 1.45vw, 20px);
}

.eg-hero-home .wp-block-buttons {
	margin-top: 36px;
}

.eg-stats > .eg-stat {
	flex: 1 1 200px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.eg-stat-value {
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.eg-stat-label {
	font-size: 16px;
	color: rgba(255, 255, 255, 0.75);
}

/* Page heroes: photo with navy veil (Cover block) */
.wp-block-cover.eg-hero {
	min-height: 0;
	padding-left: 0;
	padding-right: 0;
	align-items: flex-start;
	overflow: hidden;
}

.wp-block-cover.eg-hero > .wp-block-cover__inner-container {
	box-sizing: border-box;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 32px);
	color: #fff;
}

.eg-hero h1 {
	margin: 0;
}

/* Legal pages: hero text lines up with the narrower text column below. */
.wp-block-cover.eg-hero--legal > .wp-block-cover__inner-container {
	max-width: calc(820px + 2 * clamp(20px, 4vw, 32px));
}

.eg-hero .eg-hero-label {
	margin: 0 0 20px;
	font-size: 16px;
}

.eg-hero .eg-hero-lead {
	max-width: 680px;
	margin-top: 28px;
	font-size: clamp(18px, 1.5vw, 21px);
}

.eg-hero .eg-tags {
	margin-top: 32px;
}

.eg-hero .wp-block-buttons {
	margin-top: 36px;
}

.eg-hero .eg-hero-buttons {
	margin-top: 36px;
}

.eg-hero .eg-onpage-nav {
	gap: 10px;
}

/* ---------- 10. Home sections ---------- */

.eg-tiles > .eg-tile {
	box-sizing: border-box;
	flex: 1 1 240px;
	padding: 36px 28px 34px;
}

/* Value cards on the home page: the whole card is a link (the link sits in the card title). */
.eg-tile-link {
	position: relative;
	transition: background 0.2s;
}

.eg-tile-link h3 a {
	color: inherit;
}

.eg-tile-link h3 a::after {
	position: absolute;
	inset: 0;
	content: "";
}

.eg-tile-link h3 a span {
	display: inline-block;
	transition: transform 0.2s;
}

.is-style-tiles > .eg-tile-link:hover {
	background: #f7f9fa;
}

.eg-tile-link:hover h3 a span {
	transform: translateX(4px);
}

p.eg-badge {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	border-radius: 12px;
	font-size: 17px;
	font-weight: 600;
	line-height: normal;
}

.eg-plugplay-section .eg-plugplay-link {
	max-width: 1040px;
	margin: 40px auto 0 !important;
	width: 100%;
}

.eg-intro-row > .eg-grow {
	flex: 0 1 780px;
	max-width: 780px;
}

.eg-checklist {
	padding: 12px 28px !important;
}

.eg-checklist-title {
	margin: 0;
	padding: 18px 0 14px;
	font-size: 16px;
}

.is-style-squares {
	margin: 0;
	padding: 0;
	list-style: none;
}

.is-style-squares > li {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 16px 0;
	border-top: 1px solid #d9dde0;
	font-size: 20px;
	line-height: 1.4;
	color: #2a4f7c;
}

.is-style-squares > li:last-child {
	padding-bottom: 18px;
}

.is-style-squares > li::before {
	content: "";
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	border-radius: 3px;
	background: #8abd3a;
}

.eg-banner {
	box-sizing: border-box;
	padding: clamp(44px, 6vw, 64px) clamp(24px, 5vw, 48px);
	border-radius: 20px;
	text-align: center;
}

.eg-banner-number {
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.03em;
}

.eg-banner-text {
	max-width: 30ch;
	margin-left: auto !important;
	margin-right: auto !important;
	line-height: 1.3;
	text-wrap: balance;
}

.eg-tenants > .eg-banner {
	margin-top: 48px;
}

.eg-tenants .is-style-card .is-style-label {
	margin: 0 0 12px;
}

.eg-tenants .is-style-card h3 {
	margin: 0 0 10px;
}

.eg-tenants .is-style-card p:not(.is-style-label) {
	margin: 0;
	line-height: 1.55;
}

/* Call to action blocks */
.eg-cta {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	border-radius: 28px;
	padding: clamp(44px, 6vw, 80px) clamp(24px, 5vw, 64px);
	color: #fff;
}

.eg-cta h2 {
	margin: 0;
	color: #fff;
}

.eg-cta .eg-cta-text {
	max-width: 560px;
	margin-top: 20px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.86);
}

.eg-cta > .eg-grow {
	flex: 1 1 440px;
}

.eg-cta > .eg-grow .eg-cta-text {
	max-width: 540px;
	color: rgba(255, 255, 255, 0.84);
}

.eg-cta .eg-cta-buttons {
	margin-top: 36px !important;
}

/* Columns measure their width including padding, as in the design. */
.wp-block-column {
	box-sizing: border-box;
}

/* Plots: feasibility call with Angus. Text and photo share the row like in the design
   and only stack when the photo would get narrower than 260px. */
.wp-block-columns.eg-cta-angus {
	flex-wrap: wrap !important;
}

.wp-block-columns.eg-cta-angus > .wp-block-column.eg-cta-angus__text {
	flex: 2 1 420px !important;
	min-width: 0;
}

.wp-block-columns.eg-cta-angus > .wp-block-column.eg-cta-angus__media {
	flex: 1 1 260px !important;
	min-width: 0;
}

.wp-block-columns.eg-cta-angus {
	gap: 0;
	padding: 0;
	align-items: stretch !important;
}

.eg-cta-angus__text {
	padding: clamp(40px, 6vw, 72px) clamp(24px, 5vw, 64px);
}

.eg-cta-angus__text .wp-block-buttons {
	margin-top: 32px;
}

.eg-cta-angus__text .eg-cta-text {
	max-width: 540px;
}

.eg-cta-angus__media {
	display: flex;
	min-height: 320px;
}

.eg-cta-angus__media > .wp-block-cover {
	flex: 1;
	min-height: 320px;
	padding: 22px 24px;
}

.eg-cta-angus__media .eg-person-name {
	margin: 0;
	font-size: 20px;
}

.eg-cta-angus__media .eg-person-role {
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
}

/* ---------- 11. Plots sections ---------- */

.eg-facts-row {
	margin-top: 28px !important;
	border-radius: 16px;
}

.eg-facts-row > .eg-fact {
	box-sizing: border-box;
	flex: 1 1 150px;
	padding: 18px 20px;
}

.eg-fact-value {
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: -0.02em;
}

/* FAQ */
.wp-block-details.is-style-faq {
	box-sizing: border-box;
	padding: 0 24px;
	border: 1px solid #d9dde0;
	border-radius: 16px;
	background: #fff;
}

.wp-block-details.is-style-faq > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 0;
	cursor: pointer;
	list-style: none;
	font-size: 19px;
	line-height: normal;
	color: #152940;
}

.wp-block-details.is-style-faq > summary::-webkit-details-marker {
	display: none;
}

.wp-block-details.is-style-faq > summary::marker {
	content: "";
}

.wp-block-details.is-style-faq > summary::after {
	content: "+";
	flex: 0 0 auto;
	font-size: 26px;
	font-weight: 300;
	line-height: normal;
	color: #2a4f7c;
	transition: transform 0.25s;
}

.wp-block-details.is-style-faq[open] > summary::after {
	transform: rotate(45deg);
}

.wp-block-details.is-style-faq > :not(summary) {
	max-width: 64ch;
	margin: 0;
	padding: 0 0 22px;
	font-size: 16px;
	line-height: 1.65;
	color: #424848;
}

.eg-faq-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.eg-faq-list > * {
	margin: 0 !important;
}

.eg-faq-intro {
	max-width: 440px;
}

/* ---------- 12. Plug & Play sections ---------- */

.eg-division-intro h2 {
	margin-bottom: 20px;
}

.eg-contact-bar {
	box-sizing: border-box;
	margin-top: 24px !important;
	padding: 24px 28px;
	border-radius: 20px;
}

.eg-contact-bar > .eg-grow {
	flex: 1 1 280px;
}

.eg-contact-bar p:not(.is-style-label) {
	line-height: 1.5;
}

.eg-quote {
	margin: 0;
	font-weight: 300;
	line-height: 1.25;
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.eg-quote-col .eg-people {
	margin-top: 32px;
}

.eg-quote-col .wp-block-buttons {
	margin-top: 28px;
}

.eg-labs .eg-reveal-grid {
	margin-top: 56px !important;
}

.eg-labs > .wp-block-buttons {
	margin-top: 32px !important;
}

/* ---------- 13. About sections ---------- */

.eg-vision-card {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	min-height: 340px;
	padding: clamp(32px, 4vw, 48px);
	border-radius: 20px;
	justify-content: space-between !important;
	gap: 40px !important;
}

.eg-saltire::before {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0.1;
	pointer-events: none;
	background-image:
		linear-gradient(to top right, transparent calc(50% - 36px), #fff calc(50% - 36px), #fff calc(50% + 36px), transparent calc(50% + 36px)),
		linear-gradient(to bottom right, transparent calc(50% - 36px), #fff calc(50% - 36px), #fff calc(50% + 36px), transparent calc(50% + 36px));
}

.eg-saltire > * {
	position: relative;
	z-index: 1;
	margin: 0;
}

.eg-vision-card h2 {
	line-height: 1.12;
}

.eg-mission .is-style-label {
	margin-bottom: 16px;
}

.eg-mission h3 {
	margin: 0 0 20px;
	color: #2a4f7c;
}

.eg-timeline {
	position: relative;
	padding-left: 36px;
}

.eg-timeline::before {
	content: "";
	position: absolute;
	left: 7px;
	top: 6px;
	bottom: 6px;
	width: 2px;
	background: linear-gradient(180deg, #8abd3a 0%, #2a4f7c 100%);
}

.eg-timeline-item {
	position: relative;
	padding-left: 24px;
}

.eg-timeline-item::before {
	content: "";
	position: absolute;
	left: -36px;
	top: 5px;
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	border-radius: 999px;
	background: #8abd3a;
	border: 3px solid #8abd3a;
	box-shadow: 0 0 0 6px rgba(138, 189, 58, 0.2);
}

.eg-timeline-item.is-hollow::before {
	background: #fff;
	border-color: #2a4f7c;
	box-shadow: 0 0 0 6px rgba(42, 79, 124, 0.1);
}

.eg-tl-date {
	font-weight: 600;
}

p.eg-tl-text {
	max-width: 56ch;
	line-height: 1.6;
}

.eg-facts > .eg-fact-tile {
	box-sizing: border-box;
	padding: 28px;
}

.eg-fact-key {
	font-weight: 600;
}

.eg-fact-text {
	line-height: 1.35;
}

.eg-fact-text a {
	color: #2a4f7c;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.eg-talent-text {
	max-width: 560px;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.6;
}

.eg-tenant-list > .eg-tenant-row {
	box-sizing: border-box;
	width: 100%;
	padding: 20px 24px;
}

.eg-tenant-row {
	align-items: baseline !important;
}

.eg-tenant-row p {
	line-height: normal;
}

.eg-tenant-sector {
	font-weight: 600;
}

.eg-person-card {
	overflow: hidden;
	padding: 0 !important;
}

.eg-person-photo {
	margin: 0 !important;
	background: #e9ecee;
}

.eg-person-photo img {
	display: block;
	width: 100%;
}

.eg-person-body {
	padding: 26px 26px 30px;
}

.eg-person-body .is-style-label {
	margin: 0 0 10px;
}

.eg-person-body h3 {
	margin: 0 0 8px;
}

.eg-person-body p:last-child {
	margin: 0;
	line-height: 1.55;
}

/* ---------- 14. Contact ---------- */

.eg-contact-cols > .eg-form-col {
	flex-grow: 1.25;
}

.eg-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

/* Enquiry form (Fluent Forms)
   The fields, texts and e-mail settings are in Fluent Forms > All Forms > Enquiry form.
   These rules give every Fluent Forms form the look of the design.
   ".wp-site-blocks" in front makes them win over the plugin's own styles. */

.wp-site-blocks .fluentform {
	color: #424848;
	font-family: inherit;
}

.wp-site-blocks .fluentform fieldset {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.wp-site-blocks .fluentform .ff-el-group {
	margin: 0;
}

/* Two fields side by side. They stack when the form is narrower than about 460px. */
.wp-site-blocks .fluentform .ff-t-container {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	width: 100%;
}

.wp-site-blocks .fluentform .ff-t-cell {
	display: block;
	flex: 1 1 220px !important; /* replaces the plugin's fixed 50% width */
	width: auto;
	min-width: 0;
	margin: 0 !important;
	padding: 0;
}

.wp-site-blocks .fluentform .ff-el-input--label {
	display: block;
	margin: 0 0 8px;
	color: #424848;
	font-size: 15px;
	font-weight: 600;
	line-height: normal;
}

.wp-site-blocks .fluentform .ff-el-input--label label {
	display: block;
	margin: 0;
	color: inherit;
	font: inherit;
}

/* Required fields read "Name *", in the colour of the label. */
.wp-site-blocks .fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after {
	margin-left: 0;
	color: inherit;
	content: " *";
}

.wp-site-blocks .fluentform .ff-el-form-control {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 14px 16px;
	border: 1.5px solid #d9dde0;
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
	color: #152940;
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: normal;
	outline: none;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.wp-site-blocks .fluentform textarea.ff-el-form-control {
	min-height: 140px;
	line-height: 1.5;
	resize: vertical;
}

.wp-site-blocks .fluentform .ff-el-form-control::placeholder {
	color: #8a9294;
	opacity: 1;
}

.wp-site-blocks .fluentform .ff-el-form-control:focus,
.wp-site-blocks .fluentform .ff-el-is-error .ff-el-form-control:focus {
	border-color: #2a4f7c;
	background: #fff;
	box-shadow: 0 0 0 4px rgba(42, 79, 124, 0.1);
	color: #152940;
}

/* Errors: one message above the button, as in the design. Its text is the
   "Custom HTML" field in the form. The plugin's message under each field is
   hidden on screen but still read out by screen readers. */
.wp-site-blocks .fluentform .ff-el-is-error .ff-el-form-control {
	border-color: #d9dde0;
}

.wp-site-blocks .fluentform .ff-el-input--content .error {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.wp-site-blocks .fluentform .eg-form-error-wrap {
	display: none;
}

.wp-site-blocks .fluentform form:has(.ff-el-is-error) .eg-form-error-wrap {
	display: block;
}

.wp-site-blocks .fluentform .eg-form-error,
.wp-site-blocks .fluentform .ff-errors-in-stack .error {
	margin: 0;
	padding: 12px 16px;
	border-radius: 12px;
	background: #fbedea;
	color: #8e2a18;
	font-size: 15px;
	line-height: normal;
}

.wp-site-blocks .fluentform .ff-errors-in-stack {
	margin-top: 18px;
}

.wp-site-blocks .fluentform .ff-errors-in-stack .error + .error {
	margin-top: 8px;
}

/* The send button. */
.wp-site-blocks .fluentform .ff_submit_btn_wrapper {
	margin-top: 4px;
}

.wp-site-blocks .fluentform .ff-btn-submit {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 18px 34px;
	overflow: hidden;
	border: 0;
	border-radius: 999px;
	background: #2a4f7c;
	box-shadow: 0 4px 16px rgba(42, 79, 124, 0.25);
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	line-height: normal;
	white-space: normal;
	cursor: pointer;
	opacity: 1;
	transition: background 0.2s, transform 0.2s;
}

.wp-site-blocks .fluentform .ff-btn-submit:hover {
	background: #1f3b5e;
	color: #fff;
	opacity: 1;
	transform: translateY(-2px);
}

.wp-site-blocks .fluentform .ff-btn-submit:focus {
	opacity: 1;
}

.wp-site-blocks .fluentform .ff-btn-submit:focus-visible {
	outline: 2px solid #2a4f7c;
	outline-offset: 3px;
}

/* Success message, shown under the button after sending. */
.wp-site-blocks .fluentform .ff-message-success {
	margin: 18px 0 0;
	padding: 14px 16px;
	border: 1px solid #8abd3a;
	border-radius: 12px;
	background: #f2f8e8;
	box-shadow: none;
	color: #152940;
	font-size: 15px;
	line-height: 1.5;
}

.wp-site-blocks .fluentform .ff-message-success p {
	margin: 0;
	color: inherit;
	font: inherit;
}

/* Shown to editors only, when Fluent Forms is switched off. */
.eg-form-missing {
	margin: 0;
	padding: 24px;
	border: 1.5px dashed #d9dde0;
	border-radius: 12px;
	color: #5c6466;
}

.eg-form-note {
	margin-top: 18px;
	line-height: 1.55;
}

.eg-form-note a,
.eg-kv-value a {
	color: #2a4f7c;
	text-decoration: underline;
	text-underline-offset: 3px;
	word-break: break-word;
}

.eg-contact-aside h2.eg-aside-title {
	margin: 0;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0;
}

.eg-note {
	box-sizing: border-box;
	padding: 18px 20px;
	border: 1px solid #8abd3a;
	border-radius: 12px;
	background: #fff;
}

.eg-note > .eg-grow {
	flex: 1 1 auto;
}

.eg-note p {
	line-height: 1.5;
}

/* The green marker icon is drawn here, so it is decorative only. */
.eg-note::before {
	content: "\25BC" / "";
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: #8abd3a;
	color: #152940;
	font-size: 14px;
	line-height: 1;
}

.eg-kv-key {
	font-weight: 600;
}

.eg-kv-value {
	line-height: 1.45;
}

.eg-operator {
	padding-top: 22px;
	border-top: 1px solid #d9dde0;
}

.eg-map {
	overflow: hidden;
	aspect-ratio: 16 / 10;
	border: 1px solid #d9dde0;
	border-radius: 12px;
	background: #e9ecee;
}

.eg-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ---------- 15. Legal pages ---------- */

.eg-legal h2,
.eg-legal-h2 {
	margin: 32px 0 0;
	font-weight: 300;
	letter-spacing: -0.01em;
	color: #2a4f7c;
	line-height: 1.15;
}

.eg-legal > h2:first-child,
.eg-legal > .eg-legal-h2:first-child {
	margin-top: 0;
}

.eg-legal h3,
.eg-legal-h3 {
	margin: 16px 0 0;
	font-weight: 400;
	color: #424848;
}

.eg-legal p,
.eg-legal li {
	font-size: 17px;
	line-height: 1.65;
	color: #424848;
}

.eg-legal a {
	color: #2a4f7c;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.eg-legal .wp-block-list {
	padding-left: 24px;
}

.eg-legal .wp-block-list li {
	margin-bottom: 8px;
}

.eg-legal .eg-term {
	margin-top: 14px;
	font-weight: 600;
	color: #2a4f7c;
}

.eg-legal .eg-term + .eg-def {
	margin-top: 4px;
}

.eg-legal .is-style-label {
	display: inline-block;
	margin-top: 8px;
}

.eg-legal-quote {
	margin: 0;
}

.eg-legal-quote p {
	font-size: 16px;
	color: #5c6466;
}

.eg-legal-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}

.eg-legal-table th,
.eg-legal-table td {
	padding: 14px 16px;
	border: 0;
	border-bottom: 1px solid #d9dde0;
	text-align: left;
	vertical-align: top;
}

.eg-legal-table th {
	font-size: 13px;
	font-weight: 600;
	color: #5c6466;
}

.eg-legal-table tr:last-child td {
	border-bottom: 0;
}

.eg-main--plain h1 {
	margin-bottom: 24px;
}

/* ---------- 16. Footer ---------- */

/* Two classes, so the footer keeps its softer text colour on the dark background. */
.wp-block-group.eg-footer {
	color: rgba(255, 255, 255, 0.72);
}

.eg-footer p {
	font-size: 15px;
	line-height: 1.55;
}

.eg-footer a {
	color: rgba(255, 255, 255, 0.72);
	transition: color 0.2s;
}

.eg-footer a:hover {
	color: #8abd3a;
}

.eg-footer__top {
	padding-bottom: 56px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.eg-footer__brand {
	flex: 2 1 340px;
	max-width: 460px;
}

.eg-footer__col {
	flex: 1 1 150px;
}

.eg-footer__contact {
	flex: 1 1 200px;
}

.eg-footer__logo {
	margin: 0;
}

.eg-footer__logo img {
	display: block;
	width: auto;
	height: 44px;
}

.eg-footer .eg-footer__claim {
	max-width: 22ch;
	margin-top: 24px;
	font-size: 26px;
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.eg-footer__sublogos {
	margin-top: 28px !important;
}

.eg-footer__sublogo {
	margin: 0;
}

.eg-footer__sublogo img {
	display: block;
	width: auto;
	height: 24px;
	opacity: 0.85;
}

.eg-footer .eg-footer__title {
	font-size: 14px;
	font-weight: 600;
	color: #fff;
}

.eg-footer-nav,
.eg-footer-legal {
	font-size: 15px;
	font-weight: 400;
	line-height: normal;
}

.eg-footer__contact > p + p {
	line-height: normal;
}

.eg-footer-nav .wp-block-navigation-item__content,
.eg-footer-legal .wp-block-navigation-item__content {
	padding: 0;
	color: rgba(255, 255, 255, 0.72);
}

.eg-footer-nav .wp-block-navigation-item__content:hover,
.eg-footer-legal .wp-block-navigation-item__content:hover {
	color: #8abd3a;
}

.eg-footer__bottom {
	padding-top: 28px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
}

.eg-footer .eg-footer__copy {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
}

.eg-footer__copy strong {
	font-weight: 600;
	color: #fff;
}

/* The company details under the bottom row (registered name, number and office). */
.eg-footer .eg-footer__company {
	margin: 14px 0 0;
	color: rgba(255, 255, 255, 0.6);
	font-size: 13px;
	line-height: 1.5;
}

.eg-footer-legal {
	font-size: 13px;
}

.eg-footer-legal .wp-block-navigation-item__content {
	color: rgba(255, 255, 255, 0.6);
}

/* Tiles always fill the row height (no grey gaps). */
.is-style-tiles {
	align-items: stretch !important;
}

/* Home, "Connect in 6 months": the intro text is a little softer than other dark sections. */
#plug-and-play .is-style-lead {
	color: rgba(255, 255, 255, 0.8);
}

/* Natural line height where the design uses it. */
.eg-checklist .is-style-squares > li,
.eg-footer p.eg-footer__copy {
	line-height: normal;
}

/* Long words (the e-mail address) stay on one line in buttons, as in the design.
   On very small phones they may break, so the button never sticks out. */
.wp-block-button__link {
	word-break: normal;
	overflow-wrap: normal;
}

@media (max-width: 389px) {
	.wp-block-button__link {
		overflow-wrap: anywhere;
	}
}

.is-style-lead.eg-measure-none {
	max-width: none;
}

/* ---------- 17. Tap targets ----------
   Small links and buttons get an invisible touch area of at least 44 px,
   so they are easy to tap on a phone. Nothing changes in how they look. */

.eg-header__bar .wp-block-image > a,
.eg-footer-nav .wp-block-navigation-item__content,
.eg-footer-legal .wp-block-navigation-item__content,
.eg-footer__contact a,
.is-style-arrow-link a,
.wp-block-group:not(.eg-link-card) > .eg-card-cta a,
.eg-kv-value a,
.wp-block-button.is-style-pill > .wp-block-button__link,
.wp-block-button.is-size-small > .wp-block-button__link {
	position: relative;
}

.eg-header__bar .wp-block-image > a::after,
.eg-footer-nav .wp-block-navigation-item__content::after,
.eg-footer-legal .wp-block-navigation-item__content::after,
.eg-footer__contact a::after,
.is-style-arrow-link a::after,
.wp-block-group:not(.eg-link-card) > .eg-card-cta a::after,
.eg-kv-value a::after {
	position: absolute;
	inset: -13px -6px;
	content: "";
}

/* The link lists in the footer are 33 px apart in the design: their touch areas
   fill that space without overlapping. */
.eg-footer-nav .wp-block-navigation-item__content::after,
.eg-footer__contact a::after {
	inset: -6px -6px;
}

.wp-block-button.is-style-pill > .wp-block-button__link::after,
.wp-block-button.is-size-small > .wp-block-button__link::after {
	position: absolute;
	inset: -3px 0;
	content: "";
}

/* The sub-items in the phone menu are 44 px high (22 px text plus 22 px padding). */
.eg-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	min-height: 22px;
}
