:root {
	--axw-shell-ink: var(--axw-color-ink);
	--axw-shell-paper: var(--axw-color-paper);
	--axw-shell-muted: var(--axw-color-muted);
	--axw-shell-rule: rgb(240 237 231 / 24%);
}

.axw-site-header,
.axw-site-footer,
.axw-site-menu {
	font-family: var(--axw-font-functional);
}

.axw-site-header {
	--axw-shell-foreground: var(--axw-shell-paper);
	position: absolute;
	inset: 0 0 auto;
	padding: 0;
	z-index: 1002;
	color: var(--axw-shell-foreground);
	transition: color 220ms ease, background-color 220ms ease;
}
.axw-site-header .axw-site-header__bar { position: relative; z-index: 1003; }

.axw-site-header.is-solid { --axw-shell-foreground: var(--axw-shell-paper); background: var(--axw-shell-ink); }
.axw-site-header.is-over-media { --axw-shell-foreground: var(--axw-shell-paper); }
.axw-site-header .axw-site-header__bar {
	min-height: clamp(100px, 7.2vw, 138px);
	padding: clamp(24px, 2vw, 38px) var(--axw-gutter);
	width: 100%;
	max-width: var(--axw-frame-max);
	margin-inline: auto;
	flex-wrap: nowrap !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 24px;
}
.axw-site-header .axw-site-header__logo { width: clamp(86px, 7vw, 136px); flex: 0 0 auto; }
.axw-site-header .axw-site-header__logo img { display: block; width: 100%; height: auto; filter: brightness(0) invert(.94); }
.axw-site-header .axw-site-header__actions { display: flex !important; align-items: center !important; justify-content: flex-end !important; width: auto; flex: 0 0 auto; flex-wrap: nowrap !important; padding: 0; gap: clamp(28px, 3.2vw, 64px); margin-left: auto; }
.axw-site-header .axw-site-header__book .elementor-button,
.axw-site-header .axw-site-menu-trigger .elementor-button {
	padding: 8px 0;
	color: var(--axw-shell-foreground) !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0;
	font-size: clamp(13px, .82vw, 16px);
	font-weight: 600;
	letter-spacing: .13em;
	line-height: 1.3;
	text-decoration: none;
	transition: opacity 180ms ease;
	min-height: 44px;
	display: flex;
	align-items: center;
}
.axw-site-header .axw-site-header__book .elementor-button:hover,
.axw-site-header .axw-site-menu-trigger .elementor-button:hover { opacity: .66; }
.axw-site-header .axw-site-menu-trigger .elementor-button { min-width: 72px; text-align: right; }
.axw-site-header .axw-site-menu-trigger .elementor-button-text { transition: letter-spacing 180ms ease; }
.axw-site-header .axw-site-menu-trigger.is-open .elementor-button-text { letter-spacing: .17em; }
.axw-site-header a:focus-visible,
.axw-site-menu a:focus-visible,
.axw-site-menu button:focus-visible,
.axw-site-footer a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
html:not(.axw-shell-pointer) .axw-site-header a:focus,
html:not(.axw-shell-pointer) .axw-site-menu a:focus { outline: 2px solid currentColor; outline-offset: 5px; }
html.axw-shell-pointer .axw-site-menu-trigger .elementor-button:focus-visible,
html.axw-shell-pointer .axw-site-menu-trigger .elementor-button:focus,
html.axw-shell-pointer .axw-site-menu a:focus { outline: none; }

.axw-site-menu {
	position: fixed;
	inset: 0;
	z-index: 1001;
	color: var(--axw-shell-paper);
	background: rgb(17 16 15 / 64%);
	visibility: hidden;
	opacity: 0;
	transition: opacity 250ms ease, visibility 250ms;
}
.axw-site-menu[hidden] { display: none; }
.axw-site-menu.is-open { visibility: visible; opacity: 1; }
.axw-site-menu__panel {
	position: absolute;
	inset: 0 0 0 auto;
	width: min(820px, 56vw);
	height: 100%;
	height: 100dvh;
	padding: clamp(124px, 14vh, 176px) var(--axw-gutter) 40px;
	background: var(--axw-shell-ink);
	display: flex !important;
	flex-direction: column;
	transform: translateX(3.5%);
	transition: transform 360ms cubic-bezier(.2,.72,.24,1);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}
