/* ============================================================================
   PLATAFORMA EVANGELÍSTICA ADVENTISTA
   Design System v2 — Vibrante, Alegre, Triunfante
   "Ele vem! E toda alegria será completa."
   ============================================================================ */

/* ─── VARIABLES ─────────────────────────────────────────────────────── */
:root {
    --primary: #3B82F6;
    --primary-light: #60A5FA;
    --primary-dark: #1E40AF;
    --primary-50: rgba(59,130,246,0.06);
    --primary-100: rgba(59,130,246,0.12);

    --gold: #F59E0B;
    --gold-light: #FCD34D;
    --gold-dark: #D97706;
    --gold-glow: rgba(245,158,11,0.15);

    --coral: #F97316;
    --coral-light: #FB923C;
    --coral-dark: #EA580C;

    --rose: #EC4899;
    --rose-light: #F472B6;
    --rose-dark: #DB2777;

    --emerald: #10B981;
    --emerald-light: #34D399;
    --emerald-dark: #059669;

    --violet: #8B5CF6;
    --violet-light: #A78BFA;
    --violet-dark: #7C3AED;

    --success: #10B981;
    --warning: #F59E0B;
    --danger: #EF4444;
    --info: #3B82F6;

    --white: #FFFFFF;
    --gray-50: #FAFAFA;
    --gray-100: #F5F5F5;
    --gray-200: #E5E5E5;
    --gray-300: #D4D4D4;
    --gray-400: #A3A3A3;
    --gray-500: #737373;
    --gray-600: #525252;
    --gray-700: #404040;
    --gray-800: #262626;
    --gray-900: #171717;
    --black: #0A0A0A;

    --font-display: 'Playfair Display', Georgia, serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    --text-xs: 0.75rem; --text-sm: 0.875rem; --text-base: 1rem; --text-lg: 1.125rem;
    --text-xl: 1.25rem; --text-2xl: 1.5rem; --text-3xl: 1.875rem; --text-4xl: 2.25rem;
    --text-5xl: 3rem; --text-6xl: 3.75rem; --text-7xl: 4.5rem;

    --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem;
    --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem;
    --space-12: 3rem; --space-16: 4rem; --space-20: 5rem; --space-24: 6rem;

    --shadow-sm: 0 1px 3px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.08);
    --shadow-lg: 0 10px 40px rgba(0,0,0,0.1);
    --shadow-xl: 0 25px 60px rgba(0,0,0,0.12);
    --shadow-gold: 0 4px 25px rgba(245,158,11,0.25);
    --shadow-blue: 0 4px 25px rgba(59,130,246,0.25);
    --shadow-coral: 0 4px 25px rgba(249,115,22,0.25);

    --radius-sm: 8px; --radius-md: 12px; --radius-lg: 18px; --radius-xl: 28px;
    --radius-2xl: 40px; --radius-full: 50%;

    --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
    --transition-fast: all 0.15s ease;
    --transition-slow: all 0.5s cubic-bezier(0.4,0,0.2,1);
    --transition-bounce: all 0.5s cubic-bezier(0.34,1.56,0.64,1);

    --container: 1200px;
    --navbar-height: 72px;
}

/* ─── RESET ────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--gray-800);background:var(--white);overflow-x:hidden}

h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--gray-900)}
h1{font-size:var(--text-5xl)} h2{font-size:var(--text-4xl)} h3{font-size:var(--text-2xl)} h4{font-size:var(--text-xl)}
a{color:var(--primary);text-decoration:none;transition:var(--transition-fast)}
a:hover{color:var(--primary-dark)}
img{max-width:100%;height:auto}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--space-6)}
.section{padding:var(--space-24) 0}
.section-header{text-align:center;max-width:650px;margin:0 auto var(--space-16)}
.section-label{
    display:inline-flex;align-items:center;gap:var(--space-2);
    padding:var(--space-2) var(--space-5);
    background:linear-gradient(135deg,var(--primary-50),rgba(139,92,246,0.06));
    color:var(--primary);border-radius:var(--radius-2xl);
    font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-4);letter-spacing:.5px;
}
.section-header h2{margin-bottom:var(--space-4)}
.section-header p{color:var(--gray-500);font-size:var(--text-lg);line-height:1.7}

.text-gold{color:var(--gold-dark)} .text-primary{color:var(--primary)}
.text-gradient{background:linear-gradient(135deg,var(--coral),var(--rose),var(--violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* ─── NAVBAR ──────────────────────────────────────────────────── */
.navbar{position:fixed;top:0;left:0;right:0;height:var(--navbar-height);z-index:1000;background:rgba(255,255,255,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,0.06);transition:var(--transition)}
.navbar.scrolled{background:rgba(255,255,255,0.95);box-shadow:var(--shadow-sm)}
.nav-container{display:flex;align-items:center;justify-content:space-between;height:100%}

