:root{--root-size:clamp(100%, 1.1111vw, 112.5%);--color-text:#0f1115;--color-text-muted:#3b4048;--color-text-subtle:#596170;--color-bg:#fff;--color-surface:#e7ebf2;--color-accent:#14387f;--color-accent-hover:#0d2554;--color-dark:#0d2554;--color-on-dark:#fff;--color-on-dark-muted:#ffffffc7;--color-line:#0f111524;--color-line-strong:#0f1115;--color-line-on-dark:#ffffff3d;--color-placeholder:#1c2333;--color-status-open:#2f8f3a;--color-status-lunch:#c98a12;--color-status-closed:#8a919c;--overlay-hero:linear-gradient(90deg, #080a10d1 0%, #080a108c 48%, #080a1033 100%), linear-gradient(0deg, #080a10b3 0%, #080a1000 45%);--overlay-card:linear-gradient(0deg, #080a10db 0%, #080a1059 55%, #080a101a 100%);--text-display:clamp(2.3294rem, 1.9194rem + 1.6819vw, 3.4331rem);--leading-display:1.04;--tracking-display:-.025em;--text-price:clamp(1.9912rem, 1.7106rem + 1.1514vw, 2.7469rem);--leading-price:1;--tracking-price:-.02em;--text-h2:clamp(1.7019rem, 1.5178rem + .7552vw, 2.1975rem);--leading-h2:1.08;--tracking-h2:-.02em;--text-h3:clamp(1.2431rem, 1.1825rem + .2486vw, 1.4063rem);--leading-h3:1.2;--tracking-h3:-.01em;--text-lead:clamp(1.125rem, 1.0786rem + .1905vw, 1.25rem);--leading-lead:1.5;--tracking-lead:0;--text-body:clamp(1.0625rem, 1.0393rem + .0952vw, 1.125rem);--leading-body:1.6;--tracking-body:0;--text-small:clamp(.875rem, .8518rem + .0952vw, .9375rem);--leading-small:1.5;--tracking-small:0;--label-tracking:.1em;--body-leading-on-dark:1.65;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-heading:700;--measure:65ch;--space-bind:clamp(.25rem, .2036rem + .1905vw, .375rem);--space-inner:clamp(.75rem, .6107rem + .5714vw, 1.125rem);--space-item:clamp(1.25rem, 1.0179rem + .9524vw, 1.875rem);--space-group:clamp(2.25rem, 1.4143rem + 3.4286vw, 4.5rem);--space-section-s:clamp(3rem, 1.8857rem + 4.5714vw, 6rem);--space-section-m:clamp(4.5rem, 2.6429rem + 7.619vw, 9.5rem);--gutter:clamp(1rem, .2571rem + 3.0476vw, 3rem);--content-max:90rem;--tap:3rem;--tap-min:2.75rem;--scroll-offset:6rem;--ease:cubic-bezier(.23, 1, .32, 1);--duration-fast:.25s;--duration-base:.375s;--duration-slow:.5s}*,:before,:after{box-sizing:border-box}html{font-size:var(--root-size);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--scroll-offset)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}img,svg{max-width:100%;display:block}picture{display:contents}img{height:auto}a{color:inherit;text-underline-offset:.2em}button{font:inherit}[hidden]{display:none!important}::selection{background:var(--color-accent);color:var(--color-on-dark)}:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.on-dark :focus-visible{outline-color:var(--color-on-dark)}h1,h2,h3,.display,.heading-2,.heading-3{font-family:var(--font-heading);font-weight:var(--weight-heading);text-wrap:balance;hyphens:auto;overflow-wrap:break-word;margin:0}h1,.display{font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}h2,.heading-2{font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}h3,.heading-3{font-size:var(--text-h3);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3)}p,ul,ol,dl,dd,figure,blockquote{margin:0}p{text-wrap:pretty}.lead{font-size:var(--text-lead);line-height:var(--leading-lead);max-inline-size:var(--measure)}.small{font-size:var(--text-small);line-height:var(--leading-small)}.label{font-size:var(--text-small);line-height:var(--leading-small);font-weight:var(--weight-semibold);letter-spacing:var(--label-tracking);text-transform:uppercase}.muted{color:var(--color-text-muted)}.price{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-price);line-height:var(--leading-price);letter-spacing:var(--tracking-price);font-variant-numeric:tabular-nums}.on-dark{color:var(--color-on-dark);line-height:var(--leading-body-on-dark)}.on-dark .muted{color:var(--color-on-dark-muted)}.stack>:not(:first-child){margin-block-start:var(--space-inner)}.stack--bind>:not(:first-child){margin-block-start:var(--space-bind)}.stack--item>:not(:first-child){margin-block-start:var(--space-item)}.stack--group>:not(:first-child){margin-block-start:var(--space-group)}.container{inline-size:100%;max-inline-size:var(--content-max);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--space-section-m)}.section+.section:not(.section--surface,.section--dark){padding-block-start:0}.section.section--surface+.section,.section.section--dark+.section{padding-block-start:var(--space-section-m)}.section--surface{background:var(--color-surface)}.section--dark{background:var(--color-dark)}.section--compact{padding-block:var(--space-group)}.section-head{gap:var(--space-inner);max-inline-size:56rem;display:grid}.split{gap:var(--space-group);align-items:center;display:grid}.split--top{align-items:start}@media (width>=60em){.split{grid-template-columns:repeat(2,minmax(0,1fr))}}.aside-layout{gap:var(--space-group);display:grid}@media (width>=60em){.aside-layout{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}.aside-layout__intro{align-self:start;position:sticky;inset-block-start:var(--scroll-offset)}}.media{aspect-ratio:4/3;background:var(--color-surface);overflow:hidden}.media--wide{aspect-ratio:16/9}@media (width>=60em){.media--wide{aspect-ratio:21/9}}.media img{object-fit:cover;block-size:100%;inline-size:100%}.icon{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:square;stroke-linejoin:miter;flex:none;block-size:1.15em;inline-size:1.15em}.icon-sprite{display:none}.button{justify-content:center;align-items:center;gap:var(--space-inner);min-block-size:var(--tap);font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-semibold);text-align:center;cursor:pointer;transition:background-color var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);border:1.5px solid #0000;padding-inline:1.25em;line-height:1.1;text-decoration:none;display:inline-flex}.button--primary{background:var(--color-accent);color:var(--color-on-dark)}.button--primary:hover{background:var(--color-accent-hover)}.button--secondary{border-color:var(--color-line-strong);color:var(--color-text);background:0 0}.button--secondary:hover{background:var(--color-text);color:var(--color-bg)}.on-dark .button--primary{background:var(--color-on-dark);color:var(--color-accent)}.on-dark .button--primary:hover{background:var(--color-surface)}.on-dark .button--secondary{border-color:var(--color-on-dark);color:var(--color-on-dark)}.on-dark .button--secondary:hover{background:var(--color-on-dark);color:var(--color-text)}.button--icon{inline-size:var(--tap);padding:0}.actions{gap:var(--space-inner);flex-wrap:wrap;display:flex}.text-link{align-items:center;gap:var(--space-inner);color:var(--color-accent);font-weight:var(--weight-semibold);text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.on-dark .text-link{color:var(--color-on-dark)}.arrow{transition:transform var(--duration-fast) var(--ease)}a:hover>.arrow,.button:hover>.arrow{transform:translate(.25rem)}.site-header{z-index:20;padding-block:var(--space-inner);background:var(--color-bg);color:var(--color-text);border-block-end:1px solid var(--color-line);transition:background-color var(--duration-base) var(--ease), color var(--duration-base) var(--ease), padding var(--duration-base) var(--ease), border-color var(--duration-base) var(--ease);position:sticky;inset-block-start:0}.site-header--overlay{padding-block:var(--space-item);color:var(--color-on-dark);background:0 0;border-block-end-color:#0000;position:fixed;inset-inline:0}.site-header--overlay.is-solid{padding-block:var(--space-inner);background:var(--color-bg);color:var(--color-text);border-block-end-color:var(--color-line)}.site-header__bar{align-items:center;gap:var(--space-group);display:flex}.brand{align-items:center;gap:var(--space-inner);margin-inline-end:auto;text-decoration:none;display:flex}.brand__meca{block-size:1.625rem;inline-size:auto}.brand__name{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-body);white-space:nowrap;border-inline-start:1px solid;padding-inline-start:var(--space-inner);line-height:1.2}.main-nav{gap:var(--space-item);display:flex}.main-nav a{font-weight:var(--weight-medium);text-decoration:none}.main-nav a:hover,.main-nav a[aria-current=page]{text-underline-offset:.4em;text-decoration:underline}.header-actions .button{min-block-size:var(--tap-min)}.site-header--overlay:not(.is-solid) .button--primary{background:var(--color-on-dark);color:var(--color-accent)}.site-header--overlay:not(.is-solid) .button--secondary{border-color:var(--color-on-dark);color:var(--color-on-dark)}.header-mobile{align-items:center;gap:var(--space-inner);display:none}.header-mobile .button{inline-size:var(--tap-min);min-block-size:var(--tap-min)}.site-header--overlay:not(.is-solid) .header-mobile .button{border-color:var(--color-on-dark);color:var(--color-on-dark)}.menu-button{place-content:center;gap:var(--space-bind);inline-size:var(--tap-min);block-size:var(--tap-min);color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:50%;display:grid}.menu-button__line{block-size:1.5px;inline-size:1.125rem;transition:transform var(--duration-fast) var(--ease);background:currentColor;display:block}.menu-button[aria-expanded=true] .menu-button__line:first-child{transform:translateY(calc((var(--space-bind) + 1.5px) / 2)) rotate(45deg)}.menu-button[aria-expanded=true] .menu-button__line:last-child{transform:translateY(calc((var(--space-bind) + 1.5px) / -2)) rotate(-45deg)}.mobile-menu{z-index:15;padding:var(--scroll-offset) var(--gutter) var(--space-group);background:var(--color-dark);position:fixed;inset:0;overflow-y:auto}.mobile-menu[hidden]{display:none}.mobile-menu__links a{padding-block:var(--space-inner);border-block-end:1px solid var(--color-line-on-dark);font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-h3);text-decoration:none;display:block}.site-header.is-menu-open{background:var(--color-dark);color:var(--color-on-dark);border-block-end-color:#0000}.site-header.is-menu-open .header-mobile .button{border-color:var(--color-on-dark);color:var(--color-on-dark)}@media (width<=59.99em){.main-nav,.header-actions{display:none}.header-mobile{display:flex}.site-header__bar{gap:var(--space-inner)}.brand{gap:var(--space-bind)}.brand__meca{block-size:1.375rem}.brand__name{font-size:var(--text-small);padding-inline-start:var(--space-bind)}}@media (width<=22.49em){.header-call{display:none}}@media (width>=60em){.mobile-menu{display:none}}.hero{background:var(--color-placeholder);align-items:flex-end;min-block-size:min(100svh,61.25rem);display:flex;position:relative;overflow:hidden}.hero__media{position:absolute;inset:0}.hero__media img{object-fit:cover;object-position:var(--hero-position,50% 50%);filter:saturate(.8);block-size:100%;inline-size:100%}.hero__media:after{content:"";background:var(--overlay-hero);position:absolute;inset:0}.hero__body{padding-block:calc(var(--scroll-offset) + var(--space-group)) var(--space-group);position:relative}.hero h1{max-inline-size:15ch}.hero .lead{max-inline-size:52ch}.status-row{gap:var(--space-inner) var(--space-item);border-block-start:1px solid var(--color-line-on-dark);font-size:var(--text-small);color:var(--color-on-dark-muted);flex-wrap:wrap;padding-block-start:var(--space-item);display:flex}.open-status{display:none}.js .open-status{visibility:hidden;align-items:center;gap:var(--space-bind);font-weight:var(--weight-semibold);display:inline-flex}.js .open-status[data-status]{visibility:visible}.status-row .open-status{color:var(--color-on-dark);flex-basis:100%}.status-dot{background:var(--color-status-closed);border-radius:50%;block-size:.5625rem;inline-size:.5625rem}[data-status=open] .status-dot{background:var(--color-status-open)}[data-status=lunch] .status-dot{background:var(--color-status-lunch)}.status-line{font-size:var(--text-small);color:var(--color-text-muted)}.status-line .open-status{color:var(--color-text)}.feature-grid{gap:var(--space-item);display:grid}@media (width>=47.5em){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card--full{grid-column:1/-1}}.feature-card{background:var(--color-placeholder);align-items:flex-end;min-block-size:clamp(23.75rem,22rem + 10vw,38.75rem);text-decoration:none;display:flex;position:relative;overflow:hidden}.feature-card--full{min-block-size:clamp(27.5rem,24rem + 14vw,45rem)}.feature-card img{object-fit:cover;block-size:100%;inline-size:100%;transition:transform var(--duration-slow) var(--ease);position:absolute;inset:0}.feature-card:hover img{transform:scale(1.02)}.feature-card:after{content:"";background:var(--overlay-card);position:absolute;inset:0}.feature-card__body{z-index:1;gap:var(--space-inner);max-inline-size:40rem;padding:var(--space-group) var(--space-item) var(--space-item);display:grid;position:relative}.feature-card__link{text-decoration:none}.feature-card__link:after{content:"";z-index:1;position:absolute;inset:0}.feature-card__link:focus-visible{outline:none}.feature-card:has(.feature-card__link:focus-visible){outline:3px solid var(--color-accent);outline-offset:3px}.feature-card:hover .button--primary{background:var(--color-surface)}.feature-card:hover .button>.arrow{transform:translate(.25rem)}.feature-card__body .button{justify-self:start;margin-block-start:var(--space-bind)}.price__terms{font-family:var(--font-body);font-size:var(--text-small);font-weight:var(--weight-medium);line-height:var(--leading-small);letter-spacing:0;color:var(--color-on-dark-muted);margin-block-start:var(--space-bind);display:block}.link-rows{border-block-start:1px solid var(--color-line-strong);padding:0;list-style:none}.link-rows a{justify-content:space-between;align-items:center;gap:var(--space-item);min-block-size:var(--tap);padding-block:var(--space-inner);border-block-end:1px solid var(--color-line);font-size:var(--text-lead);font-weight:var(--weight-medium);line-height:var(--leading-lead);text-decoration:none;display:flex}.link-rows a:hover{color:var(--color-accent)}.link-rows__note{font-size:var(--text-small);font-weight:var(--weight-regular);color:var(--color-text-muted);display:block}.service-category+.service-category{margin-block-start:var(--space-group)}.service-category h3{padding-block-end:var(--space-inner)}.service-category h3 a{text-decoration:none}.service-category h3 a:hover{text-underline-offset:.15em;text-decoration:underline}.service-category__more{margin-block-start:var(--space-item)}.facts{gap:var(--space-item);padding:0;list-style:none;display:grid}@media (width>=47.5em){.facts{column-gap:var(--space-group);grid-template-columns:repeat(3,minmax(0,1fr))}.facts--two{grid-template-columns:repeat(2,minmax(0,1fr))}}.facts>li{border-block-start:1px solid var(--color-line-strong);padding-block-start:var(--space-inner)}.facts__logo{block-size:3rem;inline-size:auto}.facts strong{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-h3);line-height:var(--leading-h3);letter-spacing:var(--tracking-h3);display:block}.article-list{gap:var(--space-group);padding:0;list-style:none;display:grid}@media (width>=47.5em){.article-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.article-list a{text-decoration:none}.article-list a:hover h2{text-underline-offset:.15em;text-decoration:underline}.page-header{padding-block:var(--space-group);border-block-end:1px solid var(--color-line)}.page-header__grid{gap:var(--space-item);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=60em){.page-header__grid{column-gap:var(--space-group);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.breadcrumbs{gap:var(--space-bind) var(--space-inner);font-size:var(--text-small);color:var(--color-text-muted);flex-wrap:wrap;margin-block-end:var(--space-item);padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--color-text-subtle);margin-inline-end:var(--space-inner)}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}@media (width<=47.49em){.breadcrumbs li:not(:nth-last-child(2)){display:none}.breadcrumbs li+li:before{content:none}.breadcrumbs a{text-decoration:underline}}.service-price__amount{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2);font-variant-numeric:tabular-nums}.trust-marks{align-items:center;gap:var(--space-inner) var(--space-item);flex-wrap:wrap;display:flex}.trust-marks__logo{block-size:2.5rem;inline-size:auto}.faq details{border-block-end:1px solid var(--color-line)}.faq summary{justify-content:space-between;gap:var(--space-item);padding-block:var(--space-item);cursor:pointer;font-size:var(--text-lead);font-weight:var(--weight-semibold);line-height:var(--leading-lead);list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .icon{transition:transform var(--duration-fast) var(--ease);margin-block-start:.2em}.faq details[open] summary .icon{transform:rotate(45deg)}.faq__answer{max-inline-size:var(--measure);padding-block-end:var(--space-item)}.prose{max-inline-size:var(--measure)}.prose>*+*{margin-block-start:var(--space-inner)}.prose>h2,.prose>h3{margin-block-start:var(--space-group)}.prose>h2+*,.prose>h3+*{margin-block-start:var(--space-inner)}.prose ul,.prose ol{padding-inline-start:1.25em}.prose li+li{margin-block-start:var(--space-bind)}.prose a{color:var(--color-accent)}.prose strong{font-weight:var(--weight-semibold)}.hours{gap:var(--space-bind);display:grid}.hours>div{column-gap:var(--space-item);flex-wrap:wrap;display:flex}.hours dt{min-inline-size:10rem;font-weight:var(--weight-semibold)}.hours dd{overflow-wrap:anywhere}.location-map{aspect-ratio:4/3;border:1px solid var(--color-line);inline-size:100%;display:block}.site-footer{padding-block:var(--space-section-m) var(--space-group);background:var(--color-dark)}.site-footer__grid{gap:var(--space-group);display:grid}@media (width>=60em){.site-footer__grid{grid-template-columns:6fr 3fr 3fr}}.site-footer__contact>*{font-family:var(--font-heading);font-weight:var(--weight-heading);font-size:var(--text-h3);line-height:1.3;text-decoration:none;display:block}.site-footer__contact .site-footer__hours{font-family:var(--font-body);font-weight:var(--weight-regular);font-size:var(--text-lead);color:var(--color-on-dark-muted)}.site-footer h2{font-family:var(--font-body);font-size:var(--text-small);font-weight:var(--weight-semibold);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-on-dark-muted)}.site-footer ul{padding:0;list-style:none}.site-footer li+li{margin-block-start:var(--space-bind)}.site-footer ul a,.site-footer__legal a,.site-footer__legal button{color:var(--color-on-dark-muted);text-decoration:none}.site-footer ul a:hover,.site-footer__legal a:hover,.site-footer__legal button:hover{color:var(--color-on-dark);text-decoration:underline}.site-footer__legal{gap:var(--space-inner) var(--space-item);border-block-start:1px solid var(--color-line-on-dark);font-size:var(--text-small);color:var(--color-on-dark-muted);flex-wrap:wrap;margin-block-start:var(--space-group);padding-block-start:var(--space-item);display:flex}.site-footer__legal button{font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0}.consent{inset-inline:var(--space-inner);z-index:40;max-inline-size:36rem;max-block-size:calc(100svh - 2 * var(--space-inner));padding:var(--space-item);border:1px solid var(--color-line);background:var(--color-bg);position:fixed;inset-block-end:var(--space-inner);overflow-y:auto}.consent[hidden]{display:none}.consent-pending .consent[hidden]{display:block}.consent .actions .button{flex:10rem}.consent__choices{gap:var(--space-inner);border:0;padding:0;display:grid}.consent__choice{gap:var(--space-bind) var(--space-inner);grid-template-columns:auto 1fr;align-items:start;display:grid}.consent__choice input{block-size:1.25rem;inline-size:1.25rem;accent-color:var(--color-accent);margin:.15em 0 0}.consent__choice span{grid-column:2}@media (prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transition:opacity var(--duration-slow) var(--ease), transform var(--duration-slow) var(--ease);transform:translateY(1rem)}.js .reveal.is-in{opacity:1;transform:none}.js .fade-in{opacity:0;transition:opacity var(--duration-slow) var(--ease)}.js .fade-in.is-loaded{opacity:1}}.visually-hidden:not(:focus,:active){clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.nowrap{white-space:nowrap}.skip-link{z-index:30;padding:var(--space-inner) var(--space-item);background:var(--color-bg);color:var(--color-text);position:absolute;inset-block-start:var(--space-inner);inset-inline-start:var(--space-inner)}
