/* Pets Rivus - paleta extraída da logo: creme, coral e verde-oliva */
:root{
  --cream:#FAF3EE; --cream-2:#F4E9E1; --coral:#D9706A; --coral-d:#B4504B; --coral-l:#F6DAD4;
  --olive:#686B4A; --olive-d:#4A4D33; --olive-l:#E7E7D8; --ink:#3B3C2D;
  --serif:'Fraunces',Georgia,'Times New Roman',serif; --sans:'Figtree',system-ui,sans-serif;
  --r:22px; --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font:400 1.05rem/1.7 var(--sans);color:var(--ink);background:var(--cream);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:6px}
.wrap{width:min(1160px,100% - 2.5rem);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);color:var(--olive-d);line-height:1.15;font-weight:700}
h1{font-size:clamp(2.2rem,5.2vw,3.7rem);letter-spacing:-.02em}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem);letter-spacing:-.01em}
h3{font-size:1.25rem}
.ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic.big{width:44px;height:44px;stroke-width:1.3;color:var(--coral)}

/* Botões */
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.95rem 1.6rem;border-radius:999px;background:var(--coral-d);color:#fff;font-weight:600;border:1.5px solid var(--coral-d);transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(180,80,75,.6);background:#a2443f}
.btn-ghost{background:transparent;color:var(--olive-d);border-color:var(--olive)}
.btn-ghost:hover{background:var(--olive);color:#fff;box-shadow:0 10px 22px -10px rgba(74,77,51,.5)}
.btn-sm{padding:.65rem 1.2rem;font-size:.95rem}

/* Header */
.header{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,box-shadow .3s}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:96px;transition:height .3s}
.brand img{height:68px;width:68px;border-radius:14px;transition:all .3s}
.menu{display:flex;align-items:center;gap:1.8rem;font-weight:500}
.menu a:not(.btn){position:relative;padding:.3rem 0}
.menu a:not(.btn)::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--coral);transition:width .3s var(--ease)}
.menu a:not(.btn):hover::after{width:100%}
.menu-cta,.burger{display:none}
.header.scrolled{background:rgba(250,243,238,.94);backdrop-filter:blur(8px);box-shadow:0 6px 24px -18px rgba(59,60,45,.45)}
.header.scrolled .bar{height:68px}
.header.scrolled .brand img{height:50px;width:50px;border-radius:10px}

