/* Mi-AU Pet Shop — tokens, base, hero, seções */
:root{
  --f-titulo:'Fredoka','Baloo 2','Trebuchet MS',system-ui,sans-serif;
  --f-corpo:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --mola:cubic-bezier(.34,1.56,.64,1);
  --cx:1180px; --topo-h:72px; --raio:26px;
}
:root,:root[data-tema="light"]{
  --bg:#fff9ee; --bg2:#e3f4ea; --card:#fff; --card2:#fff1d2;
  --fg:#1f3a2e; --mut:#587063; --linha:#e7dcc2;
  --verde:#4f7a5c; --verde-btn:#3d6b4b; --verde-esc:#2c5039; --mint:#bfe5d0;
  --amarelo:#f4c24d; --rosa:#ff7a9c; --laranja:#ff8a4c; --zap:#1fa855;
  --acento:var(--verde-btn); --texto-acento:#2c6a43;
  --sombra:0 16px 40px rgba(31,58,46,.14); --vidro:rgba(255,249,238,.85); --grama:#cfeab8;
  --mesa1:#c58a54; --mesa2:#a96d3b; color-scheme:light;
}
:root[data-tema="dark"]{
  --bg:#0e1a14; --bg2:#13251c; --card:#182e22; --card2:#1f3a2b;
  --fg:#f1eee4; --mut:#a3bbad; --linha:#2a4636;
  --verde:#7fbf93; --verde-btn:#4f9e69; --verde-esc:#9fd8b2; --mint:#2a4d3a;
  --amarelo:#f6cd63; --rosa:#ff8fae; --laranja:#ff9b63; --zap:#2fcf75;
  --acento:var(--verde-btn); --texto-acento:#8fd3a8;
  --sombra:0 16px 40px rgba(0,0,0,.45); --vidro:rgba(14,26,20,.85); --grama:#1f3d2a;
  --mesa1:#6a4a2e; --mesa2:#4e341f; color-scheme:dark;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:var(--f-corpo);background:var(--bg);color:var(--fg);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
.cx{max-width:var(--cx);margin:auto;padding:0 22px}
.pular{position:absolute;left:-999px;top:8px;background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:12px;z-index:3000}
.pular:focus{left:8px}
:focus-visible{outline:3px solid var(--amarelo);outline-offset:3px;border-radius:8px}

/* ---------- topo ---------- */
.topo{position:fixed;inset:0 0 auto 0;height:var(--topo-h);z-index:900;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 clamp(16px,4vw,48px);transition:.3s}
.topo.rolou{background:var(--vidro);backdrop-filter:blur(14px);box-shadow:0 2px 0 var(--linha)}
.marca{display:flex;align-items:center;gap:12px}
.marca-logo{font-family:var(--f-titulo);font-weight:700;font-size:1.55rem;letter-spacing:-.02em;color:var(--verde-btn);background:var(--card);border:3px solid var(--verde);border-radius:999px;padding:2px 16px;box-shadow:0 3px 0 var(--linha)}
.marca-logo i{font-style:normal;color:var(--amarelo)}
.marca-txt{display:grid;line-height:1.1}.marca-txt b{font-family:var(--f-titulo)}.marca-txt small{color:var(--mut);font-size:.75rem}
.menu{display:flex;gap:4px}
.menu a{padding:8px 14px;border-radius:999px;font-weight:700;font-size:.93rem;transition:.2s}
.menu a:hover,.menu a.on{background:var(--mint);color:var(--verde-esc)}
.topo-acoes{display:flex;align-items:center;gap:10px}
.btn-icone{width:42px;height:42px;border-radius:50%;border:2px solid var(--linha);background:var(--card);display:grid;place-items:center;font-size:1.1rem}
.ic-lua{display:none}[data-tema="dark"] .ic-sol{display:none}[data-tema="dark"] .ic-lua{display:inline}
.burger{display:none;position:relative}.burger i{position:absolute;left:11px;right:11px;height:2.5px;background:var(--fg);border-radius:2px;transition:.3s}
.burger i:first-child{top:16px}.burger i:last-child{top:24px}
.burger[aria-expanded="true"] i:first-child{top:20px;transform:rotate(45deg)}.burger[aria-expanded="true"] i:last-child{top:20px;transform:rotate(-45deg)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--acento);color:#fff;border:0;border-radius:999px;padding:13px 26px;font:800 1rem var(--f-corpo);box-shadow:0 5px 0 var(--verde-esc);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(2px);box-shadow:0 3px 0 var(--verde-esc)}
.btn:active{transform:translateY(5px);box-shadow:0 0 0}
.btn-sm{padding:9px 20px;font-size:.9rem}
.btn-grande{padding:16px 32px;font-size:1.08rem}
.btn-zap{background:var(--zap);box-shadow:0 5px 0 #0f6e37;color:#fff}
.btn-zap:hover{box-shadow:0 3px 0 #0f6e37}
.btn-fantasma{display:inline-flex;align-items:center;gap:8px;background:transparent;border:2px solid var(--linha);border-radius:999px;padding:11px 22px;font-weight:800;transition:.2s}
.btn-fantasma:hover{border-color:var(--verde);background:var(--card)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:clamp(680px,100svh,980px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:30px;padding:calc(var(--topo-h) + 30px) clamp(20px,5vw,80px) 110px;overflow:hidden;isolation:isolate;touch-action:pan-y;
  background:radial-gradient(60% 50% at 80% 8%,color-mix(in srgb,var(--amarelo) 38%,transparent),transparent 70%),linear-gradient(180deg,var(--bg2),var(--bg) 85%)}
.hero::after{content:'';position:absolute;z-index:-1;left:-5%;right:-5%;bottom:-1px;height:92px;background:var(--grama);border-radius:50% 50% 0 0/100% 100% 0 0}
.sol{position:absolute;top:96px;right:clamp(20px,34%,520px);width:110px;height:110px;z-index:-1}
.sol .miolo{position:absolute;inset:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff3a0,#ffc928);box-shadow:0 0 60px 20px rgba(255,201,40,.5)}
.sol .raios{position:absolute;inset:-18px;border-radius:50%;animation:gira 40s linear infinite;background:repeating-conic-gradient(rgba(255,201,40,.55) 0 6deg,transparent 6deg 30deg);-webkit-mask:radial-gradient(circle,transparent 46%,#000 47%,#000 62%,transparent 63%);mask:radial-gradient(circle,transparent 46%,#000 47%,#000 62%,transparent 63%)}
[data-tema="dark"] .sol .miolo{background:radial-gradient(circle at 35% 35%,#fff,#dfe6f5);box-shadow:0 0 50px 14px rgba(200,215,255,.3)}
[data-tema="dark"] .sol .raios{opacity:.3}
@keyframes gira{to{transform:rotate(360deg)}}
.nuvem{position:absolute;z-index:-1;left:-260px;width:var(--w);height:var(--h);border-radius:999px;background:#fff;opacity:.92;filter:drop-shadow(0 8px 0 rgba(79,122,92,.08));animation:vaga var(--t) linear infinite;animation-delay:var(--d)}
.nuvem::before,.nuvem::after{content:'';position:absolute;background:inherit;border-radius:50%}
.nuvem::before{width:45%;height:180%;left:14%;bottom:30%}.nuvem::after{width:36%;height:140%;right:12%;bottom:30%}
[data-tema="dark"] .nuvem{background:#234a38;opacity:.55}
@keyframes vaga{to{transform:translateX(calc(100vw + 520px))}}
.hero-texto{position:relative;z-index:5;pointer-events:none}
.hero-texto a{pointer-events:auto}
.etiqueta{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-acento);background:var(--card);padding:8px 16px;border-radius:999px;box-shadow:0 3px 0 var(--linha)}
.ponto{width:10px;height:10px;border-radius:50%;background:var(--zap);box-shadow:0 0 0 4px color-mix(in srgb,var(--zap) 30%,transparent);animation:pisca 2s infinite}
@keyframes pisca{50%{box-shadow:0 0 0 9px transparent}}
h1,h2,h3{font-family:var(--f-titulo);line-height:1.02;letter-spacing:-.02em}
h1{font-weight:700;font-size:clamp(2.5rem,5.4vw,4.8rem);margin:22px 0}
h1 em,.titulo em{font-style:normal;color:var(--verde);position:relative;white-space:nowrap}
h1 em::after,.titulo em::after{content:'';position:absolute;left:0;right:0;bottom:.02em;height:.28em;background:var(--amarelo);opacity:.5;border-radius:99px;z-index:-1}
h1 .linha{display:block;overflow:hidden;padding:.04em 0 .12em;margin-bottom:-.1em}
h1 .linha>span{display:block;transform:translateY(110%);transition:transform 1s var(--ease)}
.pronto h1 .linha>span{transform:none}.pronto h1 .linha:nth-child(2)>span{transition-delay:.14s}
.hero-sub{max-width:48ch;color:var(--mut);font-size:clamp(1.02rem,1.5vw,1.2rem)}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:28px}
.selo-google{display:inline-flex;align-items:center;gap:14px;margin-top:30px;padding:10px 22px 10px 10px;background:var(--card);border-radius:999px;box-shadow:0 5px 0 var(--linha),var(--sombra);transition:transform .35s var(--mola)}
.selo-google:hover{transform:translateY(-4px) rotate(-1deg)}
.selo-nota{width:52px;height:52px;border-radius:50%;background:var(--amarelo);color:#1f3a2e;display:grid;place-items:center;font:700 1.35rem var(--f-titulo)}
.selo-corpo{display:grid;line-height:1.2}.estrelas{color:#f9ab00;letter-spacing:.1em}
.selo-txt{font-size:.86rem;color:var(--mut)}.selo-txt b{color:var(--fg)}
.dica-jogo{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:.86rem;font-weight:700;color:var(--mut)}
.bolinha-mini{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e8ff6b,#b4d92b 60%,#8fb01c);animation:quica 1.2s ease-in-out infinite}
@keyframes quica{50%{transform:translateY(-6px)}}

.hero-fotos{position:relative;height:min(68vh,600px);min-height:430px;z-index:2}
.blob{position:absolute;overflow:hidden;border:6px solid var(--card);box-shadow:var(--sombra),0 8px 0 var(--linha);background:var(--card2);opacity:0;transform:rotate(var(--rot,0deg)) scale(.85);transition:transform .9s var(--mola),opacity .7s var(--ease)}
.pronto .blob{opacity:1;transform:rotate(var(--rot,0deg)) scale(1)}
.blob img{width:100%;height:100%;object-fit:cover}
.b1{width:56%;height:76%;left:0;top:4%;border-radius:58% 42% 52% 48%/45% 52% 48% 55%;--rot:-3deg;transition-delay:.3s;animation:morfa 11s ease-in-out infinite}
.b2{width:42%;height:46%;right:0;top:0;border-radius:46% 54% 40% 60%/56% 44% 56% 44%;--rot:4deg;transition-delay:.45s;animation:morfa 13s ease-in-out infinite reverse}
.b3{width:44%;height:44%;right:6%;bottom:0;border-radius:52% 48% 60% 40%/50% 60% 40% 50%;--rot:-2deg;transition-delay:.6s;animation:morfa 12s ease-in-out infinite}
@keyframes morfa{50%{border-radius:44% 56% 46% 54%/58% 42% 58% 42%}}
.adesivo{position:absolute;z-index:3;padding:8px 16px;border-radius:999px;font:700 1rem var(--f-titulo);color:#1f3a2e;box-shadow:0 4px 0 rgba(0,0,0,.16);animation:balanca 4s ease-in-out infinite}
.a1{background:var(--amarelo);left:4%;bottom:12%;transform:rotate(-8deg)}
.a2{background:var(--rosa);right:2%;top:52%;transform:rotate(7deg);animation-delay:-1.4s}
.a3{background:var(--mint);left:42%;top:2%;transform:rotate(-4deg);animation-delay:-2.6s}
@keyframes balanca{50%{translate:0 -7px}}

/* jogo */
.bola{position:absolute;left:0;top:0;width:76px;height:76px;z-index:6;cursor:grab;touch-action:none;will-change:transform}
.bola:active{cursor:grabbing}
.jogo-dog{position:absolute;left:0;top:0;width:150px;height:110px;z-index:4;pointer-events:none;will-change:transform}
.jogo-dog svg{width:100%;height:100%;overflow:visible}
.rabo{transform-origin:20px 52px;animation:abana .3s infinite alternate}
@keyframes abana{from{transform:rotate(-20deg)}to{transform:rotate(25deg)}}
.jogo-dog.corre .perna{animation:pata .18s infinite alternate}.jogo-dog.corre .perna.b{animation-delay:.09s}
@keyframes pata{from{transform:translateY(0)}to{transform:translateY(-6px)}}
.placar{position:absolute;top:calc(var(--topo-h) + 12px);right:clamp(16px,4vw,48px);z-index:5;background:var(--card);border-radius:20px;padding:8px 16px;font-weight:800;font-size:.88rem;box-shadow:0 4px 0 var(--linha)}
.placar b{font:700 1.4rem var(--f-titulo);color:var(--laranja);margin-left:4px}
.dica-flutuante{position:absolute;left:50%;bottom:112px;transform:translateX(-50%);z-index:5;background:var(--fg);color:var(--bg);padding:9px 18px;border-radius:999px;font-weight:800;font-size:.85rem;white-space:nowrap;animation:bob 2s infinite;pointer-events:none;transition:opacity .4s}
@keyframes bob{50%{transform:translateX(-50%) translateY(-6px)}}
.paw{position:absolute;font-size:16px;opacity:.5;z-index:3;pointer-events:none;animation:some 2s forwards}
@keyframes some{to{opacity:0;transform:scale(.6)}}
.pop{position:absolute;z-index:7;font:700 1.35rem var(--f-titulo);color:var(--verde-btn);pointer-events:none;animation:sobe 1s forwards}
@keyframes sobe{to{transform:translateY(-70px);opacity:0}}

/* ---------- faixa ---------- */
.faixa{overflow:hidden;background:var(--verde-btn);color:#fff;padding:14px 0;transform:rotate(-1.2deg);margin:-26px -2% 0;position:relative;z-index:3;box-shadow:0 10px 30px rgba(44,80,57,.3)}
[data-tema="dark"] .faixa{background:#2c5039}
.faixa-trilho{display:flex;width:max-content;animation:corre 45s linear infinite}
.faixa:hover .faixa-trilho{animation-play-state:paused}
.faixa-trilho span{font:600 clamp(1.2rem,2.6vw,1.8rem) var(--f-titulo);padding:0 24px;display:inline-flex;align-items:center;gap:48px;white-space:nowrap}
.faixa-trilho span::after{content:'🐾';font-size:1.05rem}
@keyframes corre{to{transform:translateX(-50%)}}

/* ---------- seções ---------- */
.sec{padding:clamp(72px,10vw,120px) 0;position:relative}
.sobrancelha{font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-acento);margin-bottom:10px}
.titulo{font-size:clamp(2rem,4.6vw,3.3rem);font-weight:700;max-width:20ch;margin-bottom:14px;position:relative;z-index:0}
.sub{color:var(--mut);max-width:60ch;font-size:1.08rem}
.revela{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.revela.in{opacity:1;transform:none}

/* serviços */
.serv-grade{display:grid;grid-template-columns:320px 1fr;gap:26px;margin-top:40px;align-items:start}
.serv-abas{display:grid;gap:10px}
.serv-aba{display:flex;align-items:center;gap:14px;text-align:left;padding:14px 18px;border-radius:20px;border:2px solid var(--linha);background:var(--card);font-weight:800;transition:.25s var(--mola)}
.serv-aba .e{font-size:1.7rem}
.serv-aba:hover{transform:translateX(4px)}
.serv-aba[aria-selected="true"]{background:var(--verde-btn);color:#fff;border-color:var(--verde-btn);transform:translateX(8px);box-shadow:0 5px 0 var(--verde-esc)}
.serv-painel{display:grid;grid-template-columns:1.1fr .9fr;background:var(--card);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);border:2px solid var(--linha);min-height:430px}
.serv-info{padding:clamp(22px,3vw,40px);display:flex;flex-direction:column;gap:14px;justify-content:center}
.serv-info h3{font-size:clamp(1.7rem,3vw,2.4rem)}
.serv-info p{color:var(--mut)}
.serv-info ul{list-style:none;padding:0;display:grid;gap:8px}
.serv-info li::before{content:'✓';color:var(--zap);font-weight:800;margin-right:10px}
.serv-foto{position:relative;min-height:260px;background:var(--card2)}
.serv-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:entra .6s var(--ease)}
@keyframes entra{from{opacity:0;transform:scale(1.06)}}

/* quiz */
.quiz{background:var(--bg2)}
.quiz-caixa{background:var(--card);border-radius:34px;padding:clamp(24px,4vw,50px);box-shadow:var(--sombra);border:2px solid var(--linha);max-width:900px}
.quiz-cab .titulo{max-width:none}
.quiz-prog{height:8px;border-radius:99px;background:var(--linha);overflow:hidden;margin:6px 0 22px}.quiz-prog i{display:block;height:100%;background:var(--zap);transition:width .5s var(--ease)}
.quiz-q{font:600 1.35rem var(--f-titulo);margin-bottom:16px}
.quiz-ops{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.quiz-op{padding:16px;border-radius:20px;border:2px solid var(--linha);background:var(--bg);font-weight:800;text-align:left;transition:.2s var(--mola)}
.quiz-op:hover{transform:translateY(-4px) rotate(-1deg);border-color:var(--verde);background:var(--mint)}
.quiz-op span{display:block;font-size:1.8rem;margin-bottom:4px}
.quiz-res{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:center}
.quiz-res img{width:200px;height:200px;object-fit:cover;border-radius:50% 46% 54% 50%/46% 54% 46% 54%;border:5px solid var(--card2);box-shadow:var(--sombra)}
.quiz-res h3{font-size:1.9rem;margin:4px 0 8px}.quiz-res p{color:var(--mut);margin-bottom:16px}
.quiz-res .acoes{display:flex;gap:12px;flex-wrap:wrap}

/* loja */
.loja-grade{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);align-items:center}
.loja-fotos{position:relative;height:520px}
.lf{position:absolute;margin:0;border:6px solid var(--card);border-radius:24px;overflow:hidden;box-shadow:var(--sombra),0 6px 0 var(--linha)}
.lf img{width:100%;height:100%;object-fit:cover}
.l1{width:56%;height:78%;left:0;top:0;transform:rotate(-3deg)}
.l2{width:48%;height:54%;right:0;top:6%;transform:rotate(3deg)}
.l3{width:50%;height:46%;right:6%;bottom:0;transform:rotate(-2deg)}
.citacao{background:var(--card2);border-left:6px solid var(--amarelo);padding:16px 20px;border-radius:0 18px 18px 0;margin:22px 0;font:600 1.15rem var(--f-titulo)}
.citacao cite{display:block;font:700 .82rem var(--f-corpo);color:var(--mut);margin-top:6px}
.loja-lista{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 26px;font-weight:700}
.loja-lista li{background:var(--card);padding:10px 14px;border-radius:14px;border:2px solid var(--linha)}

/* galeria */
.galeria{background:var(--bg2)}
.gal-topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:34px}
.gal-ctrl{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.seg{display:inline-flex;background:var(--card);border:2px solid var(--linha);border-radius:999px;padding:4px;gap:2px;flex-wrap:wrap}
.seg button{border:0;background:transparent;padding:8px 16px;border-radius:999px;font-weight:800;font-size:.88rem;transition:.2s}
.seg button[aria-selected="true"]{background:var(--verde-btn);color:#fff}
.mesa{position:relative;border-radius:36px;background:repeating-linear-gradient(92deg,rgba(0,0,0,.05) 0 2px,transparent 2px 9px),repeating-linear-gradient(88deg,rgba(255,255,255,.06) 0 1px,transparent 1px 14px),linear-gradient(135deg,var(--mesa1),var(--mesa2));box-shadow:inset 0 0 0 8px rgba(80,45,15,.55),inset 0 0 70px rgba(0,0,0,.35),0 10px 0 rgba(31,58,46,.14);min-height:520px;overflow:hidden;transition:height .5s var(--ease)}
.pol{position:absolute;width:var(--pw,200px);background:#fffdf7;padding:11px 11px 12px;box-shadow:0 10px 18px rgba(0,0,0,.35),0 2px 0 rgba(0,0,0,.1);cursor:grab;transform:rotate(var(--r));transition:left .7s var(--ease),top .7s var(--ease),transform .25s,box-shadow .25s,opacity .4s;touch-action:none;user-select:none;-webkit-user-select:none;margin:0}
.pol:hover{transform:rotate(0) scale(1.07);box-shadow:0 18px 30px rgba(0,0,0,.45)}
.pol.arrasta{cursor:grabbing;transition:transform .25s,box-shadow .25s;transform:rotate(0) scale(1.1);box-shadow:0 24px 40px rgba(0,0,0,.5)}
.pol.some{opacity:0;pointer-events:none}
.pol img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center 30%;background:#ddd;pointer-events:none;-webkit-user-drag:none}
.pol figcaption{font:700 1.3rem Caveat,cursive;text-align:center;margin-top:7px;color:#3a2f55;line-height:1.1}
.pol::before{content:'';position:absolute;top:-11px;left:50%;width:66px;height:22px;margin-left:-33px;background:rgba(255,233,160,.8);transform:rotate(var(--t,-4deg));box-shadow:0 1px 3px rgba(0,0,0,.15)}
.mesa-dica{position:absolute;top:14px;left:0;right:0;text-align:center;color:#fff3dd;font-weight:700;font-size:.85rem;opacity:.9;pointer-events:none;z-index:0}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.grade[hidden]{display:none}
.grade button{border:0;padding:0;border-radius:20px;overflow:hidden;aspect-ratio:1;background:var(--card2);box-shadow:0 5px 0 var(--linha);transition:.3s var(--mola);position:relative}
.grade button:hover{transform:translateY(-5px) scale(1.03)}
.grade img{width:100%;height:100%;object-fit:cover}

/* avaliações */
.aval-topo{margin:30px 0}
.aval-nota{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.aval-num{font:700 4.5rem var(--f-titulo);line-height:1;color:var(--verde)}
.link-seta{font-weight:800;color:var(--texto-acento);border-bottom:2px solid currentColor}
.aval-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.aval{margin:0;background:var(--card);border-radius:var(--raio);padding:26px;border:2px solid var(--linha);box-shadow:0 6px 0 var(--linha);transition:.3s var(--mola)}
.aval:hover{transform:translateY(-6px) rotate(-.6deg)}
.aval blockquote{font:600 1.18rem var(--f-titulo);margin:10px 0 14px;line-height:1.3}
.aval figcaption{font-size:.82rem;font-weight:800;color:var(--mut)}

/* agendar */
.agendar{background:var(--bg2)}
.res-grade{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;margin-top:36px;align-items:start}
.res-form{background:var(--card);border-radius:var(--raio);padding:clamp(20px,3vw,34px);border:2px solid var(--linha);box-shadow:var(--sombra);display:grid;gap:22px}
.res-form fieldset{border:0;padding:0;display:grid;gap:12px;min-width:0}
.res-form legend{font:600 1.2rem var(--f-titulo);display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:0}
.res-form legend span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--amarelo);color:#1f3a2e;font-size:.95rem}
.linha-campos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
input[type=text],input[type=date],textarea{font:600 1rem var(--f-corpo);padding:13px 16px;border-radius:16px;border:2px solid var(--linha);background:var(--bg);color:var(--fg);width:100%}
input:focus,textarea:focus{outline:3px solid var(--verde);border-color:transparent}
textarea{resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:9px 16px;border-radius:999px;border:2px solid var(--linha);background:var(--bg);font-weight:800;font-size:.9rem;transition:.2s var(--mola)}
.chip:hover{transform:translateY(-2px)}
.chip[aria-pressed="true"]{background:var(--verde-btn);border-color:var(--verde-btn);color:#fff}
.porte{display:flex;align-items:center;gap:18px;background:var(--bg);border-radius:20px;padding:14px 18px}
.porte-cao{font-size:calc(1.6rem + var(--p,1)*.9rem);transition:font-size .3s var(--mola);width:64px;text-align:center}
.porte-ctrl{flex:1}.porte-ctrl label{font-weight:800;font-size:.9rem}
input[type=range]{width:100%;accent-color:var(--verde-btn);margin:6px 0 2px}
.porte-marcas{display:flex;justify-content:space-between;font-size:.72rem;color:var(--mut);font-weight:700}
.aviso-peq{font-size:.8rem;color:var(--mut)}
.res-previa{position:sticky;top:90px;display:grid;gap:16px}
.zap{background:#e5ddd5;border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);border:2px solid var(--linha)}
[data-tema="dark"] .zap{background:#0b141a}
.zap-topo{display:flex;align-items:center;gap:12px;background:#1f7a4d;color:#fff;padding:12px 16px}
.zap-topo small{display:block;opacity:.85}
.zap-avatar{width:42px;height:42px;border-radius:50%;background:var(--card);color:var(--verde-btn);display:grid;place-items:center;font:700 .72rem var(--f-titulo)}
.zap-corpo{padding:18px;min-height:210px}
.balao{background:#d9fdd3;color:#111;padding:12px 14px;border-radius:14px 14px 4px 14px;font-size:.93rem;line-height:1.45;white-space:pre-wrap;margin-left:auto;max-width:92%;box-shadow:0 1px 1px rgba(0,0,0,.15)}
[data-tema="dark"] .balao{background:#005c4b;color:#e9edef}
.res-botoes{display:flex;flex-wrap:wrap;gap:12px}

/* instagram */
.igs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:34px}
.igs .e{border-radius:var(--raio);overflow:hidden;background:var(--card);box-shadow:0 8px 0 var(--linha);border:2px solid var(--linha)}
.igs iframe{width:100%;height:540px;border:0;display:block}

/* faq */
.faq{background:var(--bg2)}
.faq-grade{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}
.faq-lista{display:grid;gap:12px}
.faq-item{background:var(--card);border-radius:20px;border:2px solid var(--linha);overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 22px;font:600 1.1rem var(--f-titulo);display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:1.6rem;color:var(--verde);transition:transform .3s var(--mola)}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 22px 20px;color:var(--mut)}

/* contato */
.contato-grade{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;margin-top:34px;align-items:stretch}
.contato-info{display:grid;gap:12px;align-content:start}
.linha-info{display:flex;gap:16px;align-items:center;background:var(--card);border:2px solid var(--linha);border-radius:20px;padding:16px 20px}
.linha-info i{font-style:normal;font-size:1.7rem}.linha-info b{display:block}
.linha-info a{color:var(--texto-acento);font-weight:800}
.contato-botoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.mapa{border-radius:var(--raio);overflow:hidden;min-height:400px;border:4px solid var(--fg);box-shadow:0 8px 0 var(--linha)}
.mapa iframe{width:100%;height:100%;min-height:400px;border:0;display:block}
[data-tema="dark"] .mapa iframe{filter:invert(.9) hue-rotate(180deg) saturate(.8)}

/* rodapé */
.rodape{background:var(--fg);color:var(--bg);padding:50px 0 24px}
[data-tema="dark"] .rodape{background:#08110c;color:#e9f0ea}
.rodape-grade{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}
.rodape .marca-logo{display:inline-block;margin-bottom:12px}
.rodape p{opacity:.8;max-width:34ch}
.rodape nav,.rodape-redes{display:grid;gap:8px;align-content:start;font-weight:700}
.rodape a:hover{color:var(--amarelo)}
.rodape-fim{margin-top:30px;font-size:.82rem;opacity:.6;border-top:1px solid rgba(255,255,255,.15);padding-top:18px}

.zap-flutuante{position:fixed;right:16px;bottom:16px;z-index:950;display:inline-flex;align-items:center;gap:10px;padding:14px 20px;background:var(--zap);color:#fff;border-radius:999px;font:600 1rem var(--f-titulo);box-shadow:0 8px 22px rgba(0,0,0,.28);animation:pulsa 2.6s infinite;transition:transform .2s}
.zap-flutuante:hover{transform:translateY(-3px)}
@keyframes pulsa{50%{box-shadow:0 8px 22px rgba(0,0,0,.28),0 0 0 10px rgba(47,207,117,.2)}}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);opacity:0;pointer-events:none;z-index:2500;background:var(--fg);color:var(--bg);padding:12px 22px;border-radius:999px;font-weight:800;font-size:.92rem;transition:.4s var(--ease)}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* lightbox */
.lightbox{border:0;padding:0;background:transparent;width:100vw;height:100vh;max-width:none;max-height:none;color:#fff}
.lightbox::backdrop{background:rgba(10,20,14,.92)}
.lightbox[open]{display:grid;place-items:center}
.lb-fig{margin:0;text-align:center;max-width:92vw}
.lb-fig img{max-width:92vw;max-height:80vh;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.6);margin:auto}
.lb-fig figcaption{font:700 1.8rem Caveat,cursive;margin-top:12px}
.lb-fechar,.lb-seta{position:fixed;background:rgba(255,255,255,.15);color:#fff;border:0;border-radius:50%;width:48px;height:48px;font-size:1.5rem;display:grid;place-items:center}
.lb-fechar{top:18px;right:18px}.lb-seta{top:50%;translate:0 -50%}.lb-ant{left:16px}.lb-prox{right:16px}
.lb-seta:hover,.lb-fechar:hover{background:rgba(255,255,255,.3)}

/* ---------- responsivo ---------- */
@media(max-width:960px){
  .burger{display:grid}
  .menu{position:fixed;inset:var(--topo-h) 0 auto 0;flex-direction:column;background:var(--bg);border-bottom:2px solid var(--linha);padding:8px 20px 22px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:.3s}
  .menu.on{opacity:1;visibility:visible;transform:none}
  .hero{grid-template-columns:1fr;padding-top:calc(var(--topo-h) + 22px);gap:18px}
  .hero-fotos{height:400px;min-height:0;order:2}
  .sol{right:20px;top:calc(var(--topo-h) + 10px);width:84px;height:84px}
  .serv-grade,.res-grade,.faq-grade,.contato-grade,.loja-grade{grid-template-columns:1fr}
  .serv-abas{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .serv-aba[aria-selected="true"]{transform:none}
  .res-previa{position:static}
  .loja-fotos{height:440px}
  .rodape-grade{grid-template-columns:1fr}
}
@media(max-width:620px){
  .serv-painel{grid-template-columns:1fr}.serv-foto{order:-1;min-height:220px}
  .quiz-res{grid-template-columns:1fr;text-align:center}.quiz-res img{margin:auto}.quiz-res .acoes{justify-content:center}
  .linha-campos{grid-template-columns:1fr}
  .hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn,.hero-cta .btn-fantasma{justify-content:center}
  .marca-txt{display:none}
  .topo-acoes .btn-sm{display:none}
  .zap-flutuante span{display:none}.zap-flutuante{padding:15px}
  .dica-flutuante{display:none}
  .loja-lista{grid-template-columns:1fr}
  .placar{top:auto;bottom:100px;right:12px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}h1 .linha>span{transform:none}.blob,.revela{opacity:1;transform:none}}