.nav-logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--gray-900);flex-shrink:0}
.logo-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gold),var(--coral));color:var(--white);border-radius:var(--radius-md);font-size:18px;font-weight:700;box-shadow:0 2px 10px rgba(245,158,11,0.3)}
.logo-text strong{display:block;font-size:var(--text-base);font-family:var(--font-display)}
.logo-text small{font-size:10px;color:var(--gray-400);text-transform:uppercase;letter-spacing:1.5px;font-weight:500}

.nav-menu{display:flex;align-items:center;gap:var(--space-1)}
.nav-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--gray-600);border-radius:var(--radius-md);transition:var(--transition-fast)}
.nav-link:hover,.nav-link.active{color:var(--primary);background:var(--primary-50)}
.nav-link i{font-size:14px}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.nav-toggle span{width:22px;height:2px;background:var(--gray-700);border-radius:2px;transition:var(--transition-fast)}

.nav-user{position:relative;margin-left:var(--space-2)}
.nav-user-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);border:2px solid var(--gray-200);border-radius:var(--radius-2xl);background:var(--white);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);color:var(--gray-700);transition:var(--transition-fast)}
.nav-user-btn:hover{border-color:var(--primary-light);box-shadow:var(--shadow-blue)}
.nav-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary),var(--violet));color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-sm)}
.nav-user-btn i{font-size:10px;color:var(--gray-400)}

.nav-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--gray-100);min-width:220px;padding:var(--space-2);opacity:0;visibility:hidden;transform:translateY(-8px) scale(0.98);transition:var(--transition)}
.nav-dropdown.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.nav-dropdown a{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--gray-600);font-size:var(--text-sm);border-radius:var(--radius-md);transition:var(--transition-fast)}
.nav-dropdown a:hover{background:var(--gray-50);color:var(--primary)}
.nav-dropdown a i{width:16px;text-align:center;font-size:13px}
.nav-dropdown hr{border:none;height:1px;background:var(--gray-100);margin:var(--space-1) 0}

.nav-cta{font-weight:600!important;background:linear-gradient(135deg,var(--primary),var(--violet))!important;color:var(--white)!important;border:none!important;padding:var(--space-2) var(--space-5)!important;border-radius:var(--radius-2xl)!important;box-shadow:var(--shadow-blue)}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 30px rgba(59,130,246,0.35)!important;color:var(--white)!important}

