@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;700;800&family=Fredoka:wght@400;500;600;700&family=Luckiest+Guy&display=swap";:root{font-family:Fredoka,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#111116;background:#11a9c9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:inherit}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}h1{line-height:1.1}button,input,select,textarea{font:inherit}button{border:1px solid transparent;cursor:pointer}img,svg{max-width:100%;display:block}button:focus,a:focus-visible,input:focus,select:focus,textarea:focus{outline:3px dashed #ff40b2;outline-offset:4px}#root{min-height:100vh}.site-shell{min-height:100vh;background:radial-gradient(circle at 15% 15%,rgba(140,216,255,.45) 0 14px,transparent 15px),radial-gradient(circle at 80% 10%,rgba(255,138,179,.4) 0 18px,transparent 19px),linear-gradient(135deg,#fff8cf,#ffe4ef 52%,#dff4ff);position:relative}.site-shell:before{content:"✦  🐾  ✦  🦴  ✦  🫧";color:#412b351a;font-family:Luckiest Guy,cursive;font-size:clamp(2.5rem,9vw,7rem);left:50%;letter-spacing:.25em;pointer-events:none;position:fixed;top:45%;transform:translate(-50%,-50%) rotate(-8deg);white-space:nowrap}main{isolation:isolate;position:relative;z-index:1}.navbar{align-items:center;background:#fffae7e6;border:4px solid #412b35;border-radius:0 0 32px 32px;box-shadow:0 8px #8cd8ff;display:flex;gap:1.5rem;justify-content:space-between;margin:0 auto;max-width:1180px;padding:1rem clamp(1rem,3vw,2rem);position:sticky;top:0;z-index:10}.brand{align-items:center;display:inline-flex;font-family:"Baloo 2",cursive;font-size:clamp(1.2rem,2vw,1.7rem);font-weight:800;gap:.75rem;line-height:.9}.brand-logo{border:3px solid #412b35;border-radius:22px;box-shadow:0 5px #ffbdd3;height:clamp(64px,10vw,96px);object-fit:cover;transition:box-shadow .18s ease,transform .18s ease;width:clamp(64px,10vw,96px)}.brand:hover .brand-logo{box-shadow:0 3px #8cd8ff;transform:rotate(-2deg) translateY(2px)}.brand small{color:#ef5f98;display:block;font-family:Fredoka,sans-serif;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.brand-mark{align-items:center;background:#ffbdd3;border:3px solid #412b35;border-radius:50%;display:inline-flex;height:48px;justify-content:center;width:48px}.nav-links{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.nav-toggle{align-items:center;background:#fff200;border:3px solid #111116;border-radius:999px;box-shadow:0 4px #111116;color:#111116;display:none;font-family:"Baloo 2",cursive;font-weight:800;gap:.45rem;padding:.55rem .9rem}.nav-toggle span{font-size:1.15rem;line-height:1}.nav-link{border:2px solid transparent;border-radius:999px;font-weight:700;padding:.45rem .8rem;transition:background .18s ease,border-color .18s ease,transform .18s ease}.nav-link:hover,.nav-link.active{background:#ffec8b;border-color:#412b35;transform:rotate(-2deg) translateY(-2px)}.button{align-items:center;border:3px solid #412b35;border-radius:999px;box-shadow:0 6px #412b35;display:inline-flex;font-family:"Baloo 2",cursive;font-size:1.05rem;font-weight:800;justify-content:center;min-height:48px;padding:.75rem 1.35rem;transition:box-shadow .18s ease,transform .18s ease}.button:hover{box-shadow:0 3px #412b35;transform:translateY(3px) rotate(-1deg)}.button-primary{background:#ff8ab3;color:#412b35}.button-secondary{background:#8cd8ff;color:#412b35}.hero,.section,.page-section{margin:0 auto;max-width:1180px;padding:clamp(3.5rem,7vw,6rem) clamp(1rem,4vw,2rem)}.hero{align-items:center;display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:minmax(0,1fr) minmax(280px,420px);min-height:680px}.wavy-section{background:linear-gradient(#fff8cf,#fff8cf) padding-box,repeating-radial-gradient(circle at 0 0,#412b35 0 4px,transparent 5px 24px) border-box;border:5px dashed transparent;border-radius:48px;margin-top:2rem;position:relative}.wavy-section:after{background:#ffbdd3;border:4px solid #412b35;border-radius:50% 45% 55% 48%;bottom:-28px;content:"";height:72px;left:8%;position:absolute;width:84%;z-index:-1}.eyebrow{color:#ef5f98;font-family:"Baloo 2",cursive;font-size:1rem;font-weight:800;letter-spacing:.16em;margin:0 0 .5rem;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:#412b35;font-family:"Baloo 2",cursive}.hero h1{font-family:Luckiest Guy,cursive;font-size:clamp(3.8rem,10vw,7.5rem);letter-spacing:.03em;line-height:.9;margin-bottom:1rem;text-shadow:4px 4px 0 #ffbdd3,8px 8px 0 #8cd8ff}.hero-tagline{font-size:clamp(1.25rem,3vw,1.8rem);font-weight:700;max-width:620px}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.hero-art{align-items:center;aspect-ratio:1;background:#8cd8ff;border:5px solid #412b35;border-radius:46% 54% 48% 52%;box-shadow:14px 14px #ffec8b;display:flex;justify-content:center;position:relative}.hero-photo{border:5px solid #412b35;border-radius:42% 58% 45% 55%;box-shadow:0 0 0 8px #ff40b280,0 0 24px #b7ff3dd9;height:78%;object-fit:cover;position:relative;width:78%;z-index:1}.dog-sticker{align-items:center;background:#fff8cf;border:5px solid #412b35;border-radius:50%;box-shadow:inset 0 -14px #ff8ab359;display:flex;height:64%;justify-content:center;position:relative;width:64%}.dog-ears{font-size:clamp(5rem,15vw,9rem)}.dog-bow{background:#ff8ab3;border:3px solid #412b35;border-radius:999px;bottom:18%;font-size:1.7rem;padding:.1rem .7rem;position:absolute;right:14%}.bone-badge{background:#ff8ab3;border:4px solid #412b35;border-radius:999px;bottom:8%;box-shadow:0 5px #412b35;font-family:"Baloo 2",cursive;font-weight:800;left:50%;padding:.45rem 1rem;position:absolute;transform:translate(-50%) rotate(4deg);white-space:nowrap}.hero-star{color:#ffec8b;font-size:3rem;position:absolute;text-shadow:2px 2px 0 #412b35}.star-one{left:8%;top:12%}.star-two{bottom:18%;right:10%}.hero-bubble,.bubble{background:#ffffffa6;border:3px solid #412b35;border-radius:50%;position:absolute}.bubble-three{height:42px;right:19%;top:18%;width:42px}.section-heading{margin:0 auto 2rem;max-width:720px;text-align:center}.section-heading h1,.section-heading h2{font-size:clamp(2.4rem,6vw,4.2rem);line-height:1;margin-bottom:.75rem}.section-heading p:not(.eyebrow){font-size:1.1rem}.services-grid,.gallery-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(4,minmax(0,1fr))}.sticker-card{background:#fffae7f0;border:4px solid #412b35;border-radius:30px;box-shadow:8px 8px #412b352e;position:relative}.sticker-card:before{border:2px dashed rgba(65,43,53,.4);border-radius:24px;content:"";inset:8px;pointer-events:none;position:absolute}.service-card{overflow:hidden;padding:1.5rem;transition:transform .18s ease,box-shadow .18s ease}.service-card:nth-child(2n){background:#e2f5ff}.service-card:nth-child(3n){background:#fff0ad}.service-card:hover,.gallery-card:hover{box-shadow:12px 12px #412b3533;transform:translateY(-6px) rotate(-1deg)}.card-icon{display:block;font-size:3rem;margin-bottom:.75rem}.service-card h3{font-size:1.7rem;margin-bottom:.35rem}.service-card p{margin-bottom:0}.home-highlights{padding-top:clamp(2.5rem,5vw,4rem)}.home-highlight-grid{align-items:stretch;display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}.home-highlight-card{background:#fffae7f0;padding:clamp(1.25rem,3vw,1.75rem);text-align:center}.home-highlight-card.highlight-wide{grid-column:span 2}.home-highlight-card h3{background:#fff200;color:#ff40b2;display:inline;font-family:"Baloo 2",cursive;font-size:clamp(1.2rem,3vw,1.7rem);letter-spacing:.16em;line-height:1.35;padding:0 .35rem;text-transform:uppercase}.home-highlight-card p{font-size:clamp(1rem,2vw,1.15rem);font-weight:600;margin:1rem auto 0;max-width:780px}.callout{align-items:center;display:flex;gap:1rem;margin:0 auto clamp(3rem,6vw,5rem);max-width:940px;padding:1.5rem}.callout>span{font-size:clamp(3rem,8vw,5rem)}.callout h2{font-size:clamp(1.8rem,4vw,3rem);margin-bottom:.25rem}.page-section{min-height:620px}.price-list{margin:0 auto 2rem;max-width:1020px}.price-list .section-heading{margin-bottom:1.25rem}.price-list h2{font-size:clamp(2rem,5vw,3.2rem);line-height:1;margin-bottom:0}.price-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.price-section{display:grid;gap:1rem;margin-top:1.75rem}.price-section-title{background:#fff200;border:4px solid #111116;border-radius:999px;box-shadow:0 6px #ff40b2;color:#ff40b2;display:inline-block;font-family:"Baloo 2",cursive;font-size:clamp(1.45rem,4vw,2.35rem);justify-self:center;letter-spacing:.16em;line-height:1;margin:0;padding:.45rem 1.2rem;text-align:center;text-transform:uppercase}.price-card{min-height:280px;overflow:hidden;padding:1.25rem;transition:box-shadow .18s ease,transform .18s ease}.price-card:hover{box-shadow:12px 12px #412b3533;transform:translateY(-5px) rotate(1deg)}.price-card h3{font-size:1.45rem;line-height:1;margin-bottom:.7rem;padding-right:2rem}.price-description{display:grid;gap:.3rem;list-style:none;margin:0 0 1rem;padding:0;position:relative;z-index:1}.price-description li{font-size:.92rem;font-weight:700;line-height:1.25;padding-left:1rem;position:relative}.price-description li:before{color:#ff40b2;content:"•";font-size:1.2rem;left:0;line-height:1;position:absolute;top:0}.price-tiers{display:grid;gap:.5rem;position:relative;z-index:1}.price-tiers p{align-items:center;background:#fffdf4c7;border:2px solid #412b35;border-radius:16px;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:0;padding:.55rem .7rem}.price-tiers span,.price-tiers strong,.price-tiers small{display:block}.price-tiers strong{font-family:"Baloo 2",cursive;font-size:1rem;line-height:1}.price-tiers small{color:#7a5d66;font-size:.78rem;font-weight:700}.price-tiers b{font-family:"Baloo 2",cursive;font-size:1.3rem;font-weight:800;white-space:nowrap}.price-card:after{bottom:.65rem;color:#412b3529;content:"🐾";font-size:2.5rem;position:absolute;right:1rem;transform:rotate(-12deg)}.price-sparkle{color:#fff8cf;font-size:2rem;position:absolute;right:1rem;text-shadow:2px 2px 0 #412b35;top:.75rem}.price-pink{background:#ffbdd3}.price-blue{background:#dff4ff}.price-yellow{background:#fff0ad}.price-cream{background:#fff8cf}.add-on-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.add-on-card{min-height:220px}.add-on-description{font-weight:700;margin-bottom:1rem;position:relative;z-index:1}.add-on-price{background:#fff200;border:3px solid #111116;border-radius:999px;box-shadow:0 4px #111116;display:inline-block;font-family:"Baloo 2",cursive;font-size:1.25rem;padding:.35rem .75rem;position:relative;z-index:1}.form-card{margin:0 auto;max-width:900px;padding:clamp(1.25rem,4vw,2rem)}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}label{color:#412b35;display:grid;font-weight:800;gap:.35rem}fieldset{border:0;margin:0;padding:0}legend{color:#412b35;font-family:"Baloo 2",cursive;font-size:1.5rem;font-weight:900;margin-bottom:.8rem}.intake-section-note{font-weight:700;margin-bottom:1rem}.add-on-options{align-self:end}.add-on-options legend{font-size:1rem;margin-bottom:.45rem}.checkbox-group{display:grid;gap:.55rem}.checkbox-option{align-items:center;background:#fffdf4;border:3px solid #412b35;border-radius:18px;box-shadow:0 4px #412b35;cursor:pointer;display:flex;gap:.6rem;padding:.65rem .8rem}.checkbox-option input{accent-color:#ff8ab3;height:1.1rem;width:1.1rem}input,select,textarea{background:#fffdf4;border:3px solid #412b35;border-radius:18px;color:#412b35;padding:.85rem 1rem}textarea{resize:vertical}.full-span{grid-column:1 / -1}.calendar-field,.intake-section,.time-slot-field{background:#fffdf4bd;border:3px solid #412b35;border-radius:26px;padding:1rem}.calendar-field h2,.time-slot-field h2{font-size:clamp(1.5rem,4vw,2rem);margin-bottom:.1rem}.calendar-field p,.time-slot-field p{font-weight:700;margin-bottom:1rem}.rdp-root{--rdp-accent-color: #ef5f98;--rdp-accent-background-color: #ffbdd3;--rdp-day_button-border-radius: 16px;--rdp-selected-border: 3px solid #412b35;margin:0 auto;max-width:370px}.rdp-month_caption{color:#412b35;font-family:"Baloo 2",cursive;font-size:1.35rem;font-weight:800}.rdp-button_next,.rdp-button_previous,.rdp-day_button{border:2px solid transparent;border-radius:14px;color:#412b35}.rdp-day_button:hover:not([disabled]){background:#ffec8b;border-color:#412b35}.rdp-selected .rdp-day_button{background:#ff8ab3;box-shadow:0 4px #412b35;color:#412b35;font-weight:800}.rdp-disabled{color:#412b3552;text-decoration:line-through}.rdp-footer{color:#ef5f98;font-weight:800;padding-top:.75rem;text-align:center}.time-slot-grid{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.time-slot{background:#dff4ff;border:3px solid #412b35;border-radius:20px;box-shadow:0 5px #412b35;color:#412b35;display:grid;font-family:"Baloo 2",cursive;font-size:1.05rem;font-weight:800;gap:.15rem;min-height:62px;padding:.65rem;transition:box-shadow .18s ease,transform .18s ease,background .18s ease}.time-slot:hover:not(:disabled){background:#ffec8b;box-shadow:0 2px #412b35;transform:translateY(3px) rotate(-1deg)}.time-slot.selected{background:#ff8ab3}.time-slot:disabled{background:#f1e4db;box-shadow:none;color:#412b358c;cursor:not-allowed;transform:none}.time-slot small{font-family:Fredoka,sans-serif;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.form-footer{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-top:1.5rem}.form-footer p{font-weight:700;margin-bottom:0}.booking-message{border:3px solid #412b35;border-radius:20px;font-weight:800;margin:1.25rem 0 0;padding:.9rem 1rem}.booking-message.success{background:#dff4ff}.booking-message.error{background:#ffbdd3}.button:disabled{box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.admin-login-page,.admin-page{max-width:1180px}.admin-login-card,.admin-shell{margin:0 auto;max-width:520px;padding:clamp(1.5rem,5vw,2.25rem)}.admin-login-card{background:#fff8cf;display:grid;gap:1rem}.admin-login-card h1,.admin-shell h1,.admin-dashboard-header h1{font-size:clamp(2.5rem,6vw,4.2rem);line-height:.95;margin-bottom:.5rem}.admin-dashboard-header{align-items:center;background:#fff8cf;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1.25rem;padding:clamp(1.25rem,4vw,2rem)}.admin-header-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.admin-filter-bar{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 1.25rem}.filter-chip,.admin-action{border:3px solid #412b35;border-radius:999px;box-shadow:0 4px #412b35;color:#412b35;font-family:"Baloo 2",cursive;font-weight:800;padding:.6rem 1rem;text-transform:capitalize;transition:box-shadow .18s ease,transform .18s ease,background .18s ease}.filter-chip{background:#dff4ff}.filter-chip.active,.filter-chip:hover{background:#ff8ab3;box-shadow:0 2px #412b35;transform:translateY(2px) rotate(-1deg)}.admin-day-bookings{display:grid;gap:1.25rem}.admin-calendar-dashboard{align-items:start;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr)}.admin-calendar-field{background:#fff8cf;padding:clamp(1.25rem,4vw,2rem)}.admin-calendar-intro{display:grid;gap:.75rem;margin-bottom:1.25rem}.admin-calendar-intro h2{font-size:clamp(2rem,5vw,3.2rem);line-height:1;margin-bottom:0}.admin-calendar-hint,.admin-calendar-loading{font-weight:700;margin-bottom:0}.admin-calendar-field .rdp-root{margin:0 auto;max-width:none;width:min(100%,760px)}.admin-calendar-field .rdp-months{justify-content:center;width:100%}.admin-calendar-field .rdp-month{width:100%}.admin-calendar-field .rdp-day_button{align-items:center;display:flex;flex-direction:column;gap:.2rem;justify-content:center;min-height:3.4rem;position:relative;width:100%}.admin-calendar-day-label{font-family:"Baloo 2",cursive;font-size:1rem;font-weight:900;line-height:1}.admin-calendar-day-count{background:#8cd8ff;border:2px solid #412b35;border-radius:999px;font-family:Fredoka,sans-serif;font-size:.68rem;font-weight:800;line-height:1;min-width:1.15rem;padding:.12rem .3rem}.admin-day-booked .rdp-day_button{background:#dff4ff;border-color:#412b35}.admin-selected-day{background:#fffae7f5;padding:clamp(1.25rem,4vw,2rem);position:sticky;top:1rem}.admin-selected-day-header{margin-bottom:1.25rem}.admin-selected-day-header h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1;margin-bottom:.35rem}.admin-selected-day-header p:last-child{font-weight:800;margin-bottom:0}.admin-selected-day .admin-booking-card{padding:1rem}.admin-selected-day .admin-booking-header{display:grid}.admin-selected-day .admin-booking-header h2{font-size:clamp(1.65rem,3vw,2.2rem)}.admin-selected-day .admin-booking-grid{grid-template-columns:1fr}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.admin-empty-state.compact{background:#dff4ff;border:3px solid #412b35;border-radius:20px;padding:1rem}.admin-empty-state.compact h3{margin-bottom:.35rem}.admin-booking-card{background:#fffae7f5;padding:clamp(1rem,3vw,1.5rem)}.admin-booking-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.admin-booking-header h2{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1;margin-bottom:0}.admin-booking-header h2 span{color:#7a5d66;display:block;font-family:Fredoka,sans-serif;font-size:1rem;font-weight:700;margin-top:.3rem}.status-pill{border:3px solid #412b35;border-radius:999px;box-shadow:0 4px #412b35;font-family:"Baloo 2",cursive;font-weight:800;padding:.35rem .8rem;text-transform:capitalize;white-space:nowrap}.status-confirmed{background:#8cd8ff}.status-completed{background:#ffec8b}.status-cancelled{background:#ffbdd3}.status-unread{background:#ff8ab3}.status-read{background:#dff4ff}.admin-inquiries-section{background:#fff8cf;margin-top:1.25rem;padding:clamp(1.25rem,4vw,2rem)}.admin-inquiries-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.admin-inquiries-header h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1;margin-bottom:.35rem}.admin-inquiries-header p:last-child{font-weight:800;margin-bottom:0}.admin-inquiry-list{display:grid;gap:1rem}.admin-inquiry-card{background:#fffae7f5;border:3px solid #412b35;border-radius:22px;box-shadow:0 5px #412b35;padding:1rem}.admin-inquiry-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.admin-inquiry-card h3{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1;margin-bottom:.25rem}.admin-inquiry-card a{font-weight:800;text-decoration:underline}.admin-inquiry-message{background:#fffdf4;border:2px solid #412b35;border-radius:18px;font-weight:700;margin-bottom:0;padding:1rem;white-space:pre-wrap}.admin-booking-grid{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-booking-grid p{background:#fffdf4;border:2px solid #412b35;border-radius:18px;margin-bottom:0;padding:.75rem}.admin-booking-grid strong,.admin-booking-grid span{display:block}.admin-booking-grid strong{color:#ef5f98;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.admin-record-details{background:#dff4ff;border:3px solid #412b35;border-radius:20px;margin-top:1rem;padding:1rem}.admin-record-details summary{cursor:pointer;font-family:"Baloo 2",cursive;font-size:1.15rem;font-weight:900}.admin-record-details .admin-booking-grid{margin-top:1rem}.admin-card-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.admin-action.complete{background:#ffec8b}.admin-action.cancel{background:#dff4ff}.admin-action.delete{background:#ffbdd3}.admin-action:hover:not(:disabled){box-shadow:0 2px #412b35;transform:translateY(2px)}.admin-action:disabled{box-shadow:none;cursor:not-allowed;opacity:.55}.admin-empty-state{background:#fff8cf;padding:2rem;text-align:center}.cancel-card{background:#fff8cf;margin:0 auto;max-width:720px;padding:clamp(1.5rem,5vw,2.25rem)}.cancel-card h1{font-size:clamp(2.5rem,6vw,4.2rem);line-height:.95}.cancel-booking-details{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.5rem 0}.cancel-booking-details p{background:#fffdf4;border:3px solid #412b35;border-radius:18px;margin:0;padding:.8rem}.cancel-booking-details strong,.cancel-booking-details span{display:block}.cancel-booking-details strong{color:#ef5f98;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.cancel-home-link{display:inline-block;font-weight:800;margin-top:1rem;text-decoration:underline}.about-layout,.contact-layout{align-items:start;display:grid;gap:2rem;grid-template-columns:minmax(0,1fr) minmax(280px,420px)}.about-copy{background:#fff8cfd1;border-radius:36px;padding:clamp(1rem,4vw,2rem)}.about-me-card{background:#fffae7f0}.about-copy h1{font-size:clamp(2.5rem,6vw,4.8rem);line-height:.98}.about-copy p{font-size:1.1rem}.about-card,.contact-info{padding:1.5rem}.about-icon{display:block;font-size:4rem;margin-bottom:.75rem}.about-photo{aspect-ratio:1 / 1;border:4px solid #111116;border-radius:28px;box-shadow:8px 8px #fff200;display:block;margin-bottom:1rem;object-fit:cover;width:100%}.about-card ul{display:grid;gap:.7rem;list-style:"🐾 ";margin:0;padding-left:1.5rem}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-card{margin:0;overflow:hidden;padding:.75rem;transition:transform .18s ease,box-shadow .18s ease}.gallery-image{align-items:center;aspect-ratio:4 / 3;border:3px solid #412b35;border-radius:24px;display:flex;justify-content:center;overflow:hidden;position:relative}.placeholder-pink .gallery-image{background:linear-gradient(135deg,#ffbdd3,#fff8cf)}.placeholder-blue .gallery-image{background:linear-gradient(135deg,#8cd8ff,#fff8cf)}.placeholder-yellow .gallery-image{background:linear-gradient(135deg,#ffec8b,#ffbdd3)}.dog-face{font-size:clamp(4rem,12vw,7rem);z-index:1}.sparkle{color:#fff8cf;font-size:3rem;left:12%;position:absolute;text-shadow:2px 2px 0 #412b35;top:8%}.bubble-one{height:38px;right:16%;top:20%;width:38px}.bubble-two{bottom:16%;height:26px;left:18%;width:26px}.gallery-card figcaption{align-items:center;display:flex;gap:.5rem;justify-content:space-between;padding:.85rem .35rem .2rem}.gallery-card strong{font-family:"Baloo 2",cursive;font-size:1.25rem}.gallery-card span:last-child{color:#7a5d66;font-size:.9rem}.contact-layout{grid-template-columns:minmax(280px,420px) minmax(0,1fr)}.contact-list{display:grid;gap:1rem}.contact-list p{background:#fffdf4;border:3px solid #412b35;border-radius:20px;margin:0;padding:.9rem 1rem}.contact-list strong,.contact-list span,.contact-link{display:block}.contact-list strong{color:#ef5f98}.contact-link{color:#111116;font-weight:800;text-decoration-color:#ff40b2;text-decoration-thickness:3px;text-underline-offset:.2rem}.contact-link:hover{color:#ff40b2}.map-placeholder{align-items:center;background:linear-gradient(45deg,rgba(65,43,53,.08) 25%,transparent 25% 50%,rgba(65,43,53,.08) 50% 75%,transparent 75%),#dff4ff;background-size:28px 28px;border:3px solid #412b35;border-radius:24px;display:flex;flex-direction:column;justify-content:center;margin-top:1.25rem;min-height:210px;text-align:center}.map-placeholder span{font-size:3rem}.contact-form{display:grid;gap:1rem;margin:0;max-width:none}.footer{align-items:center;background:#412b35;color:#fff8cf;display:flex;gap:1.5rem;justify-content:space-between;margin-top:2rem;padding:clamp(2rem,5vw,3rem) clamp(1rem,5vw,4rem);position:relative;z-index:1}.footer h2{color:#fff8cf;font-size:clamp(2rem,5vw,3.5rem);margin-bottom:.25rem}.footer p{margin-bottom:0}.footer .eyebrow{color:#ffbdd3}.site-shell{background:radial-gradient(circle at 14% 12%,rgba(250,239,48,.55) 0 13px,transparent 14px),radial-gradient(circle at 82% 14%,rgba(255,64,178,.5) 0 18px,transparent 19px),radial-gradient(circle at 66% 78%,rgba(171,255,54,.32) 0 22px,transparent 23px),linear-gradient(135deg,#11a9c9,#12a3c3 48%,#fff200)}.site-shell:before{color:#11111621}.navbar,.sticker-card,.form-card,.admin-login-card,.admin-dashboard-header,.admin-empty-state,.admin-shell,.cancel-card{background:#fff4a4f5;border-color:#111116;box-shadow:8px 8px #ff40b294}.navbar{background:linear-gradient(135deg,#fff200,#11a9c9 46%,#ff40b2);box-shadow:0 8px #ff40b2,0 14px #b7ff3d,0 0 24px #fff200bf}.brand-logo{border-color:#111116;box-shadow:0 5px #ff40b2,0 9px 18px #b7ff3dd9}.brand:hover .brand-logo{box-shadow:0 3px #fff200,0 8px 18px #b7ff3df2}.navbar .nav-link{background:#fff200d1;border-color:#111116;box-shadow:0 4px #111116}.navbar .nav-link:hover,.navbar .nav-link.active{background:#ff40b2;box-shadow:0 2px #111116,0 0 14px #b7ff3df2}h1,h2,h3,label,.nav-link,.button,.price-tiers b,.time-slot,.status-pill,.filter-chip,.admin-action{color:#111116}.eyebrow,.rdp-footer,.contact-list strong,.admin-booking-grid strong,.cancel-booking-details strong,.price-tiers small{color:#c9008f}.nav-link:hover,.nav-link.active,.button-primary,.time-slot.selected,.rdp-selected .rdp-day_button,.filter-chip.active,.filter-chip:hover,.admin-action.delete,.booking-message.error,.status-cancelled,.price-pink{background:#ff40b2}.button-secondary,.hero-art,.time-slot,.booking-message.success,.filter-chip,.admin-action.cancel,.status-confirmed,.price-blue,.placeholder-blue .gallery-image{background:#11a9c9}.button-primary,.button-secondary,.nav-link:hover,.nav-link.active,.time-slot,.filter-chip,.admin-action,.status-pill,.bone-badge,.dog-bow{color:#111116}.button,.time-slot,.filter-chip,.admin-action,.status-pill,.bone-badge,.dog-bow,input,select,textarea,.calendar-field,.time-slot-field,.contact-list p,.admin-booking-grid p,.cancel-booking-details p,.price-tiers p,.gallery-image,.map-placeholder{border-color:#111116;box-shadow:0 5px #111116}.button:hover,.time-slot:hover:not(:disabled),.filter-chip.active,.filter-chip:hover,.admin-action:hover:not(:disabled){box-shadow:0 2px #111116}.wavy-section{background:linear-gradient(#fff56b,#fff56b) padding-box,repeating-radial-gradient(circle at 0 0,#111116 0 4px,transparent 5px 24px) border-box}.wavy-section:after{background:#ff40b2;border-color:#111116;box-shadow:0 0 18px #b7ff3dd9}.hero h1{color:#111116;text-shadow:4px 4px 0 #ff40b2,8px 8px 0 #fff200,12px 12px 0 #b7ff3d}.hero-tagline,.section-heading p:not(.eyebrow),.about-copy p,.footer p{color:#111116}.dog-sticker,input,select,textarea,.price-tiers p,.admin-booking-grid p,.cancel-booking-details p,.contact-list p,.calendar-field,.time-slot-field{background:#fffbd1}.dog-sticker{border-color:#111116;box-shadow:inset 0 -14px #ff40b273,0 0 22px #b7ff3dd9}.dog-bow,.bone-badge{background:#ff40b2;border-color:#111116}.hero-star,.price-sparkle,.sparkle{color:#fff200;text-shadow:2px 2px 0 #111116,0 0 10px rgba(183,255,61,.9)}.service-card:nth-child(2n),.placeholder-pink .gallery-image,.price-cream{background:#fff56b}.service-card:nth-child(3n),.price-yellow,.admin-action.complete,.status-completed,.rdp-day_button:hover:not([disabled]),.time-slot:hover:not(:disabled){background:#fff200}.price-card,.gallery-card,.service-card{box-shadow:8px 8px #11111652,0 0 0 6px #b7ff3d2e}.price-card:hover,.service-card:hover,.gallery-card:hover{box-shadow:12px 12px #1111165c,0 0 18px #b7ff3dcc}.placeholder-blue .gallery-image,.placeholder-yellow .gallery-image{background:linear-gradient(135deg,#11a9c9,#fff200)}.placeholder-pink .gallery-image{background:linear-gradient(135deg,#ff40b2,#11a9c9)}.rdp-root{--rdp-accent-color: #ff40b2;--rdp-accent-background-color: #ff40b2;--rdp-selected-border: 3px solid #111116}.rdp-month_caption,.rdp-button_next,.rdp-button_previous,.rdp-day_button{color:#111116}.rdp-selected .rdp-day_button{box-shadow:0 4px #111116}.time-slot:disabled{background:#c9c9c9;color:#11111694}.map-placeholder{background:linear-gradient(45deg,rgba(17,17,22,.09) 25%,transparent 25% 50%,rgba(17,17,22,.09) 50% 75%,transparent 75%),#11a9c9;background-size:28px 28px}.footer{background:#111116;border-top:8px solid #ff40b2;box-shadow:0 -8px #b7ff3d;color:#fff56b}.footer h2,.footer p{color:#fff56b}.footer .eyebrow{color:#ff40b2}.hero-copy,.section-heading,.form-card,.sticker-card,.admin-booking-card,.contact-info,.contact-form,.cancel-card{min-width:0}.navbar,.hero,.section,.page-section{width:min(100%,1180px)}input,select,textarea{max-width:100%;min-width:0}.rdp-root{width:min(100%,370px)}.rdp-months,.rdp-month,.rdp-table{max-width:100%}@media(min-width:1280px){.hero,.section,.page-section{max-width:1240px}.hero{grid-template-columns:minmax(0,1.12fr) minmax(360px,480px)}.services-grid{grid-template-columns:repeat(4,minmax(220px,1fr))}}@media(max-width:900px){.navbar{align-items:flex-start;flex-direction:column;gap:1rem}.nav-links{justify-content:flex-start;width:100%}.hero,.about-layout,.contact-layout{grid-template-columns:1fr}.hero{min-height:auto}.hero-art{justify-self:center;max-width:420px;width:100%}.hero-copy{text-align:center}.hero-actions{justify-content:center}.services-grid,.gallery-grid,.price-grid,.add-on-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer,.form-footer,.admin-dashboard-header{align-items:flex-start;flex-direction:column}.admin-header-actions{justify-content:flex-start}.admin-calendar-dashboard{grid-template-columns:1fr}.admin-selected-day{position:static}.admin-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.navbar{align-items:center;border-left:0;border-radius:0 0 24px 24px;border-right:0;flex-direction:row;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.nav-toggle{display:inline-flex}.nav-links{align-items:stretch;display:none;flex-basis:100%;flex-direction:column;gap:.6rem;width:100%}.nav-links.open{display:flex}.nav-link{font-size:.95rem}.navbar .nav-link{flex:none;text-align:center;width:100%}.wavy-section{border-radius:32px;margin-top:1rem}.hero,.section,.page-section{padding-left:.9rem;padding-right:.9rem}.hero h1{font-size:clamp(3rem,18vw,5rem);text-shadow:3px 3px 0 #ff40b2,6px 6px 0 #fff200,9px 9px 0 #b7ff3d}.hero-tagline{font-size:1.12rem}.hero-art{max-width:360px}.hero-photo{height:82%;width:82%}.hero-actions,.callout{align-items:stretch;flex-direction:column}.services-grid,.gallery-grid,.form-grid,.form-grid.compact,.price-grid,.add-on-grid,.time-slot-grid,.home-highlight-grid,.admin-booking-grid,.cancel-booking-details{grid-template-columns:1fr}.home-highlight-card.highlight-wide{grid-column:auto}.admin-booking-header,.admin-card-actions,.admin-header-actions{align-items:stretch;flex-direction:column}.filter-chip,.admin-action{width:100%}.gallery-card figcaption{align-items:flex-start;flex-direction:column}.button{width:100%}}@media(max-width:430px){.navbar{padding:.8rem}.brand-logo{height:76px;width:76px}.nav-links{gap:.45rem}.nav-toggle{padding:.5rem .75rem}.navbar .nav-link{padding:.55rem .75rem}.hero,.section,.page-section{padding-left:.75rem;padding-right:.75rem}.wavy-section,.sticker-card,.form-card,.price-card,.service-card,.gallery-card,.admin-booking-card,.cancel-card{border-width:3px;border-radius:22px}.hero{gap:1.5rem}.hero h1{font-size:clamp(2.65rem,17vw,4rem)}.section-heading h1,.section-heading h2,.about-copy h1,.admin-login-card h1,.admin-shell h1,.admin-dashboard-header h1,.cancel-card h1{font-size:clamp(2.05rem,13vw,3rem)}.home-highlight-card,.service-card,.price-card,.form-card,.admin-booking-card,.contact-info,.cancel-card{padding:1rem}.price-tiers p,.admin-booking-grid p,.cancel-booking-details p,.contact-list p{gap:.35rem}.time-slot{min-height:56px}.footer{padding:2rem 1rem}}@media(max-width:360px){.hero h1{font-size:2.35rem}.hero-tagline,.section-heading p:not(.eyebrow),.home-highlight-card p,.about-copy p{font-size:.98rem}.button,.time-slot,input,select,textarea{font-size:.95rem}}.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}
