*,:before,:after{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}:root{--color-page-bg:#f9fafb;--color-surface:#fff;--color-text-primary:#111827;--color-text-secondary:#4b5563;--color-accent:#0f766e;--color-border:#e5e7eb;--color-button-bg:#22c55e;--color-button-text:#fff;--color-button-bg-hover:#16a34a;--color-hero-gradient-from:#fff;--color-hero-gradient-to:#f3f4f6}.app{min-height:100vh;color:var(--color-text-primary);background-color:var(--color-page-bg)}.theme-dev-bar{top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right));z-index:50;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;max-width:min(100vw - 1.5rem,22rem);display:flex;position:fixed}.theme-picker{flex-direction:column;flex:10rem;gap:.2rem;min-width:0;display:flex}.theme-picker__label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary);padding-inline:.1rem;font-size:.65rem;font-weight:700}.theme-picker__select{border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;max-width:100%;color:var(--color-text-primary);font:inherit;cursor:pointer;border-radius:.5rem;padding:.45rem .6rem;font-size:.75rem;font-weight:600;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 4px #0f172a1f}.theme-picker__select:hover{border-color:var(--color-accent)}.theme-picker__select:focus{outline:2px solid var(--color-accent);outline-offset:1px}.app[data-theme=dark] .theme-picker__select{box-shadow:0 1px 4px #00000059}.theme-toggle{border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-primary);font:inherit;cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;padding:.45rem .75rem;font-size:.8rem;font-weight:600;transition:border-color .2s,background-color .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 1px 4px #0f172a1f}.theme-toggle:hover{border-color:var(--color-accent);transform:translateY(-1px)}.app[data-theme=dark] .theme-toggle{box-shadow:0 1px 4px #00000059}.container{width:min(100% - 2rem,960px);margin-inline:auto}.section{padding:3rem 0}.section-soft{background-color:var(--color-surface)}.hero{text-align:center;background:linear-gradient(180deg, var(--color-hero-gradient-from) 0%, var(--color-hero-gradient-to) 100%);padding:4rem 0 3rem}.logo{object-fit:contain;width:auto;max-width:180px;height:56px;margin:0 auto 1rem;display:block}.hero-image-wrap{max-width:720px;margin:2rem auto 0}.hero-image{object-fit:cover;border:1px solid var(--color-border);border-radius:12px;width:100%;max-height:min(360px,50vh);display:block}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero--animate .container>*{animation:.58s ease-out backwards heroFadeIn}.hero--animate .container>:first-child{animation-delay:40ms}.hero--animate .container>:nth-child(2){animation-delay:.1s}.hero--animate .container>:nth-child(3){animation-delay:.16s}.hero--animate .container>:nth-child(4){animation-delay:.22s}.hero--animate .container>:nth-child(5){animation-delay:.28s}.hero--animate .container>:nth-child(6){animation-delay:.34s}.hero--animate .container>:nth-child(7){animation-delay:.4s}.hero--animate .container>:nth-child(8){animation-delay:.46s}.scroll-reveal{opacity:0;transition:opacity .55s ease-out,transform .55s ease-out;transform:translateY(14px)}.scroll-reveal--visible{opacity:1;transform:translateY(0)}.footer.scroll-reveal{transform:translateY(10px)}.footer.scroll-reveal--visible{transform:translateY(0)}.eyebrow{color:var(--color-accent);margin:0;font-weight:600}h1,h2,h3{color:var(--color-text-primary);margin:0}h1{margin-top:.75rem;font-size:1.9rem;line-height:1.2}h2{text-align:center;margin-bottom:1.25rem;font-size:1.5rem}h3{margin-bottom:.5rem;font-size:1.1rem}p{margin:0;line-height:1.6}.section-description{text-align:center;max-width:620px;color:var(--color-text-secondary);margin:1rem auto 0}.grid{gap:1rem;display:grid}.card{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:12px;padding:1.2rem;transition:border-color .2s,box-shadow .25s,transform .25s}.card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #0f172a17}.app[data-theme=dark] .card:hover{box-shadow:0 12px 32px #00000059}.card--with-image{padding:0;overflow:hidden}.card-image{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.card-body{padding:1.2rem}.card-body h3{margin-top:0}.card p{color:var(--color-text-secondary)}.testimonial-avatar{object-fit:cover;border:2px solid var(--color-border);border-radius:50%;width:56px;height:56px;margin:0 auto .75rem;display:block}.testimonial-name{color:var(--color-text-primary);margin-top:.75rem;font-weight:600}.button{background-color:var(--color-button-bg);color:var(--color-button-text);border-radius:10px;margin-top:1.25rem;padding:.85rem 1.2rem;font-weight:600;transition:background-color .2s,transform .2s,box-shadow .2s;display:inline-block}.button:hover{background-color:var(--color-button-bg-hover);transform:translateY(-2px);box-shadow:0 6px 18px #0f172a24}.app[data-theme=dark] .button:hover{box-shadow:0 6px 20px #0006}.button--secondary{color:var(--color-text-primary);border:2px solid var(--color-border);box-shadow:none;background-color:#0000}.button--secondary:hover{background-color:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent)}.app[data-theme=dark] .button--secondary:hover{box-shadow:0 4px 14px #00000040}.cta{text-align:center}.cta-stack,.cta-split{margin-top:1.5rem}.cta-split{text-align:left;gap:1.5rem;max-width:880px;margin-left:auto;margin-right:auto;display:grid}.cta-image{object-fit:cover;aspect-ratio:4/3;border:1px solid var(--color-border);border-radius:12px;width:100%;display:block}.cta-actions{text-align:center;flex-direction:column;align-items:stretch;display:flex}.cta-actions .lead-form{margin-top:0}.cta-actions .button,.cta-actions .button--secondary{align-self:center}.lead-form code{font-size:.85em}.lead-form{border:1px solid var(--color-border);background-color:var(--color-surface);text-align:left;border-radius:12px;max-width:520px;margin:1.5rem auto 0;padding:1rem;position:relative}.lead-form-title{margin-bottom:.35rem;font-size:1.1rem}.lead-form-description{color:var(--color-text-secondary);margin-bottom:.9rem}.form-label{margin:.5rem 0 .3rem;font-size:.9rem;font-weight:600;display:block}.form-input{border:1px solid var(--color-border);background-color:var(--color-page-bg);width:100%;color:var(--color-text-primary);font:inherit;border-radius:8px;padding:.7rem .75rem}.form-textarea{resize:vertical}.form-select{cursor:pointer;appearance:auto}.lead-form-honeypot{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.lead-form-honeypot label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.form-submit{width:100%}.privacy-notice{background:0 0;border:none;margin-top:.5rem}.privacy-notice-summary{cursor:pointer;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;font-size:.78rem;line-height:1.35;list-style:none}.privacy-notice-summary::-webkit-details-marker{display:none}.privacy-notice-summary:before{content:"▸ ";color:var(--color-accent);font-size:1rem;display:inline-block}.privacy-notice[open] .privacy-notice-summary:before{content:"▾ "}.privacy-notice-summary:hover{color:var(--color-text-primary)}.privacy-notice-body{border-left:2px solid var(--color-border);margin-top:.45rem;padding:.5rem 0 0 .35rem}.privacy-notice-text{color:var(--color-text-secondary);margin:0;font-size:.78rem;line-height:1.45}.privacy-notice-link-wrap{margin:.45rem 0 0}.privacy-policy-link{color:var(--color-accent);font-size:.78rem;font-weight:600;text-decoration:underline}.recaptcha-v3-note{color:var(--color-text-secondary);margin-top:.5rem;font-size:.75rem}.recaptcha-wrap{justify-content:center;margin-top:.75rem;display:flex}.map-section{text-align:center}.map-section h2{margin-bottom:.5rem}.map-address{max-width:42rem;color:var(--color-text-secondary);margin:0 auto 1rem;line-height:1.5}.map-embed{aspect-ratio:16/10;border:1px solid var(--color-border);background-color:var(--color-page-bg);border-radius:12px;width:100%;max-width:100%;min-height:220px;overflow:hidden}.map-embed iframe{border:0;width:100%;height:100%;display:block}.map-link-button{margin-top:1rem}.map-card{text-align:center;border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:12px;max-width:28rem;margin:0 auto;padding:1.25rem 1.35rem;transition:box-shadow .25s,transform .25s}.map-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0f172a14}.app[data-theme=dark] .map-card:hover{box-shadow:0 10px 28px #00000059}.map-card-address{color:var(--color-text-primary);margin:0 0 1rem;font-size:1.05rem;line-height:1.5}.map-card-address-muted{color:var(--color-text-secondary);font-size:.95rem}.map-card-cta{margin-top:0}.form-feedback{margin-top:.65rem;font-size:.9rem}.form-feedback.success{color:#15803d}.form-feedback.error{color:#b91c1c}.form-feedback.hint{color:var(--color-text-secondary);font-size:.85rem}.app[data-theme=dark] .form-feedback.success{color:#4ade80}.app[data-theme=dark] .form-feedback.error{color:#f87171}.footer{border-top:1px solid var(--color-border);background-color:var(--color-surface);padding:1.25rem 0}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-left{gap:.35rem;display:grid}.brand-line{align-items:center;gap:.65rem;display:flex}.logo-small{max-width:100px;height:30px;margin:0}.button-small{border-radius:8px;margin-top:0;padding:.65rem 1rem;font-size:.95rem}.contact-lines{gap:.2rem;display:grid}.contact-line{color:var(--color-text-secondary);font-size:.92rem}.phone-link{color:var(--color-accent);font-weight:600}.trust-badges__title{text-align:center;margin-bottom:1rem}.trust-badges__list{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.trust-badges__item{border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-secondary);border-radius:999px;padding:.45rem .9rem;font-size:.88rem;font-weight:600}.faq-section .faq-list{text-align:left;max-width:640px;margin:0 auto}.faq-item{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:12px;margin-bottom:.5rem;overflow:hidden}.faq-item__summary{cursor:pointer;color:var(--color-text-primary);padding:.9rem 1rem;font-weight:600;list-style:none}.faq-item__summary::-webkit-details-marker{display:none}.faq-item__summary:before{content:"+ ";width:1.1rem;color:var(--color-accent);font-weight:700;display:inline-block}.faq-item[open] .faq-item__summary:before{content:"− "}.faq-item__body{padding:0 1rem 1rem}.faq-item__answer{color:var(--color-text-secondary);margin:0;font-size:.95rem;line-height:1.55}.business-hours__inner{text-align:center;max-width:480px;margin:0 auto}.business-hours__list{text-align:left;border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:12px;margin:0;padding:1rem 1.25rem;list-style:none}.business-hours__list li{color:var(--color-text-secondary);padding:.3rem 0;line-height:1.5}.business-hours__list li:not(:last-child){border-bottom:1px solid var(--color-border)}.floating-cta{z-index:40;padding:.65rem max(.75rem, env(safe-area-inset-right)) max(.65rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));background-color:color-mix(in srgb, var(--color-surface) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #0f172a1a}.app[data-theme=dark] .floating-cta{background-color:color-mix(in srgb, var(--color-surface) 96%, transparent);box-shadow:0 -6px 24px #0006}.floating-cta__btn{text-align:center;border-radius:10px;flex:auto;min-width:min(100%,10rem);max-width:14rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;transition:background-color .2s,transform .2s}.floating-cta__btn--primary{background-color:var(--color-button-bg);color:var(--color-button-text)}.floating-cta__btn--primary:hover{background-color:var(--color-button-bg-hover)}.floating-cta__btn--secondary{border:1px solid var(--color-border);background-color:var(--color-page-bg);color:var(--color-text-primary)}.floating-cta__btn--secondary:hover{border-color:var(--color-accent)}@media (width>=768px){.floating-cta--mobile-only{display:none}}.app--floating-cta-mobile{padding-bottom:max(4.75rem, calc(3.5rem + env(safe-area-inset-bottom)))}@media (width>=768px){.app--floating-cta-mobile{padding-bottom:0}}.app--floating-cta-all{padding-bottom:max(4.75rem, calc(3.5rem + env(safe-area-inset-bottom)))}@media (prefers-reduced-motion:reduce){.floating-cta__btn:hover{transform:none}.hero--animate .container>*{opacity:1;transform:none;animation:none!important}.scroll-reveal,.scroll-reveal--visible{opacity:1;transition:none;transform:none}.footer.scroll-reveal,.footer.scroll-reveal--visible{transform:none}.button:hover,.button--secondary:hover,.theme-toggle:hover,.card:hover,.map-card:hover{box-shadow:none;transform:none}.app[data-theme=dark] .button:hover,.app[data-theme=dark] .button--secondary:hover{box-shadow:none}}@media (width>=768px){.hero{padding:5.5rem 0 4rem}h1{font-size:2.6rem}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cta-split{grid-template-columns:1fr 1fr;align-items:start}.cta-actions{text-align:left}.cta-actions .button,.cta-actions .button--secondary{align-self:flex-start}.footer-content{flex-wrap:nowrap}}
