:root{--cream:#f2ece2;--paper:#faf6ef;--ink:#302621;--olive:#5d493a;--muted:#827365;--line:#d8cdbf;--gold:#c7aa7e}body{background:var(--cream)}em{color:#967c5d}h3,.species-card h3,.animal-menu h3,.animal-editorial h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400}.announcement{background:#241d19;color:#cbbba4;padding:8px 5%;font-size:7px}header{background:#241d19;color:#eee4d4;border-bottom:1px solid #dac4a329;padding:25px 5%;position:relative;z-index:4}header .wordmark{font-size:43px}header nav{color:#dfd0bb;font-size:11px}header>.button{border:1px solid #b9a17b;color:#eadcc7;background:none;border-radius:0}header>.button:hover{background:#c7aa7e;color:#211a16}.button{border-radius:0;letter-spacing:.3px}.button:hover{background:#36291f}.button.cream:hover{background:#fff4e1;color:#302621}.luxury-hero{height:calc(100svh - 140px);min-height:720px;max-height:1100px;background:#241d19}.hero-slides{position:absolute;inset:0;z-index:-3}.hero-slide{position:absolute;inset:0 0 0 34%;opacity:0;transition:opacity 1.6s ease;overflow:hidden}.hero-slide.active{opacity:1}.hero-slide img{object-position:50% 40%;transform:scale(1.08);transition:transform 9s linear;filter:saturate(.78)}.hero-slide.active img{transform:scale(1)}.hero-slide[data-slide="1"] img{object-position:50% 45%}.hero-slide[data-slide="2"] img{object-position:50% 45%}.luxury-hero .hero-shade{background:linear-gradient(90deg,#241d19 0%,#241d19f5 28%,#241d197d 48%,#241d1900 75%),linear-gradient(0deg,#241d19ed,transparent 38%);z-index:-2}.luxury-hero .hero-copy{padding:90px 6% 150px;position:relative;z-index:1}.luxury-hero .eyebrow{display:flex;gap:14px;align-items:center;color:#cdb68f;font-size:8px;letter-spacing:2.5px;margin-bottom:30px}.luxury-hero .eyebrow i{height:1px;width:38px;background:#cdb68f}.luxury-hero h1{font-size:clamp(80px,8.6vw,133px);line-height:.94;letter-spacing:-3px;max-width:800px;font-weight:400}.luxury-hero h1 em{font-style:italic;color:#cfb48c}.luxury-hero .hero-copy>p{font-size:13px;color:#d9cdbc;line-height:1.9;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:28px}.hero-actions .button{background:#e8d9c1;color:#2b211a;border-color:#e8d9c1;padding:19px 25px;font-size:11px;min-width:225px}.hero-actions .button span{font-size:22px}.hero-discover{font-size:10px;color:#dcc9ac;display:flex;gap:18px;align-items:center}.hero-discover span{font-size:21px}.luxury-hero .contact-links a{font-size:10px;padding:8px 12px;border:0!important;background:none;backdrop-filter:none;min-height:35px}.luxury-hero .contact-links{gap:20px;margin-top:19px}.hero-signature{position:absolute;right:5%;top:32px;display:flex;align-items:center;gap:13px;color:#f3e9d7;text-shadow:0 2px 15px #0008}.hero-signature>span{font:italic 49px/1 Georgia,serif;border:1px solid #e1cfaa80;border-radius:50%;width:70px;height:70px;display:grid;place-items:center;padding-bottom:9px}.hero-signature small{font-size:6px;letter-spacing:2px;line-height:1.9}.hero-bottom{z-index:3;position:absolute;bottom:47px;left:6%;right:6%;display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid #e7d0ae3d;padding-top:25px;gap:30px}.slide-caption>span{font-size:8px;letter-spacing:2px;color:#d9c4a3}.slide-caption p{font-family:'Libre Caslon Display',Georgia,serif;font-size:23px;color:#e5d7c1;margin-top:8px}.slide-controls{display:flex;gap:20px;align-items:center}.slide-choice{position:relative;background:none;border:0;color:#c7b59b;font-size:10px;min-width:85px;text-align:left;padding:15px 0;overflow:hidden}.slide-choice span{font-size:8px;margin-right:10px;opacity:.7}.slide-choice:after,.slide-choice i{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:#d9c29c40}.slide-choice i{z-index:1;background:#efd5aa;transform:scaleX(0);transform-origin:left}.slide-choice.active{color:#fff3df}.slide-choice.active i{animation:slideProgress 1500ms linear forwards}.luxury-hero.paused .slide-choice.active i{animation-play-state:paused}#heroPause{width:38px;height:38px;background:#241d1940;border:1px solid #cdb28c66;color:#eadcc7;border-radius:50%;font-size:13px}.luxury-hero .hero-credit{font-size:6px;bottom:17px;right:6%;color:#bfae97}.hero-copy>*{animation:luxReveal 1.1s ease both}.hero-copy h1{animation-delay:.12s}.hero-copy>p{animation-delay:.24s}.hero-actions{animation-delay:.36s}.hero-copy>.contact-links{animation-delay:.48s}.promise-strip{background:#e7ddce;color:#6d5744;border-color:#d0c1ae}.intro{padding-block:110px}.intro p:first-child{color:#554335}.intro p{color:#857564}.services{background:#eae1d5}.species{background:#f5efe5}.species-card{border:0;background:none;overflow:hidden}.species-card img{height:370px;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter 1s}.species-card:hover img{transform:scale(1.035);filter:brightness(1.03)}.species-card>div{padding:25px 0;border-bottom:1px solid #cebaa1}.species-card h3{font-size:43px}.species-card p{color:#857461;font-size:12px;margin:12px 0}.species-card span{font-size:9px;letter-spacing:1.4px}.species-card:nth-child(2){margin-top:45px}.species-card:nth-child(3){margin-top:90px}.animal-care,.booking,.team{background:#e6dbcc}.young-care,.visit{background:#f2eadf}.dog-special{background:#ded0bc}.animal-menu article{border-color:#bcaa91}.lookbook{background:#302923}.lookbook h2 em{color:#c9b394}.lookbook .eyebrow,.gallery-disclaimer{color:#c9b394}.lookbook-track{scrollbar-color:#baa17f #302923}.comparison-story{background:#f2e9dc;color:#413529}.package{border-color:#cdbda7;border-radius:0;box-shadow:0 15px 40px #51361d05}.package-photo{height:330px}.review-feature{background:#e9dfd0;border-color:#cdbda7}.review-tabs [aria-pressed=true],.mobile-book{background:#5d493a}.estimate{background:#e9dfce;border-color:#c9b79b}.booking form{background:#faf5eb;border-color:#cdbda7}.booking input,.booking select,.booking textarea{background:#fffaf1;border-color:#ccbea8;color:#493b2b}.animal-editorial img,.care-image img{border-radius:0}.wa{background:#e0e9dd}.call{background:#e2e7ed}.lux-enter{opacity:0;transform:translateY(30px);transition:opacity .9s,transform .9s}.lux-enter.is-visible{opacity:1;transform:none}@keyframes slideProgress{to{transform:scaleX(1)}}@keyframes luxReveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@media(min-width:1500px){.luxury-hero .hero-copy{padding-top:110px}}@media(max-width:1050px){.luxury-hero h1{font-size:95px}.luxury-hero .hero-copy{padding-top:85px}.hero-signature{right:4%}.hero-signature small{display:none}.hero-bottom{bottom:40px}.species-card img{height:290px}}@media(max-width:700px){header{padding:18px 6%;gap:14px}header .wordmark{font-size:32px}header>.button{font-size:9px;min-height:39px;padding:10px 14px}#menuToggle{color:#e6d6bc}header nav{font-size:10px}.luxury-hero{min-height:760px;height:calc(100svh - 110px);max-height:none}.hero-slide{inset:0}.hero-slide img{object-position:58% 15%;height:65%;opacity:.9}.hero-slide[data-slide="1"] img{object-position:center 32%}.hero-slide[data-slide="2"] img{object-position:center 38%}.luxury-hero .hero-shade{background:linear-gradient(0deg,#241d19 0%,#241d19 26%,#241d19e0 41%,#241d1930 68%,#241d1920 100%)}.luxury-hero .hero-copy{padding:285px 6% 150px}.luxury-hero .eyebrow{font-size:6px;letter-spacing:1.8px;margin-bottom:20px;gap:10px}.luxury-hero .eyebrow i{width:25px}.luxury-hero h1{font-size:68px;letter-spacing:-1.7px;max-width:360px}.luxury-hero .hero-copy>p{font-size:10px;max-width:320px;margin:19px 0;line-height:1.85}.hero-actions{gap:18px}.hero-actions .button{padding:12px 15px;min-width:190px;min-height:47px;font-size:10px;gap:15px}.hero-discover{font-size:8px;gap:10px;max-width:75px}.luxury-hero .contact-links{margin-top:11px;gap:20px}.luxury-hero .contact-links a{padding-left:0;font-size:10px}.hero-signature{top:22px;right:6%}.hero-signature>span{width:53px;height:53px;font-size:37px}.hero-bottom{left:6%;right:6%;bottom:29px;padding-top:14px}.slide-caption{display:none}.slide-controls{width:100%;gap:16px}.slide-choice{flex:1;min-width:0;font-size:9px;padding:13px 0}.slide-choice span{font-size:7px;margin-right:6px}#heroPause{width:32px;height:32px;flex:none}.luxury-hero .hero-credit{bottom:8px;font-size:5px;left:6%;right:auto}.intro{padding-block:65px}.species-card:nth-child(n){margin-top:0}.species-grid{gap:35px}.species-card img{height:340px}.species-card>div{padding:22px 0}.species-card h3{font-size:38px}.package-photo{height:275px}.mobile-bar{background:#f4eddfed;border-color:#c9baa6}.promise-strip{font-size:8px}.animal-editorial h3{font-size:37px}}@media(max-width:370px){.luxury-hero h1{font-size:61px}.hero-actions{gap:13px}.hero-actions .button{min-width:180px}.luxury-hero .hero-copy{padding-top:275px}header .wordmark{font-size:28px}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide img{transform:none}.slide-choice.active i{animation:none;transform:scaleX(1)}.lux-enter{opacity:1;transform:none}.hero-copy>*{animation:none}}
/* Bespoke navigation and reservation treatment */
header{padding:28px 6%;gap:42px}header .wordmark{font-size:44px;letter-spacing:-1.4px}header .wordmark>span{letter-spacing:3px;font-size:5px;margin-top:10px}header nav a{position:relative;padding:8px 0}header nav a:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:#bfa47c;transform:scaleX(0);transform-origin:left;transition:transform .4s}header nav a:hover:after{transform:scaleX(1)}header>.button{background:#e4d3b7;border:0;color:#2b2119;min-height:48px;padding:11px 12px 11px 23px;gap:30px;letter-spacing:1px;font-size:9px;text-transform:uppercase}header>.button .arrow{border:1px solid #ad9677;border-radius:50%;padding:7px;box-sizing:content-box;width:13px;height:13px}.hero-actions .button,.reservation-invite .button{letter-spacing:1px;font-size:9px;text-transform:uppercase;min-height:58px}.reservation-invite{background:#30251f;text-align:center;color:#f1e3ce;padding-block:100px}.reservation-invite .eyebrow{color:#c9ac80}.reservation-invite h2{font-size:clamp(60px,7vw,100px)}.reservation-invite p{margin:28px 0;color:#bfad96;font-size:12px}.reservation-invite em{color:#c6a77c;font-style:italic}.reservation-invite .button{min-width:280px;justify-content:space-between}.reservation-note{display:block;font-size:8px;letter-spacing:2px;color:#ab967b;margin-top:25px}.booking-breadcrumb{padding:30px 6% 0;font-size:9px;letter-spacing:1px;color:#8f7860;display:flex;gap:15px}.appointment-main{background:#f1e9dc}.appointment-main .booking{background:transparent;padding-top:55px;align-items:start;gap:8%}.appointment-main .booking h2{font-size:clamp(60px,6vw,85px)}.appointment-main .booking h2 em{font-style:italic}.appointment-main form{padding:40px;background:#fcf8f0;box-shadow:0 24px 70px #4d36140b;border:1px solid #d4c3aa;border-radius:0;animation:luxReveal .9s .1s both}.appointment-main form>h3{font-size:38px;margin-bottom:34px}.appointment-main input,.appointment-main select,.appointment-main textarea{border-radius:0;border:0;border-bottom:1px solid #cab99f;background:#f4eee4;padding:14px 12px}.appointment-main label{font-size:10px;letter-spacing:.3px;color:#79654e;margin-bottom:22px}.appointment-main .consent{font-size:9px}.appointment-main form>.button{background:#3c2b20;border:0;min-height:60px;text-transform:uppercase;font-size:10px;letter-spacing:1.5px;transition:background .35s,transform .35s}.appointment-main form>.button:hover{background:#6c5035}.reservation-photo{height:300px;margin-top:36px;position:relative;overflow:hidden}.reservation-photo img{object-position:center 39%;transition:transform 1.2s}.reservation-photo:hover img{transform:scale(1.04)}.reservation-photo>span{position:absolute;bottom:0;left:0;right:0;background:#30251fce;color:#e6d8c1;padding:14px;font:italic 20px 'Libre Caslon Display',Georgia,serif}.appointment-main .booking-steps{margin-top:20px}.appointment-main .booking>div{animation:luxReveal .9s both}.appointment-main .estimate{background:#eae0d0}.appointment-main .estimate strong{font-size:26px}.appointment-main .estimate>div{flex-wrap:wrap}[hidden]{display:none!important}@media(max-width:700px){header{padding:20px 6%;gap:12px}header .wordmark{font-size:31px}header .wordmark>span{font-size:4px;letter-spacing:2px}header>.button{min-height:40px;font-size:7px;letter-spacing:.8px;padding:9px 10px 9px 14px;gap:12px}header>.button .arrow{padding:5px;width:10px;height:10px}.appointment-main .booking{padding-top:35px}.appointment-main .booking h2{font-size:62px}.appointment-main form{padding:28px 21px}.appointment-main form>h3{font-size:33px}.reservation-photo{height:240px}.appointment-main input,.appointment-main select,.appointment-main textarea{font-size:16px}.reservation-invite{padding-block:70px}.reservation-invite h2{font-size:59px}}

.booking-extras{border-block:1px solid #d4c3aa;margin:15px 0}.booking-extras summary{cursor:pointer;font-size:11px;padding:15px 0}.booking-extras .addons{grid-template-columns:1fr}.booking-extras input{width:18px;height:18px;min-height:18px}.booking-extras .addon{margin:0}.booking-extras .addon input{accent-color:#5d493a}
/* Compact floating signature header */
html{scroll-padding-top:100px}.announcement{display:none}header{position:sticky;top:12px;z-index:60;width:calc(100% - 48px);max-width:1220px;margin:14px auto;padding:10px 14px 10px 27px;min-height:65px;gap:26px;border:1px solid #bda57e66;border-radius:36px 14px 36px 14px;background:#292019f5;box-shadow:0 9px 30px #21170f26,inset 0 1px 0 #fff1d612;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:box-shadow .35s,background .35s}header:before{content:'';position:absolute;left:12px;top:18px;bottom:18px;width:1px;background:linear-gradient(transparent,#cdb286,transparent)}header .wordmark{font-size:30px;letter-spacing:-1px;white-space:nowrap;line-height:1}header .wordmark>span{font-size:4px;letter-spacing:1.7px;margin-top:5px}header nav{gap:27px;font-size:10px}header nav a{padding:7px 0}header>.button{border-radius:24px 9px 24px 9px;min-height:42px;padding:7px 9px 7px 19px;font-size:8px;letter-spacing:.9px;gap:18px;margin-left:0;box-shadow:inset 0 1px 0 #fff8}header>.button .arrow{padding:6px;width:12px;height:12px}header>.button:hover{transform:translateY(-1px);background:#f3e5ce}header:has(nav.open){border-bottom-right-radius:14px}.luxury-hero{height:calc(100svh - 93px)}@media(max-width:900px) and (min-width:701px){header{gap:18px}header nav{gap:16px}header nav a{font-size:9px}}@media(max-width:700px){html{scroll-padding-top:85px}header{top:8px;width:calc(100% - 24px);min-height:59px;margin:10px auto;padding:9px 12px 9px 21px;border-radius:29px 11px 29px 11px;gap:12px;flex-wrap:nowrap}header .wordmark{font-size:27px}header .wordmark>span{font-size:3.5px;letter-spacing:1.1px;margin-top:4px}header>.button{margin-left:auto;min-height:36px;padding:6px 7px 6px 12px;font-size:7px;gap:9px;letter-spacing:.5px;border-radius:20px 7px 20px 7px}header>.button .arrow{width:10px;height:10px;padding:4px}#menuToggle{padding:5px;min-height:34px;min-width:30px;flex:none}#menuToggle svg{width:18px;height:18px}header nav{position:absolute;top:calc(100% + 8px);left:0;right:0;margin:0;padding:17px 22px;background:#292019fa;border:1px solid #bda57e55;box-shadow:0 12px 28px #21170f33;border-radius:11px 25px 11px 25px;gap:18px;flex-wrap:wrap}header nav a{font-size:11px}header nav.open{display:flex}.luxury-hero{height:calc(100svh - 80px)}}@media(max-width:370px){header{gap:7px;padding-left:18px}header .wordmark{font-size:24px}header>.button{font-size:6.5px;gap:6px;padding-left:10px}}
/* Keep the floating silhouette inset from the viewport throughout scrolling. */
body{padding-top:calc(95px + env(safe-area-inset-top,0px))}header{position:fixed;top:calc(16px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);margin:0}html{scroll-padding-top:calc(105px + env(safe-area-inset-top,0px))}@media(max-width:700px){body{padding-top:calc(83px + env(safe-area-inset-top,0px))}header{top:calc(12px + env(safe-area-inset-top,0px));margin:0}html{scroll-padding-top:calc(95px + env(safe-area-inset-top,0px))}}

/* Faster portraits and stronger contact colours. */
.hero-slide{transition:opacity .35s ease}.hero-slide img{transition:transform 1.8s linear}.contact-links a.wa{background:#087b45;color:#fff;border-color:#087b45!important}.contact-links a.call{background:#1257ad;color:#fff;border-color:#1257ad!important}.contact-links a.wa:hover{background:#056337}.contact-links a.call:hover{background:#0b438c}.contact-links a svg,.hero .wa svg,.hero .call svg{color:#fff}.luxury-hero .contact-links a{padding:9px 15px;min-height:40px;border-radius:3px}.luxury-hero .contact-links a.wa{background:#087b45;color:#fff}.luxury-hero .contact-links a.call{background:#1257ad;color:#fff}header>.button{justify-content:center;padding:12px 21px;gap:0}@media(max-width:700px){header>.button{padding:10px 15px}.luxury-hero .contact-links{gap:10px}.luxury-hero .contact-links a{padding:9px 13px}}
