:root{--paper: #faf7f2;--surface: #fffdf9;--surface-2: #f2ebe0;--rule: #e2d7cc;--rule-strong: #cdbdae;--ink: #35272f;--ink-soft: #6b5560;--ink-muted: #75616d;--accent: #7b4b63;--accent-deep: #5a3548;--accent-pale: #f3e8ee;--accent-tint: rgba(123, 75, 99, .1);--accent-2: #7d8f6f;--accent-2-pale: #e9eee3;--blush: #e8c4c4;--focus: #5a3548;--font-display: "Fraunces", Georgia, serif;--font-body: "Karla", system-ui, -apple-system, sans-serif;--text-xs: .78rem;--text-sm: .89rem;--text-base: 1.125rem;--text-md: 1.27rem;--text-lg: 1.5rem;--text-xl: 1.95rem;--text-2xl: 2.5rem;--text-3xl: 3.2rem;--text-display: clamp(2.5rem, 5vw + 1rem, 4.4rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--space-32: 8rem;--radius: 2px;--radius-sm: 2px;--radius-pill: 999px;--radius-arch: 999px 999px 0 0;--shadow: 0 8px 30px rgba(53, 39, 47, .09);--shadow-sm: 0 3px 12px rgba(53, 39, 47, .07);--maxw: 1140px;--maxw-prose: 68ch;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur: .22s;--dur-fast: .15s}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{overflow-x:clip;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-weight:400;font-size:var(--text-base);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}img,video{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}ul,ol{list-style:none;padding:0}a{color:inherit;text-decoration:none}table{border-collapse:collapse;width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-style:normal;font-weight:500;color:var(--ink);line-height:1.15;letter-spacing:-.01em}h1{font-size:var(--text-display)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{max-width:var(--maxw-prose)}small{font-size:var(--text-sm)}a{transition:color var(--dur) var(--ease-out)}a:hover{color:var(--accent-deep)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;transition:none}:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-link{position:absolute;top:-100%;left:var(--space-4);z-index:1000;background:var(--ink);color:var(--paper);padding:var(--space-3) var(--space-6);border-radius:var(--radius);font-size:var(--text-sm);font-weight:600;transition:top var(--dur-fast) var(--ease-out)}.skip-link:focus{top:var(--space-4)}::selection{background:var(--accent-pale);color:var(--accent-deep)}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--space-6)}.section{padding-block:var(--space-24)}.section--alt{background:var(--surface-2)}.grid{display:grid;gap:var(--space-8)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:56rem){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:34rem){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.eyebrow{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:var(--space-3)}.lead{font-size:var(--text-md);line-height:1.6;color:var(--ink-soft);max-width:var(--maxw-prose)}.h-accent{color:var(--accent-deep);font-style:normal}.muted{color:var(--ink-muted)}.stars{display:inline-flex;gap:.1em;font-size:var(--text-md);line-height:1;color:var(--accent-deep);letter-spacing:.05em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);border:1.5px solid transparent;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:center;white-space:nowrap;cursor:pointer;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;transform:none}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn--primary:disabled{background:var(--rule-strong);border-color:var(--rule-strong);color:var(--ink-muted)}.btn--outline{background:transparent;border-color:var(--accent);color:var(--accent-deep)}.btn--outline:hover{background:var(--accent-pale);border-color:var(--accent-deep)}.btn--outline:disabled{border-color:var(--rule-strong);color:var(--ink-muted);background:transparent}.btn--ghost{background:transparent;border-color:transparent;color:var(--ink)}.btn--ghost:hover{background:var(--surface-2)}.btn--ghost:disabled{color:var(--ink-muted)}.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.card__media{width:100%}.card__body{padding:var(--space-6)}.service-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;text-align:center}.service-card .card__body{padding:var(--space-8) var(--space-6)}.service-card h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}.review-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--space-6);box-shadow:var(--shadow-sm)}.review-card .stars{margin-bottom:var(--space-3)}.review-card p{color:var(--ink-soft);font-style:italic}.review-card footer{margin-top:var(--space-4);font-size:var(--text-sm);font-weight:700;color:var(--ink)}.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-4) var(--space-6);background:#faf7f2b3;border-bottom:1px solid transparent;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.site-header--scrolled{background:var(--surface);border-bottom-color:var(--rule);box-shadow:var(--shadow-sm)}.brand{font-family:var(--font-display);font-style:normal;font-size:var(--text-lg);font-weight:600;color:var(--ink);letter-spacing:.01em;min-height:44px;display:inline-flex;align-items:center}.brand:hover{color:var(--accent-deep)}.site-nav,.site-nav__list{display:flex;align-items:center;gap:var(--space-8)}.site-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.site-nav a:hover{color:var(--accent-deep)}.site-nav a[aria-current=page]{color:var(--accent-deep);font-weight:700}.site-nav a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:8px;height:2px;background:var(--accent-deep)}.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);color:var(--ink)}.nav-toggle:hover{background:var(--surface-2)}@media(max-width:56rem){.site-nav__list{display:none}.nav-toggle{display:inline-flex}}.site-footer{background:var(--ink);color:var(--paper)}.site-footer :focus-visible{outline-color:var(--blush)}.footer-accent{height:var(--space-1);background:var(--blush)}.footer-main{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,1.12fr) minmax(0,.9fr);padding-block:var(--space-12)}.footer-panel{min-width:0;padding-inline:var(--space-8)}.footer-panel:first-child{padding-inline-start:0}.footer-panel:last-child{padding-inline-end:0}.footer-panel+.footer-panel{border-inline-start:1px solid var(--ink-soft)}.footer-brand{display:inline-flex;align-items:center;max-width:100%;min-height:44px;color:var(--paper);font-family:var(--font-display);font-size:clamp(var(--text-xl),2.9vw,var(--text-2xl));font-weight:600;line-height:1;white-space:nowrap}.footer-brand:hover,.footer-brand:active{color:var(--blush)}.footer-kicker,.footer-heading{color:var(--blush);font-family:var(--font-body);font-size:var(--text-xs);font-style:normal;font-weight:700;letter-spacing:.12em;line-height:1.35;text-transform:uppercase}.footer-kicker{margin-top:var(--space-2)}.footer-heading{margin-bottom:var(--space-6)}.footer-description{max-width:42ch;margin-top:var(--space-6);color:var(--rule-strong);font-size:var(--text-sm);line-height:1.55}.footer-socials{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-6)}.footer-socials a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding-inline:var(--space-4);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);color:var(--rule-strong);font-size:var(--text-xs);white-space:nowrap;transition:border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.footer-socials a:hover{border-color:var(--blush);color:var(--paper)}.footer-socials a:active{transform:translateY(1px)}.footer-socials svg{width:16px;height:16px;flex:0 0 auto}.footer-address{display:grid;gap:var(--space-2);color:var(--paper);font-size:var(--text-base);font-style:normal;line-height:1.35}.footer-address__lines>span{display:block}.footer-directions{display:inline-flex;align-items:center;gap:var(--space-2);width:fit-content;min-height:44px;color:var(--blush);font-size:var(--text-sm);font-weight:700;text-decoration:underline;text-underline-offset:.2em;white-space:nowrap}.footer-directions:hover{color:var(--paper)}.footer-directions:active{color:var(--rule-strong)}.footer-contact-list{display:grid;gap:0;margin-top:var(--space-4)}.footer-contact-list>div{display:grid;grid-template-columns:var(--space-8) minmax(0,1fr);align-items:center}.footer-contact-list dt{display:flex;align-items:center;color:var(--rule-strong)}.footer-contact-list dt svg{width:14px;height:14px}.footer-contact-list a{display:inline-flex;align-items:center;min-height:44px;color:var(--rule-strong);font-size:var(--text-sm);white-space:nowrap}.footer-contact-list a:hover,.footer-contact-list a:active{color:var(--paper)}.footer-availability{color:var(--rule-strong);font-size:var(--text-sm);line-height:1.55}.footer-quote{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:var(--space-6);padding-inline:var(--space-4);border:1px solid var(--blush);border-radius:var(--radius-sm);color:var(--paper);font-size:var(--text-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.footer-quote:hover{background:var(--accent-deep);border-color:var(--paper);color:var(--paper)}.footer-quote:active{transform:translateY(1px)}.footer-quote[aria-disabled=true]{cursor:not-allowed;transform:none;border-color:var(--ink-soft);color:var(--rule-strong)}.footer-bottom{border-top:1px solid var(--ink-soft);color:var(--rule-strong)}.footer-bottom__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-4);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}@media(max-width:60rem){.footer-main{grid-template-columns:minmax(0,1fr);padding-block:var(--space-6)}.footer-panel{padding-inline:0}.footer-panel+.footer-panel{margin-top:var(--space-6);padding-top:var(--space-6);border-block-start:1px solid var(--ink-soft);border-inline-start:0}.footer-heading{margin-bottom:var(--space-4)}.footer-description,.footer-socials,.footer-quote{margin-top:var(--space-4)}}@media(max-width:40rem){.footer-brand{font-size:var(--text-lg)}.footer-bottom__inner{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.footer-bottom__inner>span:last-child{padding-inline-start:1.15em}}.media{position:relative;overflow:hidden;background:var(--surface-2)}.media img{width:100%;height:100%;object-fit:cover;display:block}.media--16x9{aspect-ratio:16 / 9}.media--4x5{aspect-ratio:4 / 5}.media--square{aspect-ratio:1 / 1}.media--arch{border-radius:var(--radius-arch)}@media(max-width:30rem){.media--arch{border-radius:90px 90px 0 0}}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}@media(max-width:48rem){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:26rem){.gallery-grid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.label{font-size:var(--text-sm);font-weight:700;color:var(--ink)}.input,.textarea{min-height:44px;width:100%;background:var(--surface);border:1.5px solid var(--rule-strong);border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);transition:border-color var(--dur) var(--ease-out)}.textarea{min-height:140px;resize:vertical}.input:hover,.textarea:hover{border-color:var(--accent)}.input:focus-visible,.textarea:focus-visible{border-color:var(--accent-deep)}.input::placeholder,.textarea::placeholder{color:var(--ink-muted)}.input:disabled,.textarea:disabled{background:var(--surface-2);color:var(--ink-muted);cursor:not-allowed}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:34rem){.form-row{grid-template-columns:1fr}}.ornament{display:block;text-align:center;font-family:var(--font-display);font-size:1.75rem;line-height:1;color:var(--accent-2);margin-bottom:var(--space-4)}.badge{display:inline-flex;align-items:center;gap:.4em;padding:.35em .85em;border-radius:var(--radius-pill);background:var(--accent-2-pale);color:var(--ink);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cta-band{background:var(--ink);color:var(--paper);text-align:center;padding-block:var(--space-16);border-radius:var(--radius)}.cta-band .eyebrow{color:var(--blush)}.cta-band h2{color:var(--paper)}.cta-band p{color:var(--rule-strong);margin-inline:auto}.cta-band .btn--outline{border-color:var(--blush);color:var(--paper)}.cta-band .btn--outline:hover{background:#faf7f21a;border-color:var(--paper)}.tap-target{min-height:44px;display:inline-flex;align-items:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header__row[data-astro-cid-ctg3m53h]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.site-nav[data-astro-cid-ctg3m53h]{display:flex;justify-content:center;flex:1}.site-header__actions[data-astro-cid-ctg3m53h]{display:flex;align-items:center;gap:var(--space-4)}@media(max-width:56rem){.site-nav[data-astro-cid-ctg3m53h],.site-header__cta[data-astro-cid-ctg3m53h]{display:none}}.mobile-menu[data-astro-cid-ctg3m53h]{display:none;position:fixed;inset:0;z-index:110;background:var(--paper);opacity:0;visibility:hidden;transform:translateY(12px);overflow-y:auto;transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),visibility 0s linear var(--dur)}.mobile-menu[data-astro-cid-ctg3m53h][data-open=true]{opacity:1;visibility:visible;transform:translateY(0);transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),visibility 0s linear 0s}@media(max-width:56rem){.mobile-menu[data-astro-cid-ctg3m53h]{display:block}}.mobile-menu__header[data-astro-cid-ctg3m53h]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--rule)}.mobile-menu__close[data-astro-cid-ctg3m53h]{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);border-radius:var(--radius-pill)}.mobile-menu__close[data-astro-cid-ctg3m53h]:hover{background:var(--surface-2)}.mobile-menu__body[data-astro-cid-ctg3m53h]{padding:var(--space-8) var(--space-6) var(--space-12)}.mobile-menu__list[data-astro-cid-ctg3m53h] li[data-astro-cid-ctg3m53h]{border-bottom:1px solid var(--rule)}.mobile-menu__list[data-astro-cid-ctg3m53h] a[data-astro-cid-ctg3m53h]{display:flex;align-items:baseline;gap:var(--space-4);padding-block:var(--space-4);min-height:44px;font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--ink)}.mobile-menu__list[data-astro-cid-ctg3m53h] a[data-astro-cid-ctg3m53h][aria-current=page]{color:var(--accent-deep)}.mobile-menu__index[data-astro-cid-ctg3m53h]{font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;color:var(--accent-deep)}.mobile-menu__cta[data-astro-cid-ctg3m53h]{display:flex;margin-top:var(--space-8)}
