.elementor-107 .elementor-element.elementor-element-6802459{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-107 .elementor-element.elementor-element-6802459:not(.elementor-motion-effects-element-type-background), .elementor-107 .elementor-element.elementor-element-6802459 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-2880533 );}.elementor-107 .elementor-element.elementor-element-1cafbd0{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:16px 0px;--row-gap:16px;--column-gap:0px;--padding-top:40px;--padding-bottom:24px;--padding-left:20px;--padding-right:20px;}.elementor-107 .elementor-element.elementor-element-521ff91{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--flex-wrap:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-107 .elementor-element.elementor-element-3858173 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}.elementor-107 .elementor-element.elementor-element-6f875f5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:4px 8px;--row-gap:4px;--column-gap:8px;--flex-wrap:wrap;}.elementor-widget-theme-post-excerpt{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-107 .elementor-element.elementor-element-a3712eb{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--padding-top:8px;--padding-bottom:8px;--padding-left:20px;--padding-right:20px;}.elementor-widget-theme-post-featured-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-107 .elementor-element.elementor-element-de5da86{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:40px 60px;--row-gap:40px;--column-gap:60px;--padding-top:32px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-107 .elementor-element.elementor-element-56f2aab{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:24px 0px;--row-gap:24px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-107 .elementor-element.elementor-element-8794955{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:12px 0px;--row-gap:12px;--column-gap:0px;--padding-top:24px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-author-box .elementor-author-box__name{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-author-box .elementor-author-box__bio{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-author-box .elementor-author-box__button{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-author-box .elementor-author-box__button:hover{border-color:var( --e-global-color-secondary );color:var( --e-global-color-secondary );}.elementor-107 .elementor-element.elementor-element-8ca4b6b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:24px 0px;--row-gap:24px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-107 .elementor-element.elementor-element-842a88d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 0px;--row-gap:10px;--column-gap:0px;--padding-top:26px;--padding-bottom:26px;--padding-left:24px;--padding-right:24px;}.elementor-107 .elementor-element.elementor-element-643da57 .elementor-heading-title{color:var( --e-global-color-4fba060 );}.elementor-107 .elementor-element.elementor-element-13e6efb .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );color:var( --e-global-color-2880533 );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-107 .elementor-element.elementor-element-48f477a .elementor-button{background-color:var( --e-global-color-4fba060 );fill:var( --e-global-color-text );color:var( --e-global-color-text );border-radius:9999px 9999px 9999px 9999px;padding:14px 20px 14px 20px;}.elementor-107 .elementor-element.elementor-element-48f477a .elementor-button:hover, .elementor-107 .elementor-element.elementor-element-48f477a .elementor-button:focus{background-color:var( --e-global-color-2880533 );color:var( --e-global-color-text );}.elementor-107 .elementor-element.elementor-element-48f477a .elementor-button:hover svg, .elementor-107 .elementor-element.elementor-element-48f477a .elementor-button:focus svg{fill:var( --e-global-color-text );}.elementor-107 .elementor-element.elementor-element-152275f{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:56px;--padding-bottom:56px;--padding-left:20px;--padding-right:20px;}.elementor-107 .elementor-element.elementor-element-152275f:not(.elementor-motion-effects-element-type-background), .elementor-107 .elementor-element.elementor-element-152275f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-31b6cc2 );}.elementor-107 .elementor-element.elementor-element-4ef8845{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:24px 0px;--row-gap:24px;--column-gap:0px;}.elementor-107 .elementor-element.elementor-element-a9b8d34 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-107 .elementor-element.elementor-element-9d8a4d4{--grid-columns:3;}.elementor-107 .elementor-element.elementor-element-3c86e59{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-107 .elementor-element.elementor-element-1cafbd0{--content-width:1140px;}.elementor-107 .elementor-element.elementor-element-a3712eb{--content-width:1140px;}.elementor-107 .elementor-element.elementor-element-de5da86{--content-width:1140px;}.elementor-107 .elementor-element.elementor-element-4ef8845{--content-width:1140px;}}@media(max-width:1024px){.elementor-107 .elementor-element.elementor-element-9d8a4d4{--grid-columns:2;}}@media(max-width:767px){.elementor-107 .elementor-element.elementor-element-9d8a4d4{--grid-columns:1;}}/* Start custom CSS for container, class: .elementor-element-6802459 *//* Abbpay single article template. */

/* ---------------------------------------------------------------
   Breadcrumbs. This markup comes from a PHP snippet as a plain <ol>,
   NOT from Elementor, so list-style and layout must be reset here or
   the browser renders numbered, indented, stacked items.
   --------------------------------------------------------------- */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-crumbs ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-crumbs li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--e-global-color-text);
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-crumbs li + li::before {
	content: "\203a";
	opacity: 0.5;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-crumbs a {
	color: var(--e-global-color-text);
	opacity: 0.7;
	text-decoration: none;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-crumbs a:hover {
	color: var(--e-global-color-primary);
	opacity: 1;
}

/* Current page crumb: truncated so a long title cannot wrap to three
   lines and shove the H1 down the page. */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-crumbs li:last-child span {
	opacity: 0.55;
	max-width: 320px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ---------------------------------------------------------------
   Badges - same anatomy as the card, so the two read as one system.
   --------------------------------------------------------------- */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__badge .elementor-heading-title {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1;
	padding: 6px 10px;
	border-radius: 9999px;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__badge a {
	color: inherit;
	text-decoration: none;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__badge--cat .elementor-heading-title {
	background-color: var(--e-global-color-31b6cc2);
	color: var(--e-global-color-primary);
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__badge--region .elementor-heading-title {
	border: 1px solid var(--e-global-color-208c8c8);
	color: var(--e-global-color-text);
}

/* Global content carries no region badge. Keyed on the term link, which
   is why the region tag renders with link enabled. */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__badge--region:has(a[href*="/region/global"]) {
	display: none;
}

/* --------------------------------------------------------------- */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__title .elementor-heading-title {
	font-size: 40px;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

/* ---------------------------------------------------------------
   Standfirst. The head container is a flex COLUMN, so the dek can be
   appended last in the DOM and still sit between the title and the
   meta row - which is what `order` is doing here. There is no
   move-element tool, so order is the only way to place it.
   --------------------------------------------------------------- */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__dek {
	order: 4;
	max-width: 780px;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__dek .elementor-widget-container,
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__dek p {
	margin: 0;
	font-size: 19px;
	line-height: 1.6;
	color: var(--e-global-color-text);
	opacity: 0.75;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__meta {
	order: 5;
	flex-wrap: wrap;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__meta .elementor-heading-title {
	font-size: 14px;
	color: var(--e-global-color-text);
	opacity: 0.7;
}

/* Author is appended last but reads first: "By X - date - N min read".
   The separators therefore hang off date and read time, not the author. */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__authorname {
	order: -1;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__date::before,
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__readtime::before {
	content: "\00b7";
	margin-right: 8px;
	color: var(--e-global-color-text);
	opacity: 0.7;
}

/* Ratio, not width, is what controls apparent image size.
   The head and media run the full 1140 shell, so a 16:9 crop would stand
   ~640px tall and push the article below the fold. 3:1 keeps the width
   without the banner dominating. Mobile reverts to 16:9 - at ~360px wide,
   3:1 is a 120px sliver. */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__media img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 1;
	object-fit: cover;
	border-radius: 12px;
}

/* ---------------------------------------------------------------
   Two-column reading layout: article + sticky rail, inside the 1140
   shell. The row is flex-start (NOT the default stretch) - with
   stretch the rail fills the row's full height and sticky has no room
   left to move in, which looks exactly like "sticky is broken".
   The rail is capped to the viewport so a short laptop screen can
   always reach the CTA button.
   --------------------------------------------------------------- */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__col {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 700px;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__rail {
	flex: 0 0 340px;
	align-self: flex-start;
	position: sticky;
	top: 96px;
	max-height: calc(100vh - 124px);
	overflow-y: auto;
	overscroll-behavior: contain;
}

/* 🔴 Load-bearing. The rail is a HEIGHT-CAPPED flex column, so by default
   its children shrink to fit rather than overflowing - and a shrunk CTA
   card clips its own button against `overflow: hidden` instead of the rail
   producing a scrollbar. That is exactly how the gold button went missing
   on 2026-08-11. Do not remove this without removing the max-height too. */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__rail > * {
	flex-shrink: 0;
}

/* ---------------------------------------------------------------
   Reading column.
   --------------------------------------------------------------- */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content {
	font-size: 17px;
	line-height: 1.7;
	color: var(--e-global-color-text);
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content p {
	margin: 0 0 1.15em;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content h2 {
	font-size: 26px;
	line-height: 1.3;
	margin: 2em 0 0.6em;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content h3 {
	font-size: 21px;
	line-height: 1.35;
	margin: 1.6em 0 0.5em;
}

/* In-content anchor links must not land with the heading hidden behind
   the sticky header. */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content h2,
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content h3 {
	scroll-margin-top: 100px;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content ul,
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content ol {
	margin: 0 0 1.15em;
	padding-left: 1.25em;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content li {
	margin-bottom: 0.5em;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content a {
	color: var(--e-global-color-primary);
	text-underline-offset: 3px;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content blockquote {
	margin: 1.6em 0;
	padding: 4px 0 4px 20px;
	border-left: 3px solid var(--e-global-color-primary);
	font-size: 19px;
	line-height: 1.55;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}

/* ---------------------------------------------------------------
   Key takeaways box. Author adds it in the block editor: select a
   Group block -> Advanced -> Additional CSS class(es) -> hub-takeaways.
   No per-article configuration, no shortcode to remember.
   --------------------------------------------------------------- */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content .hub-takeaways {
	background-color: var(--e-global-color-31b6cc2);
	border-radius: 12px;
	padding: 24px 28px;
	margin: 2em 0;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content .hub-takeaways > *:first-child {
	margin-top: 0;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content .hub-takeaways > *:last-child {
	margin-bottom: 0;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content .hub-takeaways h2,
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content .hub-takeaways h3,
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content .hub-takeaways h4 {
	font-size: 15px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	/* Primary Dark, not Muted Text: muted fails AA on this tint. */
	color: var(--e-global-color-22bc03d);
	margin: 0 0 12px;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content .hub-takeaways ul {
	margin-bottom: 0;
}

/* ---------------------------------------------------------------
   Share row. Hand-built (never Pro's share-buttons widget) with
   Elementor's own inline brand SVGs. Hrefs are written by JS from
   location.href, so it needs no PHP and no per-post setup.
   --------------------------------------------------------------- */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__inner {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--e-global-color-text);
	opacity: 0.55;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__label-done {
	display: none;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__inner.is-copied .hub-share__label {
	color: var(--e-global-color-primary);
	opacity: 1;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__inner.is-copied .hub-share__label-idle {
	display: none;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__inner.is-copied .hub-share__label-done {
	display: inline;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 1px solid var(--e-global-color-208c8c8);
	border-radius: 50%;
	background: none;
	color: var(--e-global-color-text);
	cursor: pointer;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__chip:hover,
.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__chip:focus-visible {
	color: var(--e-global-color-2880533);
	background-color: var(--e-global-color-primary);
	border-color: var(--e-global-color-primary);
	transform: translateY(-2px);
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__chip svg {
	display: block;
}

/* ---------------------------------------------------------------
   Side CTA banner. Gradient is drawn here rather than on the
   container's background controls so it reads from the globals, and
   the decoration is one pseudo-element disc - nothing to ship.
   Gold on Primary is 4.56:1, which passes AA at 11px.
   --------------------------------------------------------------- */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-cta {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	background-image: linear-gradient(160deg, var(--e-global-color-primary) 0%, var(--e-global-color-secondary) 100%);
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-cta::before {
	content: "";
	position: absolute;
	top: -48px;
	right: -48px;
	width: 140px;
	height: 140px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.09);
	pointer-events: none;
}

/* The disc is positioned, so unpositioned siblings would paint under it. */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-cta > * {
	position: relative;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-cta__eyebrow .elementor-heading-title {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-cta__title .elementor-heading-title {
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-cta__copy p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--e-global-color-2880533);
	opacity: 0.82;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-cta__btn {
	margin-top: 6px;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-cta__btn .elementor-button {
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
}

/* ---------------------------------------------------------------
   End-of-article topic pills.
   --------------------------------------------------------------- */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__topics {
	border-top: 1px solid var(--e-global-color-208c8c8);
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__topics-label .elementor-heading-title {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--e-global-color-text);
	opacity: 0.55;
}

/* display:flex also swallows the tag's whitespace separator - a
   whitespace-only anonymous flex item is never rendered. */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__topics-terms .elementor-heading-title {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__topics-terms a {
	display: inline-block;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	padding: 9px 14px;
	border: 1px solid var(--e-global-color-208c8c8);
	border-radius: 9999px;
	color: var(--e-global-color-text);
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__topics-terms a:hover {
	background-color: var(--e-global-color-31b6cc2);
	border-color: var(--e-global-color-31b6cc2);
	color: var(--e-global-color-primary);
}

/* --------------------------------------------------------------- */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__author {
	border-top: 1px solid var(--e-global-color-208c8c8);
	padding-top: 24px;
}

.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__related-title .elementor-heading-title {
	font-size: 26px;
	line-height: 1.3;
}

/* The related row hides itself when the query returns nothing, rather
   than leaving a headed band with an empty hole under it. */
.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__related:not(:has(.elementor-loop-container article)) {
	display: none;
}

@media (max-width: 1024px) {
	.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__title .elementor-heading-title {
		font-size: 32px;
	}

	.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__dek .elementor-widget-container,
	.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__dek p {
		font-size: 17px;
	}

	.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__media img {
		aspect-ratio: 21 / 9;
	}

	/* One column: the article leads, the rail's share row and promo close
	   it out. */
	.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__body {
		flex-direction: column;
	}

	.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__col,
	.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__rail {
		flex: 0 0 auto;
		width: 100%;
		max-width: none;
	}

	.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__rail {
		position: static;
		max-height: none;
		overflow: visible;
	}

	.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__inner {
		flex-direction: row;
		align-items: center;
		gap: 16px;
	}

	.elementor-107 .elementor-element.elementor-element-6802459 .hub-cta {
		max-width: 520px;
	}
}

@media (max-width: 767px) {
	.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__title .elementor-heading-title {
		font-size: 26px;
	}

	.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content {
		font-size: 16px;
	}

	.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__content h2 {
		font-size: 22px;
	}

	.elementor-107 .elementor-element.elementor-element-6802459 .hub-crumbs li:last-child span {
		max-width: 160px;
	}

	/* 3:1 at phone width is a 120px sliver - go back to a real image. */
	.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__media img {
		aspect-ratio: 16 / 9;
	}

	.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.elementor-107 .elementor-element.elementor-element-6802459 .hub-cta {
		max-width: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__chip,
	.elementor-107 .elementor-element.elementor-element-6802459 .hub-single__topics-terms a,
	.elementor-107 .elementor-element.elementor-element-6802459 .hub-cta__btn .elementor-button {
		transition: none !important;
	}

	.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__chip:hover,
	.elementor-107 .elementor-element.elementor-element-6802459 .hub-share__chip:focus-visible {
		transform: none;
	}
}/* End custom CSS */