:root{--navy:#1c2e49;--navy2:#132238;--cream:#f8f7e8;--paper:#f5f3ec;--ink:#25344b;--muted:#6d7480;--line:#dcdedb;--sea:#819ba7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:#fff}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{background:var(--navy2);color:var(--cream);padding:10px 5%;display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.16em;font-weight:700}.header{position:sticky;top:0;z-index:20;background:var(--navy);display:flex;justify-content:space-between;align-items:center;padding:12px 5%;min-height:89px;box-shadow:0 6px 20px #101b2b22}.brand img{display:block;width:222px;max-height:67px;object-fit:contain}.header nav{display:flex;align-items:center;gap:26px;color:var(--cream);font-size:13px;font-weight:700}.header nav>a:not(.nav-cta):hover{color:#d5e0df}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--cream);color:var(--navy);padding:17px 23px;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--cream);transition:.2s}.nav-cta{padding:15px 17px}.btn:hover,.nav-cta:hover{background:#e8e4d0}.btn-outline{background:transparent;color:#fff;border:1px solid #ffffffb5}.btn-outline:hover{background:#ffffff20}.menu-toggle{display:none}.hero{min-height:630px;background:linear-gradient(90deg,rgba(14,29,49,.92),rgba(14,29,49,.60) 57%,rgba(14,29,49,.18)),url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=85') center/cover;display:flex;align-items:center;color:#fff;padding:80px 7%}.hero-inner{max-width:800px}.eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:800;color:var(--sea)}.hero .eyebrow{color:#d8ded9}.hero h1{font-size:clamp(48px,7vw,94px);line-height:.98;letter-spacing:-.055em;margin:24px 0}.hero h1 em{font-style:normal;color:var(--cream)}.hero p{font-size:19px;line-height:1.7;max-width:550px;color:#e5e9e9}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:32px}.trustbar{background:var(--cream);display:flex;justify-content:space-around;flex-wrap:wrap;gap:20px;padding:25px 6%;font-size:12px;letter-spacing:.09em;font-weight:800;text-transform:uppercase}.trustbar span:before{content:'✦';margin-right:11px;color:#6e8793}.section{padding:90px 7%}.section.alt{background:var(--paper)}.section.navy{background:var(--navy);color:var(--cream)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:38px}.section h2,.page-hero h1{font-size:clamp(36px,4.7vw,62px);letter-spacing:-.045em;line-height:1.07;margin:12px 0 18px}.lead{color:#5c6875;font-size:18px;line-height:1.7;max-width:720px}.navy .lead{color:#d4dedf}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;border-bottom:1px solid;padding-bottom:8px;white-space:nowrap}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.card{background:#fff;overflow:hidden}.card .photo{height:260px;background-position:center;background-size:cover}.card-body{padding:28px}.card h3{font-size:23px;margin:0 0 12px;letter-spacing:-.03em}.card p{font-size:15px;line-height:1.7;color:#6c7580;min-height:70px}.card a{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:6px}.split{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.split-image{background:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1200&q=85') center/cover}.split-content{background:var(--navy);color:var(--cream);padding:80px 10%;display:flex;flex-direction:column;justify-content:center}.split-content p{line-height:1.8;color:#d9dfdf}.stats{display:flex;gap:35px;margin:24px 0}.stat{border-top:1px solid #a7b5b6;padding-top:15px;font-size:13px;text-transform:uppercase;letter-spacing:.09em}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project{min-height:350px;position:relative;overflow:hidden;background-size:cover;background-position:center}.project:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#132238d9,transparent 65%)}.project .label{position:absolute;bottom:28px;left:30px;z-index:1;color:#fff}.project h3{font-size:25px;margin:5px 0}.project small{letter-spacing:.16em;text-transform:uppercase}.cta-band{background:var(--cream);padding:66px 7%;display:flex;align-items:center;justify-content:space-between;gap:25px}.cta-band h2{font-size:clamp(30px,4vw,48px);margin:0 0 12px;letter-spacing:-.04em}.cta-band p{margin:0;color:#637080}.btn-dark{background:var(--navy);border-color:var(--navy);color:#fff}.btn-dark:hover{background:#314661}.page-hero{background:var(--navy);color:var(--cream);padding:100px 7% 80px}.page-hero p{color:#d3dce0;font-size:18px;line-height:1.7;max-width:730px}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.service-tile{padding:34px;border:1px solid var(--line);background:#fff}.service-tile h3{font-size:24px;margin:10px 0}.service-tile p{line-height:1.7;color:#697480}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.step{border-top:2px solid var(--sea);padding-top:18px}.step b{font-size:34px;color:#8298a2}.step h3{font-size:23px}.step p{line-height:1.7;color:#6a7380}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px}.form{background:#fff;padding:38px;box-shadow:0 8px 30px #1322380b}.fieldrow{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form label{display:block;font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:800;margin-bottom:17px}.form input,.form select,.form textarea{display:block;width:100%;padding:14px;border:1px solid #cdd2d4;border-radius:0;margin-top:8px;background:#fff;color:var(--ink)}.form textarea{min-height:125px;resize:vertical}.form .btn{width:100%}.form small{display:block;margin-top:15px;line-height:1.6;color:#697480}.info-panel{padding:18px 0}.info-panel h3{font-size:25px}.info-panel p{line-height:1.8;color:#66717d}.info-panel a{text-decoration:underline;text-underline-offset:4px}.note{background:var(--cream);padding:22px;line-height:1.7;font-size:14px}.footer{background:var(--navy2);color:var(--cream);padding:60px 7% 25px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:60px}.footer-logo{width:150px}.footer h3{font-size:13px;letter-spacing:.14em;text-transform:uppercase}.footer a{display:block;margin:16px 0;font-size:14px;overflow-wrap:anywhere}.footer p{color:#c1cbd1;line-height:1.7;font-size:14px}.footer-bottom{border-top:1px solid #ffffff30;margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#c6d1d5}.gallery-note{font-size:13px;color:#6e7881;font-style:italic;margin-top:20px}.success{display:none;background:#e7f2eb;padding:18px;margin-top:18px;line-height:1.6}@media(max-width:900px){.header nav{gap:12px;font-size:11px}.brand img{width:170px}.cards{grid-template-columns:repeat(2,1fr)}.section{padding:65px 5%}.hero{padding:70px 5%}.footer-grid{gap:25px}}@media(max-width:680px){.topbar{font-size:9px;letter-spacing:.04em}.header{min-height:76px}.brand img{width:180px}.menu-toggle{display:block;background:none;border:1px solid #f8f7e880;color:var(--cream);padding:10px;font-weight:700}.menu-toggle span{font-size:12px}.header nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy);padding:20px 6% 28px;flex-direction:column;align-items:stretch;font-size:15px;gap:0}.header nav.open{display:flex}.header nav a{padding:14px 0}.header nav .nav-cta{padding:16px;justify-content:center;margin-top:12px}.hero{min-height:570px;background-position:60% center}.hero h1{font-size:54px}.hero p{font-size:16px}.section-head{display:block}.cards,.project-grid,.service-list,.steps,.contact-grid,.split,.footer-grid{grid-template-columns:1fr}.split-image{min-height:320px}.split-content{padding:60px 7%}.card .photo{height:220px}.cta-band{display:block}.cta-band .btn{margin-top:25px}.fieldrow{grid-template-columns:1fr}.form{padding:22px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:10px}}

/* Approved Chesapeake project feature */
.featured-project{display:grid;grid-template-columns:1.15fr 1fr;background:#fff;box-shadow:0 8px 35px rgba(15,34,49,.08);overflow:hidden}
.featured-project-photo{display:block;min-height:440px;overflow:hidden}
.featured-project-photo img{width:100%;height:100%;min-height:440px;object-fit:cover;display:block;transition:transform .3s}
.featured-project-photo:hover img{transform:scale(1.025)}
.featured-project-copy{padding:clamp(28px,5vw,72px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.featured-project-copy h3{font-family:Georgia,serif;font-size:clamp(32px,4vw,54px);line-height:1.1;margin:18px 0}
.featured-project-copy p{line-height:1.7;margin:0 0 26px}
@media(max-width:760px){.featured-project{grid-template-columns:1fr}.featured-project-photo,.featured-project-photo img{min-height:280px;height:320px}}

/* Waterfront hero: illustration is used as design inspiration, not a company project. */
.hero{background:linear-gradient(90deg,rgba(14,29,49,.99) 0%,rgba(14,29,49,.94) 36%,rgba(14,29,49,.64) 57%,rgba(14,29,49,.08) 100%),url('waterfront-home-illustration.jpg') 80% center/cover;min-height:690px}
.hero-inner{max-width:820px}.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(55px,7vw,106px);letter-spacing:-.055em;line-height:.98}.hero h1 em{font-family:Georgia,serif;font-style:italic;color:#f1dfc0}.hero-tagline{font-family:Georgia,serif;font-size:clamp(21px,2.25vw,30px)!important;line-height:1.3!important;max-width:620px!important;color:#f4e5ca!important;margin:10px 0 20px}.hero-inner>p:not(.hero-tagline){max-width:540px;font-size:16px}.hero .actions{margin-top:26px}
@media(max-width:680px){.hero{background:linear-gradient(90deg,rgba(14,29,49,.91),rgba(14,29,49,.55)),url('waterfront-home-illustration.jpg') 67% center/cover;min-height:640px}.hero h1{font-size:clamp(50px,12vw,69px)}.hero-tagline{font-size:23px!important}}

/* Waterfront photo framing fix: keep the entire image visible rather than cover-cropping it. */
@media (min-width: 901px) {
  .hero {
    background-color: #14283c;
    background-image: linear-gradient(90deg,#14283c 0%,#14283c 36%,rgba(20,40,60,.92) 48%,rgba(20,40,60,.10) 75%),url('waterfront-home-illustration.jpg');
    background-repeat: no-repeat;
    background-position: center, right center;
    background-size: 100% 100%, auto 100%;
    min-height: 740px;
  }
  .hero-inner {max-width: 660px;}
  .hero h1 {font-size: clamp(54px,6.4vw,88px);}
}
@media (min-width: 681px) and (max-width: 900px) {
  .hero {
    background-color:#14283c;
    background-image:linear-gradient(90deg,#14283c 0%,rgba(20,40,60,.95) 34%,rgba(20,40,60,.25) 85%),url('waterfront-home-illustration.jpg');
    background-position:center,right center;
    background-size:100% 100%,auto 100%;
    background-repeat:no-repeat;
  }
  .hero-inner {max-width: 570px;}
}
@media (max-width:680px) {
  .hero {
    background-color:#14283c;
    background-image:linear-gradient(180deg,#14283c 0%,#14283c 48%,rgba(20,40,60,.1) 100%),url('waterfront-home-illustration.jpg');
    background-position:center,center bottom;
    background-size:100% 100%,auto 55%;
    background-repeat:no-repeat;
    min-height:820px;
    align-items:flex-start;
    padding-top:45px;
  }
  .hero h1 {font-size:clamp(45px,11vw,64px);}
  .hero-inner>p:not(.hero-tagline){font-size:15px;}
}

/* Luxury coastal services refresh */
.service-tile-image{display:block;width:100%;height:230px;object-fit:cover;margin:-34px -34px 25px;width:calc(100% + 68px)}
.card .photo{background-color:#e2e5e1;background-position:center;background-size:cover}
@media(max-width:680px){.service-tile-image{height:220px}}

/* v3: waterfront panorama at native aspect, no cover zoom; text on navy panel. */
.hero{background:#162b43!important;position:relative;isolation:isolate;min-height:650px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0 0 0 32%;background:url('assets/waterfront-wide-scene-v3.jpg') center center / contain no-repeat;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#14283f 0%,rgba(20,40,63,.98) 25%,rgba(20,40,63,.88) 39%,rgba(20,40,63,.35) 61%,rgba(20,40,63,0) 85%);z-index:-1}
.hero-inner{max-width:640px!important}.hero h1{font-size:clamp(52px,6vw,84px)!important}
@media(max-width:900px){.hero{min-height:760px;align-items:flex-start;padding-top:65px}.hero::before{inset:43% 0 0;background-position:center bottom;background-size:contain}.hero::after{background:linear-gradient(180deg,#14283f 0%,#14283f 38%,rgba(20,40,63,.15) 73%,rgba(20,40,63,0) 100%)}.hero-inner{max-width:700px!important}}
@media(max-width:680px){.hero{min-height:730px}.hero::before{inset:48% 0 0;background-size:contain}.hero h1{font-size:clamp(45px,11vw,64px)!important}.hero-tagline{font-size:21px!important}.hero-inner>p:not(.hero-tagline){font-size:14px}}

/* v4: full-height waterfront hero removes the navy letterboxing above/below photo.
   Keep the house on the right, and preserve water and sunset on the left. */
@media (min-width:901px){
 .hero{min-height:650px!important}
 .hero::before{inset:0!important;background-image:url('assets/waterfront-wide-scene-v3.jpg')!important;background-position:right center!important;background-size:auto 100%!important;background-repeat:no-repeat!important}
 .hero::after{background:linear-gradient(90deg,rgba(20,40,63,.95) 0%,rgba(20,40,63,.83) 20%,rgba(20,40,63,.38) 44%,rgba(20,40,63,.03) 75%)!important}
}
@media (min-width:681px) and (max-width:900px){
 .hero{min-height:690px!important}
 .hero::before{inset:0!important;background-position:right center!important;background-size:auto 100%!important}
 .hero::after{background:linear-gradient(90deg,rgba(20,40,63,.95),rgba(20,40,63,.65) 48%,rgba(20,40,63,.05))!important}
}

/* v5: make the header logo 30% larger without disrupting the navigation. */
@media (min-width: 1101px) {
  .header { min-height: 112px; padding-top: 15px; padding-bottom: 15px; }
  .brand img { width: 289px; max-height: 88px; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .header { min-height: 102px; padding-left: 3%; padding-right: 3%; }
  .brand img { width: 245px; max-height: 82px; }
  .header nav { gap: 15px; font-size: 12px; }
}
@media (min-width: 681px) and (max-width: 900px) {
  .header { min-height: 94px; }
  .brand img { width: 208px; max-height: 76px; }
}
@media (max-width: 680px) {
  .brand img { width: 190px; max-height: 69px; }
}

/* Service detail pages */
.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.service-detail>img{width:100%;height:clamp(360px,45vw,620px);object-fit:cover}
.service-detail h3{font-size:20px;margin-top:28px}
.detail-list{padding-left:20px;line-height:1.9;margin-bottom:22px}
.detail-list li{padding-left:6px}
.disclosure{font-size:12px;opacity:.75;margin:20px 0}
@media(max-width:780px){.service-detail{grid-template-columns:1fr}.service-detail>img{order:-1;height:310px}}

/* Show service photos at a natural landscape aspect ratio; do not stretch portrait/crop detail. */
.service-detail>img{width:100%;height:auto;max-height:480px;object-fit:contain;object-position:center;align-self:center;box-shadow:0 12px 35px rgba(19,34,56,.10);background:#edf0ee}
@media(max-width:780px){.service-detail>img{height:auto;max-height:none}}

/* New, clean waterfront scene: replaces previously soft compressed hero artwork. */
.hero::before{background-image:url('assets/waterfront-hero-clean.jpg')!important;background-repeat:no-repeat!important;background-position:right center!important;background-size:cover!important;inset:0!important}
.hero::after{background:linear-gradient(90deg,rgba(15,34,51,.97) 0%,rgba(15,34,51,.91) 25%,rgba(15,34,51,.63) 45%,rgba(15,34,51,.12) 76%)!important}
@media(max-width:900px){.hero::before{background-position:62% center!important}.hero::after{background:linear-gradient(180deg,rgba(15,34,51,.95) 0%,rgba(15,34,51,.80) 45%,rgba(15,34,51,.12) 100%)!important}}
@media(max-width:680px){.hero::before{background-position:60% center!important}}

/* Homepage hero image-quality revision: original lossless master, carefully framed. */
.hero::before{background-image:url('assets/homepage-waterfront-master.webp')!important;background-position:65% center!important;background-size:cover!important}
.hero::after{background:linear-gradient(90deg,rgba(15,34,51,.96) 0%,rgba(15,34,51,.85) 23%,rgba(15,34,51,.42) 49%,rgba(15,34,51,.02) 83%)!important}
@media(min-width:1500px){.hero{min-height:700px!important}.hero::before{background-position:center 48%!important}}
@media(max-width:900px){.hero::before{background-position:58% center!important}.hero::after{background:linear-gradient(180deg,rgba(15,34,51,.95),rgba(15,34,51,.75) 40%,rgba(15,34,51,.08) 100%)!important}}
@media(max-width:680px){.hero::before{background-position:52% center!important}}

/* Homepage quality revision: clearer sunset image, Windows selection untouched. */
.hero::before{background-image:url("assets/homepage-waterfront-sharpened.webp")!important}

/* Estimate-request preview enhancements */
.photo-preview{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px}.photo-chip{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 12px;border:1px solid #cbd5df;border-radius:6px;background:#f5f8fa;color:#20354c;font-size:13px}.consent-label{display:flex!important;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}.consent-label input{width:18px!important;height:18px!important;flex:none;margin-top:2px}.form-status{color:#173b55;font-weight:600;font-size:14px;line-height:1.5}.form input[type=file]{padding:12px;border:1px dashed #8fa2b1;background:#f8fafb;width:100%;max-width:100%}
