@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/S6uyw4BMUTPHjxAwXjeu.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/S6uyw4BMUTPHjx4wXg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/S6u9w4BMUTPHh6UVSwaPGR_p.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/S6u9w4BMUTPHh6UVSwiPGQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lusitana';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/CSR84z9ShvucWzsMKyhdTOI.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lusitana';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/CSR74z9ShvucWzsMKyDmafctaNY.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}:root{--ink:#1b1b1b;--muted:#595959;--sand:#e2d1bd;--line:#dedede}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.5 Lusitana,Georgia,serif}a{color:inherit}button,input,textarea{font:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #986d3d;outline-offset:4px}button{cursor:pointer}img{display:block;max-width:100%;height:auto}.skip{position:absolute;top:-70px;left:16px;background:#fff;padding:12px;z-index:10}.skip:focus{top:8px}.quote-bar{text-align:center;background:var(--sand);color:#080808;min-height:32px;font-size:16px;padding:4px 16px}.quote-bar a{text-decoration:none}.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:16px 48px;gap:24px;position:relative;z-index:2}.brand{font:20px/1.3 Lato,Arial,sans-serif;text-decoration:none;letter-spacing:1px}nav{display:flex;gap:32px}nav a{letter-spacing:1px;text-decoration:none;padding:12px 0}nav a[aria-current]{text-decoration:underline;text-underline-offset:12px}.home .site-header{position:absolute;top:32px;left:0;right:0;color:#fff}.menu-toggle{display:none}.hero{height:610px;display:grid;place-items:center;background:linear-gradient(#0004,#0004),url('/assets/hero.webp') center center/cover;padding:100px 24px 24px}.hero h1{font:400 62px/1.2 Lato,Arial,sans-serif;letter-spacing:1px;text-align:center;color:#fff;max-width:770px;width:100%;border-bottom:1px solid #fff;padding-bottom:12px;margin:0}.container{max-width:1160px;padding:0 24px;margin:auto}h1,h2,h3{font-weight:400}h2,.interior>h1{font:400 22px/1.4 Lato,Arial,sans-serif;letter-spacing:1px}.services{padding-top:40px;padding-bottom:56px}.services>h2,.interior>h1{padding-bottom:20px;margin:0 0 40px;border-bottom:1px solid var(--line)}.service-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;margin-bottom:48px}.service-row:nth-of-type(even) img{order:2}.service-row img{width:100%;aspect-ratio:1200/902;object-fit:cover}.service-row h3{font:400 22px/1.25 Lusitana,Georgia,serif;margin:0 0 24px}.service-row p{margin:0;color:var(--muted);line-height:1.5}.reviews{background:var(--sand);padding:64px 0}.reviews h2{text-align:center;font-size:44px;margin:0 0 40px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.review{background:white;text-align:center;padding:28px 24px}.initial{font-size:60px;color:#6b6b6b;line-height:1.2}.review h3{font-size:22px;margin:16px 0}.review p{color:var(--muted)}.review small{display:block;margin-top:16px}.review-open{border:0;background:none;text-decoration:underline;padding:12px}.interior{padding-top:36px;padding-bottom:56px}.about-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.about-row h2{font:22px/1.3 Lusitana,Georgia,serif;letter-spacing:0;margin-bottom:24px}.about-row p{color:var(--muted)}.lake{margin:80px 0 0}.lake img{width:100%;height:auto}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact-grid form>h2{font:22px/1.25 Lusitana,Georgia,serif;margin:0 0 24px;letter-spacing:0}label{display:block;margin:20px 0 6px}label span{font-size:14px;color:var(--muted)}input:not([type=hidden]),textarea{width:100%;border:1px solid #aaa;background:#fff;border-radius:0;padding:12px;color:var(--ink);min-height:48px}textarea{resize:vertical}input[type=file]{font-size:14px}.hint,.preview-note{font-size:14px;color:var(--muted)}.preview-note{border-left:3px solid var(--sand);padding:8px 12px;background:#f8f5f0}.error{color:#a12620}.attach-label{display:inline-block;border-bottom:1px solid;margin:24px 0 8px}#file-list{padding-left:20px;overflow-wrap:anywhere}#send,.directions,dialog button{display:inline-block;background:#171717;color:white;border:1px solid #171717;padding:14px 36px;letter-spacing:1px;text-decoration:none;min-height:48px}#send:disabled{opacity:.6;cursor:wait}#form-status{white-space:pre-line}#form-status:not(:empty){padding:16px;background:#f4f0e9;border-left:3px solid #70502b}aside>p{text-align:center;margin-top:0}iframe{width:100%;height:420px;border:0;background:#eee}.directions{display:block;text-align:center;margin-top:12px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:72px;align-items:center}.contact-details img{width:100%;max-height:460px;object-fit:cover;object-position:center 30%}.contact-details h2{font:22px/1.3 Lusitana,Georgia,serif;letter-spacing:0}.contact-details a{text-underline-offset:3px}.trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}footer{text-align:center;padding:48px 24px;background:#f7f5f2}footer p{font:20px Lato,Arial,sans-serif}footer small{color:var(--muted)}.instagram{display:inline-block;padding:10px}.instagram svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6}dialog{border:0;box-shadow:0 15px 60px #0004;max-width:600px;width:calc(100% - 40px);padding:32px}dialog::backdrop{background:#0008}dialog h3{font-size:24px}
@media(max-width:767px){.site-header{height:auto;min-height:80px;padding:20px 24px;flex-wrap:wrap;gap:12px}.brand{font-size:16px;max-width:230px}.menu-toggle{display:block;background:transparent;color:inherit;border:1px solid currentColor;min-height:44px;padding:8px 12px}nav{display:none;width:100%;flex-direction:column;gap:0;padding:12px 0}nav.open{display:flex}.home nav.open{background:#232323;padding:12px 20px}.hero{height:540px;background-position:45% center;padding-top:150px}.hero h1{font-size:38px;line-height:1.2}.container{padding-left:24px;padding-right:24px}.service-row,.about-row,.contact-grid,.contact-details{grid-template-columns:1fr;gap:24px}.service-row:nth-of-type(even) img{order:0}.service-row{margin-bottom:48px}.review-grid{grid-template-columns:1fr}.reviews{padding:48px 0}.reviews h2{font-size:34px}.interior{padding-top:28px}.lake{margin-top:48px}.contact-grid aside{margin-top:24px}.contact-details{margin-top:48px}.about-row img{max-height:680px;object-fit:contain}.quote-bar{font-size:15px}.interior>h1{margin-bottom:28px}iframe{height:320px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.reviews{background:#c2c2c2}.reviews h2{color:#fff}.review-grid{max-width:966px;margin:auto;gap:48px}.review{box-shadow:0 10px 25px #0002;padding:28px 24px 32px}.review .initial{display:inline-grid;place-items:center;width:96px;height:96px;border-radius:50%;background:#f1f1f1;color:#777}.review-controls{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:36px;color:#fff}.review-controls button{background:transparent;color:#fff;border:1px solid #fff;font-size:28px;width:48px;height:48px;line-height:1}.review-controls button:hover{background:#777}.review[hidden]{display:none}footer{background:#fff}.instagram{color:#b43d6f}footer p{font:700 16px Lusitana,Georgia,serif}footer small{display:block;margin-top:48px}

.stars{display:flex;justify-content:center;gap:1px;margin-top:20px}.stars svg{width:20px;height:20px;fill:#e2b915}

/* Original live review photo, crop and 24% dark overlay. */
.reviews{background:linear-gradient(rgba(0,0,0,.24),rgba(0,0,0,.24)),url("/assets/reviews-background.webp") center center/cover no-repeat}

/* Compact contact profile with the full portrait visible. */
.contact-details{grid-template-columns:210px minmax(0,1fr);gap:40px;max-width:100%;margin-top:64px;padding:32px;background:#f8f5f0;border-top:4px solid var(--sand);align-items:center}
.contact-details img{width:210px;height:280px;max-height:none;object-fit:contain;object-position:center}
.contact-details h2{font:400 24px/1.3 Lato,Arial,sans-serif;margin:0 0 28px}
.contact-info-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:start}
.contact-methods p{margin:0 0 20px}.contact-methods p:last-child{margin-bottom:0}.contact-methods span{display:block;color:var(--muted);font:400 13px/1.4 Lato,Arial,sans-serif;letter-spacing:.7px;text-transform:uppercase;margin-bottom:6px}.contact-methods a{font-size:18px;overflow-wrap:anywhere;text-underline-offset:4px}
.service-area{border-left:1px solid #d9cdbd;padding-left:28px}.service-area h3{margin:0 0 12px;font:400 18px/1.4 Lato,Arial,sans-serif}.service-area p{margin:0;color:var(--muted);line-height:1.9}
@media(max-width:900px){.contact-details{grid-template-columns:160px minmax(0,1fr);gap:28px;padding:28px}.contact-details img{width:160px;height:auto}.contact-info-grid{grid-template-columns:1fr;gap:22px}.service-area{border-left:0;border-top:1px solid #d9cdbd;padding:20px 0 0}}
@media(max-width:520px){.contact-details{grid-template-columns:1fr;gap:24px;padding:24px;margin-top:40px}.contact-details img{width:150px;justify-self:center}.contact-details h2{font-size:22px;margin-bottom:24px;text-align:center}.contact-methods a{font-size:18px}}
/* Keep homepage navigation visible as the quote strip scrolls away. */
.home .site-header{position:fixed;top:var(--header-top,32px);z-index:20;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
.home .site-header.scrolled{background:#fff;color:var(--ink);box-shadow:0 2px 12px #00000014}
@media(max-width:767px){.home .site-header{max-height:100dvh;overflow-y:auto}.home .site-header.scrolled nav.open{background:#fff}}
@media(prefers-reduced-motion:reduce){.home .site-header{transition:none}}