.axw-site-menu.is-open .axw-site-menu__panel { transform: translateX(0); }
.axw-site-menu__panel:focus { outline: none; }
.axw-site-menu__eyebrow .elementor-heading-title,
.axw-site-footer__eyebrow { color: var(--axw-shell-muted); font-size: 12px; letter-spacing: .16em; }
.axw-site-menu__eyebrow .elementor-heading-title { color: var(--axw-shell-muted) !important; font-weight: 500 !important; font-family: var(--axw-font-functional); }
.axw-site-menu__nav { display: flex; flex-direction: column; align-items: flex-start; margin-top: 28px; margin-bottom: 32px; gap: 6px; padding: 0; }
.axw-site-menu__link .elementor-heading-title {
	margin: 0;
	color: var(--axw-shell-paper) !important;
	font-family: var(--axw-font-functional);
	font-size: clamp(40px, 3.75vw, 78px);
	font-weight: 400 !important;
	letter-spacing: -.045em;
	line-height: 1.04;
	transition: opacity 180ms ease, transform 180ms ease;
}
.axw-site-menu__link a,
.axw-site-menu__link .elementor-heading-title a { color: var(--axw-shell-paper) !important; text-decoration: none; }
.axw-site-menu__nav:hover .axw-site-menu__link:not(:hover) .elementor-heading-title { opacity: .48; }
.axw-site-menu__link:hover .elementor-heading-title { transform: translateX(8px); }
.axw-site-menu__lower { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 32px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--axw-shell-rule); }
.axw-site-menu__lower p,
.axw-site-menu__lower a { color: var(--axw-shell-muted); font-size: clamp(14px, .9vw, 17px); line-height: 1.6; }
.axw-site-menu__lower a { text-decoration: none; }
.axw-site-menu__map { grid-column: 1 / -1; min-width: 0; margin-top: 6px; }
.axw-site-menu__map .elementor-widget-container { width: 100%; }
.axw-site-menu__map iframe { display: block; width: 100%; height: clamp(112px, 12vh, 160px); border: 0; filter: grayscale(1) contrast(.9) brightness(.82); }
.axw-site-menu__map-link { display: inline-flex; min-height: 40px; align-items: center; margin-top: 3px; color: var(--axw-shell-muted) !important; font-size: 12px !important; letter-spacing: .1em; }
.axw-site-menu__map-link:hover { color: var(--axw-shell-paper) !important; }

