:root{--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-body:"Source Sans 3", "Segoe UI", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink,#122433);background:var(--paper,#f3f6f8);margin:0;line-height:1.55}a{color:inherit}img{max-width:100%;display:block}.preview-banner{color:#fafaf9;text-align:center;background:#1c1917;padding:.6rem 1rem;font-size:.82rem}.preview-banner strong{font-weight:600}.preview-banner-note{opacity:.85}.site-header{border-bottom:1px solid color-mix(in srgb, var(--accent) 16%, transparent);backdrop-filter:blur(8px);z-index:20;background:#fffffff0;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex;position:sticky;top:0}.site-nav{flex-wrap:wrap;gap:.85rem 1.1rem;font-size:.88rem;font-weight:600;display:flex}.site-nav a{color:color-mix(in srgb, var(--ink) 72%, transparent);text-decoration:none}.site-nav a:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}@media (width<=900px){.site-nav{display:none}}.brand-lockup{align-items:center;gap:.7rem;min-width:0;display:flex}.brand-logo{object-fit:cover;border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);background:#fff;border-radius:8px;flex-shrink:0;width:44px;height:44px}.brand-logo.is-mono{object-fit:contain;border:none;padding:0}.brand{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.05rem;font-weight:650;line-height:1.2}.call-btn{background:var(--accent);color:#fff;white-space:nowrap;letter-spacing:.01em;border-radius:3px;justify-content:center;align-items:center;gap:.4rem;padding:.75rem 1.15rem;font-weight:700;text-decoration:none;transition:transform .15s,filter .15s;display:inline-flex}.call-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.call-btn-lg{padding:.95rem 1.4rem;font-size:1.05rem}.phone-modal{background:0 0;border:none;max-width:calc(100vw - 2rem);padding:0}.phone-modal::backdrop{backdrop-filter:blur(3px);background:#0c10148c}.phone-modal-card{width:min(22rem,100%);color:var(--ink,#122433);text-align:center;background:#fff;border-radius:6px;margin:auto;padding:1.75rem 1.5rem 1.5rem;position:relative;box-shadow:0 18px 48px #00000038}.phone-modal-close{color:color-mix(in srgb, var(--ink) 55%, transparent);cursor:pointer;background:0 0;border:none;padding:.25rem .4rem;font-size:1.5rem;line-height:1;position:absolute;top:.45rem;right:.55rem}.phone-modal-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--ink) 62%, transparent);margin:0 0 .5rem;font-size:.82rem;font-weight:700}.phone-modal-number{font-family:var(--font-display);letter-spacing:-.02em;color:var(--accent);margin:0 0 .65rem;font-size:clamp(1.65rem,5vw,2rem);font-weight:650}.phone-modal-hint{color:color-mix(in srgb, var(--ink) 68%, transparent);margin:0 0 1.25rem;font-size:.92rem}.phone-modal-actions{flex-direction:column;gap:.65rem;display:flex}.phone-modal-actions .call-btn{width:100%}.phone-modal-copy{border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);background:var(--accent-soft,#f3f6f8);color:var(--ink);font:inherit;cursor:pointer;border-radius:3px;padding:.75rem 1rem;font-weight:700}.phone-modal-copy:hover{filter:brightness(.98)}.hero{color:#fff;align-items:end;min-height:min(78vh,640px);display:grid;position:relative;overflow:hidden}.hero-media{z-index:0;position:absolute;inset:0}.hero-media img{object-fit:cover;width:100%;height:100%;animation:1.1s ease-out both hero-in;transform:scale(1.02)}.hero-scrim{background:linear-gradient(180deg, #0a0c0e40 0%, #0a0c0e73 40%, #0a0c0ee0 100%), linear-gradient(90deg, color-mix(in srgb, var(--accent) 35%, transparent) 0%, transparent 55%);z-index:1;position:absolute;inset:0}.hero-inner{z-index:2;max-width:760px;padding:3.5rem 1.35rem 2.75rem;animation:.7s ease-out both rise;position:relative}.eyebrow{letter-spacing:.08em;text-transform:uppercase;opacity:.92;margin-bottom:.85rem;font-size:.78rem;font-weight:700;display:inline-block}.hero h1{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:0 0 .9rem;font-size:clamp(2.35rem,6vw,3.6rem);line-height:1.05}.hero-lead{opacity:.94;max-width:34rem;margin:0 0 1.5rem;font-size:clamp(1.05rem,2.2vw,1.25rem)}.hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.hero-phone{border-bottom:1px solid #ffffff73;padding-bottom:2px;font-size:1.05rem;font-weight:700;text-decoration:none}.placeholder-chip{letter-spacing:.02em;background:#ffffff2e;border:1px dashed #ffffff8c;border-radius:3px;margin:1rem 0 0;padding:.4rem .7rem;font-size:.78rem;font-weight:700;display:inline-block}.placeholder-chip-dark{background:color-mix(in srgb, var(--accent-soft) 80%, #fff);border-color:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--ink);margin-top:.65rem}.trust-strip{border-bottom:1px solid color-mix(in srgb, var(--accent) 12%, transparent);background:#fff;grid-template-columns:repeat(3,1fr);gap:0;display:grid}.trust-item{text-align:center;border-right:1px solid color-mix(in srgb, var(--accent) 10%, transparent);padding:1.1rem 1.25rem;font-size:.92rem;font-weight:600;animation:.6s ease-out both rise}.trust-item:nth-child(2){animation-delay:80ms}.trust-item:nth-child(3){border-right:none;animation-delay:.16s}@media (width<=700px){.trust-strip{grid-template-columns:1fr}.trust-item{border-right:none;border-bottom:1px solid color-mix(in srgb, var(--accent) 10%, transparent);text-align:left}.trust-item:last-child{border-bottom:none}}.section{max-width:960px;margin:0 auto;padding:3rem 1.25rem}.section-head{margin-bottom:1.35rem}.section h2{font-family:var(--font-display);letter-spacing:-.025em;margin:0 0 .35rem;font-size:clamp(1.55rem,3vw,1.9rem)}.section-sub{color:color-mix(in srgb, var(--ink) 68%, transparent);max-width:36rem;margin:0}.about-block{grid-template-columns:1.2fr .8fr;align-items:start;gap:1.5rem;display:grid}@media (width<=800px){.about-block{grid-template-columns:1fr}}.about-copy{margin:0;font-size:1.08rem}.about-copy-more{color:color-mix(in srgb, var(--ink) 78%, transparent);margin-top:1rem}.about-panel{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:4px;padding:1.25rem 1.3rem}.about-panel strong{font-family:var(--font-display);margin-bottom:.35rem;font-size:1.15rem;display:block}.about-social{margin:.85rem 0 0;font-size:.92rem}.about-social a{text-underline-offset:3px;font-weight:700;text-decoration:underline}.owner-band{border-top:1px solid color-mix(in srgb, var(--accent) 12%, transparent);border-bottom:1px solid color-mix(in srgb, var(--accent) 12%, transparent);background:#fff}.owner-grid{grid-template-columns:minmax(220px,.85fr) 1.15fr;align-items:center;gap:2rem;display:grid}@media (width<=800px){.owner-grid{grid-template-columns:1fr}}.owner-photo-wrap{max-width:360px}.owner-photo{aspect-ratio:4/5;object-fit:cover;border:1px solid color-mix(in srgb, var(--accent) 14%, transparent);border-radius:4px;width:100%}.owner-name{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .75rem;font-size:1.55rem}.photo-placeholder{text-align:center;border:2px dashed color-mix(in srgb, var(--accent) 40%, #a8a29e);width:100%;height:100%;min-height:180px;color:var(--ink);background:repeating-linear-gradient(-45deg,#f5f5f4,#f5f5f4 10px,#e7e5e4 10px 20px);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;padding:1.25rem;display:flex}.owner-placeholder{aspect-ratio:4/5;min-height:280px}.photo-placeholder-label{font-family:var(--font-display);font-size:1.05rem;font-weight:650}.photo-placeholder-hint{color:color-mix(in srgb, var(--ink) 65%, transparent);max-width:16rem;font-size:.85rem}.placeholder-note{color:color-mix(in srgb, var(--ink) 68%, transparent);max-width:40rem;margin:1rem 0 0;font-size:.9rem}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem;display:grid}.gallery-item{border:1px solid color-mix(in srgb, var(--accent) 12%, transparent);aspect-ratio:4/3;background:#fff;border-radius:4px;margin:0;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%}.gallery-item-placeholder{background:0 0;border:none}.gallery-item-placeholder .photo-placeholder{aspect-ratio:4/3;height:100%;min-height:0}.reviews-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.review-card{border:1px solid color-mix(in srgb, var(--accent) 14%, transparent);border-top:3px solid var(--accent);background:#fff;border-radius:4px;margin:0;padding:1.25rem 1.3rem}.review-card p{margin:0 0 .85rem;font-size:1.02rem;font-style:italic;line-height:1.5}.review-card footer{color:color-mix(in srgb, var(--ink) 75%, transparent);font-size:.88rem;font-style:normal;font-weight:700}.review-source{color:color-mix(in srgb, var(--ink) 55%, transparent);font-weight:500}.services{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.services li{border:1px solid color-mix(in srgb, var(--accent) 14%, transparent);background:#fff;border-radius:4px;padding:1.05rem 1.1rem 1.05rem 2.4rem;font-weight:600;transition:border-color .15s,transform .15s;position:relative}.services li:before{content:"";background:var(--accent);border-radius:1px;width:.55rem;height:.55rem;position:absolute;top:1.25rem;left:1rem}.services li:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent);transform:translateY(-2px)}.contact-band{border-top:1px solid color-mix(in srgb, var(--accent) 12%, transparent);border-bottom:1px solid color-mix(in srgb, var(--accent) 12%, transparent);background:#fff}.meta-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.meta-card{background:var(--paper);border-radius:4px;padding:1.2rem}.meta-card h3{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0 0 .45rem;font-size:.78rem}.meta-card p,.meta-card a{margin:0;font-size:1.02rem;font-weight:600;text-decoration:none}.meta-card a:hover{text-underline-offset:3px;text-decoration:underline}.closing-cta{text-align:center;background:radial-gradient(900px 280px at 50% 0%, var(--accent-soft), transparent 70%), var(--paper);padding:3.25rem 1.25rem}.closing-cta h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 .6rem;font-size:clamp(1.6rem,3.5vw,2.1rem)}.closing-cta p{max-width:28rem;color:color-mix(in srgb, var(--ink) 72%, transparent);margin:0 auto 1.4rem}.site-footer{text-align:center;color:color-mix(in srgb, var(--ink) 62%, transparent);padding:1.75rem 1.25rem 2.5rem;font-size:.88rem}.site-footer .vet-line{color:color-mix(in srgb, var(--ink) 78%, transparent);margin-top:.35rem;font-weight:600;display:block}.directory{max-width:980px;margin:0 auto;padding:2rem 1.25rem 3rem}.directory-ops{color:#92400e;letter-spacing:.04em;text-transform:uppercase;background:#fef3c7;border-radius:3px;margin-bottom:1rem;padding:.35rem .6rem;font-size:.78rem;font-weight:700;display:inline-block}.directory h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 .5rem;font-size:clamp(2rem,4vw,2.6rem)}.directory-lead{color:#57534e;max-width:40rem;margin:0 0 .75rem}.directory-vet{color:#44403c;margin:0 0 2rem;font-weight:600}.biz-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.biz-card{color:inherit;background:#fff;border:1px solid #e7e5e4;border-radius:6px;text-decoration:none;transition:border-color .15s,transform .15s;display:block;overflow:hidden}.biz-card:hover{border-color:#a8a29e;transform:translateY(-2px)}.biz-card-thumb{background-position:50%;background-size:cover;height:120px}.biz-card-body{padding:1rem 1.1rem 1.15rem}.biz-card-top{align-items:center;gap:.55rem;margin-bottom:.15rem;display:flex}.biz-card-logo{object-fit:cover;border:1px solid #e7e5e4;border-radius:7px;flex-shrink:0;width:36px;height:36px}.biz-card-logo.is-mono{object-fit:contain;border:none}.biz-card .niche-tag{text-transform:uppercase;letter-spacing:.05em;color:#78716c;font-size:.72rem;font-weight:700}.biz-card h2{font-family:var(--font-display);margin:.3rem 0 .35rem;font-size:1.15rem}.biz-card p{color:#57534e;margin:0;font-size:.92rem}.mobile-call{display:none}@media (width<=640px){.site-header{gap:.65rem;padding:.7rem .9rem}.brand{font-size:.95rem}.brand-logo{width:40px;height:40px}.site-header .call-btn{padding:.65rem .85rem;font-size:.88rem}.hero-inner{padding:2.5rem 1rem 2.25rem}.section{padding:2.25rem 1rem}.gallery-grid{grid-template-columns:1fr 1fr;gap:.55rem}.meta-grid{grid-template-columns:1fr}.mobile-call{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));z-index:30;background:#fffffff5;border-top:1px solid #e7e5e4;display:block;position:fixed;bottom:0;left:0;right:0}.mobile-call .call-btn{width:100%}body:has(.mobile-call){padding-bottom:4.75rem}.hero{min-height:70vh}}@keyframes hero-in{0%{opacity:.7;transform:scale(1.08)}to{opacity:1;transform:scale(1.02)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
