*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;-webkit-font-smoothing:antialiased}img,svg{max-width:100%;display:block}a{color:inherit}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#000;color:#fff;padding:.5rem 1rem}
:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}
[hidden]{display:none!important}
/* ✏️ EDITA: colores y fuentes */
:root{--bg:#fff7ec;--card:#fff;--ink:#14262b;--mute:#5d6b70;--pet:#14404a;--coral:#ff7a59;--sun:#ffc53d;--mint:#c8f0e0;--sky:#d6e6ff;--lav:#e6dcff;--wa:#1fa855;--r:28px;--disp:"Fredoka",system-ui,sans-serif;--sans:"Nunito",system-ui,sans-serif}
body{background:var(--bg);color:var(--ink);font:17px/1.6 var(--sans)}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.small{font-size:13px;color:var(--mute)}
h1,h2,h3{margin:0;font-family:var(--disp);font-weight:600;letter-spacing:-.01em;line-height:1.08}
h2{font-size:clamp(34px,4.4vw,54px);margin-bottom:26px}
.kick{display:inline-block;margin:0 0 14px;font:700 13px var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--coral)}
.ico{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--pet);color:#fff;text-decoration:none;border:2px solid var(--pet);border-radius:999px;padding:14px 26px;font:600 17px var(--disp);cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px #14404a88}
.btn.ghost{background:transparent;color:var(--pet)}.btn.sm{padding:10px 18px;font-size:15px}.btn.wide{width:100%}.btn.wa{background:var(--wa);border-color:var(--wa)}
.urg{margin:0;background:var(--coral);color:#fff;text-align:center;padding:9px 12px;font-size:14px;display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}
.urg a{color:#fff;font-weight:800;background:#ffffff2e;border-radius:99px;padding:2px 12px;text-decoration:none}
.pulse{width:9px;height:9px;border-radius:50%;background:#fff;animation:pl 1.6s infinite}@keyframes pl{50%{box-shadow:0 0 0 7px #fff0;opacity:.6}}
.nav{position:sticky;top:0;z-index:40;background:#fff7ece8;backdrop-filter:blur(12px)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:74px;gap:18px}
.logo{display:flex;align-items:center;gap:10px;font:700 30px var(--disp);text-decoration:none;color:var(--pet);margin:0}
.logo small{font:700 11px var(--sans);text-transform:uppercase;letter-spacing:.12em;background:var(--mint);border-radius:99px;padding:3px 9px;color:var(--pet);align-self:center}
.logo-ic{width:40px;height:40px;border-radius:14px;background:var(--coral);color:#fff;padding:7px;display:block;transform:rotate(-8deg)}
.logo-ic .ico{stroke-width:2.2}
.links{display:flex;gap:30px}.links a{text-decoration:none;font-weight:700;color:var(--mute)}.links a:hover{color:var(--pet)}
/* hero */
.hero{padding:40px 0 70px;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.status{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:99px;padding:7px 16px;font-weight:700;font-size:14px;margin:0 0 20px;box-shadow:0 4px 14px #14404a14}
.dot{width:10px;height:10px;border-radius:50%;background:var(--wa);box-shadow:0 0 0 4px #1fa85533}.dot.off{background:var(--coral);box-shadow:0 0 0 4px #ff7a5933}
h1{font-size:clamp(46px,6vw,80px);color:var(--pet);margin-bottom:22px}
.hl{position:relative;white-space:nowrap;color:var(--coral)}
.hl::after{content:"";position:absolute;left:-2%;right:-2%;bottom:.02em;height:.26em;background:var(--sun);z-index:-1;border-radius:99px;opacity:.8}
.lead{font-size:19px;color:var(--mute);max-width:46ch;margin:0 0 30px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.proof{display:flex;gap:34px;list-style:none;padding:0;margin:38px 0 0}.proof li{display:flex;flex-direction:column}.proof b{font:600 32px/1 var(--disp);color:var(--pet)}.proof span{font-size:14px;color:var(--mute)}
.hero-art{position:relative;aspect-ratio:1.08;max-width:560px;width:100%;justify-self:end}
.blob{position:absolute;inset:4% 2% 2% 6%;background:var(--mint);border-radius:58% 42% 52% 48%/48% 56% 44% 52%;animation:morph 12s ease-in-out infinite}
.blob::after{content:"";position:absolute;right:-4%;top:-2%;width:30%;height:30%;background:var(--sun);border-radius:50%}
@keyframes morph{50%{border-radius:44% 56% 40% 60%/58% 42% 58% 42%}}
.pets{position:absolute;inset:6% 0 0 0;width:100%;height:94%}
.heart{transform-origin:430px 140px;animation:beat 1.4s ease-in-out infinite}@keyframes beat{30%{transform:scale(1.15)}}
.catg{transform-origin:400px 300px;animation:tilt 5s ease-in-out infinite}@keyframes tilt{50%{transform:rotate(-4deg)}}
.chip{position:absolute;display:flex;gap:10px;align-items:center;background:#fff;border-radius:18px;padding:10px 16px 10px 10px;box-shadow:0 16px 34px -12px #14404a55;font-size:14px;line-height:1.3}
.chip p{margin:0}.chip span{width:40px;height:40px;border-radius:12px;padding:9px;flex:none}
.c1{left:-2%;top:16%}.c1 span{background:var(--lav);color:#5a3fb0}
.c2{right:-2%;bottom:8%;animation:fl 5s ease-in-out infinite}.c2 span{background:var(--sky);color:#2456a6}
@keyframes fl{50%{transform:translateY(-10px)}}
/* servicios */
.svc{padding:90px 0;background:#fff;border-radius:48px 48px 0 0}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.b{border-radius:var(--r);padding:30px;background:var(--bg);position:relative;overflow:hidden}
.b h3{font-size:26px;margin:18px 0 8px}.b p{margin:0;color:var(--mute)}
.b-ic{display:block;width:56px;height:56px;border-radius:18px;padding:13px;background:#fff;color:var(--pet)}
.b1{grid-column:span 3;grid-row:span 2;background:var(--pet);color:#fff}.b1 p{color:#cfe3e5}.b1 .b-ic{background:var(--sun)}
.b1 h3{font-size:36px;margin-top:80px}
.b-p{margin-top:22px!important;font:600 22px var(--disp);color:var(--sun)!important}
.b1::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:34px solid #ffffff12}
.b2{grid-column:span 3;background:var(--lav)}.b3{grid-column:span 3;background:var(--mint)}.b4{grid-column:span 3;background:var(--sky)}.b5{grid-column:span 3;background:#ffe3d6}
/* spa */
.spa{padding:90px 0;background:#fff}
.spa-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.spa-notes{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.spa-notes li{padding-left:34px;position:relative;font-weight:600}.spa-notes li::before{content:"✓";position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--mint);color:var(--pet);display:grid;place-items:center;font-size:13px}
.spa-card{background:var(--bg);border-radius:32px;padding:26px;box-shadow:0 30px 60px -30px #14404a55}
.sz-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:#fff;border-radius:20px;padding:6px;margin-bottom:12px}
.sz-tabs button{border:0;background:none;border-radius:15px;padding:10px 4px;font:600 16px var(--disp);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;line-height:1.2}
.sz-tabs small{font:600 11px var(--sans);color:var(--mute)}
.sz-tabs button[aria-selected=true]{background:var(--pet);color:#fff}.sz-tabs button[aria-selected=true] small{color:#cfe3e5}
.spa-list{list-style:none;margin:0 0 16px;padding:0}
.spa-list li{display:flex;align-items:center;gap:14px;padding:14px 6px;border-bottom:2px dashed #14404a1c}
.spa-list .ico{width:40px;height:40px;padding:9px;border-radius:12px;background:#fff;color:var(--coral);flex:none}
.spa-list div{flex:1}.spa-list b{display:block;font-weight:800}.spa-list small{color:var(--mute)}
.spa-list span{font:600 21px var(--disp);color:var(--pet)}
/* agenda */
.book{padding:90px 0;background:var(--pet);color:#fff;border-radius:48px}
.book .kick{color:var(--sun)}
.book-in{display:grid;grid-template-columns:1.5fr .8fr;gap:24px;align-items:start}
.wizard{background:#fff;color:var(--ink);border-radius:32px;padding:30px;min-height:340px;position:relative}
.prog{list-style:none;display:flex;gap:6px;padding:0;margin:0 0 26px;counter-reset:s}
.prog li{flex:1;font-size:12px;font-weight:800;color:var(--mute);text-transform:uppercase;letter-spacing:.06em;padding-top:12px;border-top:5px solid #14404a1a;counter-increment:s}
.prog li::before{content:counter(s) ". "}
.prog li.on{color:var(--pet);border-color:var(--coral)}.prog li.ok{border-color:var(--pet)}
.step h3{font-size:28px;margin-bottom:18px;color:var(--pet)}
.esp{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.esp button{border:2px solid #14404a1f;background:var(--bg);border-radius:24px;padding:26px 10px;font:600 20px var(--disp);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:.2s}
.esp .em{font-size:54px;line-height:1}
.esp button:hover,.esp button[aria-pressed=true]{border-color:var(--coral);background:#fff1eb;transform:translateY(-3px)}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opt{display:flex;align-items:center;gap:14px;text-align:left;border:2px solid #14404a1f;background:var(--bg);border-radius:20px;padding:14px;cursor:pointer;font:inherit;color:var(--ink);transition:.2s}
.opt .ico{width:44px;height:44px;padding:10px;border-radius:14px;background:#fff;color:var(--coral);flex:none}
.opt b{display:block;font-weight:800;line-height:1.25}.opt small{color:var(--mute);font-size:14px}
.opt:hover,.opt[aria-pressed=true]{border-color:var(--coral);background:#fff1eb}
.dog{flex:none;width:48px;height:48px;border-radius:50%;background:var(--sun) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314404a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7' cy='9' r='2'/%3E%3Ccircle cx='12' cy='6' r='2'/%3E%3Ccircle cx='17' cy='9' r='2'/%3E%3Cpath d='M12 12c-4 0-6 4-6 6s2 3 6 1c4 2 6 1 6-1s-2-6-6-6Z'/%3E%3C/svg%3E") center/50% no-repeat}
.dog-m{background-size:68%}.dog-l{background-size:86%}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
.days button{flex:none;width:72px;border:2px solid #14404a1f;background:var(--bg);border-radius:18px;padding:10px 0;cursor:pointer;display:flex;flex-direction:column;align-items:center;font:inherit;color:var(--ink)}
.days b{font:600 26px/1.1 var(--disp)}.days small{font-size:12px;font-weight:700;color:var(--mute);text-transform:uppercase}
.days button[aria-pressed=true]{background:var(--pet);border-color:var(--pet);color:#fff}.days button[aria-pressed=true] small{color:#cfe3e5}
.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px;margin-top:14px}
.times button{border:2px solid #14404a1f;background:#fff;border-radius:14px;padding:10px 0;font:700 15px var(--sans);cursor:pointer;color:var(--ink)}
.times button:hover:not(:disabled),.times button[aria-pressed=true]{border-color:var(--coral);background:#fff1eb}
.times button:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.hint{grid-column:1/-1;color:var(--mute);margin:6px 0}
.bform{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bform label{display:grid;gap:6px;font-weight:800;font-size:14px}
.bform input,.bform textarea{font:600 16px var(--sans);border:2px solid #14404a1f;border-radius:14px;padding:12px 14px;background:var(--bg);color:var(--ink);resize:vertical}
.bform input:focus,.bform textarea:focus{border-color:var(--pet);outline:0}
.full{grid-column:1/-1}.err{color:#c2381a;margin:0;font-weight:700;font-size:14px}
.done{margin:0;background:var(--mint);border-radius:14px;padding:12px 14px;font-weight:700}
.back{margin-top:20px;border:0;background:none;color:var(--mute);font:800 14px var(--sans);cursor:pointer;padding:6px 0}.back:hover{color:var(--pet)}.book-in>*{min-width:0}
.sum-card{background:#ffffff14;border:1px solid #ffffff2a;border-radius:32px;padding:28px;position:sticky;top:100px}
.sum-card h3{font-size:26px;margin-bottom:14px}
.sum-card ul{list-style:none;margin:0 0 16px;padding:0}
.sum-card li{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed #ffffff33;font-size:15px}
.sum-card li span{color:#cfe3e5}.sum-card li b{text-align:right}
.sum-card .tot{border:0;padding-top:16px}.sum-card .tot b{font:600 24px var(--disp);color:var(--sun)}
.sum-card .small{color:#b7cfd2;margin:0}
/* vacunas */
.vac{padding:100px 0}
.vac-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.vform{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:14px}
.seg{display:flex;background:#fff;border-radius:99px;padding:5px;box-shadow:0 4px 14px #14404a14}
.seg button{border:0;background:none;border-radius:99px;padding:10px 16px;font:600 15px var(--disp);cursor:pointer;color:var(--ink)}
.seg button[aria-pressed=true]{background:var(--pet);color:#fff}
.vform label{display:grid;gap:4px;font-weight:800;font-size:13px}
.vform input{font:700 16px var(--sans);border:2px solid #14404a24;border-radius:14px;padding:10px 12px;background:#fff;color:var(--ink)}
.vcard{background:#fff;border-radius:32px;padding:30px;box-shadow:0 30px 60px -30px #14404a55}
.vage{margin:0 0 12px;font-weight:800;color:var(--coral)}
.vlist{list-style:none;margin:0 0 20px;padding:0 0 0 22px;border-left:3px dotted #14404a33}
.vlist li{position:relative;display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center;padding:11px 0}
.vlist li::before{content:"";position:absolute;left:-31px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--pet)}
.vlist time{font:600 16px var(--disp);color:var(--pet)}.vlist small{font-size:12px;font-weight:800;color:var(--mute);text-transform:uppercase}
.vlist .past{opacity:.5}.vlist .past::before{background:var(--pet)}
.vlist .next{background:#fff1eb;border-radius:14px;margin-left:-12px;padding-left:12px;padding-right:12px}.vlist .next::before{left:-19px;border-color:var(--coral);background:var(--coral)}
.vlist .next small{color:var(--coral)}
.vbtns{display:flex;gap:10px;flex-wrap:wrap}
/* equipo */
.team{padding:40px 0 90px}
.t-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.t-grid article{background:#fff;border-radius:var(--r);padding:20px 20px 24px;text-align:center}
.av{aspect-ratio:1;border-radius:46% 54% 50% 50%/50% 46% 54% 50%;display:grid;place-items:center;font:700 44px var(--disp);color:#fff;margin-bottom:16px}
.av img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.a1{background:linear-gradient(140deg,var(--coral),#ffb08f)}.a2{background:linear-gradient(140deg,var(--pet),#3f8792)}.a3{background:linear-gradient(140deg,#8b6fe0,#c5b4ff)}.a4{background:linear-gradient(140deg,#e9a400,var(--sun))}
.t-grid h3{font-size:21px}.t-grid p{margin:4px 0 0;color:var(--mute);font-size:15px}
/* planes */
.plans{padding:90px 0;background:#fff;border-radius:48px}
.p-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:center}
.plan{background:var(--bg);border-radius:32px;padding:32px;position:relative}
.plan h3{font-size:28px}.pp{font:600 44px var(--disp);color:var(--pet);margin:6px 0 14px}.pp small{font:700 15px var(--sans);color:var(--mute)}
.plan ul{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:8px}.plan li::before{content:"🐾 ";font-size:13px}
.plan.pop{background:var(--pet);color:#fff;padding:44px 32px;box-shadow:0 30px 60px -24px #14404aaa}.plan.pop .pp{color:var(--sun)}.plan.pop .pp small{color:#cfe3e5}.plan.pop .btn{background:var(--sun);border-color:var(--sun);color:var(--pet)}
.ribbon{position:absolute;top:-14px;left:32px;background:var(--coral);color:#fff;border-radius:99px;padding:4px 14px;font:700 13px var(--sans)}
/* reseñas, faq, visita */
.rev{padding:90px 0 40px}
.r-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
blockquote{margin:0;background:var(--sun);border-radius:32px;padding:34px;font:500 22px/1.4 var(--disp);color:var(--pet)}
blockquote:nth-child(2){background:var(--mint)}
blockquote p{margin:0 0 14px}cite{font:700 15px var(--sans);font-style:normal}
.faq{padding:60px 0}
.faq-in{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px}
details{background:#fff;border-radius:22px;padding:0 24px;margin-bottom:12px}
summary{cursor:pointer;list-style:none;font:600 19px var(--disp);padding:20px 0;display:flex;justify-content:space-between;gap:12px;color:var(--pet)}
summary::-webkit-details-marker{display:none}summary::after{content:"+";width:30px;height:30px;flex:none;border-radius:50%;background:var(--mint);display:grid;place-items:center}details[open] summary::after{content:"−"}
details p{margin:0 0 20px;color:var(--mute)}
.visit{padding:40px 0 100px}
.v-in{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.v-in h2{font-size:clamp(30px,3.4vw,42px);margin-bottom:12px}.v-in p{color:var(--mute);margin:0 0 22px}
.map{position:relative;aspect-ratio:1.5;border-radius:32px;overflow:hidden;background:#e3efe6}
.map i{position:absolute;background:#fff;border-radius:99px}
.r1{left:-10%;right:-10%;top:42%;height:22px;transform:rotate(-8deg)}.r2{top:-10%;bottom:-10%;left:38%;width:18px;transform:rotate(12deg)}.r3{left:-10%;right:-10%;top:76%;height:12px;transform:rotate(4deg)}
.map::before{content:"";position:absolute;left:8%;top:8%;width:24%;height:26%;background:#cfe7d4;border-radius:20px;box-shadow:300px 40px 0 #cfe7d4,140px 190px 0 -10px #d6e6ff}
.pin{position:absolute;left:45%;top:34%;width:60px;height:60px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--coral);padding:14px;color:#fff;box-shadow:0 12px 24px -8px #ff7a59}
.pin .ico{transform:rotate(45deg);stroke-width:2.2}
.foot{background:var(--pet);color:#fff;padding:36px 0}
.foot-in{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:14px}.foot p{margin:0}.foot .logo{color:#fff;font-size:24px}.foot .logo-ic{width:32px;height:32px;padding:5px}.foot .small{color:#b7cfd2}
.fab{position:fixed;right:20px;bottom:20px;width:60px;height:60px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 12px 26px -8px #1fa855;z-index:30}
.fab svg{width:31px;fill:#fff}
/* responsive */
@media (max-width:980px){.hero-in,.spa-in,.vac-in,.v-in,.book-in{grid-template-columns:1fr}.hero-art{justify-self:center}.links{display:none}.t-grid{grid-template-columns:1fr 1fr}.p-grid{grid-template-columns:1fr}.faq-in{grid-template-columns:1fr;gap:20px}.sum-card{position:static}.b1{grid-column:span 6;grid-row:auto}.b1 h3{margin-top:20px}}
@media (max-width:640px){
  .wrap{padding:0 18px}.hide-s{display:none}
  .hero{padding:26px 0 50px}.lead{font-size:17px}.proof{gap:22px}.proof b{font-size:26px}
  .chip{font-size:12px;padding:8px 12px 8px 8px}.chip span{width:32px;height:32px;padding:7px}
  .bento{grid-template-columns:1fr}.b1,.b2,.b3,.b4,.b5{grid-column:auto}.b{padding:24px}
  .svc,.spa,.book,.plans{padding:64px 0;border-radius:32px}
  .sz-tabs{grid-template-columns:1fr 1fr}
  .wizard{padding:22px 18px;border-radius:26px}.prog li{font-size:0;padding-top:0}.prog li::before{content:none}
  .esp{gap:8px}.esp button{padding:18px 4px;font-size:17px}.esp .em{font-size:40px}
  .opts,.bform{grid-template-columns:1fr}
  .vlist li{grid-template-columns:1fr;gap:0}.vlist li::before{top:16px}
  .r-grid{grid-template-columns:1fr}blockquote{font-size:19px;padding:26px}
  .t-grid{gap:12px}.t-grid article{padding:14px 12px 18px}.av{font-size:34px}.t-grid h3{font-size:17px}.t-grid p{font-size:13px}
  .logo{font-size:26px}.logo small{display:none}
}
