:root{--blue:#3368a0;--sea:#66a3bf;--mint:#c8dfdb;--sand:#f2efe7;--ink:#172331;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6;background:#fff}a{color:inherit}img{max-width:100%;display:block}.topbar{padding:.42rem max(4vw,calc((100vw - var(--max))/2));background:var(--ink);color:#fff;display:flex;justify-content:space-between;font-size:.82rem}.topbar a{text-decoration:none;font-weight:800}header{height:92px;padding:0 max(4vw,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #dfe5e7;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:1rem;text-decoration:none}.brand img{width:180px;height:auto}.brand strong{font-size:1.05rem}nav{display:flex;gap:1.35rem;align-items:center}nav a{text-decoration:none;font-weight:700;font-size:.92rem}nav a:last-child{padding:.65rem 1rem;background:var(--blue);color:#fff}.menu{display:none;background:var(--blue);color:#fff;border:0;padding:.65rem 1rem;font-weight:800}.hero{min-height:620px;background-size:cover;background-position:center;display:flex;align-items:end}.home-hero{background-image:linear-gradient(90deg,rgba(16,31,45,.88),rgba(16,31,45,.15)),url('assets/home-hero.jpg')}.hero-overlay{padding:5rem max(5vw,calc((100vw - var(--max))/2));max-width:900px;color:#fff}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--blue);font-size:.77rem}.hero .eyebrow{color:var(--mint)}h1,h2,h3{line-height:1.08;margin:.2em 0 .55em;font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(2.5rem,6vw,5.5rem);max-width:850px}h2{font-size:clamp(1.8rem,3.5vw,3.3rem)}p{margin:.4rem 0 1rem}.hero p:not(.eyebrow){font-size:1.16rem;max-width:660px}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:.75rem 1.25rem;text-decoration:none;font-weight:900;border:0;cursor:pointer}.primary{background:var(--blue);color:#fff}.ghost{border:1px solid #fff;color:#fff}.dark{background:var(--ink);color:#fff}.intro,.services,.feature,.reviews,.content-grid,.cta,.quote-wrap{max-width:var(--max);margin:auto;padding:5rem 2rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.service-button{min-height:120px;padding:1.4rem;background:var(--sand);border-left:5px solid var(--sea);display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;font-size:1.18rem;font-weight:900}.service-button span{font-size:.72rem;color:var(--blue)}.feature{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center;background:var(--mint);max-width:none;padding-left:max(2rem,calc((100vw - var(--max))/2));padding-right:max(2rem,calc((100vw - var(--max))/2))}.feature img{width:100%;height:430px;object-fit:cover}.text-link{color:var(--blue);font-weight:900;text-decoration:none}.reviews{background:#fff}.review-grid,.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.review-grid blockquote,.card-grid article{margin:0;padding:2rem;background:var(--sand);border-top:4px solid var(--sea)}cite{display:block;margin-top:1rem;font-weight:800;font-style:normal}.page-hero{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:var(--sand)}.page-hero img{width:100%;height:100%;object-fit:cover}.page-hero>div{padding:5rem max(2rem,8vw);display:flex;flex-direction:column;justify-content:center}.page-hero h1{font-size:clamp(2.4rem,5vw,4.8rem)}.content-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem}.content-grid aside{padding:2rem;background:var(--mint)}li{margin:.5rem 0}.cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--sand);max-width:none;padding-left:max(2rem,calc((100vw - var(--max))/2));padding-right:max(2rem,calc((100vw - var(--max))/2))}.simple-hero{text-align:center;padding:6rem 2rem;background:var(--sand)}.simple-hero>*{max-width:850px;margin-left:auto;margin-right:auto}.simple-hero.compact{padding:4rem 2rem}.quote-wrap form{max-width:820px;margin:auto;padding:2rem;background:var(--sand)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid label{font-weight:800}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:.35rem;padding:.85rem;border:1px solid #aab5ba;background:#fff;font:inherit}.full{grid-column:1/-1}.honeypot{position:absolute;left:-9999px}.form-note{margin-top:1rem}.social{padding:3rem max(4vw,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--sea)}.social .eyebrow{color:#fff}.social-logos{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.social-logos img{max-height:72px;max-width:210px;width:auto}footer{background:var(--ink);color:#dce6e8;padding:4rem max(4vw,calc((100vw - var(--max))/2)) 7rem}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:2rem}.footer-logo{width:210px;background:#fff;padding:.5rem}.footer-grid h3{color:#fff;font-size:1.2rem}.footer-grid a{display:block;text-decoration:none;margin:.3rem 0}.legal{border-top:1px solid #44515b;margin-top:3rem;padding-top:1.5rem;font-size:.85rem}.mobile-bar{display:none}
@media(max-width:900px){.topbar span{display:none}header{height:78px}.brand img{width:120px}.brand strong{font-size:.84rem}.menu{display:block}nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:1rem 1.5rem;box-shadow:0 12px 20px #0002}nav.open{display:grid}.hero{min-height:540px}.hero-overlay{padding:4rem 1.5rem}.split,.feature,.page-hero,.content-grid{grid-template-columns:1fr;gap:2rem}.page-hero img{height:320px}.page-hero>div{padding:3rem 1.5rem}.service-grid{grid-template-columns:repeat(2,1fr)}.review-grid,.card-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.social{align-items:flex-start;flex-direction:column}.mobile-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr;left:0;right:0;bottom:0;z-index:50;box-shadow:0 -4px 20px #0004}.mobile-bar a{text-align:center;padding:.7rem;background:var(--ink);color:#fff;text-decoration:none;font-weight:900}.mobile-bar a:last-child{background:var(--blue)}body{padding-bottom:65px}}
@media(max-width:560px){.brand strong{display:none}.service-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}.service-button{min-height:96px;padding:1rem;font-size:.98rem}.intro,.services,.feature,.reviews,.content-grid,.cta,.quote-wrap{padding:3.5rem 1.25rem}.feature img{height:280px}.cta{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.social-logos img{max-width:150px;max-height:60px}}

/* Campbell monochromatic homepage direction */
:root{--sea:#5f91bd;--mint:#dceaf5;--sand:#edf3f8;--ink:#102b46}
.home-hero{position:relative;isolation:isolate;min-height:700px;display:flex;align-items:stretch;overflow:hidden;background:#173f68;color:#fff}
.home-hero .hero-art{position:absolute;inset:0;z-index:-2}
.home-hero .hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-hero .hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,47,78,.97) 0%,rgba(20,72,113,.9) 39%,rgba(36,91,137,.48) 67%,rgba(20,55,85,.16) 100%)}
.hero-copy{width:min(100%,1180px);margin:auto;padding:4.6rem 2rem 3rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}
.hero-copy .eyebrow{color:#c9e1f4}
.hero-copy h1{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.045em;font-size:clamp(3.25rem,7vw,6.4rem);line-height:.93;max-width:810px;margin:.18em 0 .32em}
.hero-copy>p:not(.eyebrow){max-width:710px;font-size:clamp(1.05rem,1.65vw,1.35rem);line-height:1.5}
.hero-copy .light{background:#fff;color:#214f7c}
.hero-copy .outline{border:1px solid rgba(255,255,255,.75);color:#fff;background:rgba(23,63,104,.2)}
.hero-services{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2.25rem}
.hero-services .service-button{min-height:auto;padding:.55rem 1rem;border:1px solid #8bb7da;border-radius:999px;background:rgba(18,61,97,.72);color:#fff;display:block;font-size:.81rem;line-height:1.2;backdrop-filter:blur(4px)}
.hero-services .service-button span{display:none}
.about{max-width:1180px;margin:auto;padding:5rem 2rem}
.feature{background:#dceaf5}
.content-grid aside{background:#dceaf5}
.social{background:#4b7eab;color:#fff}
@media(max-width:900px){.home-hero{min-height:760px}.hero-copy{padding:3.5rem 1.25rem 2.5rem;justify-content:flex-end}.home-hero .hero-art img{object-position:63% center}.home-hero .hero-art:after{background:linear-gradient(0deg,rgba(10,47,78,.99) 0%,rgba(20,72,113,.93) 56%,rgba(23,67,104,.36) 100%)}.hero-copy h1{font-size:clamp(2.9rem,12vw,5rem);max-width:680px}.hero-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.hero-services .service-button{text-align:center;padding:.7rem .5rem}.about{padding:4rem 1.25rem}}

/* Refined hero scale and image presentation */
.topbar{justify-content:center;text-align:center;letter-spacing:.025em}
.home-hero{min-height:610px}
.home-hero .hero-art img{object-fit:cover;object-position:center center;transform:none}
.home-hero .hero-art:after{background:linear-gradient(90deg,rgba(10,47,78,.97) 0%,rgba(20,72,113,.87) 38%,rgba(36,91,137,.34) 66%,rgba(20,55,85,.06) 100%)}
.hero-copy{padding-top:3.35rem;padding-bottom:2.65rem}
.hero-copy h1{font-size:clamp(2.65rem,5.15vw,4.85rem);line-height:1;max-width:720px;letter-spacing:-.035em}
.hero-copy>p:not(.eyebrow){max-width:650px;font-size:clamp(1rem,1.35vw,1.18rem)}
.hero-services{max-width:760px;margin-top:1.5rem}
@media(max-width:900px){.topbar span{display:block}.home-hero{min-height:690px}.home-hero .hero-art img{object-position:center top}.hero-copy h1{font-size:clamp(2.45rem,10vw,4rem);line-height:1.02}.hero-copy{padding-top:2.75rem}}

.residential-image-card{position:relative;padding:12px;background:#fff;border:4px solid var(--blue);box-shadow:0 20px 42px rgba(16,43,70,.2)}
.residential-image-card .estate-photo{width:100%;height:410px;object-fit:cover}
.coastal-inset{position:absolute;right:-24px;bottom:-32px;width:43%;padding:8px;background:#fff;border:3px solid #5f91bd;box-shadow:0 14px 30px rgba(16,43,70,.28)}
.coastal-inset img{width:100%;height:145px;object-fit:cover}
.coastal-inset span{display:block;padding:.35rem .2rem .1rem;color:var(--blue);font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:900px){.residential-image-card{margin:0 1rem 2.5rem 0}.residential-image-card .estate-photo{height:340px}.coastal-inset{right:-14px;bottom:-28px;width:46%}}
@media(max-width:560px){.residential-image-card .estate-photo{height:270px}.coastal-inset{width:52%}.coastal-inset img{height:105px}}

.footer-contact{margin:1rem 0;padding-left:.85rem;border-left:3px solid #5f91bd;color:#fff}
.footer-contact a{display:inline-block;font-weight:900;color:#fff}
.legal{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.site-credit{display:flex;margin-left:auto;align-items:center;gap:.75rem;text-decoration:none;color:#fff;font-weight:800;font-size:.82rem}
.site-credit::before{content:"Managed by Mass Websites";white-space:nowrap}
.site-credit img{display:block;max-width:175px;max-height:64px;width:auto;object-fit:contain;padding:.25rem .45rem;background:#fff;border-radius:3px;filter:none;opacity:1}
.site-credit:hover img,.site-credit:focus img{box-shadow:0 0 0 2px #5f91bd}
@media(max-width:560px){.legal{align-items:flex-start;flex-direction:column}.site-credit{margin-left:0}}

.review-grid cite::after{content:" ★★★★★";display:inline-block;margin-left:.45rem;color:#f2b400;font-family:Arial,Helvetica,sans-serif;font-size:.9rem;letter-spacing:.06em;white-space:nowrap}

.project-gallery{max-width:1180px;margin:auto;padding:1rem 2rem 5rem}
.project-gallery>div:first-child{max-width:760px;margin-bottom:2rem}
.gallery-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.gallery-cards figure{margin:0;padding:9px;background:#fff;border:3px solid var(--blue);box-shadow:0 14px 28px rgba(16,43,70,.14)}
.gallery-cards img{width:100%;height:235px;object-fit:cover}
.gallery-cards figcaption{padding:.65rem .35rem .25rem;color:var(--blue);font-weight:900}
@media(max-width:980px){.gallery-cards{grid-template-columns:repeat(2,1fr)}}
.gallery-cards.interior-gallery{grid-template-columns:repeat(3,1fr)}
.gallery-cards.commercial-gallery{grid-template-columns:repeat(3,1fr)}
.gallery-cards.beach-gallery{grid-template-columns:repeat(3,1fr)}
@media(max-width:980px){.gallery-cards.interior-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.gallery-cards.commercial-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.gallery-cards.beach-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.project-gallery{padding:1rem 1.25rem 4rem}.gallery-cards{grid-template-columns:1fr}.gallery-cards img{height:260px}}
@media(max-width:760px){.gallery-cards.interior-gallery{grid-template-columns:1fr}}
@media(max-width:760px){.gallery-cards.commercial-gallery{grid-template-columns:1fr}}
@media(max-width:760px){.gallery-cards.beach-gallery{grid-template-columns:1fr}}

.coastal-care{max-width:1180px;margin:0 auto 4rem;padding:3.5rem 2rem;display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;background:#dceaf5;border-left:6px solid var(--blue)}
.coastal-care ul{margin:0;padding:1.25rem 1.5rem;background:#fff;box-shadow:0 12px 25px rgba(16,43,70,.12)}
@media(max-width:760px){.coastal-care{margin-bottom:3rem;padding:2.5rem 1.25rem;grid-template-columns:1fr;gap:1.5rem}}

.social-logos a{display:block;padding:.35rem;border-radius:4px;transition:transform .18s ease,background-color .18s ease}
.social-logos a:hover,.social-logos a:focus{transform:translateY(-3px);background:rgba(255,255,255,.14);outline:2px solid rgba(255,255,255,.75);outline-offset:2px}

body:has(.page-hero img[src*="commercial-dunkin"]) .page-hero img{object-position:center center}

body:has(.page-hero img[src*="exterior-page-hero"]) .page-hero{background:#dceaf5;padding:2rem;gap:2rem}
body:has(.page-hero img[src*="exterior-page-hero"]) .page-hero>img{width:min(100%,680px);height:auto;max-height:510px;align-self:center;justify-self:center;object-fit:contain;padding:10px;background:#fff;border:4px solid var(--blue);box-shadow:0 18px 38px rgba(16,43,70,.22)}
.not-found{max-width:1180px;margin:auto;padding:6rem 2rem;display:grid;grid-template-columns:1.25fr .75fr;gap:5rem;align-items:start}
.not-found h1{font-size:clamp(2.7rem,5.5vw,5.2rem)}
.not-found-links{padding:2rem;background:#dceaf5;border-top:5px solid var(--blue)}
.not-found-links h2{font-size:1.8rem}
.not-found-links a{display:block;padding:.55rem 0;border-bottom:1px solid #b5ccdf;text-decoration:none;font-weight:800;color:var(--blue)}
@media(max-width:900px){body:has(.page-hero img[src*="exterior-page-hero"]) .page-hero{padding:1.25rem}.not-found{padding:4rem 1.25rem;grid-template-columns:1fr;gap:2rem}}
