/* LANDING-1 — fundação visual do layout público reutilizável JANUS (_JanusPublicLayout):
   header/navbar, botões e footer institucionais. Independente do _Layout legado (template
   Bootstrap) e do Shell autenticado (janus.css/shell.css) — carrega apenas os tokens globais
   + este arquivo. Estilos específicos de cada página pública (ex.: landing.css) somam-se a
   este via a seção "Styles" do layout. */
body.janus-public{margin:0;min-height:100vh;color:var(--janus-text,#f1f5f3);background:var(--janus-bg,#090f12);color-scheme:dark;font-family:"Segoe UI",Arial,sans-serif}
body.janus-public *{box-sizing:border-box}
body.janus-public a{color:inherit;text-decoration:none}
body.janus-public :is(a,button):focus-visible{outline:2px solid var(--janus-primary,#00c99a);outline-offset:2px}

.jpublic-skip-link{position:fixed;top:-100px;left:1rem;z-index:1100;padding:1rem;background:var(--janus-surface-raised,#1d2a30);color:var(--janus-text,#f1f5f3);border-radius:8px}
.jpublic-skip-link:focus{top:1rem}

/* Utilitário para conteúdo que precisa existir no DOM para leitores de tela (hierarquia de
   headings, item 11) sem duplicar visualmente texto já incorporado na arte (item 3). */
.jpublic-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header (item 4): marca à esquerda, links + CTAs à direita. Fundo sólido no tom do topo do
   asset (var(--janus-bg)) para a costura com a arte do hero ficar imperceptível (item 5). */
.jpublic-header{background:var(--janus-bg,#090f12);border-bottom:1px solid var(--janus-border,#253239);position:relative;z-index:20}
.jpublic-header-inner{max-width:1440px;margin:0 auto;padding:.9rem clamp(1rem,3vw,2.5rem);display:flex;align-items:center;gap:1.5rem}
.jpublic-brand{display:flex;align-items:center;gap:.6rem;flex:0 0 auto}
.jpublic-brand img{width:40px;height:40px;flex:0 0 40px}
.jpublic-brand-text{display:flex;flex-direction:column;line-height:1.2}
.jpublic-brand-text strong{font-family:Georgia,serif;font-size:1.15rem;letter-spacing:.06em}
.jpublic-brand-text small{font-size:.62rem;color:var(--janus-text-muted,#9ca9a4);letter-spacing:.04em}

.jpublic-nav-toggle{display:none;margin-left:auto;width:2.5rem;height:2.5rem;border:1px solid var(--janus-border-strong,#3a4c55);border-radius:8px;background:transparent;color:var(--janus-text,#f1f5f3);align-items:center;justify-content:center;cursor:pointer}

.jpublic-nav{display:flex;align-items:center;gap:1.75rem;margin-left:auto}
.jpublic-nav-links{display:flex;align-items:center;gap:1.5rem}
.jpublic-nav-link{font-size:.88rem;color:var(--janus-text-muted,#9ca9a4);padding:.3rem 0;border-bottom:2px solid transparent}
.jpublic-nav-link:hover{color:var(--janus-text,#f1f5f3)}
.jpublic-nav-actions{display:flex;align-items:center;gap:.75rem}

.jpublic-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;border-radius:8px;font-size:.88rem;font-weight:650;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:background var(--janus-transition,160ms ease),border-color var(--janus-transition,160ms ease),color var(--janus-transition,160ms ease)}
.jpublic-btn-primary{background:var(--janus-primary,#00c99a);color:#06211b}
.jpublic-btn-primary:hover{background:var(--janus-primary-hover,#00b38a);color:#06211b}
.jpublic-btn-ghost{background:transparent;color:var(--janus-text,#f1f5f3);border-color:var(--janus-border-strong,#3a4c55)}
.jpublic-btn-ghost:hover{border-color:var(--janus-primary,#00c99a);color:var(--janus-primary,#00c99a)}
.jpublic-btn-arrow svg{flex:0 0 auto}

main{display:block}

/* Footer (item 9): mínimo, apenas o que existe de verdade — sem links sociais/institucionais
   inexistentes. */
.jpublic-footer{background:var(--janus-bg,#090f12);border-top:1px solid var(--janus-border,#253239)}
.jpublic-footer-inner{max-width:1440px;margin:0 auto;padding:1.5rem clamp(1rem,3vw,2.5rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}
.jpublic-footer-brand{display:flex;align-items:baseline;gap:.5rem;font-size:.85rem;color:var(--janus-text-muted,#9ca9a4)}
.jpublic-footer-brand strong{font-family:Georgia,serif;color:var(--janus-text,#f1f5f3);letter-spacing:.04em}
.jpublic-footer-legal{display:flex;flex-wrap:wrap;gap:0 1.25rem;font-size:.8rem}
.jpublic-footer-legal a{color:var(--janus-text-muted,#9ca9a4);text-decoration:none}
.jpublic-footer-legal a:hover{color:var(--janus-text,#f1f5f3);text-decoration:underline}
.jpublic-footer-copy{margin:0;font-size:.76rem;color:var(--janus-text-muted,#9ca9a4)}

/* Navbar mobile (item 10): abaixo do breakpoint, os links/CTAs viram um painel colapsável
   controlado pelo botão hamburger (janus-public-nav.js: aria-expanded + classe .is-open). */
@media (max-width:900px){
    .jpublic-nav-toggle{display:inline-flex}
    .jpublic-nav{position:absolute;inset:100% 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--janus-bg,#090f12);border-bottom:1px solid var(--janus-border,#253239);padding:.5rem clamp(1rem,3vw,2.5rem) 1.25rem;display:none}
    .jpublic-nav.is-open{display:flex}
    .jpublic-nav-links{flex-direction:column;align-items:flex-start;gap:0}
    .jpublic-nav-link{width:100%;padding:.75rem 0;border-bottom:1px solid var(--janus-border,#253239)}
    .jpublic-nav-actions{flex-direction:column;align-items:stretch;margin-top:.75rem}
    .jpublic-nav-actions .jpublic-btn{width:100%}
}

@media (prefers-reduced-motion:reduce){
    .jpublic-btn{transition:none}
}
