:root{--navy:#073f6f;--ink:#092b47;--orange:#ff863e;--light:#edf5fa}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}a{color:inherit}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;z-index:10}.topbar{background:var(--navy);color:white;display:flex;justify-content:space-between;padding:9px 5%;font-size:14px}.topbar a{text-decoration:none;font-weight:bold}header{padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:white}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.05;font-weight:900;font-size:26px;letter-spacing:1px}.brand img{width:65px;height:65px;object-fit:cover;border-radius:50%}.brand small{display:block;font-size:11px;letter-spacing:1.5px;margin-top:7px}nav{display:flex;align-items:center;gap:23px;font-size:15px;font-weight:bold}nav a{text-decoration:none}nav a[aria-current]{color:#a84811}nav a:hover{color:#a84811}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 28px;color:#102b3f;background:var(--orange);border:2px solid var(--orange);font-weight:bold;text-decoration:none;border-radius:5px;cursor:pointer;line-height:1.35}.button:hover{background:#ffa46a;border-color:#ffa46a}.button.outline{background:transparent;color:inherit;border-color:currentColor}.button.small{padding:11px 18px}.menu{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:630px;background:var(--navy);color:white}.hero-copy{padding:80px 8% 60px 9%}.eyebrow{display:block;font-size:13px;font-weight:800;letter-spacing:2px;margin-bottom:22px}.hero .eyebrow,.blue .eyebrow{color:#ffab79}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,4.5vw,68px);line-height:1.08;letter-spacing:-2.4px;margin-bottom:27px}h1 em{font-style:normal;color:var(--orange)}.hero p{max-width:540px;color:#dbe9f4;font-size:19px;line-height:1.7}.actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}.hero-note{margin-top:35px;font-size:14px;color:#dbe9f4}.hero-note span{padding:0 10px}.hero figure{margin:0;position:relative;min-height:540px}.hero figure img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 60%}.hero figcaption{position:absolute;bottom:30px;left:30px;right:30px;padding:16px 22px;background:#073f6fe8;color:white;border-left:4px solid var(--orange);font-weight:bold}.section{padding:78px 6%;max-width:1500px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:36px}.section-heading p{max-width:420px;margin-bottom:8px;color:#50677a}h2{font-size:clamp(30px,3vw,44px);line-height:1.15;letter-spacing:-1.2px;margin-bottom:24px}h3{font-size:24px;line-height:1.3;letter-spacing:-.5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service{display:block;text-decoration:none;padding:35px;background:var(--light);border-top:4px solid var(--navy);transition:transform .2s}.service:hover{transform:translateY(-5px);border-color:var(--orange)}.num{font-size:14px;letter-spacing:2px;font-weight:bold;color:#9c480f;display:block;margin-bottom:28px}.service p{color:#50677a}.learn,.text-link{font-size:15px;font-weight:bold;color:var(--navy);text-decoration:underline;text-underline-offset:5px}.blue{background:var(--navy);color:white;max-width:none}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:45px}.benefits article{border-top:1px solid #94afc5;padding-top:25px}.benefits p{font-size:16px}.blue .num{color:var(--orange)}.blue p{color:#dbe9f4}.closing{margin:0;background:var(--light);padding:60px 6%;display:flex;gap:40px;align-items:center;justify-content:space-between}.closing h2{font-size:38px}.closing p{margin:0}.closing .actions{margin:0;flex-shrink:0}footer{background:#061e32;color:#dce9f3;padding:60px 6% 25px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;font-size:15px}footer img{width:120px;height:120px;border-radius:50%;object-fit:cover}footer a{display:block;margin-bottom:8px;overflow-wrap:anywhere}footer h3{font-size:17px;color:white}.copyright{grid-column:1/-1;border-top:1px solid #375064;padding-top:20px;font-size:13px}.page-intro{background:var(--navy);color:white;padding:70px 6%;}.page-intro h1{max-width:1000px;font-size:56px}.page-intro p{max-width:700px;color:#dbe9f4;font-size:19px;margin:0}.page-intro .eyebrow{color:#ffab79}.details{max-width:1050px}.details article{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:32px 0;border-bottom:1px solid #d0dce5}.details h2{font-size:30px}.booking{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.phone{font-size:28px;font-weight:bold;text-decoration:none}label{display:block;font-size:15px;font-weight:bold;margin-bottom:20px}input,select,textarea{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #a9becf;border-radius:4px;color:var(--ink);background:white;min-width:0}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-note{font-size:14px;color:#50677a}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.contact-grid a,.booking a{overflow-wrap:anywhere}.contact-grid h2{font-size:27px}.reviews{max-width:1000px}.reviews img{display:block;max-width:100%;height:auto;margin:35px auto;border:1px solid #d6e1e9}.reviews blockquote{margin:0;padding:35px;background:var(--light)}.reviews blockquote p{font-size:30px;line-height:1.4}.stars{color:#a74d13;font-size:26px;margin-bottom:15px}cite{font-style:normal}#form-status{font-weight:bold;margin-top:18px}@media(max-width:1100px){nav{gap:13px;font-size:14px}.brand span{display:none}.hero-copy{padding:60px 9%}.benefits{grid-template-columns:1fr 1fr}.closing{display:block}.closing .actions{margin-top:25px}}@media(max-width:760px){.topbar span{max-width:230px;font-size:12px}.topbar{gap:15px;padding:8px 5%}header{flex-wrap:wrap;padding:12px 5%}.brand span{display:block}.brand img{width:52px;height:52px}.menu{display:block;background:white;border:1px solid var(--navy);padding:9px 15px;border-radius:4px}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:12px 0}nav .button{margin:10px 0}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 6%}.hero h1{font-size:48px}.hero figure{min-height:420px}.hero figure img{object-position:50% 65%}.section{padding:52px 6%}.section-heading{display:block}.service-grid,.benefits,.booking,.contact-grid{grid-template-columns:1fr}.benefits{gap:15px}.service{padding:28px}.page-intro{padding:50px 6%}.page-intro h1{font-size:40px}.booking{gap:35px}.form-grid{grid-template-columns:1fr}.details article{grid-template-columns:35px 1fr;gap:10px}.details h2{font-size:26px}footer{grid-template-columns:1fr}.closing{padding:45px 6%}.closing h2{font-size:32px}.reviews blockquote p{font-size:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Full-width photographic homepage opening. */
.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:calc(100svh - 145px);overflow:hidden;background:#092b47}
.hero figure{position:absolute;inset:0;min-height:0;z-index:-2}
.hero figure img{object-position:50% 61%;width:100%;height:100%}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,22,38,.91) 0%,rgba(3,22,38,.74) 37%,rgba(3,22,38,.19) 73%,rgba(3,22,38,.08) 100%)}
.hero-copy{width:100%;max-width:860px;padding:90px 6%;position:relative;z-index:1}
.hero h1{font-size:clamp(50px,5.9vw,86px);letter-spacing:-2.8px;line-height:1.04;text-shadow:0 2px 16px rgba(0,0,0,.15)}
.hero p{max-width:570px;color:#fff;font-size:20px}
.hero .eyebrow{color:#ffb385}
.hero figcaption{left:auto;right:4%;bottom:28px;max-width:330px;background:rgba(3,22,38,.78);font-size:14px}
.hero-note{color:#fff}
@media(min-width:1500px){.hero-copy{max-width:1000px;padding-left:8%}}
@media(max-width:760px){.hero{min-height:calc(100svh - 123px);align-items:center}.hero-copy{padding:65px 6% 105px;max-width:100%}.hero h1{font-size:clamp(43px,10vw,64px);letter-spacing:-1.8px}.hero p{font-size:18px;max-width:480px}.hero figure{min-height:0}.hero figure img{object-position:67% 60%}.hero::before{background:linear-gradient(90deg,rgba(3,22,38,.82),rgba(3,22,38,.43)),linear-gradient(0deg,rgba(3,22,38,.55),transparent 40%)}.hero figcaption{left:6%;right:6%;max-width:none;bottom:20px;padding:12px 15px;font-size:13px}.hero .actions{gap:12px}.hero .button{padding:14px 21px}.hero-note{margin-top:25px}}

.hero figure img{object-position:center center}
@media(max-width:760px){.hero figure img{object-position:60% center}}
/* Supplied work imagery beneath readable translucent service panels. */
.brand img{clip-path:circle(39.5% at 50% 50%);transform:scale(1.26);border:0;box-shadow:none}
.service{position:relative;isolation:isolate;overflow:hidden;min-height:390px;display:flex;align-items:flex-end;padding:22px;border-top:0;background:#092b47;transition:transform .3s ease,box-shadow .3s ease}
.service-media{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .65s ease;pointer-events:none}
.service::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,25,43,.05),rgba(4,25,43,.2) 35%,rgba(4,25,43,.5))}
.service-content{width:100%;padding:24px;background:rgba(5,31,52,.79);backdrop-filter:blur(7px);border:1px solid rgba(255,255,255,.25);border-radius:5px;color:white;transition:background .3s ease}
.service .num{color:#ffb07c;margin-bottom:18px}.service h3{color:white;margin-bottom:13px}.service p{color:#f0f6fc;margin-bottom:22px}.service .learn{color:white}
.service:hover,.service:focus-visible{transform:translateY(-5px);box-shadow:0 12px 30px rgba(7,63,111,.18)}
.service:hover .service-media,.service:focus-visible .service-media{transform:scale(1.05)}
.service:hover .service-content,.service:focus-visible .service-content{background:rgba(5,31,52,.87)}
@media(max-width:760px){.service{min-height:400px;padding:20px}.service-content{padding:23px}.service:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.service:hover .service-media,.service:focus-visible .service-media,.service:hover,.service:focus-visible{transform:none}}
/* Refined wordmark and more prominent footer contact panel. */
.brand>span{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-style:italic;font-weight:700;letter-spacing:-1px;line-height:1}
.brand small{font-family:Arial,Helvetica,sans-serif;font-size:11px;font-style:normal;font-weight:700;letter-spacing:1.6px;line-height:1.3;margin-top:9px}
.footer-brand img{clip-path:circle(39.5% at 50% 50%);transform:scale(1.26);border:0;box-shadow:none;margin:6px 0 16px}
.footer-contact{padding:28px;border:2px solid var(--orange);border-radius:7px;background:rgba(255,255,255,.045);align-self:start;min-width:0}
.footer-contact h3{font-size:30px;line-height:1.2;margin-bottom:22px;color:#ffab79}
.footer-contact>a:first-of-type{font-size:24px;font-weight:700;text-decoration:none}
.footer-contact a{overflow-wrap:anywhere}
@media(max-width:760px){.brand>span{font-size:30px}.brand small{font-size:10px;letter-spacing:1.3px}.footer-contact{padding:25px}.footer-contact h3{font-size:32px}}
/* Larger orange-only header mark, cropped inside the supplied white ring. */
.brand{gap:20px}
.brand img{width:80px;height:80px;clip-path:circle(37.7% at 50% 50%);transform:scale(1.325);flex-shrink:0}
@media(max-width:760px){header{padding-top:17px;padding-bottom:17px}.brand{gap:17px}.brand img{width:66px;height:66px}.brand>span{font-size:30px}}
@media(max-width:390px){.brand{gap:12px}.brand img{width:59px;height:59px}.brand>span{font-size:27px}.brand small{font-size:9px;letter-spacing:1px}}
/* Continuous pressure-washing footage beneath the established translucent overlay. */
.hero figure video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-motion{position:absolute;right:4%;bottom:90px;z-index:2;border:1px solid rgba(255,255,255,.65);background:rgba(3,22,38,.7);color:white;border-radius:4px;font-size:14px;padding:8px 13px;cursor:pointer}
.footer-brand img{clip-path:circle(37.7% at 50% 50%);transform:scale(1.325)}
.closing .eyebrow{letter-spacing:1px;line-height:1.6;text-transform:none;font-size:15px}
.topbar{align-items:center}.topbar>span{white-space:nowrap;max-width:none}.topbar-compact{display:none}
@media(max-width:760px){.topbar>span{font-size:12px;max-width:none}.hero-motion{right:6%;bottom:79px}.hero figure video{object-position:55% center}}
@media(max-width:600px){.topbar{flex-direction:column;gap:2px;text-align:center}.topbar a{font-size:13px}}
@media(max-width:480px){.topbar-full{display:none}.topbar-compact{display:block}}
/* Supplied script wordmark beside the round orange logo. */
.brand img.wordmark{width:210px;height:auto;max-height:114px;object-fit:contain;border-radius:0;clip-path:none;transform:none;flex-shrink:1}
@media(max-width:1100px){header{flex-wrap:wrap}.menu{display:block;background:white;border:1px solid var(--navy);padding:9px 15px;border-radius:4px}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:12px 0}nav .button{margin:10px 0}}
@media(max-width:760px){.brand img.wordmark{width:190px;max-height:103px}.brand{gap:17px}}
@media(max-width:420px){.brand img.wordmark{width:147px;max-height:80px}.brand{gap:12px}.menu{padding:9px 12px}}
@media(max-width:350px){.brand img.wordmark{width:125px}.brand img:not(.wordmark){width:54px;height:54px}.brand{gap:9px}}
/* Crop just inside the orange edge to remove the remaining white sliver. */
.footer-brand img{clip-path:circle(36.6% at 49.4% 50%);transform:scale(1.366);transform-origin:49.4% 50%}
/* Unified navy masthead with one orange brand emblem. */
.topbar{background:#062e50;color:#dbeaf5;border-bottom:1px solid rgba(255,255,255,.12);padding-top:8px;padding-bottom:8px}
header{background:var(--navy);color:white;padding:17px 5%;border-bottom:4px solid var(--orange);gap:24px}
header .brand{gap:20px;flex-shrink:0}
header .brand img{width:78px;height:78px;clip-path:circle(36.6% at 49.4% 50%);transform:scale(1.366);transform-origin:49.4% 50%}
header .brand>span.brand-lockup{display:flex;flex-direction:column;gap:7px;font-style:normal;line-height:1}
header .brand-name{display:block;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-style:italic;font-size:43px;letter-spacing:-1.4px;color:white}
header .brand-service{display:block;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:700;font-style:normal;letter-spacing:1.4px;line-height:1.2;color:#ffb181;text-transform:uppercase}
header nav{gap:22px}header nav a[aria-current],header nav a:hover{color:#ffb181}header nav .button,header nav .button:hover{color:#102b3f}
header .menu{background:transparent;color:white;border-color:rgba(255,255,255,.6);padding:10px 18px;border-radius:5px;font-weight:700;font-size:15px}
@media(max-width:1100px){header nav{padding-top:15px;border-top:1px solid rgba(255,255,255,.25);gap:0}header nav .button{align-self:flex-start}header{padding:16px 5%}}
@media(max-width:760px){header .brand img{width:67px;height:67px}header .brand{gap:17px}header .brand-name{font-size:39px}header .brand-service{font-size:12px;letter-spacing:1.2px}header{padding-top:15px;padding-bottom:15px}}
@media(max-width:420px){header .brand img{width:58px;height:58px}header .brand{gap:13px}header .brand-name{font-size:33px}header .brand-service{font-size:10px;letter-spacing:1px}header .menu{padding:9px 12px}header{gap:12px}}
@media(max-width:350px){header .brand img{width:52px;height:52px}header .brand-name{font-size:30px}header .brand-service{font-size:9px;letter-spacing:.7px}}

/* Customer-supplied cedar siding photo beneath translucent page headings. */
.photo-intro{position:relative;isolation:isolate;overflow:hidden;background:#092b47;min-height:320px;display:flex;flex-direction:column;justify-content:center}
.photo-intro .intro-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 43%;opacity:.68}
.photo-intro::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,22,38,.8),rgba(3,22,38,.42))}
.photo-intro h1{max-width:1000px;text-shadow:0 2px 15px rgba(0,0,0,.2)}
.photo-intro p{color:white}
@media(max-width:760px){.photo-intro{min-height:300px}.photo-intro .intro-photo{object-position:52% 42%}}

/* Standalone enlarged logo in the masthead. */
header .brand img{width:112px;height:112px}
@media(max-width:760px){header .brand img{width:100px;height:100px}}
@media(max-width:420px){header .brand img{width:90px;height:90px}}
@media(max-width:350px){header .brand img{width:84px;height:84px}}

.hero figure #hero-animation{object-position:50% 45%}
@media(max-width:760px){.hero figure #hero-animation{object-position:50% 42%}}
