/**
 * Approved Anable shared shell
 *
 * Components:
 * - C02: Desktop header
 * - C03: Mobile navigation
 * - C04: Shared footer
 * - C37: Detail dialogs
 *
 * Ordinary Elementor page content is intentionally outside this file.
 */


/* ==========================================================================
   1. Document behavior
   ========================================================================== */

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

body.menu-open,
body.dialog-open {
	overflow: hidden;
}


/* ==========================================================================
   2. Shared shell resets
   ========================================================================== */

.site-header,
.site-footer,
.detail-dialog {
	box-sizing: border-box;
}

/*
 * Hello Elementor constrains some non-dynamic shell elements to its responsive
 * content width. The Anable header and footer backgrounds must remain full width.
 */
#site-header,
#site-footer {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	padding-inline: 0;
}

.site-header *,
.site-footer *,
.detail-dialog * {
	box-sizing: border-box;
}

.site-header a,
.site-footer a {
	color: inherit;
	text-decoration: none;
}

.site-header button,
.site-footer button,
.detail-dialog button {
	appearance: none;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
}

/* Shared reset for WordPress menu lists. */
.anable-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}


/* ==========================================================================
   3. Shared header
   ========================================================================== */

.site-header {
	position: sticky;
	top: 0;
	z-index: 30;
	height: 106px;
	background: var(--white);
	border-bottom: 1px solid rgba(15, 29, 49, 0.08);
}

.site-header .header-inner {
	display: flex;
	align-items: center;
	height: 100%;
	gap: 36px;
}


/* Header brand
   ========================================================================== */

.brand {
	flex: 0 0 auto;
	width: 285px;
	padding: 15px 0;
	line-height: 0;
}

.brand img {
	display: block;
	width: 100%;
	height: auto;
}


/* Desktop primary navigation
   ========================================================================== */

.desktop-nav {
	display: flex;
	align-items: center;
	margin-left: auto;
	gap: 27px;
}

.desktop-nav .anable-menu {
	display: flex;
	align-items: center;
	gap: 27px;
}

.desktop-nav .anable-menu > .menu-item {
	position: relative;
}

.desktop-nav a {
	position: relative;
	padding: 10px 0;
	font-size: 16px;
	line-height: 1.5;
	white-space: nowrap;
}

/* Permanent/animated navigation underline. */
.desktop-nav a::after {
	content: "";
	position: absolute;
	bottom: 4px;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--gold);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.25s;
}

.desktop-nav a:hover::after,
.desktop-nav a.is-active::after,
.desktop-nav a[aria-current="page"]::after,
.desktop-nav .current-menu-ancestor > a::after,
.desktop-nav .current-menu-parent > a::after {
	transform: scaleX(1);
}


/* Desktop dropdown navigation
   ========================================================================== */

/*
 * WordPress adds .menu-item-has-children to a parent item and .sub-menu to the
 * nested list. Dropdowns open for both pointer hover and keyboard focus.
 */
.desktop-nav .sub-menu {
	position: absolute;
	z-index: 1000;
	top: 100%;
	left: -20px;
	min-width: 260px;
	margin: 0;
	padding: 12px 20px 16px;
	list-style: none;
	background: var(--white);
	border-top: 3px solid var(--gold);
	box-shadow: 0 12px 28px rgba(8, 17, 30, 0.14);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(8px);
	transition:
		opacity 0.2s ease,
		transform 0.2s ease,
		visibility 0.2s;
}

.desktop-nav .menu-item:hover > .sub-menu,
.desktop-nav .menu-item:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.desktop-nav .sub-menu li {
	display: block;
}

.desktop-nav .sub-menu a {
	display: block;
	width: 100%;
	padding: 9px 0;
	white-space: normal;
}


/* Header call to action
   ========================================================================== */

.header-cta {
	position: relative;
	display: flex;
	align-items: center;
	padding: 12px 0;
	gap: 23px;
	font-size: 15px;
	white-space: nowrap;
}

.header-cta::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 4px;
	left: 0;
	height: 1px;
	background: var(--gold);
	pointer-events: none;
}

.header-cta span {
	font-family: Arial, sans-serif;
	font-size: 21px;
	transition: transform 0.25s var(--ease);
}

.header-cta:hover span {
	transform: translate(3px, -3px);
}


