:root{--brand:#8db672;--forest:#3f6038;--leaf:#6f9857;--sage:#8db672;--mint:#e1f0d7;--brown:#4b3529;--white:#fff;--warm-white:#faf9f5;color:var(--brown);background:var(--white)}
.announcement{background:var(--forest)}
.site-header,.intro-section,.gallery-section{background:var(--white)}
.hero{background:radial-gradient(circle at 50% 35%,#fff 0%,#f4f9ef 65%,#e6f2dd 100%)}
.hero-copy,.hero h1,.hero-copy>p:not(.eyebrow),h2,.intro-copy .lead,.service-card h3,.gallery-caption p,.contact-card h3,.contact-links a{color:var(--brown)}
.hero-copy .eyebrow,.eyebrow{color:var(--forest)}
.services-section{background:#ebf5e5}
.services-grid{border-color:#c8dfbc}
.service-card{border-color:#c8dfbc}
.service-card:hover{background:#fff}
.service-icon,.service-note,.service-note a,.text-link,.nav a,.header-paw{color:var(--forest)}
.text-link:hover,.nav a:hover{color:var(--leaf)}
.contact-links a:hover{color:var(--leaf)}
.menu-toggle span{background:var(--forest)}
.header-paw:focus-visible{outline-color:var(--brand)}
.service-card p,.intro-copy p:not(.lead),.section-top>p,.contact-grid>div>p:not(.eyebrow){color:#665d50}
.reviews-section,.site-footer{background:var(--forest)}
.site-footer .footer-logo{display:block;width:190px;height:auto;}
.site-footer small{color:#fff;font-size:12px}
.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}
.footer-meta small{line-height:1.4}
.footer-meta a{color:#fff;text-decoration:none;border-bottom:1px solid #d6e7c8;transition:color .25s,border-color .25s}
.footer-meta a:hover{color:#d6e7c8;border-color:#d6e7c8}
.footer-meta a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.reviews-dog{display:block;width:160px;height:160px;object-fit:contain;margin:0 auto 25px}
.reviews-section:before,.reviews-section:after{content:'';width:210px;height:210px;background:var(--brand);opacity:.18;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='12' cy='22' r='6'/%3E%3Ccircle cx='25' cy='13' r='6'/%3E%3Ccircle cx='39' cy='13' r='6'/%3E%3Ccircle cx='52' cy='22' r='6'/%3E%3Cpath d='M32 28c-8 0-11 9-17 15-5 5-2 13 5 13 5 0 7-3 12-3s7 3 12 3c7 0 10-8 5-13-6-6-9-15-17-15Z'/%3E%3C/svg%3E") center/contain no-repeat}
.reviews-section:before{top:-42px;left:-25px;transform:rotate(-20deg)}
.reviews-section:after{bottom:-55px;right:-25px;transform:rotate(20deg)}
.reviews-section .light-link{color:var(--white)}
.contact-section{background:var(--warm-white);overflow:hidden}
.contact-card{background:#e9f4e2}
.gallery-caption{background:#e9f4e2}
.hero .book-label{background:var(--mint);border-color:var(--sage);box-shadow:-10px 8px 0 var(--sage);color:var(--brown)}
.book-here{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.book-here:hover{transform:translateY(-4px) rotate(0deg)}
.hero .book-label{transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1),background-color .45s ease}
.book-here:hover .book-label{background:#edf7e6;transform:rotate(0deg) translate(3px,-3px);box-shadow:-13px 11px 0 var(--sage)}
.book-arrow{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.book-here:hover .book-arrow:first-child{transform:translateX(4px)}
.book-here:hover .book-arrow:last-child{transform:rotate(180deg) translateX(4px)}
.book-arrow{background:var(--brown)}
.book-arrow:after{border-left-color:var(--brown)}
.button,.header-phone{position:relative;isolation:isolate;overflow:visible;display:inline-flex;align-items:center;justify-content:center;background:var(--mint);color:var(--brown);border:2px solid var(--sage);border-radius:4px;box-shadow:-7px 7px 0 var(--sage);padding:12px 23px;font:700 17px/1.15 'Fraunces',serif;letter-spacing:.01em;text-align:center;text-decoration:none;transform:rotate(-2deg);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1),background-color .45s ease}
.button:hover,.header-phone:hover{background:#edf7e6;color:var(--brown);transform:rotate(0deg) translate(2px,-4px);box-shadow:-10px 11px 0 var(--sage)}
.button:focus-visible,.header-phone:focus-visible,.book-here:focus-visible{outline:3px solid var(--brown);outline-offset:9px}
.button>span[aria-hidden],.header-phone>span[aria-hidden]{display:none}
.button-dark:disabled{opacity:.6;cursor:wait}
.reviews-section .button{--brown:#2c251d}
.review-links{gap:62px}
.review-links .instagram-button{transform:rotate(2deg);box-shadow:7px 7px 0 var(--sage)}
.review-links .instagram-button:hover{transform:rotate(0deg) translate(-2px,-4px);box-shadow:10px 11px 0 var(--sage)}
.header-phone{font-size:15px;white-space:nowrap}
.puppy-navigation button,.puppy-lightbox button{border:2px solid var(--sage);border-radius:4px;background:var(--mint);color:var(--brown);box-shadow:-4px 4px 0 var(--sage);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1),background-color .45s ease}
.puppy-navigation button:hover:not(:disabled),.puppy-lightbox button:hover{background:#edf7e6;color:var(--brown);transform:translate(1px,-3px);box-shadow:-6px 7px 0 var(--sage)}
.puppy-navigation button:focus-visible,.puppy-lightbox button:focus-visible{outline:2px solid var(--brown);outline-offset:5px}
.puppy-lightbox{background:rgba(31,48,26,.96)}
.puppy-lightbox .lightbox-close{font-family:'Fraunces',serif}
.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{background:var(--white)}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:var(--leaf);box-shadow:0 0 0 3px #8db67233}
.consent input{accent-color:var(--brand)}
.puppy-count{color:var(--leaf)}
.puppy-controls p span{color:var(--brand)}
.puppy-track:focus-visible,.puppy-slide:focus-visible{outline-color:var(--forest)}
@media(max-width:900px){.header-phone{font-size:13px;padding:11px 16px}}
@media(max-width:700px){.header-phone{font-size:12px;padding:10px 12px}.review-links{gap:32px}.reviews-section:before,.reviews-section:after{width:130px;height:130px}.footer-meta{align-items:center;text-align:center}}
@media(max-width:420px){.button{font-size:15px;padding:11px 17px}.header-phone{font-size:11px}}
@media(prefers-reduced-motion:reduce){.book-here,.hero .book-label,.book-arrow,.button,.header-phone,.puppy-navigation button,.puppy-lightbox button{transition:none}}
