:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--sp-32:128px;--fs-16:1rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-24:1.5rem;--fs-30:1.875rem;--fs-36:2.25rem;--fs-48:3rem;--fs-60:3.75rem;--gutter:var(--sp-4);--section:var(--sp-12);--measure:68ch;--callbar:64px}@media (width>=640px){:root{--gutter:var(--sp-6);--section:var(--sp-16)}}@media (width>=1024px){:root{--gutter:var(--sp-8);--section:var(--sp-24)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--c-bg);color:var(--c-ink);font-family:var(--font-body), system-ui, sans-serif;font-size:var(--fs-18);padding-bottom:calc(var(--callbar) + env(safe-area-inset-bottom,0px));margin:0;line-height:1.6}@media (width>=900px){body{padding-bottom:0}}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:var(--font-heading), var(--font-body), system-ui, sans-serif;color:var(--c-heading);margin:0 0 var(--sp-4);text-wrap:balance;overflow-wrap:anywhere}h1{font-size:var(--fs-36);font-weight:700;line-height:1.1}h2{font-size:var(--fs-30);font-weight:700;line-height:1.2}h3{font-size:var(--fs-20);margin-bottom:var(--sp-2);font-weight:600;line-height:1.3}@media (width>=640px){h1{font-size:var(--fs-48)}h3{font-size:var(--fs-24)}}@media (width>=1024px){h1{font-size:var(--fs-60)}h2{font-size:var(--fs-36)}}p{margin:0 0 var(--sp-4);overflow-wrap:anywhere}p:last-child{margin-bottom:0}a{color:var(--c-primary);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--c-primary-strong);text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}ul.plain{margin:0;padding:0;list-style:none}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{max-width:calc(1120px + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.skip{left:var(--sp-3);z-index:20;background:var(--c-primary);color:var(--c-on-primary);padding:var(--sp-3) var(--sp-4);position:absolute;top:-64px}.skip:focus{top:var(--sp-3)}.icon{flex:none;width:20px;height:20px}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:48px;padding:var(--sp-3) var(--sp-6);font:600 var(--fs-18)/1.2 var(--font-body), system-ui, sans-serif;border:2px solid var(--c-primary);border-radius:var(--radius-btn);background:var(--c-primary);color:var(--c-on-primary);cursor:pointer;text-decoration:none;display:inline-flex}.btn:hover{background:var(--c-primary-strong);border-color:var(--c-primary-strong);color:var(--c-on-primary)}.btn:active{transform:translateY(1px)}.btn-secondary,[data-buttons=outline] .btn:not(.btn-light){color:var(--c-primary);background:0 0}.btn-secondary:hover,[data-buttons=outline] .btn:not(.btn-light):hover{background:var(--c-tint);color:var(--c-primary-strong)}.btn-light{background:var(--c-on-dark);border-color:var(--c-on-dark);color:var(--c-dark)}.btn-light:hover{background:var(--c-bg);border-color:var(--c-bg);color:var(--c-dark)}.actions{gap:var(--sp-3);margin-top:var(--sp-8);flex-wrap:wrap;display:flex}.bar{font-size:var(--fs-16);padding-block:var(--sp-2);text-align:center;line-height:1.5}.bar p{margin:0}.bar-demo{background:var(--c-tint);color:var(--c-ink)}.bar-news{background:var(--c-primary);color:var(--c-on-primary)}.bar-news a{color:inherit;margin-left:var(--sp-2);font-weight:600}.bar-news a:focus-visible{outline-color:var(--c-on-primary)}.site-header{background:var(--c-bg);border-bottom:1px solid var(--c-line)}.header-row{align-items:center;gap:var(--sp-6);min-height:72px;padding-block:var(--sp-3);display:flex}.brand{align-items:center;gap:var(--sp-3);color:var(--c-heading);margin-right:auto;text-decoration:none;display:flex}.brand:hover{color:var(--c-heading)}.brand-logo{width:auto;max-height:48px}.brand-name{font-family:var(--font-heading), var(--font-body), system-ui, sans-serif;font-weight:700;font-size:var(--fs-24);line-height:1.1}.nav-wide{display:none}.nav-wide ul{gap:var(--sp-6);margin:0;padding:0;list-style:none;display:flex}.nav-wide a{color:var(--c-heading);font-weight:600;font-size:var(--fs-18);padding-block:var(--sp-2);text-decoration:none}.nav-wide a:hover{color:var(--c-primary)}.nav-wide a[aria-current]{color:var(--c-primary);box-shadow:inset 0 -3px 0 var(--c-primary)}.header-call{display:none}.nav-narrow{position:relative}.nav-narrow summary{cursor:pointer;align-items:center;gap:var(--sp-2);min-height:44px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--c-line);border-radius:var(--radius-btn);font-weight:600;font-size:var(--fs-16);color:var(--c-heading);list-style:none;display:flex}.nav-narrow summary::-webkit-details-marker{display:none}.nav-narrow[open] summary{background:var(--c-surface)}.nav-narrow ul{right:0;top:calc(100% + var(--sp-2));z-index:10;min-width:240px;padding:var(--sp-2);background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--radius);margin:0;list-style:none;position:absolute;box-shadow:0 12px 32px #00000024}.nav-narrow li a{padding:var(--sp-3) var(--sp-4);color:var(--c-heading);font-weight:600;text-decoration:none;display:block}.nav-narrow li a:hover,.nav-narrow li a[aria-current]{background:var(--c-surface);color:var(--c-primary)}@media (width>=900px){.nav-wide{display:block}.header-call{display:inline-flex}.nav-narrow{display:none}}.callbar{z-index:15;justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--callbar);padding:var(--sp-2) var(--gutter) calc(var(--sp-2) + env(safe-area-inset-bottom,0px));background:var(--c-primary);color:var(--c-on-primary);font-weight:600;font-size:var(--fs-20);text-decoration:none;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000001f}.callbar:hover{background:var(--c-primary-strong);color:var(--c-on-primary)}.callbar:focus-visible{outline-color:var(--c-on-primary);outline-offset:-6px}@media (width>=900px){.callbar{display:none}}.sec{padding-block:var(--section)}.tone-tint{background:var(--c-surface)}.tone-dark{background:var(--c-dark);color:var(--c-on-dark)}.tone-dark h2,.tone-dark h3{color:var(--c-on-dark)}.tone-dark :focus-visible{outline-color:var(--c-on-dark)}.sec-head{max-width:var(--measure);margin-bottom:var(--sp-8)}.sec-head p{color:var(--c-muted);font-size:var(--fs-20)}.eyebrow{font-size:var(--fs-16);letter-spacing:.08em;text-transform:uppercase;color:var(--c-primary);margin-bottom:var(--sp-3);font-weight:600}.card{background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--radius)}.tone-base .card{background:var(--c-surface);border-color:#0000}.hero-grid{gap:var(--sp-10);align-items:center;display:grid}.hero .lede{font-size:var(--fs-20);max-width:40em}.hero-img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%}.hero--centered{padding-block:var(--sp-12)}.hero--centered .hero-copy{text-align:center;max-width:48rem;margin-inline:auto}.hero--centered .lede{color:var(--c-muted);margin-inline:auto}.hero--centered .actions{justify-content:center}.hero--centered h1{margin-bottom:var(--sp-3)}@media (width>=640px){.hero--centered{padding-block:var(--sp-16)}}@media (width>=960px){.hero--split{padding-block:var(--sp-16) var(--sp-20)}.hero--split .hero-grid{gap:var(--sp-16);grid-template-columns:1.05fr .95fr}}.highlights{padding-block:var(--sp-8)}.highlight-list{gap:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));display:grid}.highlight{gap:var(--sp-3);align-items:flex-start;display:flex}.highlight-mark{background:var(--c-tint);width:40px;height:40px;color:var(--c-primary);border-radius:50%;flex:none;place-items:center;display:grid}.tone-tint .highlight-mark{background:var(--c-bg)}.highlight-title{color:var(--c-heading);font-weight:600;font-size:var(--fs-18);margin:var(--sp-2) 0 0;line-height:1.4}.highlight-text{color:var(--c-muted);font-size:var(--fs-16);margin:var(--sp-1) 0 0}.highlights--stacked .highlight-list{max-width:var(--measure);gap:var(--sp-4);grid-template-columns:1fr}@media (width>=1024px){.highlights{padding-block:var(--sp-10)}}.prose{max-width:var(--measure)}.text-grid{gap:var(--sp-10);align-items:center;display:grid}.text-img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%}@media (width>=960px){.text--with-image .text-grid{gap:var(--sp-16);grid-template-columns:1fr 1fr}}.service-list{margin:0;padding:0;list-style:none}.services--cards .service-list{gap:var(--sp-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,256px),1fr));display:grid}.services--cards .service{padding:var(--sp-6);flex-direction:column;display:flex}.service-img{width:calc(100% + 2 * var(--sp-6));max-width:none;margin:calc(-1 * var(--sp-6)) calc(-1 * var(--sp-6)) var(--sp-6);aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0}.service p{color:var(--c-muted);font-size:var(--fs-16)}.service h3 a{color:inherit;text-decoration:none}.service h3 a:hover{color:var(--c-primary);text-decoration:underline}.services--list .service-list{column-gap:var(--sp-12);display:grid}.services--list .service{border-top:1px solid var(--c-line);padding-block:var(--sp-6)}@media (width>=768px){.services--list .service-list{grid-template-columns:1fr 1fr}}.area-list{margin:0;padding:0;list-style:none}.areas--list .area-list{gap:var(--sp-2);flex-wrap:wrap;display:flex}.areas--list .area-list li{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border:1px solid var(--c-line);background:var(--c-bg);font-size:var(--fs-16);color:var(--c-heading);border-radius:999px;font-weight:600;display:inline-flex}.areas--list .area-list .icon{width:16px;height:16px;color:var(--c-primary)}.areas--columns .area-list{columns:3 12rem;column-gap:var(--sp-8)}.areas--columns .area-list li{padding-block:var(--sp-2);border-bottom:1px solid var(--c-line);break-inside:avoid}.review-list{gap:var(--sp-6);margin:0;padding:0;list-style:none;display:grid}.reviews--cards .review-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.reviews--cards .review{padding:var(--sp-6)}.review figure,.review blockquote{margin:0}.review blockquote p{font-size:var(--fs-18);color:var(--c-ink)}.review figcaption{margin-top:var(--sp-4);color:var(--c-heading);font-weight:600;font-size:var(--fs-16)}.stars{color:var(--c-primary);letter-spacing:.12em;margin-bottom:var(--sp-3);font-size:var(--fs-18)}.reviews--quotes .review-list{max-width:var(--measure)}.reviews--quotes .review{border-left:4px solid var(--c-primary);padding-left:var(--sp-6)}.reviews--quotes .review blockquote p{font-size:var(--fs-20)}.faq-list{column-gap:var(--sp-12);margin:0;display:grid}.faq-item{border-top:1px solid var(--c-line);padding-block:var(--sp-6)}.faq-item dt{color:var(--c-heading);font-weight:600;font-size:var(--fs-20);margin-bottom:var(--sp-2);line-height:1.4}.faq-item dd{max-width:var(--measure);margin:0}@media (width>=960px){.faq--two-column .faq-list{grid-template-columns:1fr 1fr}}.gallery-list{margin:0;padding:0;list-style:none}.gallery--grid .gallery-list{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,256px),1fr));display:grid}.gallery--strip .gallery-list{gap:var(--sp-4);padding-bottom:var(--sp-2);grid-auto-columns:minmax(256px,1fr);grid-auto-flow:column;display:grid;overflow-x:auto}.gallery-list figure{margin:0}.gallery-list img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%}.gallery-list figcaption{margin-top:var(--sp-2);color:var(--c-muted);font-size:var(--fs-16)}.contact-grid{gap:var(--sp-10);display:grid}.contact-phone{margin-top:var(--sp-6);font-family:var(--font-heading), var(--font-body), system-ui, sans-serif;font-size:var(--fs-30);font-weight:700;line-height:1.2;text-decoration:none;display:inline-block}.contact-phone:hover{text-decoration:underline}.contact-more{margin-top:var(--sp-6);gap:var(--sp-4);display:grid}.contact-more .label{font-size:var(--fs-16);color:var(--c-muted);display:block}.hours-card{padding:var(--sp-6)}.hours{gap:var(--sp-3) var(--sp-6);grid-template-columns:auto 1fr;margin:0;display:grid}.hours dt{color:var(--c-heading);font-weight:600}.hours dd{margin:0}.hours-note{margin-top:var(--sp-4);color:var(--c-muted);font-size:var(--fs-16)}@media (width>=960px){.contact--split .contact-grid{align-items:start;gap:var(--sp-16);grid-template-columns:1fr 1fr}}.cta-box{max-width:48rem}.cta--band .cta-box{text-align:center;margin-inline:auto}.cta--band .cta-box p{color:var(--c-on-dark-muted);font-size:var(--fs-20)}.cta--band .actions{justify-content:center}.cta--card .cta-box{padding:var(--sp-10) var(--sp-8);border-left:6px solid var(--c-primary)}.cta--card .cta-box p{color:var(--c-muted)}.site-footer{background:var(--c-dark);color:var(--c-on-dark-muted);padding-block:var(--sp-16) var(--sp-8);font-size:var(--fs-16)}.site-footer a{color:var(--c-on-dark)}.site-footer a:hover{color:var(--c-bg)}.site-footer :focus-visible{outline-color:var(--c-on-dark)}.footer-grid{gap:var(--sp-8);grid-template-columns:repeat(auto-fit,minmax(min(100%,208px),1fr));display:grid}.footer-name{font-family:var(--font-heading), var(--font-body), system-ui, sans-serif;font-weight:700;font-size:var(--fs-24);color:var(--c-on-dark);margin-bottom:var(--sp-3);line-height:1.2}.footer-label{color:var(--c-on-dark);margin-bottom:var(--sp-3);font-weight:600}.footer-grid li+li{margin-top:var(--sp-2)}.footer-hours{gap:var(--sp-1) var(--sp-4);grid-template-columns:auto 1fr;margin:0;display:grid}.footer-hours dt{color:var(--c-on-dark)}.footer-hours dd{margin:0}.footer-base{margin-top:var(--sp-12);padding-top:var(--sp-6);gap:var(--sp-2) var(--sp-8);border-top:1px solid #ffffff29;flex-wrap:wrap;display:flex}.footer-base p{margin:0}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.footer-note{margin-top:var(--sp-3)}.footer-social{margin-top:var(--sp-4)}
