:root{--ink:#0d0d0d;--accent:#0d0d0d;--accent-soft:#fff;--bg:#f7f5f3;--bg-alt:#fff;--text:#0d0d0d;--muted:#6e6a69;--pebble:#9a9796;--line:#0d0d0d1f;--line-strong:#0d0d0d38;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Fraunces", Georgia, "Times New Roman", serif;--w-display:350;--w-body:400;--w-label:500;--step--1:.875rem;--step-0:1rem;--step-1:1.125rem;--step-2:clamp(1.35rem, 1.2rem + .7vw, 1.5rem);--step-3:clamp(1.75rem, 1.35rem + 2vw, 2.375rem);--step-4:clamp(2.6rem, 1.4rem + 5.6vw, 4.625rem);--radius:16px;--radius-sm:12px;--shadow:none;--shadow-sm:none;--container:1280px;--gutter:clamp(1.25rem, 4vw, 2.5rem);--section:clamp(4.5rem, 8vw, 7.5rem);--ease:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--step-0);font-weight:var(--w-body);letter-spacing:-.011em;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--w-display);letter-spacing:-.04em;margin:0;line-height:1.08}p{margin:0}img,svg,video{max-width:100%;height:auto;display:block}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section)}.eyebrow{font-size:.9375rem;font-weight:var(--w-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}.lede{font-size:var(--step-1);letter-spacing:-.012em;color:var(--muted);max-width:54ch;line-height:1.45}.section-head{gap:var(--gutter);margin-bottom:clamp(2.5rem,5vw,4rem);display:grid}@media (width>=900px){.section-head{grid-template-columns:1.1fr 1fr;align-items:end}}.section-head h2{font-size:var(--step-3);line-height:1.08}.btn{border-radius:var(--radius);font-size:var(--step-0);font-weight:var(--w-label);letter-spacing:-.011em;cursor:pointer;transition:background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);border:1px solid #0000;align-items:center;gap:.5rem;padding:16px 24px;text-decoration:none;display:inline-flex}.btn-primary{background:var(--ink);color:var(--bg-alt)}.btn-primary:hover{background:#232323}.btn-secondary{background:var(--bg-alt);color:var(--ink);border-color:var(--line)}.btn-secondary:hover{border-color:var(--line-strong)}.cta-link{font-size:var(--step-1);font-weight:var(--w-label);align-items:center;gap:.35rem;text-decoration:none;display:inline-flex}.cta-link .arrow{display:inline-block}.nav-wrap{z-index:40;padding-inline:var(--gutter);background:linear-gradient(var(--bg) 60%, #f7f5f300);position:sticky;top:0}.nav-pill{width:100%;max-width:var(--container);background:var(--bg-alt);border:1px solid var(--line);border-radius:9999px;justify-content:space-between;align-items:center;gap:1.5rem;margin-inline:auto;padding-inline:20px;display:flex}.nav-mark{font-family:var(--font-display);font-size:var(--step-1);font-weight:var(--w-display);letter-spacing:-.03em;align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.dot-cluster{grid-template-rows:repeat(3,3px);grid-template-columns:repeat(3,3px);gap:2px;display:grid}.dot-cluster i{background:var(--ink);border-radius:999px;width:3px;height:3px;display:block}.dot-cluster i:nth-child(5){background:0 0}.nav-links{font-size:var(--step--1);letter-spacing:0;gap:1.75rem;display:none}.nav-links a{color:var(--muted);transition:color .2s var(--ease);text-decoration:none}.nav-links a:hover{color:var(--ink)}.nav-call{font-size:var(--step--1);border-radius:9999px;padding:10px 18px}@media (width>=860px){.nav-links{display:flex}}.hero{padding-block:clamp(3rem,7vw,6rem) clamp(3.5rem,7vw,6rem);position:relative;overflow:hidden}.hero-inner{z-index:2;text-align:center;justify-items:center;gap:1.5rem;display:grid;position:relative}.hero h1{font-size:var(--step-4);letter-spacing:-.05em;max-width:16ch;line-height:.95}.hero h1 em{font-style:italic;font-weight:var(--w-display)}.hero-sub{max-width:46ch;color:var(--muted);font-size:var(--step-1);line-height:1.45}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.hero-meta{text-align:center;font-size:var(--step--1);letter-spacing:0;color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.stars{letter-spacing:.12em;color:var(--ink)}.hero-tiles{display:none}@media (width>=1040px){.hero-tiles{z-index:1;pointer-events:none;display:block;position:absolute;inset:0}.hero-tile{border-radius:var(--radius-sm);position:absolute;overflow:hidden}.hero-tile img{object-fit:cover;width:100%;height:100%}.hero-tile.t1{width:132px;height:168px;top:6%;left:3%}.hero-tile.t2{width:104px;height:104px;top:46%;left:8%}.hero-tile.t3{width:120px;height:152px;bottom:4%;left:17%}.hero-tile.t4{width:116px;height:148px;top:9%;right:5%}.hero-tile.t5{width:140px;height:112px;top:48%;right:9%}.hero-tile.t6{width:108px;height:136px;bottom:5%;right:19%}}.hero-strip{padding-inline:var(--gutter);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;margin-top:2.5rem;display:flex;overflow-x:auto}.hero-strip::-webkit-scrollbar{display:none}.hero-strip img{object-fit:cover;border-radius:var(--radius-sm);scroll-snap-align:start;flex:none;width:132px;height:172px}@media (width>=1040px){.hero-strip{display:none}}.trust{border-block:1px solid var(--line);padding-block:clamp(1.75rem,3vw,2.5rem)}.trust-grid{gap:var(--element-gap,24px);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.trust-item dt{font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;color:var(--pebble)}.trust-item dd{font-family:var(--font-display);font-size:var(--step-2);font-weight:var(--w-display);letter-spacing:-.02em;margin:6px 0 0;line-height:1.15}.trust-item p{font-size:var(--step--1);letter-spacing:0;color:var(--muted);margin-top:2px}.services-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;display:grid}.service-card{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);align-content:start;gap:10px;padding:24px;display:grid}.service-card h3{font-size:var(--step-2);letter-spacing:-.02em}.service-card p{color:var(--muted);font-size:var(--step-0)}.service-index{font-size:var(--step--1);letter-spacing:.1em;color:var(--pebble);font-variant-numeric:tabular-nums}.steps{gap:2.5rem;display:grid}.steps-visual{display:none}.step-block{border-top:1px solid var(--line);transition:opacity .4s var(--ease);gap:.75rem;padding-block:1.25rem;display:grid}.step-block h3{font-size:var(--step-2);letter-spacing:-.02em}.step-block p{color:var(--muted);max-width:46ch}.step-num{font-size:var(--step--1);letter-spacing:.1em;color:var(--pebble);font-variant-numeric:tabular-nums}.step-photo{border-radius:var(--radius);margin-top:.5rem;overflow:hidden}.step-photo img{object-fit:cover;width:100%;height:220px}@media (width>=900px){.steps{grid-template-columns:1fr 1fr;align-items:start;gap:4rem}.steps-visual{border-radius:var(--radius);background:var(--bg-alt);height:64vh;display:block;position:sticky;top:18vh;overflow:hidden}.steps-visual img{object-fit:cover;width:100%;height:100%}.step-block{align-content:center;min-height:58vh}.step-photo{display:none}}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=720px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:24px}}.img-zoom{border-radius:var(--radius-sm);background:var(--bg-alt);overflow:hidden}.img-zoom img{aspect-ratio:4/5;object-fit:cover;width:100%;transition:transform .4s ease-out}.img-zoom:hover img{transform:scale(1.06)}.reviews-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=640px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1000px){.reviews-grid{grid-template-columns:repeat(3,1fr)}}.review-card{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);align-content:space-between;gap:16px;padding:24px;display:grid}.review-card blockquote{font-size:var(--step-1);letter-spacing:-.012em;margin:0;line-height:1.4}.review-meta{font-size:var(--step--1);letter-spacing:0;color:var(--muted)}.review-meta strong{font-weight:var(--w-label);color:var(--ink)}.review-google{background:var(--ink);color:var(--bg);border-color:var(--ink);align-content:center;justify-items:start;gap:10px;text-decoration:none}.review-google .rating-big{font-family:var(--font-display);font-size:var(--step-3);font-weight:var(--w-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}.review-google .stars{color:var(--bg)}.review-google p{color:#f7f5f3b8;font-size:var(--step--1);letter-spacing:0}.visit-grid{gap:24px;display:grid}@media (width>=900px){.visit-grid{grid-template-columns:1fr 1.15fr;align-items:start}}.visit-card{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.hours-list{font-variant-numeric:tabular-nums;gap:0;margin:0;display:grid}.hours-row{border-bottom:1px solid var(--line);font-size:var(--step-0);justify-content:space-between;gap:1rem;padding-block:10px;display:flex}.hours-row:last-child{border-bottom:0}.hours-row.closed{color:var(--pebble)}.visit-detail{border-bottom:1px solid var(--line);gap:4px;padding-block:14px;display:grid}.visit-detail:last-of-type{border-bottom:0}.visit-detail dt{font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;color:var(--pebble)}.visit-detail dd{font-size:var(--step-1);letter-spacing:-.012em;margin:0}.map-frame{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-alt);overflow:hidden}.map-frame iframe{border:0;width:100%;height:clamp(320px,50vw,560px);display:block}.site-footer{border-top:1px solid var(--line);padding-block:2.5rem 3rem}.footer-grid{font-size:var(--step--1);letter-spacing:0;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.footer-links{flex-wrap:wrap;gap:1.25rem;display:flex}.footer-links a{text-decoration:none}.footer-links a:hover{color:var(--ink)}.reveal-mask{vertical-align:bottom;display:inline-block;overflow:hidden}.cursor{z-index:9999;pointer-events:none;position:fixed;inset:0}.cursor-dot,.cursor-ring{pointer-events:none;will-change:transform;border-radius:999px;position:fixed;top:0;left:0}.cursor-dot{background:var(--accent);width:6px;height:6px}.cursor-ring{width:var(--cursor-size,36px);height:var(--cursor-size,36px);border:1px solid var(--accent);transition:width .3s var(--ease), height .3s var(--ease), background-color .3s var(--ease);place-items:center;display:grid}.cursor-label{letter-spacing:.02em;color:var(--bg);opacity:0;transition:opacity .2s var(--ease);font-size:.7rem}.cursor[data-mode=link] .cursor-ring{width:calc(var(--cursor-size,36px) * 1.6);height:calc(var(--cursor-size,36px) * 1.6)}.cursor[data-mode=view] .cursor-ring{background:var(--accent);width:92px;height:92px}.cursor[data-mode=view] .cursor-label{opacity:1}.cursor[data-mode=view] .cursor-dot,.cursor[data-mode=off] .cursor-dot,.cursor[data-mode=off] .cursor-ring{opacity:0}.has-custom-cursor,.has-custom-cursor a,.has-custom-cursor button{cursor:none}.has-custom-cursor input,.has-custom-cursor textarea,.has-custom-cursor select,.has-custom-cursor [contenteditable=true]{cursor:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
