html {
    scroll-behavior: smooth;
}

body {
    font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
    background: #fff;
    color: #111827;
    -webkit-font-smoothing: antialiased;
}

[x-cloak] {
    display: none !important;
}

.page-container {
    margin-inline: auto;
    width: 100%;
    max-width: 1400px;
    padding-inline: 1rem;
}

@media (min-width: 1024px) {
    .page-container {
        padding-inline: 1.5rem;
    }
}

.text-gradient {
    background: linear-gradient(135deg, #ffc933 0%, #ff6a00 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.bg-grid-tech {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(0, 0, 0, 0.03) 1px, transparent 1px);
    background-size: 48px 48px;
}

.glow-hero {
    background: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(255, 106, 0, 0.08), transparent 70%);
}

.segment-card-media {
    background: linear-gradient(145deg, #fff8f3 0%, #f8f9fb 55%, #ffffff 100%);
}

/* Banner hero das páginas de segmento — drift suave */
@keyframes hero-banner-drift {
    0%,
    100% {
        transform: translateY(0) scale(1);
    }

    50% {
        transform: translateY(-12px) scale(1.02);
    }
}

.hero-banner-visual {
    animation: hero-banner-drift 5.5s ease-in-out infinite;
    transform-origin: center center;
}

@media (prefers-reduced-motion: reduce) {
    .hero-banner-visual {
        animation: none;
    }
}

@keyframes segment-drift {
    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-7px) rotate(2deg);
    }
}

@keyframes segment-drift-alt {
    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(6px) rotate(-2deg);
    }
}

.segment-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 28px rgba(255, 106, 0, 0.14), 0 2px 8px rgba(17, 24, 39, 0.05);
    border: 1px solid rgba(255, 106, 0, 0.12);
    backdrop-filter: blur(10px);
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.segment-icon-orbit {
    animation: segment-drift 4.8s ease-in-out infinite;
}

.segment-icon-orbit.alt {
    animation-name: segment-drift-alt;
}

.segment-icon-orbit.d1 {
    animation-delay: -1.2s;
}

.segment-icon-orbit.d2 {
    animation-delay: -2.4s;
}

.segment-icon-orbit.d3 {
    animation-delay: -3.6s;
}

.group:hover .segment-icon-main {
    transform: scale(1.08) translateY(-4px);
}

.group:hover .segment-icon-orbit {
    transform: scale(1.05);
}

@media (max-width: 1023px) {
    .oba-mobile-menu-btn {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .oba-desktop-only {
        display: none !important;
    }
}

@media (min-width: 1024px) {
    .oba-mobile-menu-btn {
        display: none !important;
    }

    .oba-mobile-menu-panel {
        display: none !important;
    }
}

/* —— Páginas legais (termos, privacidade) —— */
.legal-prose {
    color: #374151;
    font-size: 0.9375rem;
    line-height: 1.75;
}

.legal-prose p {
    margin-bottom: 1rem;
}

.legal-prose h2 {
    margin-top: 2.25rem;
    margin-bottom: 0.75rem;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #111827;
}

.legal-prose h2:first-child {
    margin-top: 0;
}

.legal-prose h3 {
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    font-size: 1.0625rem;
    font-weight: 600;
    color: #111827;
}

.legal-prose ul,
.legal-prose ol {
    margin: 0.5rem 0 1rem 1.25rem;
}

.legal-prose li {
    margin-bottom: 0.5rem;
}

.legal-prose a {
    color: #ff6a00;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.12s ease;
}

.legal-prose a:hover {
    color: #e55f00;
}

.legal-prose strong {
    font-weight: 600;
    color: #111827;
}
