:root{
  --bg:#090604; --bg2:#120b06; --surface:#1c120a; --surface2:#28190d;
  --gold:#c8943f; --gold2:#f0c46b; --ember:#d05f2f; --text:#fff8ec; --muted:#c5ad8d;
  --line:rgba(240,196,107,.18); --shadow:0 24px 80px rgba(0,0,0,.5); --radius:22px;
}
*{box-sizing:border-box} body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(208,95,47,.2),transparent 28%),radial-gradient(circle at 80% 15%,rgba(200,148,63,.16),transparent 30%),linear-gradient(135deg,var(--bg),var(--bg2) 55%,#050302);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif} body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(#000,transparent 85%)} a{color:inherit;text-decoration:none} h1,h2,p{margin-top:0} h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,4rem);letter-spacing:.01em} h2{font-family:Georgia,serif}.eyebrow{color:var(--gold2);text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;font-weight:800}.glass-panel,.panel,.stat-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(40,25,13,.82),rgba(18,11,6,.82));box-shadow:var(--shadow);backdrop-filter:blur(14px);border-radius:var(--radius)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--line);border-radius:999px;padding:.9rem 1.25rem;font-weight:800;cursor:pointer;transition:.2s ease;background:rgba(255,255,255,.04);color:var(--text)}.btn:hover{transform:translateY(-1px);border-color:rgba(240,196,107,.5)}.btn.primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1b1008;border-color:transparent}.btn.ghost{background:rgba(255,255,255,.04)}.btn.full{width:100%}.form-stack{display:grid;gap:1rem}.form-stack label{display:grid;gap:.45rem;color:var(--muted);font-weight:700}.form-stack input,.form-stack select,.form-stack textarea{border:1px solid var(--line);background:rgba(0,0,0,.28);color:var(--text);border-radius:14px;padding:.95rem 1rem;outline:none}.form-stack input:focus{border-color:var(--gold2)}.form-message{min-height:1.2rem;color:var(--gold2)}.brand-logo{width:min(360px,85vw);border-radius:18px;display:block}.landing-body,.login-body{display:grid;place-items:center;padding:2rem}.landing-shell,.login-shell{width:min(1100px,100%)}.hero-card{padding:clamp(1.5rem,4vw,3rem);max-width:760px}.hero-text{color:var(--muted);font-size:1.15rem;line-height:1.7}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.stat-card{padding:1.2rem}.stat-card span{color:var(--muted);font-weight:700}.stat-card strong{display:block;font-family:Georgia,serif;font-size:2.4rem;color:var(--gold2);margin:.35rem 0}.stat-card small{color:var(--muted)}@media(max-width:900px){.cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.cards-grid{grid-template-columns:1fr}.hero-actions .btn{width:100%}}

/* v1.1 - ajustes mobile, logo segura e visual de taverna */
html{background:#050302} 
.landing-body,.login-body{padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));overflow-x:hidden}
.brand-mark{width:min(360px,80vw);min-height:104px;display:grid;place-items:center;margin-bottom:1.35rem;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,rgba(240,196,107,.12),rgba(0,0,0,.18));border:1px solid rgba(240,196,107,.18)}
.brand-mark.small{width:min(280px,76vw);min-height:86px;margin-bottom:1rem}
.brand-mark img{width:100%;height:auto;display:block;border-radius:18px;object-fit:contain}
.brand-mark .logo-fallback{display:none;width:100%;height:100%;min-height:104px;place-items:center;text-align:center;gap:.25rem;padding:1rem;background:radial-gradient(circle at center,rgba(240,196,107,.18),rgba(18,11,6,.9));color:var(--gold2)}
.brand-mark.small .logo-fallback{min-height:86px}
.brand-mark.logo-failed .logo-fallback{display:grid}
.logo-fallback span{font-family:Georgia,serif;font-size:2.7rem;font-weight:900;line-height:1;color:var(--gold2);letter-spacing:.06em}
.logo-fallback small{text-transform:uppercase;letter-spacing:.24em;color:var(--text);font-weight:900;font-size:.72rem}
.hero-card{isolation:isolate}.hero-card>*{position:relative;z-index:1}.hero-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 30%),radial-gradient(circle at 20% 0%,rgba(240,196,107,.12),transparent 28%);pointer-events:none}.hero-card h1{line-height:1.04;margin-bottom:1rem}.hero-actions{margin-top:1.45rem}.btn{min-height:52px}.side-logo{width:58px;height:58px;display:grid;place-items:center;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1b1008;font-family:Georgia,serif;font-weight:900;border:1px solid var(--line);flex:0 0 58px}.side-logo img{width:100%;height:100%;object-fit:cover}.side-logo b{display:none}.side-logo.logo-failed b{display:block}.side-brand img{width:100%;height:100%;border-radius:0}
@media(max-width:620px){.landing-body,.login-body{place-items:start center}.landing-shell,.login-shell{width:100%;padding-top:.25rem}.hero-card,.login-card{width:100%;padding:1.45rem;border-radius:24px}.brand-mark{width:100%;min-height:92px}.brand-mark .logo-fallback{min-height:92px}.brand-mark.small{width:100%;min-height:82px}.hero-card h1{font-size:clamp(2.25rem,12vw,3.6rem)}.hero-text{font-size:1.05rem;line-height:1.62}.eyebrow{font-size:.74rem}.hero-actions{gap:.8rem}.btn{width:100%;padding:1rem 1.1rem}.login-card{margin-top:.25rem}.login-logo{width:100%}}
