:root{--paper: #fdf8f0;--paper-card: #fffdf8;--paper-pink: #fdf0f6;--ink: #35312d;--ink-soft: #6b645c;--pink: #e46a9f;--pink-deep: #ad2b65;--pink-soft: #f9d7e7;--pink-pale: #fcedf4;--ball-green: #7d8c3a;--error: #a4262c;--error-bg: #fdefee;--font-hand: "Patrick Hand", "Segoe Print", "Comic Sans MS", cursive;--font-body: "Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--sketch-radius: 255px 15px 225px 15px / 15px 225px 15px 255px;--sketch-radius-small: 125px 10px 115px 10px / 10px 115px 10px 125px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}img,svg{max-width:100%}h1,h2,h3,h4{line-height:1.15;margin:0 0 .5em}p{margin:0 0 1em}a{color:var(--pink-deep)}:focus-visible{outline:3px solid var(--pink-deep);outline-offset:2px;border-radius:4px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:1rem;z-index:100;background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:8px}.skip-link:focus{top:.5rem}.button{display:inline-block;font-family:var(--font-hand);font-size:1.2rem;letter-spacing:.02em;text-decoration:none;text-align:center;cursor:pointer;padding:.55rem 1.4rem;border:2.5px solid var(--ink);border-radius:var(--sketch-radius-small);box-shadow:3px 3px 0 var(--ink);transition:transform .12s ease,box-shadow .12s ease;min-height:44px}.button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.button--primary{background:var(--pink-deep);color:#fff}.button--primary:hover{background:#972457}.button--secondary{background:var(--paper-card);color:var(--ink)}.button--secondary:hover{background:var(--pink-pale)}.button--big{font-size:1.4rem;padding:.7rem 1.8rem}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.sketch-card{background:var(--paper-card);border:2.5px solid var(--ink);border-radius:var(--sketch-radius);padding:1.5rem}.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:2.5px dashed var(--pink)}.site-header__inner{max-width:68rem;margin:0 auto;padding:.6rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.site-header__brand{display:flex;align-items:center;gap:.4rem;font-family:var(--font-hand);font-size:1.5rem;color:var(--ink);text-decoration:none;white-space:nowrap}.site-header__paw{width:1.6rem;height:1.6rem;color:var(--pink);transform:rotate(-12deg)}.site-header__nav{display:flex;align-items:center;gap:.75rem}.site-header__menu-button{font-family:var(--font-hand);font-size:1.1rem;background:none;color:var(--ink);border:2px solid var(--ink);border-radius:var(--sketch-radius-small);padding:.35rem .8rem;cursor:pointer;min-height:44px}.site-header__menu-icon{margin-right:.35rem}.site-header__links{list-style:none;margin:0;padding:0;display:none}.site-header__links a:not(.button){font-family:var(--font-hand);font-size:1.2rem;color:var(--ink);text-decoration:none;padding:.5rem .6rem;display:inline-block}.site-header__links a:not(.button):hover{color:var(--pink-deep);text-decoration:underline wavy var(--pink) 2px;text-underline-offset:5px}.site-header__links.is-open{display:block;position:absolute;top:100%;right:.75rem;background:var(--paper-card);border:2.5px solid var(--ink);border-radius:16px 6px;box-shadow:4px 4px 0 var(--pink-soft);padding:.6rem 1rem;min-width:11rem}.site-header__links.is-open li{padding:.15rem 0}.site-header__links.is-open a:not(.button){display:block;padding:.55rem .4rem}.site-header__links-cta{margin-top:.4rem;border-top:2px dashed var(--pink);padding-top:.6rem!important}.site-header__cta{display:none}@media (min-width: 720px){.site-header__menu-button{display:none}.site-header__links,.site-header__links.is-open{display:flex;position:static;border:0;box-shadow:none;background:none;padding:0;min-width:0;align-items:center;gap:.25rem}.site-header__links-cta{display:none}.site-header__cta{display:inline-block;font-size:1.1rem;padding:.4rem 1.1rem}}.hero{padding:3rem 1rem 2.5rem;text-align:center;overflow:hidden}.hero__inner{max-width:44rem;margin:0 auto;position:relative}.hero__paw-trail{width:10rem;color:var(--pink-soft);margin:0 auto .5rem;display:block}.hero__kicker{font-family:var(--font-hand);font-size:1.15rem;color:var(--ink-soft);margin-bottom:.25rem}.hero__title{font-family:var(--font-hand);font-size:clamp(3.2rem,14vw,5.5rem);letter-spacing:.04em;text-transform:uppercase;margin:0;color:var(--ink)}.hero__squiggle{width:min(16rem,70%);height:14px;color:var(--pink);display:block;margin:.2rem auto .8rem}.hero__subtitle{font-family:var(--font-hand);font-size:clamp(1.5rem,6vw,2rem);margin-bottom:.4rem}.hero__lead{font-size:1.1rem;color:var(--ink-soft);margin-bottom:1.5rem}.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-bottom:1.5rem}.hero__doodles{display:flex;align-items:flex-end;justify-content:center;gap:1.5rem}.hero__dog{width:clamp(8rem,30vw,11rem);color:var(--ink)}.hero__ball{width:2.6rem;color:var(--ball-green);transition:transform .15s ease}.hero__ball:hover{animation:bounce .6s ease}.hero__heart{width:2.4rem;color:var(--pink)}.hero__heart:hover{animation:wiggle .5s ease}.section{padding:3rem 1rem;scroll-margin-top:4.5rem}.section__inner{max-width:62rem;margin:0 auto}.section__title{font-family:var(--font-hand);font-size:clamp(1.9rem,7vw,2.6rem);text-align:center;margin-bottom:.2rem}.section__squiggle{width:min(13rem,60%);height:12px;color:var(--pink);display:block;margin:0 auto 1.6rem}.section__lead{text-align:center;max-width:34rem;margin:0 auto 1.8rem;color:var(--ink-soft)}.about,.meet,.after{background:var(--paper-pink)}.about__card{max-width:38rem;margin:0 auto;position:relative;padding-top:2rem}.about__heart{width:2.2rem;color:var(--pink);position:absolute;top:-1.1rem;right:1.6rem;background:transparent;transform:rotate(8deg)}.about__sign-off{font-family:var(--font-hand);font-size:1.4rem;color:var(--pink-deep);margin-bottom:0}.pricing__grid{display:grid;gap:1.5rem;max-width:52rem;margin:0 auto}@media (min-width: 640px){.pricing__grid{grid-template-columns:1fr 1fr}}.pricing__card{display:flex;flex-direction:column;align-items:flex-start;position:relative}.pricing__icon{width:2.6rem;color:var(--ball-green);margin-bottom:.4rem}.pricing__icon--bone{width:3.4rem;color:var(--pink)}.pricing__name{font-family:var(--font-hand);font-size:1.8rem;margin-bottom:.1rem}.pricing__meta{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.4rem}.pricing__duration{color:var(--ink-soft)}.pricing__price{font-family:var(--font-hand);font-size:2.1rem;color:var(--pink-deep)}.pricing__tagline{font-family:var(--font-hand);font-size:1.2rem;margin-bottom:.5rem}.pricing__list{margin:0 0 1.2rem;padding-left:1.2rem;color:var(--ink-soft)}.pricing__list li{margin-bottom:.15rem}.pricing__cta{margin-top:auto;align-self:stretch}.walks__card{max-width:38rem;margin:0 auto}.walks__wave{width:12rem;height:14px;color:#6b9bb8;display:block;margin-bottom:1rem}.walks__tagline{font-family:var(--font-hand);font-size:1.35rem;color:var(--pink-deep);margin-bottom:.4rem}.walks__paws{width:9rem;color:var(--pink-soft);display:block;margin-left:auto}.meet__card{max-width:44rem;margin:0 auto;display:flex;gap:1.5rem;align-items:center;flex-direction:column}.meet__dog{width:9rem;flex-shrink:0;color:var(--ink)}@media (min-width: 640px){.meet__card{flex-direction:row}}.after__card{max-width:36rem;margin:0 auto;text-align:center;position:relative;padding-top:2rem}.after__card p{margin-bottom:0}.after__heart{width:2.2rem;color:var(--pink);position:absolute;top:-1.1rem;left:calc(50% - 1.1rem)}.trust__list{list-style:none;margin:0 auto;padding:0;max-width:46rem;display:grid;gap:.7rem}@media (min-width: 640px){.trust__list{grid-template-columns:1fr 1fr;gap:.9rem 2rem}}.trust__item{display:flex;gap:.6rem;align-items:flex-start}.trust__tick{width:1.4rem;height:1.4rem;flex-shrink:0;color:var(--pink-deep);margin-top:.2rem}.contact__card{max-width:38rem;margin:0 auto}.contact__buttons{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem}.contact__notes h3{font-family:var(--font-hand);font-size:1.35rem;margin:1.2rem 0 .5rem}.contact__notes ul{margin:0;padding-left:1.2rem}.contact__notes li{margin-bottom:.5rem}.site-footer{border-top:2.5px dashed var(--pink);padding:2.5rem 1rem 6rem;text-align:center;color:var(--ink-soft)}@media (min-width: 720px){.site-footer{padding-bottom:2.5rem}}.site-footer__paws{width:8rem;color:var(--pink-soft);display:block;margin:0 auto .6rem}.site-footer__brand{font-family:var(--font-hand);font-size:1.6rem;color:var(--ink);margin-bottom:.1rem}.site-footer__privacy{font-size:.9rem;max-width:28rem;margin:.8rem auto}.site-footer__love{font-family:var(--font-hand);font-size:1.2rem;color:var(--pink-deep);margin-bottom:0}.mobile-book-bar{position:fixed;bottom:.9rem;left:0;right:0;display:flex;justify-content:center;z-index:40;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.mobile-book-bar .button{pointer-events:auto;box-shadow:3px 3px 0 var(--ink),0 4px 16px #35312d40}.mobile-book-bar.is-hidden{opacity:0;transform:translateY(1rem);pointer-events:none}.mobile-book-bar.is-hidden .button{pointer-events:none}@media (min-width: 720px){.mobile-book-bar{display:none}}.booking__panel{max-width:42rem;margin:0 auto;padding:1.5rem 1.25rem}.booking__progress{text-align:center;font-size:1.1rem;letter-spacing:.4rem;margin-bottom:.3rem}.booking__progress-paw{opacity:.22;filter:grayscale(1)}.booking__progress-paw.is-done{opacity:1;filter:none}.booking__step-title{font-family:var(--font-hand);font-size:1.5rem;text-align:center;margin-bottom:1rem}.booking__step-title:focus{outline:none}.booking__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.2rem}.booking__chip{font-family:var(--font-body);font-size:.9rem;font-weight:700;background:var(--pink-pale);color:var(--ink);border:2px solid var(--pink);border-radius:999px;padding:.35rem .9rem;cursor:pointer;min-height:40px}.booking__chip:hover{background:var(--pink-soft)}.booking-fieldset{border:0;padding:0;margin:0 0 1rem}.booking-step__question{font-weight:800;font-size:1.05rem;margin-bottom:.9rem;padding:0}.booking-step__actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;margin-top:1.2rem}.booking-step__actions--center{justify-content:center}.service-options{display:grid;gap:1rem}@media (min-width: 560px){.service-options{grid-template-columns:1fr 1fr}}.service-option{display:flex;flex-direction:column;gap:.15rem;cursor:pointer;padding:1.1rem 1.2rem;transition:transform .12s ease}.service-option:hover{transform:rotate(-.4deg);background:var(--pink-pale)}.service-option.is-selected{background:var(--pink-pale);border-color:var(--pink-deep);box-shadow:3px 3px 0 var(--pink-soft)}.service-option:focus-within{outline:3px solid var(--pink-deep);outline-offset:2px}.service-option__name{font-family:var(--font-hand);font-size:1.5rem}.service-option__meta strong{color:var(--pink-deep);font-size:1.1rem}.service-option__tagline{color:var(--ink-soft);font-size:.95rem}.service-option__check{font-weight:800;color:var(--pink-deep);margin-top:.3rem}.date-strip{display:flex;flex-wrap:wrap;gap:.6rem;padding:.4rem .2rem .8rem}.date-card{flex:0 0 auto;min-width:4.6rem;min-height:5.6rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;background:var(--paper-card);border:2.5px solid var(--ink);border-radius:18px 8px;cursor:pointer;font-family:var(--font-body);color:var(--ink);position:relative;padding:.5rem .4rem}.date-card:hover{background:var(--pink-pale)}.date-card.is-selected{background:var(--pink-soft);border-color:var(--pink-deep)}.date-card--sunday{border-style:dashed}.date-card--full{cursor:not-allowed;opacity:.55;background:var(--paper-card)}.date-card--full:hover{background:var(--paper-card)}.date-card--full:after{content:"";position:absolute;left:10%;right:10%;top:50%;border-top:3px solid var(--ink-soft);transform:rotate(-16deg)}.date-card__weekday{font-weight:800;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.date-card__day{font-family:var(--font-hand);font-size:1.6rem;line-height:1}.date-card__month{font-size:.8rem;color:var(--ink-soft)}.date-card__check{position:absolute;top:-.55rem;right:-.35rem;font-size:.9rem}.date-strip__hint{font-size:.85rem;color:var(--ink-soft);margin:0}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.7rem}.time-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-height:3.4rem;border:2.5px solid var(--ink);border-radius:var(--sketch-radius-small);background:var(--paper-card);cursor:pointer;font-family:var(--font-body);color:var(--ink);padding:.4rem}.time-slot:hover{background:var(--pink-pale)}.time-slot.is-selected{background:var(--pink-soft);border-color:var(--pink-deep)}.time-slot__time{font-weight:800;font-size:1.05rem}.time-slot__note{font-size:.8rem;color:var(--pink-deep);font-weight:700}.time-slot--unavailable{cursor:not-allowed;border-style:dashed;border-color:#b9b2a9;color:#8f887f;background:transparent}.time-slot--unavailable .time-slot__time{text-decoration:line-through;font-weight:600}.time-slot--unavailable .time-slot__note{color:#8f887f;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.time-empty{text-align:center;padding:1.6rem 1.2rem}.time-empty p:last-child{margin-bottom:0}.time-empty__title{font-family:var(--font-hand);font-size:1.3rem}.details-form__group{margin-bottom:1.4rem}.details-form__heading{font-family:var(--font-hand);font-size:1.35rem;border-bottom:2px dashed var(--pink);padding-bottom:.25rem;margin-bottom:.9rem}.field{margin-bottom:1rem}.field>label,.chip-field>legend{display:block;font-weight:800;margin-bottom:.35rem;padding:0}.field__optional,.field__hint{font-weight:400;color:var(--ink-soft);font-size:.9rem}.field input[type=text],.field input[type=tel],.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--paper-card);border:2px solid var(--ink);border-radius:10px 4px;padding:.65rem .8rem;min-height:48px}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#9a9288}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--error);background:var(--error-bg)}.field--checkbox label{display:flex;gap:.6rem;align-items:flex-start;font-weight:600;cursor:pointer}.field--checkbox input{width:1.3rem;height:1.3rem;margin-top:.2rem;accent-color:var(--pink-deep);flex-shrink:0}.chip-field{border:0;padding:0;margin:0 0 1rem}.chip-group{display:flex;flex-wrap:wrap;gap:.5rem}.chip{display:inline-flex;align-items:center;font-weight:700;background:var(--paper-card);border:2px solid var(--ink);border-radius:999px;padding:.45rem 1rem;cursor:pointer;min-height:44px}.chip:hover{background:var(--pink-pale)}.chip.is-selected{background:var(--pink-deep);border-color:var(--pink-deep);color:#fff}.chip:focus-within{outline:3px solid var(--pink-deep);outline-offset:2px}.field-error{color:var(--error);font-weight:700;font-size:.9rem;margin:.35rem 0 0}.error-summary{border-color:var(--error);background:var(--error-bg);padding:1rem 1.2rem;margin-bottom:1.2rem}.error-summary__title{font-weight:800;margin-bottom:.4rem}.error-summary ul{margin:0;padding-left:1.2rem}.error-summary p:last-child{margin-bottom:0}.error-summary .button{margin-top:.8rem}.review-summary{padding:1rem 1.3rem;margin:0 0 1rem}.review-summary__row{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:2px dashed var(--pink-soft)}.review-summary__row:last-child{border-bottom:0}.review-summary dt{font-weight:800;flex-shrink:0}.review-summary dd{margin:0;text-align:right}.review-step__note{color:var(--ink-soft);font-size:.95rem}.review-step__sending{text-align:center;font-family:var(--font-hand);font-size:1.2rem;color:var(--pink-deep);margin-top:.8rem}.confirmation{text-align:center}.confirmation__paws{width:9rem;color:var(--pink);display:block;margin:0 auto .4rem;animation:pop-in .4s ease}.confirmation__title{font-family:var(--font-hand);font-size:clamp(1.7rem,6vw,2.3rem);color:var(--pink-deep)}.confirmation .review-summary{text-align:left;max-width:26rem;margin:0 auto 1rem}.confirmation__note{max-width:30rem;margin:0 auto 1rem;color:var(--ink-soft)}.confirmation__heart{width:2.2rem;color:var(--pink);animation:wiggle .8s ease}@keyframes bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-.9rem)}70%{transform:translateY(-.25rem)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}60%{transform:rotate(8deg)}}@keyframes pop-in{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.site-header__manage{display:none;font-family:var(--font-hand);font-size:1.1rem;color:var(--ink);text-decoration:none;padding:.4rem .6rem}.site-header__manage:hover{color:var(--pink-deep);text-decoration:underline wavy var(--pink) 2px;text-underline-offset:5px}@media (min-width: 720px){.site-header__manage{display:inline-block}}.manage-grid{display:grid;gap:2rem;max-width:42rem;margin:0 auto}.manage-card{padding:1.4rem 1.25rem}.manage-section>.details-form__heading{margin-bottom:.8rem}.manage-booking{padding:1.1rem 1.25rem;margin-bottom:1rem}.manage-booking__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem}.manage-booking__when{font-family:var(--font-hand);font-size:1.25rem;margin:0}.manage-booking__what{color:var(--ink-soft);margin:0 0 .6rem}.manage-booking__pending{background:var(--pink-pale);border:2px dashed var(--pink);border-radius:12px;padding:.5rem .8rem;font-size:.92rem}.status-pill{font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.2rem .75rem;border:2px solid var(--ink);background:var(--paper-card);white-space:nowrap}.status-pill--requested{background:#fff3cd}.status-pill--confirmed{background:#e2f2e2}.status-pill--completed{background:#e5e8f5}.status-pill--cancelled,.status-pill--declined{background:var(--error-bg);color:var(--error)}.manage-change{border-top:2px dashed var(--pink-soft);margin-top:1rem;padding-top:1rem}.manage-saved{color:#2e7d32;font-weight:800}.manage-email-change{border-top:2px dashed var(--pink-soft);margin-top:1.4rem;padding-top:1rem}.manage-signout{margin-top:.4rem}.manage-privacy-note{text-align:center}.privacy__card{max-width:44rem;margin:0 auto;padding:1.6rem 1.5rem}.privacy__card h3{font-family:var(--font-hand);font-size:1.35rem;margin:1.3rem 0 .4rem;border-bottom:2px dashed var(--pink);padding-bottom:.2rem}.privacy__card ul{padding-left:1.2rem}.privacy__card li{margin-bottom:.4rem}.privacy__updated{color:var(--ink-soft);font-size:.9rem;margin:1.4rem 0 0}
