*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:76px}body{overflow-x:clip;margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:1.0625rem;line-height:1.6}h1,h2,h3,.footer-name{font-family:var(--font-head);line-height:1.08;margin:0;text-wrap:balance}p{text-wrap:pretty}a{color:inherit}img,svg{display:block}.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}.muted{color:var(--muted)}.small{font-size:.85rem}.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-ink);padding:.6rem 1rem;z-index:100}.skip:focus{left:1rem;top:1rem}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.site-header{position:sticky;top:0;z-index:20;background:var(--hero-bg);color:var(--hero-ink);border-bottom:1px solid rgb(255 255 255 / .08)}.header-row{display:flex;align-items:center;gap:1rem;padding-block:.6rem}.brand{margin-right:auto;display:inline-flex;align-items:center;text-decoration:none;font-family:var(--font-head);font-weight:800;font-size:1.4rem}.brand-logo{height:52px;width:auto}.nav{display:none}.nav ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0;white-space:nowrap}.nav a{text-decoration:none;font-size:.98rem;font-weight:500;color:#f4f4f2c7;transition:color .2s}.nav a:hover{color:var(--accent)}.header-actions{display:flex;gap:.6rem;align-items:center}.lang{display:inline-grid;place-items:center;min-width:42px;height:38px;padding-inline:.6rem;font-size:.88rem;font-weight:600;letter-spacing:.06em;text-decoration:none;border:1px solid rgb(255 255 255 / .22);border-radius:8px;transition:border-color .2s}.lang:hover{border-color:var(--accent)}.call-long{display:none}@media(min-width:900px){.nav{display:block;margin-right:1rem}.call-long{display:inline}.call-short{display:none}}.btn{display:inline-flex;align-items:center;gap:.55rem;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:700;padding:.85rem 1.3rem;border-radius:8px;border:2px solid var(--accent);transition:filter .2s,transform .15s}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn-small{padding:.5rem .85rem;font-size:.92rem}.btn-ghost{background:transparent;color:inherit;border-color:#ffffff8c}.btn-ghost:hover{border-color:var(--accent);filter:none}.text-link{display:inline-flex;gap:.35rem;align-items:center;font-weight:600}.hero{background:var(--hero-bg);color:var(--hero-ink);padding-block:clamp(2.5rem,6vw,5rem) clamp(3rem,7vw,5.5rem);position:relative}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--accent)}.hero-grid{display:grid;gap:2.5rem;align-items:center}@media(min-width:900px){.hero-grid{grid-template-columns:1.35fr 1fr;gap:4rem}}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:600;margin:0 0 1rem;color:var(--accent)}.hero h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:800;letter-spacing:-.01em}.lead{font-size:1.18rem;max-width:36rem;margin:1.25rem 0 2rem;color:#f4f4f2db}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem}.hero-meta{display:flex;flex-wrap:wrap;gap:1.25rem 2rem;align-items:center;margin-top:2rem}.rating{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;padding:.55rem 1rem .55rem .6rem;border:1px solid rgb(255 255 255 / .16);border-radius:10px;transition:border-color .2s}.rating:hover{border-color:var(--accent)}.rating-score{font-family:var(--font-head);font-weight:800;font-size:2rem;line-height:1;background:var(--accent);color:var(--accent-ink);padding:.3rem .55rem;border-radius:6px}.rating-text{display:grid;font-size:.9rem;line-height:1.35;color:#f4f4f2cc}.stars{color:var(--accent);letter-spacing:.12em;font-size:.95rem}.hero-address{display:flex;gap:.5rem;align-items:center;font-style:normal;color:#f4f4f2bf;font-size:.98rem}.hero-photo img{border-radius:14px;box-shadow:0 30px 60px -30px #000c}@media(max-width:899px){.hero-photo img{aspect-ratio:4 / 3!important}}.section{padding-block:clamp(3.5rem,8vw,6rem)}.section.alt{background:var(--surface);border-top:1px solid var(--line)}.section h2{font-size:clamp(2rem,4vw,2.9rem);font-weight:800}h2.rule:after{content:"";display:block;width:56px;height:5px;margin-top:.8rem;background:var(--accent);transform:skew(-20deg);transform-origin:left}.section h2+.prose,.section h2+.section-intro,.section h2+table{margin-top:1.5rem}.section-intro{color:var(--muted);max-width:40rem;margin:1.5rem 0 2rem}.prose{max-width:38rem;margin:0 0 1rem}.photo{margin:0}.photo img{width:100%;height:auto;object-fit:cover;border-radius:14px;background:var(--line)}.photo figcaption{font-size:.88rem;color:var(--muted);margin-top:.6rem}.split{display:grid;gap:2.5rem;align-items:center}@media(min-width:900px){.split{grid-template-columns:1.1fr 1fr;gap:4rem}}.facts{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:2rem 0 0;padding-top:1.5rem;border-top:1px solid var(--line)}.facts dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.facts dd{margin:.2rem 0 0;font-weight:600;font-size:1.05rem}.services{background:var(--hero-bg);color:var(--hero-ink)}.services .section-intro{color:#f4f4f2bf}.services-grid{display:grid;gap:2.5rem}@media(min-width:900px){.services-grid{grid-template-columns:1fr 1.15fr;gap:5rem;align-items:start}.services-side{position:sticky;top:100px}}.banner-art img{border-radius:14px;background:#000}.banner-art figcaption{color:#f4f4f299}.service-list{list-style:none;margin:0;padding:0;counter-reset:s}.service-list li{display:grid;grid-template-columns:2.4rem 1fr;gap:1rem;padding-block:1.4rem;border-top:1px solid rgb(255 255 255 / .12)}.service-list li:last-child{border-bottom:1px solid rgb(255 255 255 / .12)}.service-list li{column-gap:.75rem}@media(min-width:900px){.service-list li{grid-template-columns:3.2rem 1fr;column-gap:1rem}}.service-num{font-family:var(--font-head);font-weight:800;font-size:1.6rem;line-height:1.1;color:var(--accent);font-variant-numeric:tabular-nums}.service-list h3{font-size:clamp(1.35rem,2.4vw,1.65rem);font-weight:700}.service-list p{margin:.35rem 0 0;color:#f4f4f2c2;max-width:36rem}.reviews-grid{display:grid;gap:2.5rem}@media(min-width:900px){.reviews-grid{grid-template-columns:1fr 2.2fr;gap:4rem;align-items:start}}.score{display:grid;gap:.2rem;margin:1.75rem 0 0}.score-big{font-family:var(--font-head);font-weight:800;font-size:4.5rem;line-height:1}.score-line{font-weight:600}.score a{font-size:.92rem}.quotes{list-style:none;margin:0;padding:0;display:grid;gap:1rem}@media(min-width:700px){.quotes{grid-template-columns:1fr 1fr}.quotes li:first-child{grid-column:1 / -1}}.quotes li{background:var(--surface);border-left:5px solid var(--accent);border-radius:4px 12px 12px 4px;padding:1.4rem 1.5rem;display:flex;flex-direction:column}.quotes blockquote{margin:0}.quotes blockquote p{margin:0 0 1rem;font-size:1.1rem;line-height:1.5}.quotes li:first-child blockquote p{font-family:var(--font-head);font-weight:600;font-size:clamp(1.45rem,2.6vw,1.9rem);line-height:1.2}.quote-by{margin:auto 0 0;font-weight:600;font-size:.92rem}.visit-grid{display:grid;gap:3rem}@media(min-width:900px){.visit-grid{grid-template-columns:1fr 1.15fr;gap:5rem}}.hours{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.hours th,.hours td{text-align:left;padding:.7rem 0;border-bottom:1px solid var(--line)}.hours th{font-weight:600}.hours td{color:var(--muted);text-align:right}.hours-note{font-size:.9rem;margin-top:1rem}.contact{margin:1.5rem 0 0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.contact dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.contact dd{margin:.2rem 0 0}.contact dd a{display:inline-flex;gap:.35rem;align-items:center}.phone-big{font-family:var(--font-head);font-weight:700;font-size:1.5rem;text-decoration:none}address{font-style:normal}.map{margin-top:1.75rem;border-radius:12px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16 / 9;max-height:420px}.map iframe{width:100%;height:100%;border:0}.site-footer{background:var(--hero-bg);color:var(--hero-ink);padding-block:2.5rem;font-size:.95rem;border-top:6px solid var(--accent)}.footer-row{display:grid;gap:1.5rem}@media(min-width:900px){.footer-row{grid-template-columns:1fr auto;align-items:end}.footer-small{text-align:right}}.site-footer p{margin:.3rem 0}.site-footer .muted{color:inherit;opacity:.6}.footer-logo{height:64px;width:auto;margin-bottom:.75rem}.footer-name{font-size:1.3rem;font-weight:700}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}.site-header{transition:box-shadow .2s}.site-header.is-scrolled{box-shadow:0 8px 24px -14px #00000073}.header-row{min-height:60px}.menu-btn{display:inline-grid;place-items:center;width:44px;height:44px;margin-right:-10px;padding:0;background:none;border:0;border-radius:6px;color:inherit;cursor:pointer;flex:none}.menu-bars{display:grid;gap:5px;width:22px}.menu-bars i{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s}.menu-open .menu-bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-open .menu-bars i:nth-child(2){opacity:0}.menu-open .menu-bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.menu-panel{background:var(--hero-bg);border-top:1px solid rgb(255 255 255 / .1);height:calc(100dvh - 60px);overflow-y:auto;overscroll-behavior:contain}.menu-panel[hidden]{display:none}.mnav-list{list-style:none;margin:0;padding:.25rem 0 0}.mnav-list li{display:block;margin:0;padding:0;border:0}.mnav-list a{display:block;padding:1rem 0;border-bottom:1px solid rgb(255 255 255 / .1);color:var(--hero-ink);font-family:var(--font-head);font-size:1.3rem;text-decoration:none}.menu-foot{display:grid;gap:1rem;justify-items:center;padding-block:1.4rem 1.8rem}.menu-call{width:100%;justify-content:center}.menu-lang{color:var(--hero-ink);font-size:.95rem}html.menu-lock{overflow:hidden}@media(max-width:899px){.header-row{gap:.6rem;padding-block:.45rem}.header-actions .lang,.header-row>.lang{display:none}.header-row .btn-small{min-height:40px;padding:.4rem .8rem;font-size:.9rem}}@media(min-width:900px){.menu-btn,.menu-panel{display:none!important}}@media(prefers-reduced-motion:reduce){.menu-bars i,.site-header{transition:none}}.brand-logo{height:40px;mix-blend-mode:lighten}.nav a{padding-block:.35rem;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.nav a:hover{color:#fff;border-color:var(--accent)}@media(min-width:900px){.brand-logo{height:50px}.header-row{min-height:72px}}
