/* aria-label placeholder */
/* jornada.css */
:root {
    --color-bg-dark: #050505;
    --color-bg-deep: #0a0c0a;
    /* Monochrome Theme */
    --color-forest: #FFFFFF;
    --color-forest-light: rgba(255, 255, 255, 0.8);
    --color-gold: #F4F4F4;
    --color-gold-glow: #1a1a1a;
    --color-cyan: #FFFFFF;
    --color-cyan-glow: rgba(255, 255, 255, 0.1);
    --color-text-main: #F4F4F4;
    --color-text-muted: #808080;

    --font-heading: 'Cormorant Garamond', serif;
    --font-body: 'Outfit', sans-serif;

    /* Spring-like easing for animations */
    --ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: var(--color-bg-dark);
    color: var(--color-text-main);
    font-family: var(--font-body);
    overflow-x: hidden;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
}

body > section,
body > footer,
body > .carta-container {
    animation: page-enter-scale 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    transform-origin: center top;
    opacity: 1;
    transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

body.page-fade-out > section,
body.page-fade-out > footer,
body.page-fade-out > .carta-container {
    opacity: 0 !important;
    transform: scale(0.92) !important; /* Diminui de tamanho ao sair */
}

@keyframes page-enter-scale {
    from {
        opacity: 0;
        transform: scale(0.92); /* Começa menor e aumenta de tamanho ao entrar */
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Typography Constraints */
h1,
h2,
h3,
h4 {
    font-family: var(--font-heading);
    font-weight: 400;
}

.text-massive {
    font-size: clamp(3rem, 10vw, 10rem);
    line-height: 0.85;
    letter-spacing: -0.03em;
    text-transform: uppercase;
}

.text-large {
    font-size: clamp(2.5rem, 6vw, 5rem);
    line-height: 1;
    letter-spacing: -0.02em;
}

.text-gold {
    color: var(--color-gold);
}

.text-muted {
    color: var(--color-text-muted);
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-4 {
    margin-bottom: 2rem;
}

.mb-5 {
    margin-bottom: 3rem;
}

.mt-4 {
    margin-top: 2rem;
}

.mt-5 {
    margin-top: 3rem;
}

.text-center {
    text-align: center;
}

/* Base Layouts (Anti-Safe Harbor) */
.section {
    position: relative;
    padding: 15vh 5vw;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.page-bg-video {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    object-fit: cover;
    opacity: 0.25;
    pointer-events: none;
    filter: grayscale(100%);
}

.continuous-stream {
    /* No borders, dark backgrounds bleeding into each other */
    border: none;
}

.wrapper {
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
    position: relative;
    z-index: 2;
}

/* Layout Fragmentations */
.asym-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
}

@media(min-width: 1024px) {
    .asym-layout {
        grid-template-columns: repeat(12, 1fr);
    }

    .asym-layout.align-right .text-block {
        grid-column: 6 / 13;
    }

    .asym-layout.align-left .text-block {
        grid-column: 1 / 8;
    }

}

/* Buttons */
.btn-glow,
.btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 2.5rem;
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 1.1rem;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: all 0.4s var(--ease-spring);
    cursor: pointer;
    border: none;
    position: relative;
    overflow: hidden;
    border-radius: 0;
    /* Brutalist geometry */
    flex-shrink: 0;
}

.btn-glow {
    background: transparent;
    color: #FFFFFF;
    border: 2px solid #a62cde;
    box-shadow: 0 0 15px rgba(166, 44, 222, 0.5), 0 0 30px rgba(166, 44, 222, 0.2), inset 0 0 10px rgba(166, 44, 222, 0.1);
    transition: all 0.4s var(--ease-spring);
}

.btn-glow:hover {
    background: rgba(166, 44, 222, 0.2);
    border-color: #a62cde;
    color: #FFFFFF;
    box-shadow: 0 0 25px rgba(166, 44, 222, 0.7), 0 0 50px rgba(166, 44, 222, 0.4), inset 0 0 20px rgba(166, 44, 222, 0.2);
    transform: scale(1.08);
}

.btn-outline {
    background: transparent;
    color: var(--color-gold);
    border: 1px solid var(--color-gold);
}

.btn-outline:hover {
    background: rgba(212, 175, 55, 0.1);
    transform: scale(1.08);
}

.btn-large {
    padding: 1.5rem 3.5rem;
    font-size: 1.3rem;
}

.btn-full {
    width: 100%;
}

.cta-group {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-top: 3rem;
    z-index: 10;
    position: relative;
}

/* Hero Special */
.hero-section {
    justify-content: flex-end;
    /* Push content down structurally */
    padding-bottom: 20vh;
}

#particles-js {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    opacity: 0.4;
    pointer-events: none;
}

.hero-content {
    pointer-events: none;
    /* Let clicks pass if needed, except buttons */
}

.hero-content .cta-group {
    pointer-events: auto;
}

/* Bloco legado removido para evitar conflitos */

/* Mobile adjustments */
@media(max-width: 768px) {
    .earth-button-wrapper {
        display: block !important;
    }
    .celestial-center-mobile {
        display: none !important;
    }
    .hero-visual {
        position: relative;
        width: 285px !important;
        height: 285px !important;
        margin-top: calc(2rem + 5vh) !important;
        top: auto;
        right: auto;
    }
    .portrait-img-large {
        width: 285px !important;
        height: 285px !important;
        object-fit: cover !important;
    }
}

.aura-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    height: 80%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    filter: blur(60px);
    z-index: -1;
    opacity: 0.4;
    animation: pulseAura 8s infinite alternate;
}

.portrait-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: lighten;
}

@keyframes pulseAura {
    0% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.3;
    }

    100% {
        transform: translate(-50%, -50%) scale(1.2);
        opacity: 0.7;
    }

}

/* Scroll Animations */
.reveal-text,
.reveal-fade,
.reveal-up {
    opacity: 0;
    transform: translateY(40px);
    transition: all 1s var(--ease-smooth);
}

.reveal-scale {
    opacity: 0;
    transform: scale(0.9);
    transition: all 1.2s var(--ease-spring);
}

.is-revealed {
    opacity: 1;
    transform: translate(0) scale(1);
}

.delay-1 {
    transition-delay: 0.2s;
}

.delay-2 {
    transition-delay: 0.4s;
}

.delay-3 {
    transition-delay: 0.6s;
}

/* Quiz Styles */
.forest-depth {
    background: linear-gradient(to bottom, var(--color-bg-dark), var(--color-bg-deep), var(--color-bg-dark));
}

.quiz-container {
    background: transparent;
    border: none;
    padding: 2rem 4rem;
    position: relative;
    backdrop-filter: none;
    transition: all 0.5s var(--ease-smooth);
}

.quiz-question {
    font-size: 2.2rem;
    font-family: var(--font-heading);
    margin-bottom: 2.5rem;
    min-height: 80px;
    color: var(--color-gold);
    text-align: center;
}

/* Hero Quote (Imagem Style) */
.neon-phrase {
    background: none;
    border: none;
    padding: 0;
    font-family: var(--font-heading);
    font-style: italic;
    font-size: 2.64rem;
    color: var(--color-gold);
    text-align: center;
    line-height: 1.5;
    text-shadow: 0 0 15px rgba(223, 180, 42, 0.74),
        0 0 30px rgba(212, 175, 55, 0.2);
    margin-top: 3rem;
    max-width: none;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    white-space: normal;
}

.hero-photo {
    width: 350px;
    height: 350px;
    object-fit: cover;
    border: 2px solid var(--color-gold);
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
    margin-bottom: 2rem;
}

.quiz-options {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.quiz-btn {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 1.8rem 2rem;
    color: var(--color-text-main);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 300;
    text-align: left;
    cursor: pointer;
    transition: all 0.4s var(--ease-smooth);
    position: relative;
    overflow: hidden;
    letter-spacing: 0.05em;
    border-radius: 2px;
}

.quiz-btn::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0;
    background: rgba(135, 206, 235, 0.12);
    transition: width 0.3s var(--ease-smooth);
    z-index: -1;
    opacity: 1;
}

.quiz-btn:hover {
    background: rgba(135, 206, 235, 0.08);
    border-color: rgba(135, 206, 235, 0.55);
    color: #ffffff;
    padding-left: 3rem;
    letter-spacing: 0.1em;
    box-shadow: 0 0 12px rgba(135, 206, 235, 0.18);
}

.quiz-btn:hover::before {
    width: 100%;
}

.quiz-result {
    text-align: center;
}

.quiz-result h3 {
    font-size: 3rem;
    color: var(--color-gold);
    margin-bottom: 1rem;
}

/* Pain points cloud */
.pain-points-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}

.pain-tag {
    font-size: 0.9rem;
    padding: 0.5rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--color-text-muted);
    transition: all 0.3s;
}

.pain-tag:hover {
    border-color: rgba(135, 206, 235, 0.7);
    color: #b8e8f7;
    background: rgba(135, 206, 235, 0.08);
    box-shadow: 0 0 8px rgba(135, 206, 235, 0.2);
}

/* Floating Crisis Button */
.floating-crisis-btn {
    position: fixed;
    bottom: 2rem;
    left: 2rem;
    background: transparent;
    color: #FFFFFF;
    border: 2px solid #FFFFFF;
    border-radius: 50px;
    padding: 0.8rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    z-index: 100;
    box-shadow: 0 0 25px rgba(255, 255, 255, 0.6), 0 0 50px rgba(255, 255, 255, 0.3);
    font-family: var(--font-body);
    font-weight: 600;
    transition: all 0.3s var(--ease-spring);
}

.floating-crisis-btn:hover {
    transform: scale(1.05);
}

/* Floating Social Capsule (Bottom-Right) */
.floating-social-capsule {
    position: fixed;
    bottom: 2rem;
    right: calc(2rem - 0.5vw);
    z-index: 1000;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50px;
    width: 120px;
    height: 42px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    transition: all 0.4s var(--ease-spring);
}

.floating-social-capsule:hover {
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 0 25px rgba(255, 255, 255, 0.1), 0 0 50px rgba(0, 0, 0, 0.4);
    background: rgba(10, 10, 10, 0.6);
    transform: translateY(-5px);
}

.floating-social-capsule a {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.4);
    font-family: var(--font-body);
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.social-btn-wa:hover {
    color: #25D366 !important;
    text-shadow: 0 0 10px rgba(37, 211, 102, 0.6);
}

.social-btn-ig:hover {
    color: #E4405F !important;
    text-shadow: 0 0 10px rgba(228, 64, 95, 0.6);
}

.social-btn-fb:hover {
    color: #1877F2 !important;
    text-shadow: 0 0 10px rgba(24, 119, 242, 0.6);
}

