/* Premier Service — CSS compartilhado entre todas as páginas públicas.
 * Tokens, reset, navbar, footer, container, typography, widgets.
 * Específico de página fica inline no <style> da respectiva HTML.
 * Cacheado 1 ano (max-age).
 *
 * Gerado automaticamente: 2026-04-17
 * Fonte: intersecção canônica entre 20 páginas públicas
 */


/* ── TOKENS ── */
:root { --bg:#0A0A0F;--bg-elevated:#111118;--gold:#C9A96E;--gold-light:#DBBF8A;--gold-dark:#A07830;--gold-muted:rgba(201,169,110,0.15);--text:#FAFAF8;--text-dim:rgba(255,255,255,0.72);--text-muted:rgba(255,255,255,0.5);--text-dark:#1A1916;--text-dark-dim:#524D45;--border:rgba(255,255,255,0.07);--border-gold:rgba(201,169,110,0.2);--glass:rgba(10,10,15,0.75);--glass-light:rgba(255,255,255,0.06);--surface:#F8F6F2;--surface-dim:#EFEDE8;--radius-xs:8px;--radius-sm:14px;--radius-md:20px;--radius-lg:28px;--radius-xl:32px;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1) }

/* ── RESET ── */
*,*::before,*::after { margin:0;padding:0;box-sizing:border-box }
a { text-decoration:none;color:inherit;cursor:none }
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--gold);outline-offset:3px }
body { font-family:'DM Sans','DM Sans Fallback',sans-serif;color:var(--text);background:var(--bg);overflow-x:hidden;-webkit-font-smoothing:antialiased;cursor:none }
button { cursor:none }
html { scroll-behavior:smooth;font-size:16px }
img { max-width:100%;height:auto;display:block }

/* ── A11Y ── */
.skip-link { position:absolute;top:-60px;left:0;z-index:10001;background:var(--gold);color:var(--bg);padding:12px 24px;font-weight:600;font-size:14px;border-radius:0 0 8px 0;transition:top 0.3s ease }
.skip-link:focus { top:0 }

/* ── CURSOR ── */
.cursor { width:10px;height:10px;background:var(--gold);border-radius:50%;position:fixed;pointer-events:none;z-index:10000;transition:width 0.3s var(--ease-spring),height 0.3s var(--ease-spring),background 0.3s ease,opacity 0.3s ease;transform:translate(-50%,-50%);mix-blend-mode:difference;opacity:0 }
.cursor.hover { width:48px;height:48px;background:rgba(255,255,255,0.08);mix-blend-mode:normal;border:1.5px solid rgba(201,169,110,0.4) }
.cursor.visible { opacity:1 }

