.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.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);}@media(max-width:1023px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:639px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --pwr-background:oklch(98.5% .004 210); --pwr-foreground:oklch(25% .045 232); --pwr-card:#ffffff; --pwr-primary:oklch(40% .07 230); --pwr-sand:oklch(95.5% .018 215); --pwr-muted:oklch(43% .03 232); --pwr-border:oklch(89% .015 220); --pwr-input:oklch(82% .02 225); --pwr-ink:oklch(30% .055 232); --pwr-ink-muted:oklch(85% .025 220); --pwr-olive:oklch(47% .1 122); --pwr-lime:oklch(85% .17 115); --pwr-font-display:Newsreader; --pwr-font-body:Public Sans; --pwr-font-label:Saira Condensed; --pwr-container:1312px; --pwr-section-space:96px; --pwr-section-mobile:80px; --pwr-radius:4px; }
/* Start custom CSS *//* Force the original variable font files. Elementor's automatically loaded
   static Google faces otherwise win the same-family font matching. These are
   the original Newsreader files, with a private CSS alias, not another font.
   Individual widget font controls still override the default family. */
@font-face {font-family:"PWR Newsreader";font-style:normal;font-weight:400 600;font-display:swap;src:url("https://pwrrealtors.com/wp-content/uploads/fonts/newsreader-v26-cY9AfjOCX1hbuyalUrK4397yjIJFJpc.woff2") format("woff2");}
@font-face {font-family:"PWR Newsreader";font-style:italic;font-weight:400 500;font-display:swap;src:url("https://pwrrealtors.com/wp-content/uploads/fonts/newsreader-v26-cY9CfjOCX1hbuyalUrK439vCjohCBJWxZA.woff2") format("woff2");}
body,body .elementor {--pwr-font-display:"PWR Newsreader";}
/* Shared PWR header, navigation and drawer styles for the site-wide Theme Builder
   "PWR Header" template, whose root element carries the pwr-site-header class.
   The legacy native Nav Menu cannot consume V4 global-class styles.
   The header CTA uses background-color, not the background shorthand: Chrome does not
   re-resolve shorthand var() values when the scroll-driven header animation changes them. */
body .pwr-site-header .pwr-nav-widget { width:auto; flex-shrink:0; color:inherit; }
body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .elementor-nav-menu { gap:28px; flex-wrap:nowrap; }
body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .elementor-nav-menu::after { display:none; }
body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .elementor-item { padding:8px 0; color:inherit; font-family:"Public Sans"; font-size:14px; font-weight:600; line-height:20px; border-bottom:2px solid transparent; opacity:.9; transition:color .15s,opacity .15s,border-color .15s; }
body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .elementor-nav-menu>li.current-menu-item>a { border-bottom-color:var(--pwr-lime); opacity:1; }
body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .elementor-item.highlighted { color:inherit; }
body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .elementor-item:hover { color:var(--pwr-menu-hover,var(--pwr-lime)); opacity:1; }
body .pwr-site-header>div>.e-button-base {background-color:var(--pwr-header-cta-bg,var(--pwr-lime));color:var(--pwr-header-cta-fg,var(--pwr-foreground));}
body .pwr-site-header>div>.e-button-base:hover {background-color:var(--pwr-header-cta-hover-bg,var(--pwr-background));color:var(--pwr-header-cta-hover-fg,var(--pwr-ink));box-shadow:var(--pwr-header-cta-hover-shadow,none);}
/* SmartMenus positions the submenu with inline styles, hence the !important placement rules. */
body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .sub-menu { box-sizing:border-box; top:calc(100% + 12px) !important; left:50% !important; right:auto !important; width:256px !important; min-width:256px !important; max-width:none !important; margin:0 !important; padding:8px; background:var(--pwr-card); border:1px solid var(--pwr-border); border-radius:calc(var(--pwr-radius) - 4px); box-shadow:0 24px 50px -28px oklch(30% .055 232/.4); transform:translateX(-50%); animation:pwr-submenu-in .3s ease both; }
body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .sub-menu::before { content:""; position:absolute; left:0; right:0; top:-13px; height:13px; }
body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .elementor-sub-item { display:block; margin:0; padding:12px 16px; border:0; border-radius:calc(var(--pwr-radius) - 4px); font-family:var(--pwr-font-display); font-size:20px; font-weight:600; line-height:28px; white-space:normal; color:var(--pwr-foreground); background:transparent; }
body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .elementor-sub-item:hover,body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .elementor-sub-item:focus-visible,body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .elementor-sub-item.highlighted { background:var(--pwr-sand); color:var(--pwr-olive); }
@keyframes pwr-submenu-in { from { opacity:0; transform:translate(-50%,8px); } to { opacity:1; transform:translate(-50%,0); } }
body .pwr-site-header .pwr-nav-widget .sub-arrow { background:url("https://pwrrealtors.com/wp-content/uploads/2026/10/pwr-icon-chevron-down-light.png") center/14px no-repeat; width:14px; height:14px; padding:0; margin-left:4px; }
body .pwr-site-header .pwr-nav-widget .sub-arrow svg { visibility:hidden; }
body .pwr-site-header .pwr-nav-widget .ast-header-navigation-arrow { display:none; }
body .pwr-site-header .pwr-nav-widget .elementor-menu-toggle { border:1px solid oklch(98.5% .004 210 / .3); border-radius:50%; width:44px; height:44px; padding:11px; background:transparent url("https://pwrrealtors.com/wp-content/uploads/2026/10/pwr-icon-menu-light.png") center/20px no-repeat; color:var(--pwr-background); position:relative; z-index:102; }
body .pwr-site-header .pwr-nav-widget .elementor-menu-toggle svg,body .pwr-site-header .pwr-nav-widget .elementor-menu-toggle i { opacity:0; }
body .pwr-site-header .pwr-nav-widget .elementor-menu-toggle.elementor-active { background-image:url("https://pwrrealtors.com/wp-content/uploads/2026/10/pwr-icon-x-light.png"); }
body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown { background:var(--pwr-ink); color:var(--pwr-background); }
body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown a,body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown a.elementor-item-active,body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown a.highlighted { font-family:var(--pwr-font-display); font-size:30px; font-weight:400; line-height:36px; color:var(--pwr-background); background:transparent; padding:0; transition:none; }
body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown .sub-menu { background:transparent; border:0; }
body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown .sub-menu a,body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown .sub-menu a.elementor-item-active { font-family:"Public Sans"; font-size:14px; font-weight:400; line-height:20px; padding:6px 0; border:0; color:var(--pwr-ink-muted); }
body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown a:hover,body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown a.highlighted:hover,body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown a.elementor-item-active:hover,body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown .sub-menu a:hover,body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown .sub-menu a.elementor-item-active:hover { color:var(--pwr-lime); background:transparent; }
body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown .sub-arrow { display:none; }
/* The reference's header hairline follows the text color (border-current/10) in both header states. */
body .elementor .pwr-site-header { border-bottom-color:color-mix(in oklab,currentColor 10%,transparent); }
body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .pwr-menu-consultation {display:none;}
body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown .pwr-menu-consultation>a { display:flex; align-items:center; justify-content:center; gap:9.6px; min-height:49.6px; margin:0; padding:13.6px 25.6px; font-family:"Saira Condensed"; font-size:16.8px; font-weight:600; line-height:27.72px; text-transform:uppercase; text-align:center; background:var(--pwr-lime); color:var(--pwr-foreground); border-radius:4px; transition:background-color .3s,color .3s,border-color .3s,transform .3s; }
body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown .pwr-menu-consultation>a:hover { background:var(--pwr-background); color:var(--pwr-ink); transform:translateY(-1px); }
@media(prefers-reduced-motion:reduce) { body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown .pwr-menu-consultation>a:hover { transform:none; } }
@media(max-width:1279px) {
 body .pwr-site-header .pwr-nav-widget { order:3; }
 body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main { display:none; }
 body .pwr-site-header .pwr-nav-widget .elementor-menu-toggle { display:flex; cursor:default; }
 /* Full-height drawer, at most 448px wide, sliding in from the right with the reference's ease-out curve.
    !important overrides the native widget's collapsed scaleY(0) and max-height states, which are more specific. */
 body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown { display:flex !important; flex-direction:column; position:fixed; z-index:101; top:0; right:0; bottom:0; width:100vw; max-width:448px; height:100dvh; max-height:100dvh !important; margin:0; padding:92px 0 0; overflow:hidden; transform:translateX(100%) !important; visibility:hidden; transition:transform .5s cubic-bezier(0,0,.2,1),visibility .5s; }
 body .pwr-site-header .pwr-nav-widget>.elementor-menu-toggle.elementor-active+nav { transform:none !important; visibility:visible; }
 body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown>.elementor-nav-menu { display:flex; flex-direction:column; justify-content:flex-start; flex:1 1 auto; min-height:0; overflow-y:auto; margin:0; padding:0 24px; }
 body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown>.elementor-nav-menu>li { flex-shrink:0; padding:12px 0; border-bottom:1px solid oklch(98.5% .004 210 / .1); }
 body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown>.elementor-nav-menu>li:nth-last-child(2) { border-bottom:0; margin-bottom:24px; }
 /* The consultation button stays pinned below the scrolling links, like the reference drawer's footer. */
 body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown>.elementor-nav-menu>li.pwr-menu-consultation { position:sticky; bottom:0; margin-top:auto; padding:24px 0; border-bottom:0; background:var(--pwr-ink); }
 body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown .sub-menu { display:block !important; position:static !important; width:auto !important; min-width:0 !important; max-width:none !important; margin:8px 0 0 !important; padding:0 0 0 16px; }
 body .pwr-site-header .pwr-nav-widget>.elementor-nav-menu--dropdown .sub-menu>li+li { margin-top:4px; }
 /* The header keeps its own state under the open drawer, dimmed like the reference's overlay. The ::after
    layer receives the click that closes the menu; backdrop-filter is dropped so the fixed drawer is
    positioned against the viewport rather than the header. */
 body .pwr-site-header::after { content:""; position:absolute; inset:0 0 -1px; z-index:100; background:oklch(30% .055 232 / .6); opacity:0; pointer-events:none; transition:opacity .5s; }
 body .pwr-site-header.pwr-drawer-open::after { opacity:1; pointer-events:auto; }
 body .pwr-site-header.pwr-drawer-open { backdrop-filter:none !important; }
 body .pwr-site-header .elementor-element-pwr-drawer-logo { display:flex; position:fixed; top:26px; left:max(24px,calc(100vw - 424px)); z-index:102; color:var(--pwr-background); visibility:hidden; transform:translateX(min(100vw,448px)); transition:transform .5s cubic-bezier(0,0,.2,1),visibility .5s; }
 body .pwr-site-header.pwr-drawer-open .elementor-element-pwr-drawer-logo { visibility:visible; transform:none; }
 body .pwr-site-header.pwr-drawer-open .elementor-menu-toggle { position:fixed; top:24px; right:24px; }
 body .pwr-site-header.pwr-drawer-open>div>.e-button-base { visibility:hidden; }
}
@media(min-width:768px) and (max-width:1279px) { body .pwr-site-header .elementor-element-pwr-drawer-logo { top:24px; } }
html:has(.pwr-site-header .elementor-menu-toggle.elementor-active) { overflow:hidden; }
body:has(.pwr-site-header) #ast-scroll-top { display:none !important; }
body .pwr-button-arrow::after,body .pwr-button-phone::before { width:16px; height:16px; }
/* CSS scroll timelines reproduce the reference's 40px header threshold.
   Browsers without scroll timelines retain the complete fixed hero header. */
@supports(animation-timeline:scroll()) {
 body .pwr-site-header { animation:pwr-header-scroll 1s steps(1,end) both; animation-timeline:scroll(root); animation-range:40px 41px; }
 body .pwr-site-header>div>a:first-child>img { animation:pwr-logo-scroll 1s steps(1,end) both; animation-timeline:scroll(root); animation-range:40px 41px; }
 body .pwr-site-header .pwr-nav-widget .elementor-menu-toggle { animation:pwr-toggle-scroll 1s steps(1,end) both; animation-timeline:scroll(root); animation-range:40px 41px; }
 body .pwr-site-header:has(.elementor-menu-toggle.elementor-active) .elementor-menu-toggle { animation:none; }
}
@keyframes pwr-header-scroll {
 from {padding:24px 0; background:linear-gradient(180deg,oklch(24% .05 232 / .82),oklch(24% .05 232 / .65)); color:var(--pwr-background);--pwr-menu-hover:var(--pwr-lime);--pwr-header-cta-bg:var(--pwr-lime);--pwr-header-cta-fg:var(--pwr-foreground);--pwr-header-cta-hover-bg:var(--pwr-background);--pwr-header-cta-hover-fg:var(--pwr-ink);--pwr-header-cta-hover-shadow:none;}
 to {padding:12px 0; background:color-mix(in oklab,var(--pwr-background) 95%,transparent); color:var(--pwr-foreground); box-shadow:0 24px 50px -28px oklch(30% .055 232 / .4); backdrop-filter:blur(8px);--pwr-menu-hover:var(--pwr-primary);--pwr-header-cta-bg:var(--pwr-primary);--pwr-header-cta-fg:var(--pwr-background);--pwr-header-cta-hover-bg:var(--pwr-ink);--pwr-header-cta-hover-fg:var(--pwr-background);--pwr-header-cta-hover-shadow:inset 0 -3px 0 var(--pwr-lime);}
}
@keyframes pwr-logo-scroll {from{content:url("https://pwrrealtors.com/wp-content/uploads/2026/10/pwr-pwr-mark-light.png");}to{content:url("https://pwrrealtors.com/wp-content/uploads/2026/10/pwr-mark-dark.png");}}
@keyframes pwr-toggle-scroll {from{background-image:url("https://pwrrealtors.com/wp-content/uploads/2026/10/pwr-icon-menu-light.png");border-color:oklch(98.5% .004 210 / .3);}to{background-image:url("https://pwrrealtors.com/wp-content/uploads/2026/10/pwr-icon-menu-dark.png");border-color:oklch(25% .045 232 / .3);}}

/* Matches the reference's global overflow-wrap so long footer items (the email address) wrap inside narrow columns. */
body .pwr-site-footer a,body .pwr-site-footer p { overflow-wrap:anywhere; }

/* Pages without a photo hero (marked by the pwr-page-intro or pwr-solid-header class, and agent profiles) start in the solid header state,
   as the reference does with data-pwr-hero="false". Zero-duration runs of the scroll keyframes
   pin their end state; only the drawer toggle switches to its open styling. */
body:is(:has(.pwr-page-intro),:has(.pwr-solid-header),.single-agent) .pwr-site-header { animation:pwr-header-scroll 0s steps(1,end) both; }
body:is(:has(.pwr-page-intro),:has(.pwr-solid-header),.single-agent) .pwr-site-header>div>a:first-child>img { animation:pwr-logo-scroll 0s steps(1,end) both; }
body:is(:has(.pwr-page-intro),:has(.pwr-solid-header),.single-agent) .pwr-site-header:not(:has(.elementor-menu-toggle.elementor-active)) .pwr-nav-widget .elementor-menu-toggle { animation:pwr-toggle-scroll 0s steps(1,end) both; }

/* PWR Agents: start */
/* Markup from the PWR Agents plugin shortcodes and the Agent card/profile templates, styled like the reference.
   .pwr-link-arrow is the reference's generic arrow link, shared with the PWR Resources notes. */
body .pwr-icon-arrow::after,body .pwr-icon-phone::before,body .pwr-icon-mail::before,body .pwr-icon-map-pin::before,body .pwr-agent-link::after,body .pwr-link-arrow::after { content:""; display:block; flex-shrink:0; width:16px; height:16px; background-color:currentColor; -webkit-mask:var(--pwr-icon) center/contain no-repeat; mask:var(--pwr-icon) center/contain no-repeat; }
body .pwr-icon-arrow,body .pwr-agent-link,body .pwr-link-arrow { --pwr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E"); }
body .pwr-icon-phone { --pwr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E"); }
body .pwr-icon-mail { --pwr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3C/svg%3E"); }
body .pwr-icon-map-pin { --pwr-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
body .pwr-agent-bio,body .pwr-agent-bio p { font-family:"Public Sans"; overflow-wrap:anywhere; }
body .pwr-agent-bio p { margin:0; font-size:18px; line-height:1.625; color:var(--pwr-muted); }
body .pwr-agent-bio p+p { margin-top:20px; }
body .pwr-agent-chips,body .pwr-agent-rules,body .pwr-agent-memberships-list { margin:0; padding:0; list-style:none; }
body .pwr-agent-chips { display:flex; flex-wrap:wrap; gap:8px; }
body .pwr-agent-chips li { border:1px solid var(--pwr-input); border-radius:9999px; padding:8px 16px; font-size:14px; line-height:20px; font-weight:600; }
body .pwr-agent-rules li { border-left:4px solid var(--pwr-lime); padding-left:16px; }
body .pwr-agent-rules li+li { margin-top:12px; }
body .pwr-agent-memberships-list li+li { margin-top:8px; }
body .pwr-agent-eyebrow { margin:0 0 16px; font-family:"Saira Condensed"; font-size:15.2px; font-weight:600; line-height:1.05; letter-spacing:0; text-transform:uppercase; color:var(--pwr-olive); }
body .pwr-agent-links { display:flex; flex-wrap:wrap; gap:16px; }
body .pwr-agent-link,body .pwr-link-arrow { display:inline-flex; align-items:center; gap:8px; max-width:100%; padding-bottom:3.2px; border-bottom:1px solid; font-family:"Saira Condensed"; font-size:16.8px; font-weight:600; letter-spacing:0; text-transform:uppercase; color:var(--pwr-foreground); text-decoration:none; transition:gap .3s,color .3s; }
body .pwr-agent-link:hover,body .pwr-link-arrow:hover { gap:13.6px; color:var(--pwr-olive); }
/* An agent without memberships renders an empty shortcode; drop it so the sidebar spacing stays even. */
body .elementor-element-agent-sidebar>.elementor-widget-shortcode:has(.elementor-shortcode:empty) { display:none; }
/* Cards fill their grid row so the "Meet …" links line up, as in the reference grid. */
body .pwr-agent-grid .e-loop-item>[data-id="agent-card"] { height:100%; }
/* Resources notes (PWR Resources plugin shortcodes inside the PWR Resource Note loop item). */
body .pwr-resource-tips { margin:20px 0 0; padding:0 0 0 20px; list-style:disc; line-height:1.625; color:var(--pwr-muted); }
body .pwr-resource-tips li+li { margin-top:12px; }
body .pwr-resource-question { margin:24px 0 8px; padding:16px 20px; border-left:3px solid var(--pwr-lime); background:var(--pwr-sand); line-height:1.625; }
/* The arrow link sits at the bottom of each note so links line up across a row, as in the reference. */
body .elementor-element-resource-link { margin-top:auto; padding-top:24px; align-self:flex-start; }
/* A flex wrapper keeps the inline-flex link out of a text line box (which added half a pixel of baseline space). */
body .elementor-element-resource-link .elementor-shortcode { display:flex; }
body .pwr-resource-grid .e-loop-item>[data-id="resource-note"] { height:100%; }
/* Topic filter: the reference's flat 44px buttons (Elementor adds a soft shadow by default). */
body .pwr-resource-filter .e-filter-item { box-sizing:border-box; min-height:44px; box-shadow:none; transition:color .15s,background-color .15s; }
/* Header submenu chevron in the current text colour: light over photo heroes, dark on the solid header. */
body .pwr-site-header .pwr-nav-widget .elementor-nav-menu--main .sub-arrow { background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/14px no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/14px no-repeat; }
/* Contact page: 20px olive icons beside the contact details. */
body .pwr-contact-icon::before { width:20px; height:20px; }
/* Consultation form (Elementor Pro Form widget), styled like the reference form. Astra fixes inputs at 40px
   and Elementor sets its own form font, so height and font family are reset here. */
body .pwr-contact-form .elementor-field-group>.elementor-field-label,body .pwr-contact-form .pwr-form-legend { display:block; margin:0 0 8px; padding:0; font-family:"Public Sans"; font-size:14px; font-weight:600; line-height:20px; color:var(--pwr-foreground); }
body .pwr-contact-form .pwr-form-legend { margin:0; }
body .pwr-contact-form .pwr-form-hint { margin:4px 0 0; font-size:14px; line-height:20px; color:var(--pwr-muted); }
body .pwr-contact-form .elementor-field-group .elementor-field-textual { box-sizing:border-box; width:100%; height:auto; min-height:0; margin:0; padding:14px 16px; font-family:"Public Sans"; font-size:16px; line-height:24px; color:var(--pwr-foreground); background:var(--pwr-card); border:1px solid var(--pwr-primary); border-radius:calc(var(--pwr-radius) - 4px); box-shadow:none; transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s; }
body .pwr-contact-form .elementor-field-group .elementor-field-textual:focus { border-color:var(--pwr-olive); box-shadow:0 0 0 2px color-mix(in oklab,var(--pwr-olive) 20%,transparent); outline:none; }
body .pwr-contact-form .elementor-field-group .elementor-field-textual:focus-visible { outline:2px solid var(--pwr-olive); }
body .pwr-contact-form .elementor-field-group .elementor-field-textual::placeholder { color:var(--pwr-muted); }
/* The reference keeps the browser's own dropdown arrow. */
body .pwr-contact-form .elementor-select-wrapper .select-caret-down-wrapper { display:none; }
body .pwr-contact-form .elementor-select-wrapper select { -webkit-appearance:auto; appearance:auto; line-height:normal; }
/* Interest choices: checkboxes drawn as the reference's toggle pills; the group label is kept for screen readers.
   .elementor-field-option outranks Elementor's own checkbox rule, which would make each pill display:inline. */
body .pwr-contact-form .elementor-field-group-interests>.elementor-field-label { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
body .pwr-contact-form .pwr-interest-pills { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
body .pwr-contact-form .pwr-interest-pills .elementor-field-option { position:relative; display:inline-flex; margin:0; padding:0; }
body .pwr-contact-form .pwr-interest-pills .elementor-field-option input { position:absolute; width:1px; height:1px; margin:0; opacity:0; }
body .pwr-contact-form .pwr-interest-pills .elementor-field-option label { box-sizing:border-box; display:inline-flex; font-family:"Public Sans"; align-items:center; min-height:44px; margin:0; padding:0 16px; border:1px solid var(--pwr-input); border-radius:9999px; font-size:14px; font-weight:600; line-height:20px; color:var(--pwr-foreground); background:transparent; cursor:pointer; transition:color .15s,background-color .15s,border-color .15s; }
body .pwr-contact-form .pwr-interest-pills .elementor-field-option label:hover { border-color:var(--pwr-primary); }
body .pwr-contact-form .pwr-interest-pills .elementor-field-option input:checked+label { background:var(--pwr-primary); border-color:var(--pwr-primary); color:var(--pwr-background); }
body .pwr-contact-form .pwr-interest-pills .elementor-field-option input:focus-visible+label { outline:2px solid var(--pwr-olive); }
/* Spacing between field groups follows the reference (24px between paired fields, 28px between sections). */
body .pwr-contact-form .elementor-field-group-interests_legend,body .pwr-contact-form .elementor-field-group-source,body .pwr-contact-form .elementor-field-group-message,body .pwr-contact-form .e-form__buttons { margin-top:4px; }
body .pwr-contact-form .elementor-field-group-interests { margin-top:-12px; }
/* The reference's textarea sits on a text baseline inside its label, which leaves 5px below it. */
body .pwr-contact-form .elementor-field-group-message { padding-bottom:5px; }
/* "Who referred you?" opens below the dropdown only when Referral is chosen (toggled by the contact form snippet). */
body .pwr-contact-form .elementor-field-group-referrer { display:block; margin-top:4px; min-height:0; max-height:0; overflow:hidden; opacity:0; transition:max-height .5s cubic-bezier(.4,0,.2,1),opacity .5s cubic-bezier(.4,0,.2,1); }
body .pwr-contact-form .elementor-field-group-referrer.pwr-referral-open { max-height:82px; opacity:1; }
body .pwr-contact-form .e-form__buttons .elementor-button { box-sizing:border-box; min-height:49.6px; padding:13.6px 25.6px; border:0; border-radius:var(--pwr-radius); font-family:"Saira Condensed"; font-size:16.8px; font-weight:600; line-height:27.72px; text-transform:uppercase; letter-spacing:0; color:var(--pwr-background); background:var(--pwr-primary); transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s; }
body .pwr-contact-form .e-form__buttons .elementor-button:hover { background:var(--pwr-ink); box-shadow:inset 0 -3px 0 var(--pwr-lime); transform:translateY(-1px); }
@media(min-width:640px) { body .pwr-contact-form .e-form__buttons { width:auto; max-width:none; flex:0 0 auto; } body .pwr-contact-form .e-form__buttons .elementor-button { width:auto; } }
body .pwr-contact-form .elementor-message { margin:28px 0 0; font-size:14px; line-height:20px; color:var(--pwr-muted); }
body .pwr-contact-form .elementor-message::before { display:none; }
body .pwr-contact-form .elementor-message-success { display:none; }
body .pwr-contact-status { margin:28px 0 0; font-size:14px; line-height:20px; color:var(--pwr-muted); }
/* Sent acknowledgment that replaces the form (built by the contact form snippet). */
body .pwr-contact-ack { padding:64px 0; text-align:center; }
body .pwr-contact-ack:focus { outline:none; }
body .pwr-contact-ack__icon { display:grid; place-items:center; width:64px; height:64px; margin:0 auto; border-radius:9999px; background:var(--pwr-olive); color:var(--pwr-background); }
body .pwr-contact-ack__heading { margin:32px 0 0; font-family:var(--pwr-font-display); font-weight:500; font-size:36px; line-height:40px; letter-spacing:0; color:var(--pwr-foreground); }
@media(min-width:768px) { body .pwr-contact-ack__heading { font-size:48px; line-height:1; } }
body .pwr-contact-ack__text { max-width:448px; margin:16px auto 0; color:var(--pwr-muted); }
body .pwr-contact-ack__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:40px; }
body .pwr-contact-ack__button { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; min-height:49.6px; padding:13.6px 25.6px; border:1px solid var(--pwr-primary); border-radius:var(--pwr-radius); font-family:"Saira Condensed"; font-size:16.8px; font-weight:600; line-height:1.65; text-transform:uppercase; text-decoration:none; transition:background-color .3s,color .3s,transform .3s,box-shadow .3s; }
body .pwr-contact-ack__button--primary { background:var(--pwr-primary); color:var(--pwr-background); border-color:transparent; }
body .pwr-contact-ack__button--primary:hover { background:var(--pwr-ink); color:var(--pwr-background); box-shadow:inset 0 -3px 0 var(--pwr-lime); }
body .pwr-contact-ack__button--outline { color:var(--pwr-primary); background:transparent; }
body .pwr-contact-ack__button--outline:hover { background:var(--pwr-primary); color:var(--pwr-background); }
body .pwr-contact-ack__button:hover { transform:translateY(-1px); }
body .pwr-site-footer .pwr-copy a { color:inherit; transition:color .15s cubic-bezier(.4,0,.2,1); }
body .pwr-site-footer .pwr-copy a:hover { color:var(--pwr-lime); }
/* PWR Agents: end *//* End custom CSS */