/* ─── BUTTONS ─────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-xl);border:2px solid transparent;cursor:pointer;transition:var(--transition);text-decoration:none;line-height:1.4}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--white);box-shadow:var(--shadow-blue)}
.btn-primary:hover{box-shadow:0 8px 30px rgba(59,130,246,0.35);color:var(--white)}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--coral));color:var(--white);box-shadow:var(--shadow-gold)}
.btn-gold:hover{box-shadow:0 8px 30px rgba(245,158,11,0.4);color:var(--white)}
.btn-outline{background:transparent;border-color:var(--gray-200);color:var(--gray-700)}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-50)}
.btn-ghost{background:transparent;color:var(--gray-600)}
.btn-ghost:hover{background:var(--gray-50);color:var(--gray-800)}
.btn-success{background:var(--emerald);color:var(--white)} .btn-danger{background:var(--danger);color:var(--white)}
.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base);border-radius:var(--radius-2xl)}
.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}
.btn-block{width:100%} .btn i{font-size:0.9em}

/* ─── FLASH ───────────────────────────────────────────────────── */
.flash{position:fixed;top:calc(var(--navbar-height) + var(--space-4));left:50%;transform:translateX(-50%);z-index:9999;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:500;display:flex;align-items:center;gap:var(--space-3);box-shadow:var(--shadow-lg);animation:flashIn .4s cubic-bezier(.34,1.56,.64,1);max-width:90%}
.flash-sucesso{background:var(--emerald);color:var(--white)}
.flash-erro{background:var(--danger);color:var(--white)}
.flash-info{background:var(--primary);color:var(--white)}
@keyframes flashIn{from{opacity:0;transform:translateX(-50%) translateY(-20px) scale(.95)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}

/* ============================================================================
   HERO — "ELE VEM!" Céu de amanhecer glorioso
   ============================================================================ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:var(--navbar-height)}

.hero-sky{
    position:absolute;inset:0;
    background:
        radial-gradient(ellipse at 50% 120%,#FDE68A 0%,transparent 45%),
        radial-gradient(ellipse at 50% 60%,rgba(251,191,36,0.3) 0%,transparent 40%),
        radial-gradient(ellipse at 30% 40%,rgba(249,115,22,0.15) 0%,transparent 40%),
        radial-gradient(ellipse at 70% 30%,rgba(139,92,246,0.1) 0%,transparent 40%),
        linear-gradient(180deg,#1E3A5F 0%,#2563EB 25%,#3B82F6 40%,#60A5FA 55%,#93C5FD 65%,#BFDBFE 75%,#FDE68A 90%,#FCD34D 100%);
    animation:skyPulse 8s ease-in-out infinite alternate;
}
@keyframes skyPulse{0%{filter:brightness(1) saturate(1)}100%{filter:brightness(1.08) saturate(1.1)}}

.hero-rays{
    position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:200%;height:100%;
    background:conic-gradient(from 250deg at 50% 110%,transparent 0deg,rgba(255,255,255,0.04) 5deg,transparent 12deg,transparent 20deg,rgba(255,255,255,0.06) 25deg,transparent 32deg,transparent 42deg,rgba(255,255,255,0.05) 47deg,transparent 54deg,transparent 65deg,rgba(255,255,255,0.07) 70deg,transparent 77deg,transparent 88deg,rgba(255,255,255,0.04) 93deg,transparent 100deg);
    animation:raysRotate 30s linear infinite;
}
@keyframes raysRotate{from{transform:translateX(-50%) rotate(0)}to{transform:translateX(-50%) rotate(360deg)}}

.hero-clouds{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.cloud{position:absolute;background:rgba(255,255,255,0.25);border-radius:100px;filter:blur(20px)}
.cloud-1{width:350px;height:80px;top:15%;left:-5%;animation:cloudFloat 35s linear infinite}
.cloud-2{width:250px;height:60px;top:25%;left:-10%;animation:cloudFloat 28s linear infinite 5s;opacity:.6}
.cloud-3{width:400px;height:90px;top:35%;left:-8%;animation:cloudFloat 40s linear infinite 12s;opacity:.4}
.cloud-4{width:300px;height:70px;top:10%;left:-6%;animation:cloudFloat 32s linear infinite 20s;opacity:.5}
@keyframes cloudFloat{from{transform:translateX(0)}to{transform:translateX(calc(100vw + 400px))}}

.hero-particles{position:absolute;inset:0;overflow:hidden}
.particle{position:absolute;width:3px;height:3px;background:rgba(255,255,255,0.8);border-radius:50%;animation:particleFloat 6s ease-in-out infinite}
.particle:nth-child(1){top:8%;left:10%;animation-delay:0s}
.particle:nth-child(2){top:15%;left:30%;animation-delay:1s;width:4px;height:4px}
.particle:nth-child(3){top:5%;left:55%;animation-delay:2s}
.particle:nth-child(4){top:20%;left:75%;animation-delay:.5s;width:5px;height:5px}
.particle:nth-child(5){top:12%;left:90%;animation-delay:3s}
.particle:nth-child(6){top:25%;left:20%;animation-delay:1.5s}
.particle:nth-child(7){top:3%;left:45%;animation-delay:4s;width:4px;height:4px}
.particle:nth-child(8){top:18%;left:65%;animation-delay:2.5s}
.particle:nth-child(9){top:30%;left:85%;animation-delay:.8s}
.particle:nth-child(10){top:7%;left:5%;animation-delay:3.5s}
@keyframes particleFloat{0%,100%{opacity:.3;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-15px) scale(1.5)}}

.hero-glow{position:absolute;bottom:-30%;left:50%;transform:translateX(-50%);width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(251,191,36,0.4) 0%,rgba(251,191,36,0.1) 40%,transparent 70%);animation:glowPulse 4s ease-in-out infinite alternate}
@keyframes glowPulse{0%{transform:translateX(-50%) scale(1);opacity:.8}100%{transform:translateX(-50%) scale(1.15);opacity:1}}

.hero-content{position:relative;z-index:2;text-align:center;max-width:900px;padding:var(--space-8)}

.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);border-radius:var(--radius-2xl);color:var(--white);font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-8);animation:fadeInDown .8s ease-out}
.hero-badge i{font-size:var(--text-base)}

.hero h1{font-size:var(--text-7xl);color:var(--white);margin-bottom:var(--space-6);line-height:1.05;text-shadow:0 2px 40px rgba(0,0,0,0.15);animation:fadeInUp .8s ease-out .2s both}
.hero h1 .highlight{position:relative;display:inline-block}
.hero h1 .highlight::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--gold-light),var(--coral-light));border-radius:4px;opacity:.5;z-index:-1}

.hero-subtitle{font-size:var(--text-xl);color:rgba(255,255,255,0.85);margin-bottom:var(--space-10);max-width:620px;margin-left:auto;margin-right:auto;line-height:1.7;animation:fadeInUp .8s ease-out .4s both}

.hero-buttons{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;animation:fadeInUp .8s ease-out .6s both}
.hero-buttons .btn-gold{font-size:var(--text-lg);padding:var(--space-5) var(--space-10);box-shadow:0 8px 40px rgba(245,158,11,0.35)}
.hero-buttons .btn-glass{background:rgba(255,255,255,0.12);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.25);color:var(--white);font-size:var(--text-lg);padding:var(--space-5) var(--space-10)}
.hero-buttons .btn-glass:hover{background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.4);color:var(--white)}

.hero-verse{margin-top:var(--space-12);animation:fadeInUp .8s ease-out .8s both}
.hero-verse em{color:rgba(255,255,255,0.55);font-family:var(--font-display);font-size:var(--text-lg);font-style:italic}
.hero-verse span{display:block;color:var(--gold-light);font-size:var(--text-sm);font-weight:600;margin-top:var(--space-2)}

.hero-scroll{position:absolute;bottom:var(--space-8);left:50%;transform:translateX(-50%);z-index:3;animation:fadeInUp .8s ease-out 1s both}
.hero-scroll a{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:rgba(255,255,255,0.5);font-size:var(--text-xs);font-weight:500;letter-spacing:1px;text-transform:uppercase}
.hero-scroll i{font-size:var(--text-lg);animation:scrollBounce 2s ease-in-out infinite}
@keyframes scrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}

/* ─── CARDS ───────────────────────────────────────────────────── */
.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);overflow:hidden;transition:var(--transition)}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--gray-200)}
.card-body{padding:var(--space-6)} .card-title{font-size:var(--text-xl);margin-bottom:var(--space-3)}
.card-text{color:var(--gray-500);font-size:var(--text-sm);line-height:1.7}
.card-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:var(--space-4)}

