
:root{
  --spo-bg:#FFFFFF;
  --spo-surface:#F7FAFA;
  --spo-ink:#1A1A1A;
  --spo-teal:#17585D;
  --spo-teal-dark:#103F43;
  --spo-teal-soft:#D4EDED;
  --spo-orange:#E87002;
  --spo-line:#D7E3E4;
  --spo-copy:#4B5563;
  --spo-rail:1320px;
  --spo-radius-sm:8px;
  --spo-radius-md:14px;
}

body{
  color:var(--spo-ink);
  background:var(--spo-bg);
  font-family:"Plus Jakarta Sans","Urbanist",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body :where(h1,h2,h3,h4,h5,h6){
  font-family:"Poppins",sans-serif;
  color:var(--spo-ink);
  text-wrap:balance;
}
body :where(p,li){color:var(--spo-copy)}
.elementor-location-header,.elementor-location-footer,.spo-clean-header,.spo-footer-v5{font-family:"Poppins",sans-serif}

body:not(.home) .elementor .e-con{--container-max-width:1320px}
body:not(.home) :where(.spb-wrap,.scss-wrap,.txc-wrap,.txc-rail,.spo-v2-rail,.spo-se-rail,.spo-owner-rail,.spo-specialty-rail,.site-main > article > .entry-content){
  max-width:var(--spo-rail);
  margin-left:auto;
  margin-right:auto;
}

body:not(.home) :where(.entry-content h2,.spb h2,.scss-main h2,.txc-page h2,.spo-v2-owner h2,.spo-se-page h2){
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(34px,4vw,50px)!important;
  line-height:1.07!important;
  letter-spacing:-.035em!important;
  font-weight:800!important;
  color:var(--spo-ink)!important;
}
body:not(.home) :where(.entry-content h3,.spb h3,.scss-main h3,.txc-page h3,.spo-v2-owner h3,.spo-se-page h3){
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(19px,2vw,24px)!important;
  line-height:1.22!important;
  font-weight:700!important;
}
body:not(.home) :where(.entry-content p,.spb p,.scss-main p,.txc-page p){font-size:16px;line-height:1.7}

body:not(.home) :where(.spb-kicker,.scss-kicker,.txc-kicker,.spo-v2-head>span,.spo-v2-section>span,.spo-se-head>span,.spo-se-section>span){
  color:var(--spo-orange)!important;
  font-family:"Poppins",sans-serif!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
}

body:not(.home) :where(.spb-card,.spb-related-card,.scss-card,.scss-project-card,.txc-card,.spo-v2-six article,.spo-v2-process article,.spo-se-cards article,.spo-se-process article,.spo-related-grid a,.spo-specialty-grid>a){
  border:1px solid var(--spo-line)!important;
  border-radius:var(--spo-radius-md)!important;
  box-shadow:0 8px 24px rgba(23,88,93,.05)!important;
}
body:not(.home) :where(.spb-card,.spb-related-card,.scss-card,.txc-card,.spo-v2-six article,.spo-se-cards article):hover{
  box-shadow:0 13px 30px rgba(23,88,93,.09)!important;
}

body:not(.home) :where(.entry-content .wp-element-button,.elementor-button,.spb a.primary,.scss-main a.primary,.txc-page a.primary,.spo-v2-actions .primary,.spo-se-actions .primary,.spo-v2-form button,.spo-se-form-grid .spo-v2-form button){border-radius:8px!important}
body:not(.home) :where(.spb a.primary,.scss-main a.primary,.txc-page a.primary,.spo-v2-actions .primary,.spo-se-actions .primary,.spo-v2-form button,.spo-se-form-grid .spo-v2-form button){
  background:var(--spo-orange)!important;
  color:#fff!important;
}

.single-post .spb :where(.spb-article,.spb-content,.entry-content){max-width:820px}
.single-post .spb :where(.spb-article,.spb-content,.entry-content) :where(p,li){font-size:16px;line-height:1.75}
.single-post .spb :where(.spb-article,.spb-content,.entry-content) img{max-width:100%;height:auto;border-radius:12px}
.single-post .spb-hero h1{
  font-family:"Poppins",sans-serif!important;
  color:var(--spo-teal-dark)!important;
  font-weight:800!important;
}
.single-post .spb-article h2{margin-top:46px!important;margin-bottom:16px!important}
.single-post .spb-article h3{margin-top:28px!important;margin-bottom:10px!important}

.single-case_study .scss-main :where(img,figure img){max-width:100%;height:auto}
.single-case_study .scss-main :where(.scss-card,.scss-project-card){background:#fff}
.single-case_study .scss-main :where(p,li){line-height:1.7}

body :where(.txc-page,.spo-state-page,.spo-locations-directory) :where(section){scroll-margin-top:95px}
body :where(.txc-page,.spo-state-page,.spo-locations-directory) img{max-width:100%;height:auto}

body:not(.home):not(.elementor-page) .site-main{
  width:min(var(--spo-rail),calc(100% - 40px));
  margin-left:auto;
  margin-right:auto;
}
body:not(.home):not(.elementor-page) .entry-content{width:100%}
body:not(.home):not(.elementor-page) .entry-content>:where(p,ul,ol,blockquote){max-width:820px}

body :where(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],select,textarea){
  min-height:46px;
  border-radius:8px;
}
body textarea{min-height:120px}
body :where(input,select,textarea):focus{
  outline:2px solid rgba(232,112,2,.24);
  outline-offset:1px;
  border-color:var(--spo-orange);
}

@media(max-width:1024px){
  body:not(.home) :where(.spb-wrap,.scss-wrap,.txc-wrap,.txc-rail,.spo-v2-rail,.spo-se-rail,.spo-owner-rail,.spo-specialty-rail){width:calc(100% - 44px)!important}
}
@media(max-width:767px){
  body:not(.home) :where(.spb-wrap,.scss-wrap,.txc-wrap,.txc-rail,.spo-v2-rail,.spo-se-rail,.spo-owner-rail,.spo-specialty-rail){width:calc(100% - 32px)!important}
  body:not(.home) :where(.entry-content h2,.spb h2,.scss-main h2,.txc-page h2,.spo-v2-owner h2,.spo-se-page h2){font-size:34px!important}
  body:not(.home) :where(.entry-content h3,.spb h3,.scss-main h3,.txc-page h3,.spo-v2-owner h3,.spo-se-page h3){font-size:20px!important}
}


/* ===== Template-specific refinement: preserve hierarchy while matching homepage ===== */

/* Blog: match homepage rail without blowing up sidebar labels */
.single-post .spb-wrap{max-width:1320px!important}
.single-post .spb-hero-grid{gap:48px!important}
.single-post .spb-hero h1{
  font-family:"Poppins",sans-serif!important;
  font-weight:800!important;
  color:#103F43!important;
}
.single-post .spb-article h2{
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(32px,3.5vw,44px)!important;
  line-height:1.1!important;
  letter-spacing:-.03em!important;
  color:#1A1A1A!important;
}
.single-post .spb-article h3{
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(20px,2vw,24px)!important;
  line-height:1.24!important;
  color:#17585D!important;
}
.single-post :where(.spb-side h3,.spb-profile h3,.spb-trust h3,.spb-quote h3){
  font-size:15px!important;
  line-height:1.3!important;
  letter-spacing:0!important;
}
.single-post .spb-related h2,
.single-post .spb-head h2{
  font-size:clamp(30px,3.2vw,42px)!important;
  line-height:1.1!important;
}

/* Case studies: widen to homepage rail and keep section labels compact */
.single-case_study :where(.scss-hero-in,.scss-cover,.scss-layout,.scss-related){
  max-width:1320px!important;
}
.single-case_study .scss-h1{
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(38px,4.4vw,58px)!important;
  line-height:1.08!important;
  font-weight:800!important;
}
.single-case_study .scss-eyebrow h2{
  font-family:"Poppins",sans-serif!important;
  font-size:11px!important;
  line-height:1.2!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:#17585D!important;
  margin:0!important;
}
.single-case_study .scss-related h2{
  font-size:clamp(28px,3vw,38px)!important;
  line-height:1.1!important;
}
.single-case_study .scss-footer-cta h2{
  font-size:clamp(30px,3.4vw,44px)!important;
  color:#FFFFFF!important;
}
.single-case_study :where(.scss-box h3,.scss-midcta h4){
  font-family:"Poppins",sans-serif!important;
}

/* Location pages: align core rail to homepage width */
body :where(.txc-wrap,.txc-rail,.spo-state-rail,.spo-locations-rail){
  max-width:1320px!important;
}

/* Service pages: match homepage dark teal exactly */
body :where(.spo-se-hero,.spo-se-section.dark,.spo-v2-hero,.spo-v2-section.dark){
  background:#103F43!important;
}
body :where(.spo-se-page,.spo-v2-owner) :where(.spo-se-head,.spo-v2-head){
  max-width:880px;
}

/* Card headings remain compact even when generic H3 rules apply */
body :where(.spo-v2-six article h3,.spo-v2-process article h3,.spo-se-cards article h3,.spo-se-process article h3,.spo-specialty-grid>a strong){
  font-size:19px!important;
  line-height:1.25!important;
  color:#17585D!important;
}

/* White-on-dark section copy protection */
body :where(.spo-se-section.dark,.spo-v2-section.dark,.scss-footer-cta) :where(h2,h3,p,li){
  color:#FFFFFF!important;
}


/* Unified type system for non-home public content */
body:not(.home) main :where(p,li,label,input,textarea,select){
  font-family:"Plus Jakarta Sans","Urbanist",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
body:not(.home) main :where(button,.elementor-button,a[class*="btn"],a.primary){
  font-family:"Poppins",sans-serif!important;
  font-weight:700;
}
body:not(.home) main :where(h1,h2,h3,h4,h5,h6){
  font-family:"Poppins",sans-serif!important;
}


/* =========================================================
   SITE-WIDE VISUAL FIXES 2026-10-02
   Contrast, rails, blog cards, sliders, dark sections
   ========================================================= */

/* 1) ABOUT PAGE - never allow dark headings on dark teal sections */
.page-id-30 .ab-hero :where(h1,h2,h3,p,strong,.ab-trustline),
.page-id-30 .ab-section.dark :where(h1,h2,h3,p,li,strong,blockquote),
.page-id-30 .protection :where(h1,h2,h3,p,strong),
.page-id-30 .ab-final-cta :where(h1,h2,h3,p,strong){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-30 .ab-hero .ab-kicker,
.page-id-30 .ab-section.dark .ab-kicker,
.page-id-30 .protection .ab-kicker,
.page-id-30 .ab-final-cta .ab-kicker{
  color:#FF9B42!important;
  -webkit-text-fill-color:#FF9B42!important;
}
.page-id-30 .ab-section.dark .ab-founder-points span,
.page-id-30 .ab-section.dark .ab-founder-points p{
  color:#DDEAEA!important;
  -webkit-text-fill-color:#DDEAEA!important;
}
.page-id-30 .ab-wrap{
  max-width:1320px!important;
}

/* 2) SERVICE PAGE SLIDERS - align exactly with the main site rail */
.spo-slider-section{
  width:calc(100% - 56px)!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.spo-slider-head{
  width:100%!important;
}
.spo-slider-track{
  width:100%!important;
}
.spo-slider-section .spo-slide-card h3{
  font-family:"Poppins",sans-serif!important;
  font-size:18px!important;
  line-height:1.28!important;
  font-weight:700!important;
  letter-spacing:-.015em!important;
  color:#17585D!important;
}
.spo-slider-section .spo-slide-card p{
  font-family:"Plus Jakarta Sans",sans-serif!important;
  font-size:14px!important;
  line-height:1.55!important;
  color:#566168!important;
}
.spo-slider-section .spo-slider-head h2{
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(34px,3.8vw,48px)!important;
  line-height:1.08!important;
  color:#111827!important;
}

/* 3) BLOG ARCHIVE - wider rail + smaller readable card titles */
.page-id-2196 .spo-wrap{
  width:calc(100% - 40px)!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-id-2196 .spo-hero-title{
  max-width:760px!important;
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(40px,4.6vw,60px)!important;
  line-height:1.03!important;
  letter-spacing:-.035em!important;
}
.page-id-2196 .spo-card .spo-ttl,
.page-id-2196 .spo-lcard .spo-ttl{
  font-family:"Poppins",sans-serif!important;
  font-size:20px!important;
  line-height:1.24!important;
  letter-spacing:-.02em!important;
  font-weight:700!important;
  margin:0 0 10px!important;
}
.page-id-2196 .spo-card .spo-ttl a,
.page-id-2196 .spo-lcard .spo-ttl a{
  color:#111827!important;
}
.page-id-2196 .spo-card .spo-exc{
  font-size:13px!important;
  line-height:1.52!important;
}
.page-id-2196 .spo-card .spo-bd{
  padding:16px!important;
}
.page-id-2196 .spo-grid.c3{
  gap:18px!important;
}
.page-id-2196 .spo-img{
  height:190px!important;
}
.page-id-2196 .spo-author-trust{
  max-width:100%!important;
}

/* 4) SERVICE PAGE DARK-SECTIONS - protect contrast */
.spo-v2-section.dark :where(h2,h3,p,li),
.spo-se-section.dark :where(h2,h3,p,li),
.spo-owner-section.dark :where(h2,h3,p,li){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.spo-v2-section.dark :where(.spo-v2-head>span,.spo-v2-section>span),
.spo-se-section.dark :where(.spo-se-head>span,.spo-se-section>span),
.spo-owner-section.dark :where(span){
  color:#FF9B42!important;
  -webkit-text-fill-color:#FF9B42!important;
}
.spo-v2-section.dark .spo-v2-why article{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(255,255,255,.18)!important;
}
.spo-v2-section.dark .spo-v2-why article h3,
.spo-v2-section.dark .spo-v2-why article p{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}

/* Deliverable cards remain readable regardless of inherited color */
.spo-v2-deliver-card{
  background:#F7FAFA!important;
  color:#111827!important;
}
.spo-v2-deliver-card :where(h2,h3,li,p){
  color:#26333A!important;
  -webkit-text-fill-color:#26333A!important;
}
.spo-v2-deliver-card>span{
  color:#E87002!important;
  -webkit-text-fill-color:#E87002!important;
}

/* Elementor site-plan quote left panel - fix low contrast */
.page-id-2357 .elementor-element-59cbbd27 :where(h2,p),
.page-id-2357 .elementor-element-230a80b5 .elementor-element-7e8527e3 .elementor-heading-title,
.page-id-2357 .elementor-element-230a80b5 .elementor-element-426df1f p{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-2357 .elementor-element-5e0a2506 .elementor-heading-title{
  color:#FF9B42!important;
  -webkit-text-fill-color:#FF9B42!important;
}

/* Avoid accidental giant card headings throughout services */
body:not(.home) :where(
  .spo-slide-card h3,
  .ab-service-grid h3,
  .ab-value-grid h3,
  .ab-process h3,
  .spo-v2-six h3,
  .spo-v2-process h3,
  .spo-se-cards h3,
  .spo-se-process h3
){
  font-size:18px!important;
  line-height:1.28!important;
  letter-spacing:-.015em!important;
}

/* Mobile refinement */
@media(max-width:1024px){
  .spo-slider-section{width:calc(100% - 44px)!important}
  .page-id-2196 .spo-wrap{width:calc(100% - 32px)!important}
}
@media(max-width:767px){
  .spo-slider-section{width:calc(100% - 32px)!important}
  .page-id-2196 .spo-hero-title{font-size:38px!important}
  .page-id-2196 .spo-card .spo-ttl,
  .page-id-2196 .spo-lcard .spo-ttl{font-size:18px!important}
  .page-id-2196 .spo-img{height:200px!important}
}


/* Quote / project-review panels - universal contrast safeguard */
.spo-v2-form-visual :where(h2,h3,p,strong),
.spo-se-form-copy :where(h2,h3,p,strong),
.spo-owner-cta :where(h2,h3,p,strong),
.spo-owner-section.dark :where(h2,h3,p,strong){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.spo-v2-form-visual>span,
.spo-se-form-copy>span,
.spo-owner-cta>div>span{
  color:#FF9B42!important;
  -webkit-text-fill-color:#FF9B42!important;
}

/* Keep white form cards dark and readable */
.spo-v2-form-card :where(h2,h3,p,label,strong),
.spo-se-form-grid .spo-v2-form-card :where(h2,h3,p,label,strong){
  color:#1A1A1A!important;
  -webkit-text-fill-color:#1A1A1A!important;
}
.spo-v2-form-card input,
.spo-v2-form-card select,
.spo-v2-form-card textarea{
  color:#1A1A1A!important;
  background:#FFFFFF!important;
}


/* =========================================================
   VISIBILITY + BLOG LAYOUT CORRECTIONS 2026-10-02
   ========================================================= */

/* ABOUT: dark cards and final CTA */
.page-id-30 .ab-discount :where(h3,p,strong){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-30 .ab-discount>span{
  color:#FFB15F!important;
  -webkit-text-fill-color:#FFB15F!important;
}
.page-id-30 .ab-final-cta{
  background:#103F43!important;
}
.page-id-30 .ab-final-cta> .ab-wrap > div:first-child :where(h2,p,strong){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-30 .ab-final-cta .ab-kicker{
  color:#FF9B42!important;
  -webkit-text-fill-color:#FF9B42!important;
}
.page-id-30 .ab-final-contact{
  background:#FFFFFF!important;
  color:#1A1A1A!important;
}
.page-id-30 .ab-final-contact :where(h3,p,strong){
  color:#1A1A1A!important;
  -webkit-text-fill-color:#1A1A1A!important;
}
.page-id-30 .ab-final-contact a:not(.ab-btn){
  color:#17585D!important;
  -webkit-text-fill-color:#17585D!important;
}

/* HOME: project form + permit comments sections */
.page-id-33 .elementor-element-58dfcc0 :where(h1,h2,h3,p,strong),
.page-id-33 .elementor-element-55f6f0b :where(h1,h2,h3,p,strong){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-33 .elementor-element-58dfcc0 .elementor-heading-title,
.page-id-33 .elementor-element-55f6f0b .elementor-heading-title{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-33 .elementor-element-c125923 p{
  color:#DDEAEA!important;
  -webkit-text-fill-color:#DDEAEA!important;
}
.page-id-33 .elementor-element-55f6f0b .elementor-widget-text-editor p{
  color:#DDEAEA!important;
  -webkit-text-fill-color:#DDEAEA!important;
}

/* RESIDENTIAL: hero body copy */
.page-id-197 .elementor-element-2e01a626 .elementor-widget-text-editor p,
.page-id-197 .elementor-element-4569fbaf p{
  color:#DDEAEA!important;
  -webkit-text-fill-color:#DDEAEA!important;
}

/* RESIDENTIAL: project cards on teal backgrounds */
.page-id-197 .elementor-element-45a0388 > .e-con,
.page-id-197 .elementor-element-e65b787 > .e-con{
  background:#17585D!important;
  border-color:#2D7478!important;
}
.page-id-197 .elementor-element-45a0388 > .e-con :where(h2,h3,p,li,span,strong),
.page-id-197 .elementor-element-e65b787 > .e-con :where(h2,h3,p,li,span,strong){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-197 .elementor-element-45a0388 > .e-con a,
.page-id-197 .elementor-element-e65b787 > .e-con a{
  color:#FF9B42!important;
  -webkit-text-fill-color:#FF9B42!important;
}

/* POOL: hero copy */
.page-id-5527 .elementor-element-2e01a626 .elementor-widget-text-editor p,
.page-id-5527 .elementor-element-77e9ad20 p{
  color:#DDEAEA!important;
  -webkit-text-fill-color:#DDEAEA!important;
}

/* BLOG SINGLE: remove the left TOC/promo sidebar completely from layout */
.single-post .spb-toc{
  display:none!important;
}
.single-post .spb-grid{
  grid-template-columns:minmax(0,1fr) 350px!important;
  gap:44px!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.single-post .spb-article{
  min-width:0!important;
  max-width:none!important;
  width:100%!important;
}
.single-post .spb-side{
  position:sticky!important;
  top:96px!important;
  width:100%!important;
  min-width:0!important;
}
.single-post .spb-quote{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.single-post .spb-quote input,
.single-post .spb-quote select,
.single-post .spb-quote textarea{
  max-width:100%!important;
}
.single-post .spb-article :where(p,ul,ol,blockquote){
  max-width:100%!important;
}
.single-post .spb-article table{
  max-width:100%!important;
}
@media(max-width:1100px){
  .single-post .spb-grid{
    grid-template-columns:1fr!important;
  }
  .single-post .spb-side{
    position:static!important;
    max-width:760px!important;
    margin:20px auto 0!important;
  }
}
@media(max-width:700px){
  .single-post .spb-grid{gap:28px!important}
  .single-post .spb-side{max-width:100%!important}
}

/* Generic dark-section safeguard for recurring custom service templates */
:is(.spo-v2-section.dark,.spo-se-section.dark,.spp-dark,.ab-section.dark,.protection,.spb-final)
  :where(h1,h2,h3,h4,p,li,strong,small){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
:is(.spo-v2-section.dark,.spo-se-section.dark,.spp-dark,.ab-section.dark,.protection,.spb-final)
  :where(.spo-v2-head>span,.spo-se-head>span,.spp-kicker,.ab-kicker,.spb-mini){
  color:#FF9B42!important;
  -webkit-text-fill-color:#FF9B42!important;
}


/* Tool page intro */
.spo-tool-page-intro{
  background:linear-gradient(180deg,#EEF7F8 0%,#FFFFFF 100%);
  padding:56px 20px 34px;
}
.spo-tool-page-rail{
  width:min(1320px,100%);
  margin:0 auto;
}
.spo-tool-page-rail>span{
  display:block;
  margin-bottom:10px;
  color:#E87002;
  font:800 11px/1.2 "Poppins",sans-serif;
  letter-spacing:.09em;
}
.spo-tool-page-rail h1{
  margin:0 0 14px;
  color:#103F43!important;
  font:800 clamp(40px,4.8vw,62px)/1.03 "Poppins",sans-serif!important;
  letter-spacing:-.04em;
}
.spo-tool-page-rail p{
  max-width:860px;
  margin:0;
  color:#4B5563!important;
  font:400 16px/1.7 "Plus Jakarta Sans",sans-serif!important;
}


/* Site Plan for Permit hero hardening */
.page-id-2357 .elementor-element-311c45cb{
  min-height:620px!important;
  background-position:center center!important;
  background-size:cover!important;
}
.page-id-2357 .elementor-element-4076eb93,
.page-id-2357 .elementor-element-4076eb93 p{
  color:#DCE8E9!important;
  -webkit-text-fill-color:#DCE8E9!important;
}
.page-id-2357 .elementor-element-411b95a3 .elementor-heading-title{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-2357 .elementor-element-7e661851 img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  border-radius:14px!important;
}
.page-id-2357 .elementor-element-2bdbd607{
  max-width:1264px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:1024px){
  .page-id-2357 .elementor-element-311c45cb{min-height:auto!important}
}


/* ===== Site Plan for Permit: Nationwide owner-page refinements ===== */
.page-id-2357 .spp-state-hubs{
  max-width:1320px!important;
  padding-top:72px!important;
  padding-bottom:72px!important;
}
.page-id-2357 .spp-state-head{
  max-width:900px!important;
  margin-bottom:30px!important;
}
.page-id-2357 .spp-state-head>span,
.page-id-2357 .spp-featured-copy>span,
.page-id-2357 .spp-all-states-head>span,
.page-id-2357 .spp-state-cta>div>span{
  display:block;
  color:#E87002!important;
  font:800 11px/1.2 "Poppins",sans-serif!important;
  letter-spacing:.09em!important;
  margin-bottom:8px!important;
}
.page-id-2357 .spp-state-head h2{
  color:#103F43!important;
  font-family:"Poppins",sans-serif!important;
}
.page-id-2357 .spp-state-head p{
  color:#566168!important;
  font:400 16px/1.7 "Plus Jakarta Sans",sans-serif!important;
}
.page-id-2357 .spp-featured-hubs{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:28px;
  align-items:start;
  padding:28px;
  border:1px solid #D7E3E4;
  border-radius:16px;
  background:#F8FBFB;
}
.page-id-2357 .spp-featured-copy h3,
.page-id-2357 .spp-all-states-head h3,
.page-id-2357 .spp-state-cta h3{
  margin:0 0 10px!important;
  color:#17585D!important;
  font:700 24px/1.2 "Poppins",sans-serif!important;
  letter-spacing:-.02em!important;
}
.page-id-2357 .spp-featured-copy p,
.page-id-2357 .spp-state-cta p{
  color:#59666C!important;
  font:400 14px/1.65 "Plus Jakarta Sans",sans-serif!important;
  margin:0!important;
}
.page-id-2357 .spp-state-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.page-id-2357 .spp-state-grid a{
  min-height:84px!important;
  padding:15px 16px!important;
  border:1px solid #D7E3E4!important;
  border-radius:12px!important;
  background:#FFFFFF!important;
  box-shadow:none!important;
}
.page-id-2357 .spp-state-grid a:hover{
  border-color:#9EC3C5!important;
  transform:translateY(-1px);
}
.page-id-2357 .spp-state-grid strong{
  color:#17585D!important;
  font:700 17px/1.2 "Poppins",sans-serif!important;
}
.page-id-2357 .spp-state-grid span{
  color:#6B777C!important;
  font:400 12.5px/1.4 "Plus Jakarta Sans",sans-serif!important;
}
.page-id-2357 .spp-state-grid .spp-all-locations{
  background:#17585D!important;
}
.page-id-2357 .spp-state-grid .spp-all-locations strong,
.page-id-2357 .spp-state-grid .spp-all-locations span{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-2357 .spp-all-states{
  margin-top:26px;
  padding:28px;
  border:1px solid #D7E3E4;
  border-radius:16px;
  background:#FFFFFF;
}
.page-id-2357 .spp-all-states-head{
  margin-bottom:18px;
}
.page-id-2357 .spp-state-name-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.page-id-2357 .spp-state-name-grid span{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:8px 10px;
  border:1px solid #E1E9EA;
  border-radius:8px;
  background:#F8FBFB;
  color:#31484D!important;
  font:600 12.5px/1.3 "Plus Jakarta Sans",sans-serif!important;
}
.page-id-2357 .spp-state-cta{
  margin-top:26px;
  padding:28px;
  border-radius:16px;
  background:#103F43;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.page-id-2357 .spp-state-cta h3,
.page-id-2357 .spp-state-cta p{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-2357 .spp-state-cta p{
  max-width:760px!important;
}
.page-id-2357 .spp-state-cta>a{
  display:inline-flex;
  flex:0 0 auto;
  min-height:46px;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:8px;
  background:#E87002;
  color:#FFFFFF!important;
  text-decoration:none;
  font:800 12px/1 "Poppins",sans-serif!important;
}

/* Nationwide dark section contrast */
.page-id-2357 .elementor-element-1d027f54 .elementor-heading-title{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-2357 .elementor-element-13078c50,
.page-id-2357 .elementor-element-13078c50 p{
  color:#DDEAEA!important;
  -webkit-text-fill-color:#DDEAEA!important;
}

/* Quote form dark-panel contrast */
.page-id-2357 .elementor-element-4fcf99db .elementor-heading-title{
  color:#FF9B42!important;
  -webkit-text-fill-color:#FF9B42!important;
}
.page-id-2357 .elementor-element-5b6ad21e,
.page-id-2357 .elementor-element-5b6ad21e p,
.page-id-2357 .elementor-element-426df1f,
.page-id-2357 .elementor-element-426df1f p{
  color:#DDEAEA!important;
  -webkit-text-fill-color:#DDEAEA!important;
}

@media(max-width:1024px){
  .page-id-2357 .spp-featured-hubs{grid-template-columns:1fr}
  .page-id-2357 .spp-state-name-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-id-2357 .spp-state-cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
  .page-id-2357 .spp-state-hubs{padding-top:50px!important;padding-bottom:50px!important}
  .page-id-2357 .spp-featured-hubs,
  .page-id-2357 .spp-all-states,
  .page-id-2357 .spp-state-cta{padding:20px}
  .page-id-2357 .spp-state-grid{grid-template-columns:1fr!important}
  .page-id-2357 .spp-state-name-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* =========================================================
   SITE PLAN FOR PERMIT - FINAL PAGE QA/QC SYSTEM 2026-10-03
   ========================================================= */
.page-id-2357{
  --spp-rail:1320px;
  --spp-gutter:28px;
  --spp-teal:#17585D;
  --spp-dark:#103F43;
  --spp-orange:#E87002;
  --spp-ink:#172126;
  --spp-copy:#536068;
  --spp-line:#D7E3E4;
  --spp-soft:#F7FAFA;
}
.page-id-2357 main{
  overflow:hidden;
}
.page-id-2357 main :where(h1,h2,h3,h4,h5,h6){
  font-family:"Poppins",sans-serif!important;
  text-wrap:balance;
}
.page-id-2357 main :where(p,li){
  font-family:"Plus Jakarta Sans",sans-serif!important;
}
.page-id-2357 main :where(p,li){
  font-size:17px!important;
  line-height:1.72!important;
}
.page-id-2357 main h1,
.page-id-2357 .elementor-widget-heading h1.elementor-heading-title{
  font-size:clamp(46px,5vw,62px)!important;
  line-height:1.04!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
}
.page-id-2357 main h2,
.page-id-2357 .elementor-widget-heading h2.elementor-heading-title,
.page-id-2357 .spp-extra h2,
.page-id-2357 .spp-state-hubs h2,
.page-id-2357 .spo-juris-head h2{
  font-size:clamp(34px,3.8vw,48px)!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
}
.page-id-2357 main h3,
.page-id-2357 .elementor-widget-heading h3.elementor-heading-title,
.page-id-2357 .spp-extra h3,
.page-id-2357 .spp-state-hubs h3{
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:700!important;
}
.page-id-2357 :where(
  .spp-extra,.spp-cases,.spp-state-hubs,.spp-pricing,
  .spo-juris-wrap,.spo-stats-wrap,.spo-guar-wrap
){
  width:calc(100% - (var(--spp-gutter) * 2))!important;
  max-width:var(--spp-rail)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.page-id-2357 main > .elementor > .e-con-boxed > .e-con-inner,
.page-id-2357 main > .elementor > .elementor-section.elementor-section-boxed > .elementor-container{
  width:calc(100% - (var(--spp-gutter) * 2))!important;
  max-width:var(--spp-rail)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-id-2357 .elementor-element-2bdbd607,
.page-id-2357 .elementor-element-420dee83,
.page-id-2357 .elementor-element-371fa9ac,
.page-id-2357 .elementor-element-6d5fc7ae,
.page-id-2357 .elementor-element-4909930b,
.page-id-2357 .elementor-element-1fb37618,
.page-id-2357 .elementor-element-78e8bf75,
.page-id-2357 .elementor-element-230a80b5{
  max-width:var(--spp-rail)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-id-2357 .elementor-element-311c45cb{
  min-height:600px!important;
}
.page-id-2357 .elementor-element-4076eb93,
.page-id-2357 .elementor-element-4076eb93 p{
  font-size:18px!important;
  line-height:1.7!important;
  color:#E6EFEF!important;
  -webkit-text-fill-color:#E6EFEF!important;
}
.page-id-2357 .elementor-element-7e661851 img{
  max-height:390px!important;
  object-fit:contain!important;
  background:#FFFFFF!important;
  padding:8px!important;
}
.page-id-2357 .spo-stats-grid article{
  padding:26px 20px!important;
}
.page-id-2357 .spo-stats-grid span{
  font-size:14px!important;
  line-height:1.5!important;
}
.page-id-2357 .elementor-element-61337e70{
  padding-top:72px!important;
  padding-bottom:72px!important;
}
.page-id-2357 .elementor-element-436def69,
.page-id-2357 .elementor-element-436def69 p,
.page-id-2357 .elementor-element-2b8a48b8,
.page-id-2357 .elementor-element-2b8a48b8 p{
  font-size:17px!important;
  line-height:1.72!important;
  color:#536068!important;
}
.page-id-2357 .elementor-element-22937567{
  border:1px solid #D6E5E6!important;
  border-radius:12px!important;
}
.page-id-2357 .elementor-element-6ed0ca2,
.page-id-2357 .elementor-element-6ed0ca2 p{
  font-size:15px!important;
  line-height:1.65!important;
  color:#17585D!important;
}
.page-id-2357 .elementor-element-5ff5bd7b,
.page-id-2357 .elementor-element-3df0c6c3{
  padding-top:70px!important;
  padding-bottom:70px!important;
}
.page-id-2357 .elementor-element-36ed6d59,
.page-id-2357 .elementor-element-3658abff,
.page-id-2357 .elementor-element-5b19d810,
.page-id-2357 .elementor-element-6bacf8db{
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.16)!important;
}
.page-id-2357 .elementor-element-65bf9475{
  padding-top:78px!important;
  padding-bottom:78px!important;
}
.page-id-2357 .elementor-element-4a209542,
.page-id-2357 .elementor-element-9374075,
.page-id-2357 .elementor-element-6fb96c66,
.page-id-2357 .elementor-element-25df6bb8{
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
.page-id-2357 .elementor-element-4a209542 :where(h3,p,li,strong),
.page-id-2357 .elementor-element-9374075 :where(h3,p,li,strong),
.page-id-2357 .elementor-element-6fb96c66 :where(h3,p,li,strong),
.page-id-2357 .elementor-element-25df6bb8 :where(h3,p,li,strong){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-2357 .elementor-element-543053ef{
  background:#17585D!important;
}
.page-id-2357 .elementor-element-543053ef :where(h2,h3,p,strong){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-2357 .elementor-element-2bb94476 .elementor-heading-title{
  color:#FFB268!important;
  -webkit-text-fill-color:#FFB268!important;
  font-size:16px!important;
  line-height:1.35!important;
}
.page-id-2357 .elementor-element-1a0a94f9 .elementor-heading-title{
  font-size:clamp(38px,4vw,54px)!important;
  line-height:1.08!important;
}
.page-id-2357 .elementor-element-70725334,
.page-id-2357 .elementor-element-70725334 p{
  color:#E6EFEF!important;
  -webkit-text-fill-color:#E6EFEF!important;
  font-size:18px!important;
  line-height:1.7!important;
}
.page-id-2357 .elementor-element-41ac5e95{
  justify-content:flex-end!important;
  gap:14px!important;
}
.page-id-2357 .elementor-element-41ac5e95 .elementor-button{
  min-height:50px!important;
  padding:0 22px!important;
}
.page-id-2357 .elementor-element-23a8a60a{
  background:#174E52!important;
}
.page-id-2357 .elementor-element-23a8a60a :where(h2,h3,p,strong){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-2357 .elementor-element-13078c50,
.page-id-2357 .elementor-element-13078c50 p{
  font-size:17px!important;
  line-height:1.7!important;
  color:#DDEAEA!important;
  -webkit-text-fill-color:#DDEAEA!important;
}
.page-id-2357 .spp-nationwide-actions{
  justify-content:flex-start!important;
  margin-top:26px!important;
}
.page-id-2357 .spo-juris-card p,
.page-id-2357 .spp-featured-copy p,
.page-id-2357 .spp-state-head p,
.page-id-2357 .spo-guar-body p{
  font-size:15px!important;
  line-height:1.68!important;
}
.page-id-2357 .spp-state-name-grid span{
  font-size:13px!important;
}
.page-id-2357 .spo-guar-card{
  padding:42px!important;
}
.page-id-2357 .elementor-element-6d392826{
  padding-top:72px!important;
  padding-bottom:72px!important;
}
.page-id-2357 .elementor-element-4a680361{
  gap:10px!important;
}
.page-id-2357 .elementor-element-4849e768 p,
.page-id-2357 .elementor-element-fd874c9 p,
.page-id-2357 .elementor-element-6da5dbe3 p,
.page-id-2357 .elementor-element-1a1c6896 p,
.page-id-2357 .elementor-element-4ea82fde p,
.page-id-2357 .elementor-element-6f94fa9c p,
.page-id-2357 .elementor-element-45d74344 p,
.page-id-2357 .elementor-element-493e70d0 p,
.page-id-2357 .elementor-element-sppfaq09t p,
.page-id-2357 .elementor-element-sppfaq10t p{
  font-size:16px!important;
  line-height:1.7!important;
  color:#4F5C63!important;
}
.page-id-2357 .spo-slider-section{
  width:calc(100% - (var(--spp-gutter) * 2))!important;
  max-width:var(--spp-rail)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-id-2357 .spo-slider-section .spo-slide-card h3{
  font-size:18px!important;
  line-height:1.28!important;
}
.page-id-2357 .spo-slider-section .spo-slide-card p{
  font-size:14px!important;
  line-height:1.55!important;
}
.page-id-2357 .elementor-element-sppfinalquote{
  background:#103F43!important;
}
.page-id-2357 .elementor-element-230a80b5{
  align-items:stretch!important;
  gap:34px!important;
}
.page-id-2357 .elementor-element-59cbbd27{
  justify-content:center!important;
}
.page-id-2357 .elementor-element-59cbbd27 :where(h2,h3,p,strong){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-2357 .elementor-element-3ea6b505{
  background:#FFFFFF!important;
  border:1px solid #D6E2E3!important;
  border-radius:14px!important;
  box-shadow:0 14px 32px rgba(16,63,67,.10)!important;
}
.page-id-2357 .elementor-element-3ea6b505 :where(h2,h3,p,label,strong){
  color:#172126!important;
  -webkit-text-fill-color:#172126!important;
}
.page-id-2357 .elementor-element-4fcf99db .elementor-heading-title{
  color:#E87002!important;
  -webkit-text-fill-color:#E87002!important;
}
.page-id-2357 .elementor-element-5b6ad21e,
.page-id-2357 .elementor-element-5b6ad21e p{
  color:#5A666C!important;
  -webkit-text-fill-color:#5A666C!important;
  font-size:14px!important;
}
.page-id-2357 .elementor-element-sppfinalquote input,
.page-id-2357 .elementor-element-sppfinalquote select,
.page-id-2357 .elementor-element-sppfinalquote textarea{
  min-height:48px!important;
  font-size:15px!important;
  border-radius:8px!important;
}
.page-id-2357 .elementor-element-sppfinalquote textarea{
  min-height:120px!important;
}
.page-id-2357 .elementor-button,
.page-id-2357 :where(.spp-btn,.spo-juris-actions a,.spp-state-cta>a,.spo-guar-body a){
  font-family:"Poppins",sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  border-radius:8px!important;
}
@media(max-width:1024px){
  .page-id-2357{
    --spp-gutter:22px;
  }
  .page-id-2357 .elementor-element-2bdbd607,
  .page-id-2357 .elementor-element-1fb37618,
  .page-id-2357 .elementor-element-230a80b5{
    flex-direction:column!important;
    gap:28px!important;
  }
  .page-id-2357 .elementor-element-7a46a271,
  .page-id-2357 .elementor-element-71a73ac,
  .page-id-2357 .elementor-element-5959a44,
  .page-id-2357 .elementor-element-41ac5e95,
  .page-id-2357 .elementor-element-59cbbd27,
  .page-id-2357 .elementor-element-3ea6b505{
    width:100%!important;
  }
  .page-id-2357 .elementor-element-41ac5e95{
    justify-content:flex-start!important;
  }
  .page-id-2357 .elementor-element-371fa9ac,
  .page-id-2357 .elementor-element-78e8bf75{
    flex-wrap:wrap!important;
  }
  .page-id-2357 .elementor-element-36ed6d59,
  .page-id-2357 .elementor-element-3658abff,
  .page-id-2357 .elementor-element-5b19d810,
  .page-id-2357 .elementor-element-6bacf8db,
  .page-id-2357 .elementor-element-602e0411,
  .page-id-2357 .elementor-element-4adde415,
  .page-id-2357 .elementor-element-592165de,
  .page-id-2357 .elementor-element-625c39d2{
    width:calc(50% - 10px)!important;
  }
}
@media(max-width:700px){
  .page-id-2357{
    --spp-gutter:16px;
  }
  .page-id-2357 main :where(p,li){
    font-size:16px!important;
    line-height:1.68!important;
  }
  .page-id-2357 main h1,
  .page-id-2357 .elementor-widget-heading h1.elementor-heading-title{
    font-size:38px!important;
    line-height:1.08!important;
  }
  .page-id-2357 main h2,
  .page-id-2357 .elementor-widget-heading h2.elementor-heading-title,
  .page-id-2357 .spp-extra h2,
  .page-id-2357 .spp-state-hubs h2,
  .page-id-2357 .spo-juris-head h2{
    font-size:30px!important;
  }
  .page-id-2357 .elementor-element-311c45cb{
    min-height:auto!important;
    padding:38px 16px!important;
  }
  .page-id-2357 .elementor-element-4076eb93,
  .page-id-2357 .elementor-element-4076eb93 p{
    font-size:16px!important;
  }
  .page-id-2357 .elementor-element-7e661851 img{
    max-height:none!important;
    padding:6px!important;
  }
  .page-id-2357 .elementor-element-459644b1{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .page-id-2357 .elementor-element-420dee83{
    flex-direction:column!important;
    gap:10px!important;
  }
  .page-id-2357 .elementor-element-3593b026,
  .page-id-2357 .elementor-element-4a76af3f,
  .page-id-2357 .elementor-element-72ede4e4{
    width:100%!important;
  }
  .page-id-2357 .elementor-element-61337e70,
  .page-id-2357 .elementor-element-371fa9ac,
  .page-id-2357 .elementor-element-6d5fc7ae,
  .page-id-2357 .elementor-element-4909930b,
  .page-id-2357 .elementor-element-78e8bf75{
    flex-direction:column!important;
    gap:16px!important;
  }
  .page-id-2357 .elementor-element-36ed6d59,
  .page-id-2357 .elementor-element-3658abff,
  .page-id-2357 .elementor-element-5b19d810,
  .page-id-2357 .elementor-element-6bacf8db,
  .page-id-2357 .elementor-element-4a209542,
  .page-id-2357 .elementor-element-9374075,
  .page-id-2357 .elementor-element-6fb96c66,
  .page-id-2357 .elementor-element-25df6bb8,
  .page-id-2357 .elementor-element-602e0411,
  .page-id-2357 .elementor-element-4adde415,
  .page-id-2357 .elementor-element-592165de,
  .page-id-2357 .elementor-element-625c39d2{
    width:100%!important;
  }
  .page-id-2357 .elementor-element-543053ef,
  .page-id-2357 .elementor-element-23a8a60a,
  .page-id-2357 .elementor-element-sppfinalquote{
    padding:48px 16px!important;
  }
  .page-id-2357 .elementor-element-1a0a94f9 .elementor-heading-title{
    font-size:36px!important;
  }
  .page-id-2357 .elementor-element-41ac5e95{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .page-id-2357 .elementor-element-41ac5e95 .elementor-button{
    width:100%!important;
  }
  .page-id-2357 .spp-state-name-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .page-id-2357 .spp-state-cta{
    align-items:stretch!important;
  }
  .page-id-2357 .spp-state-cta>a{
    width:100%!important;
  }
  .page-id-2357 .elementor-element-3ea6b505{
    padding:22px!important;
  }
}
@media(max-width:420px){
  .page-id-2357 .spp-state-name-grid{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   SITE PLAN FOR PERMIT - SECTION ALIGNMENT + BUTTON POLISH
   2026-10-03
   ========================================================= */

/* WHAT EVERY PERMIT SITE PLAN MUST INCLUDE */
.page-id-2357 .elementor-element-65bf9475{
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-id-2357 .elementor-element-65bf9475 > .e-con-inner{
  max-width:1320px!important;
}
.page-id-2357 .elementor-element-4fd34149 .elementor-heading-title{
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(36px,3.6vw,48px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  color:#172126!important;
}
.page-id-2357 .elementor-element-2b8a48b8,
.page-id-2357 .elementor-element-2b8a48b8 p{
  max-width:900px!important;
  font-family:"Plus Jakarta Sans",sans-serif!important;
  font-size:17px!important;
  line-height:1.7!important;
  color:#536068!important;
}
.page-id-2357 .elementor-element-6d5fc7ae,
.page-id-2357 .elementor-element-4909930b{
  gap:18px!important;
  align-items:stretch!important;
}
.page-id-2357 .elementor-element-4a209542,
.page-id-2357 .elementor-element-9374075,
.page-id-2357 .elementor-element-6fb96c66,
.page-id-2357 .elementor-element-25df6bb8{
  width:calc(50% - 9px)!important;
  min-height:240px!important;
  padding:26px 26px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:14px!important;
  background:#17585D!important;
  box-shadow:0 8px 24px rgba(16,63,67,.08)!important;
}
.page-id-2357 .elementor-element-4a209542 :where(h3,p,li,strong,span),
.page-id-2357 .elementor-element-9374075 :where(h3,p,li,strong,span),
.page-id-2357 .elementor-element-6fb96c66 :where(h3,p,li,strong,span),
.page-id-2357 .elementor-element-25df6bb8 :where(h3,p,li,strong,span){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-2357 .elementor-element-4a209542 .elementor-icon-list-text,
.page-id-2357 .elementor-element-9374075 .elementor-icon-list-text,
.page-id-2357 .elementor-element-6fb96c66 .elementor-icon-list-text,
.page-id-2357 .elementor-element-25df6bb8 .elementor-icon-list-text{
  font-family:"Plus Jakarta Sans",sans-serif!important;
  font-size:14px!important;
  line-height:1.55!important;
}
.page-id-2357 .elementor-element-6add9f24 .elementor-icon-box-title,
.page-id-2357 .elementor-element-58269dad .elementor-icon-box-title,
.page-id-2357 .elementor-element-799fd94 .elementor-icon-box-title,
.page-id-2357 .elementor-element-36a8abfe .elementor-icon-box-title{
  margin-bottom:10px!important;
  font-size:19px!important;
  line-height:1.25!important;
}

/* MID-PAGE CTA */
.page-id-2357 .elementor-element-543053ef{
  background:#17585D!important;
}
.page-id-2357 .elementor-element-1fb37618{
  max-width:1320px!important;
  margin:0 auto!important;
  gap:34px!important;
  align-items:center!important;
}
.page-id-2357 .elementor-element-5959a44{
  width:60%!important;
}
.page-id-2357 .elementor-element-41ac5e95{
  width:40%!important;
  display:flex!important;
  justify-content:flex-end!important;
  gap:12px!important;
}
.page-id-2357 .elementor-element-2bb94476 .elementor-heading-title{
  color:#FFB268!important;
  font-size:14px!important;
  line-height:1.35!important;
  letter-spacing:.04em!important;
}
.page-id-2357 .elementor-element-1a0a94f9 .elementor-heading-title{
  color:#FFFFFF!important;
  font-size:clamp(36px,3.4vw,48px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
.page-id-2357 .elementor-element-70725334,
.page-id-2357 .elementor-element-70725334 p{
  max-width:760px!important;
  color:#E6EFEF!important;
  -webkit-text-fill-color:#E6EFEF!important;
  font-family:"Plus Jakarta Sans",sans-serif!important;
  font-size:17px!important;
  line-height:1.7!important;
}
.page-id-2357 .elementor-element-6dddba5a,
.page-id-2357 .elementor-element-68e4b3f8{
  flex:1 1 0!important;
  max-width:250px!important;
}
.page-id-2357 .elementor-element-6dddba5a .elementor-button,
.page-id-2357 .elementor-element-68e4b3f8 .elementor-button{
  width:100%!important;
  min-height:52px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 20px!important;
  border-radius:9px!important;
  font-family:"Poppins",sans-serif!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.2!important;
  box-shadow:none!important;
}
.page-id-2357 .elementor-element-6dddba5a .elementor-button{
  background:#E87002!important;
  color:#FFFFFF!important;
  border:1px solid #E87002!important;
}
.page-id-2357 .elementor-element-6dddba5a .elementor-button:hover{
  background:#F27A0A!important;
  border-color:#F27A0A!important;
  transform:translateY(-1px);
}
.page-id-2357 .elementor-element-68e4b3f8 .elementor-button{
  background:transparent!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.8)!important;
}
.page-id-2357 .elementor-element-68e4b3f8 .elementor-button:hover{
  background:#FFFFFF!important;
  color:#103F43!important;
}

/* HOW IT WORKS */
.page-id-2357 .elementor-element-3204d12f{
  max-width:none!important;
  background:#F4F7F8!important;
}
.page-id-2357 .spp-process-wrap{
  width:100%!important;
  max-width:1320px!important;
  margin:0 auto!important;
}
.page-id-2357 .spp-process-head{
  max-width:900px!important;
  margin-bottom:28px!important;
}
.page-id-2357 .spp-process-head>span{
  display:block!important;
  margin-bottom:8px!important;
  color:#E87002!important;
  font:800 11px/1.2 "Poppins",sans-serif!important;
  letter-spacing:.1em!important;
}
.page-id-2357 .spp-process-head h2{
  margin:0 0 12px!important;
  color:#172126!important;
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(36px,3.6vw,48px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
.page-id-2357 .spp-process-head p{
  margin:0!important;
  color:#536068!important;
  font-family:"Plus Jakarta Sans",sans-serif!important;
  font-size:17px!important;
  line-height:1.7!important;
}
.page-id-2357 .spp-process-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.page-id-2357 .spp-process-grid article{
  min-height:220px!important;
  padding:22px!important;
  border:1px solid #D7E3E4!important;
  border-radius:13px!important;
  background:#FFFFFF!important;
  box-shadow:0 6px 18px rgba(23,88,93,.04)!important;
}
.page-id-2357 .spp-process-grid article b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  margin-bottom:14px!important;
  border-radius:50%!important;
  background:#FFF1E4!important;
  color:#E87002!important;
  font:800 11px/1 "Poppins",sans-serif!important;
}
.page-id-2357 .spp-process-grid article h3{
  margin:0 0 8px!important;
  color:#17585D!important;
  font-family:"Poppins",sans-serif!important;
  font-size:18px!important;
  line-height:1.28!important;
}
.page-id-2357 .spp-process-grid article p{
  margin:0!important;
  color:#59666C!important;
  font-family:"Plus Jakarta Sans",sans-serif!important;
  font-size:14px!important;
  line-height:1.6!important;
}
.page-id-2357 .spp-process-actions{
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin-top:22px!important;
}
.page-id-2357 .spp-process-actions a{
  display:inline-flex!important;
  min-height:46px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 18px!important;
  border-radius:8px!important;
  text-decoration:none!important;
  font:700 12px/1 "Poppins",sans-serif!important;
}
.page-id-2357 .spp-process-primary{
  background:#E87002!important;
  color:#FFFFFF!important;
  border:1px solid #E87002!important;
}
.page-id-2357 .spp-process-primary:hover{
  background:#F27A0A!important;
  border-color:#F27A0A!important;
}
.page-id-2357 .spp-process-secondary{
  background:#FFFFFF!important;
  color:#17585D!important;
  border:1px solid #17585D!important;
}
.page-id-2357 .spp-process-secondary:hover{
  background:#17585D!important;
  color:#FFFFFF!important;
}

/* RESPONSIVE */
@media(max-width:1024px){
  .page-id-2357 .elementor-element-4a209542,
  .page-id-2357 .elementor-element-9374075,
  .page-id-2357 .elementor-element-6fb96c66,
  .page-id-2357 .elementor-element-25df6bb8{
    width:calc(50% - 9px)!important;
  }
  .page-id-2357 .elementor-element-1fb37618{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .page-id-2357 .elementor-element-5959a44,
  .page-id-2357 .elementor-element-41ac5e95{
    width:100%!important;
  }
  .page-id-2357 .elementor-element-41ac5e95{
    justify-content:flex-start!important;
  }
  .page-id-2357 .spp-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .page-id-2357 .elementor-element-65bf9475,
  .page-id-2357 .elementor-element-543053ef,
  .page-id-2357 .elementor-element-3204d12f{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .page-id-2357 .elementor-element-6d5fc7ae,
  .page-id-2357 .elementor-element-4909930b{
    flex-direction:column!important;
  }
  .page-id-2357 .elementor-element-4a209542,
  .page-id-2357 .elementor-element-9374075,
  .page-id-2357 .elementor-element-6fb96c66,
  .page-id-2357 .elementor-element-25df6bb8{
    width:100%!important;
    min-height:auto!important;
  }
  .page-id-2357 .elementor-element-41ac5e95{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .page-id-2357 .elementor-element-6dddba5a,
  .page-id-2357 .elementor-element-68e4b3f8{
    max-width:none!important;
    width:100%!important;
  }
  .page-id-2357 .spp-process-grid{
    grid-template-columns:1fr!important;
  }
  .page-id-2357 .spp-process-actions{
    flex-direction:column!important;
  }
  .page-id-2357 .spp-process-actions a{
    width:100%!important;
  }
}


/* =========================================================
   RESIDENTIAL OWNER PAGE - INTERACTION + NEW SECTION POLISH
   2026-10-03
   ========================================================= */
.page-id-197 .spo-r-input-grid article,
.page-id-197 .spo-r-compare article,
.page-id-197 .spo-r-risk-grid article,
.page-id-197 .spo-r-scope-list a,
.page-id-197 .spo-r-project-card,
.page-id-197 .spo-r-deliver-grid article,
.page-id-197 .spo-r-process article,
.page-id-197 .spo-r-faq details,
.page-id-197 .spo-r-featured-links a,
.page-id-197 .spo-r-state-grid span,
.page-id-197 .spo-r-btn,
.page-id-197 .spo-r-actions a{
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease,color .22s ease!important;
}
.page-id-197 .spo-r-input-grid article:hover,
.page-id-197 .spo-r-compare article:hover,
.page-id-197 .spo-r-scope-list a:hover,
.page-id-197 .spo-r-project-card:hover,
.page-id-197 .spo-r-deliver-grid article:hover,
.page-id-197 .spo-r-process article:hover{
  transform:translateY(-4px)!important;
}
.page-id-197 .spo-r-project-card:hover{
  box-shadow:0 18px 38px rgba(23,88,93,.12)!important;
  border-color:#AFCBCC!important;
}
.page-id-197 .spo-r-project-card img{
  transition:transform .38s ease!important;
}
.page-id-197 .spo-r-project-card:hover img{
  transform:scale(1.035)!important;
}
.page-id-197 .spo-r-input-grid article:hover,
.page-id-197 .spo-r-compare article:hover,
.page-id-197 .spo-r-scope-list a:hover,
.page-id-197 .spo-r-deliver-grid article:hover{
  box-shadow:0 14px 30px rgba(23,88,93,.09)!important;
  border-color:#AFCBCC!important;
}
.page-id-197 .spo-r-risk-grid article:hover,
.page-id-197 .spo-r-process article:hover{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.26)!important;
}
.page-id-197 .spo-r-btn:hover,
.page-id-197 .spo-r-actions a:hover{
  transform:translateY(-2px)!important;
}
.page-id-197 .spo-r-btn.primary:hover,
.page-id-197 .spo-r-project-card .spo-r-btn:hover{
  background:#F27A0A!important;
  box-shadow:0 8px 18px rgba(232,112,2,.22)!important;
}
.page-id-197 .spo-r-featured-links a:hover{
  transform:translateY(-2px)!important;
  background:#17585D!important;
  color:#FFFFFF!important;
  border-color:#17585D!important;
}
.page-id-197 .spo-r-state-grid span:hover{
  transform:translateY(-2px)!important;
  background:#EEF6F6!important;
  border-color:#B8CECF!important;
}
.page-id-197 .spo-r-faq details:hover{
  border-color:#AFCBCC!important;
  box-shadow:0 8px 20px rgba(23,88,93,.05)!important;
}
.page-id-197 .spo-r-scope-visual img{
  width:100%!important;
  display:block!important;
  border-radius:15px!important;
}
.page-id-197 .spo-r-inline-actions .spo-r-btn{
  min-height:48px!important;
  padding:0 18px!important;
}
@media(max-width:1100px){
  .page-id-197 .spo-r-input-grid,
  .page-id-197 .spo-r-risk-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .page-id-197 .spo-r-input-grid,
  .page-id-197 .spo-r-risk-grid,
  .page-id-197 .spo-r-scope-list{
    grid-template-columns:1fr!important;
  }
  .page-id-197 .spo-r-inline-actions{
    flex-direction:column!important;
  }
  .page-id-197 .spo-r-inline-actions .spo-r-btn{
    width:100%!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .page-id-197 .spo-residential-page *,
  .page-id-197 .spo-residential-page *:hover{
    transition:none!important;
    animation:none!important;
    transform:none!important;
  }
}


/* =========================================================
   SITE PLAN FOR PERMIT - RESIDENTIAL DESIGN SYSTEM MATCH
   2026-10-03
   ========================================================= */
.page-id-2357{
  --spo-rail:1320px;
  --spo-teal:#17585D;
  --spo-dark:#103F43;
  --spo-orange:#E87002;
  --spo-ink:#162126;
  --spo-copy:#526067;
  --spo-line:#D7E3E4;
  --spo-soft:#F6FAFA;
}
.page-id-2357 main{
  overflow:hidden!important;
}
.page-id-2357 main :where(h1,h2,h3,h4,h5,h6){
  font-family:"Poppins",Arial,sans-serif!important;
  text-wrap:balance;
}
.page-id-2357 main :where(p,li){
  font-family:"Plus Jakarta Sans",Arial,sans-serif!important;
}
.page-id-2357 main :where(p,li){
  font-size:16.5px!important;
  line-height:1.7!important;
}
.page-id-2357 main h1,
.page-id-2357 .elementor-widget-heading h1.elementor-heading-title{
  font-size:clamp(48px,5.3vw,70px)!important;
  line-height:1.02!important;
  font-weight:800!important;
  letter-spacing:-.05em!important;
}
.page-id-2357 main h2,
.page-id-2357 .elementor-widget-heading h2.elementor-heading-title,
.page-id-2357 .spp-process-head h2,
.page-id-2357 .spo-juris-head h2,
.page-id-2357 .spp-state-head h2{
  font-size:clamp(34px,3.8vw,50px)!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:-.04em!important;
}
.page-id-2357 main h3,
.page-id-2357 .elementor-widget-heading h3.elementor-heading-title,
.page-id-2357 .spo-juris-card h3,
.page-id-2357 .spp-state-hubs h3{
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:700!important;
}
.page-id-2357 main > .elementor,
.page-id-2357 main .elementor-element{
  box-sizing:border-box!important;
}
.page-id-2357 main .e-con.e-con-boxed > .e-con-inner,
.page-id-2357 main .elementor-section.elementor-section-boxed > .elementor-container{
  max-width:var(--spo-rail)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Hero */
.page-id-2357 .elementor-element-311c45cb{
  min-height:620px!important;
  background-position:center center!important;
  background-size:cover!important;
}
.page-id-2357 .elementor-element-2bdbd607{
  max-width:1320px!important;
  margin:0 auto!important;
  gap:52px!important;
  align-items:center!important;
}
.page-id-2357 .elementor-element-411b95a3 .elementor-heading-title{
  color:#FFFFFF!important;
}
.page-id-2357 .elementor-element-4076eb93,
.page-id-2357 .elementor-element-4076eb93 p{
  color:#E4EEEE!important;
  -webkit-text-fill-color:#E4EEEE!important;
  font-size:18px!important;
  line-height:1.7!important;
  max-width:760px!important;
}
.page-id-2357 .elementor-element-7e661851 img{
  border-radius:14px!important;
  padding:8px!important;
  background:#FFFFFF!important;
  box-shadow:0 24px 60px rgba(0,0,0,.18)!important;
}

/* Trust strip */
.page-id-2357 .elementor-element-459644b1{
  border-bottom:1px solid var(--spo-line)!important;
}
.page-id-2357 .elementor-element-420dee83{
  max-width:1320px!important;
  margin:0 auto!important;
  gap:0!important;
}
.page-id-2357 .elementor-element-3593b026,
.page-id-2357 .elementor-element-4a76af3f,
.page-id-2357 .elementor-element-72ede4e4{
  border-right:1px solid var(--spo-line)!important;
  padding:20px!important;
}
.page-id-2357 .elementor-element-72ede4e4{border-right:0!important}

/* Generic section rhythm */
.page-id-2357 :where(
  .elementor-element-6b6bdd8,
  .elementor-element-61337e70,
  .elementor-element-5ff5bd7b,
  .elementor-element-65bf9475,
  .elementor-element-3204d12f,
  .elementor-element-3df0c6c3,
  .elementor-element-23a8a60a,
  .elementor-element-fd2d487,
  .elementor-element-4c8bdda4,
  .elementor-element-7f57cf4,
  .elementor-element-4df3b3df,
  .elementor-element-sppfinalquote
){
  width:100%!important;
}
.page-id-2357 :where(
  .spo-stats-wrap,.spo-juris-wrap,.spp-state-hubs,.spo-guar-wrap,
  .spp-process-wrap,.spo-slider-section
){
  width:calc(100% - 56px)!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Intro / split content */
.page-id-2357 .elementor-element-61337e70{
  display:flex!important;
  align-items:center!important;
  gap:44px!important;
}
.page-id-2357 .elementor-element-1c149b54 .elementor-heading-title{
  color:var(--spo-ink)!important;
}
.page-id-2357 .elementor-element-436def69,
.page-id-2357 .elementor-element-436def69 p{
  color:var(--spo-copy)!important;
  font-size:17px!important;
  line-height:1.72!important;
}

/* White/soft card systems */
.page-id-2357 :where(
  .elementor-element-36ed6d59,
  .elementor-element-3658abff,
  .elementor-element-5b19d810,
  .elementor-element-6bacf8db,
  .elementor-element-602e0411,
  .elementor-element-4adde415,
  .elementor-element-592165de,
  .elementor-element-625c39d2
){
  border:1px solid var(--spo-line)!important;
  border-radius:14px!important;
  background:#FFFFFF!important;
  box-shadow:0 8px 24px rgba(23,88,93,.05)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.page-id-2357 :where(
  .elementor-element-36ed6d59,
  .elementor-element-3658abff,
  .elementor-element-5b19d810,
  .elementor-element-6bacf8db,
  .elementor-element-602e0411,
  .elementor-element-4adde415,
  .elementor-element-592165de,
  .elementor-element-625c39d2
):hover{
  transform:translateY(-4px)!important;
  box-shadow:0 14px 30px rgba(23,88,93,.09)!important;
  border-color:#AFCBCC!important;
}

/* Dark information cards */
.page-id-2357 :where(
  .elementor-element-4a209542,
  .elementor-element-9374075,
  .elementor-element-6fb96c66,
  .elementor-element-25df6bb8
){
  border-radius:14px!important;
  background:var(--spo-teal)!important;
  min-height:240px!important;
  padding:26px!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.page-id-2357 :where(
  .elementor-element-4a209542,
  .elementor-element-9374075,
  .elementor-element-6fb96c66,
  .elementor-element-25df6bb8
):hover{
  transform:translateY(-4px)!important;
  box-shadow:0 14px 30px rgba(16,63,67,.12)!important;
}
.page-id-2357 :where(
  .elementor-element-4a209542,
  .elementor-element-9374075,
  .elementor-element-6fb96c66,
  .elementor-element-25df6bb8
) :where(h3,p,li,strong,span){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}

/* Section kicker styling */
.page-id-2357 :where(
  .elementor-element-7afc74a4,
  .elementor-element-74683cb2,
  .elementor-element-6696a596,
  .elementor-element-3bab9b73
) .elementor-heading-title{
  color:var(--spo-orange)!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}

/* Mid CTA */
.page-id-2357 .elementor-element-543053ef{
  background:var(--spo-teal)!important;
}
.page-id-2357 .elementor-element-1fb37618{
  max-width:1320px!important;
  margin:0 auto!important;
  gap:34px!important;
  align-items:center!important;
}
.page-id-2357 .elementor-element-1a0a94f9 .elementor-heading-title{
  color:#FFFFFF!important;
}
.page-id-2357 .elementor-element-70725334,
.page-id-2357 .elementor-element-70725334 p{
  color:#E6EFEF!important;
  -webkit-text-fill-color:#E6EFEF!important;
  font-size:17px!important;
  line-height:1.7!important;
}

/* Process */
.page-id-2357 .elementor-element-3204d12f{
  background:#F4F7F8!important;
}
.page-id-2357 .spp-process-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.page-id-2357 .spp-process-grid article{
  min-height:220px!important;
  padding:22px!important;
  border:1px solid var(--spo-line)!important;
  border-radius:14px!important;
  background:#FFFFFF!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.page-id-2357 .spp-process-grid article:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 14px 30px rgba(23,88,93,.08)!important;
  border-color:#AFCBCC!important;
}

/* Nationwide dark section */
.page-id-2357 .elementor-element-23a8a60a{
  background:#174E52!important;
}
.page-id-2357 .elementor-element-23a8a60a :where(h2,h3,p,strong){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
.page-id-2357 .elementor-element-13078c50,
.page-id-2357 .elementor-element-13078c50 p{
  color:#DDEAEA!important;
  -webkit-text-fill-color:#DDEAEA!important;
  font-size:17px!important;
}

/* FAQ */
.page-id-2357 .elementor-element-6d392826{
  max-width:1320px!important;
  margin:0 auto!important;
}
.page-id-2357 .elementor-element-4a680361{
  gap:12px!important;
}

/* Sliders */
.page-id-2357 .spo-slider-section{
  width:calc(100% - 56px)!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-id-2357 .spo-slider-head h2{
  font-size:clamp(34px,3.8vw,50px)!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
}

/* Final quote section */
.page-id-2357 .elementor-element-sppfinalquote{
  background:var(--spo-dark)!important;
}
.page-id-2357 .elementor-element-230a80b5{
  max-width:1320px!important;
  margin:0 auto!important;
  gap:36px!important;
  align-items:stretch!important;
}
.page-id-2357 .elementor-element-7e8527e3 .elementor-heading-title{
  color:#FFFFFF!important;
}
.page-id-2357 .elementor-element-426df1f,
.page-id-2357 .elementor-element-426df1f p{
  color:#E6EFEF!important;
  -webkit-text-fill-color:#E6EFEF!important;
  font-size:17px!important;
}
.page-id-2357 .elementor-element-3ea6b505{
  background:#FFFFFF!important;
  border:1px solid var(--spo-line)!important;
  border-radius:14px!important;
  box-shadow:0 14px 30px rgba(23,88,93,.08)!important;
}

/* Buttons match residential */
.page-id-2357 main .elementor-button,
.page-id-2357 main :where(.spp-btn,.spo-juris-actions a,.spp-state-cta>a,.spo-guar-body a,.spp-process-actions a){
  min-height:48px!important;
  border-radius:8px!important;
  font-family:"Poppins",Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.page-id-2357 main .elementor-button:hover,
.page-id-2357 main :where(.spp-btn,.spo-juris-actions a,.spp-state-cta>a,.spo-guar-body a,.spp-process-actions a):hover{
  transform:translateY(-2px)!important;
}

/* Responsive system copied from residential */
@media(max-width:1100px){
  .page-id-2357 .elementor-element-2bdbd607,
  .page-id-2357 .elementor-element-61337e70,
  .page-id-2357 .elementor-element-1fb37618,
  .page-id-2357 .elementor-element-230a80b5{
    flex-direction:column!important;
    gap:28px!important;
  }
  .page-id-2357 .elementor-element-7a46a271,
  .page-id-2357 .elementor-element-71a73ac,
  .page-id-2357 .elementor-element-137ab39c,
  .page-id-2357 .elementor-element-20bc8f58,
  .page-id-2357 .elementor-element-5959a44,
  .page-id-2357 .elementor-element-41ac5e95,
  .page-id-2357 .elementor-element-59cbbd27,
  .page-id-2357 .elementor-element-3ea6b505{
    width:100%!important;
  }
  .page-id-2357 .elementor-element-371fa9ac,
  .page-id-2357 .elementor-element-78e8bf75{
    flex-wrap:wrap!important;
  }
  .page-id-2357 .spp-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .page-id-2357 main :where(p,li){
    font-size:16px!important;
  }
  .page-id-2357 main h1,
  .page-id-2357 .elementor-widget-heading h1.elementor-heading-title{
    font-size:40px!important;
    line-height:1.08!important;
  }
  .page-id-2357 main h2,
  .page-id-2357 .elementor-widget-heading h2.elementor-heading-title,
  .page-id-2357 .spp-process-head h2,
  .page-id-2357 .spo-juris-head h2,
  .page-id-2357 .spp-state-head h2{
    font-size:30px!important;
  }
  .page-id-2357 :where(
    .spo-stats-wrap,.spo-juris-wrap,.spp-state-hubs,.spo-guar-wrap,
    .spp-process-wrap,.spo-slider-section
  ){
    width:calc(100% - 32px)!important;
  }
  .page-id-2357 .elementor-element-311c45cb{
    min-height:auto!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .page-id-2357 .elementor-element-420dee83,
  .page-id-2357 .elementor-element-371fa9ac,
  .page-id-2357 .elementor-element-6d5fc7ae,
  .page-id-2357 .elementor-element-4909930b,
  .page-id-2357 .elementor-element-78e8bf75{
    flex-direction:column!important;
  }
  .page-id-2357 :where(
    .elementor-element-3593b026,.elementor-element-4a76af3f,.elementor-element-72ede4e4,
    .elementor-element-36ed6d59,.elementor-element-3658abff,.elementor-element-5b19d810,.elementor-element-6bacf8db,
    .elementor-element-4a209542,.elementor-element-9374075,.elementor-element-6fb96c66,.elementor-element-25df6bb8,
    .elementor-element-602e0411,.elementor-element-4adde415,.elementor-element-592165de,.elementor-element-625c39d2
  ){
    width:100%!important;
  }
  .page-id-2357 .spp-process-grid{
    grid-template-columns:1fr!important;
  }
  .page-id-2357 .elementor-element-41ac5e95{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .page-id-2357 .elementor-element-41ac5e95 .elementor-button{
    width:100%!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .page-id-2357 main *,
  .page-id-2357 main *:hover{
    transition:none!important;
    animation:none!important;
    transform:none!important;
  }
}


/* =========================================================
   SITE PLAN FOR PERMIT - CARD VISIBILITY REPAIR 2026-10-03
   ========================================================= */

/* WHO NEEDS THIS */
.page-id-2357 .elementor-element-36ed6d59,
.page-id-2357 .elementor-element-3658abff,
.page-id-2357 .elementor-element-5b19d810,
.page-id-2357 .elementor-element-6bacf8db{
  background:#FFFFFF!important;
  border:1px solid #D7E3E4!important;
  border-radius:14px!important;
  min-height:300px!important;
  padding:26px 24px!important;
}
.page-id-2357 .elementor-element-c38db92 :where(.elementor-icon-box-title,.elementor-icon-box-title a),
.page-id-2357 .elementor-element-440b425c :where(.elementor-icon-box-title,.elementor-icon-box-title a),
.page-id-2357 .elementor-element-499e4825 :where(.elementor-icon-box-title,.elementor-icon-box-title a),
.page-id-2357 .elementor-element-4438784e :where(.elementor-icon-box-title,.elementor-icon-box-title a){
  color:#1E262F!important;
  -webkit-text-fill-color:#1E262F!important;
  font-family:"Poppins",sans-serif!important;
  font-size:20px!important;
  line-height:1.35!important;
  font-weight:700!important;
}
.page-id-2357 .elementor-element-c38db92 .elementor-icon-box-description,
.page-id-2357 .elementor-element-440b425c .elementor-icon-box-description,
.page-id-2357 .elementor-element-499e4825 .elementor-icon-box-description,
.page-id-2357 .elementor-element-4438784e .elementor-icon-box-description{
  color:#566168!important;
  -webkit-text-fill-color:#566168!important;
  font-family:"Plus Jakarta Sans",sans-serif!important;
  font-size:15px!important;
  line-height:1.6!important;
}
.page-id-2357 .elementor-element-c38db92 .elementor-icon,
.page-id-2357 .elementor-element-440b425c .elementor-icon,
.page-id-2357 .elementor-element-499e4825 .elementor-icon,
.page-id-2357 .elementor-element-4438784e .elementor-icon{
  background:#E87002!important;
  color:#FFFFFF!important;
}

/* WHY CHOOSE US */
.page-id-2357 .elementor-element-602e0411,
.page-id-2357 .elementor-element-4adde415,
.page-id-2357 .elementor-element-592165de,
.page-id-2357 .elementor-element-625c39d2{
  min-height:340px!important;
  padding:28px 26px!important;
  display:flex!important;
  align-items:stretch!important;
}
.page-id-2357 .elementor-element-23ae1cdc .elementor-icon,
.page-id-2357 .elementor-element-6578fb5b .elementor-icon,
.page-id-2357 .elementor-element-3984f243 .elementor-icon,
.page-id-2357 .elementor-element-baed55 .elementor-icon{
  background:#17585D!important;
  color:#FFFFFF!important;
}
.page-id-2357 .elementor-element-23ae1cdc .elementor-icon-box-title,
.page-id-2357 .elementor-element-6578fb5b .elementor-icon-box-title,
.page-id-2357 .elementor-element-3984f243 .elementor-icon-box-title,
.page-id-2357 .elementor-element-baed55 .elementor-icon-box-title{
  color:#1E262F!important;
  font-family:"Poppins",sans-serif!important;
  font-size:20px!important;
  line-height:1.35!important;
  font-weight:700!important;
}
.page-id-2357 .elementor-element-23ae1cdc .elementor-icon-box-description,
.page-id-2357 .elementor-element-6578fb5b .elementor-icon-box-description,
.page-id-2357 .elementor-element-3984f243 .elementor-icon-box-description,
.page-id-2357 .elementor-element-baed55 .elementor-icon-box-description{
  color:#566168!important;
  font-family:"Plus Jakarta Sans",sans-serif!important;
  font-size:15px!important;
  line-height:1.6!important;
}
@media(max-width:1024px){
  .page-id-2357 .elementor-element-36ed6d59,
  .page-id-2357 .elementor-element-3658abff,
  .page-id-2357 .elementor-element-5b19d810,
  .page-id-2357 .elementor-element-6bacf8db,
  .page-id-2357 .elementor-element-602e0411,
  .page-id-2357 .elementor-element-4adde415,
  .page-id-2357 .elementor-element-592165de,
  .page-id-2357 .elementor-element-625c39d2{
    min-height:auto!important;
  }
}

/* =========================================================
   HOMEPAGE LAYOUT REPAIR 2026-10-03
   Scoped to page 33 only.
   ========================================================= */
.page-id-33 .elementor-element-43affba,
.page-id-33 .elementor-element-b509571,
.page-id-33 .elementor-element-8cf3551,
.page-id-33 .elementor-element-22f5908,
.page-id-33 .elementor-element-e71b296,
.page-id-33 .elementor-element-78e6705{width:100%!important}

.page-id-33 .elementor-element-73587d7{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.page-id-33 .elementor-element-73587d7>.e-con{width:auto!important;min-width:0!important;min-height:0!important;height:100%!important}
.page-id-33 .elementor-element-73587d7 .elementor-heading-title{
  font-family:"Poppins",sans-serif!important;
  font-size:19px!important;line-height:1.22!important;font-weight:700!important;
  letter-spacing:-.018em!important;color:#17585D!important;
}
.page-id-33 .elementor-element-73587d7 .elementor-widget-text-editor,
.page-id-33 .elementor-element-73587d7 .elementor-widget-text-editor p{font-size:14px!important;line-height:1.58!important}
.page-id-33 .elementor-element-73587d7 .elementor-widget-image img{
  width:100%!important;height:180px!important;object-fit:cover!important;border-radius:10px!important
}

.page-id-33 .elementor-element-26b4ac2{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;align-items:stretch!important;
}
.page-id-33 .elementor-element-26b4ac2>.e-con{width:auto!important;min-width:0!important;height:100%!important}
.page-id-33 .elementor-element-26b4ac2 .elementor-widget-image img{width:100%!important;height:180px!important;object-fit:cover!important}
.page-id-33 .elementor-element-26b4ac2 .elementor-heading-title{
  font-family:"Poppins",sans-serif!important;font-size:18px!important;line-height:1.22!important;
  font-weight:700!important;letter-spacing:-.015em!important;color:#17585D!important
}
.page-id-33 .elementor-element-26b4ac2 .elementor-widget-text-editor,
.page-id-33 .elementor-element-26b4ac2 .elementor-widget-text-editor p{font-size:13.5px!important;line-height:1.55!important}

.page-id-33 .elementor-element-bf6f183{
  display:grid!important;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr)!important;
  gap:34px!important;align-items:center!important
}
.page-id-33 .elementor-element-55f6f0b,
.page-id-33 .elementor-element-aa506ce{width:100%!important;min-width:0!important}
.page-id-33 .elementor-element-aa506ce img{width:100%!important;max-height:420px!important;object-fit:cover!important;border-radius:12px!important}

.page-id-33 .spo-review-premium-grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important
}
.page-id-33 .spo-review-premium{min-width:0!important;height:100%!important}
.page-id-33 .spo-google-reviews-shell{width:100%!important;max-width:none!important;overflow:hidden!important}
.page-id-33 .spo-google-reviews-shell .elementor-widget-shortcode,
.page-id-33 .spo-google-reviews-shell .elementor-widget-container{width:100%!important;max-width:100%!important}

.page-id-33 .elementor-element-f161adf{
  display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr)!important;
  gap:34px!important;align-items:start!important
}
.page-id-33 .elementor-element-58dfcc0,
.page-id-33 .elementor-element-63f099e{width:100%!important;min-width:0!important}
.page-id-33 .elementor-element-63f099e{height:auto!important}
.page-id-33 .elementor-element-63f099e .elementor-form{width:100%!important}
.page-id-33 .elementor-field-group{min-width:0!important}
.page-id-33 .elementor-field-textual{width:100%!important;max-width:100%!important}

.page-id-33 :is(.spo-service-body,.spo-who-final-grid,.spo-tools-final-grid,.spo-carousel-card,.spo-package-grid) h3{
  font-family:"Poppins",sans-serif!important;font-size:18px!important;line-height:1.24!important;
  font-weight:700!important;letter-spacing:-.015em!important
}
.page-id-33 .elementor-element-spspecialhome{
  width:100%!important;max-width:1320px!important;margin-inline:auto!important;padding-inline:28px!important
}

@media(max-width:1100px){
  .page-id-33 .elementor-element-73587d7,
  .page-id-33 .elementor-element-26b4ac2,
  .page-id-33 .spo-review-premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-id-33 .elementor-element-bf6f183,
  .page-id-33 .elementor-element-f161adf{grid-template-columns:1fr!important}
}
@media(max-width:767px){
  .page-id-33 .elementor-element-73587d7,
  .page-id-33 .elementor-element-26b4ac2,
  .page-id-33 .spo-review-premium-grid{grid-template-columns:1fr!important;gap:14px!important}
  .page-id-33 .elementor-element-73587d7 .elementor-widget-image img,
  .page-id-33 .elementor-element-26b4ac2 .elementor-widget-image img{height:200px!important}
  .page-id-33 .elementor-element-spspecialhome{padding-inline:18px!important}
}

/* =========================================================
   PE STAMP REVIEW FORM REPAIR 2026-10-03
   Scoped to /pe-stamp/ authority page only.
   ========================================================= */
.spo-pe-page #pe-project-review{
  padding:72px 0!important;
  background:#17585D!important;
}
.spo-pe-page #pe-project-review .spo-pe-form{
  width:calc(100% - 56px)!important;
  max-width:1320px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
  gap:32px!important;
  align-items:stretch!important;
}
.spo-pe-page #pe-project-review .spo-pe-form-copy,
.spo-pe-page #pe-project-review .spo-pe-form-box{
  min-width:0!important;
  width:100%!important;
  background:#FFFFFF!important;
  border:1px solid #D4EDED!important;
  border-radius:10px!important;
}
.spo-pe-page #pe-project-review .spo-pe-form-copy{
  padding:30px!important;
  display:flex!important;
  flex-direction:column!important;
}
.spo-pe-page #pe-project-review .spo-pe-form-copy .spo-pe-kicker{
  color:#E87002!important;
  -webkit-text-fill-color:#E87002!important;
}
.spo-pe-page #pe-project-review .spo-pe-form-copy h2{
  margin:0 0 14px!important;
  color:#17585D!important;
  -webkit-text-fill-color:#17585D!important;
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(38px,3.6vw,52px)!important;
  line-height:1.04!important;
  font-weight:700!important;
  letter-spacing:-.04em!important;
}
.spo-pe-page #pe-project-review .spo-pe-form-copy p{
  margin:0 0 20px!important;
  color:#1A1A1A!important;
  -webkit-text-fill-color:#1A1A1A!important;
  font-family:"Plus Jakarta Sans","Urbanist",system-ui,sans-serif!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.spo-pe-page #pe-project-review .spo-pe-form-copy img{
  display:block!important;
  width:100%!important;
  height:280px!important;
  object-fit:cover!important;
  border-radius:8px!important;
  margin-top:auto!important;
}

.spo-pe-page #pe-project-review .spo-pe-form-box{
  padding:30px!important;
}
.spo-pe-page #pe-project-review .spo-pe-form-box>h3{
  display:block!important;
  margin:0 0 8px!important;
  color:#17585D!important;
  -webkit-text-fill-color:#17585D!important;
  font-family:"Poppins",sans-serif!important;
  font-size:28px!important;
  line-height:1.16!important;
  font-weight:700!important;
}
.spo-pe-page #pe-project-review .spo-pe-form-box>p{
  display:block!important;
  margin:0 0 22px!important;
  color:#1A1A1A!important;
  -webkit-text-fill-color:#1A1A1A!important;
  font-family:"Plus Jakarta Sans","Urbanist",system-ui,sans-serif!important;
  font-size:14.5px!important;
  line-height:1.6!important;
}
.spo-pe-page #pe-project-review .spo-v2-form-card{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.spo-pe-page #pe-project-review .spo-v2-form-head{
  display:none!important;
}
.spo-pe-page #pe-project-review .spo-v2-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:16px!important;
  width:100%!important;
  margin:0!important;
}
.spo-pe-page #pe-project-review .spo-v2-form-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  margin:0!important;
}
.spo-pe-page #pe-project-review .spo-v2-form label{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:#1A1A1A!important;
  -webkit-text-fill-color:#1A1A1A!important;
  font-family:"Poppins",sans-serif!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:700!important;
}
.spo-pe-page #pe-project-review .spo-v2-form label b{
  color:#E87002!important;
  -webkit-text-fill-color:#E87002!important;
}
.spo-pe-page #pe-project-review .spo-v2-form input:not([type="hidden"]):not([type="file"]),
.spo-pe-page #pe-project-review .spo-v2-form select,
.spo-pe-page #pe-project-review .spo-v2-form textarea{
  display:block!important;
  float:none!important;
  position:static!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  border:1px solid #D4EDED!important;
  border-radius:8px!important;
  background:#FFFFFF!important;
  color:#1A1A1A!important;
  -webkit-text-fill-color:#1A1A1A!important;
  font-family:"Plus Jakarta Sans","Urbanist",system-ui,sans-serif!important;
  font-size:14px!important;
  line-height:1.45!important;
  box-shadow:none!important;
}
.spo-pe-page #pe-project-review .spo-v2-form input:not([type="hidden"]):not([type="file"]),
.spo-pe-page #pe-project-review .spo-v2-form select{
  height:48px!important;
  padding:0 13px!important;
}
.spo-pe-page #pe-project-review .spo-v2-form textarea{
  min-height:126px!important;
  padding:12px 13px!important;
  resize:vertical!important;
}
.spo-pe-page #pe-project-review .spo-v2-form input::placeholder,
.spo-pe-page #pe-project-review .spo-v2-form textarea::placeholder{
  color:#1A1A1A!important;
  -webkit-text-fill-color:#1A1A1A!important;
  opacity:.5!important;
}
.spo-pe-page #pe-project-review .spo-v2-form input[type="file"]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:48px!important;
  padding:10px 12px!important;
  margin:0!important;
  border:1px dashed #D4EDED!important;
  border-radius:8px!important;
  background:#F7FAFA!important;
  color:#1A1A1A!important;
  -webkit-text-fill-color:#1A1A1A!important;
  font-family:"Plus Jakarta Sans","Urbanist",system-ui,sans-serif!important;
  font-size:13px!important;
}
.spo-pe-page #pe-project-review .spo-v2-form button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:52px!important;
  padding:0 18px!important;
  margin:0!important;
  border:0!important;
  border-radius:8px!important;
  background:#E87002!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  font-family:"Poppins",sans-serif!important;
  font-size:13px!important;
  line-height:1.15!important;
  font-weight:700!important;
  cursor:pointer!important;
}
.spo-pe-page #pe-project-review .spo-v2-form button:hover{
  background:#17585D!important;
}
.spo-pe-page #pe-project-review .spo-v2-form small{
  display:block!important;
  width:100%!important;
  margin:0!important;
  color:#1A1A1A!important;
  -webkit-text-fill-color:#1A1A1A!important;
  font-size:11.5px!important;
  line-height:1.5!important;
  text-align:center!important;
}
@media(max-width:1100px){
  .spo-pe-page #pe-project-review .spo-pe-form{
    grid-template-columns:1fr!important;
  }
  .spo-pe-page #pe-project-review .spo-pe-form-copy img{
    height:320px!important;
    margin-top:20px!important;
  }
}
@media(max-width:700px){
  .spo-pe-page #pe-project-review{
    padding:52px 0!important;
  }
  .spo-pe-page #pe-project-review .spo-pe-form{
    width:calc(100% - 32px)!important;
  }
  .spo-pe-page #pe-project-review .spo-pe-form-copy,
  .spo-pe-page #pe-project-review .spo-pe-form-box{
    padding:22px!important;
  }
  .spo-pe-page #pe-project-review .spo-pe-form-copy h2{
    font-size:34px!important;
  }
  .spo-pe-page #pe-project-review .spo-pe-form-copy img{
    height:220px!important;
  }
  .spo-pe-page #pe-project-review .spo-pe-form-box>h3{
    font-size:24px!important;
  }
  .spo-pe-page #pe-project-review .spo-v2-form-row{
    grid-template-columns:1fr!important;
  }
}

/* =========================================================
   HOMEPAGE TWO-SECTION DEFINITIVE RESET 2026-10-03
   Permit Comments + Final Project Review
   ========================================================= */

/* Full-width teal parents keep a centered 1320 rail. */
.page-id-33 .elementor-element-22f5908,
.page-id-33 .elementor-element-78e6705{
  width:100%!important;
  max-width:none!important;
  --width:100%!important;
  --content-width:1320px!important;
}
.page-id-33 .elementor-element-22f5908>.e-con-inner,
.page-id-33 .elementor-element-78e6705>.e-con-inner{
  width:calc(100% - 56px)!important;
  max-width:1320px!important;
  margin-inline:auto!important;
}

/* Remove Elementor boxed-width constraints from the nested section containers. */
.page-id-33 .elementor-element-bf6f183,
.page-id-33 .elementor-element-f161adf{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  --width:100%!important;
  --content-width:100%!important;
  flex:1 1 100%!important;
  margin:0!important;
}
.page-id-33 .elementor-element-bf6f183>.e-con-inner,
.page-id-33 .elementor-element-f161adf>.e-con-inner{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

/* Permit comments: true 50/50-ish desktop layout. */
.page-id-33 .elementor-element-bf6f183>.e-con-inner{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:56px!important;
  align-items:center!important;
}
.page-id-33 .elementor-element-55f6f0b,
.page-id-33 .elementor-element-aa506ce{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  --width:100%!important;
  --content-width:100%!important;
  flex:1 1 auto!important;
  margin:0!important;
}
.page-id-33 .elementor-element-55f6f0b>.e-con-inner,
.page-id-33 .elementor-element-aa506ce>.e-con-inner{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.page-id-33 .elementor-element-68a1676 .elementor-heading-title{
  max-width:560px!important;
  margin:0!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(38px,3.5vw,50px)!important;
  line-height:1.06!important;
  font-weight:700!important;
  letter-spacing:-.035em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.page-id-33 .elementor-element-55f6f0b .elementor-widget-text-editor,
.page-id-33 .elementor-element-55f6f0b .elementor-widget-text-editor p{
  max-width:600px!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  font-size:16px!important;
  line-height:1.72!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.page-id-33 .elementor-element-aa506ce img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:440px!important;
  object-fit:contain!important;
  border-radius:10px!important;
}
.page-id-33 .elementor-element-8fb5527{
  width:100%!important;
  max-width:none!important;
  --width:100%!important;
  --content-width:100%!important;
  margin-top:22px!important;
}
.page-id-33 .elementor-element-8fb5527>.e-con-inner{
  width:100%!important;
  max-width:100%!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
}
.page-id-33 .elementor-element-8fb5527 .elementor-widget-button{
  width:auto!important;
  flex:0 0 auto!important;
}
.page-id-33 .elementor-element-8fb5527 .elementor-button{
  min-width:190px!important;
  min-height:50px!important;
}

/* Final project-review CTA: broad content + broad form. */
.page-id-33 .elementor-element-f161adf>.e-con-inner{
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
  gap:48px!important;
  align-items:start!important;
}
.page-id-33 .elementor-element-58dfcc0,
.page-id-33 .elementor-element-63f099e{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  --width:100%!important;
  --content-width:100%!important;
  flex:1 1 auto!important;
  margin:0!important;
}
.page-id-33 .elementor-element-58dfcc0>.e-con-inner,
.page-id-33 .elementor-element-63f099e>.e-con-inner{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.page-id-33 .elementor-element-58dfcc0{
  padding:0!important;
}
.page-id-33 .elementor-element-58dfcc0 .elementor-heading-title{
  max-width:540px!important;
  margin:0!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(38px,3.5vw,50px)!important;
  line-height:1.06!important;
  font-weight:700!important;
  letter-spacing:-.035em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.page-id-33 .elementor-element-58dfcc0 .elementor-widget-text-editor,
.page-id-33 .elementor-element-58dfcc0 .elementor-widget-text-editor p{
  max-width:560px!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  font-size:16px!important;
  line-height:1.68!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.page-id-33 .spo-cta-contact-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  margin:22px 0 0!important;
}
.page-id-33 .spo-cta-contact-grid>a,
.page-id-33 .spo-cta-contact-grid>div{
  min-width:0!important;
  padding:16px!important;
}
.page-id-33 .spo-cta-contact-grid span{
  overflow-wrap:anywhere!important;
}
.page-id-33 .elementor-element-63f099e{
  padding:32px!important;
  background:#FFFFFF!important;
  border-radius:10px!important;
}
.page-id-33 .elementor-element-63f099e .elementor-heading-title{
  color:#17585D!important;
  -webkit-text-fill-color:#17585D!important;
  font-family:"Poppins",sans-serif!important;
  font-size:30px!important;
  line-height:1.14!important;
}
.page-id-33 .elementor-element-63f099e .elementor-widget-text-editor,
.page-id-33 .elementor-element-63f099e .elementor-widget-text-editor p{
  color:#1A1A1A!important;
  -webkit-text-fill-color:#1A1A1A!important;
  font-size:14px!important;
  line-height:1.6!important;
}
.page-id-33 .elementor-element-63f099e .elementor-form{
  width:100%!important;
  max-width:none!important;
}
.page-id-33 .elementor-element-63f099e .elementor-form-fields-wrapper{
  width:100%!important;
}
.page-id-33 .elementor-element-63f099e .elementor-field-group{
  min-width:0!important;
}
.page-id-33 .elementor-element-63f099e .elementor-field-textual{
  width:100%!important;
  max-width:100%!important;
  min-height:48px!important;
}
.page-id-33 .elementor-element-63f099e textarea.elementor-field-textual{
  min-height:120px!important;
}
.page-id-33 .elementor-element-63f099e .elementor-field-type-submit .elementor-button{
  width:100%!important;
  min-height:52px!important;
}

/* Tablet/mobile */
@media(max-width:1100px){
  .page-id-33 .elementor-element-bf6f183>.e-con-inner,
  .page-id-33 .elementor-element-f161adf>.e-con-inner{
    grid-template-columns:1fr!important;
    gap:32px!important;
  }
}
@media(max-width:767px){
  .page-id-33 .elementor-element-22f5908>.e-con-inner,
  .page-id-33 .elementor-element-78e6705>.e-con-inner{
    width:calc(100% - 36px)!important;
  }
  .page-id-33 .elementor-element-68a1676 .elementor-heading-title,
  .page-id-33 .elementor-element-58dfcc0 .elementor-heading-title{
    font-size:32px!important;
  }
  .page-id-33 .elementor-element-8fb5527>.e-con-inner,
  .page-id-33 .spo-cta-contact-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .page-id-33 .elementor-element-8fb5527 .elementor-widget-button,
  .page-id-33 .elementor-element-8fb5527 .elementor-button{
    width:100%!important;
  }
  .page-id-33 .elementor-element-63f099e{
    padding:22px 18px!important;
  }
  .page-id-33 .elementor-element-63f099e .elementor-field-group.elementor-column.elementor-col-50{
    width:100%!important;
  }
}

/* =========================================================
   HOMEPAGE FLAT SECTION REBUILD 2026-10-03
   Replaces broken nested Elementor layouts.
   ========================================================= */
.page-id-33 .spo-home-flat-section{
  width:100%;
  background:#17585D;
  padding:68px 0;
  font-family:"Plus Jakarta Sans","Urbanist",system-ui,sans-serif;
}
.page-id-33 .spo-home-flat-rail{
  width:calc(100% - 56px);
  max-width:1320px;
  margin:0 auto;
}
.page-id-33 .spo-home-flat-grid,
.page-id-33 .spo-home-flat-review-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:56px;
  align-items:center;
}
.page-id-33 .spo-home-flat-copy{
  min-width:0;
}
.page-id-33 .spo-home-flat-copy h2{
  margin:0 0 18px;
  max-width:620px;
  color:#FFFFFF;
  font-family:"Poppins",sans-serif;
  font-size:clamp(40px,4vw,54px);
  line-height:1.04;
  font-weight:700;
  letter-spacing:-.04em;
}
.page-id-33 .spo-home-flat-copy>p{
  margin:0;
  max-width:620px;
  color:#FFFFFF;
  font-size:16px;
  line-height:1.72;
}
.page-id-33 .spo-home-flat-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.page-id-33 .spo-home-flat-actions a,
.page-id-33 .spo-home-flat-fallback{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 18px;
  border:1px solid #FFFFFF;
  border-radius:8px;
  color:#17585D;
  background:#FFFFFF;
  text-decoration:none;
  font-family:"Poppins",sans-serif;
  font-size:12px;
  font-weight:700;
}
.page-id-33 .spo-home-flat-actions a.primary{
  color:#FFFFFF;
  background:#E87002;
  border-color:#E87002;
}
.page-id-33 .spo-home-flat-media{
  min-width:0;
}
.page-id-33 .spo-home-flat-media img{
  display:block;
  width:100%;
  height:auto;
  max-height:440px;
  object-fit:contain;
  border-radius:10px;
}
.page-id-33 .spo-home-flat-review-grid{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  align-items:start;
}
.page-id-33 .spo-home-flat-contact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:24px;
}
.page-id-33 .spo-home-flat-contact-grid>a,
.page-id-33 .spo-home-flat-contact-grid>div{
  min-width:0;
  padding:16px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:8px;
  background:rgba(255,255,255,.08);
  color:#FFFFFF;
  text-decoration:none;
}
.page-id-33 .spo-home-flat-contact-grid strong{
  display:block;
  margin-bottom:5px;
  font-family:"Poppins",sans-serif;
  font-size:13px;
}
.page-id-33 .spo-home-flat-contact-grid span{
  display:block;
  color:#FFFFFF;
  font-size:12px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.page-id-33 .spo-home-flat-sendbox{
  margin-top:14px;
  padding:16px;
  border-left:3px solid #E87002;
  border-radius:0 8px 8px 0;
  background:rgba(255,255,255,.08);
  color:#FFFFFF;
}
.page-id-33 .spo-home-flat-sendbox strong{
  display:block;
  margin-bottom:6px;
  font-family:"Poppins",sans-serif;
  font-size:13px;
}
.page-id-33 .spo-home-flat-sendbox span{
  display:block;
  color:#FFFFFF;
  font-size:12px;
  line-height:1.55;
}
.page-id-33 .spo-home-flat-drafting{
  display:block;
  width:100%;
  max-width:520px;
  height:220px;
  object-fit:cover;
  margin-top:18px;
  border-radius:8px;
}
.page-id-33 .spo-home-flat-form{
  min-width:0;
  width:100%;
  padding:32px;
  background:#FFFFFF;
  border-radius:10px;
}
.page-id-33 .spo-home-flat-form>h3{
  margin:0 0 8px;
  color:#17585D;
  font-family:"Poppins",sans-serif;
  font-size:30px;
  line-height:1.15;
}
.page-id-33 .spo-home-flat-form>p{
  margin:0 0 22px;
  color:#1A1A1A;
  font-size:14px;
  line-height:1.6;
}
.page-id-33 .spo-home-flat-form .spo-v2-form-card{
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.page-id-33 .spo-home-flat-form .spo-v2-form-head{
  display:none;
}
.page-id-33 .spo-home-flat-form .spo-v2-form{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  width:100%;
}
.page-id-33 .spo-home-flat-form .spo-v2-form-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  width:100%;
}
.page-id-33 .spo-home-flat-form .spo-v2-form label{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  width:100%;
  min-width:0;
  margin:0;
  color:#1A1A1A;
  font-family:"Poppins",sans-serif;
  font-size:13px;
  line-height:1.35;
  font-weight:600;
}
.page-id-33 .spo-home-flat-form .spo-v2-form input:not([type="hidden"]):not([type="file"]),
.page-id-33 .spo-home-flat-form .spo-v2-form select,
.page-id-33 .spo-home-flat-form .spo-v2-form textarea{
  display:block;
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  border:1px solid #D4EDED;
  border-radius:8px;
  background:#FFFFFF;
  color:#1A1A1A;
  font-family:"Plus Jakarta Sans","Urbanist",system-ui,sans-serif;
  font-size:14px;
  box-shadow:none;
}
.page-id-33 .spo-home-flat-form .spo-v2-form input:not([type="hidden"]):not([type="file"]),
.page-id-33 .spo-home-flat-form .spo-v2-form select{
  height:48px;
  padding:0 13px;
}
.page-id-33 .spo-home-flat-form .spo-v2-form textarea{
  min-height:120px;
  padding:12px 13px;
  resize:vertical;
}
.page-id-33 .spo-home-flat-form .spo-v2-form input[type="file"]{
  width:100%;
  min-height:48px;
  padding:10px 12px;
  border:1px dashed #D4EDED;
  border-radius:8px;
  background:#F7FAFA;
  font-size:13px;
}
.page-id-33 .spo-home-flat-form .spo-v2-form button{
  width:100%;
  min-height:52px;
  padding:0 18px;
  border:0;
  border-radius:8px;
  background:#E87002;
  color:#FFFFFF;
  font-family:"Poppins",sans-serif;
  font-size:13px;
  font-weight:700;
}
.page-id-33 .spo-home-flat-form .spo-v2-form small{
  display:block;
  color:#1A1A1A;
  font-size:11px;
  line-height:1.45;
  text-align:center;
}
@media(max-width:1100px){
  .page-id-33 .spo-home-flat-grid,
  .page-id-33 .spo-home-flat-review-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .page-id-33 .spo-home-flat-drafting{
    max-width:none;
  }
}
@media(max-width:767px){
  .page-id-33 .spo-home-flat-section{
    padding:48px 0;
  }
  .page-id-33 .spo-home-flat-rail{
    width:calc(100% - 36px);
  }
  .page-id-33 .spo-home-flat-copy h2{
    font-size:34px;
  }
  .page-id-33 .spo-home-flat-actions,
  .page-id-33 .spo-home-flat-contact-grid,
  .page-id-33 .spo-home-flat-form .spo-v2-form-row{
    grid-template-columns:1fr;
  }
  .page-id-33 .spo-home-flat-actions{
    display:grid;
  }
  .page-id-33 .spo-home-flat-actions a{
    width:100%;
  }
  .page-id-33 .spo-home-flat-form{
    padding:22px 18px;
  }
}

/* =========================================================
   TEXAS COUNTY + CITY TEMPLATE REDESIGN 2026-10-04
   Safe CSS-only layer. No PHP template structure changes.
   ========================================================= */

/* ----- Texas county pages ----- */
body.single-texas .spc{
  --tx-bg:#FFFFFF;
  --tx-soft:#F7FAFA;
  --tx-ink:#1A1A1A;
  --tx-orange:#E87002;
  --tx-teal:#17585D;
  --tx-line:#D4EDED;
  color:var(--tx-ink)!important;
  font-family:"Plus Jakarta Sans","Urbanist",-apple-system,system-ui,sans-serif!important;
}
body.single-texas .spc *{box-sizing:border-box}
body.single-texas .spc h1,
body.single-texas .spc h2,
body.single-texas .spc h3,
body.single-texas .spc h4{
  font-family:"Poppins",sans-serif!important;
}
body.single-texas .spc-wrap{
  width:calc(100% - 56px)!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Cleaner hero */
body.single-texas .spc-hero{
  min-height:600px!important;
  padding:48px 0!important;
}
body.single-texas .spc-hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.72fr)!important;
  gap:48px!important;
  align-items:center!important;
}
body.single-texas .spc-hero-copy h1{
  max-width:800px!important;
  margin-bottom:18px!important;
  font-size:clamp(46px,5vw,66px)!important;
  line-height:1.01!important;
  font-weight:700!important;
  letter-spacing:-.045em!important;
}
body.single-texas .spc-hero-copy>p{
  max-width:760px!important;
  font-size:17px!important;
  line-height:1.7!important;
}
body.single-texas .spc-map-card,
body.single-texas .spc-hero-badges>div{
  border-radius:10px!important;
  box-shadow:none!important;
}
body.single-texas .spc-map-card{
  box-shadow:0 14px 34px rgba(23,88,93,.12)!important;
}

/* Compact service strip */
body.single-texas .spc-service-strip{
  background:#FFFFFF!important;
  border-bottom:1px solid var(--tx-line)!important;
}
body.single-texas .spc-service-strip>.spc-wrap{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
body.single-texas .spc-service-strip>.spc-wrap>div{
  min-width:0!important;
  padding:19px 14px!important;
}
body.single-texas .spc-service-strip b{
  color:var(--tx-teal)!important;
  font-size:14px!important;
}
body.single-texas .spc-service-strip span{
  color:#5C696D!important;
  font-size:12px!important;
  line-height:1.45!important;
}

/* Remove the old left sidebar completely. */
body.single-texas .spc-main{
  padding:60px 0 68px!important;
  background:#FFFFFF!important;
}
body.single-texas .spc-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 360px!important;
  gap:42px!important;
  align-items:start!important;
}
body.single-texas .spc-left{
  display:none!important;
}
body.single-texas .spc-article{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}
body.single-texas .spc-article>p,
body.single-texas .spc-article>ul,
body.single-texas .spc-article>ol,
body.single-texas .spc-article>blockquote{
  max-width:920px!important;
  color:var(--tx-ink)!important;
  font-size:16.5px!important;
  line-height:1.76!important;
}
body.single-texas .spc-article>p{margin-bottom:20px!important}
body.single-texas .spc-article>h2{
  margin:48px 0 15px!important;
  color:var(--tx-teal)!important;
  font-size:clamp(31px,3vw,42px)!important;
  line-height:1.08!important;
  font-weight:700!important;
  letter-spacing:-.035em!important;
}
body.single-texas .spc-article>h2:first-child{margin-top:0!important}
body.single-texas .spc-article>h3{
  margin:30px 0 11px!important;
  color:var(--tx-teal)!important;
  font-size:24px!important;
  line-height:1.18!important;
  font-weight:700!important;
}
body.single-texas .spc-article li{margin:6px 0!important}
body.single-texas .spc-article li::marker{color:var(--tx-orange)!important}
body.single-texas .spc-article blockquote{
  margin:28px 0!important;
  padding:18px 20px!important;
  border-left:4px solid var(--tx-orange)!important;
  border-radius:0 8px 8px 0!important;
  background:var(--tx-soft)!important;
}

/* Right-side review card */
body.single-texas .spc-right{
  position:sticky!important;
  top:104px!important;
  align-self:start!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
body.single-texas .spc-form{
  width:100%!important;
  max-height:none!important;
  overflow:visible!important;
  padding:24px!important;
  border:1px solid var(--tx-line)!important;
  border-radius:10px!important;
  background:#FFFFFF!important;
  box-shadow:0 12px 28px rgba(23,88,93,.07)!important;
}
body.single-texas .spc-form:before{
  content:"";
  display:block;
  width:42px;
  height:4px;
  margin-bottom:14px;
  border-radius:999px;
  background:var(--tx-orange);
}
body.single-texas .spc-form h2{
  margin:0 0 8px!important;
  color:var(--tx-teal)!important;
  font-size:29px!important;
  line-height:1.06!important;
  font-weight:700!important;
}
body.single-texas .spc-form>p{
  margin:0 0 16px!important;
  color:#526166!important;
  font-size:13.5px!important;
  line-height:1.55!important;
}
body.single-texas .spc-form form{
  display:grid!important;
  gap:10px!important;
}
body.single-texas .spc-form label{
  color:var(--tx-ink)!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:700!important;
}
body.single-texas .spc-form input,
body.single-texas .spc-form select,
body.single-texas .spc-form textarea{
  width:100%!important;
  max-width:100%!important;
  border:1px solid #C9DADB!important;
  border-radius:7px!important;
  background:#FFFFFF!important;
  color:var(--tx-ink)!important;
  font-family:"Plus Jakarta Sans","Urbanist",-apple-system,system-ui,sans-serif!important;
  font-size:14px!important;
  box-shadow:none!important;
}
body.single-texas .spc-form input,
body.single-texas .spc-form select{
  min-height:46px!important;
  height:46px!important;
}
body.single-texas .spc-form textarea{
  min-height:96px!important;
  height:auto!important;
}
body.single-texas .spc-form button{
  min-height:50px!important;
  border-radius:7px!important;
  background:var(--tx-orange)!important;
  color:#FFFFFF!important;
  font-size:12px!important;
  font-weight:800!important;
}
body.single-texas .spc-trust-card{
  margin-top:12px!important;
  border:1px solid var(--tx-line)!important;
  border-radius:10px!important;
  background:var(--tx-soft)!important;
  box-shadow:none!important;
}

/* Inline CTA */
body.single-texas .spc-inline{
  margin-top:44px!important;
  padding:26px!important;
  border-radius:10px!important;
  background:var(--tx-teal)!important;
  box-shadow:none!important;
}
body.single-texas .spc-inline h2{
  margin:0 0 8px!important;
  color:#FFFFFF!important;
  font-size:30px!important;
  line-height:1.1!important;
}
body.single-texas .spc-inline p{
  margin:0!important;
  color:#FFFFFF!important;
  font-size:14px!important;
  line-height:1.6!important;
}
body.single-texas .spc-inline>a{
  border-radius:7px!important;
  background:var(--tx-orange)!important;
}

/* New Texas authority block */
body.single-texas .tx-auth{
  margin:46px 0 0!important;
  padding:28px!important;
  border:1px solid var(--tx-line)!important;
  border-radius:10px!important;
  background:var(--tx-soft)!important;
  box-shadow:none!important;
}
body.single-texas .tx-auth-feature,
body.single-texas .tx-auth-pe,
body.single-texas .tx-auth-cards>a{
  border-radius:10px!important;
  box-shadow:none!important;
}
body.single-texas .tx-auth-cards{
  gap:14px!important;
}
body.single-texas .tx-auth-cards img{
  height:180px!important;
}

/* Deliverables */
body.single-texas .tx-deliverables{
  margin-top:42px!important;
  padding:28px!important;
  border:1px solid var(--tx-line)!important;
  border-radius:10px!important;
  background:var(--tx-soft)!important;
  box-shadow:none!important;
}
body.single-texas .tx-deliv-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
body.single-texas .tx-deliv-list>div{
  min-height:130px!important;
  padding:18px!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
body.single-texas .tx-deliv-list strong{
  font-size:16px!important;
}
body.single-texas .tx-deliv-visual{
  border-radius:10px!important;
  box-shadow:none!important;
}

/* Shared service cards */
body.single-texas .spc-services{
  padding:72px 0!important;
  background:var(--tx-soft)!important;
}
body.single-texas .spc-head{
  max-width:880px!important;
  margin:0 auto 30px!important;
}
body.single-texas .spc-head h2{
  color:var(--tx-teal)!important;
  font-size:clamp(34px,3.5vw,48px)!important;
  line-height:1.07!important;
}
body.single-texas .spc-service-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
body.single-texas .spc-service-grid>a{
  min-width:0!important;
  padding:0 0 18px!important;
  border:1px solid var(--tx-line)!important;
  border-radius:10px!important;
  background:#FFFFFF!important;
  box-shadow:none!important;
}
body.single-texas .spc-service-grid>a img{
  display:block!important;
  width:100%!important;
  height:205px!important;
  margin:0 0 16px!important;
  object-fit:cover!important;
  border-radius:10px 10px 0 0!important;
}
body.single-texas .spc-service-grid>a h3{
  padding:0 18px!important;
  color:var(--tx-teal)!important;
  font-size:19px!important;
  line-height:1.2!important;
  font-weight:700!important;
}
body.single-texas .spc-service-grid>a p{
  padding:0 18px!important;
  color:#526166!important;
  font-size:13.5px!important;
  line-height:1.55!important;
}

/* Cases / related */
body.single-texas .spc-cases,
body.single-texas .spc-related{
  padding:72px 0!important;
}
body.single-texas .spc-case-track,
body.single-texas .spc-related-grid{
  gap:18px!important;
}
body.single-texas .spc-case-track>a,
body.single-texas .spc-related-grid>a{
  border:1px solid var(--tx-line)!important;
  border-radius:10px!important;
  box-shadow:none!important;
  transition:transform .18s ease,border-color .18s ease!important;
}
body.single-texas .spc-case-track>a:hover,
body.single-texas .spc-related-grid>a:hover{
  transform:translateY(-2px)!important;
  border-color:var(--tx-orange)!important;
  box-shadow:none!important;
}

/* Engineer block */
body.single-texas .spc-engineer{
  padding:72px 0!important;
  background:#FFFFFF!important;
}
body.single-texas .spc-engineer-grid{
  grid-template-columns:360px minmax(0,1fr)!important;
  gap:42px!important;
  align-items:center!important;
}
body.single-texas .spc-engineer-grid img{
  width:100%!important;
  max-width:360px!important;
  border-radius:10px!important;
}
body.single-texas .spc-engineer h2{
  color:var(--tx-teal)!important;
  font-size:clamp(32px,3vw,44px)!important;
  line-height:1.08!important;
}

/* Remove floating quick contact on desktop; footer/contact CTA already cover it. */
@media(min-width:768px){
  body.single-texas .tx-quick-contact{display:none!important}
}

/* ----- Major Texas city pages ----- */
body.page .txc-page{
  font-family:"Plus Jakarta Sans","Urbanist",-apple-system,system-ui,sans-serif!important;
}
body.page .txc-page .txc-rail{
  width:calc(100% - 56px)!important;
  max-width:1320px!important;
}
body.page .txc-page h1,
body.page .txc-page h2,
body.page .txc-page h3{
  font-family:"Poppins",sans-serif!important;
}
body.page .txc-page .txc-section{
  padding:72px 0!important;
}
body.page .txc-page .txc-service,
body.page .txc-page .txc-authority-grid>a,
body.page .txc-page .txc-process article{
  border-radius:10px!important;
  box-shadow:none!important;
}
body.page .txc-page .txc-form{
  border-radius:10px!important;
  box-shadow:0 12px 28px rgba(23,88,93,.07)!important;
}

/* ----- Responsive ----- */
@media(max-width:1100px){
  body.single-texas .spc-hero-grid{
    grid-template-columns:1fr!important;
  }
  body.single-texas .spc-layout{
    grid-template-columns:1fr!important;
  }
  body.single-texas .spc-right{
    position:static!important;
    top:auto!important;
  }
  body.single-texas .spc-service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.single-texas .spc-engineer-grid{
    grid-template-columns:280px minmax(0,1fr)!important;
  }
}
@media(max-width:767px){
  body.single-texas .spc-wrap,
  body.page .txc-page .txc-rail{
    width:calc(100% - 32px)!important;
  }
  body.single-texas .spc-hero{
    min-height:auto!important;
    padding:34px 0 28px!important;
  }
  body.single-texas .spc-hero-copy h1{
    font-size:40px!important;
  }
  body.single-texas .spc-service-strip>.spc-wrap{
    grid-template-columns:1fr 1fr!important;
  }
  body.single-texas .spc-main{
    padding:38px 0 48px!important;
  }
  body.single-texas .spc-service-grid,
  body.single-texas .tx-deliv-list{
    grid-template-columns:1fr!important;
  }
  body.single-texas .spc-engineer-grid{
    grid-template-columns:1fr!important;
  }
  body.single-texas .spc-engineer-grid img{
    max-width:260px!important;
  }
}
