:root {
    --forest: #0f3d32;
    --forest-dark: #0a2a23;
    --gold: #c9a227;
    --ink: #16211e;
}

html { scroll-behavior: smooth; }

body.site-body {
    font-family: 'Outfit', sans-serif;
    color: var(--ink);
    background:
        radial-gradient(1200px 500px at 10% -10%, rgba(201, 162, 39, 0.12), transparent 50%),
        radial-gradient(900px 400px at 100% 0%, rgba(15, 61, 50, 0.08), transparent 45%),
        #f6f3ec;
}

.font-display { font-family: 'Fraunces', serif; }

.hero-panel {
    background:
        linear-gradient(115deg, rgba(10, 42, 35, 0.92) 8%, rgba(15, 61, 50, 0.78) 48%, rgba(10, 42, 35, 0.55) 100%),
        url('../../uploads/img/jpj2026.jpg') center/cover no-repeat;
}

.hero-slider {
    min-height: 380px;
}

.hero-slide {
    background-size: cover;
    background-position: center;
}

.gallery-frame {
    aspect-ratio: 3 / 4;
}

.glass-nav {
    background: rgba(246, 243, 236, 0.88);
    backdrop-filter: blur(16px);
}

.event-card:hover { transform: translateY(-4px); }

.poster-portrait {
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

.event-modal-panel {
    max-height: min(92vh, 920px);
}

.input-field:focus {
    outline: none;
    border-color: #c9a227;
    box-shadow: 0 0 0 4px rgba(201, 162, 39, 0.18);
}

.site-footer {
    background:
        linear-gradient(180deg, #0c2a23 0%, #081c18 100%);
}

.trust-strip {
    border-top: 1px solid rgba(15, 61, 50, 0.08);
    border-bottom: 1px solid rgba(15, 61, 50, 0.08);
    background: rgba(255, 255, 255, 0.55);
}