/* ── GRAIN ── */
body::after { content:'';position:fixed;inset:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");z-index:9999;pointer-events:none;animation:grain 8s steps(10) infinite }

/* ── KEYFRAMES ── */
@keyframes grain {0%,100%{transform:translate(0,0)}10%{transform:translate(-5%,-10%)}30%{transform:translate(3%,5%)}50%{transform:translate(-8%,2%)}70%{transform:translate(9%,-5%)}90%{transform:translate(-3%,8%)}}
@keyframes morphBlob {0%,100%{border-radius:42% 58% 52% 48% / 45% 55% 45% 55%;transform:translate(0,0) scale(1)}25%{border-radius:55% 45% 60% 40% / 50% 40% 60% 50%;transform:translate(15px,-20px) scale(1.05)}50%{border-radius:48% 52% 45% 55% / 55% 48% 52% 45%;transform:translate(-10px,15px) scale(0.97)}75%{border-radius:40% 60% 55% 45% / 48% 55% 45% 52%;transform:translate(20px,10px) scale(1.03)}}
@keyframes pulse-ring {0%{transform:scale(1);opacity:1}100%{transform:scale(1.8);opacity:0}}

/* ── REVEAL ── */
[data-reveal].revealed { opacity:1;transform:translateY(0) }

/* ── NAVBAR ── */
.nav-btn-painel:hover { background-position:top right;box-shadow:inset 3px 3px 6px rgba(219,191,138,0.6),inset -3px -3px 6px rgba(120,90,30,0.4),0 0 28px rgba(201,169,110,0.45) }
.nav-btn-sair { background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:5px 14px;border-radius:100px;font-size:11px;font-weight:500;cursor:pointer;transition:all 0.3s ease;font-family:'DM Sans','DM Sans Fallback',sans-serif }
.nav-btn-sair:hover { background:var(--glass-light);border-color:rgba(255,255,255,0.15);color:var(--text) }
.nav-cta::after { display:none !important }
.nav-cta:hover { background-position:top right !important;transform:scale(1.05);box-shadow:inset 3px 3px 6px rgba(219,191,138,0.6),inset -3px -3px 6px rgba(120,90,30,0.4),0 0 28px rgba(201,169,110,0.45) !important }
.nav-hamburger { display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:1001;padding:8px }
.nav-hamburger span { width:22px;height:2px;background:var(--text);border-radius:2px;transition:all 0.3s var(--ease-out) }
.nav-links { display:flex;align-items:center;gap:32px;list-style:none }
.nav-links a { font-size:13px;font-weight:500;color:var(--text-dim);letter-spacing:0.3px;transition:color 0.3s ease;position:relative }
.nav-links a::after { content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--gold);transition:width 0.3s var(--ease-out) }
.nav-links a:hover,.nav-links a.active { color:var(--text) }
.nav-links a:hover::after,.nav-links a.active::after { width:100% }
.nav-logo img { height:28px;width:auto;transition:height 0.3s var(--ease-out) }
.nav-user-avatar { width:30px;height:30px;border-radius:50%;background:var(--gold);color:var(--bg);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;text-transform:uppercase;overflow:hidden }
.nav-user-avatar img { width:100%;height:100%;object-fit:cover }
.nav-user-name { font-size:12px;color:var(--text-dim);font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap }
.nav-user-status { display:none;align-items:center;gap:10px;margin-left:16px }
.nav-user-status.active { display:flex }
.navbar { position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:1000;width:calc(100% - 48px);max-width:1200px;padding:0 32px;height:60px;display:flex;align-items:center;justify-content:space-between;background:var(--glass);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--border);border-radius:100px;transition:all 0.4s var(--ease-out) }
.navbar.scrolled { top:12px;box-shadow:0 8px 32px rgba(0,0,0,0.3);border-color:rgba(255,255,255,0.1) }

/* ── FOOTER ── */
.footer ul { list-style:none;display:flex;flex-direction:column;gap:12px }
.footer-bottom { padding:24px 0;display:flex;justify-content:space-between;align-items:center }
.footer-contact-item { display:flex;align-items:flex-start;gap:12px;margin-bottom:16px }
.footer-contact-item a { color:var(--text-dim) }
.footer-grid { display:grid;grid-template-columns:1fr auto 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--border) }
.footer-grid>div:nth-child(1) { justify-self:start;text-align:left }
.footer-grid>div:nth-child(2) { justify-self:center;text-align:left }
.footer-grid>div:nth-child(3) { justify-self:end;text-align:left }
.footer-grid>div:nth-child(3) .footer-contact-item { justify-content:flex-start }
.footer-legal { display:flex;gap:24px }

/* ── WHATSAPP ── */
.wa-tooltip { position:absolute;left:68px;top:50%;transform:translateY(-50%);background:var(--bg-elevated);color:var(--text);padding:8px 16px;border-radius:var(--radius-xs);font-size:12px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.3s ease;border:1px solid var(--border) }
.wa-tooltip::after { content:'';position:absolute;left:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:var(--bg-elevated) }
.whatsapp-float { position:fixed;bottom:100px;left:28px;z-index:999;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(37,211,102,0.35);transition:all 0.35s var(--ease-out);cursor:pointer }
.whatsapp-float::before { content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(37,211,102,0.3);animation:pulse-ring 2s ease-out infinite }
.whatsapp-float:hover { transform:scale(1.1);box-shadow:0 8px 30px rgba(37,211,102,0.5) }
.whatsapp-float:hover .wa-tooltip { opacity:1 }