/* ─── PORTAS DE ENTRADA ───────────────────────────────────────── */
.portas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6)}
.porta-card{position:relative;background:var(--white);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);border:1px solid var(--gray-100);text-align:center;transition:var(--transition);overflow:hidden;cursor:pointer;text-decoration:none;color:inherit;display:block}
.porta-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--violet));transform:scaleX(0);transition:var(--transition)}
.porta-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);border-color:transparent;color:inherit}
.porta-card:hover::before{transform:scaleX(1)}
.porta-icon{width:72px;height:72px;margin:0 auto var(--space-5);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:26px;background:linear-gradient(135deg,var(--primary-50),rgba(139,92,246,0.06));color:var(--primary);transition:var(--transition-bounce)}
.porta-card:hover .porta-icon{background:linear-gradient(135deg,var(--primary),var(--violet));color:var(--white);transform:scale(1.1) rotate(-5deg);box-shadow:var(--shadow-blue)}
.porta-card h3{font-size:var(--text-lg);font-family:var(--font-body);font-weight:700;margin-bottom:var(--space-3)}
.porta-card p{color:var(--gray-500);font-size:var(--text-sm);line-height:1.65}

/* ─── JORNADA STEPS ───────────────────────────────────────────── */
.jornada-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-4);position:relative}
.jornada-steps::before{content:'';position:absolute;top:36px;left:10%;right:10%;height:3px;background:linear-gradient(to right,var(--primary),var(--violet),var(--coral),var(--gold),var(--emerald),var(--rose));border-radius:3px}
.jornada-step{text-align:center;position:relative;z-index:1}
.jornada-step-num{width:72px;height:72px;margin:0 auto var(--space-4);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--white);background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:var(--shadow-blue);transition:var(--transition-bounce)}
.jornada-step:hover .jornada-step-num{transform:scale(1.15) rotate(-5deg)}
.jornada-step h4{font-size:var(--text-base);font-family:var(--font-body);font-weight:700;margin-bottom:var(--space-1)}
.jornada-step p{font-size:var(--text-xs);color:var(--gray-500)}
.jornada-step:nth-child(2) .jornada-step-num{background:linear-gradient(135deg,var(--violet),var(--violet-dark));box-shadow:0 4px 20px rgba(139,92,246,0.3)}
.jornada-step:nth-child(3) .jornada-step-num{background:linear-gradient(135deg,var(--coral),var(--coral-dark));box-shadow:var(--shadow-coral)}
.jornada-step:nth-child(4) .jornada-step-num{background:linear-gradient(135deg,var(--gold),var(--gold-dark));box-shadow:var(--shadow-gold)}
.jornada-step:nth-child(5) .jornada-step-num{background:linear-gradient(135deg,var(--emerald),var(--emerald-dark));box-shadow:0 4px 20px rgba(16,185,129,0.3)}
.jornada-step:nth-child(6) .jornada-step-num{background:linear-gradient(135deg,var(--rose),var(--rose-dark));box-shadow:0 4px 20px rgba(236,72,153,0.3)}

