@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--navy:#203d5f;--blue:#68b4c5;--orange:#f98b36;--cream:#fffaf2;--ink:#24384a;--muted:#647686}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65;background:#fff}h1,h2,h3{font-family:Outfit,Arial,sans-serif;line-height:1.13;color:var(--navy)}h1{font-size:clamp(2.6rem,5vw,4.8rem);margin:.4em 0}h2{font-size:clamp(2rem,3.3vw,3rem);margin:0 0 20px}h3{font-size:1.35rem;margin:12px 0}p{margin:0 0 18px}a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:0 24px}.top{background:var(--navy);color:#fff;font-size:13px;padding:8px 0}.top .wrap{display:flex;justify-content:space-between;gap:16px}.top a{font-weight:700}.header{background:white;position:sticky;top:0;z-index:20;box-shadow:0 2px 15px #203d5f13}.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:86px}.brand{display:flex;align-items:center;gap:12px;font-family:Outfit;font-weight:800;color:var(--navy);line-height:1.1;font-size:18px}.brand img{width:76px;height:56px;object-fit:contain}.brand small{display:block;font-family:'DM Sans';font-size:10px;font-weight:600;letter-spacing:1.6px;color:var(--orange);margin-top:6px}.nav{display:flex;gap:18px;align-items:center}.nav a{font-size:13px;font-weight:700;color:#344e67}.nav a:hover{color:#f98b36}.btn{display:inline-block;background:var(--orange);color:#172d43;border:0;border-radius:7px;padding:14px 22px;font-weight:800;cursor:pointer;text-align:center}.btn:hover{filter:brightness(.95)}.btn.alt{background:var(--navy);color:white}.btn.outline{background:transparent;border:2px solid var(--navy);color:var(--navy)}.menu{display:none;background:var(--navy);color:white;border:0;border-radius:6px;padding:10px 14px}.hero{background:linear-gradient(115deg,#f2fbfc 0%,#fffaf2 90%);padding:65px 0 85px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:#b86b2b;font-size:12px;font-weight:800}.hero p{font-size:18px;color:#506b7c;max-width:560px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:35px;color:var(--navy);font-size:13px;font-weight:800}.trust span:before{content:'✓';color:#168e9e;margin-right:8px}.logo-feature{background:#fff;border-radius:20px;padding:25px;box-shadow:0 25px 60px #203d5f16}.logo-feature img{width:100%;display:block}.section{padding:85px 0}.section.soft{background:#f3f9fa}.section.cream{background:var(--cream)}.section-head{max-width:720px;margin-bottom:34px}.section-head p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;border:1px solid #e3eef0;border-radius:13px;padding:26px;box-shadow:0 10px 25px #203d5f08}.card .icon{font-size:30px}.card p{color:var(--muted);font-size:14px}.textlink{color:#136c88;font-weight:800;font-size:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.placeholder{min-height:300px;border:2px dashed #a7cbd2;background:linear-gradient(135deg,#e7f5f7,#f9fbf7);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;color:#4b7586}.placeholder strong{font-family:Outfit;font-size:20px;color:var(--navy)}.placeholder span{font-size:13px;max-width:260px;margin-top:8px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-grid .placeholder{min-height:230px}.band{background:var(--navy);color:white;text-align:center;padding:64px 24px}.band h2{color:white}.band p{color:#d1e6ed}.pagehero{background:linear-gradient(120deg,#eaf8fb,#fff9ef);padding:70px 0}.pagehero h1{font-size:clamp(2.6rem,4vw,4rem);margin:10px 0}.pagehero p{max-width:650px;color:#597182}.bullets{padding-left:20px}.bullets li{margin:9px 0}.faq details{border-bottom:1px solid #dbe7eb;padding:22px 0}.faq summary{font-weight:800;color:var(--navy);cursor:pointer}.faq p{padding-top:12px;color:var(--muted)}.form{display:grid;gap:13px}.form label{font-size:13px;font-weight:700;color:var(--navy)}.form input,.form select,.form textarea{width:100%;border:1px solid #c8d8dd;border-radius:7px;padding:13px;font:inherit;background:#fff}.form textarea{min-height:130px}.notice{font-size:13px;color:var(--muted)}.footer{background:#152e48;color:#dbe9ef;padding:55px 0 20px}.footer h3{color:white}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer a{display:block;margin:7px 0}.copyright{border-top:1px solid #ffffff24;padding-top:18px;margin-top:40px;font-size:12px}.float-call{position:fixed;right:20px;bottom:20px;background:var(--orange);color:#152e48;border-radius:50px;padding:13px 20px;font-weight:800;box-shadow:0 8px 25px #0002;z-index:15}@media(max-width:1050px){.menu{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;box-shadow:0 10px 20px #0001;padding:20px 25px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.header .wrap{min-height:75px}}@media(max-width:760px){.hero-grid,.split{grid-template-columns:1fr}.hero{padding:50px 0}.cards,.gallery-grid{grid-template-columns:1fr}.footgrid{grid-template-columns:1fr}.section{padding:60px 0}.top .wrap{flex-direction:column;gap:2px}.brand img{width:60px}.hero-grid{gap:30px}}

