/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Description: Wrongful Termination Law Group child theme for Hello Elementor.
Author: Encoded Cloud
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* ---------- Fonts (self-hosted, carried over from the old site) ---------- */
@font-face {
	font-family: 'itcavantgardepro-light';
	src: url('fonts/itcavantgardepro-light.woff2') format('woff2');
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
}
/* The /links subheading's Book cut (the old page's own family). */
@font-face {
	font-family: 'itcavantgardepro-bk';
	src: url('fonts/itcavantgardepro-bk.woff') format('woff');
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
}
/* Enfold's icon font (Entypo, SIL OFL): the old site's list bullets are its glyphs. */
@font-face {
	font-family: 'entypo-fontello';
	src: url('fonts/entypo-fontello.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: block;
}
@font-face {
	font-family: 'wt-font';
	src: url('fonts/wt-font-regular.woff2') format('woff2');
	font-weight: 300 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'wt-font';
	src: url('fonts/wt-font-bold.woff2') format('woff2');
	font-weight: 600 900;
	font-style: normal;
	font-display: swap;
}

/* The old child theme's body rendering: it moves line breaks (no ligatures), so copy wraps where live's does. */
body { text-rendering: optimizeLegibility; font-variant-ligatures: none; cursor: text; }
/* Live jumps (Elementor's frontend.css sets smooth). */
/* Enfold paints html in the socket colour, so the viewport below a short page (the JotForm landers) is navy; body stays white. */
html { scroll-behavior: auto; background-color: #112236; }

/* Global Font families are emitted quoted, so the fallback stacks live here: live's stack, whose HelveticaNeue (Regular) draws the ’ wt-font lacks. */
body[class*="elementor-kit-"] {
	--e-global-typography-wt_h1-font-family: 'itcavantgardepro-light', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-wt_h2-font-family: 'itcavantgardepro-light', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-wt_h3-font-family: 'itcavantgardepro-light', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-wt_h4-font-family: 'itcavantgardepro-light', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-wt_button-font-family: 'itcavantgardepro-light', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-wt_nav-font-family: 'itcavantgardepro-light', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-wt_label-font-family: 'itcavantgardepro-light', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-wt_phone-font-family: 'itcavantgardepro-light', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-wt_stat-font-family: 'itcavantgardepro-light', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-primary-font-family: 'itcavantgardepro-light', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-secondary-font-family: 'itcavantgardepro-light', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-accent-font-family: 'itcavantgardepro-light', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-wt_strong-font-family: 'wt-font', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-wt_display-font-family: 'wt-font', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-wt_body-font-family: 'wt-font', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-wt_lede-font-family: 'wt-font', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-wt_small-font-family: 'wt-font', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
	--e-global-typography-text-font-family: 'wt-font', HelveticaNeue, 'Helvetica Neue', Helvetica-Neue, Helvetica, Arial, sans-serif;
}
/* Avia pads a borderless section's colour overlay 20px 12px up to 830 (wt-convert.php adds these to its tablet padding). */
@media (max-width: 830px) {
	.e-con.wt-no-border { --wt-overlay-y: 20px; --wt-overlay-x: 12px; }
}
/* Live's h1 takes its tablet 1.25em line height up to 1024 (Enfold child); the kit's tablet step ends at 989. */
@media (min-width: 990px) and (max-width: 1024px) {
	body[class*="elementor-kit-"] { --e-global-typography-wt_h1-line-height: 1.25em; }
}

/* ---------- Structural resets ---------- */
:where(.e-con) {
	--container-default-padding-top: 0px;
	--container-default-padding-right: 0px;
	--container-default-padding-bottom: 0px;
	--container-default-padding-left: 0px;
}
:where(.e-con) > .elementor-widget { max-width: 100%; }
/* Converted spacing is measured box to box, so a text widget ends at its last block's box: no trailing margin. */
.elementor-widget-text-editor > :last-child, .elementor-widget-text-editor > .elementor-widget-container > :last-child,
.elementor-widget-text-editor :is(ul, ol):last-child > li:last-child,
.elementor-widget-text-editor :is(ul, ol):last-child > li:last-child > :last-child { margin-bottom: 0; }
.elementor-widget-heading .elementor-heading-title a { color: inherit; }

/* ---------- Shared bands ---------- */
/* Avia's phone tiers: mini under 480, small 480-767 (no Elementor breakpoint at 480). */
@media (max-width: 479px) { .wt-mini-hide { display: none !important; } }
@media (min-width: 480px) and (max-width: 767px) { .wt-small-hide { display: none !important; } }
.wt-gradient { background-image: linear-gradient(180deg, var(--e-global-color-wt_ink) 0%, var(--e-global-color-wt_ocean) 50%, var(--e-global-color-wt_ink) 100%); }
/* The contact band and the old per-section Avia gradients. */
.wt-gradient-contact { background-image: linear-gradient(to right, #000C1E, #153059, #000C1E); }
.wt-gradient-deep { background-image: linear-gradient(to bottom, var(--e-global-color-wt_ink), #153059, #153059); }
/* Avia's full-width slider takes its 16:9 slide image's height; the native min-height is the floor. */
.e-con.wt-slide-band { aspect-ratio: 16 / 9; }
/* Avia's phone caption copy is 85% wide and sits left, so its centred lines sit 20px left of the title's. */
@media (max-width: 767px) { .wt-slide-band .wt-prose { width: 85%; align-self: flex-start; } }

/* ---------- Header (live site's computed values) ---------- */
/* "Se Habla Español": live's full Helvetica stack (a typography control quotes one family). */
.wt-phone-note .elementor-heading-title { font-family: HelveticaNeue, "Helvetica Neue", Helvetica-Neue, Helvetica, Arial, sans-serif; }
.wt-phone:hover .wt-phone-kicker .elementor-heading-title { color: #fff; }
.wt-header .wt-logo a, .wt-header .wt-logo img { display: block; height: auto; }
.wt-phone .elementor-heading-title { white-space: nowrap; }
.wt-phone-number .wt-dash { margin-left: 3px; }
.wt-nav .elementor-nav-menu--main .elementor-nav-menu > li > a { white-space: nowrap; }
/* Live's menu hover fades its fill and ink over 0.4s ease-in-out (the fade pointer has no duration control). */
.wt-nav .e--pointer-background .elementor-item, .wt-nav .e--pointer-background .elementor-item::before { transition-duration: .4s; transition-timing-function: ease-in-out; }
.wt-nav .elementor-nav-menu--main .elementor-nav-menu--dropdown { min-width: 208px !important; border: 0; box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1); }
.wt-nav .elementor-nav-menu--dropdown a { border-inline-start: 0 !important; }
/* Live's dropdown rows are 25.6px lines (42px items); Elementor's nav stylesheet pins every menu link to 20px. */
.wt-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item { line-height: 25.6px !important; }

/* Avia's mega panels hang from the header's bottom edge inside its 1500px box: Cases is three titled columns flush to the box's right; Articles one row across the box, a titled column per item. */
.wt-header > .e-con-inner { position: relative; }
.elementor-element.wt-nav, .wt-nav .elementor-nav-menu--main > .elementor-nav-menu, .wt-nav .elementor-nav-menu--main :is(.wt-mega, .wt-mega-row) { position: static; }
.wt-nav .elementor-nav-menu--main .wt-mega > .sub-menu { position: absolute !important; top: 100% !important; right: 0 !important; left: auto !important; width: 1125px !important; max-width: 100%; margin: 0 !important; padding: 20px 30px 30px; display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); box-shadow: 0 32px 60px rgba(0, 0, 0, 0.1); }
.wt-nav .elementor-nav-menu--main .wt-mega-row > .sub-menu { position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 20px 30px 30px; display: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); box-shadow: 0 32px 60px rgba(0, 0, 0, 0.1); }
.wt-nav .elementor-nav-menu--main :is(.wt-mega, .wt-mega-row):hover > .sub-menu, .wt-nav .elementor-nav-menu--main :is(.wt-mega, .wt-mega-row):focus-within > .sub-menu { display: grid !important; }
.wt-nav :is(.wt-mega, .wt-mega-row) > .sub-menu > li { padding: 10px 14px 0 15px; }
.wt-nav :is(.wt-mega, .wt-mega-row) > .sub-menu > li:first-child { padding-left: 0; }
.wt-nav :is(.wt-mega, .wt-mega-row) > .sub-menu > li:last-child { padding-right: 0; }
.wt-nav .elementor-nav-menu--main :is(.wt-mega, .wt-mega-row) > .sub-menu > li > a { position: relative; display: block; min-height: 35px; padding: 0 0 12px !important; background: none !important; font-family: "itcavantgardepro-light", var(--e-global-typography-wt_nav-font-family) !important; font-size: 16px; line-height: normal !important; white-space: normal !important; font-weight: 400; color: #002D6A !important; }
.wt-nav .elementor-nav-menu--main :is(.wt-mega, .wt-mega-row) > .sub-menu > li > a::after { content: ""; position: absolute; left: 1px; bottom: 0; width: 42px; height: 4px; background: #47AFE5; }
.wt-nav :is(.wt-mega, .wt-mega-row) > .sub-menu > li > a .sub-arrow { display: none; }
.wt-nav .wt-mega > .sub-menu > li > .sub-menu { display: block !important; position: static !important; width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 12px 0 0; box-shadow: none; border: 0; }
.wt-nav .wt-mega > .sub-menu > li > .sub-menu > li { margin-bottom: 10px; }
.wt-nav .elementor-nav-menu--main .wt-mega > .sub-menu > li > .sub-menu a { padding: 3px 12px 3px 0 !important; font-weight: 300; line-height: normal !important; color: #0C2A51; background: none; transition: background .15s ease-out; }
.wt-nav .elementor-nav-menu--main .wt-mega > .sub-menu > li > .sub-menu a:hover { color: #47AFE5; background: none; }

/* Phone and tablet header tiles: icon over label, 65 x 55. */
.wt-menu-toggle .elementor-button,
.wt-call-toggle .elementor-button { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; height: 55px; width: 65px; }
.wt-menu-toggle .elementor-button-icon svg { width: 34px; height: 18px; }
.wt-call-toggle .elementor-button-icon svg { width: 28px; height: 28px; }
/* Elementor's column layout stretches the icon span, leaving the svg at its left edge; live centres it in the tile. */
.wt-menu-toggle .elementor-button-content-wrapper,
.wt-call-toggle .elementor-button-content-wrapper { align-items: center; }

/* Header grid cells: logo and MENU tile start, menu centre, phone block and CALL US tile end. */
.wt-header .wt-logo, .wt-header .wt-menu-toggle { justify-self: start; align-self: center; }
/* The logo keeps its size and the centred menu keeps the middle; the side tracks may run under it, as live's do. */
.wt-header .wt-logo img { max-width: none; }
.wt-header .wt-nav { justify-self: center; align-self: stretch; }
.wt-header .wt-phone, .wt-header .wt-call-toggle { justify-self: end; }
.wt-header .e-con.wt-phone { align-self: stretch; }
/* Live's menu items are 86 tall at either type size: 33px padding around a 20px line. */
body .elementor .e-con .elementor-element.wt-nav .elementor-nav-menu--main .elementor-item { line-height: 20px; }
/* Live's narrower desktops: menu 14px from 1400, logo 210 and a 250 phone block below 1200, item padding 10 below 1091. */
@media (min-width: 990px) and (max-width: 1400px) {
	body .elementor .e-con .elementor-element.wt-nav .elementor-nav-menu--main .elementor-item { font-size: 14px; }
}
@media (min-width: 990px) and (max-width: 1199px) {
	body .elementor .e-con .elementor-element.wt-logo img { width: 210px; }
	body .elementor .e-con .elementor-element.wt-phone { padding-top: 8px; }
	body .elementor .e-con .elementor-element.wt-phone-kicker .elementor-heading-title { font-size: 14px; line-height: 14px; }
	body .elementor .e-con .elementor-element.wt-phone-number { margin-top: 3px; }
	body .elementor .e-con .elementor-element.wt-phone-number .elementor-heading-title { font-size: 34px; line-height: 36px; }
	body .elementor .e-con .elementor-element.wt-phone-note { margin-top: 5px; }
}
@media (min-width: 990px) and (max-width: 1090px) {
	body .elementor .e-con .elementor-element.wt-nav .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item { padding-left: 10px; padding-right: 10px; }
}

/* ---------- Off-canvas drawer ---------- */
/* Live's burger panel: 350px from the left over a 10% black scrim, its X where the MENU tile sits, 24.2px items; a parent's
   chevron opens its submenu (parent row sky, submenu blue). */
.wt-drawer { position: fixed; inset: 0; z-index: 1000; visibility: hidden; pointer-events: none; }
.wt-drawer:target, .wt-drawer.is-open { visibility: visible; pointer-events: auto; }
.wt-drawer__scrim { position: absolute; inset: 0; background: rgb(0 0 0 / 0.1); opacity: 0; transition: opacity 0.28s ease; }
.wt-drawer__panel { position: absolute; inset: 0 auto 0 0; width: min(350px, 100vw - 40px); overflow-y: auto; background: #242E40; color: #fff; padding: 55px 0; transform: translateX(-100%); transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1); }
.wt-drawer:target .wt-drawer__scrim, .wt-drawer.is-open .wt-drawer__scrim { opacity: 1; }
.wt-drawer:target .wt-drawer__panel, .wt-drawer.is-open .wt-drawer__panel { transform: none; }
.wt-drawer a.wt-drawer__close { position: absolute; top: 0; left: 0; width: 65px; height: 45px; display: flex; align-items: center; justify-content: center; }
.wt-drawer__menu, .wt-drawer__menu ul { list-style: none; margin: 0; padding: 0; }
.wt-drawer__menu > li { position: relative; }
.wt-drawer__menu > li:first-child { padding-top: 16px; }
.wt-drawer__menu a { display: block; padding: 15px 50px 15px 20px; color: #fff; font-family: 'itcavantgardepro-light', var(--e-global-typography-wt_nav-font-family); font-size: 24.2px; line-height: 1.3; font-weight: 400; text-decoration: none; }
.wt-drawer__menu .sub-menu { background: #3B74B8; }
.wt-drawer__menu .sub-menu a { padding: 11px 50px 11px 44px; font-size: 18px; line-height: 1.3; }
.wt-drawer.js .wt-drawer__menu .sub-menu { display: none; }
.wt-drawer.js .wt-drawer__menu li.is-expanded > .sub-menu { display: block; }
.wt-drawer__menu li.is-expanded > a { background: #47AEE5; }
/* Live's drawer rows fill sky with white ink on hover, no fade; the kit's link hover (0,2,1) would ink a tapped row sky on sky. */
.wt-drawer .wt-drawer__menu a { transition: none; }
.wt-drawer .wt-drawer__menu a:hover { color: #fff; background: #47AEE5; }
/* The kit paints every <button>; the chevron is bare. */
.wt-drawer button.wt-drawer__toggle { position: absolute; top: 0; right: 30px; height: 61px; min-width: 0; padding: 0 10px !important; border: 0 !important; border-radius: 0; background: none !important; box-shadow: none; color: #fff; cursor: pointer; display: flex; align-items: center; }
.wt-drawer__menu > li:first-child > button.wt-drawer__toggle { top: 16px; }
.wt-drawer__toggle svg { transition: transform 0.2s ease; }
.wt-drawer__menu li.is-expanded > button.wt-drawer__toggle svg { transform: rotate(90deg); }
html.wt-drawer-locked { overflow: hidden; }
@media (min-width: 990px) { .wt-drawer { display: none; } }
@media (prefers-reduced-motion: reduce) { .wt-drawer__scrim, .wt-drawer__panel { transition: none; } }

/* ---------- Footer ---------- */
.wt-breadcrumbs #breadcrumbs { margin: 0; }
.wt-breadcrumbs #breadcrumbs { font-size: 0 !important; }
.wt-breadcrumbs #breadcrumbs :is(.wt-crumb-before, a, .wt-crumb-sep, .breadcrumb_last) { display: inline-block; vertical-align: top; padding: 0 3px; font-size: 18px; }
/* Live's separator is an 8px box the glyph overflows. */
.wt-breadcrumbs #breadcrumbs .wt-crumb-sep { width: 8px; box-sizing: border-box; }
/* Live's phone trail sits at left -2px, 2px wider than the viewport, so a title of the full width stays on one line. */
@media (max-width: 767px) { .wt-breadcrumbs #breadcrumbs { margin-left: -2px; } }
/* Live's bar is a fixed 56px; a trail that wraps on phones runs over the footer's top edge rather than growing it. */
.elementor .e-con.wt-breadcrumbs { height: 56px; z-index: 10; overflow: visible; }
.wt-office-text p, .wt-office-text p:last-child { margin: 0 0 2em; }
.wt-office .wt-label { color: var(--e-global-color-wt_cyan); font-family: var(--e-global-typography-wt_label-font-family); font-size: 24px; line-height: 1.5; font-weight: 300; }
.wt-office a { color: inherit; font-weight: 400; text-decoration: none; }
/* On tablets live's footer text block is 44px/66px, so the inline office name sits in 66px line boxes. */
@media (min-width: 768px) and (max-width: 989px) {
	.elementor .elementor-element.elementor-widget.wt-office-name .elementor-heading-title { line-height: 66px; margin: 4px 0 -7px; }
}
.wt-socket-text p { margin: 0; }
.wt-socket-text a { color: var(--e-global-color-wt_slate); text-decoration: none; }
.wt-socket-text a:hover { color: #A9DEFC; }
.wt-social a, .wt-social img { display: block; margin-inline: auto; }
.wt-nowrap { white-space: nowrap; }
/* Live's social tiles ease out (the hover background control sets duration only). */
.wt-socket-social .elementor-element.wt-social.elementor-widget { transition: all 0.3s ease-out; }
@media (max-width: 767px) {
	.wt-office-text p, .wt-office-text p:last-child { margin-bottom: 1.7em; }
}

/* ---------- Content ---------- */
/* Live links: sky rule under the text, sky on hover (0.27s ease-out); on dark bands also underlined, and no hover change. */
.wt-prose a { overflow-wrap: break-word; color: inherit; text-decoration: none; border-bottom: 1px solid var(--e-global-color-wt_sky); transition: all 0.27s cubic-bezier(0, 0, 0.58, 1); }
.wt-prose a:hover { color: var(--e-global-color-wt_sky); }
/* Live paints copy links the text colour (.avia_textblock p a), so a link inside navy strong stays text-coloured. */
.wt-prose :is(strong, b) a:not(:hover) { color: var(--e-global-color-wt_text); }
.wt-on-dark .wt-prose :is(strong, b) a:not(:hover) { color: inherit; }
.wt-on-dark .wt-prose a { text-decoration: underline; }
.wt-on-dark .wt-prose a:hover { color: inherit; }
/* Live: strong is navy, b the primary blue, both bold, in copy and headings alike. */
.wt-prose strong, .elementor-heading-title strong { font-weight: 700; color: var(--e-global-color-wt_navy); }
.wt-prose b, .elementor-heading-title b { font-weight: 700; color: #138ACF; }
.wt-on-dark .wt-prose strong, .wt-on-dark .wt-prose b, .wt-on-dark .elementor-heading-title :is(strong, b) { color: inherit; }
/* Avia's text flow (measured on the live site): paragraph spacing 2em, 1.7em on phones; lists inset 5% with entypo chevrons. */
.wt-prose p { margin: 0 0 2em; }
.wt-prose ul { list-style: none; margin: 0 0 44px 7px; padding: 0 5%; }
.wt-prose ul > li { position: relative; padding-top: 3px; margin: 0 0 10px 24px; font-weight: 400; line-height: 1.4; }
/* A paragraph inside a list item keeps the copy step (live's #top .all_colors p / #top #main p). */
.wt-prose li > p { font-weight: 300; line-height: var(--e-global-typography-wt_body-line-height); }
.wt-prose ul > li::before { content: "\e875"; position: absolute; top: 3px; left: -24px; font-family: 'entypo-fontello'; font-size: 28px; line-height: 30.8px; font-weight: 400; color: #128ACF; }
@media (max-width: 767px) { .wt-prose p { margin-bottom: 1.7em; } }
/* Live's text blocks narrow at 830, not at a device breakpoint: the tablet geometry (measured at 800) holds only up to there. */
@media (min-width: 831px) and (max-width: 989px) {
	.wt-textblock.old-txt-narrow { --padding-left: 15% !important; --padding-right: 15% !important; }
	.wt-textblock.old-txt-wide { --padding-left: 5% !important; --padding-right: 5% !important; }
}
.wt-prose ol { margin: 0 0 20px 15px; padding: 0; }
.wt-prose ol > li { padding: 3px 0; margin-left: 22px; font-weight: 400; }
.wt-prose img { max-width: 100%; height: auto; }
/* Live's paragraphs are 300 but a bare text <div> in a text block keeps the block's 400 (the /pc-wlg/ attorneys line). */
.elementor-widget-text-editor.wt-prose > div:not(.wp-caption) { font-weight: 400; }
/* WordPress image captions at live's computed values (Enfold's .wp-caption). */
.wt-prose .wp-caption { position: relative; max-width: 100%; margin: 5px 15px 10px 0; border: 1px solid #fff; font-style: italic; }
/* A trailing caption's 10px collapses into the next block on live; the next widget's measured gap already carries it. */
.wt-prose .wp-caption:last-child { margin-bottom: 0; }
.wt-prose .wp-caption img { display: block; width: 100%; margin: 0; padding: 5px; }
.wt-prose .wp-caption-text { margin: 0; padding: 3px 10px 5px; font-family: Georgia, "Times New Roman"; font-size: 11px; line-height: 1.5; font-weight: 300; text-align: center; }
@media (max-width: 767px) { .wt-prose .wp-caption-text { line-height: 1.7; } }
.wt-prose blockquote { margin: 0 0 1.4em; padding-left: 1em; border-left: 3px solid var(--e-global-color-wt_sky); }
.wt-prose table { width: 100%; border-collapse: collapse; margin-bottom: 1.4em; }
.wt-prose td, .wt-prose th { padding: 8px 10px; border: 1px solid #dfe5eb; vertical-align: top; }
.wt-img img { height: auto; }
/* Avia images: 3px corners; a 10% black scrim clearing on hover (0.3s); av-hover-grow scales the linked image 1.1, unclipped;
   custom-caption cards zoom the photo 1.05 inside its box (both instant, as the old child theme set); the custom-caption band is
   white 20px light Avant Garde on slate at 50%, padded 10px 1.5em of its 28.6px. */
.wt-img-avia img, .wt-img-avia a { border-radius: 3px; }
:is(.wt-img-scrim, .wt-img-grow, .wt-img-zoom) a { display: block; position: relative; }
.wt-img-zoom a { overflow: hidden; }
.wt-img-scrim a::after { content: ""; position: absolute; inset: 0; border-radius: 3px; background: #000; opacity: 0.1; transition: opacity 0.3s ease-in-out; pointer-events: none; }
.wt-img-scrim:hover a::after { opacity: 0; }
.wt-img-grow:hover a { transform: scale(1.1); }
.wt-img-zoom:hover img { transform: scale(1.05); }
/* The old child theme pads featured photos 1px on phones (.featured-photo, max-width 768). */
@media (max-width: 768px) { .elementor-widget.wt-featured-photo { padding: 1px; } }
/* The same rule pads the featured-photo column itself, which takes 768 off its 3% tablet gutter (live measures 1px there).
   Phones already carry the measured 1px plus the column's trailing space in their own padding; this would erase the trailing 38px. */
@media (min-width: 768px) and (max-width: 768px) { body .e-con.old-featured-photo { --padding-top: 1px !important; --padding-right: 1px !important; --padding-bottom: 1px !important; --padding-left: 1px !important; } }
.wt-img-caption-band figure.wp-caption { position: relative; }
.wt-img-caption-band figcaption.widget-image-caption { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; margin: 0; padding: 10px 42.9px; background: rgba(46, 64, 87, 0.5); color: #FFFFFF; font-family: var(--e-global-typography-wt_h4-font-family); font-size: 20px; font-style: normal; font-weight: 300; line-height: 24px; letter-spacing: 0.25px; text-align: center; pointer-events: none; }

/* Buttons: kit defaults are the solid action blue; these are the two variants the old site used. */
/* The old child theme gave every .avia-button min-width: 240px (no Elementor control for it). */
.wt-btn .elementor-button { display: inline-flex; justify-content: center; text-align: center; min-width: min(240px, 100%); }
/* Live's .avia-button min-width 240px: a shrink-to-fit widget would resolve the button's 100% against its own label width. */
.elementor-widget.wt-btn:not(.wt-promo-btn) { min-width: min(240px, 100%); }
.wt-btn-lg .elementor-button { font-size: 22px; padding: 18px 38px; }
/* Slideshow caption buttons (the 404): the old child theme's #06AFF9 !important outranks its own hover, and Avia draws no border. */
.elementor .e-con.wt-slide-ctas .elementor-button, .elementor .e-con.wt-slide-ctas .elementor-button:hover, .elementor .e-con.wt-slide-ctas .elementor-button:focus-visible { background-color: #06AFF9; border-style: none; padding: 15px 16px; transition: all 0.3s ease-out; }
.elementor .e-con.wt-slide-ctas .elementor-button:hover, .elementor .e-con.wt-slide-ctas .elementor-button:focus-visible { opacity: 0.9; transition: all 0.4s ease-in-out; }
.wt-btn-outline .elementor-button { background-color: transparent; border-color: #fff; }
.wt-btn-outline .elementor-button:hover, .wt-btn-outline .elementor-button:focus-visible { background-color: #fff; color: var(--e-global-color-wt_navy); }
.wt-section:not(.wt-on-dark) .wt-btn-outline .elementor-button { border-color: var(--e-global-color-wt_navy); color: var(--e-global-color-wt_navy); }
/* Avia's button hover (.avia-button:hover): 90% opacity, eased in over 0.4s and dropped at once on leave. */
.wt-btn-measured .elementor-button { transition: none; }
/* Live's sidebar CTA keeps its 240px minimum in a narrower column and runs off the page at 1024 and on tablets; here it fits the column and the label wraps. */
.wt-btn .elementor-button { max-width: 100%; white-space: normal; }
/* Live's CTA sidebar (.right-cta-sidebar .cta-content-wrapper, absolute at top 50% from 768): the content is centred on its cell
   out of flow, so it overflows a shorter cell (articles at 1024) and never sets the row's height. */
@media (min-width: 768px) {
	.elementor .e-con.wt-cta-float { position: relative; }
	.elementor .e-con.wt-cta-float > .elementor-element.e-con.wt-cta-content { position: absolute; top: 50%; left: 0; width: 100% !important; transform: translateY(-50%); }
}
/* Live's child theme hides .inner_sidebar and runs the content 100% wide up to 1082 (inside the kit's 990-1399 laptop tier): the
   empty aside stacks under the content as a 49px box (the content's 24px bottom padding already ends the laptop main column). */
@media (min-width: 990px) and (max-width: 1082px) {
	.elementor .elementor-element.e-con.wt-with-sidebar { --e-con-grid-template-columns: 1fr; --gap: 0px 0px; --row-gap: 0px; --column-gap: 0px; }
	.elementor .elementor-element.e-con.wt-with-sidebar > .elementor-element.e-con.wt-sidebar { --order: 99999; --min-height: 49px; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
	.elementor .elementor-element.e-con.wt-with-sidebar > .e-con.wt-sidebar > * { display: none !important; }
}
/* Where live's button stays on the page at every width, its 240px minimum overruns a narrower column as on live. */
.elementor-widget.wt-btn.wt-btn-overrun:not(.wt-promo-btn) { min-width: 240px; }
.wt-btn-measured .elementor-button:hover, .wt-btn-measured .elementor-button:focus-visible { opacity: .9; transition: all .4s ease-in-out; }
/* Defaults for buttons the old-site capture did not measure; measured ones carry their own box per width. */
@media (max-width: 767px) {
	.wt-btn-lg .elementor-button { font-size: 18px; padding: 15px 20px; width: 100%; }
	.wt-buttons .elementor-widget-button:not(.wt-btn-measured), .wt-buttons .elementor-widget-button:not(.wt-btn-measured) .elementor-button { width: 100%; }
}

/* Accordions (old toggles) */
/* Title-text rules carry .e-n-accordion: the widget's own (0,2,0) font-size rule loads after this sheet on some pages. */
.wt-accordion .e-n-accordion-item { border-bottom: 1px solid var(--e-global-color-wt_rule); }
.wt-accordion .e-n-accordion-item > .e-n-accordion-item-title { border: 0; }
.wt-accordion .e-n-accordion-item > [role="region"] { border: 0; }
.wt-accordion .e-n-accordion-item-title { padding: 18px 8px; gap: 12px; }
/* Live forces toggle titles to #0B2A50 (.toggler, !important), a shade off the kit navy. */
.wt-accordion .e-n-accordion .e-n-accordion-item-title-text { font-family: var(--e-global-typography-wt_body-font-family); font-size: 24px; font-weight: 300; line-height: 1.25; color: #0B2A50; letter-spacing: -0.3px; }
.wt-accordion .e-n-accordion-item-title-icon svg { width: 14px; height: 14px; fill: var(--e-global-color-wt_sky); }
.wt-accordion .e-n-accordion-item > [role="region"] { padding: 4px 8px 20px 34px; }
@media (max-width: 767px) { .wt-accordion .e-n-accordion .e-n-accordion-item-title-text { font-size: 20px; } }
/* Avia's plain toggle: 24px light titles, 37px rows, a 3px slate plus 10px in whose upright drops when open. Each title's white box
   sits 1px down over the rule above it, so only the last rule shows. */
.wt-accordion-plus .e-n-accordion-item { border-bottom: 0; }
.wt-accordion-plus .e-n-accordion-item > .e-n-accordion-item-title { position: relative; padding: 4px 5px 3.2px 36px; gap: 0; background: #FFFFFF; border: 0; border-bottom: 1px solid var(--e-global-color-wt_rule); }
.wt-accordion-plus .e-n-accordion-item:not(:last-child):not([open]) > .e-n-accordion-item-title { border-bottom-color: transparent; }
.wt-accordion-plus .e-n-accordion .e-n-accordion-item-title-text { font-size: 24px; line-height: 28.8px; letter-spacing: -0.48px; }
.wt-accordion-plus .e-n-accordion-item-title-icon { display: none; }
.wt-accordion-plus .e-n-accordion-item-title::before, .wt-accordion-plus .e-n-accordion-item-title::after { content: ""; position: absolute; border: 0 solid var(--e-global-color-wt_slate); transition: all 0.4s ease-in-out; }
/* Icons centre on the title, as Avia's .toggle_icon (top: 50%), so a wrapped title keeps its icon mid-height. */
.wt-accordion-plus .e-n-accordion-item-title::before { left: 11px; top: calc(50% - 1.5px); width: 11px; border-top-width: 3px; }
.wt-accordion-plus .e-n-accordion-item-title::after { left: 15px; top: calc(50% - 5.5px); height: 11px; border-left-width: 3px; }
.wt-accordion-plus .e-n-accordion-item[open] > .e-n-accordion-item-title::after { border-left-width: 0; }
.wt-accordion-plus .e-n-accordion-item > [role="region"] { padding: 12px 30px 11px; margin-bottom: 5px; }
.wt-accordion-plus [role="region"] .wt-prose p { margin-bottom: 2em; }
.wt-accordion-plus [role="region"] .wt-prose a { color: #138ACF; border-bottom: 0; transition: none; }
.wt-accordion-plus [role="region"] .wt-prose a:hover { color: var(--e-global-color-wt_text); }
@media (max-width: 767px) { .wt-accordion-plus .e-n-accordion .e-n-accordion-item-title-text { font-size: 24px; } .wt-accordion-plus [role="region"] .wt-prose p { margin-bottom: 1.7em; } }
@media (prefers-reduced-motion: reduce) { .wt-accordion-plus .e-n-accordion-item-title::before, .wt-accordion-plus .e-n-accordion-item-title::after { transition: none; } }
/* Avia's elegant toggle (homepage): 26px light titles on a 1px rule (45px apart: the widget's own spacing), entypo chevron turning down when open. */
.wt-accordion-elegant .e-n-accordion-item { border-bottom: 0; }
.wt-accordion-elegant .e-n-accordion-item > .e-n-accordion-item-title { position: relative; padding: 8px 32px; gap: 0; background: #FFFFFF; border: 0; border-bottom: 1px solid var(--e-global-color-wt_rule); }
.wt-accordion-elegant .e-n-accordion .e-n-accordion-item-title-text { font-size: 26px; line-height: 31.2px; font-weight: 300; letter-spacing: -0.52px; }
.wt-accordion-elegant .e-n-accordion-item-title-icon { display: none; }
.wt-accordion-elegant .e-n-accordion-item-title::before { content: "\e875"; position: absolute; top: calc(50% - 16.8px); left: 11.5px; font-family: 'entypo-fontello'; font-size: 28px; line-height: 33.6px; color: #128ACF; opacity: 0.4; transition: all 0.4s ease-in-out; }
.wt-accordion-elegant .e-n-accordion-item-title:hover::before { opacity: 1; }
.wt-accordion-elegant .e-n-accordion-item[open] > .e-n-accordion-item-title::before { transform: rotate(90deg); opacity: 1; }
.wt-accordion-elegant .e-n-accordion-item > [role="region"] { padding: 5px 10px; }
@media (max-width: 767px) { .wt-accordion-elegant .e-n-accordion .e-n-accordion-item-title-text { font-size: 26px; } }

/* Promo boxes and cards */
/* Avia masonry tiles keep their 458x363 box at every width. */
.e-con.wt-tile { aspect-ratio: 458 / 363; }

/* Reviews widgets (Trustindex): live's body tracking (normal, not the kit's copy step) and navy strong (#top .all_colors strong),
   then the old child theme's highlight overrides, per widget layout. */
.ti-widget { letter-spacing: normal; }
.ti-widget .ti-review-content strong { color: var(--e-global-color-wt_navy); }
/* Live's container margin collapses out of its code block, which the build measures as trailing space; inside a widget it would count twice (the CDN preset sets it, hence !important). */
.wt-reviews-embed .ti-widget .ti-widget-container { margin-bottom: 0 !important; }
body .ti-widget[data-layout-id="36"][data-set-id="ligth-border-3d-large"] .ti-highlight { background-image: none !important; font-weight: bold; color: #000000 !important; font-size: 21px !important; }
body .ti-widget[data-layout-id="38"][data-set-id="light-contrast-large"] .ti-highlight { background-image: none !important; font-weight: bold; font-size: 21px !important; color: #06C7FA !important; }

/* The old child theme sets .new-sub and .light-sub h3 to bare wt-font (no stack): glyphs the font lacks, such as the curly apostrophe, fall back to the browser serif there. */
.elementor .elementor-element:is(.old-new-sub, .old-light-sub) h3.elementor-heading-title { font-family: 'wt-font'; }

/* ---------- Hero ---------- */
/* Bullets: the old hero's list (half-width items, 12px rhythm, 42px rows on desktop, 56px two-line rows below 1025). */
.wt-hero .wt-hero-bullets ul { margin: 0; padding: 0; }
.wt-hero .wt-hero-bullets li { width: 50%; line-height: inherit; margin: 0 0 12px 24px; min-height: 42px; }
.wt-hero .wt-hero-bullets li:last-child { margin-bottom: 0; }
.wt-hero .wt-hero-bullets li::before { line-height: 28px; }
.wt-hero .wt-hero-photo img, .wt-hero .wt-hero-stars img, .wt-hero .wt-review-icons img { display: block; }
/* Image widgets in a row carry a line-box strut; the photo may be wider than the phone stage, as on live. */
.wt-hero .wt-hero-stars .elementor-widget, .wt-hero .wt-review-icons .elementor-widget { display: flex; }
.wt-hero .e-con > .elementor-widget.wt-hero-photo { max-width: none; }
.wt-review-count a { color: inherit; }
@media (max-width: 1399px) {
	.wt-hero .wt-hero-bullets li { margin-bottom: 10px; min-height: 0; }
	/* Below 1400 the review block joins the flow under the CTAs; Elementor's position control is not responsive. */
	.elementor .wt-hero .e-con.wt-hero-reviews { --position: relative; position: relative; top: auto; right: auto; }
}
@media (max-width: 989px) { .wt-hero .wt-hero-bullets li:not(:last-child) { min-height: 56px; } }
/* (Elementor's own offset rule is body:not(.rtl) + three classes.) Live's two in-between photo sizes: 760 wide from 453px left of the right edge on wide tablets, 580 from 406 on large phones. */
@media (min-width: 860px) and (max-width: 989px) {
	body:not(.rtl) .elementor .wt-hero .elementor-element.elementor-element.wt-hero-photo { --container-widget-width: 760px; width: 760px; max-width: 760px; left: calc(100% - 433px); }
}
@media (min-width: 480px) and (max-width: 767px) {
	body:not(.rtl) .elementor .wt-hero .elementor-element.elementor-element.wt-hero-photo { left: calc(100% - 406px); }
}
@media (max-width: 767px) { .elementor .wt-hero .e-con.wt-hero-reviews { background-color: var(--e-global-color-wt_ink); } }

/* ---------- Badges and verdicts ---------- */
/* Browsers without CSS round() drop the badge columns (slick's whole-pixel slides); fall back to six equal ones. */
@supports not (width: round(up, 1px, 1px)) { .elementor .elementor-element.e-con.wt-badges { --e-con-grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.wt-badges .wt-badge img { height: 60px; width: auto; max-width: 100%; object-fit: contain; }
/* Live's Slick strip below 1024: three slides per view (each ceil(list / 3)), swiped, no arrows, dots or autoplay. */
@media (min-width: 768px) and (max-width: 1023px) {
	.elementor .elementor-element.e-con.wt-badges { --e-con-grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc(100% / 3); grid-auto-columns: round(up, calc(100% / 3), 1px); overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; }
	.elementor .elementor-element.e-con.wt-badges::-webkit-scrollbar { display: none; }
	.elementor .e-con.wt-badges > .elementor-element.wt-badge { justify-self: stretch; width: 100%; text-align: center; scroll-snap-align: start; scroll-snap-stop: always; }
	.wt-badges .wt-badge img { display: inline-block; }
}
.wt-verdicts-band { position: relative; overflow: visible; }
/* Avia's arrow-down section border: a 50x25 ink triangle under the band. */
.wt-verdicts-band::after { content: ""; position: absolute; left: 50%; bottom: -25px; transform: translateX(-50%); border-left: 25px solid transparent; border-right: 25px solid transparent; border-top: 25px solid var(--e-global-color-wt_ink); z-index: 2; }
.wt-verdict-amount .elementor-heading-title { white-space: nowrap; }
/* The old amount markup's kerning: a 32px dollar box, a tucked-in "1", 6px before the unit. */
.wt-verdict-amount .dollar-sign { display: inline-block; width: 32px; }
.wt-verdict-amount .digits { display: inline-block; margin-right: 6px; }
.wt-verdict-amount .digit-1 { margin: 0 -6px 0 -4px; }
/* Live drops the fifth result from 767 to 1299 (four across on laptops); the kit's laptop step runs to 1399. */
@media (min-width: 990px) and (max-width: 1299px) {
	.elementor .elementor-element.e-con.wt-verdicts { --e-con-grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.elementor .e-con.wt-verdicts > .wt-verdict:nth-child(5) { display: none; }
}

/* ---------- Call-intake landers (pc, pcfu, sm, sm-debugging): form + FAQ rail, from the old intake-form.css ---------- */
body.intake-form-template:has(#intake-form__main-wrapper) { --wt-intake-page: #314470; --wt-intake-border: 2px solid #138acf; --wt-intake-form-bg: #f7f5ef; --wt-intake-rail: #232c42; --wt-intake-bar: #28517e; --wt-intake-bar-hover: #3a6798; --wt-intake-ink: #152235; background: var(--wt-intake-page); }
body.intake-form-template #intake-form__header-wrapper .elementor-heading-title { color: #fff; }
body.intake-form-template #intake-form__main-wrapper { background: var(--wt-intake-form-bg); border: var(--wt-intake-border); border-right: 0; border-radius: 8px 0 0 8px; }
body.intake-form-template #intake-form__sidebar-wrapper { background: var(--wt-intake-rail); border: var(--wt-intake-border); border-left: 0; border-radius: 0 8px 8px 0; }
body.intake-form-template #intake-form__sidebar-content { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--wt-intake-bar) transparent; }
.wt-accordion.wt-intake-faq .e-n-accordion { display: flex; flex-direction: column; gap: 14px; }
.wt-accordion.wt-intake-faq .e-n-accordion-item { border: 0; border-radius: 6px; overflow: hidden; }
.wt-accordion.wt-intake-faq .e-n-accordion-item-title { padding: 12px 16px; background: var(--wt-intake-bar); transition: background-color 0.18s ease; }
.wt-accordion.wt-intake-faq .e-n-accordion-item-title:hover,
.wt-accordion.wt-intake-faq .e-n-accordion-item-title:focus-visible { background: var(--wt-intake-bar-hover); outline: none; box-shadow: inset 0 0 0 2px #138acf; }
.wt-accordion.wt-intake-faq .e-n-accordion-item-title-text { font-family: var(--e-global-typography-wt_body-font-family); font-size: 19px; font-weight: 700; line-height: 1.25; letter-spacing: 0; color: #fff; }
/* Live's intake chevron is drawn in CSS (intake-form.css .sm-accordion__icon): a 10px box, 2px right/bottom rule, rotated. */
.wt-accordion.wt-intake-faq .e-n-accordion-item-title-icon { display: none; }
.wt-accordion.wt-intake-faq .e-n-accordion-item-title::after { content: ""; flex: 0 0 auto; width: 10px; height: 10px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); transform-origin: 60% 60%; transition: transform 0.2s ease; margin-right: 4px; opacity: 0.85; }
.wt-accordion.wt-intake-faq .e-n-accordion-item[open] > .e-n-accordion-item-title::after { transform: rotate(-135deg); }
.wt-accordion.wt-intake-faq .e-n-accordion-item > [role="region"] { padding: 14px 16px 32px; background: var(--wt-intake-form-bg); }
.wt-accordion.wt-intake-faq .wt-prose, .wt-accordion.wt-intake-faq .wt-prose p { color: var(--wt-intake-ink); font-size: 16px; font-weight: 700; line-height: 1.7; }
.wt-accordion.wt-intake-faq .wt-prose p { margin: 0 0 0.5em; }
.wt-accordion.wt-intake-faq .wt-prose p:last-child { margin-bottom: 0; }
@media (max-width: 989px) { body.intake-form-template #intake-form__sidebar-content { position: static; max-height: none; overflow-y: visible; } }
/* Live's tablet columns flex (intake-form.css <=1079: main 62% basis capped 700, sidebar a 300-480 remainder); measured % at 800 overflow at 834. */
@media (min-width: 768px) and (max-width: 989px) {
	body.intake-form-template #intake-form__main-wrapper.e-con { --width: auto; flex: 1 0 62%; max-width: 700px; }
	body.intake-form-template #intake-form__sidebar-wrapper.e-con { --width: auto; flex: 1 1 0%; min-width: 300px; max-width: 480px; }
}
@media (max-width: 767px) {
	/* Live keeps its desktop 62% + 77% columns side by side here and overflows the phone; the rebuild stacks them full-width. */
	body.intake-form-template #intake-form__main-wrapper, body.intake-form-template #intake-form__sidebar-wrapper { --width: 100%; }
	body.intake-form-template #intake-form__main-wrapper { border-right: var(--wt-intake-border); border-bottom: 0; border-radius: 8px 8px 0 0; }
	body.intake-form-template #intake-form__sidebar-wrapper { border-left: var(--wt-intake-border); border-top: 0; border-radius: 0 0 8px 8px; }
}
@media (prefers-reduced-motion: reduce) { .wt-accordion.wt-intake-faq .e-n-accordion-item-title, .wt-accordion.wt-intake-faq .e-n-accordion-item-title::after { transition: none; } }

/* ---------- JotForm call landers (ec, cja, swn, ao, hu, pc-wlg) ---------- */
body.jotform-intake-form .wt-sidebar p { font-size: 18px; }
/* The call landers' info column: 15px between paragraphs (old .pc-sidebar-info p). */
.wt-prose.old-pc-sidebar-info p { margin: 0 0 15px; }
/* On live the last paragraph's 15px collapses into the next heading's margin; flow() already carries that gap. */
.elementor-widget.wt-prose.old-pc-sidebar-info:not(:last-child) p:last-child { margin-bottom: 0; }
/* At tablet the column's measured trailing padding already holds the last paragraph's 15px. */
@media (min-width: 768px) and (max-width: 989px) { .elementor-widget.wt-prose.old-pc-sidebar-info p:last-child { margin-bottom: 0; } }
/* The display face's $ advances 0.986em; live pulls it back (enfold-child span.dollar). */
span.dollar { display: inline; margin-right: -0.5em; }
/* Live's call-lander toggle: one slate-bordered box per item, 52.8px pitch; its title draws no box of its own. */
body.jotform-intake-form .wt-accordion .e-n-accordion-item { border: 1px solid rgb(95 126 158); margin-bottom: 12px; padding: 1px 0; }
body.jotform-intake-form .wt-accordion-plus .e-n-accordion-item > .e-n-accordion-item-title,
body.jotform-intake-form .wt-accordion-plus .e-n-accordion-item:not(:last-child):not([open]) > .e-n-accordion-item-title { padding: 4px 5px 4px 36px; border: 0; border-radius: 0; }
body.jotform-intake-form .wt-accordion .e-n-accordion-item > [role="region"] { padding: 4px 12px 12px; }
body.jotform-intake-form .wt-accordion .wt-prose p { font-size: 14px; }
body.jotform-intake-form .wt-sidebar h4.elementor-heading-title { font-size: 19px; line-height: 1.3; color: #5f7e9e; }
body.intake-form-template #intake-form__content-wrapper { padding-top: 0; }

/* ---------- Landing pages on Canvas: the old blank template's dark gradient (JotForm call landers stay white) ---------- */
/* .wt-gradient-blank: a main_color section on a blank-template page takes the same gradient over its own box, as on live. */
body.elementor-template-canvas, .elementor .e-con.wt-gradient-blank { background: linear-gradient(to bottom, var(--e-global-color-wt_ink), #142c49, var(--e-global-color-wt_ink)); }
body.elementor-template-canvas.jotform-intake-form { background: #fff; }

/* ---------- /tell-us-about-your-case/ intro: live's case-intro.css on the native rebuild ----------
   Containers take spacing through Elementor's --padding/--margin variables; type sizes are native (the comp's clamps);
   the copy column (side by side) or the hero (stacked) is the container its cqw sizes resolve against. Selectors
   outrank the per-element CSS Elementor prints inline after this sheet. */
.elementor .elementor-element.e-con.wt-ci { max-width: 1000px; margin-inline: auto; --padding-top: clamp(18px, 2.4vw, 28px); --padding-right: 20px; --padding-bottom: clamp(32px, 5vw, 64px); --padding-left: 20px; }
.elementor .elementor-element.e-con.wt-ci-logo { --margin-bottom: clamp(26px, 3.4vw, 40px); }
/* Live's logo is a baseline inline image in a 22px/1.618 line, so the line's descender space sits under it. */
.wt-ci-logo > .elementor-widget-image { width: 100%; text-align: center; font-size: 22px; line-height: 35.596px; }
.elementor .wt-ci .wt-ci-logo .elementor-widget-image img { display: inline-block; vertical-align: baseline; width: min(585px, 70.5%); height: auto; }
.elementor .elementor-element.e-con.wt-ci-hero { --display: grid; grid-template-columns: 1fr; gap: clamp(24px, 3.4vw, 40px); align-items: stretch; }
.elementor .elementor-element.e-con.wt-ci-copy { justify-content: center; min-width: 0; container-type: inline-size; }
.wt-ci-copy > .elementor-widget { width: 100%; }
.wt-ci .wt-ci-copy > .elementor-widget.wt-ci-title { margin-block-end: clamp(14px, 1.9vw, 22px); }
.wt-ci .wt-ci-copy > .elementor-widget.wt-ci-lede { margin-block-end: clamp(20px, 2.4vw, 28px); }
.wt-ci .wt-ci-copy > .elementor-widget.wt-ci-nofee { margin-block-start: clamp(12px, 1.5vw, 16px); }
.wt-ci-lede p, .wt-ci-nofee p { margin: 0; }
.wt-ci-photo img { display: block; width: 100%; height: auto; border-radius: 10px; object-fit: cover; }
.wt-ci .wt-ci-cta .elementor-button { display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; min-height: clamp(52px, 4.4vw, 58px); padding: 10px; border: 1px solid transparent; border-radius: 0; background-color: #038fda; color: #fff; box-shadow: rgb(0 0 0 / 0.1) 0 3px 12px 0; transition: background-color 0.1s ease-out, color 0.1s ease-out; }
.wt-ci .wt-ci-cta .elementor-button:is(:hover, :focus) { background-color: #0585cb; color: #fff; }
.wt-ci .wt-ci-cta .elementor-button:focus-visible { outline: 2px solid #2bbbfa; outline-offset: 3px; }
.elementor .elementor-element.e-con.wt-ci-stats { --display: grid; grid-template-columns: 1fr 1fr; --margin-top: clamp(24px, 3vw, 32px); border: 1px solid rgb(255 255 255 / 0.15); border-radius: 10px; background-color: rgb(255 255 255 / 0.03); }
.elementor .elementor-element.e-con.wt-ci-stat { position: relative; --padding-top: clamp(15px, 1.9vw, 20px); --padding-bottom: clamp(15px, 1.9vw, 20px); --padding-left: 12px; --padding-right: 12px; }
.wt-ci-stat + .wt-ci-stat::after { content: ""; position: absolute; top: 16%; bottom: 16%; left: 0; width: 1px; background-color: rgb(255 255 255 / 0.15); }
.wt-ci__nowrap { white-space: nowrap; }
@media (min-width: 860px) {
	.elementor .elementor-element.e-con.wt-ci-hero { grid-template-columns: 1.5fr 1fr; }
	.elementor .elementor-element.e-con.wt-ci-photo { order: -1; align-self: center; }
	.wt-ci .wt-ci-copy > .elementor-widget.wt-ci-lede { max-width: 88%; }
}
/* Stacked: a 640px frame, the copy column dissolved into the hero grid with the photo between headline and lede. */
@media not all and (min-width: 860px) {
	.elementor .elementor-element.e-con.wt-ci { max-width: 640px; --padding-top: 20px; }
	.elementor .elementor-element.e-con.wt-ci-hero { row-gap: 20px; container-type: inline-size; }
	.elementor .elementor-element.e-con.wt-ci-copy { display: contents; }
	.wt-ci .wt-ci-hero .wt-ci-title { order: 1; }
	.elementor .wt-ci .wt-ci-hero .wt-ci-title .elementor-heading-title { text-align: center; font-size: min(16.4cqw, 84px); }
	.elementor .elementor-element.e-con.wt-ci-photo { order: 2; }
	.wt-ci .wt-ci-hero :is(.wt-ci-lede, .wt-ci-cta, .wt-ci-nofee) { order: 3; }
	.wt-ci .wt-ci-copy > .elementor-widget:is(.wt-ci-title, .wt-ci-lede, .wt-ci-nofee) { margin: 0; }
	.elementor .wt-ci .wt-ci-logo .elementor-widget-image img { width: 100%; max-width: 100%; margin: 0; }
	/* The blank template's 30px top inset goes too, as live's #wrap_all does on this page. */
	body.elementor-template-canvas.wt-site:has(.wt-ci) { padding-top: 0; }
}

.wt-btn-sm, .wt-btn-sm .elementor-button { width: 100%; }
.wt-btn-sm .elementor-button { justify-content: flex-start; text-align: start; padding: 4px 6px; }

/* Sidebar menu (old Enfold nav_menu widget): plain right-aligned links, live's hover ink. */
.wt-side-menu.wt-prose ul { margin: 0; padding: 0; }
.wt-side-menu.wt-prose ul > li { margin: 0; padding: 0; line-height: inherit; font-weight: inherit; }
.wt-side-menu.wt-prose ul > li::before { content: none; }
.wt-side-menu.wt-prose a { display: block; padding: 4px 0 5px; border-bottom: 0; transition: none; }
.wt-side-menu.wt-prose a:hover { color: var(--e-global-color-wt_text); }

/* Scroll-to-top button: Enfold's #scroll-top-link at live's computed values (desktop and tablet only). */
#scroll-top-link { position: fixed; right: 50px; bottom: 50px; z-index: 1030; width: 50px; height: 50px; line-height: 50px; border: 1px solid #6787A8; border-radius: 2px; background: #112236; color: #fff; text-align: center; text-decoration: none; opacity: 0; visibility: hidden; transition: all 0.3s ease-out; }
#scroll-top-link:hover, #scroll-top-link:focus-visible { background: #fff; color: #138ACF; border-color: #fff; }
#scroll-top-link::before { content: "\e876"; font-family: 'entypo-fontello'; font-size: 22px; font-weight: 400; }
#scroll-top-link.is-shown { opacity: 0.7; visibility: visible; animation: wt-pop 0.3s 1 cubic-bezier(0.175, 0.885, 0.32, 1.275); }
@keyframes wt-pop { 0% { transform: scale(0.8); } 100% { transform: scale(1); } }
@media (max-width: 767px) { #scroll-top-link { display: none; } }
@media (prefers-reduced-motion: reduce) { #scroll-top-link.is-shown { animation: none; } }

/* Blank-template pages (Elementor Canvas): the old template's 30px top offset (Enfold #wrap_all). */
body.elementor-template-canvas.wt-site { padding-top: 30px; }

/* Results list amounts: the old child theme pulled the $ in by 0.4em (no control). */
.wt-result-amount .wt-shrink-right { font-style: normal; margin-right: -0.4em; }
/* Avia's image box: the img bottom-aligned in a line box at the old body line height (a 1px divider's box is 36px). */
.wt-img { line-height: 1.618; }
.wt-img img { vertical-align: bottom; }
/* Promo-box buttons are 70% of the box (old child theme), not the 240px minimum. */
.wt-promobox .wt-btn .elementor-button { min-width: 0; }

/* Location pages: address and phone side by side, spaced around the 70% column (live: .location-page-contact-info), stacked 12px apart below 1024. */
/* The pair's spacing is the column's, not the flow margins the converter measured for a stacked layout. */
.elementor .elementor-element.e-con.wt-col > .elementor-widget.old-location-page-contact-info { margin: 0; }
@media (min-width: 1024px) {
	.elementor .elementor-element.e-con.wt-col:has(> .old-location-page-contact-info) { flex-direction: row; flex-wrap: nowrap; align-items: flex-start; justify-content: space-around; }
	.elementor .wt-col > .elementor-widget.old-location-page-contact-info { width: auto; flex: 0 1 auto; }
}
@media (max-width: 1023px) {
	.elementor .elementor-element.e-con.wt-col:has(> .old-location-page-contact-info) { flex-direction: column; gap: 12px; }
}

/* Case pages: the old theme's previous/next tabs (Enfold .avia-post-nav, values as live); body a. outranks the kit's link colour. */
body a.wt-post-nav { position: fixed; top: 50%; z-index: 501; display: block; height: 110px; margin-top: -55px; padding: 15px; background: rgb(0 0 0 / 0.1); color: #fff; font-family: var(--e-global-typography-wt_body-font-family); font-size: 22px; line-height: 35.596px; text-decoration: none; transform: translate3d(0, 0, 0); transition: all 0.3s ease-out; }
body a.wt-post-nav:hover, body a.wt-post-nav:focus-visible { background: rgb(0 0 0 / 0.8); color: #fff; }
.wt-post-nav--prev { left: 0; border-radius: 0 4px 4px 0; }
.wt-post-nav--next { right: 0; border-radius: 4px 0 0 4px; text-align: right; }
.wt-post-nav__label { position: absolute; top: 50%; height: 22px; margin-top: -11px; font-size: 24px; line-height: 22px; }
.wt-post-nav--prev .wt-post-nav__label { left: 10px; }
.wt-post-nav--next .wt-post-nav__label { right: 10px; }
.wt-post-nav__label svg { display: inline; width: auto; height: 24px; fill: #fff; stroke: #fff; }
.wt-post-nav__wrap { display: block; width: 1px; height: 80px; overflow: hidden; transition: all 0.3s ease-out; }
.wt-post-nav:hover .wt-post-nav__wrap, .wt-post-nav:focus-visible .wt-post-nav__wrap { width: 240px; }
.wt-post-nav__info { display: table; width: 220px; height: 80px; }
.wt-post-nav--prev .wt-post-nav__info { margin: 0 1px 0 20px; }
.wt-post-nav--next .wt-post-nav__info { margin: 0 20px 0 1px; }
.wt-post-nav .wt-post-nav__info > span { display: table-cell; vertical-align: middle; color: #fff; font-size: 13px; font-weight: 400; letter-spacing: normal; line-height: 1.65em; }
.wt-post-nav__image { width: 80px; height: 80px; }
.wt-post-nav__image img { display: block; width: 80px; height: 80px; border-radius: 100px; object-fit: cover; }
@media (max-width: 767px) { body a.wt-post-nav { display: none; } }
@media (prefers-reduced-motion: reduce) { body a.wt-post-nav, .wt-post-nav__wrap { transition: none; } }