/* ─── FEATURES ────────────────────────────────────────────────── */
.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-6)}
.feature-card{display:flex;gap:var(--space-5);padding:var(--space-6);background:var(--white);border-radius:var(--radius-xl);border:1px solid var(--gray-100);transition:var(--transition)}
.feature-card:hover{box-shadow:var(--shadow-md);border-color:transparent;transform:translateY(-3px)}
.feature-icon{flex-shrink:0;width:52px;height:52px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:20px;background:linear-gradient(135deg,var(--primary-50),rgba(139,92,246,0.06));color:var(--primary);transition:var(--transition-bounce)}
.feature-card:hover .feature-icon{background:linear-gradient(135deg,var(--primary),var(--violet));color:var(--white);transform:scale(1.1);box-shadow:var(--shadow-blue)}
.feature-content h4{font-size:var(--text-lg);font-family:var(--font-body);font-weight:700;margin-bottom:var(--space-2)}
.feature-content p{font-size:var(--text-sm);color:var(--gray-500);line-height:1.65}

/* ─── STATS ───────────────────────────────────────────────────── */
.stats-bar{background:linear-gradient(135deg,var(--primary-dark),var(--primary),var(--violet-dark));padding:var(--space-16) 0;position:relative;overflow:hidden}
.stats-bar::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,0.05),transparent 60%)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8);text-align:center;position:relative}
.stat-item h3{font-size:var(--text-5xl);color:var(--gold-light);margin-bottom:var(--space-2)}
.stat-item p{color:rgba(255,255,255,0.6);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:1px;font-weight:500}

