*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;overflow-x:clip;font-family:var(--body);font-size:1.0625rem;line-height:1.55;color:var(--ink);background:var(--bg)}img{display:block;max-width:100%;height:auto}a{color:inherit}a[href^="tel:"]{display:inline-flex;align-items:center;min-height:44px}a:focus-visible,button:focus-visible{outline:3px solid var(--focus,currentColor);outline-offset:3px}h1,h2,h3{font-family:var(--display);margin:0;font-weight:inherit}p{margin:0 0 1em}.wrap{width:min(100% - 2.5rem,72rem);margin-inline:auto}.btn{display:inline-block;padding:.85rem 1.35rem;text-decoration:none;font-weight:600;border-radius:var(--r,0);transition:background-color .15s,color .15s}.q{margin:0}.q blockquote{margin:0}.q figcaption{font-size:.95rem}.foot{padding:3rem 0 2.5rem;font-size:.95rem}.foot p{max-width:62ch}.credits{font-size:.875rem;line-height:2}.credits a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;max-width:100%;overflow-wrap:anywhere;line-height:1.4}.top a,.bar a,a.tel{display:inline-flex;align-items:center;min-height:44px}.foot p a{display:inline-flex;align-items:center;min-height:44px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:root{--bg:#fbf3f1;--ink:#2a1a1d;--soft:#f2dcd8;--acc:#9c2b46;--display:"Bricolage Grotesque",sans-serif;--body:Figtree,sans-serif;--r:999px;--focus:#9c2b46}
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0}.logo{font-family:var(--display);font-weight:700;font-size:1.25rem;text-decoration:none}.top a.tel{font-weight:600}
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3rem;align-items:center;padding:2.5rem 0 4.5rem}
.hero h1{font-size:clamp(2.9rem,7vw,5.6rem);line-height:.98;letter-spacing:-.03em;font-weight:700}.hero h1 span{display:block;color:var(--acc)}
.hero .lede{font-size:1.2rem;max-width:34ch;margin:1.5rem 0 2rem}.btn{background:var(--acc);color:#fff}.btn:hover{background:#7d2038}.btn.alt{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);margin-left:.5rem}
.hero img{border-radius:220px 220px 18px 18px;aspect-ratio:4/5;object-fit:cover;width:100%}
.grace{background:var(--ink);color:#fbf3f1;padding:5rem 0}.grace .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}.grace h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.02em}
.grace .q p{font-family:var(--display);font-size:1.6rem;line-height:1.25}.grace figcaption{color:#e8cfd4}
.svc{padding:5rem 0}.svc h2{font-size:2.4rem;margin-bottom:1.5rem}.chips{display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:0 0 2rem;list-style:none}.chips li{background:var(--soft);padding:.6rem 1.1rem;border-radius:999px;font-weight:600}
.more{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:2.5rem;padding-bottom:5rem}.more .q p{font-size:1.15rem}.more figcaption{color:#5d4448}
.visit{background:var(--soft);padding:4.5rem 0}.visit h2{font-size:2.4rem;margin-bottom:1rem}.visit dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem 1.5rem;margin:0 0 2rem}.visit dt{font-weight:600}.visit dd{margin:0}
.foot{background:var(--ink);color:#f4e4e7}
@media (max-width:820px){.hero,.grace .wrap{grid-template-columns:minmax(0,1fr)}.hero{gap:2rem;padding-top:1rem}.hero img{max-height:28rem}.btn.alt{margin:.75rem 0 0}}