.hero{text-align:center;padding:28px 0 8px}.hero-photo{aspect-ratio:1;border-radius:var(--radius-lg);background:linear-gradient(145deg, var(--pink-soft), var(--pink-primary));width:100%;max-width:320px;box-shadow:var(--shadow);border:6px solid var(--white);justify-content:center;align-items:center;margin:0 auto 18px;display:flex;overflow:hidden}.hero-photo img{object-fit:cover;width:100%;height:100%;display:block}.hero-photo .photo-placeholder{text-align:center;color:var(--white)}.hero-photo .photo-placeholder .paw{filter:drop-shadow(0 4px 8px #0000001a);margin-bottom:8px;font-size:56px;display:block}.hero-photo .photo-placeholder p{font-family:"Baloo 2",sans-serif;font-size:15px;font-weight:700;line-height:1.4}.hero .name{color:var(--pink-deep);letter-spacing:.5px;font-size:40px;font-weight:800}.hero .tagline{color:var(--pink-dark);margin-top:6px;font-size:17px;font-weight:600}@media (width>=640px){.hero{padding-top:44px}.hero .name{font-size:48px}}.message{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow);margin-top:20px;padding:18px 20px}.message p{font-size:15.5px;font-weight:500;line-height:1.6}.gallery{margin-top:28px}.gallery h2{color:var(--pink-deep);margin-bottom:12px;padding-left:2px;font-size:22px;font-weight:700}.gallery-wrap{margin:0 -20px;padding:0 20px}.gallery-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:14px;padding-bottom:4px;display:flex;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{scroll-snap-align:center;aspect-ratio:4/5;border-radius:var(--radius-md);background:linear-gradient(145deg, var(--pink-soft), var(--pink-primary));box-shadow:var(--shadow);flex:0 0 78%;justify-content:center;align-items:center;display:flex;overflow:hidden}.gallery-slide img{object-fit:cover;width:100%;height:100%;display:block}.gallery-dots{justify-content:center;gap:8px;margin-top:14px;display:flex}.gallery-dots .dot{background:var(--pink-soft);border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.gallery-dots .dot.active{background:var(--pink-dark);transform:scale(1.3)}@media (width>=640px){.gallery-slide{flex:0 0 44%}}.contact{margin-top:30px}.contact h2{color:var(--pink-deep);margin-bottom:12px;padding-left:2px;font-size:22px;font-weight:700}.contact-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:2px solid var(--pink-soft);padding:22px 20px 20px}.contact-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-soft);margin-top:14px;font-size:13px;font-weight:700}.contact-label:first-child{margin-top:0}.contact-value{color:var(--text);margin-top:4px;font-size:18px;font-weight:700;line-height:1.4}.contact-buttons{flex-direction:column;gap:12px;margin-top:20px;display:flex}.btn{border-radius:var(--radius-pill);justify-content:center;align-items:center;gap:8px;min-height:52px;padding:15px 18px;font-family:"Baloo 2",sans-serif;font-size:17px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 6px 16px #e8548c47}.btn:active{transform:scale(.97)}.btn-call{background:linear-gradient(135deg, var(--pink-primary), var(--pink-dark));color:var(--white)}.btn-map{background:var(--white);color:var(--pink-dark);border:2px solid var(--pink-primary);box-shadow:none}.footer{text-align:center;padding:24px 20px 36px}.footer p{color:var(--text-soft);font-size:13px;font-weight:600}:root{--pink-bg:#fff0f6;--pink-soft:#ffd9e8;--pink-primary:#ff7fae;--pink-dark:#e8548c;--pink-deep:#c93e73;--white:#fff;--cream:#fffbfc;--text:#6b3a52;--text-soft:#9a6b84;--shadow:0 8px 24px #e8548c2e;--radius-lg:28px;--radius-md:20px;--radius-pill:999px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(180deg, var(--pink-bg) 0%, var(--cream) 40%, var(--cream) 100%);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Quicksand,sans-serif}h1,h2{margin:0;font-family:"Baloo 2",Quicksand,sans-serif}p{margin:0}#root{max-width:480px;margin:0 auto;padding:0 20px 24px}@media (width>=640px){#root{max-width:560px;padding:0 24px 32px}}