/* Mobile menu controls
   ========================================================================== */

.menu-toggle,
.menu-toggle:hover,
.menu-toggle:focus {
	display: none;
	background: transparent !important;
	color: var(--navy) !important;
}

.mobile-nav[hidden] {
	display: none;
}

.mobile-nav {
	position: absolute;
	inset: 100% 0 auto;
	max-height: calc(100dvh - 90px);
	padding: 24px var(--gutter) 36px;
	overflow: auto;
	background: var(--navy);
	color: var(--white);
	box-shadow: 0 10px 20px rgba(8, 17, 30, 0.18);
}

.mobile-nav .anable-menu,
.mobile-nav .anable-menu > li {
	display: block;
}


/* Mobile call to action
   ========================================================================== */

.mobile-nav .button {
	display: inline-flex;
	align-items: center;
	min-height: 54px;
	margin-top: 28px;
	padding: 15px 23px;
	gap: 22px;
	background: var(--gold);
	color: var(--navy);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
}

.mobile-nav .button:hover {
	background: #ccac78;
	color: var(--navy);
}

.mobile-nav .button span {
	font-family: Arial, sans-serif;
	font-size: 21px;
	transition: transform 0.25s var(--ease);
}

.mobile-nav .button:hover span {
	transform: translate(3px, -3px);
}

.mobile-nav p {
	margin: 25px 0 0;
	color: #c2c7ce;
	font-size: 14px;
}


/* ==========================================================================
   4. Shared footer
   ========================================================================== */

.site-footer {
	background: var(--navy);
	color: #c7cdd4;
}

.footer-shell {
	padding-top: 0;
	padding-bottom: 29px;
}


/* Footer main content
   ========================================================================== */

.footer-main {
	display: grid;
	grid-template-columns: 1.7fr 1fr 0.65fr;
	padding: 64px 0 50px;
	gap: 65px;
	border-top: 1px solid #425064;
}

.footer-brand img {
	display: block;
	width: 305px;
	max-width: 100%;
	height: auto;
}

.footer-tagline {
	margin: 18px 0 0;
	color: #d6b680;
	font: 400 24px var(--serif);
}

.footer-description {
	max-width: 380px;
	margin: 22px 0 0;
	font-size: 15px;
	line-height: 1.65;
}


/* Footer navigation
   ========================================================================== */

.footer-links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.footer-links .anable-menu {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.footer-links h2 {
	margin: 2px 0 12px;
	color: #d6b680;
	font: 600 13px var(--sans);
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.footer-links a,
.footer-links button {
	min-height: 28px;
	padding: 0;
	font-size: 16px;
	line-height: 1.5;
}

.footer-links a:hover,
.footer-links button:hover,
.footer-contact a:hover,
.footer-bottom a:hover,
.footer-bottom button:hover {
	color: #d6b680;
}


/* Footer contact row
   ========================================================================== */

.footer-contact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 24px 0;
	gap: 25px;
	border-top: 1px solid #354357;
	border-bottom: 1px solid #354357;
	font-size: 16px;
}

.footer-contact p {
	margin: 0;
	font-size: 15px;
}


/* Footer legal row
   ========================================================================== */

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 26px;
	gap: 24px;
	color: #afb9c6;
	font-size: 13px;
}

.footer-bottom p {
	margin: 0;
}

.footer-bottom > div {
	display: flex;
	align-items: center;
	gap: 22px;
}

.footer-bottom button {
	padding: 9px 0;
	font-size: 13px;
	line-height: 1.4;
}


/* ==========================================================================
   5. Footer detail dialogs
   ========================================================================== */

.detail-dialog {
	width: min(650px, calc(100% - 36px));
	max-height: 85dvh;
	padding: 60px;
	overflow: auto;
	background: var(--ivory);
	border: 1px solid var(--rule);
	color: var(--ink);
}

.detail-dialog::backdrop {
	background: rgba(8, 17, 30, 0.7);
}

.dialog-close {
	position: absolute;
	top: 10px;
	right: 17px;
	width: 44px;
	height: 44px;
	font-size: 32px;
	line-height: 1;
}

.detail-dialog h2 {
	margin: 0 0 24px;
	font-size: 48px;
	line-height: 1.08;
}

