/*
Theme Name: Eagle Air (Hello child)
Template: hello-elementor
Version: 1.5.0
Description: Site-wide look for the Elementor rebuild: header over the banner, orange/yellow stripes between sections,
             navy sunburst panels, slanted buttons, service tiles. Elementor sections opt in with these classes.
*/

:root {
	--ea-navy: #0b2340;
	--ea-blue: #166aa3;
	--ea-red: #ce2132;
	--ea-orange: #f28c28;
	--ea-yellow: #f7c21b;
	--ea-grey: #eef0f2;
	--ea-header-h: 250px;
}

body { font-family: Poppins, sans-serif; color: #222; }

/* ---------- Type: the old site renders bold text from Poppins Regular (the browser emboldens it), which is narrower and
   lighter than Poppins Bold. This family has only the regular face, so 600/700 render the same way. ---------- */
@font-face { font-family: 'EA Poppins'; font-style: normal; font-weight: 400; font-display: swap;
	src: url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'EA Poppins'; font-style: normal; font-weight: 400; font-display: swap;
	src: url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJnecmNE.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'EA Poppins'; font-style: italic; font-weight: 400; font-display: swap;
	src: url(https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrJJLucHtA.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'EA Poppins'; font-style: italic; font-weight: 400; font-display: swap;
	src: url(https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrJJLufntAKPY.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
body, .elementor-heading-title, .elementor-button, .elementor-nav-menu a, .elementor-widget-text-editor, .elementor-widget-text-editor *,
.elementor-icon-box-title, .elementor-icon-box-description, .elementor-icon-list-text, .elementor-field, .elementor-field-label,
.elementor-field-option label, .elementor-tab-title, .elementor-tab-content, .elementor-post__title, .elementor-post__excerpt, .page-content, .entry-title {
	font-family: 'EA Poppins', Poppins, sans-serif !important; font-synthesis: weight style !important;
}


/* ---------- Size scale, measured from the old site at 390, 768, 1024, 1280, 1440, 1600, 1920 and 2560px ----------
   --r is the base text size; every other size is a multiple of it, with the same breakpoints as the old site. */

:root {
	--r: 15.13px; --t1: 2; --t2: 1.25; --vi: 1.25; --card: 2.1; --ftlabel: 1.125; --call: 1.24; --soc: 3.2;
	--gutter: 18px; --ea-content: calc(100% - 36px);
	--banner-h: calc(280px + 14.29vw);
	--ft-logo: min(100%, 340px);
}
@media (min-width: 700px) {
	:root { --r: calc(15.8px + .117vw); --gutter: 3.65vw; --ea-content: 71.2%; --banner-h: calc(237px + 19.92vw); --ft-logo: 400px; }
}
@media (min-width: 768px) and (max-width: 1279px) {
	:root { --banner-h: calc(237px + 19.92vw); }
}
@media (min-width: 1280px) {
	:root { --r: calc(3px + .9375vw); --t1: 2.4; --t2: 1.565; --vi: 1.227; --card: 2.6; --ftlabel: 1.24;
		--ea-content: min(calc(var(--r) * 89), calc(100% - 7.3vw)); --banner-h: calc(180px + 24.38vw); --ft-logo: calc(var(--r) * 19.8); }
}
@media (min-width: 1500px) {
	:root { --r: calc(12px + .3125vw); --t1: 2.8; --t2: 1.665; --ftlabel: 1; --call: 1; --soc: 2.55; --banner-h: calc(334px + 22.5vw); --ft-logo: calc(var(--r) * 15.6); }
}
@media (min-width: 1920px) {
	:root { --r: calc(6px + .625vw); --t1: 3.04; --t2: 1.327; --soc: 0; --banner-h: calc(805px - 2.03vw); --ft-logo: calc(-48px + 17.5vw); }
}

/* Section width: Elementor writes its own --content-width on each section, so the measured width uses its own variable. */
.e-con.e-con-boxed > .e-con-inner { max-width: var(--ea-content) !important; }
.e-con.e-con-boxed:not(.ea-header-top):not(.ea-header-nav) { padding-left: 0 !important; padding-right: 0 !important; }

.elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-text-editor li { font-size: var(--r); line-height: 1.8; }
.ea-t1 .elementor-heading-title { font-size: calc(var(--r) * var(--t1)) !important; line-height: 1.05 !important; }
.ea-t2 .elementor-heading-title { font-size: calc(var(--r) * var(--t2)) !important; line-height: 1.26 !important; }
.ea-sub .elementor-heading-title { letter-spacing: .1em !important; }
.ea-t3 .elementor-heading-title { font-size: calc(var(--r) * 1.2) !important; line-height: 1.3 !important; }
.ea-card-title .elementor-heading-title { font-size: calc(var(--r) * var(--card)) !important; line-height: 1.05 !important; }
.ea-card-sub .elementor-heading-title { font-size: var(--r) !important; letter-spacing: .06em !important; }
.ea-vi .elementor-icon-box-title { font-size: calc(var(--r) * var(--vi)) !important; }
.ea-vi .elementor-icon-box-description { font-size: var(--r) !important; }
/* Hero headline (old site): 2.78x the base size on phones, 4x from 700px (66px at 1440); 141px at 2560. */
.ea-hero-title .elementor-heading-title { font-size: calc(var(--r) * 2.78) !important; line-height: 2 !important; }
@media (min-width: 700px) { .ea-hero-title .elementor-heading-title { font-size: calc(var(--r) * 4) !important; } }
@media (min-width: 1920px) { .ea-hero-title .elementor-heading-title { font-size: calc(var(--r) * 6.4) !important; } }
.elementor-widget.ea-hero-title, .elementor-widget.ea-hero-sub { max-width: 71.2%; margin-left: auto; margin-right: auto; }
@media (min-width: 1280px) { .elementor-widget.ea-hero-title, .elementor-widget.ea-hero-sub { max-width: 67.8%; } }
@media (max-width: 699px) { .elementor-widget.ea-hero-title, .elementor-widget.ea-hero-sub { max-width: calc(100% - 36px); } }
.ea-hero-sub .elementor-heading-title { font-size: calc(var(--r) * var(--t2)) !important; letter-spacing: .1em !important; font-style: normal; }
.elementor-button { font-size: var(--r) !important; }

/* ---------- Header: transparent, on top of the first section ---------- */

.ea-header { position: absolute !important; top: 0; left: 0; right: 0; z-index: 99; }
body.admin-bar .ea-header { top: 32px; }
/* Pages WordPress renders itself (blog listing, archives, search, 404, single posts) get a solid header in the flow. */
body.blog .ea-header, body.archive .ea-header, body.search .ea-header, body.error404 .ea-header, body.single-post .ea-header {
	position: relative !important; top: 0;
}
body.blog .ea-header, body.archive .ea-header, body.search .ea-header, body.error404 .ea-header, body.single-post .ea-header,
.ea-rays {
	background-color: var(--ea-navy) !important;
	background-image: repeating-conic-gradient(from -90deg at 50% 115%, rgba(255, 255, 255, .045) 0deg 5deg, rgba(255, 255, 255, 0) 5deg 10deg) !important;
}
.ea-header-line { border-bottom: 1px solid rgba(255, 255, 255, .35); }

/* Header geometry (old site at 1440: logo 226 wide at y16, social circles 53 at y30, Book Now 170x60 at y40,
   "Call us today" y101, phone y125, menu items 59 tall at y195). */
.ea-header .ea-header-top { padding: 16px var(--gutter) 12px !important; }
.ea-header .ea-header-top > .e-con:first-child { padding-top: 14px !important; }
.ea-header .ea-header-top > .e-con:last-child { padding-top: 24px !important; }
.ea-header .ea-header-nav { padding: 0 var(--gutter) !important; }
/* The old site shows the logo in a 226 x 162 box at 1440 (width 153px + 5vw, height 0.717 of that). */
.ea-logo img { width: calc(153px + 5vw) !important; max-width: none !important; height: calc((153px + 5vw) * .717) !important; object-fit: contain; }
.ea-header .ea-header-top { padding-bottom: 14px !important; }
.ea-social .elementor-social-icon { width: calc(var(--r) * var(--soc)) !important; height: calc(var(--r) * var(--soc)) !important;
	font-size: calc(var(--r) * var(--soc) * .5) !important; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center; }
.ea-social .elementor-social-icon i { font-size: inherit !important; }
.ea-social .elementor-grid { gap: calc(var(--r) * .55) !important; }
.ea-nav .elementor-nav-menu--main .elementor-item { font-size: calc(var(--r) * .875) !important; font-weight: 700 !important;
	padding: calc(var(--r) * 1.09) calc(var(--r) * 1.05) !important; line-height: 1.6 !important; }
/* 10.3 x 3.65 of the base size, measured across the slant (the skew adds height x tan 14deg). */
.ea-book .elementor-button { box-sizing: border-box; width: calc(var(--r) * (10.3 - 3.65 * .249)) !important; height: calc(var(--r) * 3.65); padding: 0 !important; justify-content: center; display: inline-flex; align-items: center; }
.ea-book .elementor-button-icon { margin-left: calc(var(--r) * .4) !important; }
.ea-call .elementor-heading-title { font-size: calc(var(--r) * var(--call)) !important; letter-spacing: .1em !important; line-height: 1.2 !important; margin-top: calc(var(--r) * .1); }
.ea-phone .elementor-heading-title { font-size: calc(var(--r) * 1.78) !important; line-height: 1 !important; }
@media (max-width: 1024px) {
	.ea-header .ea-header-top > .e-con:first-child, .ea-call, .ea-phone, .ea-book { display: none; }
	.ea-header .ea-header-top { justify-content: center !important; }
}

/* Banner and hero heights (old site: 531 at 1440, 766 at 1920; the hero fills the first screen). */
.ea-banner { min-height: var(--banner-h) !important; padding-bottom: calc(var(--r) * 3) !important; }
/* Hero height (old site): 574 at 390, 703 at 1024, 842 at 1440, 1269 at 2560. */
.ea-hero { min-height: calc(495px + 20.3vw) !important; padding-bottom: calc(var(--r) * 6) !important; }
@media (min-width: 1024px) { .ea-hero { min-height: calc(361px + 33.4vw) !important; } }
@media (min-width: 1440px) { .ea-hero { min-height: calc(293px + 38.1vw) !important; } }

/* Service-page body: content 69%, sidebar 25% (single column under 1280px). */
@media (min-width: 1280px) {
	.ea-two-col > .e-con-inner > .ea-main { width: 69% !important; }
	.ea-two-col > .e-con-inner > .ea-side { width: 25.2% !important; }
}

/* Footer (old site at 1440: logo 330 wide, phone 29px, column labels 20px). */
.ea-ft-logo img { width: var(--ft-logo) !important; max-width: 100% !important; height: auto !important; }
.ea-ft-phone .elementor-heading-title { font-size: calc(var(--r) * 1.78) !important; }
.ea-ft-label .elementor-heading-title { font-size: calc(var(--r) * var(--ftlabel)) !important; letter-spacing: .1em !important; }
.ea-header .elementor-nav-menu--main .elementor-item { white-space: nowrap; }
/* One row on desktop, like the original: no wrapping, no dropdown arrows taking space. */
@media (min-width: 1025px) {
	.ea-header .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: nowrap; justify-content: center; }
	.ea-header .elementor-nav-menu--main .sub-arrow { display: none; }
}
.ea-header .elementor-nav-menu--dropdown { border-top: 3px solid var(--ea-red); }

/* ---------- Slanted buttons ---------- */

.ea-btn .elementor-button { transform: skewX(-14deg); border-radius: 0; }
.ea-btn .elementor-button-content-wrapper { transform: skewX(14deg); }
.ea-form .elementor-field-type-submit .elementor-button { transform: skewX(-14deg); border-radius: 0; }
.ea-form .elementor-field-type-submit .elementor-button > span { transform: skewX(14deg); display: inline-flex; }

/* ---------- Orange / yellow stripes between sections ---------- */

.ea-stripe-bottom, .ea-stripe-top { position: relative; }
.ea-stripe-bottom::after, .ea-stripe-top::before {
	content: ""; position: absolute; left: 0; right: 0; height: 84px; z-index: 2; pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 84' preserveAspectRatio='none'%3E%3Cpolygon points='0,46 1440,0 1440,20 0,66' fill='%23f28c28'/%3E%3Cpolygon points='0,66 1440,20 1440,34 0,80' fill='%23f7c21b'/%3E%3Cpolygon points='0,80 1440,34 1440,84 0,84' fill='%23ffffff'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}
.ea-stripe-bottom::after { bottom: -1px; }
.ea-stripe-top::before { top: -1px; transform: scale(-1, -1); }
.ea-stripe-bottom { padding-bottom: 120px !important; }
.ea-stripe-top { padding-top: 130px !important; }
@media (max-width: 767px) {
	.ea-stripe-bottom::after, .ea-stripe-top::before { height: 40px; }
	.ea-stripe-bottom { padding-bottom: 70px !important; }
	.ea-stripe-top { padding-top: 70px !important; }
}

/* ---------- Banners ---------- */

.ea-hero, .ea-banner { padding-top: calc(var(--ea-header-h) + 40px) !important; }
.ea-spacer { min-height: calc(var(--ea-header-h) + 10px); }
@media (max-width: 1024px) {
	:root { --ea-header-h: 120px; }
}

/* ---------- Service tiles ---------- */

.ea-tile {
	background: linear-gradient(180deg, #1f6db0 0%, #0e3c70 100%) !important;
	transition: filter .2s ease, transform .2s ease;
}
.ea-tile:hover { filter: brightness(1.15); transform: translateY(-3px); }
.ea-tile .elementor-heading-title { letter-spacing: .08em; }

/* ---------- Photo cards (financing, second opinions, maintenance plans) ---------- */

.ea-card { overflow: hidden; }
.ea-card .elementor-heading-title { text-shadow: 0 1px 2px rgba(0, 0, 0, .25); }

/* ---------- Split intro, content details ---------- */

.ea-cta-box { background: var(--ea-navy); color: #fff; }
.ea-cta-box a { color: #8cc8ff; }
.ea-cta-line { border-top: 1px solid #d9dde2; border-bottom: 1px solid #d9dde2; padding: 22px 0; text-align: center; font-weight: 600; }
.ea-cta-line p { margin: 0; }
.elementor-widget-text-editor a { color: var(--ea-blue); }
.ea-rays .elementor-widget-text-editor a, .ea-cta-box a { color: #8cc8ff; }

/* ---------- Sidebar on service pages ---------- */

.ea-sidebar-nav { background: var(--ea-navy); }
.ea-sidebar-nav .elementor-icon-list-text { color: #fff; transition: color .2s; }
.ea-sidebar-nav .elementor-icon-list-item a:hover .elementor-icon-list-text,
.ea-sidebar-nav .ea-current .elementor-icon-list-text { color: #8cc8ff; }

/* ---------- Reviews ---------- */

.ea-review-card { background: #e9e9e9; }
.ea-stars { color: var(--ea-yellow); letter-spacing: 3px; font-size: 20px; }
.ea-photo-frame img { border: 8px solid #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .35); }
.ea-reviews .swiper-button-prev, .ea-reviews .swiper-button-next,
.ea-reviews .elementor-swiper-button { color: #fff; }

/* ---------- Contact form over the photo ---------- */

.ea-form .elementor-field-label { color: #fff; text-transform: uppercase; font-size: 13px; letter-spacing: .06em; font-weight: 600; }
.ea-form .elementor-field-textual, .ea-form select {
	background: rgba(255, 255, 255, .14) !important; border: 1px solid rgba(255, 255, 255, .45) !important; color: #fff !important; border-radius: 0 !important;
}
.ea-form .elementor-field-option label, .ea-form .elementor-acceptance-field + label { color: #fff; font-size: 13px; }
.ea-form option { color: #222; }

/* ---------- Footer ---------- */

.ea-footer {
	background-color: #fff;
	background-image: repeating-conic-gradient(from -90deg at 50% 120%, rgba(11, 35, 64, .03) 0deg 5deg, rgba(255, 255, 255, 0) 5deg 10deg);
}
.ea-footer a { color: #222; }
.ea-footer a:hover { color: var(--ea-red); }
.ea-footer-bar a { color: #bbb; }

/* ---------- WordPress-rendered pages (blog listing, archives, posts) ---------- */

body.blog .site-main, body.archive .site-main, body.search .site-main { max-width: 1200px; margin: 0 auto; padding: 60px 24px; }
body.blog .page-header .entry-title, body.archive .page-header .entry-title { color: #1d1d1d; text-transform: uppercase; font-weight: 700; }
body.blog article.post, body.archive article.post { border-bottom: 1px solid #e3e6ea; padding: 24px 0; }
body.blog article.post .entry-title a, body.archive article.post .entry-title a { color: var(--ea-blue); }

/* ---------- Corrections from the side-by-side measurements (1440 / 1920 / 390) ---------- */

/* Social circles: 46px at 1920 rising to 70px at 2560. */
@media (min-width: 1920px) {
	.ea-social .elementor-social-icon { width: calc(3.75vw - 26px) !important; height: calc(3.75vw - 26px) !important; font-size: calc((3.75vw - 26px) * .5) !important; }
}
/* Menu: 27px between item labels at 1440 (0.82 of the base size each side). */
.ea-nav .elementor-nav-menu--main .elementor-item { padding-left: calc(var(--r) * .82) !important; padding-right: calc(var(--r) * .82) !important; }
/* Right header column: Book Now, "Call us today" and the phone are centred on one another, the column ends at the gutter. */
.ea-header .ea-header-top > .e-con:last-child { align-items: center !important; }
.ea-header .ea-header-top > .e-con:last-child .elementor-heading-title,
.ea-header .ea-header-top > .e-con:last-child .elementor-widget-button { text-align: center !important; }
/* The old logo sits a little left of centre (31px at 1440, 74px at 2560). */
/* Logo: pinned to the header centre, a little left of it like the old site (31px at 1440, 74px at 2560), whatever the side columns hold. */
@media (min-width: 1025px) {
	.ea-header .ea-header-top { position: relative; }
	.ea-header .ea-header-top > .e-con:nth-child(2) { position: absolute !important; left: 50%; top: 16px; width: auto !important; transform: translateX(calc(-50% + 24.3px - 3.84vw)); }
	.ea-header .ea-header-top { min-height: calc((153px + 5vw) * .717 + 30px); }
}

/* Service-page body: starts 3.8x the base size below the banner on phones, 7.95x from 700px.
   Columns (old site): 69% / 25.2% with a 2.9% gap at 1280-1499px; 59.2% / 27.75% with a 9.9% gap from 1500px. */
.ea-two-col { padding-top: calc(var(--r) * 3.8) !important; }
@media (min-width: 700px) { .ea-two-col { padding-top: calc(var(--r) * 7.95) !important; } }
.ea-two-col .ea-side > .e-con, .ea-two-col .ea-side > .elementor-widget { width: 100% !important; }
@media (min-width: 1280px) {
	.ea-two-col > .e-con-inner { justify-content: flex-start !important; gap: 0 !important; }
	.ea-two-col .ea-main { width: 69% !important; max-width: 69% !important; margin-right: 2.9% !important; }
	.ea-two-col .ea-side { width: 25.2% !important; max-width: 25.2% !important; }
}
@media (min-width: 1500px) {
	.ea-two-col .ea-main { width: 59.2% !important; max-width: 59.2% !important; margin-right: 9.9% !important; }
	.ea-two-col .ea-side { width: 27.75% !important; max-width: 27.75% !important; }
}
.ea-sidebar-nav .elementor-icon-list-text { font-size: var(--r) !important; }

/* Right header column: 23.15% of the header, ending at the gutter (old site: centre 1208 at 1440, 1613 at 1920). */
@media (min-width: 1025px) {
	.ea-header .ea-header-top > .e-con:last-child { width: 23.15% !important; max-width: 23.15% !important; margin-left: auto; }
	.ea-header .ea-header-top > .e-con:first-child { width: 23.15% !important; max-width: 23.15% !important; }
	.ea-header .ea-header-top > .e-con:nth-child(2) { flex: 1 1 auto !important; width: auto !important; }
}
/* Menu: label to label 27px at 1440, no extra space between items. */
.ea-nav { --e-nav-menu-horizontal-menu-item-margin: 0px !important; }
.ea-nav .elementor-nav-menu--main > .elementor-nav-menu { gap: 0 !important; }
.ea-nav .elementor-nav-menu--main > .elementor-nav-menu > li > a { margin: 0 !important; }
.ea-nav .elementor-nav-menu--main > .elementor-nav-menu > li { margin: 0 !important; }

/* Elementor puts a boxed section's own padding on its inner wrapper; the measured spacing is on the section itself. */
.ea-two-col > .e-con-inner { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Menu (old site): centred, labels spread evenly over 1045px at 1440 and 1323px at 1920 (57.9% of the header + 220px). */
@media (min-width: 1025px) {
	.ea-nav .elementor-nav-menu--main > .elementor-nav-menu { width: min(calc(57.9vw + 211px), 100%) !important; margin: 0 auto !important; justify-content: space-between !important; }
	.ea-nav .elementor-nav-menu--main .elementor-item { padding-left: 0 !important; padding-right: 0 !important; }
	.ea-nav .elementor-nav-menu--main, .ea-nav .elementor-widget-container { width: 100%; }
	.ea-header .ea-header-top > .e-con:last-child { margin-right: .85vw !important; }
}

/* Hero content (old site): headline top 232 at 390, 279 at 1024, 364 at 1440; 9px to the subtitle, 2x the base size
   to the button; the button is 3.65x the base size tall, like Book Now. */
.ea-hero { justify-content: flex-start !important; gap: 0 !important; --gap: 0px !important; padding-top: calc(203px + 7.4vw) !important; }
@media (min-width: 1024px) { .ea-hero { padding-top: calc(70px + 20.43vw) !important; } }
.ea-hero .ea-hero-sub { margin-top: 9px !important; }
.ea-hero .elementor-widget-button { margin-top: calc(var(--r) * 2) !important; }
.ea-hero .elementor-button, .ea-banner .elementor-button { height: calc(var(--r) * 3.65); display: inline-flex !important; align-items: center; padding-top: 0 !important; padding-bottom: 0 !important; }

/* Photo cards (old site at 1440): 421 x 532 with 29px between, title 2.6x / subtitle 1.2x (uppercase, 0.1em) / small print 1x the base size. */
.ea-card { min-height: calc(var(--r) * 32.3) !important; }
@media (min-width: 1280px) {
	.ea-card { width: calc((100% - 58px) / 3) !important; max-width: calc((100% - 58px) / 3) !important; }
	.e-con:has(> .ea-card), .e-con-inner:has(> .ea-card) { gap: 29px !important; --gap: 29px !important; flex-wrap: nowrap !important; }
	.ea-card { flex: 0 0 auto !important; margin: 0 !important; }
}
.ea-card-sub .elementor-heading-title { font-size: calc(var(--r) * 1.2) !important; letter-spacing: .1em !important; }
.ea-card .elementor-widget-text-editor p { font-size: var(--r) !important; }

/* ---------- Accessibility ---------- */
/* Pages use the theme template (content inside <main>); undo its width limits so sections stay full width. */
body.page .site-main, body.single-post .site-main { max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.page .page-content, body.single-post .page-content { margin: 0 !important; }
body.page .page-header, body.single-post .page-header, body.single-post .post-tags { display: none; }
/* Links in running text are underlined, not told apart by colour alone. */
.elementor-widget-text-editor p a, .elementor-widget-text-editor li a, .elementor-tab-content a { text-decoration: underline; text-underline-offset: 2px; }
/* Visible keyboard focus. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid #f7c21b !important; outline-offset: 2px; }