/* ─── CTA ─────────────────────────────────────────────────────── */
.cta-section{position:relative;padding:var(--space-24) 0;background:linear-gradient(135deg,#1E3A5F 0%,var(--primary) 40%,var(--violet-dark) 100%);text-align:center;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(245,158,11,0.1) 0%,transparent 50%),radial-gradient(ellipse at 70% 50%,rgba(139,92,246,0.1) 0%,transparent 50%)}
.cta-section h2{color:var(--white);font-size:var(--text-5xl);margin-bottom:var(--space-4);position:relative}
.cta-section p{color:rgba(255,255,255,0.7);font-size:var(--text-lg);max-width:600px;margin:0 auto var(--space-8);position:relative;line-height:1.7}
.cta-icon{font-size:2.5rem;margin-bottom:var(--space-6);display:block;position:relative}

/* ─── FORMS ───────────────────────────────────────────────────── */
.form-group{margin-bottom:var(--space-5)}
.form-label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--gray-700)}
.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--gray-200);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--gray-800);background:var(--white);transition:var(--transition-fast)}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-100)}
.form-textarea{min-height:120px;resize:vertical}
.form-hint{font-size:var(--text-xs);color:var(--gray-400);margin-top:var(--space-1)}
.form-error{font-size:var(--text-xs);color:var(--danger);margin-top:var(--space-1)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}

.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-8);padding-top:calc(var(--navbar-height) + var(--space-8));background:var(--gray-50)}
.auth-card{width:100%;max-width:460px;background:var(--white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);padding:var(--space-10);border:1px solid var(--gray-100)}
.auth-card h1{font-size:var(--text-3xl);text-align:center;margin-bottom:var(--space-2)}
.auth-card .auth-subtitle{text-align:center;color:var(--gray-500);margin-bottom:var(--space-8)}
.auth-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-6) 0;color:var(--gray-400);font-size:var(--text-sm)}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--gray-200)}
.auth-footer{text-align:center;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--gray-100);font-size:var(--text-sm);color:var(--gray-500)}

/* ─── LANDING ─────────────────────────────────────────────────── */
.landing-hero{min-height:80vh;display:flex;align-items:center;position:relative;padding-top:var(--navbar-height);overflow:hidden}
.landing-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#1E3A5F 0%,var(--primary) 50%,var(--violet-dark) 100%)}
.landing-hero-bg::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(245,158,11,0.1),transparent 60%),radial-gradient(ellipse at 80% 80%,rgba(139,92,246,0.1),transparent 40%)}
.landing-content{position:relative;z-index:2;max-width:650px;padding:var(--space-12) 0}
.landing-content h1{font-size:var(--text-5xl);color:var(--white);margin-bottom:var(--space-6);line-height:1.15}
.landing-content h1 em{font-style:normal;color:var(--gold-light)}
.landing-content p{font-size:var(--text-lg);color:rgba(255,255,255,0.75);margin-bottom:var(--space-8);line-height:1.7}
.landing-verse{display:inline-block;padding:var(--space-4) var(--space-6);background:rgba(255,255,255,0.08);border-radius:var(--radius-md);border-left:3px solid var(--gold);color:rgba(255,255,255,0.6);font-family:var(--font-display);font-style:italic;font-size:var(--text-base)}
.landing-verse cite{display:block;color:var(--gold-light);font-size:var(--text-sm);font-style:normal;margin-top:var(--space-2)}

/* ─── INTERNAL PAGES ──────────────────────────────────────────── */
.page-header{padding:calc(var(--navbar-height) + var(--space-12)) 0 var(--space-12);background:linear-gradient(135deg,#1E3A5F,var(--primary),var(--violet-dark));text-align:center;position:relative;overflow:hidden}
.page-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 120%,rgba(245,158,11,0.08),transparent 60%)}
.page-header h1{color:var(--white);font-size:var(--text-4xl);margin-bottom:var(--space-3);position:relative}
.page-header p{color:rgba(255,255,255,0.7);font-size:var(--text-lg);position:relative}

