/* Páginas públicas: landing, login */
.pub { max-width: 1240px; margin: 0 auto; padding: 18px 18px 40px; }
.pub-nav { position: sticky; top: 12px; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 14px 10px 18px; border-radius: 999px; }
.pub-links { display: flex; gap: 4px; }
.pub-links a { padding: 8px 14px; border-radius: 999px; color: var(--text-2); text-decoration: none; font-weight: 500; font-size: 14px; }
.pub-links a:hover { background: var(--glass-soft); color: var(--text); }
.hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 36px; align-items: center; padding: 70px 8px 50px; }
.hero h1 { font-size: clamp(34px, 5vw, 58px); margin: 16px 0; letter-spacing: -.03em; }
.hero .lead { font-size: 18px; color: var(--text-2); max-width: 52ch; margin-bottom: 24px; }
.hero-copy .row { margin-bottom: 14px; }
.hero-preview { padding: 18px; border-radius: var(--r-xl); transform: perspective(1400px) rotateY(-6deg) rotateX(3deg); }
.sec { padding: 46px 8px; }
.sec h2 { font-size: clamp(26px, 3.2vw, 38px); margin-bottom: 8px; letter-spacing: -.02em; }
.band { padding: 36px; border-radius: var(--r-xl); margin: 20px 0; }
.pub-foot { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 26px 8px 0; border-top: 1px solid var(--edge-soft); margin-top: 30px; }
.auth-wrap { min-height: 100vh; display: grid; place-items: center; padding: 20px; }
.auth-card { width: min(440px, 100%); padding: 32px; border-radius: var(--r-xl); }
@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; padding-top: 34px; } .hero-preview { transform: none; }
  .pub-links { display: none; } .band { padding: 22px; }
}
