:root{--ink:#14110f;--ink-80:#342f2a;--ink-60:#5c554e;--ink-40:#8a827a;--paper:#f8f6f2;--paper-alt:#ffffff;--line:#e0dad1;--line-strong:#c9c1b6;--accent:#a63d1c;--accent-ink:#7c2c12;--accent-soft:#f1e6de;--font-sans:"Archivo","Helvetica Neue",Arial,sans-serif;--font-serif:"Source Serif 4",Georgia,serif;--step--1:0.8125rem;--step-0:1rem;--step-1:1.125rem;--step-2:clamp(1.25rem,1.6vw,1.5rem);--step-3:clamp(1.6rem,2.4vw,2.125rem);--step-4:clamp(2.1rem,4vw,3.25rem);--step-5:clamp(2.6rem,6.4vw,5.25rem);--gap:1.5rem;--pad-section:clamp(4rem,9vw,8.5rem);--shell:78rem;--measure:34rem}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--step-0);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;text-wrap:pretty}img,svg,iframe{display:block;max-width:100%}a{color:var(--accent);text-decoration:none;text-underline-offset:0.22em;text-decoration-thickness:1px}a:hover{color:var(--accent-ink);text-decoration:underline}ul,ol{margin:0;padding:0}li{list-style:none}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-0.022em;line-height:1.06}p{margin:0}figure,figcaption,blockquote{margin:0}button{font:inherit;color:inherit}hr{border:0;border-top:1px solid var(--line);margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:1rem;top:-3rem;z-index:100;background:var(--ink);color:var(--paper);padding:0.6rem 1rem}.skip-link:focus{top:1rem}.display{font-size:var(--step-5);letter-spacing:-0.035em}.h2{font-size:var(--step-4)}.h3{font-size:var(--step-3)}.h4{font-size:var(--step-2)}.eyebrow{font-size:0.6875rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-40);margin:0 0 1.25rem}.eyebrow--accent{color:var(--accent)}.lede{font-family:var(--font-serif);font-size:var(--step-2);line-height:1.45;color:var(--ink-80);max-width:var(--measure)}.muted{color:var(--ink-60)}.small{font-size:var(--step--1)}.num{font-variant-numeric:tabular-nums;font-size:0.75rem;letter-spacing:0.14em;color:var(--ink-40)}.prose{font-family:var(--font-serif);font-size:var(--step-1);line-height:1.72;color:var(--ink-80)}.prose>*+*{margin-top:1.35em}.prose h2{font-family:var(--font-sans);font-size:var(--step-3);color:var(--ink);margin-top:2.4em}.prose h3{font-family:var(--font-sans);font-size:var(--step-2);color:var(--ink);margin-top:2em}.prose ul{margin-left:0}.prose li{padding-left:1.4rem;position:relative;margin-top:0.5em}.prose li::before{content:"";position:absolute;left:0;top:0.72em;width:0.6rem;height:1px;background:var(--accent)}.prose blockquote{margin:2.2em 0;padding:0 0 0 1.6rem;border-left:1px solid var(--accent);font-size:var(--step-2);line-height:1.45;color:var(--ink)}.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}.section{padding:var(--pad-section) 0}.section--tight{padding:clamp(2.5rem,5vw,4.5rem) 0}.section--ink{background:var(--ink);color:var(--paper)}.section--ink .eyebrow,.section--ink .muted{color:rgba(248,246,242,0.6)}.section--ink a{color:var(--paper)}.section--paper{background:var(--paper-alt)}.section+.section{border-top:1px solid var(--line)}.split{display:grid;gap:clamp(2rem,5vw,4.5rem);grid-template-columns:1fr;align-items:start}.grid{display:grid;gap:var(--gap)}.stack{display:flex;flex-direction:column;gap:var(--gap);align-items:flex-start}.row{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center}.section-head{display:grid;gap:clamp(1rem,3vw,2.5rem);margin-bottom:clamp(2.25rem,5vw,3.75rem)}@media (min-width:62rem){.split--half{grid-template-columns:1fr 1fr}.split--wide{grid-template-columns:1.15fr 0.85fr}.split--narrow{grid-template-columns:0.72fr 1.28fr}.section-head--two{grid-template-columns:0.9fr 1.1fr;align-items:end}.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 (min-width:40rem) and (max-width:61.99rem){.grid--3,.grid--4,.grid--2{grid-template-columns:repeat(2,1fr)}}.btn{display:inline-flex;align-items:center;gap:0.6rem;min-height:3rem;padding:0.75rem 1.4rem;font-size:0.875rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:background 0.18s ease,color 0.18s ease,border-color 0.18s ease}.btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;text-decoration:none}.btn--ghost{background:transparent;color:var(--ink)}.btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn--light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.btn--light:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn--wide{width:100%;justify-content:center}.link-arrow{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.8125rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink)}.link-arrow::after{content:"\2192";transition:transform 0.18s ease}.link-arrow:hover{color:var(--accent);text-decoration:none}.link-arrow:hover::after{transform:translateX(4px)}.ph{position:relative;width:100%;background-color:var(--accent-soft);background-position:center;background-size:cover;background-repeat:no-repeat;border:1px solid var(--line-strong);overflow:hidden}.ph--tall{aspect-ratio:3 / 4}.ph--wide{aspect-ratio:16 / 9}.ph--square{aspect-ratio:1 / 1}.ph--hero{aspect-ratio:16 / 10}.ph--avatar{width:3rem;height:3rem;border-radius:50%;flex:0 0 auto;align-self:center}.rows{border-top:1px solid var(--line)}.rows__item{border-bottom:1px solid var(--line)}.rows__link{display:grid;gap:0.35rem 1.75rem;grid-template-columns:1fr;padding:1.6rem 0;color:var(--ink);align-items:baseline;transition:padding 0.2s ease}.rows__link:hover{color:var(--accent);text-decoration:none}.rows__title{font-size:var(--step-3);font-weight:600;letter-spacing:-0.02em}.rows__desc{color:var(--ink-60);font-size:0.9375rem;max-width:36rem}@media (min-width:48rem){.rows__link{grid-template-columns:4rem 1fr 1.1fr auto;padding:2rem 0}.rows__link:hover{padding-left:0.75rem}}.card{padding:1.75rem 0 0;border-top:1px solid var(--ink)}.card__title{font-size:var(--step-2);margin-bottom:0.6rem}.card__body{color:var(--ink-60);font-size:0.9375rem}.card--boxed{padding:clamp(1.5rem,3vw,2.25rem);border:1px solid var(--line);background:var(--paper-alt)}.stat{border-top:1px solid var(--line);padding-top:1.1rem}.stat__value{font-size:var(--step-4);letter-spacing:-0.04em;line-height:1}.stat__label{font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-40);margin-top:0.7rem}.quote{display:grid;gap:1.5rem}.quote__text{font-family:var(--font-serif);font-size:var(--step-3);line-height:1.35;letter-spacing:-0.01em}.quote__meta{display:flex;gap:0.9rem;align-items:center;font-size:0.875rem;color:var(--ink-60)}.stars{letter-spacing:0.2em;color:var(--accent);font-size:0.8125rem}.crumbs{padding:1.15rem 0;border-bottom:1px solid var(--line);font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase}.crumbs ol{display:flex;flex-wrap:wrap;gap:0.55rem}.crumbs li{color:var(--ink-40)}.crumbs li+li::before{content:"/";margin-right:0.55rem;color:var(--line-strong)}.crumbs a{color:var(--ink-60)}.crumbs a:hover{color:var(--accent)}.page-head{padding:clamp(3rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem)}.page-head__title{font-size:var(--step-5);letter-spacing:-0.035em;max-width:24ch}.acc{border-top:1px solid var(--line)}.acc__item{border-bottom:1px solid var(--line)}.acc__btn{width:100%;display:flex;gap:1.5rem;align-items:baseline;justify-content:space-between;text-align:left;padding:1.5rem 0;background:none;border:0;cursor:pointer;font-size:var(--step-2);font-weight:500;letter-spacing:-0.015em}.acc__btn:hover{color:var(--accent)}.acc__icon{flex:0 0 auto;width:1rem;height:1rem;position:relative;margin-top:0.4rem}.acc__icon::before,.acc__icon::after{content:"";position:absolute;background:currentColor;transition:transform 0.22s ease}.acc__icon::before{inset:50% 0 auto 0;height:1px}.acc__icon::after{inset:0 50% 0 auto;width:1px}.acc__btn[aria-expanded="true"] .acc__icon::after{transform:scaleY(0)}.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.28s ease}.acc__panel>div{overflow:hidden}.acc__item.is-open .acc__panel{grid-template-rows:1fr}.acc__panel p{padding:0 0 1.6rem;max-width:46rem;color:var(--ink-60);font-family:var(--font-serif);font-size:var(--step-1);line-height:1.65}.linkgrid{display:grid;gap:0;border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr)}.linkgrid a{padding:0.9rem 0.5rem 0.9rem 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:0.9375rem;display:block}.linkgrid a:hover{color:var(--accent);text-decoration:none}@media (min-width:48rem){.linkgrid{grid-template-columns:repeat(4,1fr);column-gap:2rem}}.map-slot{aspect-ratio:16 / 9;width:100%;border:1px solid var(--line-strong);background-color:var(--accent-soft);background-position:center;background-size:cover;background-repeat:no-repeat}.pill{display:inline-flex;align-items:center;padding:0.35rem 0.7rem;border:1px solid var(--line-strong);font-size:0.6875rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-60)}.steps{counter-reset:step;border-top:1px solid var(--line)}.steps__item{counter-increment:step;border-bottom:1px solid var(--line);padding:1.75rem 0;display:grid;gap:0.6rem}.steps__item::before{content:"0" counter(step);font-size:0.75rem;letter-spacing:0.14em;color:var(--accent)}.steps__title{font-size:var(--step-2)}.steps__body{color:var(--ink-60);font-size:0.9375rem;max-width:42rem}@media (min-width:48rem){.steps__item{grid-template-columns:4rem 16rem 1fr;gap:2rem;align-items:baseline}}.form{display:grid;gap:1.25rem}.field{display:grid;gap:0.5rem}.field label{font-size:0.6875rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-40)}.field input,.field select,.field textarea{font:inherit;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line-strong);padding:0.65rem 0;border-radius:0}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--accent)}.field textarea{min-height:7rem;resize:vertical}.field--half{grid-column:span 1}.form__note{font-size:0.8125rem;color:var(--ink-40)}@media (min-width:40rem){.form--two{grid-template-columns:1fr 1fr}.form--two .field--full{grid-column:1 / -1}}.topbar{background:var(--ink);color:rgba(248,246,242,0.78);font-size:0.75rem;letter-spacing:0.04em}.topbar__inner{display:flex;flex-wrap:wrap;gap:0.5rem 1.75rem;align-items:center;justify-content:space-between;min-height:2.75rem;padding-top:0.5rem;padding-bottom:0.5rem}.topbar a{color:#fff}.topbar__list{display:flex;flex-wrap:wrap;gap:0.5rem 1.75rem}.topbar__item{display:flex;gap:0.5rem}.topbar__item span{color:rgba(248,246,242,0.5)}.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4.75rem}.brand{display:flex;align-items:baseline;gap:0.6rem;color:var(--ink)}.brand:hover{text-decoration:none;color:var(--ink)}.brand__mark{font-size:1.0625rem;font-weight:700;letter-spacing:-0.02em}.brand__sub{font-size:0.625rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-40)}.nav{display:none}.nav__list{display:flex;gap:1.75rem;align-items:center}.nav__link{font-size:0.875rem;color:var(--ink-80);letter-spacing:-0.005em}.nav__link:hover,.nav__link[aria-current="page"]{color:var(--accent);text-decoration:none}.nav__link[aria-current="page"]{font-weight:600}.header__cta{display:none}.nav-toggle{display:inline-flex;align-items:center;gap:0.6rem;background:none;border:0;cursor:pointer;font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase}.nav-toggle__bars{width:1.25rem;display:grid;gap:4px}.nav-toggle__bars span{height:1px;background:var(--ink)}.mobile-nav{display:none;border-top:1px solid var(--line);background:var(--paper)}.mobile-nav.is-open{display:block}.mobile-nav__list{padding:0.5rem 0 1.5rem}.mobile-nav__list a{display:block;padding:0.85rem 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:1.0625rem}@media (min-width:64rem){.nav,.header__cta{display:flex}.nav-toggle{display:none}.mobile-nav{display:none !important}}.hero{padding:clamp(3rem,8vw,7rem) 0 clamp(2.5rem,6vw,5rem)}.hero__grid{display:grid;gap:clamp(2rem,5vw,3.5rem);align-items:end}.hero__title{font-size:var(--step-5);letter-spacing:-0.04em}.hero__title em{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-0.02em}.hero__meta{display:grid;gap:1.25rem}.hero__actions{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:0.5rem}.hero__figure{margin-top:clamp(2.5rem,6vw,4rem)}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0;overflow:hidden}.marquee__inner{display:flex;gap:3rem;white-space:nowrap;width:max-content;font-size:0.75rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-40);animation:marquee-scroll 42s linear infinite}.marquee__inner span{display:inline-flex;align-items:center}.marquee__inner span::after{content:"\00b7";margin-left:3rem;color:var(--line-strong)}.marquee:hover .marquee__inner{animation-play-state:paused}@keyframes marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.marquee__inner{animation:none;width:auto;white-space:normal;flex-wrap:wrap;gap:0.5rem 1.5rem}}@media (min-width:62rem){.hero__grid{grid-template-columns:1.35fr 0.65fr}}.cta-band{background:var(--ink);color:var(--paper)}.cta-band__inner{padding:clamp(3rem,7vw,6rem) 0;display:grid;gap:2rem;align-items:center}.cta-band__title{font-size:var(--step-4);letter-spacing:-0.03em}.cta-band p{color:rgba(248,246,242,0.7);max-width:34rem}.cta-band__phone{font-family:var(--font-serif);font-size:var(--step-3);color:#fff}.cta-band__phone:hover{color:#fff}@media (min-width:62rem){.cta-band__inner{grid-template-columns:1.1fr 0.9fr;gap:4rem}}.site-footer{background:var(--ink);color:rgba(248,246,242,0.72);padding:clamp(3rem,7vw,5.5rem) 0 2rem;font-size:0.9375rem}.site-footer a{color:rgba(248,246,242,0.72)}.site-footer a:hover{color:#fff}.footer__grid{display:grid;gap:2.5rem}.footer__title{font-size:0.6875rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(248,246,242,0.42);margin-bottom:1.1rem}.footer__list{display:grid;gap:0.6rem}.footer__brand .brand__mark{color:var(--paper);font-size:1.25rem}.footer__brand .brand__sub{color:rgba(248,246,242,0.45)}.footer__nap{display:grid;gap:0.35rem;margin-top:1.25rem;font-style:normal}.footer__bottom{margin-top:clamp(2.5rem,6vw,4rem);padding-top:1.5rem;border-top:1px solid rgba(248,246,242,0.14);display:flex;flex-wrap:wrap;gap:0.75rem 2rem;justify-content:space-between;font-size:0.75rem;color:rgba(248,246,242,0.45)}@media (min-width:48rem){.footer__grid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:3rem}}.sticky-cta{position:fixed;inset:auto 0 0 0;z-index:60;display:grid;grid-template-columns:1fr 1fr;background:var(--ink);border-top:1px solid rgba(248,246,242,0.16);transform:translateY(100%);transition:transform 0.25s ease}.sticky-cta.is-visible{transform:translateY(0)}.sticky-cta a{padding:1rem 0.75rem;text-align:center;color:var(--paper);font-size:0.8125rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase}.sticky-cta a:hover{text-decoration:none}.sticky-cta a+a{border-left:1px solid rgba(248,246,242,0.16);background:var(--accent)}body.has-sticky-cta{padding-bottom:3.5rem}@media (min-width:64rem){.sticky-cta{display:none}body.has-sticky-cta{padding-bottom:0}}.feature-list{display:grid;gap:0;border-top:1px solid var(--line)}.feature-list li{display:grid;gap:0.4rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}.feature-list strong{font-weight:600}.feature-list span{color:var(--ink-60);font-size:0.9375rem}.aside-card{border:1px solid var(--line);background:var(--paper-alt);padding:clamp(1.5rem,3vw,2rem);display:grid;gap:1.25rem;position:sticky;top:6.5rem}.aside-card__phone{font-family:var(--font-serif);font-size:var(--step-3);letter-spacing:-0.02em;color:var(--ink);display:block}.aside-card__phone:hover{color:var(--accent);text-decoration:none}.gallery{display:grid;gap:0.75rem;grid-template-columns:repeat(2,1fr)}.gallery>:first-child{grid-column:1 / -1}.team-card{display:grid;gap:1rem}.team-card__name{font-size:var(--step-2)}.team-card__role{font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-40)}.area-hours{display:grid;gap:0.5rem;font-size:0.9375rem}.area-hours div{display:flex;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--line);padding-bottom:0.5rem}.area-hours span:last-child{color:var(--ink-60)}.post-rows{border-top:1px solid var(--ink)}.post-row{border-bottom:1px solid var(--line)}.post-row__link{display:grid;gap:1.25rem;padding:2rem 0;color:var(--ink);align-items:start}.post-row__link:hover{text-decoration:none;color:var(--accent)}.post-row__meta{font-size:0.6875rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-40)}.post-row__title{font-size:var(--step-3);max-width:30ch}.post-row__excerpt{color:var(--ink-60);font-size:0.9375rem;max-width:42rem}.post-row__thumb{width:100%}@media (min-width:56rem){.post-row__link{grid-template-columns:10rem 1fr 14rem;gap:2.5rem}}.post-hero{padding:clamp(3rem,7vw,5.5rem) 0 clamp(2rem,4vw,3rem)}.post-hero__title{font-size:var(--step-4);max-width:26ch;letter-spacing:-0.03em}.post-meta{display:flex;flex-wrap:wrap;gap:0.75rem 1.5rem;align-items:center;font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-40);margin-top:1.75rem}.post-body{max-width:42rem}.featured{display:grid;gap:1.5rem}@media (min-width:62rem){.featured{grid-template-columns:1.1fr 0.9fr;gap:3rem;align-items:center}}.footer__social{display:flex;flex-wrap:wrap;gap:0.75rem 1.25rem;margin-top:1.5rem;font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase}.footer__bottom-links{display:flex;flex-wrap:wrap;gap:0.5rem 1.5rem}.field--consent label{display:flex;gap:0.6rem;align-items:flex-start;font-size:0.875rem;letter-spacing:0;text-transform:none;color:var(--ink-60);line-height:1.5}.field--consent input{width:1rem;height:1rem;margin-top:0.15rem;flex:0 0 auto}