@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
.recent-work{border-top:1px solid var(--line);background:#fffdf7}.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project-gallery figure{margin:0;min-width:0}.project-gallery img{display:block;width:100%;height:auto;border-radius:6px}.project-gallery figcaption{padding:22px 0 0}.project-gallery figcaption span{font-size:.875rem;letter-spacing:.08em;font-weight:700;color:var(--teal)}.project-gallery h3{font-size:1.5rem;line-height:1.35;margin-top:8px}@media(max-width:760px){.project-gallery{grid-template-columns:1fr;gap:40px}}
:root{--ink:#0d2b36;--orange:#d49a27;--paper:#f3f0e6;--muted:#425b63;--line:#c7cabd;--teal:#0e5a62;--charcoal:#1a1a1a;--dark:#0d2b36}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:1.125rem/1.7 'Montserrat',Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,4.5vw,4.25rem)}h2{font-size:clamp(2.125rem,3.8vw,3.375rem)}h3{font-size:clamp(1.5rem,2.5vw,2rem)}p{overflow-wrap:break-word}img{max-width:100%}
.header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px 28px;padding:16px max(5%,calc((100% - 1320px)/2));background:var(--dark);color:var(--paper);border-bottom:2px solid var(--orange)}.brand{display:inline-flex;flex:none}.logo-window{display:block;position:relative;width:180px;aspect-ratio:612/354;overflow:hidden;flex:none;background:var(--dark)}.logo-window img{position:absolute;width:250.980392%;height:auto;max-width:none;left:-4.084967%;top:-15.536723%;display:block}.header nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 26px;font-size:1rem;font-weight:600}.header nav a{padding:8px 0}.header nav a:hover,.nav-contact:hover{color:var(--orange)}.nav-contact{font-size:1rem;font-weight:700;color:var(--orange);white-space:nowrap;border-bottom:1px solid;padding:8px 0}.nav-contact span{margin-left:12px}
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--ink);color:var(--paper)}.hero-copy{padding:70px 8% 34px max(9%,calc((100vw - 1320px)/2));display:flex;flex-direction:column;align-items:flex-start;min-width:0}.eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.09em;line-height:1.6;color:var(--teal)}.hero .eyebrow{color:var(--paper)}.hero .eyebrow>span{display:none}.hero h1{margin:26px 0;max-width:100%;font-weight:700}.hero h1 em{font-style:normal;color:var(--orange)}.hero-description{font-size:1.25rem;line-height:1.75;max-width:31rem;color:#e2e5dd}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--orange);color:var(--charcoal);padding:16px 24px;min-height:56px;font-size:1rem;font-weight:700;line-height:1.5;border:1px solid transparent;border-radius:4px;text-align:center;transition:background .2s}.button:hover{background:#e7b74f}.hero .button{margin-top:30px}.hero-bottom{display:flex;flex-wrap:wrap;gap:8px 24px;border-top:1px solid #4b6973;width:100%;margin-top:48px;padding-top:24px;font-size:.75rem;letter-spacing:.06em;color:#d0dcdf}.hero-image{position:relative;min-height:620px;overflow:hidden}.hero-image img{position:absolute;display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.65))}.photo-caption{position:absolute;bottom:30px;left:30px;right:30px;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:1rem}.photo-caption span:last-child{font-size:.75rem;letter-spacing:.06em}.service-strip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px 40px;padding:26px 5%;font-size:1rem;font-weight:700;letter-spacing:.07em;background:#e8e1cd;border-bottom:1px solid var(--line)}.service-strip i{font-style:normal;color:var(--teal)}
.section{padding:88px max(5%,calc((100% - 1240px)/2))}.section-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:32px 70px;margin-bottom:40px}.section h2,.about h2{margin-top:16px}.section-intro>p{max-width:34rem;color:var(--muted);font-size:1.125rem}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.service-card{padding:34px 36px;background:#fffdf7;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.service-number{font-size:.875rem;line-height:1.4;font-weight:700;color:var(--teal)}.service-card h3{margin:18px 0}.service-card h3 br{display:none}.service-card h3 br:after{content:' '}.service-card p{font-size:1.125rem;line-height:1.75;color:var(--muted);margin-bottom:26px;max-width:35rem}.service-card a{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:auto;border-top:1px solid var(--line);padding-top:18px;font-size:1rem;font-weight:700;min-height:48px}.service-card a:hover{text-decoration:underline;text-underline-offset:5px}.service-card a span{font-size:1.5rem;line-height:1}.service-card.card-accent{background:var(--ink);color:var(--paper);border-color:var(--ink)}.card-accent .service-number{color:var(--orange)}.card-accent p{color:#d0dcdf}.card-accent a{border-color:#4b6973;color:var(--orange)}
.about{background:var(--dark);color:var(--paper);padding:80px max(5%,calc((100% - 1240px)/2));display:grid;grid-template-columns:1fr 1.1fr;gap:60px;border-top:3px solid var(--orange)}.about .eyebrow{color:var(--orange)}.about-brand{margin-top:34px}.about-brand .logo-window{width:min(290px,100%)}.about-location{display:block;margin-top:18px;font-size:.75rem;letter-spacing:.07em;color:var(--orange)}.about-copy>p{color:#d0dcdf;margin-bottom:24px;font-size:1.125rem;line-height:1.8}.about-copy .large-copy{font-size:1.625rem;line-height:1.5;color:var(--paper);font-weight:600}.values{display:grid;gap:12px;border-top:1px solid #4b6973;padding-top:24px;font-size:1rem;font-weight:500}.values span:before{content:'✓';color:var(--orange);margin-right:12px}.area{display:grid;grid-template-columns:1fr 1fr;gap:70px}.area>div>p:last-child{margin-top:24px;max-width:33rem;color:var(--muted)}.cities>div{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:20px 0}.cities>div:first-child{border-top:1px solid var(--line)}.cities span{font-size:1.625rem;line-height:1.4;font-weight:600}.cities small{font-size:.75rem;letter-spacing:.06em;color:var(--teal)}
.contact{background:var(--ink);color:var(--paper);text-align:center;padding:80px 6%;border-top:4px solid var(--teal)}.contact .eyebrow{color:var(--orange)}.contact h2{margin:20px 0 24px;font-size:clamp(2.125rem,4vw,3.5rem)}.contact>p:not(.eyebrow){color:#d0dcdf;max-width:46rem;margin-left:auto;margin-right:auto}.contact-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin:32px auto 26px}.button-secondary{background:transparent;color:var(--paper);border-color:#9bafb6}.button-secondary:hover{background:#1b434f}.contact-note{display:inline-block;max-width:100%;margin-top:26px;padding:14px 18px;border:1px solid #617e88;border-radius:4px;font-size:.875rem;color:#d0dcdf;overflow-wrap:anywhere}footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:34px max(5%,calc((100% - 1240px)/2));background:var(--dark);color:var(--paper);border-top:1px solid #4b6973;font-size:.875rem}footer .logo-window{width:160px}footer p,footer>span,footer>a{font-size:.875rem}footer>span,footer>a:last-child{color:#d0dcdf}footer .footer-license{flex:0 0 100%;text-align:center;font-size:.875rem;color:#d0dcdf}
.booking{max-width:1360px;margin:auto;padding:64px 5% 88px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}.booking h1{font-size:clamp(2.25rem,4vw,3.5rem);margin:22px 0;overflow-wrap:anywhere}.booking-intro>p{max-width:30rem}.booking-hours{margin:28px 0 18px;font-weight:600}.phone-link{text-decoration:underline;text-underline-offset:5px}.license-note{font-size:.875rem;border-top:1px solid var(--line);padding-top:24px;margin-top:28px;color:var(--muted)}.booking-form{background:#fffdf7;border:1px solid var(--line);border-top:4px solid var(--orange);border-radius:6px;padding:36px;min-width:0}.form-intro{margin-bottom:28px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.booking-form label{display:flex;flex-direction:column;gap:9px;font-size:1rem;font-weight:600;min-width:0}.booking-form label span{font-weight:400;color:var(--muted)}.wide{grid-column:1/-1}.booking-form input,.booking-form select,.booking-form textarea{width:100%;min-width:0;max-width:100%;padding:13px;border:1px solid #738890;border-radius:4px;background:#fff;color:var(--ink);font:1.0625rem/1.5 'Montserrat',Arial,sans-serif}.booking-form input,.booking-form select{min-height:52px}.booking-form textarea{resize:vertical}.booking-form :is(input,select,textarea,button):focus-visible{outline:3px solid var(--teal);outline-offset:3px}.booking-form .button{cursor:pointer;font-family:inherit;margin-top:24px;width:100%;gap:10px}.form-note{font-size:.9375rem;color:var(--muted);margin-top:24px;line-height:1.7}.summary-label{margin-top:24px}.copy-button{background:none;border:1px solid var(--teal);border-radius:4px;color:var(--ink);padding:13px 18px;margin-top:14px;font:600 1rem/1.5 'Montserrat',Arial,sans-serif;cursor:pointer}#request-ready{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}#request-status{font-weight:600}
@media(max-width:1100px){.header nav{order:3;flex:1 0 100%;justify-content:flex-start;border-top:1px solid #4b6973;padding-top:10px}.header{gap:10px 24px}.hero-copy{padding:48px 7% 28px}.hero h1{font-size:clamp(2.25rem,4.3vw,3.125rem)}.hero-image{min-height:580px}.section-intro,.area{gap:36px}.about{gap:36px}.booking{gap:30px}.booking-form{padding:26px}.booking .form-grid{grid-template-columns:1fr}.booking .wide{grid-column:auto}}
@media(max-width:760px){body{font-size:1.0625rem}.header{padding:12px 6%}.logo-window{width:160px}.header nav{font-size:.875rem;gap:6px 22px}.nav-contact{font-size:1rem}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 6% 30px}.hero h1{font-size:clamp(2.125rem,8.8vw,3.75rem);letter-spacing:-.04em}.hero-description{font-size:1.125rem;max-width:36rem}.hero-bottom{margin-top:34px}.hero-image{min-height:0;height:330px}.photo-caption{left:6%;right:6%;bottom:24px}.photo-caption span:last-child{display:none}.service-strip{gap:10px 20px;font-size:.875rem;letter-spacing:.02em;padding:22px 6%}.service-strip i{display:none}.section{padding:58px 6%}.section-intro,.about,.area{grid-template-columns:1fr;gap:26px}.section-intro{margin-bottom:30px}.section-intro>p{font-size:1.0625rem}.service-grid{grid-template-columns:1fr;gap:20px}.service-card{padding:28px 24px}.service-card h3{font-size:1.625rem}.service-card p{font-size:1.0625rem}.about{padding:58px 6%}.about-copy>p{font-size:1.0625rem}.about-copy .large-copy{font-size:1.5rem}.about-brand .logo-window{width:245px}.cities span{font-size:1.5rem}.contact{padding:58px 6%}.contact-actions{flex-direction:column;max-width:26rem}.desktop-break{display:none}.booking{grid-template-columns:1fr;padding:36px 6% 58px;gap:32px}.booking h1{font-size:clamp(2.125rem,7.6vw,3rem)}.booking h1 br{display:none}.booking-form{padding:26px 20px}.booking-intro>p{max-width:none}.booking-form .button{white-space:normal}.booking-hours{margin-top:20px}footer{padding:28px 6%}footer .logo-window{width:160px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Clear opening and property-specific service paths. */
.hero h1{font-size:clamp(2.5rem,4.1vw,4rem);line-height:1.12;margin:24px 0 18px}.hero-slogan{font-size:1.375rem;font-weight:600;line-height:1.5;margin-bottom:16px;color:var(--paper)}.hero-description{font-size:1.125rem}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;width:100%}.hero .hero-actions .button{margin-top:0;font-size:1rem;padding:15px 20px}.hero-hours{font-size:.875rem;margin-top:20px;color:#d0dcdf}.hero-bottom{margin-top:32px}.hero-image{min-height:660px}.service-strip a{display:inline-flex;gap:14px;align-items:center;padding:6px 12px;min-height:44px}.service-strip a:hover{color:var(--teal);text-decoration:underline;text-underline-offset:6px}.category-heading{border-top:1px solid var(--line);padding-top:32px;margin:0 0 30px}.category-heading h2{font-size:clamp(1.875rem,3vw,2.625rem);margin:10px 0 14px}.category-heading>p:last-child{color:var(--muted)}.sector-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;margin-top:40px;padding:44px;border:1px solid var(--line);border-radius:8px;scroll-margin-top:24px}.sector-panel h2{font-size:clamp(1.875rem,3vw,2.625rem);margin:14px 0 22px}.sector-intro>p:not(.eyebrow){margin-bottom:26px;max-width:35rem}.sector-intro .button{max-width:100%}.sector-details{padding-top:8px}.sector-details h3{font-size:1.375rem;line-height:1.4;letter-spacing:-.02em}.sector-details ul{padding:0;list-style:none;margin:22px 0}.sector-details li{border-bottom:1px solid var(--line);padding:12px 0;font-size:1.0625rem}.sector-details>p{font-size:1rem}.commercial-panel{background:#e8e1cd}.commercial-panel .sector-intro>p:not(.eyebrow),.commercial-panel .sector-details>p{color:var(--muted)}.industrial-panel{background:var(--ink);color:var(--paper);border-color:var(--ink)}.industrial-panel .eyebrow{color:var(--orange)}.industrial-panel .sector-intro>p:not(.eyebrow),.industrial-panel .sector-details>p{color:#d0dcdf}.industrial-panel li{border-color:#4b6973}
@media(max-width:1100px){.hero h1{font-size:clamp(2.25rem,4.1vw,3rem)}.hero-actions{flex-direction:column;align-items:stretch}.sector-panel{padding:32px;gap:32px}}
@media(max-width:760px){.hero h1{font-size:clamp(2.25rem,9.5vw,3.5rem)}.hero-slogan{font-size:1.25rem}.hero-image{min-height:0}.hero-actions{max-width:28rem}.service-strip{gap:4px 10px;padding:16px 4%;font-size:.875rem}.service-strip a{gap:8px;padding:6px}.sector-panel{grid-template-columns:1fr;padding:28px 24px;gap:24px;margin-top:28px}.sector-intro .button{width:100%}.sector-details{padding-top:0}.category-heading{padding-top:24px}.hero-bottom{gap:8px}}

.email-link{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.email-link:hover{color:var(--orange)}.contact-email .email-link{color:var(--orange)}.booking-email{margin-top:16px}footer .footer-email{min-width:0}
.instagram-link{display:inline-flex;align-items:center;gap:8px}.instagram-link svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.instagram-link .instagram-dot{fill:currentColor;stroke:none}.header nav .instagram-link{color:var(--orange)}.header nav .instagram-link:hover{color:#e7b74f}footer .instagram-link{color:var(--orange)}footer .instagram-link:hover{text-decoration:underline;text-underline-offset:4px}.contact-actions .instagram-link svg{width:22px;height:22px}

.area .service-area-note{margin-top:24px;font-size:1rem;line-height:1.7}.service-area-note strong{display:block;margin-bottom:6px}.service-area-note a{text-decoration:underline;text-underline-offset:4px}

.request-confirmation{width:100%;max-width:48rem;margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.25rem,5vw,3rem);min-height:65vh;font-size:1rem;line-height:1.7}.request-confirmation h1{font-size:clamp(1.875rem,4vw,2.5rem);line-height:1.2;margin:16px 0 24px}.request-confirmation .button{max-width:100%;white-space:normal}.request-confirmation>p{margin-bottom:22px}.request-confirmation .button{margin-bottom:26px}#send-request:disabled{opacity:.7;cursor:wait}#request-status{margin-top:16px;font-size:1rem}

/* Date-specific weekend fee notice. */
.weekend-notice{margin:0;padding:16px 18px;border-left:4px solid var(--orange);border-radius:4px;background:#fff1cf;color:var(--ink);font-size:1rem;line-height:1.6;font-weight:500}.weekend-notice[hidden]{display:none}

/* Remove the board's dark backdrop at render time; retain the supplied logo colors. */
.logo-window img{filter:url(#logo-background-removal)}
