:root{--bg: #ede9e0;--text: #1c1915;--accent: #722f37;--accent-hover: #5a242b;--muted: #5f574c;--surface: #e3ddd2;--border: #d4ccc0;--on-accent: #f7f3eb;--hero-scrim: rgba(28, 25, 21, .52);--font-display: "Cormorant Garamond", "Palatino Linotype", Palatino, Georgia, serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--header-h: 4.25rem;--radius: .35rem;--shadow-soft: 0 12px 40px rgba(28, 25, 21, .08);--max: 68rem;--ease: cubic-bezier(.22, 1, .36, 1)}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cormorant-garamond-700.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:1.05rem;line-height:1.65;color:var(--text);background:radial-gradient(120% 80% at 10% -10%,rgba(114,47,55,.07),transparent 55%),radial-gradient(90% 60% at 100% 0%,rgba(95,87,76,.08),transparent 45%),linear-gradient(180deg,#f2eee6 0%,var(--bg) 40%,#e8e2d7 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--accent-hover)}h1,h2,h3,.wordmark{font-family:var(--font-display);font-weight:600;line-height:1.15;letter-spacing:.01em}h1{font-size:clamp(2.35rem,5.5vw,3.75rem);margin:0 0 .75rem}h2{font-size:clamp(1.85rem,3.5vw,2.55rem);margin:0 0 .65rem}h3{font-size:1.45rem;margin:0 0 .4rem}p{margin:0 0 1rem}.muted{color:var(--muted)}.container{width:min(100% - 2rem,var(--max));margin-inline:auto}.site-header{position:sticky;top:0;z-index:1000;background:color-mix(in srgb,var(--bg) 88%,white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--header-h)}.wordmark{font-size:1.35rem;color:var(--text);text-decoration:none;white-space:nowrap}.wordmark:hover{color:var(--accent)}.nav{display:none;gap:1.15rem;align-items:center}.nav a{color:var(--text);text-decoration:none;font-size:.92rem}.nav a:hover{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem 1.15rem;border-radius:var(--radius);border:1px solid transparent;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover);color:var(--on-accent)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-light{background:var(--on-accent);color:var(--accent)}.btn-light:hover{background:#fff;color:var(--accent-hover)}.btn-on-dark{background:transparent;color:var(--on-accent);border-color:color-mix(in srgb,var(--on-accent) 45%,transparent)}.btn-on-dark:hover{border-color:var(--on-accent);color:#fff;background:#f7f3eb14}.header-cta{flex-shrink:0}.nav-toggle{display:inline-flex;background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .65rem;font:inherit;color:var(--text);cursor:pointer}.nav-toggle[aria-expanded=true]+.nav,.nav.is-open{display:flex}@media(max-width:860px){.header-inner{flex-wrap:wrap;padding-block:.65rem}.nav{display:none;flex-direction:column;align-items:flex-start;width:100%;padding-bottom:.75rem;order:3}.nav.is-open{display:flex}}@media(min-width:861px){.nav-toggle{display:none}.nav{display:flex}}.hero{position:relative;min-height:min(92vh,46rem);display:grid;align-items:end;color:var(--on-accent);overflow:hidden}.hero-media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(28,25,21,.25) 0%,var(--hero-scrim) 55%,rgba(28,25,21,.72) 100%),radial-gradient(80% 60% at 20% 80%,rgba(114,47,55,.25),transparent 60%)}.hero-content{position:relative;z-index:1;padding:5rem 0 3.5rem;max-width:38rem;animation:rise .9s var(--ease) both}.hero-proof{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:.85rem;font-size:.95rem;color:color-mix(in srgb,var(--on-accent) 90%,white)}.stars{letter-spacing:.08em;color:#e8c97a}.hero p{font-size:1.1rem;color:color-mix(in srgb,var(--on-accent) 92%,white);max-width:34rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}@keyframes rise{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}.section{padding:4.5rem 0}.section-head{max-width:38rem;margin-bottom:2rem}.section-label{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;font-weight:600}.surface{background:var(--surface)}.split{display:grid;gap:2rem}@media(min-width:860px){.split{grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem}.split.reverse>:first-child{order:2}}.media-frame{overflow:hidden;border-radius:calc(var(--radius) + .15rem);box-shadow:var(--shadow-soft)}.media-frame img{width:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform .7s var(--ease)}.media-frame:hover img{transform:scale(1.03)}.proof-grid{display:grid;gap:1.25rem}@media(min-width:700px){.proof-grid{grid-template-columns:repeat(3,1fr)}}.proof-item{padding:1.35rem 1.2rem;border-top:2px solid var(--accent)}.proof-item strong{display:block;font-family:var(--font-display);font-size:1.65rem;margin-bottom:.35rem}.proof-item p{margin:0;color:var(--muted);font-size:.98rem}.services-grid{display:grid;gap:1.5rem}@media(min-width:800px){.services-grid{grid-template-columns:repeat(3,1fr)}}.service{padding:0}.service .media-frame{margin-bottom:1rem}.service .media-frame img{aspect-ratio:3 / 2}.service p{margin:0;color:var(--muted)}.local-list{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;gap:.75rem}.local-list li{padding-left:1.1rem;position:relative}.local-list li:before{content:"";position:absolute;left:0;top:.7em;width:.45rem;height:.45rem;border-radius:50%;background:var(--accent)}.reviews-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem 1.25rem;margin-bottom:1.75rem}.reviews-meta a{font-weight:600}.reviews-grid{display:grid;gap:1.25rem}@media(min-width:900px){.reviews-grid{grid-template-columns:repeat(2,1fr)}.review-card:first-child{grid-column:1 / -1}}.review-card{background:color-mix(in srgb,var(--bg) 70%,white);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem 1.25rem}.review-card header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;margin-bottom:.75rem}.review-card .author{font-weight:600}.review-card .when{color:var(--muted);font-size:.9rem}.review-card blockquote{margin:0;font-size:.98rem;white-space:pre-line}.review-card.compact blockquote{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}.review-card:first-child blockquote{display:block;-webkit-line-clamp:unset;overflow:visible}.faq-list{display:grid;gap:.65rem;max-width:46rem}.faq-item{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--bg) 65%,white);overflow:hidden}.faq-item summary{cursor:pointer;padding:1rem 1.15rem;font-weight:600;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";float:right;color:var(--accent);font-weight:700}.faq-item[open] summary:after{content:"−"}.faq-item .answer{padding:0 1.15rem 1.15rem;color:var(--muted)}.faq-item .answer p:last-child{margin-bottom:0}.contact-grid{display:grid;gap:2rem}@media(min-width:900px){.contact-grid{grid-template-columns:.95fr 1.05fr;gap:2.5rem}}.nap-block{margin:1.25rem 0}.nap-block p{margin:.2rem 0}.contact-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.25rem 0}.map-wrap{position:relative;z-index:1;isolation:isolate;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);height:16rem;margin-top:1.25rem}.leaflet-container{width:100%;height:100%;z-index:1!important;font:inherit}.leaflet-pane,.leaflet-top,.leaflet-bottom,.leaflet-control,.leaflet-map-pane{z-index:auto}.contact-form{background:color-mix(in srgb,var(--bg) 55%,white);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem 1.25rem}.form-row{display:grid;gap:.35rem;margin-bottom:1rem}.form-row label{font-size:.92rem;font-weight:600}.form-row input,.form-row textarea{font:inherit;padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text)}.form-row input:focus,.form-row textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,white);outline-offset:1px;border-color:var(--accent)}.honeypot{display:none!important}.form-status{min-height:1.4em;margin:.75rem 0 0;font-size:.95rem}.form-status.ok{color:#2d5a3d}.form-status.err{color:var(--accent)}.btn:disabled{opacity:.65;cursor:wait}.site-footer{padding:2.5rem 0 6.5rem;border-top:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.92rem}.site-footer .wordmark{display:inline-block;margin-bottom:.75rem;color:var(--text)}.footer-grid{display:grid;gap:1.5rem}@media(min-width:700px){.footer-grid{grid-template-columns:1.2fr 1fr}}.legal{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.photo-credits{margin-top:1rem;font-size:.85rem;line-height:1.55}.mobile-call{position:fixed;left:0;right:0;bottom:0;z-index:1100;padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 92%,white);border-top:1px solid var(--border);display:flex;justify-content:center}.mobile-call .btn{width:min(100%,22rem)}@media(min-width:861px){.mobile-call{display:none}.site-footer{padding-bottom:2.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-content,.media-frame img{animation:none;transition:none}}
