.elementor-kit-5{--e-global-color-primary:#121519;--e-global-color-secondary:#464839;--e-global-color-text:#2B2D31;--e-global-color-accent:#E7CD63;--e-global-color-golddeep:#D2B54A;--e-global-color-cream:#FAF7F2;--e-global-color-linen:#F3EEE4;--e-global-color-sand:#EFEADD;--e-global-color-stone:#DCD4C4;--e-global-color-taupe:#8F8878;--e-global-color-muted:#5F5B53;--e-global-color-oliveink:#5C5E48;--e-global-color-mist:#C9C6BE;--e-global-color-charcoal:#1D2024;--e-global-color-olivedeep:#34362A;--e-global-color-white:#FFFFFF;--e-global-color-scrim:rgba(18,21,25,0.72);--e-global-color-error:#FFB3A7;--e-global-typography-primary-font-family:"Libre Caslon Text";--e-global-typography-primary-font-size:52px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.12em;--e-global-typography-primary-letter-spacing:-0.5px;--e-global-typography-secondary-font-family:"Libre Caslon Text";--e-global-typography-secondary-font-size:34px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-text-font-family:"Source Serif 4";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-family:"Work Sans";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:1.6px;--e-global-typography-esdisplay-font-family:"Libre Caslon Text";--e-global-typography-esdisplay-font-size:96px;--e-global-typography-esdisplay-font-weight:400;--e-global-typography-esdisplay-line-height:1em;--e-global-typography-esdisplay-letter-spacing:-1px;--e-global-typography-esh4-font-family:"Libre Caslon Text";--e-global-typography-esh4-font-size:26px;--e-global-typography-esh4-font-weight:400;--e-global-typography-esh4-line-height:1.25em;--e-global-typography-esh5-font-family:"Libre Caslon Text";--e-global-typography-esh5-font-size:20px;--e-global-typography-esh5-font-weight:400;--e-global-typography-esh5-line-height:1.3em;--e-global-typography-eslead-font-family:"Source Serif 4";--e-global-typography-eslead-font-size:21px;--e-global-typography-eslead-font-weight:400;--e-global-typography-eslead-line-height:1.55em;--e-global-typography-estagline-font-family:"Libre Caslon Text";--e-global-typography-estagline-font-size:32px;--e-global-typography-estagline-font-weight:400;--e-global-typography-estagline-font-style:italic;--e-global-typography-estagline-line-height:1.3em;--e-global-typography-esquote-font-family:"Libre Caslon Text";--e-global-typography-esquote-font-size:40px;--e-global-typography-esquote-font-weight:400;--e-global-typography-esquote-font-style:italic;--e-global-typography-esquote-line-height:1.3em;--e-global-typography-eseyebrow-font-family:"Work Sans";--e-global-typography-eseyebrow-font-size:13px;--e-global-typography-eseyebrow-font-weight:600;--e-global-typography-eseyebrow-text-transform:uppercase;--e-global-typography-eseyebrow-line-height:1.4em;--e-global-typography-eseyebrow-letter-spacing:2.4px;--e-global-typography-esnav-font-family:"Work Sans";--e-global-typography-esnav-font-size:13px;--e-global-typography-esnav-font-weight:600;--e-global-typography-esnav-text-transform:uppercase;--e-global-typography-esnav-line-height:1.2em;--e-global-typography-esnav-letter-spacing:1.6px;--e-global-typography-essmall-font-family:"Source Serif 4";--e-global-typography-essmall-font-size:15px;--e-global-typography-essmall-font-weight:400;--e-global-typography-essmall-line-height:1.55em;--e-global-typography-eslabel-font-family:"Work Sans";--e-global-typography-eslabel-font-size:14px;--e-global-typography-eslabel-font-weight:600;--e-global-typography-eslabel-line-height:1.4em;--e-global-typography-eslabel-letter-spacing:0.3px;--e-global-typography-esinput-font-family:"Source Serif 4";--e-global-typography-esinput-font-size:16px;--e-global-typography-esinput-font-weight:400;--e-global-typography-esinput-line-height:1.5em;background-color:var( --e-global-color-cream );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Georgia, serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Georgia, serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-primary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );border-radius:2px 2px 2px 2px;padding:18px 32px 18px 32px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:var( --e-global-color-golddeep );color:var( --e-global-color-primary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-golddeep );}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 p{margin-block-end:20px;}.elementor-kit-5 a{color:var( --e-global-color-primary );}.elementor-kit-5 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-5 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-esdisplay-font-family ), Georgia, serif;font-size:var( --e-global-typography-esdisplay-font-size );font-weight:var( --e-global-typography-esdisplay-font-weight );line-height:var( --e-global-typography-esdisplay-line-height );letter-spacing:var( --e-global-typography-esdisplay-letter-spacing );}.elementor-kit-5 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Georgia, serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-5 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Georgia, serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-5 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-esh4-font-family ), Georgia, serif;font-size:var( --e-global-typography-esh4-font-size );font-weight:var( --e-global-typography-esh4-font-weight );line-height:var( --e-global-typography-esh4-line-height );}.elementor-kit-5 h5{color:var( --e-global-color-primary );font-family:var( --e-global-typography-esh5-font-family ), Georgia, serif;font-size:var( --e-global-typography-esh5-font-size );font-weight:var( --e-global-typography-esh5-font-weight );line-height:var( --e-global-typography-esh5-line-height );}.elementor-kit-5 h6{color:var( --e-global-color-oliveink );font-family:var( --e-global-typography-eseyebrow-font-family ), Georgia, serif;font-size:var( --e-global-typography-eseyebrow-font-size );font-weight:var( --e-global-typography-eseyebrow-font-weight );text-transform:var( --e-global-typography-eseyebrow-text-transform );line-height:var( --e-global-typography-eseyebrow-line-height );letter-spacing:var( --e-global-typography-eseyebrow-letter-spacing );}.elementor-kit-5 label{color:var( --e-global-color-primary );font-family:var( --e-global-typography-eslabel-font-family ), Georgia, serif;font-size:var( --e-global-typography-eslabel-font-size );font-weight:var( --e-global-typography-eslabel-font-weight );line-height:var( --e-global-typography-eslabel-line-height );letter-spacing:var( --e-global-typography-eslabel-letter-spacing );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-family:var( --e-global-typography-esinput-font-family ), Georgia, serif;font-size:var( --e-global-typography-esinput-font-size );font-weight:var( --e-global-typography-esinput-font-weight );line-height:var( --e-global-typography-esinput-line-height );color:var( --e-global-color-primary );accent-color:var( --e-global-color-primary );background-color:var( --e-global-color-white );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-taupe );border-radius:2px 2px 2px 2px;transition:150ms;padding:14px 16px 14px 16px;}.elementor-kit-5 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea:focus,.elementor-kit-5 .elementor-field-textual:focus{color:var( --e-global-color-primary );background-color:var( --e-global-color-white );box-shadow:0px 0px 0px 3px rgba(231,205,99,0.65);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1120px;}.e-con{--container-max-width:1120px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:rgba(18,21,25,0.95);--lightbox-ui-color:#C9C6BE;--lightbox-ui-color-hover:#E7CD63;--lightbox-text-color:#FAF7F2;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-primary-font-size:42px;--e-global-typography-secondary-font-size:30px;--e-global-typography-text-font-size:18px;--e-global-typography-accent-font-size:14px;--e-global-typography-esdisplay-font-size:72px;--e-global-typography-esh4-font-size:24px;--e-global-typography-esh5-font-size:19px;--e-global-typography-eslead-font-size:20px;--e-global-typography-estagline-font-size:28px;--e-global-typography-esquote-font-size:34px;--e-global-typography-eseyebrow-font-size:13px;--e-global-typography-esnav-font-size:13px;--e-global-typography-essmall-font-size:15px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-5 h1{font-size:var( --e-global-typography-esdisplay-font-size );line-height:var( --e-global-typography-esdisplay-line-height );letter-spacing:var( --e-global-typography-esdisplay-letter-spacing );}.elementor-kit-5 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-5 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-5 h4{font-size:var( --e-global-typography-esh4-font-size );line-height:var( --e-global-typography-esh4-line-height );}.elementor-kit-5 h5{font-size:var( --e-global-typography-esh5-font-size );line-height:var( --e-global-typography-esh5-line-height );}.elementor-kit-5 h6{font-size:var( --e-global-typography-eseyebrow-font-size );line-height:var( --e-global-typography-eseyebrow-line-height );letter-spacing:var( --e-global-typography-eseyebrow-letter-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-5 label{font-size:var( --e-global-typography-eslabel-font-size );line-height:var( --e-global-typography-eslabel-line-height );letter-spacing:var( --e-global-typography-eslabel-letter-spacing );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-size:var( --e-global-typography-esinput-font-size );line-height:var( --e-global-typography-esinput-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-primary-font-size:34px;--e-global-typography-secondary-font-size:26px;--e-global-typography-text-font-size:17px;--e-global-typography-accent-font-size:13px;--e-global-typography-esdisplay-font-size:52px;--e-global-typography-esdisplay-letter-spacing:-0.5px;--e-global-typography-esh4-font-size:22px;--e-global-typography-esh5-font-size:18px;--e-global-typography-eslead-font-size:19px;--e-global-typography-estagline-font-size:24px;--e-global-typography-esquote-font-size:26px;--e-global-typography-eseyebrow-font-size:12px;--e-global-typography-esnav-font-size:13px;--e-global-typography-essmall-font-size:15px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-5 h1{font-size:var( --e-global-typography-esdisplay-font-size );line-height:var( --e-global-typography-esdisplay-line-height );letter-spacing:var( --e-global-typography-esdisplay-letter-spacing );}.elementor-kit-5 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-5 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-5 h4{font-size:var( --e-global-typography-esh4-font-size );line-height:var( --e-global-typography-esh4-line-height );}.elementor-kit-5 h5{font-size:var( --e-global-typography-esh5-font-size );line-height:var( --e-global-typography-esh5-line-height );}.elementor-kit-5 h6{font-size:var( --e-global-typography-eseyebrow-font-size );line-height:var( --e-global-typography-eseyebrow-line-height );letter-spacing:var( --e-global-typography-eseyebrow-letter-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );padding:16px 24px 16px 24px;}.elementor-kit-5 label{font-size:var( --e-global-typography-eslabel-font-size );line-height:var( --e-global-typography-eslabel-line-height );letter-spacing:var( --e-global-typography-eslabel-letter-spacing );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-size:var( --e-global-typography-esinput-font-size );line-height:var( --e-global-typography-esinput-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --es-ink:#121519; --es-olive:#464839; --es-body-text:#2B2D31; --es-gold:#E7CD63; --es-gold-deep:#D2B54A; --es-cream:#FAF7F2; --es-linen:#F3EEE4; --es-sand:#EFEADD; --es-stone:#DCD4C4; --es-taupe:#8F8878; --es-muted:#5F5B53; --es-olive-ink:#5C5E48; --es-mist:#C9C6BE; --es-charcoal:#1D2024; --es-olive-deep:#34362A; --es-white:#FFFFFF; --es-scrim:rgba(18,21,25,0.72); --es-font-heading:Libre Caslon Text; --es-font-body:Source Serif 4; --es-font-ui:Work Sans; --es-container:1120px; --es-radius:2px; --es-radius-card:4px; --es-section-y:clamp(64px, 9vw, 120px); --es-gutter:clamp(20px, 4vw, 40px); --es-text-h1:clamp(52px, 7vw, 96px); --es-text-h2:clamp(34px, 4.2vw, 52px); --es-text-h3:clamp(26px, 3vw, 34px); --es-text-body:18px; }
/* Start custom CSS *//* Esther's Song: global helpers. Source of truth: tools/apply-kit.php */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--e-global-color-accent); color: var(--e-global-color-primary); }

