/* Identidade compartilhada pelas duas páginas públicas. */
:is(.header, .apps-header) {
    position: fixed; inset: 0 0 auto; width: 100%; z-index: 1000;
    background: rgba(255,255,255,.88);
    border-bottom: 1px solid rgba(124,58,237,.08);
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
    box-shadow: var(--shadow);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
}
.header .navbar { padding: 0; }
.header .container, .apps-header .header-inner {
    width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px;
}
.header .nav-wrapper, .apps-header .header-inner {
    height: 80px; display: flex; align-items: center; justify-content: space-between;
}
.header .logo, .apps-header .brand {
    display: flex; align-items: center; gap: 8px;
    font-size: 24px; font-weight: 700; line-height: 1.6;
    text-decoration: none; background: none;
    -webkit-text-fill-color: initial;
}
.header .logo span, .apps-header .brand span {
    background: linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));
    background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.header .logo img, .apps-header .brand img {
    width: 48px; height: 48px; object-fit: contain; flex-shrink: 0;
    border-radius: 12px; box-shadow: none; mix-blend-mode: multiply;
}
:is(.hero, .catalog-hero) {
    position: relative; min-height: 100vh; padding: 80px 0;
    display: flex; align-items: center; justify-content: center;
    background: var(--gradient-hero); overflow: hidden; isolation: isolate;
}
:is(.hero, .catalog-hero)::before, :is(.hero, .catalog-hero)::after {
    content: ''; position: absolute; inset: auto; z-index: 0;
    border-radius: 50%; filter: blur(4px); pointer-events: none; transform: none;
}
:is(.hero, .catalog-hero)::before {
    width: 420px; height: 420px; top: -170px; right: -90px;
    background: rgba(255,255,255,.09);
}
:is(.hero, .catalog-hero)::after {
    width: 300px; height: 300px; bottom: -120px; left: -80px;
    background: rgba(245,158,11,.13);
}
.hero-overlay {
    position: absolute; inset: 0; pointer-events: none;
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"%3E%3Cpath fill="%23ffffff" fill-opacity=".1" d="M0,96L48,112C96,128,192,160,288,160C384,160,480,128,576,112C672,96,768,96,864,112C960,128,1056,160,1152,165.3C1248,171,1344,149,1392,138.7L1440,128L1440,320L0,320Z"/%3E%3C/svg%3E') bottom/cover no-repeat;
}
:is(.hero, .catalog-hero) .hero-content { position: relative; z-index: 1; }
@media (max-width: 768px) {
    .header .nav-wrapper, .apps-header .header-inner { height: 74px; }
    .header .logo, .apps-header .brand { font-size: 17.6px; }
    .header .logo img, .apps-header .brand img { width: 42px; height: 42px; border-radius: 10px; }
    .header .nav-menu { top: 74px; }
    :is(.hero, .catalog-hero) { min-height: 92vh; padding: 100px 0 80px; }
}