/* Sophisticated Staggered Pulse for Socials (8s Cycle) */
.social-btn-fb.pulse {
    animation: pulse-fb-white 8s infinite;
}

.social-btn-wa.pulse {
    animation: pulse-wa-white 8s infinite 2.6s;
    /* Staggered */
}

.social-btn-ig.pulse {
    animation: pulse-ig-white 8s infinite 5.3s;
    /* Staggered */
}

@keyframes pulse-fb-white {

    0%,
    85%,
    100% {
        color: rgba(255, 255, 255, 0.4);
        text-shadow: none;
    }

    92% {
        color: #1877F2;
        text-shadow: 0 0 15px rgba(24, 119, 242, 0.8);
    }
}

@keyframes pulse-wa-white {

    0%,
    85%,
    100% {
        color: rgba(255, 255, 255, 0.4);
        text-shadow: none;
    }

    92% {
        color: #25D366;
        text-shadow: 0 0 15px rgba(37, 211, 102, 0.8);
    }
}

@keyframes pulse-ig-white {

    0%,
    85%,
    100% {
        color: rgba(255, 255, 255, 0.4);
        text-shadow: none;
    }

    92% {
        color: #E4405F;
        text-shadow: 0 0 15px rgba(228, 64, 95, 0.8);
    }
}

/* Journey Timeline Alternating */
.journey-timeline {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem 0;
}

/* Central Dashed Line */
.journey-timeline::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    border-left: none;
    background: repeating-linear-gradient(to bottom,
            var(--color-gold) 0,
            var(--color-gold) 4px,
            transparent 4px,
            transparent 20px);
    z-index: 1;
}

.journey-step {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    margin-bottom: 4rem;
    width: 100%;
    min-height: 80px;
}

.step-left,
.step-right {
    width: 43%;
    position: relative;
    z-index: 2;
}

.step-left {
    text-align: right;
    padding-right: 2rem;
}

.step-right {
    text-align: left;
    padding-left: 2rem;
}

/* Esconde as linhas se não for a última, apenas se precisar fazer linha quebrada, mas temos ::before */
.journey-step::after {
    display: none;
}

.step-num {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--font-heading);
    font-size: 3.5rem;
    color: var(--color-gold);
    background-color: transparent;
    line-height: 1;
    z-index: 3;
    padding: 1rem 0;
    text-align: center;
    width: 5rem;
}

.step-title {
    font-size: 2.6rem;
    color: var(--color-text-main);
    margin-bottom: 0.5rem;
    line-height: 1.1;
}

.journey-step p {
    font-size: 1.1rem;
    color: var(--color-text-muted);
    margin: 0;
}

/* Responsive: Journey as centered cards for screens < 55% (1056px) */
@media (max-width: 1056px) {
    .journey-timeline {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2rem;
        padding: 1rem 0;
    }

    .journey-timeline::before {
        display: none;
    }

    .journey-step {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 2.5rem 2rem;
        margin-bottom: 0;
        width: 90%;
        max-width: 500px;
        background: rgba(255, 255, 255, 0.03);
        border: 1px solid rgba(255, 255, 255, 0.06);
        border-radius: 16px;
        backdrop-filter: blur(4px);
        transition: border-color 0.4s ease, box-shadow 0.4s ease;
    }

    .journey-step:hover {
        border-color: var(--theme-color);
        box-shadow: 0 0 20px rgba(188, 19, 254, 0.15);
    }

    /* Force order: Number(1) → Title(2) → Description(3) */
    .step-num {
        position: static;
        transform: none;
        order: 1;
        font-size: 2.2rem;
        margin-bottom: 0.8rem;
        width: auto;
        opacity: 0.5;
    }

    .step-left,
    .step-right {
        width: 100%;
        text-align: center !important;
        padding: 0;
    }

    /* Odd steps (01,03,05,07): title in step-left, desc in step-right */
    .journey-step:nth-child(odd) .step-left {
        order: 2;
    }
    .journey-step:nth-child(odd) .step-right {
        order: 3;
    }

    /* Even steps (02,04,06,08): title in step-right, desc in step-left */
    .journey-step:nth-child(even) .step-right {
        order: 2;
    }
    .journey-step:nth-child(even) .step-left {
        order: 3;
    }

    .step-title {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }

    .journey-step p {
        font-size: 1rem;
        line-height: 1.6;
    }
}

/* Therapy Cards */
.cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 3rem;
    margin-top: 2rem;
}

.glass-card {
    background: rgba(255, 255, 255, 0.01);
    border: 1px solid rgba(255, 255, 255, 0.04);
    padding: 2.5rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
    transition: all 0.4s var(--ease-smooth);
}

.glass-card:hover {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.15);
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

/* Smoke Card (Sessão Individual) */
.smoke-card {
    position: relative;
    overflow: hidden;
}

.smoke-card>h3,
.smoke-card>p,
.smoke-card>a {
    position: relative;
    z-index: 2;
}

.card-smoke {
    position: absolute;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 40%, transparent 70%);
    filter: blur(40px);
    z-index: 1;
    top: 20%;
    left: 10%;
    animation: smokeFloat 6s ease-in-out infinite alternate;
    pointer-events: none;
}

.card-smoke-2 {
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 40%, transparent 70%);
    top: 50%;
    left: 50%;
    animation: smokeFloat2 8s ease-in-out infinite alternate;
}

@keyframes smokeFloat {
    0% {
        transform: translate(0, 0) scale(1);
        opacity: 0.6;
    }

    50% {
        transform: translate(30px, -20px) scale(1.3);
        opacity: 0.8;
    }

    100% {
        transform: translate(-20px, 10px) scale(1.1);
        opacity: 0.5;
    }
}

@keyframes smokeFloat2 {
    0% {
        transform: translate(0, 0) scale(1.1);
        opacity: 0.4;
    }

    50% {
        transform: translate(-25px, 15px) scale(1.4);
        opacity: 0.7;
    }

    100% {
        transform: translate(15px, -25px) scale(0.9);
        opacity: 0.5;
    }
}

.glass-card h3 {
    font-size: 1.8rem;
    margin-top: 0;
    margin-bottom: 0.6rem;
    color: var(--color-gold);
}

.glass-card p {
    color: var(--color-text-muted);
    margin-bottom: 1.2rem;
    flex-grow: 1;
    font-size: 1.05rem;
}

.card-avatar-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 0.5rem;
    width: 100%;
    z-index: 2;
    position: relative;
}

.card-avatar {
    width: 75px;
    height: 75px;
    object-fit: contain;
    opacity: 0.95;
}

.premium-card {
    position: relative;
    border-color: #202020;
    overflow: hidden;
}

.card-aura {
    position: absolute;
    top: 15%;
    left: 13%;
    transform: translate(-50%, -50%);
    width: 140px;
    height: 140px;
    background: var(--color-forest);
    filter: blur(60px);
    opacity: 0.6;
    z-index: 0;
}

.card-aura-yellow {
    position: absolute;
    top: 15%;
    left: 13%;
    transform: translate(-50%, -50%);
    width: 140px;
    height: 140px;
    background: var(--color-gold);
    filter: blur(60px);
    opacity: 0.25;
    z-index: 0;
}

.premium-card * {
    position: relative;
    z-index: 1;
}

/* Depoimentos */
.testimonials-slider {
    position: relative;
    background: rgba(255, 255, 255, 0.02);
    padding: 4rem;
    border-left: 3px solid var(--color-forest);
    text-align: center;
}

.testimonial-story {
    font-size: 1.3rem;
}

.testimonial-story .before {
    color: var(--color-text-muted);
    font-style: italic;
    margin-bottom: 1rem;
}

.testimonial-story .after {
    color: var(--color-text-main);
    font-weight: 500;
    margin-bottom: 2rem;
}

.testimonial-story .author {
    color: var(--color-gold);
    font-family: var(--font-heading);
    font-size: 1.5rem;
}

/* Modal Crise */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(15px);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s;
}

/* --- Floating Language Switcher --- */
.floating-lang-switcher {
    position: fixed;
    bottom: 2rem;
    left: calc(2rem - 0.8vw);
    z-index: 1000;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50px;
    width: 120px;
    height: 42px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    transition: all 0.4s var(--ease-spring);
}

.floating-lang-switcher:hover {
    border-color: rgba(255, 255, 255, 0.4);
    box-shadow: 0 0 25px rgba(255, 255, 255, 0.15), 0 0 50px rgba(0, 0, 0, 0.4);
    background: rgba(10, 10, 10, 0.6);
    transform: translateY(-5px);
}

.floating-lang-switcher button {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.4);
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0.25rem 0.5rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.floating-lang-switcher button:hover {
    color: #FFFFFF;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.6);
}

.floating-lang-switcher button.active {
    color: #FFFFFF;
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.4);
}

.nav-special-ciano {
    border-color: rgba(188, 19, 254, 0.1);
    box-shadow: 0 0 10px rgba(188, 19, 254, 0.05);
    animation: pulse-special-ciano 8s infinite;
}

@keyframes pulse-special-ciano {

    0%,
    85%,
    100% {
        border-color: rgba(188, 19, 254, 0.1);
        box-shadow: 0 0 10px rgba(188, 19, 254, 0.05);
        background: rgba(255, 255, 255, 0.03);
    }

    92% {
        border-color: var(--theme-color);
        box-shadow: 0 0 25px rgba(188, 19, 254, 0.4), inset 0 0 15px rgba(188, 19, 254, 0.2);
        background: rgba(188, 19, 254, 0.15);
    }
}

.nav-special-ciano:hover {
    border-color: var(--theme-color);
    box-shadow: 0 0 20px rgba(188, 19, 254, 0.2), inset 0 0 10px rgba(188, 19, 254, 0.1);
    background: rgba(188, 19, 254, 0.08);
    transform: translateY(-2px);
}

.nav-special-gold {
    border-color: rgba(253, 228, 0, 0.2);
    box-shadow: 0 0 10px rgba(253, 228, 0, 0.05);
    animation: pulse-special-gold 8s infinite 4s;
    /* Staggered by 4s for sophistication */
}

@keyframes pulse-special-gold {

    0%,
    85%,
    100% {
        border-color: rgba(253, 228, 0, 0.2);
        box-shadow: 0 0 10px rgba(253, 228, 0, 0.05);
        background: rgba(255, 255, 255, 0.03);
    }

    92% {
        border-color: var(--color-gold);
        box-shadow: 0 0 25px rgba(253, 228, 0, 0.5), inset 0 0 15px rgba(253, 228, 0, 0.2);
        background: rgba(253, 228, 0, 0.15);
    }
}

.nav-special-gold:hover {
    border-color: var(--color-gold);
    box-shadow: 0 0 20px rgba(253, 228, 0, 0.3), inset 0 0 10px rgba(253, 228, 0, 0.1);
    background: rgba(253, 228, 0, 0.08);
    transform: translateY(-2px);
}