/* Hero */
.hero{position:relative;padding:150px 0 100px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.lead{font-size:1.2rem;margin:1.4rem 0 2rem;max-width:34ch;color:#55573f}
.actions{display:flex;flex-wrap:wrap;gap:.9rem}
.hero-art{position:relative;display:grid;place-items:center;min-height:440px}
.blob{position:absolute;width:92%;aspect-ratio:1;background:var(--coral-l);border-radius:58% 42% 55% 45%/48% 56% 44% 52%;transform:rotate(-8deg)}
.logo-card{position:relative;width:min(400px,82%);height:auto;border-radius:var(--r);box-shadow:0 30px 60px -30px rgba(74,77,51,.55)}
.sil{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.sil-dog,.sil-cat{position:absolute;width:110px;height:99px;bottom:0}
.sil-dog{left:0;stroke:var(--olive)}.sil-cat{right:0;bottom:30px;stroke:var(--coral-d)}
.bgpaw{position:absolute;width:56px;height:56px;fill:var(--coral);opacity:.12;animation:drift 9s ease-in-out infinite alternate}
.p1{top:120px;left:4%}.p2{bottom:60px;left:44%;width:40px;height:40px;animation-delay:-3s}.p3{top:150px;right:3%;fill:var(--olive);animation-delay:-6s}
@keyframes drift{to{transform:translateY(-14px) rotate(10deg)}}

/* Seções */
.sec{padding:110px 0}
.sec-head{max-width:640px;margin-bottom:3rem}
.sec-head p{margin-top:.8rem;font-size:1.15rem}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.card{background:#fff;padding:2rem 1.8rem;border-radius:var(--r);border:1px solid rgba(217,112,106,.22);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.card:nth-child(even){border-radius:var(--r) 70px var(--r) var(--r);background:#FFFAF6}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -28px rgba(74,77,51,.5);border-color:var(--coral)}
.ico{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--coral-l);color:var(--coral-d);margin-bottom:1.1rem;transition:transform .4s var(--ease),background .3s}
.card:hover .ico{transform:rotate(-8deg) scale(1.08);background:var(--olive-l);color:var(--olive-d)}
.card p{margin:.5rem 0 1.2rem;font-size:1rem}
.link{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--coral-d)}
.link .ic{width:18px;height:18px;transition:transform .25s}.link:hover .ic{transform:translateX(5px)}
.other{margin-top:2rem;text-align:center}.other a{color:var(--coral-d);font-weight:600;border-bottom:1.5px solid currentColor}

/* Sobre */
.about{background:var(--cream-2);border-radius:90px 90px 0 0}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:center}
.about p{margin:1.1rem 0}.about .btn{margin-top:.6rem}
.about-art{display:flex;gap:1.2rem;align-items:flex-end;justify-content:center}
.arch{flex:1;max-width:210px;aspect-ratio:3/4.4;border-radius:999px 999px 24px 24px;background:var(--coral-l);display:grid;place-items:end center;padding-bottom:1.5rem}
.arch2{background:var(--olive-l);aspect-ratio:3/3.6}
.sil.big{width:120px;height:108px}.sil.big.dog{stroke:var(--olive-d)}.sil.big.cat{stroke:var(--coral-d)}

/* Diferenciais */
.dif{display:grid;grid-template-columns:repeat(4,1fr);gap:2.2rem}
.dif>div{padding-top:1.2rem;border-top:2px solid var(--coral)}
.dif .ic{margin-bottom:.8rem}.dif p{margin-top:.5rem;font-size:1rem}

/* Experiência */
.exp{position:relative;background:var(--olive);color:#fff;padding:120px 0;overflow:hidden;border-radius:90px}
.exp h2{color:#fff}.exp p{margin-top:1rem;font-size:1.2rem;color:var(--olive-l)}
.exp-in{display:grid;grid-template-columns:auto 1fr auto;gap:3rem;align-items:center;text-align:center;max-width:980px}
.exp-sil{width:130px;height:117px;stroke:var(--coral-l)}
.exp .bgpaw{fill:#fff;opacity:.08}
.e1{top:12%;left:6%}.e2{bottom:10%;left:26%;width:36px;height:36px}.e3{top:14%;right:24%;width:36px;height:36px}.e4{bottom:12%;right:6%}

/* Contato */
.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.info{display:grid;gap:1.4rem}
.info>div{display:flex;gap:1rem;align-items:flex-start}
.info .ic{width:44px;height:44px;padding:11px;border-radius:50%;background:var(--coral-l);color:var(--coral-d)}
.info strong{display:block;font-family:var(--serif);color:var(--olive-d);font-size:1.1rem}
.cta-box{display:grid;gap:.9rem;padding:2rem;background:#fff;border-radius:var(--r) var(--r) 70px var(--r);border:1px solid rgba(217,112,106,.22)}
.cta-box .btn{justify-content:center}

/* Footer */
.footer{background:var(--olive-d);color:var(--olive-l);padding:70px 0 28px;margin-top:-1px}
.foot-grid{display:grid;grid-template-columns:1.3fr .7fr 1.2fr;gap:2.5rem;font-size:.98rem}
.foot-brand{font-family:var(--serif);font-size:1.5rem;color:#fff;letter-spacing:.04em}
.foot-grid a{display:block;padding:.2rem 0;transition:color .2s}.foot-grid a:hover{color:var(--coral-l)}
.foot-grid p{margin-top:.5rem}
.copy{text-align:center;font-size:.88rem;margin-top:3rem;padding-top:1.4rem;border-top:1px solid rgba(231,231,216,.2)}

/* WhatsApp flutuante */
.fab{position:fixed;right:18px;bottom:76px;z-index:60;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--coral-d);color:#fff;box-shadow:0 12px 26px -8px rgba(180,80,75,.7);transition:transform .25s}
.fab:hover{transform:scale(1.08)}.fab .ic{width:28px;height:28px}

/* Revelar ao rolar (só com JS ativo) */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.in{opacity:1;transform:none}

/* Páginas internas */
.menu a[aria-current]{color:var(--coral-d)}.menu a[aria-current]::after{width:100%}
.center{text-align:center}.center .lead{margin-inline:auto}.narrow{max-width:760px}
.phead{position:relative;padding:150px 0 60px;text-align:center;overflow:hidden}.phead .lead{margin:1rem auto 0}
.svcs{padding:30px 0}
.svc{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;padding:1.8rem 0;border-top:1px solid rgba(217,112,106,.3)}
.svc .ico{margin:0}.svc p{margin-top:.3rem}
.estetica{background:var(--coral-l);border-radius:90px;padding:90px 0;margin:50px 0}
.est-head{text-align:center;max-width:560px;margin:0 auto 2.5rem}.est-head .ico{margin:0 auto 1rem;background:#fff}.est-head p{margin-top:.6rem;font-size:1.15rem}
.tipos{text-align:center;font-size:1.6rem;margin-bottom:1.6rem}
.tosas{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.tosa{background:#fff;border-radius:var(--r);padding:1.2rem 1.2rem 1.8rem;box-shadow:0 22px 40px -32px rgba(74,77,51,.6)}
.shots{display:grid;gap:.8rem;margin-bottom:1.2rem}.shots.n2{grid-template-columns:1fr 1fr}
.shots figure{margin:0}.shots img{width:100%;height:auto;aspect-ratio:1150/1368;object-fit:cover;border-radius:14px}
.shots.n1 figure{max-width:340px;margin-inline:auto}
figcaption{font-size:.85rem;line-height:1.35;margin-top:.45rem;color:var(--olive-d)}
.tosa h4{font-family:var(--serif);font-size:1.5rem;color:var(--olive-d)}.tosa p{margin:.5rem 0}
.obs{font-size:.95rem;padding:.7rem 1rem;background:var(--cream);border-left:3px solid var(--coral);border-radius:0 10px 10px 0}.tosa .btn{margin-top:.6rem}
.team-teaser{padding-top:40px}.tt{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.5rem;align-items:center}
.tt p{margin:1rem 0 1.6rem}.faces{display:flex;justify-content:center}
.faces img{width:46%;aspect-ratio:1;object-fit:cover;object-position:top;border-radius:50%;border:6px solid var(--cream);box-shadow:0 18px 34px -20px rgba(74,77,51,.6)}
.faces img+img{margin-left:-8%;margin-top:2.5rem}
.tl{border-left:2px dashed var(--coral);padding-left:2.2rem}
.tl p{position:relative;margin-bottom:2rem;font-size:1.12rem}.tl p:first-child::first-letter{font:700 3rem/1 var(--serif);color:var(--coral-d);float:left;margin:.2rem .5rem 0 0}
.tl p::before{content:"";position:absolute;left:-2.2rem;top:.65rem;width:14px;height:14px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px var(--cream);transform:translateX(-7px)}
.team{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:900px;margin-inline:auto}
.person.b{margin-top:4rem}.pic{aspect-ratio:3/4;border-radius:999px 999px 28px 28px;overflow:hidden;box-shadow:14px 14px 0 var(--coral-l);margin-bottom:1.6rem}
.person.b .pic{box-shadow:14px 14px 0 var(--olive-l)}.pic img{width:100%;height:100%;object-fit:cover;object-position:center 15%}
.role{font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-d)}
.person h3{font-size:1.7rem;margin:.2rem 0 .6rem}.person ul{padding:0;list-style:none}.person li{padding:.35rem 0;border-top:1px solid rgba(217,112,106,.25)}
.quote{position:relative;background:var(--olive);color:#fff;border-radius:90px 90px 0 0;padding:100px 0;display:flex;align-items:center;justify-content:center;gap:2rem;overflow:hidden}
.quote h2{color:#fff;max-width:20ch;margin:0 auto 1.8rem}.sil.q{width:110px;height:99px;stroke:var(--coral-l);flex:none}
/* Responsivo */
@media (max-width:960px){
  .hero-grid,.about-grid,.contact{grid-template-columns:1fr}
  .hero{padding-top:130px}.hero-art{min-height:380px}
  .grid{grid-template-columns:repeat(2,1fr)}.dif{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .about,.exp{border-radius:50px}
}
@media (max-width:760px){
  .head-cta{display:none}
  .burger{display:grid;gap:6px;width:46px;height:46px;place-content:center;background:none;border:0;cursor:pointer}
  .burger span{display:block;width:26px;height:2px;background:var(--olive-d);transition:transform .3s}
  .burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
  .burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .menu{position:fixed;inset:68px 0 auto;flex-direction:column;align-items:stretch;gap:0;padding:1rem 1.5rem 1.6rem;background:var(--cream);box-shadow:0 20px 30px -20px rgba(59,60,45,.4);transform:translateY(-130%);transition:transform .4s var(--ease);z-index:-1}
  .menu.open{transform:none}
  .menu a:not(.btn){padding:.9rem 0;border-bottom:1px solid var(--cream-2);font-size:1.1rem}
  .menu-cta{display:inline-flex;justify-content:center;margin-top:1rem}
  .header.open{background:var(--cream)}
  .bar{height:76px}.brand img{height:56px;width:56px}
  .sec{padding:80px 0}.grid,.dif,.foot-grid{grid-template-columns:1fr}
  .actions .btn{width:100%;justify-content:center}
  .exp-in{grid-template-columns:1fr;gap:1.5rem}.exp-sil{margin-inline:auto;width:90px;height:81px}
  .exp-in .exp-sil:last-child{display:none}
  .sil-dog,.sil-cat{width:80px;height:72px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;transform:none}
}

@media (max-width:960px){.tt,.tosas{grid-template-columns:1fr}.estetica,.quote{border-radius:50px}}
@media (max-width:760px){.svc{grid-template-columns:auto 1fr}.svc .btn{grid-column:1/-1;justify-content:center}
.team{grid-template-columns:1fr;gap:2.5rem}.person.b{margin-top:0}.sil.q{display:none}.phead{padding-top:120px}.estetica{padding:60px 0}.tosa .btn{width:100%;justify-content:center}}
.card h3{margin-bottom:.5rem}.card h3+.link{margin-top:.8rem}.estetica .center{margin-top:3.5rem}.est-head{margin-bottom:2.5rem}
