:root{--ink:#000;--accent:#d62828;--accent-dark:#b01e1e;--accent-soft:#fdecea;--on-accent:#fff;--bg:#fff;--bg-alt:#f5f5f7;--text:#171717;--muted:#5e5e5e;--faint:#6e6e73;--line:#d2d2d7;--line-strong:#171717;--font-display:"Satoshi", "General Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Satoshi", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--text-caption:12px;--text-body:15px;--text-sub:clamp(17px, 1.2vw + 12px, 21px);--text-heading:clamp(36px, 3.4vw + 16px, 53px);--text-display:clamp(48px, 7vw + 10px, 93px);--text-display-xl:clamp(56px, 9vw + 10px, 120px);--radius:22px;--radius-sm:8px;--radius-pill:9999px;--shadow:0 20px 40px #0000001f;--shadow-sm:0 2px 8px #00000014;--container:1200px;--gutter:clamp(16px, 4vw, 40px);--section:clamp(64px, 8vw, 120px);--ease:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.4;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);margin:0}p,figure,blockquote,dl,dd{margin:0}img,svg,iframe{max-width:100%;display:block}img{height:auto}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section)}.section-tight{padding-block:calc(var(--section) * .6)}.section-wash{background:var(--accent-soft)}.display-xl{font-size:var(--text-display-xl);letter-spacing:-.059em;font-weight:700;line-height:.9}.display{font-size:var(--text-display);letter-spacing:-.05em;font-weight:700;line-height:1}.heading{font-size:var(--text-heading);letter-spacing:-.046em;font-weight:700;line-height:1.05}.lede{font-size:var(--text-sub);color:var(--muted);letter-spacing:-.02em;line-height:1.3}.mask-line{padding-bottom:.06em;display:block;overflow:hidden}.mask-line>span{display:block}.reveal-mask{vertical-align:bottom;display:inline-block;overflow:hidden}.stars{color:var(--ink);letter-spacing:.1em;font-size:13px}.nav{z-index:40;-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);background:#ffffffeb;position:sticky;top:0}.nav[data-scrolled=true]{border-bottom:1px solid var(--line)}.nav-inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);font-size:20px;font-weight:700;text-decoration:none;display:inline-block}.wordmark .dot{color:var(--accent)}.nav-links{align-items:center;gap:28px;font-size:15px;display:flex}.nav-links a{color:var(--text);text-decoration:none}.nav-links a:hover{color:var(--ink);text-underline-offset:5px;text-decoration:underline}.nav-call{font-weight:500}.nav-toggle{display:none}@media (width<=760px){.nav-toggle{border:1px solid var(--line-strong);border-radius:var(--radius-pill);cursor:pointer;background:0 0;place-content:center;gap:6px;width:40px;height:40px;display:grid}.nav-toggle span{background:var(--ink);width:16px;height:1.5px;transition:transform .25s var(--ease);display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px)rotate(-45deg)}.nav-links{padding:24px var(--gutter) 32px;background:var(--bg);border-bottom:1px solid var(--line);opacity:0;visibility:hidden;transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;flex-direction:column;align-items:flex-start;gap:18px;font-size:21px;position:absolute;inset:100% 0 auto;transform:translateY(-8px)}.nav-links.is-open{opacity:1;visibility:visible;transform:none}}.pill{border-radius:var(--radius-pill);white-space:nowrap;justify-content:center;align-items:center;padding:13px 26px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.pill-primary{--fg:var(--on-accent);background:var(--accent)}.btn-sweep{z-index:0;color:var(--fg);transition:color .35s;position:relative;overflow:hidden}.btn-sweep:before{content:"";background:var(--ink);transform-origin:0;z-index:-1;transition:transform .35s cubic-bezier(.65,0,.35,1);position:absolute;inset:0;transform:scaleX(0)}.btn-sweep:hover:before{transform:scaleX(1)}.btn-sweep:hover{color:var(--on-accent)}.arrow-link{color:var(--ink);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.hero{text-align:center;padding-top:clamp(40px,7vw,96px)}.badge{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);align-items:center;gap:8px;margin-bottom:28px;padding:7px 14px;font-size:13px;display:inline-flex}.badge strong{color:var(--ink);font-weight:700}.hero-sub{max-width:540px;margin:28px auto 0}.hero-sub p{font-size:var(--text-sub);color:var(--muted);letter-spacing:-.02em;line-height:1.35}.hero-cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 28px;margin-top:28px;display:flex}.hero-frames{grid-template-columns:1fr;margin-top:clamp(48px,7vw,88px);padding-bottom:clamp(24px,4vw,48px);display:grid;position:relative}.frame{border:1px solid var(--ink);border-radius:var(--radius);background:var(--bg-alt);overflow:hidden}.frame img{object-fit:cover;width:100%;height:100%}.frame-wide{aspect-ratio:16/9;width:min(100%,940px);margin-inline:auto}.frame-tall{aspect-ratio:9/16;border:6px solid var(--ink);width:clamp(120px,20vw,230px);box-shadow:var(--shadow);border-radius:30px;position:absolute;bottom:0;right:max(0px,50% - 560px);transform:rotate(4deg)}@media (width<=640px){.frame-tall{border-width:4px;border-radius:20px;bottom:-8px;right:4px}}.marquee{border-block:1px solid var(--ink);margin-top:clamp(40px,6vw,72px);padding-block:18px;overflow:hidden}.marquee-track{gap:3rem;width:max-content;animation:32s linear infinite marquee-scroll;display:flex}.marquee-item{font-size:var(--text-sub);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:3rem;font-weight:500;display:inline-flex}.pole{border:1px solid var(--ink);background:repeating-linear-gradient(135deg, var(--accent) 0 4px, #fff 4px 8px, var(--ink) 8px 10px, #fff 10px 14px);border-radius:4px;width:10px;height:22px}@keyframes marquee-scroll{to{transform:translate(-50%)}}.section-head{text-align:center;max-width:820px;margin:0 auto clamp(40px,5vw,60px)}.section-head .lede{margin-top:18px}.cards{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.card{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);min-height:190px;transition:background-color .3s var(--ease);flex-direction:column;padding:24px;display:flex;position:relative}.card:hover{background:var(--bg-alt)}.card-num{color:var(--faint);margin-bottom:auto;padding-bottom:36px;font-size:13px}.card h3{letter-spacing:-.03em;font-size:21px;font-weight:500}.card p{color:var(--muted);margin-top:6px;font-size:14px}.steps{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.step{border-radius:var(--radius);background:var(--bg);border:1px solid var(--ink);padding:28px 24px}.step-num{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;margin-bottom:40px;font-weight:700;display:grid}.step h3{letter-spacing:-.04em;font-size:28px;font-weight:700}.step p{color:var(--muted);margin-top:8px}.gallery{grid-template-rows:auto auto;grid-template-columns:1.3fr .7fr;gap:16px;display:grid}.gallery .g-0{aspect-ratio:4/3}.gallery .g-1{grid-row:span 2}.gallery .g-2{aspect-ratio:16/9}.stats{border-top:1px solid var(--ink);grid-template-columns:repeat(3,1fr);margin-top:clamp(48px,6vw,80px);display:grid}.stat{padding:28px 24px 0 0}.stat+.stat{border-left:1px solid var(--line);padding-left:24px}.stat strong{font-size:var(--text-display);letter-spacing:-.05em;color:var(--ink);font-weight:700;line-height:1;display:block}.stat>span{color:var(--muted);margin-top:10px;display:block}.reviews{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.review{border:1px solid var(--line-strong);border-radius:var(--radius-sm);flex-direction:column;gap:18px;padding:28px;display:flex}.review blockquote{letter-spacing:-.015em;color:var(--text);flex:1;font-size:17px;line-height:1.4}.review figcaption{gap:2px;font-size:13px;display:grid}.review figcaption strong{color:var(--ink);font-size:15px;font-weight:500}.review figcaption span{color:var(--faint)}.review-google{background:var(--ink);color:#fff;border-color:var(--ink);transition:background-color .3s var(--ease);justify-content:flex-end;text-decoration:none}.review-google:hover{background:#171717}.review-google .stars{color:#fff}.review-google .arrow-link{color:#fff;gap:6px;margin-top:8px}.review-google .arrow-link span{color:var(--accent);transition:transform .25s ease-out}.review-google:hover .arrow-link span{transform:translate(6px)}.big-rating{font-size:var(--text-display);letter-spacing:-.05em;font-weight:700;line-height:.9}.branches{grid-template-columns:1fr 1.4fr;align-items:start;gap:40px;display:grid}.branches .lede{margin-top:12px}.branch-list{grid-template-columns:repeat(2,1fr);gap:0 24px;display:grid}.branch{border-top:1px solid var(--line);gap:2px;padding:16px 0;display:grid}.branch strong{color:var(--ink);font-weight:500}.branch span{color:var(--muted);font-size:14px}.visit{grid-template-columns:1fr 1.25fr;align-items:stretch;gap:40px;display:grid}.visit-info h3{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;margin-top:28px;margin-bottom:8px;font-size:13px;font-weight:500}.visit-info h3:first-child{margin-top:0}.visit-info p{font-size:17px}.visit-info a{text-underline-offset:4px}.visit-info .hero-cta{justify-content:flex-start;margin-top:32px}.hours div{border-bottom:1px solid var(--line);justify-content:space-between;max-width:360px;padding:8px 0;display:flex}.hours dt{color:var(--muted)}.hours .is-today dt,.hours .is-today dd{color:var(--ink);font-weight:700}.hours .is-today dt:after{content:" · today";color:var(--accent);font-weight:500}.map{border:1px solid var(--ink);border-radius:var(--radius);min-height:420px;overflow:hidden}.map iframe{border:0;width:100%;height:100%;min-height:420px}.footer{border-top:1px solid var(--ink);color:var(--muted);padding-block:40px 96px;font-size:13px}.footer-inner{flex-wrap:wrap;align-items:baseline;gap:12px 32px;display:flex}.footer a{text-decoration:none}.fab{z-index:50;color:#fff;width:48px;height:48px;box-shadow:var(--shadow-sm);background:#171717;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:20px;right:20px}@media (width<=900px){.cards,.reviews{grid-template-columns:repeat(2,1fr)}.branches,.visit{grid-template-columns:1fr}}@media (width<=640px){.cards,.reviews,.steps,.branch-list{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery .g-0{grid-column:span 2}.gallery .g-1{aspect-ratio:9/14;grid-row:auto}.gallery .g-2{aspect-ratio:auto}.stats{grid-template-columns:1fr}.stat,.stat+.stat{border-left:0;border-bottom:1px solid var(--line);padding:20px 0}.card{min-height:0}.card-num{padding-bottom:20px}.nav-call{font-weight:700}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.marquee-track{animation:none}}
