/* Fresh layout rules for existing saved WPBakery content. Plugin data stays editable. */
/* Complete responsive column spans used by existing page-builder content. */
@media(min-width:768px){.page-content .vc_row>.vc_col-sm-1{grid-column:span 1}.page-content .vc_row>.vc_col-sm-2{grid-column:span 2}.page-content .vc_row>.vc_col-sm-3{grid-column:span 3}.page-content .vc_row>.vc_col-sm-4{grid-column:span 4}.page-content .vc_row>.vc_col-sm-5{grid-column:span 5}.page-content .vc_row>.vc_col-sm-6{grid-column:span 6}.page-content .vc_row>.vc_col-sm-7{grid-column:span 7}.page-content .vc_row>.vc_col-sm-8{grid-column:span 8}.page-content .vc_row>.vc_col-sm-9{grid-column:span 9}.page-content .vc_row>.vc_col-sm-10{grid-column:span 10}.page-content .vc_row>.vc_col-sm-11{grid-column:span 11}.page-content .vc_row>.vc_col-sm-12{grid-column:span 12}}
@media(min-width:992px){.page-content .vc_row>.vc_col-md-1{grid-column:span 1}.page-content .vc_row>.vc_col-md-2{grid-column:span 2}.page-content .vc_row>.vc_col-md-3{grid-column:span 3}.page-content .vc_row>.vc_col-md-4{grid-column:span 4}.page-content .vc_row>.vc_col-md-5{grid-column:span 5}.page-content .vc_row>.vc_col-md-6{grid-column:span 6}.page-content .vc_row>.vc_col-md-7{grid-column:span 7}.page-content .vc_row>.vc_col-md-8{grid-column:span 8}.page-content .vc_row>.vc_col-md-9{grid-column:span 9}.page-content .vc_row>.vc_col-md-10{grid-column:span 10}.page-content .vc_row>.vc_col-md-11{grid-column:span 11}.page-content .vc_row>.vc_col-md-12{grid-column:span 12}}
@media(min-width:1200px){.page-content .vc_row>.vc_col-lg-1{grid-column:span 1}.page-content .vc_row>.vc_col-lg-2{grid-column:span 2}.page-content .vc_row>.vc_col-lg-3{grid-column:span 3}.page-content .vc_row>.vc_col-lg-4{grid-column:span 4}.page-content .vc_row>.vc_col-lg-5{grid-column:span 5}.page-content .vc_row>.vc_col-lg-6{grid-column:span 6}.page-content .vc_row>.vc_col-lg-7{grid-column:span 7}.page-content .vc_row>.vc_col-lg-8{grid-column:span 8}.page-content .vc_row>.vc_col-lg-9{grid-column:span 9}.page-content .vc_row>.vc_col-lg-10{grid-column:span 10}.page-content .vc_row>.vc_col-lg-11{grid-column:span 11}.page-content .vc_row>.vc_col-lg-12{grid-column:span 12}}
.about_outer h2 span{display:block;font-size:.65em;line-height:1.4;margin-bottom:12px}
@media(min-width:768px) and (max-width:1199px){.home-content .top_box3x3_outer .vc_col-sm-3{grid-column:span 6}}
.page-content .vc_row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));margin-inline:0;gap:0}.page-content .vc_row::before,.page-content .vc_row::after{display:none}.page-content .vc_column_container{float:none;width:auto;min-width:0;grid-column:span 12}.page-content .vc_column_container>.vc_column-inner{width:100%;padding-inline:15px}.page-content .wpb_content_element{margin-bottom:22px}.page-content .vc_section{margin-inline:0;padding-inline:0}.page-content .vc_row>.vc_column_container:only-child>.vc_column-inner{padding-inline:0}.home-content .vc_section>.vc_row{width:100%;padding-inline:15px;margin-inline:auto;left:auto!important}.home-content .top_box3x3_outer>.vc_row{max-width:none;padding-inline:0}.home-content .top_box3x3_outer .vc_column_container{display:flex;flex-direction:column}.home-content .top_box3x3_outer .vc_column-inner,.home-content .top_box3x3_outer .wpb_wrapper,.home-content .top_box3x3_outer .wpb_raw_html{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;height:auto}.home-content .top_box3x3_outer .wpb_content_element{margin:0!important}.home-content .top_box3x3_outer .top_icon_box{flex:1;min-height:0;align-content:start}.top_box3x3_outer{padding:0!important;background:var(--navy)}.top_icon_box{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;height:auto!important;min-height:100%;padding:32px 22px;background:linear-gradient(100deg,#1b1c35,#2d2e4d);color:#d1e6e1}.top_icon_box>img{width:48px;height:auto;max-height:54px;object-fit:contain;position:static;align-self:start}.top_icon_inner{width:auto;float:none;margin:0;padding:0}.top_icon_inner :is(h2,h4){color:var(--teal);font-size:21px;padding-bottom:13px;margin-bottom:14px;border-bottom:1px solid #7dc2c05c}.top_icon_inner p{font-size:13px;line-height:1.8;color:#d1e6e1;margin-bottom:0}.about_outer,.why_choose_outer,.form_outer{padding-block:55px!important}.about_outer{background:#fff}.about_outer h2,.why_choose_outer h2,.form_outer h2{font-size:clamp(26px,3vw,36px);margin-bottom:26px}.about_outer h2::after,.why_choose_outer h2::after,.form_outer h2::after{content:"";display:block;width:72px;height:4px;margin-top:20px;background:linear-gradient(90deg,var(--teal) 70%,var(--sage) 70%)}.about_outer h2 span{color:#387f7d}.about_outer p{font-size:16px;line-height:1.9}.about_outer img{border-radius:6px}.why_choose_outer{background:linear-gradient(135deg,var(--sage),var(--teal));color:var(--ink)}.why_choose_outer ul{list-style:none;padding:0;margin:0}.why_choose_outer li{position:relative;padding-left:28px;margin-bottom:10px;font-size:15px;line-height:1.65}.why_choose_outer li::before{content:"";position:absolute;left:2px;top:6px;width:13px;height:8px;border-left:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(-45deg)}.why_choose_outer h2::after{background:var(--navy)}.goals_outer{position:relative;isolation:isolate;background:var(--ink) url(../images/goals_bg.webp) center/cover;padding-block:65px!important;text-align:center;color:#fff}.goals_outer::before{content:"";position:absolute;inset:0;background:#223543d9;z-index:-1}.goals_outer h2{color:#fff;font-size:clamp(28px,4vw,44px)}.goals_outer p{color:#f1f5f3;max-width:760px;margin-inline:auto}.goals_btn,.about_btn,.about_call_btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 25px;background:var(--sage);color:var(--navy)!important;border-radius:5px;font:700 15px/1.4 Jost,sans-serif;text-transform:uppercase;text-decoration:none;transition:background .2s,transform .2s}.goals_btn:hover,.about_btn:hover{background:var(--teal);transform:translateY(-2px)}.form_outer{background:#f4f8f5 url(../images/form_bg.webp) center/cover}.form_outer h5,.quick_address h5{font:400 15px/1.8 "Open Sans",sans-serif;margin-bottom:22px;color:var(--ink);padding:8px 0 8px 62px;position:relative;overflow-wrap:anywhere}.form_outer h5 span{font-weight:700;display:block}.form_outer h5 a{color:var(--ink);text-decoration:none}.form_outer h5::before{position:absolute;left:0;top:10px;content:"";width:42px;height:42px;border-radius:50%;background:var(--sage) center/22px no-repeat}.form_outer h5.address_custom::before{background-image:url(../images/address_icon.webp)}.form_outer h5.phone_custom::before{background-image:url(../images/phone_icon.webp)}.form_outer h5.email_custom::before{background-image:url(../images/email_icon.webp)}.page-content .nf-form-cont{color:var(--ink)}.nf-form-cont .nf-form-fields-required{font-size:13px;margin-bottom:20px}.nf-form-cont label{font-size:14px}.nf-form-cont input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]),.nf-form-cont textarea,.nf-form-cont select{width:100%;padding:12px 14px;background:#fff;border:1px solid #c9d4d0;border-radius:4px;color:var(--ink);line-height:1.5;min-height:46px;box-shadow:none}.nf-form-cont textarea{min-height:130px}.nf-form-cont input[type=button],.nf-form-cont input[type=submit]{padding:12px 27px;min-height:48px;background:var(--navy);color:#fff;border:0;border-radius:5px;font-family:Jost,sans-serif;font-weight:600}.nf-form-cont input[type=button]:hover,.nf-form-cont input[type=submit]:hover{background:#3a6465}.nf-form-cont .nf-error-msg{color:#a71926;font-size:14px}.nf-form-cont .nf-fail .nf-field-element::after{content:"!";font-family:inherit;font-weight:700}.nf-form-cont .nf-pass .nf-field-element::after{content:"\2713";font-family:inherit}.nf-form-cont .nf-loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid #cad9d2;border-top-color:var(--navy);border-radius:50%;animation:rc-spin .8s linear infinite}.nf-form-cont .nf-loading-spinner::before{content:none}@keyframes rc-spin{to{transform:rotate(360deg)}}.page-content iframe{max-width:100%;border:0}.page-content .aligncenter{display:block;margin-inline:auto}.page-content .alignleft{float:left;margin:0 24px 18px 0}.page-content .alignright{float:right;margin:0 0 18px 24px}.page-content .wp-caption{max-width:100%}.page-content .wp-caption-text{font-size:13px}.page-content .white-text,.page-content .white-text a{color:#fff}.d-inline-block{display:inline-block}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0}.row>[class*=col-]{grid-column:span 12;min-width:0}.p-0{padding:0}.mb-0{margin-bottom:0}.mt-2{margin-top:8px}.ml-3{margin-left:16px}.mr-3{margin-right:16px}
@media(min-width:576px){.home-content .vc_section>.vc_row{max-width:540px}}
@media(min-width:768px){.page-content .vc_row>.vc_col-sm-3{grid-column:span 3}.page-content .vc_row>.vc_col-sm-4{grid-column:span 4}.page-content .vc_row>.vc_col-sm-6{grid-column:span 6}.page-content .vc_row>.vc_col-sm-8{grid-column:span 8}.page-content .vc_row>.vc_col-sm-9{grid-column:span 9}.home-content .vc_section>.vc_row{max-width:720px}.home-content .top_box3x3_outer .vc_col-sm-3{grid-column:span 6}}
@media(min-width:992px){.home-content .vc_section>.vc_row{max-width:960px}.row>.col-lg-3{grid-column:span 3}.row>.col-lg-4{grid-column:span 4}.row>.col-lg-6{grid-column:span 6}.row>.col-lg-8{grid-column:span 8}.row>.col-lg-9{grid-column:span 9}}
@media(min-width:1200px){.home-content .vc_section>.vc_row{max-width:1140px}.home-content .top_box3x3_outer>.vc_row{max-width:none}.home-content .top_box3x3_outer .vc_col-sm-3{grid-column:span 3}}
@media(max-width:767px){.home-content .vc_column_container>.vc_column-inner{padding-inline:0}.about_outer,.why_choose_outer,.form_outer{padding-block:38px!important}.top_icon_box{padding:24px 22px;min-height:0}.top_icon_inner p{font-size:14px}.about_outer img,.why_choose_outer img{max-height:420px;width:auto;margin:0 auto 28px;display:block}.why_choose_outer li{font-size:14px}.goals_outer{padding-block:45px!important}.form_outer .vc_col-sm-6+.vc_col-sm-6{margin-top:24px}.page-content .alignleft,.page-content .alignright{float:none;margin:0 auto 20px}}

/* Lightweight mouse feedback for the four existing information blocks. */
.top_icon_box{position:relative;isolation:isolate;transition:box-shadow .28s ease}.top_icon_box::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at top left,#7dc2c038,transparent 75%);opacity:0;transition:opacity .28s ease}.top_icon_box>img{transition:transform .28s ease,filter .28s ease}.top_icon_inner :is(h2,h4){position:relative;transition:color .28s ease}.top_icon_inner :is(h2,h4)::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--sage),var(--teal));transform:scaleX(0);transform-origin:left;transition:transform .32s ease}
@media(hover:hover) and (pointer:fine){.top_icon_box:hover{box-shadow:inset 0 0 0 1px #7dc2c066,inset 0 -4px 0 var(--sage)}.top_icon_box:hover::before{opacity:1}.top_icon_box:hover>img{transform:translateY(-4px) scale(1.08);filter:drop-shadow(0 5px 8px #7dc2c045)}.top_icon_box:hover .top_icon_inner :is(h2,h4){color:#d0e7be}.top_icon_box:hover .top_icon_inner :is(h2,h4)::after{transform:scaleX(1)}}
/* A light, service-specific closing CTA between the referral banner and footer. */
.home-cta{padding-block:76px;background:radial-gradient(ellipse at 100% 0,#adc87724,transparent 65%),var(--pale);border-top:1px solid #dce7df}.home-cta-inner{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:center;gap:70px}.home-cta-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:var(--ink);font:600 13px/1.5 Jost,sans-serif;letter-spacing:.08em;text-transform:uppercase}.home-cta-eyebrow::before{content:"";width:30px;height:2px;background:#6b8d47;flex-shrink:0}.home-cta h2{max-width:670px;font-size:clamp(28px,3.3vw,40px);line-height:1.2;letter-spacing:-.02em;margin-bottom:22px;text-wrap:balance}.home-cta-copy>p:not(.home-cta-eyebrow){font-size:16px;line-height:1.85;max-width:680px;margin-bottom:26px}.home-cta .button{background:var(--navy);color:#fff}.home-cta .button:hover,.home-cta .button:focus-visible{background:var(--ink);box-shadow:0 8px 24px #22354326}.home-cta-contact{border-left:2px solid #adc87780;padding-left:38px}.home-cta-label{color:var(--ink);font:600 15px/1.5 Jost,sans-serif;margin-bottom:9px}.home-cta-phone{display:inline-block;color:var(--navy);font:600 clamp(22px,2.3vw,30px)/1.3 Jost,sans-serif;text-decoration:none;white-space:nowrap;margin-bottom:15px}.home-cta-phone:hover{text-decoration:underline;text-underline-offset:5px}.home-cta-contact>p:not(.home-cta-label){font-size:14px;line-height:1.8;margin-bottom:21px}.home-cta-services{display:inline-flex;align-items:center;gap:12px;color:var(--navy);font:600 16px/1.5 Jost,sans-serif;text-decoration:underline;text-underline-offset:5px}.home-cta-services .rc-icon{transition:transform .2s}.home-cta-services:hover .rc-icon{transform:translateX(4px)}
@media(max-width:991px){.home-cta-inner{gap:35px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.home-cta-contact{padding-left:26px}.home-cta-linebreak{display:none}}
@media(max-width:767px){.home-cta{padding-block:46px}.home-cta-inner{grid-template-columns:1fr;gap:30px}.home-cta-contact{border-left:0;border-top:1px solid #adc87780;padding:27px 0 0}.home-cta-eyebrow{font-size:11px;letter-spacing:.06em}.home-cta-phone{font-size:27px}.home-cta-contact>p:not(.home-cta-label){margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.top_icon_box:hover>img,.home-cta-services:hover .rc-icon{transform:none}}

/* A native sticky photograph beside a readable service overview, with no scroll library. */
.home-services{padding-block:76px;background:#fff}.home-services-heading,.home-services-grid{display:grid;grid-template-columns:5fr 7fr;gap:72px}.home-services-heading{align-items:end;margin-bottom:42px}.home-services-eyebrow{display:flex;align-items:center;gap:12px;color:var(--ink);font:600 13px/1.5 Jost,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}.home-services-eyebrow::before{content:"";width:30px;height:2px;background:#6b8d47}.home-services h2{font-size:clamp(29px,3.1vw,39px);line-height:1.22;letter-spacing:-.02em;margin:0;text-wrap:balance}.home-services-heading>p{margin:0;font-size:16px;line-height:1.85}.home-services-media{min-width:0}.home-services-photo{position:relative;margin:0;height:560px;border-radius:6px;overflow:clip;background:var(--ink);isolation:isolate}.home-services-photo picture,.home-services-photo img{display:block;width:100%;height:100%}.home-services-photo img{object-fit:cover;object-position:center}.home-services-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#223543f5, #22354373 27%,transparent 57%);z-index:1}.home-services-photo figcaption{position:absolute;z-index:2;left:30px;right:25px;bottom:30px;color:#fff}.home-services-photo figcaption span{display:block;color:#d2e7b6;font:600 11px/1.6 Jost,sans-serif;letter-spacing:.07em;text-transform:uppercase;margin-bottom:12px}.home-services-photo figcaption strong{display:block;font:600 clamp(26px,2.7vw,35px)/1.2 "Roboto Slab",Georgia,serif;letter-spacing:-.02em}.home-service{border-bottom:1px solid #dce7df;padding-block:29px}.home-service:first-child{padding-top:0}.home-service h3{font-size:clamp(21px,2vw,26px);line-height:1.3;margin-bottom:15px}.home-service p{font-size:15px;line-height:1.85;margin:0}.home-services-note{font-size:13px;line-height:1.8;margin:23px 0 18px}.home-services-note a{color:var(--ink)}.home-services-link{display:inline-flex;align-items:center;gap:12px;font:600 16px/1.5 Jost,sans-serif;color:var(--navy);text-decoration:underline;text-underline-offset:5px}.home-services-link .rc-icon{transition:transform .2s}.home-services-link:hover .rc-icon{transform:translateX(4px)}
@media(min-width:993px) and (min-height:650px){.home-services-photo{position:sticky;top:calc(var(--admin-height) + 88px);height:clamp(360px,calc(100svh - var(--admin-height) - 136px),610px)}}
@media(max-width:1199px){.home-services-heading,.home-services-grid{gap:48px}.home-services-photo figcaption{left:24px;right:20px;bottom:26px}}
@media(max-width:992px){.home-services-heading,.home-services-grid{grid-template-columns:1fr;gap:30px}.home-services-photo{height:390px;position:relative;top:auto}.home-services-photo img{object-position:center 43%}.home-services-heading{margin-bottom:30px}.home-services h2{max-width:640px}.home-services-photo figcaption strong{font-size:32px}}
@media(max-width:767px){.home-services{padding-block:46px}.home-services-photo{height:310px}.home-services-photo img{object-position:62% center}.home-services-photo figcaption{left:22px;bottom:22px}.home-services-photo figcaption strong{font-size:27px}.home-service{padding-block:25px}.home-service p{font-size:14px}.home-services-heading>p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.home-services-link:hover .rc-icon{transform:none}}
/* Keep the existing About photo beside its text without changing saved builder content. */
@media(min-width:993px) and (min-height:650px){.home-content .about_outer>.vc_row>.vc_col-sm-5>.vc_column-inner{height:100%}.home-content .about_outer>.vc_row>.vc_col-sm-5>.vc_column-inner>.wpb_wrapper{position:sticky;top:calc(var(--admin-height) + 88px)}.home-content .about_outer .about_img_css img{width:100%;height:auto;max-height:min(550px,calc(100svh - var(--admin-height) - 136px));object-fit:cover;object-position:center}}
.home-about-details{margin-top:30px;padding-top:28px;border-top:1px solid #dce7df}.home-about-details h3{font-size:clamp(21px,2vw,26px);line-height:1.3;margin:0 0 14px}.home-about-details h3:not(:first-child){margin-top:28px}.home-about-details p{margin-bottom:0}.home-about-details a{color:var(--ink)}.home-service p+p{margin-top:16px}
@media(max-width:992px){.home-content .about_outer>.vc_row>.vc_column_container{grid-column:1/-1}.home-content .about_outer>.vc_row>.vc_column_container>.vc_column-inner{padding-inline:15px}.home-content .about_outer .about_img_css img{display:block;width:min(100%,372px);height:auto;max-height:420px;margin:0 auto 28px}}
