/* Área própria para o contato: a página rola acima dela, sem sobreposição. */
html{height:100%;overflow:hidden}
body{height:100%;overflow:hidden}
.site-scroll{height:calc(100% - 88px - env(safe-area-inset-bottom,0px));overflow-y:auto;scroll-behavior:smooth;scroll-padding-top:32px}
.contact-dock{position:fixed;inset:auto 0 0;z-index:20;min-height:88px;padding:16px max(24px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:flex-end;background:var(--paper);border-top:1px solid var(--line)}
.assessment-contact{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;border:1px solid #745682;border-radius:100px;padding:14px 23px;background:var(--ink);color:#fff;font-size:14px;line-height:1.4;box-shadow:0 4px 14px #38253f18;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.assessment-contact svg{width:25px;height:25px;flex-shrink:0}
.assessment-contact:hover{background:#624370;transform:translateY(-2px);box-shadow:0 6px 18px #38253f24}
.assessment-contact:active{transform:translateY(0)}
.assessment-close{position:absolute;right:10px;top:8px;background:transparent;border:0;color:var(--ink);font-size:28px;width:44px;height:44px}
.assessment-dismiss{width:100%;min-height:48px;border:0;border-radius:6px;background:var(--ink);color:white;margin-top:16px;padding:14px;font-size:14px}
body:has(dialog[open]) .site-scroll{overflow:hidden}
@media(max-width:760px){.contact-dock{padding-inline:20px}.assessment-contact{font-size:14px;padding-inline:20px;max-width:100%}.site-scroll{scroll-padding-top:20px}}
@media(prefers-reduced-motion:reduce){.site-scroll{scroll-behavior:auto}.assessment-contact{transition:none}.assessment-contact:hover{transform:none}}