/* ── PCHAT ── */
.pchat-close { background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;transition:color 0.2s }
.pchat-close:hover { color:var(--text) }
.pchat-fab svg { width:26px;height:26px }
.pchat-fab-tooltip { position:absolute;right:68px;top:50%;transform:translateY(-50%);background:var(--bg-elevated);color:var(--text);padding:8px 16px;border-radius:var(--radius-xs);font-size:12px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.3s ease;border:1px solid var(--border) }
.pchat-fab-tooltip::after { content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:var(--bg-elevated) }
.pchat-fab.hidden { display:none }
.pchat-fab::before { content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(201,169,110,0.25);animation:pulse-ring 2.5s ease-out infinite }
.pchat-fab:hover { background-position:top right;transform:scale(1.1);box-shadow:inset 3px 3px 6px rgba(219,191,138,0.6),inset -3px -3px 6px rgba(120,90,30,0.4),0 0 28px rgba(201,169,110,0.45) }
.pchat-fab:hover .pchat-fab-tooltip { opacity:1 }
.pchat-header { background:var(--bg-elevated);padding:14px 16px;display:flex;align-items:center;gap:10px;flex-shrink:0;border-bottom:1px solid var(--border) }
.pchat-header-dot { width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;animation:pulse-ring 2.5s ease-out infinite;position:relative }
.pchat-header-sub { font-size:11px;color:var(--text-muted);font-weight:400 }
.pchat-header-title { flex:1;font-weight:600;font-size:14px;color:var(--text) }
.pchat-input { flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:24px;font-size:13px;font-family:'DM Sans','DM Sans Fallback',sans-serif;outline:none;transition:border 0.2s;background:var(--bg);color:var(--text);resize:none }
.pchat-input-area { padding:12px;border-top:1px solid var(--border);display:flex;gap:8px;flex-shrink:0 }
.pchat-input::placeholder { color:var(--text-muted) }
.pchat-input:focus { border-color:var(--gold) }
.pchat-messages { flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px }
.pchat-msg { max-width:85%;padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.6;word-wrap:break-word }
.pchat-msg.assistant { align-self:flex-start;background:var(--bg-elevated);color:var(--text-dim);border:1px solid var(--border);border-bottom-left-radius:4px }
.pchat-msg.user { align-self:flex-end;background:var(--gold);color:var(--bg);border-bottom-right-radius:4px }
.pchat-panel { position:fixed;bottom:100px;right:28px;z-index:998;width:380px;height:520px;max-height:calc(100vh - 120px);background:#0e0e14;border:1px solid var(--border);border-radius:16px;box-shadow:0 16px 56px rgba(0,0,0,0.4);display:none;flex-direction:column;overflow:hidden }
.pchat-panel.open { display:flex }
.pchat-send svg { width:18px;height:18px }
.pchat-send:disabled { opacity:0.4;cursor:not-allowed }
.pchat-send:hover { background-position:top right;box-shadow:inset 3px 3px 6px rgba(219,191,138,0.6),inset -3px -3px 6px rgba(120,90,30,0.4),0 0 28px rgba(201,169,110,0.45) }
.pchat-typing { align-self:flex-start;background:var(--bg-elevated);color:var(--text-muted);padding:10px 14px;border-radius:14px;font-size:13px;border:1px solid var(--border);display:none }
.pchat-typing.show { display:block }
.pchat-welcome { flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);text-align:center;padding:32px }
.pchat-welcome p { font-size:13px;line-height:1.6 }
.pchat-welcome strong { color:var(--gold) }
.pchat-welcome svg { width:48px;height:48px;margin-bottom:12px;opacity:0.3;color:var(--gold) }
