@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');:root{--ink:#182c36;--blue:#284c60;--cream:#f7f3ec;--line:#d9d6ce;--gold:#bb8d51}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.6;background:#fff}a{color:inherit}img{max-width:100%;display:block}header{background:#fff;position:sticky;top:0;z-index:3;border-bottom:1px solid var(--line)}.bar{max-width:1200px;margin:auto;padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-family:'Playfair Display',Georgia,serif;font-size:1.6rem;font-weight:600;line-height:1}.brand small{display:block;font-family:'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.25em;font-size:.54rem;margin-top:8px;color:var(--gold)}nav{display:flex;gap:25px;align-items:center}nav a{text-decoration:none;font-size:.89rem;font-weight:600}nav a:hover{text-decoration:underline}.button{display:inline-block;background:var(--blue);color:white;padding:13px 21px;text-decoration:none;font-weight:700;border:1px solid var(--blue)}.button:hover{background:#17384a}.button.light{background:#fff;color:var(--ink);border-color:#fff}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.22em;font-weight:700;color:var(--gold)}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.15;margin:0}h1{font-size:clamp(2.7rem,5vw,5.2rem)}h2{font-size:clamp(2rem,3.4vw,3.3rem)}h3{font-size:1.55rem}p{font-size:1.05rem}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:630px;background:var(--cream)}.hero-copy{padding:clamp(50px,7vw,110px) max(24px,calc((100vw - 1200px)/2));padding-right:50px;align-self:center}.hero-copy p{max-width:570px}.hero img{width:100%;height:100%;object-fit:cover}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:28px}.textlink{font-weight:700;text-underline-offset:5px}.section{padding:90px 24px}.wrap{max-width:1160px;margin:auto}.intro{max-width:720px;margin-bottom:35px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--cream);text-decoration:none;display:flex;flex-direction:column}.card img{height:235px;width:100%;object-fit:cover}.card div{padding:26px}.card p{margin-bottom:0}.card .more{font-size:.9rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.split img{width:100%;height:460px;object-fit:cover}.band{background:var(--blue);color:#fff;padding:70px 24px}.band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.band p{max-width:630px}.pagehero{padding:90px 24px;background:var(--cream)}.pagehero .wrap{max-width:900px;margin-left:max(24px,calc((100vw - 1160px)/2))}.pagehero p{max-width:700px}.prose{max-width:790px}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.tile{padding:32px;background:var(--cream)}footer{background:#142c38;color:white;padding:50px 24px}footer .wrap{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}footer a{color:white}footer p{font-size:.92rem}.note{font-size:.82rem;color:#5d6970}.contactbox{background:var(--cream);padding:40px}.contactbox a{font-size:1.2rem;font-weight:700}.mobilecall{display:none}@media(max-width:850px){nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}nav a{font-size:.78rem}.desktopcta{display:none}.hero{grid-template-columns:1fr}.hero img{height:320px;grid-row:1}.hero-copy{padding:48px 24px}.grid{grid-template-columns:1fr 1fr}.split{gap:30px}}@media(max-width:600px){.bar{align-items:flex-start}.brand{font-size:1.26rem;white-space:nowrap}nav{max-width:190px}nav a{font-size:.73rem}.grid,.tiles,.split{grid-template-columns:1fr}.section{padding:64px 20px}.split img{height:300px}.band .wrap{display:block}.pagehero{padding:65px 20px}.pagehero .wrap{margin:0}.mobilecall{display:inline-block}}
.hero-media{position:relative;overflow:hidden;min-height:630px;background:#d8d0c1}.hero-media .hero-video,.hero-media .hero-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-media .hero-still{display:none}@media(max-width:850px){.hero-media{min-height:320px;grid-row:1}}@media(prefers-reduced-motion:reduce){.hero-media .hero-video{display:none}.hero-media .hero-still{display:block}}

.lake-panel{min-height:460px;background:#284c60;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2rem,3.2vw,3.3rem);line-height:1.15}.lake-divider{color:#d1a76d;font-size:2rem;margin:20px 0}@media(max-width:600px){.lake-panel{min-height:300px}}

.facebook-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(30px,8vw,110px);align-items:center}.facebook-layout p{max-width:520px}.facebook-feed{width:340px;max-width:100%;min-height:620px}.facebook-feed iframe{display:block;max-width:100%}@media(max-width:750px){.facebook-layout{grid-template-columns:1fr}.facebook-feed{margin-inline:auto}}@media(max-width:380px){.facebook-feed{width:100%}}

/* Homepage intro: copy above the full-width film */
.hero{display:block;min-height:0}
.hero-copy{max-width:960px;margin:0 auto;padding:72px 24px 62px;text-align:center}
.hero-copy p{margin-left:auto;margin-right:auto}
.hero-copy .actions{justify-content:center}
.hero-media{height:clamp(360px,43vw,590px);min-height:0}
@media(max-width:850px){.hero-copy{padding:54px 24px 48px}.hero-media{height:360px;min-height:0}}
@media(max-width:600px){.hero-copy{padding:48px 20px 42px}.hero-media{height:260px}}

.split-media{position:relative;min-height:460px;overflow:hidden;background:#d8d0c1}.split-media .feature-video,.split-media .feature-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.split-media .feature-still{display:none}@media(max-width:600px){.split-media{min-height:300px}}@media(prefers-reduced-motion:reduce){.split-media .feature-video{display:none}.split-media .feature-still{display:block}}

.hero-copy p{margin:0 auto}.hero-copy p+p{margin-top:14px}

.contact-film{padding:0 24px}.contact-film video{display:block;width:100%;height:360px;object-fit:cover}@media(max-width:700px){.contact-film{padding:0 20px}.contact-film video{height:230px}}

.sound-toggle{position:absolute;right:clamp(16px,3vw,36px);bottom:clamp(16px,3vw,36px);z-index:2;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(20,44,56,.88);color:#fff;padding:12px 18px;font:600 .92rem/1.2 Arial,sans-serif;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.18)}.sound-toggle:hover{background:#142c38}.sound-toggle:focus-visible{outline:3px solid #fff;outline-offset:3px}

.contact-hero{padding-bottom:28px}.contact-hero p{margin-bottom:0}@media(max-width:600px){.contact-hero{padding-bottom:22px}}

.service-home{background:var(--cream)}.service-home .wrap{max-width:1050px}.service-home p{max-width:760px}.area-section .intro{max-width:860px;margin-bottom:36px}.area-group{border-top:1px solid var(--line);padding:32px 0}.area-group h2{font-size:2rem;margin-bottom:18px}.area-list{columns:3;column-gap:40px;list-style:none;margin:0;padding:0}.area-list li{break-inside:avoid;padding:3px 0;font-size:1rem}.area-note{max-width:800px;font-size:.93rem;color:#5d6970}@media(max-width:850px){.area-list{columns:2}}@media(max-width:560px){.area-list{columns:2;column-gap:18px}.area-list li{font-size:.93rem}}

.service-hero{padding-top:68px;padding-bottom:38px}.service-hero p{margin-bottom:0}@media(max-width:600px){.service-hero{padding:54px 20px 30px}}

.service-film{height:clamp(240px,32vw,440px);overflow:hidden;background:#426064 url("/service-area-road.jpg") center 52%/cover no-repeat}.service-film video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%}@media(max-width:600px){.service-film{height:220px}}@media(prefers-reduced-motion:reduce){.service-film video{display:none}}

.hero-copy h1{margin-bottom:24px}@media(max-width:600px){.hero-copy h1{margin-bottom:20px}}

/* Real project gallery: keep every original photo intact and lift the display gently. */
.work-hero{padding-bottom:56px}.work-hero p{margin-bottom:0}.work-heading{max-width:720px;margin-bottom:34px}.work-heading h2{margin-top:6px}.work-heading p{margin-bottom:0}.work-business-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.work-tile{background:#eeeae3;overflow:hidden}.work-tile img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(var(--lift,1.10)) contrast(1.015) saturate(.98);transition:transform .25s ease}.work-tile:hover img{transform:scale(1.025)}.work-business{display:block;aspect-ratio:4/3}.work-business img{object-position:center}.work-residential{background:var(--cream)}.work-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.work-home{margin:0;background:#fff}.work-home a{display:block;height:340px;overflow:hidden}.work-home img{object-position:center 42%}.work-home figcaption{padding:15px 18px;font-size:.94rem;font-weight:600}.work-teaser-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:28px}.work-teaser-heading p{margin-bottom:0}.work-teaser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.work-teaser-grid a{height:290px;overflow:hidden;background:var(--cream)}.work-teaser-grid img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(1.11) contrast(1.015) saturate(.98)}
@media(max-width:1000px){.work-business-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.work-hero{padding-bottom:36px}.work-business-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.work-home-grid{grid-template-columns:1fr;gap:18px}.work-home a{height:340px}.work-teaser-heading{display:block}.work-teaser-heading .textlink{display:inline-block;margin-top:18px}.work-teaser-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.work-teaser-grid a{height:180px}.work-teaser-grid a:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.work-tile img{transition:none}.work-tile:hover img{transform:none}}

.work-business img{object-fit:contain}.work-home-grid{display:block;columns:3;column-gap:24px}.work-home{display:inline-block;width:100%;margin:0 0 24px;break-inside:avoid}.work-home a{height:auto}.work-home img{height:auto}
@media(max-width:1000px){.work-home-grid{columns:2}}@media(max-width:600px){.work-home-grid{columns:1}.work-home{margin-bottom:18px}}

.work-lightbox{border:0;padding:0;background:transparent;max-width:94vw;max-height:94vh;overflow:visible}.work-lightbox::backdrop{background:rgba(12,26,35,.86)}.work-lightbox img{display:block;max-width:94vw;max-height:90vh;object-fit:contain}.work-lightbox-close{position:absolute;top:10px;right:10px;border:0;border-radius:50%;width:42px;height:42px;background:#fff;color:var(--ink);font-size:1.7rem;line-height:1;cursor:pointer}.work-lightbox-close:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.service-hero{padding:58px 24px}.service-hero h1{margin-top:8px}.boat-gallery{background:var(--cream)}.boat-gallery .intro{margin-bottom:28px}.boat-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.boat-gallery-grid img{width:100%;height:360px;object-fit:cover;display:block}@media(max-width:600px){.service-hero{padding:46px 20px}.boat-gallery-grid{grid-template-columns:1fr}.boat-gallery-grid img{height:auto}}

/* Service-area detail pages */
.area-list a{color:inherit;text-underline-offset:4px;text-decoration-color:#b6c3c8}.area-list a:hover,.area-list a:focus-visible{color:var(--blue);text-decoration-color:currentColor}.local-back{display:inline-block;margin-bottom:24px;color:var(--blue);font-weight:600;text-decoration:none}.local-back:hover{text-decoration:underline}.local-hero .eyebrow{display:block}.local-hero h1{max-width:820px}.local-hero p{max-width:760px}.local-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:70px;align-items:start}.local-grid h2{margin-top:10px}.local-grid p{max-width:680px}.local-grid a{color:var(--blue)}.local-options{padding:30px;background:var(--cream)}.local-options h2{font-size:1.35rem;margin:0 0 16px}.local-options ul{margin:0 0 22px;padding-left:22px}.local-options li{margin:0 0 12px;line-height:1.5}.local-options p{font-size:.94rem;margin-bottom:0}.local-section{padding-top:72px;padding-bottom:78px}@media(max-width:700px){.local-grid{grid-template-columns:1fr;gap:30px}.local-options{padding:24px}.local-section{padding-top:52px;padding-bottom:58px}}
