:root{--event-green:#08735b;--event-ink:#0f221d;--event-gold:#f5bc2e;--event-soft:#f3f7f5}
body{font-family:"Montserrat",system-ui,sans-serif;background:var(--event-soft);color:var(--event-ink)}
#mainNav{padding:1rem 0;background:rgba(6,25,20,.18);transition:.25s}
#mainNav.navbar-shrink{padding:.65rem 0;background:rgba(6,25,20,.96);backdrop-filter:blur(14px)}
#mainNav .navbar-brand img{height:48px;width:auto}
#mainNav .nav-link{font-size:.78rem;font-weight:700;letter-spacing:.08em}
.events-nav{background:transparent}.events-nav .nav-menu a{color:rgba(255,255,255,.94)!important;text-shadow:0 1px 12px rgba(0,0,0,.4);text-decoration:none}.events-nav .nav-menu a:hover{color:#f8c735!important}.events-nav .logo-dark{display:none}.events-nav.is-scrolled{background:rgba(255,255,255,.96);border-color:#e2e8f0;box-shadow:0 10px 35px rgba(15,23,42,.12);backdrop-filter:blur(14px)}.events-nav.is-scrolled .nav-menu a{color:#334155!important;text-shadow:none}.events-nav.is-scrolled .nav-menu a:hover{color:#047857!important}.events-nav.is-scrolled .logo-light{display:none}.events-nav.is-scrolled .logo-dark{display:block}
.events-nav #mobile-menu-btn{color:#fff!important}.events-nav.is-scrolled #mobile-menu-btn{color:#334155!important}
header.masthead{min-height:72vh;display:grid;place-items:center;position:relative;padding:10rem 0 7rem;background-image:url('assets/img/header-bg.jpg');background-position:center;background-size:cover;text-align:left}
header.masthead::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,25,19,.93),rgba(5,25,19,.58) 60%,rgba(5,25,19,.3))}
header.masthead .container{position:relative;z-index:1}
header.masthead .masthead-subheading{margin-bottom:1rem;color:#a6db37;font-size:.85rem;font-style:normal;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
header.masthead .masthead-heading{max-width:800px;margin-bottom:1rem;font-size:clamp(3rem,7vw,6.2rem);font-weight:800;line-height:.98;letter-spacing:-.055em;text-transform:none}
.events-hero-copy{max-width:620px;margin-bottom:2rem;color:rgba(255,255,255,.78);font-size:1.05rem;line-height:1.8}
.btn{border-radius:999px;font-weight:700;text-transform:none!important}.btn-primary{background:#9bd327;border-color:#9bd327;color:#10220d}.btn-primary:hover{background:#afe345;border-color:#afe345;color:#10220d}
#event-gallery{padding:7rem 0}.section-kicker,.gallery-heading span{display:block;margin-bottom:.65rem;color:var(--event-green);font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.section-heading{font-size:clamp(2.2rem,4vw,3.5rem);font-weight:800;letter-spacing:-.045em;text-transform:none!important}.section-subheading{max-width:700px;margin:1rem auto 3.5rem!important;font-family:inherit!important;line-height:1.7}
.container01{padding:0!important}.photo-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem!important}.photo-grid .thumbnail{display:block;overflow:hidden;position:relative;flex:none!important;margin:0!important;border-radius:22px;background:#fff;box-shadow:0 15px 45px rgba(15,34,29,.09)}.photo-grid .thumbnail img{height:340px!important;transition:transform .45s ease}.photo-grid .thumbnail:hover img{transform:scale(1.045)}.thumbnail-caption{top:auto!important;bottom:0;height:auto!important;min-height:30%;align-items:flex-end!important;justify-content:flex-start!important;padding:2rem!important;background:linear-gradient(transparent,rgba(5,22,17,.92))!important;font-size:1.15rem;font-weight:700;text-align:left!important;opacity:1!important}
.gallery-heading{margin:5rem 0 1.5rem}.gallery-heading h2{font-size:2rem;font-weight:800;letter-spacing:-.035em}.video-gallery .row{row-gap:1.5rem}.video-gallery .card{overflow:hidden;width:100%;height:100%;margin:0!important;border:1px solid #e2e9e5;border-radius:20px;background:#fff;box-shadow:0 12px 36px rgba(15,34,29,.07)}.video-gallery .card video{width:100%;height:230px!important;background:#071510;object-fit:cover}.video-gallery .card-body{width:100%;padding:1.35rem}.video-gallery .card-title{font-weight:800}.video-gallery .card-text{color:#6a7873;font-family:inherit;font-size:.92rem}.archive-section{margin-top:1rem;text-align:left!important}.archive-section .photo-grid .thumbnail{flex:none!important;margin:0!important}
.footer{background:#071612;color:#bfcac6}
.site-footer{position:relative;overflow:hidden;background:#061914 url('../assets/img/map-image.png') center/cover no-repeat}.site-footer::before{content:"";position:absolute;inset:0;background:rgba(4,22,17,.91)}.site-footer>div{position:relative;z-index:1}.site-footer a{transition:.2s}.site-footer a:hover{color:#6ee7b7}.footer-logo{height:4.5rem;padding:.45rem .7rem;border-radius:.8rem;background:#fff;object-fit:contain}.footer-action{display:inline-flex;align-items:center;padding:.65rem .85rem;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#fff;font-weight:700;text-decoration:none}.footer-action:hover{transform:translateY(-2px);background:rgba(255,255,255,.08)}.whatsapp-action{background:#15803d;border-color:#22c55e}
.floating-actions{position:fixed;right:clamp(1rem,2.5vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:60;display:flex;flex-direction:column;gap:.75rem}.floating-action{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#fff!important;background:#0f2d25;box-shadow:0 12px 30px rgba(0,0,0,.25);font-size:1.25rem;transition:transform .2s,opacity .2s,visibility .2s}.floating-action:hover{transform:translateY(-3px)}.floating-whatsapp{background:#16a34a}.floating-top{opacity:0;visibility:hidden;transform:translateY(10px)}.floating-top.is-visible{opacity:1;visibility:visible;transform:none}
@media(max-width:767px){#mainNav{background:rgba(6,25,20,.96)}.events-nav{background:rgba(4,22,17,.32);backdrop-filter:blur(4px)}.events-nav.is-scrolled{background:rgba(255,255,255,.97)}header.masthead{min-height:62vh;text-align:center}header.masthead::before{background:rgba(5,25,19,.75)}#event-gallery{padding:5rem 0}.photo-grid{grid-template-columns:1fr}.photo-grid .thumbnail img{height:280px!important}.events-hero-copy{font-size:.95rem}}
