/*
Theme Name: Exterior Staining Pros
Description: Native lightweight WordPress theme for Exterior Staining Pros.
Version: 5.14.24
Text Domain: exterior-staining-pros
*/
:root{--esp-char:#1f251e;--esp-char2:#2d332a;--esp-brown:#8b4b24;--esp-brown-dark:#633317;--esp-copper:#a66232;--esp-cream:#f4f0e8;--esp-sand:#e7ddcf;--esp-white:#fff;--esp-text:#292a25;--esp-muted:#65665f;--esp-border:#d8d1c5;--esp-green:#455345;--esp-max:1200px;--esp-radius:22px;--esp-shadow:0 18px 48px rgba(29,36,29,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:132px}body{margin:0;background:#fff;color:var(--esp-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased}a{color:var(--esp-brown-dark)}img,svg{max-width:100%;height:auto}button,input,textarea,select{font:inherit}.esp-container{width:min(var(--esp-max),calc(100% - 44px));margin-inline:auto}.esp-content-medium{max-width:880px;margin-inline:auto}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{width:auto;height:auto;clip:auto;margin:8px;padding:10px 14px;z-index:9999;background:#fff;color:#111}.esp-topbar{background:#1d231c;color:#fff;font-size:.88rem}.esp-topbar .esp-container{min-height:40px;display:flex;justify-content:space-between;align-items:center;gap:20px}.esp-topbar a{color:#fff;text-decoration:none;font-weight:850}.esp-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.98);border-bottom:1px solid rgba(29,36,29,.10);box-shadow:0 5px 20px rgba(29,36,29,.06);backdrop-filter:blur(10px)}.admin-bar .esp-header{top:32px}.esp-header-main{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.esp-logo-link{display:flex;align-items:center;width:190px;height:78px;flex:0 0 auto}.esp-logo{display:block;width:190px;max-height:76px;object-fit:contain}.esp-nav{margin-left:auto}.esp-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:20px}.esp-menu>li{position:relative}.esp-menu>li>a{display:block;padding:22px 0;color:var(--esp-char);font-size:.93rem;font-weight:800;text-decoration:none;white-space:nowrap}.esp-menu>li>a:hover,.esp-menu>li>a:focus-visible{color:var(--esp-brown)}.esp-estimate-nav{padding:13px 20px!important;border-radius:999px;background:var(--esp-brown)!important;color:#fff!important;box-shadow:0 10px 24px rgba(139,75,36,.20)}.esp-mobile-plus{display:none}.esp-desktop-submenu{position:absolute;top:calc(100% - 8px);left:50%;width:650px;padding:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px;background:#fff;border:1px solid var(--esp-border);border-radius:18px;box-shadow:var(--esp-shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-8px);transition:.16s ease}.has-submenu:hover>.esp-desktop-submenu,.has-submenu:focus-within>.esp-desktop-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.esp-desktop-submenu a{padding:10px 12px;border-radius:10px;color:var(--esp-char);font-size:.91rem;font-weight:700;text-decoration:none;line-height:1.3}.esp-desktop-submenu a:hover,.esp-desktop-submenu a:focus-visible{background:var(--esp-cream);color:var(--esp-brown)}.esp-mobile-toggle{display:none;width:48px;height:44px;border:0;border-radius:10px;background:var(--esp-cream);padding:11px}.esp-mobile-toggle span:not(.screen-reader-text){display:block;height:2px;background:var(--esp-char);margin:5px 0}.esp-breadcrumbs{padding:18px 0 4px;font-size:.88rem;color:#6b6b64}.esp-breadcrumbs a{text-decoration:none}.esp-breadcrumbs span{margin:0 4px}.esp-hero{padding:46px 0 68px;background:linear-gradient(135deg,#fff 0%,#f5f1e9 100%);border-bottom:1px solid #e2d9cc}.esp-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:58px;align-items:center}.esp-hero-copy h1{font-size:clamp(2.3rem,4.6vw,4.25rem);line-height:1.02;letter-spacing:-.045em;margin:.16em 0 .42em;color:var(--esp-char)}.esp-hero-copy>p:not(.esp-copy-cta){font-size:1.05rem;max-width:760px}.esp-eyebrow{display:inline-flex;padding:7px 12px;border:1px solid #c6ae92;border-radius:999px;background:#eee4d8;color:#6a3a20;font-weight:900;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.esp-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border:0;border-radius:999px;font-weight:850;text-decoration:none;cursor:pointer;line-height:1.2}.esp-button-primary{background:var(--esp-brown);color:#fff!important;box-shadow:0 10px 24px rgba(139,75,36,.22)}.esp-button-primary:hover{background:var(--esp-brown-dark)}.esp-button-secondary{background:#fff;color:var(--esp-char)!important;border:1px solid var(--esp-border)}.esp-copy-cta{margin:26px 0 0!important}.esp-media-placeholder{width:100%;aspect-ratio:var(--esp-ratio,4/3);min-height:250px;display:grid;place-items:center;text-align:center;overflow:hidden;border:1px dashed #c5ab91;border-radius:var(--esp-radius);background:linear-gradient(145deg,#ded7ca,#f3eee6 48%,#cfc1af);box-shadow:var(--esp-shadow);color:#5c3a24}.esp-media-placeholder>div{padding:22px}.esp-media-placeholder strong,.esp-media-placeholder small{display:block}.esp-media-placeholder strong{font-size:1rem}.esp-media-placeholder small{margin-top:6px;color:#6b5a4d}.esp-placeholder-icon{display:block;font-size:2.1rem;margin-bottom:4px;opacity:.5}.esp-section{padding:74px 0}.esp-section--white{background:#fff}.esp-section--light{background:#f7f5f0}.esp-section--tint{background:var(--esp-cream)}.esp-section--dark{background:var(--esp-char);color:#fff}.esp-section--dark h2,.esp-section--dark h3{color:#fff}.esp-section--dark p{color:rgba(255,255,255,.86)}.esp-section h2{font-size:clamp(1.75rem,3vw,2.65rem);line-height:1.12;letter-spacing:-.025em;margin:0 0 22px;color:var(--esp-char)}.esp-section h3{font-size:1.35rem;margin:30px 0 10px}.esp-section-copy>p{margin:0 0 18px}.esp-split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:56px;align-items:center}.esp-section--dark .esp-media-placeholder{box-shadow:none;border-color:rgba(255,255,255,.35)}.esp-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px;margin:28px 0;padding:0;list-style:none}.esp-check-grid li{position:relative;padding:16px 17px 16px 48px;border:1px solid rgba(29,36,29,.12);border-radius:14px;background:#fff;color:var(--esp-char);box-shadow:0 8px 20px rgba(29,36,29,.07);font-weight:650}.esp-check-grid li:before{content:'✓';position:absolute;left:16px;top:16px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e5ddd2;color:var(--esp-brown-dark);font-weight:900}.esp-section--dark .esp-check-grid li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}.esp-section--form{background:linear-gradient(135deg,#2b2e2b,#1e201e);color:#fff}.esp-inline-estimate{padding:28px 0;background:#e1d9cd}.esp-inline-estimate details{border:1px solid #c0ac94;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(29,36,29,.10);overflow:hidden}.esp-inline-estimate summary{padding:20px 24px;cursor:pointer;font-weight:900;color:var(--esp-char);list-style:none;display:flex;justify-content:space-between;align-items:center}.esp-inline-estimate summary:after{content:'+';font-size:1.5rem;color:var(--esp-brown)}.esp-inline-estimate details[open] summary:after{content:'−'}.esp-inline-estimate .esp-inline-form-body{padding:0 24px 24px}.esp-form{padding:28px;border-radius:22px;background:#fff;color:var(--esp-char);box-shadow:var(--esp-shadow)}.esp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.esp-form-grid p{margin:0}.esp-form-grid .full{grid-column:1/-1}.esp-form label{display:grid;gap:7px;font-weight:760}.esp-form input,.esp-form textarea{width:100%;padding:12px 13px;border:1px solid #cfc8bd;border-radius:10px;background:#fff;color:#222}.esp-form textarea{min-height:140px;resize:vertical}.esp-small{font-size:.83rem;color:#6b6d68;font-weight:500}.esp-card-section{padding:70px 0;background:#fff}.esp-card-header{max-width:720px;margin-bottom:28px}.esp-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.esp-card{min-height:100%;padding:26px;border:1px solid var(--esp-border);border-radius:19px;background:linear-gradient(145deg,#fff,#f5f2ec);box-shadow:0 12px 30px rgba(29,36,29,.08)}.esp-card h3{margin:0 0 10px;font-size:1.18rem;line-height:1.25}.esp-card p{margin:0 0 16px;color:var(--esp-muted)}.esp-card a{font-weight:850;text-decoration:none}.esp-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.esp-section--related{background:#ece8df}.esp-filterbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 24px}.esp-filterbar button{padding:10px 14px;border:1px solid var(--esp-border);border-radius:999px;background:#fff;font-weight:800;cursor:pointer}.esp-filterbar button.active{background:var(--esp-char);color:#fff}.esp-family-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.esp-family-card{padding:0;border:1px solid var(--esp-border);border-radius:18px;background:#fff;overflow:hidden;text-align:left;cursor:pointer;box-shadow:0 10px 24px rgba(29,36,29,.08)}.esp-family-card .esp-family-preview{height:130px;background:linear-gradient(135deg,#c28a59,#6f472d)}.esp-family-card:nth-child(2) .esp-family-preview{background:linear-gradient(135deg,#ddd8cf,#73736e)}.esp-family-card:nth-child(3) .esp-family-preview{background:linear-gradient(135deg,#f1ead8,#a88d61)}.esp-family-card:nth-child(4) .esp-family-preview{background:linear-gradient(135deg,#6f8053,#3e4d39)}.esp-family-card:nth-child(5) .esp-family-preview{background:linear-gradient(135deg,#71879b,#354a64)}.esp-family-card:nth-child(6) .esp-family-preview{background:linear-gradient(135deg,#ad5a3b,#71322a)}.esp-family-card:nth-child(7) .esp-family-preview{background:linear-gradient(135deg,#d0ad6d,#986d37)}.esp-family-card strong{display:block;padding:16px 16px 4px}.esp-family-card small{display:block;padding:0 16px 16px;color:#6a6d68}.esp-swatches{display:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.esp-swatches.is-open{display:grid}.esp-swatch{overflow:hidden;border:1px solid var(--esp-border);border-radius:17px;background:#fff;box-shadow:0 10px 24px rgba(29,36,29,.08)}.esp-swatch img{width:100%;aspect-ratio:1/1;display:block;object-fit:cover}.esp-swatch-body{padding:14px}.esp-swatch-body strong,.esp-swatch-body small{display:block}.esp-save-color{margin-top:10px;width:100%;padding:9px;border:1px solid var(--esp-border);border-radius:10px;background:var(--esp-cream);font-weight:800;cursor:pointer}.esp-save-color.saved{background:var(--esp-brown);color:#fff}.esp-color-shortlist{position:sticky;bottom:15px;z-index:30;margin-top:24px;padding:12px 16px;border-radius:14px;background:var(--esp-char);color:#fff;box-shadow:var(--esp-shadow);display:flex;align-items:center;justify-content:space-between;gap:16px}.esp-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.esp-gallery-card{border:1px solid var(--esp-border);border-radius:19px;overflow:hidden;background:#fff}.esp-gallery-card .esp-media-placeholder{border:0;border-radius:0;box-shadow:none}.esp-gallery-card-body{padding:18px}.esp-footer{background:#1d231c;color:#fff;padding:58px 0 0}.esp-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:44px}.esp-footer a{color:rgba(255,255,255,.82)}.esp-footer h2,.esp-footer h3{color:#fff}.esp-footer-bottom{margin-top:40px;padding:16px 0;border-top:1px solid rgba(255,255,255,.12);font-size:.85rem;color:rgba(255,255,255,.7)}
@media(max-width:1080px){.esp-mobile-toggle{display:block}.esp-nav{position:absolute;left:22px;right:22px;top:100%;max-height:calc(100vh - 130px);overflow:auto;padding:12px;background:#fff;border:1px solid var(--esp-border);border-radius:18px;box-shadow:var(--esp-shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:.16s ease}.esp-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.esp-menu{align-items:stretch;flex-direction:column;gap:2px}.esp-menu>li{display:grid;grid-template-columns:1fr auto}.esp-menu>li>a{padding:12px 10px;font-size:1rem}.esp-estimate-nav{margin:8px 8px 4px;text-align:center}.esp-mobile-plus{display:grid;width:44px;height:44px;place-items:center;margin:4px;border:0;border-radius:10px;background:var(--esp-cream);font-size:1.35rem;font-weight:900}.esp-desktop-submenu{position:static;grid-column:1/-1;width:auto;padding:0 10px 8px;display:none;grid-template-columns:1fr;background:transparent;border:0;border-radius:0;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none}.has-submenu.submenu-open>.esp-desktop-submenu{display:grid}.esp-desktop-submenu a{padding:9px 12px;background:#f5f2ec}.esp-hero-grid,.esp-split-grid{grid-template-columns:1fr}.esp-hero-media{order:-1}.esp-hero-grid{gap:32px}.esp-card-grid,.esp-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.esp-family-grid,.esp-swatches{grid-template-columns:repeat(3,minmax(0,1fr))}.esp-related-grid{grid-template-columns:1fr}}
@media(max-width:720px){body{font-size:16px}.esp-container{width:min(100% - 28px,var(--esp-max))}.esp-topbar span{display:none}.esp-topbar .esp-container{justify-content:center}.esp-header-main{min-height:78px}.esp-logo-link,.esp-logo{width:150px;height:auto}.esp-hero{padding:26px 0 48px}.esp-hero-copy h1{font-size:clamp(2rem,11vw,3rem)}.esp-section{padding:54px 0}.esp-card-grid,.esp-gallery-grid,.esp-family-grid,.esp-swatches,.esp-check-grid,.esp-form-grid{grid-template-columns:1fr}.esp-form-grid .full{grid-column:auto}.esp-form{padding:20px}.esp-footer-grid{grid-template-columns:1fr}.esp-media-placeholder{min-height:210px}.esp-inline-estimate summary{padding:17px}.esp-color-shortlist{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* === ESP v5 editorial redesign === */
:root{--esp-max:1280px;--esp-char:#1d241d;--esp-brown:#8b4b24;--esp-brown-dark:#633317;--esp-cream:#f4f0e8;--esp-text:#292a25;--esp-muted:#66685f;--esp-border:#d8d1c5;--esp-radius:24px;--esp-shadow:0 22px 55px rgba(29,36,29,.14)}
html{scroll-padding-top:170px}h1,h2,h3{scroll-margin-top:170px}.esp-container{width:min(var(--esp-max),calc(100% - 64px))}.esp-content-medium{max-width:820px}.esp-topbar{background:#1d241d}.esp-header{position:sticky;top:0}.esp-header-main{min-height:116px}.esp-logo-link{width:270px;height:98px}.esp-logo{width:270px;max-height:94px;object-fit:contain}.esp-menu{gap:24px}.esp-menu>li>a{font-size:.95rem}.esp-breadcrumbs{padding-top:22px;padding-bottom:10px}
.esp-hero{position:relative;padding:72px 0 88px;overflow:hidden;background:linear-gradient(115deg,#f6f2ea 0 54%,#e7dfd3 54% 100%)}.esp-hero:before{content:"";position:absolute;right:-8%;top:-38%;width:45vw;height:45vw;border:1px solid rgba(139,75,36,.14);border-radius:50%}.esp-hero-grid{position:relative;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:72px}.esp-hero-copy{max-width:690px}.esp-hero-copy h1{font-size:clamp(3rem,5.2vw,5.25rem);line-height:.98}.esp-hero-copy>p:not(.esp-copy-cta){font-size:1.08rem;line-height:1.65}.esp-hero-copy>p:nth-of-type(n+5):not(.esp-copy-cta){font-size:1rem}.esp-hero-media{position:relative}.esp-hero-media:after{content:"Future project photography";position:absolute;right:-12px;bottom:-14px;padding:10px 15px;border-radius:999px;background:#1d241d;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;box-shadow:var(--esp-shadow)}
.esp-media-placeholder{position:relative;border:0;border-radius:26px;background:linear-gradient(135deg,#c8b39c,#eee8de 47%,#8f6646);box-shadow:0 28px 65px rgba(64,40,23,.18);color:#493425}.esp-media-placeholder:before{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.6);border-radius:18px}.esp-media-placeholder>div{position:relative;z-index:1;padding:28px}.esp-media-placeholder strong{font-size:1.12rem}.esp-media-placeholder small{font-size:.83rem}.esp-placeholder-icon{font-size:2.8rem}
.esp-section{position:relative;padding:92px 0}.esp-section h2{font-size:clamp(2rem,3.4vw,3.25rem);max-width:850px}.esp-section h3{font-size:1.45rem}.esp-section-copy>p{max-width:800px}.esp-section-copy>p:first-of-type{font-size:1.08rem}.esp-section--light{background:#f8f6f1}.esp-section--tint{background:#ebe5db}.esp-section--dark{background:linear-gradient(120deg,#1d241d,#2b3128)}
.esp-page-shell>.esp-section:nth-of-type(4n+2):not(.esp-section--dark):after{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(#c37a3e,#62361c)}
.esp-split-grid{grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);gap:80px}.esp-page-shell>.esp-section--split:nth-of-type(even) .esp-section-media{order:-1}.esp-page-shell>.esp-section--split:nth-of-type(even) .esp-split-grid{grid-template-columns:minmax(440px,1.08fr) minmax(0,.92fr)}
.esp-section--white .esp-section-copy,.esp-section--light .esp-section-copy{position:relative}.esp-section--white:not(.esp-section--split) .esp-content-medium,.esp-section--light:not(.esp-section--split) .esp-content-medium{padding-left:34px;border-left:3px solid #a66232}
.esp-check-grid{gap:14px}.esp-check-grid li{border:0;border-left:4px solid #a66232;border-radius:12px;background:#fff;box-shadow:0 12px 28px rgba(29,36,29,.08)}
.esp-copy-cta .esp-button{padding:15px 23px}.esp-inline-estimate{padding:48px 0;background:linear-gradient(110deg,#d5cabe,#eee9e1)}.esp-inline-estimate details{max-width:980px;margin:auto;border:0;box-shadow:0 22px 55px rgba(29,36,29,.14)}.esp-inline-estimate summary{font-size:1.15rem;padding:24px 30px}
.esp-card-section{padding:92px 0}.esp-card-grid{gap:24px}.esp-card{padding:30px;border:0;border-top:5px solid #8b4b24;border-radius:18px;box-shadow:0 18px 42px rgba(29,36,29,.10)}
.esp-footer{margin-top:0}
/* homepage: turn the service-heavy block into a visual card wall without changing copy */
.home .esp-page-shell>.esp-section:nth-of-type(3) .esp-content-medium{max-width:1180px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.home .esp-page-shell>.esp-section:nth-of-type(3) h2,.home .esp-page-shell>.esp-section:nth-of-type(3)>.esp-container>.esp-content-medium>p:first-of-type{grid-column:1/-1}.home .esp-page-shell>.esp-section:nth-of-type(3) h3{margin:0;padding:24px 24px 4px;background:#fff;border-radius:18px 18px 0 0}.home .esp-page-shell>.esp-section:nth-of-type(3) h3+ p{margin:0;padding:6px 24px 12px;background:#fff}.home .esp-page-shell>.esp-section:nth-of-type(3) h3+ p + .esp-copy-cta{margin:0!important;padding:0 24px 24px;background:#fff;border-radius:0 0 18px 18px}.home .esp-page-shell>.esp-section:nth-of-type(3) .esp-copy-cta .esp-button{background:transparent!important;color:#62361c!important;box-shadow:none;padding:6px 0;border-radius:0}
@media(max-width:1080px){.esp-container{width:min(100% - 44px,var(--esp-max))}.esp-header-main{min-height:94px}.esp-logo-link,.esp-logo{width:215px;height:auto}.esp-hero-grid,.esp-split-grid,.esp-page-shell>.esp-section--split:nth-of-type(even) .esp-split-grid{grid-template-columns:1fr}.esp-page-shell>.esp-section--split:nth-of-type(even) .esp-section-media{order:0}.esp-hero-media{order:0}.esp-hero{background:linear-gradient(180deg,#f6f2ea,#e7dfd3)}.esp-section-media{max-width:760px}.home .esp-page-shell>.esp-section:nth-of-type(3) .esp-content-medium{grid-template-columns:1fr 1fr}}
@media(max-width:720px){html{scroll-padding-top:110px}h1,h2,h3{scroll-margin-top:110px}.esp-container{width:min(100% - 30px,var(--esp-max))}.esp-topbar{display:none}.esp-header-main{min-height:82px}.esp-logo-link,.esp-logo{width:175px}.esp-hero{padding:42px 0 56px}.esp-hero-grid{gap:34px}.esp-hero-copy h1{font-size:clamp(2.45rem,12vw,3.5rem)}.esp-section{padding:62px 0}.esp-section--white:not(.esp-section--split) .esp-content-medium,.esp-section--light:not(.esp-section--split) .esp-content-medium{padding-left:20px}.home .esp-page-shell>.esp-section:nth-of-type(3) .esp-content-medium{grid-template-columns:1fr}.home .esp-page-shell>.esp-section:nth-of-type(3) h2,.home .esp-page-shell>.esp-section:nth-of-type(3)>.esp-container>.esp-content-medium>p:first-of-type{grid-column:auto}}

/* === ESP v5.1 logo-matched woodland palette === */
:root{--esp-char:#1d241d;--esp-char2:#2b3128;--esp-brown:#8b4b24;--esp-brown-dark:#633317;--esp-copper:#a66232;--esp-cream:#f4f0e8;--esp-sand:#e7ddcf;--esp-white:#fff;--esp-text:#292a25;--esp-muted:#66685f;--esp-border:#d8d1c5;--esp-green:#455345}
.esp-header{background:rgba(250,249,245,.985)}
.esp-topbar,.esp-footer{background:#1d241d}
.esp-estimate-nav,.esp-button-primary{background:#8b4b24!important}.esp-estimate-nav:hover,.esp-button-primary:hover{background:#633317!important}
.esp-menu>li>a:hover,.esp-menu>li>a:focus-visible{color:#8b4b24}
.esp-hero{background:linear-gradient(115deg,#f6f2ea 0 54%,#e7dfd3 54% 100%)}
.esp-hero-media:after,.esp-color-shortlist{background:#1d241d}
.esp-section--dark,.esp-section--form{background:linear-gradient(120deg,#1d241d,#2b3128)}
.esp-section--tint{background:#ebe5db}.esp-section--light{background:#f8f6f1}.esp-section--related{background:#ece8df}
.esp-media-placeholder{background:linear-gradient(135deg,#c8b39c,#eee8de 47%,#8f6646);color:#493425}
.esp-inline-estimate{background:linear-gradient(110deg,#d5cabe,#eee9e1)}
.esp-card{border-top-color:#8b4b24}.esp-page-shell>.esp-section:nth-of-type(4n+2):not(.esp-section--dark):after{background:linear-gradient(#a66232,#633317)}
.esp-section--white:not(.esp-section--split) .esp-content-medium,.esp-section--light:not(.esp-section--split) .esp-content-medium{border-left-color:#a66232}
.esp-check-grid li{border-left-color:#a66232}.esp-save-color.saved{background:#8b4b24}
.esp-filterbar button.active{background:#1d241d}.esp-inline-estimate summary:after{color:#8b4b24}
.home .esp-page-shell>.esp-section:nth-of-type(3) .esp-copy-cta .esp-button{color:#633317!important}
@media(max-width:1080px){.esp-hero{background:linear-gradient(180deg,#f6f2ea,#e7dfd3)}}

/* === ESP v5.2 homepage-only design study === */
.home .esp-breadcrumbs{display:none}.esp-homepage{background:#f7f4ed}.esp-homepage h1,.esp-homepage h2,.esp-homepage h3{font-family:Georgia,"Times New Roman",serif}.esp-homepage p{margin:0 0 1rem}.esp-homepage .esp-home-section{padding:96px 0}.esp-homepage h2{font-size:clamp(2.35rem,4vw,4.25rem);line-height:.98;letter-spacing:-.035em;margin:0 0 28px;color:#172018}.esp-homepage .esp-home-lead{font-size:1.2rem;line-height:1.55}.esp-homepage .esp-home-punch{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;font-weight:700;color:#8b4b24}.esp-homepage .esp-text-link{display:inline-block;font-weight:900;text-underline-offset:4px}.esp-homepage .esp-button{border-radius:9px;padding:14px 20px}.esp-home-kicker,.esp-home-section-tag{font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:#8b4b24}.esp-home-reading{max-width:760px}.esp-home-media{margin:0;position:relative;overflow:hidden;border-radius:22px;background:#d8d0c2;box-shadow:0 24px 60px rgba(23,32,24,.15)}.esp-home-media img{display:block;width:100%;height:100%;object-fit:cover}.esp-home-media figcaption,.esp-home-card-image span,.esp-home-gallery-card span{position:absolute;left:14px;bottom:14px;padding:7px 10px;background:rgba(23,32,24,.88);color:#fff;border-radius:7px;font-size:.7rem;font-weight:800;letter-spacing:.02em}.ratio-4-3{aspect-ratio:4/3}.ratio-3-2{aspect-ratio:3/2}.ratio-1-1{aspect-ratio:1/1}
.esp-home-hero{position:relative;overflow:hidden;padding:72px 0 82px;background:linear-gradient(105deg,#f7f1e7 0 55%,#dfe3d9 55% 100%)}.esp-home-hero:after{content:"";position:absolute;inset:auto -8vw -20vw auto;width:42vw;height:42vw;border:1px solid rgba(139,75,36,.18);border-radius:50%}.esp-home-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(480px,1.05fr);gap:74px;align-items:center;position:relative;z-index:1}.esp-home-hero-copy{max-width:680px}.esp-home-hero h1{font-size:clamp(3.6rem,6.2vw,6.7rem);line-height:.88;letter-spacing:-.055em;margin:14px 0 30px;color:#172018}.esp-home-hero-copy>p{font-size:1.03rem;line-height:1.66}.esp-home-hero-copy .esp-home-emphasis{font-size:1.22rem;font-weight:900}.esp-home-actions{margin-top:26px!important}.esp-home-hero-media{position:relative}.esp-home-hero-media:before{content:"";position:absolute;left:-20px;top:28px;bottom:-20px;width:70%;background:#8b4b24;border-radius:22px;z-index:-1}
.esp-home-specialty{background:#fff}.esp-home-specialty-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:90px;align-items:start}.esp-home-specialty h2{font-size:clamp(2.6rem,4.5vw,4.8rem)}.esp-home-specialty .esp-home-reading{padding-top:24px;border-top:1px solid #bdb7ab}
.esp-home-services{background:#ebe6dc}.esp-home-heading-row{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:34px}.esp-home-heading-row>div{max-width:820px}.esp-home-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.esp-home-service-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 14px 32px rgba(23,32,24,.08);transition:transform .2s ease,box-shadow .2s ease}.esp-home-service-card:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(23,32,24,.12)}.esp-home-card-image{position:relative;aspect-ratio:20/13;overflow:hidden;background:#d8d0c2}.esp-home-card-image img{width:100%;height:100%;object-fit:cover}.esp-home-card-body{padding:22px}.esp-home-card-body h3{font-size:1.45rem;line-height:1.05;margin:0 0 10px;color:#172018}.esp-home-card-body p{font-size:.93rem;line-height:1.55;color:#5d6159}.esp-home-card-body a{font-weight:900;text-decoration:none;color:#7a3d1c}.esp-home-card-body a:hover{text-decoration:underline}
.esp-home-transform{background:#fff}.esp-home-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:82px;align-items:center}.esp-home-split-photo-left{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.esp-home-newwood{background:#f7f4ed}.esp-home-prep{background:#182019;color:#fff}.esp-home-prep h2,.esp-home-prep p{color:#fff}.esp-home-prep-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:90px;align-items:start}.esp-home-prep-title{padding-right:50px;border-right:1px solid rgba(255,255,255,.25)}.esp-home-prep h2{font-size:clamp(2.7rem,4.3vw,4.6rem)}
.esp-home-process{background:#dfe8e8}.esp-home-process-intro{max-width:930px;margin:0 auto;text-align:center}.esp-home-process-steps{margin:44px auto 30px;max-width:980px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid #5a8686}.esp-home-process-steps span{position:relative;padding-top:28px;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:2rem;color:#224343}.esp-home-process-steps span:before{content:"";position:absolute;top:-9px;left:50%;width:16px;height:16px;border-radius:50%;background:#8b4b24;transform:translateX(-50%)}.esp-home-center{text-align:center}
.esp-home-weather{background:#fff}.esp-home-materials{background:#f1ede5}.esp-home-materials-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:90px;align-items:start}.esp-home-materials-grid>div:last-child{padding-top:8px;font-size:1.09rem}.esp-home-colors{background:#fff}.esp-home-multiple{padding:54px 0!important;background:#8b4b24;color:#fff}.esp-home-multiple h2,.esp-home-multiple p{color:#fff}.esp-home-multiple-inner{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}.esp-home-multiple-inner>div{max-width:850px}.esp-home-multiple .esp-button-secondary{background:#fff;border:0;color:#172018!important}
.esp-home-gallery{background:#f7f4ed}.esp-home-heading-row-wide{align-items:center}.esp-home-heading-row-wide>div{max-width:900px}.esp-home-gallery-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:20px}.esp-home-gallery-card{position:relative;aspect-ratio:10/7;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px rgba(23,32,24,.12)}.esp-home-gallery-card:first-child{grid-row:span 2;aspect-ratio:auto;min-height:620px}.esp-home-gallery-card img{width:100%;height:100%;object-fit:cover}.esp-home-area{background:#0f2b39;color:#fff}.esp-home-area h2,.esp-home-area p{color:#fff}.esp-home-area-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:80px;align-items:center}.esp-home-area-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.esp-home-area-list .esp-home-area-card{display:flex;width:100%;box-sizing:border-box;align-items:center;padding:13px 15px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#fff;text-decoration:none;font-weight:800;line-height:1.35;transition:background .16s ease,border-color .16s ease,transform .16s ease}.esp-home-area-list .esp-home-area-card:hover,.esp-home-area-list .esp-home-area-card:focus-visible{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.34);color:#fff;text-decoration:none;transform:translateY(-2px);outline:none}
.esp-home-cost{background:#fff}.esp-home-cost-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:70px;align-items:start}.esp-home-cost-card{background:#f2ede4;border-radius:18px;padding:30px}.esp-home-cost-card ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}.esp-home-cost-card li{padding:14px 16px;background:#fff;border-radius:8px;font-weight:700}.esp-home-cost-bottom{grid-column:1/-1;padding-top:12px;max-width:850px}
.esp-home-final{background:#e3ebe2}.esp-home-final-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:80px;align-items:center}.esp-home-final-card{background:#fff;padding:38px;border-radius:20px;box-shadow:0 18px 44px rgba(23,32,24,.10)}.esp-home-signoff{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:700;color:#8b4b24}
@media(max-width:1100px){.esp-home-hero-grid,.esp-home-specialty-grid,.esp-home-split,.esp-home-split-photo-left,.esp-home-prep-grid,.esp-home-materials-grid,.esp-home-area-grid,.esp-home-cost-grid,.esp-home-final-grid{grid-template-columns:1fr}.esp-home-hero{background:#f7f1e7}.esp-home-service-grid{grid-template-columns:repeat(2,1fr)}.esp-home-hero-media,.esp-home-media{max-width:780px}.esp-home-gallery-grid{grid-template-columns:1fr 1fr}.esp-home-gallery-card:first-child{grid-row:auto;min-height:0;aspect-ratio:10/7}.esp-home-multiple-inner{grid-template-columns:1fr}.esp-home-prep-title{border-right:0;border-bottom:1px solid rgba(255,255,255,.25);padding:0 0 28px}.esp-home-cost-bottom{grid-column:auto}}
@media(max-width:720px){.esp-homepage .esp-home-section{padding:64px 0}.esp-home-hero{padding:44px 0 58px}.esp-home-hero-grid{gap:38px}.esp-home-hero h1{font-size:clamp(3rem,14vw,4.5rem)}.esp-home-service-grid,.esp-home-gallery-grid,.esp-home-cost-card ul{grid-template-columns:1fr}.esp-home-heading-row{display:block}.esp-home-heading-row>a{margin-top:18px}.esp-home-process-steps{grid-template-columns:repeat(4,1fr)}.esp-home-process-steps span{font-size:1.35rem}.esp-home-area-list{grid-template-columns:1fr 1fr}.esp-home-final-card{padding:26px}}

/* === Homepage refinement pass v5.2.2 === */
.esp-home-prep{position:relative;overflow:hidden}.esp-home-prep:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:#9a572c}.esp-home-prep:after{content:"PREPARATION";position:absolute;right:-20px;bottom:-42px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(5rem,11vw,10rem);font-weight:700;letter-spacing:-.04em;color:rgba(255,255,255,.055);pointer-events:none}.esp-home-prep-grid{position:relative;z-index:1}.esp-home-prep-title:before{content:"01 / PREP";display:block;margin-bottom:22px;color:#c78a5d;font-size:.75rem;font-weight:900;letter-spacing:.16em}.esp-home-prep .esp-home-reading p{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.10)}.esp-home-prep .esp-home-reading p:last-child{border-bottom:0}
.esp-home-materials{padding:84px 0!important;background:#f0eadf}.esp-home-materials-grid{grid-template-columns:.82fr 1.18fr;grid-template-areas:"title body" "media media";gap:46px 90px}.esp-home-materials-copy{grid-area:title}.esp-home-materials-body{grid-area:body;padding-top:34px;font-size:1.08rem}.esp-home-materials-media{grid-area:media;max-width:1050px;margin:8px auto 0;width:100%}.esp-home-materials-rule{width:90px;height:5px;margin-top:28px;background:#8b4b24}.esp-home-materials .esp-home-media{max-height:480px}.esp-home-materials .esp-home-media img{object-fit:cover}
.esp-home-gallery .esp-home-heading-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}.esp-home-gallery .esp-home-heading-row>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:70px;align-items:start;max-width:none}.esp-home-gallery .esp-home-heading-row h2{grid-row:1/span 6;margin-bottom:0}.esp-home-gallery .esp-home-heading-row p{margin:0 0 10px}.esp-home-gallery-grid{grid-template-columns:1.2fr .9fr .9fr;grid-template-rows:repeat(2,minmax(250px,1fr));align-items:stretch}.esp-home-gallery-card{aspect-ratio:auto;min-height:250px}.esp-home-gallery-card:first-child{grid-row:1/span 2;min-height:520px}.esp-home-gallery-card:nth-child(4){grid-column:2}.esp-home-gallery-card:nth-child(5){grid-column:3}.esp-home-gallery{padding-bottom:88px!important}
.esp-footer-v52{background:#172018;color:rgba(255,255,255,.78);padding:0}.esp-footer-main{display:grid;grid-template-columns:.9fr 1.5fr;gap:90px;padding:70px 0 58px}.esp-footer-brand img{display:block;width:270px;max-height:110px;object-fit:contain;background:#fff;padding:10px;border-radius:3px}.esp-footer-tagline{font-family:Georgia,"Times New Roman",serif;font-size:1.65rem!important;color:#fff!important;margin:24px 0 8px!important}.esp-footer-brand>p:not(.esp-footer-tagline){max-width:430px;line-height:1.65}.esp-footer-cta{margin-top:10px;background:#9a572c!important}.esp-footer-links{display:grid;grid-template-columns:1.15fr 1fr 1.2fr;gap:46px}.esp-footer-links h3{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;margin:6px 0 18px;color:#fff}.esp-footer-links a,.esp-footer-links span{display:block;margin:0 0 10px;color:rgba(255,255,255,.76);text-decoration:none;line-height:1.45}.esp-footer-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.esp-footer-bottom{margin:0!important;padding:18px 0!important;background:#101710;border-top:1px solid rgba(255,255,255,.1)!important}.esp-footer-bottom-inner{display:flex;justify-content:space-between;gap:24px;align-items:center}.esp-footer-bottom-inner>span:last-child{display:flex;gap:22px}.esp-footer-bottom a{color:rgba(255,255,255,.65)}
@media(max-width:1080px){.esp-home-materials-grid{grid-template-columns:1fr;grid-template-areas:"title" "body" "media";gap:18px}.esp-home-materials-body{padding-top:0}.esp-home-gallery .esp-home-heading-row>div{grid-template-columns:1fr}.esp-home-gallery .esp-home-heading-row h2{grid-row:auto}.esp-home-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.esp-home-gallery-card,.esp-home-gallery-card:first-child{grid-column:auto!important;grid-row:auto!important;aspect-ratio:10/7;min-height:0}.esp-footer-main{grid-template-columns:1fr;gap:44px}}
@media(max-width:720px){.esp-home-gallery .esp-home-heading-row{display:block}.esp-home-gallery-grid{grid-template-columns:1fr}.esp-footer-main{padding:50px 0 40px}.esp-footer-links{grid-template-columns:1fr 1fr;gap:32px}.esp-footer-links>div:last-child{grid-column:1/-1}.esp-footer-bottom-inner{display:block}.esp-footer-bottom-inner>span:last-child{margin-top:8px;flex-wrap:wrap}}

/* === Homepage refinement pass v5.2.2 === */
.esp-home-cost-card{padding:26px 30px 30px}.esp-home-cost-intro{margin:0 0 18px!important;font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;line-height:1.25;font-weight:700;color:#172018}.esp-home-cost-card ul{padding-top:0}.esp-home-cost-bottom{padding-top:26px;border-top:1px solid #d9d2c6;margin-top:28px}.esp-home-cost-bottom p:last-child{margin-bottom:0}.esp-home-cost{padding-bottom:72px!important}

/* === ESP homepage dimensional background study v5.2.7 ===
   Hero-inspired visual depth without repeating the hero composition.
   Each section uses its own restrained palette/geometry so the page still
   reads as distinct sections rather than one continuous background. */

/* Keep all section content above decorative geometry. */
.esp-home-services,
.esp-home-transform,
.esp-home-newwood,
.esp-home-process,
.esp-home-weather,
.esp-home-materials,
.esp-home-colors,
.esp-home-gallery,
.esp-home-cost,
.esp-home-final{position:relative;overflow:hidden;isolation:isolate}
.esp-home-services>.esp-container,
.esp-home-transform>.esp-container,
.esp-home-newwood>.esp-container,
.esp-home-process>.esp-container,
.esp-home-weather>.esp-container,
.esp-home-materials>.esp-container,
.esp-home-colors>.esp-container,
.esp-home-gallery>.esp-container,
.esp-home-cost>.esp-container,
.esp-home-final>.esp-container{position:relative;z-index:2}

/* SERVICES — warm raw-wood field with a soft olive sweep and fine ring. */
.esp-home-services{background:linear-gradient(118deg,#eee8dc 0 64%,#dde2d5 64% 100%)}
.esp-home-services:before{content:"";position:absolute;z-index:0;right:-11vw;top:-22vw;width:48vw;height:48vw;border-radius:50%;background:rgba(143,154,126,.12);pointer-events:none}
.esp-home-services:after{content:"";position:absolute;z-index:0;left:-13vw;bottom:-26vw;width:38vw;height:38vw;border:1px solid rgba(139,75,36,.16);border-radius:50%;pointer-events:none}

/* WEATHERED WOOD / RESTORATION — bright canvas with a cool sage diagonal base. */
.esp-home-transform{background:linear-gradient(162deg,#fff 0 67%,#e4ebe4 67% 100%)}
.esp-home-transform:before{content:"";position:absolute;z-index:0;left:-12vw;top:-18vw;width:35vw;height:35vw;border:1px solid rgba(74,102,83,.13);border-radius:50%;pointer-events:none}
.esp-home-transform:after{content:"";position:absolute;z-index:0;right:-9vw;bottom:-14vw;width:28vw;height:28vw;border-radius:50%;background:rgba(166,98,50,.07);pointer-events:none}

/* NEW WOOD — light wheat with a broad, quiet clay wedge. */
.esp-home-newwood{background:linear-gradient(108deg,#f6f1e7 0 58%,#eadfd1 58% 100%)}
.esp-home-newwood:before{content:"";position:absolute;z-index:0;right:4vw;top:-23vw;width:43vw;height:43vw;border:1px solid rgba(110,72,48,.12);border-radius:50%;pointer-events:none}
.esp-home-newwood:after{content:"";position:absolute;z-index:0;left:-18vw;bottom:-31vw;width:42vw;height:42vw;border-radius:50%;background:rgba(122,139,113,.08);pointer-events:none}

/* PROCESS — blue-sage stays recognizable but gains asymmetric depth. */
.esp-home-process{background:linear-gradient(118deg,#dfe8e8 0 72%,#d5ddd3 72% 100%)}
.esp-home-process:before{content:"";position:absolute;z-index:0;left:-10vw;bottom:-24vw;width:39vw;height:39vw;border-radius:50%;background:rgba(255,255,255,.22);pointer-events:none}
.esp-home-process:after{content:"";position:absolute;z-index:0;right:-8vw;top:-18vw;width:34vw;height:34vw;border:1px solid rgba(139,75,36,.16);border-radius:50%;pointer-events:none}

/* LOCAL WEATHER — almost-white with a muted mineral-green corner plane. */
.esp-home-weather{background:linear-gradient(152deg,#fbfaf6 0 62%,#e3e8df 62% 100%)}
.esp-home-weather:before{content:"";position:absolute;z-index:0;right:-15vw;top:-16vw;width:41vw;height:41vw;border-radius:50%;background:rgba(105,124,101,.08);pointer-events:none}
.esp-home-weather:after{content:"";position:absolute;z-index:0;left:42%;bottom:-17vw;width:27vw;height:27vw;border:1px solid rgba(139,75,36,.12);border-radius:50%;pointer-events:none}

/* MATERIALS — warm cedar parchment with a pale green lower plane. */
.esp-home-materials{background:linear-gradient(168deg,#f0eadf 0 71%,#dde4d8 71% 100%)}
.esp-home-materials:before{content:"";position:absolute;z-index:0;left:-10vw;top:-24vw;width:40vw;height:40vw;border:1px solid rgba(139,75,36,.15);border-radius:50%;pointer-events:none}
.esp-home-materials:after{content:"";position:absolute;z-index:0;right:-16vw;bottom:-28vw;width:43vw;height:43vw;border-radius:50%;background:rgba(136,105,78,.065);pointer-events:none}

/* COLORS — clean cream with a subtle stained-wood wash rather than another green split. */
.esp-home-colors{background:linear-gradient(114deg,#fff 0 64%,#f0e3d5 64% 100%)}
.esp-home-colors:before{content:"";position:absolute;z-index:0;right:-13vw;bottom:-22vw;width:39vw;height:39vw;border:1px solid rgba(139,75,36,.17);border-radius:50%;pointer-events:none}

/* GALLERY — neutral gallery wall with cool-sage geometry tucked behind imagery. */
.esp-home-gallery{background:linear-gradient(154deg,#f7f4ed 0 74%,#e3e9e1 74% 100%)}
.esp-home-gallery:before{content:"";position:absolute;z-index:0;left:-15vw;top:-23vw;width:39vw;height:39vw;border-radius:50%;background:rgba(150,117,83,.07);pointer-events:none}
.esp-home-gallery:after{content:"";position:absolute;z-index:0;right:-10vw;top:8vw;width:31vw;height:31vw;border:1px solid rgba(70,98,78,.12);border-radius:50%;pointer-events:none}

/* COST — pale limestone with a warm cedar plane behind the factor card side. */
.esp-home-cost{background:linear-gradient(112deg,#fff 0 57%,#f1e7da 57% 100%)}
.esp-home-cost:before{content:"";position:absolute;z-index:0;left:-13vw;bottom:-25vw;width:38vw;height:38vw;border:1px solid rgba(75,98,76,.12);border-radius:50%;pointer-events:none}
.esp-home-cost:after{content:"";position:absolute;z-index:0;right:-13vw;top:-20vw;width:37vw;height:37vw;border-radius:50%;background:rgba(139,75,36,.055);pointer-events:none}

/* FINAL — soft green finish with a warm raw-wood arc to close the page. */
.esp-home-final{background:linear-gradient(126deg,#e3ebe2 0 68%,#efe3d4 68% 100%)}
.esp-home-final:before{content:"";position:absolute;z-index:0;left:-16vw;top:-24vw;width:42vw;height:42vw;border-radius:50%;background:rgba(255,255,255,.22);pointer-events:none}
.esp-home-final:after{content:"";position:absolute;z-index:0;right:-8vw;bottom:-19vw;width:34vw;height:34vw;border:1px solid rgba(139,75,36,.15);border-radius:50%;pointer-events:none}

/* Let cards/media sit clearly above the new decorative fields. */
.esp-home-service-card,.esp-home-media,.esp-home-cost-card,.esp-home-final-card,.esp-home-gallery-card{position:relative;z-index:2}

@media(max-width:1100px){
  .esp-home-services,.esp-home-transform,.esp-home-newwood,.esp-home-process,.esp-home-weather,.esp-home-materials,.esp-home-colors,.esp-home-gallery,.esp-home-cost,.esp-home-final{background-position:center;background-size:cover}
  .esp-home-services:before,.esp-home-transform:before,.esp-home-newwood:before,.esp-home-process:before,.esp-home-weather:before,.esp-home-materials:before,.esp-home-colors:before,.esp-home-gallery:before,.esp-home-cost:before,.esp-home-final:before{opacity:.7}
}
@media(max-width:720px){
  .esp-home-services:before,.esp-home-services:after,.esp-home-transform:before,.esp-home-transform:after,.esp-home-newwood:before,.esp-home-newwood:after,.esp-home-process:before,.esp-home-process:after,.esp-home-weather:before,.esp-home-weather:after,.esp-home-materials:before,.esp-home-materials:after,.esp-home-colors:before,.esp-home-gallery:before,.esp-home-gallery:after,.esp-home-cost:before,.esp-home-cost:after,.esp-home-final:before,.esp-home-final:after{opacity:.5}
}

/* === v5.2.11 — clean gallery layout rebuild (no stacked patch selectors) === */
/* The gallery gets its own spacing and intro system instead of inheriting the generic homepage heading-row layout. */
.esp-home-gallery{padding:64px 0 72px!important}
.esp-home-gallery-intro{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);column-gap:88px;align-items:start;margin:0 0 26px}
.esp-home-gallery-title{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.esp-home-gallery-title h2{margin:0 0 18px;max-width:430px}
.esp-home-gallery-title .esp-text-link{align-self:center;margin:0}
.esp-home-gallery-copy{max-width:760px;min-width:0;padding-top:2px}
.esp-home-gallery-copy p{margin:0 0 10px}
.esp-home-gallery-copy p:last-child{margin-bottom:0}
.esp-home-gallery-grid{margin:0;display:grid;grid-template-columns:1.2fr .9fr .9fr;grid-template-rows:repeat(2,minmax(250px,1fr));gap:20px;align-items:stretch}
.esp-home-gallery-card{position:relative;aspect-ratio:auto;min-height:250px;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px rgba(23,32,24,.12)}
.esp-home-gallery-card:first-child{grid-row:1/span 2;min-height:520px}
.esp-home-gallery-card:nth-child(4){grid-column:2}
.esp-home-gallery-card:nth-child(5){grid-column:3}
.esp-home-gallery-card img{display:block;width:100%;height:100%;object-fit:cover}

/* PREPARATION watermark: still background texture, but intentionally visible. */
.esp-home-prep:after{color:rgba(255,255,255,.12)}

@media(max-width:1080px){
  .esp-home-gallery{padding:58px 0 66px!important}
  .esp-home-gallery-intro{grid-template-columns:1fr;row-gap:20px;margin-bottom:24px}
  .esp-home-gallery-title .esp-text-link{align-self:flex-start}
  .esp-home-gallery-copy{max-width:800px;padding-top:0}
  .esp-home-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .esp-home-gallery-card,.esp-home-gallery-card:first-child{grid-column:auto!important;grid-row:auto!important;aspect-ratio:10/7;min-height:0}
}
@media(max-width:720px){
  .esp-home-gallery{padding:48px 0 54px!important}
  .esp-home-gallery-intro{row-gap:18px;margin-bottom:20px}
  .esp-home-gallery-title h2{margin-bottom:14px}
  .esp-home-gallery-copy p{margin-bottom:9px}
  .esp-home-gallery-grid{grid-template-columns:1fr;gap:16px}
}

/* ==========================================================
   SERVICE HUB — v5.3.0
   Approved ESP dimensional design language; page-specific composition.
   ========================================================== */
.esp-servicehub{--sh-deep:#17241d;--sh-deep2:#223229;--sh-cream:#f3eee5;--sh-sage:#dce5dc;--sh-mist:#dfe8e8;--sh-clay:#ead9c9;--sh-line:rgba(85,71,55,.17);overflow:hidden}
.esp-servicehub h1,.esp-servicehub h2,.esp-servicehub h3{font-family:Georgia,"Times New Roman",serif;color:#172018;letter-spacing:-.035em}
.esp-servicehub h2{font-size:clamp(2.4rem,4.7vw,4.5rem);line-height:.98;margin:0 0 28px}.esp-servicehub h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.08;margin:0 0 18px}
.esp-sh-section{position:relative;isolation:isolate;padding:92px 0;overflow:hidden}.esp-sh-section>.esp-container{position:relative;z-index:2}.esp-sh-copy p{margin:0 0 17px}.esp-sh-section-tag,.esp-sh-kicker{margin:0 0 20px!important;color:var(--esp-brown)!important;font-size:.76rem!important;font-weight:900!important;letter-spacing:.16em!important;text-transform:uppercase!important}.esp-sh-arrow-link{display:inline-flex;align-items:center;gap:11px;color:var(--esp-brown-dark);font-weight:850;text-decoration:none;border-bottom:2px solid rgba(139,75,36,.34);padding-bottom:3px}.esp-sh-arrow-link:after{content:"→";transition:transform .15s ease}.esp-sh-arrow-link:hover:after,.esp-sh-arrow-link:focus-visible:after{transform:translateX(4px)}
.esp-sh-media{position:relative;margin:0;overflow:hidden;border-radius:26px;background:#cdbba5;box-shadow:0 22px 58px rgba(23,32,24,.14)}.esp-sh-media img{display:block;width:100%;height:100%;object-fit:cover}.esp-sh-media.ratio-4-3{aspect-ratio:4/3}.esp-sh-media.ratio-3-2{aspect-ratio:3/2}.esp-sh-media figcaption,.esp-sh-service-image span,.esp-sh-gallery-card span{position:absolute;left:16px;bottom:16px;padding:7px 11px;border-radius:9px;background:#18221b;color:#fff;font-size:.72rem;font-weight:900;line-height:1.2}
/* Hero */
.esp-sh-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(112deg,#f2ece2 0 58%,#d9e2d8 58% 100%);padding:72px 0 84px}.esp-sh-hero:before{content:"";position:absolute;width:41vw;height:41vw;right:-8vw;bottom:-24vw;border:1px solid rgba(139,75,36,.18);border-radius:50%}.esp-sh-hero:after{content:"SERVICES";position:absolute;left:-.025em;bottom:-.29em;font:700 clamp(8rem,19vw,20rem)/1 Georgia,"Times New Roman",serif;color:rgba(255,255,255,.42);letter-spacing:-.08em;pointer-events:none}.esp-sh-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:72px;align-items:center;position:relative;z-index:2}.esp-sh-hero-copy h1{font-size:clamp(3.1rem,6.2vw,6.3rem);line-height:.91;margin:0 0 34px;max-width:780px}.esp-sh-hero-copy>p:not(.esp-sh-kicker):not(.esp-sh-actions){max-width:730px;margin:0 0 17px}.esp-sh-actions{margin:30px 0 0}.esp-sh-hero-media{position:relative}.esp-sh-hero-media:before{content:"";position:absolute;inset:24px -24px -24px 24px;border-radius:28px;background:var(--esp-brown);z-index:-1}
/* Service cards */
.esp-sh-services{background:linear-gradient(150deg,#f5f0e7 0 72%,#dfe5dc 72% 100%)}.esp-sh-services:before{content:"";position:absolute;left:-17vw;top:-24vw;width:41vw;height:41vw;border-radius:50%;background:rgba(139,75,36,.055)}.esp-sh-services:after{content:"";position:absolute;right:-12vw;top:9vw;width:33vw;height:33vw;border:1px solid rgba(67,90,69,.12);border-radius:50%}.esp-sh-heading-lockup{max-width:850px;margin:0 0 46px}.esp-sh-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.esp-sh-service-card{display:grid;grid-template-columns:minmax(220px,.82fr) minmax(0,1.18fr);min-height:370px;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.92);box-shadow:0 16px 44px rgba(24,35,27,.1);border:1px solid rgba(88,73,57,.11)}.esp-sh-service-image{position:relative;display:block;overflow:hidden;background:#cdbba5}.esp-sh-service-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.esp-sh-service-image:hover img{transform:scale(1.02)}.esp-sh-service-body{position:relative;padding:28px 28px 30px}.esp-sh-service-body p{font-size:.94rem;line-height:1.55;margin:0 0 12px;color:#4f504a}.esp-sh-service-number{position:absolute;right:20px;top:15px;color:rgba(139,75,36,.18);font:700 3.1rem/1 Georgia,"Times New Roman",serif}.esp-sh-service-body h3{padding-right:50px}.esp-sh-service-body .esp-sh-arrow-link{margin-top:4px;font-size:.91rem}
/* Routing */
.esp-sh-routing{background:var(--sh-deep);color:#fff}.esp-sh-routing:after{content:"ROUTE";position:absolute;right:-.08em;bottom:-.3em;font:700 clamp(10rem,23vw,25rem)/1 Georgia,"Times New Roman",serif;color:rgba(255,255,255,.075);letter-spacing:-.08em}.esp-sh-routing h2{color:#fff}.esp-sh-routing .esp-sh-section-tag{color:#c47d49!important}.esp-sh-routing-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px}.esp-sh-routing-copy>p:not(.esp-sh-section-tag){font-size:1.14rem;color:rgba(255,255,255,.84)}.esp-sh-symptoms{display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;padding:0;margin:0 0 32px}.esp-sh-symptoms li{padding:15px 17px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.07);font-weight:800;color:#fff}.esp-sh-routing-end{padding-top:26px;border-top:1px solid rgba(255,255,255,.16)}.esp-sh-routing-end p{margin:0 0 16px;color:rgba(255,255,255,.86)}
/* New / weathered / previous split stories */
.esp-sh-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.95fr);gap:78px;align-items:center}.esp-sh-newwood{background:linear-gradient(114deg,#f7f2e8 0 66%,#eadbca 66%)}.esp-sh-newwood:before{content:"";position:absolute;right:-13vw;top:-20vw;width:36vw;height:36vw;border:1px solid rgba(139,75,36,.15);border-radius:50%}.esp-sh-weathered{background:linear-gradient(152deg,#fff 0 65%,#e1e8e1 65%)}.esp-sh-weathered:before{content:"";position:absolute;left:-13vw;bottom:-24vw;width:39vw;height:39vw;border-radius:50%;background:rgba(92,113,91,.08)}.esp-sh-previous{background:linear-gradient(115deg,#e0e9e8 0 66%,#d6dfd4 66%)}.esp-sh-previous:after{content:"";position:absolute;right:-8vw;top:-15vw;width:31vw;height:31vw;border:1px solid rgba(139,75,36,.16);border-radius:50%}
/* Definitions */
.esp-sh-definitions{background:linear-gradient(145deg,#e7ece7 0%,#f1f3ee 68%,#dde6df 100%)}.esp-sh-definitions:before{content:"";position:absolute;left:-9vw;top:-17vw;width:31vw;height:31vw;border:1px solid rgba(71,94,73,.12);border-radius:50%}.esp-sh-definitions-head{max-width:960px;margin-bottom:38px}.esp-sh-definition-list{border-top:1px solid rgba(74,70,60,.22)}.esp-sh-definition-list article{display:grid;grid-template-columns:90px 1fr;gap:30px;align-items:start;padding:24px 0;border-bottom:1px solid rgba(74,70,60,.18)}.esp-sh-definition-list span{font:700 2.1rem/1 Georgia,"Times New Roman",serif;color:var(--esp-brown)}.esp-sh-definition-list p{margin:0;max-width:900px;font-size:1.05rem}.esp-sh-definition-end{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:32px;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;font-weight:700;color:#172018}.esp-sh-definition-end p{margin:0}
/* Materials */
.esp-sh-materials{background:linear-gradient(165deg,#f0eadf 0 72%,#dce4d8 72%)}.esp-sh-materials:after{content:"WOOD";position:absolute;right:-.06em;bottom:-.28em;font:700 clamp(11rem,25vw,27rem)/1 Georgia,"Times New Roman",serif;color:rgba(139,75,36,.14);letter-spacing:-.08em}.esp-sh-material-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:82px;align-items:center}
/* Multiple */
.esp-sh-multiple{background:linear-gradient(118deg,#fff 0 55%,#efe3d5 55%)}.esp-sh-multiple:before{content:"";position:absolute;left:-12vw;bottom:-22vw;width:35vw;height:35vw;border:1px solid rgba(70,95,73,.13);border-radius:50%}.esp-sh-multiple-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:76px;align-items:start}.esp-sh-multiple-grid>div:first-child p{max-width:620px}.esp-sh-multiple-card{padding:38px;border-radius:26px;background:#fff;box-shadow:0 20px 52px rgba(24,35,27,.11)}.esp-sh-multiple-card ul{display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;padding:0;margin:0 0 26px}.esp-sh-multiple-card li{padding:14px 15px;background:#f2ede5;border-radius:12px;font-weight:800}.esp-sh-multiple-card p{margin:0 0 18px}
/* Look */
.esp-sh-look{background:linear-gradient(145deg,#dfe8e8 0 61%,#e8ddd0 61%)}.esp-sh-look:after{content:"";position:absolute;right:-11vw;bottom:-18vw;width:33vw;height:33vw;border-radius:50%;background:rgba(255,255,255,.22)}.esp-sh-look-grid{display:grid;grid-template-columns:minmax(460px,1.05fr) minmax(0,.95fr);gap:82px;align-items:center}.esp-sh-option-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:18px 0 24px}.esp-sh-option-list li{padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.68);border:1px solid rgba(55,75,60,.13);font-weight:750;font-size:.92rem}
/* Cost */
.esp-sh-cost{background:linear-gradient(113deg,#fbfaf7 0 58%,#f0e4d5 58%);padding-bottom:68px}.esp-sh-cost:before{content:"";position:absolute;left:-14vw;top:-23vw;width:38vw;height:38vw;border-radius:50%;background:rgba(92,113,91,.065)}.esp-sh-cost-grid{display:grid;grid-template-columns:.83fr 1.17fr;column-gap:74px;row-gap:0;align-items:start}.esp-sh-cost-card{padding:34px;border-radius:26px;background:#f2ede4;box-shadow:0 16px 42px rgba(23,32,24,.1)}.esp-sh-cost-card ul{display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;padding:0;margin:0}.esp-sh-cost-card li{padding:15px 16px;border-radius:12px;background:#fff;font-weight:800;line-height:1.35}.esp-sh-cost-bottom{max-width:760px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(70,65,56,.2)}.esp-sh-cost-bottom p{margin:0 0 16px}
/* Area */
.esp-sh-area{background:#102f3d;color:#fff}.esp-sh-area:after{content:"CORRIDOR";position:absolute;right:-.04em;bottom:-.27em;font:700 clamp(9rem,22vw,23rem)/1 Georgia,"Times New Roman",serif;color:rgba(255,255,255,.075);letter-spacing:-.07em}.esp-sh-area h2{color:#fff}.esp-sh-area .esp-sh-section-tag{color:#cf8a55!important}.esp-sh-area-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:90px;align-items:center}.esp-sh-area-grid p{color:rgba(255,255,255,.88);max-width:680px}
/* Gallery */
.esp-sh-gallery{background:linear-gradient(154deg,#f7f3eb 0 76%,#e1e7df 76%)}.esp-sh-gallery:before{content:"";position:absolute;right:-11vw;top:-10vw;width:31vw;height:31vw;border:1px solid rgba(72,94,75,.12);border-radius:50%}.esp-sh-gallery-head{display:grid;grid-template-columns:.86fr 1.14fr;gap:76px;align-items:end;margin-bottom:32px}.esp-sh-gallery-head p{margin:0 0 13px}.esp-sh-gallery-grid{display:grid;grid-template-columns:1.15fr .925fr .925fr;gap:20px}.esp-sh-gallery-card{position:relative;aspect-ratio:10/7;border-radius:22px;overflow:hidden;box-shadow:0 18px 44px rgba(23,32,24,.11)}.esp-sh-gallery-card img{width:100%;height:100%;object-fit:cover;display:block}
/* Final */
.esp-sh-final{background:linear-gradient(124deg,#dce6dc 0 69%,#eadccc 69%)}.esp-sh-final:before{content:"";position:absolute;left:-15vw;top:-26vw;width:41vw;height:41vw;border-radius:50%;background:rgba(255,255,255,.24)}.esp-sh-final-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:86px;align-items:center}.esp-sh-final-card{padding:40px;border-radius:28px;background:rgba(255,255,255,.83);box-shadow:0 20px 55px rgba(23,32,24,.1)}.esp-sh-final-card p{margin:0 0 17px}.esp-sh-signoff{font:700 1.8rem/1.1 Georgia,"Times New Roman",serif;color:#172018}

@media(max-width:1100px){
 .esp-sh-hero-grid,.esp-sh-split,.esp-sh-material-grid,.esp-sh-look-grid{grid-template-columns:1fr 1fr;gap:46px}.esp-sh-service-card{grid-template-columns:1fr}.esp-sh-service-image{aspect-ratio:800/520}.esp-sh-routing-grid,.esp-sh-multiple-grid,.esp-sh-cost-grid,.esp-sh-area-grid,.esp-sh-final-grid{gap:48px}.esp-sh-section{padding:76px 0}
}
@media(max-width:860px){
 .esp-sh-hero{padding:52px 0 66px}.esp-sh-hero-grid,.esp-sh-split,.esp-sh-material-grid,.esp-sh-look-grid,.esp-sh-routing-grid,.esp-sh-multiple-grid,.esp-sh-cost-grid,.esp-sh-area-grid,.esp-sh-final-grid,.esp-sh-gallery-head{grid-template-columns:1fr}.esp-sh-split-reverse .esp-sh-media{order:2}.esp-sh-service-grid{grid-template-columns:1fr}.esp-sh-service-card{grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr)}.esp-sh-service-image{aspect-ratio:auto}.esp-sh-cost-bottom{grid-column:1}.esp-sh-gallery-grid{grid-template-columns:1fr 1fr}.esp-sh-gallery-card:first-child{grid-column:1/-1;aspect-ratio:16/9}.esp-sh-hero-media:before{inset:16px -16px -16px 16px}.esp-sh-section{padding:64px 0}
}
@media(max-width:620px){
 .esp-sh-hero-copy h1{font-size:clamp(2.8rem,13vw,4.4rem)}.esp-servicehub h2{font-size:clamp(2.3rem,10vw,3.4rem)}.esp-sh-service-card{grid-template-columns:1fr}.esp-sh-service-image{aspect-ratio:800/520}.esp-sh-symptoms,.esp-sh-multiple-card ul,.esp-sh-cost-card ul,.esp-sh-definition-end,.esp-sh-gallery-grid{grid-template-columns:1fr}.esp-sh-definition-list article{grid-template-columns:56px 1fr;gap:16px}.esp-sh-service-body{padding:24px}.esp-sh-multiple-card,.esp-sh-final-card,.esp-sh-cost-card{padding:26px}.esp-sh-section{padding:54px 0}.esp-sh-hero:after,.esp-sh-routing:after,.esp-sh-materials:after,.esp-sh-area:after{opacity:.55}
}

/* v5.3.4 — mobile-only vertical rhythm tightening. Desktop/tablet desktop layouts remain untouched. */
@media (max-width:720px){
  /* Homepage: collapsed desktop grids were retaining their large desktop column gaps. */
  .esp-home-specialty-grid{gap:28px}
  .esp-home-specialty .esp-home-reading{padding-top:20px}
  .esp-home-prep-grid{gap:28px}
  .esp-home-prep-title{padding-bottom:20px}
  .esp-home-prep .esp-home-reading p{padding-bottom:12px;margin-bottom:12px}
  .esp-home-final-grid{gap:28px}
  .esp-home-final-card{padding:26px}

  /* Service Hub: gallery becomes one column on mobile without carrying desktop's 76px column gap. */
  .esp-sh-gallery-head{gap:26px;margin-bottom:26px}
}

/* v5.3.5 — homepage mobile-only spacing cleanup. Desktop remains unchanged. */
@media (max-width:720px){
  /* Use normal stacked flow on mobile so former desktop grid tracks cannot create dead space. */
  .esp-home-specialty-grid,
  .esp-home-prep-grid,
  .esp-home-final-grid{
    display:flex;
    flex-direction:column;
    gap:22px;
  }

  .esp-home-specialty-grid>div:first-child,
  .esp-home-specialty .esp-home-reading,
  .esp-home-prep-title,
  .esp-home-prep .esp-home-reading,
  .esp-home-final-grid>div,
  .esp-home-final-card{
    margin-top:0;
    margin-bottom:0;
  }

  .esp-home-specialty .esp-home-reading{
    padding-top:18px;
  }

  .esp-home-prep-title{
    padding:0 0 18px;
  }
  .esp-home-prep-grid{gap:20px}

  /* All homepage split sections stack with a deliberate mobile gap instead of desktop's 82px gap. */
  .esp-home-split,
  .esp-home-split-photo-left{
    gap:28px;
  }

  .esp-home-weather .esp-home-split{
    gap:24px;
  }

  .esp-home-final-grid{
    gap:24px;
  }
}


/* v5.3.6 — authoritative MOBILE-ONLY spacing rules.
   These selectors intentionally override the original desktop grid gaps after the layouts collapse.
   Desktop (721px+) is unchanged. */
@media (max-width:720px){
  /* Specialty: first copy block -> divider/reading block */
  .esp-home-specialty .esp-home-specialty-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:20px !important;
  }
  .esp-home-specialty .esp-home-specialty-grid > div:first-child,
  .esp-home-specialty .esp-home-reading{
    margin:0 !important;
  }
  .esp-home-specialty .esp-home-reading{
    padding-top:18px !important;
  }

  /* Preparation: title/divider -> body copy */
  .esp-home-prep .esp-home-prep-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
  }
  .esp-home-prep .esp-home-prep-title{
    margin:0 !important;
    padding:0 0 18px !important;
  }
  .esp-home-prep .esp-home-reading{
    margin:0 !important;
  }

  /* Weather section: square image -> heading/copy */
  .esp-home-weather .esp-home-split,
  .esp-home-weather .esp-home-split-photo-left{
    display:flex !important;
    flex-direction:column !important;
    gap:24px !important;
  }
  .esp-home-weather .esp-home-media,
  .esp-home-weather .esp-home-reading{
    margin:0 !important;
  }

  /* Final CTA: intro copy -> white card */
  .esp-home-final .esp-home-final-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:24px !important;
  }
  .esp-home-final .esp-home-final-grid > div,
  .esp-home-final .esp-home-final-card{
    margin:0 !important;
  }

  /* Service Hub gallery mobile spacing retained from v5.3.4. */
  .esp-servicehub .esp-sh-gallery-head{
    gap:26px !important;
    margin-bottom:26px !important;
  }
}

/* v5.4.0 — Stain Colors & Finishes custom page. Homepage + Service Hub remain locked. */
.esp-colors-page{--c-ink:#20251f;--c-brown:#8b4b24;--c-sage:#dfe5da;--c-cream:#f2eadf;--c-wheat:#e8dcc7;--c-line:rgba(32,37,31,.13)}
.esp-colors-hero{position:relative;overflow:hidden;padding:82px 0 86px;background:linear-gradient(118deg,#f5eee3 0 52%,#dfe5da 52% 100%)}
.esp-colors-hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-160px;top:-220px;background:rgba(139,75,36,.11)}
.esp-colors-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:72px;align-items:center}
.esp-colors-hero-copy h1,.esp-colors-page h2{font-family:Georgia,"Times New Roman",serif;color:var(--c-ink);letter-spacing:-.035em}.esp-colors-hero-copy h1{font-size:clamp(3rem,5.5vw,5.6rem);line-height:.96;margin:18px 0 28px}.esp-colors-hero-copy p{max-width:760px;margin:0 0 13px}.esp-colors-lead{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.45;color:#563b2b}.esp-colors-actions{margin-top:28px}
.esp-colors-hero-art{position:relative;min-height:510px;border-radius:28px;overflow:hidden;background:#292d28;box-shadow:0 26px 60px rgba(32,37,31,.18)}.esp-colors-hero-art>span{position:absolute;left:-12px;bottom:-34px;font:900 clamp(5rem,10vw,9rem)/1 system-ui;color:rgba(255,255,255,.11);letter-spacing:-.07em}.esp-colors-hero-swatch{position:absolute;left:12%;right:12%;height:82px;border-radius:8px;box-shadow:0 12px 22px rgba(0,0,0,.18);transform:rotate(-4deg)}.esp-cs-a{top:12%;background:#d6b183}.esp-cs-b{top:27%;background:#a36c3e;transform:rotate(3deg)}.esp-cs-c{top:42%;background:#65452f;transform:rotate(-2deg)}.esp-cs-d{top:57%;background:#71806a;transform:rotate(2deg)}.esp-cs-e{top:72%;background:#3f4b50;transform:rotate(-3deg)}
.esp-colors-section{position:relative;overflow:hidden;padding:92px 0}.esp-colors-kicker{display:block;margin-bottom:12px;color:var(--c-brown);font-weight:900;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.esp-colors-page h2{font-size:clamp(2.25rem,4vw,4.15rem);line-height:1.02;margin:0 0 22px}.esp-colors-page h3{color:var(--c-ink)}
.esp-colors-look{background:linear-gradient(150deg,#fff 0 65%,#f1eadf 65%)}.esp-colors-section-head{max-width:820px;margin-bottom:42px}.esp-colors-section-head p{margin:0 0 5px}.esp-colors-finish-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.esp-colors-finish-card{display:grid;grid-template-columns:180px 1fr;gap:28px;padding:24px;border:1px solid var(--c-line);border-radius:24px;background:#fff;box-shadow:0 14px 34px rgba(32,37,31,.08)}.esp-colors-finish-card h3{font:700 1.55rem/1.15 Georgia,serif;margin:2px 0 14px}.esp-colors-finish-card p{margin:0 0 12px}.esp-colors-finish-visual{min-height:260px;border-radius:17px;display:grid;place-items:end start;padding:18px;overflow:hidden}.esp-colors-finish-visual span{font-size:4rem;font-weight:950;line-height:1;color:rgba(255,255,255,.65)}.esp-colors-finish-st .esp-colors-finish-visual{background:linear-gradient(145deg,rgba(118,76,43,.45),rgba(118,76,43,.85)),repeating-linear-gradient(90deg,#b7885f 0 13px,#9a704d 13px 26px)}.esp-colors-finish-sc .esp-colors-finish-visual{background:linear-gradient(145deg,#6b7168,#363d37)}.esp-colors-arrow{font-weight:900;text-decoration:none}
.esp-colors-explorer-intro{padding:78px 0 30px;background:#222821;color:#fff}.esp-colors-explorer-intro .esp-container{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end}.esp-colors-explorer-intro h2{color:#fff;margin:0;font-family:Georgia,serif;font-size:clamp(2.4rem,4vw,4rem);line-height:1}.esp-colors-explorer-intro p{margin:0;color:rgba(255,255,255,.8)}.esp-colors-explorer-intro .esp-colors-kicker{color:#d9b68e}.esp-colors-gallery-wrap .esp-card-section{padding:38px 0 78px;background:#222821}.esp-colors-gallery-wrap .esp-card-header{display:none}.esp-colors-gallery-wrap .esp-filterbar{margin-bottom:30px}.esp-colors-gallery-wrap .esp-filterbar button{border-color:rgba(255,255,255,.18);background:#f7f3eb}.esp-colors-gallery-wrap .esp-filterbar button.active{background:#a15b31;border-color:#a15b31}.esp-colors-gallery-wrap .esp-family-grid{gap:14px}.esp-colors-gallery-wrap .esp-family-card{border:0;box-shadow:0 10px 28px rgba(0,0,0,.22)}.esp-colors-gallery-wrap .esp-swatches{margin-top:28px}.esp-colors-gallery-wrap .esp-color-shortlist{background:#f3eadf;color:#222821;border:1px solid #c9b69f}
.esp-colors-save{background:linear-gradient(118deg,#eee5d8 0 63%,#dce4d8 63%)}.esp-colors-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.7fr);gap:76px;align-items:center}.esp-colors-save-card{position:relative;z-index:1}.esp-colors-save-card p{max-width:720px;margin:0 0 13px}.esp-colors-watermark{position:absolute;z-index:-1;left:-20px;top:-85px;font-size:9rem;font-weight:950;letter-spacing:-.08em;color:rgba(139,75,36,.10)}.esp-colors-note{padding:36px;border-radius:24px;background:#fff;box-shadow:0 18px 44px rgba(32,37,31,.11)}.esp-colors-number{display:block;font:700 4.6rem/1 Georgia,serif;color:#b4825d}.esp-colors-note h3{font:700 1.65rem/1.2 Georgia,serif;margin:10px 0 12px}.esp-colors-note p{margin:0}
.esp-colors-wood{background:#fff}.esp-colors-split-reverse{grid-template-columns:minmax(360px,.82fr) minmax(0,1fr)}.esp-colors-placeholder{position:relative}.esp-colors-placeholder img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:26px;box-shadow:0 18px 44px rgba(32,37,31,.14)}.esp-colors-placeholder span{position:absolute;left:18px;bottom:18px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.92);font-size:.75rem;font-weight:850}.esp-colors-wood p{margin:0 0 14px}.esp-colors-wood .esp-button{margin-top:12px}
.esp-colors-change{background:linear-gradient(135deg,#293029 0 72%,#4a382d 72%);color:#fff}.esp-colors-change:after{content:"COLOR";position:absolute;right:-25px;bottom:-55px;font-size:10rem;font-weight:950;letter-spacing:-.08em;color:rgba(255,255,255,.075)}.esp-colors-change-grid{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:86px}.esp-colors-change h2{color:#fff}.esp-colors-change .esp-colors-kicker{color:#d8b48c}.esp-colors-big-answer{font:italic 700 2rem Georgia,serif;color:#d9b68e}.esp-colors-change-copy{padding-top:18px}.esp-colors-change-copy p{margin:0 0 14px;color:rgba(255,255,255,.86)}
.esp-colors-coordinate{background:linear-gradient(160deg,#f8f6f1 0 57%,#e3e8df 57%)}.esp-colors-coordinate-head{max-width:900px;margin-bottom:44px}.esp-colors-coordinate-head p{margin:0 0 11px}.esp-colors-coordinate-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:34px}.esp-colors-coordinate-list,.esp-colors-coordinate-callout{padding:34px;border-radius:24px}.esp-colors-coordinate-list{background:#fff;border:1px solid var(--c-line)}.esp-colors-coordinate-list h3{font:700 1.45rem Georgia,serif;margin:0 0 18px}.esp-colors-coordinate-list ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:0;padding-left:20px}.esp-colors-coordinate-callout{position:relative;overflow:hidden;background:#8b4b24;color:#fff}.esp-colors-coordinate-callout>span{position:absolute;right:-12px;top:-18px;font-size:4.8rem;font-weight:950;color:rgba(255,255,255,.10)}.esp-colors-coordinate-callout h3{position:relative;color:#fff;font:700 2rem/1.15 Georgia,serif;margin:26px 0 14px}.esp-colors-coordinate-callout p{position:relative;margin:0;color:rgba(255,255,255,.9)}
.esp-colors-final{background:#eee3d4}.esp-colors-final-grid{display:grid;grid-template-columns:1fr minmax(320px,.62fr);gap:74px;align-items:center}.esp-colors-final-grid>div:first-child p{margin:0 0 12px}.esp-colors-final-card{padding:42px;border-radius:26px;background:#fff;box-shadow:0 18px 44px rgba(32,37,31,.10)}.esp-colors-final-card strong{display:block;font:700 2rem Georgia,serif;color:#563821}.esp-colors-final-card p{margin:12px 0 22px}
@media(max-width:1080px){.esp-colors-hero-grid,.esp-colors-split,.esp-colors-split-reverse,.esp-colors-change-grid,.esp-colors-final-grid{grid-template-columns:1fr}.esp-colors-hero-art{min-height:380px}.esp-colors-finish-grid{grid-template-columns:1fr}.esp-colors-explorer-intro .esp-container{grid-template-columns:1fr;gap:18px}.esp-colors-coordinate-grid{grid-template-columns:1fr}.esp-colors-split{gap:38px}.esp-colors-split-reverse .esp-colors-placeholder{order:2}}
@media(max-width:720px){.esp-colors-hero{padding:52px 0 58px;background:linear-gradient(155deg,#f5eee3 0 70%,#dfe5da 70%)}.esp-colors-hero-grid{gap:34px}.esp-colors-hero-copy h1{font-size:clamp(2.7rem,14vw,4rem)}.esp-colors-hero-art{min-height:300px;border-radius:20px}.esp-colors-hero-swatch{height:48px}.esp-colors-section{padding:62px 0}.esp-colors-page h2{font-size:clamp(2.15rem,10vw,3.1rem)}.esp-colors-finish-card{grid-template-columns:1fr;padding:18px;gap:20px}.esp-colors-finish-visual{min-height:155px}.esp-colors-explorer-intro{padding:60px 0 24px}.esp-colors-gallery-wrap .esp-card-section{padding:26px 0 60px}.esp-colors-gallery-wrap .esp-family-grid,.esp-colors-gallery-wrap .esp-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}.esp-colors-gallery-wrap .esp-family-card .esp-family-preview{height:92px}.esp-colors-gallery-wrap .esp-swatch-body{padding:11px}.esp-colors-gallery-wrap .esp-color-shortlist{position:sticky;bottom:8px}.esp-colors-watermark{font-size:6rem;top:-45px}.esp-colors-save{background:linear-gradient(165deg,#eee5d8 0 76%,#dce4d8 76%)}.esp-colors-change{background:linear-gradient(155deg,#293029 0 86%,#4a382d 86%)}.esp-colors-change-grid{gap:18px}.esp-colors-change-copy{padding-top:0}.esp-colors-coordinate-list ul{grid-template-columns:1fr}.esp-colors-coordinate-callout>span{font-size:3.4rem}.esp-colors-final-grid{gap:30px}.esp-colors-final-card{padding:28px}}

/* v5.4.1 — technical saved-color view only; locked normal page layout remains unchanged. */
.esp-saved-view-status{margin:0 0 24px;padding:14px 16px;border:1px solid var(--esp-border);border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}
.esp-saved-view-status[hidden]{display:none!important}
.esp-saved-view-status strong{color:var(--esp-char)}
@media(max-width:720px){.esp-saved-view-status{align-items:stretch;flex-direction:column}.esp-saved-view-status .esp-button{width:100%}}

/* =========================================================
   ABOUT EXTERIOR STAINING PROS — v5.5.0
   New page only. Previously locked pages remain unchanged.
   ========================================================= */
.esp-about-page{overflow:hidden}.esp-about-page h1,.esp-about-page h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em;color:var(--c-ink)}.esp-about-page h2{font-size:clamp(2.25rem,4vw,4.15rem);line-height:1.03;margin:0 0 22px}.esp-about-page p{line-height:1.72}.esp-about-kicker{display:block;margin-bottom:12px;color:var(--c-brown);font-weight:900;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.esp-about-section{position:relative;overflow:hidden;padding:92px 0}.esp-about-reading p{margin:0 0 14px}.esp-about-pull{font:700 1.35rem/1.45 Georgia,"Times New Roman",serif;color:#563b2b}

.esp-about-hero{position:relative;overflow:hidden;padding:96px 0 104px;background:linear-gradient(128deg,#f4eee4 0 58%,#dfe6dc 58% 100%)}.esp-about-hero:before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;right:-170px;top:-260px;background:rgba(139,75,36,.10)}.esp-about-hero:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(69,84,67,.16);border-radius:50%;left:-150px;bottom:-210px}.esp-about-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:72px;align-items:center}.esp-about-hero-copy h1{font-size:clamp(3rem,5.5vw,5.6rem);line-height:.96;margin:18px 0 26px}.esp-about-hero-copy p{max-width:760px;margin:0 0 13px}.esp-about-lead{font:700 1.28rem/1.5 Georgia,"Times New Roman",serif;color:#563b2b}.esp-about-hero-copy .esp-button{margin-top:18px}.esp-about-hero-visual{position:relative}.esp-about-placeholder{position:relative}.esp-about-placeholder img{display:block;width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:26px;box-shadow:0 22px 52px rgba(32,37,31,.16)}.esp-about-placeholder span{position:absolute;left:18px;bottom:18px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.92);font-size:.73rem;font-weight:850}.esp-about-placeholder-hero img{aspect-ratio:4/3}.esp-about-hero-word{position:absolute;right:-24px;bottom:-58px;font-size:8.2rem;font-weight:950;letter-spacing:-.08em;color:rgba(37,47,38,.12);pointer-events:none}

.esp-about-why{background:linear-gradient(162deg,#fff 0 68%,#f0e4d7 68%)}.esp-about-why:before{content:"FOCUS";position:absolute;right:-18px;bottom:-45px;font-size:9rem;font-weight:950;letter-spacing:-.08em;color:rgba(139,75,36,.055)}.esp-about-split{position:relative;z-index:1;display:grid;grid-template-columns:.78fr 1.22fr;gap:86px;align-items:start}.esp-about-heading-block{position:sticky;top:150px}.esp-about-heading-block h2{max-width:480px}.esp-about-reading strong{color:#563b2b}

.esp-about-principle{background:linear-gradient(122deg,#e2e8df 0 56%,#f5efe6 56%)}.esp-about-principle-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}.esp-about-principle-card{position:relative;padding:42px 42px 44px;border-radius:28px;background:#283029;color:#fff;overflow:hidden;box-shadow:0 22px 48px rgba(32,37,31,.16)}.esp-about-principle-card:after{content:"WOOD";position:absolute;right:-16px;bottom:-28px;font-size:6rem;font-weight:950;color:rgba(255,255,255,.07);letter-spacing:-.07em}.esp-about-principle-card h2{color:#fff}.esp-about-principle-card .esp-about-kicker{color:#d9b58c}.esp-about-number{display:block;font:700 4.8rem/1 Georgia,serif;color:#c99d74;margin-bottom:18px}.esp-about-principle-card .esp-about-pull{color:rgba(255,255,255,.82);margin-bottom:16px}.esp-about-principle-line{position:relative;z-index:1;font:700 1.7rem/1.3 Georgia,serif!important;color:#fff;margin:0!important}

.esp-about-experience{background:#fff}.esp-about-experience:before{content:"EXPERIENCE";position:absolute;left:-30px;top:28px;font-size:8.3rem;font-weight:950;letter-spacing:-.07em;color:rgba(67,81,66,.045)}.esp-about-experience-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.7fr) 1.3fr;gap:78px;align-items:center}.esp-about-experience-grid>div:last-child p{margin:0 0 13px}.esp-about-experience-stat{min-height:330px;border-radius:28px;padding:40px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(145deg,#8b4b24,#5a3524);color:#fff;box-shadow:0 20px 48px rgba(79,48,31,.18)}.esp-about-big-stat{font:700 clamp(5rem,10vw,8rem)/.86 Georgia,serif}.esp-about-experience-stat>span:last-child{margin-top:18px;font-weight:850;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase}

.esp-about-communication{background:linear-gradient(145deg,#f3eee5 0 64%,#dde6df 64%)}.esp-about-split-image{grid-template-columns:1.08fr .92fr;align-items:center}.esp-about-split-image>div:first-child p{margin:0 0 13px}.esp-about-communication-list{display:grid;gap:9px;margin:24px 0}.esp-about-communication-list div{padding:13px 15px;border-left:4px solid #8b4b24;background:rgba(255,255,255,.7);font-weight:780}

.esp-about-protection{background:#293029;color:#fff}.esp-about-protection:after{content:"CARE";position:absolute;right:-20px;bottom:-54px;font-size:10rem;font-weight:950;letter-spacing:-.08em;color:rgba(255,255,255,.055)}.esp-about-protection-grid{position:relative;z-index:1;display:grid;grid-template-columns:.86fr 1.14fr;gap:84px}.esp-about-protection h2{color:#fff}.esp-about-protection .esp-about-kicker{color:#d7b189}.esp-about-protection-copy p{margin:0 0 14px;color:rgba(255,255,255,.86)}.esp-about-protection-callout{margin-top:28px;padding:25px 28px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(255,255,255,.06)}.esp-about-protection-callout span{display:block;margin-bottom:6px;color:#d9b58c;font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem}.esp-about-protection-callout strong{display:block;font:700 1.35rem/1.4 Georgia,serif;color:#fff}

.esp-about-credentials{background:linear-gradient(155deg,#f9f7f2 0 56%,#e7eadf 56%)}.esp-about-credentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.esp-about-info-card{position:relative;padding:38px;border-radius:26px;background:#fff;border:1px solid var(--c-line);box-shadow:0 16px 40px rgba(32,37,31,.09)}.esp-about-info-card h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.08;margin-bottom:20px}.esp-about-info-card p{margin:0 0 13px}.esp-about-card-label{display:inline-block;margin-bottom:18px;padding:7px 10px;border-radius:999px;background:#efe3d5;color:#704024;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.esp-about-warranty-card{background:#5a3a28;color:#fff;border:0}.esp-about-warranty-card h2,.esp-about-warranty-card p,.esp-about-warranty-card strong{color:#fff}.esp-about-warranty-card .esp-about-card-label{background:rgba(255,255,255,.12);color:#ead0b7}

.esp-about-motto{background:linear-gradient(118deg,#efe3d3 0 48%,#dfe6dc 48%)}.esp-about-motto-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px;align-items:center}.esp-about-motto-grid>div:last-child p{margin:0 0 13px}.esp-about-motto-mark{min-height:360px;padding:38px;border-radius:28px;background:#fff;display:flex;flex-direction:column;justify-content:center;box-shadow:0 20px 46px rgba(32,37,31,.10);transform:rotate(-2deg)}.esp-about-motto-mark span,.esp-about-motto-mark strong{display:block;font-family:Georgia,serif;line-height:.88;letter-spacing:-.06em}.esp-about-motto-mark span{font-size:clamp(2.3rem,5vw,4.5rem);color:#938678}.esp-about-motto-mark strong{font-size:clamp(3rem,6.3vw,6rem);color:#754327;margin-top:12px}

.esp-about-services{background:#fff}.esp-about-services-head{max-width:820px;margin-bottom:38px}.esp-about-services-head p{margin:0}.esp-about-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.esp-about-service-grid a{min-height:122px;padding:22px;border-radius:18px;border:1px solid var(--c-line);background:linear-gradient(145deg,#f9f6f0,#eef1eb);display:flex;align-items:flex-end;font-weight:850;color:#394338;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.esp-about-service-grid a:hover,.esp-about-service-grid a:focus-visible{transform:translateY(-2px);box-shadow:0 12px 26px rgba(32,37,31,.10);border-color:#c7b7a6;color:#754327}.esp-about-service-grid a:focus-visible{outline:3px solid rgba(139,75,36,.22);outline-offset:3px}.esp-about-services-bottom{margin-top:34px;padding-top:28px;border-top:1px solid var(--c-line);display:flex;justify-content:space-between;gap:24px;align-items:center}.esp-about-services-bottom p{font:700 1.25rem/1.5 Georgia,serif;margin:0;color:#563b2b}

.esp-about-final{background:linear-gradient(145deg,#f0e7dc 0 67%,#d9e2d8 67%)}.esp-about-final-grid{display:grid;grid-template-columns:1fr minmax(320px,.62fr);gap:74px;align-items:center}.esp-about-final-grid>div:first-child p{margin:0 0 11px}.esp-about-final-card{position:relative;overflow:hidden;padding:42px;border-radius:26px;background:#fff;box-shadow:0 18px 44px rgba(32,37,31,.11)}.esp-about-final-card:after{content:"ESP";position:absolute;right:-10px;bottom:-28px;font-size:6rem;font-weight:950;color:rgba(139,75,36,.06)}.esp-about-final-card strong{position:relative;z-index:1;display:block;font:700 2.05rem Georgia,serif;color:#563821}.esp-about-final-card p,.esp-about-final-card .esp-button{position:relative;z-index:1}.esp-about-final-card p{margin:12px 0 22px}

@media(max-width:1080px){.esp-about-hero-grid,.esp-about-split,.esp-about-principle-grid,.esp-about-experience-grid,.esp-about-protection-grid,.esp-about-motto-grid,.esp-about-final-grid{grid-template-columns:1fr}.esp-about-hero-grid{gap:42px}.esp-about-heading-block{position:static}.esp-about-split,.esp-about-principle-grid,.esp-about-experience-grid,.esp-about-protection-grid,.esp-about-motto-grid{gap:40px}.esp-about-split-image .esp-about-placeholder{order:2}.esp-about-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.esp-about-hero{padding:52px 0 58px;background:linear-gradient(155deg,#f4eee4 0 72%,#dfe6dc 72%)}.esp-about-hero-grid{gap:30px}.esp-about-hero-copy h1{font-size:clamp(2.7rem,14vw,4rem)}.esp-about-hero-word{font-size:5rem;bottom:-34px}.esp-about-section{padding:62px 0}.esp-about-page h2{font-size:clamp(2.15rem,10vw,3.1rem)}.esp-about-split,.esp-about-principle-grid,.esp-about-experience-grid,.esp-about-protection-grid,.esp-about-motto-grid,.esp-about-final-grid{gap:26px}.esp-about-principle-card,.esp-about-info-card,.esp-about-final-card{padding:28px}.esp-about-experience-stat{min-height:250px;padding:28px}.esp-about-communication-list{margin:20px 0}.esp-about-credentials-grid{grid-template-columns:1fr;gap:20px}.esp-about-motto-mark{min-height:260px;padding:28px}.esp-about-service-grid{grid-template-columns:1fr}.esp-about-service-grid a{min-height:88px}.esp-about-services-bottom{align-items:stretch;flex-direction:column}.esp-about-services-bottom .esp-button{width:100%}}

/* v5.6.0 — Contact page */
.esp-contact-page{overflow:hidden;color:#26352e}.esp-contact-page h1,.esp-contact-page h2,.esp-contact-page h3{font-family:Georgia,'Times New Roman',serif;color:#26352e;line-height:1.08}.esp-contact-page h1{font-size:clamp(3rem,5.5vw,5.8rem);margin:.2em 0 .28em}.esp-contact-page h2{font-size:clamp(2.25rem,4vw,4.2rem);margin:.18em 0 .5em}.esp-contact-page h3{font-size:2rem;margin:0 0 22px}.esp-contact-page p{font-size:1.08rem;line-height:1.75}.esp-contact-kicker{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:#9a4e1e;margin-bottom:12px}.esp-contact-hero{position:relative;padding:92px 0 86px;background:linear-gradient(135deg,#f3eee3 0%,#faf9f5 55%,#dfe7df 100%)}.esp-contact-hero:after{content:'';position:absolute;width:520px;height:520px;border-radius:50%;right:-180px;top:-170px;background:rgba(154,78,30,.10)}.esp-contact-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.12fr .88fr;gap:80px;align-items:center}.esp-contact-lead{font-size:1.35rem!important;max-width:700px}.esp-contact-direct{display:grid;grid-template-columns:1fr 1.25fr;gap:14px;margin:30px 0}.esp-contact-direct>div,.esp-contact-info-card>div{padding:18px 20px;border:1px solid rgba(38,53,46,.13);border-radius:16px;background:rgba(255,255,255,.62)}.esp-contact-direct span,.esp-contact-info-card span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-bottom:6px;color:#68766f}.esp-contact-direct a,.esp-contact-info-card a{font-weight:800;color:#8d451c;text-decoration:none}.esp-contact-actions{display:flex;gap:14px;flex-wrap:wrap}.esp-contact-hero-card{position:relative;min-height:390px;padding:58px 48px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:28px;background:#26352e;color:#fff;overflow:hidden;box-shadow:0 28px 60px rgba(38,53,46,.18)}.esp-contact-hero-card h2,.esp-contact-hero-card p{color:#fff}.esp-contact-hero-card h2{font-size:clamp(2rem,3vw,3.2rem)}.esp-contact-hero-card .esp-contact-kicker{color:#d9b18e}.esp-contact-hero-word{position:absolute;top:18px;left:-10px;font:800 clamp(4rem,8vw,7rem)/1 Arial,sans-serif;letter-spacing:-.05em;color:rgba(255,255,255,.07)}.esp-contact-section{padding:82px 0}.esp-contact-split{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px}.esp-contact-reading{max-width:760px}.esp-contact-reading .esp-button{margin-top:18px}.esp-contact-project{background:#fff}.esp-contact-form-section{position:relative;background:linear-gradient(145deg,#e5ebe5 0%,#f2f3ed 72%,#e9dccb 100%)}.esp-contact-form-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}.esp-contact-form-copy{padding-top:22px}.esp-contact-reasons{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.esp-contact-reasons span{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid rgba(38,53,46,.12);font-size:.86rem;font-weight:700}.esp-contact-form-card{background:#fff;border-radius:24px;padding:36px;box-shadow:0 22px 55px rgba(38,53,46,.12)}.esp-contact-form-fallback{padding:24px;border:1px dashed rgba(38,53,46,.25);border-radius:14px}.esp-contact-existing{background:#26352e;color:#fff;position:relative}.esp-contact-existing h2,.esp-contact-existing p{color:#fff}.esp-contact-existing .esp-contact-kicker{color:#d9b18e}.esp-contact-existing-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}.esp-contact-info-card{display:grid;gap:12px}.esp-contact-info-card>div{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}.esp-contact-info-card span{color:#b9c4be}.esp-contact-info-card strong,.esp-contact-info-card a{color:#fff}.esp-contact-hours{background:linear-gradient(135deg,#f7f4ec,#fff 58%,#eef1ea)}.esp-contact-hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.esp-contact-hours-list{max-width:560px}.esp-contact-hours-list>div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid rgba(38,53,46,.15)}.esp-contact-area-card{padding:38px;border-radius:24px;background:#efe4d6}.esp-contact-final{padding:88px 0;background:linear-gradient(140deg,#dce6dd,#f5f0e5)}.esp-contact-final-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.esp-contact-final-card{min-height:230px;padding:38px;border-radius:26px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:26px;box-shadow:0 18px 48px rgba(38,53,46,.1)}.esp-contact-final-card span{font-family:Georgia,'Times New Roman',serif;font-size:2.1rem;font-weight:700;color:#8d451c}
@media(max-width:900px){.esp-contact-hero-grid,.esp-contact-split,.esp-contact-form-grid,.esp-contact-existing-grid,.esp-contact-hours-grid,.esp-contact-final-grid{grid-template-columns:1fr;gap:38px}.esp-contact-hero-card{min-height:300px}.esp-contact-direct{grid-template-columns:1fr}.esp-contact-existing-grid,.esp-contact-hours-grid,.esp-contact-final-grid{gap:30px}}
@media(max-width:720px){.esp-contact-hero{padding:52px 0 50px}.esp-contact-page h1{font-size:2.75rem}.esp-contact-page h2{font-size:2.25rem}.esp-contact-page p{font-size:1rem}.esp-contact-hero-grid{gap:28px}.esp-contact-hero-card{min-height:260px;padding:34px 26px;border-radius:20px}.esp-contact-section{padding:52px 0}.esp-contact-split,.esp-contact-form-grid{gap:28px}.esp-contact-form-card{padding:24px 18px;border-radius:18px}.esp-contact-existing-grid,.esp-contact-hours-grid,.esp-contact-final-grid{gap:26px}.esp-contact-hours-list>div{flex-direction:column;gap:4px}.esp-contact-area-card,.esp-contact-final-card{padding:28px 24px}.esp-contact-final{padding:54px 0}.esp-contact-actions{flex-direction:column;align-items:stretch}.esp-contact-actions .esp-button{text-align:center}.esp-contact-direct{margin:22px 0}.esp-contact-reasons{margin-top:20px}}

/* v5.7.0 — Request an Estimate page */
.esp-estimate-page{overflow:hidden;color:#26352e}.esp-estimate-page h1,.esp-estimate-page h2{font-family:Georgia,'Times New Roman',serif;color:#26352e;line-height:1.04;letter-spacing:-.035em}.esp-estimate-page h1{font-size:clamp(3.2rem,6vw,6.3rem);margin:.16em 0 .28em}.esp-estimate-page h2{font-size:clamp(2.35rem,4.5vw,4.6rem);margin:.12em 0 .45em}.esp-estimate-page p{font-size:1.08rem;line-height:1.74}.esp-estimate-kicker{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:850;color:#9a4e1e;margin-bottom:12px}.esp-estimate-hero{position:relative;padding:88px 0 82px;background:linear-gradient(132deg,#f3ecdf 0%,#faf9f5 55%,#dbe5dc 100%)}.esp-estimate-hero:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;left:-150px;bottom:-240px;background:rgba(154,78,30,.08)}.esp-estimate-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:78px;align-items:center}.esp-estimate-lead{font:700 clamp(1.5rem,2.4vw,2.15rem)/1.25 Georgia,serif!important;color:#68422b}.esp-estimate-badge{display:inline-flex;margin-top:22px;padding:12px 16px;border-radius:999px;background:#26352e;color:#fff;font-weight:800;font-size:.92rem}.esp-estimate-hero-panel{position:relative;min-height:390px;border-radius:28px;background:linear-gradient(145deg,#26352e,#1d2923);overflow:hidden;box-shadow:0 28px 60px rgba(38,53,46,.2);display:flex;align-items:flex-end;padding:38px}.esp-estimate-hero-panel:after{content:"";position:absolute;inset:auto -80px -120px auto;width:320px;height:320px;border-radius:50%;background:rgba(190,137,91,.13)}.esp-estimate-hero-word{position:absolute;left:-14px;top:24px;font:900 clamp(4.6rem,9vw,8rem)/.8 Arial,sans-serif;letter-spacing:-.06em;color:rgba(255,255,255,.08)}.esp-estimate-visual-line{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%}.esp-estimate-visual-line span{padding:14px 10px;border-top:1px solid rgba(255,255,255,.25);color:#fff;font-size:.72rem;font-weight:850;letter-spacing:.11em}
.esp-estimate-form-section{padding:86px 0;background:#fff}.esp-estimate-form-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:76px;align-items:start}.esp-estimate-form-intro{position:sticky;top:120px}.esp-estimate-field-guide{margin-top:28px;display:grid;gap:10px}.esp-estimate-field-guide>div{padding:16px 18px;border-radius:14px;background:linear-gradient(145deg,#f7f4ee,#eef2ed);border:1px solid rgba(38,53,46,.1)}.esp-estimate-field-guide strong,.esp-estimate-field-guide span{display:block}.esp-estimate-field-guide span{margin-top:2px;color:#8b6a53;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.esp-estimate-field-guide p{font-size:.9rem;margin:8px 0 0;line-height:1.5}.esp-estimate-form-card{padding:34px;border-radius:26px;background:linear-gradient(145deg,#eef3ee,#f8f6f0);box-shadow:0 22px 55px rgba(38,53,46,.11)}.esp-estimate-form-card .esp-form{background:#fff;border-radius:20px;padding:28px}.esp-estimate-form-card .esp-form-grid{gap:18px}.esp-estimate-form-card input,.esp-estimate-form-card textarea{width:100%}.esp-estimate-form-card textarea{min-height:150px}.esp-estimate-form-fallback{padding:28px;border:1px dashed rgba(38,53,46,.28);border-radius:16px;background:#fff}
.esp-estimate-next{position:relative;padding:88px 0;background:#26352e;color:#fff}.esp-estimate-next h2,.esp-estimate-next p{color:#fff}.esp-estimate-next .esp-estimate-kicker{color:#d8b28f}.esp-estimate-next-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:88px}.esp-estimate-next-heading{position:relative}.esp-estimate-next-heading:after{content:"NEXT";position:absolute;left:-6px;bottom:-26px;font:900 clamp(4rem,8vw,7rem)/1 Arial,sans-serif;color:rgba(255,255,255,.055);letter-spacing:-.06em}.esp-estimate-next-copy{display:grid;gap:0}.esp-estimate-step{display:grid;grid-template-columns:62px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14);align-items:start}.esp-estimate-step:first-child{padding-top:0}.esp-estimate-step:last-child{border-bottom:0;padding-bottom:0}.esp-estimate-step span{font:700 1.6rem Georgia,serif;color:#d8b28f}.esp-estimate-step p{margin:0}
.esp-estimate-diagnose{padding:92px 0;background:linear-gradient(135deg,#efe4d6 0%,#f8f5ed 58%,#dce6dd 58%)}.esp-estimate-diagnose-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:74px;align-items:center}.esp-estimate-diagnose-card{padding:42px;border-radius:26px;background:#fff;box-shadow:0 20px 48px rgba(38,53,46,.1)}.esp-estimate-diagnose-card p{margin:0 0 12px}.esp-estimate-motto{min-height:320px;padding:38px;border-radius:28px;background:#26352e;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;box-shadow:0 26px 58px rgba(38,53,46,.18);transform:rotate(1.5deg)}.esp-estimate-motto span,.esp-estimate-motto strong{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.05em;line-height:.9}.esp-estimate-motto span{font-size:clamp(2.5rem,5vw,4.6rem);color:#cab7a7}.esp-estimate-motto small{font-size:1rem;text-transform:uppercase;letter-spacing:.15em;color:#d8b28f;margin:12px 0 8px}.esp-estimate-motto strong{font-size:clamp(3.2rem,6vw,5.7rem);color:#fff}
@media(max-width:980px){.esp-estimate-hero-grid,.esp-estimate-form-grid,.esp-estimate-next-grid,.esp-estimate-diagnose-grid{grid-template-columns:1fr;gap:38px}.esp-estimate-form-intro{position:static}.esp-estimate-hero-panel{min-height:300px}.esp-estimate-next-grid{gap:30px}}
@media(max-width:720px){.esp-estimate-hero{padding:52px 0 54px}.esp-estimate-page h1{font-size:2.85rem}.esp-estimate-page h2{font-size:2.35rem}.esp-estimate-page p{font-size:1rem}.esp-estimate-hero-grid{gap:28px}.esp-estimate-hero-panel{min-height:250px;padding:26px;border-radius:20px}.esp-estimate-hero-word{font-size:4.5rem}.esp-estimate-visual-line{grid-template-columns:1fr}.esp-estimate-visual-line span{padding:9px 0}.esp-estimate-form-section,.esp-estimate-next,.esp-estimate-diagnose{padding:54px 0}.esp-estimate-form-grid,.esp-estimate-diagnose-grid{gap:28px}.esp-estimate-field-guide{margin-top:22px}.esp-estimate-form-card{padding:18px;border-radius:18px}.esp-estimate-form-card .esp-form{padding:18px;border-radius:14px}.esp-estimate-next-grid{gap:24px}.esp-estimate-step{grid-template-columns:46px 1fr;gap:14px;padding:18px 0}.esp-estimate-diagnose{background:linear-gradient(155deg,#efe4d6 0%,#f8f5ed 70%,#dce6dd 70%)}.esp-estimate-diagnose-card{padding:26px 22px}.esp-estimate-motto{min-height:230px;padding:28px;border-radius:20px}}

/* v5.7.1 — Request Estimate: hide duplicate field-guide cards on mobile only. Desktop remains unchanged. */
@media(max-width:720px){
  .esp-estimate-page .esp-estimate-field-guide{display:none!important}
}

/* v5.7.2 — desktop-only hero watermark fit. Mobile remains unchanged. */
@media (min-width:721px){
  .esp-estimate-page .esp-estimate-hero-word{
    left:24px;
    right:24px;
    top:24px;
    font-size:clamp(4.25rem,7vw,7rem);
    letter-spacing:-.065em;
    white-space:nowrap;
  }
}

/* ===== v5.8.0 Service Area Hub ===== */
.esp-area-page{overflow:hidden}.esp-area-page h1,.esp-area-page h2,.esp-area-page h3{font-family:Georgia,'Times New Roman',serif}.esp-area-kicker{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800;color:#7d552f;margin-bottom:15px}.esp-area-hero{position:relative;background:linear-gradient(135deg,#edf1ea 0%,#f7f3e9 52%,#e5d4bb 100%);padding:82px 0 88px;overflow:hidden}.esp-area-hero:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:rgba(93,112,83,.10);left:-250px;bottom:-310px}.esp-area-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:76px;align-items:center;position:relative}.esp-area-hero-copy h1{font-size:clamp(3.3rem,5.2vw,5.8rem);line-height:.96;margin:0 0 26px;max-width:760px;color:#222820}.esp-area-lead{font-size:1.25rem;line-height:1.65;max-width:700px}.esp-area-hero-copy p:not(.esp-area-lead){font-size:1.05rem;line-height:1.75;max-width:660px}.esp-area-hero-copy .esp-button{margin-top:16px}.esp-area-hero-visual{position:relative}.esp-area-placeholder{position:relative;overflow:hidden;border-radius:4px;box-shadow:0 18px 48px rgba(34,40,32,.15)}.esp-area-placeholder img{display:block;width:100%;height:100%;object-fit:cover}.esp-area-placeholder>span{position:absolute;left:18px;bottom:16px;background:rgba(25,30,24,.82);color:#fff;padding:8px 11px;font-size:.72rem;letter-spacing:.04em}.esp-area-placeholder-hero{aspect-ratio:4/3}.esp-area-hero-word{position:absolute;right:-34px;bottom:-34px;font:700 clamp(4rem,7vw,8rem)/1 Georgia,serif;letter-spacing:.02em;color:rgba(54,67,50,.18);z-index:2;pointer-events:none}.esp-area-section{padding:82px 0}.esp-area-primary{position:relative;background:linear-gradient(155deg,#fff 0%,#f6f3eb 62%,#e9eee7 100%)}.esp-area-section-head{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end;margin-bottom:42px}.esp-area-section-head h2,.esp-area-nearby h2,.esp-area-services h2,.esp-area-final h2{font-size:clamp(2.4rem,3.8vw,4rem);line-height:1.04;margin:0;color:#252b23}.esp-area-section-head>p{font-size:1.05rem;line-height:1.7;margin:0;max-width:520px}.esp-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.esp-area-card{position:relative;display:grid;grid-template-columns:56px 1fr;column-gap:20px;align-items:start;background:#fff;border:1px solid rgba(64,77,59,.16);padding:28px 30px;text-decoration:none;color:inherit;box-shadow:0 8px 28px rgba(34,40,32,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.esp-area-card:hover,.esp-area-card:focus-visible{transform:translateY(-3px);box-shadow:0 14px 34px rgba(34,40,32,.11);border-color:rgba(124,85,47,.45)}.esp-area-card-num{grid-row:1/4;font:700 1.8rem/1 Georgia,serif;color:#b58a5b;border-right:1px solid #ddd5c8;padding-right:16px}.esp-area-card h3{font-size:1.65rem;line-height:1.1;margin:0 0 9px;color:#283027}.esp-area-card p{font-size:.96rem;line-height:1.6;margin:0 0 14px;color:#555d53}.esp-area-card-link{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#75502d}.esp-area-nearby{position:relative;background:#29342d;color:#f5f3ea}.esp-area-nearby:after{content:"AREAS";position:absolute;right:-20px;bottom:-30px;font:700 clamp(6rem,13vw,14rem)/1 Georgia,serif;color:rgba(255,255,255,.045);pointer-events:none}.esp-area-nearby .esp-area-kicker{color:#c9a879}.esp-area-nearby h2{color:#fff}.esp-area-nearby-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start;position:relative;z-index:1}.esp-area-nearby p{font-size:1.04rem;line-height:1.7}.esp-area-town-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.esp-area-town-grid span{display:flex;align-items:center;min-height:62px;padding:14px 18px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.055);font:700 1.05rem Georgia,serif}.esp-area-nearby-note{margin:22px 0 0;color:#d8ddd7;max-width:720px}.esp-area-services{background:linear-gradient(135deg,#eee2cf 0%,#f7f3e9 48%,#e6ede5 100%)}.esp-area-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}.esp-area-placeholder-feature{aspect-ratio:3/2}.esp-area-reading p{font-size:1.04rem;line-height:1.78;margin:0 0 18px}.esp-area-reading .esp-button{margin-top:10px}.esp-area-final{position:relative;background:linear-gradient(145deg,#f6f7f2 0%,#e3eade 55%,#e7d5bc 100%)}.esp-area-final-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.esp-area-final p{font-size:1.06rem;line-height:1.7;max-width:690px}.esp-area-weathered{font:italic 700 1.25rem Georgia,serif;color:#77502d}.esp-area-final-card{background:#fff;padding:38px;box-shadow:0 16px 44px rgba(36,43,34,.11);border-top:4px solid #8c6239}.esp-area-final-card span{display:block;font-size:.82rem;line-height:1.6;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#687064;margin-bottom:24px}.esp-area-final-card .esp-button{width:100%;justify-content:center;text-align:center}
@media(max-width:900px){.esp-area-hero-grid,.esp-area-section-head,.esp-area-nearby-grid,.esp-area-services-grid,.esp-area-final-grid{grid-template-columns:1fr;gap:38px}.esp-area-hero-grid{gap:44px}.esp-area-grid{grid-template-columns:1fr}.esp-area-town-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.esp-area-hero{padding:48px 0 54px}.esp-area-hero-grid{display:flex;flex-direction:column;gap:30px}.esp-area-hero-copy h1{font-size:2.75rem}.esp-area-lead{font-size:1.08rem}.esp-area-hero-word{font-size:3.6rem;right:-8px;bottom:-18px}.esp-area-section{padding:52px 0}.esp-area-section-head{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:28px}.esp-area-section-head h2,.esp-area-nearby h2,.esp-area-services h2,.esp-area-final h2{font-size:2.35rem}.esp-area-grid{gap:12px}.esp-area-card{grid-template-columns:42px 1fr;padding:22px 18px;column-gap:14px}.esp-area-card-num{font-size:1.35rem;padding-right:11px}.esp-area-card h3{font-size:1.45rem}.esp-area-nearby-grid,.esp-area-services-grid,.esp-area-final-grid{display:flex;flex-direction:column;gap:28px}.esp-area-town-grid{grid-template-columns:repeat(2,1fr);gap:9px}.esp-area-town-grid span{min-height:54px;padding:12px;font-size:.98rem}.esp-area-final-card{padding:26px;width:100%}.esp-area-nearby:after{font-size:6rem;bottom:-8px}}


/* === ESP v5.8.1 — Service Area city image-card treatment + transparent logo === */
.esp-area-grid{gap:22px}
.esp-area-card{display:block;padding:0;overflow:hidden;border-radius:16px;background:#fff;border:1px solid rgba(64,77,59,.16);box-shadow:0 10px 30px rgba(34,40,32,.075);color:inherit;text-decoration:none}
.esp-area-card-media{position:relative;display:block;min-height:178px;overflow:hidden;background-image:linear-gradient(90deg,rgba(20,27,22,.78) 0%,rgba(20,27,22,.42) 58%,rgba(20,27,22,.24) 100%),url('assets/images/esp-generic-placeholder.jpg');background-size:cover;background-position:center;isolation:isolate}
.esp-area-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28));z-index:-1}
.esp-area-card-title{position:absolute;left:26px;right:24px;bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;font:700 clamp(1.55rem,2vw,2rem)/1.05 Georgia,'Times New Roman',serif;text-shadow:0 2px 12px rgba(0,0,0,.42)}
.esp-area-card-title b{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.35rem}
.esp-area-card-image-label{position:absolute;left:16px;top:15px;padding:6px 9px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(16,23,18,.64);color:rgba(255,255,255,.86);font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;line-height:1.2}
.esp-area-card-body{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:22px 25px 24px;align-items:start}
.esp-area-card-num{display:block;font:700 1.3rem/1 Georgia,serif;color:#b58a5b;border-right:1px solid #ddd5c8;padding:2px 14px 24px 0}
.esp-area-card-copy{display:block}
.esp-area-card-heading{display:none}
.esp-area-card-description{display:block;font-size:.94rem;line-height:1.58;color:#555d53;margin:0 0 13px}
.esp-area-card-link{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.075em;font-weight:800;color:#75502d}
.esp-area-card:hover .esp-area-card-media,.esp-area-card:focus-visible .esp-area-card-media{background-size:104% auto}
.esp-area-card:hover,.esp-area-card:focus-visible{transform:translateY(-3px);box-shadow:0 16px 38px rgba(34,40,32,.13);border-color:rgba(124,85,47,.48);outline:none}

/* New transparent logo: white header; warm-light footer plaque so dark EXTERIOR lettering stays readable. */
.esp-logo{object-fit:contain}
.esp-footer-brand img{width:290px;max-height:138px;object-fit:contain;background:#f5f0e8;padding:12px 14px;border-radius:10px;box-shadow:0 8px 26px rgba(0,0,0,.13)}

@media(max-width:720px){
  .esp-area-grid{gap:16px}
  .esp-area-card{border-radius:14px}
  .esp-area-card-media{min-height:138px}
  .esp-area-card-title{left:20px;right:18px;bottom:19px;font-size:1.55rem}
  .esp-area-card-image-label{left:12px;top:12px;font-size:.58rem}
  .esp-area-card-body{grid-template-columns:38px 1fr;gap:13px;padding:18px 18px 20px}
  .esp-area-card-num{font-size:1.12rem;padding-right:10px}
  .esp-area-card-description{font-size:.92rem;line-height:1.55}
  .esp-footer-brand img{width:min(290px,100%);max-height:none}
}

/* === ESP v5.8.2 — Service Area Hub compact city-photo routing cards === */
.esp-area-primary{background:#f8f5ee}
.esp-area-primary .esp-area-section-head{margin-bottom:28px}
.esp-area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px}
.esp-area-card{display:block;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transform:none}
.esp-area-card:hover,.esp-area-card:focus-visible{transform:none;box-shadow:none;border-color:transparent;outline:none}
.esp-area-card-media{display:block;min-height:0;height:auto;aspect-ratio:359/82;border-radius:10px;overflow:hidden;background:none;box-shadow:0 6px 18px rgba(34,40,32,.10)}
.esp-area-card-media:after{display:none}
.esp-area-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease,filter .22s ease}
.esp-area-card:hover .esp-area-card-media img,.esp-area-card:focus-visible .esp-area-card-media img{transform:scale(1.025);filter:brightness(1.03)}
.esp-area-card-body{display:block;padding:11px 8px 7px}
.esp-area-card-description{display:block;margin:0 0 7px;font-size:.84rem;line-height:1.45;color:#555d53}
.esp-area-card-link{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;line-height:1.35;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#75502d}
.esp-area-card-link b{font-size:.9rem}
.esp-area-services{background:#f2e6d6}
.esp-area-final{background:linear-gradient(145deg,#f4f7f1 0%,#dfe9dc 54%,#dbc3a4 100%)}
@media(max-width:900px){
  .esp-area-grid{grid-template-columns:1fr;gap:16px}
  .esp-area-card-media{aspect-ratio:359/82}
}
@media(max-width:720px){
  .esp-area-primary .esp-area-section-head{margin-bottom:22px}
  .esp-area-grid{gap:14px}
  .esp-area-card-media{border-radius:8px}
  .esp-area-card-body{padding:9px 5px 5px}
  .esp-area-card-description{font-size:.82rem;line-height:1.45;margin-bottom:6px}
  .esp-area-card-link{font-size:.7rem}
}

/* === ESP v5.8.3 — Service Area Hub smaller city cards for sharper source imagery === */
@media (min-width:901px){
  .esp-area-primary .esp-area-grid{
    width:min(100%,960px);
    margin-inline:auto;
    gap:16px 22px;
  }
  .esp-area-primary .esp-area-card-media{
    aspect-ratio:359/82;
  }
  .esp-area-primary .esp-area-card-body{
    padding:9px 6px 8px;
  }
  .esp-area-primary .esp-area-card-description{
    font-size:.81rem;
    line-height:1.42;
    margin-bottom:6px;
  }
  .esp-area-primary .esp-area-card-link{
    font-size:.69rem;
  }
}

/* =========================================================
   Gallery v5.9.0 — page-specific production framework
   ========================================================= */
.esp-gallery-page{overflow:hidden;background:#f8f4eb;color:#1d271f}
.esp-gallery-page .esp-gallery-kicker{display:block;margin-bottom:14px;font-size:.76rem;line-height:1.2;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#95501f}
.esp-gallery-page h1,.esp-gallery-page h2,.esp-gallery-page h3{color:#1d271f}
.esp-gallery-page p{font-size:1.04rem;line-height:1.72}
.esp-gallery-hero{position:relative;padding:82px 0 88px;background:linear-gradient(120deg,#fbf7ef 0%,#f1eadc 58%,#e5dccb 100%)}
.esp-gallery-hero:before{content:"";position:absolute;right:-13vw;top:-12vw;width:46vw;height:46vw;border-radius:50%;background:rgba(154,83,35,.08)}
.esp-gallery-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);gap:70px;align-items:center;z-index:1}
.esp-gallery-hero-copy{max-width:620px}
.esp-gallery-hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.1rem,5.25vw,5.8rem);line-height:.94;letter-spacing:-.045em;margin:0 0 26px}
.esp-gallery-lead{font-size:1.25rem!important;line-height:1.55!important;font-weight:700;color:#7a431e}
.esp-gallery-hero-copy .esp-button{margin-top:10px}
.esp-gallery-hero-visual{position:relative;min-width:0}
.esp-gallery-hero-frame{position:relative;aspect-ratio:16/9;border-radius:26px;overflow:hidden;box-shadow:0 24px 60px rgba(40,35,25,.18);border:1px solid rgba(92,75,48,.14);background:#d4c5ae}
.esp-gallery-hero-frame img{width:100%;height:100%;object-fit:cover;display:block;opacity:.88}
.esp-gallery-hero-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,27,22,.55))}
.esp-gallery-hero-frame>span{position:absolute;left:20px;bottom:18px;z-index:2;background:#1b251f;color:#fff;padding:8px 12px;border-radius:8px;font-size:.76rem;font-weight:800;letter-spacing:.04em}
.esp-gallery-hero-word{position:absolute;right:-34px;top:-104px;z-index:-1;font-size:clamp(5rem,8vw,8.8rem);line-height:1;font-weight:900;letter-spacing:-.07em;color:rgba(29,39,31,.085);white-space:nowrap}
.esp-gallery-section{padding:92px 0}
.esp-gallery-heading-row{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:28px}
.esp-gallery-heading-row h2,.esp-gallery-map-copy h2,.esp-gallery-final h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.6rem,4.2vw,4.5rem);line-height:1.02;letter-spacing:-.035em;margin:0}
.esp-gallery-heading-row>p{max-width:500px;margin:0 0 6px;font-size:1.15rem;font-weight:700;color:#6b4b30}
.esp-gallery-intro{max-width:820px;margin:0 0 40px}
.esp-gallery-featured{position:relative;background:linear-gradient(156deg,#fffaf2 0 76%,#e8eee7 76% 100%)}
.esp-gallery-featured:before{content:"";position:absolute;left:-11vw;top:8%;width:31vw;height:31vw;border-radius:50%;border:1px solid rgba(67,102,76,.12);background:rgba(103,136,111,.035);pointer-events:none}
.esp-gallery-featured>.esp-container{position:relative;z-index:1}
.esp-gallery-featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.esp-gallery-before-after{margin:0;border-radius:18px;overflow:hidden;background:#fff;border:1px solid rgba(67,56,39,.13);box-shadow:0 14px 36px rgba(41,34,25,.08)}
.esp-gallery-ba-media{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:16/9;background:#d6c5ac}
.esp-gallery-ba-half{position:relative;overflow:hidden}
.esp-gallery-ba-half+ .esp-gallery-ba-half{border-left:2px solid #fff}
.esp-gallery-ba-half img{width:100%;height:100%;object-fit:cover;display:block}
.esp-gallery-ba-half:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(17,23,19,.5))}
.esp-gallery-ba-half span{position:absolute;left:12px;bottom:10px;z-index:2;color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.14em}
.esp-gallery-card-label{padding:14px 16px;font-size:.78rem;font-weight:800;color:#624c37}
.esp-gallery-browse{background:#1d2923;color:#fff}
.esp-gallery-browse h2,.esp-gallery-browse h3,.esp-gallery-browse p{color:#fff}
.esp-gallery-heading-row-light>p{color:#e5c9ad}
.esp-gallery-browse .esp-gallery-kicker{color:#d78a51}
.esp-gallery-category-copy{margin-bottom:2px!important;color:#d8d4ca!important;font-weight:700}
.esp-gallery-category-list{margin-top:0!important;color:#f2dbc6!important}
.esp-gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 38px}
.esp-gallery-filters button{appearance:none;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:10px 16px;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;transition:.2s ease}
.esp-gallery-filters button:hover,.esp-gallery-filters button:focus-visible,.esp-gallery-filters button.is-active{background:#a65a27;border-color:#a65a27;outline:none}
.esp-gallery-project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.esp-gallery-project-card{background:#f7f1e7;color:#1d271f;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.07);transition:transform .2s ease,box-shadow .2s ease}
.esp-gallery-project-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(0,0,0,.18)}
.esp-gallery-project-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#cdbcaa}
.esp-gallery-project-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72);opacity:.9}
.esp-gallery-project-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(17,23,19,.58))}
.esp-gallery-project-media span{position:absolute;z-index:2;left:12px;bottom:10px;color:#fff;font-size:.65rem;font-weight:800}
.esp-gallery-project-body{padding:16px 16px 18px}
.esp-gallery-project-body h3{font-size:1rem;line-height:1.25;margin:0 0 10px}
.esp-gallery-project-link{display:inline-flex;gap:8px;align-items:center;color:#95501f;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.esp-gallery-footnote{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid rgba(255,255,255,.15);padding-top:24px}
.esp-gallery-footnote p{margin:0;color:#d5d5ce!important;font-size:.9rem}
.esp-gallery-map{background:linear-gradient(135deg,#efe8d8 0%,#faf6ef 55%,#e8efe7 100%)}
.esp-gallery-map-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}
.esp-gallery-map-copy p{max-width:620px}
.esp-gallery-map-frame{position:relative;display:flex;min-height:440px;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#d9d0bf,#eee7d9);border:1px solid rgba(60,75,64,.13);box-shadow:0 22px 48px rgba(44,52,45,.12);align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#283a30}
.esp-gallery-map-lines{position:absolute;inset:-30%;background:repeating-linear-gradient(32deg,transparent 0 48px,rgba(52,77,61,.08) 49px 51px),repeating-linear-gradient(121deg,transparent 0 65px,rgba(158,88,39,.06) 66px 68px);transform:rotate(-7deg)}
.esp-gallery-map-pin{position:relative;z-index:2;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#a65a27;color:#fff;border:8px solid rgba(255,255,255,.7);box-shadow:0 8px 24px rgba(90,51,25,.18)}
.esp-gallery-map-frame strong,.esp-gallery-map-frame span{position:relative;z-index:2}
.esp-gallery-map-frame strong{font-size:1.35rem}
.esp-gallery-map-frame span{font-size:.76rem;font-weight:800;color:#6d716b}
.esp-gallery-final{position:relative;background:linear-gradient(128deg,#f9f5ec 0 68%,#e7eee6 68% 100%)}
.esp-gallery-final:before{content:"";position:absolute;right:-9vw;bottom:-12vw;width:30vw;height:30vw;border-radius:50%;background:rgba(78,112,86,.07);pointer-events:none}
.esp-gallery-final>.esp-container{position:relative;z-index:1}
.esp-gallery-final-grid{display:grid;grid-template-columns:1fr .9fr;gap:76px;align-items:center}
.esp-gallery-final-grid>div:first-child{max-width:690px}
.esp-gallery-final-visual{position:relative;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:#d2c3ad;box-shadow:0 18px 42px rgba(50,42,30,.12)}
.esp-gallery-final-visual img{width:100%;height:100%;object-fit:cover;display:block}
.esp-gallery-final-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(17,23,19,.55))}
.esp-gallery-final-visual span{position:absolute;z-index:2;left:16px;bottom:14px;color:#fff;background:#1d2923;padding:7px 10px;border-radius:7px;font-size:.7rem;font-weight:800}
.esp-gallery-weathered{margin-top:28px!important;font-family:Georgia,'Times New Roman',serif;font-size:1.35rem!important;font-style:italic;color:#95501f!important}
@media(max-width:1050px){
  .esp-gallery-hero-grid{grid-template-columns:1fr 1fr;gap:38px}
  .esp-gallery-project-grid{grid-template-columns:repeat(2,1fr)}
  .esp-gallery-featured-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .esp-gallery-hero{padding:52px 0 62px}
  .esp-gallery-hero-grid,.esp-gallery-heading-row,.esp-gallery-map-grid,.esp-gallery-final-grid{grid-template-columns:1fr;gap:30px}
  .esp-gallery-hero-copy h1{font-size:clamp(2.7rem,13vw,4rem)}
  .esp-gallery-lead{font-size:1.08rem!important}
  .esp-gallery-hero-word{right:4px;top:-54px;font-size:4.2rem}
  .esp-gallery-section{padding:62px 0}
  .esp-gallery-heading-row{margin-bottom:20px}
  .esp-gallery-heading-row h2,.esp-gallery-map-copy h2,.esp-gallery-final h2{font-size:clamp(2.3rem,10vw,3.4rem)}
  .esp-gallery-featured-grid,.esp-gallery-project-grid,.esp-gallery-footnote{grid-template-columns:1fr}
  .esp-gallery-filters{gap:8px;margin:24px 0 28px}
  .esp-gallery-filters button{font-size:.75rem;padding:9px 13px}
  .esp-gallery-map-frame{min-height:320px}
}

/* === ESP v5.9.2 — Gallery project information single-line desktop treatment === */
@media(min-width:1051px){
  .esp-gallery-project-info-line{white-space:nowrap;font-size:.86rem!important;letter-spacing:-.01em}
}

/* =========================================================
   Resource Hub v5.10.0 — page-specific production framework
   ========================================================= */
.esp-resource-page{overflow:hidden;background:#f8f4eb;color:#1d271f}
.esp-resource-page .esp-resource-kicker{display:block;margin-bottom:14px;font-size:.76rem;line-height:1.2;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#95501f}
.esp-resource-page h1,.esp-resource-page h2,.esp-resource-page h3{color:#1d271f}
.esp-resource-page p{font-size:1.03rem;line-height:1.72}
.esp-resource-hero{position:relative;padding:80px 0 90px;background:linear-gradient(122deg,#faf6ee 0%,#f0e8da 59%,#e4dccd 100%)}
.esp-resource-hero:before{content:"";position:absolute;left:-13vw;bottom:-18vw;width:44vw;height:44vw;border-radius:50%;border:1px solid rgba(73,104,79,.13);background:rgba(79,117,87,.035)}
.esp-resource-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:72px;align-items:center;z-index:1}
.esp-resource-hero-copy{max-width:650px}
.esp-resource-hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.15rem,5.35vw,5.75rem);line-height:.94;letter-spacing:-.045em;margin:0 0 25px}
.esp-resource-lead{font-size:1.24rem!important;line-height:1.52!important;font-weight:750;color:#704224}
.esp-resource-hero-visual{position:relative;min-width:0}
.esp-resource-hero-frame{position:relative;aspect-ratio:8/5;border-radius:27px;overflow:hidden;background:#d0c1ab;border:1px solid rgba(83,65,43,.13);box-shadow:0 26px 60px rgba(45,39,29,.17)}
.esp-resource-hero-frame img{width:100%;height:100%;object-fit:cover;display:block;opacity:.88}
.esp-resource-hero-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(20,28,22,.52))}
.esp-resource-hero-frame>span{position:absolute;left:20px;bottom:17px;z-index:2;background:#1d2923;color:#fff;padding:8px 12px;border-radius:8px;font-size:.75rem;font-weight:800;letter-spacing:.04em}
.esp-resource-hero-word{position:absolute;right:-34px;top:-94px;z-index:-1;font-size:clamp(4.4rem,7.25vw,8rem);line-height:1;font-weight:900;letter-spacing:-.075em;color:rgba(29,39,31,.075);white-space:nowrap}
.esp-resource-section{padding:92px 0}
.esp-resource-heading-row{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:36px}
.esp-resource-heading-row h2,.esp-resource-final h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.65rem,4.2vw,4.55rem);line-height:1.02;letter-spacing:-.035em;margin:0}
.esp-resource-paths{position:relative;background:linear-gradient(155deg,#fffaf2 0 82%,#e7eee6 82% 100%)}
.esp-resource-paths:before{content:"";position:absolute;right:-12vw;top:13%;width:30vw;height:30vw;border-radius:50%;background:rgba(78,111,86,.055);border:1px solid rgba(72,108,80,.09);pointer-events:none}
.esp-resource-paths>.esp-container{position:relative;z-index:1}
.esp-resource-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.esp-resource-path-card{position:relative;min-height:100%;padding:30px 30px 28px;border:1px solid rgba(65,60,49,.13);border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 13px 34px rgba(40,35,27,.07);overflow:hidden}
.esp-resource-path-card:before{content:"";position:absolute;right:-54px;top:-54px;width:142px;height:142px;border-radius:50%;background:rgba(141,81,38,.06)}
.esp-resource-card-no{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;margin-bottom:16px;border-radius:50%;background:#1d2923;color:#fff;font-size:.69rem;font-weight:900;letter-spacing:.06em}
.esp-resource-topic-label{position:relative;display:inline-flex;align-items:center;min-height:31px;margin-bottom:16px;padding:6px 11px 5px;border:1px solid rgba(29,41,35,.18);border-radius:999px;background:rgba(255,255,255,.64);color:#536257;font-size:.69rem;font-weight:900;letter-spacing:.10em;text-transform:uppercase;box-shadow:inset 0 0 0 1px rgba(255,255,255,.38)}
.esp-resource-path-card--worn .esp-resource-topic-label,.esp-resource-path-card--timing .esp-resource-topic-label{background:rgba(224,233,224,.72);color:#405347}
.esp-resource-path-card--color .esp-resource-topic-label{background:rgba(141,81,38,.09);color:#744b2d;border-color:rgba(141,81,38,.16)}
.esp-resource-path-card h3{position:relative;margin:0 0 12px;font-family:Georgia,'Times New Roman',serif;font-size:1.62rem;line-height:1.18;letter-spacing:-.02em}
.esp-resource-path-card>p{position:relative;max-width:700px;margin:0 0 20px;color:#5c5d56}
.esp-resource-path-links{display:grid;gap:0;border-top:1px solid #dfd8cc}
.esp-resource-path-links a,.esp-resource-color-link a{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:11px 0;border-bottom:1px solid #e5dfd5;text-decoration:none;color:#71421f;font-size:.88rem;font-weight:800;line-height:1.35}
.esp-resource-path-links a:hover,.esp-resource-color-link a:hover{color:#a25928}
.esp-resource-path-links a span,.esp-resource-color-link a span{font-size:1rem}
.esp-resource-path-card--worn,.esp-resource-path-card--timing{background:linear-gradient(145deg,#fff,#f3f6f1)}
.esp-resource-path-card--color{background:linear-gradient(145deg,#efe4d5,#f8f2e9)}
.esp-resource-color-link{margin-top:22px;border-top:1px solid #d7c9b7}
.esp-resource-color-link a{font-size:1rem;padding:14px 0}
.esp-resource-library{position:relative;background:#1d2923;color:#fff}
.esp-resource-library:before{content:"RESOURCES";position:absolute;right:-.045em;top:90px;font-size:clamp(6rem,13vw,13rem);line-height:.75;font-weight:900;letter-spacing:-.07em;color:rgba(255,255,255,.025);pointer-events:none}
.esp-resource-library h2,.esp-resource-library h3{color:#fff}
.esp-resource-library .esp-resource-kicker{color:#d88d56}
.esp-resource-heading-row--library{position:relative;z-index:1;align-items:end}
.esp-resource-jump{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:520px}
.esp-resource-jump a{padding:9px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.055);color:#fff;text-decoration:none;font-size:.75rem;font-weight:800;line-height:1.2}
.esp-resource-jump a:hover,.esp-resource-jump a:focus-visible{background:#9c5526;border-color:#9c5526;outline:none}
.esp-resource-library-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.esp-resource-category{scroll-margin-top:170px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(255,255,255,.055);overflow:hidden}
.esp-resource-category--wide{grid-column:1/-1}
.esp-resource-category-head{display:flex;gap:16px;align-items:center;padding:25px 26px 21px;border-bottom:1px solid rgba(255,255,255,.11)}
.esp-resource-category-head>span{display:grid;place-items:center;flex:0 0 39px;height:39px;border-radius:50%;background:#a65a27;color:#fff;font-size:.7rem;font-weight:900}
.esp-resource-category-head h3{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:1.48rem;line-height:1.2}
.esp-resource-guide-list{display:grid}
.esp-resource-guide-list--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.esp-resource-guide{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"title arrow" "desc arrow";gap:5px 20px;padding:21px 26px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;transition:background .18s ease,transform .18s ease}
.esp-resource-guide-list .esp-resource-guide:last-child{border-bottom:0}
.esp-resource-guide-list--two .esp-resource-guide:nth-child(odd){border-right:1px solid rgba(255,255,255,.1)}
.esp-resource-guide-list--two .esp-resource-guide:nth-last-child(-n+2){border-bottom:0}
.esp-resource-guide strong{grid-area:title;font-size:.96rem;line-height:1.35;color:#fff}
.esp-resource-guide>span{grid-area:desc;font-size:.82rem;line-height:1.5;color:#cfd4ce}
.esp-resource-guide>b{grid-area:arrow;align-self:center;font-size:1.05rem;color:#d98b52}
.esp-resource-guide:hover,.esp-resource-guide:focus-visible{background:rgba(255,255,255,.075);outline:none}
.esp-resource-final{position:relative;background:linear-gradient(132deg,#f8f4ec 0 65%,#dfe9df 65% 100%)}
.esp-resource-final:before{content:"";position:absolute;left:-10vw;bottom:-14vw;width:31vw;height:31vw;border-radius:50%;border:1px solid rgba(66,98,73,.1);background:rgba(79,115,86,.04)}
.esp-resource-final-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .9fr;gap:76px;align-items:center}
.esp-resource-final-copy{max-width:700px}
.esp-resource-final-copy p{max-width:690px}
.esp-resource-final-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.esp-resource-final-visual{position:relative;aspect-ratio:4/3;border-radius:23px;overflow:hidden;background:#d1c3ae;box-shadow:0 20px 48px rgba(46,40,30,.14)}
.esp-resource-final-visual img{width:100%;height:100%;object-fit:cover;display:block}
.esp-resource-final-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(17,23,19,.55))}
.esp-resource-final-visual span{position:absolute;z-index:2;left:16px;bottom:14px;color:#fff;background:#1d2923;padding:7px 10px;border-radius:7px;font-size:.7rem;font-weight:800}
.esp-resource-weathered{margin-top:28px!important;font-family:Georgia,'Times New Roman',serif;font-size:1.35rem!important;font-style:italic;color:#95501f!important}
@media(max-width:1050px){
  .esp-resource-hero-grid{grid-template-columns:1fr 1fr;gap:40px}
  .esp-resource-heading-row--library{align-items:flex-start;flex-direction:column}
  .esp-resource-jump{justify-content:flex-start;max-width:none}
}
@media(max-width:760px){
  .esp-resource-hero{padding:52px 0 62px}
  .esp-resource-hero-grid,.esp-resource-path-grid,.esp-resource-library-grid,.esp-resource-final-grid{grid-template-columns:1fr;gap:28px}
  .esp-resource-hero-copy h1{font-size:clamp(2.7rem,13vw,4rem)}
  .esp-resource-lead{font-size:1.08rem!important}
  .esp-resource-hero-word{right:2px;top:-50px;font-size:3.55rem}
  .esp-resource-section{padding:62px 0}
  .esp-resource-heading-row{margin-bottom:26px}
  .esp-resource-heading-row h2,.esp-resource-final h2{font-size:clamp(2.3rem,10vw,3.4rem)}
  .esp-resource-path-card{padding:24px 21px 22px}
  .esp-resource-category--wide{grid-column:auto}
  .esp-resource-guide-list--two{grid-template-columns:1fr}
  .esp-resource-guide-list--two .esp-resource-guide:nth-child(odd){border-right:0}
  .esp-resource-guide-list--two .esp-resource-guide:nth-last-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}
  .esp-resource-guide-list--two .esp-resource-guide:last-child{border-bottom:0}
  .esp-resource-category-head{padding:21px 20px 18px}
  .esp-resource-guide{padding:18px 20px}
  .esp-resource-jump{gap:7px}
  .esp-resource-final-actions{align-items:stretch;flex-direction:column}
  .esp-resource-final-actions .esp-button{width:100%}
}

/* =========================================================
   Deck Staining & Sealing v5.11.0 — service page
   ========================================================= */
.esp-deck-page{overflow:hidden;background:#f8f4eb;color:#1d271f}.esp-deck-page .esp-deck-kicker{display:block;margin-bottom:14px;font-size:.76rem;line-height:1.2;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#95501f}.esp-deck-page h1,.esp-deck-page h2,.esp-deck-page h3{color:#1d271f}.esp-deck-page p{font-size:1.03rem;line-height:1.72}.esp-deck-hero{position:relative;padding:80px 0 92px;background:linear-gradient(122deg,#faf6ee 0%,#f0e8da 58%,#e3dccd 100%)}.esp-deck-hero:before{content:"";position:absolute;left:-12vw;bottom:-18vw;width:43vw;height:43vw;border-radius:50%;border:1px solid rgba(73,104,79,.13);background:rgba(79,117,87,.035)}.esp-deck-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.96fr) minmax(480px,1.04fr);gap:66px;align-items:center;z-index:1}.esp-deck-hero-copy{max-width:680px}.esp-deck-hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.15rem,5.2vw,5.65rem);line-height:.95;letter-spacing:-.045em;margin:0 0 25px}.esp-deck-lead{font-size:1.28rem!important;line-height:1.45!important;font-weight:800;color:#704224}.esp-deck-hero-copy .esp-button{margin-top:14px}.esp-deck-hero-visual{position:relative}.esp-deck-hero-word{position:absolute;right:-22px;top:-102px;z-index:-1;font-size:clamp(5.5rem,9vw,9.2rem);line-height:1;font-weight:900;letter-spacing:-.07em;color:rgba(29,39,31,.075)}.esp-deck-image-frame{position:relative;aspect-ratio:4/3;border-radius:24px;overflow:hidden;background:#d0c1ab;border:1px solid rgba(83,65,43,.13);box-shadow:0 22px 54px rgba(45,39,29,.14)}.esp-deck-image-frame--hero{aspect-ratio:16/11}.esp-deck-image-frame img{width:100%;height:100%;object-fit:cover;display:block;opacity:.9}.esp-deck-image-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 57%,rgba(20,28,22,.5))}.esp-deck-image-frame>span{position:absolute;left:17px;bottom:15px;z-index:2;background:#1d2923;color:#fff;padding:7px 10px;border-radius:7px;font-size:.72rem;font-weight:800}.esp-deck-section{padding:90px 0}.esp-deck-copy h2,.esp-deck-heading-row h2,.esp-deck-system-head h2,.esp-deck-weather h2,.esp-deck-cost h2,.esp-deck-area h2,.esp-deck-final h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.55rem,4vw,4.35rem);line-height:1.02;letter-spacing:-.035em;margin:0 0 24px}.esp-deck-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}.esp-deck-split--reverse{grid-template-columns:1.08fr .92fr}.esp-deck-split--reverse .esp-deck-copy{order:1}.esp-deck-split--reverse .esp-deck-image-frame{order:2}.esp-text-link{display:inline-flex;align-items:center;gap:10px;color:#82471f;text-decoration:none;font-weight:900}.esp-text-link:hover{color:#a65a27}.esp-deck-revive{background:#fffaf2}.esp-deck-system{position:relative;background:#1d2923;color:#fff}.esp-deck-system:before{content:"SYSTEM";position:absolute;right:-.03em;top:50px;font-size:clamp(7rem,16vw,15rem);font-weight:900;line-height:1;color:rgba(255,255,255,.025);letter-spacing:-.07em}.esp-deck-system h2,.esp-deck-system p{color:#fff}.esp-deck-system .esp-deck-kicker{color:#d88d56}.esp-deck-system-head{position:relative;z-index:1;max-width:900px;margin-bottom:42px}.esp-deck-system-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:70px}.esp-deck-system-copy p{color:#e1e4df}.esp-deck-system-rail{display:grid;align-content:start;border-left:1px solid rgba(255,255,255,.16)}.esp-deck-system-rail div{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:center;padding:19px 0 19px 25px;border-bottom:1px solid rgba(255,255,255,.12)}.esp-deck-system-rail b{color:#d98b52;font-size:.72rem;letter-spacing:.1em}.esp-deck-system-rail span{font-weight:800;color:#fff;line-height:1.35}.esp-deck-condition-section{position:relative;background:linear-gradient(155deg,#f8f4eb 0 82%,#e4ece3 82%)}.esp-deck-condition-section:before{content:"";position:absolute;right:-12vw;top:8%;width:31vw;height:31vw;border-radius:50%;background:rgba(78,111,86,.055);border:1px solid rgba(72,108,80,.09)}.esp-deck-heading-row{position:relative;z-index:1;max-width:900px;margin-bottom:38px}.esp-deck-condition-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.esp-deck-condition-card{padding:31px;border:1px solid rgba(65,60,49,.13);border-radius:21px;background:rgba(255,255,255,.9);box-shadow:0 14px 36px rgba(40,35,27,.07)}.esp-deck-condition-card h3,.esp-deck-prep-grid h3,.esp-deck-faq-grid h3,.esp-deck-gallery-card h3{font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;line-height:1.18;letter-spacing:-.02em;margin:0 0 14px}.esp-deck-condition-tag{display:inline-flex;margin-bottom:16px;padding:7px 11px;border-radius:999px;background:#e7eee6;color:#405347;font-size:.69rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.esp-deck-condition-card--wide{grid-column:1/-1;display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center}.esp-deck-prep{background:#efe5d7}.esp-deck-prep-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.esp-deck-prep-top h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.55rem,4vw,4.35rem);line-height:1.02;letter-spacing:-.035em;margin:0 0 20px}.esp-deck-symptom-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.esp-deck-symptom-list li{padding:13px 15px;border-radius:11px;background:rgba(255,255,255,.72);border:1px solid rgba(76,61,45,.1);font-weight:800}.esp-deck-prep-intro{max-width:960px;margin:38px 0;padding:24px 28px;border-left:4px solid #95501f;background:rgba(255,255,255,.55)}.esp-deck-prep-intro p{margin:5px 0}.esp-deck-prep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.esp-deck-prep-grid article{padding:27px;border-radius:18px;background:#fffaf3;border:1px solid rgba(65,60,49,.12)}.esp-deck-inline-cta{display:flex;justify-content:space-between;gap:35px;align-items:center;margin-top:28px;padding:26px 30px;border-radius:17px;background:#1d2923;color:#fff}.esp-deck-inline-cta strong{font-family:Georgia,'Times New Roman',serif;font-size:1.45rem}.esp-deck-inline-cta p{margin:5px 0 0;color:#dfe3dd}.esp-deck-inline-cta .esp-button{flex:0 0 auto}.esp-deck-cleaning{background:#fffaf2}.esp-deck-cleaning a{font-weight:800;color:#82471f}.esp-deck-materials{position:relative;background:linear-gradient(135deg,#edf2eb,#f8f4eb 62%)}.esp-deck-materials-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.esp-deck-material-panels{display:grid;grid-template-columns:1fr 1fr;gap:13px}.esp-deck-material-panels>div:not(.esp-deck-image-frame){padding:21px;border-radius:15px;background:#1d2923;color:#fff}.esp-deck-material-panels>div:not(.esp-deck-image-frame) span{display:block;color:#d98b52;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.esp-deck-material-panels>div:not(.esp-deck-image-frame) b{font-family:Georgia,'Times New Roman',serif;font-size:1.05rem;line-height:1.35}.esp-deck-material-panels .esp-deck-image-frame{grid-column:1/-1;aspect-ratio:12/7}.esp-deck-components{background:#1d2923;color:#fff}.esp-deck-components h2,.esp-deck-components p{color:#fff}.esp-deck-components .esp-deck-kicker{color:#d88d56}.esp-deck-component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.esp-deck-component-grid span{padding:16px 18px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.055);font-weight:800}.esp-deck-component-copy{max-width:930px;margin-top:34px}.esp-deck-component-copy p{color:#dfe3dd}.esp-deck-finishes{background:#f8f4eb}.esp-deck-weather{position:relative;background:linear-gradient(132deg,#f5efe5 0 66%,#dfe9df 66%)}.esp-deck-weather:before{content:"";position:absolute;left:-9vw;bottom:-13vw;width:29vw;height:29vw;border-radius:50%;border:1px solid rgba(66,98,73,.1);background:rgba(79,115,86,.04)}.esp-deck-weather-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:end}.esp-deck-weather-words{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.esp-deck-weather-words span{padding:9px 12px;border-radius:999px;background:#1d2923;color:#fff;font-size:.8rem;font-weight:800}.esp-deck-weather-copy{padding:28px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(57,79,61,.12)}.esp-deck-faq-band{background:#fffaf2}.esp-deck-faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.esp-deck-faq-grid article{padding:28px;border:1px solid rgba(65,60,49,.12);border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(40,35,27,.055)}.esp-deck-cost{background:#e8ddce}.esp-deck-cost-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px}.esp-deck-cost-factors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.esp-deck-cost-factors span{padding:13px 15px;background:rgba(255,255,255,.7);border:1px solid rgba(75,61,46,.1);border-radius:10px;font-weight:800}.esp-deck-cost-bottom{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr auto;gap:28px;align-items:center;padding-top:26px;border-top:1px solid rgba(75,61,46,.16)}.esp-deck-not-sure{background:#f8f4eb}.esp-deck-not-sure-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.esp-deck-gallery-card{border-radius:22px;overflow:hidden;background:#fff;border:1px solid rgba(65,60,49,.12);box-shadow:0 16px 38px rgba(40,35,27,.08)}.esp-deck-gallery-card .esp-deck-image-frame{border-radius:0;box-shadow:none;aspect-ratio:3/2}.esp-deck-gallery-card>div:last-child{padding:25px 28px 28px}.esp-deck-area{background:#1d2923;color:#fff}.esp-deck-area h2,.esp-deck-area p{color:#fff}.esp-deck-area .esp-deck-kicker{color:#d88d56}.esp-deck-area-grid{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end}.esp-deck-area-link{color:#e5a270;white-space:nowrap}.esp-deck-final{position:relative;background:linear-gradient(145deg,#f8f4eb 0 70%,#e2ebe1 70%)}.esp-deck-final:before{content:"DECK";position:absolute;left:-.02em;bottom:-.13em;font-size:clamp(7rem,17vw,16rem);font-weight:900;line-height:1;color:rgba(29,39,31,.035);letter-spacing:-.07em}.esp-deck-final-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.esp-deck-signoff{font-family:Georgia,'Times New Roman',serif;font-size:1.35rem!important;font-style:italic;color:#95501f!important}.esp-deck-final .esp-button{margin-top:10px}
@media(max-width:1050px){.esp-deck-hero-grid{grid-template-columns:1fr 1fr;gap:40px}.esp-deck-prep-grid,.esp-deck-faq-grid{grid-template-columns:1fr}.esp-deck-cost-bottom{grid-template-columns:1fr 1fr}.esp-deck-cost-bottom .esp-button{grid-column:1/-1;justify-self:start}}
@media(max-width:760px){.esp-deck-hero{padding:58px 0 64px}.esp-deck-hero-grid,.esp-deck-split,.esp-deck-split--reverse,.esp-deck-system-grid,.esp-deck-condition-grid,.esp-deck-condition-card--wide,.esp-deck-prep-top,.esp-deck-materials-grid,.esp-deck-weather-grid,.esp-deck-cost-grid,.esp-deck-not-sure-grid,.esp-deck-area-grid,.esp-deck-final-grid{grid-template-columns:1fr;gap:32px}.esp-deck-split--reverse .esp-deck-copy,.esp-deck-split--reverse .esp-deck-image-frame{order:initial}.esp-deck-hero-copy h1{font-size:clamp(2.8rem,13vw,4.1rem)}.esp-deck-hero-word{top:-52px;right:0;font-size:5rem}.esp-deck-section{padding:62px 0}.esp-deck-copy h2,.esp-deck-heading-row h2,.esp-deck-system-head h2,.esp-deck-weather h2,.esp-deck-cost h2,.esp-deck-area h2,.esp-deck-final h2,.esp-deck-prep-top h2{font-size:clamp(2.25rem,10vw,3.35rem)}.esp-deck-condition-card{padding:24px}.esp-deck-condition-card--wide{grid-column:auto}.esp-deck-symptom-list,.esp-deck-component-grid,.esp-deck-cost-factors{grid-template-columns:1fr}.esp-deck-prep-grid{gap:12px}.esp-deck-inline-cta{align-items:flex-start;flex-direction:column;padding:24px}.esp-deck-material-panels{grid-template-columns:1fr}.esp-deck-material-panels .esp-deck-image-frame{grid-column:auto}.esp-deck-faq-grid{gap:12px}.esp-deck-cost-bottom{grid-column:auto;grid-template-columns:1fr}.esp-deck-cost-bottom .esp-button{grid-column:auto}.esp-deck-area-link{white-space:normal}.esp-deck-system-rail div{padding-left:18px}.esp-deck-image-frame--hero{aspect-ratio:4/3}}


/* === ESP v5.11.1 — Deck accordions + component layout refinement === */
.esp-deck-prep-grid.esp-deck-accordion,
.esp-deck-faq-grid.esp-deck-accordion{display:grid;grid-template-columns:1fr;gap:12px}
.esp-deck-accordion .esp-deck-accordion-item{padding:0;border:1px solid rgba(65,60,49,.13);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(40,35,27,.045)}
.esp-deck-prep .esp-deck-accordion .esp-deck-accordion-item{background:#fffaf3}
.esp-deck-accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 25px;border:0;background:transparent;color:#17281f;text-align:left;cursor:pointer;font-family:Georgia,'Times New Roman',serif;font-size:1.42rem;font-weight:700;line-height:1.18}
.esp-deck-accordion-trigger:hover{background:rgba(130,71,31,.035)}
.esp-deck-accordion-trigger:focus-visible{outline:3px solid rgba(149,80,31,.35);outline-offset:-3px}
.esp-deck-accordion-icon{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#1d2923;color:#fff;font-family:Arial,sans-serif;font-size:1.45rem;font-weight:400;line-height:1}
.esp-deck-accordion-item.is-open .esp-deck-accordion-icon{background:#95501f}
.esp-deck-accordion-panel{padding:0 25px 22px;border-top:1px solid rgba(65,60,49,.08)}
.esp-deck-accordion-panel[hidden]{display:none!important}
.esp-deck-accordion-panel p:first-child{margin-top:20px}
.esp-deck-accordion-panel p:last-child{margin-bottom:0}
.esp-deck-components-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
.esp-deck-components .esp-deck-component-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.esp-deck-components .esp-deck-component-copy{max-width:none;margin-top:0;padding-top:0;align-self:start}
.esp-deck-components .esp-deck-component-copy p:first-child{margin-top:0}
@media(max-width:760px){
  .esp-deck-accordion-trigger{padding:19px 20px;font-size:1.2rem;gap:16px}
  .esp-deck-accordion-icon{flex-basis:30px;width:30px;height:30px;font-size:1.25rem}
  .esp-deck-accordion-panel{padding:0 20px 20px}
  .esp-deck-components-layout{grid-template-columns:1fr;gap:28px}
  .esp-deck-components .esp-deck-component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:430px){
  .esp-deck-components .esp-deck-component-grid{grid-template-columns:1fr 1fr}
  .esp-deck-components .esp-deck-component-grid span{padding:13px 12px;font-size:.88rem}
}
\n\n/* === ESP v5.11.2 — mobile navigation containment + deck inline estimate cadence === */
@media(max-width:1080px){
  .esp-nav{
    overflow-y:auto;
    overflow-x:hidden;
    max-width:calc(100vw - 44px);
  }
  .esp-menu,.esp-menu>li,.esp-desktop-submenu,.esp-desktop-submenu a{min-width:0;max-width:100%}
  .esp-menu>li{width:100%;grid-template-columns:minmax(0,1fr) auto}
  .esp-desktop-submenu{
    grid-column:1 / -1;
    width:100%;
    margin:0;
    left:auto;
    right:auto;
    transform:none!important;
  }
  .esp-desktop-submenu a{
    display:block;
    width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }
}
@media(max-width:720px){
  .esp-nav{left:14px;right:14px;max-width:calc(100vw - 28px);padding:12px}
  .esp-menu>li>a{white-space:normal;min-width:0}
  .esp-desktop-submenu{padding:0 0 8px}
  .esp-desktop-submenu a{padding:10px 12px;font-size:.94rem;line-height:1.28}
}
.esp-deck-page + .esp-inline-estimate,
.esp-deck-page .esp-inline-estimate{position:relative;z-index:2}

/* === ESP v5.11.3 — hard reset for mobile Services / Service Areas dropdown geometry === */
@media (max-width:1080px){
  .esp-nav{
    left:14px!important;
    right:14px!important;
    width:auto!important;
    max-width:none!important;
    overflow-x:hidden!important;
  }
  .esp-menu{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .esp-menu > li{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .esp-menu > li > a{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:14px 64px 14px 14px!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }
  .esp-menu > li:not(.has-submenu) > a{
    padding-right:14px!important;
  }
  .esp-mobile-plus{
    position:absolute!important;
    top:7px!important;
    right:6px!important;
    margin:0!important;
    z-index:2!important;
  }
  .esp-desktop-submenu{
    position:relative!important;
    inset:auto!important;
    left:0!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    grid-column:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:2px 8px 12px 8px!important;
    transform:none!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    overflow:hidden!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .has-submenu:not(.submenu-open) > .esp-desktop-submenu{
    display:none!important;
  }
  .has-submenu.submenu-open > .esp-desktop-submenu{
    display:grid!important;
  }
  .esp-desktop-submenu > a{
    display:block!important;
    position:relative!important;
    left:0!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:12px 14px!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    text-indent:0!important;
    transform:none!important;
    border-radius:12px!important;
  }
}

/* === ESP v5.12.0 — Fence Staining & Sealing === */
.esp-fence-page .esp-fence-hero-word{font-size:clamp(5rem,9vw,9.2rem);top:-88px;left:-24px;opacity:.12}
.esp-fence-page .esp-fence-condition-section{background:linear-gradient(148deg,#fbf7ef 0 72%,#e8eee7 72% 100%)}
.esp-fence-page .esp-fence-weathered{background:linear-gradient(126deg,#f2e6d6 0 78%,#e4ebe3 78% 100%)}
.esp-fence-page .esp-fence-prep-questions .esp-deck-heading-row{max-width:950px;margin-bottom:28px}
.esp-fence-prep-cta{max-width:900px;margin:28px auto 0;text-align:center}
.esp-fence-prep-cta .esp-button{margin-top:8px}
.esp-fence-page .esp-fence-styles{background:#182a22;color:#fff}
.esp-fence-page .esp-fence-styles h2,.esp-fence-page .esp-fence-styles p{color:#fff}
.esp-fence-page .esp-fence-styles .esp-deck-component-grid span{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.15);color:#fff}
.esp-fence-page .esp-fence-parts{background:#f8f4ec}
.esp-fence-single-accordion{grid-template-columns:1fr;max-width:1000px;margin-inline:auto}
.esp-fence-neighbor-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:start;margin-top:42px}
.esp-fence-protection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
.esp-fence-protection-grid span{padding:13px 15px;border:1px solid rgba(26,47,38,.14);border-radius:12px;background:#fff;font-weight:700}
.esp-fence-page .esp-fence-access{background:linear-gradient(145deg,#fffaf2 0 75%,#e8eee7 75% 100%)}
.esp-fence-page .esp-fence-finish{background:#f2e6d6}
.esp-fence-page .esp-fence-maintenance{background:#faf7f1}
.esp-fence-page .esp-fence-visible-property{background:linear-gradient(132deg,#f8f4ec 0 73%,#e2ebe2 73% 100%)}
.esp-fence-page .esp-fence-area{background:#182a22;color:#fff}
.esp-fence-page .esp-fence-area h2,.esp-fence-page .esp-fence-area p,.esp-fence-page .esp-fence-area a{color:#fff}
.esp-fence-page .esp-inline-estimate{position:relative;z-index:2}
@media(max-width:900px){
  .esp-fence-page .esp-fence-hero-word{top:-46px;left:-8px;font-size:clamp(3.5rem,18vw,6rem)}
  .esp-fence-neighbor-grid{grid-template-columns:1fr;gap:24px}
  .esp-fence-protection-grid{grid-template-columns:1fr 1fr}
  .esp-fence-page .esp-fence-prep-questions .esp-deck-heading-row{margin-bottom:20px}
}
@media(max-width:520px){
  .esp-fence-protection-grid{grid-template-columns:1fr}
}

/* Porch Staining & Sealing — v5.13.0 */
.esp-porch-page .esp-porch-hero-word{font-size:clamp(5rem,9vw,9rem);top:-88px;left:-22px;opacity:.12}
.esp-porch-page .esp-porch-finished-look{background:linear-gradient(145deg,#fbf7ef 0 74%,#e6eee6 74% 100%)}
.esp-porch-page .esp-porch-system{background:#f2e6d6}
.esp-porch-types{background:linear-gradient(132deg,#fffdf9 0 72%,#edf2eb 72% 100%)}
.esp-porch-type-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:26px;align-items:start}
.esp-porch-type-card{background:#fff;border:1px solid rgba(26,47,38,.12);border-radius:22px;padding:30px;box-shadow:0 12px 30px rgba(26,47,38,.06)}
.esp-porch-type-card h2{margin-top:0}
.esp-porch-type-card .esp-deck-image-frame{margin-top:22px}
.esp-porch-screened{background:#182a22;color:#fff}
.esp-porch-screened h2,.esp-porch-screened p,.esp-porch-screened li{color:#fff}
.esp-porch-screened .esp-deck-symptom-list li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}
.esp-porch-screen-questions{margin-top:34px}
.esp-porch-screened .esp-deck-accordion-item{background:#fff;color:#1a2f26}
.esp-porch-screened .esp-deck-accordion-item p{color:#253d33}
.esp-porch-screen-cta{text-align:center;margin-top:24px}
.esp-porch-components{background:#f8f4ec}
.esp-porch-component-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.esp-porch-component-card{background:#fff;border:1px solid rgba(26,47,38,.12);border-radius:20px;padding:28px;box-shadow:0 10px 26px rgba(26,47,38,.05)}
.esp-porch-component-card h2{font-size:clamp(1.4rem,2.2vw,2rem);margin-top:0}
.esp-porch-component-card--wide{grid-column:1 / -1}
.esp-porch-card-split{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.esp-porch-wood-condition{background:linear-gradient(148deg,#fbf7ef 0 70%,#e7eee7 70% 100%)}
.esp-porch-wood-condition .esp-deck-condition-card h2{font-size:clamp(1.35rem,2vw,1.9rem)}
.esp-porch-peeling{background:#f2e6d6}
.esp-porch-prep .esp-deck-heading-row{max-width:980px;margin-bottom:28px}
.esp-porch-prep-cta{max-width:920px;margin:28px auto 0;text-align:center}
.esp-porch-single-accordion{grid-template-columns:1fr;max-width:1000px;margin-inline:auto}
.esp-porch-painted-old{background:linear-gradient(138deg,#faf7f1 0 76%,#e4ebe3 76% 100%)}
.esp-porch-old-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:38px}
.esp-porch-old-grid>div{background:#fff;border:1px solid rgba(26,47,38,.12);border-radius:18px;padding:26px}
.esp-porch-protection{background:#fffdf8}
.esp-porch-protection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 22px}
.esp-porch-protection-grid span{padding:12px 14px;border:1px solid rgba(26,47,38,.14);border-radius:11px;background:#f8f4ec;font-weight:700}
.esp-porch-page .esp-porch-finish{background:#f2e6d6}
.esp-porch-page .esp-porch-maintenance{background:#faf7f1}
.esp-porch-page .esp-porch-cost{background:#fff}
.esp-porch-page .esp-porch-one-structure{background:linear-gradient(132deg,#f8f4ec 0 73%,#e2ebe2 73% 100%)}
.esp-porch-page .esp-porch-area{background:#182a22;color:#fff}
.esp-porch-page .esp-porch-area h2,.esp-porch-page .esp-porch-area p,.esp-porch-page .esp-porch-area a{color:#fff}
.esp-porch-page .esp-inline-estimate{position:relative;z-index:2}
@media(max-width:900px){
  .esp-porch-page .esp-porch-hero-word{top:-46px;left:-8px;font-size:clamp(3.4rem,17vw,6rem)}
  .esp-porch-type-grid,.esp-porch-component-grid,.esp-porch-card-split,.esp-porch-old-grid{grid-template-columns:1fr}
  .esp-porch-component-card--wide{grid-column:auto}
  .esp-porch-type-card,.esp-porch-component-card{padding:22px}
  .esp-porch-protection-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .esp-porch-protection-grid{grid-template-columns:1fr}
}

/* v5.13.1 — Porch light-section contrast correction */
.esp-porch-page .esp-porch-system{color:#1d271f}
.esp-porch-page .esp-porch-system h2{color:#1d271f}
.esp-porch-page .esp-porch-system p{color:#344038}
.esp-porch-page .esp-porch-system:before{color:rgba(29,39,31,.035)}

/* === ESP v5.14.0 — Pergola, Gazebo & Outdoor Structure Staining === */
.esp-outdoor-page{color:#1d271f}
.esp-outdoor-page .esp-outdoor-hero-word{font-size:clamp(4.4rem,8vw,8.4rem);top:-82px;left:-26px;opacity:.07}
.esp-outdoor-intro{background:linear-gradient(145deg,#fbf7ef 0 74%,#e6eee6 74% 100%)}
.esp-outdoor-types{background:#f2e6d6;color:#1d271f}
.esp-outdoor-types h2,.esp-outdoor-types h3,.esp-outdoor-types p{color:#1d271f}
.esp-outdoor-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}
.esp-outdoor-type-card{background:#fff;border:1px solid rgba(26,47,38,.12);border-radius:20px;padding:28px;box-shadow:0 10px 28px rgba(26,47,38,.055)}
.esp-outdoor-type-card h3{font-size:clamp(1.3rem,2vw,1.75rem);margin:0 0 10px}
.esp-outdoor-component-layout{display:grid;grid-template-columns:1.03fr .97fr;gap:46px;align-items:start}
.esp-outdoor-component-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.esp-outdoor-component-grid span{background:#182a22;color:#fff;border-radius:14px;padding:16px 14px;font-weight:800;text-align:center}
.esp-outdoor-condition{background:linear-gradient(148deg,#fbf7ef 0 70%,#e7eee7 70% 100%)}
.esp-outdoor-exposure{background:#182a22;color:#fff}
.esp-outdoor-exposure h2,.esp-outdoor-exposure p{color:#fff}
.esp-outdoor-prep .esp-deck-heading-row{max-width:980px;margin-bottom:28px}
.esp-outdoor-prep-cta{max-width:920px;margin:28px auto 0;text-align:center}
.esp-outdoor-protection{background:linear-gradient(138deg,#fffdf9 0 75%,#e8eee7 75% 100%)}
.esp-outdoor-protection-layout{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:start}
.esp-outdoor-protection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.esp-outdoor-protection-grid span{padding:13px 14px;border:1px solid rgba(26,47,38,.14);border-radius:12px;background:#fff;font-weight:750}
.esp-outdoor-materials{background:#f8f4ec}
.esp-outdoor-finish{background:#f2e6d6;color:#1d271f}
.esp-outdoor-finish h2,.esp-outdoor-finish p,.esp-outdoor-finish a{color:#1d271f}
.esp-outdoor-weather{background:#182a22;color:#fff}
.esp-outdoor-weather h2,.esp-outdoor-weather p,.esp-outdoor-weather .esp-kicker{color:#fff}
.esp-outdoor-weather .esp-deck-weather-grid span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}
.esp-outdoor-weather-copy{max-width:980px;margin:28px auto 0;text-align:center;color:#fff}
.esp-outdoor-maintenance{background:#faf7f1}
.esp-outdoor-maintenance-accordion{grid-template-columns:1fr 1fr}
.esp-outdoor-cost{background:#fff}
.esp-outdoor-unsure{background:linear-gradient(132deg,#f8f4ec 0 73%,#e2ebe2 73% 100%)}
.esp-outdoor-gallery{background:#fffdf8}
.esp-outdoor-area{background:#182a22;color:#fff}
.esp-outdoor-area h2,.esp-outdoor-area p,.esp-outdoor-area a,.esp-outdoor-area .esp-kicker{color:#fff}
.esp-outdoor-page .esp-inline-estimate{position:relative;z-index:2}
@media(max-width:900px){
  .esp-outdoor-page .esp-outdoor-hero-word{top:-44px;left:-8px;font-size:clamp(3rem,14vw,5.7rem)}
  .esp-outdoor-type-grid,.esp-outdoor-component-layout,.esp-outdoor-protection-layout,.esp-outdoor-maintenance-accordion{grid-template-columns:1fr}
  .esp-outdoor-component-grid,.esp-outdoor-protection-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .esp-outdoor-type-card{padding:22px}
  .esp-outdoor-component-grid,.esp-outdoor-protection-grid{grid-template-columns:1fr}
}

/* =========================================================
   v5.14.1 — Outdoor Structure page dimensional backgrounds
   Scoped to this page only. No copy/layout changes.
   ========================================================= */
.esp-outdoor-page .esp-deck-section,
.esp-outdoor-page .esp-deck-final,
.esp-outdoor-page .esp-inline-estimate{position:relative;isolation:isolate;overflow:hidden}
.esp-outdoor-page .esp-deck-section>.esp-container,
.esp-outdoor-page .esp-deck-final>.esp-container,
.esp-outdoor-page .esp-inline-estimate>.esp-container{position:relative;z-index:2}

/* Intro — soft green field + oversized circle */
.esp-outdoor-intro{
  background:
    radial-gradient(circle at 92% 18%,rgba(91,126,96,.13) 0 115px,transparent 116px),
    linear-gradient(145deg,#fbf7ef 0 68%,#e4ece3 68% 100%)
}
.esp-outdoor-intro:before{content:"";position:absolute;left:-120px;bottom:-155px;width:360px;height:360px;border-radius:50%;border:1px solid rgba(55,91,65,.12);box-shadow:0 0 0 44px rgba(55,91,65,.025),0 0 0 90px rgba(55,91,65,.018)}

/* Structure types — warmer dimensional card band */
.esp-outdoor-types{
  background:
    linear-gradient(118deg,rgba(255,255,255,.22) 0 26%,transparent 26% 100%),
    radial-gradient(circle at 8% 12%,rgba(132,76,39,.10) 0 115px,transparent 116px),
    linear-gradient(135deg,#f2e6d6 0%,#ead8c3 100%)
}
.esp-outdoor-types:after{content:"STRUCTURES";position:absolute;right:-.02em;bottom:-.24em;font-size:clamp(7rem,16vw,15rem);font-weight:900;letter-spacing:-.07em;line-height:1;color:rgba(83,47,24,.038);pointer-events:none}
.esp-outdoor-type-card{background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(255,252,246,.90));box-shadow:0 14px 32px rgba(62,45,31,.08)}

/* Components — green/cream split plane */
.esp-outdoor-components{
  background:
    linear-gradient(112deg,#fffdf8 0 58%,#edf2eb 58% 100%)
}
.esp-outdoor-components:before{content:"";position:absolute;right:-90px;top:-115px;width:330px;height:330px;border-radius:50%;background:rgba(60,98,70,.055);border:1px solid rgba(60,98,70,.11)}
.esp-outdoor-component-grid span{box-shadow:0 10px 22px rgba(24,42,34,.12)}

/* Condition — diagonal wash + subtle rings */
.esp-outdoor-condition{
  background:
    radial-gradient(circle at 14% 88%,rgba(129,76,38,.075) 0 90px,transparent 91px),
    linear-gradient(148deg,#fbf7ef 0 64%,#e7eee7 64% 100%)
}
.esp-outdoor-condition:after{content:"";position:absolute;right:5%;top:8%;width:185px;height:185px;border-radius:50%;border:1px solid rgba(55,91,65,.10);box-shadow:0 0 0 24px rgba(55,91,65,.018),0 0 0 49px rgba(55,91,65,.012)}

/* Overhead access — richer dark green with glow */
.esp-outdoor-exposure{
  background:
    radial-gradient(circle at 84% 18%,rgba(215,161,108,.13) 0 135px,transparent 136px),
    radial-gradient(circle at 12% 92%,rgba(255,255,255,.05) 0 180px,transparent 181px),
    linear-gradient(135deg,#14241d 0%,#1b3026 58%,#22392d 100%)
}
.esp-outdoor-exposure:after{content:"OVERHEAD";position:absolute;left:-.01em;bottom:-.2em;font-size:clamp(6rem,14vw,13rem);font-weight:900;letter-spacing:-.06em;line-height:1;color:rgba(255,255,255,.025)}

/* Preparation — warm editorial field */
.esp-outdoor-prep{
  background:
    radial-gradient(circle at 90% 12%,rgba(120,75,42,.08) 0 95px,transparent 96px),
    linear-gradient(140deg,#fffaf3 0 69%,#f0e7dc 69% 100%)
}
.esp-outdoor-prep:before{content:"PREPARATION";position:absolute;right:-.02em;top:-.15em;font-size:clamp(5rem,12vw,11rem);font-weight:900;letter-spacing:-.06em;color:rgba(98,61,34,.032);line-height:1}

/* Protection — prominent green shape system */
.esp-outdoor-protection{
  background:
    radial-gradient(circle at 8% 15%,rgba(56,96,67,.10) 0 115px,transparent 116px),
    linear-gradient(138deg,#fffdf9 0 68%,#e4ece4 68% 100%)
}
.esp-outdoor-protection:after{content:"";position:absolute;right:-125px;bottom:-135px;width:390px;height:390px;border-radius:50%;border:1px solid rgba(46,82,57,.12);box-shadow:0 0 0 50px rgba(46,82,57,.022),0 0 0 102px rgba(46,82,57,.014)}
.esp-outdoor-protection-grid span{box-shadow:0 7px 18px rgba(36,62,44,.055)}

/* Materials — cool green/cream blend */
.esp-outdoor-materials{
  background:
    linear-gradient(122deg,rgba(61,98,69,.06) 0 24%,transparent 24% 100%),
    linear-gradient(135deg,#f8f4ec 0%,#eef3ec 100%)
}

/* Finish — warm field with diagonal overlay */
.esp-outdoor-finish{
  background:
    linear-gradient(118deg,transparent 0 68%,rgba(255,255,255,.23) 68% 100%),
    radial-gradient(circle at 10% 90%,rgba(121,70,36,.09) 0 100px,transparent 101px),
    linear-gradient(135deg,#f2e6d6 0%,#ead8c2 100%)
}

/* Weather — dark, layered, dimensional */
.esp-outdoor-weather{
  background:
    radial-gradient(circle at 18% 18%,rgba(222,167,112,.11) 0 118px,transparent 119px),
    radial-gradient(circle at 87% 82%,rgba(255,255,255,.045) 0 180px,transparent 181px),
    linear-gradient(140deg,#172820,#1e3429 55%,#243c30)
}
.esp-outdoor-weather:before{content:"IOWA";position:absolute;right:-.02em;bottom:-.24em;font-size:clamp(8rem,20vw,18rem);font-weight:900;letter-spacing:-.08em;line-height:1;color:rgba(255,255,255,.022)}
.esp-outdoor-weather .esp-deck-weather-grid span{backdrop-filter:blur(3px)}

/* Maintenance — light with angled green field */
.esp-outdoor-maintenance{
  background:linear-gradient(128deg,#faf7f1 0 72%,#e8eee7 72% 100%)
}
.esp-outdoor-maintenance:after{content:"";position:absolute;left:-70px;top:-85px;width:220px;height:220px;border-radius:50%;background:rgba(128,78,43,.045);border:1px solid rgba(128,78,43,.08)}

/* Cost — stronger visual separation */
.esp-outdoor-cost{
  background:
    radial-gradient(circle at 92% 10%,rgba(54,94,66,.075) 0 120px,transparent 121px),
    linear-gradient(135deg,#fff 0 61%,#f1e5d5 61% 100%)
}
.esp-outdoor-cost:before{content:"PROJECT SCOPE";position:absolute;left:-.02em;bottom:-.2em;font-size:clamp(5.5rem,13vw,12rem);font-weight:900;line-height:1;letter-spacing:-.06em;color:rgba(87,54,32,.027)}
.esp-outdoor-cost .esp-deck-cost-factors span{box-shadow:0 7px 18px rgba(65,47,33,.045)}

/* Unsure — green-tan diagonal */
.esp-outdoor-unsure{
  background:
    radial-gradient(circle at 83% 16%,rgba(120,75,42,.07) 0 85px,transparent 86px),
    linear-gradient(132deg,#f8f4ec 0 65%,#dfe9df 65% 100%)
}

/* Gallery — bright with soft vignette */
.esp-outdoor-gallery{
  background:
    radial-gradient(circle at 12% 14%,rgba(67,104,75,.065) 0 105px,transparent 106px),
    linear-gradient(142deg,#fffdf8 0 72%,#f0e6d9 72% 100%)
}
.esp-outdoor-gallery:after{content:"GALLERY";position:absolute;right:-.01em;top:-.16em;font-size:clamp(5rem,12vw,11rem);font-weight:900;letter-spacing:-.06em;color:rgba(72,50,34,.026);line-height:1}

/* Service area — dark green with warm halo */
.esp-outdoor-area{
  background:
    radial-gradient(circle at 84% 30%,rgba(220,160,105,.12) 0 135px,transparent 136px),
    linear-gradient(135deg,#14241d 0%,#1a3025 100%)
}
.esp-outdoor-area:before{content:"CORRIDOR";position:absolute;left:-.02em;bottom:-.23em;font-size:clamp(6rem,15vw,14rem);font-weight:900;letter-spacing:-.07em;line-height:1;color:rgba(255,255,255,.022)}

/* Final — stronger dimensional closing panel */
.esp-outdoor-final{
  background:
    radial-gradient(circle at 12% 22%,rgba(57,94,66,.10) 0 110px,transparent 111px),
    linear-gradient(145deg,#f8f4eb 0 62%,#dfe9df 62% 100%)
}
.esp-outdoor-final:after{content:"WORTHY";position:absolute;right:-.01em;bottom:-.2em;font-size:clamp(7rem,17vw,16rem);font-weight:900;letter-spacing:-.07em;line-height:1;color:rgba(29,39,31,.032)}

@media(max-width:760px){
  .esp-outdoor-types:after,.esp-outdoor-exposure:after,.esp-outdoor-prep:before,.esp-outdoor-weather:before,.esp-outdoor-cost:before,.esp-outdoor-gallery:after,.esp-outdoor-area:before,.esp-outdoor-final:after{font-size:4.8rem;opacity:.8}
  .esp-outdoor-components{background:linear-gradient(152deg,#fffdf8 0 72%,#edf2eb 72% 100%)}
  .esp-outdoor-cost{background:linear-gradient(145deg,#fff 0 76%,#f1e5d5 76% 100%)}
}

/* ==========================================================
   SERVICE PAGE ART DIRECTION PASS — v5.14.2
   Deck remains the visual benchmark. Fence, Porch and Outdoor
   Structures use three related-but-distinct visual variations.
   ========================================================== */

/* VARIATION A — FENCE: architectural / strong horizontal rhythm */
.esp-fence-page .esp-deck-section{position:relative;isolation:isolate;overflow:hidden}
.esp-fence-page .esp-deck-section>.esp-container{position:relative;z-index:2}
.esp-fence-page .esp-fence-condition-section{background:linear-gradient(118deg,#f8f2e8 0 57%,#dfe9df 57% 100%)}
.esp-fence-page .esp-fence-condition-section:after{content:"FENCE";position:absolute;right:-.04em;bottom:-.22em;font:900 clamp(7rem,17vw,15rem)/1 Georgia,serif;letter-spacing:-.07em;color:rgba(29,39,31,.065);z-index:0}
.esp-fence-page .esp-fence-weathered{background:linear-gradient(155deg,#ead9c5 0 70%,#f8f4ec 70% 100%)}
.esp-fence-page .esp-fence-weathered:before{content:"WEATHER";position:absolute;left:-.03em;top:-.22em;font:900 clamp(5rem,12vw,10rem)/1 Georgia,serif;color:rgba(107,63,32,.075);letter-spacing:-.06em}
.esp-fence-page .esp-fence-parts{background:radial-gradient(circle at 92% 12%,rgba(80,116,87,.12) 0 150px,transparent 151px),linear-gradient(135deg,#fffdf8,#f0e8dc)}
.esp-fence-page .esp-fence-access{background:linear-gradient(126deg,#e4ede4 0 35%,#fffaf2 35% 100%)}
.esp-fence-page .esp-fence-finish{background:linear-gradient(145deg,#ead9c4 0 74%,#dce8df 74% 100%)}
.esp-fence-page .esp-fence-maintenance{background:radial-gradient(circle at 8% 92%,rgba(139,75,36,.10) 0 120px,transparent 121px),#faf7f1}
.esp-fence-page .esp-fence-visible-property{background:linear-gradient(132deg,#f7f1e8 0 61%,#dce8df 61% 100%)}
.esp-fence-page .esp-fence-styles,.esp-fence-page .esp-fence-area{background:radial-gradient(circle at 82% 18%,rgba(216,141,86,.16),transparent 24%),#182a22}
.esp-fence-page .esp-fence-styles h2,.esp-fence-page .esp-fence-styles h3,.esp-fence-page .esp-fence-styles p,.esp-fence-page .esp-fence-area h2,.esp-fence-page .esp-fence-area h3,.esp-fence-page .esp-fence-area p{color:#fff}

/* VARIATION B — PORCH: warmer editorial / layered cards */
.esp-porch-page .esp-deck-section{position:relative;isolation:isolate;overflow:hidden}
.esp-porch-page .esp-deck-section>.esp-container{position:relative;z-index:2}
.esp-porch-page .esp-porch-finished-look{background:linear-gradient(135deg,#fbf6ed 0 64%,#dce8df 64% 100%)}
.esp-porch-page .esp-porch-system{background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.58) 0 145px,transparent 146px),linear-gradient(135deg,#ead8c1,#f5eadb)}
.esp-porch-page .esp-porch-types{background:linear-gradient(155deg,#fffdf9 0 66%,#e3ece3 66% 100%)}
.esp-porch-page .esp-porch-types:after{content:"PORCH";position:absolute;right:-.03em;bottom:-.2em;font:900 clamp(7rem,18vw,16rem)/1 Georgia,serif;letter-spacing:-.08em;color:rgba(29,39,31,.065)}
.esp-porch-page .esp-porch-type-card,.esp-porch-page .esp-porch-component-card,.esp-porch-page .esp-porch-old-grid>div{background:linear-gradient(150deg,#fff,#fffaf2);box-shadow:0 18px 42px rgba(41,48,40,.09);border-color:rgba(70,87,73,.13)}
.esp-porch-page .esp-porch-screened{background:radial-gradient(circle at 82% 25%,rgba(216,141,86,.18),transparent 25%),#182a22}
.esp-porch-page .esp-porch-screened h2,.esp-porch-page .esp-porch-screened h3,.esp-porch-page .esp-porch-screened p{color:#fff}
.esp-porch-page .esp-porch-components{background:radial-gradient(circle at 94% 4%,rgba(67,105,77,.10) 0 155px,transparent 156px),#f8f4ec}
.esp-porch-page .esp-porch-wood-condition{background:linear-gradient(122deg,#e4ede4 0 33%,#fbf7ef 33% 100%)}
.esp-porch-page .esp-porch-peeling{background:linear-gradient(145deg,#ead7bf 0 72%,#f9f4eb 72% 100%)}
.esp-porch-page .esp-porch-painted-old{background:linear-gradient(132deg,#f9f5ed 0 62%,#dfe9e0 62% 100%)}
.esp-porch-page .esp-porch-protection{background:radial-gradient(circle at 7% 84%,rgba(139,75,36,.10) 0 120px,transparent 121px),#fffdf8}
.esp-porch-page .esp-porch-finish{background:linear-gradient(145deg,#ead8c2 0 65%,#e3ece4 65% 100%)}
.esp-porch-page .esp-porch-maintenance{background:#f7f1e8}
.esp-porch-page .esp-porch-cost{background:linear-gradient(155deg,#fff 0 78%,#eadbc8 78% 100%)}
.esp-porch-page .esp-porch-one-structure{background:linear-gradient(128deg,#e2ece3 0 38%,#f8f3eb 38% 100%)}
.esp-porch-page .esp-porch-area{background:radial-gradient(circle at 14% 18%,rgba(216,141,86,.15),transparent 24%),#182a22}
.esp-porch-page .esp-porch-area h2,.esp-porch-page .esp-porch-area h3,.esp-porch-page .esp-porch-area p{color:#fff}

/* VARIATION C — OUTDOOR STRUCTURES: bold / dimensional / CRDB-homepage inspired */
.esp-outdoor-page{background:#f7f3eb}
.esp-outdoor-page .esp-deck-section{padding-block:100px}
.esp-outdoor-hero{background:linear-gradient(108deg,#f7efe3 0 53%,#dbe5dc 53% 100%)}
.esp-outdoor-hero:before{content:"";position:absolute;right:-9vw;top:-13vw;width:38vw;height:38vw;border-radius:50%;border:1px solid rgba(139,75,36,.14);box-shadow:0 0 0 55px rgba(139,75,36,.025),0 0 0 110px rgba(139,75,36,.015)}
.esp-outdoor-hero .esp-deck-image-frame--hero:before{content:"";position:absolute;left:-18px;top:24px;bottom:-18px;width:68%;background:#8b4b24;border-radius:24px;z-index:-1}
.esp-outdoor-intro{background:linear-gradient(152deg,#fff 0 72%,#efe3d4 72% 100%)}
.esp-outdoor-types{background:linear-gradient(126deg,#e9d8c2 0 52%,#f5ecdf 52% 100%)}
.esp-outdoor-types:before{content:"";position:absolute;right:6%;top:9%;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.26);border:1px solid rgba(103,65,38,.10)}
.esp-outdoor-type-card{position:relative;overflow:hidden;background:#fff!important;border:0!important;box-shadow:0 22px 48px rgba(64,46,31,.12)!important}
.esp-outdoor-type-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#8b4b24}
.esp-outdoor-components{background:linear-gradient(118deg,#f8f4ec 0 61%,#dce8df 61% 100%)}
.esp-outdoor-components:after{content:"DETAILS";position:absolute;right:-.02em;bottom:-.23em;font:900 clamp(7rem,17vw,15rem)/1 Georgia,serif;letter-spacing:-.07em;color:rgba(29,39,31,.03)}
.esp-outdoor-component-grid span{background:linear-gradient(145deg,#1a2d24,#233c30);border:1px solid rgba(255,255,255,.08);box-shadow:0 13px 28px rgba(24,42,34,.18)}
.esp-outdoor-condition{background:radial-gradient(circle at 8% 16%,rgba(139,75,36,.10) 0 130px,transparent 131px),linear-gradient(145deg,#fffaf2 0 74%,#e4ece4 74% 100%)}
.esp-outdoor-condition .esp-deck-condition-card{background:linear-gradient(150deg,#fff,#fbf6ed);border:0;box-shadow:0 18px 42px rgba(48,43,34,.09)}
.esp-outdoor-exposure{background:radial-gradient(circle at 80% 18%,rgba(216,141,86,.17),transparent 25%),linear-gradient(135deg,#14241d,#20372b)}
.esp-outdoor-exposure h2,.esp-outdoor-exposure h3,.esp-outdoor-exposure p,.esp-outdoor-exposure li{color:#fff}
.esp-outdoor-prep{background:linear-gradient(124deg,#ead8c1 0 34%,#f8f3ea 34% 100%)}
.esp-outdoor-prep .esp-deck-accordion-item{background:#fff;box-shadow:0 14px 32px rgba(66,48,33,.08);border-color:rgba(100,71,46,.10)}
.esp-outdoor-protection{background:linear-gradient(152deg,#fffdf8 0 60%,#dfeae0 60% 100%)}
.esp-outdoor-protection-grid span{background:rgba(255,255,255,.92);box-shadow:0 12px 28px rgba(40,59,45,.08)}
.esp-outdoor-materials{background:radial-gradient(circle at 90% 18%,rgba(63,100,72,.11) 0 160px,transparent 161px),#f7f1e8}
.esp-outdoor-finish{background:linear-gradient(138deg,#ead7bf 0 66%,#dce7de 66% 100%)}
.esp-outdoor-weather{background:radial-gradient(circle at 15% 75%,rgba(216,141,86,.16),transparent 25%),#15271f}
.esp-outdoor-weather h2,.esp-outdoor-weather h3,.esp-outdoor-weather p,.esp-outdoor-weather li,.esp-outdoor-weather a{color:#fff}
.esp-outdoor-maintenance{background:linear-gradient(145deg,#fffaf3 0 76%,#e3ece4 76% 100%)}
.esp-outdoor-maintenance .esp-deck-accordion-item{background:#fff;box-shadow:0 14px 30px rgba(40,48,40,.07)}
.esp-outdoor-cost{background:linear-gradient(125deg,#e6d5bf 0 42%,#f8f4ec 42% 100%)}
.esp-outdoor-cost .esp-deck-cost-factors span{background:#fff;box-shadow:0 10px 22px rgba(65,47,33,.07)}
.esp-outdoor-unsure{background:linear-gradient(135deg,#dce8df 0 36%,#f8f3eb 36% 100%)}
.esp-outdoor-gallery{background:radial-gradient(circle at 92% 14%,rgba(139,75,36,.10) 0 140px,transparent 141px),#fff}
.esp-outdoor-area{background:radial-gradient(circle at 84% 22%,rgba(216,141,86,.18),transparent 26%),linear-gradient(135deg,#13251d,#1d3429)}
.esp-outdoor-area h2,.esp-outdoor-area h3,.esp-outdoor-area p,.esp-outdoor-area a{color:#fff}
.esp-outdoor-final{background:linear-gradient(126deg,#f7efe3 0 58%,#dce8df 58% 100%)}

/* Hard contrast guardrails: light cards always dark; dark bands always light. */
.esp-fence-page .esp-deck-condition-card,.esp-fence-page .esp-deck-accordion-item,
.esp-porch-page .esp-porch-type-card,.esp-porch-page .esp-porch-component-card,.esp-porch-page .esp-porch-old-grid>div,.esp-porch-page .esp-deck-accordion-item,
.esp-outdoor-page .esp-outdoor-type-card,.esp-outdoor-page .esp-deck-condition-card,.esp-outdoor-page .esp-deck-accordion-item,.esp-outdoor-page .esp-deck-cost-factors span{color:#1d271f}
.esp-fence-page .esp-deck-condition-card h2,.esp-fence-page .esp-deck-condition-card h3,.esp-fence-page .esp-deck-condition-card p,.esp-fence-page .esp-deck-accordion-item h2,.esp-fence-page .esp-deck-accordion-item h3,.esp-fence-page .esp-deck-accordion-item p,
.esp-porch-page .esp-porch-type-card h2,.esp-porch-page .esp-porch-type-card h3,.esp-porch-page .esp-porch-type-card p,.esp-porch-page .esp-porch-component-card h2,.esp-porch-page .esp-porch-component-card h3,.esp-porch-page .esp-porch-component-card p,.esp-porch-page .esp-porch-old-grid>div h2,.esp-porch-page .esp-porch-old-grid>div h3,.esp-porch-page .esp-porch-old-grid>div p,
.esp-outdoor-page .esp-outdoor-type-card h2,.esp-outdoor-page .esp-outdoor-type-card h3,.esp-outdoor-page .esp-outdoor-type-card p,.esp-outdoor-page .esp-deck-condition-card h2,.esp-outdoor-page .esp-deck-condition-card h3,.esp-outdoor-page .esp-deck-condition-card p,.esp-outdoor-page .esp-deck-accordion-item h2,.esp-outdoor-page .esp-deck-accordion-item h3,.esp-outdoor-page .esp-deck-accordion-item p{color:#1d271f!important}

@media(max-width:720px){
 .esp-outdoor-page .esp-deck-section{padding-block:68px}
 .esp-outdoor-hero,.esp-outdoor-intro,.esp-outdoor-types,.esp-outdoor-components,.esp-outdoor-condition,.esp-outdoor-prep,.esp-outdoor-protection,.esp-outdoor-materials,.esp-outdoor-finish,.esp-outdoor-maintenance,.esp-outdoor-cost,.esp-outdoor-unsure,.esp-outdoor-gallery,.esp-outdoor-final,
 .esp-fence-page .esp-fence-condition-section,.esp-fence-page .esp-fence-weathered,.esp-fence-page .esp-fence-parts,.esp-fence-page .esp-fence-access,.esp-fence-page .esp-fence-finish,.esp-fence-page .esp-fence-maintenance,.esp-fence-page .esp-fence-visible-property,
 .esp-porch-page .esp-porch-finished-look,.esp-porch-page .esp-porch-system,.esp-porch-page .esp-porch-types,.esp-porch-page .esp-porch-components,.esp-porch-page .esp-porch-wood-condition,.esp-porch-page .esp-porch-peeling,.esp-porch-page .esp-porch-painted-old,.esp-porch-page .esp-porch-protection,.esp-porch-page .esp-porch-finish,.esp-porch-page .esp-porch-maintenance,.esp-porch-page .esp-porch-cost,.esp-porch-page .esp-porch-one-structure{background-size:cover}
 .esp-outdoor-types:after,.esp-outdoor-components:after,.esp-outdoor-exposure:after,.esp-outdoor-prep:before,.esp-outdoor-weather:before,.esp-outdoor-cost:before,.esp-outdoor-gallery:after,.esp-outdoor-area:before,.esp-outdoor-final:after,.esp-fence-page .esp-fence-condition-section:after,.esp-fence-page .esp-fence-weathered:before,.esp-porch-page .esp-porch-types:after{font-size:4.5rem!important;opacity:.7}
}


/* ==========================================================
   SITEWIDE SERVICE READABILITY + RELATED CARDS — v5.14.4
   Fixes heading contrast on dark/light service sections and
   removes the tall empty-card problem from related routing.
   ========================================================== */

/* Headings inherit the section/card foreground instead of carrying a translucent gray fill. */
.esp-page-shell section h1,
.esp-page-shell section h2,
.esp-page-shell section h3,
.esp-deck-page section h1,
.esp-deck-page section h2,
.esp-deck-page section h3,
.esp-fence-page section h1,
.esp-fence-page section h2,
.esp-fence-page section h3,
.esp-porch-page section h1,
.esp-porch-page section h2,
.esp-porch-page section h3,
.esp-outdoor-page section h1,
.esp-outdoor-page section h2,
.esp-outdoor-page section h3,
main section h1,
main section h2,
main section h3{
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  -webkit-box-decoration-break:slice!important;
  box-decoration-break:slice!important;
  color:inherit!important;
}

/* Explicit dark-band guardrail for all current service design families. */
.esp-section--dark,
.esp-deck-system,.esp-deck-components,.esp-deck-area,
.esp-fence-styles,.esp-fence-area,
.esp-porch-screened,.esp-porch-area,
.esp-outdoor-exposure,.esp-outdoor-weather,.esp-outdoor-area{
  color:#fff!important;
}
.esp-section--dark h1,.esp-section--dark h2,.esp-section--dark h3,
.esp-deck-system h1,.esp-deck-system h2,.esp-deck-system h3,
.esp-deck-components h1,.esp-deck-components h2,.esp-deck-components h3,
.esp-deck-area h1,.esp-deck-area h2,.esp-deck-area h3,
.esp-fence-styles h1,.esp-fence-styles h2,.esp-fence-styles h3,
.esp-fence-area h1,.esp-fence-area h2,.esp-fence-area h3,
.esp-porch-screened h1,.esp-porch-screened h2,.esp-porch-screened h3,
.esp-porch-area h1,.esp-porch-area h2,.esp-porch-area h3,
.esp-outdoor-exposure h1,.esp-outdoor-exposure h2,.esp-outdoor-exposure h3,
.esp-outdoor-weather h1,.esp-outdoor-weather h2,.esp-outdoor-weather h3,
.esp-outdoor-area h1,.esp-outdoor-area h2,.esp-outdoor-area h3{
  color:#fff!important;
  text-shadow:0 1px 0 rgba(0,0,0,.06);
}

/* Light cards always receive dark text, even when nested inside a dark section. */
.esp-card,.esp-deck-condition-card,.esp-deck-accordion-item,
.esp-porch-type-card,.esp-porch-component-card,.esp-porch-old-grid>div,
.esp-outdoor-type-card,.esp-deck-cost-factors span,
.esp-inline-estimate details{
  color:var(--esp-char)!important;
}
.esp-card h1,.esp-card h2,.esp-card h3,
.esp-deck-condition-card h1,.esp-deck-condition-card h2,.esp-deck-condition-card h3,
.esp-deck-accordion-item h1,.esp-deck-accordion-item h2,.esp-deck-accordion-item h3,
.esp-porch-type-card h1,.esp-porch-type-card h2,.esp-porch-type-card h3,
.esp-porch-component-card h1,.esp-porch-component-card h2,.esp-porch-component-card h3,
.esp-porch-old-grid>div h1,.esp-porch-old-grid>div h2,.esp-porch-old-grid>div h3,
.esp-outdoor-type-card h1,.esp-outdoor-type-card h2,.esp-outdoor-type-card h3{
  color:var(--esp-char)!important;
}

/* Related Services / Where We Work: compact wide cards stacked inside each column. */
.esp-section--related{padding-block:52px!important}
.esp-section--related .esp-related-grid{align-items:start;gap:24px!important}
.esp-section--related .esp-related-grid>div,
.esp-section--related .esp-related-grid>section{
  padding:28px 30px!important;
  min-height:0!important;
}
.esp-section--related .esp-card-header{margin-bottom:18px!important}
.esp-section--related .esp-card-grid{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.esp-section--related .esp-card{
  min-height:0!important;
  height:auto!important;
  padding:16px 20px!important;
  border-radius:14px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:18px!important;
  row-gap:3px!important;
  box-shadow:0 8px 20px rgba(29,36,29,.06)!important;
}
.esp-section--related .esp-card h3{
  grid-column:1!important;
  margin:0!important;
  font-size:1.05rem!important;
  line-height:1.2!important;
}
.esp-section--related .esp-card p{
  grid-column:1!important;
  margin:4px 0 0!important;
  font-size:.9rem!important;
  line-height:1.4!important;
}
.esp-section--related .esp-card a{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  margin:0!important;
  white-space:nowrap!important;
  align-self:center!important;
}

/* Same compact treatment if related routing is output without the section wrapper. */
.esp-related-grid .esp-card-grid{grid-template-columns:1fr!important;gap:10px!important}
.esp-related-grid .esp-card{min-height:0!important;height:auto!important}

@media(max-width:1080px){
  .esp-section--related .esp-related-grid{grid-template-columns:1fr!important}
}
@media(max-width:720px){
  .esp-section--related{padding-block:40px!important}
  .esp-section--related .esp-related-grid>div,
  .esp-section--related .esp-related-grid>section{padding:22px!important}
  .esp-section--related .esp-card{grid-template-columns:1fr!important;padding:15px 17px!important}
  .esp-section--related .esp-card a{grid-column:1!important;grid-row:auto!important;white-space:normal!important;margin-top:5px!important}
}

/* ==========================================================
   v5.14.5 — TRUE SERVICE-WIDE FIX
   Applied from a request-path body class so it also reaches
   WordPress-authored service pages rendered by page.php.
   ========================================================== */

/* Requested background-word tuning. */
.esp-deck-page .esp-deck-hero-word{top:-102px!important}
.esp-porch-page .esp-porch-hero-word{opacity:.17!important}
.esp-fence-page .esp-fence-hero-word{opacity:.17!important}
.esp-fence-page .esp-fence-condition-section:after{color:rgba(29,39,31,.105)!important}
.esp-fence-page .esp-fence-weathered:before{color:rgba(107,63,32,.12)!important}

/*
 * Generic / Gutenberg / WordPress-authored service pages were the gap in 5.14.4.
 * The body class below is added in functions.php for every /services/... request.
 */
body.esp-service-page .esp-readable-heading,
body.esp-service-page .esp-readable-heading *{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  text-shadow:none;
  color:inherit!important;
  -webkit-box-decoration-break:slice!important;
  box-decoration-break:slice!important;
}

/* Keep light cards readable even when they sit inside dark service bands. */
body.esp-service-page .esp-card,
body.esp-service-page .esp-media-placeholder,
body.esp-service-page .esp-inline-estimate details,
body.esp-service-page .esp-compact-routing-card{
  color:#1d271f!important;
}
body.esp-service-page .esp-card h1,
body.esp-service-page .esp-card h2,
body.esp-service-page .esp-card h3,
body.esp-service-page .esp-media-placeholder h1,
body.esp-service-page .esp-media-placeholder h2,
body.esp-service-page .esp-media-placeholder h3,
body.esp-service-page .esp-compact-routing-card h1,
body.esp-service-page .esp-compact-routing-card h2,
body.esp-service-page .esp-compact-routing-card h3{
  color:#1d271f!important;
}

/* Related routing: two wide columns, with short horizontal cards stacked vertically. */
body.esp-service-page .esp-compact-related-wrap{
  padding-top:34px!important;
  padding-bottom:34px!important;
  min-height:0!important;
}
body.esp-service-page .esp-compact-related-wrap .esp-related-grid,
body.esp-service-page .esp-compact-related-wrap{
  align-items:start!important;
}
body.esp-service-page .esp-compact-routing-column{
  min-height:0!important;
  height:auto!important;
  padding-top:24px!important;
  padding-bottom:24px!important;
}
body.esp-service-page .esp-compact-routing-column .esp-card-header{
  margin-bottom:14px!important;
}
body.esp-service-page .esp-compact-routing-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-items:stretch!important;
}
body.esp-service-page .esp-compact-routing-card{
  min-height:0!important;
  height:auto!important;
  padding:14px 18px!important;
  border-radius:13px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:20px!important;
  row-gap:2px!important;
  align-items:center!important;
}
body.esp-service-page .esp-compact-routing-card h3{
  grid-column:1!important;
  margin:0!important;
  font-size:1.04rem!important;
  line-height:1.18!important;
}
body.esp-service-page .esp-compact-routing-card p{
  grid-column:1!important;
  margin:2px 0 0!important;
  font-size:.88rem!important;
  line-height:1.32!important;
}
body.esp-service-page .esp-compact-routing-card>a,
body.esp-service-page .esp-compact-routing-card .esp-card-link{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  margin:0!important;
  align-self:center!important;
  white-space:nowrap!important;
  line-height:1.2!important;
}

/* Generic fallback when the routing columns use theme card classes but not the old wrapper. */
body.esp-service-page .esp-compact-routing-column .esp-card-grid{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
body.esp-service-page .esp-compact-routing-column .esp-card{
  min-height:0!important;
  height:auto!important;
}

@media(max-width:1080px){
  .esp-deck-page .esp-deck-hero-word{top:-92px!important}
}
@media(max-width:720px){
  .esp-deck-page .esp-deck-hero-word{top:-58px!important}
  body.esp-service-page .esp-compact-related-wrap{padding-block:28px!important}
  body.esp-service-page .esp-compact-routing-card{
    grid-template-columns:1fr!important;
    padding:14px 16px!important;
  }
  body.esp-service-page .esp-compact-routing-card>a,
  body.esp-service-page .esp-compact-routing-card .esp-card-link{
    grid-column:1!important;
    grid-row:auto!important;
    white-space:normal!important;
    margin-top:4px!important;
  }
}


/* ==========================================================
   v5.14.6 — SERVER-SIDE SERVICE CONTENT + TRUE THEME-WIDE QA
   No JS dependency. Fixes WordPress-authored service content
   before it is sent to the browser, plus hard CSS fallbacks.
   ========================================================== */

/* Theme-wide: headings must never carry gray/painted text boxes. */
main h1,main h2,main h3,
main h1 *,main h2 *,main h3 *{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  -webkit-box-decoration-break:slice!important;
  box-decoration-break:slice!important;
}

/* Generic service content receives explicit contrast from its band. */
.esp-service-content .esp-section--dark,
.esp-service-content [class*="--dark"],
.esp-service-content .esp-deck-system,
.esp-service-content .esp-deck-components,
.esp-service-content .esp-deck-area{
  color:#fff!important;
}
.esp-service-content .esp-section--dark h1,.esp-service-content .esp-section--dark h2,.esp-service-content .esp-section--dark h3,
.esp-service-content [class*="--dark"] h1,.esp-service-content [class*="--dark"] h2,.esp-service-content [class*="--dark"] h3,
.esp-service-content .esp-deck-system h1,.esp-service-content .esp-deck-system h2,.esp-service-content .esp-deck-system h3,
.esp-service-content .esp-deck-components h1,.esp-service-content .esp-deck-components h2,.esp-service-content .esp-deck-components h3,
.esp-service-content .esp-deck-area h1,.esp-service-content .esp-deck-area h2,.esp-service-content .esp-deck-area h3{
  color:#fff!important;
}

/* WordPress-authored service headings: direct fallback even if old inline styles survive. */
.esp-service-content h1,.esp-service-content h2,.esp-service-content h3,
.esp-service-content h1 *,.esp-service-content h2 *,.esp-service-content h3 *{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* Compact routing columns generated server-side from the actual heading text. */
.esp-service-content .esp-compact-related-wrap{
  padding-top:30px!important;
  padding-bottom:30px!important;
  min-height:0!important;
}
.esp-service-content .esp-compact-routing-column{
  min-height:0!important;
  height:auto!important;
  padding:24px 28px!important;
}
.esp-service-content .esp-compact-routing-column .esp-card-header{margin-bottom:14px!important}
.esp-service-content .esp-compact-routing-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-items:stretch!important;
}
.esp-service-content .esp-compact-routing-card{
  min-height:0!important;
  height:auto!important;
  padding:14px 18px!important;
  border-radius:13px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:18px!important;
  row-gap:2px!important;
  align-items:center!important;
}
.esp-service-content .esp-compact-routing-card h1,
.esp-service-content .esp-compact-routing-card h2,
.esp-service-content .esp-compact-routing-card h3{
  grid-column:1!important;
  margin:0!important;
  font-size:1.04rem!important;
  line-height:1.18!important;
  color:#1d271f!important;
}
.esp-service-content .esp-compact-routing-card p{
  grid-column:1!important;
  margin:2px 0 0!important;
  font-size:.88rem!important;
  line-height:1.32!important;
}
.esp-service-content .esp-compact-routing-card>a,
.esp-service-content .esp-compact-routing-card .esp-card-link{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  margin:0!important;
  white-space:nowrap!important;
  align-self:center!important;
}

/* Strong fallback for the two-column related block even before transformation. */
.esp-service-content .esp-related-grid{align-items:start!important;gap:24px!important}
.esp-service-content .esp-related-grid .esp-card-grid{grid-template-columns:1fr!important;gap:10px!important}
.esp-service-content .esp-related-grid .esp-card{min-height:0!important;height:auto!important;padding:14px 18px!important}

/* Requested decorative-word tuning. */
.esp-deck-page .esp-deck-hero-word{top:-112px!important}
.esp-porch-page .esp-porch-hero-word{opacity:.21!important}
.esp-fence-page .esp-fence-hero-word{opacity:.21!important}
.esp-fence-page .esp-fence-condition-section:after{color:rgba(29,39,31,.14)!important}
.esp-fence-page .esp-fence-weathered:before{color:rgba(107,63,32,.155)!important}

@media(max-width:1080px){
  .esp-deck-page .esp-deck-hero-word{top:-98px!important}
}
@media(max-width:720px){
  .esp-deck-page .esp-deck-hero-word{top:-62px!important}
  .esp-service-content .esp-compact-related-wrap{padding-block:24px!important}
  .esp-service-content .esp-compact-routing-column{padding:20px!important}
  .esp-service-content .esp-compact-routing-card{grid-template-columns:1fr!important}
  .esp-service-content .esp-compact-routing-card>a,
  .esp-service-content .esp-compact-routing-card .esp-card-link{grid-column:1!important;grid-row:auto!important;white-space:normal!important;margin-top:4px!important}
}


/* ==========================================================
   v5.14.7 — REAL GENERIC-SERVICE WRAPPER + CONTRAST + ROUTING
   Keeps .esp-service-content in rendered markup so the global
   service rules actually reach WordPress-authored service pages.
   ========================================================== */

/* Headings on dark service bands: no gray painted strips, high contrast. */
body.esp-service-page .esp-heading-on-dark,
body.esp-service-page .esp-heading-on-dark *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
body.esp-service-page .esp-heading-on-dark::before,
body.esp-service-page .esp-heading-on-dark::after,
body.esp-service-page .esp-heading-on-dark *::before,
body.esp-service-page .esp-heading-on-dark *::after{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
body.esp-service-page .esp-heading-on-light,
body.esp-service-page .esp-heading-on-light *{
  color:#1d271f!important;
  -webkit-text-fill-color:#1d271f!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* Generic related-routing block: two columns, each column is a stack of short wide cards. */
body.esp-service-page .esp-service-content .esp-related-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:24px!important;
  align-items:start!important;
}
body.esp-service-page .esp-service-content .esp-related-grid>section,
body.esp-service-page .esp-service-content .esp-related-grid>div{
  min-height:0!important;
  height:auto!important;
  padding:24px 28px!important;
}
body.esp-service-page .esp-service-content .esp-related-grid .esp-card-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-items:stretch!important;
}
body.esp-service-page .esp-service-content .esp-related-grid .esp-card{
  min-height:0!important;
  height:auto!important;
  padding:13px 16px!important;
  border-radius:13px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:16px!important;
  row-gap:1px!important;
  align-items:center!important;
}
body.esp-service-page .esp-service-content .esp-related-grid .esp-card h3{
  margin:0!important;
  font-size:1.02rem!important;
  line-height:1.18!important;
  grid-column:1!important;
  color:#1d271f!important;
  -webkit-text-fill-color:#1d271f!important;
}
body.esp-service-page .esp-service-content .esp-related-grid .esp-card p{
  margin:1px 0 0!important;
  font-size:.86rem!important;
  line-height:1.25!important;
  grid-column:1!important;
}
body.esp-service-page .esp-service-content .esp-related-grid .esp-card>a,
body.esp-service-page .esp-service-content .esp-related-grid .esp-card .esp-card-link{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
  margin:0!important;
  white-space:nowrap!important;
  line-height:1.15!important;
}
body.esp-service-page .esp-service-content .esp-section--related,
body.esp-service-page .esp-service-content .esp-compact-related-wrap{
  padding-top:28px!important;
  padding-bottom:28px!important;
  min-height:0!important;
}

@media(max-width:800px){
  body.esp-service-page .esp-service-content .esp-related-grid{grid-template-columns:1fr!important}
  body.esp-service-page .esp-service-content .esp-related-grid>section,
  body.esp-service-page .esp-service-content .esp-related-grid>div{padding:20px!important}
  body.esp-service-page .esp-service-content .esp-related-grid .esp-card{
    grid-template-columns:1fr!important;
    padding:13px 15px!important;
  }
  body.esp-service-page .esp-service-content .esp-related-grid .esp-card>a,
  body.esp-service-page .esp-service-content .esp-related-grid .esp-card .esp-card-link{
    grid-column:1!important;
    grid-row:auto!important;
    white-space:normal!important;
    margin-top:4px!important;
  }
}


/* ==========================================================
   v5.14.8 — ONE FIX ONLY: SERVICE HEADING VISIBILITY
   No card/layout/spacing changes in this release.
   ========================================================== */
body.esp-service-page .esp-readable-heading,
body.esp-service-page .esp-readable-heading *{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
body.esp-service-page .esp-readable-heading::before,
body.esp-service-page .esp-readable-heading::after,
body.esp-service-page .esp-readable-heading *::before,
body.esp-service-page .esp-readable-heading *::after{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
}
body.esp-service-page .esp-heading-on-dark,
body.esp-service-page .esp-heading-on-dark *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.esp-service-page .esp-heading-on-light,
body.esp-service-page .esp-heading-on-light *{
  color:#1d271f!important;
  -webkit-text-fill-color:#1d271f!important;
}

/* ==========================================================
   v5.14.9 — focused fixes only
   1) Fence details section layout cleanup
   2) Outdoor final CTA spacing cleanup
   ========================================================== */

/* Fence Boards / Posts / Rails / Gates section: tighter, balanced, intentional. */
.esp-fence-page .esp-fence-parts{
  padding-block:72px;
}
.esp-fence-page .esp-fence-parts .esp-deck-components-layout{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:42px;
  align-items:center;
}
.esp-fence-page .esp-fence-parts .esp-deck-components-left h2{
  max-width:720px;
  margin-bottom:18px;
}
.esp-fence-page .esp-fence-parts .esp-deck-components-left>p{
  max-width:700px;
  margin:0 0 12px;
}
.esp-fence-page .esp-fence-parts .esp-deck-component-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:24px;
}
.esp-fence-page .esp-fence-parts .esp-deck-component-grid span{
  min-height:72px;
  display:flex;
  align-items:center;
  padding:16px 18px;
  border-radius:14px;
  border:1px solid rgba(70,78,62,.10);
  border-left:4px solid #9a5426;
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 22px rgba(41,48,40,.055);
  color:#1d271f!important;
  line-height:1.28;
}
.esp-fence-page .esp-fence-parts .esp-deck-components-copy{
  max-width:none;
  margin:0;
  padding:30px 32px;
  border-radius:22px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(70,78,62,.10);
  box-shadow:0 16px 38px rgba(41,48,40,.07);
}
.esp-fence-page .esp-fence-parts .esp-deck-components-copy p{
  color:#26332a!important;
  margin:0 0 17px;
}
.esp-fence-page .esp-fence-parts .esp-deck-components-copy p:last-child{margin-bottom:0}

/* Outdoor Structures final CTA: keep the button comfortably inside its section. */
.esp-outdoor-page .esp-outdoor-final{
  padding:68px 0 92px;
}
.esp-outdoor-page .esp-outdoor-final .esp-deck-final-inner{
  max-width:1040px;
}
.esp-outdoor-page .esp-outdoor-final .esp-deck-final-inner p{
  margin-top:0;
  margin-bottom:14px;
}
.esp-outdoor-page .esp-outdoor-final .esp-button{
  margin-top:6px;
  margin-bottom:0;
}

@media(max-width:900px){
  .esp-fence-page .esp-fence-parts .esp-deck-components-layout{grid-template-columns:1fr;gap:28px}
  .esp-fence-page .esp-fence-parts .esp-deck-component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .esp-outdoor-page .esp-outdoor-final{padding:58px 0 78px}
}
@media(max-width:560px){
  .esp-fence-page .esp-fence-parts{padding-block:58px}
  .esp-fence-page .esp-fence-parts .esp-deck-component-grid{grid-template-columns:1fr}
  .esp-fence-page .esp-fence-parts .esp-deck-component-grid span{min-height:0}
  .esp-fence-page .esp-fence-parts .esp-deck-components-copy{padding:24px}
}


/* === v5.14.10 — Porch visual refinements requested 2026-09-13 === */
/* Dark blue-gray from the homepage palette, deepened for reliable white-text contrast. */
.esp-porch-page .esp-porch-not-sure{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 16%,rgba(255,255,255,.12) 0 150px,transparent 151px),
    radial-gradient(circle at 91% 76%,rgba(216,141,86,.16) 0 190px,transparent 191px),
    linear-gradient(132deg,#3f626b 0 63%,#2e4d57 63% 100%);
}
.esp-porch-page .esp-porch-not-sure:before{
  content:"";
  position:absolute;
  z-index:0;
  left:-11vw;
  bottom:-17vw;
  width:35vw;
  height:35vw;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.17);
  pointer-events:none;
}
.esp-porch-page .esp-porch-not-sure:after{
  content:"";
  position:absolute;
  z-index:0;
  right:18%;
  top:-110px;
  width:270px;
  height:430px;
  transform:rotate(28deg);
  background:rgba(255,255,255,.045);
  pointer-events:none;
}
.esp-porch-page .esp-porch-not-sure>.esp-container{position:relative;z-index:2}
.esp-porch-page .esp-porch-not-sure .esp-deck-copy h2,
.esp-porch-page .esp-porch-not-sure .esp-deck-copy p{color:#fff!important;background:transparent!important}
.esp-porch-page .esp-porch-not-sure .esp-deck-copy h2{ text-shadow:0 2px 18px rgba(12,29,34,.16) }
.esp-porch-page .esp-porch-not-sure .esp-deck-gallery-card{background:#fff;color:#1d271f}
.esp-porch-page .esp-porch-not-sure .esp-deck-gallery-card h3,
.esp-porch-page .esp-porch-not-sure .esp-deck-gallery-card p{color:#1d271f!important}

/* Use the equal-height desktop card space without increasing either card's height. */
@media(min-width:761px){
  .esp-porch-page .esp-porch-component-card--stairs{position:relative;overflow:hidden;padding-bottom:300px}
  .esp-porch-page .esp-porch-card-photo--stairs{
    position:absolute;
    left:13%;
    right:9%;
    bottom:135px;
    height:230px;
    transform:rotate(-7deg);
    transform-origin:center;
  }
  .esp-porch-page .esp-porch-cost-copy{position:relative;min-height:100%;padding-bottom:300px}
  .esp-porch-page .esp-porch-card-photo--cost{
    position:absolute;
    left:8%;
    right:12%;
    bottom:34px;
    height:235px;
    transform:rotate(-7deg);
    transform-origin:center;
  }
}
.esp-porch-page .esp-porch-card-photo{
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(73,58,43,.16);
  background:#d0c1ab;
  box-shadow:0 18px 34px rgba(45,39,29,.14);
}
.esp-porch-page .esp-porch-card-photo img{display:block;width:100%;height:100%;object-fit:cover;opacity:.9}
.esp-porch-page .esp-porch-card-photo span{
  position:absolute;
  left:14px;
  bottom:12px;
  padding:6px 9px;
  border-radius:7px;
  background:#1d2923;
  color:#fff;
  font-size:.7rem;
  font-weight:800;
}
.esp-porch-page .esp-porch-cost-prompt{font-weight:700}
.esp-porch-page .esp-porch-cost-arrow{
  display:inline-block;
  margin-left:9px;
  color:#95501f;
  font-size:2rem;
  line-height:.7;
  font-weight:900;
  vertical-align:-.08em;
}
@media(max-width:760px){
  .esp-porch-page .esp-porch-card-photo{display:none}
  .esp-porch-page .esp-porch-component-card--stairs,
  .esp-porch-page .esp-porch-cost-copy{padding-bottom:0}
  .esp-porch-page .esp-porch-not-sure:after{right:-70px;width:190px;height:310px}
}

/* v5.14.15 — Porch screened-porch accordion readability only */
.esp-porch-page .esp-porch-screened .esp-deck-accordion-panel,
.esp-porch-page .esp-porch-screened .esp-deck-accordion-panel p,
.esp-porch-page .esp-porch-screened .esp-deck-accordion-panel li{
  color:#111!important;
}


/* === ESP v5.14.16 — City pages only. Locked Service Area Hub excluded. === */
.esp-city-page .esp-city-page-shell{overflow:hidden;background:#f8f5ef}
.esp-city-page .esp-city-page-shell .esp-city-section{position:relative;isolation:isolate;overflow:hidden}
.esp-city-page .esp-city-page-shell .esp-city-section:before,.esp-city-page .esp-city-page-shell .esp-city-section:after{content:"";position:absolute;pointer-events:none;z-index:-1}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-1{background:linear-gradient(132deg,#f8f4ec 0 62%,#e5ded1 62% 100%)}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-1:before{width:440px;height:440px;border:1px solid rgba(139,75,36,.14);border-radius:50%;right:-170px;top:-180px}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-2{background:linear-gradient(132deg,#e8eee8 0 66%,#d3dfd7 66% 100%)}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-2:before{width:520px;height:520px;border-radius:50%;background:rgba(72,99,82,.08);left:-260px;bottom:-330px}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-3{background:linear-gradient(140deg,#26382f 0 67%,#1b2d25 67% 100%);color:#f7f5ef}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-3 h1,.esp-city-page .esp-city-page-shell .esp-city-section--tone-3 h2,.esp-city-page .esp-city-page-shell .esp-city-section--tone-3 h3{color:#fff}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-3 p,.esp-city-page .esp-city-page-shell .esp-city-section--tone-3 li{color:rgba(255,255,255,.88)}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-3 a:not(.esp-button){color:#f4d0a8}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-3:after{width:620px;height:150px;right:-130px;bottom:12%;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.08);transform:rotate(-9deg)}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-4{background:linear-gradient(145deg,#f4eadc 0 58%,#e6d4bc 58% 100%)}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-4:before{width:330px;height:330px;border-radius:50%;background:rgba(148,91,46,.08);right:8%;top:-190px}
.esp-city-page .esp-city-page-shell .esp-city-section .esp-container{position:relative;z-index:1}
.esp-city-page .esp-city-split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);gap:72px;align-items:center}
.esp-city-page .esp-city-split--reverse{grid-template-columns:minmax(360px,.72fr) minmax(0,1.08fr)}
.esp-city-page .esp-city-split--reverse .esp-city-copy{order:2}
.esp-city-page .esp-city-split--reverse .esp-city-art{order:1}
.esp-city-page .esp-city-copy{position:relative;max-width:820px}
.esp-city-page .esp-city-copy h1{font-size:clamp(3rem,5.3vw,5.4rem);line-height:.96;letter-spacing:-.045em;margin-top:0}
.esp-city-page .esp-city-copy h2{font-size:clamp(2.2rem,3.7vw,3.55rem);line-height:1.03;letter-spacing:-.035em;margin-top:0}
.esp-city-page .esp-city-copy h3{font-size:clamp(1.35rem,2.2vw,1.8rem)}
.esp-city-page .esp-city-copy p{max-width:760px}
.esp-city-page .esp-city-copy>p:first-of-type{font-size:1.1rem;line-height:1.72}
.esp-city-page .esp-city-art{position:relative;min-height:340px;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#d9c1a6 0 30%,#f3eadf 30% 54%,#7e5a3e 54% 58%,#d7c4ac 58% 100%);box-shadow:0 25px 58px rgba(43,47,39,.18);transform:rotate(2deg)}
.esp-city-page .esp-city-split--reverse .esp-city-art{transform:rotate(-2deg)}
.esp-city-page .esp-city-art:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.58);border-radius:20px;z-index:3}
.esp-city-page .esp-city-art:after{content:"";position:absolute;left:-12%;right:-12%;top:28%;height:16px;background:rgba(90,56,34,.16);box-shadow:0 54px 0 rgba(90,56,34,.11),0 108px 0 rgba(90,56,34,.08);transform:rotate(-5deg);z-index:2}
.esp-city-page .esp-city-art-grain{position:absolute;inset:0;background:repeating-linear-gradient(8deg,transparent 0 28px,rgba(104,74,49,.08) 29px 31px);z-index:1}
.esp-city-page .esp-city-art-orb{position:absolute;width:190px;height:190px;border-radius:50%;right:-50px;top:-55px;background:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.46);z-index:2}
.esp-city-page .esp-city-art-line{position:absolute;width:75%;height:1px;left:14%;bottom:23%;background:rgba(74,48,31,.32);transform:rotate(11deg);z-index:3}
.esp-city-page .esp-city-art--hero{min-height:430px;transform:rotate(-2.2deg);background:#c9baa9}
.esp-city-page .esp-city-art--hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.82) contrast(1.03)}
.esp-city-page .esp-city-art--hero:after{content:"";position:absolute;inset:0;height:auto;background:linear-gradient(180deg,rgba(17,29,23,.02),rgba(17,29,23,.28));box-shadow:none;transform:none;z-index:1}
.esp-city-page .esp-city-art--hero .esp-city-art-grain{background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(36,44,38,.15));z-index:2}
.esp-city-page .esp-city-hero-section{padding-top:70px;padding-bottom:92px;background:linear-gradient(120deg,#f7f2e9 0 56%,#e5d8c8 56% 100%)!important}
.esp-city-page .esp-city-hero-section:before{content:"";position:absolute;width:580px;height:580px;border-radius:50%;border:1px solid rgba(139,75,36,.14);left:-260px;bottom:-360px}
.esp-city-page .esp-city-section:not(.esp-city-hero-section) .esp-container{padding-top:8px;padding-bottom:8px}
.esp-city-page .esp-city-section .esp-button{position:relative;z-index:5}
.esp-city-page .esp-city-page-shell--flat{position:relative;padding:78px max(32px,calc((100vw - var(--esp-max))/2));background:linear-gradient(135deg,#f7f3eb,#e8eee8 55%,#e7d5bd);overflow:hidden}
.esp-city-page .esp-city-page-shell--flat:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;border:1px solid rgba(139,75,36,.15);right:-310px;top:-260px}
.esp-city-page .esp-city-page-shell--flat>h1,.esp-city-page .esp-city-page-shell--flat>h2,.esp-city-page .esp-city-page-shell--flat>h3,.esp-city-page .esp-city-page-shell--flat>p,.esp-city-page .esp-city-page-shell--flat>ul,.esp-city-page .esp-city-page-shell--flat>ol{position:relative;z-index:1;max-width:900px;margin-left:auto;margin-right:auto}
@media(max-width:980px){
  .esp-city-page .esp-city-split,.esp-city-page .esp-city-split--reverse{grid-template-columns:1fr;gap:42px}
  .esp-city-page .esp-city-split--reverse .esp-city-copy,.esp-city-page .esp-city-split--reverse .esp-city-art{order:initial}
  .esp-city-page .esp-city-art,.esp-city-page .esp-city-art--hero{min-height:320px;transform:none}
}
@media(max-width:720px){
  .esp-city-page .esp-city-hero-section{padding-top:42px;padding-bottom:58px}
  .esp-city-page .esp-city-split{gap:28px}
  .esp-city-page .esp-city-copy h1{font-size:clamp(2.55rem,12vw,3.6rem)}
  .esp-city-page .esp-city-copy h2{font-size:clamp(2rem,9vw,2.7rem)}
  .esp-city-page .esp-city-art,.esp-city-page .esp-city-art--hero{min-height:250px;border-radius:20px}
  .esp-city-page .esp-city-art:before{inset:12px;border-radius:14px}
}

/* City pages: force readable dark text on all light pizazz backgrounds. */
.esp-city-page .esp-city-page-shell .esp-city-section--tone-1,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-2,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-4,
.esp-city-page .esp-city-page-shell .esp-city-hero-section{color:var(--esp-text)!important}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-1 h1,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-1 h2,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-1 h3,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-2 h1,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-2 h2,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-2 h3,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-4 h1,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-4 h2,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-4 h3,
.esp-city-page .esp-city-page-shell .esp-city-hero-section h1,
.esp-city-page .esp-city-page-shell .esp-city-hero-section h2,
.esp-city-page .esp-city-page-shell .esp-city-hero-section h3{color:var(--esp-char)!important}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-1 p,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-1 li,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-2 p,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-2 li,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-4 p,
.esp-city-page .esp-city-page-shell .esp-city-section--tone-4 li,
.esp-city-page .esp-city-page-shell .esp-city-hero-section p,
.esp-city-page .esp-city-page-shell .esp-city-hero-section li{color:#2b2d29!important}
.esp-city-page .esp-city-page-shell .esp-city-section--tone-1 a:not(.esp-button),
.esp-city-page .esp-city-page-shell .esp-city-section--tone-2 a:not(.esp-button),
.esp-city-page .esp-city-page-shell .esp-city-section--tone-4 a:not(.esp-button),
.esp-city-page .esp-city-page-shell .esp-city-hero-section a:not(.esp-button){color:var(--esp-brown-dark)!important}


/* === v5.14.18 — Pizazz for ONLY the four remaining generic service pages === */
body.esp-pizazz-service .esp-service-content{overflow:hidden;background:#f7f3eb}
body.esp-pizazz-service .esp-service-content>.esp-section,
body.esp-pizazz-service .esp-service-content>section{position:relative;isolation:isolate;overflow:hidden}
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+1),
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+1){background:linear-gradient(132deg,#f8f4ec 0 62%,#e7ded0 62% 100%)!important}
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+2),
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+2){background:linear-gradient(138deg,#e6eee8 0 65%,#ceddd4 65% 100%)!important}
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+3),
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+3){background:linear-gradient(137deg,#263a31 0 68%,#172b23 68% 100%)!important;color:#fff}
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+4),
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+4){background:linear-gradient(145deg,#f4eadc 0 58%,#e2ceb4 58% 100%)!important}
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+1):before,
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+1):before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;border:1px solid rgba(143,77,37,.15);right:-180px;top:-210px;z-index:-1}
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+2):after,
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+2):after{content:"";position:absolute;width:540px;height:160px;left:-120px;bottom:8%;transform:rotate(-10deg);border-top:1px solid rgba(42,77,60,.15);border-bottom:1px solid rgba(42,77,60,.10);z-index:-1}
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+3):before,
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+3):before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.13);left:-260px;bottom:-330px;z-index:-1}
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+3):after,
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+3):after{content:"";position:absolute;width:500px;height:140px;right:-100px;top:20%;transform:rotate(12deg);background:rgba(255,255,255,.035);z-index:-1}
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+4):before,
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+4):before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:rgba(148,91,46,.075);right:7%;top:-180px;z-index:-1}
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+3) h1,
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+3) h2,
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+3) h3,
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+3) h1,
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+3) h2,
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+3) h3{color:#fff!important}
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+3) p,
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+3) li,
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+3) p,
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+3) li{color:rgba(255,255,255,.9)!important}
body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(4n+3) a:not(.esp-button),
body.esp-pizazz-service .esp-service-content>section:nth-of-type(4n+3) a:not(.esp-button){color:#f3c99d!important}
body.esp-pizazz-service .esp-service-content>.esp-section:not(:nth-of-type(4n+3)) h1,
body.esp-pizazz-service .esp-service-content>.esp-section:not(:nth-of-type(4n+3)) h2,
body.esp-pizazz-service .esp-service-content>.esp-section:not(:nth-of-type(4n+3)) h3,
body.esp-pizazz-service .esp-service-content>section:not(:nth-of-type(4n+3)) h1,
body.esp-pizazz-service .esp-service-content>section:not(:nth-of-type(4n+3)) h2,
body.esp-pizazz-service .esp-service-content>section:not(:nth-of-type(4n+3)) h3{color:#17271f!important}
body.esp-pizazz-service .esp-service-content>.esp-section:not(:nth-of-type(4n+3)) p,
body.esp-pizazz-service .esp-service-content>.esp-section:not(:nth-of-type(4n+3)) li,
body.esp-pizazz-service .esp-service-content>section:not(:nth-of-type(4n+3)) p,
body.esp-pizazz-service .esp-service-content>section:not(:nth-of-type(4n+3)) li{color:#292d29!important}
body.esp-pizazz-service .esp-service-content .esp-container{position:relative;z-index:2}
body.esp-pizazz-service .esp-service-content .esp-card,
body.esp-pizazz-service .esp-service-content .esp-media-placeholder,
body.esp-pizazz-service .esp-service-content details{box-shadow:0 18px 44px rgba(39,45,38,.10)}
body.esp-pizazz-service .esp-service-content .esp-card{border-radius:22px}
body.esp-pizazz-service .esp-service-content h2{letter-spacing:-.025em}
body.esp-pizazz-service .esp-service-content .esp-two-col,
body.esp-pizazz-service .esp-service-content .esp-split{gap:clamp(34px,5vw,78px);align-items:center}
@media(min-width:900px){
 body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(even) .esp-two-col>*:first-child,
 body.esp-pizazz-service .esp-service-content>section:nth-of-type(even) .esp-two-col>*:first-child{order:2}
 body.esp-pizazz-service .esp-service-content>.esp-section:nth-of-type(even) .esp-two-col>*:last-child,
 body.esp-pizazz-service .esp-service-content>section:nth-of-type(even) .esp-two-col>*:last-child{order:1}
}
@media(max-width:760px){
 body.esp-pizazz-service .esp-service-content>.esp-section:before,
 body.esp-pizazz-service .esp-service-content>.esp-section:after,
 body.esp-pizazz-service .esp-service-content>section:before,
 body.esp-pizazz-service .esp-service-content>section:after{opacity:.65}
}


/* === v5.14.20 RESOURCE GUIDES ONLY — dimensional blue / green / tan visual system === */
body.esp-resource-guide-page{background:#f6f1e8;color:#17241f}
body.esp-resource-guide-page .esp-resource-guide-shell{overflow:hidden;background:#f6f1e8}
body.esp-resource-guide-page .esp-resource-guide-section{position:relative;isolation:isolate;overflow:hidden;padding:88px 0!important;background-image:none!important}
body.esp-resource-guide-page .esp-resource-guide-section>.esp-container{position:relative;z-index:2}
body.esp-resource-guide-page .esp-resource-guide-section:before,
body.esp-resource-guide-page .esp-resource-guide-section:after{content:"";position:absolute;pointer-events:none;z-index:0}

/* Blue-gray */
body.esp-resource-guide-page .esp-resource-guide-tone-1{background:linear-gradient(132deg,#355965 0 61%,#294851 61% 100%)!important;color:#fff}
body.esp-resource-guide-page .esp-resource-guide-tone-1:before{width:420px;height:420px;border-radius:50%;right:-105px;top:-180px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035)}
body.esp-resource-guide-page .esp-resource-guide-tone-1:after{width:250px;height:250px;border-radius:50%;left:8%;bottom:-175px;background:rgba(213,226,226,.08)}

/* Warm tan */
body.esp-resource-guide-page .esp-resource-guide-tone-2{background:linear-gradient(139deg,#f5eee3 0 63%,#e2ccb2 63% 100%)!important;color:#1d2923}
body.esp-resource-guide-page .esp-resource-guide-tone-2:before{width:52vw;height:230px;right:-16vw;top:16%;transform:rotate(-11deg);background:rgba(142,83,42,.065);border:1px solid rgba(142,83,42,.07)}
body.esp-resource-guide-page .esp-resource-guide-tone-2:after{width:260px;height:260px;border-radius:50%;left:-125px;bottom:-120px;border:1px solid rgba(84,107,88,.11);background:rgba(84,107,88,.035)}

/* Deep forest */
body.esp-resource-guide-page .esp-resource-guide-tone-3{background:linear-gradient(128deg,#18372d 0 66%,#254c3d 66% 100%)!important;color:#fff}
body.esp-resource-guide-page .esp-resource-guide-tone-3:before{width:360px;height:360px;border-radius:50%;right:-125px;bottom:-155px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035)}
body.esp-resource-guide-page .esp-resource-guide-tone-3:after{width:46vw;height:185px;left:-13vw;top:18%;transform:rotate(9deg);background:rgba(255,255,255,.025)}

/* Soft blue / stone */
body.esp-resource-guide-page .esp-resource-guide-tone-4{background:linear-gradient(135deg,#e7eef0 0 66%,#c7d8d9 66% 100%)!important;color:#17241f}
body.esp-resource-guide-page .esp-resource-guide-tone-4:before{width:310px;height:310px;border-radius:50%;right:8%;top:-185px;border:1px solid rgba(41,72,81,.11);background:rgba(255,255,255,.17)}
body.esp-resource-guide-page .esp-resource-guide-tone-4:after{width:42vw;height:210px;left:-13vw;bottom:-100px;transform:rotate(-8deg);background:rgba(53,89,101,.05)}

body.esp-resource-guide-page .esp-resource-guide-tone-1 h1,
body.esp-resource-guide-page .esp-resource-guide-tone-1 h2,
body.esp-resource-guide-page .esp-resource-guide-tone-1 h3,
body.esp-resource-guide-page .esp-resource-guide-tone-3 h1,
body.esp-resource-guide-page .esp-resource-guide-tone-3 h2,
body.esp-resource-guide-page .esp-resource-guide-tone-3 h3{color:#fff!important}
body.esp-resource-guide-page .esp-resource-guide-tone-1 p,
body.esp-resource-guide-page .esp-resource-guide-tone-1 li,
body.esp-resource-guide-page .esp-resource-guide-tone-3 p,
body.esp-resource-guide-page .esp-resource-guide-tone-3 li{color:rgba(255,255,255,.91)!important}
body.esp-resource-guide-page .esp-resource-guide-tone-1 a,
body.esp-resource-guide-page .esp-resource-guide-tone-3 a{color:#f1c49e}
body.esp-resource-guide-page .esp-resource-guide-tone-2 h1,
body.esp-resource-guide-page .esp-resource-guide-tone-2 h2,
body.esp-resource-guide-page .esp-resource-guide-tone-2 h3,
body.esp-resource-guide-page .esp-resource-guide-tone-4 h1,
body.esp-resource-guide-page .esp-resource-guide-tone-4 h2,
body.esp-resource-guide-page .esp-resource-guide-tone-4 h3{color:#17241f!important}
body.esp-resource-guide-page .esp-resource-guide-tone-2 p,
body.esp-resource-guide-page .esp-resource-guide-tone-2 li,
body.esp-resource-guide-page .esp-resource-guide-tone-4 p,
body.esp-resource-guide-page .esp-resource-guide-tone-4 li{color:#26342e!important}

body.esp-resource-guide-page .esp-resource-guide-split{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(330px,.72fr);gap:64px;align-items:center}
body.esp-resource-guide-page .esp-resource-guide-split--reverse .esp-resource-guide-copy{order:2}
body.esp-resource-guide-page .esp-resource-guide-split--reverse .esp-resource-guide-art{order:1}
body.esp-resource-guide-page .esp-resource-guide-copy{max-width:760px}
body.esp-resource-guide-page .esp-resource-guide-copy h1{font-size:clamp(3rem,5.2vw,5.6rem);line-height:.98;letter-spacing:-.045em;margin-top:0}
body.esp-resource-guide-page .esp-resource-guide-copy h2{font-size:clamp(2.25rem,3.7vw,3.75rem);line-height:1.04;letter-spacing:-.035em;margin-top:0}
body.esp-resource-guide-page .esp-resource-guide-copy p{font-size:1.04rem;line-height:1.78}

body.esp-resource-guide-page .esp-resource-guide-art{position:relative;min-height:330px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.20);background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.055));box-shadow:0 28px 60px rgba(24,35,29,.18);backdrop-filter:blur(3px)}
body.esp-resource-guide-page .esp-resource-guide-tone-2 .esp-resource-guide-art,
body.esp-resource-guide-page .esp-resource-guide-tone-4 .esp-resource-guide-art{border-color:rgba(35,57,48,.12);background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,255,255,.20));box-shadow:0 25px 56px rgba(34,48,40,.13)}
body.esp-resource-guide-page .esp-resource-guide-art--hero{min-height:390px}
body.esp-resource-guide-page .esp-resource-guide-art-grain{position:absolute;inset:0;background:repeating-linear-gradient(8deg,transparent 0 28px,rgba(255,255,255,.10) 29px 30px);opacity:.72}
body.esp-resource-guide-page .esp-resource-guide-tone-2 .esp-resource-guide-art-grain,
body.esp-resource-guide-page .esp-resource-guide-tone-4 .esp-resource-guide-art-grain{background:repeating-linear-gradient(8deg,transparent 0 28px,rgba(82,63,47,.08) 29px 30px)}
body.esp-resource-guide-page .esp-resource-guide-art-orb{position:absolute;width:230px;height:230px;border-radius:50%;right:-48px;top:-55px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18)}
body.esp-resource-guide-page .esp-resource-guide-tone-2 .esp-resource-guide-art-orb,
body.esp-resource-guide-page .esp-resource-guide-tone-4 .esp-resource-guide-art-orb{background:rgba(58,91,82,.07);border-color:rgba(58,91,82,.10)}
body.esp-resource-guide-page .esp-resource-guide-art-bar{position:absolute;width:130%;height:72px;left:-15%;top:48%;transform:rotate(-18deg);background:rgba(136,77,38,.34)}
body.esp-resource-guide-page .esp-resource-guide-tone-1 .esp-resource-guide-art-bar{background:rgba(231,192,155,.24)}
body.esp-resource-guide-page .esp-resource-guide-tone-3 .esp-resource-guide-art-bar{background:rgba(212,163,118,.22)}
body.esp-resource-guide-page .esp-resource-guide-art-ring{position:absolute;width:185px;height:185px;border-radius:50%;left:34px;bottom:30px;border:2px solid rgba(255,255,255,.17)}
body.esp-resource-guide-page .esp-resource-guide-tone-2 .esp-resource-guide-art-ring,
body.esp-resource-guide-page .esp-resource-guide-tone-4 .esp-resource-guide-art-ring{border-color:rgba(49,79,68,.12)}
body.esp-resource-guide-page .esp-resource-guide-art-no{position:absolute;right:24px;bottom:14px;font-size:5.4rem;line-height:1;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.13)}
body.esp-resource-guide-page .esp-resource-guide-tone-2 .esp-resource-guide-art-no,
body.esp-resource-guide-page .esp-resource-guide-tone-4 .esp-resource-guide-art-no{color:rgba(36,66,57,.10)}

/* Keep complex components crisp/readable inside colored guide bands. */
body.esp-resource-guide-page .esp-resource-guide-section .esp-card,
body.esp-resource-guide-page .esp-resource-guide-section details,
body.esp-resource-guide-page .esp-resource-guide-section .esp-form{background:#fff!important;color:#1f2924!important}
body.esp-resource-guide-page .esp-resource-guide-section .esp-card h2,
body.esp-resource-guide-page .esp-resource-guide-section .esp-card h3,
body.esp-resource-guide-page .esp-resource-guide-section details h2,
body.esp-resource-guide-page .esp-resource-guide-section details h3,
body.esp-resource-guide-page .esp-resource-guide-section details summary{color:#17241f!important}
body.esp-resource-guide-page .esp-resource-guide-section .esp-card p,
body.esp-resource-guide-page .esp-resource-guide-section details p,
body.esp-resource-guide-page .esp-resource-guide-section .esp-form p,
body.esp-resource-guide-page .esp-resource-guide-section .esp-form label{color:#2b332f!important}

/* Flat-content fallback still gets the new palette without restructuring copy. */
body.esp-resource-guide-page .esp-resource-guide-shell--flat{max-width:1080px;margin:0 auto;padding:74px 32px 92px;background:linear-gradient(145deg,#f7f0e5 0 33%,#e4eef0 33% 66%,#e0e9df 66% 100%)}
body.esp-resource-guide-page .esp-resource-guide-shell--flat>h1{font-size:clamp(3rem,5vw,5.2rem);line-height:1;margin-top:0}

@media(max-width:980px){
 body.esp-resource-guide-page .esp-resource-guide-split{grid-template-columns:1fr;gap:34px}
 body.esp-resource-guide-page .esp-resource-guide-split--reverse .esp-resource-guide-copy,
 body.esp-resource-guide-page .esp-resource-guide-split--reverse .esp-resource-guide-art{order:initial}
 body.esp-resource-guide-page .esp-resource-guide-art{min-height:280px}
 body.esp-resource-guide-page .esp-resource-guide-art--hero{min-height:320px}
}
@media(max-width:720px){
 body.esp-resource-guide-page .esp-resource-guide-section{padding:58px 0!important}
 body.esp-resource-guide-page .esp-resource-guide-copy h1{font-size:clamp(2.55rem,12vw,3.65rem)}
 body.esp-resource-guide-page .esp-resource-guide-copy h2{font-size:clamp(2rem,9vw,2.8rem)}
 body.esp-resource-guide-page .esp-resource-guide-art{min-height:235px;border-radius:20px}
 body.esp-resource-guide-page .esp-resource-guide-art--hero{min-height:265px}
 body.esp-resource-guide-page .esp-resource-guide-art-no{font-size:4.2rem}
 body.esp-resource-guide-page .esp-resource-guide-shell--flat{padding:54px 20px 70px}
}


/* === ESP v5.14.21 resource guide white-surface readability fix === */
body.esp-resource-guide-page .esp-resource-guide-section :is(.esp-card,.esp-gallery-card,.esp-deck-accordion-item,.esp-inline-estimate details,.esp-form,.esp-callout,.esp-panel,.esp-box,[class*="card"],[class*="panel"],[class*="callout"],[class*="box"]),
body.esp-resource-guide-page .esp-resource-guide-section :is(.esp-card,.esp-gallery-card,.esp-deck-accordion-item,.esp-inline-estimate details,.esp-form,.esp-callout,.esp-panel,.esp-box,[class*="card"],[class*="panel"],[class*="callout"],[class*="box"]) :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,em,small,label,summary){
  color:#202824!important;
}
body.esp-resource-guide-page .esp-resource-guide-section :is(.esp-card,.esp-gallery-card,.esp-deck-accordion-item,.esp-inline-estimate details,.esp-form,.esp-callout,.esp-panel,.esp-box,[class*="card"],[class*="panel"],[class*="callout"],[class*="box"]) a{color:#633317!important}
body.esp-resource-guide-page .esp-resource-guide-section :is(.esp-card,.esp-gallery-card,.esp-deck-accordion-item,.esp-inline-estimate details,.esp-form,.esp-callout,.esp-panel,.esp-box,[class*="card"],[class*="panel"],[class*="callout"],[class*="box"]) :is(input,textarea,select){color:#202824!important;background:#fff!important}

/* === ESP v5.14.22 resource guide white list-card readability fix === */
/* Dark guide bands intentionally use white copy, but several reusable list/card components
   have their own white surfaces. Keep the text inside those white surfaces dark. */
body.esp-resource-guide-page .esp-resource-guide-section .esp-check-grid li,
body.esp-resource-guide-page .esp-resource-guide-section .esp-deck-symptom-list li,
body.esp-resource-guide-page .esp-resource-guide-section .esp-deck-cost-factors span,
body.esp-resource-guide-page .esp-resource-guide-section .esp-fence-protection-grid span,
body.esp-resource-guide-page .esp-resource-guide-section .esp-outdoor-protection-grid span{
  color:#17241f!important;
}
body.esp-resource-guide-page .esp-resource-guide-section .esp-check-grid li :is(span,strong,b,em,small,a),
body.esp-resource-guide-page .esp-resource-guide-section .esp-deck-symptom-list li :is(span,strong,b,em,small,a),
body.esp-resource-guide-page .esp-resource-guide-section .esp-deck-cost-factors span :is(strong,b,em,small,a),
body.esp-resource-guide-page .esp-resource-guide-section .esp-fence-protection-grid span :is(strong,b,em,small,a),
body.esp-resource-guide-page .esp-resource-guide-section .esp-outdoor-protection-grid span :is(strong,b,em,small,a){
  color:#17241f!important;
}


/* === ESP v5.14.24 — legal pages, centered estimate form, form privacy links === */
.esp-estimate-form-section .esp-estimate-form-grid{
  display:block;
  max-width:920px;
  margin-inline:auto;
}
.esp-estimate-form-section .esp-estimate-form-intro{
  position:static;
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}
.esp-estimate-form-section .esp-estimate-form-card{
  width:100%;
  max-width:820px;
  margin-inline:auto;
}
.esp-form-privacy{
  width:100%;
  margin:18px 0 0!important;
  padding-top:14px;
  border-top:1px solid rgba(38,53,46,.12);
  color:#5d625e!important;
  font-size:.82rem!important;
  line-height:1.5!important;
  text-align:center;
}
.esp-form-privacy a{color:#6b371b!important;font-weight:800;text-decoration:underline;text-underline-offset:2px}

body.esp-legal-page main{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#f8f4ec 0%,#f8f4ec 54%,#e7ddd0 54%,#efe8dd 100%);
  min-height:62vh;
}
body.esp-legal-page main:before,
body.esp-legal-page main:after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
}
body.esp-legal-page main:before{width:440px;height:440px;right:-180px;top:90px;border:1px solid rgba(62,98,107,.18)}
body.esp-legal-page main:after{width:300px;height:300px;left:-150px;bottom:60px;background:rgba(43,76,66,.08)}
body.esp-legal-page main>.esp-container,
body.esp-legal-page main>.wp-block-group,
body.esp-legal-page main>article,
body.esp-legal-page main .entry-content{
  position:relative;
  z-index:1;
}
body.esp-legal-page main .entry-content,
body.esp-legal-page main>article,
body.esp-legal-page main>.esp-container{
  width:min(920px,calc(100% - 44px));
  margin-inline:auto;
}
body.esp-legal-page main .entry-content{padding:76px 0 90px}
body.esp-legal-page main h1{
  max-width:760px;
  margin:0 0 32px;
  font:800 clamp(2.8rem,5vw,4.8rem)/1.02 Georgia,'Times New Roman',serif;
  letter-spacing:-.04em;
  color:#20372f;
}
body.esp-legal-page main h2{margin:42px 0 14px;color:#20372f;font:800 clamp(1.55rem,2.5vw,2.15rem)/1.15 Georgia,serif}
body.esp-legal-page main h3{color:#6b371b;margin-top:30px}
body.esp-legal-page main p,
body.esp-legal-page main li{color:#343a36;line-height:1.78}
body.esp-legal-page main a{color:#6b371b;font-weight:700}
body.esp-legal-page main ul,
body.esp-legal-page main ol{padding-left:1.35rem}
body.esp-legal-page main hr{border:0;border-top:1px solid rgba(38,53,46,.14);margin:38px 0}
body.esp-legal-page main table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 14px 34px rgba(38,53,46,.08)}
body.esp-legal-page main th,body.esp-legal-page main td{padding:14px 16px;border-bottom:1px solid #e8e2d9;text-align:left;color:#303632}
body.esp-legal-page main th{background:#294a40;color:#fff}
@media(max-width:720px){
  .esp-estimate-form-section .esp-estimate-form-intro{margin-bottom:24px}
  body.esp-legal-page main .entry-content{padding:54px 0 68px}
  body.esp-legal-page main h1{font-size:2.7rem}
}
