/* Dra. Luana Carpovicz | Medicina Felina — v7: paleta leve derivada da logo, Plus Jakarta Sans */
:root{--logo:#4A7A9B;--brand:#3F7092;--ink:#22323C;--head:#1F3442;--muted:#55656F;--paper:#FBFBF9;--sand:#F4F2ED;--mist:#EAF1F4;--tint:#DCEAF1;--line:#DCE2E3;
--font:'Plus Jakarta Sans',system-ui,sans-serif;--pad:22px;--sec:60px;--gap:1.5rem}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:64px;-webkit-text-size-adjust:100%}
body{font:400 1rem/1.65 var(--font);color:var(--ink);background:var(--paper);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}a{color:inherit}
:focus-visible{outline:3px solid var(--logo);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 var(--pad);position:relative}
h1,h2,h3{font-weight:600;line-height:1.22;letter-spacing:-.025em;color:var(--head)}
h1{font-size:clamp(1.7rem,6.8vw,2.7rem);max-width:18ch}
h2{font-size:clamp(1.35rem,5vw,2rem);max-width:22ch}
h3{font-size:1.15rem}
.lead{max-width:38ch;margin-top:1rem;color:var(--muted)}
.intro{margin-top:.9rem;color:var(--muted);max-width:48ch}
.todo{background:#fff3c4;color:var(--ink);padding:0 .3em;border-radius:3px}
.wm{position:absolute;pointer-events:none;user-select:none}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;background:var(--brand);color:#fff;text-decoration:none;font:600 .92rem var(--font);padding:.75rem 1.5rem;border-radius:999px;border:1.5px solid var(--brand);cursor:pointer;transition:background .2s,border-color .2s}
.btn:hover{background:var(--head);border-color:var(--head)}
.btn--ghost{background:transparent;color:var(--brand);border-color:#b5cad6}.btn--ghost:hover{background:var(--mist);color:var(--head);border-color:var(--logo)}
.btn--sm{min-height:40px;padding:.45rem 1.1rem;font-size:.87rem}
.btn--block{width:100%;margin-top:1.4rem}
.actions{display:grid;gap:.7rem;margin-top:1.8rem}
.linklike{background:none;border:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;padding:0}

.header{position:sticky;top:0;z-index:20;background:rgba(251,251,249,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0)}
.header__in{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{padding:.3rem 0;display:flex;align-items:center;gap:.6rem;text-decoration:none;font:600 .95rem/1.1 var(--font);letter-spacing:-.02em;color:var(--head)}
.brand img{border-radius:50%}
.brand small{display:block;font:500 .66rem var(--font);color:var(--logo);margin-top:.2rem}
.nav{display:flex;align-items:center;gap:1.5rem;font-size:.87rem;font-weight:500}
.nav a:not(.btn){text-decoration:none;padding:.3rem 0;border-bottom:1.5px solid transparent}.nav a:not(.btn):hover{border-color:var(--logo)}
.burger{display:none;background:none;border:0;width:44px;height:44px;position:relative;cursor:pointer;margin-right:-10px}
.burger span{position:absolute;left:11px;right:11px;height:2px;background:var(--head);transition:transform .25s}
.burger span:first-child{top:18px}.burger span:last-child{top:25px}
.burger[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* hero: foto com respiro, selo da logo e legenda */
.hero{padding:14px 14px 0}
.hero__photo{position:relative;margin:0;height:clamp(300px,96vw,420px);border-radius:30px;overflow:hidden;background:var(--tint)}
.hero__photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 14%;animation:fade 1s both}
.hero__photo::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(31,52,66,.28));pointer-events:none}
.hero__badge{position:absolute;top:14px;right:14px;z-index:2;width:50px;height:50px;border-radius:50%;background:rgba(251,251,249,.94);display:grid;place-items:center;box-shadow:0 4px 14px rgba(31,52,66,.14)}
.hero__badge img{width:30px;height:auto}
.hero__photo figcaption{position:absolute;z-index:2;left:14px;bottom:14px;background:rgba(251,251,249,.94);backdrop-filter:blur(8px);border-radius:16px;padding:.6rem .9rem;font-size:.72rem;line-height:1.35;color:var(--muted)}
.hero__photo strong{display:block;font:600 .92rem/1.2 var(--font);letter-spacing:-.015em;color:var(--head)}
.hero__txt{padding-top:30px;padding-bottom:var(--sec);overflow:hidden}
.wm--hero{width:170px;right:-36px;top:12px;opacity:.07}
@keyframes fade{from{opacity:0;transform:scale(1.05)}}

.sec{padding:var(--sec) 0}.sec--sand{background:var(--sand)}.sec--mist{background:var(--mist)}
.split,.signs{display:grid;gap:var(--gap)}
.sec>.wrap>h2+*{margin-top:var(--gap)}.sec>.wrap>h2+.intro{margin-top:.9rem}

.signs{overflow:hidden}.wm--sinais{width:140px;right:-28px;top:-24px;opacity:.1}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips button{font:500 .87rem var(--font);color:var(--brand);background:#fff;border:1.5px solid #cdd9df;border-radius:999px;padding:.5rem .95rem;min-height:44px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.chips button[aria-pressed=true]{background:var(--brand);color:#fff;border-color:var(--brand)}
.chips button[aria-pressed=true]::before{content:"✓ "}
.note{margin-top:.9rem;font-size:.78rem;color:var(--muted)}

/* equipe */
.bios{display:grid;gap:1.2rem;margin-top:var(--gap)}
.bio{background:#fff;border:1px solid var(--line);border-radius:26px;padding:1.2rem;display:grid;grid-template-columns:80px 1fr;gap:.3rem 1rem;align-items:center}
.bio>img{width:80px;height:80px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.bio__head p{font-size:.82rem;color:var(--muted);line-height:1.45;margin-top:.2rem}
.ig{display:inline-flex;align-items:center;gap:.35rem;margin-top:.45rem;font-size:.8rem;font-weight:600;color:var(--brand);text-decoration:none}
a.ig{padding:.5rem 0 .3rem}a.ig:hover{text-decoration:underline}
.hl{grid-column:1/-1;list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}
.hl li{background:var(--mist);color:var(--brand);font-size:.76rem;font-weight:600;padding:.3rem .7rem;border-radius:999px}
.bio__btn{grid-column:1/-1;margin-top:.9rem;background:transparent;border:1.5px solid #b5cad6;border-radius:999px;color:var(--brand);font:600 .86rem var(--font);min-height:46px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem}
.bio__btn:hover{background:var(--mist)}
.bio__btn svg{transition:transform .3s}.bio__btn[aria-expanded=true] svg{transform:rotate(180deg)}
.bio__more{grid-column:1/-1;display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s}
.bio__btn[aria-expanded=true]+.bio__more{grid-template-rows:1fr}
.bio__in{overflow:hidden;min-height:0}
.bio__in h4{font:600 .7rem var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--logo);margin:1.3rem 0 .3rem}
.bio__in h4:first-child{margin-top:1.2rem}
.bio__in ul{list-style:none;padding:0;font-size:.88rem;color:var(--muted)}
.bio__in li{padding:.5rem 0 .5rem 1rem;border-top:1px solid var(--line);position:relative}
.bio__in li::before{content:"";position:absolute;left:0;top:1rem;width:5px;height:5px;border-radius:50%;background:var(--logo)}

.diffs{list-style:none;padding:0}
.diffs li{padding:1rem 0 1rem 2rem;border-top:1px solid #dcd8cf;color:var(--muted);font-size:.9rem;position:relative}.diffs li:last-child{border-bottom:1px solid #dcd8cf}
.diffs li::before{content:"";position:absolute;left:0;top:1.15rem;width:20px;height:21px;background:url(../assets/images/logo-mark.png) center/contain no-repeat}
.diffs strong{display:block;font-weight:600;font-size:.98rem;color:var(--head);letter-spacing:-.01em}

.modes{display:grid;gap:1rem;margin-top:var(--gap)}
.mode{position:relative;overflow:hidden;border-radius:26px;padding:1.6rem;display:grid;gap:.7rem;justify-items:start;align-content:start}
.mode h3{font-size:1.35rem}.mode p{max-width:30ch;font-size:.93rem;margin-bottom:.6rem;color:var(--muted)}
.mode>*:not(.wm){position:relative}
.ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;margin-bottom:.5rem;background:#fff;color:var(--brand)}
.mode--tint{background:var(--tint)}
.mode--light{background:#fff;border:1px solid var(--line)}.mode--light .ico{background:var(--mist)}
.wm--card{width:130px;right:-20px;bottom:-20px;opacity:.12}

.q{border-top:1px solid #dcd8cf}.q:last-child{border-bottom:1px solid #dcd8cf}
.q button{width:100%;text-align:left;background:none;border:0;font:600 .93rem/1.45 var(--font);letter-spacing:-.01em;color:var(--head);padding:1rem 2.4rem 1rem 0;position:relative;cursor:pointer;min-height:52px}
.q button::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font:400 1.5rem var(--font);color:var(--logo);transition:transform .25s}
.q button[aria-expanded=true]::after{transform:translateY(-50%) rotate(45deg)}
.a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s}.a>p{overflow:hidden;color:var(--muted);font-size:.92rem}
.q button[aria-expanded=true]+.a{grid-template-rows:1fr}.q button[aria-expanded=true]+.a>p{padding-bottom:1rem}

.contact{padding:var(--sec) 0}
.contact__box{position:relative;overflow:hidden;background:var(--tint);border-radius:28px;padding:2.2rem 1.6rem}
.contact__box>*:not(.wm){position:relative}
.contact .lead{color:var(--muted)}.meta{margin-top:1.4rem;font-size:.8rem;color:var(--muted)}
.wm--contact{width:190px;right:-36px;top:-28px;opacity:.14}
.contact .btn--ghost{background:#fff}

/* rodapé claro */
.footer{background:var(--mist);color:var(--muted);padding:3rem 0 96px;font-size:.88rem}
.footer__grid{display:grid;gap:2rem}
.footer__brand{display:grid;gap:.15rem;justify-items:start}
.footer__brand img{margin-bottom:.8rem}
.footer__brand strong{font:600 1.05rem var(--font);letter-spacing:-.02em;color:var(--head)}
.footer__brand span{color:var(--logo);font-size:.78rem;font-weight:600}
.footer__brand p{margin-top:.8rem;max-width:30ch}
.footer__col{display:grid;gap:.5rem;align-content:start}
.footer__col h4{font:600 .7rem var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--logo);margin-bottom:.3rem}
.footer__col a{text-decoration:none;padding:.4rem 0}.footer__col a:hover{color:var(--head);text-decoration:underline}
.footer__bottom{margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid #cddbe2;display:grid;gap:.6rem;justify-items:start;font-size:.78rem}

/* entrada suave das seções (só se o JS estiver ativo) */
.rv{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}

/* botão fixo: pílula compacta, só aparece quando há necessidade */
.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0));z-index:30;height:50px;padding:0 1.25rem;border-radius:999px;background:var(--brand);color:#fff;display:flex;align-items:center;gap:.55rem;text-decoration:none;font:600 .92rem var(--font);box-shadow:0 8px 22px rgba(63,112,146,.35);opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .3s,transform .3s}
.fab.on{opacity:1;transform:none;pointer-events:auto}
dialog{border:0;border-radius:20px;padding:1.6rem;max-width:min(520px,90vw);color:var(--ink);background:var(--paper)}
dialog::backdrop{background:rgba(31,52,66,.5)}dialog h2{font-size:1.25rem;margin-bottom:.8rem}dialog p{margin-bottom:1rem;font-size:.92rem}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media (max-width:819px){
  .burger{display:block}
  .nav{position:absolute;top:60px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;padding:.3rem var(--pad) 1.2rem;display:none}
  .nav.open{display:flex}.nav a:not(.btn){padding:.75rem 0;width:100%;font-size:1rem}.nav__cta{margin-top:.6rem}
}
@media (min-width:820px){
  :root{--pad:40px;--sec:100px;--gap:2rem}body{font-size:1.0625rem}
  .hero{display:grid;grid-template-columns:1.1fr .9fr;max-width:1080px;margin:0 auto;gap:3rem;align-items:center;padding:48px 40px 88px}
  .hero__txt{order:-1;padding:0}.hero__txt.wrap{padding:0}
  .hero__photo{height:540px;border-radius:200px 200px 28px 28px}
  .actions{display:flex;flex-wrap:wrap}
  .wm--hero{right:24px;top:-20px;width:150px}.wm--sinais{right:12px;top:-20px}
  .split,.signs{grid-template-columns:.9fr 1.1fr;gap:5rem}
  .sec>.wrap>h2+*{margin-top:var(--gap)}
  .bios,.modes{grid-template-columns:1fr 1fr;gap:1.5rem}
  .bio{align-self:start;padding:1.4rem}.mode{padding:2.2rem}
  .contact__box{padding:72px;border-radius:36px}
  .footer{padding-bottom:2.5rem}.footer__grid{grid-template-columns:1.4fr .8fr 1fr;gap:3rem}
  .footer__bottom{grid-template-columns:1fr auto;align-items:center}
  .fab{right:24px;bottom:24px}
}