.nav-special-white {
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.05);
    animation: pulse-special-white 8s infinite 2s;
}

@keyframes pulse-special-white {

    0%,
    85%,
    100% {
        border-color: rgba(255, 255, 255, 0.2);
        box-shadow: 0 0 10px rgba(255, 255, 255, 0.05);
        background: rgba(255, 255, 255, 0.03);
    }

    92% {
        border-color: #ffffff;
        box-shadow: 0 0 25px rgba(255, 255, 255, 0.5), inset 0 0 15px rgba(255, 255, 255, 0.2);
        background: rgba(255, 255, 255, 0.1);
    }
}

.nav-special-white:hover {
    border-color: #ffffff;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.3), inset 0 0 10px rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-2px);
}

.modal-content {
    background: var(--color-bg-dark);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 4rem;
    width: 90%;
    max-width: 600px;
    position: relative;
    text-align: center;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.8);
}

.close-modal {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: none;
    border: none;
    color: var(--color-text-main);
    font-size: 2.5rem;
    cursor: pointer;
}

.modal-title {
    font-size: 3rem;
    color: var(--color-gold);
    margin-bottom: 1rem;
}

.audio-player {
    margin: 3rem 0;
    padding: 2rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.btn-play-audio {
    background: none;
    border: none;
    color: var(--color-text-main);
    font-size: 1.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 100%;
}

.btn-play-audio:hover {
    color: var(--color-gold);
}

/* Sentimentalizando Group */
.community-bg {
    background: url('assets/unnamed2.jpg') no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
    position: relative;
}

.community-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(5, 5, 5, 0.95) 0%, rgba(10, 12, 10, 0.85) 100%);
}

.community-bg .text-block {
    position: relative;
    z-index: 1;
    backdrop-filter: blur(10px);
    background: transparent;
    padding: 3rem;
    border-radius: 20px;
    border: none;
    box-shadow: none;
}

/* Book Layout */
/* Book Layout - Elite Noir Optimization */
.book-layout {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 4rem;
    text-align: center;
}

@media(min-width: 1024px) {
    .book-layout {
        grid-template-columns: 400px 1fr;
        text-align: left;
    }

    .book-img-container {
        margin: 0;
    }

    .book-info {
        padding-left: 2rem;
    }

    .cta-group {
        justify-content: flex-start !important;
    }
}

.book-img-container {
    position: relative;
    width: 280px;
    height: 400px;
    margin: 0 auto;
}

.book-neon-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.6s var(--ease-smooth);
    z-index: 10;
    animation: tacticalFloat 6s ease-in-out infinite;
}

@keyframes tacticalFloat {
    0%, 100% { transform: translate(-50%, -50%); }
    50% { transform: translate(-50%, -55%); }
}

/* Premium Gold Border - Borda do Livro */
.book-neon-wrapper::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: 4px;
    background: linear-gradient(var(--color-gold), transparent, var(--color-gold));
    z-index: 0;
    opacity: 0.3;
    transition: all 0.5s ease;
}

/* Outer Soft Glow */
.book-neon-wrapper::after {
    content: '';
    position: absolute;
    inset: -15px;
    border-radius: 8px;
    background: var(--color-gold);
    filter: blur(30px);
    opacity: 0.05;
    z-index: -1;
    transition: opacity 0.5s ease;
}

.book-img-container:hover .book-neon-wrapper::before {
    opacity: 1;
}

.book-img-container:hover .book-neon-wrapper::after {
    opacity: 0.3;
}

.book-img-container:hover .book-neon-wrapper {
    transform: translate(-50%, -50%) scale(1.05);
}

.book-glow {
    position: absolute;
    left: 10%;
    top: 10%;
    width: 80%;
    height: 80%;
    background: var(--color-gold);
    filter: blur(60px);
    opacity: 0.2;
    z-index: 1;
}

@media(max-width: 992px) {
    .book-layout {
        grid-template-columns: 1fr;
    }

    .book-img-container {
        height: 40vh;
    }

}

.combo-box {
    border: none;
    border-left: 4px solid var(--color-gold);
    padding: 2rem 2.5rem;
    margin-bottom: 3rem;
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(8px);
    transition: all 0.4s var(--ease-smooth);
    position: relative;
    overflow: hidden;
}

.combo-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255,255,255,0.05), transparent);
    opacity: 0;
    transition: opacity 0.4s;
}

.combo-box:hover {
    background: rgba(255, 255, 255, 0.05);
    transform: translateX(10px);
}

.combo-box:hover::before {
    opacity: 1;
}

.combo-box h4 {
    color: var(--color-gold);
    font-size: 1.6rem;
    margin-bottom: 0.8rem;
    font-family: var(--font-heading);
    letter-spacing: 0.02em;
}

/* Preview Inline Grid */
.preview-inline-container {
    margin-top: 3rem;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.8s var(--ease-smooth);
}

.preview-inline-container.active {
    max-height: 1000px;
}

.preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1.5rem;
    padding: 2rem 0;
}

.preview-card {
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0,0,0,0.3);
    padding: 5px;
    transition: all 0.4s var(--ease-smooth);
    cursor: zoom-in;
}

.preview-card:hover {
    border-color: var(--color-gold);
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.preview-card img {
    width: 100%;
    height: auto;
    display: block;
    filter: grayscale(0.5);
    transition: filter 0.4s;
}

.preview-card:hover img {
    filter: grayscale(0);
}

.final-cta {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 1px solid transparent;
}

.final-cta .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* Atualizado: Efeito de Trovão e Layout na Direita */
.hero-section .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 40px;
    text-align: center;
}

.hero-content {
    flex: 1;
    max-width: 600px;
}

/* Responsividade (imagem vai pra cima no mobile) */
@media (max-width: 900px) {
    .hero-section .wrapper {
        flex-direction: column;
        text-align: center;
    }

    .hero-content {
        max-width: 100%;
    }

}

.hero-visual-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.hero-visual {
    position: relative;
    width: 380px;
    height: 380px;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
}

/* Efeito Trovão - Raios Base */
.hero-visual::before {
    content: '';
    position: absolute;
    inset: -14px;
    border-radius: 50%;
    background: conic-gradient(from 0deg,
            transparent 0%,
            #FFD700 5%,
            #FFFFFF 8%,
            rgb(138, 43, 226) 12%,
            transparent 20%,
            transparent 40%,
            #FFD700 45%,
            #FFFFFF 50%,
            rgb(138, 43, 226) 55%,
            transparent 65%,
            transparent 80%,
            #FFD700 85%,
            #FFFFFF 90%,
            rgb(138, 43, 226) 95%,
            transparent 100%);
    animation: rotate-lightning 1.5s linear infinite, thunder-flash 4s infinite;
    z-index: 0;
}

/* Raios Intermitentes Adicionais (Efeito Elétrico) */
.hero-visual::after {
    content: '';
    position: absolute;
    inset: -22px;
    border-radius: 50%;
    background: conic-gradient(from 45deg,
            transparent 0%,
            rgb(138, 43, 226) 2%,
            #FFFFFF 4%,
            transparent 6%,
            transparent 100%);
    animation: rotate-lightning 0.8s linear infinite reverse, thunder-flash 1.5s infinite;
    z-index: -1;
}

@keyframes rotate-lightning {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }

}

.portrait-img {
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border-radius: 50%;
    object-fit: cover;
    z-index: 1;
    position: relative;
}

.aura-glow {
    display: none;
}

/* CSS Adicional para o Novo Header e Reset da Imagem do Herói */
.top-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(220, 220, 225, 0.15); /* Light silver transparent */
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    z-index: 1000;
    min-height: 50px; /* Decreased height */
    padding: 6px 0; /* Decreased vertical padding */
    border-bottom: 1px solid rgba(255, 255, 255, 0.15); /* Sleek light silver border */
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
}

/* Fluid width to push brand left and space portal right on extreme screen edges (desktop only) */
@media (min-width: 961px) {
    .top-nav .nav-container {
        max-width: none !important;
        width: 100% !important;
        padding: 0 20px !important;
        box-sizing: border-box;
    }
}

/* Moving Stars Background for Menu */
.nav-stars {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    opacity: 0.4;
    overflow: hidden;
}

