:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#e4e7ee;--panel:#fff;--ink:#111318;--ink-soft:#2a303c;--muted:#5a6372;--rule:#c8ceda;--brand:#1e53b8;--brand-hover:#16449a;--brand-deep:#14346e;--bar:#0a0a0a;--hero-scrim:#0d1a32;--dialog-dim:#252525;--font:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--sticky-header-offset:calc(env(safe-area-inset-top,0px) + 4.85rem)}html{background:var(--paper);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto;min-height:100%;scroll-padding-top:var(--sticky-header-offset);margin:0;padding:0;overflow-x:clip}*,:before,:after{box-sizing:border-box}body{min-height:100vh;font:18px/1.55 var(--font);color:var(--ink-soft);background:var(--paper);margin:0;overflow-x:clip}.t-em{color:var(--ink);font-weight:600}.t-soft{color:var(--muted);font-weight:400}.skip{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip:focus{clip-path:none;z-index:1000;background:var(--brand);color:#fff;border-radius:4px;width:auto;height:auto;margin:0;padding:.5rem 1rem;text-decoration:none;position:fixed;top:.5rem;left:.5rem;overflow:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html.js-reveal .step-hero{opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--stagger,0) * 90ms);transform:translateY(1.1rem)}#app.is-booted .step-hero{opacity:1;transform:none}.reveal-scroll{opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1)}.reveal-scroll.is-visible{opacity:1}@media (prefers-reduced-motion:reduce){html.js-reveal .step-hero,.reveal-scroll{opacity:1!important;transition:none!important;transform:none!important}.nav-icon-wrap,.nav a:hover .nav-icon-wrap,.nav a:focus-visible .nav-icon-wrap{transition:none!important;transform:none!important}.nav a{transition:none!important}}.stagger-1{--stagger:1}.stagger-2{--stagger:2}.stagger-3{--stagger:3}.stagger-4{--stagger:4}.stagger-5{--stagger:5}#app{min-height:100vh;z-index:1;flex-direction:column;min-height:100dvh;display:flex;position:relative}.top{z-index:100;background:var(--panel);border-bottom:3px solid var(--brand);width:100%;position:sticky;top:0;box-shadow:0 4px #00000012}.top-inner{width:100%;max-width:960px;padding-bottom:1rem;padding-top:calc(1rem + env(safe-area-inset-top,0px));padding-left:max(1rem, env(safe-area-inset-left,0px));padding-right:max(1rem, env(safe-area-inset-right,0px));flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 auto;display:flex}.brand{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:.42rem;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-logo{object-fit:contain;border:2px solid var(--brand);border-radius:50%;flex-shrink:0;width:2.4rem;height:2.4rem;display:block}.brand-text{max-width:14.5rem;font-size:clamp(.88rem,2.2vw,1.06rem);line-height:1.15}@media (min-width:480px){.brand-text{max-width:none}}.top-toolbar{flex-shrink:0;align-items:center;gap:.45rem;margin-left:auto;display:flex}.nav-toggle{border:2px solid var(--ink);background:var(--panel);width:2.75rem;min-height:2.75rem;color:var(--ink);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;transition:background .15s;display:none}.nav-toggle:hover,.nav-toggle:focus-visible{background:var(--paper);outline:none}.nav-toggle:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 35%, transparent)}.nav-toggle-box{width:1.35rem;height:1.05rem;display:block;position:relative}.nav-toggle-bar{background:var(--ink);border-radius:1px;height:2px;transition:transform .2s,top .2s,opacity .2s;position:absolute;left:0;right:0}.nav-toggle-bar:first-child{top:0}.nav-toggle-bar:nth-child(2){top:.4rem}.nav-toggle-bar:nth-child(3){top:.8rem}.top.nav-open .nav-toggle-bar:first-child{top:.4rem;transform:rotate(45deg)}.top.nav-open .nav-toggle-bar:nth-child(2){opacity:0}.top.nav-open .nav-toggle-bar:nth-child(3){top:.4rem;transform:rotate(-45deg)}.nav{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;display:flex}.nav a{color:var(--brand);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;gap:.52rem;margin:-.35rem -.45rem;padding:.35rem .45rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,transform .2s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.nav-icon-wrap{background:color-mix(in srgb, var(--brand) 9%, transparent);border:1.5px solid color-mix(in srgb, var(--brand) 18%, transparent);border-radius:999px;flex-shrink:0;place-items:center;width:2.2rem;height:2.2rem;transition:transform .22s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s,box-shadow .2s;display:inline-grid}.nav-icon{opacity:1;flex-shrink:0;width:1.14rem;height:1.14rem}.nav-text{line-height:1.05}.nav a:hover,.nav a:focus-visible{color:var(--brand-hover);background:color-mix(in srgb, var(--brand) 6%, transparent);text-decoration:none}.nav a:hover .nav-icon-wrap,.nav a:focus-visible .nav-icon-wrap{background:color-mix(in srgb, var(--brand) 16%, transparent);border-color:color-mix(in srgb, var(--brand) 32%, transparent);box-shadow:0 3px 0 color-mix(in srgb, var(--brand) 25%, transparent);transform:scale(1.06)rotate(-4deg)}.nav a:focus-visible{outline:2px solid color-mix(in srgb, var(--brand) 45%, transparent);outline-offset:3px}@media (min-width:769px){.top-inner{flex-wrap:nowrap;gap:.5rem}.nav{flex:1;justify-content:flex-end;gap:.55rem 1.35rem;min-width:0;margin-right:0}.top-toolbar{margin-left:0}}@media (max-width:768px){.nav-toggle{display:flex}.nav{border-top:2px solid var(--rule);opacity:0;pointer-events:none;visibility:hidden;flex-direction:column;flex-basis:100%;order:3;align-items:stretch;gap:0;width:100%;max-height:0;padding:.35rem 0 .25rem;transition:max-height .35s cubic-bezier(.22,1,.36,1),opacity .25s,transform .35s cubic-bezier(.22,1,.36,1),visibility 0s linear .34s;display:flex;overflow:hidden;transform:translateY(-.5rem)}.top.nav-open .nav{opacity:1;pointer-events:auto;visibility:visible;max-height:min(28rem,100vh);transition:max-height .38s cubic-bezier(.22,1,.36,1),opacity .28s 40ms,transform .38s cubic-bezier(.22,1,.36,1),visibility linear;transform:translateY(0)}.nav a{border-bottom:1px solid var(--rule);border-radius:12px;margin:.15rem 0;padding:.75rem .6rem;font-size:1rem}body.nav-open .top{z-index:500;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:min(100vh,100dvh);position:fixed;top:0;left:0;right:0;overflow-y:auto;box-shadow:0 8px 28px #0f19321f}}@media (prefers-reduced-motion:no-preference){.nav a:active .nav-icon-wrap{transform:scale(.97)rotate(0)}.dialog-close svg{transition:transform .25s}.dialog-close:hover svg,.dialog-close:focus-visible svg{transform:rotate(90deg)}.cta-primary .cta-icon{transition:transform .2s}.cta-primary:hover .cta-icon,.cta-primary:focus-visible .cta-icon{transform:translateY(-2px)}}.hero-wrap{width:100%;position:relative}.hero-photo{background:var(--hero-scrim);flex-direction:column;justify-content:flex-end;width:100%;min-height:min(56vh,500px);max-height:min(74vh,600px);display:flex;position:relative;overflow:hidden}.hero-photo:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000 0%,#0d1a321f 22%,#0d1a328c 58%,#0d1a32eb 100%);position:absolute;inset:0}.hero-img{object-fit:cover;object-position:center 46%;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-flyer{z-index:2;width:100%;max-width:720px;padding:2rem 1.25rem 2.35rem;padding-left:max(1.25rem, env(safe-area-inset-left,0px));padding-right:max(1.25rem, env(safe-area-inset-right,0px));padding-bottom:max(2.35rem, env(safe-area-inset-bottom,0px));text-align:center;pointer-events:none;background:0 0;border-top:none;margin-left:auto;margin-right:auto;position:relative}.hero-flyer .cta-primary{pointer-events:auto}.hero-kicker-row{justify-content:center;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.hero-rule{background:linear-gradient(90deg,#0000,#ffffff8c,#0000);flex:1;max-width:5rem;height:2px}.hero-kicker{letter-spacing:.26em;text-transform:uppercase;color:#ffffffe0;text-shadow:0 1px 8px #00000073;margin:0;font-size:.72rem;font-weight:800}.hero-display{letter-spacing:-.03em;text-transform:uppercase;color:#fff;text-shadow:0 2px 20px #00000073,0 0 48px #1e53b859;margin:0 0 .85rem;font-size:clamp(2rem,7vw + .25rem,3.05rem);font-style:italic;font-weight:900;line-height:1.03}.hero-bar{background:var(--bar);color:#fff;letter-spacing:.12em;text-transform:uppercase;border-radius:4px;max-width:36rem;margin:0 auto 1rem;padding:.55rem 1rem;font-size:clamp(.72rem,2vw + .35rem,.92rem);font-weight:800}.hero-tagline{color:#ebf0faf2;margin:0 0 1.35rem;font-size:1.05rem;line-height:1.45}.hero-flyer .hero-tagline .t-em{color:#fff;font-weight:700}.hero-flyer .hero-tagline .t-soft{color:#dce4f2d9}.hero-tagline strong{color:#cfe4ff;font-weight:800}.cta-primary{appearance:none;font:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;color:#fff;background:var(--brand);box-shadow:inset 0 2px 0 #fff4, 0 4px 0 var(--brand-hover);border:none;border-radius:6px;justify-content:center;align-items:center;gap:.55rem;padding:.85rem 2rem;font-size:1rem;font-weight:800;transition:transform .14s,box-shadow .14s,background .14s;display:inline-flex;position:relative}.cta-primary:hover:not(:disabled){background:var(--brand-hover);transform:translateY(-1px)}.cta-primary:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.cta-primary:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 2px #fff3}.cta-icon{flex-shrink:0;width:1.15rem;height:1.15rem}.page{width:100%;max-width:min(58rem,100%);padding:1.5rem 1.25rem 2.25rem;padding-left:max(1.25rem, env(safe-area-inset-left,0px));padding-right:max(1.25rem, env(safe-area-inset-right,0px));flex-direction:column;flex:1;gap:1.35rem;margin:0 auto;display:flex}.section h2{text-transform:uppercase;letter-spacing:.06em;color:var(--ink);border-bottom:3px solid var(--brand);margin:0 0 .65rem;padding-bottom:.5rem;font-size:1.35rem;font-weight:900;position:relative}.subhead{color:var(--brand);text-transform:uppercase;letter-spacing:.05em;margin:1rem 0 .35rem;font-size:1rem;font-weight:800}.subhead:first-of-type{margin-top:.25rem}.section p{margin:0 0 .75rem;font-size:1.02rem;line-height:1.65}.section p:last-child{margin-bottom:0}.flyer-panel{background:var(--panel);border:2px solid var(--rule);border-radius:8px;padding:1.65rem 1.55rem;box-shadow:8px 8px #0000000f}.section-tagline{margin:0 0 1rem;font-size:1rem;line-height:1.55}.section--services{isolation:isolate;box-shadow:none;background:0 0;border:none;border-radius:8px;min-height:min(28rem,72vh);margin-left:0;margin-right:0;padding:clamp(1rem,2.6vw,1.65rem);position:relative;overflow:hidden}.section--services:before{content:"";z-index:0;background:linear-gradient(185deg,#121c2c40 0%,#10182473 100%),url(/services-bay.jpg) 50% 42%/cover no-repeat;position:absolute;inset:0;transform:scale(1.02)}.section--services-panel{z-index:1;background:color-mix(in srgb, var(--panel) 78%, transparent);border:2px solid color-mix(in srgb, var(--rule) 85%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.08);backdrop-filter:blur(12px)saturate(1.08);border-radius:8px;padding:1.5rem 1.35rem .75rem;position:relative;box-shadow:8px 8px #00000014,inset 0 1px #ffffff8c}.section--services-panel>h2{border-bottom:none;margin-bottom:.35rem;padding-bottom:0}.section--services-panel>h2:after{content:"";background:var(--brand);width:3.75rem;height:3px;margin-top:.55rem;display:block}@media (prefers-reduced-motion:reduce){.section--services-panel{-webkit-backdrop-filter:none;backdrop-filter:none;background:color-mix(in srgb, var(--panel) 94%, white);border-color:var(--rule)}}@media (max-width:720px){.section--services{min-height:min(24rem,68vh)}}.service-app-grid{border-top:2px solid var(--rule);grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:.65rem .5rem;margin-top:.85rem;padding-top:.85rem;display:grid}.service-app-tile{width:100%;min-width:0;font:inherit;color:inherit;cursor:pointer;text-align:center;background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:center;gap:.4rem;margin:0;padding:.35rem .15rem .5rem;transition:opacity .35s,transform .35s cubic-bezier(.22,1,.36,1);display:flex}.service-app-tile:focus{outline:none}.service-app-tile:focus-visible{outline:3px solid var(--brand);outline-offset:2px;background:color-mix(in srgb, var(--brand) 6%, white)}.service-app-icon-wrap{border:2px solid color-mix(in srgb, var(--brand) 76%, black);background:linear-gradient(154deg, color-mix(in srgb, var(--brand) 18%, white) 0%, color-mix(in srgb, var(--brand) 8%, #e8eef6) 100%);border-radius:22%;place-items:center;width:4.4rem;height:4.4rem;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1),opacity .35s,filter .35s;display:grid;box-shadow:inset 0 1px #ffffff8c,4px 5px #00000012}.service-app-emoji{-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 1px 1px #0000001f);font-variant-emoji:emoji;font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji,sans-serif;font-size:2.08rem;line-height:1;display:block}.service-app-title{text-transform:uppercase;letter-spacing:.05em;color:var(--ink);margin:0;padding:0 .15rem;font-size:.62rem;font-weight:900;line-height:1.2;transition:font-size .35s cubic-bezier(.22,1,.36,1),opacity .35s}.service-app-body{opacity:0;pointer-events:none;flex-direction:column;gap:.35rem;width:100%;max-height:0;margin:0;padding:0 .2rem;transition:max-height .45s cubic-bezier(.22,1,.36,1),opacity .32s,margin-top .32s,padding-bottom .32s;display:flex;overflow:hidden}.service-app-lead{color:var(--ink);font-size:.82rem;font-weight:700;line-height:1.45;display:block}.service-app-more{color:var(--ink-soft);font-size:.78rem;line-height:1.55;display:block}.service-app-tile--expanded .service-app-body{opacity:1;pointer-events:auto;max-height:16rem;margin-top:.15rem;padding-bottom:.15rem}.service-app-tile--expanded .service-app-title{font-size:.72rem}.service-app-tile--expanded .service-app-icon-wrap{transform:translateY(-9px);box-shadow:10px 14px 28px #00000024,8px 10px #0000000f}@media (prefers-reduced-motion:no-preference){.service-app-grid--has-expanded .service-app-tile:not(.service-app-tile--expanded) .service-app-icon-wrap{opacity:.82;filter:saturate(.92);transform:scale(.78);box-shadow:2px 3px #0000000d}.service-app-grid--has-expanded .service-app-tile:not(.service-app-tile--expanded) .service-app-title{opacity:.72;font-size:.58rem}}@media (max-width:720px){.service-app-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem .4rem}.service-app-icon-wrap{width:3.85rem;height:3.85rem}.service-app-emoji{font-size:1.88rem}}@media (max-width:380px){.service-app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.service-app-icon-wrap,.service-app-body,.service-app-title{transition-duration:.01ms!important}.service-app-grid--has-expanded .service-app-tile:not(.service-app-tile--expanded) .service-app-icon-wrap{opacity:.85;transform:none}.service-app-tile--expanded .service-app-icon-wrap{transform:none}}.pull{margin:0 0 1rem;font-size:1.1rem;line-height:1.45}.feature-list.feature-picks{margin:.25rem 0 0;padding:0;list-style:none}.feature-list.feature-picks li{border-bottom:2px solid var(--rule);margin-bottom:0}.feature-list.feature-picks li:last-child{border-bottom:none}.feature-pick{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:.75rem;margin:0;padding:.75rem .25rem;display:flex}.feature-pick:hover{background:color-mix(in srgb, var(--brand) 5%, transparent)}.feature-pick-mark{color:var(--brand);flex-shrink:0;margin-top:.08rem}.feature-pick-svg{width:1.2rem;height:1.2rem}.feature-pick-stroke{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .45s cubic-bezier(.33,1.05,.68,1)}.feature-pick[aria-pressed=true] .feature-pick-stroke{stroke-dashoffset:0}.feature-pick-text strong{color:var(--ink);font-weight:800}.yelp-review-block{border-top:2px solid var(--rule);margin-top:1.75rem;padding-top:1.35rem}.yelp-review-block .subhead{margin:0 0 .65rem}.yelp-review-wrap{border:2px solid var(--rule);background:var(--paper);border-radius:10px;padding:1rem 1.1rem}.yelp-review{color:var(--ink-soft);font-size:.95rem;line-height:1.55;display:block}.yelp-review a{color:var(--brand);text-underline-offset:2px;font-weight:700}.yelp-review a:hover{color:var(--brand-hover,var(--brand))}.contact-callout-lede{max-width:40rem;margin:0 0 .85rem}.contact-actions{margin:0 0 1rem}.btn-secondary{appearance:none;border:2px solid var(--brand);background:var(--panel);color:var(--brand);font:inherit;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;margin:0;padding:.65rem 1.2rem;font-size:.9rem;font-weight:800;transition:background .15s,color .15s;display:inline-flex}.btn-secondary:hover{background:var(--brand);color:#fff}.btn-secondary:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.btn-secondary-icon{width:1.05rem;height:1.05rem}.contact-callout-details{margin:0;padding:0;list-style:none}.contact-callout-details li+li{border-top:2px solid var(--rule);margin-top:1rem;padding-top:1rem}.contact-callout-details strong{letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:.35rem;font-size:.72rem;font-weight:800;display:block}.contact-callout-value{line-height:1.55;display:block}.contact-callout-details a{color:var(--brand);font-weight:700}.maps-callout{border-top:2px solid var(--rule);margin-top:1.35rem;padding-top:1.25rem}.maps-callout-title{text-transform:uppercase;letter-spacing:.06em;color:var(--brand);margin:0 0 .5rem;font-size:.95rem;font-weight:800}.maps-callout-copy{max-width:44rem;margin:0 0 1rem;font-size:.98rem;line-height:1.6}.greview-spotlights{margin-bottom:1.15rem}.greview-spotlights-title{text-transform:uppercase;letter-spacing:.07em;color:var(--brand);margin:0 0 .35rem;font-size:.88rem;font-weight:800}.greview-note{margin:0 0 .85rem;font-size:.9rem;line-height:1.45}.greview-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr));align-items:stretch;gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.greview-card{border:2px solid var(--rule);background:var(--paper);border-radius:10px;height:100%;margin:0;padding:1rem 1.05rem 1.1rem;box-shadow:4px 4px #0000000c}.greview-head{border-bottom:1px solid var(--rule);margin:0 0 .55rem;padding-bottom:.55rem}.greview-author{color:var(--ink);margin:0 0 .2rem;font-size:.95rem;line-height:1.35}.greview-meta{color:var(--muted);margin:0 0 .35rem;font-size:.72rem;line-height:1.45}.greview-stars{letter-spacing:.12em;color:#e7a400;margin:0 0 .12rem;font-size:.78rem;line-height:1.2}.greview-when{color:var(--muted);margin:0;font-size:.72rem}.greview-quote{border-left:none;margin:0;padding:0}.greview-quote p{color:var(--ink-soft);margin:0;font-size:.92rem;line-height:1.55}.maps-embed-scroller{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;border:2px solid var(--rule);background:var(--paper);border-radius:10px;outline:none;flex-flow:row;gap:0;display:flex;overflow:auto hidden}.maps-embed-scroller:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 35%, transparent)}.maps-embed-slide{scroll-snap-align:start;flex:0 0 100%;width:100%;min-height:min(380px,52vh)}.maps-embed-frame{background:var(--hero-scrim,#ddd);border:none;width:100%;height:min(380px,52vh);display:block}.maps-embed-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;margin:.85rem 0 1rem;display:flex}.maps-embed-btn{appearance:none;font:inherit;text-transform:uppercase;letter-spacing:.05em;border:2px solid color-mix(in srgb, var(--brand) 35%, var(--rule));background:var(--panel);color:var(--brand);cursor:pointer;border-radius:8px;padding:.52rem .95rem;font-size:.78rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.maps-embed-btn:hover{background:color-mix(in srgb, var(--brand) 10%, var(--panel));border-color:var(--brand)}.maps-embed-btn:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.maps-embed-btn--toggle[aria-pressed=true]{background:color-mix(in srgb, var(--brand) 16%, transparent);border-color:var(--brand)}@media (prefers-reduced-motion:reduce){.maps-embed-scroller{scroll-behavior:auto}}.btn-maps{border:2px solid var(--brand);background:color-mix(in srgb, var(--brand) 9%, var(--panel));color:var(--brand);font:inherit;text-align:center;text-transform:uppercase;letter-spacing:.03em;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;max-width:100%;padding:.7rem 1.15rem;font-size:.85rem;font-weight:800;line-height:1.35;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.btn-maps:hover{background:var(--brand);color:#fff;box-shadow:0 4px 0 color-mix(in srgb, var(--brand) 45%, var(--ink))}.btn-maps:focus-visible{outline:3px solid var(--ink);outline-offset:3px}@media (max-width:480px){.btn-maps{flex-wrap:wrap;width:100%;padding-inline:.85rem}}.foot{text-align:center;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--panel);border-top:3px solid var(--brand);padding:1.35rem 1.25rem 1.75rem;font-size:.82rem;font-weight:700}.foot p{margin:0}.contact-dialog{border:3px solid var(--ink);background:var(--panel);width:min(92vw,28rem);max-height:min(92vh,46rem);color:var(--ink-soft);opacity:0;transition:opacity .28s ease, transform .36s cubic-bezier(.22, 1, .36, 1), overlay .36s ease allow-discrete, display .36s ease allow-discrete;border-radius:10px;margin:auto;padding:0;transform:translateY(14px)scale(.98);box-shadow:14px 14px #0000002a}.contact-dialog::backdrop{background:var(--dialog-dim)}.contact-dialog[open]{opacity:1;transform:translateY(0)scale(1)}@starting-style{.contact-dialog[open]{opacity:0;transform:translateY(14px)scale(.98)}}.contact-dialog.is-closing{opacity:0;transform:translateY(10px)scale(.985)}.dialog-inner{flex-direction:column;gap:.75rem;padding:1.2rem 1.25rem 1.3rem;display:flex}.dialog-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.dialog-head h2{text-transform:uppercase;letter-spacing:.05em;color:var(--ink);margin:0;font-size:1.2rem;font-weight:900}.dialog-close{border:2px solid var(--ink);background:var(--panel);width:2.35rem;height:2.35rem;color:var(--ink);cursor:pointer;border-radius:8px;flex-shrink:0;place-items:center;margin:-.2rem -.3rem 0 0;padding:0;display:grid}.dialog-close:hover{background:var(--paper)}.dialog-close:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.dialog-close svg{width:1.1rem;height:1.1rem}.dialog-lede{color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.contact-form-bubbles{flex-direction:column;gap:1rem;margin:0;display:flex}.bubble-steps{flex-direction:column;gap:.55rem;min-height:0;display:flex;position:relative}.bubble-step{border:2px solid var(--rule);background:var(--paper);border-radius:10px;flex-direction:column;gap:0;transition:border-color .22s,box-shadow .22s,opacity .22s;display:flex;overflow:hidden}.bubble-step--pending{opacity:.88}.bubble-step--pending .bubble-step-head{cursor:default}.bubble-step--active{border-color:color-mix(in srgb, var(--brand) 55%, var(--ink));box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent);opacity:1}.bubble-step--complete{border-color:color-mix(in srgb, #0a6840 42%, var(--rule));opacity:1}.bubble-step-head{color:inherit;font:inherit;text-align:left;background:0 0;border:none;align-items:flex-start;gap:.55rem;margin:0;padding:.55rem .65rem;display:flex}.bubble-step-head--clickable{cursor:pointer}.bubble-step-head--clickable:hover{background:color-mix(in srgb, var(--brand) 7%, transparent)}.bubble-step-head--clickable:focus-visible{outline:3px solid var(--brand);outline-offset:-2px}.bubble-step-badge{border:2px solid var(--ink);width:1.55rem;height:1.55rem;color:var(--ink);border-radius:8px;flex-shrink:0;place-items:center;font-size:.72rem;font-weight:900;line-height:1;display:grid}.bubble-step--complete .bubble-step-badge{color:#0a6840;background:#0a68401f;border-color:#0a6840}.bubble-step-head-text{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.bubble-step-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--brand);font-size:.72rem;font-weight:800}.bubble-step-check{opacity:0;flex-shrink:0;width:1.15rem;height:1.15rem;margin-top:.15rem;transition:opacity .2s,transform .22s cubic-bezier(.22,1,.36,1);transform:scale(.85)}.bubble-step--complete .bubble-step-check{opacity:1;color:#0a6840;transform:scale(1)}.bubble-step-recap{color:var(--muted);word-break:break-word;font-size:.74rem;font-weight:600;line-height:1.35;display:none}.bubble-step--complete .bubble-step-recap:not(:empty){display:block}.bubble-step-body{flex-direction:column;gap:.75rem;padding:0 .65rem .85rem;display:none}.bubble-step--active .bubble-step-body{display:flex}.bubble-contact-note{color:var(--muted);margin:-.25rem 0 0;font-size:.74rem;line-height:1.45}.bubble-contact-note em{color:var(--ink-soft);font-style:normal;font-weight:800}.bubble-field--service .bubble-label{margin-bottom:.25rem}.contact-service-icons{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;display:grid}.contact-service-tile{border:2px solid var(--rule);background:var(--panel);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:.35rem;margin:0;padding:.35rem .15rem .45rem;transition:border-color .15s,background .15s,transform .12s;display:flex}.contact-service-tile:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--rule))}.contact-service-tile:has(input:checked){border-color:var(--brand);background:color-mix(in srgb, var(--brand) 10%, var(--panel));box-shadow:0 0 0 2px color-mix(in srgb, var(--brand) 22%, transparent)}.contact-service-tile:focus-within{outline:3px solid var(--ink);outline-offset:2px}.contact-service-icon-wrap{aspect-ratio:1;background:color-mix(in srgb, var(--brand) 9%, var(--paper));width:100%;max-width:3rem;color:var(--brand);border-radius:14px;place-items:center;margin-inline:auto;display:grid}.contact-service-icon{width:66%;height:66%}.contact-service-caption{letter-spacing:.02em;text-transform:uppercase;text-align:center;color:var(--ink-soft);max-width:100%;font-size:.62rem;font-weight:800;line-height:1.15}.contact-service-hint{margin-top:.35rem}@media (max-width:380px){.contact-service-icons{grid-template-columns:repeat(3,minmax(0,1fr))}}.bubble-field{flex-direction:column;gap:.35rem;display:flex}.bubble-label{letter-spacing:.08em;text-transform:uppercase;color:var(--brand);font-size:.68rem;font-weight:800}.bubble-optional{letter-spacing:normal;text-transform:none;color:var(--muted);font-size:.65rem;font-weight:600}.bubble-input{box-sizing:border-box;border:2px solid var(--rule);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:6px;padding:.6rem .8rem;font-size:1rem;line-height:1.45;transition:border-color .15s,box-shadow .15s}.bubble-input::placeholder{color:#8a92a1}.bubble-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 22%, transparent);outline:none}.bubble-textarea{resize:vertical;min-height:6rem}.bubble-field-hint{color:#b30000;min-height:1.05rem;margin:0;font-size:.76rem;font-weight:600}.bubble-field--invalid .bubble-input{border-color:#c22}.bubble-toolbar{flex-direction:column;gap:.75rem;display:flex}.bubble-dots{justify-content:center;gap:.45rem;display:flex}.bubble-dot{background:var(--rule);cursor:pointer;border:none;border-radius:999px;width:.55rem;height:.55rem;padding:0;transition:transform .2s,background .2s}.bubble-dot:hover{background:color-mix(in srgb, var(--brand) 45%, var(--rule));transform:scale(1.12)}.bubble-dot--active{background:var(--brand);transform:scale(1.15)}.bubble-dot--done:not(.bubble-dot--active){background:color-mix(in srgb, #0a6840 72%, var(--rule))}.bubble-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.bubble-btn{appearance:none;font:inherit;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border:2px solid #0000;border-radius:6px;padding:.52rem 1.1rem;font-size:.82rem;font-weight:800;transition:background .15s,color .15s,transform .12s}.bubble-btn--ghost{background:var(--panel);border-color:var(--rule);color:var(--ink-soft)}.bubble-btn--ghost:hover{border-color:var(--brand);color:var(--brand)}.bubble-btn--primary{background:var(--brand);color:#fff;border-color:var(--brand-deep)}.bubble-btn--primary:hover{background:var(--brand-hover)}.bubble-btn--primary:active{transform:scale(.98)}.bubble-btn:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.bubble-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.form-status{min-height:1.2rem;margin:0;font-size:.82rem;font-weight:600;display:block}.form-status[data-state=success]{color:#0a6840}.form-status[data-state=error]{color:#b30000}@media (prefers-reduced-motion:reduce){.feature-pick-stroke,.bubble-dot,.bubble-btn,.contact-dialog,.service-app-icon-wrap,.bubble-step,.bubble-step-check,.top.nav-open .nav,.nav{transition-duration:.01ms!important}}@media (max-width:639px){body{font-size:17px}.hero-img{object-position:center 48%}.hero-photo{min-height:min(50vh,420px);max-height:min(68vh,520px)}.hero-flyer{padding:1.5rem 1.1rem 2rem}.cta-primary{width:100%;max-width:22rem}.flyer-panel,.section--services{padding-left:max(clamp(1rem, 2.6vw, 1.65rem), env(safe-area-inset-left));padding-right:max(clamp(1rem, 2.6vw, 1.65rem), env(safe-area-inset-right))}.section--services-panel{padding-left:max(1.15rem, env(safe-area-inset-left));padding-right:max(1.15rem, env(safe-area-inset-right))}.contact-dialog{width:min(100vw - 1rem,28rem)}}@media (max-width:380px){.brand-text{max-width:11.5rem;font-size:.82rem}}
