*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;color:var(--ink,#14223a);background:var(--paper,#fff);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;font-weight:650;letter-spacing:-.045em}h1{font-size:clamp(2.5rem,5.5vw,4.9rem);margin-bottom:1.5rem}h2{font-size:clamp(2rem,3.5vw,3.1rem);margin-bottom:2rem}h3{font-size:1.4rem;letter-spacing:-.025em}p{margin-bottom:1.3rem}a{color:inherit;text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea,summary{touch-action:manipulation}button:disabled{cursor:wait;opacity:.65}img{display:block;max-width:100%;height:auto;object-fit:cover}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent,#2465bd);outline-offset:4px}.wrap{width:min(1180px,calc(100% - 4rem));margin-inline:auto}.section{padding-block:6rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.lead{font-size:1.2rem;line-height:1.7;max-width:42rem}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.875rem;font-weight:650;margin-bottom:1.3rem;color:var(--accent)}.small{font-size:.875rem;line-height:1.65}.actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:2rem}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.8rem 1.4rem;border:1px solid var(--accent);background:var(--accent);color:white;text-decoration:none;font-size:1rem;font-weight:600;border-radius:var(--radius,4px);line-height:1.3;text-align:center;transition:background .15s}.button:hover{filter:brightness(.9)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line,#cbd1d9)}.skip-link{position:fixed;top:-100px;left:1rem;background:var(--ink);color:#fff;padding:.8rem;z-index:100}.skip-link:focus{top:1rem}.demo-bar,.preview-bar{padding:.55rem 2rem;font-size:.875rem;display:flex;align-items:center;gap:1rem;background:#14223a;color:white}.demo-bar a{margin-left:auto}.preview-bar{background:#714a00;justify-content:center}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:100px}.brand{text-decoration:none;line-height:1.35;display:flex;flex-direction:column;flex-shrink:0}.brand strong{font-size:1.3rem;letter-spacing:.04em}.brand span{font-size:.875rem;margin-top:.2rem}nav{display:flex;gap:1.3rem;align-items:center}nav a{font-size:.875rem;text-decoration:none;line-height:1.4;padding-block:.8rem}nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.5rem}.menu-toggle{display:none;min-width:48px;min-height:48px;border:1px solid var(--line);background:transparent;color:inherit;border-radius:4px}.site-footer{padding:3rem 0;background:var(--ink);color:#fff}.site-footer p{font-size:.875rem;max-width:60rem;margin-bottom:.6rem}.footer-top{display:flex;justify-content:space-between;gap:2rem;margin-bottom:2rem}.footer-top>div:last-child{display:flex;gap:2rem;align-items:center}.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.service-card{padding:2rem;border:1px solid var(--line);background:var(--surface,#fff);border-radius:var(--radius,4px)}.service-card p{margin-bottom:0}.card-number{display:block;font-size:.875rem;color:var(--accent);margin-bottom:2rem}.steps{list-style:none;counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding:0}.steps li{counter-increment:steps;border-top:1px solid var(--line);padding-top:1.5rem}.steps li:before{content:"0" counter(steps);display:block;margin-bottom:2rem;font-size:.875rem;color:var(--accent)}.steps h3{font-size:1.2rem;line-height:1.3}.faq{max-width:850px}.faq details{border-top:1px solid var(--line);padding:1.3rem 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-weight:600;cursor:pointer;min-height:30px}.faq p{margin:1rem 1.5rem 0 0}.page-intro{padding:5rem 0 1rem}.page-intro h1{max-width:58rem}.form-layout{display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:start}.inquiry-form{background:var(--surface,#fff);padding:2rem;border:1px solid var(--line);border-radius:var(--radius,4px)}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.field{min-width:0}.field label{display:block;margin-bottom:.4rem;font-weight:600;font-size:.875rem}.field input,.field textarea,.field select{width:100%;min-height:48px;max-width:100%;border:1px solid #7c8793;border-radius:3px;padding:.7rem;background:white;color:#14223a}.field textarea{resize:vertical}.field input:invalid:not(:placeholder-shown){box-shadow:none}.full{grid-column:1/-1}.consent{display:flex;gap:.8rem;align-items:flex-start;font-size:.875rem;margin-block:.3rem 1rem}.consent input{width:20px;height:20px;flex-shrink:0;accent-color:var(--accent);margin-top:.25rem}.form-status{margin-top:1rem;color:var(--ink);font-weight:600}.form-status:empty{display:none}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.check-list{padding-left:1.3rem;line-height:2}.hours{border-collapse:collapse;width:100%;font-size:1rem}.hours caption{text-align:left;font-weight:650;margin-bottom:1rem}.hours td,.hours th{text-align:left;padding:.8rem 0;border-bottom:1px solid var(--line);font-weight:400}.hours th{font-weight:600}.map-placeholder{min-height:300px;border:1px dashed var(--line);background:var(--surface);padding:3rem;display:flex;flex-direction:column;justify-content:center;text-align:center}.map-placeholder strong{font-size:1.5rem}.map-placeholder span{font-size:.875rem}.mobile-cta{display:none}dialog{width:min(760px,calc(100% - 2rem));max-height:90vh;overflow:auto;border:1px solid var(--line);padding:2rem;color:var(--ink);background:var(--paper)}dialog::backdrop{background:rgba(10,20,25,.6)}.dialog-close{float:right;min-height:44px;background:transparent;border:1px solid var(--line);padding:.4rem 1rem;color:inherit;margin-bottom:1rem}.text-button{background:none;border:0;color:inherit;text-align:left;padding:0;font-size:inherit;line-height:inherit;letter-spacing:inherit;min-height:44px}[hidden]{display:none!important}em{font-family:Georgia,serif;font-weight:400}section[id]{scroll-margin-top:2rem}iframe{max-width:100%}
@media(max-width:1100px){.header-inner{gap:1rem}nav{gap:.8rem}.practice nav{gap:.55rem}.practice nav a{font-size:.875rem}.practice .brand strong{font-size:1.1rem}.two-col{gap:3rem}}
@media(max-width:900px){.wrap{width:calc(100% - 3rem)}.header-inner{min-height:82px;flex-wrap:wrap;padding-block:1rem}.menu-toggle{display:block}nav{width:100%;display:flex;flex-wrap:wrap;padding-top:.5rem;gap:.5rem 1.5rem;flex-basis:100%}.js nav:not(.open){display:none}nav a{font-size:1rem;min-height:44px}.two-col{gap:2rem}.steps{grid-template-columns:repeat(2,1fr)}.section{padding-block:4rem}.form-layout{grid-template-columns:1fr}.form-layout aside{max-width:40rem}.practice nav a{font-size:1rem}.demo-bar{flex-wrap:wrap;gap:.2rem .8rem}.demo-bar a{font-size:.875rem}.inquiry-form{padding:1.5rem}}
@media(max-width:640px){.wrap{width:calc(100% - 2rem)}.two-col,.card-grid{grid-template-columns:1fr}.section{padding-block:3.5rem}.lead{font-size:1.1rem}.form-fields{grid-template-columns:1fr}.full{grid-column:auto}.form-layout{gap:2rem}.demo-bar{padding:.5rem 1rem}.demo-bar span{display:none}.demo-bar a{margin-left:auto}.header-inner{min-height:76px}.brand strong{font-size:1.1rem}.brand span{font-size:.875rem}.page-intro{padding-top:3rem}.footer-top{flex-direction:column}.footer-top>div:last-child{flex-wrap:wrap;gap:1rem}.map-placeholder{padding:1.5rem;min-height:240px}.inquiry-form{padding:1.2rem}.steps{gap:1.4rem}.actions .button{flex:1 1 auto}.mobile-cta{display:flex;position:fixed;bottom:0;width:100%;z-index:30;background:white;border-top:1px solid var(--line);padding:.6rem 1rem;gap:.7rem;box-shadow:0 -4px 20px #0001}.mobile-cta .button{flex:1}.cleaning .site-footer{padding-bottom:7rem}dialog{padding:1.2rem}}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.demo-bar{position:sticky;top:0;z-index:40;min-height:44px}.cleaning .site-header,.practice .site-header,.shop .site-header{position:relative;top:auto}
body{overflow-wrap:anywhere}.two-col>*{min-width:0}.shop-hero>*{min-width:0}
.brand{min-width:0;max-width:100%}.header-inner>.brand{flex-shrink:1}.button{max-width:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
