
:root{--pink:#db5682;--dark:#2a1c24;--muted:#776a71;--light:#fff8f8;--blush:#ffedf2;--line:#efdce2;--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--light);color:var(--dark);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,.brand{font-family:'Playfair Display',serif;font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(3.4rem,7vw,7.5rem);line-height:1.03;margin:20px 0}h2{font-size:clamp(2.6rem,5vw,5rem);line-height:1.1;margin:15px 0 24px}h3{font-size:1.7rem;margin:12px 0}p{line-height:1.8}.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;font-weight:700;color:#b9426b}.shell{max-width:1320px;margin:auto;padding:0 clamp(20px,4vw,58px)}.header{height:86px;position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,60px);transition:.35s}.header.scrolled{background:#fff9f9eF;backdrop-filter:blur(18px);box-shadow:0 5px 25px #46263210;height:74px}.brand{font-size:1.75rem;line-height:.9;display:flex;align-items:center;gap:12px;white-space:nowrap}.brand small{display:block;font:600 .55rem 'DM Sans';letter-spacing:.29em;margin-top:8px}.paw{color:var(--pink);font-size:2rem}.nav{display:flex;align-items:center;gap:clamp(12px,2vw,32px);font-size:.85rem;font-weight:600}.nav a:hover,.nav a.active{color:var(--pink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--pink);border:1px solid var(--pink);color:white;padding:16px 27px;border-radius:100px;font-weight:700;font-size:.85rem;transition:transform .3s,box-shadow .3s,background .3s}.btn:hover{transform:translateY(-4px);box-shadow:0 14px 30px #d95c8050}.btn.outline{background:transparent;color:var(--dark);border-color:#b99aa6}.btn.outline:hover{background:white}.menu-btn{display:none;border:1px solid var(--line);background:white;border-radius:50%;width:48px;height:48px;font-size:1.3rem}.hero{min-height:94svh;display:grid;align-items:center;padding:130px 0 90px;background:radial-gradient(circle at 75% 45%,#f9b9cf 0%,transparent 45%),linear-gradient(120deg,#fff9f8,#fff0f3 55%,#f6cad8);overflow:hidden;position:relative}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5%}.hero em{color:var(--pink);font-weight:400}.hero p{max-width:470px;font-size:1.07rem}.hero-image{height:min(65vw,620px);width:100%;border-radius:48% 48% 32% 32% / 40% 40% 18% 18%;overflow:hidden;box-shadow:0 35px 100px #b94f7840;position:relative}.hero-image img{width:100%;height:100%;object-position:center}.hero-image:after{content:'For the pets we love most';position:absolute;bottom:22px;left:22px;background:#fff9;padding:14px 24px;border-radius:30px;font-family:'Playfair Display';font-size:1.15rem}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.trust{display:flex;gap:25px;flex-wrap:wrap;margin-top:28px;font-size:.78rem;font-weight:700}.trust span:before{content:'✦';color:var(--pink);margin-right:8px}.ribbon{background:var(--pink);color:white;overflow:hidden;padding:18px 0;white-space:nowrap;font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.ribbon-inner{width:max-content;animation:marquee 38s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}section.section{padding:clamp(75px,10vw,145px) 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.photo-arch{border-radius:180px 180px 35px 35px;overflow:hidden;aspect-ratio:4/5;background:#f3ceda}.photo-arch img{width:100%;height:100%}.soft{background:#fff0f3}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.card{border-radius:var(--radius);background:white;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 50px -38px #4a1a29aa;transition:transform .4s,box-shadow .4s}.card:hover{transform:translateY(-9px);box-shadow:0 24px 55px -32px #4a1a2970}.card img{height:240px;width:100%;transition:transform .7s}.card:hover img{transform:scale(1.06)}.card-body{padding:25px}.card p{font-size:.88rem;color:var(--muted)}.arrow{color:var(--pink);font-weight:700}.banner{background:var(--dark);color:white;border-radius:38px;padding:clamp(36px,6vw,80px);display:flex;align-items:center;justify-content:space-between;gap:30px}.banner p{color:#e4cbd5}.page-hero{padding:175px 0 95px;background:radial-gradient(circle at 85% 30%,#f9c3d3,transparent 48%),#fff2f5}.page-hero p{max-width:650px}.grid-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-gallery img{width:100%;height:330px;border-radius:24px;cursor:zoom-in}.footer{background:#241820;color:white;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:45px}.footer a{display:block;margin:12px 0;color:#eadbe0;font-size:.85rem}.footer a:hover{color:#ffa6c2}.footer p{color:#dccbd0;font-size:.86rem}.copyright{border-top:1px solid #ffffff25;margin-top:50px;padding-top:25px;font-size:.72rem;color:#cdb9c1}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.float{animation:float 6s ease-in-out infinite}@keyframes float{50%{transform:translateY(-14px)}}.form-panel{background:white;border:1px solid var(--line);border-radius:30px;padding:clamp(22px,4vw,46px);box-shadow:0 25px 60px #4a1a2912}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.field{display:flex;flex-direction:column;gap:8px;margin:10px 0}.field label{font-size:.82rem;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:15px;border:1px solid #e9d5dd;border-radius:13px;background:#fffafa;outline-color:var(--pink);color:var(--dark)}.stepper{display:flex;gap:10px;margin:22px 0 30px}.step{height:5px;flex:1;border-radius:20px;background:#f2dce3}.step.on{background:var(--pink)}.choices{display:flex;flex-wrap:wrap;gap:10px}.choice{border:1px solid #ebcdd8;border-radius:16px;padding:13px 17px;background:white}.choice.selected{background:#ffe7ef;border-color:var(--pink);color:#a8325d}.notice{background:#fff1f5;border:1px solid #efc9d8;border-radius:18px;padding:17px;font-size:.84rem;color:#7b455b}.summary{padding:20px;border-radius:18px;background:#fff4f7;margin:20px 0}.summary div{display:flex;justify-content:space-between;gap:15px;margin:9px 0}.booking-layout{display:grid;grid-template-columns:1.5fr .75fr;gap:30px;align-items:start}.summary-side{position:sticky;top:110px}.faq-item{border-bottom:1px solid var(--line);padding:18px 0}.faq-item summary{font-weight:700;cursor:pointer}.faq-item p{color:var(--muted)}.mobile-book{display:none}.filters{display:flex;gap:10px;margin:24px 0;flex-wrap:wrap}.filter{background:white;border:1px solid #eacbd6;border-radius:50px;padding:11px 20px}.filter.active{background:var(--pink);color:white}.lightbox{position:fixed;inset:0;background:#140b11e8;display:none;align-items:center;justify-content:center;z-index:999;padding:30px}.lightbox.show{display:flex}.lightbox img{max-height:85vh;max-width:95vw;object-fit:contain}.lightbox button{position:absolute;right:24px;top:20px;background:white;border:0;border-radius:50%;padding:10px 15px}.legal{max-width:800px;margin:auto}.legal h2{font-size:2rem;margin-top:45px}.legal p{color:var(--muted)}@media(max-width:950px){.nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff9fa;padding:24px;flex-direction:column;align-items:stretch;box-shadow:0 15px 30px #33202b1a}.nav.open{display:flex}.menu-btn{display:block}.hero-grid,.split,.booking-layout{grid-template-columns:1fr}.hero-image{height:480px;max-width:650px;margin:auto}.cards{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.summary-side{position:static}.mobile-book{display:block;position:fixed;bottom:12px;left:15px;right:15px;z-index:90;text-align:center;box-shadow:0 8px 30px #a84b6570}.header{height:74px}}@media(max-width:620px){h1{font-size:3.45rem}.hero{padding:120px 0 70px}.hero-image{height:420px}.cards,.grid-gallery,.form-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.banner{display:block}.grid-gallery img{height:280px}.trust{gap:12px}.brand{font-size:1.35rem}.brand small{font-size:.43rem}.page-hero{padding:130px 0 70px}.section{padding:70px 0!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