/* Revision 2: stronger section rhythm, more personal hero and larger header logo */
.section.soft{background:#deedf3}.section.cream{background:#fff4e8}.section{border-top:1px solid #d5e5e9}.header .wrap{min-height:104px}.brand img{width:112px;height:82px}.hero-photo{min-height:380px;background:linear-gradient(135deg,#dceef3,#f7f9f4)}.about-preview .placeholder{background:#f9fcfd}.review-wait{max-width:760px;border:1px solid #bad5df;background:white;padding:35px;border-radius:16px}.review-wait p{color:var(--muted)}.service-map iframe{width:100%;height:410px;border:1px solid #b9d5df;border-radius:14px}.map-caption{font-size:12px;color:#5a7280;margin-top:9px}@media(max-width:760px){.brand img{width:82px;height:65px}.hero-photo{min-height:260px}}

/* Revision 3 */
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card{background:#fff;border:1px solid #c4dce4;border-radius:15px;padding:25px;box-shadow:0 8px 22px #203d5f0d}.review-card h3{font-size:1.12rem}.review-card p{color:#536b7b}.review-card span{font-size:12px;color:#617b89}.review-stars{font-size:12px;font-weight:800;letter-spacing:1px;color:#b86b2b}#volusia-map{height:440px;border-radius:14px;border:1px solid #b9d5df;overflow:hidden;background:#e6f0f3}.map-loading{padding:30px;color:#203d5f}.map-credit{font-size:11px;color:#667e89}.map-fallback{background:white;padding:6px 9px;font-size:12px;border-radius:5px;box-shadow:0 2px 8px #0002}@media(max-width:760px){.review-grid{grid-template-columns:1fr}#volusia-map{height:360px}}

/* Revision 4: offline service area map */
.county-map-image{display:block;width:100%;height:auto;border:1px solid #b9d5df;border-radius:14px;background:#e8f3f7}.review-stars{font-size:20px;color:#ed9d19;letter-spacing:2px}.review-card p{line-height:1.65}

/* Revision 5: stronger but gentle coastal section contrast */
body{background:#f3f8f9}
.section{background:#f5f9fa}
.section.soft{background:#d1e8ef}
.section.cream{background:#e5f1f2}
.hero{background:linear-gradient(115deg,#deeff3 0%,#f3f7f6 95%)}
.pagehero{background:linear-gradient(120deg,#d8edf3,#edf4f3)}
.card,.review-card{background:#fbfdfd;border-color:#bcd5dd}
.header{background:#f8fbfc}
.same-day-callout{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:34px;padding:28px 32px;border:1px solid #a9cdd9;border-left:5px solid #f98b36;border-radius:13px;background:#d9edf3}
.same-day-callout h3{margin:4px 0 9px}.same-day-callout p{margin:0;max-width:680px}.same-day-label{font-weight:800;color:#89511f;text-transform:uppercase;letter-spacing:1px;font-size:12px}
.same-day-callout .btn{flex-shrink:0}
.fee-marker{color:#a35d24;font-weight:800;margin-left:2px}.travel-note{font-size:12px;color:#546e7b;margin:18px 0 0}.travel-note sup{font-weight:800;color:#a35d24}
@media(max-width:760px){.same-day-callout{flex-direction:column;align-items:flex-start;padding:23px}.same-day-callout .btn{width:100%}}

/* Revision 6: real review link and future video placeholder */
.video-showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.video-placeholder{min-height:285px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;background:linear-gradient(145deg,#d4e9f1,#a9d2e0);border:2px dashed #7bafc1;border-radius:18px;color:#203d5f;padding:25px}.video-placeholder span{font-size:14px}.video-play-symbol{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#203d5f;color:white;font-size:25px;padding-left:4px}.video-note{font-size:14px;color:#5a7382}.google-review-cta{margin-top:27px;padding:22px 25px;border:1px solid #accfda;border-radius:15px;background:#e5f1f5;display:flex;align-items:center;justify-content:space-between;gap:22px}.google-review-label{display:flex;align-items:center;gap:16px}.google-review-label p{margin:5px 0 0;color:#536b7b;font-size:14px}.google-g{font-family:Arial,sans-serif;font-size:39px;font-weight:800;color:#4285f4;line-height:1}.google-review-cta .btn{white-space:nowrap}@media(max-width:760px){.video-showcase-grid{grid-template-columns:1fr;gap:22px}.video-placeholder{min-height:230px}.google-review-cta{flex-direction:column;align-items:stretch}.google-review-cta .btn{text-align:center;white-space:normal}}

/* Google review CTA branding — multicolor G and separate five-star review mark */
.google-review-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:0 0 90px}.google-review-brand svg{display:block;width:42px;height:42px}.google-five-stars{color:#f6aa19;letter-spacing:1px;font-size:18px;line-height:1.2;white-space:nowrap}.google-review-label{gap:18px}@media(max-width:760px){.google-review-brand{flex-basis:75px}.google-five-stars{font-size:15px}}

/* Revision 8 — visibly coastal-blue page palette, with readable contrast */
body{background:#e5f1f6}
.header{background:#eaf5f9}
.section{background:#e6f2f7;border-top-color:#b3d2df}
.section.soft{background:#c5e1ed}
.section.cream{background:#d3e9f2}
.hero{background:linear-gradient(115deg,#bddde9 0%,#d9edf5 57%,#e5f1f5 100%)}
.pagehero{background:linear-gradient(115deg,#bfdfe9,#dceef5)}
.card,.review-card{background:#f1f8fb;border-color:#a9cbd9;box-shadow:0 10px 24px #203d5f12}
.placeholder,.hero-photo{background:linear-gradient(135deg,#c7e4ee,#e0f0f6);border-color:#80b6c9}
.about-preview .placeholder{background:linear-gradient(135deg,#c3e1eb,#e0f0f6)}
.video-placeholder{background:linear-gradient(145deg,#a8d2e2,#c9e7f0)}
.google-review-cta{background:#c4e2ed;border-color:#8bbdcc}
.same-day-callout{background:#c0e0eb;border-color:#8dbfce}
.review-stars,.google-five-stars{color:#ed9d19}
@media(max-width:760px){.section{background:#e6f2f7}.section.soft{background:#c5e1ed}}

/* Revision 9 — intentional alternating coastal-blue sections.
   Every adjacent homepage section has a distinct tone; no consecutive pale/white blocks. */
body{background:#dcecf3}
.header{background:#f0f8fb}
.hero{background:linear-gradient(115deg,#b5d9e8 0%,#cce7f1 60%,#d9edf4 100%)}
.section{background:#e7f3f8}
.section.soft{background:#bfdde9}
.section.cream{background:#d4e9f2}
/* Homepage: light, medium, light, medium, light after the hero. */
.hero + .section.about-preview{background:#e9f5fa}
.hero + .section.about-preview + .section{background:#b9d9e7}
.hero + .section.about-preview + .section + .section{background:#e4f1f7}
.section.video-showcase{background:#b9d9e7}
.section.reviews-section{background:#e4f1f7}
/* Interior pages get the same clear distinction between banner and content. */
.pagehero{background:linear-gradient(115deg,#b6dbe9,#cde7f1)}
.pagehero + .section{background:#e8f4f9}
/* Keep cards clearly separated from the blue backgrounds. */
.card,.review-card{background:#f5fafc;border-color:#9fc5d4}
.google-review-cta{background:#c6e3ee}
@media(max-width:760px){
 .hero + .section.about-preview{background:#e9f5fa}
 .hero + .section.about-preview + .section{background:#b9d9e7}
 .hero + .section.about-preview + .section + .section{background:#e4f1f7}
 .section.video-showcase{background:#b9d9e7}
 .section.reviews-section{background:#e4f1f7}
}

/* Owner illustration in Meet the Owner section */
.owner-illustration{margin:0;align-self:center;text-align:center}
.owner-illustration img{display:block;width:100%;max-height:590px;object-fit:contain;object-position:center;border-radius:18px}
.owner-illustration figcaption{font-size:.8rem;color:#426782;margin-top:8px}

/* Real cleaning timelapse */
.cleaning-video{display:block;width:100%;max-width:360px;max-height:590px;aspect-ratio:9/16;object-fit:contain;margin:0 auto;border-radius:18px;background:#15334c;box-shadow:0 12px 30px rgba(21,51,76,.18)}

/* Actual stain-removal before/after photos */
.work-photo{margin:0;background:#f5fafc;border:1px solid #9fc5d4;border-radius:18px;overflow:hidden;box-shadow:0 8px 20px rgba(21,51,76,.08)}
.work-photo img{display:block;width:100%;height:280px;object-fit:cover;object-position:center}
.work-photo figcaption{padding:13px 16px;font-weight:700;color:#203d5f;text-align:center}
@media(max-width:760px){.work-photo img{height:auto;aspect-ratio:1/1;object-fit:cover}}

/* Boat carpet gallery: real job photos */
.boat-gallery-section{grid-column:1/-1;margin:8px 0 12px;padding:22px;border:1px solid #aacbd9;border-radius:18px;background:#dceef5}
.boat-gallery-section h3{margin:0 0 8px;color:#203d5f;font-size:1.5rem}
.boat-gallery-section>p{margin:0 0 18px;color:#315574}
.boat-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.boat-photo-grid .boat-photo:first-child{grid-column:1/-1}
.boat-photo-grid .boat-photo{margin:0;overflow:hidden;border-radius:12px;background:#fff}
.boat-photo-grid img{display:block;width:100%;height:260px;object-fit:cover}
.boat-photo-grid .boat-photo:first-child img{height:410px;object-position:center}
.boat-photo-grid figcaption{padding:12px 14px;font-weight:700;color:#203d5f}
@media(max-width:720px){.boat-photo-grid{grid-template-columns:1fr}.boat-photo-grid .boat-photo:first-child{grid-column:auto}.boat-photo-grid img,.boat-photo-grid .boat-photo:first-child img{height:auto;max-height:480px;object-fit:contain}}

/* Version 17: real featured results and subtle motto emphasis */
.home-result-card{margin:0;overflow:hidden;background:#f5fafc;border:1px solid #9fc5d4;border-radius:18px;box-shadow:0 8px 20px rgba(21,51,76,.08)}
.home-result-card img{display:block;width:100%;height:340px;object-fit:contain;background:#d9eaf1}
.home-result-card figcaption{padding:16px 18px;color:#203d5f;display:flex;flex-direction:column;gap:5px}
.home-result-card figcaption strong{font-size:1.08rem}
.home-result-card figcaption span{font-size:.9rem;color:#426782}
.work-gallery-btn{display:inline-block}
.hero-motto{font-style:italic!important;font-weight:600;font-size:clamp(1.15rem,2vw,1.5rem)!important;color:#244e70!important;letter-spacing:.01em;margin:16px 0 24px!important}
.footer-motto{font-style:italic;font-weight:600;font-size:1.08rem;letter-spacing:.01em}
@media(max-width:760px){.home-result-card img{height:auto;max-height:430px;object-fit:contain}}

/* Homepage official-logo hero, until a real owner/van photo is supplied */
.hero-logo-display{display:flex;align-items:center;justify-content:center;padding:26px;background:linear-gradient(135deg,#c7e4ee,#e0f0f6);border:1px solid #80b6c9;border-radius:18px}
.hero-logo-display img{display:block;width:min(100%,390px);height:auto;max-height:360px;object-fit:contain}
@media(max-width:760px){.hero-logo-display{min-height:260px;padding:20px}.hero-logo-display img{max-height:250px}}

/* Owner photo placeholder, currently using the same approved illustration as the homepage */
.about-owner-illustration{margin:0;align-self:center}
.about-owner-illustration img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;border-radius:16px}
.about-motto{font-size:1.22rem;color:#203d5f}
/* Click-to-enlarge work photos */
img.lightbox-image{cursor:zoom-in;transition:filter .18s ease}
img.lightbox-image:hover{filter:brightness(.96)}
img.lightbox-image:focus-visible{outline:3px solid #f98b36;outline-offset:4px}
body.lightbox-open{overflow:hidden}
.photo-lightbox[hidden]{display:none!important}
.photo-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(7,18,32,.94);display:flex;align-items:center;justify-content:center;padding:65px 70px 35px;color:#fff}
.lightbox-figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;max-width:100%;max-height:100%}
.lightbox-figure img{display:block;max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain;border-radius:5px}
.lightbox-figure figcaption{font-size:.94rem;line-height:1.4;text-align:center;color:#e2edf3}
.photo-lightbox button{position:absolute;z-index:2;border:0;border-radius:50%;width:48px;height:48px;background:rgba(255,255,255,.16);color:#fff;font-size:38px;line-height:1;cursor:pointer}
.photo-lightbox button:hover,.photo-lightbox button:focus-visible{background:rgba(255,255,255,.34)}
.lightbox-close{top:14px;right:16px}.lightbox-prev{left:14px;top:50%;transform:translateY(-50%)}.lightbox-next{right:14px;top:50%;transform:translateY(-50%)}
@media(max-width:650px){.photo-lightbox{padding:68px 12px 86px}.lightbox-figure img{max-height:calc(100dvh - 200px)}.lightbox-prev,.lightbox-next{top:auto;bottom:18px;transform:none}.lightbox-prev{left:calc(50% - 66px)}.lightbox-next{right:calc(50% - 66px)}.photo-lightbox button{width:46px;height:46px}}
