html{scroll-behavior:smooth;scroll-padding-top:24px}.brand-name{font-family:Georgia,serif!important;font-size:21px!important;line-height:1.2;font-weight:normal;white-space:normal}.nav .logo{max-width:230px}.hero{position:relative}.hero-copy{position:relative;z-index:1}.hero-copy:before{content:'';position:absolute;inset:-45px -10px auto -35px;height:135px;background:url('/assets/brand-cover.png') center/cover no-repeat;opacity:.13;pointer-events:none;z-index:-1;border-radius:50%}.button,.nav-cta{transition:transform .22s ease,box-shadow .22s ease}.button:hover,.nav-cta:hover{transform:translateY(-3px);box-shadow:0 10px 28px #18394a26}.puppy-gallery figure{transition:transform .25s ease}.puppy-gallery figure:hover{transform:translateY(-5px)}.puppy-gallery figure>a{display:block;border-radius:18px;overflow:hidden}.puppy-gallery img{transition:transform .55s ease}.puppy-gallery figure>a:hover img{transform:scale(1.035)}.puppy-gallery figcaption{font-size:14px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.arrived{opacity:1;transform:none}.faq details[open] p{animation:unfold .25s ease}.modal-open{overflow:hidden}.photo-dialog{border:0;border-radius:24px;padding:22px;background:#fffaf3;color:#18394a;max-width:min(620px,calc(100vw - 24px));max-height:92dvh;overflow:auto;box-shadow:0 30px 100px #0006}.photo-dialog[open]{animation:unfold .22s ease}.photo-dialog::backdrop{background:#0c202ad9;backdrop-filter:blur(5px)}.photo-large{display:block;max-height:62dvh;max-width:100%;width:auto;margin:auto;object-fit:contain;border-radius:12px}.photo-close{display:block;margin:0 0 12px auto}.photo-actions{display:flex;align-items:center;justify-content:space-between;margin:12px 0}.photo-dialog button{min-width:44px;min-height:44px;border:1px solid #c8b5a4;border-radius:50%;background:#fffaf3;color:#18394a;font-size:24px;cursor:pointer}.photo-enquire{display:block;text-align:center;font-size:16px}.photo-count{font-size:14px}@keyframes unfold{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:600px){.nav .logo{max-width:150px}.brand-name{font-size:18px!important}.photo-dialog{padding:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