.page-body{padding:var(--space-16) 0}
.page-body .container{max-width:800px}
.page-body p{margin-bottom:var(--space-4);line-height:1.8}
.page-body h2{margin:var(--space-8) 0 var(--space-4);font-size:var(--text-3xl)}
.page-body h3{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-2xl)}

/* ─── FOOTER ──────────────────────────────────────────────────── */
.footer{position:relative;background:var(--gray-900);color:rgba(255,255,255,0.6)}
.footer-wave{position:relative;margin-top:-1px;color:var(--gray-900);line-height:0}
.footer-wave svg{width:100%;height:80px}
.footer-content{padding:var(--space-16) 0 var(--space-8)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-10);margin-bottom:var(--space-12)}
.footer-logo{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);color:var(--white);font-family:var(--font-display)}
.footer-logo .logo-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gold),var(--coral));color:var(--white);border-radius:var(--radius-md);font-size:18px}
.footer-logo strong{display:block;font-size:var(--text-base)} .footer-logo small{font-size:var(--text-xs);color:var(--gray-400);font-family:var(--font-body)}
.footer-brand p{font-size:var(--text-sm);line-height:1.7;margin-bottom:var(--space-5)}
.footer-verse{padding:var(--space-4);background:rgba(255,255,255,0.03);border-radius:var(--radius-md);border-left:3px solid var(--gold);font-size:var(--text-sm)}
.footer-verse em{display:block;font-family:var(--font-display);color:rgba(255,255,255,0.5)}
.footer-verse span{display:block;color:var(--gold-light);font-size:var(--text-xs);margin-top:var(--space-1)}
.footer-links h4{color:var(--white);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-5)}
.footer-links a{display:block;padding:var(--space-1) 0;color:rgba(255,255,255,0.45);font-size:var(--text-sm);transition:var(--transition-fast)}
.footer-links a:hover{color:var(--gold-light);transform:translateX(4px)}
.footer-bottom{padding-top:var(--space-8);border-top:1px solid rgba(255,255,255,0.06);text-align:center;font-size:var(--text-sm)}
.footer-maranata{color:var(--gold-light);font-family:var(--font-display);font-size:var(--text-lg);font-style:italic;margin-top:var(--space-3)}

/* ─── SCROLL ANIMATION ────────────────────────────────────────── */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* ─── RESPONSIVE ──────────────────────────────────────────────── */
@media(max-width:1024px){.jornada-steps{grid-template-columns:repeat(3,1fr)}.jornada-steps::before{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
    :root{--navbar-height:64px}
    h1{font-size:var(--text-4xl)} h2{font-size:var(--text-3xl)}
    .nav-toggle{display:flex}
    .nav-menu{position:fixed;top:var(--navbar-height);left:0;right:0;bottom:0;flex-direction:column;background:var(--white);padding:var(--space-6);align-items:stretch;gap:var(--space-2);transform:translateX(100%);transition:var(--transition);overflow-y:auto;box-shadow:var(--shadow-xl)}
    .nav-menu.open{transform:translateX(0)}
    .nav-link{padding:var(--space-3) var(--space-4);font-size:var(--text-base)}
    .nav-user{margin:0} .nav-user-btn{width:100%;padding:var(--space-3)}
    .nav-dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding-left:var(--space-8)}
    .nav-cta{margin:var(--space-4) 0 0}
    .hero h1{font-size:var(--text-4xl)} .hero-subtitle{font-size:var(--text-base)} .hero-glow{width:350px;height:350px}
    .jornada-steps{grid-template-columns:repeat(2,1fr)} .features-grid{grid-template-columns:1fr}
    .portas-grid{grid-template-columns:1fr} .form-row{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr;gap:var(--space-8)} .landing-content h1{font-size:var(--text-4xl)}
}
@media(max-width:480px){
    .container{padding:0 var(--space-4)} .hero h1{font-size:var(--text-3xl)}
    .hero-buttons{flex-direction:column;align-items:center} .hero-buttons .btn-gold,.hero-buttons .btn-glass{width:100%}
    .auth-card{padding:var(--space-6)} .stats-grid{grid-template-columns:1fr} .jornada-steps{grid-template-columns:1fr}
}