.axw-site-footer { color: var(--axw-shell-paper); background: var(--axw-shell-ink); padding: clamp(88px, 8vw, 176px) var(--axw-frame-inset) 32px; }
.axw-site-footer__main { display: grid !important; grid-template-columns: minmax(0, 1.55fr) minmax(150px, .55fr) minmax(170px, .65fr); gap: clamp(40px, 5vw, 112px); align-items: start; width: 100%; max-width: var(--axw-content-max); margin-inline: auto; }
.axw-site-footer .elementor-heading-title,
.axw-site-footer a { color: var(--axw-shell-paper) !important; font-weight: 400 !important; }
.axw-site-footer__wordmark img { display: block; width: clamp(360px, 39vw, 1000px); max-width: 100%; height: auto; }
.axw-site-footer__column-title .elementor-heading-title { margin: 0 0 18px; color: var(--axw-shell-muted) !important; font-size: 12px !important; font-weight: 400 !important; letter-spacing: .15em; }
.axw-site-footer__links { display: flex !important; flex-direction: column !important; align-items: flex-start; gap: 10px; }
.axw-site-footer__links a,
.axw-site-footer__links .elementor-heading-title { color: var(--axw-shell-paper) !important; font-size: clamp(18px, 1.2vw, 24px) !important; font-weight: 400 !important; line-height: 1.35; text-decoration: none; }
.axw-site-footer__links a:hover { opacity: .64; }
.axw-site-footer__bottom { display: flex !important; flex-direction: row !important; justify-content: space-between !important; gap: 22px; width: 100%; max-width: var(--axw-content-max); margin: clamp(78px, 10vw, 170px) auto 0; padding-top: 16px; border-top: 1px solid var(--axw-shell-rule); }
.axw-site-footer__bottom p,
.axw-site-footer__bottom a { margin: 0; color: var(--axw-shell-muted); font-size: 12px; line-height: 1.5; text-decoration: none; }
.axw-site-footer__legal { display: flex !important; flex-direction: row !important; align-items: center; gap: 22px; }
.axw-site-footer__legal .elementor-heading-title,
.axw-site-footer__legal .elementor-heading-title a { color: var(--axw-shell-muted) !important; font-size: 12px !important; font-weight: 400 !important; text-decoration: none; }
.axw-shell-review-content { min-height: 72vh; padding: 30vh clamp(24px, 8vw, 120px) 18vh; color: var(--axw-shell-paper); background: #171615; }
.axw-shell-review-content__inner { max-width: 900px; }
.axw-shell-review-content__inner p { color: var(--axw-shell-muted); font-size: 11px; letter-spacing: .1em; }
.axw-shell-review-content__inner h1 { margin: 32px 0; font-size: clamp(54px, 12vw, 150px); font-weight: 400; letter-spacing: -.07em; line-height: .86; }

/* Utility templates use stable AXW classes so Theme Builder output and safe previews share the same layout. */
.axw-review-frame { width: 100%; min-height: 100svh; background: var(--axw-shell-ink); }
.axw-content-page { width: 100%; background: var(--axw-shell-ink); color: var(--axw-shell-paper); padding: clamp(150px, 19vh, 228px) var(--axw-frame-inset) clamp(110px, 15vh, 184px); }
.axw-content-page__grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(42px, 8vw, 126px); align-items: start; max-width: var(--axw-content-max); margin: 0 auto; }
.axw-content-page__title-block { padding-top: 5px; }
.axw-content-page__eyebrow .elementor-heading-title { margin: 0; color: var(--axw-shell-muted); font-size: 12px; font-weight: 500; letter-spacing: .16em; line-height: 1.4; }
.axw-content-page__title .elementor-heading-title { max-width: 10ch; margin: 30px 0 0; color: var(--axw-shell-paper); font-size: clamp(54px, 7vw, 112px); font-weight: 400; letter-spacing: -.065em; line-height: .94; overflow-wrap: anywhere; }
.axw-content-page__content { width: 100%; max-width: 690px; margin-top: 9px; color: #dedbd4; font-size: clamp(16px, 1.18vw, 18px); font-weight: 400; line-height: 1.78; }
.axw-content-page__content p { margin: 0 0 1.35em; }
.axw-content-page__content h2 { margin: 2.6em 0 .72em; color: var(--axw-shell-paper); font-size: clamp(27px, 2.35vw, 36px); font-weight: 400; letter-spacing: -.035em; line-height: 1.12; }
.axw-content-page__content h3 { margin: 2.1em 0 .65em; color: var(--axw-shell-paper); font-size: clamp(21px, 1.8vw, 27px); font-weight: 400; letter-spacing: -.02em; line-height: 1.2; }
.axw-content-page__content h4 { margin: 1.8em 0 .6em; color: var(--axw-shell-paper); font-size: 18px; font-weight: 500; line-height: 1.3; }
.axw-content-page__content a { color: var(--axw-shell-paper); text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.axw-content-page__content a:hover { color: #fff; text-decoration-thickness: 2px; }
.axw-content-page__content strong { color: #fff; font-weight: 650; }
.axw-content-page__content ul, .axw-content-page__content ol { margin: 0 0 1.5em; padding-inline-start: 1.4em; }
.axw-content-page__content li { padding-inline-start: .25em; margin: 0 0 .45em; }
.axw-content-page__content li::marker { color: var(--axw-shell-muted); }
.axw-content-page__content blockquote { margin: 2em 0; padding: .15em 0 .15em 1.2em; border-inline-start: 1px solid var(--axw-shell-muted); color: var(--axw-shell-paper); }
.axw-content-page__content blockquote p:last-child { margin-bottom: 0; }
.axw-content-page__content table { display: block; width: 100%; max-width: 100%; overflow-x: auto; border-collapse: collapse; border-spacing: 0; font-size: .92em; }
.axw-content-page__content th, .axw-content-page__content td { min-width: 9rem; padding: .8em .9em; border-bottom: 1px solid var(--axw-shell-rule); text-align: left; vertical-align: top; }
.axw-content-page__content th { color: var(--axw-shell-paper); font-weight: 600; }

.axw-404 { display: flex; width: 100%; min-height: 100svh; align-items: center; padding: clamp(150px, 23vh, 250px) var(--axw-frame-inset) clamp(110px, 16vh, 180px); background: var(--axw-shell-ink); color: var(--axw-shell-paper); }
.axw-404__inner { width: 100%; max-width: var(--axw-content-max); margin: 0 auto; }
.axw-404__code .elementor-heading-title { margin: 0 0 clamp(30px, 5vw, 74px); color: var(--axw-shell-muted); font-size: 11px; font-weight: 400; letter-spacing: .18em; }
.axw-404__title .elementor-heading-title { max-width: 10ch; margin: 0; color: var(--axw-shell-paper); font-size: clamp(80px, 16vw, 224px); font-weight: 400; letter-spacing: -.085em; line-height: .78; }
.axw-404__description .elementor-heading-title { margin: clamp(32px, 5vw, 68px) 0 0; color: #dedbd4; font-size: clamp(17px, 1.5vw, 21px); font-weight: 400; line-height: 1.5; }
.axw-404__home { margin-top: 30px; }
.axw-404__home .elementor-button { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 0; border: 0; border-bottom: 1px solid rgb(240 237 231 / 52%); border-radius: 0; background: transparent; color: var(--axw-shell-paper); font-size: 11px; font-weight: 500; letter-spacing: .14em; text-decoration: none; }
.axw-404__home .elementor-button:hover { border-color: var(--axw-shell-paper); }
.axw-404 a:focus-visible { outline: 2px solid var(--axw-shell-paper); outline-offset: 6px; }

@media (max-width: 767px) {
	.axw-site-header .axw-site-header__bar { min-height: 88px; padding: 20px var(--axw-gutter); }
	.axw-site-header .axw-site-header__logo { width: 76px; }
	.axw-site-header .axw-site-header__actions { gap: 17px; }
	.axw-site-header .axw-site-header__book .elementor-button, .axw-site-header .axw-site-menu-trigger .elementor-button { font-size: 11px; letter-spacing: .08em; }
	.axw-site-header .axw-site-menu-trigger .elementor-button { min-width: 52px; }
	.axw-site-menu__panel { width: 100%; padding: 112px var(--axw-gutter) 24px; }
	.axw-site-menu__nav { margin-top: 24px; }
	.axw-site-menu__link .elementor-heading-title { font-size: clamp(34px, 9.4vw, 58px); line-height: 1.04; }
	.axw-site-menu__lower { gap: 12px 16px; }
	.axw-site-menu__map iframe { height: clamp(112px, 19vh, 175px); }
	.axw-site-footer { padding: 80px var(--axw-gutter) 24px; }
	.axw-site-footer__main { gap: 54px 22px; }
	.axw-site-footer__wordmark { grid-column: 1 / -1; }
	.axw-site-footer__main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.axw-site-footer__wordmark img { width: min(100%, 600px); }
	.axw-site-footer__bottom { margin-top: 86px; flex-direction: column !important; }
	.axw-site-footer__legal { flex-wrap: wrap; gap: 12px 20px; }
	.axw-content-page { padding: 132px var(--axw-gutter) 92px; }
	.axw-content-page__grid { grid-template-columns: minmax(0, 1fr); gap: 44px; }
	.axw-content-page__title .elementor-heading-title { max-width: 12ch; margin-top: 22px; font-size: clamp(48px, 13vw, 70px); line-height: .98; }
	.axw-content-page__content { max-width: none; margin-top: 0; font-size: 16px; line-height: 1.72; }
	.axw-content-page__content h2 { margin-top: 2.1em; font-size: 27px; }
	.axw-content-page__content h3 { font-size: 22px; }
	.axw-content-page__content table { max-width: calc(100vw - 2 * var(--axw-gutter)); }
	.axw-404 { min-height: 86svh; padding: 138px var(--axw-gutter) 104px; }
	.axw-404__code .elementor-heading-title { margin-bottom: 34px; }
	.axw-404__title .elementor-heading-title { max-width: 8ch; font-size: clamp(66px, 17vw, 108px); line-height: .82; }
	.axw-404__description .elementor-heading-title { margin-top: 36px; font-size: 17px; }
}

@media (max-width: 520px) {
	.axw-site-footer__main { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.axw-site-footer__wordmark { margin-bottom: 58px; }
	.axw-site-footer__wordmark img { width: 100%; }
	.axw-site-footer__main > :not(.axw-site-footer__wordmark) { padding-top: 22px; padding-bottom: 28px; border-top: 1px solid var(--axw-shell-rule); }
	.axw-site-footer__bottom { margin-top: 36px; }
}

@media (max-height: 700px) and (max-width: 767px) {
	.axw-site-menu__panel { padding-top: 84px; }
	.axw-site-menu__nav { margin-top: 12px; }
	.axw-site-menu__link .elementor-heading-title { font-size: clamp(30px, 8.3vw, 44px); }
	.axw-site-menu__lower { margin-top: 24px; }
	.axw-site-menu__map iframe { height: 112px; }
}

@media (max-width: 1024px) and (min-width: 768px) {
	.axw-content-page { padding-top: clamp(136px, 17vh, 190px); }
	.axw-content-page__grid { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(32px, 5vw, 64px); }
	.axw-content-page__title .elementor-heading-title { font-size: clamp(50px, 7.7vw, 78px); }
}

@media (prefers-reduced-motion: reduce) {
	.axw-site-header, .axw-site-menu, .axw-site-menu__panel,
	.axw-site-menu__link .elementor-heading-title, .axw-site-header__book .elementor-button,
	.axw-site-menu-trigger .elementor-button { transition-duration: .01ms !important; }
}

/* Shell text stays functional; identity is the one editorial accent. */
.axw-site-footer .elementor-heading-title,
.axw-site-menu__eyebrow .elementor-heading-title,
.axw-site-header .elementor-button { font-family: var(--axw-font-functional); }
.axw-site-footer .axw-site-footer__social .elementor-heading-title,
.axw-site-footer .axw-site-footer__social a {
	font-family: var(--axw-font-personality);
	font-size: clamp(28px, 2.3vw, 46px) !important;
	letter-spacing: -.025em;
}
.axw-site-header__bar .elementor-widget,
.axw-site-menu__nav .elementor-widget,
.axw-site-footer .elementor-widget { margin-block-end: 0; }
.axw-site-footer__group { gap: 14px; padding: 0; }
.axw-site-footer__group .axw-site-footer__column-title:not(:first-child) { margin-top: 32px; }
.axw-site-menu__lower { padding-inline: 0; }
.axw-site-header .axw-site-header__book .elementor-button:hover,
.axw-site-header .axw-site-menu-trigger .elementor-button:hover,
.axw-site-menu__link a:hover,
.axw-site-footer__links a:hover { color: var(--axw-color-champagne) !important; opacity: 1; }
@media (min-width: 2400px) {
	.axw-site-menu__panel { padding-inline: 64px; width: 820px; }
}
@media (max-height: 800px) and (min-width: 768px) {
	.axw-site-menu__panel { padding-top: 112px; }
	.axw-site-menu__link .elementor-heading-title { font-size: clamp(38px, 3.4vw, 58px); }
	.axw-site-menu__nav { gap: 4px; margin-block: 16px 28px; }
	.axw-site-menu__map iframe { height: 120px; }
}

.axw-site-menu__lower .elementor-widget { margin-block-end: 0; }
.axw-site-menu__lower p { margin: 0; }

/* Elementor gives linked SVGs a 48px default: keep the authored AXW mark at shell scale. */
.axw-site-header__logo a,
.axw-site-footer__wordmark a { display: block; width: 100%; }
.axw-site-header .axw-site-header__logo img { width: 100% !important; }
.axw-site-footer .axw-site-footer__wordmark img { width: clamp(360px, 39vw, 1000px) !important; filter: brightness(0) invert(.94); }
@media (max-width: 767px) {
	.axw-site-footer .axw-site-footer__wordmark img { width: 100% !important; }
}

.axw-site-footer__main { padding: 0; }
.axw-site-footer__bottom { padding-inline: 0; padding-bottom: 0; }
/* Keep logged-in preview controls clear of WordPress's toolbar. */
body.admin-bar .axw-site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .axw-site-header { top: 46px; } }

/* Mailing copy and form remain separate, editable Elementor widgets. */
.axw-site-footer__mailing { grid-column: 1; grid-row: 2; width: 100%; max-width: 600px; padding: 0; gap: 0; min-width: 0; }
.axw-site-footer__main > .axw-site-footer__group { grid-row: 1 / 3; }
.axw-site-footer__main { row-gap: 40px; }
.axw-site-footer__mailing-copy p { margin: 14px 0 20px; color: var(--axw-color-copy); font: 400 16px/1.5 var(--axw-font-functional); max-width: 38ch; }
.axw-site-footer__mailing .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 !important; align-items: flex-end; }
.axw-site-footer__mailing .elementor-field-group { padding: 0 !important; margin: 0 !important; min-width: 0; }
.axw-site-footer__mailing .elementor-field-type-email { flex: 1 1 180px; width: auto; }
.axw-site-footer__mailing .elementor-field-label { color: var(--axw-color-copy); font: 400 13px/1.4 var(--axw-font-functional); padding-bottom: 8px; }
.axw-site-footer__mailing .elementor-field-textual { min-height: 48px; width: 100%; border: 0; border-bottom: 1px solid var(--axw-shell-rule) !important; border-radius: 0; background: transparent !important; color: var(--axw-color-paper); padding: 12px 0; font: 400 16px/1.4 var(--axw-font-functional); box-shadow: none; }
.axw-site-footer__mailing .elementor-field-type-submit { flex: 0 0 auto; width: auto; }
.axw-site-footer__mailing .elementor-button { min-height: 48px !important; border: 1px solid var(--axw-color-champagne); border-radius: 0; padding: 12px 20px; background: var(--axw-color-champagne); color: var(--axw-color-ink); font: 600 14px/1.4 var(--axw-font-functional); letter-spacing: .06em; }
.axw-site-footer__mailing .elementor-button-text { color: var(--axw-color-ink); }
.axw-site-footer__mailing .elementor-button:disabled { cursor: default; opacity: .6; }
.axw-site-footer__mailing .elementor-message { margin-top: 14px; font: 400 14px/1.5 var(--axw-font-functional); }
.axw-site-footer__mailing .elementor-message::before { display: none; }
.axw-site-footer__mailing .elementor-message-success { color: var(--axw-color-champagne); }
.axw-site-footer__mailing .elementor-message-danger { color: #efb8aa; }
/* Do not advertise an unfinished sign-up flow while its Elementor action is unset. */
.axw-site-footer__mailing[hidden] { display: none !important; }
@supports selector(:has(*)) {
 .axw-site-footer__mailing:has(form button[type="submit"]:disabled) {display:none!important}
}
.axw-site-footer__mailing :is(input,button):focus-visible { outline: 2px solid var(--axw-color-champagne); outline-offset: 4px; }
.axw-site-footer .axw-site-footer__credit p,
.axw-site-footer .axw-site-footer__credit a { font: 400 12px/1.5 var(--axw-font-functional); color: var(--axw-shell-muted) !important; text-transform: none; letter-spacing: normal; }
.axw-site-footer__credit p { margin: 0; }
.axw-site-footer .axw-site-footer__credit a { text-decoration: underline; text-underline-offset: 3px; }
.axw-site-footer .axw-site-footer__credit a:hover { color: var(--axw-color-paper) !important; }
@media (max-width: 1199px) and (min-width: 768px) {
 .axw-site-footer__main { grid-template-columns: minmax(0,1.4fr) minmax(0,.65fr) minmax(0,.8fr); gap: 40px 32px; }
 .axw-site-footer .axw-site-footer__wordmark img { width: 100% !important; }
 .axw-site-footer__links a, .axw-site-footer__links .elementor-heading-title { font-size: 17px; }
}
@media (max-width: 767px) {
 .axw-site-footer__mailing { grid-column: 1 / -1; grid-row: 2; max-width: none; }
 .axw-site-footer__main > .axw-site-footer__group { grid-row: 3; }
 .axw-site-footer__main { row-gap: 36px; }
 .axw-site-footer__bottom { gap: 10px; }
}
@media (max-width: 520px) {
 .axw-site-footer__mailing { grid-column: auto; grid-row: auto; }
 .axw-site-footer__main > .axw-site-footer__group { grid-row: auto; }
 .axw-site-footer__main > .axw-site-footer__wordmark { margin-bottom: 0; }
 .axw-site-footer__main { row-gap: 0; }
 .axw-site-footer__main > .axw-site-footer__mailing { padding: 28px 0; }
}
/* The map is a quiet location preview; the AXW text link provides the clear action. */
.axw-site-menu__map iframe { clip-path: inset(40px 0 0); margin-top: -40px; height: calc(clamp(112px, 12vh, 160px) + 40px); }
@media (max-height: 800px) and (min-width: 768px) { .axw-site-menu__map iframe { height: 160px; } }
.axw-site-footer__mailing .elementor-field-textual::placeholder { color: var(--axw-shell-muted); opacity: 1; }

/* Align the mailing capture with the actual AXW mark, not an unrelated capped form. */
@media (min-width:768px) {
 .axw-site-footer__mailing { width:clamp(360px,39vw,1000px); max-width:100%; }
 .axw-site-footer__mailing-copy p { max-width:none; white-space:nowrap; font-size:clamp(14px,1.05vw,18px); margin-block:14px 20px; }
 .axw-site-footer__main { row-gap:32px; }
 .axw-site-footer__bottom { margin-top:clamp(48px,6vw,96px); }
}
@media (min-width:768px) and (max-width:1199px) { .axw-site-footer__mailing { width:100%; } }

/* Mobile: let the full-size mark breathe without a colliding divider. */
@media(max-width:767px) {
 .axw-site-footer__wordmark {border-bottom:0!important}
 .axw-site-footer__main > .axw-site-footer__mailing {border-top:0!important}
}
@media(max-width:520px) {
 .axw-site-footer__main > .axw-site-footer__wordmark {margin-bottom:24px!important}
}
/* Preserve the original three-column footer order when the mailing row is absent. */
@media(min-width:768px) {
 .axw-site-footer__main.axw-mailing-unavailable > .axw-site-footer__wordmark {grid-column:1;grid-row:1}
 .axw-site-footer__main.axw-mailing-unavailable > .axw-site-footer__group {grid-row:1}
}
@supports selector(:has(*)) {
 @media(min-width:768px) {
  .axw-site-footer__main:has(.axw-site-footer__mailing form button[type="submit"]:disabled) > .axw-site-footer__wordmark {grid-column:1;grid-row:1}
  .axw-site-footer__main:has(.axw-site-footer__mailing form button[type="submit"]:disabled) > .axw-site-footer__group {grid-row:1}
 }
}