/* Anchor targets land flush under the stuck header (68px; 60px on phones). Sections carry their own
   top padding, so flush is the right offset: a larger one shows a sliver of the previous band. */
.elementor-element[id], .e-con[id] { scroll-margin-top: 68px; }
@media (max-width: 767px) { .elementor-element[id], .e-con[id] { scroll-margin-top: 60px; } }
/* #top is the hero, which sits under the header at the very top: a margin taller than the header makes
   "/#top" (wordmark, Back to top) scroll to 0 instead of stopping 16px down. */
#top { scroll-margin-top: 200px !important; }

/* Visible keyboard focus everywhere: ink ring on light sections, gold ring on dark ones
   (add class es-dark to any dark section). Both are >= 3:1 against their background. */
.elementor-kit-5 :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--es-focus, var(--e-global-color-primary)) !important;
	outline-offset: 3px;
}
.es-dark, .es-header, .es-footer { --es-focus: var(--e-global-color-accent); }

/* Mobile menu open: lock page scroll (set by tools/build/site-nav.js) */
html.es-menu-open, html.es-menu-open body { overflow: hidden; }

/* Gold rule under section headings (Image #2 pattern) */
.es-rule { display: block; width: 56px; height: 3px; background: var(--e-global-color-accent); }

/* Text-link CTA with gold underline */
.es-link a, a.es-link { text-decoration: underline; text-decoration-color: var(--e-global-color-accent); text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* Touch targets >= 44px (plan T5.1). Text links that stand on their own (wordmark, text-link CTA, footer legal
   links) get a taller hit area through padding cancelled by a negative margin, so the line they sit on doesn't move.
   Link lists (lib.link_list, .es-links) use 44px rows. Links inside a sentence are exempt (WCAG inline exception). */
.es-wordmark a, .es-footer-bottom a { display: inline-block; padding-block: 12px; margin-block: -12px; }
.es-link a, a.es-link { display: inline-block; padding-block: 14px; margin-block: -14px; }
.es-links .plus-icon-list-item > a, .es-links .plus-icon-list-item .plus-icon-list-text a { display: flex; align-items: center; min-height: 44px; min-width: 44px; }

/* Button rows (.es-btns, tools/build/lib.py buttons()): full-width stacked buttons on phones */
@media (max-width: 767px) {
	.es-btns > .elementor-widget-tp-button { width: 100%; }
	.es-btns :is(.pt-plus-button-wrapper, .button_parallax, .ts-button, .pt_plus_button, .animted-content-inner) { width: 100%; }
	.es-btns .button-link-wrap { display: flex !important; justify-content: center; align-items: center; width: 100%; }
}

/* Small print and inline links inside Plus Text Blocks */
.es-note a { color: inherit; text-decoration: underline; text-decoration-color: var(--e-global-color-accent); text-underline-offset: 3px; }

/* Cards: Plus Info Box with .es-card (tools/build/lib.py info_card). Fill the grid cell so a row of
   cards shares one height without JS; Lucide line icons are stroked in ink (gold on dark bands). */
.es-card, .es-card :is(.pt_plus_info_box, .post-inner-loop, .info-box-inner, .info-box-bg-box) { height: 100%; }
.es-card .info-box-bg-box { position: relative; }
.es-card .service-icon { color: var(--es-icon, var(--e-global-color-primary)); background: none !important; border: 0 !important; }
.es-card .service-icon svg, .es-list .plus-icon-list-icon svg { fill: none !important; stroke: currentColor !important; }
.es-card .service-icon svg *, .es-list .plus-icon-list-icon svg * { fill: none !important; stroke: currentColor !important; }
.es-card-top .service-icon-wrap, .es-card-top .info-icon-content { justify-content: flex-start; text-align: left; margin: 0 0 20px; }
.es-card .service-title { margin: 0 0 8px !important; }
.es-card .service-desc p:last-child { margin-bottom: 0; }
/* "Coming soon" pin: a small tag in the card's top-right corner instead of Plus's centred badge */
/* Anchor the pin to the card box, not to Plus's inner wrappers */
.es-card :is(.info-box-content, .service-center, .info-icon-content) { position: static !important; }
.es-card .info-pin-text { position: absolute !important; top: 24px !important; right: 24px !important; left: auto !important; margin: 0 !important; white-space: nowrap;
	transform: none !important; width: auto !important; background: transparent !important; border: 1px solid var(--e-global-color-taupe);
	border-radius: 2px; padding: 4px 8px !important; color: var(--e-global-color-oliveink) !important;
	font: 600 12px/1.2 "Work Sans", sans-serif; letter-spacing: 1.2px; text-transform: uppercase; }
.es-list .plus-icon-list-icon { color: var(--es-icon, var(--e-global-color-primary)); }
.es-card-side .service-icon-wrap { margin-right: 20px; }

/* Process Steps (.es-steps): steps align to the top; on phones Plus stacks them with a fixed-width
   text column, so let the text take the remaining width and read left-aligned. */
.es-steps .tp-process-steps-widget.style_2 { align-items: flex-start !important; }
@media (max-width: 767px) {
	.es-steps .tp-process-steps-wrapper { padding-left: 0 !important; padding-right: 0 !important; }
	.es-steps .tp-ps-right-content { width: auto !important; flex: 1 1 auto; text-align: left; padding-left: 20px; }
	/* Plus puts a 50px margin after the number; on a 320px phone that left a ~100px text column (T5.1) */
	.es-steps .tp-ps-left-imt { margin-right: 0 !important; flex: none; }
}
.es-dark { --es-icon: var(--e-global-color-accent); }

/* Trailer lightbox: Lity, bundled with The Plus Addons (Video Player popup mode, plan T2.2).
   Plus's own Lity CSS leaves an 18%-opaque backdrop, forces the player box to 100vh (letterboxing the
   video), and the kit button style turns the close button gold (gotcha 2). Restore an ink backdrop, a
   16:9 player that fits the viewport, and a quiet close button with a visible focus ring. */
.lity { background: rgba(18,21,25,.94) !important; }
.lity.lity-iframe .lity-container { width: min(1120px, 92vw, calc((100vh - 160px) * 16 / 9)); max-width: none !important; }
.lity .lity-iframe-container { height: 0 !important; padding-top: 56.25% !important; overflow: hidden !important; }
.lity .lity-iframe-container iframe { position: absolute; inset: 0; width: 100%; height: 100%; background: #000; }
body .lity button.lity-close, body .lity button.lity-close:hover, body .lity button.lity-close:focus, body .lity button.lity-close:active {
	position: fixed; top: 16px; right: 16px; bottom: auto; left: auto; transform: none; width: 48px; height: 48px; padding: 0 !important;
	border: 0 !important; border-radius: 2px; background: transparent !important; box-shadow: none !important;
	color: var(--e-global-color-cream) !important; font: 300 40px/48px "Work Sans", sans-serif; text-align: center; }
body .lity button.lity-close:hover { color: var(--e-global-color-accent) !important; }
body .lity button.lity-close:focus-visible { outline: 3px solid var(--e-global-color-accent) !important; outline-offset: 2px; }

/* Reduced motion: show everything immediately, no movement */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.elementor-invisible { visibility: visible !important; opacity: 1 !important; }
	.animate-general { opacity: 1 !important; transform: none !important; }
	/* Plus Creative Image reveal: the Plus scripts don't check reduced motion */
	.pt_plus_animated_image.bg-img-animated { opacity: 1 !important; }
	.pt-plus-bg-image-animated { transform: none !important; }
	.pt-plus-bg-image-animated::after { display: none !important; }
}/* End custom CSS */