.nav-stars::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: 
        radial-gradient(1px 1px at 10% 20%, #fff 100%, transparent 0),
        radial-gradient(1.5px 1.5px at 25% 40%, rgba(255,255,255,0.7) 100%, transparent 0),
        radial-gradient(1px 1px at 40% 70%, #d4af37 100%, transparent 0),
        radial-gradient(1.2px 1.2px at 55% 25%, #fff 100%, transparent 0),
        radial-gradient(1px 1px at 70% 80%, rgba(212,175,55,0.4) 100%, transparent 0),
        radial-gradient(1.5px 1.5px at 85% 15%, #fff 100%, transparent 0),
        radial-gradient(1px 1px at 95% 55%, #fff 100%, transparent 0);
    background-size: 50% 100%;
    animation: pan-stars 150s linear infinite;
}

@keyframes pan-stars {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* 8 Blinking Stars */
.blinking-star {
    position: absolute;
    width: 2px;
    height: 2px;
    background: #fff;
    border-radius: 50%;
    opacity: 0;
    animation: star-shine 4s ease-in-out infinite;
    z-index: 1;
}

.blinking-star::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 50%;
    filter: blur(2px);
    opacity: 0.8;
}

@keyframes star-shine {
    0%, 100% { opacity: 0; transform: scale(0.5); }
    50% { opacity: 1; transform: scale(1.2); box-shadow: 0 0 10px #fff, 0 0 20px #d4af37; }
}

/* Individual Star Positions and Delays */
.s1 { top: 20%; left: 15%; animation-delay: 0s; }
.s2 { top: 60%; left: 35%; animation-delay: 1.2s; width: 3px; height: 3px; }
.s3 { top: 30%; left: 55%; animation-delay: 2.5s; }
.s4 { top: 75%; left: 75%; animation-delay: 0.8s; }
.s5 { top: 15%; left: 85%; animation-delay: 3.1s; width: 2.5px; height: 2.5px; }
.s6 { top: 50%; left: 10%; animation-delay: 1.9s; }
.s7 { top: 40%; left: 45%; animation-delay: 0.5s; width: 1.5px; height: 1.5px; }
.s8 { top: 85%; left: 95%; animation-delay: 2.8s; }

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
}

.nav-brand {
    display: flex;
    align-items: center;
    gap: 15px;
    justify-content: flex-start;
    flex-shrink: 0;
}

.nav-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
    flex-shrink: 0;
}

.nav-mobile-only {
    display: none !important;
}

.nav-logo {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    text-decoration: none;
    position: relative;
    padding: 6px 30px 6px 0; /* Align vertical padding with .nav-logo-right */
    overflow: visible;
}

.nav-brand > .nav-logo {
    margin-left: 0;
}

.nav-logo-right {
    position: relative;
    left: 3vw;
}

/* Starfield Background for Logo Area */
.nav-logo::before {
    content: '';
    position: absolute;
    inset: 0;
    background: 
        radial-gradient(1px 1px at 10% 20%, #fff 100%, transparent 0),
        radial-gradient(1px 1px at 30% 50%, #fff 100%, transparent 0),
        radial-gradient(1px 1px at 50% 80%, #fff 100%, transparent 0),
        radial-gradient(2px 2px at 80% 30%, #fff 100%, transparent 0),
        radial-gradient(1px 1px at 90% 10%, #fff 100%, transparent 0);
    background-size: 100% 100%;
    opacity: 0.3;
    pointer-events: none;
    z-index: 0;
}

/* ===== Celestial Orbit System ===== */
/* Sun and Moon orbit around the logo text center with directional glow beams */

.celestial-body {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 5;
    /* Position at center of .nav-logo */
    top: 50%;
    left: 50%;
    margin-top: -7px;
    margin-left: -7px;
}

/* --- Sun --- */
.sun {
    width: 14px;
    height: 14px;
    background: radial-gradient(circle at 35% 35%, #fffbe6, #ffd700, #b8860b);
    box-shadow: 
        0 0 12px 4px rgba(255, 215, 0, 0.8),
        0 0 30px 8px rgba(212, 175, 55, 0.5),
        0 0 60px 16px rgba(212, 175, 55, 0.25);
    animation: 
        celestial-orbit-sun 30s linear infinite,
        sun-glow-pulse 2.5s ease-in-out infinite alternate;
}

/* Sun directional glow ray toward center */
.sun::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90px;
    height: 6px;
    background: linear-gradient(
        to right,
        rgba(255, 215, 0, 0.6),
        rgba(255, 215, 0, 0.25) 40%,
        transparent 100%
    );
    transform-origin: 0% 50%;
    /* Points toward center — JS will update this, fallback static */
    transform: translate(0, -50%) rotate(180deg);
    border-radius: 50%;
    filter: blur(3px);
    pointer-events: none;
    animation: sun-ray-rotate 30s linear infinite;
}

/* --- Moon --- */
.moon {
    width: 9px;
    height: 9px;
    margin-top: -4.5px;
    margin-left: -4.5px;
    background: radial-gradient(circle at 60% 35%, #f0f0ff, #c8c8e0, #8888aa);
    box-shadow: 
        0 0 10px 3px rgba(200, 200, 240, 0.6),
        0 0 25px 6px rgba(180, 180, 220, 0.3),
        0 0 50px 12px rgba(180, 180, 220, 0.12);
    animation: 
        celestial-orbit-moon 21s linear infinite reverse,
        moon-glow-pulse 3s ease-in-out infinite alternate;
}

/* Moon directional glow ray toward center */
.moon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 70px;
    height: 4px;
    background: linear-gradient(
        to right,
        rgba(200, 200, 255, 0.5),
        rgba(200, 200, 255, 0.18) 40%,
        transparent 100%
    );
    transform-origin: 0% 50%;
    transform: translate(0, -50%) rotate(180deg);
    border-radius: 50%;
    filter: blur(2.5px);
    pointer-events: none;
    animation: moon-ray-rotate 21s linear infinite reverse;
}

/* --- Orbit Keyframes (2D Elliptical) --- */
/* Sun: larger ellipse, clockwise */
@keyframes celestial-orbit-sun {
    0%   { transform: translate(calc(-50% + 110px), calc(-50% + 0px)); }
    25%  { transform: translate(calc(-50% + 0px),   calc(-50% + 22px)); }
    50%  { transform: translate(calc(-50% - 110px), calc(-50% + 0px)); }
    75%  { transform: translate(calc(-50% + 0px),   calc(-50% - 22px)); }
    100% { transform: translate(calc(-50% + 110px), calc(-50% + 0px)); }
}

/* Moon: smaller ellipse, counter-clockwise */
@keyframes celestial-orbit-moon {
    0%   { transform: translate(calc(-50% + 90px),  calc(-50% + 0px)); }
    25%  { transform: translate(calc(-50% + 0px),    calc(-50% + 18px)); }
    50%  { transform: translate(calc(-50% - 90px),  calc(-50% + 0px)); }
    75%  { transform: translate(calc(-50% + 0px),    calc(-50% - 18px)); }
    100% { transform: translate(calc(-50% + 90px),  calc(-50% + 0px)); }
}

/* --- Glow Ray Rotation (counter-rotates to always point inward) --- */
/* Sun ray must rotate opposite to orbit so it stays aimed at center */
@keyframes sun-ray-rotate {
    0%    { transform: translate(0, -50%) rotate(180deg); }
    12.5% { transform: translate(0, -50%) rotate(191.3deg); }
    25%   { transform: translate(0, -50%) rotate(270deg); }
    37.5% { transform: translate(0, -50%) rotate(348.7deg); }
    50%   { transform: translate(0, -50%) rotate(360deg); }
    62.5% { transform: translate(0, -50%) rotate(371.3deg); }
    75%   { transform: translate(0, -50%) rotate(450deg); }
    87.5% { transform: translate(0, -50%) rotate(528.7deg); }
    100%  { transform: translate(0, -50%) rotate(540deg); }
}

@keyframes moon-ray-rotate {
    0%    { transform: translate(0, -50%) rotate(180deg); }
    12.5% { transform: translate(0, -50%) rotate(191.3deg); }
    25%   { transform: translate(0, -50%) rotate(270deg); }
    37.5% { transform: translate(0, -50%) rotate(348.7deg); }
    50%   { transform: translate(0, -50%) rotate(360deg); }
    62.5% { transform: translate(0, -50%) rotate(371.3deg); }
    75%   { transform: translate(0, -50%) rotate(450deg); }
    87.5% { transform: translate(0, -50%) rotate(528.7deg); }
    100%  { transform: translate(0, -50%) rotate(540deg); }
}

/* --- Pulsing Glow --- */
@keyframes sun-glow-pulse {
    from { 
        box-shadow: 
            0 0 12px 4px rgba(255, 215, 0, 0.8),
            0 0 30px 8px rgba(212, 175, 55, 0.5),
            0 0 60px 16px rgba(212, 175, 55, 0.25);
    }
    to { 
        box-shadow: 
            0 0 18px 6px rgba(255, 215, 0, 0.95),
            0 0 45px 12px rgba(212, 175, 55, 0.65),
            0 0 80px 24px rgba(212, 175, 55, 0.35);
    }
}

@keyframes moon-glow-pulse {
    from {
        box-shadow: 
            0 0 10px 3px rgba(200, 200, 240, 0.6),
            0 0 25px 6px rgba(180, 180, 220, 0.3),
            0 0 50px 12px rgba(180, 180, 220, 0.12);
    }
    to {
        box-shadow: 
            0 0 14px 5px rgba(210, 210, 255, 0.75),
            0 0 35px 10px rgba(190, 190, 240, 0.4),
            0 0 65px 18px rgba(190, 190, 240, 0.2);
    }
}

/* ===== Logo Text (unchanged structure, enhanced with celestial interaction) ===== */

.logo-main {
    font-size: 1.8rem;
    font-family: 'Jura', sans-serif;
    font-weight: 800;
    color: #fff;
    letter-spacing: 2px;
    white-space: nowrap;
    position: relative;
    z-index: 10;
    border-bottom: 2px solid transparent;
    text-shadow: 
        0 0 10px rgba(255, 255, 255, 0.3),
        0 0 20px rgba(212, 175, 55, 0.3),
        0 0 30px rgba(212, 175, 55, 0.2);
    /* Subtle star sparkle */
    background: linear-gradient(90deg, #fff, rgba(255,255,255,0.7), #fff);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shimmer-text 5s linear infinite;
}

@keyframes shimmer-text {
    to { background-position: 200% center; }
}

/* Shift Anderson Moitinho logo text slightly to the left */
.nav-brand .nav-logo .logo-main {
    transform: translateX(-0.5vw);
    display: inline-block;
}

.logo-main span {
    color: #a62cde; /* Roxo */
    -webkit-text-fill-color: #a62cde;
    text-shadow: 
        0 0 10px rgba(166, 44, 222, 0.7),
        0 0 20px rgba(166, 44, 222, 0.4);
}

.logo-tagline {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 6px;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 2px;
    text-shadow: 0 0 8px rgba(166, 44, 222, 0.8); /* Sombra roxa */
    z-index: 10;
    position: relative;
    border-top: 1px solid transparent;
}

.psi-symbol {
    font-size: 2.2rem; /* Increased size */
    font-weight: 900;
    letter-spacing: 0;
    text-transform: none;
    color: #ffffff; /* Solid white base */
    -webkit-text-fill-color: #ffffff;
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.3);
    filter: none;
    margin-left: 8px;
    vertical-align: middle;
    display: inline-block;
    position: relative;
    left: -0.5vw; /* Shift to the left by 0.5% of viewport width */
    transition: all 0.3s ease;
    animation: 
        delayed-fade-in 1s ease-in 1s both,
        psi-purple-pulse 7s linear infinite 2s; 
}

.psi-symbol svg {
    width: 0.85em;
    height: 0.85em;
    vertical-align: middle;
    display: inline-block;
    position: relative;
    top: -2px; /* Subtle alignment adjustment for visual balance with font baseline */
}

.psi-symbol img {
    width: 0.96em; /* Reduced size by another 20% */
    height: 0.96em;
    vertical-align: middle;
    display: inline-block;
    position: relative;
    top: -2px;
    transition: filter 0.3s ease;
    /* If the image outline is black, this makes it white so it stands out in dark theme */
    filter: brightness(0) invert(1);
}

.psi-symbol path {
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

/* Hover State: No color changes, only scales up */
.psi-symbol:hover,
.nav-logo:hover .psi-symbol {
    /* Removed white drop shadow from hover */
    transform: scale(1.15);
    transform: scale(1.15);
}

/* Pulse Animation: turns purple for exactly 1s (14.28% of 7s) every 7s */
@keyframes psi-purple-pulse {
    0%, 12% {
        color: #a62cde;
        -webkit-text-fill-color: #a62cde;
        -webkit-text-stroke: 1px rgba(166, 44, 222, 0.5);
        filter: 
            drop-shadow(0 0 8px rgba(166, 44, 222, 0.95)) 
            drop-shadow(0 0 18px rgba(166, 44, 222, 0.6));
    }
    14.28%, 98% {
        color: #ffffff;
        -webkit-text-fill-color: #ffffff;
        -webkit-text-stroke: 1px rgba(255, 255, 255, 0.3);
        filter: none;
    }
    100% {
        color: #a62cde;
        -webkit-text-fill-color: #a62cde;
        -webkit-text-stroke: 1px rgba(166, 44, 222, 0.5);
        filter: 
            drop-shadow(0 0 8px rgba(166, 44, 222, 0.95)) 
            drop-shadow(0 0 18px rgba(166, 44, 222, 0.6));
    }
}

.nav-menu {
    display: flex;
    gap: 2rem;
    list-style: none;
    align-items: center;
    margin: 0;
    padding: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.nav-menu a {
    color: #cccccc; /* Prata claro */
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 500;
    transition: all 0.3s var(--ease-smooth);
    position: relative;
}

.nav-menu a:hover {
    color: #FFFFFF;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.4);
}

.nav-special {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0.3rem 1rem;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.03);
    transition: all 0.3s var(--ease-spring);
    text-decoration: none;
    font-size: 0.95rem;
    letter-spacing: 0.05em;
}

.nav-special-gold {
    color: #FFFFFF !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
    background: rgba(255, 255, 255, 0.05) !important;
}

.nav-special-teal {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
}

.nav-special-teal:hover {
    transform: scale(1.1);
    background: transparent !important;
    color: #FFFFFF !important;
}

.nav-special-ciano {
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: rgba(255, 255, 255, 0.02) !important;
    color: var(--color-text-muted) !important;
    backdrop-filter: none !important;
    width: 120px;
    height: 120px;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: visible;
    box-shadow: none !important;
}

.nav-special-ciano:hover {
    background: transparent !important;
    transform: translateY(-2px) scale(1.15);
    box-shadow: none !important;
}

/* Planetary System Container */
.planetary-system {
    position: relative;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform-style: preserve-3d;
    perspective: 500px;
    transform: scale(0.45);
}

.earth {
    width: 22px;
    height: 22px;
    /* Sophisticated Earth with Multi-layer Blue/Green textures */
    background: 
        radial-gradient(circle at 30% 30%, rgba(255,255,255,0.4) 0%, transparent 20%),
        radial-gradient(circle at 60% 40%, rgba(34, 139, 34, 0.9) 0%, rgba(34, 139, 34, 0.9) 25%, transparent 26%),
        radial-gradient(circle at 20% 70%, rgba(50, 205, 50, 0.8) 0%, rgba(50, 205, 50, 0.8) 35%, transparent 36%),
        radial-gradient(circle at 80% 80%, rgba(34, 139, 34, 0.85) 0%, rgba(34, 139, 34, 0.85) 30%, transparent 31%),
        radial-gradient(circle at 40% 10%, rgba(50, 205, 50, 0.7) 0%, rgba(50, 205, 50, 0.7) 15%, transparent 16%),
        linear-gradient(135deg, #1e90ff 0%, #00008b 100%);
    border-radius: 50%;
    z-index: 10;
    box-shadow: 0 0 12px rgba(30, 144, 255, 0.5), inset -2px -2px 6px rgba(0,0,0,0.4);
    position: relative;
    animation: earth-spin 15s linear infinite;
}

@keyframes earth-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Floating Carta Anônima */
.floating-carta-container {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
}

.floating-carta {
    width: 45px;
    height: 45px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.2rem;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.floating-carta:hover {
    transform: scale(1.15) translateY(-5px);
    background: rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4), 0 0 15px rgba(255, 255, 255, 0.2);
    color: #fff;
}

.orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: planetary-orbit linear infinite;
}

.planet {
    position: absolute;
    border-radius: 50%;
}

/* 7 Planets Orbiting Earth - Expanded Radii for Larger Earth */
.orbit-1 { width: 30px; height: 30px; animation-duration: 3s; }
.p1 { width: 2.5px; height: 2.5px; background: #999; left: -1.25px; }

.orbit-2 { width: 34px; height: 34px; animation-duration: 4.5s; animation-direction: reverse; }
.p2 { width: 3.5px; height: 3.5px; background: #e27e34; right: -1.75px; }

.orbit-3 { width: 38px; height: 38px; animation-duration: 6s; }
.p3 { width: 3px; height: 3px; background: #e23434; top: -1.5px; }

.orbit-4 { width: 42px; height: 42px; animation-duration: 8s; animation-direction: reverse; }
.p4 { width: 5px; height: 5px; background: #d39c7e; bottom: -2.5px; }

.orbit-5 { width: 46px; height: 46px; animation-duration: 10s; }
.p5 { width: 4.5px; height: 4.5px; background: #e3bb76; left: -2.25px; border: 1px solid rgba(255,255,255,0.1); }

.orbit-6 { width: 50px; height: 50px; animation-duration: 12s; animation-direction: reverse; }
.p6 { width: 4px; height: 4px; background: #afeeee; right: -2px; }

/* Sun & Moon Mini Orbits - 3D Horizontal Swing */
.orbit-sun {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    height: 1px;
    transform-style: preserve-3d;
    animation: celestial-orbit-3d-sun 12s linear infinite;
    z-index: 15;
}

.sun-mini {
    position: absolute;
    width: 24px;
    height: 24px;
    background: radial-gradient(circle at 30% 30%, #fff 0%, #ffcc00 40%, #d4af37 100%);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 20px #d4af37, 0 0 40px rgba(212, 175, 55, 0.6);
}

.orbit-moon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    height: 1px;
    transform-style: preserve-3d;
    animation: celestial-orbit-3d-moon 9s linear infinite;
    z-index: 14;
}

.moon-mini {
    position: absolute;
    width: 9px;
    height: 9px;
    background: radial-gradient(circle at 30% 30%, #ddd 0%, #999 60%, #666 100%);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.4);
}

@keyframes celestial-orbit-3d-sun {
    from { transform: translate(-50%, -50%) rotateY(0deg) translateZ(55px) rotateY(0deg); }
    to { transform: translate(-50%, -50%) rotateY(360deg) translateZ(55px) rotateY(-360deg); }
}

@keyframes celestial-orbit-3d-moon {
    from { transform: translate(-50%, -50%) rotateY(360deg) translateZ(-30px) rotateY(-360deg); }
    to { transform: translate(-50%, -50%) rotateY(0deg) translateZ(-30px) rotateY(0deg); }
}

@keyframes planetary-orbit {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

.nav-special-white {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(10px);
}

.nav-special-white:hover {
    border-color: #ffffff !important;
    background: rgba(255, 255, 255, 0.1) !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 255, 255, 0.15);
}

.nav-toggle {
    display: none;
    font-size: 1.5rem;
    color: var(--color-gold);
    cursor: pointer;
    z-index: 1001;
    transition: all 0.3s ease;
}

@media (max-width: 960px) {
    .nav-container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.2rem 1.5rem;
        position: relative;
    }

    .nav-brand {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        width: auto;
    }

    .nav-logo {
        flex-direction: column !important;
        align-items: center !important;
        gap: 2px !important;
        justify-content: center !important;
    }

    .logo-main {
        font-size: 1.5rem !important;
    }

    .logo-tagline {
        font-size: 0.7rem !important;
        margin-top: 0 !important;
        letter-spacing: 1px !important;
        opacity: 1 !important;
        display: block !important;
    }

    .logo-tagline::before {
        display: none !important;
    }

    .psi-symbol {
        display: none !important;
    }

    .nav-brand {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        pointer-events: none !important;
    }

    .nav-logo {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        pointer-events: auto !important;
        margin-left: 0 !important;
        padding: 6px 0 !important;
    }

    .logo-main {
        font-size: 1.5rem !important;
        text-align: center !important;
    }

    .logo-tagline {
        font-size: 0.7rem !important;
        margin-top: 0 !important;
        letter-spacing: 1px !important;
        opacity: 1 !important;
        display: block !important;
        text-align: center !important;
    }

    .nav-toggle {
        display: flex !important;
        position: absolute !important;
        left: 15px !important;
        right: auto !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        align-items: center;
        justify-content: center;
        z-index: 1001 !important;
        width: 37.4px !important;
        height: 37.4px !important;
        font-size: 1.275rem !important;
        border-radius: 50% !important;
        background: rgba(5, 5, 5, 0.85) !important;
        border: 1px solid rgba(166, 44, 222, 0.4) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        opacity: 0.8 !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.5), 0 0 10px rgba(166, 44, 222, 0.2) !important;
        color: #a62cde !important;
        cursor: pointer;
        pointer-events: auto !important;
    }

    .nav-right {
        display: flex !important;
        position: absolute !important;
        right: 5vw !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 1000 !important;
    }

    /* Planetas menores e orbitando concentricamente a terra no mobile */
    .p-r1 {
        animation: orbit-r1-mobile 40s linear infinite !important;
        width: 1px !important;
        height: 1px !important;
    }
    .p-r2 {
        animation: orbit-r1-mobile 40s linear infinite !important;
        animation-delay: -20s !important;
        width: 1.5px !important;
        height: 1.5px !important;
    }
    .moon-r {
        animation: orbit-r2-mobile 50s linear infinite reverse !important;
        width: 1.5px !important;
        height: 1.5px !important;
    }
    .p-r3 {
        animation: orbit-r3-mobile 60s linear infinite !important;
        width: 1.5px !important;
        height: 1.5px !important;
    }
    .p-r4 {
        animation: orbit-r3-mobile 60s linear infinite !important;
        animation-delay: -30s !important;
        width: 2.5px !important;
        height: 2.5px !important;
    }
    .sun-r {
        animation: orbit-r4-mobile 70s linear infinite !important;
        width: 3.5px !important;
        height: 3.5px !important;
    }
    .p-r5 {
        animation: orbit-r4-mobile 70s linear infinite !important;
        animation-delay: -35s !important;
        width: 2px !important;
        height: 2px !important;
    }
    .p-r6 {
        animation: orbit-r5-mobile 80s linear infinite !important;
        width: 2px !important;
        height: 2px !important;
    }
    .p-r7 {
        animation: orbit-r5-mobile 90s linear infinite reverse !important;
        width: 2px !important;
        height: 2px !important;
    }

    .nav-menu {
        position: fixed;
        top: 0;
        right: -100%;
        left: auto !important;
        transform: none !important;
        width: 100%;
        height: 100vh;
        background: #050505;
        backdrop-filter: blur(40px);
        -webkit-backdrop-filter: blur(40px);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0;
        transition: right 0.6s cubic-bezier(0.85, 0, 0.15, 1);
        z-index: 1000;
        padding: 2rem;
        overflow: hidden;
    }

    /* Subtle grayscale glow behind menu */
    .nav-menu::before {
        content: '';
        position: absolute;
        top: 30%;
        left: 50%;
        transform: translateX(-50%);
        width: 400px;
        height: 400px;
        background: radial-gradient(circle, rgba(255, 255, 255, 0.03) 0%, transparent 70%);
        border-radius: 50%;
        filter: blur(100px);
        animation: menuGrayPulse 10s ease-in-out infinite alternate;
        pointer-events: none;
    }

    /* Scanline effect overlay */
    .nav-menu::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.1) 50%), 
                    linear-gradient(90deg, rgba(255, 0, 0, 0.02), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.02));
        background-size: 100% 3px, 3px 100%;
        pointer-events: none;
        z-index: 1;
        opacity: 0.3;
    }

    @keyframes menuGrayPulse {
        0% { transform: translateX(-50%) scale(0.9); opacity: 0.4; }
        100% { transform: translateX(-50%) scale(1.2); opacity: 0.8; }
    }

    .nav-menu.active {
        right: 0;
    }

    /* Staggered entry animation for links - Digital Slide */
    .nav-menu.active li {
        animation: menuItemReveal 0.6s cubic-bezier(0.2, 0, 0, 1) both;
    }
    
    .nav-menu.active li:nth-child(1) { animation-delay: 0.1s; }
    .nav-menu.active li:nth-child(2) { animation-delay: 0.15s; }
    .nav-menu.active li:nth-child(3) { animation-delay: 0.2s; }
    .nav-menu.active li:nth-child(4) { animation-delay: 0.25s; }
    .nav-menu.active li:nth-child(5) { animation-delay: 0.3s; }
    .nav-menu.active li:nth-child(6) { animation-delay: 0.35s; }
    .nav-menu.active li:nth-child(7) { animation-delay: 0.4s; }
    .nav-menu.active li:nth-child(8) { animation-delay: 0.45s; }

    @keyframes menuItemReveal {
        0% {
            opacity: 0;
            transform: translateX(40px);
            filter: blur(10px);
        }
        100% {
            opacity: 1;
            transform: translateX(0);
            filter: blur(0);
        }
    }

    .nav-menu li {
        width: 85%;
        max-width: 400px;
        text-align: left;
        position: relative;
        opacity: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        z-index: 2;
    }

    .nav-menu li:last-child {
        border-bottom: none;
    }

    .nav-menu a {
        font-size: 1.3rem;
        font-weight: 300;
        padding: 1.5rem 1rem;
        display: flex;
        align-items: center;
        gap: 1.5rem;
        color: rgba(255, 255, 255, 0.6);
        letter-spacing: 0.15em;
        text-transform: uppercase;
        transition: all 0.4s var(--ease-smooth);
    }

    /* Tactical Numbering Design */
    .nav-menu li::before {
        content: attr(data-index);
        position: absolute;
        left: -1rem;
        top: 50%;
        transform: translateY(-50%);
        font-size: 0.7rem;
        color: rgba(255, 255, 255, 0.2);
        font-family: monospace;
    }

    .nav-menu a:hover {
        color: #FFFFFF;
        background: rgba(255, 255, 255, 0.02);
        padding-left: 2rem;
        letter-spacing: 0.25em;
    }

    .nav-menu a:hover::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background: #FFFFFF;
        box-shadow: 0 0 15px #FFFFFF;
    }

    .nav-special {
        display: inline-block !important;
        margin: 0 auto;
        margin-top: 0.5rem;
    }

    .nav-spacer {
        display: none;
    }

    .nav-desktop-only {
        display: flex !important;
    }

    /* Scale planetary system for mobile */
    .nav-right .planetary-system {
        transform: scale(0.6);
        margin-right: -25px;
    }

    .nav-mobile-only {
        display: none !important;
    }
}

/* Remover os Ovos de Páscoa de Raios (Efeito Relâmpago) da Sessão Anterior via Override Force */
.hero-visual::before,
.hero-visual::after {
    display: none !important;
}

/* Bloco de override legado removido para permitir novo design */

@keyframes neon-flicker {
    from {
        box-shadow: 0 0 10px #FFFFFF, inset 0 0 5px #FFFFFF;
        text-shadow: 0 0 5px #FFFFFF;
    }

    to {
        box-shadow: 0 0 25px #FFFFFF, inset 0 0 15px #FFFFFF;
        text-shadow: 0 0 15px #FFFFFF, 0 0 20px #FFF;
    }

}

/* Reset Global para Imagens Naturais */
img {
    filter: none !important;
    -webkit-filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}

.portrait-img-large {
    width: 100%;
    height: auto;
    object-fit: cover;
    z-index: 2;
    filter: none !important;
    /* Neon Frame solicitada pelo usuário */
    border: 3px solid #FFFFFF;
    border-radius: 50% !important;
    box-shadow: 0 0 15px #FFFFFF, inset 0 0 10px #FFFFFF;
    animation: neon-flicker 1.5s infinite alternate !important;
}

/* --- Seção de Terapia Holística (Layout em Grids) --- */
.therapy-grid-section {
    padding: 10vh 5vw;
    background: transparent;
}

.therapy-title {
    text-align: center;
    font-size: clamp(2rem, 5vw, 3.5rem);
    margin-bottom: 4rem;
    color: var(--color-text-main);
}

.therapy-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1px;
    /* Linhas finas separadoras */
    background: rgba(255, 255, 255, 0.05);
    /* Cor da divisória */
    border: 1px solid rgba(255, 255, 255, 0.05);
    margin-bottom: 8rem;
}

.therapy-card {
    background: var(--color-bg-dark);
    padding: 3rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: all 0.4s var(--ease-smooth);
    min-height: 320px;
    justify-content: flex-start;
}

.therapy-card:hover {
    /* Baby blue transparent tint on hover for 'Talvez você esteja buscando ajuda' grid */
    background: rgba(135, 206, 235, 0.07);
    z-index: 2;
    transform: scale(1.02);
    box-shadow: 0 0 18px rgba(135, 206, 235, 0.12);
}

.therapy-icon {
    font-size: 2.5rem;
    color: var(--color-gold);
    margin-bottom: 2rem;
    opacity: 0.8;
}

.therapy-card h4 {
    font-size: 1.2rem;
    color: var(--color-text-main);
    line-height: 1.4;
    font-family: var(--font-body);
    /* Para legibilidade em cards pequenos */
    font-weight: 300;
}

/* Variante para a segunda grid (Estilo mais suave) */
.benefits-grid .therapy-card {
    background: rgba(5, 5, 5, 0.8);
}

/* Benefits grid: baby blue border on hover only — no background tint */
.benefits-grid .therapy-card:hover {
    background: rgba(5, 5, 5, 0.8);
    box-shadow: 0 0 14px rgba(135, 206, 235, 0.18), inset 0 0 8px rgba(135, 206, 235, 0.05);
    border: 1px solid rgba(135, 206, 235, 0.55);
}


@media (max-width: 1200px) {
    .therapy-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}

@media (max-width: 768px) {
    .therapy-grid {
        grid-template-columns: 1fr;
    }

    .therapy-card {
        min-height: auto;
        padding: 2.5rem 1.5rem;
    }

}

/* Seletor de Idiomas */
.lang-switcher {
    display: flex;
    gap: 12px;
    background: rgba(255, 255, 255, 0.03);
    padding: 6px 12px;
    border-radius: 25px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    align-items: center;
}

.lang-switcher button {
    background: none;
    border: none;
    font-size: 1.3rem;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
    line-height: 1;
    filter: grayscale(0.4);
}

.lang-switcher button:hover {
    transform: scale(1.3);
    filter: grayscale(0);
}

/* --- Quiz de Diagnóstico --- */
#quiz-container {
    min-height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: opacity 0.5s ease;
}

.quiz-btn {
    display: block;
    width: 100%;
    padding: 1.5rem;
    margin-bottom: 1rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--color-text-main);
    font-family: var(--font-body);
    font-size: 1.1rem;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.quiz-btn:hover {
    background: rgba(135, 206, 235, 0.08) !important;
    border-color: rgba(135, 206, 235, 0.55) !important;
    color: #ffffff !important;
    transform: translateX(10px);
    box-shadow: 0 0 12px rgba(135, 206, 235, 0.18);
}

.quiz-result {
    text-align: center;
    animation: fadeIn 1s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --- Preview Inline do Livro --- */
.preview-inline-container {
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    margin-top: 2rem;
    width: 100%;
}

.preview-inline-container.active {
    max-height: 2000px;
    opacity: 1;
    visibility: visible;
}

.preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 12px;
    border: 1px solid rgba(212, 175, 55, 0.1);
}

.preview-card {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 3/4;
    transition: transform 0.4s var(--ease-spring);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.preview-card:hover {
    transform: scale(1.05) translateY(-5px);
}

.preview-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* --- Refinamentos da Biografia (#conexao) --- */
#conexao .description {
    font-size: 1.4rem;
    /* Aumento de ~30% do base 1.1rem */
    line-height: 1.6;
    margin-bottom: 2rem;
}

.neon-quote {
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(166, 44, 222, 0.8),
        0 0 20px rgba(166, 44, 222, 0.5),
        0 0 30px rgba(166, 44, 222, 0.3);
    animation: neonPulse 2s infinite alternate;
}

.neon-phrase {
    transition: opacity 0.3s ease;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25em;
    line-height: 1.4;
}

.word-span {
    opacity: 0.55;
    transition: opacity 0.2s ease, text-shadow 0.2s ease, color 0.2s ease;
    display: inline-block;
    color: #ffffff; /* Default is white */
    text-shadow: 0 0 10px rgba(166, 44, 222, 0.6),
        0 0 20px rgba(166, 44, 222, 0.4);
}

.word-span.word-active {
    opacity: 1;
    color: #a62cde; /* Active is purple */
    text-shadow: 0 0 15px rgba(166, 44, 222, 0.9),
        0 0 30px rgba(166, 44, 222, 0.6);
}

@keyframes neonPulse {
    from {
        text-shadow: 0 0 10px rgba(166, 44, 222, 0.5),
            0 0 20px rgba(166, 44, 222, 0.3),
            0 0 30px rgba(166, 44, 222, 0.2);
    }

    to {
        text-shadow: 0 0 15px rgba(166, 44, 222, 0.8),
            0 0 25px rgba(166, 44, 222, 0.6),
            0 0 35px rgba(166, 44, 222, 0.4),
            0 0 45px rgba(166, 44, 222, 0.2);
        transform: scale(1.02);
    }
}

@keyframes blink-8s {

    0%,
    95%,
    100% {
        opacity: 1;
    }

    97.5% {
        opacity: 0;
    }
}

#cta h2,
#depoimentos h2 {
    color: #ffffff !important;
    animation: blink-8s 8s infinite;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5),
        0 0 20px rgba(255, 255, 255, 0.3) !important;
}

/* Active Navigation Link styling - Silvery Purple Glow (Roxo Meio Prateado) */
.nav-menu a.active {
    color: #d1c4e9 !important; /* Silvery purple */
    text-shadow: 
        0 0 8px rgba(166, 44, 222, 0.8), /* Soft violet glow */
        0 0 15px rgba(224, 224, 224, 0.6); /* Silvery metallic glow */
}

/* Underline indicator on desktop */
@media (min-width: 961px) {
    .nav-menu a::after {
        content: '';
        position: absolute;
        bottom: -6px;
        left: 50%;
        width: 0;
        height: 2px;
        background: linear-gradient(90deg, rgba(209, 196, 233, 0.3), #a62cde, rgba(209, 196, 233, 0.3)); /* Silvery purple gradient */
        box-shadow: 
            0 0 6px #a62cde,
            0 0 12px rgba(209, 196, 233, 0.8);
        transform: translateX(-50%);
        transition: width 0.3s var(--ease-smooth);
    }

    .nav-menu a.active::after {
        width: 100%;
    }
}

/* Vertical indicator bar on mobile */
@media (max-width: 960px) {
    .nav-menu a.active {
        background: rgba(166, 44, 222, 0.05) !important;
        padding-left: 2rem !important;
        letter-spacing: 0.2em !important;
    }

    .nav-menu a.active::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background: #a62cde !important;
        box-shadow: 0 0 15px #a62cde, 0 0 5px rgba(209, 196, 233, 0.8) !important;
    }
}

/* ==========================================================================
   Espaço Terapêutico - Right Navigation Logo & Planetary Orbits
   ========================================================================== */

.nav-logo-right {
    padding: 6px 0 6px 30px; /* Strong minimum vertical spacing to guarantee it never touches the borders */
    margin-left: 0;
    cursor: pointer;
    position: relative;
    z-index: 6;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 25px; /* Increased spacing between the texts and the globe */
}

.nav-logo-right .logo-main {
    font-family: 'Jura', sans-serif !important;
    font-weight: 800 !important;
    color: #a62cde !important; /* Espaço gets purple */
    -webkit-text-fill-color: #a62cde !important;
    text-shadow: 
        0 0 10px rgba(166, 44, 222, 0.7),
        0 0 20px rgba(166, 44, 222, 0.4) !important;
}

.nav-logo-right .logo-main span {
    color: #ffffff !important; /* Terapêutico gets white */
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: 
        0 0 10px rgba(255, 255, 255, 0.3),
        0 0 20px rgba(255, 255, 255, 0.1) !important;
}

.nav-logo-text-group {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    z-index: 6;
}

.logo-tagline-row {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    z-index: 6;
    padding-left: 42px; /* Make room for the absolute earth-button-wrapper */
}

.nav-logo-right .logo-main,
.nav-logo-right .logo-tagline {
    position: relative;
    z-index: 6;
}

/* Static Earth Button Style next to Acesso Restrito */
.earth-button-wrapper {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 27px;
    height: 27px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    z-index: 15;
}

.earth-button {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    position: relative;
    transition: all 0.3s ease;
    overflow: visible;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Synchronized with psi-purple-pulse: same 7s cycle, same 2s delay */
    animation: earth-purple-pulse 7s linear infinite 2s;
}

/* Deep glow orb behind the earth on hover */
.earth-button::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(166, 44, 222, 0.55) 0%, rgba(166, 44, 222, 0) 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: -1;
}

.earth-button:hover::before {
    opacity: 1;
}

@keyframes earth-purple-pulse {
    /* PHASE 1: Purple glow burst (0% to 12%) — matches psi-purple-pulse */
    0%, 12% {
        box-shadow:
            0 0 8px  rgba(166, 44, 222, 0.95),
            0 0 18px rgba(166, 44, 222, 0.6);
    }
    /* PHASE 2: Silent (12% to 98%) */
    14.28%, 98% {
        box-shadow: 0 0 0px transparent;
    }
    /* Loop back to purple */
    100% {
        box-shadow:
            0 0 8px  rgba(166, 44, 222, 0.95),
            0 0 18px rgba(166, 44, 222, 0.6);
    }
}

.earth-button svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Constant slow spin */
.earth-map-scroll {
    animation: spin-earth 15s linear infinite;
}

/* On hover: rotate the map elements FAST inside the globe and flash purple/white */
.earth-button:hover .earth-map-scroll {
    animation: spin-earth 1.5s linear infinite;
}

@keyframes spin-earth {
    from { transform: translateX(-100px); }
    to { transform: translateX(0); }
}

.earth-button:hover {
    transform: scale(1.15);
    animation: earth-hover-flash 0.6s alternate infinite;
}

@keyframes earth-hover-flash {
    0% {
        box-shadow:
            0 0 14px rgba(166, 44, 222, 0.9),
            0 0 32px rgba(166, 44, 222, 0.55),
            0 0 60px rgba(166, 44, 222, 0.3);
    }
    100% {
        box-shadow:
            0 0 28px rgba(166, 44, 222, 1),
            0 0 55px rgba(166, 44, 222, 0.75),
            0 0 100px rgba(166, 44, 222, 0.45);
    }
}

.orbits-container {
    position: absolute;
    top: 50%;
    left: 95%; /* Shifted to the right to wrap around the text */
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    pointer-events: none;
}

.celestial-center-mobile {
    display: none;
}

.celestial-body-right {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* --- Orbiting Bodies Styles (Slower Speeds & Tighter Boundaries) --- */

/* 1. Mercury (p-r1) */
.p-r1 {
    width: 4px;
    height: 4px;
    background: #999;
    margin-top: -2px;
    margin-left: -2px;
    animation: orbit-r1 40s linear infinite;
}

/* 2. Venus (p-r2) */
.p-r2 {
    width: 6px;
    height: 6px;
    background: #e27e34;
    margin-top: -3px;
    margin-left: -3px;
    box-shadow: 0 0 6px rgba(226, 126, 52, 0.6);
    animation: orbit-r1 40s linear infinite;
    animation-delay: -20s; /* Rotate on the opposite side of Orbit 1 */
}

/* 3. Moon (moon-r) */
.moon-r {
    width: 5px;
    height: 5px;
    background: radial-gradient(circle at 60% 35%, #f0f0ff, #c8c8e0, #8888aa);
    margin-top: -2.5px;
    margin-left: -2.5px;
    box-shadow: 0 0 8px rgba(200, 200, 240, 0.6);
    animation: orbit-r2 50s linear infinite reverse;
}

/* 4. Mars (p-r3) */
.p-r3 {
    width: 6px;
    height: 6px;
    background: #e23434;
    margin-top: -3px;
    margin-left: -3px;
    box-shadow: 0 0 8px rgba(226, 52, 52, 0.6);
    animation: orbit-r3 60s linear infinite;
}

/* 5. Jupiter (p-r4) */
.p-r4 {
    width: 11px;
    height: 11px;
    background: #d39c7e;
    margin-top: -5.5px;
    margin-left: -5.5px;
    box-shadow: 0 0 10px rgba(211, 156, 126, 0.5);
    animation: orbit-r3 60s linear infinite;
    animation-delay: -30s; /* Rotate on the opposite side of Orbit 3 */
}

/* 6. Sun (sun-r) */
.sun-r {
    width: 15px;
    height: 15px;
    margin-top: -7.5px;
    margin-left: -7.5px;
    background: radial-gradient(circle at 35% 35%, #fffbe6, #ffd700, #b8860b);
    box-shadow: 0 0 14px 4px rgba(255, 215, 0, 0.8), 0 0 25px 6px rgba(212, 175, 55, 0.4);
    animation: orbit-r4 70s linear infinite; /* Synchronized with Earth Glow */
}

/* 7. Saturn (p-r5) */
.p-r5 {
    width: 9px;
    height: 9px;
    background: #e3bb76;
    margin-top: -4.5px;
    margin-left: -4.5px;
    box-shadow: 0 0 8px rgba(227, 187, 118, 0.6);
    animation: orbit-r4 70s linear infinite;
    animation-delay: -35s; /* Rotate on the opposite side of Orbit 4 */
}

/* 8. Uranus (p-r6) */
.p-r6 {
    width: 8px;
    height: 8px;
    background: #afeeee;
    margin-top: -4px;
    margin-left: -4px;
    box-shadow: 0 0 8px rgba(175, 238, 238, 0.6);
    animation: orbit-r5 80s linear infinite;
}

/* 9. Neptune (p-r7) */
.p-r7 {
    width: 7px;
    height: 7px;
    background: #4169e1;
    margin-top: -3.5px;
    margin-left: -3.5px;
    box-shadow: 0 0 8px rgba(65, 105, 225, 0.6);
    animation: orbit-r5 90s linear infinite reverse;
}

/* --- Synchronized Earth Glow keyframe (peaks when Sun passes near Earth) --- */
@keyframes earth-glow-sun-sync {
    /* Sun is at 0% (Right-most point of orbit, far from Earth) */
    0%, 100% {
        box-shadow: 
            0 0 12px 3px rgba(255, 255, 255, 0.65), /* White atmosphere */
            0 0 20px 5px rgba(255, 255, 255, 0.3), /* Soft white halo */
            inset -3px -3px 8px rgba(0, 0, 0, 0.5); /* Inner shade */
    }
    
    /* Sun is approaching (15% of orbit) */
    15% {
        box-shadow: 
            0 0 12px 3px rgba(255, 255, 255, 0.65),
            0 0 20px 5px rgba(255, 255, 255, 0.3),
            inset -3px -3px 8px rgba(0, 0, 0, 0.5);
    }
    
    /* PEAK GLOW (30% of orbit): Sun passes directly in front of/under the Earth */
    30% {
        box-shadow: 
            0 0 22px 8px rgba(255, 215, 0, 0.95), /* Intense Golden Sun reflection */
            0 0 35px 12px rgba(255, 165, 0, 0.5), /* Large golden halo */
            0 0 14px 4px rgba(255, 255, 255, 0.8), /* White atmosphere glow */
            inset -2px -2px 5px rgba(255, 215, 0, 0.3); /* Golden light leak on inner shadow */
    }
    
    /* Sun is moving away (45% of orbit) */
    45% {
        box-shadow: 
            0 0 12px 3px rgba(255, 255, 255, 0.65),
            0 0 20px 5px rgba(255, 255, 255, 0.3),
            inset -3px -3px 8px rgba(0, 0, 0, 0.5);
    }
    
    /* Sun is approaching from behind (60% of orbit) */
    60% {
        box-shadow: 
            0 0 12px 3px rgba(255, 255, 255, 0.65),
            0 0 20px 5px rgba(255, 255, 255, 0.3),
            inset -3px -3px 8px rgba(0, 0, 0, 0.5);
    }
    
    /* SECONDARY PEAK GLOW (70% of orbit): Sun passes behind the Earth */
    70% {
        box-shadow: 
            0 0 16px 5px rgba(255, 215, 0, 0.75), /* Slightly dimmer Golden reflection */
            0 0 26px 8px rgba(255, 165, 0, 0.35),
            0 0 12px 3px rgba(255, 255, 255, 0.7), /* White atmosphere glow */
            inset -2px -2px 6px rgba(0, 0, 0, 0.4);
    }
    
    /* Sun is moving away back to the right (80% of orbit) */
    80% {
        box-shadow: 
            0 0 12px 3px rgba(255, 255, 255, 0.65),
            0 0 20px 5px rgba(255, 255, 255, 0.3),
            inset -3px -3px 8px rgba(0, 0, 0, 0.5);
    }
}

/* --- Orbit Orbits (Concentric Ellipses) Keyframes --- */
/* Strictly limited vertical radius to stay inside menu border lines (Height max 18px) */

/* Orbits now centered on the text "Espaço Terapêutico" — elliptic paths around the text */
@keyframes orbit-r1 {
    0%   { transform: translate(calc(-50% + 80px),  calc(-50% + 0px));  z-index: 10; }
    25%  { transform: translate(calc(-50% + 0px),   calc(-50% + 10px)); z-index: 10; }
    50%  { transform: translate(calc(-50% - 80px),  calc(-50% + 0px));  z-index: 2; }
    75%  { transform: translate(calc(-50% + 0px),   calc(-50% - 10px)); z-index: 2; }
    100% { transform: translate(calc(-50% + 80px),  calc(-50% + 0px));  z-index: 10; }
}

@keyframes orbit-r2 {
    0%   { transform: translate(calc(-50% + 110px), calc(-50% + 0px));  z-index: 10; }
    25%  { transform: translate(calc(-50% + 0px),   calc(-50% + 16px)); z-index: 10; }
    50%  { transform: translate(calc(-50% - 110px), calc(-50% + 0px));  z-index: 2; }
    75%  { transform: translate(calc(-50% + 0px),   calc(-50% - 16px)); z-index: 2; }
    100% { transform: translate(calc(-50% + 110px), calc(-50% + 0px));  z-index: 10; }
}

@keyframes orbit-r3 {
    0%   { transform: translate(calc(-50% + 140px), calc(-50% + 0px));  z-index: 10; }
    25%  { transform: translate(calc(-50% + 0px),   calc(-50% + 22px)); z-index: 10; }
    50%  { transform: translate(calc(-50% - 140px), calc(-50% + 0px));  z-index: 2; }
    75%  { transform: translate(calc(-50% + 0px),   calc(-50% - 22px)); z-index: 2; }
    100% { transform: translate(calc(-50% + 140px), calc(-50% + 0px));  z-index: 10; }
}

@keyframes orbit-r4 {
    0%   { transform: translate(calc(-50% + 170px), calc(-50% + 0px));  z-index: 10; }
    25%  { transform: translate(calc(-50% + 0px),   calc(-50% + 28px)); z-index: 10; }
    50%  { transform: translate(calc(-50% - 170px), calc(-50% + 0px));  z-index: 2; }
    75%  { transform: translate(calc(-50% + 0px),   calc(-50% - 28px)); z-index: 2; }
    100% { transform: translate(calc(-50% + 170px), calc(-50% + 0px));  z-index: 10; }
}

@keyframes orbit-r5 {
    0%   { transform: translate(calc(-50% + 200px), calc(-50% + 0px));  z-index: 10; }
    25%  { transform: translate(calc(-50% + 0px),   calc(-50% + 34px)); z-index: 10; }
    50%  { transform: translate(calc(-50% - 200px), calc(-50% + 0px));  z-index: 2; }
    75%  { transform: translate(calc(-50% + 0px),   calc(-50% - 34px)); z-index: 2; }
    100% { transform: translate(calc(-50% + 200px), calc(-50% + 0px));  z-index: 10; }
}

/* --- Mobile Responsiveness overrides --- */
@media (max-width: 960px) {
    /* Hide text only in the main header top bar to prevent overlap */
    .nav-right .nav-logo-right .logo-main,
    .nav-right .nav-logo-right .logo-tagline {
        display: none !important;
    }
    
    /* In the main top bar, size it as a compact icon */
    .nav-right .nav-logo-right {
        padding: 0 !important;
        margin-left: 0 !important;
        width: 50px !important;
        height: 50px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        z-index: 6 !important;
    }
    
    .nav-right .nav-logo-right::before {
        display: none !important; /* Hide background stars for mobile space-saving */
    }
    
    .nav-right .nav-logo-right .celestial-center-mobile {
        display: none !important;
    }
    
    .nav-right .nav-logo-right .orbits-container {
        left: 50% !important;
        transform: translate(-50%, -50%) scale(1.5) !important;
    }

    /* Exibe o Planeta Terra grande no menu mobile */
    .nav-right .nav-logo-right .earth-button-wrapper {
        display: block !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) scale(1.5) !important;
        margin-top: 0 !important;
    }

    /* In the hamburger menu list, let it display the full text for premium look! */
    .nav-menu .nav-logo-right {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        padding: 20px 40px !important;
        margin: 20px auto !important;
        width: auto !important;
        height: auto !important;
        z-index: 6 !important;
    }
    
    .nav-menu .nav-logo-right .logo-main {
        display: block !important;
        font-size: 1.4rem !important;
    }
    
    .nav-menu .nav-logo-right .logo-tagline {
        display: block !important;
        font-size: 0.6rem !important;
    }

    .nav-menu .nav-logo-right .celestial-center-mobile {
        display: none !important; /* Text is shown, so no central dot needed */
    }

    .nav-menu .nav-logo-right .logo-tagline-row {
        padding-left: 0 !important;
    }

    .nav-menu .nav-logo-right .earth-button-wrapper {
        display: block !important;
        position: relative !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        margin-top: 10px;
        opacity: 0.8 !important; /* leve efeito de transparencia */
    }

    .nav-menu .nav-logo-right .orbits-container {
        transform: translate(-50%, -50%) scale(0.85) !important; /* Sized beautifully for the vertical menu */
    }
}

/* Perfect horizontal alignment for logos and taglines on desktop */
@media (min-width: 961px) {
    /* Shift both logo headers up by 1% of screen height (1vh) */
    .nav-logo,
    .nav-logo-right {
        transform: translateY(-1vh) !important;
    }

    /* Shift of 5vw to the right is now handled at the parent container level to keep graphics/orbits aligned with the text */

    /* Align tagline-row margin-top on the right side */
    .logo-tagline-row {
        margin-top: 2px !important;
    }
    /* Reset tagline margin-top when inside the row to prevent doubling */
    .logo-tagline-row .logo-tagline {
        margin-top: 0 !important;
    }
    
    /* Make left tagline fit content and position relative for absolute symbol placement */
    .nav-logo .logo-tagline {
        position: relative !important;
        display: inline-block !important;
        width: fit-content !important;
        padding-right: 46px !important; /* Spacing for the absolute psi-symbol */
    }
    
    /* Absolutely position left symbol on desktop to remove its height from document flow */
    .nav-logo .psi-symbol {
        position: absolute !important;
        right: 0 !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        margin-left: 0 !important;
        left: auto !important;
    }
    
    /* Avoid visual jump on hover by preserving the absolute translateY transform */
    .nav-logo:hover .psi-symbol,
    .psi-symbol:hover {
        transform: translateY(-50%) scale(1.15) !important;
    }
}

/* Efeito surgir Terra e AvatarHolistico */
.nav-logo-right .earth-button-wrapper {
    animation: delayed-fade-in 1s ease-in 1s both !important;
    margin-top: -1vh !important;
}

@keyframes delayed-fade-in {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Orbitas circulares apertadas para o mobile ao redor da terra */
@keyframes orbit-r1-mobile {
    0%   { transform: translate(calc(-50% + 15px), calc(-50% + 0px)); }
    25%  { transform: translate(calc(-50% + 0px),  calc(-50% + 15px)); }
    50%  { transform: translate(calc(-50% - 15px), calc(-50% + 0px)); }
    75%  { transform: translate(calc(-50% + 0px),  calc(-50% - 15px)); }
    100% { transform: translate(calc(-50% + 15px), calc(-50% + 0px)); }
}

@keyframes orbit-r2-mobile {
    0%   { transform: translate(calc(-50% + 20px), calc(-50% + 0px)); }
    25%  { transform: translate(calc(-50% + 0px),  calc(-50% + 20px)); }
    50%  { transform: translate(calc(-50% - 20px), calc(-50% + 0px)); }
    75%  { transform: translate(calc(-50% + 0px),  calc(-50% - 20px)); }
    100% { transform: translate(calc(-50% + 20px), calc(-50% + 0px)); }
}

@keyframes orbit-r3-mobile {
    0%   { transform: translate(calc(-50% + 25px), calc(-50% + 0px)); }
    25%  { transform: translate(calc(-50% + 0px),  calc(-50% + 25px)); }
    50%  { transform: translate(calc(-50% - 25px), calc(-50% + 0px)); }
    75%  { transform: translate(calc(-50% + 0px),  calc(-50% - 25px)); }
    100% { transform: translate(calc(-50% + 25px), calc(-50% + 0px)); }
}

@keyframes orbit-r4-mobile {
    0%   { transform: translate(calc(-50% + 30px), calc(-50% + 0px)); }
    25%  { transform: translate(calc(-50% + 0px),  calc(-50% + 30px)); }
    50%  { transform: translate(calc(-50% - 30px), calc(-50% + 0px)); }
    75%  { transform: translate(calc(-50% + 0px),  calc(-50% - 30px)); }
    100% { transform: translate(calc(-50% + 30px), calc(-50% + 0px)); }
}

@keyframes orbit-r5-mobile {
    0%   { transform: translate(calc(-50% + 35px), calc(-50% + 0px)); }
    25%  { transform: translate(calc(-50% + 0px),  calc(-50% + 35px)); }
    50%  { transform: translate(calc(-50% - 35px), calc(-50% + 0px)); }
    75%  { transform: translate(calc(-50% + 0px),  calc(-50% - 35px)); }
    100% { transform: translate(calc(-50% + 35px), calc(-50% + 0px)); }
}

/* Custom baby blue buttons and title utility */
.btn-babyblue {
    background: transparent !important;
    color: #ffffff !important;
    border: 1px solid #89CFF0 !important;
}

.btn-babyblue:hover {
    background: rgba(137, 207, 240, 0.1) !important;
    border-color: #89CFF0 !important;
    transform: scale(1.08) !important;
}

.text-babyblue {
    color: #89CFF0 !important;
}

