/* Método Tuller landing pages */

/* Overrides pós style.css */
        .ge-hero {
            min-height: auto !important;
            height: auto !important;
            padding: 64px 0 48px !important;
            display: block !important;
            align-items: unset !important;
        }
        .ge-hero h1 {
            font-size: clamp(28px, 4.5vw, 52px) !important;
            margin-bottom: 16px !important;
            color: #fff !important;
        }
        @media (max-width: 900px) {
            .ge-hero { padding: 56px 0 40px !important; }
        }
        @media (max-width: 600px) {
            .ge-hero { padding: 48px 0 36px !important; }
            .ge-hero h1 { font-size: 26px !important; }
        }
        body.ge-page {
            font-family: 'Inter', sans-serif !important;
            background-color: #0f172a !important;
            color: #cbd5e1 !important;
        }
        body.ge-page h1, body.ge-page h2, body.ge-page h3, body.ge-page h4, body.ge-page h5 {
            font-family: 'Inter', sans-serif !important;
        }
        body.ge-page .font-serif,
        body.ge-page .serif {
            font-family: 'Instrument Serif', serif !important;
        }
        body.ge-page .text-amber-500 { color: #D4AF9E !important; }
        body.ge-page .text-amber-400 { color: #e0c4b0 !important; }
        body.ge-page .text-amber-600 { color: #c9967a !important; }
        body.ge-page .bg-amber-500 { background-color: #D4AF9E !important; }
        body.ge-page .border-amber-500 { border-color: #D4AF9E !important; }
        body.ge-page .hover\:bg-amber-400:hover { background-color: #e0c4b0 !important; }
        body.ge-page .hover\:text-amber-300:hover { color: #f0dcc8 !important; }
        body.ge-page .hover\:text-amber-600:hover { color: #c9967a !important; }
        body.ge-page .hover\:border-amber-600:hover { border-color: #c9967a !important; }
        body.ge-page .open\:border-amber-500\/50[open] { border-color: rgba(212,175,158,.5) !important; }
        body.ge-page .bg-amber-500\/10 { background-color: rgba(212,175,158,.12) !important; }
        body.ge-page .text-slate-900 { color: #0f172a !important; }

        /* Ícones visíveis — .bg-slate-900 * força branco nos <i> */
        body.ge-page .ge-icon-box {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            margin-bottom: 16px;
            background: rgba(212,175,158,.18) !important;
            border: 1px solid rgba(212,175,158,.4) !important;
        }
        body.ge-page .ge-icon-box.ge-icon-box--inline {
            margin-bottom: 0;
            flex-shrink: 0;
        }
        body.ge-page .ge-icon-box.ge-icon-box-lg {
            width: 56px;
            height: 56px;
            font-size: 24px;
        }
        body.ge-page .ge-icon-box i {
            color: #D4AF9E !important;
        }
        /* Fallback: círculos rounded-full com bg-amber ainda no HTML */
        body.ge-page div[class*="rounded-full"][class*="bg-amber"]:not(.ge-mentor-badge):not(.animate-ping):not([class*="w-20"]):not([class*="w-24"]) {
            background: rgba(212,175,158,.18) !important;
            border: 1px solid rgba(212,175,158,.4) !important;
        }
        body.ge-page div[class*="rounded-full"][class*="bg-amber"]:not(.ge-mentor-badge) i {
            color: #D4AF9E !important;
        }
        body.ge-page div.text-amber-500 i,
        body.ge-page .text-amber-500.text-3xl i {
            color: #D4AF9E !important;
        }
        body.ge-page .ge-card-badge {
            width: 80px;
            height: 80px;
            margin-bottom: 0;
            border-radius: 50%;
            border: 4px solid #0f172a !important;
            background: linear-gradient(135deg, #D4AF9E, #c9967a) !important;
            box-shadow: 0 8px 24px rgba(212,175,158,.35);
        }
        body.ge-page .ge-card-badge i {
            color: #0A1628 !important;
            font-size: 28px;
        }
        body.ge-page i.ge-stat-icon {
            color: #D4AF9E !important;
            font-size: 2.25rem;
            line-height: 1;
            margin-bottom: 1rem;
        }
        body.ge-page i.text-green-500 {
            color: #22c55e !important;
        }
        body.ge-page i.text-amber-500,
        body.ge-page i[class*="text-amber-"] {
            color: #D4AF9E !important;
        }
        body.ge-page .ge-module-title,
        body.ge-page .module-card h4 {
            font-family: 'Inter', sans-serif !important;
            letter-spacing: -.02em !important;
            line-height: 1.4 !important;
            color: #fff !important;
        }
        body.ge-page .module-card p {
            color: rgba(255,255,255,.68) !important;
        }

        /* Seção mentora — fundo claro dentro de body dark */
        body.ge-page .ge-mentor-section {
            background: #f8fafc !important;
        }
        body.ge-page .ge-mentor-section h2,
        body.ge-page .ge-mentor-section h4 {
            font-family: 'Inter', sans-serif !important;
            color: #0A1628 !important;
        }
        body.ge-page .ge-mentor-section h2 {
            font-size: clamp(28px, 3.5vw, 38px);
            font-weight: 700;
            letter-spacing: -.03em;
            line-height: 1.15;
            margin-bottom: 20px;
        }
        body.ge-page .ge-mentor-section .ge-mentor-bio {
            color: #475569 !important;
            font-size: 17px;
            line-height: 1.7;
        }
        body.ge-page .ge-mentor-section .ge-mentor-bio strong {
            color: #0A1628 !important;
            font-weight: 700;
        }
        body.ge-page .ge-mentor-section .ge-mentor-quote p {
            font-family: 'Inter', sans-serif !important;
            font-style: italic;
            font-size: 17px;
            line-height: 1.65;
            color: #1E2A3D !important;
        }
        body.ge-page .ge-mentor-section .ge-mentor-card {
            background: #fff !important;
            border: 1px solid #e2e8f0 !important;
        }
        body.ge-page .ge-mentor-section .ge-mentor-card h4 {
            font-size: 15px;
            font-weight: 700;
            margin-bottom: 12px;
        }
        body.ge-page .ge-mentor-section .ge-mentor-card li {
            color: #475569 !important;
            font-size: 14px;
            line-height: 1.55;
        }
        body.ge-page .ge-mentor-section .ge-mentor-label {
            color: #0A1628 !important;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: .06em;
            text-transform: uppercase;
        }
        body.ge-page .ge-mentor-section .ge-mentor-tag {
            background: #e2e8f0 !important;
            color: #334155 !important;
        }
        body.ge-page .ge-mentor-section .ge-mentor-link {
            color: #0A1628 !important;
            font-weight: 700;
            border-color: #D4AF9E !important;
        }
        body.ge-page .ge-mentor-section .ge-mentor-link:hover {
            color: #c9967a !important;
            border-color: #c9967a !important;
        }
        body.ge-page .ge-mentor-section .ge-mentor-badge {
            background: #fff !important;
            border: 3px solid #f1f5f9 !important;
            color: #0A1628 !important;
            box-shadow: 0 8px 24px rgba(10,22,40,.12);
        }
        body.ge-page .ge-mentor-section .ge-mentor-badge span {
            color: #0A1628 !important;
            font-weight: 700;
        }
        body.ge-page .ge-mentor-section .ge-mentor-badge i {
            color: #D4AF9E !important;
        }

        /* Pricing — sem glow branco, texto legível */
        body.ge-page .ge-pricing-section {
            background: #0f172a !important;
        }
        body.ge-page .ge-pricing-card {
            background: #0A1628 !important;
            border: 1px solid rgba(212,175,158,.35) !important;
            box-shadow: 0 24px 60px rgba(0,0,0,.35);
        }
        body.ge-page .ge-pricing-card .ge-pricing-header {
            background: #060d18 !important;
            border-bottom: 1px solid rgba(255,255,255,.08) !important;
        }
        body.ge-page .ge-pricing-card .ge-pricing-body {
            background: transparent !important;
        }
        body.ge-page .ge-pricing-list li span {
            color: rgba(255,255,255,.85) !important;
        }
        body.ge-page .ge-pricing-price-old {
            color: rgba(255,255,255,.4) !important;
            text-decoration: line-through;
        }
        body.ge-page .ge-pricing-price-main {
            font-family: 'Inter', sans-serif !important;
            font-size: clamp(48px, 8vw, 64px);
            font-weight: 800;
            letter-spacing: -.04em;
            color: #fff !important;
            line-height: 1;
        }
        body.ge-page .ge-pricing-price-currency,
        body.ge-page .ge-pricing-price-cents {
            color: #fff !important;
        }
        body.ge-page .ge-pricing-cash {
            color: rgba(255,255,255,.6) !important;
        }
        body.ge-page .ge-pricing-installment {
            color: #D4AF9E !important;
            font-weight: 700;
        }
        body.ge-page .ge-pricing-note {
            color: rgba(255,255,255,.55) !important;
            line-height: 1.55;
        }
        body.ge-page .ge-pricing-guarantee p {
            color: rgba(255,255,255,.65) !important;
        }

        /* Card de oferta (layout 2 colunas) — evita fundo claro do style.css */
        body.ge-page .ge-pricing-section .ge-pricing-offer-wrap {
            padding: 1px;
            border-radius: 1.5rem;
            background: linear-gradient(135deg, #D4AF9E, #b8926f) !important;
            box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
        }
        body.ge-page .ge-pricing-section .ge-pricing-offer-card {
            background: #0A1628 !important;
            border-radius: calc(1.5rem - 1px) !important;
            border: none !important;
            padding: 2rem 2.5rem;
            height: 100%;
        }
        body.ge-page .ge-pricing-section .ge-pricing-offer-badge {
            display: block;
            color: #D4AF9E !important;
            font-weight: 700;
            font-size: .875rem;
            text-transform: uppercase;
            letter-spacing: .12em;
            margin-bottom: .5rem;
        }
        body.ge-page .ge-pricing-section .ge-pricing-installment-row {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: .5rem;
        }
        body.ge-page .ge-pricing-section .ge-pricing-installment-label {
            color: rgba(255, 255, 255, .9) !important;
            font-size: 1.5rem;
            font-weight: 500;
        }
        body.ge-page .ge-pricing-section .ge-pricing-price-highlight {
            color: #D4AF9E !important;
            font-size: clamp(2.75rem, 6vw, 3.75rem);
            font-weight: 800;
            line-height: 1;
            letter-spacing: -.04em;
        }
        body.ge-page .ge-pricing-section .ge-pricing-payments {
            display: flex;
            justify-content: center;
            gap: 1rem;
            color: rgba(255, 255, 255, .45) !important;
            font-size: 1.75rem;
        }
        body.ge-page .ge-pricing-section .ge-pricing-payments i {
            color: rgba(255, 255, 255, .45) !important;
        }

:root {
            --color-gold: #D4AF9E;
            --font-body: 'Inter', sans-serif;
            --font-title: 'Inter', sans-serif;
        }

        body {
            font-family: var(--font-body);
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        h1, h2, h3, h4 {
            font-family: var(--font-title);
        }

        .ge-hero {
            position: relative;
            padding: 64px 0 48px;
            min-height: auto;
            background: linear-gradient(135deg, #0A1628 0%, #15294D 60%, #1A2F8F 100%);
            color: #fff;
            overflow: hidden;
            isolation: isolate;
        }
        .ge-hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background:
                radial-gradient(ellipse 60% 50% at 25% 30%, rgba(59,91,255,.45), transparent 60%),
                radial-gradient(ellipse 50% 60% at 75% 70%, rgba(212,175,158,.28), transparent 60%);
            filter: blur(28px);
            z-index: 0;
            pointer-events: none;
        }
        .ge-hero-inner {
            position: relative;
            z-index: 2;
            text-align: center;
            max-width: 860px;
            margin: 0 auto;
        }
        .ge-hero h1 {
            font-weight: 700;
            line-height: 1.08;
            letter-spacing: -.035em;
            text-transform: uppercase;
        }
        .ge-hero-sub {
            font-size: clamp(15px, 1.5vw, 18px);
            line-height: 1.65;
            color: rgba(255,255,255,.82);
            max-width: 42rem;
            margin: 0 auto;
        }
        .ge-btn-primary {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 16px 32px;
            border-radius: 12px;
            font-weight: 700;
            font-size: 14px;
            text-transform: uppercase;
            letter-spacing: .04em;
            background: linear-gradient(135deg, #D4AF9E, #c9967a);
            color: #0A1628;
            box-shadow: 0 8px 32px rgba(212,175,158,.35);
            transition: transform .25s, box-shadow .25s;
            text-decoration: none;
        }
        .ge-btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 40px rgba(212,175,158,.45);
        }
        .ge-section-title {
            font-size: clamp(26px, 3.5vw, 36px);
            font-weight: 700;
            color: #fff;
            text-transform: uppercase;
            letter-spacing: -.02em;
        }

        .reveal {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        .whatsapp-float {
            position: fixed;
            width: 60px;
            height: 60px;
            bottom: 30px;
            right: 30px;
            background-color: #25d366;
            color: #FFF;
            border-radius: 50px;
            text-align: center;
            font-size: 30px;
            box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
            z-index: 999;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: 0.3s;
        }
        .whatsapp-float:hover {
            transform: scale(1.1);
            background-color: #20ba5a;
        }

        .module-card {
            background: var(--ink-2, #1E2A3D);
            border: 1px solid rgba(255,255,255,.1);
            border-radius: 12px;
            padding: 24px;
            transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
            height: 100%;
        }
        .module-card:hover {
            border-color: var(--color-gold);
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        }
        .ge-module-tag {
            display: inline-block;
            font-family: 'Inter', sans-serif;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .08em;
            text-transform: uppercase;
            color: #D4AF9E;
            background: rgba(212,175,158,.12);
            border: 1px solid rgba(212,175,158,.3);
            padding: 5px 12px;
            border-radius: 6px;
            margin-bottom: 14px;
        }
        .ge-module-title {
            font-family: 'Inter', sans-serif !important;
            font-size: clamp(16px, 1.6vw, 18px);
            font-weight: 700;
            letter-spacing: -.02em;
            line-height: 1.4;
            color: #fff;
            margin-bottom: 12px;
        }
        .module-card p {
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            line-height: 1.65;
            color: rgba(255,255,255,.65);
        }

        details > summary {
            list-style: none;
            cursor: pointer;
        }
        details > summary::-webkit-details-marker {
            display: none;
        }
        details[open] summary ~ * {
            animation: sweep .5s ease-in-out;
        }
        @keyframes sweep {
            0% { opacity: 0; margin-top: -10px }
            100% { opacity: 1; margin-top: 10px }
        }

        @media (prefers-reduced-motion: reduce){
          *,*::before,*::after{
            animation-duration:.01ms!important;
            animation-iteration-count:1!important;
            transition-duration:.01ms!important;
          }
        }

        .serif {
            font-family: 'Instrument Serif', serif;
            letter-spacing: 0;
            font-weight: 400;
            font-style: italic;
            text-transform: none;
        }

        .accent {
            background: linear-gradient(120deg, #9FB4FF 0%, #F2D9C0 50%, #7B9AFF 100%);
            background-size: 200% 100%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }