.elementor-14892 .elementor-element.elementor-element-55d03e8c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.64;}.elementor-14892 .elementor-element.elementor-element-55d03e8c:not(.elementor-motion-effects-element-type-background), .elementor-14892 .elementor-element.elementor-element-55d03e8c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.judymichaelis.com/wp-content/uploads/2026/09/359-greens-68-scaled-1.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-14892 .elementor-element.elementor-element-55d03e8c::before, .elementor-14892 .elementor-element.elementor-element-55d03e8c > .elementor-background-video-container::before, .elementor-14892 .elementor-element.elementor-element-55d03e8c > .e-con-inner > .elementor-background-video-container::before, .elementor-14892 .elementor-element.elementor-element-55d03e8c > .elementor-background-slideshow::before, .elementor-14892 .elementor-element.elementor-element-55d03e8c > .e-con-inner > .elementor-background-slideshow::before, .elementor-14892 .elementor-element.elementor-element-55d03e8c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(96deg, #000000 75%, #FFFFFF 100%);}.elementor-14892 .elementor-element.elementor-element-723bcd8e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-43952dec{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-3bf9c96{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:60px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14892 .elementor-element.elementor-element-38d04ba{--display:flex;}.elementor-14892 .elementor-element.elementor-element-734fa86{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-60ef516{--display:flex;}.elementor-14892 .elementor-element.elementor-element-255e1952{--display:flex;}.elementor-14892 .elementor-element.elementor-element-5c9e2cd{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-14892 .elementor-element.elementor-element-4873b7d{--display:flex;}.elementor-14892 .elementor-element.elementor-element-360ade15 .elementor-button-content-wrapper{flex-direction:row;}.elementor-14892 .elementor-element.elementor-element-6971e9ea{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-7b141610{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-77a72152{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-2ea76eab{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-1a705aee{--display:flex;}.elementor-14892 .elementor-element.elementor-element-43f53660{--display:flex;}.elementor-14892 .elementor-element.elementor-element-efc1267{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14892 .elementor-element.elementor-element-1c19dee0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-206b77ba{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-70beb12{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14892 .elementor-element.elementor-element-536b4b2e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-1270fe10{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-3d52f44f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-2259e957{--display:flex;}.elementor-14892 .elementor-element.elementor-element-7139f588 .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-14892 .elementor-element.elementor-element-8b21dab{--display:flex;}.elementor-14892 .elementor-element.elementor-element-31422adb .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-14892 .elementor-element.elementor-element-57ff96fb{--display:flex;}.elementor-14892 .elementor-element.elementor-element-7cdb9a11 .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-14892 .elementor-element.elementor-element-dd17dce{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-7b444e4e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-4607f472{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-43d6efb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.5;--margin-top:60px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-14892 .elementor-element.elementor-element-43d6efb::before, .elementor-14892 .elementor-element.elementor-element-43d6efb > .elementor-background-video-container::before, .elementor-14892 .elementor-element.elementor-element-43d6efb > .e-con-inner > .elementor-background-video-container::before, .elementor-14892 .elementor-element.elementor-element-43d6efb > .elementor-background-slideshow::before, .elementor-14892 .elementor-element.elementor-element-43d6efb > .e-con-inner > .elementor-background-slideshow::before, .elementor-14892 .elementor-element.elementor-element-43d6efb > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#E6E6E6;--background-overlay:'';}.elementor-14892 .elementor-element.elementor-element-5e9ec56{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:18px 18px;--row-gap:18px;--column-gap:18px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14892 .elementor-element.elementor-element-5e9ec56.e-con{--order:-99999 /* order start hack */;}.elementor-14892 .elementor-element.elementor-element-44a0029 .elementor-heading-title{font-size:28px;}.elementor-14892 .elementor-element.elementor-element-caaa78b{font-family:"Montserrat", Sans-serif;font-size:16px;letter-spacing:-0.3px;}.elementor-14892 .elementor-element.elementor-element-5a313e9{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14892 .elementor-element.elementor-element-5a313e9.e-con{--order:-99999 /* order start hack */;}.elementor-14892 .elementor-element.elementor-element-b2cff28{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:20px;}.elementor-14892 .elementor-element.elementor-element-b2cff28.e-con{--align-self:flex-start;--flex-grow:1;--flex-shrink:1;}.elementor-14892 .elementor-element.elementor-element-3194462{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-14892 .elementor-element.elementor-element-3ee9fe4 > .elementor-widget-container{margin:0px 10px 0px 0px;}.elementor-14892 .elementor-element.elementor-element-3ee9fe4 .elementor-icon-wrapper{text-align:center;}.elementor-14892 .elementor-element.elementor-element-3ee9fe4.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-14892 .elementor-element.elementor-element-3ee9fe4.elementor-view-framed .elementor-icon, .elementor-14892 .elementor-element.elementor-element-3ee9fe4.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-14892 .elementor-element.elementor-element-3ee9fe4.elementor-view-framed .elementor-icon, .elementor-14892 .elementor-element.elementor-element-3ee9fe4.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-14892 .elementor-element.elementor-element-3ee9fe4 .elementor-icon{font-size:21px;}.elementor-14892 .elementor-element.elementor-element-3ee9fe4 .elementor-icon svg{height:21px;}.elementor-14892 .elementor-element.elementor-element-7e5db5e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-14892 .elementor-element.elementor-element-7e5db5e{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-14892 .elementor-element.elementor-element-1a3e0f8{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-14892 .elementor-element.elementor-element-1a3e0f8 .elementor-divider-separator{width:100%;}.elementor-14892 .elementor-element.elementor-element-1a3e0f8 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-14892 .elementor-element.elementor-element-63868dd{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-14892 .elementor-element.elementor-element-87beed9 > .elementor-widget-container{margin:0px 10px 0px 0px;}.elementor-14892 .elementor-element.elementor-element-87beed9 .elementor-icon-wrapper{text-align:center;}.elementor-14892 .elementor-element.elementor-element-87beed9.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-14892 .elementor-element.elementor-element-87beed9.elementor-view-framed .elementor-icon, .elementor-14892 .elementor-element.elementor-element-87beed9.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-14892 .elementor-element.elementor-element-87beed9.elementor-view-framed .elementor-icon, .elementor-14892 .elementor-element.elementor-element-87beed9.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-14892 .elementor-element.elementor-element-87beed9 .elementor-icon{font-size:21px;}.elementor-14892 .elementor-element.elementor-element-87beed9 .elementor-icon svg{height:21px;}.elementor-14892 .elementor-element.elementor-element-07d9852 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-14892 .elementor-element.elementor-element-07d9852{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-14892 .elementor-element.elementor-element-5179f0c{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-14892 .elementor-element.elementor-element-5179f0c .elementor-divider-separator{width:100%;}.elementor-14892 .elementor-element.elementor-element-5179f0c .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-14892 .elementor-element.elementor-element-4f8a151{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-14892 .elementor-element.elementor-element-58f6861 > .elementor-widget-container{margin:0px 10px 0px 0px;}.elementor-14892 .elementor-element.elementor-element-58f6861 .elementor-icon-wrapper{text-align:center;}.elementor-14892 .elementor-element.elementor-element-58f6861.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-14892 .elementor-element.elementor-element-58f6861.elementor-view-framed .elementor-icon, .elementor-14892 .elementor-element.elementor-element-58f6861.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-14892 .elementor-element.elementor-element-58f6861.elementor-view-framed .elementor-icon, .elementor-14892 .elementor-element.elementor-element-58f6861.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-14892 .elementor-element.elementor-element-58f6861 .elementor-icon{font-size:21px;}.elementor-14892 .elementor-element.elementor-element-58f6861 .elementor-icon svg{height:21px;}.elementor-14892 .elementor-element.elementor-element-8246a66 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-14892 .elementor-element.elementor-element-8246a66{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-14892 .elementor-element.elementor-element-0fa08dd{--display:flex;--gap:5px 0px;--row-gap:5px;--column-gap:0px;}.elementor-14892 .elementor-element.elementor-element-3a65952{width:var( --container-widget-width, 575px );max-width:575px;--container-widget-width:575px;--container-widget-flex-grow:0;}.elementor-14892 .elementor-element.elementor-element-3a65952 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-14892 .elementor-element.elementor-element-3a65952 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-14892 .elementor-element.elementor-element-3a65952 .elementor-custom-embed-play i{color:#DE4593;font-size:46px;}.elementor-14892 .elementor-element.elementor-element-3a65952 .elementor-custom-embed-play svg{fill:#DE4593;width:46px;height:46px;}.elementor-14892 .elementor-element.elementor-element-374ea74{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:5px 5px;--row-gap:5px;--column-gap:5px;--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14892 .elementor-element.elementor-element-6bb95f6{width:100%;max-width:100%;}.elementor-14892 .elementor-element.elementor-element-6bb95f6 > .elementor-widget-container{margin:00px 00px 00px 00px;padding:00px 00px 00px 00px;}.elementor-14892 .elementor-element.elementor-element-6bb95f6 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-14892 .elementor-element.elementor-element-6bb95f6 .elementor-custom-embed-play i{color:#DE4593;font-size:46px;}.elementor-14892 .elementor-element.elementor-element-6bb95f6 .elementor-custom-embed-play svg{fill:#DE4593;width:46px;height:46px;}.elementor-14892 .elementor-element.elementor-element-98f06d6 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-14892 .elementor-element.elementor-element-98f06d6 .elementor-custom-embed-play i{color:#DE4593;font-size:46px;}.elementor-14892 .elementor-element.elementor-element-98f06d6 .elementor-custom-embed-play svg{fill:#DE4593;width:46px;height:46px;}.elementor-14892 .elementor-element.elementor-element-d95e579{width:var( --container-widget-width, 575px );max-width:575px;--container-widget-width:575px;--container-widget-flex-grow:0;}.elementor-14892 .elementor-element.elementor-element-d95e579 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-14892 .elementor-element.elementor-element-d95e579 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-14892 .elementor-element.elementor-element-d95e579 .elementor-custom-embed-play i{color:#DE4593;font-size:46px;}.elementor-14892 .elementor-element.elementor-element-d95e579 .elementor-custom-embed-play svg{fill:#DE4593;width:46px;height:46px;}.elementor-14892 .elementor-element.elementor-element-bd53dec{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-28ec342{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-767deb4b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-6cb440bf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}@media(max-width:1250px){.elementor-14892 .elementor-element.elementor-element-374ea74{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-14892 .elementor-element.elementor-element-60ef516{--width:65%;}.elementor-14892 .elementor-element.elementor-element-255e1952{--width:100%;}.elementor-14892 .elementor-element.elementor-element-4873b7d{--width:92%;}.elementor-14892 .elementor-element.elementor-element-1a705aee{--width:50%;}.elementor-14892 .elementor-element.elementor-element-43f53660{--width:50%;}.elementor-14892 .elementor-element.elementor-element-2259e957{--width:33%;}.elementor-14892 .elementor-element.elementor-element-8b21dab{--width:33%;}.elementor-14892 .elementor-element.elementor-element-57ff96fb{--width:33%;}.elementor-14892 .elementor-element.elementor-element-b2cff28{--width:60%;}.elementor-14892 .elementor-element.elementor-element-0fa08dd{--width:40%;}}@media(max-width:767px){.elementor-14892 .elementor-element.elementor-element-2ea76eab{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-3d52f44f{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14892 .elementor-element.elementor-element-43d6efb{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-14892 .elementor-element.elementor-element-7e5db5e{font-size:12px;}.elementor-14892 .elementor-element.elementor-element-07d9852{font-size:12px;}.elementor-14892 .elementor-element.elementor-element-8246a66{font-size:12px;}.elementor-14892 .elementor-element.elementor-element-374ea74{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS *//* ============================================================
   Wilton CT Realtor — paired stylesheet  (PAGE-LEVEL VERSION)
   Pairs with: wilton-ct-realtor.json / drum-section-v4.json

   PASTE INTO:
     Edit with Elementor > (hamburger) > Page Settings
       > Advanced tab > Custom CSS

   NOT Site Settings. If an earlier copy of this file is still in
   Site Settings > Custom CSS, DELETE IT FIRST — two copies will
   both load and the cascade gets hard to reason about.

   WHY PAGE-LEVEL IS BETTER HERE
   Page CSS only loads on this URL, so nothing here can affect any
   other page even by accident. It also loads after Site Settings
   CSS, so the !important rules that override Elementor defaults
   still win.

   A NOTE ON `body.elementor-page-14892`
   Elementor lets you write `body.elementor-page-14892` in page-level CSS as a
   shorthand for this page's wrapper. This file does NOT use it:
   every rule is already namespaced with .wil-, which is scoping
   enough, and keeping literal class names means the same file can
   be moved back to Site Settings later without a rewrite.
   ============================================================ */


:root {
  --wil-pink:   #DE4593;
  --wil-ink:    #333333;
  --wil-grey:   #54595F;
  --wil-paper:  #FBFBFB;
  --wil-line:   #E4E4E6;
  --wil-line-2: #D2D2D6;

  --wil-display: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
  --wil-body:    "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;

  --wil-pad-y: clamp(48px, 4.6vw, 76px);
  --wil-max:   1200px;
  --wil-gap:   32px;
}

/* Elementor's root container gap stacks on top of section padding.
   Zero it and let --wil-pad-y be the single source of vertical rhythm. */
.wil-hero, .wil-section, .wil-cta-band, .wil-schema-block {
  --gap: 0px;
  gap: 0px;
}

.wil-hero,
.wil-section,
.wil-cta-band {
  padding: var(--wil-pad-y) 24px;
  background-color: #FFFFFF;
  color: var(--wil-ink);
  font-family: var(--wil-body);
}
/* Alternating bands. Targeted by name rather than :nth-of-type — Elementor
   containers are all sibling <div>s, so positional body.elementor-page-14892s break the moment
   a section is reordered or added. */
.wil-difference-section,
.wil-specialties-section,
.wil-process-section { background-color: var(--wil-paper); }
.wil-quote-section { background-color: var(--wil-paper); }

.wil-schema-block { padding: 0; display: none; }
.wil-schema-wrap { display: none; }
.wil-cta-title { margin-bottom: 20px; }

.wil-hero-copy,
.wil-section-head,
.wil-split-grid,
.wil-cta-inner,
.wil-hood-wrap,
.wil-steps-wrap,
.wil-results-wrap,
.wil-quote-wrap,
.wil-card-row {
  width: 100%;
  max-width: var(--wil-max);
  margin-inline: auto;
}

/* Elementor puts 10px of padding on every container by default. On an inner
   wrapper that sits directly inside a padded section, it stacks: 76 + 10 on
   one side of the seam and 10 + 76 on the other. Zero it and let --wil-pad-y
   be the only thing controlling vertical rhythm. */
.wil-hero-copy,
.wil-section-head,
.wil-cta-inner,
.wil-hood-wrap,
.wil-steps-wrap,
.wil-results-wrap,
.wil-quote-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* The section head is a flex column with a gap, so the heading margins below
   are additive on top of it. Gap owns the spacing; margins are zeroed. */
.wil-section-head { gap: 14px; }

/* ---------- EYEBROW ---------- */
.wil-eyebrow .elementor-heading-title,
.wil-eyebrow {
  font-family: var(--wil-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wil-pink) !important;
  margin: 0;
}

/* ---------- TITLES ---------- */
.wil-hero-title .elementor-heading-title,
h1.wil-hero-title {
  font-family: var(--wil-display);
  font-size: clamp(38px, 5.4vw, 68px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--wil-ink);
}
.wil-section-title .elementor-heading-title,
h2.wil-section-title {
  font-family: var(--wil-display);
  font-size: clamp(30px, 3.8vw, 48px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--wil-ink);
}
.wil-hero-title .accent,
.wil-section-title .accent { color: var(--wil-pink) !important; }

/* ---------- BODY COPY ---------- */
.wil-hero-sub .elementor-widget-container,
.wil-section-lead .elementor-widget-container,
.wil-cta-lead .elementor-widget-container {
  color: var(--wil-grey);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.7;
  max-width: 66ch;
}
.wil-hero-sub .elementor-widget-container { font-size: clamp(17px, 1.35vw, 20px); }

/* ---------- BUTTONS (0px radius per brand) ---------- */
.wil-btn .elementor-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  border-radius: 0;
  font-family: var(--wil-body);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  border: 1px solid transparent;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.wil-btn-primary .elementor-button {
  background-color: var(--wil-pink);
  color: #FFFFFF;
}
.wil-btn-primary .elementor-button:hover { background-color: #C63A81; }
.wil-btn-ghost .elementor-button {
  background-color: transparent;
  color: var(--wil-ink);
  border-color: var(--wil-line-2);
}
.wil-btn-ghost .elementor-button:hover { border-color: var(--wil-ink); }
.wil-btn-text .elementor-button {
  background: none;
  padding: 0;
  color: var(--wil-pink);
  border-bottom: 2px solid var(--wil-pink);
  text-transform: none;
  letter-spacing: 0;
  font-size: 15px;
}
.wil-hero-ctas { gap: 14px; flex-wrap: wrap; margin-top: 8px; }

/* ---------- HERO STAT BAND ---------- */
.wil-statband {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 32px 0 28px;
  border-top: 1px solid var(--wil-line);
  border-bottom: 1px solid var(--wil-line);
}
.wil-stat { padding: 24px 20px 24px 0; }
.wil-stat + .wil-stat { padding-left: 24px; border-left: 1px solid var(--wil-line); }
.wil-stat-n {
  display: block;
  font-family: var(--wil-display);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 600;
  line-height: 1;
  color: var(--wil-ink);
}
.wil-stat-l {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--wil-grey);
}

/* ---------- SPLIT GRID ---------- */
/* Elementor writes width:33% / 50% onto column containers. Those percentages
   sum to 100%, which leaves no room for the flex gap, so every row wraps.
   Override to flex-basis 0 and let flex-grow do the proportioning — the gap
   is then subtracted from available space instead of overflowing it. */
.wil-split-grid > .e-con,
.wil-card-row  > .e-con {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
}
/* Asymmetric 42/58 on the proof block. Two-class body.elementor-page-14892s so they match the
   specificity of the rule above and win on source order. */
.wil-split-grid > .wil-proof-figures { flex: 42 1 0 !important; }
.wil-split-grid > .wil-proof-copy    { flex: 58 1 0 !important; }

/* Elementor's default 10px container padding misaligns these rows against the
   stat band and the grids, which have none. */
.wil-split-grid,
.wil-card-row { padding-left: 0 !important; padding-right: 0 !important; }

.wil-split-grid { gap: clamp(32px, 5vw, 64px); align-items: start; flex-wrap: wrap; }
.wil-proof-figures, .wil-proof-copy, .wil-compare-col { min-width: 0; }

/* ---------- PROOF BLOCK (88 Drum Hill) ----------
   Layout: photo 56% left, copy 44% right (vertically centred against the
   taller photo), then a full-width figures strip below. The strip echoes the
   hero stat band, which keeps the two "numbers" moments on the page in the
   same visual language. */

.wil-split-grid > .wil-proof-figures { flex: 56 1 0 !important; }
.wil-split-grid > .wil-proof-copy    { flex: 44 1 0 !important; align-self: center; }

/* Source image is 750x499. The column renders at ~660px, so it displays just
   under native size and stays sharp. Do not widen past the column. */
.wil-proof-photo { margin: 0; }
.wil-proof-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

/* ---------- FIGURES STRIP ---------- */
.wil-figstrip-wrap {
  width: 100%;
  max-width: var(--wil-max);
  margin-inline: auto;
  padding: 0 !important;
}
.wil-figstrip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 36px;
  border-top: 1px solid var(--wil-line);
  border-bottom: 1px solid var(--wil-line);
}
.wil-fig { padding: 20px 20px 20px 0; }
.wil-fig + .wil-fig { padding-left: 20px; border-left: 1px solid var(--wil-line); }
.wil-fig-l {
  display: block;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wil-grey);
  margin-bottom: 8px;
}
.wil-fig-n {
  display: block;
  font-family: var(--wil-display);
  font-size: clamp(18px, 1.7vw, 24px);
  font-weight: 600;
  line-height: 1.1;
  color: var(--wil-ink);
}
.wil-fig-n.wil-hot { color: var(--wil-pink); }

/* ---------- COMPARE COLUMNS ---------- */
.wil-compare {
  padding: 32px 28px;
  background: #FFFFFF;
  border: 1px solid var(--wil-line);
  border-top: 3px solid var(--wil-line);   /* both cards carry a 3px top edge so
                                              their content sits on the same
                                              baseline; only the colour differs */
  height: 100%;
}
.wil-compare-alt { border-top-color: var(--wil-pink); }
.wil-compare h3 {
  font-family: var(--wil-display);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wil-pink);
  margin: 0 0 20px;
}
.wil-compare ul { list-style: none; margin: 0; padding: 0; }
.wil-compare li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 16px;
  color: var(--wil-grey);
  font-size: 15px;
  line-height: 1.65;
}
.wil-compare li::before {
  content: "";
  position: absolute;
  left: 0; top: 9px;
  width: 7px; height: 7px;
  background: var(--wil-pink);
}

/* ---------- NEIGHBORHOOD GRID ---------- */
.wil-hood-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--wil-gap);
  margin-top: 28px;
}
.wil-hood {
  padding: 28px 26px;
  background: #FFFFFF;
  border: 1px solid var(--wil-line);
  transition: border-color .25s ease, transform .25s ease;
}
.wil-hood:hover { border-color: var(--wil-pink); transform: translateY(-3px); }
.wil-hood h3 {
  font-family: var(--wil-display);
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 10px;
  color: var(--wil-ink);
}
.wil-hood p { margin: 0; color: var(--wil-grey); font-size: 15px; line-height: 1.6; }

/* ---------- SPECIALTY CARDS ---------- */
.wil-card-row { gap: var(--wil-gap); flex-wrap: wrap; margin-top: 28px; }
.wil-card {
  padding: 32px 28px;
  background: #FFFFFF;
  border: 1px solid var(--wil-line);
  min-width: 0;
}
.wil-card-icon-box .elementor-icon {
  width: 48px; height: 48px;
  display: inline-flex !important;
  align-items: center; justify-content: center;
  background: var(--wil-pink);
  color: #FFFFFF !important;
  margin-bottom: 18px;
}
.wil-card-icon-box .elementor-icon i { font-size: 20px; color: #FFFFFF !important; }
.wil-card-icon-box .elementor-icon-box-title {
  font-family: var(--wil-display);
  font-size: 18px; font-weight: 600;
  margin: 0 0 10px; color: var(--wil-ink);
}
.wil-card-icon-box .elementor-icon-box-description {
  color: var(--wil-grey); font-size: 15px; line-height: 1.6;
}

/* ---------- RESULTS GRID ---------- */
.wil-results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--wil-gap);
  margin-top: 28px;
}
/* Two verified sales rather than three. A two-up grid at full width reads as
   deliberate; two cards in a three-column grid reads as a missing third. */
.wil-results-2 { grid-template-columns: repeat(2, 1fr); }
.wil-results-note {
  max-width: 62ch;
  margin: 24px 0 0;
  color: var(--wil-grey);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.7;
}
.wil-result { padding: 28px 26px; border: 1px solid var(--wil-line); background: #FFFFFF; }
.wil-result-live { border-top: 3px solid var(--wil-pink); }
.wil-result-addr {
  font-family: var(--wil-display);
  font-size: 18px; font-weight: 600; color: var(--wil-ink); margin-bottom: 12px;
}
.wil-result-fig { font-size: 16px; color: var(--wil-ink); margin-bottom: 8px; }
.wil-result-fig strong { color: var(--wil-pink); }
.wil-result-meta { font-size: 14px; color: var(--wil-grey); line-height: 1.7; }
.wil-result-link {
  display: inline-block; margin-top: 16px;
  font-size: 14px; font-weight: 600; color: var(--wil-pink); text-decoration: none;
}
.wil-result-link:hover { text-decoration: underline; }

/* Unfinished placeholders are deliberately loud so they cannot ship by accident */
.wil-result-todo,
.wil-quote-todo {
  border: 2px dashed #CC0000 !important;
  background: #FFF6F6 !important;
}
.wil-result-todo .wil-result-addr { color: #CC0000; }

/* ---------- PROCESS STEPS ---------- */
.wil-steps { list-style: none; counter-reset: wil 0; margin: 28px 0 0; padding: 0; }
.wil-steps li {
  counter-increment: wil;
  position: relative;
  padding: 0 0 28px 68px;
  border-left: 1px solid var(--wil-line);
  margin-left: 20px;
}
.wil-steps li:last-child { border-left-color: transparent; padding-bottom: 0; }
.wil-steps li::before {
  content: counter(wil, decimal-leading-zero);
  position: absolute;
  left: -20px; top: -4px;
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  background: var(--wil-ink);
  color: #FFFFFF;
  font-family: var(--wil-display);
  font-size: 13px; font-weight: 600;
}
.wil-steps h3 {
  font-family: var(--wil-display);
  font-size: 18px; font-weight: 600;
  margin: 6px 0 8px; color: var(--wil-ink);
}
.wil-steps p { margin: 0; color: var(--wil-grey); font-size: 15px; line-height: 1.65; }

/* ---------- CTA BAND ---------- */
.wil-cta-band { background-color: var(--wil-ink) !important; }
.wil-cta-inner { text-align: center; }
.wil-cta-band .wil-eyebrow .elementor-heading-title { color: var(--wil-pink) !important; }
.wil-cta-band .wil-section-title .elementor-heading-title { color: #FFFFFF !important; }
.wil-cta-band .wil-cta-lead .elementor-widget-container {
  color: rgba(255,255,255,0.78);
  margin-inline: auto;
}
.wil-cta-band .wil-cta-inner .wil-btn { justify-content: center; }

/* ---------- HERO OVER BACKGROUND IMAGE ----------
   The hero carries a background image with an Elementor gradient overlay
   (black, 64% opacity, solid to 75% then fading right). Everything below
   assumes that dark backdrop. If the image is ever removed, delete this
   block and the hero returns to ink-on-white.                              */

/* The theme header sits transparent over the hero, so the eyebrow collides
   with the logo at default padding. 96px clears it. */
.wil-hero { padding-top: calc(var(--wil-pad-y) + 96px); }

/* Elementor's overlay is an ::before on the hero — lift the copy above it. */
.wil-hero-copy { position: relative; z-index: 2; }

.wil-hero .wil-hero-title .elementor-heading-title { color: #FFFFFF !important; }
.wil-hero .wil-hero-sub .elementor-widget-container { color: rgba(255,255,255,0.88) !important; }

/* Brand pink, unmodified. It clears WCAG AA for large text against the
   overlay (roughly 5:1 on the darker regions) and any lightened tint reads
   as a different colour rather than the brand. */
.wil-hero .wil-hero-title .accent,
.wil-hero .wil-eyebrow .elementor-heading-title { color: var(--wil-pink) !important; }

/* Stat band gets its own panel. The overlay gradient fades out past 75% of
   the width, which is exactly where the fourth stat sits — without this the
   "350+ five-star reviews" pair loses contrast against the image.
   No backdrop-filter: over a full-bleed hero it is an expensive repaint for
   an effect the flat panel already achieves. */
.wil-hero .wil-statband {
  background: rgba(18,18,18,0.45);
  border-top: 1px solid rgba(255,255,255,0.22);
  border-bottom: 1px solid rgba(255,255,255,0.22);
  padding: 0 24px;
}
.wil-hero .wil-stat + .wil-stat { border-left-color: rgba(255,255,255,0.18); }
.wil-hero .wil-stat-n { color: #FFFFFF; }
.wil-hero .wil-stat-l { color: rgba(255,255,255,0.75); }

/* The ghost button was ink text on a light-grey border — invisible on the
   dark hero. Inverted, and it fills white on hover. */
.wil-hero .wil-btn-ghost .elementor-button {
  color: #FFFFFF;
  border-color: rgba(255,255,255,0.55);
  background: transparent;
}
.wil-hero .wil-btn-ghost .elementor-button:hover {
  background: #FFFFFF;
  color: var(--wil-ink);
  border-color: #FFFFFF;
}


/* ---------- DUPLICATE PAGE TITLE ----------
   Already fixed via Elementor > Page Settings > Hide Title. This is kept only
   as a safety net in case that toggle is ever reset. Because this file is
   page-level CSS it loads on this URL only, so no page-id guard is needed —
   it cannot reach any other page's title.
   Safe to delete this rule entirely if you prefer. */
.page-header .entry-title { display: none; }


/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px) {
  .wil-hood-grid, .wil-results-grid { grid-template-columns: repeat(2, 1fr); }
  .wil-results-2 { grid-template-columns: repeat(2, 1fr); }
  .wil-figstrip { grid-template-columns: repeat(3, 1fr); }
  .wil-fig:nth-child(3n+1) { padding-left: 0; border-left: 0; }
  .wil-fig:nth-child(n+4) { border-top: 1px solid var(--wil-line); }
}
@media (max-width: 767px) {
  .wil-hero { padding-top: calc(var(--wil-pad-y) + 64px); }
  .wil-hero .wil-statband { padding: 0 16px; }
  .wil-statband { grid-template-columns: repeat(2, 1fr); }
  .wil-stat { padding: 20px 16px 20px 0; }
  .wil-stat:nth-child(odd) { border-left: 0; padding-left: 0; }
  .wil-stat:nth-child(n+3) { border-top: 1px solid var(--wil-line); }
  .wil-hood-grid, .wil-results-grid { grid-template-columns: 1fr; }
  .wil-split-grid { flex-direction: column; }
  .wil-figstrip { grid-template-columns: repeat(2, 1fr); }
  .wil-fig:nth-child(odd) { padding-left: 0; border-left: 0; }
  .wil-fig:nth-child(n+3) { border-top: 1px solid var(--wil-line); }
  .wil-steps li { padding-left: 56px; }
}


/* ---------- NEW SECTION WRAPPERS ---------- */
.wil-turns-section { background-color: var(--wil-paper); }
.wil-bio-wrap, .wil-swj-wrap {
  width: 100%;
  max-width: var(--wil-max);
  margin-inline: auto;
  padding: 0 !important;
}
.wil-swj-section { padding-top: 0 !important; }
.wil-bio-section { background-color: var(--wil-paper); }

/* ============================================================
   SHARED BLOCKS — Meet Judy + Sell With Judy
   Prefix-neutral (.jbio-, .swj-); identical on every page.
   ============================================================ */

/* ---------- SECTION WRAPPER ----------
   Used by judy-section-template.json. Prefix-neutral so the same section
   works on any page. Padding matches the --*-pad-y rhythm of the page
   stylesheets (48-76px); it is hardcoded here because this block has to be
   independent of any one page's token names. */
.jbio-section {
  padding: clamp(48px, 4.6vw, 76px) 24px !important;
  background-color: #FBFBFB;
}
.jbio-wrap {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding: 0 !important;
}
/* Drop onto a white band instead: add .jbio-section-white in Elementor's
   Advanced > CSS Classes alongside jbio-section. */
.jbio-section-white { background-color: #FFFFFF; }


.jbio {
  display: flex;
  align-items: flex-start;
  gap: clamp(32px, 5vw, 64px);
  flex-wrap: wrap;
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ---------- PHOTO ---------- */
.jbio-photo {
  flex: 38 1 300px;
  min-width: 0;
  position: relative;
}
/* No forced aspect-ratio, and no object-fit crop. The headshot is 1707x2560
   (2:3 portrait); forcing 4/5 made the box wider than the source and cropped
   the top and bottom, clipping the top of Judy's head. Letting the image set
   its own height means no crop is possible regardless of which photo is used.
   If a landscape headshot is ever swapped in, the column simply gets shorter. */
.jbio-photo img {
  display: block;
  width: 100%;
  height: auto;
}
/* Thin pink rule along the top of the photo, echoing the card treatment
   used elsewhere on these pages. */
.jbio-photo::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: #DE4593;
  z-index: 1;
}

/* ---------- COPY ---------- */
.jbio-copy { flex: 62 1 380px; min-width: 0; }

.jbio-eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #DE4593;
  margin-bottom: 14px;
}
.jbio-name {
  font-size: clamp(30px, 3.6vw, 44px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: #333333;
  margin: 0 0 8px;
}
.jbio-title {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #54595F;
  margin-bottom: 22px;
}
.jbio-line {
  font-size: clamp(18px, 1.7vw, 22px);
  font-weight: 600;
  line-height: 1.45;
  color: #333333;
  margin: 0 0 18px;
  max-width: 46ch;
}
.jbio-body {
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.75;
  color: #54595F;
  margin: 0 0 24px;
  max-width: 62ch;
}

/* ---------- CREDENTIALS ---------- */
.jbio-creds {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 24px;
}
.jbio-creds li {
  position: relative;
  padding-left: 20px;
  font-size: 14px;
  line-height: 1.5;
  color: #54595F;
}
.jbio-creds li::before {
  content: "";
  position: absolute;
  left: 0; top: 7px;
  width: 7px; height: 7px;
  background: #DE4593;
}

/* ---------- STATS ---------- */
.jbio-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #E4E4E6;
  border-bottom: 1px solid #E4E4E6;
  margin-bottom: 24px;
}
.jbio-stat { padding: 18px 16px 18px 0; }
.jbio-stat + .jbio-stat { padding-left: 18px; border-left: 1px solid #E4E4E6; }
.jbio-stat-n {
  display: block;
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 600;
  line-height: 1;
  color: #333333;
}
.jbio-stat-l {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #54595F;
}

/* ---------- LINK ---------- */
.jbio-link {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: #DE4593;
  text-decoration: none;
  border-bottom: 2px solid #DE4593;
  padding-bottom: 2px;
}
.jbio-link:hover { color: #C63A81; border-bottom-color: #C63A81; }

/* ---------- ON A DARK SECTION ----------
   Add .jbio-invert alongside .jbio when the section behind it is ink. */
.jbio-invert .jbio-name,
.jbio-invert .jbio-line,
.jbio-invert .jbio-stat-n { color: #FFFFFF; }
.jbio-invert .jbio-title,
.jbio-invert .jbio-body,
.jbio-invert .jbio-creds li,
.jbio-invert .jbio-stat-l { color: rgba(255,255,255,0.75); }
.jbio-invert .jbio-stats { border-color: rgba(255,255,255,0.2); }
.jbio-invert .jbio-stat + .jbio-stat { border-left-color: rgba(255,255,255,0.2); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px) {
  .jbio { gap: 32px; }
  .jbio-photo { flex: 1 1 100%; max-width: 380px; }
  .jbio-copy { flex: 1 1 100%; }
}
@media (max-width: 560px) {
  .jbio-creds { grid-template-columns: 1fr; }
  .jbio-stats { grid-template-columns: repeat(2, 1fr); }
  .jbio-stat:nth-child(odd) { padding-left: 0; border-left: 0; }
  .jbio-stat:nth-child(n+3) { border-top: 1px solid #E4E4E6; }
  .jbio-invert .jbio-stat:nth-child(n+3) { border-top-color: rgba(255,255,255,0.2); }
}


.swj-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
  max-width: 1200px;
  margin: 40px auto 0;
  padding: 28px 32px;
  background: #333333;
}

.swj-cta-line {
  margin: 0;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 600;
  line-height: 1.2;
  color: #FFFFFF;
}

.swj-cta-btn {
  display: inline-flex;
  align-items: center;
  padding: 16px 32px;
  border-radius: 0;                 /* squared, per brand */
  background: #DE4593;
  color: #FFFFFF !important;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  border: 1px solid #DE4593;
  transition: background-color .2s ease, border-color .2s ease;
}
.swj-cta-btn:hover,
.swj-cta-btn:focus {
  background: #C63A81;
  border-color: #C63A81;
  color: #FFFFFF !important;
}
.swj-cta-btn:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 3px;
}

/* On a section that already has a dark background, invert so the band
   does not disappear into it. Add .swj-cta-light alongside .swj-cta. */
.swj-cta-light {
  background: #FBFBFB;
  border: 1px solid #E4E4E6;
}
.swj-cta-light .swj-cta-line { color: #333333; }

@media (max-width: 640px) {
  .swj-cta {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
  }
  .swj-cta-btn { width: 100%; justify-content: center; }
}/* End custom CSS */