/* JusAgenda — nova entrada pública. Não altera os estilos do painel autenticado. */
body.ja-landing-page { background:#f6f7fb; color:#121316; }
.ja-landing-page .page-wrap { display:block; min-height:0; padding:0; }
#landing.ja-v2 { width:100%; max-width:none; padding:0; margin:0; border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; overflow:visible; }
#landing.ja-v2::before { display:none; }
#landing.ja-v2 > * { position:relative; z-index:auto; }
.ja-header { min-height:104px; padding:16px max(28px,calc((100vw - 1592px)/2)); background:rgba(255,255,255,.97); display:flex; align-items:center; justify-content:space-between; gap:28px; box-shadow:0 4px 20px rgba(18,19,22,.06); position:relative; z-index:3; }
.ja-brand { display:inline-flex; align-items:center; flex:none; border-radius:8px; }
.ja-brand img { width:clamp(210px,19vw,278px); height:auto; display:block; }
.ja-header-login { display:flex; flex-direction:row; align-items:end; gap:12px; margin:0; }
.ja-header-login .ja-login-field { display:block; font-size:14px; font-weight:600; color:#272b33; }
.ja-header-login input { display:block; width:clamp(190px,15.5vw,282px); height:46px; margin-top:5px; padding:0 13px; border:1px solid #c9cdd6; border-radius:8px; background:#fff; color:#121316; font:500 15px/1.2 inherit; box-shadow:0 2px 6px rgba(18,19,22,.04); }
.ja-header-login input:focus { outline:3px solid rgba(212,175,55,.28); border-color:#b9972e; }
.ja-header-login button { height:46px; min-width:114px; padding:0 18px; border:0; border-radius:8px; background:#cba03b; color:#fff; font-size:16px; font-weight:750; cursor:pointer; }
.ja-header-login button:hover { background:#b9972e; }
.ja-feedback { max-width:1592px; margin:8px auto 0; padding:0 28px; }
.ja-feedback .erro,.ja-feedback .sucesso { margin:0; padding:9px 13px; border-radius:8px; }
.ja-success-card { display:flex; align-items:center; gap:18px; max-width:1020px; margin:20px auto 12px; padding:20px 24px; border:2px solid #61ae78; border-radius:16px; background:linear-gradient(135deg,#effbf2,#fff); box-shadow:0 14px 36px rgba(31,125,64,.17); color:#185c31; }
.ja-success-card strong { display:block; font-size:clamp(20px,1.6vw,27px); line-height:1.2; }
.ja-success-card p { margin:7px 0 0; font-size:clamp(15px,1.1vw,18px); line-height:1.5; font-weight:600; }
.ja-success-icon { flex:none; width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:#208348; color:#fff; font-size:29px; font-weight:800; }
.ja-office-info { margin-top:8px; padding:10px 12px; border:1px solid #81c99a; border-radius:9px; background:#effbf2; color:#17613b; font-size:12px; font-weight:700; line-height:1.45; }
.ja-hero { width:100%; max-width:1672px; margin:0 auto; aspect-ratio:1672/735; position:relative; overflow:hidden; background:#fafafa; }
.ja-hero .ja-scene { position:absolute; top:0; left:0; width:100%; height:auto; display:block; }
.ja-copy { position:absolute; top:16.3%; left:3.8%; width:36%; z-index:2; }
.ja-kicker { margin:0 0 28px; color:#a67b1e; font-size:clamp(10px,.8vw,14px); font-weight:800; letter-spacing:.24em; text-transform:uppercase; }
.ja-copy h1 { margin:0; max-width:650px; color:#111623; font-size:clamp(38px,4.55vw,76px); line-height:1.03; letter-spacing:-.055em; font-weight:850; }
.ja-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:44px; }
.ja-signup-button,.ja-client-button { min-height:62px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; padding:0 26px; font-size:clamp(14px,1.1vw,19px); font-weight:750; text-decoration:none; cursor:pointer; }
.ja-signup-button { background:#cba03b; color:#fff; border:1px solid #cba03b; animation:ja-subtle-pulse 3.8s ease-in-out infinite; }
.ja-signup-button:hover { background:#b9972e; color:#fff; }
.ja-client-button { color:#121316; background:rgba(255,255,255,.9); border:2px solid #bd9130; min-width:205px; }
.ja-client-button:hover { background:#fff8e7; color:#121316; }
.ja-claim { margin:36px 0 0; padding-top:26px; border-top:2px solid #d4af37; width:max-content; max-width:100%; color:#6b7280; font-size:clamp(10px,.85vw,14px); font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
@keyframes ja-subtle-pulse { 0%,100% { transform:scale(1); box-shadow:0 8px 20px rgba(185,151,46,.12); } 50% { transform:scale(1.012); box-shadow:0 10px 26px rgba(185,151,46,.23); } }
@media (prefers-reduced-motion:reduce) { .ja-signup-button { animation:none; } }

/* Miniatura fiel à composição de dashboard (1).php, sem dados reais. */
.ja-demo-screen { position:absolute; z-index:1; left:46.85%; top:23.85%; width:40.92%; height:56.9%; overflow:hidden; border-radius:3px; background:#f5f6fa; color:#1d2430; font:500 clamp(5px,.48vw,8px)/1.22 Arial,sans-serif; box-shadow:inset 0 0 0 1px #dfe3e9; }
.ja-demo-head { height:14%; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:4px; padding:3px 9px; background:#fff; box-shadow:0 1px 4px #12131618; }
.ja-demo-welcome { font-size:1.45em; font-weight:700; white-space:nowrap; }
.ja-demo-head img { display:block; width:75px; max-height:24px; object-fit:contain; }
.ja-demo-head-end { justify-self:end; display:flex; align-items:center; gap:5px; white-space:nowrap; color:#8a6a1f; }
.ja-demo-badge { border-radius:99px; padding:3px 5px; background:#fff4d4; font-size:.85em; }
.ja-demo-grid { height:86%; display:grid; grid-template-columns:20% minmax(0,1fr) 20%; gap:1.5%; padding:1.5%; }
.ja-demo-profile,.ja-demo-fatal { background:#fff; border:1px solid #e7e7e7; border-radius:7px; padding:6px 4px; box-shadow:0 2px 5px #1213160b; min-width:0; }
.ja-demo-profile-title,.ja-demo-fatal-title { color:#8b691b; font-weight:750; text-align:center; font-size:1.03em; }
.ja-demo-avatar { display:block; width:68%; aspect-ratio:1; margin:8px auto 6px; border-radius:50%; border:2px solid #ead27a; object-fit:cover; filter:blur(2px); }
.ja-redact { display:block; height:6px; width:75%; margin:5px auto; background:#c8cdd5; filter:blur(3px); border-radius:99px; }
.ja-redact.short { width:48%; }
.ja-demo-center { display:flex; flex-direction:column; gap:5px; min-width:0; }
.ja-demo-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
.ja-demo-stats.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ja-demo-stat { min-height:40px; padding:5px; background:#fff; border:1px solid #e7e7e7; border-radius:6px; display:flex; flex-direction:column; justify-content:space-between; }
.ja-demo-stat b { font-size:.97em; }
.ja-demo-stat .ja-redact { margin:0; width:24%; height:8px; }
.ja-demo-contracts { background:#fff; border:1px solid #e7e7e7; border-radius:5px; padding:5px 7px; font-weight:700; color:#795916; }
.ja-demo-menu { display:flex; flex-wrap:wrap; gap:3px 7px; background:#fff; border-radius:5px; padding:5px 6px; }
.ja-demo-menu span { white-space:nowrap; }
.ja-demo-search { margin-top:auto; height:20px; border:1px solid #d6dbe4; border-radius:5px; background:#fff; display:flex; align-items:center; padding:0 6px; color:#9ba2ad; }
.ja-demo-fatal .ja-redact { margin:10px 3px; width:88%; }
.ja-demo-fatal .ja-redact.short { width:60%; }
.ja-demo-fatal small { display:block; margin:5px 2px; color:#68707d; font-size:.9em; }
.ja-demo-privacy { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }

.ja-feature-grid { width:min(1592px,calc(100% - 48px)); margin:-4px auto 32px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; position:relative; z-index:2; }
.ja-feature { min-height:176px; padding:28px 23px; display:flex; align-items:center; gap:17px; background:#fff; border:1px solid #eceef2; border-radius:16px; box-shadow:0 8px 24px #12131610; color:#121316; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.ja-feature:hover { transform:translateY(-3px); border-color:#d4af37; box-shadow:0 14px 32px #12131618; color:#121316; }
.ja-feature-icon { width:62px; height:62px; flex:none; display:grid; place-items:center; border-radius:50%; background:#fbf6e9; color:#b88b22; }
.ja-feature-icon svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ja-feature strong { display:block; font-size:22px; letter-spacing:-.025em; }
.ja-feature small { display:block; margin-top:7px; color:#637086; font-size:14px; line-height:1.4; }
.ja-feature:focus-visible,.ja-client-button:focus-visible,.ja-signup-button:focus-visible,.ja-brand:focus-visible { outline:3px solid #9b6d08; outline-offset:3px; }
.ja-inline-form { max-width:760px; margin:0 auto 50px; padding:0 18px; }
.ja-inline-form #portal-adv { width:100%; max-width:none; }
.ja-inline-form #portal-adv .logo { display:none; }
.ja-v2-links { padding:0 24px 18px; text-align:center; color:#6b7280; font-size:13px; }
.ja-v2-links a { color:#936b0f; }

@media(max-width:1120px) { .ja-header { flex-wrap:wrap; justify-content:center; } .ja-copy h1 { font-size:clamp(34px,4.3vw,54px); } .ja-demo-screen { font-size:5px; } .ja-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .ja-header { padding:16px; gap:16px; } .ja-brand img { width:210px; } .ja-header-login { width:100%; display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:7px; } .ja-header-login input { width:100%; height:44px; font-size:14px; } .ja-header-login button { height:44px; min-width:70px; padding:0 9px; font-size:14px; } .ja-header-login .ja-login-field { font-size:12px; } .ja-success-card { padding:16px; gap:12px; } .ja-success-icon { width:42px; height:42px; font-size:23px; } .ja-hero { aspect-ratio:auto; min-height:510px; } .ja-hero .ja-scene { display:none; } .ja-hero { background:linear-gradient(135deg,#fff,#f7f8fb); } .ja-copy { position:relative; top:auto; left:auto; width:auto; padding:52px 22px; } .ja-copy h1 { font-size:clamp(44px,10vw,64px); } .ja-kicker { margin-bottom:22px; } .ja-hero-actions { margin-top:30px; gap:10px; } .ja-signup-button,.ja-client-button { min-height:52px; padding:0 16px; font-size:15px; } .ja-claim { margin-top:32px; line-height:1.6; } .ja-demo-screen { display:none; } .ja-feature-grid { margin-top:-8px; width:calc(100% - 28px); gap:10px; } .ja-feature { min-height:145px; padding:16px 12px; flex-direction:column; align-items:flex-start; gap:10px; } .ja-feature-icon { width:48px; height:48px; } .ja-feature-icon svg { width:25px; height:25px; } .ja-feature strong { font-size:18px; } .ja-feature small { font-size:12px; } }
@media(max-width:420px) { .ja-header-login { grid-template-columns:1fr 1fr; } .ja-header-login button { grid-column:1/-1; width:100%; } .ja-feature-grid { grid-template-columns:1fr; } .ja-feature { flex-direction:row; min-height:110px; } }
