:root{color-scheme:light;--ink:#101111;--pale:#eef9fc;--soft:#c6eff4;--blue:#51d2f1;--footer:#b5e8f3;--muted:#435961}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--pale);color:var(--ink);font:1.125rem/1.5 Georgia,'Times New Roman',serif}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-underline-offset:5px}button:focus-visible,a:focus-visible{outline:3px solid #00718c;outline-offset:5px}.preview{background:#111;color:white;text-align:center;padding:9px 16px;font:0.875rem/1.4 Arial,sans-serif}header{position:sticky;top:0;z-index:5;background:linear-gradient(#73dff8,var(--pale));height:64px;display:flex;align-items:center;justify-content:space-between;padding:8px max(18px,calc((100% - 1000px)/2));gap:20px}header img{width:56px;height:44px;object-fit:contain;border-radius:50%}#menuButton,.pill{border:1.5px solid #111;border-radius:40px;background:transparent;padding:9px 20px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}#menu{position:absolute;top:64px;right:max(18px,calc((100% - 1000px)/2));background:white;border:1px solid #111;border-radius:18px;box-shadow:0 14px 30px #133c4b25;width:220px;padding:15px}#menu a,#menu button{display:block;padding:8px;text-align:left;background:none;border:0;text-decoration:none;width:100%}.wrap{width:min(100% - 36px,1000px);margin:auto}section{padding:42px 0}h1,h2,h3{line-height:1.15;margin:0 0 22px;font-weight:700;letter-spacing:.005em}h1{font-size:clamp(2.15rem,7.3vw,4.5rem);text-align:center;margin:32px 0 62px}h2{font-size:1.65rem}h3{font-size:1.8rem}p{margin:0 0 22px}.eyebrow{font:0.875rem/1.4 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.intro .eyebrow{text-align:center;margin:0}.hero{display:block;width:100%;border-radius:14px;margin-bottom:38px;box-shadow:0 18px 24px #183e4b16}.intro p:not(.eyebrow){line-height:1.5}.actions{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 8px}.primary{background:#111;border:1.5px solid #111;color:white;border-radius:50px;padding:11px 25px;display:inline-flex;align-items:center;justify-content:center}.actions>*{flex:0 1 auto}.sessions{background:var(--soft)}.large{font-size:clamp(2.35rem,5.4vw,3.5rem)}.muted,article p,footer p{color:var(--muted)}.cards{display:grid;gap:20px;margin-top:38px}article{background:white;border-radius:20px;padding:26px 22px;box-shadow:0 20px 28px #39747a0b}article p{font-size:1rem;line-height:1.45}article h3{font-size:1.8rem}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.card-bottom strong{display:block;font-size:1.5rem;line-height:1.1}.card-bottom span{display:block;font:0.875rem/1.5 Arial,sans-serif;color:var(--muted)}.text-button{background:none;border:0;padding:5px 0;text-decoration:underline;text-underline-offset:5px;font-size:1rem}.story{text-align:center;font-weight:bold;font-size:1.65rem;color:var(--muted);margin:64px 0 0}.contact{background:var(--blue)}.question{width:100%;display:block;border-radius:14px;margin:36px 0 0}footer{background:var(--footer);padding:64px 0 0}.email{display:block;font-weight:bold;font-size:clamp(1rem,3.7vw,1.6rem);overflow-wrap:anywhere;margin:34px 0}.footer-block{margin:45px 0}.footer-block .eyebrow{font-size:1rem;font-weight:bold}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}.footer-links button{border:0;background:none;padding:0;text-align:left}.footer-links a{text-decoration:none}.copyright{border-top:1px solid #9ed2dd;padding:24px max(18px,calc((100% - 1000px)/2));font-size:1rem;color:var(--muted)}dialog{border:1px solid #7babb9;border-radius:22px;padding:30px;max-width:min(90vw,520px);background:var(--pale)}dialog::backdrop{background:#06252b88}dialog h2{font-size:1.8rem}@media(min-width:760px){.intro .wrap{max-width:760px}.hero{max-height:480px;object-fit:cover}.cards{grid-template-columns:1fr 1fr}article:last-child{grid-column:1/-1}.contact .wrap{max-width:760px}.question{height:auto;max-height:none;object-fit:contain}section{padding:65px 0}article{padding:32px}body{font-size:1.25rem}}

.moving-title{margin:30px -18px 48px;overflow:hidden}.moving-title svg{display:block;width:100%;height:auto;overflow:hidden}.moving-title text{font-family:Georgia,'Times New Roman',serif;font-size:64px;font-weight:700;fill:var(--ink)}.title-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){.moving-title svg{display:none}.title-label{position:static;width:auto;height:auto;clip-path:none;white-space:normal}.moving-title{padding:25px 18px}html{scroll-behavior:auto}}

.moving-story{overflow:hidden}.story-track{display:flex;width:max-content;animation:story-scroll 22s linear infinite}.story-copy{flex:none;display:block;width:clamp(360px,calc(100vw - 36px),1000px);padding:0 16px;white-space:nowrap}@keyframes story-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.story-track{display:none}}

header{height:auto;min-height:64px;gap:14px}header>a{flex:none}#menuButton{flex:none}.top-links{display:flex;flex:1;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 20px}.top-links a,.top-links button{color:#000;background:none;border:0;padding:5px 0;font:1rem/1.4 Georgia,'Times New Roman',serif;text-decoration:none;white-space:nowrap}.top-links a:hover,.top-links button:hover{text-decoration:underline;text-underline-offset:5px}#menu{top:100%}@media(max-width:640px){header{flex-wrap:wrap;gap:8px 12px}.top-links{order:3;flex-basis:100%;gap:4px 18px;padding:4px 0}.top-links a,.top-links button{font-size:.875rem}#menuButton{margin-left:auto}}

.top-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px 8px;justify-content:stretch}.top-links a,.top-links button{text-align:center;font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:.005em}.top-links a{display:block}@media(max-width:800px) and (min-width:641px){.top-links{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.top-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px}}

.sessions-title{text-align:left;margin:0 0 22px}.sessions-page .sessions{min-height:65vh}.top-links [aria-current="page"]{text-decoration:underline;text-underline-offset:5px}

.session-detail{background:var(--soft)}.back-sessions{display:inline-block;margin-bottom:28px;font-size:1rem}.session-product{display:grid;gap:32px;align-items:start}.session-photo{width:100%;height:auto;display:block;border-radius:20px}.session-summary{background:#fff;padding:28px;border-radius:20px}.session-summary h1{text-align:left;font-size:clamp(2rem,4vw,3.25rem);margin:0 0 24px}.session-summary .eyebrow{margin-bottom:14px}.session-summary p:not(.eyebrow){font-size:1rem;line-height:1.6}.session-rate{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid #c6eff4}.session-rate strong{display:block;font-size:2.2rem}.session-rate span{font:1rem/1.5 Arial,sans-serif;color:var(--muted)}.session-product{grid-template-columns:minmax(0,1fr);max-width:820px;margin:0 auto}.session-photo{position:static;object-fit:contain}

.experience-intro{background:var(--pale)}.experience-intro h1{text-align:left;font-size:clamp(2.5rem,6vw,4rem);margin:0 0 28px}.experience-intro p:not(.eyebrow){color:var(--muted);line-height:1.6}.chapter-divider{display:flex;gap:10px;margin:28px 0}.chapter-divider span{width:20px;height:4px;border-radius:4px;background:var(--ink)}.experience-steps{background:var(--soft)}.experience-cards{display:grid;gap:24px}.experience-cards article{padding:30px}.experience-cards h2{font-size:clamp(1.8rem,4vw,2.5rem)}.step-number{display:block;font-size:2.5rem;font-weight:700;color:var(--muted);margin-bottom:16px;line-height:1.1}.experience-cards p{font-size:1.125rem;line-height:1.5;margin-bottom:0}.experience-cta .actions{margin-top:30px}@media(min-width:760px){.experience-intro .wrap{max-width:850px}.experience-cards{grid-template-columns:1fr 1fr}.experience-cards article:last-child{grid-column:auto}}

.session-details-title{font-size:1.3rem;margin:0 0 18px}.session-facts{margin:0 0 32px;font-size:1rem;line-height:1.5}.session-facts>div{display:grid;grid-template-columns:minmax(110px,1fr) 1.5fr;gap:16px;margin-bottom:12px}.session-facts dt{color:var(--muted)}.session-facts dd{margin:0}

.cards>article{display:flex;flex-direction:column}.cards>article>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;line-height:1.45;min-height:5.8em;max-height:5.8em;margin-bottom:0}.cards>article>.card-bottom{margin-top:auto;padding-top:20px}

