:root{--teal:#05afa1;--deep:#04796f;--dark:#0b3b37;--orange:#f58a1f;--orange-d:#e17707;--ink:#17302e;--muted:#5f7774;--bg:#f4f9f8;--card:#fff;--line:#dcebe8;--r:20px;--sh:0 10px 30px rgba(8,80,72,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);background:var(--bg);font:16px/1.6 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Manrope,Inter,sans-serif;letter-spacing:-.03em;line-height:1.15;margin:0}
button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}img{max-width:100%}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.shell{max-width:1180px;margin:auto;padding:0 28px}
.topbar{background:var(--teal);position:sticky;top:0;z-index:30;box-shadow:0 4px 20px rgba(4,121,111,.25)}
.nav{height:84px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand{height:62px;width:auto;display:block}
.navlinks{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600;color:#fff}
.navlinks a{opacity:.92;padding:6px 0;border-bottom:2px solid transparent;transition:.2s}.navlinks a:hover{opacity:1;border-color:#fff}
.nav-admin{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;font-weight:700;font-size:13px;padding:9px 16px;border-radius:999px;transition:.2s}.nav-admin:hover{background:#fff;color:var(--deep)}
.pill-button{background:var(--orange);color:#fff;border:0;border-radius:14px;padding:15px 26px;display:inline-flex;align-items:center;justify-content:center;gap:14px;font-weight:700;box-shadow:0 10px 22px rgba(245,138,31,.32);transition:.2s}
.pill-button:hover{background:var(--orange-d);transform:translateY(-2px)}
.top-cta{background:#fff;color:var(--deep);box-shadow:none;padding:12px 20px;font-size:14px}.top-cta:hover{background:#fff7ee;color:var(--orange-d)}
.eyebrow{display:inline-block;font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--deep);text-transform:uppercase}.orange,.orange-dot{color:var(--orange)}
.hello{display:none}
.hero{margin-top:32px;background:linear-gradient(120deg,var(--deep),var(--teal));border-radius:32px;display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:center;position:relative;overflow:hidden;color:#fff;box-shadow:var(--sh)}
.hero::before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-160px;background:rgba(255,255,255,.08);border-radius:50%}
.hero-copy{padding:64px 0 64px 60px;position:relative;z-index:2}
.hero-label{display:inline-block;background:rgba(255,255,255,.16);padding:7px 14px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.12em}
.hero h2{font-size:clamp(34px,4.6vw,58px);margin:22px 0 16px}.hero h2 em{font-style:normal;color:#ffd08a}
.hero p{max-width:440px;color:#e3fbf6;font-size:17px;margin:0 0 28px}
.hero-trust{font-size:13px;color:#d4f6ee;margin-top:26px}.mini-paw{color:#ffd08a;margin-right:6px;font-size:18px}
.hero-photo{position:relative;margin:34px 40px 34px 0;aspect-ratio:1/1.02;border-radius:26px;overflow:hidden;border:6px solid rgba(255,255,255,.9);box-shadow:0 20px 40px rgba(0,50,45,.3);transform:rotate(2deg)}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.photo-sticker{position:absolute;left:14px;bottom:14px;background:#fff;color:var(--orange);border-radius:14px;padding:9px 14px;font-weight:800;box-shadow:0 6px 18px rgba(0,0,0,.18)}.photo-sticker small{color:var(--ink);font-size:12px;font-weight:700}
.hero-deco{position:absolute;color:rgba(255,255,255,.35);font-size:30px}.deco-one{left:48%;top:26px}.deco-two{left:44%;bottom:30px}
.section{padding:84px 0 20px}
.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}
.section-top h2,.booking-heading h2{font-size:clamp(28px,3.4vw,42px);margin-top:8px}.section-top p,.booking-heading p{color:var(--muted);margin:0;max-width:380px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-tile{position:relative;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px 24px;display:flex;flex-direction:column;gap:6px;box-shadow:0 4px 14px rgba(8,80,72,.05);transition:.25s;color:var(--ink)}
.service-tile:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:var(--teal)}
.tile-art{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;font-size:28px;margin-bottom:12px}
.art-a{background:#dcf5f1}.art-b{background:#ffe9d1}.art-c{background:#e2f0ff}.art-d{background:#ffe3ea}
.tile-name{font:800 19px Manrope,sans-serif;letter-spacing:-.02em}.tile-desc{color:var(--muted);font-size:14px}
.tile-arrow{position:absolute;right:20px;top:22px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--bg);color:var(--deep);font-weight:700;transition:.25s}.service-tile:hover .tile-arrow{background:var(--orange);color:#fff}
.booking-section{padding:84px 0 20px}.booking-heading{text-align:center;max-width:620px;margin:0 auto 34px}.booking-heading p{margin:12px auto 0;max-width:none}
.steps{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:22px}.steps span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px 7px 8px;font-size:13px;font-weight:600;color:var(--deep)}.steps b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font-size:12px;margin-right:6px}
.booking-card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:38px;max-width:860px;margin:auto;box-shadow:var(--sh)}
.card-heading{display:flex;align-items:center;gap:16px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line)}.card-heading h3{font-size:22px}.card-heading p{margin:2px 0 0;color:var(--muted);font-size:14px}
.card-icon{width:54px;height:54px;border-radius:16px;background:#dcf5f1;display:grid;place-items:center;font-size:26px}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}
label{font-size:13px;font-weight:700;color:var(--dark)}
input,select,textarea{width:100%;border:1.5px solid var(--line);background:#fbfefd;border-radius:12px;padding:13px 14px;color:var(--ink);transition:.2s;min-height:48px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(5,175,161,.15);background:#fff}textarea{resize:vertical}
.submit-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.submit-row small{display:block;color:var(--muted)}
.status{display:none;margin-top:18px;padding:14px 16px;border-radius:12px;background:#e3f7f1;color:var(--deep);font-weight:600;font-size:14px}.status.error{background:#ffe9e6;color:#b3321f}
.closing{margin:90px 0 20px;background:var(--dark);color:#fff;border-radius:28px;padding:50px 56px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.closing h2{font-size:clamp(26px,3vw,38px);margin-top:8px}.closing h2 span{color:#ffd08a}.closing .eyebrow{color:#7fe3d7}
.footer{margin-top:50px;padding:30px 20px;text-align:center;font-size:14px;color:var(--muted);border-top:1px solid var(--line);background:#fff}.footer span{display:block;font-size:12px;opacity:.75}
.bottomnav{display:none}
.admin{display:none;padding-bottom:30px}.adminhead{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:40px 0 22px}.adminhead h2{font-size:34px;margin:6px 0}.adminhead p{margin:0;color:var(--muted)}
.soft-button{background:#fff;border:1.5px solid var(--line);color:var(--deep);border-radius:12px;padding:11px 18px;font-weight:700}.soft-button:hover{border-color:var(--teal)}
.warning{background:#fff6e5;border:1px solid #ffd99a;color:#8a5200;padding:13px 16px;border-radius:12px;font-size:14px;margin-bottom:22px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}.stat span{color:var(--muted);font-size:14px;font-weight:600}.stat strong{display:block;font:800 36px Manrope,sans-serif;color:var(--deep);margin-top:4px}
.admincols{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:start}
.admin-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 4px 14px rgba(8,80,72,.05)}.admin-panel h4{margin:22px 0 12px}
.panel-head{display:flex;gap:14px;align-items:center;margin-bottom:20px}.panel-head h3{font-size:20px}.panel-head p{margin:0;color:var(--muted);font-size:14px}.panel-emoji{width:46px;height:46px;border-radius:14px;background:#dcf5f1;display:grid;place-items:center;font-size:22px}
.settings{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:6px}.admin-panel .pill-button{margin-top:18px}.filter-field{margin-bottom:16px}
.appointment{display:flex;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:12px;background:#fbfefd}.appointment p{margin:3px 0;font-size:14px;color:var(--muted)}.appointment strong{font-size:16px}
.tag{display:inline-block;margin-top:6px;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700}.tag.pending{background:#fff1d6;color:#9a6200}.tag.confirmed{background:#dcf5e8;color:#16774a}.tag.rejected{background:#ffe3e0;color:#b3321f}
.actions{display:flex;flex-direction:column;gap:8px}.actions button{border:0;border-radius:10px;padding:10px 16px;font-weight:700;font-size:14px}.accept{background:var(--teal);color:#fff}.reject{background:#ffe9e6;color:#b3321f}
@media(max-width:960px){.service-grid{grid-template-columns:repeat(2,1fr)}.admincols{grid-template-columns:1fr}.hero-copy{padding-left:40px}.navlinks a{display:none}}
@media(max-width:700px){
body{padding-bottom:76px;font-size:15px}.shell{padding:0 16px}
.nav{height:70px;justify-content:center}.brand{height:52px}.navlinks,.top-cta{display:none}
.hero{grid-template-columns:1fr;border-radius:24px;margin-top:18px;gap:0}.hero-copy{padding:36px 24px 10px;text-align:center}.hero p{margin-left:auto;margin-right:auto;font-size:16px}.hero-cta{width:100%}
.hero-photo{margin:20px 24px 28px;transform:none;aspect-ratio:4/3.4}.hero-deco{display:none}
.section,.booking-section{padding-top:56px}.section-top{flex-direction:column;align-items:flex-start}
.service-grid{gap:12px}.service-tile{padding:18px 16px}.tile-art{width:50px;height:50px;font-size:24px}.tile-name{font-size:16px}.tile-desc{font-size:13px}.tile-arrow{right:12px;top:14px;width:28px;height:28px}
.booking-card{padding:22px 18px;border-radius:22px}.formgrid,.settings{grid-template-columns:1fr}.submit-row{flex-direction:column;align-items:stretch;text-align:center}
input,select,textarea{font-size:16px}
.closing{flex-direction:column;text-align:center;padding:36px 22px;margin-top:60px}.closing .pill-button{width:100%}
.stats{gap:8px}.stat{padding:14px 12px}.stat strong{font-size:28px}.stat span{font-size:12px}.adminhead{flex-direction:column;align-items:flex-start}.appointment{flex-direction:column}.actions{flex-direction:row}.actions button{flex:1}
.bottomnav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(8,80,72,.1);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))}
.bottomnav button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:700;color:var(--muted);padding:6px 0}.bottomnav button span{font-size:19px;color:var(--teal)}.bottomnav button:active{color:var(--orange)}
}
/* v2.3 — serviços coloridos + banner compacto no celular */
.service-tile{border:0;color:#fff;min-height:210px;justify-content:flex-end;overflow:hidden;box-shadow:0 10px 24px rgba(8,80,72,.14)}
.service-tile:nth-child(1){background:linear-gradient(145deg,#05afa1,#04796f)}
.service-tile:nth-child(2){background:linear-gradient(145deg,#ffa53d,#e9720a)}
.service-tile:nth-child(3){background:linear-gradient(145deg,#4aa3f0,#2467c9)}
.service-tile:nth-child(4){background:linear-gradient(145deg,#ff7b9c,#e0446d)}
.service-tile::after{content:"";position:absolute;width:160px;height:160px;right:-50px;bottom:-60px;border-radius:50%;background:rgba(255,255,255,.14)}
.service-tile:hover{border:0;box-shadow:0 18px 36px rgba(8,80,72,.24)}
.tile-art{position:absolute;left:22px;top:22px;width:68px;height:68px;border-radius:20px;background:rgba(255,255,255,.95)!important;font-size:34px;margin:0;box-shadow:0 6px 16px rgba(0,0,0,.15);transition:.25s}
.service-tile:hover .tile-art{transform:rotate(-8deg) scale(1.08)}
.tile-name{font-size:21px;color:#fff;position:relative;z-index:1}.tile-desc{color:rgba(255,255,255,.9);position:relative;z-index:1}
.tile-arrow{background:rgba(255,255,255,.25);color:#fff}.service-tile:hover .tile-arrow{background:#fff;color:var(--ink)}
@media(max-width:700px){
.hero{margin-top:12px}
.hero-copy{padding:22px 20px 6px}.hero-label{font-size:10px;padding:5px 11px}
.hero h2{font-size:30px;margin:12px 0 8px}.hero p{font-size:14.5px;margin-bottom:14px}
.hero-cta{padding:13px 20px}.hero-trust{display:none}
.hero-photo{margin:14px 20px 20px;aspect-ratio:16/9;border-width:4px;border-radius:20px}.hero-photo img{object-position:center 30%}
.service-tile{min-height:150px;padding:14px}.tile-art{left:14px;top:14px;width:46px;height:46px;font-size:23px;border-radius:14px}
.tile-name{font-size:16px}.tile-desc{font-size:12px;line-height:1.35}.service-tile::after{width:100px;height:100px}
.section,.booking-section{padding-top:44px}.section-top{margin-bottom:20px}
}
/* v2.4 — banner laranja com patinhas animadas */
.booking-heading{position:relative;overflow:hidden;max-width:none;margin:0 0 -70px;padding:56px 24px 110px;border-radius:32px;background:linear-gradient(120deg,#ffa53d,#ee7a0c);color:#fff;box-shadow:var(--sh)}
.booking-heading>*:not(.paw){position:relative;z-index:2}
.booking-heading .eyebrow{color:#fff3d9;background:rgba(255,255,255,.2);padding:6px 14px;border-radius:999px}
.booking-heading h2{color:#fff;max-width:620px;margin-left:auto;margin-right:auto}.booking-heading h2 .orange{color:#fff3d9}
.booking-heading p{color:#fff4e3;max-width:520px}
.booking-heading .steps span{background:rgba(255,255,255,.95);border-color:transparent}
.booking-card{position:relative;z-index:3}
.paw{position:absolute;z-index:1;width:46px;height:46px;opacity:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%23fff'%3E%3Cellipse cx='32' cy='42' rx='15' ry='12'/%3E%3Cellipse cx='12' cy='27' rx='6' ry='8' transform='rotate(-20 12 27)'/%3E%3Cellipse cx='25' cy='15' rx='6' ry='9' transform='rotate(-6 25 15)'/%3E%3Cellipse cx='39' cy='15' rx='6' ry='9' transform='rotate(6 39 15)'/%3E%3Cellipse cx='52' cy='27' rx='6' ry='8' transform='rotate(20 52 27)'/%3E%3C/svg%3E") center/contain no-repeat;animation:pawwalk 6s ease-in-out infinite}
.p1{left:4%;top:62%;--r:-18deg;animation-delay:0s}.p2{left:13%;top:26%;width:34px;height:34px;--r:12deg;animation-delay:1.2s}
.p3{left:26%;top:70%;width:30px;height:30px;--r:-8deg;animation-delay:2.4s}.p4{left:38%;top:8%;width:36px;height:36px;--r:20deg;animation-delay:3.4s}
.p5{right:34%;top:74%;width:36px;height:36px;--r:-14deg;animation-delay:.8s}.p6{right:22%;top:14%;--r:16deg;animation-delay:2s}
.p7{right:10%;top:58%;width:38px;height:38px;--r:-22deg;animation-delay:3s}.p8{right:3%;top:20%;width:30px;height:30px;--r:10deg;animation-delay:4.2s}
@keyframes pawwalk{0%{opacity:0;transform:translateY(16px) rotate(var(--r)) scale(.8)}20%{opacity:.5}60%{opacity:.4}100%{opacity:0;transform:translateY(-46px) rotate(var(--r)) scale(1.05)}}
@media(prefers-reduced-motion:reduce){.paw{animation:none;opacity:.25}}
@media(max-width:700px){.booking-heading{padding:40px 18px 96px;border-radius:24px;margin-bottom:-64px}.p3,.p4,.p8{display:none}}
/* v2.5 — zona laranja até o fim, serviços nas cores da marca, cena animada */
#public{overflow-x:clip}
.orange-zone{position:relative;isolation:isolate;padding:70px 0 56px;margin-top:70px}
.orange-zone::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:linear-gradient(180deg,#ffa53d,#ee7a0c)}
.orange-zone .booking-section{padding:0}
.booking-heading{position:static;overflow:visible;background:none;box-shadow:none;border-radius:0;padding:0;margin:0 auto 34px;max-width:620px}
.booking-card{box-shadow:0 20px 44px rgba(120,50,0,.25);border:0}
.closing{position:relative;z-index:2;background:none;border-radius:0;border-top:1px solid rgba(255,255,255,.4);padding:40px 0 0;margin:80px 0 0;color:#fff}
.closing h2 span{color:#fff3d9}.closing .pill-button{background:#fff;color:var(--orange-d);box-shadow:0 10px 22px rgba(120,50,0,.2)}.closing .pill-button:hover{background:#fff3d9}
.footer{margin-top:0;background:#d96a05;color:#fff;border:0}.footer span{opacity:.85}
.service-tile:nth-child(3){background:linear-gradient(145deg,#05afa1,#04796f)}
.service-tile:nth-child(4){background:linear-gradient(145deg,#ffa53d,#e9720a)}
.hero-photo{background:linear-gradient(180deg,#8ae8dc,#4fcdbf);aspect-ratio:10/9}
.scene{position:absolute;inset:0;width:100%;height:100%}
.scene *{transform-box:fill-box}
.fly{animation:fly 17s linear infinite}.f2{animation-duration:23s;animation-delay:-9s}.bob{animation:bob 2.2s ease-in-out infinite}
.wing{transform-origin:50% 85%;animation:flap .7s ease-in-out infinite alternate}
.sun{animation:pulse 4s ease-in-out infinite;transform-origin:center}.cloud{animation:drift 14s ease-in-out infinite alternate}.c2{animation-duration:19s}
.chead{transform-origin:50% 100%;animation:tilt 3s ease-in-out infinite}.ctail{transform-origin:0 100%;animation:swish 1.6s ease-in-out infinite alternate}
.ball{animation:bounce 1.5s cubic-bezier(.3,.6,.4,1) infinite}.bshadow{transform-origin:center;animation:shade 1.5s ease-in-out infinite}
.dog{animation:hop 2.4s ease-in-out infinite}.dtail{transform-origin:100% 50%;animation:wag .35s ease-in-out infinite alternate}.dhead{transform-origin:40% 80%;animation:nod 2.4s ease-in-out infinite}
.bfly{animation:flutter 9s ease-in-out infinite}.bw{transform-origin:center;animation:bw .25s ease-in-out infinite alternate}
@keyframes fly{from{transform:translateX(-60px)}to{transform:translateX(470px)}}
@keyframes bob{50%{transform:translateY(-4px)}}@keyframes flap{from{transform:rotate(-9deg)}to{transform:rotate(12deg)}}
@keyframes pulse{50%{transform:scale(1.08)}}@keyframes drift{to{transform:translateX(28px)}}
@keyframes tilt{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(7deg)}}@keyframes swish{to{transform:rotate(22deg)}}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-62px)}}@keyframes shade{50%{transform:scale(.5);opacity:.08}}
@keyframes hop{0%,70%,100%{transform:translateY(0)}82%{transform:translateY(-9px)}}@keyframes wag{from{transform:rotate(-30deg)}to{transform:rotate(14deg)}}@keyframes nod{50%{transform:rotate(-4deg)}}
@keyframes flutter{0%{transform:translate(0,0)}25%{transform:translate(50px,-26px)}50%{transform:translate(100px,6px)}75%{transform:translate(40px,-14px)}100%{transform:translate(0,0)}}@keyframes bw{to{transform:scaleX(.25)}}
@media(prefers-reduced-motion:reduce){.scene *{animation:none!important}}
@media(max-width:700px){.hero-photo{aspect-ratio:16/10}.orange-zone{padding:48px 0 40px;margin-top:48px}.closing{padding-top:30px;margin-top:56px}}
/* v2.6 — animais soltos, sem moldura */
.hero-photo{background:none;border:0;box-shadow:none;border-radius:0;transform:none;overflow:visible;margin:20px 30px 20px 0}
.scene{overflow:visible}
.photo-sticker{display:none}
@media(max-width:700px){.hero-photo{aspect-ratio:10/8.5;margin:6px 20px 14px}}
/* v2.7 — painel separado */
.nav.admin-nav{justify-content:space-between}
@media(max-width:700px){.bottomnav{grid-template-columns:repeat(3,1fr)}}
/* v2.8 — privacidade, consentimento e WhatsApp */
.check{display:flex;gap:12px;align-items:flex-start;font-weight:500;font-size:14px;color:var(--muted);line-height:1.5;cursor:pointer}
.check input{width:20px;min-height:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--teal)}.check a{color:var(--deep);font-weight:700;text-decoration:underline}
.status .wa{display:inline-block;margin-top:12px;background:#1fa855;color:#fff;padding:12px 20px;border-radius:12px;font-weight:700}
.flink{text-decoration:underline;font-weight:600}
.legal{max-width:780px;padding-top:44px;padding-bottom:30px}.legal h1{font-size:clamp(28px,4vw,40px);margin:8px 0 6px}.legal h2{font-size:19px;margin:28px 0 6px;color:var(--deep)}.legal p{margin:0 0 10px;color:var(--ink)}.legal .upd{color:var(--muted);font-size:14px;margin-bottom:22px}

/* v3.2 */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wa{display:inline-block;margin-top:12px;background:#1fa855;color:#fff;padding:12px 20px;border-radius:12px;font-weight:700}
.contact{position:relative;z-index:2;margin-top:70px}.contact h2{color:#fff;font-size:clamp(26px,3vw,36px);text-align:center;margin-bottom:24px}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.contact-card{display:flex;gap:14px;align-items:center;background:#fff;border-radius:18px;padding:18px 20px;box-shadow:0 10px 24px rgba(120,50,0,.2);color:var(--ink);transition:.2s}a.contact-card:hover{transform:translateY(-3px)}
.contact-card>span{font-size:26px;width:48px;height:48px;border-radius:14px;background:#fff1e0;display:grid;place-items:center;flex:none}.contact-card small{display:block;color:var(--muted);font-size:14px;line-height:1.4}
.wa-float{position:fixed;right:18px;bottom:20px;z-index:45;width:58px;height:58px;border-radius:50%;background:#1fa855;color:#fff;display:grid;place-items:center;font-size:28px;box-shadow:0 10px 24px rgba(0,0,0,.3);transition:.2s}.wa-float:hover{transform:scale(1.08)}
@media(max-width:700px){.wa-float{bottom:86px;right:14px;width:54px;height:54px}.contact{margin-top:50px}}

/* SpaPets v3.3: gerenciamento e seleção de serviços */
.spa-service-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin-top:8px}
.spa-service-choice{display:flex;align-items:center;gap:10px;border:1px solid #d9e8e5;border-radius:13px;padding:12px 14px;background:#fff;cursor:pointer;font-weight:600}
.spa-service-choice:has(input:checked){border-color:#05afa1;background:#eefbf8}
.spa-service-choice input{accent-color:#05afa1;width:18px;height:18px;flex-shrink:0}
#taxiAddressField[hidden]{display:none!important}
.spa-service-settings{display:grid;gap:10px;margin:12px 0}
.spa-admin-service{display:grid;grid-template-columns:minmax(110px,2fr) minmax(70px,1fr) auto;align-items:center;gap:8px;padding:10px;border:1px solid #dceae7;border-radius:12px}
.spa-admin-service input[type=text],.spa-admin-service input[type=number]{width:100%;min-width:0;padding:9px;border:1px solid #dceae7;border-radius:8px}
.spa-admin-service label{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:13px}
.spa-hint{font-size:13px;color:#687b78;margin:5px 0 12px}
@media(max-width:520px){.spa-admin-service{grid-template-columns:minmax(0,1fr) 85px}.spa-admin-service label{grid-column:1/-1}}

/* SpaPets v3.4: TaxiDog em destaque e editor de serviços */
.spa-taxi-choice{margin-top:14px}.spa-taxi-option{width:100%;min-height:70px;background:#effaf8;border:2px solid #b9e8e2;font-size:15px}.spa-taxi-option:has(input:checked){background:#ddf6f1;border-color:#069e91}.spa-admin-service{grid-template-columns:minmax(120px,1.5fr) minmax(150px,1.5fr) minmax(70px,.7fr) auto auto}.spa-admin-service select{min-width:0;width:100%;padding:9px;border:1px solid #dceae7;border-radius:8px}.spa-admin-service input[hidden]{display:none}.spa-admin-service .soft-button{padding:8px 10px}@media(max-width:720px){.spa-admin-service{grid-template-columns:1fr 1fr}.spa-admin-service input[type=text],.spa-admin-service select{grid-column:1/-1}.spa-admin-service label{grid-column:auto}}

/* v3.5 — asa presa ao corpo (pivô SVG local) */
.scene .wing{transform-box:view-box;transform-origin:-3px -3px;animation:spaWing .55s ease-in-out infinite alternate}
@keyframes spaWing{from{transform:rotate(-7deg)}to{transform:rotate(14deg)}}
.spa-agenda{grid-column:1/-1}.spa-agenda-slots{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.spa-agenda-slots .soft-button{margin:0;background:#eaf7f4}.spa-agenda-add{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.spa-agenda-add input,.spa-agenda-block input{padding:10px;border:1px solid #dceae7;border-radius:9px}.spa-agenda-block{border-top:1px solid #dceae7;padding:14px 0;margin:15px 0}.spa-agenda-block summary{cursor:pointer;font-weight:600}

/* v3.6 — cena sem pássaros (animação SVG instável) */
.scene .fly,.scene .f2{display:none!important}
/* Patinhas adicionais no banner laranja */
.p9{left:7%;top:8%;width:25px;height:25px;--r:25deg;animation-delay:1.5s}
.p10{left:18%;top:83%;width:24px;height:24px;--r:-12deg;animation-delay:3.6s}
.p11{left:29%;top:30%;width:28px;height:28px;--r:12deg;animation-delay:4.8s}
.p12{left:43%;top:81%;width:22px;height:22px;--r:-24deg;animation-delay:2.1s}
.p13{right:42%;top:12%;width:27px;height:27px;--r:15deg;animation-delay:.4s}
.p14{right:28%;top:48%;width:24px;height:24px;--r:-15deg;animation-delay:5.2s}
.p15{right:15%;top:85%;width:27px;height:27px;--r:28deg;animation-delay:1.8s}
.p16{right:5%;top:44%;width:25px;height:25px;--r:-20deg;animation-delay:3.1s}
@media(max-width:700px){.p10,.p12,.p14,.p16{display:none}}
.spa-v36-panel{grid-column:1/-1}.spa-v36-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}.spa-v36-tools input{padding:10px;border:1px solid #dceae7;border-radius:9px;max-width:220px}.spa-v36-list{display:grid;gap:10px}.spa-v36-item{border:1px solid #dceae7;border-radius:12px;padding:12px;background:#f9fdfc}.spa-v36-item strong{display:block}.spa-v36-item small{display:block;color:#617975;margin:5px 0}.spa-v36-item button{margin-top:7px}.spa-v36-empty{color:#607a75;padding:12px}

/* v3.7 — calendário de agendamento */
.spa-calendar-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.spa-calendar-toggle{width:100%;padding:13px 15px;border:1px solid #d6dfe8;border-radius:12px;background:#fff;text-align:left;font:inherit;cursor:pointer;color:#24334b}
.spa-calendar-toggle:focus-visible,.spa-calendar-day:focus-visible{outline:3px solid #5e9bd4;outline-offset:2px}
.spa-calendar-panel{margin-top:10px;padding:14px;border:1px solid #dce4ed;border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(25,45,72,.08);max-width:370px}
.spa-calendar-panel[hidden]{display:none!important}
.spa-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;text-transform:capitalize}
.spa-calendar-head button{border:0;background:#edf4fb;border-radius:9px;font-size:24px;width:34px;height:34px;cursor:pointer}
.spa-calendar-head button:disabled{opacity:.35;cursor:not-allowed}
.spa-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}
.spa-calendar-weekday{font-size:12px;font-weight:700;color:#697a8c;padding:7px 0}
.spa-calendar-day{aspect-ratio:1;border:0;border-radius:10px;font:inherit;font-weight:600;font-size:13px;cursor:pointer}
.spa-calendar-day.is-available{background:#e2f6e9;color:#216943}
.spa-calendar-day.is-unavailable{background:#fae8e8;color:#a94b4b;text-decoration:line-through;cursor:not-allowed;opacity:.75}
.spa-calendar-day.is-selected{outline:2px solid #237f5b;outline-offset:1px;background:#b8edcd}
.spa-calendar-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;margin-top:12px;color:#536277}
.spa-calendar-note{font-size:12px;line-height:1.5;color:#6d7889;margin:9px 0 0}

/* SpaPets v3.8: melhorias administrativas */
.spa-batch{background:#f0faf7;border:1px solid #d5ebe5;padding:15px;border-radius:14px;margin:14px 0}.spa-batch-fields{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:12px 0}.spa-batch-fields label{display:grid;gap:5px;font-size:13px;font-weight:600}.spa-batch-fields input,.spa-batch-fields select{border:1px solid #c9dfd9;border-radius:9px;padding:9px;background:white;max-width:140px}.spa-batch small{color:#58736c}.spa-history-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:12px}.spa-history-actions details{flex:1 1 180px;min-width:0}.spa-history-actions summary{cursor:pointer;font-weight:700;color:#087c71}.spa-history-actions .soft-button{margin:0;white-space:normal;text-align:center}.spa-history-actions details p{font-size:13px;line-height:1.6;padding:8px 0;border-bottom:1px solid #e0ece9}.spa-schedule-dialog{border:0;border-radius:18px;padding:24px;width:min(92vw,420px);box-shadow:0 20px 70px #0004}.spa-schedule-dialog::backdrop{background:#10292499}.spa-schedule-dialog form{display:grid;gap:12px}.spa-schedule-dialog label{font-weight:700}.spa-schedule-dialog input{padding:12px;border:1px solid #d3e4df;border-radius:10px;width:100%;box-sizing:border-box}.spa-schedule-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:10px}.spa-schedule-error{color:#b42318;font-weight:600;min-height:1em}.spa-schedule-dialog h3{margin:0}

/* SpaPets v3.9: informação da ordem de solicitação */
.spa-requested-at{font-size:.88rem;opacity:.8;margin:.35rem 0}

/* SpaPets v4.0 — resumo, fila e agenda diária */
.spa-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:12px;margin:14px 0 24px}.spa-metric{background:#f5f8fc;border:1px solid #e3e9f0;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:3px}.spa-metric strong{font-size:1.65rem;color:#244d68}.spa-metric span{font-size:.85rem;color:#526577}.spa-queue{display:grid;gap:10px}.spa-queue-item{border:1px solid #e3e9f0;border-radius:12px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.spa-queue-item>div{display:grid;gap:4px;min-width:0}.spa-queue-item small,.spa-v36-item small{display:block;color:#526577}.spa-v40-hint{color:#526577;font-size:.9rem;margin:8px 0 14px}.spa-day-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}@media(max-width:550px){.spa-queue-item{align-items:flex-start;flex-direction:column}}

/* ===== v4.2 — animações e acabamento visual ===== */
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes popIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@keyframes slideIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes heroShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes floaty{0%,100%{transform:translate(0,0)}50%{transform:translate(18px,-22px)}}
@keyframes floaty2{0%,100%{transform:translate(0,0)}50%{transform:translate(-26px,20px)}}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.85) rotate(0)}50%{opacity:.9;transform:scale(1.25) rotate(25deg)}}
@keyframes bobTile{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes ctaGlow{0%,100%{box-shadow:0 10px 22px rgba(245,138,31,.32)}50%{box-shadow:0 10px 30px rgba(245,138,31,.6),0 0 0 8px rgba(245,138,31,.14)}}
@keyframes shine{to{left:160%}}
@keyframes ring{to{transform:scale(1.7);opacity:0}}
@keyframes conf{from{opacity:1;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy) + 130px)) rotate(var(--rot)) scale(1)}}
/* topo */
.topbar,.nav,.brand{transition:height .3s,box-shadow .3s}
.topbar.scrolled{box-shadow:0 8px 28px rgba(4,121,111,.35)}.topbar.scrolled .nav{height:66px}.topbar.scrolled .brand{height:48px}
.brand{transition:height .3s,transform .3s}.brand:hover{transform:rotate(-3deg) scale(1.05)}
/* banner */
.hero{background:linear-gradient(120deg,var(--deep),var(--teal),#10c4b3,var(--deep));background-size:300% 300%;animation:heroShift 20s ease-in-out infinite}
.hero::before{animation:floaty2 12s ease-in-out infinite}
.hero::after{content:"";position:absolute;width:300px;height:300px;left:-90px;bottom:-150px;background:rgba(255,255,255,.07);border-radius:50%;animation:floaty 10s ease-in-out infinite}
.hero-copy>*{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.hero-copy>*:nth-child(1){animation-delay:.05s}.hero-copy>*:nth-child(2){animation-delay:.18s}.hero-copy>*:nth-child(3){animation-delay:.3s}.hero-copy>*:nth-child(4){animation-delay:.42s}.hero-copy>*:nth-child(5){animation-delay:.55s}
.hero-photo{animation:popIn 1s .25s cubic-bezier(.2,.7,.2,1) both}
.hero-deco{animation:twinkle 3.2s ease-in-out infinite}.deco-two{animation-delay:1.4s}
.hero-cta{animation:rise .8s .42s both,ctaGlow 3s 1.6s ease-in-out infinite}
/* botões com brilho */
.pill-button{position:relative;overflow:hidden}
.pill-button::after{content:"";position:absolute;top:0;left:-120%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);pointer-events:none}
.pill-button:hover::after{animation:shine .8s}.pill-button:active{transform:scale(.97)}
/* serviços */
.tile-art{animation:bobTile 4s ease-in-out infinite}
.service-tile:nth-child(2) .tile-art{animation-delay:-1s}.service-tile:nth-child(3) .tile-art{animation-delay:-2s}.service-tile:nth-child(4) .tile-art{animation-delay:-3s}
.service-tile:active{transform:scale(.98)}
/* onda no começo da área laranja */
.orange-zone::after{content:"";position:absolute;z-index:-1;left:50%;width:100vw;transform:translateX(-50%);top:-39px;height:40px;background:#ffa53d;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V16C160 40 320 40 480 20S800-4 960 16 1280 40 1440 20V40Z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V16C160 40 320 40 480 20S800-4 960 16 1280 40 1440 20V40Z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
/* formulário */
.booking-card{transition:box-shadow .3s,transform .3s}.booking-card:focus-within{box-shadow:0 26px 56px rgba(120,50,0,.34)}
.steps span{transition:transform .2s}.steps span:hover{transform:translateY(-3px)}
.spa-calendar-panel:not([hidden]){animation:popIn .25s ease both}
.status{animation:slideIn .35s ease both}
.contact-card{transition:transform .25s,box-shadow .25s}a.contact-card:hover{box-shadow:0 16px 30px rgba(120,50,0,.3)}
/* WhatsApp flutuante com anel pulsando */
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #1fa855;animation:ring 2.4s ease-out infinite;pointer-events:none}
/* entrada ao rolar (a classe .reveal é adicionada só pelo JavaScript) */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*90ms)}
.reveal.in{opacity:1;transform:none}
/* confete de corações no envio */
.confetti{position:fixed;z-index:9999;pointer-events:none;font-weight:700;animation:conf 1.3s cubic-bezier(.15,.7,.3,1) forwards}
@media(max-width:700px){.hero::after{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
