:root{--red:#d21f26;--red-dark:#a61218;--black:#111;--charcoal:#242424;--white:#fff;--off:#f7f5f2;--gray:#6b6b6b;--line:#dfdcd7;--max:1240px;--shadow:0 18px 50px rgba(0,0,0,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--charcoal);background:#fff;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:12px;z-index:9999}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:.78rem;color:var(--red)}h1,h2,h3{line-height:1.08;margin:0 0 20px;color:var(--black)}h1{font-size:clamp(2.5rem,6vw,5.6rem);max-width:880px}h2{font-size:clamp(2rem,4vw,4rem)}h3{font-size:1.35rem}.lead{font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:760px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;border-radius:4px;background:var(--red);color:#fff;font-weight:800;border:2px solid var(--red);transition:.2s}.btn:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-1px)}.btn-outline{background:transparent;color:#fff;border-color:#fff}.btn-dark{background:#111;border-color:#111}.site-header{position:fixed;top:38px;left:0;right:0;z-index:1000;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(0,0,0,.08);backdrop-filter:blur(10px)}body.admin-bar .site-header{top:70px}.top-bar{position:fixed;top:0;left:0;right:0;z-index:1001;height:38px;background:var(--black);display:flex;align-items:center}body.admin-bar .top-bar{top:32px}.top-bar-inner{display:flex;justify-content:flex-end}.top-bar a{color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.02em}.top-bar a:hover{color:var(--red)}.header-inner{height:112px;display:flex;align-items:center;gap:28px;padding-right:max(20px,calc((100% - 1240px)/2 + 20px))}.logo{height:100%;display:flex;align-items:center}.logo img{width:auto;height:100%;max-width:460px;object-fit:contain}.nav{display:flex;gap:32px;margin-left:auto;align-items:center;font-weight:700;font-size:.92rem;letter-spacing:.02em}.nav li{list-style:none;margin:0;padding:0}.nav .btn{border-radius:2px;padding:12px 22px}.nav a:hover{color:var(--red)}.phone{font-weight:800;white-space:nowrap}.menu-toggle{display:none;border:0;background:none;font-size:28px}.hero{min-height:100svh;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden;padding-top:150px}.hero video,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.38) 65%,rgba(0,0,0,.2))}.hero-content{position:relative;z-index:2;padding:120px 0 90px}.hero h1,.hero h2{color:#fff}.hero p{font-size:1.25rem;max-width:700px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.trust-strip{position:relative;z-index:3;margin-top:-46px}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;box-shadow:var(--shadow)}.trust-item{padding:24px;text-align:center;border-right:1px solid var(--line);font-weight:800}.trust-item:last-child{border:0}.section{padding:96px 0}.section.off{background:var(--off)}.section.dark{background:#111;color:#fff}.section.dark h2,.section.dark h3{color:#fff}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.media-card img{border-radius:4px;box-shadow:var(--shadow)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:46px}.service-card{background:#fff;border:1px solid var(--line);padding:30px;min-height:260px;display:flex;flex-direction:column;transition:.2s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-card p{color:var(--gray)}.service-card a{margin-top:auto;font-weight:800;color:var(--red)}.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}.ba{position:relative;overflow:hidden;aspect-ratio:4/3;background:#ddd}.ba img{width:100%;height:100%;object-fit:cover}.ba .after{position:absolute;inset:0;clip-path:inset(0 0 0 50%)}.ba input{position:absolute;inset:auto 10% 18px;width:80%;z-index:3}.ba-label{position:absolute;top:14px;z-index:4;background:rgba(0,0,0,.7);color:#fff;padding:6px 10px;font-weight:700;font-size:.75rem}.before-label{left:14px}.after-label{right:14px}.ba-single{position:relative;overflow:hidden;aspect-ratio:4/3;background:#ddd;border-radius:4px}.ba-single img{width:100%;height:100%;object-fit:cover}.gallery-grid{grid-template-columns:repeat(4,1fr)}.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.check{font-weight:700}.check:before{content:'✓';color:var(--red);margin-right:10px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}.step{border-top:4px solid var(--red);padding:24px;background:#fff}.step-num{font-size:3rem;font-weight:900;color:#e7e2dc}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}.price{background:#fff;border:1px solid var(--line);padding:30px}.price strong{display:block;font-size:2.1rem;color:var(--red);margin:10px 0}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.review{background:#fff;padding:30px;box-shadow:0 8px 30px rgba(0,0,0,.08)}.stars{color:#f4b400;letter-spacing:3px;font-size:1.25rem}.review cite{font-style:normal;font-weight:800}.faq{max-width:900px;margin:40px auto 0}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:800;cursor:pointer;font-size:1.05rem}.cta{background:linear-gradient(120deg,#111,#2a2a2a);color:#fff;padding:80px 0}.cta h2{color:#fff}.cta-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.site-footer{background:#0b0b0b;color:#ddd;padding:70px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.footer-logo{width:260px;background:#fff;padding:8px}.site-footer h3{color:#fff}.site-footer a:hover{color:#fff}.legal{border-top:1px solid #333;margin-top:50px;padding-top:22px;font-size:.85rem;color:#999}.page-hero{padding:208px 0 80px;background:#111;color:#fff}.page-hero h1{color:#fff;font-size:clamp(2.3rem,5vw,4.6rem)}.single-post .page-hero{padding:165px 0 40px}.single-post .page-hero h1{max-width:1240px;font-size:clamp(2rem,3.6vw,3.4rem)}.rank-math-breadcrumb{font-size:.85rem;letter-spacing:.01em;margin:0 0 18px;opacity:.7}.rank-math-breadcrumb p{margin:0}.rank-math-breadcrumb a{color:#fff;text-decoration:none}.rank-math-breadcrumb a:hover{text-decoration:underline}.rank-math-breadcrumb .separator{margin:0 8px;opacity:.6}.rank-math-breadcrumb .last{color:#fff}.content-wrap{padding:80px 0}.content-wrap h2{font-size:clamp(1.8rem,3vw,3rem);margin-top:50px}.town-grid{columns:4;column-gap:28px}.town-grid a{display:block;padding:7px 0;color:#333}.town-grid a:hover{color:var(--red)}.cookie-banner{position:fixed;z-index:3000;left:18px;right:18px;bottom:18px;background:#111;color:#fff;padding:18px;box-shadow:var(--shadow);display:none}.cookie-inner{display:flex;align-items:center;gap:20px;justify-content:space-between}.cookie-actions{display:flex;gap:8px}.cookie-actions button{padding:10px 16px;border:0;font-weight:800}.cookie-accept{background:var(--red);color:#fff}.cookie-decline{background:#fff}.sticky-mobile{display:none}
@media(max-width:980px){.nav{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;flex-direction:column;padding:24px;align-items:flex-start}.nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.service-grid,.pricing-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.ba-grid{grid-template-columns:1fr}.intro-grid,.benefit-grid{grid-template-columns:1fr;gap:42px}.steps{grid-template-columns:repeat(2,1fr)}.reviews{grid-template-columns:1fr}.trust-grid{grid-template-columns:repeat(2,1fr)}.town-grid{columns:2}.footer-grid{grid-template-columns:1fr 1fr}.cta-inner{display:block}.cta-inner .btn{margin-top:24px}}
@media(max-width:620px){.container{width:min(100% - 28px,var(--max))}.header-inner{height:84px}.logo img{max-width:220px}.hero{padding-top:84px}.hero-content{padding:100px 0 90px}.trust-strip{margin-top:0}.trust-grid{grid-template-columns:1fr 1fr}.trust-item{padding:16px 8px;font-size:.78rem}.section{padding:68px 0}.service-grid,.pricing-grid,.steps,.gallery-grid{grid-template-columns:1fr}.checklist{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.town-grid{columns:1}.cookie-inner{display:block}.cookie-actions{margin-top:14px}.sticky-mobile{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:2500;bottom:0;left:0;right:0}.sticky-mobile a{padding:13px;text-align:center;font-weight:800;color:#fff;background:#111}.sticky-mobile a:last-child{background:var(--red)}body{padding-bottom:52px}}

.page-hero.has-photo{background-size:cover;background-position:center;position:relative}
.page-hero.has-photo::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.55),rgba(17,17,17,.8))}
.page-hero.has-photo .container{position:relative;z-index:1}
.town-search{margin:0 0 20px}
.town-search input{width:100%;max-width:420px;padding:14px 18px;border:2px solid var(--black);border-radius:2px;font-size:1rem;font-family:inherit;color:var(--black)}
.town-search input:focus{outline:none;border-color:var(--red)}
.region-filter{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 36px}
.region-filter button{font-family:Montserrat,Arial,sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;padding:14px 26px;background:var(--charcoal);color:#fff;border:none;border-radius:2px;cursor:pointer;transition:.2s}
.region-filter button:hover{background:#333}
.region-filter button.active{background:var(--red)}
.neighborhoods-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.neighborhood-card{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;border-radius:4px;overflow:hidden;background:#fff;border:2px solid var(--black);transition:.25s}
.neighborhood-card.has-photo{background-size:cover;background-position:center;border-color:var(--black)}
.neighborhood-card::before{content:'';position:absolute;inset:0;background:transparent;transition:.25s}
.neighborhood-card.has-photo::before{background:linear-gradient(180deg,rgba(17,17,17,.2),rgba(17,17,17,.72))}
.neighborhood-card:hover::before{background:linear-gradient(180deg,rgba(210,31,38,.3),rgba(17,17,17,.78))}
.neighborhood-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--red)}
.neighborhood-card span{position:relative;z-index:1;color:var(--black);font-weight:800;font-size:1.05rem;letter-spacing:.02em}
.neighborhood-card.has-photo span{color:#fff}
.neighborhood-card span::after{content:'';display:block;width:34px;height:2px;background:var(--red);margin:8px auto 0}
.neighborhood-card[hidden]{display:none}
.grid-more{text-align:center;margin-top:30px}
@media(max-width:980px){.neighborhoods-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.neighborhoods-grid{grid-template-columns:repeat(2,1fr)}.region-filter{gap:8px}.region-filter button{padding:10px 16px;font-size:.75rem}}

.town-detail{display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:start}
.town-sidebar{background:var(--off);border-radius:6px;padding:30px;position:sticky;top:140px}
.btn-outline{background:transparent;color:var(--black);border:2px solid var(--line)}
.btn-outline:hover{border-color:var(--red);color:var(--red)}
.hero-actions .btn-outline{color:#fff;border-color:#fff}
.hero-actions .btn-outline:hover{color:var(--red);border-color:var(--red)}
@media(max-width:900px){.town-detail{grid-template-columns:1fr}.town-sidebar{position:static}}
.wp-block-jetpack-contact-form label{font-weight:700;font-family:inherit;color:var(--black)}.wp-block-jetpack-contact-form input[type=text],.wp-block-jetpack-contact-form input[type=email],.wp-block-jetpack-contact-form input[type=tel],.wp-block-jetpack-contact-form textarea{border:1px solid var(--line)!important;border-radius:2px!important;font-family:inherit}.wp-block-jetpack-contact-form .wp-block-button__link{border-radius:2px!important;font-family:inherit;font-weight:700}
.ba-expand{position:absolute;bottom:14px;right:14px;z-index:5;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.ba-expand:hover{background:var(--red)}
.mc-lightbox{display:none;position:fixed;inset:0;z-index:6000;background:rgba(0,0,0,.92);align-items:center;justify-content:center;padding:50px 20px}
.mc-lightbox.open{display:flex}
.mc-lightbox-inner{max-width:1100px;width:100%}
.mc-lightbox-inner img{width:100%;height:auto;max-height:85vh;object-fit:contain;display:block;border-radius:4px}
.mc-lightbox-inner .ba{aspect-ratio:4/3;max-height:85vh;border-radius:4px}
.mc-lightbox-close{position:absolute;top:20px;right:28px;background:none;border:none;color:#fff;font-size:2.5rem;line-height:1;cursor:pointer;z-index:6001}
.mc-lightbox-close:hover{color:var(--red)}
@media(max-width:620px){.mc-lightbox{padding:20px 12px}.mc-lightbox-close{top:10px;right:14px;font-size:2rem}}


/* Design Options page */
.do-intro{max-width:760px;color:var(--gray);margin:0 0 30px}
.do-jump{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 56px}
.do-jump a{font-family:Montserrat,Arial,sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;padding:14px 26px;background:var(--charcoal);color:#fff;border-radius:2px;transition:.2s}
.do-jump a:hover{background:var(--red)}
.do-section{padding:60px 0 6px;scroll-margin-top:160px}
.do-section:first-of-type{padding-top:0}
.do-section p{color:var(--gray);max-width:760px}
.do-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
.do-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:0;text-align:left;cursor:pointer;transition:.2s;overflow:hidden;display:flex;flex-direction:column;font-family:inherit}
.do-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--red)}
.do-card[hidden]{display:none}
.do-thumb{aspect-ratio:4/3;overflow:hidden;background:#eee}
.do-thumb img{width:100%;height:100%;object-fit:cover}
.do-card-name{padding:14px 16px 2px;font-weight:800;font-size:.95rem;color:var(--black)}
.do-card-meta{padding:2px 16px 16px;font-size:.8rem;color:var(--gray)}
.do-grid-swatch{grid-template-columns:repeat(6,1fr);gap:14px}
.do-thumb-swatch{aspect-ratio:1/1}
.do-card-swatch .do-card-name{font-size:.82rem;padding:10px 12px 0}
.do-card-swatch .do-card-meta{font-size:.7rem;padding:2px 12px 10px}
.do-cta{margin:40px 0 4px;padding:28px 30px;background:var(--off);border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.do-cta p{margin:0;font-weight:700;color:var(--black)}
.do-final-cta{margin-top:70px;padding:80px 0;background:linear-gradient(120deg,#111,#2a2a2a);color:#fff;text-align:center;border-radius:6px}
.do-final-cta h2{color:#fff}
.do-final-cta p{color:#ddd;max-width:600px;margin:0 auto 30px}
@media(max-width:980px){.do-grid{grid-template-columns:repeat(2,1fr)}.do-grid-swatch{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.do-grid{grid-template-columns:1fr 1fr}.do-grid-swatch{grid-template-columns:repeat(3,1fr)}.do-jump{gap:8px}.do-jump a{padding:10px 16px;font-size:.75rem}.do-cta{flex-direction:column;align-items:flex-start}}

/* Product detail lightbox */
.mc-lightbox-detail{display:flex;background:#fff;border-radius:6px;overflow:hidden;max-width:900px;width:100%;margin:auto}
.mc-lightbox-detail .do-detail-img{flex:1 1 55%;background:#f2f0ec;display:flex;align-items:center;justify-content:center;max-height:80vh}
.mc-lightbox-detail .do-detail-img img{width:100%;height:100%;object-fit:contain}
.mc-lightbox-detail .do-detail-info{flex:1 1 45%;padding:40px;color:var(--charcoal)}
.do-detail-cat{color:var(--red);text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.75rem;margin-bottom:10px}
.mc-lightbox-detail h3{margin-bottom:22px}
.do-detail-spec{border-top:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;gap:20px}
.do-detail-spec dt{font-weight:700;color:var(--gray);margin:0}
.do-detail-spec dd{margin:0;font-weight:700;text-align:right}
.do-detail-note{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);color:var(--gray);font-size:.9rem}
@media(max-width:760px){.mc-lightbox-detail{flex-direction:column;max-height:85vh;overflow-y:auto}.mc-lightbox-detail .do-detail-img{max-height:36vh}.mc-lightbox-detail .do-detail-info{padding:26px}}

/* Primary nav dropdown */
.nav li{position:relative}
.nav li.menu-item-has-children>a{display:flex;align-items:center;gap:5px}
.nav li.menu-item-has-children>a::after{content:'';width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.nav .sub-menu{list-style:none;margin:0;padding:10px 0;position:absolute;top:100%;left:50%;transform:translate(-50%,8px);min-width:220px;background:#fff;box-shadow:var(--shadow);border-radius:4px;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;z-index:1002}
.nav li.menu-item-has-children:hover>.sub-menu,.nav li.menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav .sub-menu li{width:100%}
.nav .sub-menu a{display:block;padding:12px 22px;color:var(--charcoal);font-weight:700;white-space:nowrap}
.nav .sub-menu a:hover{background:var(--off);color:var(--red)}
@media(max-width:980px){
.nav .sub-menu{position:static;box-shadow:none;opacity:1;visibility:visible;transform:none!important;max-height:0;overflow:hidden;padding:0;background:transparent;transition:max-height .2s}
.nav li.mc-sub-open>.sub-menu{max-height:300px;padding:6px 0 6px 16px}
.nav li.menu-item-has-children>a{justify-content:space-between;width:100%}
.nav li.menu-item-has-children>a::after{transition:transform .2s}
.nav li.mc-sub-open>a::after{transform:rotate(225deg);margin-top:2px}
}
.share-customize-link{display:none}