.top-links{grid-template-columns:repeat(5,minmax(0,1fr))}.cozy-summary{max-width:800px;margin:auto}@media(max-width:800px){.top-links{display:flex;justify-content:space-evenly;flex-wrap:wrap;gap:8px 16px}}

.treats-page{background:var(--soft)}.treats-page h1{margin:0 0 24px;text-align:left}.treat-intro{max-width:850px;line-height:1.6}.treat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:30px 0}.treat-grid h3{font-size:1.6rem}.product-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--pale);border:2px dashed #83b3be;border-radius:14px;margin-bottom:24px;padding:24px;text-align:center;color:var(--muted);font-size:1rem}.draft-cart{background:white;border-radius:20px;padding:28px}.draft-cart .text-button{margin:16px}.reward-picker{border-top:1px solid #b6dae2;margin-top:24px;padding-top:24px;font-size:1rem}.reward-picker label{display:block;font-weight:bold}.reward-picker select{display:block;width:100%;max-width:100%;margin:10px 0 14px;padding:12px;border:1px solid #648c97;border-radius:10px;background:white;color:var(--ink);font:1rem/1.5 Georgia,serif}.reward-picker p{font-size:1rem;line-height:1.5;color:var(--muted);margin:0 0 16px}.reward-picker a{display:block;margin-top:14px}.reward-picker [role=status]:empty{display:none}.reward-picker [role=status]{margin-top:14px}select:focus-visible{outline:3px solid #00718c;outline-offset:3px}@media(max-width:640px){.treat-grid{grid-template-columns:1fr}}
.cart-link{font-size:1rem;white-space:nowrap}.invoice-table{width:100%;border-collapse:collapse;font-size:1rem;margin:24px 0}.invoice-table th,.invoice-table td{text-align:left;padding:16px 8px;border-bottom:1px solid #b6dae2}.invoice-table th:last-child,.invoice-table td:last-child{text-align:right}.invoice-table tfoot th,.invoice-table tfoot td{font-weight:bold}.invoice-note{margin-top:28px;font-size:1rem}

header>.cart-link{flex:none;font:1rem/1.4 Georgia,serif;color:var(--ink);padding:9px 20px;text-decoration:none}@media(max-width:640px){header>.cart-link{margin-left:auto}}
.treat-product-photo{position:relative;aspect-ratio:760/790;overflow:hidden;background:white;border-radius:14px;margin-bottom:24px}.treat-product-photo img{position:absolute;width:124.35%;max-width:none;height:auto;left:-12.17%;top:-31.65%}.treat-grid details{font-size:1rem;line-height:1.5;margin-bottom:24px}.treat-grid summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;margin-bottom:16px}.treat-grid details p{margin-bottom:16px}
.product-gallery{min-width:0;margin-bottom:24px}.product-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin}.product-slides figure{flex:0 0 100%;min-width:0;scroll-snap-align:start;margin:0}.product-slides .treat-product-photo{margin-bottom:12px}.product-slides figcaption{text-align:center;font-size:1rem;color:var(--muted);margin:10px 0}.product-back img{width:124.38%;left:-12.28%;top:-31.65%}.product-nutrition{position:relative;aspect-ratio:900/900;overflow:hidden;background:white;border-radius:14px}.product-nutrition img{position:absolute;width:105%;max-width:none;height:auto;left:-2.3%;top:-25%}.gallery-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:12px}.gallery-controls button{background:var(--pale);border:1px solid #648c97;border-radius:30px;padding:8px 14px;font-size:1rem}.product-slides:focus-visible{outline:3px solid #00718c;outline-offset:3px}@media(prefers-reduced-motion:no-preference){.product-slides{scroll-behavior:smooth}}
.reward-picker .estimated-total{font-size:1.15rem;font-weight:bold;color:var(--ink);margin:18px 0 10px}.reward-picker .estimate-note{font-size:0.875rem;margin-bottom:22px}
.natural-product-photo{position:relative;aspect-ratio:570/590;overflow:hidden;background:white;border-radius:14px;margin-bottom:12px}.natural-product-photo img{position:absolute;width:124.38%;max-width:none;height:auto;left:-12.28%;top:-31.65%}

.zukes-product-photo{aspect-ratio:570/590;background:white;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.zukes-product-photo img{width:100%;height:100%;object-fit:contain}

.birthday-breakdown{padding:16px;border:1px solid #b6dae2;border-radius:10px;background:#fff;margin:0 0 16px}.birthday-breakdown .bundle-title{font-weight:bold;color:var(--ink)}.birthday-breakdown p:last-child{margin-bottom:0}

.animal-choice .sessions{min-height:55vh}.animal-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px}.animal-choice-card{display:block;background:white;border:1px solid #94c5d0;border-radius:20px;padding:36px;text-decoration:none;box-shadow:0 20px 28px #39747a0b}.animal-choice-card h2{font-size:2.25rem}.animal-choice-card p{color:var(--muted)}.animal-choice-card:hover{border-color:#00718c}.cat-story{margin-top:20px;font-size:1rem}.cat-story summary{cursor:pointer;text-decoration:underline}.cat-story p{margin-top:16px}@media(max-width:640px){.animal-choice-grid{grid-template-columns:1fr}.animal-choice-card{padding:28px}}

.animal-choice-grid{max-width:820px;margin:36px auto 0}.animal-logo-button{padding:12px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:2px solid #94c5d0;border-radius:18px;background:white;transition:border-color .15s,box-shadow .15s}.animal-logo-button img{display:block;width:100%;height:100%;object-fit:contain}.animal-logo-button:hover{border-color:#00718c;box-shadow:0 12px 28px #39747a20}@media(max-width:640px){.animal-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.animal-logo-button{padding:6px;border-radius:14px}}@media(prefers-reduced-motion:reduce){.animal-logo-button{transition:none}}

.stroke-filter-defs{position:absolute;pointer-events:none}.matched-cat-stroke{filter:url(#match-dog-stroke)}

.appointment-process{background:var(--soft)}.appointment-process h2{margin-bottom:28px}.appointment-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:0;counter-reset:appointment}.appointment-steps li{background:white;border:1px solid #a5d5de;border-radius:18px;padding:24px;min-width:0}.appointment-step-number{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #648c97;border-radius:50%;background:var(--pale);font-weight:bold;font-size:1rem;margin-bottom:18px}.appointment-steps h3{font-size:1.25rem;line-height:1.25;margin-bottom:12px}.appointment-steps p{font-size:1rem;line-height:1.55;color:var(--muted);margin:0}.appointment-steps a{color:var(--ink)}@media(max-width:760px){.appointment-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.appointment-steps{grid-template-columns:1fr}.appointment-steps li{padding:22px}}

.session-addons{background:var(--pale)}.session-addons h2{margin-bottom:24px}.addons-intro{max-width:800px;color:var(--muted);font-size:1rem;line-height:1.55}.addons-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}.addons-grid article{min-width:0;padding:28px;border:1px solid #d2e7ec;box-shadow:none}.addons-grid h3{font-size:1.5rem}.addons-grid p{font-size:1rem;line-height:1.55}.addons-grid .addon-rate{color:var(--ink);margin-bottom:0;font-weight:bold}@media(max-width:760px){.addons-grid{grid-template-columns:1fr}}

.treat-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}.treat-catalog-card{display:block;min-width:0;padding:18px;background:white;border:1px solid #a5d5de;border-radius:16px;text-decoration:none}.treat-catalog-card:hover{border-color:#00718c}.treat-catalog-photo{max-width:210px;margin:0 auto 16px}.treat-catalog-photo>div{margin:0;border-radius:10px}.treat-catalog-card h3{font-size:1.15rem;line-height:1.3;margin:0 0 10px}.treat-catalog-card p{font-size:.875rem;line-height:1.4;margin:0;color:var(--muted)}.bring-own-treats{margin-bottom:24px}.bring-own-treats h3{font-size:1.4rem}.treat-product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;margin:28px 0}.treat-product-gallery{min-width:0}.treat-product-description{min-width:0;box-shadow:none}.treat-product-description h1{font-size:2rem;line-height:1.2;text-align:left;margin:0 0 20px}.treat-product-description details{font-size:1rem;line-height:1.55;margin-bottom:24px}.treat-product-description summary{cursor:pointer;margin-bottom:14px}.treat-product-description p{font-size:1rem;line-height:1.55}@media(max-width:640px){.treat-catalog-grid{gap:12px}.treat-catalog-card{padding:12px}.treat-catalog-card h3{font-size:1rem}.treat-product-detail{grid-template-columns:1fr;gap:18px}.treat-product-gallery{max-width:450px;width:100%;margin:auto}.treat-product-description{padding:22px}}

.purr-pops-photo{aspect-ratio:1;background:#ef4a99;border-radius:14px;overflow:hidden}.purr-pops-photo img{display:block;width:100%;height:100%;object-fit:contain}

.travel-estimator{margin:18px 0;padding:16px;border:1px solid #a5d5de;border-radius:12px;background:#fff}.travel-zip-row{display:flex;align-items:flex-end;gap:10px}.travel-zip-row label{flex:1;min-width:0;margin:0}.travel-zip-row input{display:block;width:100%;min-width:0;padding:12px 14px;margin-top:8px;border:1px solid #648c97;border-radius:12px;background:#fff;color:var(--ink);font:1rem Georgia,serif}.travel-zip-row button{padding:12px 20px;flex:none}.travel-status{font-size:1rem;line-height:1.5;margin:14px 0}.travel-error{color:#9c2525}.travel-rates-link{font-size:.875rem}.travel-estimator .estimate-note{font-size:.875rem;line-height:1.5}.travel-only-card{max-width:720px;margin:30px auto}.travel-only-total{font-size:1.35rem;font-weight:bold}.traveling-page .treat-intro{max-width:800px}.travel-rate-table{margin:20px 0 24px}.travel-attribution{font-size:.875rem;color:var(--muted)}.travel-zip-row input:focus-visible{outline:3px solid #00718c;outline-offset:3px}.travel-zip-row button:disabled{opacity:.65;cursor:wait}@media(max-width:420px){.travel-estimator{padding:12px}.travel-zip-row{gap:8px}.travel-zip-row button{padding:12px 14px}.travel-rate-table{font-size:1rem}}

.animal-choice-grid.has-bunny{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1060px}.bunny-coming-soon{max-width:650px;margin:32px auto;text-align:center}.bunny-coming-soon img{display:block;width:180px;max-width:100%;height:auto;margin:0 auto 24px}.bunny-coming-soon h2{font-size:1.75rem}@media(max-width:640px){.animal-choice-grid.has-bunny{grid-template-columns:repeat(2,minmax(0,1fr))}.has-bunny .bunny-choice{grid-column:1 / -1;width:calc((100% - 16px) / 2);justify-self:center}}


.animal-choice-grid.has-pocket-pets{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}.pocket-pets-coming-soon{max-width:650px;margin:32px auto;text-align:center}.pocket-pets-coming-soon img{display:block;width:420px;max-width:100%;height:auto;margin:0 auto 24px}.pocket-pets-coming-soon h2{font-size:1.75rem}


.portfolio-page .large{margin-top:18px}.portfolio-albums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:32px}.portfolio-album{display:block;overflow:hidden;border:1px solid #d0e4ea;border-radius:20px;background:white;text-decoration:none}.portfolio-album>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.portfolio-album>div{padding:24px}.portfolio-album h2{font-size:1.8rem;margin:0 0 8px}.portfolio-album p{color:var(--muted);margin:0 0 18px}.portfolio-album span{border-bottom:1px solid}.album-back{display:inline-block;margin-bottom:12px}.album-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start;margin-top:28px}.album-photo{padding:0;border:0;background:transparent;border-radius:10px;overflow:hidden;display:block;line-height:0}.album-photo img{display:block;width:100%;height:auto}.photo-viewer{width:min(1100px,96vw);max-width:96vw;max-height:96dvh;padding:16px;background:#101111;color:white;border:0;border-radius:14px}.photo-viewer::backdrop{background:#000d}.photo-viewer-toolbar,.photo-viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:14px}.photo-viewer-toolbar p{margin:0}.photo-viewer button{background:transparent;color:white;border:1px solid #aaa;border-radius:25px;padding:8px 18px;font-size:1rem}.photo-viewer>img{display:block;width:100%;height: min(70dvh,800px);object-fit:contain;margin:12px 0}.photo-viewer-controls{justify-content:center}@media(max-width:600px){.portfolio-albums,.album-photos{grid-template-columns:1fr}.portfolio-album>div{padding:20px}.album-photos{gap:18px}}

.portfolio-album h2{font-size:1.3rem}.portfolio-album>div{padding:18px}.portfolio-album p,.portfolio-album span{font-size:1rem}@media(max-width:600px){.portfolio-albums{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portfolio-album{border-radius:14px}.portfolio-album>div{padding:14px 10px}.portfolio-album h2{font-size:1.05rem}.portfolio-album p,.portfolio-album span{font-size:.875rem}.portfolio-album p{margin-bottom:12px}}

.client-reviews{background:var(--pale);overflow:hidden}.reviews-heading-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.reviews-heading-row h2{margin-bottom:0}.reviews-note{color:var(--muted);margin-bottom:28px}.review-window{overflow:hidden;padding:4px 0 12px}.review-track{display:flex;width:max-content;animation:reviews-slide 65s linear infinite}.review-group{display:flex;gap:22px;padding-right:22px}.review-card{width:310px;flex-shrink:0;border:1px solid #d0e4ea;border-radius:20px;background:white;padding:24px;display:flex;flex-direction:column;align-items:flex-start}.review-card img{width:76px;height:76px;object-fit:cover;border-radius:50%;margin-bottom:16px}.review-placeholder-label{font-size:.875rem;color:var(--muted)}.review-card>p{font-size:1rem;margin:12px 0}.review-card .review-client{font-size:.875rem;color:var(--muted);margin-top:auto;padding-top:12px}.review-stars{font-size:1.6rem;color:#8c6700;letter-spacing:3px;margin-top:8px}@keyframes reviews-slide{to{transform:translateX(-50%)}}@media(max-width:600px){.reviews-heading-row{align-items:flex-start;flex-direction:column}.review-card{width:280px;padding:20px}}@media(prefers-reduced-motion:reduce){.review-track{animation:none}.review-window{overflow-x:auto}.review-group[aria-hidden]{display:none}}

.travel-map{margin:36px 0;border:2px solid #00b0dd;border-radius:22px;overflow:hidden;background:var(--pale)}.travel-map h2{padding:24px 24px 0}.travel-map-image{position:relative;width:100%;aspect-ratio:1161/1155;overflow:hidden}.travel-map-image img{position:absolute;width:111.1111%;max-width:none;height:auto;left:-5.5125%;top:-61.9636%}.travel-map figcaption{padding:16px 24px}.travel-map figcaption p{margin:0 0 16px}.travel-map figcaption p:last-child{margin-bottom:0}
.inquiry-continue{text-decoration:none;display:inline-block;margin:18px 16px 18px 0}.inquiry-continue[hidden]{display:none}.availability-calendar{background:white;border:1px solid #d0e4ea;border-radius:20px;padding:24px;margin-top:24px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-heading h2{font-size:1.4rem;text-align:center;margin:0}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:18px 0}.calendar-weekdays{text-align:center;font-size:.875rem}.calendar-days button{min-height:44px;border:1px solid #00809b;border-radius:10px;background:var(--soft);font-size:1rem}.calendar-days button:disabled{border-color:#e2e8ea;background:#f6f8f9;color:#6c757a;cursor:default}.calendar-days button[aria-pressed=true],.available-times button[aria-pressed=true]{background:#101111;color:white}.available-times{display:flex;flex-wrap:wrap;gap:12px}.session-inquiry{display:grid;gap:20px;max-width:650px}.session-inquiry label{display:grid;gap:8px}.session-inquiry input,.session-inquiry textarea{width:100%;font:inherit;padding:12px;border:1px solid #8faeb7;border-radius:10px}.session-inquiry button:disabled{opacity:.5;cursor:default}.inquiry-summary{border:1px solid #d0e4ea;background:white;border-radius:18px;padding:20px;margin:24px 0}.inquiry-summary p{margin:8px 0}@media(max-width:600px){.availability-calendar{padding:14px}.calendar-heading .pill{padding:8px 10px;font-size:.875rem}.calendar-heading h2{font-size:1.1rem}}

.plan-session-link{display:inline-block;text-decoration:none}

.session-story-question{font-size:clamp(1.35rem,3vw,1.8rem);font-weight:700;line-height:1.3;color:#111;margin:1.25rem 0 .75rem;}

.pet-questionnaire{padding:12px 0}.pet-questionnaire>h2{font-size:1.65rem}.pet-question{margin:24px 0;padding:22px;border:1px solid #b6d9e1;border-radius:18px;background:white;min-width:0}.pet-question .pet-question-title{font-weight:700;font-size:1.15rem;line-height:1.4;margin:0 0 20px;max-width:100%}.slider-labels{display:flex;justify-content:space-between;gap:18px;font-size:.9rem;color:var(--muted);margin-bottom:8px}.slider-labels span{max-width:45%}.slider-labels span:last-child{text-align:right}.session-inquiry .pet-slider{appearance:none;-webkit-appearance:none;height:16px;padding:0;margin:16px 0;border:0;border-radius:20px;background:linear-gradient(90deg,#d96262 0%,#f0c951 50%,#69aa83 100%);cursor:pointer}.session-inquiry .preference .pet-slider{background:linear-gradient(90deg,#51b6d3,#c6eff4,#8c84b8)}.pet-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:30px;height:30px;border:3px solid #111;border-radius:50%;background:white;box-shadow:0 2px 5px #0002}.pet-slider::-moz-range-thumb{width:24px;height:24px;border:3px solid #111;border-radius:50%;background:white}.pet-slider:focus-visible{outline:3px solid #00718c;outline-offset:7px}.pet-question output{display:block;font-size:.95rem;margin:10px 0 18px;color:var(--ink)}.pet-question .pet-detail-label{font-size:.875rem;color:var(--muted);margin-bottom:6px}.pet-question textarea{font-size:1rem;min-height:72px;height:72px;resize:vertical}.pet-questionnaire>label{margin-top:24px}
.session-inquiry #pet-strangers,.session-inquiry #pet-surroundings,.session-inquiry #pet-handling{background:linear-gradient(90deg,#d96262 0%,#ec9851 25%,#f0cf51 50%,#a8ce59 75%,#62a67b 100%)}
.session-inquiry #pet-energy,.session-inquiry #pet-motivation{background:linear-gradient(90deg,#16769d 0%,#51d2f1 50%,#c6eff4 100%)}
.pet-health-note{margin-top:24px}.pet-health-note h3{font-size:1.25rem;margin:28px 0 12px}.pet-health-note p,.pet-health-note li{font-size:1rem;color:var(--muted)}.pet-health-note ul{padding-left:22px}.pet-health-note li{margin-bottom:10px}
.horse-coming-soon{max-width:650px;margin:32px auto;text-align:center}.horse-coming-soon img{display:block;width:180px;max-width:100%;height:auto;margin:0 auto 24px}.horse-coming-soon h2{font-size:1.75rem}

/* Match the pocket-pet trio to the visual width of the individual animal symbols. */


/* Coordinated full-face species illustrations. */

.birthday-session-product{display:block;max-width:820px;margin:0 auto}

.invoice-table #cartTravelEstimator{text-align:left;margin-top:16px;min-width:0}.invoice-table #cartTravelEstimator .travel-zip-row{display:flex;flex-direction:column;align-items:stretch;gap:8px}.invoice-table #cartTravelEstimator input{width:100%;min-width:0;box-sizing:border-box}.invoice-table #cartTravelEstimator .travel-estimator{padding:12px;min-width:0}.invoice-table #cartTravelEstimator .estimate-note{font-size:.875rem}.invoice-table td:last-child{overflow-wrap:anywhere}

@media(min-width:1000px){header{padding-left:max(18px,calc((100% - 1200px)/2));padding-right:max(18px,calc((100% - 1200px)/2))}.top-links{flex-wrap:nowrap;gap:clamp(10px,1.5vw,20px)}}

@media(min-width:801px){header{padding-left:max(18px,calc((100% - 1200px)/2));padding-right:max(18px,calc((100% - 1200px)/2))}.top-links{display:flex;flex-wrap:nowrap;justify-content:space-evenly;gap:12px}.top-links>a,.top-links>button{flex:none}}
@media(min-width:801px) and (max-width:999px){header{gap:10px}.top-links{gap:8px}.top-links a,.top-links button,header>.cart-link{font-size:.875rem}header>.cart-link{padding:9px 12px}}

.bird-coming-soon{max-width:650px;margin:32px auto;text-align:center}.bird-coming-soon img{display:block;width:280px;max-width:100%;height:auto;margin:0 auto 24px}.bird-coming-soon h2{font-size:1.75rem}

@media(min-width:760px){.session-product>.session-photo{width:85%;max-width:680px;margin:0 auto}}

@media(min-width:760px){.sessions-page[data-animal="cat"] .cards>article:last-child{grid-column:auto}}

.sessions-page[data-animal="cat"] .cards{align-items:start}

.temptations-photo{position:relative;aspect-ratio:790/1050;overflow:hidden;background:white;border-radius:14px}.temptations-photo img{position:absolute;width:163.3%;max-width:none;height:auto;left:-32.9%;top:-33.3%}.temptations-back img{width:162%;left:-33%;top:-33.3%}.analysis-label-photo{display:block;width:100%;height:auto}.treat-analysis-table{width:100%;border-collapse:collapse;margin:16px 0 28px;font-size:1rem;line-height:1.5}.treat-analysis-table th,.treat-analysis-table td{padding:12px 8px;border-bottom:1px solid #b6dae2;text-align:left}.treat-analysis-table td{font-weight:bold;white-space:nowrap}.treat-product-description h2{font-size:1.35rem;margin-top:24px}

.session-details-note{font-size:1em;line-height:1.5;font-weight:700;font-style:italic;color:var(--muted);margin:0 0 24px}

.addon-picker{margin:1rem 0}.addon-picker label{display:block}.addon-picker select,.addon-picker input{width:100%;box-sizing:border-box}.addon-quantity{margin-top:1rem}.addon-quantity[hidden]{display:none}
/* Outdoor-session locations follow Storybark's blue map and white-card styling. */
.locations-controls{background:white;border:1px solid #a8d3dd;border-radius:20px;padding:24px;margin:24px 0}.locations-controls form{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.locations-controls label{display:grid;gap:8px;flex:1;min-width:150px}.locations-controls input,.locations-controls select,.park-choice-panel select{width:100%;padding:12px;border:1px solid #7599a4;border-radius:10px;background:white;color:#111;font:inherit;box-sizing:border-box}.locations-controls p:last-child{margin-bottom:0}.locations-controls .primary{font-size:1rem}.park-explorer{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start}.park-map-column{min-width:0}#parkMap{height:480px;border:3px solid #19aed3;border-radius:20px;z-index:0;background:#e9f7fa}#parkMap .leaflet-control{font-family:Arial,sans-serif}#parkMap .leaflet-control-zoom a{color:#111;text-decoration:none}#parkMap .leaflet-control-attribution{font-size:12px}#parkMap .leaflet-tooltip{font:14px Arial,sans-serif;color:#111}.park-choice-panel{padding:24px;border:1px solid #a8d3dd;border-radius:20px;background:white;min-width:0}.park-choice-panel select{margin:12px 0}.park-choice-panel h2{font-size:1.45rem;margin:18px 0 12px}.park-choice-panel p{font-size:1rem;line-height:1.6}.park-choice-panel .primary,.park-choice-panel .pill{font-size:1rem;display:inline-block;text-decoration:none}.park-detail-links{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0}.park-detail-links a{font-size:1rem}.park-map-marker{background:none;border:none}.park-map-dot{display:block;width:18px;height:18px;margin:3px;border:3px solid white;border-radius:50%;background:#005d7b;box-shadow:0 0 0 2px #005d7b;box-sizing:border-box}.is-selected .park-map-dot{background:#ef7a35;box-shadow:0 0 0 3px #111}.park-map-marker:focus{outline:3px solid #111;outline-offset:4px;border-radius:50%}.map-key{font-size:.9rem;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.park-key-dot,.zip-key-dot{width:14px;height:14px;border-radius:50%;background:#005d7b;display:inline-block}.zip-key-dot{background:#79deef;border:2px solid #111;margin-left:16px}.locations-note{font-size:1rem;line-height:1.6;margin:28px 0}.location-travel-reference{background:white;border:1px solid #a8d3dd;border-radius:18px;padding:20px}.location-travel-reference summary{cursor:pointer;font-weight:bold}.location-travel-reference .travel-map{max-width:650px;margin:20px auto}.park-rule-note,.park-address{color:var(--muted)}#parkSearchStatus,#parkChoiceStatus{font-size:1rem;line-height:1.5}#parkMapStatus:empty{display:none}
@media(max-width:800px){.park-explorer{grid-template-columns:1fr}#parkMap{height:360px}.locations-controls,.park-choice-panel{padding:18px}.locations-controls form{display:grid;grid-template-columns:1fr}.locations-controls label{min-width:0}.locations-page .sessions-title{font-size:clamp(2rem,8vw,3rem)}}
@media(min-width:801px){.top-links{gap:clamp(6px,1vw,12px)}.top-links a,.top-links button{font-size:clamp(.875rem,1.25vw,1.1rem)}}

.leashed-marker .park-map-dot{background:#41a9c3;box-shadow:0 0 0 1px #167692;width:12px;height:12px;margin:6px}.leashed-marker.is-selected .park-map-dot{background:#ef7a35;box-shadow:0 0 0 3px #111}.leashed-key-dot{width:14px;height:14px;border-radius:50%;background:#41a9c3;display:inline-block}.locations-controls form label{min-width:135px}.locations-controls form .primary{padding:12px 18px}

.required-mark{color:#b42318;font-weight:700}.session-inquiry .rabies-acknowledgment{display:flex;align-items:flex-start;gap:12px;margin-top:18px}.session-inquiry .rabies-acknowledgment input{width:20px;height:20px;min-width:20px;padding:0;margin:4px 0 0;accent-color:#16769d}.rabies-acknowledgment span{font-size:1rem;line-height:1.5}.pet-health-note .required-help{font-size:.875rem}

.inquiry-summary .inquiry-total{font-size:calc(1em + 2pt);font-weight:700;margin-top:18px}.inquiry-travel-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.inquiry-travel-controls label{display:grid;gap:8px;font-size:1rem}.inquiry-travel-controls input{width:160px;padding:12px;border:1px solid #8faeb7;border-radius:10px;font:inherit}.inquiry-travel-controls [hidden]{display:none}.inquiry-travel-controls button:disabled{opacity:.5;cursor:wait}

/* Decorative welcome trails curve through the center of the intro margins. */
#home.intro{position:relative;overflow:hidden;isolation:isolate;--trail-center:max(28px,calc((100% - 760px)/4));--paw-size:96px;--trail-bend:clamp(4px,calc((100vw - 1000px)/8),42px);--stride:9px}
#home.intro>.wrap{position:relative;z-index:1;width:min(100% - 112px,760px)}
.welcome-paw-trail{position:absolute;top:40px;bottom:64px;width:0;display:flex;flex-direction:column;justify-content:space-between;align-items:center;pointer-events:none;z-index:0;--direction:1}
.dog-paw-trail{left:var(--trail-center)}.cat-paw-trail{right:var(--trail-center);--direction:-1}
.welcome-paw{display:block;flex:0 1 var(--paw-size);min-height:0;width:var(--paw-size);height:var(--paw-size);background:var(--blue);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;--curve:0;--step:-1;--angle:-15deg;transform:translateX(calc((var(--trail-bend)*var(--curve) + var(--stride)*var(--step))*var(--direction))) rotate(calc(var(--angle)*var(--direction)))}
.dog-paw-trail .welcome-paw{mask-image:url('assets/welcome-dog-paw.png');-webkit-mask-image:url('assets/welcome-dog-paw.png')}
.cat-paw-trail .welcome-paw{flex-basis:calc(var(--paw-size)*.85);width:calc(var(--paw-size)*.85);height:calc(var(--paw-size)*.85);mask-image:url('assets/welcome-cat-paw.png');-webkit-mask-image:url('assets/welcome-cat-paw.png')}
.welcome-paw:nth-child(even){--step:1;--angle:15deg}
.welcome-paw:nth-child(1){--curve:-.7}.welcome-paw:nth-child(2){--curve:-.4}.welcome-paw:nth-child(3){--curve:0}.welcome-paw:nth-child(4){--curve:.5}.welcome-paw:nth-child(5){--curve:.9}.welcome-paw:nth-child(6){--curve:1}.welcome-paw:nth-child(7){--curve:.7}.welcome-paw:nth-child(8){--curve:.2}.welcome-paw:nth-child(9){--curve:-.4}.welcome-paw:nth-child(10){--curve:-.8}.welcome-paw:nth-child(11){--curve:-1}.welcome-paw:nth-child(12){--curve:-.8}.welcome-paw:nth-child(13){--curve:-.3}.welcome-paw:nth-child(14){--curve:.3}
@media(max-width:999px){#home.intro{--paw-size:48px;--trail-bend:4px;--stride:3px}}
@media(max-width:600px){#home.intro{--trail-center:22px;--paw-size:42px;--trail-bend:2px;--stride:1px}#home.intro>.wrap{width:calc(100% - 88px)}.welcome-paw-trail{top:32px;bottom:48px}}

.about-page{background:var(--soft)}.about-story{max-width:780px}.ginger-portrait{display:block;width:min(100%,400px);height:auto;margin:0 auto 36px;border-radius:24px}.about-story .eyebrow{text-align:center}.about-story h1{text-align:center;margin:20px 0 28px}.about-story h2{margin:36px 0 20px}.about-story p{line-height:1.65}.about-story .about-opening{font-size:1.25rem}.about-story .actions{margin-top:32px}
.about-page>section{position:relative;isolation:isolate;overflow:hidden}.about-story{position:relative;z-index:1}.about-portrait-stage{position:relative;width:100%;margin:0 0 36px;padding:36px 0}.about-portrait-stage .ginger-portrait{position:relative;margin:0 auto}:is(.about-paw-wave,.page-paw-trail){position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.32}:is(.about-paw-wave,.page-paw-trail)>span{position:absolute;left:var(--x);top:var(--y);width:clamp(32px,5vw,76px);height:clamp(32px,5vw,76px);transform:translate(-50%,-50%) rotate(var(--angle))}:is(.about-paw-wave,.page-paw-trail)>span::before,:is(.about-paw-wave,.page-paw-trail)>span::after{content:"";position:absolute;inset:0;background:var(--blue);mask:url('assets/welcome-dog-paw.png') center/contain no-repeat;-webkit-mask:url('assets/welcome-dog-paw.png') center/contain no-repeat;transform:translate(-65%,-28%)}:is(.about-paw-wave,.page-paw-trail)>span::after{mask-image:url('assets/welcome-cat-paw.png');-webkit-mask-image:url('assets/welcome-cat-paw.png');transform:translate(65%,28%) scale(1.14)}:is(.about-paw-wave,.page-paw-trail)>span:nth-child(even)::before{transform:translate(-95%,22%)}:is(.about-paw-wave,.page-paw-trail)>span:nth-child(even)::after{transform:translate(35%,78%) scale(1.14)}

.paw-trail-host{position:relative;isolation:isolate;overflow:hidden}.paw-trail-host> :not(.page-paw-trail){position:relative;z-index:1}

.pocket-mini-package{max-width:760px;margin:30px auto;padding:32px}.pocket-mini-package h1{font-size:clamp(2rem,5vw,3rem);text-align:left;margin:0 0 24px}.pocket-mini-package .eyebrow{text-align:left}.pocket-mini-package>p{line-height:1.6}

.invoice-table .invoice-item-label{position:relative;padding-left:48px}.invoice-status{position:absolute;left:12px;top:20px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid currentColor;border-radius:50%;font:700 18px/1 Arial,sans-serif;background:#fff}.invoice-status.complete{color:#247346;background:#effaf2}.invoice-status.incomplete{color:#b42318;background:#fff3f1}.invoice-missing-help{display:block;font-size:.875rem;line-height:1.4;margin-top:8px;color:#a52118}#invoiceCompletionNote{font-size:1rem;line-height:1.5;margin-top:20px}.inquiry-continue[aria-disabled="true"]{opacity:.55;cursor:not-allowed}

.contact-page h1{text-align:left;margin:0 0 28px}.contact-page .contact-details{margin:30px 0}.contact-page .contact-details .email{margin:16px 0 22px}.contact-page .primary{text-decoration:none}

.contact-reviews{background:var(--soft)}.review-options{display:grid;gap:24px;align-items:start}.review-options article:last-child{grid-column:auto}.review-options h3{font-size:1.6rem}#contactReviewForm{display:grid;gap:12px}#contactReviewForm>label{font-weight:bold}#contactReviewForm>input,#contactReviewForm>select,#contactReviewForm>textarea{width:100%;min-width:0;border:1.5px solid #83a9b5;border-radius:12px;padding:12px;font:inherit;background:white;color:var(--ink)}#contactReviewForm>textarea{resize:vertical}.review-permission{display:flex;gap:10px;align-items:flex-start;font-size:1rem}.review-permission input{margin-top:6px;flex:none;width:18px;height:18px}.review-send-note{font-size:1rem;margin:8px 0}.google-review-pending{font-size:1rem;color:var(--muted)}@media(min-width:900px){.review-options{grid-template-columns:3fr 2fr}}

.review-options.unified-review{display:block;max-width:800px;margin:auto}.review-share-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}#reviewShareStatus:empty{display:none}#reviewShareStatus{font-size:1rem;margin:10px 0;color:var(--muted)}

.review-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.review-share-actions button:disabled{opacity:.55;cursor:wait}.published-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:30px}.published-reviews .review-card{width:auto}.review-avatar{display:grid;place-items:center;background:var(--soft);color:var(--ink);font-weight:bold;font-size:1.5rem;width:76px;height:76px;border-radius:50%;margin-bottom:16px}.review-card .client-review-text{white-space:pre-wrap;overflow-wrap:anywhere}

.calendar-days button.has-availability{background:#cfeef4;border-color:#378ea6;color:#171717}.calendar-days button.has-booking{border-bottom:3px solid #097794}.calendar-booked-time{display:inline-block;padding:10px 14px;border:1px solid #c5d4d9;border-radius:999px;color:#4b616d;background:#f3f6f8;font-size:1rem}.calendar-legend{font-size:.875rem;margin:16px 0 24px}

.inquiry-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.cat-session-detail-image{max-width:480px;margin:0 auto;background:#fff}
.policy-topic{padding:12px 0}.policy-topic:last-child p:last-child{margin-bottom:0}
.certificate-upload{margin:20px 0;padding:22px;border:2px dashed #438ca3;border-radius:16px;background:#f4fcff}.certificate-upload.is-dragging{background:#c6eff4;border-color:#111}.certificate-upload>label{display:block;font-weight:700}.certificate-upload input[type=file]{display:block;width:100%;min-width:0;font:inherit;margin:14px 0;background:white;color:#111}.certificate-upload p{margin:12px 0;overflow-wrap:anywhere}.certificate-upload button{margin-top:8px}.certificate-upload:focus-within{outline:3px solid #00718c;outline-offset:3px}

/* Session deposit and inquiry payment placeholder */
.session-deposit-note{font-weight:700}.inquiry-deposit{background:#fff;border:1px solid #bddfe7;border-radius:20px;padding:clamp(20px,4vw,36px);margin:24px 0}.inquiry-deposit h2{margin-top:0}.deposit-amount{font-weight:700;font-size:1.25em}.deposit-payment-placeholder{border:2px dashed #83baca;border-radius:14px;padding:20px}.deposit-payment-placeholder .primary{max-width:100%;white-space:normal}.deposit-payment-placeholder button:disabled{opacity:.6;cursor:not-allowed}

/* Display the supplied Churu product and label areas without screenshot controls. */
.churu-photo{position:relative;aspect-ratio:600/950;overflow:hidden;background:#fff;border-radius:14px}.churu-photo img{position:absolute;width:213.333%;max-width:none;height:auto;left:-56.667%;top:-42.105%}.churu-back{aspect-ratio:740/930}.churu-back img{width:172.973%;left:-37.838%;top:-45.699%}.churu-analysis{aspect-ratio:1020/1000}.churu-analysis img{width:119.314%;left:-9.804%;top:-34%}.treat-catalog-photo .churu-photo{aspect-ratio:600/950}

.churu-kitten-photo{position:relative;aspect-ratio:600/950;overflow:hidden;background:#fff;border-radius:14px}
.churu-kitten-photo img{position:absolute;width:215%;max-width:none;height:auto;left:-57.5%;top:-42.105%}
.churu-kitten-analysis{aspect-ratio:1080/1040}
.churu-kitten-analysis img{width:119.444%;left:-9.722%;top:-35.577%}

.dentleys-photo{position:relative;aspect-ratio:850/950;overflow:hidden;background:#fff;border-radius:14px}
.dentleys-photo img{position:absolute;width:151.765%;max-width:none;height:auto;left:-25.882%;top:-45.263%}
.dentleys-back{aspect-ratio:700/950}
.dentleys-back img{width:184.286%;left:-42.857%;top:-46.316%}
.dentleys-analysis{aspect-ratio:1080/1030}
.dentleys-analysis img{width:119.444%;left:-9.722%;top:-33.981%}
.story-wave svg{display:block;width:100%;height:auto;overflow:hidden}.story-wave text{font-family:Georgia,'Times New Roman',serif;font-size:48px;font-weight:700;fill:var(--muted)}@media(prefers-reduced-motion:reduce){.story-wave svg{display:none}}
.discount-picker{margin:1.5rem 0;padding:1.25rem;border:1px solid #83bbc8;border-radius:1rem;background:#fff}
.discount-picker input{width:100%;box-sizing:border-box;font-size:1rem;padding:.75rem;border:1px solid #6d8f9a;border-radius:.65rem}
.discount-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1rem}
.discount-picker [role=status]{font-size:1rem;line-height:1.5}
.session-location-picker{margin:1.5rem 0;padding:1.25rem;border:1px solid #83bbc8;border-radius:1rem;background:#fff}
.session-location-picker h2{font-size:1.5rem;margin-top:0}
.session-location-picker input{width:100%;box-sizing:border-box;font:inherit;padding:.75rem;border:1px solid #6d8f9a;border-radius:.65rem;margin: .5rem 0 1rem}
.session-address-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:0 1rem}
.session-address-fields label:first-child{grid-column:1/-1}
.session-location-picker [hidden]{display:none!important}
.session-location-picker .primary{margin:1rem 0}
.session-location-picker .session-chosen-address{font-weight:bold;color:var(--ink);overflow-wrap:anywhere}
@media(max-width:640px){.session-address-fields{grid-template-columns:minmax(0,1fr)}}

/* Portfolio albums presented as keepsake story covers. */
.portfolio-library-intro{max-width:780px;margin:0 auto;text-align:center}.portfolio-library-intro .eyebrow{color:var(--muted);margin-bottom:14px}.portfolio-library-intro h1.large{margin:0 0 24px}.portfolio-library-intro>p:last-child{font-size:1.125rem;line-height:1.7;margin-bottom:0}.portfolio-page .portfolio-albums{margin-top:38px;gap:30px;align-items:start;padding-bottom:12px}.portfolio-page .portfolio-album{border-radius:8px 20px 20px 8px;border-left:10px solid #51d2f1;box-shadow:0 5px 0 white,0 7px 0 #b9dce4,0 16px 25px #163d4912;transition:transform .2s,box-shadow .2s}.portfolio-page .portfolio-album:nth-child(even){border-left-color:#159bb8}.portfolio-page .portfolio-album:hover{transform:translateY(-4px);box-shadow:0 5px 0 white,0 7px 0 #b9dce4,0 20px 28px #163d4920}.portfolio-page .portfolio-album>div{padding:24px;background:linear-gradient(110deg,#f0fbfd,white 35%)}.portfolio-page .portfolio-album .story-volume{font:0.875rem/1.4 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;color:#435961}.portfolio-page .portfolio-album h2{font-size:1.65rem;margin-bottom:10px}.portfolio-page .portfolio-album .story-edition{font-size:1rem;margin-bottom:22px}.portfolio-page .portfolio-album .story-open{display:inline-block;font-size:1rem;font-weight:bold;border:0;text-decoration:underline;text-underline-offset:5px}@media(max-width:600px){.portfolio-page .portfolio-albums{gap:18px}.portfolio-page .portfolio-album{border-left-width:6px}.portfolio-page .portfolio-album>div{padding:18px 12px}.portfolio-page .portfolio-album h2{font-size:1.3rem}.portfolio-page .portfolio-album .story-volume{font-size:.875rem;letter-spacing:0}.portfolio-page .portfolio-album .story-edition,.portfolio-page .portfolio-album .story-open{font-size:1rem}}@media(max-width:380px){.portfolio-page .portfolio-albums{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.portfolio-page .portfolio-album{transition:none}.portfolio-page .portfolio-album:hover{transform:none}}

.photo-book.book-ready{background:#159bb8;padding:18px 18px 12px;border-radius:12px;box-shadow:0 8px 0 #12718a,0 18px 28px #183e4b22;margin-top:30px}.book-ready .album-book-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border-radius:4px;overflow:hidden;background:white;box-shadow:0 4px 0 #dbedf1,0 7px 0 white}.album-book-page{background:white;padding:28px 24px 16px;min-width:0;display:flex;flex-direction:column;justify-content:center;position:relative}.album-book-page:nth-child(odd){background:linear-gradient(to right,white 90%,#deedf1);border-right:1px solid #bdd8df}.album-book-page:nth-child(even){background:linear-gradient(to right,#e5f0f3,white 10%)}.album-book-page[hidden]{display:none!important}.book-ready .album-photo{border-radius:2px;background:white;border:7px solid white;box-shadow:0 2px 9px #163d4920;width:100%}.book-ready .album-photo img{height:clamp(240px,33vw,410px);width:100%;object-fit:contain}.album-book-page-number{display:block;text-align:center;font-size:.875rem;color:var(--muted);padding-top:16px}.album-book-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;color:white}.album-book-controls[hidden]{display:none}.album-book-controls p{margin:0;font-size:1rem;text-align:center}.album-book-controls button{background:white;color:var(--ink);border:0;font-size:1rem;padding:10px 16px}.album-book-controls button:disabled{opacity:.5;cursor:default}.album-book-hint{text-align:center;color:var(--muted);font-size:1rem;margin-top:25px}.last-single-page .album-book-pages:after{content:'The end of this chapter';display:flex;align-items:center;justify-content:center;color:var(--muted);font-style:italic;background:linear-gradient(to right,#e5f0f3,white 10%);padding:24px;text-align:center}@media(max-width:600px){.photo-book.book-ready{padding:12px 12px 14px}.book-ready .album-book-pages{grid-template-columns:1fr}.album-book-page{padding:20px 16px 14px}.album-book-page:nth-child(odd),.album-book-page:nth-child(even){background:white;border:0}.book-ready .album-photo img{height:clamp(240px,85vw,420px)}.album-book-controls{flex-wrap:wrap;gap:10px}.album-book-controls p{width:100%;order:-1}.album-book-controls button{flex:1;padding:10px}.last-single-page .album-book-pages:after{display:none}}

/* Open album binding and layered paper edges. */
.photo-book.book-ready{position:relative;background:linear-gradient(100deg,#11788e,#159bb8 9%,#34b8d3 47%,#08718a 50%,#34b8d3 53%,#159bb8 91%,#11788e);padding:22px 24px 18px;border:1px solid #08738b;border-radius:10px 18px 18px 10px;box-shadow:0 2px 0 #65d6e9 inset,0 10px 0 #08657b,0 12px 0 #54bad0,0 25px 35px #183e4b28}.album-cover-inscription{display:flex;justify-content:space-between;gap:16px;color:white;font:small-caps 1rem/1.5 Georgia,serif;letter-spacing:.08em;margin:0 4px 18px}.album-cover-inscription span{letter-spacing:.02em;font-variant:normal;font-style:italic}.book-ready .album-book-pages{position:relative;isolation:isolate;border-radius:9px 14px 14px 9px;border:1px solid #c7d8db;box-shadow:0 2px 0 #bcced1,0 4px 0 #fff,0 6px 0 #bacdd1,0 8px 0 #fff,0 10px 0 #b4cbd0,0 12px 0 #eef6f7,0 16px 10px #063e5d35;overflow:visible}.book-ready .album-book-pages:before{content:'';position:absolute;z-index:2;left:50%;top:0;bottom:0;width:36px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#526d7024 35%,#304e5145 49%,#dce8e5b0 51%,#5b757529 66%,transparent);pointer-events:none;border-radius:45%}.album-book-page{min-height:430px;padding:32px 28px 20px;border-radius:8px;box-shadow:0 0 0 1px #dfe8e9 inset}.album-book-page:nth-child(odd){background:linear-gradient(90deg,#f4f7f6,white 7%,#fff 80%,#e7efed 94%,#c2d1cd);border-right:0;transform-origin:right center;border-radius:8px 0 0 8px}.album-book-page:nth-child(even){background:linear-gradient(90deg,#c2d1cd,#e7efed 6%,white 20%,white 93%,#f4f7f6);transform-origin:left center;border-radius:0 8px 8px 0}.book-ready .album-photo{padding:5px;border:8px solid white;box-shadow:0 1px 2px #122d3a1c,0 5px 12px #122d3a28}.album-book-page-number{font-style:italic;margin-top:auto}.last-single-page .album-book-pages:after{border-radius:0 8px 8px 0;background:linear-gradient(90deg,#c2d1cd,#e7efed 6%,white 20%);font-size:1.2rem}.album-book-controls{margin-top:32px}.album-book-hint{margin-top:34px}@media(max-width:600px){.photo-book.book-ready{padding:16px 14px 16px 22px;border-left:8px solid #086b82;background:linear-gradient(90deg,#08718a,#159bb8 10%,#32b8d3);border-radius:8px 16px 16px 8px}.album-cover-inscription{display:block;font-size:.875rem;letter-spacing:.03em;margin-bottom:12px}.album-cover-inscription span{display:block;margin-top:4px}.book-ready .album-book-pages:before{left:0;width:18px;transform:none;background:linear-gradient(90deg,#304e513b,transparent)}.album-book-page{min-height:360px;padding:24px 16px 16px 22px}.album-book-page:nth-child(odd),.album-book-page:nth-child(even){background:linear-gradient(90deg,#e1eae7,white 10%,white 94%,#f4f7f6);border-radius:8px;transform-origin:left center}.book-ready .album-photo{border-width:5px}.album-book-controls{margin-top:26px}}

.animal-logo-button.unreleased-choice{flex-direction:column;gap:14px;padding:18px}.unreleased-choice img{height:auto;max-height:72%;width:100%;object-fit:contain}.unreleased-choice>span{font-weight:bold;font-size:1.4rem;text-align:center}.unreleased-choice small{display:block;font-size:.875rem;font-weight:normal;color:var(--muted);margin-top:5px}.future-species-coming-soon{max-width:650px;margin:32px auto;text-align:center}.future-species-coming-soon img{width:100%;max-width:520px;display:block;margin:0 auto 28px}.future-species-coming-soon h2{font-size:1.75rem}@media(max-width:640px){.animal-logo-button.unreleased-choice{padding:12px;gap:8px}.unreleased-choice>span{font-size:1.125rem}}

.session-preview-cards>article>p{display:block;overflow:visible;min-height:0;max-height:none;-webkit-line-clamp:unset;line-clamp:unset;margin-bottom:0}.pocket-session-preview{max-width:650px}.pocket-session-preview>article{grid-column:1 / -1}

.cart-choice-editor{margin:22px 0}.cart-choice-editor>summary{font-size:1rem;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:5px;color:var(--muted)}.cart-choice-editor[open]>summary{margin-bottom:16px}.cart-choice-editor>summary:focus-visible{outline:3px solid #00718c;outline-offset:5px}
.session-inquiry{max-width:960px;gap:14px}
.session-inquiry>label{gap:6px;min-width:0}
.session-inquiry>label>input{padding:10px 12px;min-height:44px}
.session-inquiry .pet-questionnaire{display:grid;gap:16px;padding:8px 0}
.session-inquiry .pet-questionnaire>h2,.session-inquiry .pet-questionnaire>p{margin:0}
.session-inquiry .pet-question{margin:0;padding:18px}
.session-inquiry .pet-question-title{margin-bottom:12px}
.session-inquiry .pet-question output{margin:8px 0 12px}
.session-inquiry .inquiry-deposit{margin:8px 0;padding:20px}
.session-inquiry>#sendInquiry{justify-self:start}
.inquiry-calendar-section{min-width:0;max-width:960px;margin:24px 0 32px;padding:0;border:0}
.inquiry-calendar-section>h2{font-size:1.65rem;margin-bottom:12px}
#appointmentCalendar,#inquirySummary{scroll-margin-top:180px}
.calendar-reschedule-note{margin-top:20px;padding-top:16px;border-top:1px solid #bddfe7}
.calendar-reschedule-note h3{font-size:1.15rem;margin:0 0 8px}
.calendar-reschedule-note p{margin:0}
.pet-question-pair{min-width:0;padding:18px;border:1px solid #b6d9e1;border-radius:18px;background:white}
.session-inquiry .pet-question-pair>.pet-question{padding:0;border:0;border-radius:0;background:transparent}
.session-inquiry .pet-question-pair>.pet-question+.pet-question{margin-top:18px;padding-top:18px;border-top:1px solid #d0e4ea}
.session-inquiry .pet-question-pair .preference .pet-slider{background:linear-gradient(90deg,#16769d 0%,#51d2f1 50%,#c6eff4 100%)}
.future-species-coming-soon img{display:block;width:180px;max-width:100%;height:auto;margin:0 auto 24px}
@media(min-width:700px){
 .session-inquiry{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
 .session-inquiry>*{grid-column:1/-1}
 .session-inquiry>label{grid-column:auto}
 .session-inquiry>label:has(input[name="phone"]){grid-column:1/-1}
 .session-inquiry .pet-questionnaire{grid-template-columns:repeat(2,minmax(0,1fr))}
 .session-inquiry .pet-questionnaire>h2,.session-inquiry .pet-questionnaire>p,.session-inquiry .pet-health-note{grid-column:1/-1}
}
.rabies-upload-layout{display:grid;gap:24px;align-items:start;margin-top:18px}
.rabies-documentation-info{min-width:0}
.rabies-documentation-info p,.rabies-documentation-info li{font-size:.95rem;line-height:1.55}
.rabies-documentation-info ul{padding-left:20px;margin-bottom:0}
.rabies-upload-layout .certificate-upload{margin:0;padding:22px;background:#f4fcff}
.rabies-upload-layout .certificate-upload p{font-size:.95rem;line-height:1.5}
.rabies-upload-layout .certificate-upload input[type=file]{padding:10px;border:1px solid #b6d9e1;border-radius:12px;font-size:.9rem}
.rabies-upload-layout input[type=file]::file-selector-button{border:0;border-radius:24px;padding:10px 16px;margin-right:12px;background:#111;color:white;font:inherit;cursor:pointer}
@media(min-width:700px){.rabies-upload-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.rabies-age-options{display:grid;gap:18px;margin-top:20px}
.session-inquiry .rabies-age-choice{display:flex;align-items:flex-start;gap:12px;font-weight:700}
.session-inquiry .rabies-age-choice input{width:20px;height:20px;min-width:20px;min-height:20px;padding:0;margin:3px 0 0;accent-color:#16769d}
.rabies-age-options #certificateInstructions{margin-left:32px;max-width:620px}
.rabies-age-options .certificate-upload{margin:0}
@media(max-width:500px){.rabies-age-options #certificateInstructions{margin-left:0}}
.session-photo.puppy-session-photo{aspect-ratio:3 / 2;object-fit:contain}
.treat-grid>article:last-child{grid-column:auto}
.treat-grid>article{display:flex;flex-direction:column;align-items:flex-start}
.treat-grid>article .primary{margin-top:auto}
#home .moving-title{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);-webkit-mask-image:linear-gradient(to right,transparent,#000 clamp(24px,4vw,64px),#000 calc(100% - clamp(24px,4vw,64px)),transparent);mask-image:linear-gradient(to right,transparent,#000 clamp(24px,4vw,64px),#000 calc(100% - clamp(24px,4vw,64px)),transparent)}
#home .moving-title svg{width:100%;height:clamp(80px,22vw,212px);margin-inline:auto;overflow:hidden}
@media(prefers-reduced-motion:reduce){#home .moving-title{-webkit-mask-image:none;mask-image:none}}

.portfolio-shelf{margin-top:56px}.portfolio-shelf:first-of-type{margin-top:40px}
.portfolio-shelf-title{text-align:center;font-size:clamp(1.6rem,4vw,2.2rem);margin:0}
.portfolio-shelf .portfolio-albums{margin-top:24px}

/* Keep the Contact page illustration a modest, centered size. */
.contact-page .question{max-width:420px;margin:36px auto 0}

/* Portfolio shelves scroll like the homepage reviews (see portfolio-shelves.js). */
.album-window{overflow-x:auto;padding:8px 0 22px;margin-top:24px}
.album-window.is-scrolling{overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
.album-track{display:flex;width:max-content;margin:0 auto}
.album-window.is-scrolling .album-track{margin:0;animation:albums-slide var(--album-scroll-time,40s) linear infinite}
.album-window.is-scrolling:hover .album-track,.album-window.is-scrolling:focus-within .album-track{animation-play-state:paused}
@keyframes albums-slide{to{transform:translateX(-50%)}}
.album-group{display:flex;gap:22px}
.album-window.is-scrolling .album-group{padding-right:22px}
.portfolio-page .album-group .portfolio-album{width:260px;flex-shrink:0}
.portfolio-page .album-group .portfolio-album>div{padding:14px 16px}
.portfolio-page .album-group .portfolio-album h2{font-size:1.25rem;margin:0 0 4px}
.portfolio-page .album-group .portfolio-album .story-volume,.portfolio-page .album-group .portfolio-album .story-open{display:none}
.portfolio-page .album-group .portfolio-album .story-edition{margin:0;font-size:.95rem}
@media(max-width:600px){.portfolio-page .album-group .portfolio-album{width:200px}.album-group{gap:14px}.album-window.is-scrolling .album-group{padding-right:14px}}

/* Touch screens swipe the rows instead of auto-scrolling; pressing a moving row stops it. */
.album-window.is-paused .album-track{animation-play-state:paused}
.album-window.is-swipe{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-inline:4px}
.album-window.is-swipe::-webkit-scrollbar{display:none}
.album-window.is-swipe .portfolio-album{scroll-snap-align:start}

/* Tighter spacing between portfolio sections. */
.portfolio-page .portfolio-shelf{padding:0;margin-top:22px}.portfolio-page .portfolio-shelf:first-of-type{margin-top:30px}
.album-window{margin-top:12px;padding-bottom:14px}

/* Album rows: arrows on both sides; the row drifts by script instead of a CSS animation. */
.album-window{overflow-x:auto;scrollbar-width:none}
.album-window::-webkit-scrollbar{display:none}
.album-window.is-scrolling{overflow-x:auto}
.album-window.is-scrolling .album-track{animation:none}
.album-carousel{position:relative}
.album-arrow{display:none;position:absolute;top:calc(50% - 4px);transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid #c9dde4;background:#fff;color:var(--ink);box-shadow:0 4px 14px #163d4926;font-size:30px;line-height:1;cursor:pointer;place-items:center;padding:0 0 4px}
.album-carousel.has-arrows .album-arrow{display:grid}
.album-arrow-prev{left:-8px}.album-arrow-next{right:-8px}
.album-arrow:hover{background:var(--pale)}
.album-arrow:focus-visible{outline:3px solid #2c6e82;outline-offset:2px}
.album-arrow:disabled{opacity:0;pointer-events:none}
@media(max-width:600px){.album-arrow{width:38px;height:38px;font-size:26px}.album-arrow-prev{left:-4px}.album-arrow-next{right:-4px}}
