@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#171717;--deep:#090909;--cream:#f6f6f6;--white:#fff;--copper:#e21d2d;--text:#242424;--muted:#535353;--line:#dddddd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--cream);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(2.65rem,5.4vw,5.5rem);font-weight:800}h2{font-size:clamp(2rem,3.5vw,3.65rem);font-weight:800}h3{font-size:1.28rem}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button{cursor:pointer}.wrap{max-width:1240px;padding:0 30px;margin:auto}.skip{position:absolute;left:-9999px;top:0;background:white;padding:12px;z-index:50}.skip:focus{left:12px}.topline{background:var(--deep);color:#dce9e9;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.topline .wrap{padding-top:10px;padding-bottom:10px;display:flex;justify-content:space-between;gap:20px}.header{background:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:3}.header .wrap{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:1.1rem;font-weight:800;letter-spacing:-.04em;line-height:1.05;white-space:nowrap}.brand-mark{display:grid;place-items:center;background:var(--navy);color:var(--copper);height:42px;width:42px;border-radius:10px;font-size:1.2rem;letter-spacing:-.13em;padding-right:4px}.brand small{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:block;margin-top:4px}.nav{display:flex;align-items:center;gap:24px;font-weight:700;font-size:.9rem}.nav a:hover,.nav a[aria-current=page]{color:#b91524;text-decoration:none}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;padding:14px 22px;border-radius:6px;font-weight:800;text-align:center;transition:transform .2s,background .2s}.nav-cta,.btn-primary{background:var(--copper);color:#171717}.nav-cta:hover,.btn-primary:hover{background:#edab70;text-decoration:none;transform:translateY(-2px)}.btn-outline{border-color:#8ca2a7;color:white}.btn-outline:hover{background:#ffffff18;text-decoration:none}.btn-plain{border-color:#95a7a9;color:var(--navy)}.btn-plain:hover{background:#e7edeb;text-decoration:none}.menu-toggle{display:none;background:none;border:0;font-size:1.6rem}.hero{background:var(--navy);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 46%;min-height:620px}.hero-copy{padding:82px max(30px,calc((100vw - 1180px)/2)) 70px max(30px,calc((100vw - 1180px)/2));padding-right:55px;align-self:center}.eyebrow{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.19em;color:#b91524;margin-bottom:22px}.hero .eyebrow,.dark .eyebrow{color:var(--copper)}.hero h1{max-width:720px;margin-bottom:24px}.hero p{max-width:540px;color:#d6e2e2;font-size:1.17rem;line-height:1.6}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-photo{position:relative;min-height:520px}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,43,58,.3),transparent 40%)}.bar{background:#202020;color:#e1eeee}.bar .wrap{display:flex;justify-content:space-between;gap:25px;padding-top:20px;padding-bottom:20px;font-size:.93rem;font-weight:700}.bar span:before{content:'◆';color:var(--copper);font-size:.55rem;vertical-align:middle;margin-right:10px}.section{padding:96px 0}.intro{max-width:760px;margin-bottom:40px}.intro p,.lead{font-size:1.15rem;color:var(--muted);line-height:1.65}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{background:white;border:1px solid var(--line);padding:30px;min-height:240px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.service-card:hover{border-color:var(--copper);transform:translateY(-4px);text-decoration:none}.num{color:#b91524;font-weight:800;font-size:.8rem;letter-spacing:.12em;margin-bottom:26px}.service-card h3{margin-bottom:12px}.service-card p{color:var(--muted);margin-bottom:18px}.card-link{margin-top:auto;color:#b91524;font-weight:800}.feature{background:#f0f0f0;padding:85px 0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.feature .copy p{color:#4b6570;font-size:1.1rem}.list{list-style:none;margin:26px 0 0;padding:0}.list li{border-top:1px solid #bfcfce;padding:14px 0;font-weight:700}.list li:before{content:'↗';color:#b91524;margin-right:14px}.feature-panel{background:var(--navy);color:white;padding:44px;box-shadow:22px 22px 0 #ddd}.feature-panel .big{font:800 clamp(2.3rem,4vw,4rem)/1.15 Manrope,sans-serif;letter-spacing:-.05em;margin:20px 0}.feature-panel p{color:#c5d8d9}.dark{background:var(--deep);color:white}.dark p{color:#cbdbdf}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.section-heading{max-width:760px}.steps{counter-reset:step}.step{display:grid;grid-template-columns:55px 1fr;gap:12px;padding:22px 0;border-top:1px solid #526e76}.step:before{counter-increment:step;content:'0' counter(step);font-weight:800;color:var(--copper)}.step h3{margin:0 0 8px}.step p{margin:0}.cta-band{background:var(--copper);padding:60px 0}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{font-size:clamp(1.9rem,3vw,3rem);margin-bottom:8px}.cta-band p{margin-bottom:0}.cta-band .btn{background:var(--deep);color:white;white-space:nowrap}.footer{background:#080808;color:#b7cbd0;padding:60px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.footer h3{color:white;font-size:1rem;letter-spacing:0}.footer a{display:block;margin:9px 0}.footer .brand{color:white;margin-bottom:20px}.footer-bottom{border-top:1px solid #333;margin-top:50px;padding-top:23px;font-size:.85rem}.page-hero{background:var(--navy);color:white;padding:82px 0}.page-hero h1{max-width:900px;margin-bottom:20px}.page-hero p{max-width:760px;font-size:1.17rem;color:#cfe0e2}.page-hero .eyebrow{color:var(--copper)}.content-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:100px}.prose{font-size:1.12rem;color:#435b64;line-height:1.75}.prose h2{color:var(--navy);margin-top:48px;font-size:2rem}.prose h2:first-child{margin-top:0}.prose ul{padding-left:22px}.prose li{margin:9px 0}.sidebox{background:#f1f1f1;padding:34px;align-self:start}.sidebox h3{font-size:1.5rem}.sidebox .btn{margin-top:14px}.notice{background:#fff5e9;border-left:4px solid var(--copper);padding:24px;margin-top:30px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-card{background:white;border:1px solid var(--line);padding:36px}.contact-card h2{font-size:2rem}.contact-card p{color:var(--muted)}.contact-card dl{margin:24px 0}.contact-card dt{font-weight:800;margin-top:16px}.contact-card dd{margin-left:0;color:var(--muted)}.form{display:grid;gap:16px}.form label{display:grid;gap:7px;font-weight:700}.form input,.form textarea,.form select{width:100%;padding:13px;border:1px solid #adc0c3;border-radius:4px;background:white;color:var(--navy)}.form textarea{min-height:120px}.form small{color:var(--muted)}.form button{border:0}.status{padding:14px;background:#f1f1f1;display:none}.status.show{display:block}.status.error{background:#fff0e6}.subtle{font-size:.9rem;color:var(--muted)}
@media(max-width:960px){.nav{gap:13px}.nav a{font-size:.82rem}.hero-grid{grid-template-columns:1fr 43%}.hero-copy{padding:65px 35px}.hero h1{font-size:3.7rem}.feature-grid,.split{gap:40px}}
@media(max-width:740px){.wrap{padding-left:20px;padding-right:20px}.topline .wrap{font-size:.7rem}.topline span:last-child{display:none}.header .wrap{min-height:68px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:white;padding:20px;box-shadow:0 15px 20px #0002;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:12px;font-size:1rem}.nav .nav-cta{margin-top:10px}.hero-grid{display:flex;flex-direction:column}.hero-copy{padding:65px 20px 55px}.hero h1{font-size:clamp(2.65rem,10vw,4.3rem)}.hero-photo{height:310px;min-height:0}.bar .wrap{flex-wrap:wrap;gap:10px 25px}.section{padding:65px 0}.grid3,.feature-grid,.split,.content-grid,.contact-grid,.footer-grid{grid-template-columns:1fr;gap:20px}.feature{padding:65px 0}.feature-panel{margin:0 18px 18px 0;padding:30px}.cta-band .wrap{display:block}.cta-band .btn{margin-top:22px}.footer-grid{gap:26px}.page-hero{padding:62px 0}.page-hero h1{font-size:clamp(2.5rem,10vw,4rem)}}
.topline a{color:#fff;text-decoration:underline;text-underline-offset:3px}.service-area{padding:78px 0;background:#fff}.service-area .wrap{max-width:960px}.service-area p:last-child{font-size:1.15rem;color:var(--muted);line-height:1.65;max-width:760px}.contact-card a:not(.btn){text-decoration:underline;text-underline-offset:3px}
@media(max-width:740px){.topline span:nth-child(2){display:none}.topline a{margin-left:auto;white-space:nowrap}.service-area{padding:60px 0}.topline .wrap{gap:8px}}

/* Scott Bros red and black brand, service photography and mobile calling */
.brand-mark{width:48px;height:48px;background:#fff;border-radius:5px;padding:2px;overflow:hidden}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.footer .brand-mark{width:54px;height:54px}.topline{background:#080808}.topline a{font-size:.9rem;color:#fff}.header{background:#fff}.nav-cta,.btn-primary{background:#e21d2d;color:#fff}.nav-cta:hover,.btn-primary:hover{background:#bd1423;color:#fff}.hero{background:#111}.hero .eyebrow,.dark .eyebrow,.page-hero .eyebrow{color:#ff5360}.hero-photo:after{background:linear-gradient(90deg,#1116,transparent 45%)}.bar{background:#8f1220}.bar span:before{color:#fff}.service-card{padding:0;overflow:hidden;min-height:0}.service-card>img{display:block;width:100%;height:176px;object-fit:cover}.service-card-copy{display:flex;flex-direction:column;padding:24px;flex:1}.service-card .num{margin-bottom:12px}.service-card p{min-height:3.1em}.service-card:hover{border-color:#b91524}.feature-panel{box-shadow:18px 18px 0 #dedede}.feature-panel p,.dark p{color:#dedede}.feature .copy p{color:#444}.feature-panel .eyebrow{color:#ff5360}.cta-band{background:#c61727;color:#fff}.cta-band .btn{background:#111;color:#fff}.sidebox{padding:0 0 32px}.sidebox>*:not(img){margin-left:32px;margin-right:32px}.service-detail-image{width:100%;height:235px;object-fit:cover;display:block;margin-bottom:30px}.sidebox .eyebrow{margin-top:0}.contact-card{overflow-wrap:anywhere}.mobile-call,.mobile-callbar{display:none}.service-area{background:#fff}
@media(max-width:960px){.hero-grid{min-height:520px}.hero-copy{padding:60px 36px}.nav{gap:10px}.nav a{font-size:.83rem}}
@media(max-width:740px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.topline .wrap{padding-top:8px;padding-bottom:8px;justify-content:center}.topline span:first-child{display:none}.topline a{margin:0;font-size:.86rem}.header .wrap{gap:12px}.brand{font-size:.91rem;gap:7px}.brand small{font-size:.55rem}.brand-mark{width:41px;height:41px;flex:none}.mobile-call{display:inline-flex;margin-left:auto;background:#e21d2d;color:#fff;border-radius:4px;padding:10px 12px;font-weight:800;white-space:nowrap;font-size:.85rem}.menu-toggle{font-size:1.4rem;min-width:44px;min-height:44px}.nav a{min-height:44px}.hero-copy{padding:50px 20px 45px}.hero h1{font-size:clamp(2.2rem,9vw,3.6rem)}.hero p{font-size:1rem}.hero-photo{height:240px}.bar .wrap{padding-top:14px;padding-bottom:14px}.bar span{font-size:.85rem}.service-card>img{height:210px}.service-card-copy{padding:22px}.mobile-callbar{display:flex;align-items:center;justify-content:center;position:fixed;z-index:10;bottom:0;left:0;right:0;min-height:64px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#e21d2d;color:white;font-weight:800;text-align:center;box-shadow:0 -4px 18px #0003}.mobile-callbar:hover{text-decoration:none;background:#ba1220}.contact-grid{gap:22px}.contact-card{padding:24px}.sidebox>*:not(img){margin-left:24px;margin-right:24px}}
@media(max-width:370px){.brand{font-size:.8rem}.mobile-call{padding:9px 8px;font-size:.76rem}.menu-toggle{min-width:40px}}

@media(max-width:370px){.header .mobile-call{display:none}.menu-toggle{margin-left:auto}}
.project-scenes{background:#fff}.project-scenes h2{max-width:700px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project-grid figure{margin:0;background:#f6f6f6;border:1px solid #ddd}.project-grid img{display:block;width:100%;height:330px;object-fit:cover}.project-grid figcaption{padding:20px 24px;display:grid;gap:6px}.project-grid figcaption strong{font-size:1.15rem;color:#171717}.project-grid figcaption span{color:#535353}
@media(max-width:740px){.project-grid{grid-template-columns:1fr}.project-grid img{height:235px}.hero-photo img{object-position:50% 40%}}
.water-detail{margin:0;max-width:520px}.water-detail img{display:block;width:100%;height:430px;object-fit:cover}.water-detail figcaption{padding:12px 0;color:#535353;font-size:.9rem}
@media(max-width:740px){.water-detail img{height:340px}.water-detail{max-width:none}}

.review-prompt{background:#f2f2f2;padding:56px 0;border-top:1px solid #ddd}.review-prompt .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.review-prompt .eyebrow{color:#a41423;margin-bottom:10px}.review-prompt h2{margin:0 0 12px}.review-prompt p:last-child{margin:0;max-width:680px;color:#444}.review-prompt .btn{flex:none}@media(max-width:740px){.review-prompt{padding:42px 0}.review-prompt .wrap{align-items:flex-start;flex-direction:column}.review-prompt .btn{width:100%;justify-content:center}}

.brands-section{background:#f5f5f5}.brand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.brand-tile{background:#fff;border:1px solid #dedede;border-top:4px solid #c61727;padding:22px;min-width:0}.brand-tile h3{font-size:1.12rem;margin:0 0 12px;color:#141414}.brand-tile p{font-size:1rem;line-height:1.65;margin:0;color:#414141}@media(max-width:960px){.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.brand-grid{grid-template-columns:1fr}.brand-tile{padding:20px}}
