:root{--brand-navy: #16264f;--brand-navy-700: #22366a;--brand-teal: #2a9a80;--brand-teal-dark: #1d7865;--brand-teal-50: #e6f4f0;--brand-lavender: #9c8fd0;--brand-lavender-50: #f1eefa;--brand-pink: #e76f8c;--brand-pink-dark: #c24768;--brand-pink-50: #fdecf0;--brand-sky: #8cc9e3;--brand-sky-50: #eaf6fb;--color-bg: #f7faf9;--color-surface: #ffffff;--color-surface-alt: var(--brand-teal-50);--color-surface-soft: var(--brand-lavender-50);--color-ink: var(--brand-navy);--color-ink-muted: #4a5878;--color-ink-inverse: #ffffff;--color-border: #dce5e3;--color-border-strong: #b9c8c5;--color-primary: var(--brand-teal-dark);--color-primary-hover: #165f50;--color-primary-ink: #ffffff;--color-accent: var(--brand-pink);--color-accent-hover: var(--brand-pink-dark);--color-heading: var(--brand-navy);--color-link: var(--brand-teal-dark);--color-focus: var(--brand-lavender);--color-success: #1f7a4d;--color-success-bg: #e3f5ea;--color-warning: #8a5a00;--color-warning-bg: #fff4d6;--color-danger: #b42343;--color-danger-bg: #fde8ed;--color-info: var(--brand-navy-700);--color-info-bg: var(--brand-sky-50);--font-display: "Fredoka", "Nunito", system-ui, sans-serif;--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs: .8125rem;--text-sm: .9375rem;--text-base: 1.0625rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: clamp(1.75rem, 1.4rem + 1.5vw, 2.25rem);--text-3xl: clamp(2.125rem, 1.6rem + 2.6vw, 3.25rem);--weight-regular: 400;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.15;--leading-normal: 1.6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(22 38 79 / .06), 0 1px 3px rgb(22 38 79 / .08);--shadow-md: 0 6px 18px rgb(22 38 79 / .1);--shadow-lg: 0 18px 40px rgb(22 38 79 / .14);--container-max: 1120px;--gutter: 1rem;--header-height: 64px;--ease: cubic-bezier(.2, .7, .2, 1);--duration: .18s}@media (min-width: 768px){:root{--gutter: 2rem;--header-height: 76px}}@media (prefers-reduced-motion: reduce){:root{--duration: 0ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-4))}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--color-heading);text-wrap:balance}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg)}p{text-wrap:pretty}img,svg{display:block;max-width:100%;height:auto}a{color:var(--color-link);text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--brand-teal-50)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--space-8)}.section--alt{background:var(--color-surface-alt)}.section--soft{background:var(--color-surface-soft)}.section__eyebrow{display:inline-block;font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent-hover);margin-bottom:var(--space-2)}.section__header{text-align:center;max-width:40rem;margin:0 auto var(--space-6)}.section__header p{color:var(--color-ink-muted);margin-top:var(--space-3)}.grid{display:grid;gap:var(--space-5);grid-template-columns:1fr}@media (min-width: 640px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 960px){.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}}.stack>*+*{margin-top:var(--space-4)}.row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.row--between{justify-content:space-between}.muted{color:var(--color-ink-muted)}.small{font-size:var(--text-sm)}.center{text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-5);border:2px solid transparent;border-radius:var(--radius-pill);font-weight:var(--weight-bold);font-size:var(--text-base);text-decoration:none;cursor:pointer;transition:background var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease),transform var(--duration) var(--ease)}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn--primary{background:var(--color-primary);color:var(--color-primary-ink)}.btn--primary:hover{background:var(--color-primary-hover)}.btn--accent{background:var(--color-accent);color:var(--color-ink-inverse)}.btn--accent:hover{background:var(--color-accent-hover)}.btn--outline{background:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn--outline:hover{background:var(--color-surface-alt)}.btn--ghost{background:transparent;color:var(--color-ink);padding-inline:var(--space-3)}.btn--ghost:hover{background:var(--color-surface-alt)}.btn--danger{background:transparent;border-color:var(--color-danger);color:var(--color-danger)}.btn--sm{min-height:38px;padding:var(--space-1) var(--space-4);font-size:var(--text-sm)}.btn--block{width:100%}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card--interactive{transition:box-shadow var(--duration) var(--ease),transform var(--duration) var(--ease)}.card--interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-md);background:var(--color-surface-alt);color:var(--color-primary);font-size:1.5rem;margin-bottom:var(--space-4)}.card h3{margin-bottom:var(--space-2)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:nowrap;background:var(--color-info-bg);color:var(--color-info)}.badge--success{background:var(--color-success-bg);color:var(--color-success)}.badge--warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge--danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge--accent{background:var(--brand-pink-50);color:var(--brand-pink-dark)}.badge--neutral{background:var(--color-bg);color:var(--color-ink-muted)}.price{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-primary)}.form,.form__row{display:grid;gap:var(--space-4)}@media (min-width: 640px){.form__row--2{grid-template-columns:1fr 1fr}}.field{display:grid;gap:var(--space-1)}.field__label{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.field__hint{font-size:var(--text-xs);color:var(--color-ink-muted)}.field__error{font-size:var(--text-xs);color:var(--color-danger);font-weight:var(--weight-semibold)}.input,.select,.textarea{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-size:16px;transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.textarea{min-height:120px;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--brand-teal-50)}.input[aria-invalid=true]{border-color:var(--color-danger)}.choice{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer}.choice:has(input:checked){border-color:var(--color-primary);background:var(--color-surface-alt)}.choice input{margin-top:4px;accent-color:var(--color-primary);width:18px;height:18px}.choice--disabled{opacity:.6;cursor:not-allowed}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-info-bg);color:var(--color-info)}.alert--error{background:var(--color-danger-bg);color:var(--color-danger)}.alert--success{background:var(--color-success-bg);color:var(--color-success)}.tabs{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-2);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-border);scrollbar-width:none}.tab{flex:none;padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-pill);background:transparent;font-weight:var(--weight-semibold);color:var(--color-ink-muted);cursor:pointer}.tab[aria-selected=true]{background:var(--color-primary);color:var(--color-primary-ink)}.page{padding-block:var(--space-6) var(--space-8);min-height:calc(100vh - var(--header-height) - 200px)}.page__title{margin-bottom:var(--space-2)}.page__lead{color:var(--color-ink-muted);margin-bottom:var(--space-6)}.auth-card{max-width:440px;margin-inline:auto}.empty{text-align:center;padding:var(--space-7) var(--space-4);color:var(--color-ink-muted);border:2px dashed var(--color-border);border-radius:var(--radius-lg)}.spinner{width:28px;height:28px;margin:var(--space-6) auto;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-7{margin-top:var(--space-7)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.my-2-3{margin:var(--space-2) 0 var(--space-3)}.select--narrow{max-width:260px}.summary{flex-wrap:wrap}.summary>.alert{flex-basis:100%;order:-1}.site-header{position:sticky;top:0;z-index:50;background:#ffffffeb;-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--color-border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);gap:var(--space-4)}.brand{display:flex;align-items:center;text-decoration:none}.brand__logo{height:calc(var(--header-height) - 14px);width:auto}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:var(--radius-md);background:transparent;font-size:1.5rem;color:var(--color-ink);cursor:pointer}.nav{position:fixed;inset:var(--header-height) 0 auto 0;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);padding:var(--space-4) var(--gutter) var(--space-5);display:none}.nav[data-open=true]{display:block}.nav__list{list-style:none;padding:0;display:grid;gap:var(--space-1)}.nav__link{display:block;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);text-decoration:none;font-weight:var(--weight-semibold);color:var(--color-ink)}.nav__link:hover,.nav__link.active{background:var(--color-surface-alt);color:var(--color-primary)}.nav__actions{display:grid;gap:var(--space-2);margin-top:var(--space-4)}@media (min-width: 900px){.nav-toggle{display:none}.nav{position:static;display:flex;align-items:center;gap:var(--space-4);padding:0;background:none;border:0;box-shadow:none}.nav__list{display:flex;gap:var(--space-1)}.nav__link{padding:var(--space-2) var(--space-3)}.nav__actions{display:flex;margin-top:0}}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 20%,var(--brand-sky-50) 0,transparent 45%),radial-gradient(circle at 85% 10%,var(--brand-pink-50) 0,transparent 40%),radial-gradient(circle at 70% 90%,var(--brand-lavender-50) 0,transparent 50%),var(--color-surface-alt);padding-block:var(--space-7) var(--space-8)}.hero__inner{display:grid;gap:var(--space-6);align-items:center}.hero__logo{width:min(360px,80%);margin-bottom:var(--space-5)}.hero h1{margin-bottom:var(--space-4)}.hero__lead{font-size:var(--text-lg);color:var(--color-ink-muted);max-width:34rem;margin-bottom:var(--space-5)}.hero__ctas{display:grid;gap:var(--space-3)}.hero__art{justify-self:center;width:min(240px,65%);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform:rotate(2deg)}.hero__trust{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}@media (min-width: 640px){.hero__ctas{display:flex;flex-wrap:wrap}}@media (min-width: 900px){.hero__inner{grid-template-columns:1.15fr .85fr}.hero__art{width:min(360px,100%)}.hero{padding-block:var(--space-8) var(--space-9)}}.paws{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;color:var(--brand-teal);opacity:.07}.paws svg{position:absolute;width:42px;height:42px}.about{display:grid;gap:var(--space-6);align-items:center}.about__photo{width:100%;max-width:420px;justify-self:center;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:6px solid var(--color-surface)}.about__text p+p{margin-top:var(--space-4)}.credentials{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;margin-top:var(--space-5)}.credentials img{width:92px;height:92px;object-fit:contain;background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-2);box-shadow:var(--shadow-sm)}@media (min-width: 900px){.about{grid-template-columns:.9fr 1.1fr}}.availability{list-style:none;padding:0}.availability li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-3);border-bottom:1px solid var(--color-border)}.availability li:last-child{border-bottom:0}.contact{display:grid;gap:var(--space-5)}@media (min-width: 900px){.contact{grid-template-columns:1.3fr .7fr;align-items:start}}.contact-list{list-style:none;padding:0;display:grid;gap:var(--space-4)}.contact-list li{display:flex;gap:var(--space-3);align-items:flex-start}.contact-list .card__icon{width:40px;height:40px;margin:0;font-size:1.1rem;flex:none}.site-footer{background:var(--brand-navy);color:#ffffffd9;padding-block:var(--space-7) var(--space-6);font-size:var(--text-sm)}.site-footer a{color:#fff}.site-footer__grid{display:grid;gap:var(--space-5)}.site-footer h4{color:#fff;margin-bottom:var(--space-3);font-size:var(--text-base)}.site-footer ul{list-style:none;padding:0;display:grid;gap:var(--space-2)}.site-footer__bottom{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid rgb(255 255 255 / .15);color:#ffffffa6}@media (min-width: 768px){.site-footer__grid{grid-template-columns:1.4fr 1fr 1fr}}.booking{display:grid;gap:var(--space-5);padding-bottom:96px}@media (min-width: 960px){.booking{grid-template-columns:1fr 340px;align-items:start;padding-bottom:0}}.booking__step h2{font-size:var(--text-xl);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-3)}.step-num{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:var(--text-sm);flex:none}.service-pick{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.service-pick__meta{font-size:var(--text-sm);color:var(--color-ink-muted)}.line-item{border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface);display:grid;gap:var(--space-3)}.line-item__head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.line-item__fields{display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr}.line-item__fields .field--wide{grid-column:1 / -1}.summary{position:fixed;inset:auto 0 0 0;z-index:40;background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -8px 24px #16264f14;padding:var(--space-3) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.summary__lines{display:none}.summary__total{font-family:var(--font-display);font-size:var(--text-xl)}@media (min-width: 960px){.summary{position:sticky;top:calc(var(--header-height) + var(--space-4));inset:auto;display:grid;gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-5)}.summary__lines{display:grid;gap:var(--space-2);font-size:var(--text-sm)}.summary__lines div{display:flex;justify-content:space-between;gap:var(--space-3)}}.booking-card{display:grid;gap:var(--space-3)}.booking-card__items{list-style:none;padding:0;display:grid;gap:var(--space-2);font-size:var(--text-sm)}.booking-card__items li{display:flex;justify-content:space-between;gap:var(--space-3)}.booking-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.svc-edit{display:grid;gap:var(--space-3)}@media (min-width: 768px){.svc-edit{grid-template-columns:2fr 1fr 1fr auto auto;align-items:end}}.cal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3)}.cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.cal__title{font-family:var(--font-display);font-size:var(--text-lg)}.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal__dow{text-align:center;font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-ink-muted);padding-block:var(--space-1)}.cal__day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;min-height:48px;padding:6px 2px;border:1.5px solid transparent;border-radius:var(--radius-sm);background:var(--color-bg);font:inherit;color:var(--color-ink);cursor:pointer}.cal__day:disabled{cursor:default;opacity:.45}.cal__day:not(:disabled):hover{border-color:var(--color-primary)}.cal__num{font-weight:var(--weight-semibold);font-size:var(--text-sm)}.cal__day.is-today .cal__num{color:var(--color-accent-hover);text-decoration:underline;text-underline-offset:3px}.cal__day.is-open{background:var(--color-success-bg)}.cal__day.is-limited{background:var(--color-warning-bg)}.cal__day.is-full{background:var(--color-bg);text-decoration:line-through}.cal__day.is-selected,.cal__day.is-range{border-color:var(--color-primary);background:var(--brand-teal-50)}.cal__day.is-selected{box-shadow:inset 0 0 0 1px var(--color-primary)}.cal__pad{min-height:48px}.cal__legend{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-ink-muted)}.cal__swatch{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:4px;border:1px solid var(--color-border)}.cal__swatch--open{background:var(--color-success-bg)}.cal__swatch--limited{background:var(--color-warning-bg)}.cal__swatch--full{background:var(--color-bg)}.cal__tag{font-size:10px;line-height:1;font-weight:var(--weight-bold);color:var(--color-accent-hover)}.cal__dots{display:flex;gap:2px;flex-wrap:wrap;justify-content:center}.cal__dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.cal__dot--requested{background:var(--color-warning)}.cal__dot--busy{background:var(--brand-pink)}.cal__dot--off{background:var(--color-ink-muted)}@media (min-width: 640px){.cal__day,.cal__pad{min-height:64px}}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--space-2)}.slot{min-height:44px;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-weight:var(--weight-semibold);cursor:pointer;display:grid;place-items:center;gap:0;padding:var(--space-1)}.slot:hover{border-color:var(--color-primary)}.slot[aria-pressed=true]{background:var(--color-primary);color:var(--color-primary-ink);border-color:var(--color-primary)}.slot__rush{font-size:10px;color:var(--color-accent-hover);font-weight:var(--weight-bold)}.slot[aria-pressed=true] .slot__rush{color:var(--color-primary-ink)}.svc-choices{display:grid;gap:var(--space-2)}@media (min-width: 640px){.svc-choices{grid-template-columns:1fr 1fr}}.quote-line{display:grid;gap:2px;padding-block:var(--space-2);border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.quote-line:last-child{border-bottom:0}.quote-line__row{display:flex;justify-content:space-between;gap:var(--space-3)}.quote-line__adj{display:flex;justify-content:space-between;gap:var(--space-3);color:var(--color-ink-muted);font-size:var(--text-xs);padding-left:var(--space-3)}.quote-line__problem{color:var(--color-danger);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.intake-section{scroll-margin-top:calc(var(--header-height) + var(--space-4))}.intake-section h2{font-size:var(--text-xl);margin-bottom:var(--space-4)}.status-banner{display:flex;gap:var(--space-3);align-items:flex-start}.pet-card{display:grid;gap:var(--space-3)}.agreement-text{white-space:pre-wrap;max-height:240px;overflow:auto;padding:var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm)}.doc-list{list-style:none;padding:0;display:grid;gap:var(--space-2);font-size:var(--text-sm)}.doc-list li{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center}.yesno{border:0;padding:0;margin:0;display:grid;gap:var(--space-1);min-width:0}.yesno__opts{display:flex;flex-wrap:wrap;gap:var(--space-4)}.yesno__opt{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;cursor:pointer}.yesno__opt input{width:18px;height:18px;accent-color:var(--color-primary)}.grow{flex:1;min-width:0}.trip-grid{display:grid;gap:var(--space-1);font-size:var(--text-sm)}.sig-row{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;font-size:var(--text-sm);flex-wrap:wrap}