.detail-dialog p {
	margin: 0 0 20px;
	color: var(--muted);
}

.dialog-kicker {
	color: var(--gold-text) !important;
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.dialog-contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.dialog-contact a {
	border-bottom: 1px solid var(--gold);
	overflow-wrap: anywhere;
}

.detail-dialog a {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: var(--gold);
	text-underline-offset: 4px;
}


/* ==========================================================================
   6. Portable Elementor decoration helpers
   ========================================================================== */

/*
 * Typography, spacing, sizing and alignment remain in each Elementor widget
 * unless a helper explicitly needs layout to place generated decoration.
 */


/* Permanent text-link underline
   ========================================================================== */

:is(.anable-text-link, .anable-text-link-on-dark) a {
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: var(--gold);
	text-underline-offset: 6px;
	text-decoration-skip-ink: auto;
}

.anable-text-link-on-dark a {
	text-decoration-color: #768091;
}


/* Related/Explore More links
   ========================================================================== */

.anable-related-link .elementor-button {
	width: 100%;

	/*
	 * Elementor Free has no Button fill-row-height control. This keeps dividers
	 * aligned when a neighboring label wraps in a native Elementor grid.
	 */
	height: 100%;
	align-items: center;
	justify-content: space-between;
	border-style: solid;
	border-width: 0 0 1px;
	border-color: #c9c5bb;
}

.anable-related-link .elementor-button-text {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	text-align: left;
}

.anable-related-link .elementor-button-text::after {
	content: "↗";
	flex: none;
	margin-left: 15px;
	color: var(--gold-text);
	font: 400 22px/1 "Source Sans 3", var(--sans);
}


/* ==========================================================================
   7. Compact desktop adjustments
   ========================================================================== */

@media (max-width: 1190px) {
	.header-inner {
		gap: 24px;
	}

	.brand {
		width: 240px;
	}

	.desktop-nav {
		gap: 20px;
	}

	.desktop-nav .anable-menu {
		gap: 20px;
	}

	.header-cta {
		display: none;
	}

	.footer-main {
		gap: 40px;
	}

	.footer-bottom {
		flex-wrap: wrap;
	}

	.footer-bottom > div {
		margin-left: auto;
	}
}


/* ==========================================================================
   8. Tablet and mobile navigation
   ========================================================================== */

@media (max-width: 800px) {
	html {
		scroll-padding-top: 90px;
	}

	.site-header {
		height: 90px;
	}

	.header-inner {
		justify-content: space-between;
	}

	.brand {
		width: 230px;
	}

	.desktop-nav {
		display: none;
	}


	/* Mobile menu toggle
	   ====================================================================== */

	.menu-toggle,
	.menu-toggle:hover,
	.menu-toggle:focus {
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 12px 0 12px 12px;
		gap: 12px;
	}

	.menu-label {
		font-size: 14px;
	}

	.menu-lines {
		position: relative;
		display: block;
		width: 22px;
		height: 14px;
		border-top: 1px solid var(--navy);
		border-bottom: 1px solid var(--navy);
	}

	.menu-lines::after {
		content: "";
		position: absolute;
		top: 6px;
		left: 0;
		width: 22px;
		height: 1px;
		background: var(--navy);
	}

	.menu-open .menu-lines {
		border-color: transparent;
	}

	.menu-open .menu-lines::before,
	.menu-open .menu-lines::after {
		content: "";
		position: absolute;
		top: 6px;
		left: 0;
		width: 22px;
		height: 1px;
		background: var(--navy);
		transform: rotate(45deg);
	}

	.menu-open .menu-lines::after {
		transform: rotate(-45deg);
	}


	/* Mobile top-level links
	   ====================================================================== */

	.mobile-nav > a:not(.button),
	.mobile-nav .anable-menu a {
		display: block;
		width: 100%;
		padding: 13px 0;
		border-bottom: 1px solid #3a4655;
		font: 400 34px var(--serif);
		text-align: left;
	}


	/* Mobile child links
	   ====================================================================== */

	.mobile-nav .anable-menu .sub-menu {
		margin: 0;
		padding: 0 0 8px 18px;
		list-style: none;
	}

	.mobile-nav .anable-menu .sub-menu a {
		padding: 10px 0 10px 14px;
		color: #d4d9df;
		font: 400 17px/1.45 var(--sans);
		white-space: normal;
	}


	/* Tablet footer
	   ====================================================================== */

	.footer-main {
		grid-template-columns: 1fr 1fr;
		padding-top: 48px;
		padding-bottom: 36px;
		gap: 42px 35px;
	}

	.footer-brand {
		grid-column: 1 / -1;
	}

	.footer-description {
		max-width: 550px;
	}

	.footer-contact {
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 10px 28px;
	}

	.footer-contact p {
		flex-basis: 100%;
	}

	.footer-bottom {
		align-items: flex-start;
		gap: 12px;
	}

	.footer-bottom > div {
		flex-basis: 100%;
		margin-left: 0;
		gap: 25px;
	}

	.footer-links a,
	.footer-links button {
		min-height: 34px;
	}
}


/* ==========================================================================
   9. Small mobile adjustments
   ========================================================================== */

@media (max-width: 480px) {
	.brand {
		width: 209px;
	}

	.menu-label {
		display: none;
	}

	.footer-brand img {
		width: 280px;
	}

	.footer-tagline {
		font-size: 22px;
	}

	.footer-main {
		gap: 35px 20px;
	}

	.footer-links a,
	.footer-links button {
		font-size: 15px;
	}

	.footer-contact {
		gap: 13px;
		font-size: 16px;
	}

	.footer-contact a {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.footer-bottom {
		font-size: 12px;
	}

	.footer-bottom > div {
		gap: 22px;
	}

	.footer-bottom button {
		font-size: 12px;
	}

	.detail-dialog {
		padding: 56px 27px 35px;
	}

	.detail-dialog h2 {
		font-size: 39px;
	}
}


/* ==========================================================================
   10. Extra-small mobile adjustments
   ========================================================================== */

@media (max-width: 360px) {
	.brand {
		width: 199px;
	}

	.footer-main {
		gap: 32px 13px;
	}

	.footer-links a,
	.footer-links button {
		font-size: 14px;
	}
}


/* ==========================================================================
   11. Reduced motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.header-cta span,
	.mobile-nav .button span,
	.desktop-nav a::after,
	.desktop-nav .sub-menu {
		transition: none;
	}
}


/* ==========================================================================
   12. Print
   ========================================================================== */

@media print {
	.site-header {
		position: static;
	}

	.desktop-nav,
	.header-cta,
	.menu-toggle,
	.footer-bottom button,
	.skip-link,
	.detail-dialog {
		display: none !important;
	}

	.site-footer {
		break-inside: avoid;
		color: #c7cdd4;
	}
}

/* Page #73 Services disclosure; ordinary widget styling remains in Elementor. */
.elementor-page-73 .anable-service { border-top: 1px solid var(--rule); scroll-margin-top: 126px; }
.elementor-page-73 .anable-service:last-child { border-bottom: 1px solid var(--rule); }
.elementor-page-73 .anable-service-summary { display: grid !important; grid-template-columns: 50px 1fr 1.2fr 112px; align-items: center; gap: 32px; padding: 34px 0; }
.elementor-page-73 .anable-service-description { max-width: 390px; }
.elementor-page-73 .anable-service-toggle .elementor-button-text::after { content: "↗"; display: inline-flex; align-items: center; justify-content: center; width: 37px; height: 37px; margin-left: 15px; border: 1px solid var(--rule); border-radius: 50%; font: 21px Arial,sans-serif; transition: transform .3s,background-color .3s,border-color .3s,color .3s; }
.elementor-page-73 .anable-service.is-open .anable-service-toggle .elementor-button-text::after { transform: rotate(90deg); background: var(--navy); border-color: var(--navy); color: #fff; }
.elementor-page-73 .anable-service-toggle .elementor-button:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.elementor-page-73 .anable-service-detail { display: grid !important; grid-template-columns: 1fr 1fr; gap: 18px 60px; padding: 0 145px 36px 82px; }
.elementor-page-73 .anable-service-detail[hidden] { display: none !important; }
.elementor-page-73 .anable-service-detail ul { margin: 0; }
.elementor-page-73 .anable-service-detail .anable-text-link { grid-column: 1/-1; justify-self: start; }

@media (max-width:1190px) {
	.elementor-page-73 .anable-service-summary { grid-template-columns: 35px 1fr 1.15fr 90px; gap: 24px; }
	.elementor-page-73 .anable-service-detail { padding-left: 59px; padding-right: 100px; gap: 20px 35px; }
}

@media (max-width:800px) {
	.elementor-page-73 .anable-service-summary { grid-template-columns: 31px 1fr 100px; gap: 15px 20px; padding: 27px 0; }
	.elementor-page-73 .anable-service-description { grid-column: 2/4; }
	.elementor-page-73 .anable-service-toggle { grid-column: 3; grid-row: 1; }
	.elementor-page-73 .anable-service-detail { grid-template-columns: 1fr; padding: 0 0 30px 51px; gap: 17px; }
}

@media (max-width:480px) {
	.elementor-page-73 .anable-service-summary { grid-template-columns: 25px minmax(0,1fr) 78px; gap: 16px 12px; padding: 26px 0; }
	.elementor-page-73 .anable-service-detail { padding-left: 37px; }
}

@media (max-width:360px) {
	.elementor-page-73 .anable-service-title { grid-column: 2/4; }
	.elementor-page-73 .anable-service-toggle { grid-row: 3; }
}

@media (prefers-reduced-motion: reduce) {
	.elementor-page-73 .anable-service-toggle .elementor-button-text::after { transition: none; }
}

/* Reusable interaction feedback. Native Elementor owns type, colors, spacing
 * and geometry; helper classes opt in existing controls only. Page #73 is
 * deliberately excluded. Literal arrows require the approved markup helper;
 * generated/native icon arrows work without it. No new scroll effects. */
@media screen {
	body:not(.elementor-page-73) .elementor-widget-button:is(.anable-cta-feedback, .anable-nav-feedback, .anable-link-feedback, .anable-text-link, .anable-text-link-on-dark, .anable-related-link) .elementor-button {
		transition-property: background-color, color, border-color, text-decoration-color, text-decoration-thickness;
		transition-duration: .25s;
	}
	body:not(.elementor-page-73) .anable-button-arrow,
	body:not(.elementor-page-73) .anable-arrow-feedback .elementor-button-icon {
		display: inline-block;
		transition: transform .25s var(--ease);
		transform-origin: center;
		--anable-arrow-x: 3px;
		--anable-arrow-y: -3px;
	}
	body:not(.elementor-page-73) .anable-button-arrow--right { --anable-arrow-y: 0px; }
	body:not(.elementor-page-73) .anable-button-arrow--down { --anable-arrow-x: 0px; --anable-arrow-y: 3px; }
	body:not(.elementor-page-73) .elementor-widget-button.anable-related-link .elementor-button-text::after,
	body:not(.elementor-page-73) .header-cta span,
	body:not(.elementor-page-73) .mobile-nav .button span,
	body:not(.elementor-page-73) .gform_footer button.gform_button::after {
		transition: transform .25s var(--ease);
		transform-origin: center;
	}
	body:not(.elementor-page-73) .anable-nav-feedback .elementor-button,
	body:not(.elementor-page-73) .anable-contact-link a {
		text-underline-offset: 6px;
		text-decoration-color: currentColor;
		text-decoration-thickness: 2px;
	}
	body:not(.elementor-page-73) .elementor-widget-button:is(.anable-nav-feedback, .anable-link-feedback, .anable-text-link, .anable-text-link-on-dark, .anable-related-link) .elementor-button:focus-visible,
	body:not(.elementor-page-73) .anable-contact-link a:focus-visible {
		outline: 2px solid currentColor;
		outline-offset: 6px;
	}
	body:not(.elementor-page-73) .elementor-widget-button.anable-cta-feedback .elementor-button:focus-visible {
		outline: 2px solid var(--gold-text);
		outline-offset: 6px;
	}
	body:not(.elementor-page-73) .elementor-widget-button:is(.anable-nav-feedback, .anable-link-feedback, .anable-text-link, .anable-text-link-on-dark) .elementor-button:focus-visible,
	body:not(.elementor-page-73) .anable-contact-link a:focus-visible {
		text-decoration-line: underline;
		text-decoration-thickness: 2px;
	}
	body:not(.elementor-page-73) .elementor-widget-button.anable-related-link .elementor-button:focus-visible { border-color: currentColor; }
	body:not(.elementor-page-73) .elementor-widget-button .elementor-button:focus-visible .anable-button-arrow,
	body:not(.elementor-page-73) .anable-arrow-feedback .elementor-button:focus-visible .elementor-button-icon {
		transform: translate(var(--anable-arrow-x, 3px), var(--anable-arrow-y, -3px)) scale(1.12);
	}
	body:not(.elementor-page-73) .elementor-widget-button.anable-related-link .elementor-button:focus-visible .elementor-button-text::after,
	body:not(.elementor-page-73) .header-cta:focus-visible span,
	body:not(.elementor-page-73) .mobile-nav .button:focus-visible span,
	body:not(.elementor-page-73) .gform_footer button.gform_button:focus-visible::after {
		transform: translate(3px, -3px) scale(1.12);
	}
	body:not(.elementor-page-73) .header-cta:focus-visible::after { height: 2px; }
	body:not(.elementor-page-73) .anable-service:not(.is-open) .elementor-widget-button.anable-explore-feedback .elementor-button:focus-visible .elementor-button-text::after {
		transform: translate(2px, -2px) scale(1.12);
	}
	body:not(.elementor-page-73) .mobile-nav .button:focus-visible { background: #ccac78; color: var(--navy); }
	body:not(.elementor-page-73) :is(.footer-links, .footer-contact, .footer-bottom) :is(a, button):focus-visible { color: #d6b680; }
	body:not(.elementor-page-73) .dialog-close:focus-visible { color: var(--gold-text); }
}
@media screen and (hover: hover) and (pointer: fine) {
	body:not(.elementor-page-73) .elementor-widget-button:is(.anable-nav-feedback, .anable-link-feedback, .anable-text-link, .anable-text-link-on-dark) .elementor-button:hover,
	body:not(.elementor-page-73) .anable-contact-link a:hover {
		text-decoration-line: underline;
		text-decoration-thickness: 2px;
	}
	body:not(.elementor-page-73) .elementor-widget-button.anable-related-link .elementor-button:hover { border-color: var(--gold-text); }
	body:not(.elementor-page-73) .elementor-widget-button .elementor-button:hover .anable-button-arrow,
	body:not(.elementor-page-73) .anable-arrow-feedback .elementor-button:hover .elementor-button-icon {
		transform: translate(var(--anable-arrow-x, 3px), var(--anable-arrow-y, -3px)) scale(1.12);
	}
	body:not(.elementor-page-73) .elementor-widget-button.anable-related-link .elementor-button:hover .elementor-button-text::after,
	body:not(.elementor-page-73) .header-cta:hover span,
	body:not(.elementor-page-73) .mobile-nav .button:hover span,
	body:not(.elementor-page-73) .gform_footer button.gform_button:hover::after {
		transform: translate(3px, -3px) scale(1.12);
	}
	body:not(.elementor-page-73) .anable-service:not(.is-open) .elementor-widget-button.anable-explore-feedback .elementor-button:hover .elementor-button-text::after {
		transform: translate(2px, -2px) scale(1.12);
	}
	body:not(.elementor-page-73) .header-cta:hover::after { height: 2px; }
	body:not(.elementor-page-73) .menu-toggle:hover { box-shadow: 0 0 0 2px var(--rule); }
	body:not(.elementor-page-73) .dialog-close:hover { color: var(--gold-text); }
}
/* Native Hover controls also match touch :hover/:focus. Restore the verified
 * gold resting colors after touch, while retaining keyboard focus feedback. */
@media screen and (hover: none), screen and (pointer: coarse) {
	body:not(.elementor-page-73) .elementor-element.anable-cta-feedback.anable-cta-feedback--gold a.elementor-button:hover:not(:focus-visible),
	body:not(.elementor-page-73) .elementor-element.anable-cta-feedback.anable-cta-feedback--gold a.elementor-button:focus:not(:focus-visible),
	body:not(.elementor-page-73) .mobile-nav .button:is(:hover, :focus):not(:focus-visible),
	body:not(.elementor-page-73) .gform_footer button.gform_button:is(:hover, :focus):not(:focus-visible) {
		background-color: var(--gold);
		color: var(--navy);
	}
	body:not(.elementor-page-73) .header-cta:hover span,
	body:not(.elementor-page-73) .mobile-nav .button:hover span { transform: none; }
}
@media screen and (prefers-reduced-motion: reduce) {
	body:not(.elementor-page-73) .elementor-widget-button:is(.anable-cta-feedback, .anable-nav-feedback, .anable-link-feedback, .anable-text-link, .anable-text-link-on-dark, .anable-related-link) .elementor-button,
	body:not(.elementor-page-73) .anable-button-arrow,
	body:not(.elementor-page-73) .anable-arrow-feedback .elementor-button-icon,
	body:not(.elementor-page-73) .elementor-widget-button.anable-related-link .elementor-button-text::after,
	body:not(.elementor-page-73) .elementor-widget-button.anable-explore-feedback .elementor-button-text::after,
	body:not(.elementor-page-73) .header-cta span,
	body:not(.elementor-page-73) .mobile-nav .button span,
	body:not(.elementor-page-73) .gform_footer button.gform_button::after { transition: none; }
	body:not(.elementor-page-73) .elementor-widget-button .elementor-button:is(:hover, :focus-visible) .anable-button-arrow,
	body:not(.elementor-page-73) .anable-arrow-feedback .elementor-button:is(:hover, :focus-visible) .elementor-button-icon,
	body:not(.elementor-page-73) .elementor-widget-button.anable-related-link .elementor-button:is(:hover, :focus-visible) .elementor-button-text::after,
	body:not(.elementor-page-73) .anable-service:not(.is-open) .elementor-widget-button.anable-explore-feedback .elementor-button:is(:hover, :focus-visible) .elementor-button-text::after,
	body:not(.elementor-page-73) .header-cta:is(:hover, :focus-visible) span,
	body:not(.elementor-page-73) .mobile-nav .button:is(:hover, :focus-visible) span,
	body:not(.elementor-page-73) .gform_footer button.gform_button:is(:hover, :focus-visible)::after { transform: none; }
}

/* Outrank Hello's [type="button"] hover/focus fill for this footer control only. */
.site-footer .footer-bottom button[data-dialog="privacy-dialog"]:is(:hover, :focus, :active) {
	background-color: transparent;
	color: #d6b680;
}


/* Native WordPress Privacy Policy #1483: theme-owned page chrome and links.
 * The policy itself uses editable core Heading/Paragraph/List blocks. */
body.page-id-1483 #content.site-main {
 width: 100%;
 max-width: calc(var(--content) + var(--gutter) * 2);
 margin-inline: auto;
 padding: clamp(56px, 6vw, 88px) var(--gutter) clamp(72px, 7vw, 112px);
}
body.page-id-1483 .page-header,
body.page-id-1483 .page-content {
 max-width: 900px;
 margin-inline: auto;
}
body.page-id-1483 .page-header { margin-bottom: 32px; }
body.page-id-1483 .entry-title {
 margin: 0;
 color: var(--navy);
 font: 400 clamp(48px, 5vw, 76px)/1.05 var(--serif);
 letter-spacing: -.035em;
}
body.page-id-1483 .page-content a {
 color: var(--ink);
 text-decoration: underline;
 text-decoration-color: var(--gold);
 text-underline-offset: 4px;
 overflow-wrap: anywhere;
}
body.page-id-1483 .page-content a:hover { color: var(--gold-text); }
.site-footer .footer-bottom .anable-privacy-link {
 display: inline-block;
 padding: 9px 0;
 font-size: 13px;
 line-height: 1.4;
}
.site-footer .footer-bottom .anable-privacy-link:is(:hover, :focus-visible) {
 color: #d6b680;
 background: transparent;
}

/* Shared footer: one decorative LinkedIn icon after the Company menu. */
.site-footer .footer-links .anable-footer-linkedin {
 display: inline-flex;
 align-items: center;
 justify-content: flex-start;
 width: 44px;
 height: 44px;
 min-height: 44px;
 padding: 0;
 color: inherit;
}
.site-footer .anable-footer-linkedin svg {
 display: block;
 width: 20px;
 height: 20px;
}
.site-footer .footer-links .anable-footer-linkedin:is(:hover, :focus-visible) { color: var(--gold); }
.site-footer .footer-links .anable-footer-linkedin:focus-visible {
 outline: 2px solid var(--gold);
 outline-offset: 3px;
}
