:root{--aqua:#78cfe8;--aqua-soft:#e7f7fc;--aqua-deep:#1c86a3;--purple:#6748a6;--purple-deep:#513986;--purple-soft:#efe9fa;--lavender:#b0a4dc;--gold:#d2b04d;--brand:var(--purple);--brand-strong:var(--purple-deep);--brand-soft:var(--purple-soft);--accent:var(--aqua);--accent-soft:var(--aqua-soft);--accent-deep:var(--aqua-deep);--ink:#2c2440;--ink-soft:#4a4460;--muted:#7b7590;--surface:#ffffff;--surface-2:#eaf6fb;--base:#fbfdff;--border:#e7e0f0;--font-script:"Pacifico", cursive;--font-display:"Baloo 2", "Segoe UI", system-ui, sans-serif;--font-body:"Nunito", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--radius:14px;--radius-lg:22px;--shadow:0 1px 2px rgba(44,36,64,.06), 0 8px 24px rgba(44,36,64,.08);--shadow-lg:0 12px 40px rgba(44,36,64,.16);--container:1120px;--gap:clamp(1rem, 3vw, 2rem);--section-y:clamp(3.5rem, 7vw, 6rem);--header-h:72px}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--ink-soft);background:var(--base);line-height:1.62;font-size:1.02rem;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}img{height:auto}a{color:var(--brand);text-decoration-color:color-mix(in srgb,var(--brand) 40%,transparent);text-underline-offset:3px}a:hover{color:var(--brand-strong)}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:1.15;font-weight:700;letter-spacing:-.01em}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.section{padding-block:var(--section-y)}.section-alt{background:var(--surface-2)}.center{text-align:center}.section-head{max-width:46rem;margin-inline:auto;margin-bottom:clamp(2rem,4vw,3rem)}.section-title{font-size:clamp(1.7rem,4vw,2.5rem)}.section-intro{color:var(--muted);font-size:1.1rem;margin-top:.75rem}.eyebrow{display:inline-flex;align-items:center;gap:.4rem;color:var(--brand);font-weight:700;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:.6rem}.center .eyebrow{justify-content:center}.note{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.95rem;margin-top:1rem}.card-soft{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(1.25rem,3vw,2rem)}.prose{max-width:44rem}.prose h1{font-size:clamp(2rem,5vw,2.8rem);margin-bottom:1rem}.prose p{margin-bottom:1rem}.icon{width:1.35rem;height:1.35rem;flex:none}.icon-sm{width:1.05rem;height:1.05rem}.icon-lg{width:1.9rem;height:1.9rem}.star{color:var(--gold)}.check{color:var(--brand)}.btn{--btn-bg:var(--brand);--btn-fg:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body);font-weight:700;font-size:1rem;padding:.7rem 1.25rem;border-radius:999px;border:1.5px solid transparent;background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;text-decoration:none;transition:transform .12s ease,background .2s ease,box-shadow .2s ease;line-height:1}.btn:hover{transform:translateY(-1px);color:var(--btn-fg)}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 6px 16px rgba(103,72,166,.3)}.btn-primary:hover{background:var(--brand-strong);color:#fff}.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.6);backdrop-filter:blur(2px)}.btn-ghost:hover{background:rgba(255,255,255,.24);color:#fff}.btn-link{background:0 0;color:#fff;padding-inline:.5rem}.btn-link:hover{color:#fff;text-decoration:underline}.btn-sm{padding:.5rem .9rem;font-size:.92rem}.btn-lg{padding:.85rem 1.6rem;font-size:1.05rem}.btn-block{width:100%}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--base) 88%,transparent);backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid transparent;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.site-header.is-stuck{border-bottom-color:var(--border);box-shadow:0 4px 20px rgba(44,36,64,7%)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--header-h)}.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--accent-soft);color:var(--brand);border:1.5px solid color-mix(in srgb,var(--aqua) 45%,transparent)}.brand-paw{width:1.5rem;height:1.5rem}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-name{font-family:var(--font-script);font-weight:400;font-size:1.5rem;color:var(--brand);line-height:1.1}.brand-sub{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}.nav{display:flex;align-items:center}.nav-list{display:flex;align-items:center;gap:.15rem;list-style:none;padding:0}.nav-link{display:inline-block;padding:.5rem .65rem;border-radius:9px;white-space:nowrap;color:var(--ink-soft);text-decoration:none;font-weight:600;font-size:.93rem}.nav-link:hover{color:var(--brand-strong);background:var(--brand-soft)}.nav-cta{margin-left:.5rem}.nav-cta .btn span{white-space:nowrap}.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer}.nav-toggle-close{display:none}.hero{position:relative;color:#fff;overflow:hidden;background:radial-gradient(circle at 10% 24%,rgba(255,255,255,.16) 0 20px,transparent 21px),radial-gradient(circle at 20% 62%,rgba(255,255,255,.1) 0 13px,transparent 14px),radial-gradient(circle at 6% 82%,rgba(255,255,255,.1) 0 9px,transparent 10px),linear-gradient(135deg,#4a2f7d 0%,#6748a6 46%,#2f93b4 100%)}.hero-inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;padding-block:clamp(3rem,7vw,5.5rem)}.hero-copy{max-width:40rem}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);padding:.4rem .85rem;border-radius:999px;font-size:.85rem;font-weight:700;backdrop-filter:blur(2px);margin-bottom:1.25rem}.hero-heading{color:#fff;font-size:clamp(2.2rem,5.4vw,3.6rem);font-weight:800;letter-spacing:-.02em}.hero-tagline{font-family:var(--font-script);color:var(--gold);font-size:clamp(1.3rem,3vw,2rem);margin-top:.6rem}.hero-sub{color:rgba(255,255,255,.92);font-size:clamp(1.02rem,2.2vw,1.2rem);margin-top:1rem;max-width:34rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem;align-items:center}.hero-figure{margin:0}.hero-photo{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:5px solid rgba(255,255,255,.7);aspect-ratio:4/3;object-fit:cover}.feature-grid{list-style:none;padding:0;display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.6rem;box-shadow:var(--shadow);text-align:center;transition:transform .15s ease,box-shadow .2s ease}.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.feature-icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--accent-soft);color:var(--brand);margin-bottom:1rem}.feature-title{font-size:1.15rem;margin-bottom:.4rem}.feature-text{color:var(--muted);font-size:.96rem}.service-grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:start}.service-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem 1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column;height:100%}.service-card--featured{border-color:var(--brand);box-shadow:0 12px 34px rgba(103,72,166,.2)}.service-badge{position:absolute;top:-.8rem;left:50%;transform:translateX(-50%);background:var(--gold);color:#43370f;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.3rem .8rem;border-radius:999px;white-space:nowrap}.service-name{font-size:1.35rem}.service-tagline{color:var(--muted);font-size:.95rem;margin:.25rem 0 1.1rem;min-height:3.25em}.service-price{font-family:var(--font-display);font-weight:700;color:var(--brand);font-size:1.15rem;margin:.5rem 0 1rem}.service-includes{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.55rem}.service-includes li{display:flex;align-items:flex-start;gap:.5rem;font-size:.95rem;color:var(--ink-soft)}.service-card .btn{margin-top:auto}.breeds{margin-top:var(--gap);display:grid;grid-template-columns:1fr 1.3fr;gap:1.5rem;align-items:center}.breeds-heading{font-size:1.4rem;margin-bottom:.3rem}.breeds-text p{color:var(--muted)}.breeds-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.5rem}.breeds-list li{display:flex;align-items:center;gap:.5rem;background:var(--brand-soft);color:var(--ink);border-radius:10px;padding:.5rem .75rem;font-size:.92rem;font-weight:600}.breeds-list .icon{color:var(--brand)}.area-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}.area-text .note{display:flex;align-items:flex-start}.area-text .btn{margin-top:1.25rem}.area-suburbs .area-radius{color:var(--muted);margin-bottom:1rem}.suburb-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}.suburb-list li{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--ink)}.suburb-list .icon{color:var(--accent-deep)}.section-hours{padding-block:clamp(2.5rem,5vw,4rem)}.hours-card{display:flex;align-items:center;gap:1.5rem;max-width:44rem;margin-inline:auto;background:linear-gradient(135deg,var(--brand) 0%,var(--accent-deep) 130%);color:#fff;border-radius:var(--radius-lg);padding:clamp(1.5rem,4vw,2.25rem);box-shadow:var(--shadow-lg)}.hours-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.16);color:var(--gold);flex:none}.hours-card .eyebrow{color:var(--gold)}.hours-value{font-family:var(--font-display);font-size:clamp(1.3rem,3vw,1.8rem);font-weight:700;color:#fff}.hours-note{color:rgba(255,255,255,.85);font-size:.95rem;margin-top:.4rem;display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.hours-note a{color:#fff}.about-inner{max-width:52rem;margin-inline:auto;text-align:center}.about-body{color:var(--ink-soft);font-size:1.08rem;margin-top:.5rem}.about-stats{list-style:none;padding:0;margin-top:2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.about-stats li{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.5rem;min-width:150px}.about-stats strong{font-family:var(--font-display);font-size:1.2rem;color:var(--brand)}.about-stats span{font-size:.85rem;color:var(--muted)}.gallery-group{margin-top:2.75rem}.gallery-group:first-of-type{margin-top:1.5rem}.gallery-group-head{margin-bottom:1.25rem}.gallery-group-title{font-size:1.4rem;color:var(--brand-strong);margin:0}.gallery-group-intro{color:var(--muted);margin:.35rem 0 0;max-width:60ch}.gallery-grid{columns:3 220px;column-gap:1rem}.gallery-item{position:relative;margin:0 0 1rem;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--accent-soft);break-inside:avoid}.gallery-link{display:block;width:100%;cursor:zoom-in}.gallery-item img{display:block;width:100%;height:auto;transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item figcaption{position:absolute;inset:auto 0 0 0;padding:.5rem .75rem;font-size:.82rem;color:#fff;background:linear-gradient(transparent,rgba(44,36,64,.72))}.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:var(--gap)}.review-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow);margin:0}.review-stars{display:flex;gap:.15rem;margin-bottom:.75rem}.review-quote{font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--ink);line-height:1.5}.review-author{color:var(--muted);font-weight:700;margin-top:1rem;font-style:normal}.review-empty{max-width:40rem;margin-inline:auto}.review-empty p+p{margin-top:.5rem;color:var(--muted)}.contact-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap);max-width:46rem;margin-inline:auto}.contact-action{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;padding:2rem 1.5rem;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease}.contact-action:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--brand);color:var(--ink)}.contact-action .contact-ic{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:var(--accent-soft);color:var(--brand);margin-bottom:.5rem}.contact-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.contact-value{font-family:var(--font-display);font-weight:600;font-size:clamp(1.05rem,2.4vw,1.35rem);color:var(--ink);word-break:break-word}.contact-action:hover .contact-value{color:var(--brand)}.contact-hint{font-size:.85rem;color:var(--muted)}.contact-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 2rem;margin-top:2rem}.contact-meta p{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink-soft);font-weight:600}.contact-meta .icon{color:var(--accent-deep)}.site-footer{background:var(--ink);color:rgba(255,255,255,.78);padding-block:clamp(2.5rem,5vw,4rem)1.5rem;margin-top:auto}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}.footer-brand .brand-mark{background:rgba(255,255,255,.1);color:var(--gold);border-color:rgba(255,255,255,.18);margin-bottom:.75rem}.footer-name{font-family:var(--font-script);font-size:1.5rem;color:#fff}.footer-tagline{color:var(--gold);margin-top:.2rem}.footer-insured{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-size:.9rem}.footer-heading{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem;margin-top:1rem;font-family:var(--font-display);font-weight:700}.footer-heading:first-child{margin-top:0}.footer-list{list-style:none;padding:0;display:grid;gap:.5rem}.footer-list a,.footer-col p{color:rgba(255,255,255,.78);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.footer-list a:hover{color:#fff}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);margin-top:2.5rem;padding-top:1.5rem;font-size:.85rem}.footer-social{display:flex;gap:.75rem}.footer-social a{color:rgba(255,255,255,.8)}.footer-social a:hover{color:var(--gold)}.lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);background:rgba(24,16,36,.92);backdrop-filter:blur(4px);animation:lb-fade .18s ease}.lightbox[hidden]{display:none}.lightbox-figure{margin:0;display:flex;flex-direction:column;align-items:center;max-width:100%}.lightbox-img{max-width:min(1100px,92vw);max-height:80vh;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.55);background:rgba(0,0,0,.2)}.lightbox-caption{color:#fff;margin-top:1rem;font-weight:700;text-align:center}.lightbox-caption[hidden]{display:none}.lightbox-count{position:absolute;top:1.1rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.75);font-size:.85rem;letter-spacing:.04em;margin:0}.lightbox-close,.lightbox-nav{position:absolute;display:grid;place-items:center;cursor:pointer;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:999px;transition:background .15s ease,transform .15s ease}.lightbox-close:hover,.lightbox-nav:hover{background:rgba(255,255,255,.28)}.lightbox-close{top:1rem;right:1rem;width:44px;height:44px}.lightbox-nav{top:50%;transform:translateY(-50%);width:52px;height:52px}.lightbox-nav:hover{transform:translateY(-50%)scale(1.06)}.lightbox-prev{left:clamp(.5rem,2vw,1.5rem)}.lightbox-next{right:clamp(.5rem,2vw,1.5rem)}.lightbox-nav[hidden]{display:none}@keyframes lb-fade{from{opacity:0}to{opacity:1}}@media(max-width:560px){.lightbox-nav{width:44px;height:44px}.lightbox-img{max-height:74vh}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:.5rem;top:-3rem;z-index:100;background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:8px;transition:top .15s ease}.skip-link:focus{top:.5rem;color:#fff}:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}@media(max-width:900px){.hero-inner{grid-template-columns:1fr}.hero-figure{order:-1;max-width:30rem}.breeds{grid-template-columns:1fr}.area-layout{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:900px){.nav-toggle{display:inline-flex}.nav-list{position:fixed;inset:var(--header-h)0 auto 0;flex-direction:column;align-items:stretch;gap:.25rem;background:var(--base);border-bottom:1px solid var(--border);padding:1rem clamp(1rem,4vw,2rem)1.5rem;box-shadow:var(--shadow-lg);transform:translateY(-8px);opacity:0;pointer-events:none;transition:transform .18s ease,opacity .18s ease;max-height:calc(100dvh - var(--header-h));overflow-y:auto}.nav-list.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-link{padding:.8rem .75rem;border-radius:10px;font-size:1.05rem}.nav-cta{margin:.5rem 0 0}.nav-cta .btn{width:100%}.nav-toggle[aria-expanded=true] .nav-toggle-open{display:none}.nav-toggle[aria-expanded=true] .nav-toggle-close{display:block}}@media(max-width:560px){.contact-actions{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.hero-actions .btn{width:100%}.brand-sub{display:none}}