:root{--blue:#365b73;--blue-dark:#294a61;--black:#050505;--white:#fff;--mist:#eef3f5;--line:rgba(255,255,255,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--blue);color:var(--white);font-family:"Nunito",Arial,sans-serif;font-weight:600}a{color:inherit;text-decoration:none}.site-header{height:172px;max-width:1160px;margin:auto;display:grid;grid-template-columns:180px 1fr 170px;align-items:center;padding:0 22px}.logo-link{width:140px;height:140px;display:grid;place-items:center;overflow:hidden}.logo-link img{width:285px;height:285px;max-width:none;object-fit:contain;display:block}.site-header nav{display:flex;justify-content:center;gap:42px;font-size:18px;font-weight:800;white-space:nowrap}.site-header nav a{position:relative;padding:12px 0}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:2px;background:#fff;transition:right .2s ease}.site-header nav a:hover:after{right:0}.header-book{justify-self:end;background:#fff;color:var(--blue-dark);border-radius:7px;padding:13px 19px;font-size:15px;font-weight:800;box-shadow:0 6px 18px rgba(0,0,0,.12)}.header-book:hover{background:#e9f0f3}.hero{max-width:1080px;min-height:455px;margin:auto;display:grid;grid-template-columns:1.08fr 1fr;gap:82px;align-items:center;padding:25px 18px 64px}.hero-photo img{display:block;width:100%;height:305px;object-fit:cover}.hero-message{text-align:center}.hero-message h1{font-size:28px;line-height:1.08;margin:0 0 22px;font-weight:800}.hero-message p{font-size:20px;line-height:1.3;margin:0 auto 32px;max-width:500px}.black-button{display:inline-flex;align-items:center;justify-content:center;background:#000;color:#fff;border:0;border-radius:8px;min-width:126px;padding:16px 25px;font-weight:800;font-size:16px;cursor:pointer}.black-button:hover{background:#17222a}.booking{background:#f7f7f4;color:#1d3544;padding:85px 20px 95px}.section-heading{text-align:center;max-width:730px;margin:0 auto 38px}.section-heading>p,.gallery-strip div>p,.praise>p{font-size:12px;letter-spacing:.17em;font-weight:800}.section-heading h2,.gallery-strip h2{font-size:44px;margin:8px 0 12px}.section-heading span{font-size:17px;line-height:1.5}.booking-card{max-width:790px;margin:auto;background:#fff;padding:34px;border:1px solid #d8e0e4;box-shadow:0 13px 40px rgba(17,44,60,.12);text-align:center}.service-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--blue);margin-bottom:26px}.service-tabs button{border:0;border-right:1px solid var(--blue);background:white;color:var(--blue);padding:14px 8px;font:800 14px "Nunito";cursor:pointer}.service-tabs button:last-child{border:0}.service-tabs button.active{background:var(--blue);color:white}.booking-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.booking-fields:has(label:nth-child(3)){grid-template-columns:repeat(3,1fr)}.booking-card label{display:flex;flex-direction:column;text-align:left;gap:8px;margin-bottom:20px;font-size:13px;font-weight:800}.booking-card input,.booking-card select{border:1px solid #b9c7cf;border-radius:2px;padding:13px;background:white;color:#203846;font:600 14px "Nunito"}.wide-field{width:100%}.booking-card small{display:block;margin-top:15px;color:#687d89}.services{background:var(--blue-dark);padding:80px max(6vw,20px);display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.services article{border:1px solid var(--line);padding:38px;text-align:center}.services article>span{font-size:42px}.services h3{font-size:23px;margin:18px 0 12px}.services p{font-size:16px;line-height:1.6;margin:0;color:#e2edf2}.gallery-strip{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:430px;background:#243f51}.gallery-strip>img{width:100%;height:430px;object-fit:contain;padding:50px;background:#000}.gallery-strip>div{padding:60px;text-align:center}.gallery-strip h2{font-size:50px;line-height:1.05;margin:16px 0}.gallery-strip span{display:block;max-width:460px;margin:auto;font-size:17px;line-height:1.55}.praise{background:var(--blue);text-align:center;padding:95px 20px}.praise blockquote{max-width:880px;margin:30px auto 38px;font-size:39px;line-height:1.25;font-weight:800}footer{background:#000;text-align:center;padding:58px 20px 34px}footer>img{width:92px;height:92px;object-fit:contain;margin-bottom:24px}footer nav{display:flex;justify-content:center;gap:32px;font-weight:800;margin-bottom:42px}.newsletter{max-width:620px;margin:0 auto 45px;border-top:1px solid #333;padding-top:38px}.newsletter h3{font-size:18px}.newsletter>div{display:flex}.newsletter input{flex:1;min-width:0;padding:15px;border:1px solid #666;background:#111;color:#fff;font:600 14px "Nunito"}.newsletter button{background:#fff;color:#000;border:0;padding:0 20px;font-weight:800}.newsletter+ p{font-size:12px;color:#b8b8b8}.text-bubble{position:fixed;right:28px;bottom:24px;z-index:10;background:#fff;color:#111;border-radius:999px;padding:15px 24px;box-shadow:0 8px 25px rgba(0,0,0,.25);font-weight:800}
@media(max-width:900px){.site-header{height:140px;grid-template-columns:135px 1fr 130px}.logo-link{width:110px;height:110px}.logo-link img{width:230px;height:230px}.site-header nav{gap:20px;font-size:15px}.header-book{font-size:13px;padding:11px 14px}}
@media(max-width:760px){.site-header{height:120px;grid-template-columns:110px 1fr}.logo-link{width:100px;height:100px}.logo-link img{width:210px;height:210px}.site-header nav{justify-content:flex-end;gap:18px;font-size:14px}.site-header nav a:nth-child(n+3){display:none}.header-book{display:none}.hero{grid-template-columns:1fr;gap:34px;padding:20px 22px 55px}.hero-photo img{height:260px}.hero-message h1{font-size:25px}.hero-message p{font-size:17px}.booking{padding:65px 18px}.booking-card{padding:20px}.service-tabs{grid-template-columns:1fr}.service-tabs button{border-right:0;border-bottom:1px solid var(--blue)}.booking-fields,.booking-fields:has(label:nth-child(3)){grid-template-columns:1fr}.services{grid-template-columns:1fr}.gallery-strip{grid-template-columns:1fr}.gallery-strip>img{height:330px}.gallery-strip>div{padding:55px 22px}.gallery-strip h2{font-size:42px}.praise blockquote{font-size:28px}footer nav{flex-wrap:wrap;gap:15px 25px}.newsletter>div{flex-direction:column}.newsletter button{padding:15px}.text-bubble{right:14px;bottom:14px}}
.gallery-section{background:#f7f7f4;color:#1d3544;padding:90px max(4vw,20px) 105px}.gallery-heading{text-align:center;max-width:820px;margin:0 auto 48px}.gallery-heading p{font-size:12px;letter-spacing:.17em;font-weight:800}.gallery-heading h2{font-size:48px;line-height:1.08;margin:12px 0 18px}.gallery-heading span{font-size:17px;line-height:1.55}.photo-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;grid-auto-flow:dense;gap:12px}.photo-grid figure{margin:0;overflow:hidden;background:#dce5e9}.photo-grid figure:nth-child(6n+1),.photo-grid figure:nth-child(6n+4){grid-row:span 2}.photo-grid figure:nth-child(9n+3){grid-column:span 2}.photo-grid img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.photo-grid figure:hover img{transform:scale(1.035)}
@media(max-width:900px){.photo-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:200px}.photo-grid figure:nth-child(9n+3){grid-column:span 1}}
@media(max-width:600px){.gallery-section{padding:65px 14px 75px}.gallery-heading h2{font-size:36px}.photo-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:175px;gap:8px}.photo-grid figure:nth-child(6n+1),.photo-grid figure:nth-child(6n+4){grid-row:span 1}.photo-grid figure:nth-child(5n+1){grid-column:span 2;grid-row:span 2}}
.active-page:after{right:0!important}.page-hero{text-align:center;max-width:820px;margin:auto;padding:55px 20px 75px}.page-hero>p{font-size:12px;letter-spacing:.17em;font-weight:800}.page-hero h1{font-size:58px;line-height:1.04;margin:16px 0}.page-hero span{font-size:19px;line-height:1.55}.booking-page{padding-top:75px}.staff-page{background:#f7f7f4;color:#1d3544;padding:80px max(5vw,20px) 100px}.staff-card{max-width:1000px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;background:#fff;box-shadow:0 15px 45px rgba(19,46,62,.14)}.staff-card>img{width:100%;height:100%;min-height:510px;object-fit:contain;background:#000;padding:35px}.staff-card>div{padding:60px}.staff-card>div>p:first-child{font-size:12px;letter-spacing:.17em;font-weight:800}.staff-card h2{font-size:42px;margin:10px 0 18px}.staff-card p,.staff-card li{font-size:16px;line-height:1.65}.staff-card ul{padding-left:20px;margin:24px 0 32px}.gallery-page{padding-top:60px}.gallery-heading h1{font-size:50px;line-height:1.08;margin:12px 0 18px}.praise-page{background:#f7f7f4;color:#1d3544;text-align:center;padding:80px 20px 100px}.praise-page article{max-width:850px;margin:0 auto 35px;padding:44px;background:#fff;box-shadow:0 10px 35px rgba(19,46,62,.1)}.praise-page article>div{color:#d19a35;font-size:22px;letter-spacing:.2em}.praise-page blockquote{font-size:30px;font-weight:800;line-height:1.3;margin:22px auto}.praise-page article p{font-size:16px;line-height:1.6;max-width:660px;margin:auto}
@media(max-width:760px){.page-hero{padding:35px 20px 55px}.page-hero h1{font-size:42px}.staff-card{grid-template-columns:1fr}.staff-card>img{min-height:330px}.staff-card>div{padding:38px 25px}.gallery-heading h1{font-size:36px}.praise-page article{padding:30px 20px}.praise-page blockquote{font-size:24px}}
.staff-intro{max-width:900px}.solo-profile{grid-template-columns:1fr 1fr}.solo-profile>img{object-fit:cover;object-position:center;height:100%;min-height:650px;padding:0;background:#dce5e9}.solo-profile>div{display:flex;flex-direction:column;justify-content:center}.solo-profile h2{font-size:58px;line-height:1;margin:10px 0 24px}.solo-profile>div>p:not(:first-child){color:#425c69}.solo-profile .black-button{align-self:flex-start;margin-top:5px}
.about-copy{color:#425c69}.about-copy p{margin:0 0 17px;font-size:16px;line-height:1.68}.about-copy p:first-child{font-size:18px;color:#1d3544;font-weight:700}.about-copy+.black-button{margin-top:12px}
@media(max-width:760px){.solo-profile{grid-template-columns:1fr}.solo-profile>img{min-height:0;height:auto;max-height:560px;object-position:center 35%}.solo-profile h2{font-size:48px}}

/* Paws & Praise */
.praise-hero{padding-bottom:88px}.praise-page{padding:92px max(4vw,20px) 105px;text-align:left}.testimonial-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.testimonial-card{position:relative;display:flex;flex-direction:column;min-height:100%;margin:0!important;padding:44px 42px 38px!important;border-top:5px solid var(--blue);text-align:left}.testimonial-card:before{content:"“";position:absolute;right:30px;top:17px;color:#dce6ea;font-family:Georgia,serif;font-size:90px;line-height:1}.testimonial-card .review-stars{position:relative;z-index:1;color:#d19a35;font-size:18px;letter-spacing:.18em}.testimonial-card blockquote{position:relative;z-index:1;flex:1;margin:22px 0 28px;font-size:18px;line-height:1.65;font-weight:700;color:#294554}.testimonial-card .reviewer{margin:0;color:var(--blue);font-size:14px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.testimonial-card .reviewer:before{content:"— ";}.praise-cta{max-width:1120px;margin:52px auto 0;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--blue);color:#fff}.praise-cta span{font-size:23px;font-weight:800}.praise-cta .black-button{flex:0 0 auto}
@media(max-width:760px){.praise-hero{padding-bottom:62px}.praise-page{padding:62px 16px 75px}.testimonial-grid{grid-template-columns:1fr}.testimonial-card{padding:34px 25px 30px!important}.testimonial-card:before{right:19px;top:10px;font-size:76px}.testimonial-card blockquote{font-size:16px}.praise-cta{margin-top:34px;padding:30px 24px;flex-direction:column;text-align:center}.praise-cta span{font-size:20px}}

.praise-hero{position:relative;max-width:1120px;min-height:480px;margin:25px auto 75px;padding:0;overflow:hidden;display:grid;place-items:center;background:#162d3b}.praise-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.praise-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,22,30,.78),rgba(8,22,30,.28) 62%,rgba(8,22,30,.15))}.praise-hero-copy{position:relative;z-index:1;justify-self:start;max-width:600px;padding:60px;text-align:left;text-shadow:0 2px 16px rgba(0,0,0,.35)}.praise-hero-copy p{font-size:12px;letter-spacing:.17em;font-weight:800}.praise-hero-copy h1{font-size:58px;line-height:1.04;margin:16px 0}.praise-hero-copy span{font-size:19px;line-height:1.55}
@media(max-width:760px){.praise-hero{min-height:420px;margin:10px 16px 50px}.praise-hero>img{object-position:43% center}.praise-hero:after{background:rgba(8,22,30,.5)}.praise-hero-copy{align-self:end;padding:38px 24px}.praise-hero-copy h1{font-size:42px}}

.praise-hero>img{object-position:center}.praise-hero:after{background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(255,255,255,.16) 62%,rgba(255,255,255,.04))}.praise-hero-copy{color:#050505;text-shadow:0 1px 14px rgba(255,255,255,.45)}
@media(max-width:760px){.praise-hero{min-height:350px}.praise-hero>img{object-position:center}.praise-hero:after{background:linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.22))}.praise-hero-copy{color:#050505}}

.service-tabs-four{grid-template-columns:repeat(4,1fr)}.free-label{display:inline-block;margin-left:5px;padding:2px 6px;border-radius:999px;background:#e9f3ec;color:#27623b;font-size:10px;line-height:1.3;text-transform:uppercase;letter-spacing:.08em}.service-tabs-four button.active .free-label{background:#fff;color:var(--blue)}.booking-services{grid-template-columns:repeat(4,1fr)}.meet-service{position:relative}.meet-service strong{display:inline-block;margin:-4px 0 12px;padding:4px 11px;border-radius:999px;background:#fff;color:var(--blue-dark);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:1000px){.service-tabs-four{grid-template-columns:repeat(2,1fr)}.service-tabs-four button:nth-child(2){border-right:0}.service-tabs-four button:nth-child(-n+2){border-bottom:1px solid var(--blue)}.booking-services{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.service-tabs-four,.booking-services{grid-template-columns:1fr}.service-tabs-four button{border-right:0!important;border-bottom:1px solid var(--blue)!important}.service-tabs-four button:last-child{border-bottom:0!important}}

/* Full booking catalog */
.booking-intro{max-width:900px}.quick-book{padding:70px 20px 78px}.quick-book .booking-card{max-width:980px}.booking-eyebrow,.service-catalog-heading>p,.booking-contact>div>p{font-size:12px;letter-spacing:.17em;font-weight:800}.quick-book h2{font-size:38px;margin:7px 0 28px}.booking-request-fields{grid-template-columns:1.4fr 1fr 1fr!important}.service-catalog{background:#edf2f4;color:#1d3544;padding:90px max(4vw,20px) 110px}.service-catalog-heading{text-align:center;max-width:780px;margin:0 auto 48px}.service-catalog-heading h2{font-size:46px;line-height:1.1;margin:10px 0 15px}.service-catalog-heading span{font-size:17px;line-height:1.55}.service-card-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.service-detail-card{background:#fff;border:1px solid #d6e0e4;border-top:5px solid var(--blue);padding:34px 34px 30px;box-shadow:0 9px 27px rgba(24,52,68,.08)}.featured-service{border-top-color:#d19a35;background:#fffdf8}.service-card-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.service-icon{font-size:34px}.service-duration{padding:6px 10px;border-radius:999px;background:#e8eff2;color:#365b73;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.free-service{background:#e7f3e9;color:#2f6840}.service-detail-card h3{font-size:28px;line-height:1.15;margin:18px 0 8px}.service-kicker{margin:-2px 0 12px;color:#66808d;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.service-summary{min-height:52px;margin:0 0 22px;color:#536b77;font-size:15px;line-height:1.6}.service-detail-card details{border-top:1px solid #d9e2e6;border-bottom:1px solid #d9e2e6}.service-detail-card summary{padding:15px 2px;cursor:pointer;color:var(--blue);font-weight:800;list-style:none}.service-detail-card summary::-webkit-details-marker{display:none}.service-detail-card summary:after{content:"+";float:right;font-size:21px;line-height:1}.service-detail-card details[open] summary:after{content:"–"}.service-full{padding:2px 2px 17px;color:#405b69;font-size:14px;line-height:1.62}.service-full p{margin:0 0 13px}.service-full ul{margin:0 0 13px;padding-left:20px}.service-book-link{display:inline-block;margin-top:20px;color:var(--blue);font-weight:800;border-bottom:2px solid var(--blue)}.booking-contact{padding:65px max(7vw,24px);display:flex;align-items:center;justify-content:space-between;gap:50px;background:#243f51}.booking-contact h2{font-size:36px;margin:8px 0 10px}.booking-contact span{color:#d9e5ea}.contact-actions{display:flex;flex-direction:column;gap:10px;text-align:right;font-weight:800}.contact-actions a{border-bottom:1px solid rgba(255,255,255,.5)}
@media(max-width:760px){.quick-book{padding:55px 16px 65px}.booking-request-fields{grid-template-columns:1fr!important}.service-catalog{padding:65px 14px 75px}.service-catalog-heading h2{font-size:36px}.service-card-grid{grid-template-columns:1fr}.service-detail-card{padding:28px 22px 25px}.service-summary{min-height:0}.booking-contact{flex-direction:column;align-items:flex-start;padding:50px 24px}.booking-contact h2{font-size:30px}.contact-actions{text-align:left}}

.pet-counts{margin:2px 0 22px;padding:20px;border:1px solid #c8d5db;display:grid;grid-template-columns:120px 120px 1fr;gap:18px;align-items:end;text-align:left}.pet-counts legend{padding:0 7px;color:#365b73;font-size:13px;font-weight:800}.pet-counts label{margin:0}.pet-counts input{width:100%}.pet-fee-summary{align-self:center;display:flex;flex-direction:column;gap:3px;padding-left:6px}.pet-fee-summary strong{color:#203846;font-size:15px}.pet-fee-summary span{color:#637985;font-size:13px;line-height:1.4}
.pet-fee-policy{margin:-10px 0 24px;color:#536b77;font-size:13px;line-height:1.5;text-align:left}
.service-variants{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 22px}.service-variants>div{display:flex;flex-direction:column;gap:2px;padding:13px 10px;background:#edf3f5;text-align:center}.service-variants strong{font-size:13px;color:#294a61}.service-variants span{font-size:12px;color:#687f8a}.service-variants b{margin-top:3px;color:#1d3544;font-size:16px}.service-variants+details{margin-top:0}
@media(max-width:480px){.service-variants{grid-template-columns:1fr}.service-variants>div{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;text-align:left}.service-variants b{text-align:right}}
.service-base-price{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:14px 16px;background:#edf3f5}.service-base-price>span{display:flex;flex-direction:column;gap:2px}.service-base-price strong{color:#294a61;font-size:14px}.service-base-price small{color:#687f8a;font-size:12px}.service-base-price b{color:#1d3544;font-size:21px}.service-base-price+details{margin-top:0}
.services-pet-policy{max-width:900px;margin:-18px auto 42px;padding:22px 26px;border-left:5px solid #d19a35;background:#fff;color:#294554;box-shadow:0 7px 22px rgba(24,52,68,.07);text-align:left}.services-pet-policy strong{display:block;margin-bottom:5px;color:#1d3544;font-size:17px}.services-pet-policy p{margin:0;font-size:14px;line-height:1.55}
.specialty-label{display:inline-block;margin:0 0 12px;padding:5px 9px;border-radius:999px;background:#f3e9d6;color:#75531b}.service-requirements{display:flex;flex-direction:column;gap:4px;margin:-10px 0 22px;padding:13px 15px;border:1px solid #d6e0e4;background:#fbfcfc}.service-requirements strong{color:#294a61;font-size:13px}.service-requirements span{color:#5e7581;font-size:12px;line-height:1.45}
.overnight-variants{grid-template-columns:repeat(2,1fr)}.overnight-addons{display:grid;grid-template-columns:1fr auto;gap:7px 20px;margin:-10px 0 22px;padding:15px 16px;border:1px solid #d6e0e4;background:#fbfcfc;color:#536b77;font-size:13px}.overnight-addons>strong{grid-column:1/-1;color:#294a61}.overnight-addons span{display:contents}.overnight-addons b{color:#1d3544;text-align:right}
@media(max-width:480px){.overnight-variants{grid-template-columns:1fr}.overnight-variants>div{display:flex;text-align:center}.overnight-addons{grid-template-columns:1fr auto}}
.service-thumb{float:right;width:108px;height:108px;margin:16px 0 16px 20px;border-radius:6px;object-fit:cover;box-shadow:0 5px 16px rgba(24,52,68,.16)}.service-detail-card .service-variants,.service-detail-card .service-base-price,.service-detail-card .service-requirements,.service-detail-card details{clear:both}
@media(max-width:480px){.service-thumb{width:92px;height:92px;margin:14px 0 14px 15px}}

/* Services / booking split */
.booking-service-help{background:#edf2f4;color:#1d3544;padding:58px 20px;text-align:center}.booking-service-help h2{font-size:32px;margin:0 0 10px}.booking-service-help p{max-width:650px;margin:0 auto 23px;color:#536b77;line-height:1.6}.secondary-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:2px solid var(--blue);border-radius:8px;color:var(--blue);font-weight:800}.secondary-button:hover{background:var(--blue);color:#fff}.services-page-intro{max-width:900px}.site-header nav{gap:28px;font-size:17px}
@media(max-width:900px){.site-header nav{gap:14px;font-size:14px}}
@media(max-width:760px){.pet-counts{grid-template-columns:1fr 1fr}.pet-fee-summary{grid-column:1/-1;padding:4px 0 0}}

/* Policies page only */
.policies-page{padding:80px max(4vw,20px) 100px;background:#f7f7f4;color:#1d3544}
.policy-note{max-width:1000px;margin:0 auto 34px;padding:24px 28px;background:#fff;border-left:5px solid #d19a35}
.policy-note p{margin:6px 0 0;color:#536b77;line-height:1.55}
.policy-grid{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.policy-grid article{padding:31px;background:#fff;border:1px solid #dce4e7}
.policy-grid article>span{color:#365b73;font-size:12px;letter-spacing:.14em}
.policy-grid h2{font-size:23px;margin:10px 0}
.policy-grid p{margin:0;color:#536b77;line-height:1.62}
.policy-pending{border-style:dashed!important;background:#fffaf1!important}
.policy-contact{max-width:1000px;margin:38px auto 0;padding:38px 42px;background:#365b73;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px}
.policy-contact p{margin:0 0 6px;text-transform:uppercase;letter-spacing:.14em;font-size:11px}
.policy-contact h2{font-size:25px;line-height:1.3;margin:0;max-width:620px}
@media(max-width:760px){.policies-page{padding:60px 14px 75px}.policy-grid{grid-template-columns:1fr}.policy-grid article{padding:27px 23px}.policy-contact{padding:30px 24px;flex-direction:column;align-items:flex-start}}

/* Clean transparent logo sizing */
.logo-link{width:160px;height:150px;overflow:visible}
.logo-link img{width:100%;height:100%;max-width:100%;object-fit:contain;display:block}
footer>img{object-fit:contain}
@media(max-width:900px){.logo-link{width:125px;height:120px}.logo-link img{width:100%;height:100%;max-width:100%}}
@media(max-width:760px){.logo-link{width:105px;height:100px}.logo-link img{width:100%;height:100%;max-width:100%}}

/* Cohesive site palette: deep blue, black, and white */
.page-hero{background:var(--blue);color:#fff}
.booking,.quick-book,.booking-service-help,.staff-page,.gallery-section,.praise-page,.service-catalog,.policies-page{background:#050505;color:#fff}
.section-heading,.gallery-heading,.service-catalog-heading,.policy-note{color:#fff}
.section-heading span,.gallery-heading span,.service-catalog-heading span,.booking-service-help p{color:#d9e5ea}

.staff-card,.testimonial-card,.service-detail-card,.policy-grid article,.policy-note{background:var(--blue-dark);color:#fff;border-color:rgba(255,255,255,.2);box-shadow:0 12px 34px rgba(0,0,0,.28)}
.staff-card h2,.staff-card .about-copy p:first-child,.testimonial-card blockquote,.service-detail-card h3,.service-base-price b,.service-variants b,.policy-grid h2,.policy-note strong{color:#fff}
.staff-card .about-copy,.staff-card .about-copy p,.testimonial-card blockquote,.service-summary,.service-full,.service-kicker,.policy-grid p,.policy-note p{color:#d9e5ea}
.testimonial-card{border-top-color:#fff}
.testimonial-card .review-stars{color:#fff}
.testimonial-card .reviewer{color:#fff}

.service-detail-card{border-top-color:#fff}
.featured-service{background:var(--blue-dark);border-top-color:#fff}
.service-icon,.services article>span{color:#fff;display:inline-block;filter:grayscale(1) brightness(0) invert(1)}
.service-duration,.service-variants>div,.service-base-price,.service-requirements,.overnight-addons{background:#182f3f;color:#fff;border-color:rgba(255,255,255,.2)}
.service-duration,.service-variants strong,.service-base-price strong,.service-requirements strong,.overnight-addons>strong{color:#fff}
.service-variants span,.service-base-price small,.service-requirements span,.overnight-addons{color:#d9e5ea}
.service-detail-card details{border-color:rgba(255,255,255,.25)}
.service-detail-card summary,.service-book-link{color:#fff;border-color:#fff}
.services-pet-policy{background:var(--blue-dark);color:#fff;border-left-color:#fff;box-shadow:0 9px 25px rgba(0,0,0,.25)}
.services-pet-policy strong,.services-pet-policy p{color:#fff}

.gallery-section .photo-grid figure{background:var(--blue-dark)}
.policy-note{border-left-color:#fff}
.policy-grid article>span{color:#fff}
.policy-pending{background:#182f3f!important;border-color:rgba(255,255,255,.45)!important}
.policy-pending>span{color:#fff!important}
.policy-contact{background:var(--blue);border:1px solid rgba(255,255,255,.22)}

.booking-card{border-color:rgba(255,255,255,.2);box-shadow:0 13px 40px rgba(0,0,0,.32)}
.booking-contact{background:var(--blue-dark)}
.booking-contact .contact-note{display:block;max-width:650px;line-height:1.6}.booking-contact .contact-service-area{display:block;margin-top:12px;color:#fff;font-weight:800}.contact-details{display:flex;align-items:flex-start;gap:42px}.contact-hours{display:grid;grid-template-columns:auto auto;gap:4px 18px;min-width:245px;color:#d9e5ea;font-size:14px;line-height:1.45}.contact-hours strong{grid-column:1/-1;color:#fff;margin-bottom:4px;letter-spacing:.08em;font-size:12px}.contact-actions{min-width:max-content}
@media(max-width:900px){.booking-contact{align-items:flex-start}.contact-details{flex-direction:column;gap:24px}.contact-actions{text-align:left}}
.secondary-button{border-color:#fff;color:#fff}
.secondary-button:hover{background:#fff;color:var(--blue-dark)}

/* Logo-inspired accent colors */
:root{--logo-cyan:#08d8d8;--logo-pink:#ef36d7;--logo-lavender:#9890c9;--logo-green:#55d993;--logo-gold:#f0ad43}
.site-header nav a:after{height:3px;border-radius:999px;background:linear-gradient(90deg,var(--logo-cyan),var(--logo-pink))}
.header-book{background:var(--logo-cyan);color:#102f40;border-radius:999px;box-shadow:0 7px 20px rgba(0,0,0,.18)}
.header-book:hover{background:#fff;color:var(--blue-dark)}
.black-button{background:linear-gradient(135deg,var(--logo-cyan),var(--logo-green));color:#102f40;box-shadow:0 7px 20px rgba(0,0,0,.2)}
.black-button:hover{background:#fff;color:var(--blue-dark)}
.text-bubble{border:3px solid var(--logo-cyan)}

.page-hero>p,.gallery-heading>p,.service-catalog-heading>p,.booking-eyebrow,.staff-card>div>p:first-child{color:var(--logo-cyan)}
.page-hero h1,.section-heading h2,.gallery-heading h1,.service-catalog-heading h2{position:relative}
.page-hero h1:after,.section-heading h2:after,.gallery-heading h1:after,.service-catalog-heading h2:after{content:"";display:block;width:76px;height:4px;margin:18px auto 0;border-radius:999px;background:linear-gradient(90deg,var(--logo-cyan),var(--logo-pink),var(--logo-gold))}

.service-detail-card,.policy-grid article,.testimonial-card{border-top:5px solid var(--logo-cyan)}
.service-detail-card:nth-child(3n+2),.policy-grid article:nth-child(3n+2),.testimonial-card:nth-child(3n+2){border-top-color:var(--logo-pink)}
.service-detail-card:nth-child(3n),.policy-grid article:nth-child(3n),.testimonial-card:nth-child(3n){border-top-color:var(--logo-gold)}
.featured-service{border-top-color:var(--logo-green)}
.service-icon,.services article>span{min-width:54px;min-height:54px;padding:10px;border-radius:50%;background:linear-gradient(135deg,var(--logo-cyan),var(--logo-pink));color:#fff}
.service-detail-card:nth-child(even) .service-icon{background:linear-gradient(135deg,var(--logo-green),var(--logo-gold))}
.service-book-link{border-color:var(--logo-cyan)}
.service-book-link:hover{color:var(--logo-cyan)}
.review-stars{color:var(--logo-gold)!important}
.policy-grid article>span{color:var(--logo-cyan)}
.policy-grid article:nth-child(3n+2)>span{color:var(--logo-pink)}
.policy-grid article:nth-child(3n)>span{color:var(--logo-gold)}
.services-pet-policy,.policy-note{border-left-color:var(--logo-gold)}
.secondary-button{border-color:var(--logo-cyan);color:var(--logo-cyan)}
.secondary-button:hover{background:var(--logo-cyan);border-color:var(--logo-cyan);color:#102f40}
.newsletter button{background:var(--logo-cyan);color:#102f40}

/* Visual fit and readability corrections */
.site-header{height:205px}
.logo-link{width:175px;height:175px}

.quick-book .booking-card{max-width:980px;background:transparent;color:#fff;border:0;box-shadow:none;padding:8px 0;text-align:center}
.quick-book .booking-card label,.quick-book .booking-card legend,.quick-book .booking-card .pet-fee-policy{color:#fff}
.quick-book .booking-card input,.quick-book .booking-card select,.quick-book .booking-card textarea{background:#fff;color:#1d3544;border-color:#b9c7cf}
.quick-book .pet-counts{border-color:rgba(255,255,255,.42)}
.quick-book .pet-fee-summary strong,.quick-book .pet-fee-summary span{color:#fff}

/* New and existing client booking gateway */
.booking-paths{padding:78px max(5vw,20px) 90px}
.booking-choice-heading{max-width:790px;margin:0 auto 44px;text-align:center}
.booking-choice-heading>p{margin:0;color:var(--logo-cyan);font-size:12px;letter-spacing:.17em;font-weight:900}
.booking-choice-heading h2{font-size:42px;line-height:1.12;margin:10px 0 15px}
.booking-choice-heading span{display:block;color:#d9e5ea;font-size:17px;line-height:1.6}
.booking-choice-grid{max-width:1050px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.booking-choice{position:relative;display:flex;flex-direction:column;min-height:510px;padding:42px;background:var(--blue-dark);border-top:6px solid var(--logo-cyan);box-shadow:0 14px 38px rgba(0,0,0,.32);overflow:hidden}
.booking-choice.existing-client-choice{border-top-color:var(--logo-pink)}
.booking-choice-number{position:absolute;right:25px;top:16px;color:rgba(255,255,255,.09);font-size:88px;font-weight:900;line-height:1}
.booking-choice .booking-eyebrow{position:relative;margin:0 0 10px;color:var(--logo-cyan);font-size:12px;letter-spacing:.17em;font-weight:900}
.existing-client-choice .booking-eyebrow{color:#ff7beb}
.booking-choice h3{position:relative;margin:0 0 17px;font-size:34px;line-height:1.12}
.booking-choice>p:not(.booking-eyebrow){position:relative;margin:0 0 20px;color:#d9e5ea;font-size:16px;line-height:1.65}
.booking-choice ul{position:relative;margin:0 0 30px;padding-left:21px;color:#fff;line-height:1.8}
.booking-choice li::marker{color:var(--logo-green)}
.portal-button{display:flex;align-items:center;justify-content:center;margin-top:auto;padding:16px 22px;border-radius:999px;background:var(--logo-cyan);color:#102f40;font-size:16px;font-weight:900;text-align:center;transition:transform .2s ease,background .2s ease}
.existing-client-button{background:var(--logo-pink);color:#210b20}
.portal-button:hover{transform:translateY(-2px);background:#fff;color:var(--blue-dark)}
.booking-choice small{display:block;margin-top:14px;color:#bfd0d8;font-size:12px;line-height:1.45;text-align:center}
.booking-request-note{max-width:900px;margin:30px auto 0;padding:19px 23px;border-left:5px solid var(--logo-gold);background:#152f40;color:#d9e5ea;line-height:1.55}
.booking-request-note strong{color:#fff}
@media(max-width:760px){.booking-paths{padding:58px 16px 70px}.booking-choice-heading h2{font-size:34px}.booking-choice-grid{grid-template-columns:1fr}.booking-choice{min-height:0;padding:34px 25px}.booking-choice h3{font-size:29px}.booking-choice-number{font-size:70px}}

.service-icon,.services article>span{filter:none!important;width:auto;height:auto;border-radius:14px;background:linear-gradient(135deg,var(--logo-cyan),var(--logo-pink));line-height:1;text-align:center}
.specialty-label{background:var(--logo-gold)!important;color:#172f3f!important;font-weight:800}

.solo-profile>img{height:100%;min-height:650px;object-fit:contain;object-position:center;background:#050505}

.praise-hero{min-height:0;aspect-ratio:729/142;background:transparent}
.praise-hero>img{object-fit:cover;object-position:right center}
.praise-hero:after{background:linear-gradient(90deg,rgba(41,74,97,.96),rgba(41,74,97,.74) 43%,rgba(41,74,97,.08) 76%)}
.praise-hero-copy{padding:30px 60px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.praise-hero-copy h1{font-size:48px;margin:10px 0}.praise-hero-copy span{font-size:17px}
.praise-page article.testimonial-card{min-height:0;background:var(--blue-dark);color:#fff;border-left:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);padding:32px 34px 30px!important;box-shadow:0 12px 28px rgba(0,0,0,.3)}
.praise-page article.testimonial-card blockquote{color:#fff;font-size:16px;line-height:1.55;margin:18px 0 22px}
.praise-page article.testimonial-card:before{color:rgba(255,255,255,.16);font-size:72px}
.praise-page article.testimonial-card .reviewer{color:var(--logo-cyan)}

@media(max-width:900px){.site-header{height:175px}.logo-link{width:145px;height:145px}}
@media(max-width:760px){.site-header{height:145px}.logo-link{width:112px;height:112px}.quick-book .booking-card{padding:0}.solo-profile>img{height:auto;min-height:0;width:100%}.praise-hero{min-height:280px;aspect-ratio:auto}.praise-hero>img{object-fit:cover;object-position:center}.praise-hero:after{background:rgba(41,74,97,.68)}.praise-hero-copy{padding:32px 24px;color:#fff}.praise-hero-copy h1{font-size:40px}}

/* Beyond the Basics */
.extras-hero{max-width:900px}.extras-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:75px max(7vw,24px);background:#050505;color:#fff}.extras-intro>div>p,.extras-heading>p,.care-panel>p:first-child,.portrait-preview>div>p{color:var(--logo-cyan);font-size:12px;letter-spacing:.17em;font-weight:800}.extras-intro h2,.extras-heading h2,.care-panel h2,.portrait-preview h2{font-size:43px;line-height:1.12;margin:10px 0 18px}.extras-intro>p{align-self:end;color:#d9e5ea;font-size:18px;line-height:1.7;margin:0}
.report-card-showcase{padding:90px max(4vw,20px) 100px;background:var(--blue-dark);color:#fff}.extras-heading{max-width:790px;margin:0 auto 42px;text-align:center}.extras-heading>span{display:block;color:#d9e5ea;font-size:17px;line-height:1.6}.report-story{max-width:1120px;margin:0 auto 35px;display:grid;grid-template-columns:1.25fr .75fr;gap:35px;padding:34px;background:#183446;border-left:5px solid var(--logo-pink)}.report-story h3{font-size:26px;margin:0 0 13px}.report-story p{color:#d9e5ea;line-height:1.65}.report-badges{display:flex;flex-direction:column;justify-content:center;gap:9px}.report-badges span{padding:10px 14px;background:#0f2939;border-left:3px solid var(--logo-cyan);font-weight:800}.report-preview-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.report-preview-grid figure{margin:0;background:#050505;border-top:5px solid var(--logo-cyan);box-shadow:0 12px 30px rgba(0,0,0,.3)}.report-preview-grid figure:nth-child(2){border-color:var(--logo-pink)}.report-preview-grid figure:nth-child(3){border-color:var(--logo-gold)}.report-preview-grid img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.report-preview-grid figcaption{padding:14px 16px;font-weight:800}.report-privacy{max-width:900px;margin:28px auto 0;color:#cbdce3;text-align:center;font-size:13px;line-height:1.55}
.activity-section{padding:90px max(5vw,22px);background:#050505;color:#fff}.activity-total{position:relative;max-width:850px;margin:0 auto 35px;padding:42px;text-align:center;background:linear-gradient(135deg,#17394c,#285a6b);overflow:hidden}.activity-total strong{display:block;color:var(--logo-cyan);font-size:82px;line-height:.95}.activity-total>span{font-size:20px;font-weight:800}.route-line{display:flex;justify-content:center;gap:58px;margin-top:30px}.route-line i{width:17px;height:17px;border-radius:50%;background:var(--logo-pink);box-shadow:0 0 0 7px rgba(239,54,215,.18)}.route-line i:nth-child(2){background:var(--logo-cyan)}.route-line i:nth-child(3){background:var(--logo-gold)}.route-line i:nth-child(4){background:var(--logo-green)}.activity-cards{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.activity-cards article{padding:28px;background:var(--blue-dark);border-top:4px solid var(--logo-cyan)}.activity-cards article:nth-child(2){border-color:var(--logo-pink)}.activity-cards article:nth-child(3){border-color:var(--logo-gold)}.activity-cards span{font-size:12px;letter-spacing:.12em;text-transform:uppercase}.activity-cards strong{display:block;margin:10px 0;font-size:31px}.activity-cards p{color:#d9e5ea;line-height:1.55;margin:0}
.thoughtful-care{display:grid;grid-template-columns:1fr 1fr;background:var(--blue-dark);color:#fff}.care-panel{padding:75px max(6vw,35px)}.care-panel h2{font-size:37px}.care-panel p:not(:first-child){color:#d9e5ea;line-height:1.7}.warm-care{border-top:6px solid var(--logo-gold)}.training-care{background:#17384a;border-top:6px solid var(--logo-green)}
.portrait-preview{display:grid;grid-template-columns:1fr 320px;align-items:center;gap:50px;padding:72px max(8vw,25px);background:#050505;color:#fff}.portrait-preview>div{max-width:720px}.portrait-preview p:not(:first-child){color:#d9e5ea;line-height:1.65}.portrait-preview img{width:100%;height:280px;object-fit:contain}
.portrait-gallery{padding:90px max(4vw,20px) 105px;background:#050505;color:#fff}.portrait-gallery .extras-heading>p{color:var(--logo-cyan);font-size:12px;letter-spacing:.17em;font-weight:800}.portrait-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.portrait-pair{background:var(--blue-dark);border-top:5px solid var(--logo-cyan);padding:22px;box-shadow:0 14px 34px rgba(0,0,0,.28)}.portrait-pair:nth-child(4n+2){border-color:var(--logo-pink)}.portrait-pair:nth-child(4n+3){border-color:var(--logo-gold)}.portrait-pair:nth-child(4n+4){border-color:var(--logo-green)}.portrait-pair:last-child:nth-child(odd){grid-column:1/-1;max-width:608px;width:100%;justify-self:center}.portrait-pair h3{text-align:center;font-size:27px;margin:0 0 17px}.portrait-images{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portrait-images figure{position:relative;margin:0;overflow:hidden;background:#fff;aspect-ratio:4/5}.portrait-images img{display:block;width:100%;height:100%;object-fit:cover}.portrait-images figure:nth-child(2) img{object-fit:contain}.portrait-images span{position:absolute;z-index:1;top:11px;left:11px;padding:7px 10px;border-radius:30px;background:rgba(5,5,5,.86);color:#fff;font-size:10px;font-weight:900;letter-spacing:.14em}.portrait-images figure:nth-child(2) span{background:var(--logo-pink);color:#090909}
@media(max-width:800px){.extras-intro,.report-story,.thoughtful-care,.portrait-preview{grid-template-columns:1fr}.extras-intro{gap:25px;padding:60px 22px}.extras-intro h2,.extras-heading h2,.portrait-preview h2{font-size:35px}.report-card-showcase,.activity-section,.portrait-gallery{padding:65px 14px 75px}.report-preview-grid,.activity-cards,.portrait-grid{grid-template-columns:1fr}.report-preview-grid{max-width:650px}.report-story{padding:27px 22px}.activity-total{padding:34px 18px}.activity-total strong{font-size:65px}.care-panel{padding:55px 24px}.portrait-preview img{height:220px}.portrait-preview{gap:15px}.portrait-pair:last-child:nth-child(odd){grid-column:auto}.portrait-pair{padding:15px}.portrait-images{gap:8px}}
.portrait-images figure:nth-child(2) img{object-fit:cover;object-position:center}

/* Click-to-enlarge gallery */
.photo-grid figure{position:relative;cursor:zoom-in;outline:none}
.photo-grid figure:after{content:"Enlarge";position:absolute;right:10px;bottom:10px;padding:7px 10px;border-radius:999px;background:rgba(5,5,5,.78);color:#fff;font-size:11px;font-weight:900;letter-spacing:.08em;opacity:0;transform:translateY(5px);transition:.2s ease}
.photo-grid figure:hover:after,.photo-grid figure:focus-visible:after{opacity:1;transform:none}
.photo-grid figure:focus-visible{box-shadow:0 0 0 4px var(--logo-cyan)}
.lightbox-open{overflow:hidden}
.gallery-lightbox[hidden]{display:none}
.gallery-lightbox{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;padding:28px;background:rgba(2,7,10,.94);backdrop-filter:blur(7px)}
.gallery-lightbox figure{margin:0;min-width:0;text-align:center}
.gallery-lightbox img{display:block;max-width:100%;max-height:calc(100vh - 110px);margin:auto;object-fit:contain;box-shadow:0 18px 55px rgba(0,0,0,.55)}
.gallery-lightbox figcaption{min-height:24px;margin-top:13px;color:#fff;font-size:14px}
.lightbox-close,.lightbox-arrow{border:0;color:#fff;background:rgba(255,255,255,.12);cursor:pointer;transition:.2s ease}
.lightbox-close:hover,.lightbox-arrow:hover,.lightbox-close:focus-visible,.lightbox-arrow:focus-visible{background:var(--logo-cyan);color:#08202d;outline:none}
.lightbox-close{position:absolute;top:20px;right:22px;width:48px;height:48px;border-radius:50%;font-size:35px;line-height:1}
.lightbox-arrow{width:54px;height:70px;border-radius:14px;font-size:52px;line-height:1}
.lightbox-next{justify-self:end}
@media(max-width:650px){.gallery-lightbox{grid-template-columns:48px minmax(0,1fr) 48px;padding:70px 8px 20px}.lightbox-arrow{width:42px;height:58px;font-size:42px}.lightbox-close{top:13px;right:14px}.gallery-lightbox img{max-height:calc(100vh - 150px)}.photo-grid figure:after{opacity:1;transform:none;font-size:9px;padding:5px 7px}}

/* Social profiles */
.social-links{max-width:760px;margin:0 auto 34px;padding-top:30px;border-top:1px solid #292929;text-align:center}.social-links>span{display:block;margin-bottom:16px;color:var(--logo-cyan);font-size:11px;font-weight:900;letter-spacing:.18em}.social-links>div{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.social-links a{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:9px 15px;border:1px solid #3a5667;border-radius:999px;background:#102b3a;color:#fff;font-size:13px;font-weight:800;transition:transform .2s ease,border-color .2s ease,background .2s ease}.social-links a:nth-child(2){border-color:var(--logo-pink)}.social-links a:nth-child(3){border-color:var(--logo-gold)}.social-links a:nth-child(4){border-color:var(--logo-green)}.social-links a:nth-child(5){border-color:var(--logo-cyan)}.social-links a:hover,.social-links a:focus-visible{transform:translateY(-2px);background:#20485c;outline:none}
