/* Two photographic worlds. Images keep their original anatomy. */
:root{--paper:#faf5ec;--ink:#3c243d;--sky:#e7ddeb;--blue:#603b62;--lemon:#f3e5b7;--lilac:#e7cad7;--muted:#716275;--line:#3c243d26;--accent:#603b62;--tint:#e7dfec}
body[data-species=cat]{--accent:#8c4e5b;--blue:#8c4e5b;--tint:#f3e2da;--ink:#51302f;--muted:#86696a;--line:#51302f26}
@font-face{font-family:Host;src:url('assets/HostGrotesk400.ttf');font-weight:400;font-display:swap}@font-face{font-family:Host;src:url('assets/HostGrotesk500.ttf');font-weight:500;font-display:swap}@font-face{font-family:Host;src:url('assets/HostGrotesk800.ttf');font-weight:800;font-display:swap}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}[hidden]{display:none!important}figure{margin:0}section[id]{scroll-margin-top:100px}.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}
.header{view-transition-name:site-header}.header.scrolled{background:#faf5ecf5}.header-call:hover{background:#ffffff80}.button{border-radius:5px}.button.solid{background:var(--accent);color:white;border-color:transparent}.button.solid:hover{background:var(--ink)}.eyebrow,.place-label{font-size:14px;letter-spacing:0;text-transform:none;font-weight:400}.place-label{margin-bottom:28px}.eyebrow{color:var(--muted)}.circle-arrow{width:45px;height:45px;border-color:var(--line)}
.animal-selector{display:inline-flex;padding:5px;gap:4px;border:1px solid #ffffff80;border-radius:60px;background:#faf5ec5c;isolation:isolate}
.animal-selector button{display:flex;align-items:center;gap:10px;padding:5px 21px 5px 5px;border-radius:40px;min-height:48px;font-size:15px;transition:background .25s,color .25s;white-space:nowrap}
.animal-selector img{width:38px;height:38px;object-fit:cover;object-position:76% 27%;border-radius:50%;flex-shrink:0}
.animal-selector button[aria-pressed=true]{background:var(--paper);box-shadow:0 2px 6px #00000008}.animal-selector button:hover{background:#ffffff90}.animal-selector button:focus-visible{outline-offset:2px}
/* Optical movement, never a cross-fade between different faces. */
.photograph{position:relative;overflow:hidden;isolation:isolate;--photo-origin:70% 30%;background:var(--tint)}
.photograph>img{transform:none;transition:transform 900ms cubic-bezier(.2,.75,.25,1)}
.photograph[data-photo=cat]{--photo-origin:76% 32%}.photograph[data-photo=tabby]{--photo-origin:34% 35%}.photograph[data-photo=care]{--photo-origin:60% 38%}.photograph[data-photo=paw]{--photo-origin:67% 30%}.photograph[data-photo=walk]{--photo-origin:60% 38%}
@media(hover:hover) and (pointer:fine){a.service-photo:hover img{transform:scale(1.025)}}
.companion-hero{position:relative;isolation:isolate}.dog-hero{min-height:730px;height:100svh;max-height:1100px;background:var(--sky)}.hero-portrait{position:absolute;inset:0;background:var(--sky);z-index:-1}.hero-portrait>img{object-position:64% 50%}.hero-portrait .photo-lens{bottom:105px;right:var(--gutter)}
.hero-editorial{position:relative;padding:0 var(--gutter)}.dog-hero .hero-editorial{padding-top:clamp(175px,28svh,300px);width:52%;pointer-events:none}.hero-editorial a{pointer-events:auto}.hero-editorial h1{font-size:clamp(58px,6.35vw,96px);line-height:.99;letter-spacing:-.06em}.hero-editorial>p:not(.place-label){font-size:17px;line-height:1.6;margin-top:25px;max-width:34ch}.hero-editorial .button{margin-top:30px;font-size:14px;padding:17px 21px;gap:26px}
.companion-switch{display:flex;align-items:center;gap:25px}.companion-switch>span{font-size:13px}.dog-hero .companion-switch{position:absolute;bottom:36px;left:var(--gutter)}.hero-index{position:absolute;bottom:52px;right:var(--gutter);display:flex;align-items:center;gap:15px;font-size:13px}.hero-index svg{width:18px;height:18px}
.cat-hero{background:#e7cad7;min-height:900px;padding:140px var(--gutter) 42px;display:grid;grid-template-columns:1.18fr .82fr;grid-template-rows:auto auto;gap:36px 7vw;align-items:start}
.cat-hero .hero-editorial{padding:14px 0 0}.cat-hero .hero-editorial h1{font-size:clamp(55px,5.5vw,83px)}.cat-hero .hero-editorial>p:not(.place-label){margin-top:23px;max-width:34ch}
.cat-portrait{grid-column:2;grid-row:1;height:375px;margin-left:11%;border-radius:190px 190px 5px 5px}.cat-portrait img{object-position:78% 40%}.cat-portrait .photo-lens{right:16px;bottom:16px}
.cat-panorama{grid-column:1;grid-row:2;height:300px;border-radius:5px}.cat-panorama img{object-position:48% 52%}
.cat-invitation{grid-column:2;grid-row:2;padding:20px 0 0 11%;align-self:center}.cat-invitation>span{font-size:13px;color:var(--muted)}.cat-invitation>a{display:block;font-size:clamp(29px,3.2vw,46px);letter-spacing:-.04em;line-height:1.1;margin-top:14px;position:relative;padding-right:55px;max-width:350px}.cat-invitation>a svg{position:absolute;right:0;bottom:4px;width:35px;height:35px;transition:transform .3s}.cat-invitation>a:hover svg{transform:translate(4px,-4px)}.cat-invitation>p{font-size:14px;margin-top:24px}.cat-hero .companion-switch{position:absolute;left:var(--gutter);top:485px;gap:20px}.cat-hero .cat-panorama{margin-top:38px}
.daily-world{padding:100px var(--gutter) 105px}.daily-heading{display:grid;grid-template-columns:1.12fr 1fr;gap:12%;align-items:end;margin-bottom:50px}.daily-heading h2{font-size:clamp(36px,4.1vw,60px);line-height:1.04;max-width:19ch}.daily-heading>p{font-size:16px;line-height:1.65;color:var(--muted)}
.dog-pathways{display:grid;grid-template-columns:1.18fr .82fr;gap:7vw}.pathway-main{padding-top:0}.pathway-photo{height:460px;overflow:hidden;border-radius:5px}.pathway-photo img{transition:transform .8s var(--ease)}.pathway-main:hover img{transform:scale(1.035)}.pathway-care{padding-top:85px}.pathway-care .photograph{height:400px;border-radius:160px 160px 5px 5px}.pathway-care .photograph>img{object-position:62% 48%}.pathway-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:21px}.pathway-caption h3{font-size:29px}.pathway-caption p{font-size:14px;margin-top:7px;color:var(--muted)}.service-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;border-top:1px solid var(--line);margin-top:23px;padding-top:17px}.service-caption strong{font-weight:500;font-size:18px}
.cat-pathways{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center}.cat-still-life{position:relative;height:550px;overflow:hidden;border-radius:5px}.cat-still-life img{transition:transform .8s var(--ease)}.cat-still-life:hover img{transform:scale(1.035)}.cat-still-life>span{position:absolute;bottom:22px;left:22px;right:22px;background:#faf5ecec;padding:20px;display:flex;justify-content:space-between;font-size:14px;border-radius:3px}.cat-still-life>span svg{width:20px;height:20px}.cat-choices h3{font-size:34px;margin-bottom:18px}.cat-choices>p{font-size:16px;line-height:1.6;color:var(--muted);margin-bottom:30px}.cat-choices>a{position:relative;display:grid;gap:7px;padding:25px 40px 25px 0;border-top:1px solid var(--line)}.cat-choices>a>span{font-size:26px;letter-spacing:-.025em}.cat-choices small{font-size:13px;color:var(--muted)}.cat-choices svg{position:absolute;right:3px;top:39px;width:23px;transition:transform .3s}.cat-choices a:hover svg{transform:translate(4px,-4px)}
.companion-story{display:grid;grid-template-columns:1fr 1fr;background:var(--tint);min-height:550px}.story-photo{min-height:550px}.story-photo>img{object-position:70% center}.story-copy{padding:70px 13%;align-self:center}.story-copy h2{font-size:clamp(37px,4vw,59px);margin-top:25px}.story-copy>p:not(.eyebrow){font-size:17px;color:var(--muted);line-height:1.7;margin-top:25px;max-width:32ch}.story-copy .text-link{font-size:14px;gap:22px}.story-copy .circle-arrow{flex-shrink:0}
body[data-species=cat] .companion-story{grid-template-columns:1.08fr .92fr;background:#f1e6df;padding:60px var(--gutter);gap:7vw;min-height:520px}body[data-species=cat] .companion-story .story-photo{grid-column:2;grid-row:1;min-height:400px;border-radius:5px}body[data-species=cat] .companion-story .story-photo>img{object-position:43% 50%}body[data-species=cat] .story-copy{grid-row:1;grid-column:1;padding:30px 0}
.neighbourhood{display:grid;grid-template-columns:1.1fr .9fr;gap:12%;align-items:center;padding:85px var(--gutter);background:var(--tint)}.neighbourhood h2{font-size:clamp(36px,4vw,58px);margin-top:22px}.neighbourhood>div>p:not(.eyebrow){font-size:16px;line-height:1.65;max-width:35ch;margin-top:25px;color:var(--muted)}.address-card{border:1px solid var(--line);border-radius:7px;padding:34px 38px}.address-card>span{font-size:14px}.address-card address{font-size:22px;font-style:normal;letter-spacing:-.025em;line-height:1.4;margin-top:23px}.address-card>a{display:inline-block;font-size:23px;border-bottom:1px solid currentColor;margin-top:16px}.neighbourhood .address-card>p{font-size:13px;line-height:1.75}
/* The colleague's review cards, with explicit Google provenance. */
.reviews-v2{padding:95px var(--gutter) 100px;background:var(--paper)}.reviews-v2-head{align-items:center;margin-bottom:32px}.reviews-v2-head h2{font-size:clamp(37px,4vw,58px);margin-top:17px;max-width:none}.google-attribution{display:inline-flex;align-items:center;gap:13px;white-space:nowrap;font-family:Arial,sans-serif;font-size:16px;letter-spacing:normal;font-weight:400;color:#1f1f1f}.google-attribution svg{width:17px;height:17px}.google-attribution:hover{text-decoration:underline;text-underline-offset:5px}
.google-review-summary{display:flex;align-items:center;gap:19px;padding-bottom:32px}.google-rating{font-size:47px;line-height:1;font-weight:500;letter-spacing:-.04em}.google-review-summary p{font-size:14px}.google-review-summary small{font-size:12px;color:var(--muted)}.google-review-summary .text-link{margin:0 0 0 auto;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.review-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;margin:0;padding:0 0 12px}.review-card{flex:0 0 calc((100% - 32px)/3);min-width:0;min-height:335px;padding:29px;border:1px solid var(--line);border-radius:6px;background:#ffffff}.review-card:nth-child(2){background:#f3e2da}.review-card:nth-child(3){background:#e7dfec}.review-card header{display:flex;align-items:center;gap:13px}.review-avatar{width:43px;height:43px;background:#e8dfeb;display:grid;place-items:center;border-radius:50%;font-size:12px;color:#604761;flex:none}.review-card:nth-child(2) .review-avatar{background:#dcc2d1;color:#664253}.review-card:nth-child(3) .review-avatar{background:#d7cbdc;color:#5a425f}.review-author{font-size:16px;font-weight:500;line-height:1.2}.review-author:hover{text-decoration:underline}.review-card-stars{display:block;font-size:15px;color:#9a6710;letter-spacing:2px;margin-top:5px}.review-card blockquote{font-size:clamp(20px,1.8vw,26px);font-weight:400;line-height:1.38;letter-spacing:-.025em;margin:0;padding-top:28px;overflow-wrap:anywhere}.review-footnote{display:flex;flex-direction:column;align-items:start;gap:12px;padding-top:25px;margin-top:auto;font-size:12px;color:var(--muted)}.review-footnote a{font-family:Arial,sans-serif;font-size:12px;color:#3c4043;border-bottom:1px solid #3c404340;padding-bottom:3px}.review-order{font-size:12px;color:var(--muted);margin-top:15px;max-width:none;line-height:1.6}.reviews-v2-controls{display:flex;gap:8px;margin-left:auto}.reviews-v2-controls button{height:40px;width:40px;cursor:pointer}.reviews-v2-controls button:disabled{opacity:.25;cursor:default}.reviews-fallback{padding:25px 0;max-width:56ch}
/* Nutrition changes in colour, imagery, reading order and destination. */
.nutrition-hero{padding:145px var(--gutter) 60px;display:grid;grid-template-columns:1fr 1.05fr;gap:7vw;background:#e7dfec;align-items:center}.nutrition-intro h1{font-size:clamp(46px,4.9vw,74px);margin-top:30px}.nutrition-intro>p{font-size:17px;line-height:1.65;max-width:36ch;margin-top:28px;color:var(--muted)}.nutrition-switch{margin-top:35px;display:flex;align-items:center;gap:17px;font-size:13px}.nutrition-still{height:520px;position:relative;border-radius:5px;overflow:hidden}.nutrition-still>img{object-position:42% center}.nutrition-still>span{position:absolute;bottom:20px;left:20px;padding:10px 14px;background:#faf5ece8;border-radius:3px;font-size:12px}
body[data-species=cat] .nutrition-hero{background:#f3e2da;grid-template-columns:1.08fr .92fr}body[data-species=cat] .nutrition-still{grid-row:1;grid-column:1;border-radius:200px 200px 6px 6px;height:570px}body[data-species=cat] .nutrition-intro{grid-row:1;grid-column:2}body[data-species=cat] .nutrition-still>img{object-position:55% center}
.food-chapter{padding-top:90px;padding-bottom:90px}.chapter-title h2{font-size:clamp(37px,4vw,59px)}.chapter-title>p{font-size:16px;color:var(--muted)}.food-details{background:var(--tint);padding:45px 9%}.food-description{min-height:265px}.food-description h3{font-size:clamp(29px,3vw,43px)}.food-description p{font-size:16px;line-height:1.7}.food-description small{font-size:12px;line-height:1.5}.food-nav button{font-size:16px}.food-details .button{font-size:13px;padding:15px 18px;gap:16px}.food-closeup{overflow:hidden;border-radius:5px 0 0 5px}.food-closeup img{transition:transform 950ms cubic-bezier(.2,.75,.25,1);height:100%;object-position:center;transform:scale(1.35);transform-origin:27% 43%}.food-closeup[data-food=umido] img{transform:scale(1.5);transform-origin:78% 48%}.food-closeup[data-food=snack] img{transform:scale(1.45);transform-origin:52% 85%}body[data-species=cat] .food-closeup img{transform-origin:27% 50%}body[data-species=cat] .food-closeup[data-food=umido] img{transform-origin:70% 53%}body[data-species=cat] .food-closeup[data-food=snack] img{transform:scale(1);transform-origin:center}
.advice{background:var(--tint)}.advice h2{font-size:clamp(37px,4vw,59px)}.advice p{font-size:16px;line-height:1.65}.advice-list h3{font-size:23px}.advice-list p{max-width:44ch}.nutrition-story .story-copy h2{margin-top:0}.catalog-section{padding:55px var(--gutter)}.catalog-section h2{font-size:34px;margin-bottom:25px}.catalog-links{display:flex;gap:15px;flex-wrap:wrap}
.page-head{background:var(--paper)}.page-head h1{font-size:clamp(49px,5.5vw,82px)}.head-right p{font-size:17px;line-height:1.65;color:var(--muted)}.price-sheet{background:#e7dfec;color:var(--ink);border:1px solid var(--line);border-radius:7px}.price-total{border-color:var(--line)}.price-total output{font-variant-numeric:tabular-nums}.size-option input:checked+span{background:var(--accent);color:white}.price-sheet .button{border:1px solid var(--line)}.pricing-section,.store-detail{background:var(--paper)}.care-steps{background:var(--tint)}
.visit-v4,.visit-v4-details{background:var(--tint)}.visit-v4-details h1,.visit-v4-details h2{font-size:clamp(44px,4vw,60px)}.visit-v4-details address{font-size:16px;line-height:1.65;margin-top:30px}.visit-v4-phone{font-size:27px}.visit-ribbon{background:var(--tint);color:var(--ink);border-top:1px solid var(--line)}.visit-ribbon h2{font-size:clamp(31px,3.1vw,44px)}.visit-ribbon .button{background:transparent;border-color:var(--line)}.footer{background:var(--paper)}.menu-dialog,.info-dialog{overscroll-behavior:contain}.menu-dialog{background:var(--accent)}
/* Snapshot wipe separates the two worlds without blending animal anatomy. */
::view-transition-group(root){animation-duration:.7s}::view-transition-old(root){animation:quiet-out 180ms ease both}::view-transition-new(root){animation:quiet-in 260ms ease both}::view-transition-group(site-header){animation:none}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}
html[data-transition=species]::view-transition-old(root){animation:none;mix-blend-mode:normal}html[data-transition=species]::view-transition-new(root){animation:world-reveal 780ms cubic-bezier(.65,0,.2,1) both;mix-blend-mode:normal}html[data-transition=species][data-direction=dog]::view-transition-new(root){animation-name:world-return}
@keyframes world-reveal{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}@keyframes world-return{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes quiet-out{to{opacity:0}}@keyframes quiet-in{from{opacity:0}}
@media(min-width:721px) and (max-width:1100px){.dog-hero .hero-editorial{width:55%}.hero-editorial h1{font-size:61px}.cat-hero{gap:36px 5vw;min-height:850px}.cat-hero .hero-editorial h1{font-size:56px}.cat-portrait{height:350px;margin-left:0}.cat-hero .companion-switch{top:485px;gap:13px}.cat-hero .companion-switch>span{display:none}.cat-panorama{height:270px}.cat-invitation{padding-left:0}.pathway-photo{height:365px}.pathway-care .photograph{height:330px}.nutrition-hero{gap:5vw}.nutrition-switch{display:block}.nutrition-switch>span{display:block;margin-bottom:10px}.nutrition-intro h1{font-size:52px}.nutrition-still{height:490px}.review-card{padding:22px}.review-card header{gap:10px}.review-author{font-size:14px}.review-avatar{width:35px;height:35px}.review-card blockquote{font-size:21px}.food-details{padding:30px 8%}.food-details .button{font-size:12px}.story-copy{padding:50px 11%}}
@media(max-width:720px){
  .header{height:84px}.header.scrolled{height:74px}.hero-editorial h1{font-size:51px}.place-label{font-size:12px;margin-bottom:20px}.hero-editorial>p:not(.place-label){font-size:15px;line-height:1.55;margin-top:18px}.hero-editorial .button{margin-top:22px;padding:14px 17px;font-size:13px;min-height:49px}
  .dog-hero{height:860px;min-height:0;max-height:none;padding-top:115px}.dog-hero .hero-editorial{width:100%;padding:0 var(--gutter)}.hero-portrait{top:315px;height:460px;bottom:auto;overflow:hidden}.hero-portrait>img{object-position:75% 50%}.hero-portrait .photo-lens{right:20px;bottom:24px}.dog-hero .companion-switch{left:var(--gutter);right:var(--gutter);bottom:22px;justify-content:space-between;gap:10px}.companion-switch>span{font-size:12px;max-width:10ch}.hero-index{display:none}
  .animal-selector{padding:4px;gap:2px}.animal-selector img{width:30px;height:30px}.animal-selector button{font-size:13px;padding:5px 16px 5px 5px;gap:8px;min-height:42px}
  .cat-hero{min-height:0;padding:115px var(--gutter) 34px;grid-template-columns:1.05fr .95fr;gap:25px 18px}.cat-hero .hero-editorial{grid-column:1/3;padding:0}.cat-hero .hero-editorial h1{font-size:51px}.cat-hero .hero-editorial>p:not(.place-label){font-size:15px}.cat-portrait{grid-column:2;grid-row:3;height:235px;margin:0;border-radius:100px 100px 4px 4px}.cat-portrait>img{object-position:77% 50%}.cat-portrait .photo-lens{right:8px;left:8px;bottom:10px;justify-content:center;padding:8px;font-size:11px}.cat-hero .companion-switch{position:static;grid-column:1/3;grid-row:2;margin:4px 0 0;justify-content:space-between;gap:12px}.cat-panorama,.cat-hero .cat-panorama{grid-column:1/3;grid-row:4;height:230px;margin:0}.cat-invitation{grid-column:1;grid-row:3;padding:0;align-self:center}.cat-invitation>span{font-size:11px}.cat-invitation>a{font-size:29px;padding-right:0;margin-top:13px}.cat-invitation>a svg{position:static;display:block;width:27px;height:27px;margin-top:20px}.cat-invitation>p{font-size:12px;margin-top:14px;max-width:17ch}
  .photo-lens{right:15px;bottom:15px;padding:10px 13px}.daily-world{padding:65px var(--gutter)}.daily-heading{display:block;margin-bottom:32px}.daily-heading h2{font-size:38px}.daily-heading>p{margin-top:24px;font-size:15px;max-width:38ch}.dog-pathways{gap:40px;display:block}.pathway-photo{height:330px}.pathway-caption h3{font-size:27px}.pathway-caption p{font-size:13px}.pathway-care{padding:40px 0 0 40px}.pathway-care .photograph{height:350px}.service-caption{font-size:12px}.cat-pathways{display:block}.cat-still-life{display:block;height:370px}.cat-still-life>span{left:14px;right:14px;bottom:14px;padding:15px;font-size:12px;gap:15px}.cat-choices{padding:35px 0 0}.cat-choices h3{font-size:31px}.cat-choices>p{font-size:15px;margin-bottom:23px}.cat-choices>a{padding:21px 40px 21px 0}.cat-choices>a>span{font-size:24px}.cat-choices svg{top:35px}
  .companion-story,body[data-species=cat] .companion-story{display:flex;flex-direction:column;min-height:0;padding:0;gap:0}.story-photo,body[data-species=cat] .companion-story .story-photo{height:360px;min-height:0;width:100%;border-radius:0}.story-copy,body[data-species=cat] .story-copy{padding:40px var(--gutter) 48px}.story-copy h2{font-size:39px;margin-top:18px}.story-copy>p:not(.eyebrow){font-size:16px;margin-top:21px}.story-copy .text-link{margin-top:25px}.neighbourhood{display:block;padding:60px var(--gutter)}.neighbourhood h2{font-size:38px}.neighbourhood>div>p:not(.eyebrow){font-size:15px}.address-card{margin-top:35px;padding:27px}.address-card address{font-size:21px}.neighbourhood .address-card>p{font-size:12px}
  .reviews-v2{padding:65px var(--gutter)}.reviews-v2-head{align-items:start;gap:25px;flex-direction:column;margin-bottom:25px}.reviews-v2-head h2{font-size:39px;max-width:none}.google-attribution{font-size:14px}.google-review-summary{gap:14px;flex-wrap:wrap;padding-bottom:23px}.google-rating{font-size:43px}.google-review-summary .text-link{flex-basis:100%;margin:5px 0 0}.review-card{flex-basis:88%;min-width:88%;min-height:330px;padding:25px;scroll-snap-align:start}.review-card blockquote{font-size:23px}.review-track{gap:12px;margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter)}.review-author{font-size:16px}.review-order{font-size:11px}.reviews-v2-controls{margin:0 0 0 auto}
  .nutrition-hero,body[data-species=cat] .nutrition-hero{padding:115px var(--gutter) 35px;display:flex;flex-direction:column;gap:30px;align-items:stretch}.nutrition-intro h1{font-size:48px;margin-top:25px}.nutrition-intro>p{font-size:16px;margin-top:23px}.nutrition-switch{margin-top:27px;justify-content:space-between}.nutrition-still,body[data-species=cat] .nutrition-still{height:330px;border-radius:5px}.nutrition-still>span{bottom:15px;left:15px;font-size:11px}body[data-species=cat] .nutrition-still{border-radius:150px 150px 5px 5px;height:370px}
  .food-chapter{padding-top:60px;padding-bottom:60px}.chapter-title h2{font-size:38px}.chapter-title>p{font-size:15px}.food-description{min-height:240px}.food-description h3{font-size:32px}.food-details{padding:30px 24px}.food-description p{font-size:15px}.food-closeup{height:320px;border-radius:5px 5px 0 0}.food-details .button{font-size:13px;width:100%}.advice h2{font-size:39px}.advice p{font-size:15px}.page-head h1{font-size:49px}.visit-v4-details h1,.visit-v4-details h2{font-size:45px}.visit-ribbon h2{font-size:34px}
}
@media(max-width:360px){.hero-editorial h1,.cat-hero .hero-editorial h1{font-size:46px}.companion-switch>span{display:none}.cat-invitation>a{font-size:26px}.nutrition-intro h1{font-size:43px}.animal-selector button{padding-right:14px}.address-card{padding:23px}.review-author{font-size:14px}}
body.reduce-motion .photograph>img{transition:none;transform:none}body.reduce-motion .photograph.is-close>img{transform:scale(1.38)}body.reduce-motion .food-closeup img{transition:none}body.reduce-motion .photo-lens{backdrop-filter:none}
@media(prefers-reduced-motion:reduce){.photograph>img,.food-closeup img{transition:none}.photograph:hover>img{transform:none}.photograph.is-close>img{transform:scale(1.38)}::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation:none!important}}

/* Shared home. Species selection belongs only to nutrition. */
.home-footnote{position:absolute;bottom:35px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;font-size:13px}.home-footnote a{display:flex;align-items:center;gap:15px}.home-footnote svg{width:18px;height:18px}
.pathway-photo,.service-photo{display:block}.food-entry-links{display:flex;gap:25px;margin-top:25px;border-top:1px solid var(--line);padding-top:22px}.food-entry-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:1;font-size:14px}.food-entry-links a:last-child{padding-left:25px;border-left:1px solid var(--line)}.food-entry-links svg{width:20px;height:20px;transition:transform .3s}.food-entry-links a:hover svg{transform:translate(3px,-3px)}.home-story{background:#e7dfec}.home-story .story-photo>img{object-position:37% center}
.food-closeup{position:relative;min-height:480px;background:#f3e7c5}.food-closeup .food-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none!important;opacity:0;transition:opacity 350ms ease;pointer-events:none}.food-closeup .food-shot.is-active{opacity:1}.food-image-label{position:absolute;bottom:22px;left:22px;z-index:2;padding:8px 12px;background:#faf5ece8;font-size:12px;border-radius:3px}body[data-species=cat] .food-closeup{background:#d2afc1}
body[data-species=cat] .nutrition-hero{grid-template-columns:1fr 1.05fr}body[data-species=cat] .nutrition-intro{grid-row:1;grid-column:1}body[data-species=cat] .nutrition-still{grid-row:1;grid-column:2;height:520px;border-radius:5px}.nutrition-switch{view-transition-name:nutrition-switch}::view-transition-group(nutrition-switch){animation:none}::view-transition-old(nutrition-switch){display:none}::view-transition-new(nutrition-switch){animation:none}
@media(max-width:1100px) and (min-width:721px){body[data-species=cat] .nutrition-still{height:490px}}
@media(max-width:720px){.dog-hero{height:790px}.hero-portrait{top:315px;height:400px}.home-footnote{bottom:30px;font-size:11px;gap:18px}.home-footnote>span{max-width:17ch}.home-footnote a{gap:8px}.food-entry-links{gap:18px}.food-entry-links a{font-size:12px;gap:10px}.food-entry-links a:last-child{padding-left:18px}.food-closeup{min-height:0;height:320px}.food-image-label{left:16px;bottom:16px;font-size:11px}body[data-species=cat] .nutrition-still{height:330px;border-radius:5px}.photograph>img{transform:none!important}}
@media(prefers-reduced-motion:reduce){.food-closeup .food-shot{transition:none}}body.reduce-motion .food-closeup .food-shot{transition:none}
/* Editorial service pair: shared rhythm, alternating photographs. */
.services-editorial{padding:75px var(--gutter) 90px;background:var(--paper)}.service-row{display:grid;grid-template-columns:.84fr 1.16fr;min-height:460px;border-radius:7px;overflow:hidden;background:#f1e8e6}.service-words{padding:55px 12%;display:flex;flex-direction:column;justify-content:center;align-items:start}.service-words h2{font-size:clamp(34px,3.5vw,52px);margin-top:20px;letter-spacing:-.05em}.service-words>p:not(.eyebrow){font-size:16px;line-height:1.6;color:var(--muted);margin-top:22px}.service-image{position:relative;display:block;overflow:hidden;min-width:0}.service-image img{transition:transform 900ms cubic-bezier(.2,.75,.25,1)}.food-service-image img{object-fit:cover;object-position:50% 50%}.service-grooming{grid-template-columns:1.16fr .84fr;margin-top:28px;background:#e7dfec}.grooming-service-image{height:490px}.grooming-service-image img{object-position:61% 47%}.species-entries{width:100%;margin-top:30px}.species-entries a{display:flex;gap:14px;align-items:center;font-size:14px;padding:13px 0;border-top:1px solid var(--line);min-height:68px}.species-entries img{width:40px;height:40px;border-radius:50%;object-position:75% 30%}.species-entries svg{margin-left:auto;width:20px;height:20px;transition:transform .3s}.species-entries a:hover svg{transform:translate(3px,-3px)}.service-price{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;border-top:1px solid var(--line);padding-top:22px;margin-top:30px}.service-price>span{font-size:13px}.service-price small{display:block;font-size:11px;line-height:1.5;margin-top:6px;color:var(--muted)}.service-price strong{font-size:35px;line-height:1;letter-spacing:-.045em;font-weight:500;white-space:nowrap}.service-words .text-link{font-size:14px;margin-top:28px;gap:25px}
.home-story{grid-template-columns:1.08fr .92fr;min-height:470px}.home-story .story-photo{min-height:470px}.home-story .story-photo>img{object-fit:cover;object-position:43% center}.home-story .story-copy{padding:50px 14%}.home-story .story-copy h2{margin-top:0}.home-story .story-copy p{max-width:30ch}.neighbourhood{padding-top:65px;padding-bottom:65px}.neighbourhood .eyebrow{display:none}
/* One photo, three dishes: exact aspect ratio prevents off-centre zooms. */
.food-chapter{padding:85px var(--gutter) 90px}.explorer-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.explorer-heading h2{font-size:clamp(36px,4vw,57px)}.explorer-heading>p{font-size:15px;color:var(--muted)}.nutrition-explorer{display:grid;grid-template-columns:1.34fr .86fr;gap:6%;align-items:center}.tableau-shell{min-width:0}.tableau-viewport{position:relative;aspect-ratio:3/2;width:100%;overflow:hidden;border-radius:6px;background:#f3e5b7;isolation:isolate}.tableau-viewport>.tableau-image{width:100%;height:100%;object-fit:contain;object-position:center;transform-origin:center;transform:translate3d(0,0,0) scale(1);transition:transform 1100ms cubic-bezier(.2,.75,.2,1)}.tableau-viewport[data-food=secco]>.tableau-image{transform:translate3d(36%,10%,0) scale(1.8)}.tableau-viewport[data-food=umido]>.tableau-image{transform:translate3d(-55%,-10%,0) scale(2.15)}.tableau-viewport[data-food=snack]>.tableau-image{transform:translate3d(-2%,-52%,0) scale(2.15)}.tableau-nav{display:flex;gap:4px;padding:12px 0 0}.tableau-nav button{flex:1;border:1px solid transparent;border-radius:4px;font-size:14px;min-height:45px;padding:10px 8px;transition:background .2s,color .2s}.tableau-nav button[aria-selected=true]{background:var(--accent);color:white}.tableau-nav button:hover:not([aria-selected=true]){background:var(--tint)}.tableau-nav button:focus-visible{outline-offset:2px}.nutrition-details{padding:15px 0}.nutrition-details .food-description{min-height:220px}.nutrition-details .food-description h3{font-size:clamp(28px,2.9vw,42px);line-height:1.1;max-width:17ch}.nutrition-details .food-description p{font-size:16px;line-height:1.7;margin-top:23px;max-width:34ch;color:var(--muted)}.nutrition-details .food-description small{display:block;margin-top:20px;max-width:37ch;line-height:1.5;font-size:12px;color:var(--muted)}.nutrition-details .text-link{font-size:14px;margin-top:22px}.nutrition-still,body[data-species=cat] .nutrition-still{height:auto;aspect-ratio:3/2}.nutrition-still>img,body[data-species=cat] .nutrition-still>img{object-fit:contain;object-position:center}.nutrition-still>span{display:none}.nutrition-hero,body[data-species=cat] .nutrition-hero{grid-template-columns:1fr 1.15fr;gap:5vw;min-height:610px;padding-top:140px;padding-bottom:65px}.nutrition-intro h1{font-size:clamp(45px,4.7vw,69px)}.nutrition-intro>p{font-size:16px;max-width:38ch}.nutrition-switch{margin-top:28px}
.price-sheet .price-note{color:#64516a;font-size:13px;line-height:1.65}.price-note strong{font-weight:500;color:#3c243d}.cut-option{border-color:#3c243d40}.cut-option input{background:#c4d0d0;border-color:#657c80}.cut-option input:before{background:#603b62}.cut-option input:checked{background:#603b62}.cut-option input:checked:before{background:white}.pricing-copy h2{font-size:clamp(38px,4.3vw,61px)}.chapter-photo.care-photo{height:auto;min-height:0;aspect-ratio:2/1;max-height:660px;background:#f0e69e}.chapter-photo.care-photo img{object-fit:contain;object-position:center}.page-head{padding-bottom:45px}.page-head .head-right p{max-width:34ch}.advice-list div:last-child{padding-bottom:0}.advice{padding-top:70px;padding-bottom:70px}.reviews-v2-controls{margin-top:18px}.reviews-v2-controls[hidden]{display:none}
@media(hover:hover) and (pointer:fine){.service-image:hover img{transform:scale(1.025)}}
@media(max-width:1000px) and (min-width:721px){.service-row{min-height:420px;grid-template-columns:.9fr 1.1fr}.service-grooming{grid-template-columns:1.1fr .9fr}.service-words{padding:38px 9%}.service-words h2{font-size:36px}.grooming-service-image{height:450px}.service-price{flex-wrap:wrap}.nutrition-explorer{gap:5%;grid-template-columns:1.2fr 1fr}.nutrition-details .food-description p{font-size:15px}.nutrition-details .food-description h3{font-size:30px}.nutrition-intro h1{font-size:48px}}
@media(max-width:720px){.services-editorial{padding:40px var(--gutter) 55px}.service-row{display:flex;flex-direction:column;min-height:0}.service-words{padding:30px 26px 33px}.service-words h2{font-size:35px;margin-top:12px}.service-words>p:not(.eyebrow){font-size:15px;margin-top:17px}.service-image{height:auto;aspect-ratio:3/2;width:100%}.service-food .service-image{order:-1}.food-service-image img{object-fit:contain;background:#efdfad}.grooming-service-image{height:320px;aspect-ratio:auto}.grooming-service-image img{object-position:60% 40%}.species-entries{margin-top:22px}.species-entries a{padding:10px 0;font-size:13px;min-height:62px}.service-price{margin-top:24px;padding-top:20px}.service-price strong{font-size:32px}.service-words .text-link{margin-top:24px}.service-grooming{margin-top:22px}.home-story .story-photo{height:auto;aspect-ratio:3/2;min-height:0}.home-story .story-photo>img{object-fit:contain}.home-story .story-copy{padding:38px var(--gutter) 44px}.home-story .story-copy h2{font-size:38px}.food-chapter{padding:55px var(--gutter)}.explorer-heading{display:block;margin-bottom:25px}.explorer-heading h2{font-size:38px}.explorer-heading>p{font-size:14px;margin-top:20px}.nutrition-explorer{display:block}.nutrition-details{padding:30px 0 0}.nutrition-details .food-description{min-height:180px}.nutrition-details .food-description h3{font-size:32px;max-width:none}.nutrition-details .food-description p{font-size:15px;margin-top:19px;max-width:none}.nutrition-details .text-link{margin-top:18px}.tableau-nav{gap:2px;padding-top:10px}.tableau-nav button{font-size:13px;min-height:44px}.nutrition-hero,body[data-species=cat] .nutrition-hero{min-height:0;padding:110px var(--gutter) 35px;gap:30px}.nutrition-still,body[data-species=cat] .nutrition-still{height:auto;aspect-ratio:3/2}.nutrition-intro h1{font-size:45px}.nutrition-intro>p{font-size:15px}.chapter-photo.care-photo{height:auto;aspect-ratio:3/2;min-height:0}.chapter-photo.care-photo img{object-fit:contain}.page-head{padding-bottom:35px}.pricing-copy h2{font-size:38px}.advice{padding-top:50px;padding-bottom:50px}}
body.reduce-motion .tableau-viewport>.tableau-image{transition:none}@media(prefers-reduced-motion:reduce){.tableau-viewport>.tableau-image{transition:none}}

/* Each still life has its own optical centre. */
body[data-species=cat] .tableau-viewport[data-food=secco]>.tableau-image{transform:translate3d(49%,36%,0) scale(2.1)}
body[data-species=cat] .tableau-viewport[data-food=umido]>.tableau-image{transform:translate3d(-51%,21%,0) scale(2.1)}
body[data-species=cat] .tableau-viewport[data-food=snack]>.tableau-image{transform:translate3d(3.8%,-42.5%,0) scale(2.5)}
@media(max-width:720px){.dog-hero{height:850px}.hero-portrait{top:415px;height:360px}.home-footnote{bottom:25px}}
/* Controls stay available while snapshots are moving. */
::view-transition{pointer-events:none}
.nutrition-intro>p{min-height:4.95em}
::view-transition-group(*),::view-transition-image-pair(*),::view-transition-old(*),::view-transition-new(*){pointer-events:none}

/* 15 October: photographic service spread, tactile controls and a clear booking sheet. */
.service-gallery{padding:80px var(--gutter) 90px;display:grid;grid-template-columns:1.23fr 1fr;gap:6vw;align-items:start;background:var(--paper)}
.service-feature{min-width:0}.feature-grooming{padding-top:92px}
.feature-link{display:block}.feature-title{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 23px;border-bottom:1px solid var(--line);margin-bottom:23px}
.feature-title h2{font-size:clamp(31px,3.1vw,48px);letter-spacing:-.05em;line-height:1.1}
.feature-arrow{width:48px;height:48px;border:1px solid #3c243d50;border-radius:50%;display:grid;place-items:center;flex:none;position:relative;isolation:isolate;transition:color .3s}
.feature-arrow:before{content:'';position:absolute;inset:-1px;background:var(--ink);border-radius:50%;z-index:-1;transform:scale(0);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.feature-arrow svg{width:22px;height:22px;transition:transform .4s var(--ease)}
.feature-media{overflow:hidden;border-radius:5px;aspect-ratio:3/2;background:#efe6c8}.feature-media img{object-position:center;transition:transform 800ms cubic-bezier(.22,1,.36,1)}
.feature-grooming .feature-media{aspect-ratio:1.19;background:#efe5a6}.feature-grooming .feature-media img{object-position:60% 44%}
.feature-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:21px}.feature-bottom>p{font-size:14px;color:var(--muted);line-height:1.5}
.feature-species{display:flex;gap:23px;flex:none}.feature-species a{display:flex;gap:10px;align-items:center;font-size:14px;min-height:44px;border-bottom:1px solid transparent;transition:border-color .25s}.feature-species svg{width:16px;height:16px}.feature-species a:hover{border-color:currentColor}
.feature-price{display:flex;align-items:baseline;gap:7px;white-space:nowrap;font-size:12px;min-height:44px;padding-top:5px}.feature-price strong{font-size:25px;font-weight:500;letter-spacing:-.04em}.feature-price svg{width:17px;height:17px;margin-left:8px;align-self:center}
.feature-link:focus-visible .feature-arrow{background:var(--ink);color:var(--paper)}
@media(hover:hover) and (pointer:fine){.feature-link:hover .feature-media img{transform:scale(1.025)}.feature-link:hover .feature-arrow{color:var(--paper)}.feature-link:hover .feature-arrow:before{transform:scale(1)}.feature-link:hover .feature-arrow svg{transform:rotate(45deg)}}
/* An anchored moving surface communicates the selected bowl without moving its label. */
.tableau-nav{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:6px;margin-top:17px;border:1px solid #3c243d30;border-radius:14px;background:color-mix(in srgb,var(--tint) 50%,var(--paper));}
.tableau-nav:before{content:'';position:absolute;z-index:-1;top:6px;bottom:6px;left:6px;width:calc((100% - 12px)/4);border-radius:9px;background:var(--paper);box-shadow:0 2px 7px #3c243d0b,0 0 0 1px #3c243d12;transform:translateX(calc(var(--tab-index)*100%));transition:transform 500ms cubic-bezier(.22,1,.36,1)}
.tableau-nav button{display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:9px;padding:13px 5px;font-size:14px;min-height:49px;position:relative;color:var(--muted);transition:color .2s;background:transparent!important}
.tableau-nav button svg{width:18px;height:18px;stroke-width:1.5;flex:none}.tableau-nav button[aria-selected=true]{color:var(--accent);font-weight:500}.tableau-nav button[aria-selected=true]:after{content:'';width:15px;height:2px;border-radius:2px;position:absolute;bottom:5px;left:calc(50% - 7.5px);background:var(--accent)}
.tableau-nav button:hover:not([aria-selected=true]){color:var(--ink)}.tableau-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.explorer-heading{margin-bottom:34px}.explorer-heading h2{font-size:clamp(35px,3.5vw,50px)}.nutrition-details .food-description{min-height:200px}.nutrition-details .food-description h3{font-size:clamp(30px,2.9vw,42px)}.nutrition-details .food-description small:empty{display:none}.nutrition-intro>p{min-height:0}.nutrition-details .text-link{gap:20px}
/* Booking is a single form: service choices and their live receipt share one frame. */
.appointment-section{padding:85px var(--gutter) 65px;background:var(--paper)}
.appointment-heading{display:flex;align-items:baseline;justify-content:space-between;gap:28px;margin-bottom:36px}.appointment-heading h2{font-size:clamp(36px,4.3vw,61px)}.appointment-heading p{font-size:15px;color:var(--muted)}
.appointment-sheet{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid #3c243d2e;border-radius:10px;padding:0;margin:0;background:#fafaf7;color:var(--ink);overflow:hidden}
.appointment-options{padding:42px clamp(25px,4vw,62px);min-width:0}.appointment-options fieldset{margin:0 0 28px}.appointment-options legend{font-size:15px;margin-bottom:19px}
.appointment-options .size-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}.appointment-options .size-option>span{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px 12px;padding:22px 20px;text-align:left;border:1px solid #3c243d38;border-radius:6px;background:transparent;color:var(--ink);transition:background .25s,border-color .25s}
.appointment-options .size-option>span>span{display:block;padding:0;border:0;border-radius:0;background:none;color:inherit}.appointment-options .size-label{font-size:17px}.appointment-options .size-price{font-size:26px;grid-row:2;letter-spacing:-.04em}.appointment-options .size-tick{grid-column:2;grid-row:1/3;width:25px;height:25px;border:1px solid #71848a!important;border-radius:50%!important;display:grid!important;place-items:center}.size-tick svg{width:15px;height:15px;opacity:0}
.appointment-options .size-option input:checked+span{background:#e3ebec;border-color:#426471;color:var(--ink)}.appointment-options .size-option input:checked+span .size-tick{background:var(--accent);border-color:var(--accent)!important;color:white}.size-option input:checked+span .size-tick svg{opacity:1}.appointment-options .size-option input:focus-visible+span{outline:3px solid var(--accent);outline-offset:4px}.appointment-options .size-option:hover>span{border-color:var(--accent)}
.appointment-options .cut-option{padding:23px 0;border-color:var(--line)}.appointment-options .cut-option>div{font-size:17px}.appointment-options .cut-option>div>span{font-size:13px;opacity:1;color:var(--muted);margin-top:7px}.appointment-options .cut-option input{width:46px;height:28px}.appointment-options .cut-option input:before{top:4px;left:4px}.appointment-options .cut-option input:checked:before{transform:translateX(18px)}
.included-care{margin-top:28px}.included-care h3{font-size:13px;letter-spacing:0;color:var(--muted);font-weight:400}.included-care ul{padding:0;margin:12px 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:12px 20px}.included-care li{display:flex;align-items:center;gap:6px;font-size:13px}.included-care svg{width:16px;height:16px;color:var(--accent)}.appointment-note{margin-top:25px;color:var(--muted);font-size:12px;line-height:1.6;max-width:46ch}
.appointment-receipt{background:#dfe8e8;padding:42px clamp(25px,4vw,62px);display:flex;flex-direction:column;border-left:1px solid #3c243d1a;min-width:0}.appointment-receipt h3{font-size:24px;letter-spacing:-.025em;margin-bottom:25px}.booking-lines{margin:0;padding:0;min-height:137px}.booking-lines>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:8px 0;font-size:14px}.booking-lines dt{color:var(--muted)}.booking-lines dd{margin:0;white-space:nowrap}.appointment-receipt .price-total{margin:22px 0 26px;border-top:1px solid #3c243d30;padding-top:25px;align-items:baseline}.appointment-receipt .price-total>span{font-size:16px}.appointment-receipt output{font-size:clamp(59px,5.5vw,80px);letter-spacing:-.07em;line-height:1.05}.appointment-receipt .button{font-size:14px;padding:17px 19px;min-height:56px;justify-content:space-between;margin-top:auto;border:0}.booking-phone{text-align:center;font-size:13px;color:var(--muted);margin-top:15px}
.appointment-help{padding:0 var(--gutter) 80px;display:grid;grid-template-columns:1fr 1.55fr;gap:8vw;background:var(--paper)}.appointment-help h2{font-size:28px;line-height:1.2;padding-top:23px}.appointment-help details{border-bottom:1px solid var(--line);padding:23px 0}.appointment-help details:first-child{border-top:1px solid var(--line)}.appointment-help summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-size:16px}.appointment-help summary::-webkit-details-marker{display:none}.appointment-help summary>span{font-size:22px;line-height:1;transition:transform .25s}.appointment-help details[open] summary>span{transform:rotate(45deg)}.appointment-help details p{color:var(--muted);font-size:14px;margin-top:17px;max-width:48ch;line-height:1.6}
/* The visit has a proper title, a full photograph, and a quiet opening-hours column. */
.store-visit{padding:145px var(--gutter) 65px;background:var(--paper)}.store-visit>.back-link{margin-bottom:30px}.store-visit-heading{display:grid;grid-template-columns:1.45fr 1fr;gap:5vw;align-items:center;margin-bottom:42px}.store-visit-heading h1{font-size:clamp(48px,5.6vw,82px);line-height:1.05;max-width:10ch}.store-visit-heading address{font-size:17px;font-style:normal;line-height:1.65}.store-directions{display:inline-flex;align-items:center;gap:16px;font-size:13px;margin-top:15px;min-height:34px;border-bottom:1px solid var(--line)}.store-directions svg{width:17px;height:17px}.store-arrival{display:grid;grid-template-columns:1.45fr 1fr;gap:5vw;align-items:stretch}.store-arrival-photo{aspect-ratio:3/2;min-width:0;overflow:hidden;border-radius:5px;align-self:center}.store-arrival-photo img{object-fit:contain;object-position:center}.store-arrival-info{border-top:1px solid var(--line);padding:27px 0 0;display:flex;flex-direction:column}.store-arrival-info h2{font-size:25px;line-height:1.2;letter-spacing:-.035em}.store-hours{margin:22px 0 20px}.store-hours>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:12px 0;font-size:14px}.store-hours dd{margin:0;text-align:right;line-height:1.6}.store-hours dt{color:var(--muted)}.store-call{border-top:1px solid var(--line);padding-top:20px;margin-top:auto}.store-call>span{font-size:12px;color:var(--muted);display:block}.store-call a{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:30px;letter-spacing:-.03em;min-height:52px}.store-call svg{width:22px;height:22px}.store-map{min-height:0;height:410px}.store-map iframe{min-height:0;height:100%;width:100%;border:0}
@media(min-width:721px) and (max-width:1000px){.service-gallery{gap:4vw}.feature-title h2{font-size:30px}.feature-title{gap:12px}.feature-arrow{width:39px;height:39px}.feature-bottom{display:block}.feature-species{gap:26px;margin-top:8px}.feature-price{margin-top:8px}.appointment-options,.appointment-receipt{padding:30px 25px}.appointment-options .size-option>span{padding:18px 14px}.included-care ul{flex-direction:column;gap:9px}.store-arrival,.store-visit-heading{grid-template-columns:1.2fr 1fr;gap:4vw}.store-arrival-photo{aspect-ratio:1.28}.store-arrival-photo img{object-fit:cover;object-position:65% center}.store-call a{font-size:26px}}
@media(max-width:720px){
 .dog-hero{height:760px;min-height:0}.hero-portrait{top:335px;height:350px}.home-footnote{bottom:25px}
 .service-gallery{display:block;padding:48px var(--gutter) 55px}.feature-grooming{padding-top:42px}.feature-title{padding-bottom:17px;margin-bottom:18px}.feature-title h2{font-size:31px}.feature-arrow{width:40px;height:40px}.feature-arrow svg{width:19px;height:19px}.feature-grooming .feature-media{aspect-ratio:3/2}.feature-grooming .feature-media img{object-position:center}.feature-bottom{padding-top:13px;gap:10px}.feature-bottom>p{font-size:12px;max-width:19ch}.feature-species{gap:18px}.feature-species a{font-size:13px;gap:7px}.feature-species svg{width:14px;height:14px}.feature-price strong{font-size:23px}.feature-price svg{margin-left:3px}
 .tableau-nav{margin-top:14px;padding:5px;border-radius:12px}.tableau-nav:before{left:5px;top:5px;bottom:5px;width:calc((100% - 10px)/4);border-radius:7px}.tableau-nav button{gap:6px;font-size:12px;min-height:48px;padding:12px 2px;border-radius:7px}.tableau-nav button svg{width:15px;height:15px}.tableau-nav button[aria-selected=true]:after{bottom:4px}.explorer-heading h2{font-size:36px}.nutrition-details .food-description{min-height:156px}.nutrition-details .food-description h3{font-size:31px}.nutrition-details .food-description p{margin-top:17px}.food-chapter{padding-bottom:45px}
 .appointment-section{padding:53px var(--gutter) 40px}.appointment-heading{display:block;margin-bottom:27px}.appointment-heading h2{font-size:38px;max-width:12ch;line-height:1.08}.appointment-heading p{font-size:14px;margin-top:16px}.appointment-sheet{display:block;margin:0;border-radius:8px}.appointment-options{padding:26px 21px 28px}.appointment-options legend{font-size:14px;margin-bottom:16px}.appointment-options .size-choices{gap:12px}.appointment-options .size-option>span{padding:17px 13px;gap:13px 8px}.appointment-options .size-label{font-size:15px}.appointment-options .size-price{font-size:24px}.appointment-options .size-tick{width:22px;height:22px}.appointment-options .cut-option>div{font-size:15px}.appointment-options .cut-option>div>span{font-size:12px;line-height:1.5;max-width:22ch}.included-care{margin-top:24px}.included-care ul{gap:9px 15px}.included-care li{font-size:12px}.appointment-note{font-size:12px;margin-top:20px}.appointment-receipt{padding:27px 23px;border:0;border-top:1px solid var(--line)}.appointment-receipt h3{font-size:23px;margin-bottom:20px}.booking-lines{min-height:0}.booking-lines>div{font-size:13px}.appointment-receipt .price-total{margin:22px 0;padding-top:23px}.appointment-receipt output{font-size:65px}.appointment-receipt .button{font-size:13px;padding:16px;min-height:52px}.booking-phone{font-size:12px}.appointment-help{padding:0 var(--gutter) 50px;display:block}.appointment-help h2{font-size:27px;padding:0;margin-bottom:25px}.appointment-help details{padding:21px 0}.appointment-help summary{font-size:14px}.appointment-help details p{font-size:13px}
 .store-visit{padding:112px var(--gutter) 42px}.store-visit>.back-link{margin-bottom:25px}.store-visit-heading{display:block;margin-bottom:29px}.store-visit-heading h1{font-size:48px;max-width:9ch}.store-visit-heading>div{margin-top:24px}.store-visit-heading address{font-size:15px}.store-directions{margin-top:11px;font-size:13px}.store-arrival{display:block}.store-arrival-photo{aspect-ratio:3/2}.store-arrival-info{margin-top:29px;padding-top:25px}.store-arrival-info h2{font-size:25px}.store-hours{margin:19px 0 21px}.store-hours>div{font-size:14px;padding:10px 0}.store-call{padding-top:18px}.store-call a{font-size:29px}.store-map{height:350px;min-height:0}.store-map iframe{height:350px;min-height:0}
}
@media(max-width:360px){.feature-title h2{font-size:27px}.feature-species{gap:12px}.tableau-nav button{flex-direction:column;gap:5px;min-height:58px}.tableau-nav button[aria-selected=true]:after{bottom:3px}.appointment-options,.appointment-receipt{padding-left:18px;padding-right:18px}.appointment-options .size-option>span{padding:15px 10px}.appointment-options .size-label{font-size:14px}.appointment-options .size-tick{width:18px;height:18px}}
body.reduce-motion .tableau-nav:before,body.reduce-motion .feature-media img,body.reduce-motion .feature-arrow,body.reduce-motion .feature-arrow:before,body.reduce-motion .feature-arrow svg{transition:none}body.reduce-motion .feature-link:hover img{transform:none}
@media(prefers-reduced-motion:reduce){.tableau-nav:before,.feature-media img,.feature-arrow,.feature-arrow:before,.feature-arrow svg{transition:none}.feature-link:hover img{transform:none}}

section.service-gallery,section.appointment-section,section.food-chapter,section.appointment-help{scroll-margin-top:0}

/* Marchi: same typography and palette as the existing nutrition chapter. */
.catalog-section{padding:80px var(--gutter);background:var(--tint);scroll-margin-top:90px}
.catalog-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:32px}
.catalog-heading h2{font-size:clamp(36px,4.2vw,58px);line-height:1.08;letter-spacing:-.055em;margin:0}
.catalog-heading>p{color:var(--muted);font-size:14px;margin:0 0 5px;text-align:right}
.brand-showcase{display:flex;flex-wrap:wrap;background:var(--paper);padding:10px 28px;border-radius:5px}
.brand-tile{flex:1 1 30%;min-width:0;min-height:186px;display:flex;align-items:center;justify-content:center;position:relative;padding:30px 22px;border-bottom:1px solid var(--line)}
.brand-tile:nth-child(n+4){border-bottom:0}
.brand-showcase[data-count="4"] .brand-tile{flex-basis:45%}
.brand-showcase[data-count="4"] .brand-tile:nth-child(n+3){border-bottom:0}
.brand-logo{display:block;object-fit:contain;width:100%;height:82px;max-width:190px}
.brand-monge .brand-logo{max-width:188px;height:64px}
.brand-schesir .brand-logo{max-width:176px;height:62px}
.brand-royal-canin .brand-logo{max-width:185px;height:76px}
.brand-purina .brand-logo{max-width:185px;height:54px}
.brand-farmina .brand-logo{max-width:290px;height:100px}
.brand-hills .brand-logo{width:88px;height:88px}
.catalog-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.catalog-contact>p{font-size:15px;margin:0;color:var(--muted)}
.catalog-contact .text-link{font-size:15px;margin:0}
.catalog-contact .circle-arrow{width:38px;height:38px}
.booking-confirmation{font-size:12px;line-height:1.55;color:var(--muted);margin:12px 0 0;max-width:30ch}
.appointment-receipt>.button{font-size:14px;gap:12px}
@media(max-width:700px){
 .catalog-section{padding-block:54px}.catalog-heading{display:block;margin-bottom:24px}.catalog-heading>p{text-align:left;margin-top:12px}
 .brand-showcase{padding:4px 14px}.brand-tile,.brand-showcase[data-count="4"] .brand-tile{flex-basis:45%;min-height:142px;padding:23px 14px}
 .brand-tile:nth-child(n){border-bottom:1px solid var(--line)}.brand-tile:last-child,.brand-tile:nth-last-child(2):nth-child(odd){border-bottom:0}
 .brand-logo{max-width:100%;height:58px}.brand-monge .brand-logo,.brand-schesir .brand-logo{height:45px}.brand-royal-canin .brand-logo{height:56px}.brand-purina .brand-logo{height:40px}.brand-farmina .brand-logo{height:70px}.brand-hills .brand-logo{width:66px;height:66px}

 .catalog-contact{display:block;margin-top:24px;padding-top:20px}.catalog-contact .text-link{margin-top:12px}
}

/* One unobtrusive disclosure per page, without changing image positioning. */
.imagery-notice{position:absolute;z-index:3;top:108px;right:var(--gutter);margin:0;color:#746179;font:400 12px/1.4 Host,sans-serif;letter-spacing:0;text-align:right}
@media(max-width:720px){.imagery-notice{top:89px;right:var(--gutter);font-size:12px}}

body[data-page="home"]>.imagery-notice{display:none}
/* A real-looking schedule is visibly identified as illustrative in every placement. */
.sample-hours{color:var(--ink)}.sample-hours .sample-hours-label{font-size:12px;line-height:1.4;color:var(--muted);margin:0 0 7px}.sample-hours dl{margin:0}.sample-hours dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}.sample-hours dl>div:last-child{border-bottom:0}.sample-hours dt{font-weight:400;color:var(--muted)}.sample-hours dd{margin:0;font-weight:500;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sample-hours--footer{max-width:260px}.sample-hours--footer dl>div{font-size:14px;padding:5px 0}
.sample-hours--card{margin-top:24px;padding-top:17px;border-top:1px solid var(--line)}.sample-hours--card dl>div{font-size:13px;padding:5px 0}
.sample-hours--store{margin:21px 0 16px;padding-top:16px;border-top:1px solid var(--line)}.sample-hours--store dl>div{font-size:16px;padding:10px 0}
@media(max-width:720px){.sample-hours--store{margin:19px 0 15px}.sample-hours--store dl>div{font-size:15px}}

/* Demo-only actions keep their place without suggesting a working destination. */
.demo-disabled{opacity:.5;cursor:not-allowed}
.header-call.demo-disabled:hover{background:transparent}
.button.solid.demo-disabled:hover{background:var(--accent);border-color:transparent;color:white}
.text-link.demo-disabled:hover .circle-arrow{background:transparent;border-color:currentColor;color:inherit;transform:none}
