
:root{
  --bg:#081018;
  --bg-soft:#0f1724;
  --bg-deep:#05090f;
  --surface:rgba(255,255,255,0.05);
  --surface-2:rgba(255,255,255,0.08);
  --line:rgba(255,255,255,0.12);
  --gold:#d4a017;
  --gold-soft:#f0d28a;
  --text:#f8f5ef;
  --muted:#c6c9d2;
  --danger:#ff6b6b;
  --success:#6ee7b7;
  --shadow:0 20px 50px rgba(0,0,0,0.35);
  --radius:22px;
  --container:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Inter",sans-serif;
  color:var(--text);
  line-height:1.6;
  background:
    radial-gradient(circle at top left, rgba(212,160,23,0.10), transparent 28%),
    radial-gradient(circle at right center, rgba(212,160,23,0.08), transparent 24%),
    linear-gradient(180deg,var(--bg-deep) 0%, var(--bg) 100%);
}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
.container{width:min(calc(100% - 2rem),var(--container));margin:0 auto}
.section{padding:5rem 0}
.section-sm{padding:3rem 0}
.page-hero{padding:4.5rem 0 3rem}
.section-label,.eyebrow{
  color:var(--gold-soft);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  font-weight:800;
  margin-bottom:1rem;
}
h1,h2,h3,.brand-name,.page-title{
  font-family:"Cinzel",serif;
}
h1{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.06}
h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.1;margin-bottom:1rem}
p{color:var(--muted)}
.site-header{
  position:sticky;top:0;z-index:1000;
  border-bottom:1px solid var(--line);
  background:rgba(5,9,15,.78);
  backdrop-filter:blur(14px);
}
.nav{
  min-height:88px;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.brand{display:flex;align-items:center;gap:.9rem}
.brand-logo{width:64px;height:64px;object-fit:contain}
.brand-text{display:flex;flex-direction:column}
.brand-name{font-size:1.1rem;font-weight:700;letter-spacing:.03em}
.brand-tag{color:var(--gold-soft);font-size:.82rem}
.menu{display:flex;align-items:center;gap:1.25rem}
.menu a{color:var(--muted)}
.menu a:hover,.menu a.active{color:var(--text)}
.menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border:1px solid rgba(240,210,138,.18);
  background:rgba(255,255,255,.04);
  color:var(--text);
  border-radius:16px;
  cursor:pointer;
  position:relative;
  box-shadow:0 12px 30px rgba(0,0,0,.24);
}
.menu-toggle .bar{
  position:absolute;
  width:22px;
  height:2px;
  background:var(--gold-soft);
  border-radius:999px;
  transition:.28s ease;
}
.menu-toggle .bar:nth-child(1){transform:translateY(-7px)}
.menu-toggle .bar:nth-child(3){transform:translateY(7px)}
.menu-toggle.active .bar:nth-child(1){transform:rotate(45deg)}
.menu-toggle.active .bar:nth-child(2){opacity:0}
.menu-toggle.active .bar:nth-child(3){transform:rotate(-45deg)}
.mobile-menu{
  display:none;
  position:fixed;inset:88px 1rem auto 1rem;
  background:rgba(8,16,24,.98);
  border:1px solid var(--line);
  border-radius:22px;
  padding:1rem;
  box-shadow:var(--shadow);
}
.mobile-menu a{
  display:block;padding:1rem;border-radius:14px;color:var(--muted)
}
.mobile-menu a:hover,.mobile-menu a.active{background:rgba(255,255,255,.05);color:var(--text)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.95rem 1.3rem;border-radius:999px;font-weight:700;
  transition:.25s ease;border:1px solid transparent;cursor:pointer
}
.btn-primary{
  background:linear-gradient(135deg,var(--gold) 0%, #f1c04c 100%);
  color:#111;box-shadow:0 10px 30px rgba(212,160,23,.25)
}
.btn-secondary,.btn-outline{
  border-color:rgba(240,210,138,.35);
  background:rgba(255,255,255,.03);
  color:var(--text)
}
.btn:hover{transform:translateY(-2px)}
.hero{padding:5rem 0 4rem}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:center}
.hero-copy p{max-width:700px;margin-top:1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0}
.hero-stats{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.hero-stats .stat,.card,.impact-box,.event-item,.cta-box,.panel,.form-card,.story,.partner,.feature{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.hero-stats .stat{padding:1rem 1.1rem;min-width:145px}
.hero-stats strong,.impact-box strong{display:block;color:var(--gold-soft);font-size:1.7rem}
.hero-card-inner{padding:2rem;text-align:center}
.hero-logo{width:180px;margin:0 auto 1rem}
.two-col{display:grid;grid-template-columns:.95fr 1.05fr;gap:2rem;align-items:start}
.card-grid,.story-grid,.partner-grid,.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem}
.card,.story,.partner,.feature{padding:1.5rem}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.impact-box{padding:1.5rem}
.quote{margin-top:2rem;padding:1.5rem 1.75rem;border-left:3px solid var(--gold);background:rgba(255,255,255,.03);border-radius:0 16px 16px 0}
.event-list{display:grid;gap:1rem;margin-top:2rem}
.event-item{padding:1.2rem;display:flex;gap:1rem;align-items:center}
.event-date{
  min-width:84px;height:84px;border-radius:20px;
  background:linear-gradient(180deg, rgba(212,160,23,.24), rgba(212,160,23,.08));
  border:1px solid rgba(240,210,138,.18);
  display:grid;place-items:center;text-align:center
}
.event-date span{font-size:1.6rem;font-weight:800;line-height:1}
.cta-box{padding:2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.footer{
  border-top:1px solid var(--line);
  background:rgba(0,0,0,.18);
  padding:3rem 0
}
.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:2rem}
.footer-logo{width:90px;margin-bottom:1rem}
.footer a{display:block;color:var(--muted);margin-bottom:.55rem}
.footer a:hover{color:var(--text)}
.page-title{font-size:clamp(2rem,4vw,3.6rem);margin-bottom:1rem}
.page-subtitle{max-width:760px}
.panel{padding:1.6rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.badge{
  display:inline-block;
  padding:.45rem .75rem;
  background:rgba(212,160,23,.14);
  color:var(--gold-soft);
  border:1px solid rgba(212,160,23,.22);
  border-radius:999px;
  font-size:.82rem;font-weight:700
}
.form-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem}
.form-card{padding:1.5rem}
.form-group{margin-bottom:1rem}
label{display:block;margin-bottom:.45rem;font-weight:600}
input,select,textarea{
  width:100%;
  padding:1rem 1rem;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:var(--text);
  font:inherit
}
input::placeholder,textarea::placeholder{color:#98a2b3}
textarea{min-height:130px;resize:vertical}
.error-text{color:var(--danger);font-size:.9rem;margin-top:.35rem;display:none}
input.invalid,select.invalid,textarea.invalid{border-color:var(--danger)}
.success-box,.info-box{
  padding:1rem 1.1rem;border-radius:16px;margin-bottom:1rem;display:none
}
.success-box{background:rgba(110,231,183,.12);border:1px solid rgba(110,231,183,.24);color:var(--success)}
.info-box{background:rgba(255,255,255,.04);border:1px solid var(--line);display:block}
.table-wrap{overflow:auto}
.simple-list li{padding:.7rem 0;border-bottom:1px solid var(--line);color:var(--muted)}
.simple-list li:last-child{border-bottom:none}
@media (max-width:960px){
  .hero-grid,.two-col,.form-layout,.impact-grid,.card-grid,.story-grid,.partner-grid,.feature-grid,.grid-2,.grid-3{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .menu{display:none}
  .menu-toggle{display:inline-flex}
  .mobile-menu.open{display:block}
}
@media (max-width:640px){
  .hero-grid,.two-col,.form-layout,.impact-grid,.card-grid,.story-grid,.partner-grid,.feature-grid,.grid-2,.grid-3{grid-template-columns:1fr}
  .cta-box,.event-item{flex-direction:column;align-items:flex-start}
  .brand-logo{width:54px;height:54px}
  .brand-name{font-size:1rem}
  .hero{padding-top:3.5rem}
}


/* Live refresh additions */
:root{
  --accent-2:#8ec5ff;
}

body{
  overflow-x:hidden;
}

.bg-orb{
  position:fixed;
  width:320px;
  height:320px;
  border-radius:50%;
  filter:blur(60px);
  opacity:.16;
  pointer-events:none;
  z-index:-1;
}
.bg-orb.one{top:6%;left:-90px;background:var(--gold)}
.bg-orb.two{top:38%;right:-100px;background:var(--accent-2)}
.bg-orb.three{bottom:2%;left:25%;background:#ffffff}

.hero{
  position:relative;
}

.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 -40px 0;
  height:100px;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,0.03));
  pointer-events:none;
}

.hero-visual{
  min-height:460px;
  position:relative;
  display:grid;
  place-items:center;
}

.floating-photo{
  position:absolute;
  border-radius:26px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  object-fit:cover;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
}

.photo-a{width:240px;height:320px;left:0;top:50px;transform:rotate(-7deg)}
.photo-b{width:230px;height:280px;right:10px;top:0;transform:rotate(8deg)}
.photo-c{width:260px;height:180px;right:40px;bottom:25px;transform:rotate(-4deg)}
.center-badge{
  position:relative;
  z-index:2;
  width:220px;
  height:220px;
  border-radius:50%;
  padding:18px;
  background:radial-gradient(circle at top, rgba(212,160,23,.35), rgba(255,255,255,.06));
  border:1px solid rgba(240,210,138,.35);
  box-shadow:0 24px 70px rgba(0,0,0,.4);
  animation:float 5s ease-in-out infinite;
}
.center-badge img{width:100%;height:100%;object-fit:contain}
.social-row{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.25rem;
}
.social-chip{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.8rem 1rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--text);
  transition:.25s ease;
}
.social-chip:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.08);
}
.social-icon{
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(212,160,23,.16);
  color:var(--gold-soft);
  font-size:.9rem;font-weight:800;
}
.gallery-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr .9fr;
  gap:1rem;
  margin-top:2rem;
}
.gallery-grid img{
  width:80%;
  height:80%;
  min-height:240px;
  object-fit:cover;
  border-radius:22px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.visible{
  opacity:1;
  transform:translateY(0);
}
.card:hover,.story:hover,.partner:hover,.feature:hover,.event-item:hover,.impact-box:hover{
  transform:translateY(-6px);
  transition:transform .25s ease, background .25s ease;
  background:var(--surface-2);
}
.marquee{
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.03);
}
.marquee-track{
  display:flex;
  gap:2rem;
  white-space:nowrap;
  padding:1rem 0;
  animation:scrollX 24s linear infinite;
  color:var(--gold-soft);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.timeline{
  display:grid;
  gap:1rem;
  margin-top:2rem;
}
.timeline-item{
  padding:1.25rem 1.3rem;
  border-left:3px solid var(--gold);
  background:rgba(255,255,255,.03);
  border-radius:0 18px 18px 0;
  border-top:1px solid var(--line);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.footer-socials{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1rem;
}
.footer-socials a{
  margin-bottom:0;
}
@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}
@keyframes scrollX{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (max-width:960px){
  .gallery-grid{grid-template-columns:1fr 1fr}
  .hero-visual{min-height:520px}
}
@media (max-width:640px){
  .gallery-grid{grid-template-columns:1fr}
  .photo-a{width:180px;height:250px;left:0;top:80px}
  .photo-b{width:170px;height:220px;right:0}
  .photo-c{width:190px;height:130px;right:20px}
  .center-badge{width:180px;height:180px}
}


/* Fire refresh */
:root{
  --ember:#ff7a18;
  --ember-2:#ffb347;
  --glow:rgba(255,122,24,.22);
}
body{
  background:
    radial-gradient(circle at 12% 8%, rgba(255,122,24,.18), transparent 24%),
    radial-gradient(circle at 88% 22%, rgba(212,160,23,.10), transparent 22%),
    radial-gradient(circle at 55% 82%, rgba(255,179,71,.10), transparent 18%),
    linear-gradient(180deg, #05090f 0%, #0a111c 100%);
}
.bg-orb.one{background:linear-gradient(180deg,var(--ember),var(--gold))}
.bg-orb.two{background:linear-gradient(180deg,#ffcf70,#ff7a18)}
.bg-orb.three{background:linear-gradient(180deg,#fff0c2,#ffb347)}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 15%, rgba(255,122,24,.10), transparent 18%),
    radial-gradient(circle at 78% 22%, rgba(255,179,71,.12), transparent 18%);
  pointer-events:none;
}
.btn-primary{
  background:linear-gradient(135deg, var(--ember) 0%, var(--gold) 55%, #ffd06b 100%);
  box-shadow:0 14px 36px rgba(255,122,24,.28);
}
.social-icon{
  background:rgba(255,122,24,.16);
  color:#ffd89a;
}
.center-badge{
  background:
    radial-gradient(circle at top, rgba(255,122,24,.45), rgba(255,255,255,.06)),
    linear-gradient(180deg, rgba(255,179,71,.10), rgba(255,255,255,.03));
  border:1px solid rgba(255,193,94,.38);
  box-shadow:0 30px 80px rgba(255,122,24,.18);
}
.floating-photo{
  box-shadow:0 28px 80px rgba(0,0,0,.45);
}
.photo-a,.photo-b,.photo-c{
  animation:tiltFloat 6s ease-in-out infinite;
}
.photo-b{animation-delay:.7s}
.photo-c{animation-delay:1.2s}
.reveal{
  opacity:0;
  transform:translateY(34px) scale(.98);
  transition:opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1), filter .8s ease;
  filter:blur(6px);
}
.reveal.visible{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
}
.card,.story,.partner,.feature,.event-item,.impact-box,.panel,.form-card{
  transition:transform .28s ease, background .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.card:hover,.story:hover,.partner:hover,.feature:hover,.event-item:hover,.impact-box:hover,.panel:hover{
  transform:translateY(-8px) scale(1.01);
  border-color:rgba(255,179,71,.24);
  box-shadow:0 18px 46px rgba(255,122,24,.12);
}
.timeline-item{
  border-left-color:var(--ember);
}
.marquee-track{
  color:#ffd89a;
  text-shadow:0 0 18px rgba(255,179,71,.18);
}
@keyframes tiltFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  25%{transform:translateY(-10px) rotate(1deg)}
  50%{transform:translateY(-16px) rotate(0deg)}
  75%{transform:translateY(-8px) rotate(-1deg)}
}


.page-hero-photo{position:relative;overflow:hidden;min-height:360px;display:flex;align-items:center;}
.page-hero-bg{position:absolute;inset:0;z-index:0;}
.page-hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.35);}
.page-hero-photo .container{position:relative;z-index:1;}
.program-feature{align-items:center;}
.program-feature-image img,.program-media img{width:100%;height:100%;object-fit:cover;border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow);}
.program-feature-image{min-height:320px;}
.program-timeline{gap:1.25rem;}
.program-item{display:grid;grid-template-columns:260px 1fr;gap:1.2rem;align-items:start;}
.program-media{min-height:220px;}
.program-copy h2{margin-top:.65rem;}
@media (max-width:960px){.program-item{grid-template-columns:1fr;}}



/* Global page loader */
#page-loader{
  position: fixed;
  inset: 0;
  background:
    radial-gradient(circle at center, rgba(245,158,11,0.22) 0%, rgba(245,158,11,0.10) 14%, rgba(5,10,24,0.78) 34%, rgba(2,6,23,0.96) 62%, rgba(2,6,23,1) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  opacity: 1;
  visibility: visible;
  transition: opacity .6s ease, visibility .6s ease;
  backdrop-filter: blur(4px);
}

#page-loader.hidden{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.loader-core{
  position: relative;
  width: min(78vw, 420px);
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader-rings,
.loader-rings::before,
.loader-rings::after{
  position: absolute;
  content: "";
  border-radius: 50%;
  border: 1px solid rgba(245, 158, 11, 0.28);
  box-shadow: 0 0 28px rgba(245, 158, 11, 0.12), inset 0 0 24px rgba(245, 158, 11, 0.04);
}

.loader-rings{
  width: 240px;
  height: 240px;
  animation: pulseRing 3s linear infinite;
}

.loader-rings::before{
  inset: 18px;
  border-style: dashed;
  animation: rotateRing 12s linear infinite reverse;
}

.loader-rings::after{
  inset: 38px;
  animation: pulseRing 2.4s ease-in-out infinite;
}

.loader-glow{
  position: absolute;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,158,11,.42) 0%, rgba(245,158,11,.18) 30%, rgba(245,158,11,.06) 52%, rgba(245,158,11,0) 72%);
  filter: blur(8px);
  animation: glowBreath 2.8s ease-in-out infinite;
}

.loader-brand{
  position: relative;
  z-index: 2;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.loader-brand img{
  width: 80px;
  height: 80px;
  object-fit: contain;
  filter: drop-shadow(0 0 16px rgba(245,158,11,.22));
  animation: floatLogo 2.6s ease-in-out infinite;
}

.loader-fallback{
  width: 82px;
  height: 82px;
  border-radius: 50%;
  border: 1px solid rgba(245,158,11,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  color: #f59e0b;
  font-weight: 700;
  letter-spacing: .08em;
  box-shadow: 0 0 24px rgba(245,158,11,.18);
}

.loader-text{
  color: #f6d27a;
  font-size: clamp(13px, 1.2vw, 16px);
  letter-spacing: .28em;
  text-transform: uppercase;
  text-align: center;
  text-shadow: 0 0 18px rgba(245,158,11,.18);
}

.loader-subtext{
  color: rgba(255,255,255,.65);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

@keyframes rotateRing{
  from{ transform: rotate(0deg); }
  to{ transform: rotate(360deg); }
}
@keyframes pulseRing{
  0%,100%{ transform: scale(1); opacity: .9; }
  50%{ transform: scale(1.04); opacity: 1; }
}
@keyframes glowBreath{
  0%,100%{ transform: scale(.96); opacity: .8; }
  50%{ transform: scale(1.08); opacity: 1; }
}
@keyframes floatLogo{
  0%,100%{ transform: translateY(0px); }
  50%{ transform: translateY(-8px); }
}

body.loading{
  overflow: hidden;
}




/* Footer social links - unified centered layout */
footer,
.footer{
  text-align:center !important;
}

footer .container,
.footer .container{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}

.footer-socials{
  width:100%;
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center !important;
  align-items:center !important;
  gap:12px;
  margin:18px auto 0 !important;
  text-align:center !important;
}

.footer-socials a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:42px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:#d9dde7;
  text-decoration:none;
  background:rgba(255,255,255,.03);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
  font-size:14px;
  letter-spacing:.01em;
}

.footer-socials a:hover{
  transform:translateY(-2px);
  border-color:rgba(245,158,11,.45);
  box-shadow:0 8px 24px rgba(245,158,11,.10);
  background:rgba(245,158,11,.06);
}

.footer-socials .social-icon{
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(245,158,11,.14);
  color:#e9b35d;
  flex:0 0 20px;
}

.footer-socials .social-icon svg{
  width:10px;
  height:10px;
  fill:currentColor;
  display:block;
}

.footer-socials .social-label{
  line-height:1;
}

.footer-copy{
  width:100%;
  display:block;
  text-align:center !important;
  margin:16px auto 0 !important;
  color:rgba(255,255,255,.72);
  font-size:13px;
  letter-spacing:.03em;
}

@media (max-width: 560px){
  .footer-socials{
    gap:10px;
  }
  .footer-socials a{
    height:40px;
    padding:0 12px;
    font-size:13px;
  }
}



/* Compact footer layout */
.footer-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap:24px;
  align-items:start;
}

.footer-grid > div{
  text-align:left;
}

.footer-grid h4{
  margin-bottom:10px;
}

.footer-grid ul{
  margin:0;
  padding:0;
  list-style:none;
}

.footer-grid li{
  margin-bottom:8px;
}

.footer-grid a{
  text-decoration:none;
}

.footer-socials{
  margin:14px auto 0 !important;
}

.footer-copy{
  margin:12px auto 0 !important;
}

@media (max-width: 900px){
  .footer-grid{
    grid-template-columns: 1fr 1fr;
    gap:20px;
  }
}

@media (max-width: 640px){
  .footer-grid{
    grid-template-columns: 1fr;
  }
  .footer-grid > div{
    text-align:center;
  }
}



/* Professional footer */
.footer-pro{
  position: relative;
  margin-top: 56px;
  padding: 56px 20px 24px;
  border-top: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 12% 18%, rgba(245,158,11,.10), transparent 24%),
    radial-gradient(circle at 88% 22%, rgba(245,158,11,.08), transparent 22%),
    rgba(3,10,24,.72);
  backdrop-filter: blur(6px);
}

.footer-pro .footer-container{
  max-width: 1180px;
  margin: 0 auto;
}

.footer-pro .footer-grid{
  display: grid;
  grid-template-columns: 1.25fr .85fr 1fr;
  gap: 42px;
  align-items: start;
}

.footer-pro .footer-brand{
  max-width: 460px;
}

.footer-pro .footer-logo{
  width: 64px;
  height: 64px;
  object-fit: contain;
  margin-bottom: 14px;
  filter: drop-shadow(0 0 16px rgba(245,158,11,.16));
}

.footer-pro .footer-title{
  margin: 0 0 10px;
  font-size: 1.7rem;
  line-height: 1.1;
}

.footer-pro .footer-tagline{
  color: #f6d27a;
  margin: 0 0 12px;
  font-weight: 600;
}

.footer-pro .footer-desc{
  margin: 0;
  color: rgba(255,255,255,.76);
  line-height: 1.7;
}

.footer-pro .footer-heading{
  margin: 6px 0 14px;
  font-size: 1.05rem;
  color: #fff;
}

.footer-pro .footer-links ul,
.footer-pro .footer-contact ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-pro .footer-links li,
.footer-pro .footer-contact li{
  margin: 0 0 11px;
}

.footer-pro .footer-links a,
.footer-pro .footer-contact a{
  text-decoration: none;
  color: rgba(255,255,255,.78);
  transition: color .2s ease, transform .2s ease;
}

.footer-pro .footer-links a:hover,
.footer-pro .footer-contact a:hover{
  color: #f6d27a;
}

.footer-pro .footer-contact li{
  color: rgba(255,255,255,.78);
  line-height: 1.6;
}

.footer-pro .footer-bottom{
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.footer-pro .footer-socials{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.footer-pro .footer-socials a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.03);
  color: #d9dde7;
  text-decoration: none;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
  font-size: 14px;
}

.footer-pro .footer-socials a:hover{
  transform: translateY(-2px);
  border-color: rgba(245,158,11,.42);
  box-shadow: 0 10px 30px rgba(245,158,11,.10);
  background: rgba(245,158,11,.06);
}

.footer-pro .social-icon{
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(245,158,11,.14);
  color: #e9b35d;
  flex: 0 0 20px;
}

.footer-pro .social-icon svg{
  width: 10px;
  height: 10px;
  fill: currentColor;
  display: block;
}

.footer-pro .footer-copy{
  text-align: center;
  color: rgba(255,255,255,.62);
  font-size: 13px;
  letter-spacing: .03em;
}

@media (max-width: 960px){
  .footer-pro .footer-grid{
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  .footer-pro .footer-brand{
    grid-column: 1 / -1;
    max-width: none;
  }
}

@media (max-width: 640px){
  .footer-pro{
    padding: 46px 18px 22px;
  }
  .footer-pro .footer-grid{
    grid-template-columns: 1fr;
    gap: 22px;
    text-align: center;
  }
  .footer-pro .footer-brand{
    margin: 0 auto;
  }
  .footer-pro .footer-logo{
    margin-left: auto;
    margin-right: auto;
  }
}



/* Testimonials section */
.testimonials-section{
  position: relative;
  padding: 90px 20px;
}

.testimonials-wrap{
  max-width: 1180px;
  margin: 0 auto;
}

.testimonials-header{
  text-align: center;
  max-width: 760px;
  margin: 0 auto 42px;
}

.testimonials-kicker{
  display: inline-block;
  margin-bottom: 12px;
  color: #f6d27a;
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: 12px;
  font-weight: 700;
}

.testimonials-header h2{
  margin: 0 0 14px;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.1;
}

.testimonials-header p{
  margin: 0;
  color: rgba(255,255,255,.74);
  line-height: 1.8;
}

.testimonials-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.testimonial-card{
  position: relative;
  padding: 30px 26px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)),
    rgba(5,10,24,.62);
  box-shadow: 0 14px 40px rgba(0,0,0,.16);
  backdrop-filter: blur(8px);
  overflow: hidden;
}

.testimonial-card::before{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(circle at top right, rgba(245,158,11,.12), transparent 34%);
  pointer-events:none;
}

.testimonial-stars{
  color:#f6d27a;
  letter-spacing:.18em;
  font-size:14px;
  margin-bottom:16px;
}

.testimonial-text{
  margin:0 0 22px;
  color:rgba(255,255,255,.84);
  line-height:1.85;
  font-size:15px;
}

.testimonial-author{
  display:flex;
  align-items:center;
  gap:14px;
}

.testimonial-avatar{
  width:46px;
  height:46px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(245,158,11,.12);
  border:1px solid rgba(245,158,11,.20);
  color:#f6d27a;
  font-weight:700;
  font-size:14px;
  flex:0 0 46px;
}

.testimonial-author strong{
  display:block;
  color:#fff;
  margin-bottom:3px;
}

.testimonial-author span{
  color:rgba(255,255,255,.62);
  font-size:14px;
}

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

@media (max-width: 680px){
  .testimonials-section{
    padding: 70px 18px;
  }
  .testimonials-grid{
    grid-template-columns: 1fr;
  }
}



/* Testimonial scroller */
.testimonials-section{
  overflow:hidden;
}

.testimonials-track-wrap{
  overflow:hidden;
  position:relative;
}

.testimonials-track-wrap::before,
.testimonials-track-wrap::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:80px;
  z-index:2;
  pointer-events:none;
}

.testimonials-track-wrap::before{
  left:0;
  background:linear-gradient(90deg, rgba(2,8,23,1), rgba(2,8,23,0));
}

.testimonials-track-wrap::after{
  right:0;
  background:linear-gradient(270deg, rgba(2,8,23,1), rgba(2,8,23,0));
}

.testimonials-track{
  display:flex;
  gap:24px;
  width:max-content;
  animation:testimonialsScroll 30s linear infinite;
}

.testimonials-track:hover{
  animation-play-state:paused;
}

.testimonial-card{
  width:min(360px, 82vw);
  flex:0 0 min(360px, 82vw);
}

.testimonial-media{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}

.testimonial-photo{
  width:62px;
  height:62px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid rgba(245,158,11,.22);
  box-shadow:0 8px 18px rgba(0,0,0,.18);
  flex:0 0 62px;
}

.testimonial-person{
  min-width:0;
}

.testimonial-person strong{
  display:block;
  color:#fff;
  margin-bottom:4px;
}

.testimonial-person span{
  display:block;
  color:rgba(255,255,255,.62);
  font-size:14px;
}

.testimonial-author{
  display:none;
}

@keyframes testimonialsScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(calc(-50% - 12px)); }
}

@media (max-width: 680px){
  .testimonials-track-wrap::before,
  .testimonials-track-wrap::after{
    width:36px;
  }
}



/* Testimonial navigation arrows */
.testimonials-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin-top:22px;
}

.testimonial-arrow{
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:#f6d27a;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.testimonial-arrow:hover{
  transform:translateY(-2px);
  border-color:rgba(245,158,11,.42);
  background:rgba(245,158,11,.08);
  box-shadow:0 12px 28px rgba(245,158,11,.14);
}

.testimonial-arrow svg{
  width:16px;
  height:16px;
  stroke:currentColor;
  stroke-width:2.2;
  fill:none;
}

.testimonials-track{
  will-change: transform;
}

@media (max-width:680px){
  .testimonial-arrow{
    width:42px;
    height:42px;
  }
}


.hero-images{
  display:flex;
  gap:15px;
  justify-content:center;
  align-items:center;
}

.hero-img{
  width:180px;
  height:220px;
  object-fit:cover;
  border-radius:20px;
  box-shadow:0 10px 30px rgba(0,0,0,0.3);
  transition:transform 0.3s ease;
}

.hero-img:hover{
  transform:scale(1.05);
}



/* Navigation CTA for Apply */
.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 24px;
  border-radius:999px;
  border:1px solid rgba(245,158,11,.45);
  background:rgba(255,255,255,.02);
  box-shadow:0 0 0 1px rgba(245,158,11,.06) inset;
}

.nav-cta:hover{
  border-color:rgba(245,158,11,.65);
  background:rgba(245,158,11,.06);
}


/* Gap year client update */
.apply-now-target{
  position:relative;
  box-shadow:0 0 0 0 rgba(255,122,24,.6);
  animation:applyPulse 1.8s infinite;
}

.finger-pointer{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  filter:drop-shadow(0 8px 16px rgba(255,122,24,.35));
  animation:fingerPoint 1.05s ease-in-out infinite;
  margin:0 .2rem;
}

.home-event-spotlight{
  margin-top:1.4rem;
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:1rem;
  align-items:stretch;
  padding:1rem;
  border-radius:30px;
  border:1px solid rgba(255,179,71,.32);
  background:
    radial-gradient(circle at 10% 20%, rgba(255,122,24,.24), transparent 35%),
    linear-gradient(135deg, rgba(255,122,24,.14), rgba(255,255,255,.045));
  box-shadow:0 26px 70px rgba(255,122,24,.16);
  overflow:hidden;
  position:relative;
}

.home-event-spotlight::before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  right:-60px;
  top:-70px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,210,118,.30), transparent 68%);
  animation:fireGlow 2.6s ease-in-out infinite;
}

.event-fire-copy{
  position:relative;
  z-index:1;
  padding:1rem;
}

.event-fire-copy h3{
  font-size:clamp(1.35rem, 2.4vw, 2.1rem);
  margin:.35rem 0 .5rem;
}

.event-mini-points{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin:1rem 0;
}

.event-mini-points span{
  padding:.45rem .7rem;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:#ffe3aa;
  font-size:.82rem;
  font-weight:700;
}

.event-fire-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.65rem;
}

.event-fire-image{
  min-height:240px;
  border-radius:24px;
  overflow:hidden;
  position:relative;
  z-index:1;
  border:1px solid rgba(255,255,255,.13);
}

.event-fire-image img,
.event-feature-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.event-feature-card{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:1.2rem;
  align-items:stretch;
  padding:1rem;
}

.event-feature-photo{
  min-height:270px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
}

.floating-whatsapp{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:1400;
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.82rem 1rem;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#128c7e,#25d366);
  box-shadow:0 18px 50px rgba(37,211,102,.34);
  font-weight:800;
  border:1px solid rgba(255,255,255,.18);
  animation:whatsFloat 2.5s ease-in-out infinite;
}

.floating-whatsapp svg{
  width:28px;
  height:28px;
  fill:currentColor;
}

.happy-youth-gallery img{
  object-position:center;
}

.section{
  content-visibility:auto;
  contain-intrinsic-size:900px;
}

@keyframes fingerPoint{
  0%,100%{transform:translateX(0) rotate(-8deg)}
  50%{transform:translateX(10px) rotate(5deg)}
}

@keyframes applyPulse{
  0%{box-shadow:0 0 0 0 rgba(255,122,24,.52)}
  70%{box-shadow:0 0 0 16px rgba(255,122,24,0)}
  100%{box-shadow:0 0 0 0 rgba(255,122,24,0)}
}

@keyframes fireGlow{
  0%,100%{opacity:.5; transform:scale(.92)}
  50%{opacity:1; transform:scale(1.08)}
}

@keyframes whatsFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}

@media (max-width:760px){
  .home-event-spotlight,
  .event-feature-card{
    grid-template-columns:1fr;
  }

  .event-fire-image,
  .event-feature-photo{
    min-height:220px;
  }

  .floating-whatsapp{
    right:14px;
    bottom:14px;
    padding:.75rem .85rem;
  }

  .floating-whatsapp span{
    display:none;
  }
}


/* Layout correction: floating images in hero arrow area */
.hero-grid{
  align-items:center;
}

.hero-visual{
  min-height:520px;
  position:relative;
  display:block;
}

.floating-image-stack{
  position:relative;
  width:min(100%, 560px);
  min-height:500px;
  margin-left:auto;
}

.floating-image-stack .floating-photo{
  position:absolute;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 28px 70px rgba(0,0,0,.45);
  object-fit:cover;
  background:#111827;
  animation:heroImageFloat 6s ease-in-out infinite;
}

.floating-image-stack .photo-a{
  width:245px;
  height:320px;
  top:15px;
  left:20px;
  z-index:2;
  transform:rotate(-7deg);
}

.floating-image-stack .photo-b{
  width:250px;
  height:315px;
  top:100px;
  right:0;
  z-index:3;
  transform:rotate(7deg);
  animation-delay:.5s;
}

.floating-image-stack .photo-c{
  width:310px;
  height:190px;
  left:120px;
  bottom:10px;
  z-index:4;
  transform:rotate(-3deg);
  animation-delay:1s;
}

.floating-image-stack .center-badge{
  position:absolute;
  left:50%;
  top:45%;
  transform:translate(-50%, -50%);
  z-index:5;
  width:170px;
  height:170px;
  animation:badgeGlowFloat 3.8s ease-in-out infinite;
}

.home-event-spotlight.hero-event-wide{
  width:min(calc(100% - 2rem), var(--container));
  margin:2.4rem auto 0;
  grid-template-columns:.9fr 1.1fr;
}

/* Quick preloader that does not keep users waiting */
.page-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1rem;
  background:
    radial-gradient(circle at 50% 35%, rgba(255,122,24,.22), transparent 28%),
    linear-gradient(180deg, #05090f, #081018);
  color:var(--text);
  transition:opacity .45s ease, visibility .45s ease;
}

.page-loader.hide{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.loader-flame-wrap{
  position:relative;
  width:120px;
  height:120px;
  display:grid;
  place-items:center;
}

.loader-logo{
  width:92px;
  height:92px;
  object-fit:contain;
  position:relative;
  z-index:2;
  animation:loaderPulse 1.2s ease-in-out infinite;
}

.loader-fire{
  position:absolute;
  width:86px;
  height:86px;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,205,92,.95) 0 18%, rgba(255,122,24,.55) 35%, transparent 68%);
  filter:blur(8px);
  animation:loaderFlame 1s ease-in-out infinite;
}

.page-loader p{
  color:#ffd89a;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.82rem;
}

@keyframes heroImageFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -14px}
}

@keyframes badgeGlowFloat{
  0%,100%{transform:translate(-50%, -50%) scale(1); box-shadow:0 22px 65px rgba(255,122,24,.22)}
  50%{transform:translate(-50%, -56%) scale(1.04); box-shadow:0 28px 85px rgba(255,179,71,.32)}
}

@keyframes loaderPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.06)}
}

@keyframes loaderFlame{
  0%,100%{transform:scale(.9); opacity:.7}
  50%{transform:scale(1.15); opacity:1}
}

@media (max-width:960px){
  .hero-visual{
    min-height:470px;
  }

  .floating-image-stack{
    margin:1rem auto 0;
    min-height:450px;
  }

  .home-event-spotlight.hero-event-wide{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .hero-visual{
    min-height:390px;
  }

  .floating-image-stack{
    min-height:380px;
  }

  .floating-image-stack .photo-a{
    width:175px;
    height:230px;
    left:0;
    top:20px;
  }

  .floating-image-stack .photo-b{
    width:175px;
    height:230px;
    right:0;
    top:80px;
  }

  .floating-image-stack .photo-c{
    width:220px;
    height:145px;
    left:50%;
    transform:translateX(-50%) rotate(-3deg);
    bottom:0;
  }

  .floating-image-stack .center-badge{
    width:130px;
    height:130px;
  }
}


/* Final polish update */
.finger-pointer{
  display:none !important;
}

/* Straighten hero floating images */
.floating-image-stack .photo-a,
.floating-image-stack .photo-b,
.floating-image-stack .photo-c,
.photo-a,
.photo-b,
.photo-c{
  transform:rotate(0deg) !important;
}

.floating-image-stack .floating-photo,
.photo-a,
.photo-b,
.photo-c{
  animation:straightFloat 6s ease-in-out infinite !important;
}

.floating-image-stack .photo-b{animation-delay:.5s !important;}
.floating-image-stack .photo-c{animation-delay:1s !important;}

.event-date-pill{
  display:inline-flex;
  width:max-content;
  margin:.45rem 0 .55rem;
  padding:.42rem .75rem;
  border-radius:999px;
  background:rgba(255,122,24,.18);
  border:1px solid rgba(255,179,71,.35);
  color:#ffd89a;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@keyframes straightFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -12px}
}


/* Client update: event spacing, map, testimonials and preloader rings */
.event-pill,
.event-date-pill{
  margin-right:.65rem;
  margin-bottom:.75rem;
  vertical-align:middle;
}

.event-date-pill{
  margin-left:.4rem;
}

.event-fire-copy h3,
.event-info h3{
  margin-top:.8rem;
  margin-bottom:.75rem;
  line-height:1.16;
}

.event-fire-copy p,
.event-info p{
  margin-top:.65rem;
}

.event-fire-actions{
  margin-top:1rem;
}

.event-map-section{
  width:min(calc(100% - 2rem), var(--container));
  margin:2rem auto 0;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:1.25rem;
  align-items:stretch;
  padding:1.2rem;
  border-radius:28px;
  border:1px solid rgba(255,179,71,.25);
  background:linear-gradient(135deg, rgba(255,122,24,.11), rgba(255,255,255,.045));
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}

.map-copy{
  padding:1.1rem;
}

.map-copy h2{
  margin:.65rem 0 .65rem;
}

.map-frame{
  min-height:330px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
}

.map-frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  filter:saturate(.95) contrast(1.02);
}

.loader-flame-wrap{
  border:1px solid rgba(255,179,71,.34);
  border-radius:50%;
  box-shadow:
    0 0 0 8px rgba(255,122,24,.06),
    0 0 50px rgba(255,122,24,.22);
}

.loader-line{
  position:absolute;
  inset:-12px;
  border-radius:50%;
  border:1px solid rgba(255,216,154,.55);
  border-top-color:transparent;
  border-right-color:rgba(255,122,24,.85);
  animation:loaderRingSpin 1.4s linear infinite;
}

.loader-line-two{
  inset:-23px;
  opacity:.55;
  animation-duration:2.1s;
  animation-direction:reverse;
}

@keyframes loaderRingSpin{
  to{transform:rotate(360deg)}
}

@media (max-width:760px){
  .event-map-section{
    grid-template-columns:1fr;
  }
  .map-frame{
    min-height:280px;
  }
}

/* Cookie banner */
.cookie-banner{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%);width:min(calc(100% - 2rem),980px);z-index:1800;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-radius:22px;border:1px solid rgba(255,179,71,.28);background:linear-gradient(135deg,rgba(8,16,24,.96),rgba(18,24,36,.96));box-shadow:0 20px 70px rgba(0,0,0,.45);backdrop-filter:blur(16px)}
.cookie-banner.hide{display:none}.cookie-text strong{color:#ffd89a}.cookie-text p{margin-top:.3rem;max-width:650px;font-size:.93rem}.cookie-actions,.cookie-modal-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.cookie-btn{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:.75rem 1rem;font-weight:800;cursor:pointer;color:var(--text);background:rgba(255,255,255,.06);transition:.25s ease}.cookie-btn:hover{transform:translateY(-2px);background:rgba(255,255,255,.1)}
.cookie-accept{color:#111;border-color:transparent;background:linear-gradient(135deg,var(--ember,#ff7a18),var(--gold,#d4a017))}.cookie-manage{color:#ffd89a}
.cookie-modal{position:fixed;inset:0;z-index:1900;display:none;place-items:center;padding:1rem;background:rgba(0,0,0,.55);backdrop-filter:blur(8px)}.cookie-modal.open{display:grid}
.cookie-modal-card{width:min(100%,620px);padding:1.4rem;border-radius:24px;border:1px solid rgba(255,179,71,.28);background:linear-gradient(135deg,#081018,#111827);box-shadow:0 28px 90px rgba(0,0,0,.55)}
.cookie-option{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.cookie-option input{width:auto;margin-top:.25rem;accent-color:#d4a017}.cookie-option strong{display:block;color:var(--text)}.cookie-option span{color:var(--muted)}
.cookie-modal-actions{margin-top:1rem;justify-content:flex-end}.privacy-link{display:inline-block;margin-top:1rem;color:#ffd89a;font-weight:800}.privacy-content h2{margin-top:1.6rem}.privacy-content h2:first-child{margin-top:0}
@media(max-width:760px){.cookie-banner{align-items:flex-start;flex-direction:column}.cookie-actions{width:100%}.cookie-btn{flex:1;text-align:center}}


/* privacy-page-footer-fix */
.privacy-content{
  max-width:980px;
}

.privacy-content p{
  max-width:860px;
}



/* mobile-flicker-responsive-fix */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe{max-width:100%}
@media(max-width:768px){
  .section{content-visibility:visible!important;contain:none!important;contain-intrinsic-size:auto!important}
  .reveal,.reveal.visible{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .bg-orb,.hero:before,.hero:after{display:none!important}
  body{background:radial-gradient(circle at 50% 0%,rgba(255,122,24,.12),transparent 28%),linear-gradient(180deg,#05090f 0%,#0a111c 100%)!important}
  .site-header{position:sticky!important;top:0;width:100%}
  .nav{min-height:78px!important;padding-block:.45rem;gap:.6rem}
  .brand{gap:.65rem;min-width:0}.brand-logo{width:62px!important;height:62px!important;flex:0 0 auto}.brand-text{min-width:0}
  .brand-name{font-size:1.35rem!important;line-height:1.1;white-space:normal}.brand-tag{font-size:.95rem!important}
  .menu-toggle{width:58px!important;height:58px!important;flex:0 0 auto}
  .mobile-menu{position:fixed!important;left:1rem!important;right:1rem!important;top:86px!important;width:auto!important;max-height:calc(100dvh - 105px);overflow:auto}
  .hero{padding:2.6rem 0 2rem!important}.hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:1.5rem!important}
  .hero-copy{max-width:100%!important}h1,.hero h1{font-size:clamp(2.35rem,13vw,4.1rem)!important;line-height:1.05!important}
  .hero-copy p{font-size:1rem;max-width:100%}
  .hero-actions{display:flex;gap:.8rem;align-items:center}.hero-actions .btn{flex:1 1 auto;min-width:130px}
  .social-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.8rem!important;margin-top:1.2rem!important}
  .social-chip{width:100%;justify-content:flex-start;padding:.85rem .95rem;font-size:1rem}
  .hero-visual{min-height:auto!important;overflow:hidden;padding:1rem 0 0}
  .floating-image-stack{width:100%!important;min-height:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:.75rem!important;margin:0 auto!important}
  .floating-image-stack .floating-photo,.floating-image-stack .photo-a,.floating-image-stack .photo-b,.floating-image-stack .photo-c{
    position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    width:100%!important;height:220px!important;transform:none!important;translate:0 0!important;animation:none!important;border-radius:22px!important
  }
  .floating-image-stack .photo-c{grid-column:1/-1;height:210px!important}.floating-image-stack .center-badge{display:none!important}
  .home-event-spotlight,.home-event-spotlight.hero-event-wide,.event-feature-card,.event-map-section,.form-layout,.grid-2,.grid-3,.card-grid,.feature-grid,.story-grid,.partner-grid,.impact-grid,.two-col{grid-template-columns:1fr!important}
  .home-event-spotlight.hero-event-wide{margin-top:1.5rem!important;width:min(calc(100% - 1.2rem),var(--container))!important}
  .event-fire-image,.event-feature-photo{min-height:230px!important;height:auto!important}
  .event-fire-copy h3,.event-info h3{font-size:1.45rem!important;line-height:1.15!important}
  .map-frame{min-height:270px!important}
  .footer-grid{grid-template-columns:1fr!important;text-align:left!important;gap:1.5rem!important}.footer-logo{margin-left:0!important}
  .cookie-banner{left:.75rem!important;right:.75rem!important;bottom:.75rem!important;width:auto!important;transform:none!important;flex-direction:column!important;align-items:flex-start!important;max-height:70dvh;overflow:auto}
  .cookie-actions{width:100%;display:grid!important;grid-template-columns:1fr!important}
  .floating-whatsapp{right:14px!important;bottom:14px!important;width:62px!important;height:62px!important;padding:0!important;border-radius:50%!important;justify-content:center!important}
  .floating-whatsapp span{display:none!important}.floating-whatsapp svg{width:34px!important;height:34px!important}
}
@media(max-width:420px){
  .container{width:min(calc(100% - 1.25rem),var(--container))!important}
  .brand-logo{width:54px!important;height:54px!important}.brand-name{font-size:1.08rem!important}.brand-tag{font-size:.78rem!important}
  h1,.hero h1{font-size:2.55rem!important}.social-row{grid-template-columns:1fr!important}.floating-image-stack{grid-template-columns:1fr!important}
  .floating-image-stack .floating-photo,.floating-image-stack .photo-a,.floating-image-stack .photo-b,.floating-image-stack .photo-c{height:240px!important}
  .btn{padding:.85rem 1rem!important}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}


/* CROSS BROWSER STABILITY FIX
   Makes the design consistent in Chrome, Firefox, Edge and mobile browsers.
*/
*{
  -webkit-tap-highlight-color: transparent;
}

html{
  width:100%;
  overflow-x:hidden;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}

body{
  width:100%;
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img{
  max-width:100%;
  height:auto;
}

.site-header,
.mobile-menu,
.cookie-banner,
.cookie-modal,
.page-loader{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}

/* Provide solid backgrounds instead of browser-dependent blur rendering */
.site-header{
  background:rgba(5,9,15,.96) !important;
}

.mobile-menu{
  background:#081018 !important;
}

.cookie-banner{
  background:#081018 !important;
}

.cookie-modal{
  background:rgba(0,0,0,.72) !important;
}

.cookie-modal-card{
  background:#081018 !important;
}

/* Stop layout jumping caused by content-visibility across Chrome/Firefox */
.section{
  content-visibility:visible !important;
  contain:none !important;
  contain-intrinsic-size:auto !important;
}

/* Stabilize animations but keep button pulse and small effects */
.reveal{
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
}

.reveal.visible{
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
}

/* Floating images stable across browsers */
.floating-image-stack{
  isolation:isolate;
}

.floating-image-stack .floating-photo,
.photo-a,
.photo-b,
.photo-c{
  transform:none !important;
  rotate:0deg !important;
  translate:0 0 !important;
}

@supports not (display: grid){
  .hero-grid,
  .card-grid,
  .footer-grid,
  .social-row{
    display:block !important;
  }
}

/* Firefox support for button and form rendering */
button,
input,
select,
textarea{
  font-family:inherit;
  appearance:none;
  -webkit-appearance:none;
}

input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:checkbox;
}

/* Better Firefox/Chrome image layout */
.event-fire-image img,
.event-feature-photo img,
.floating-photo,
.gallery-grid img{
  width:100%;
  object-fit:cover;
}

/* Desktop cross-browser layout cleanup */
@media (min-width: 769px){
  .hero-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(360px,560px) !important;
    align-items:center !important;
  }

  .hero-copy{
    min-width:0;
  }

  .hero-visual{
    min-width:0;
  }

  .floating-image-stack{
    overflow:visible;
  }

  .floating-image-stack .photo-a,
  .floating-image-stack .photo-b,
  .floating-image-stack .photo-c{
    animation:softFloatStable 6s ease-in-out infinite !important;
  }

  .floating-image-stack .photo-b{
    animation-delay:.45s !important;
  }

  .floating-image-stack .photo-c{
    animation-delay:.9s !important;
  }
}

@keyframes softFloatStable{
  0%,100%{transform:translateY(0) !important;}
  50%{transform:translateY(-10px) !important;}
}

/* Strong mobile compatibility */
@media (max-width:768px){
  body{
    background:linear-gradient(180deg,#05090f 0%,#0a111c 100%) !important;
  }

  .bg-orb{
    display:none !important;
  }

  .container{
    width:min(calc(100% - 1.2rem), var(--container)) !important;
  }

  .nav{
    min-height:76px !important;
  }

  .brand-logo{
    width:54px !important;
    height:54px !important;
  }

  .brand-name{
    font-size:1.05rem !important;
    line-height:1.1 !important;
  }

  .brand-tag{
    font-size:.78rem !important;
  }

  .hero-grid,
  .two-col,
  .card-grid,
  .feature-grid,
  .story-grid,
  .partner-grid,
  .impact-grid,
  .grid-2,
  .grid-3,
  .form-layout,
  .event-map-section,
  .home-event-spotlight,
  .home-event-spotlight.hero-event-wide,
  .event-feature-card,
  .footer-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .hero{
    padding-top:2.5rem !important;
  }

  .hero h1,
  h1{
    font-size:clamp(2.25rem, 12vw, 3.6rem) !important;
    line-height:1.05 !important;
  }

  .social-row{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:.8rem !important;
  }

  .social-chip{
    width:100%;
    min-width:0;
  }

  .hero-visual{
    min-height:auto !important;
    overflow:hidden !important;
  }

  .floating-image-stack{
    position:relative !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:.75rem !important;
    width:100% !important;
    min-height:0 !important;
  }

  .floating-image-stack .floating-photo,
  .floating-image-stack .photo-a,
  .floating-image-stack .photo-b,
  .floating-image-stack .photo-c{
    position:relative !important;
    width:100% !important;
    height:220px !important;
    inset:auto !important;
    border-radius:22px !important;
    animation:none !important;
  }

  .floating-image-stack .photo-c{
    grid-column:1 / -1;
  }

  .floating-image-stack .center-badge{
    display:none !important;
  }

  .map-frame{
    min-height:270px !important;
  }

  .cookie-banner{
    left:.75rem !important;
    right:.75rem !important;
    bottom:.75rem !important;
    width:auto !important;
    transform:none !important;
  }
}

@media (max-width:420px){
  .social-row{
    grid-template-columns:1fr !important;
  }

  .floating-image-stack{
    grid-template-columns:1fr !important;
  }

  .floating-image-stack .floating-photo,
  .floating-image-stack .photo-a,
  .floating-image-stack .photo-b,
  .floating-image-stack .photo-c{
    height:230px !important;
  }
}


/* CHROME MOBILE POLISH FIX
   Restores mobile floating collage and fixes contact card overflow in Chrome.
*/
html, body{
  overflow-x:hidden !important;
  max-width:100% !important;
}

/* prevent long email text from breaking layout */
.panel,
.card,
.feature,
.story,
.partner,
.impact-box,
.event-item,
.form-card{
  min-width:0 !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

.panel h1,
.panel h2,
.panel h3,
.panel p,
.card h1,
.card h2,
.card h3,
.card p{
  overflow-wrap:anywhere !important;
  max-width:100% !important;
}

/* Contact page mobile/card readability */
.contact-card,
.contact-info-card,
.contact-method,
.grid-3 .panel{
  min-width:0 !important;
}

.grid-3 .panel h3,
.grid-3 .panel p{
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

@media (max-width:768px){

  /* Keep reveal stable in Chrome, but don't kill collage styling */
  .reveal,
  .reveal.visible{
    opacity:1 !important;
    filter:none !important;
  }

  /* Restore collage style on mobile instead of stacked plain images */
  .hero-visual{
    min-height:700px !important;
    height:700px !important;
    overflow:visible !important;
    padding:1rem 0 0 !important;
    margin-top:1rem !important;
  }

  .floating-image-stack{
    position:relative !important;
    display:block !important;
    width:100% !important;
    max-width:430px !important;
    height:660px !important;
    min-height:660px !important;
    margin:0 auto !important;
    overflow:visible !important;
    isolation:isolate !important;
  }

  .floating-image-stack .floating-photo,
  .floating-image-stack .photo-a,
  .floating-image-stack .photo-b,
  .floating-image-stack .photo-c{
    position:absolute !important;
    display:block !important;
    object-fit:cover !important;
    border-radius:24px !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 20px 55px rgba(0,0,0,.35) !important;
    transform:none !important;
    translate:0 0 !important;
    animation:mobileSoftFloat 5.5s ease-in-out infinite !important;
  }

  .floating-image-stack .photo-a{
    width:78% !important;
    height:270px !important;
    top:0 !important;
    left:0 !important;
    z-index:1 !important;
  }

  .floating-image-stack .photo-b{
    width:78% !important;
    height:265px !important;
    top:215px !important;
    right:0 !important;
    z-index:2 !important;
    animation-delay:.45s !important;
  }

  .floating-image-stack .photo-c{
    width:86% !important;
    height:220px !important;
    top:430px !important;
    left:7% !important;
    z-index:3 !important;
    animation-delay:.9s !important;
  }

  .floating-image-stack .center-badge{
    display:block !important;
    position:absolute !important;
    width:120px !important;
    height:120px !important;
    left:50% !important;
    top:330px !important;
    transform:translateX(-50%) !important;
    z-index:4 !important;
    opacity:.72 !important;
    pointer-events:none !important;
  }

  .floating-image-stack .center-badge img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }

  /* Contact page */
  .grid-3,
  .contact-grid,
  .contact-cards{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:1rem !important;
  }

  .grid-3 .panel{
    padding:1.15rem !important;
    width:100% !important;
  }

  .grid-3 .panel h3{
    font-size:clamp(1.2rem, 6vw, 1.75rem) !important;
    line-height:1.15 !important;
    letter-spacing:.02em !important;
  }

  .grid-3 .panel p{
    font-size:1rem !important;
    line-height:1.55 !important;
  }

  /* Make long email addresses readable */
  a[href^="mailto:"],
  .grid-3 .panel h3,
  .grid-3 .panel strong{
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
  }

  /* Prevent WhatsApp button covering content too much */
  .floating-whatsapp{
    width:58px !important;
    height:58px !important;
    right:14px !important;
    bottom:14px !important;
  }
}

@media (max-width:430px){
  .hero-visual{
    min-height:640px !important;
    height:640px !important;
  }

  .floating-image-stack{
    max-width:360px !important;
    height:610px !important;
    min-height:610px !important;
  }

  .floating-image-stack .photo-a{
    width:82% !important;
    height:245px !important;
  }

  .floating-image-stack .photo-b{
    width:82% !important;
    height:240px !important;
    top:195px !important;
  }

  .floating-image-stack .photo-c{
    width:90% !important;
    height:200px !important;
    top:390px !important;
    left:5% !important;
  }

  .floating-image-stack .center-badge{
    width:98px !important;
    height:98px !important;
    top:295px !important;
  }

  .grid-3 .panel h3{
    font-size:1.35rem !important;
  }
}

/* only light motion, stable in Chrome */
@keyframes mobileSoftFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}


/* FINAL CHROME PRELOADER + CONTACT MOBILE FIX */
.page-loader.chrome-safe-loader{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:100dvh !important;
  background:#05090f !important;
  background-image:radial-gradient(circle at center, rgba(255,122,24,.12), transparent 38%) !important;
  overflow:hidden !important;
  opacity:1;
  visibility:visible;
  transition:opacity .35s ease, visibility .35s ease !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  filter:none !important;
  transform:none !important;
}

.page-loader.chrome-safe-loader.hide{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.simple-loader-card{
  position:relative !important;
  width:min(82vw, 320px) !important;
  min-height:330px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:1rem !important;
  border-radius:28px !important;
  border:1px solid rgba(255,179,71,.28) !important;
  background:rgba(8,16,24,.92) !important;
  box-shadow:0 24px 80px rgba(0,0,0,.45) !important;
  overflow:hidden !important;
}

.simple-loader-logo{
  width:180px !important;
  max-width:70% !important;
  height:auto !important;
  object-fit:contain !important;
  position:relative !important;
  z-index:2 !important;
  animation:simpleLogoPulse 1.4s ease-in-out infinite !important;
}

.simple-loader-ring{
  position:absolute !important;
  width:230px !important;
  height:230px !important;
  border-radius:50% !important;
  border:2px solid rgba(255,179,71,.20) !important;
  border-top-color:#ffb347 !important;
  border-right-color:#ff7a18 !important;
  animation:simpleRingSpin 1.2s linear infinite !important;
}

.simple-loader-card p{
  position:relative !important;
  z-index:2 !important;
  margin:0 !important;
  color:#ffd89a !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  font-size:.82rem !important;
  text-align:center !important;
}

/* Hide older loader decorations if any remain */
.loader-line,
.loader-fire,
.loader-flame-wrap{
  display:none !important;
}

@keyframes simpleRingSpin{
  to{transform:rotate(360deg)}
}

@keyframes simpleLogoPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.035)}
}

/* Contact page fit fixes */
.contact-email-link,
.contact-location-link{
  color:inherit !important;
  text-decoration:none !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  line-height:1.2 !important;
}

.grid-3 .panel,
.contact-card,
.contact-method,
.contact-info-card{
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}

.grid-3 .panel h3,
.grid-3 .panel p,
.grid-3 .panel a{
  max-width:100% !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

@media (max-width:768px){
  .page-loader.chrome-safe-loader{
    min-height:100dvh !important;
  }

  .simple-loader-card{
    width:min(84vw, 300px) !important;
    min-height:310px !important;
    padding:1.4rem !important;
  }

  .simple-loader-logo{
    width:160px !important;
  }

  .simple-loader-ring{
    width:210px !important;
    height:210px !important;
  }

  /* Contact page mobile: make cards fit inside screen */
  .grid-3,
  .contact-grid,
  .contact-cards{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) !important;
    gap:1rem !important;
    width:100% !important;
  }

  .grid-3 .panel,
  .contact-card,
  .contact-method,
  .contact-info-card{
    width:100% !important;
    padding:1.15rem !important;
    border-radius:20px !important;
  }

  .grid-3 .panel h3{
    font-size:clamp(1.15rem, 5.5vw, 1.55rem) !important;
    line-height:1.15 !important;
    letter-spacing:.01em !important;
  }

  .grid-3 .panel p{
    font-size:.98rem !important;
    line-height:1.55 !important;
  }

  .grid-3 .panel .badge,
  .contact-card .badge{
    font-size:.78rem !important;
    padding:.42rem .7rem !important;
  }

  .section{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

@media (max-width:430px){
  .grid-3 .panel h3{
    font-size:1.18rem !important;
  }

  .grid-3 .panel p{
    font-size:.95rem !important;
  }

  .contact-email-link{
    font-size:1.02rem !important;
  }
}


/* FINAL IMAGE + COOKIE + PRELOADER FIX */
html,body{
  max-width:100% !important;
  overflow-x:hidden !important;
}

/* Clean animated preloader that works in Chrome mobile */
.page-loader.yih-loader{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  width:100vw !important;
  height:100dvh !important;
  min-height:100dvh !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:
    radial-gradient(circle at center, rgba(255,122,24,.18), transparent 36%),
    linear-gradient(180deg,#05090f 0%, #081018 100%) !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transition:opacity .55s ease, visibility .55s ease !important;
  overflow:hidden !important;
  filter:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}

.page-loader.yih-loader.hide{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.yih-loader-card{
  width:min(82vw, 340px) !important;
  min-height:380px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:1rem !important;
  border-radius:32px !important;
  background:rgba(7,14,22,.92) !important;
  border:1px solid rgba(255,179,71,.32) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.58), 0 0 60px rgba(255,122,24,.12) !important;
  position:relative !important;
  overflow:hidden !important;
}

.yih-loader-card::before{
  content:"" !important;
  position:absolute !important;
  width:180px !important;
  height:180px !important;
  border-radius:50% !important;
  background:radial-gradient(circle, rgba(255,179,71,.28), transparent 68%) !important;
  animation:yihLoaderGlow 1.6s ease-in-out infinite !important;
}

.yih-loader-rings{
  position:relative !important;
  width:230px !important;
  height:230px !important;
  display:grid !important;
  place-items:center !important;
}

.yih-ring{
  position:absolute !important;
  border-radius:50% !important;
  border:2px solid rgba(255,216,154,.24) !important;
  border-top-color:#ffb347 !important;
  border-right-color:#ff7a18 !important;
  animation:yihSpin 1.4s linear infinite !important;
}

.yih-ring-one{inset:8px !important;}
.yih-ring-two{inset:22px !important; animation-duration:1.9s !important; animation-direction:reverse !important; opacity:.7 !important;}
.yih-ring-three{inset:38px !important; animation-duration:2.4s !important; opacity:.5 !important;}

.yih-loader-logo{
  width:155px !important;
  height:155px !important;
  object-fit:contain !important;
  z-index:2 !important;
  position:relative !important;
  animation:yihPulse 1.5s ease-in-out infinite !important;
}

.yih-loader-dots{
  display:flex !important;
  gap:.45rem !important;
  z-index:2 !important;
}

.yih-loader-dots span{
  width:9px !important;
  height:9px !important;
  border-radius:50% !important;
  background:#ffb347 !important;
  display:block !important;
  animation:yihDot 1s ease-in-out infinite !important;
}

.yih-loader-dots span:nth-child(2){animation-delay:.18s !important;}
.yih-loader-dots span:nth-child(3){animation-delay:.36s !important;}

.yih-loader-card p{
  margin:0 !important;
  z-index:2 !important;
  color:#ffd89a !important;
  font-weight:800 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
  font-size:.85rem !important;
  text-align:center !important;
}

/* Hide old loader pieces if they still exist */
.loader-line,.loader-fire,.loader-flame-wrap,.simple-loader-card,.simple-loader-ring{
  display:none !important;
}

@keyframes yihSpin{to{transform:rotate(360deg)}}
@keyframes yihPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes yihDot{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(-7px);opacity:1}}
@keyframes yihLoaderGlow{0%,100%{transform:scale(.9);opacity:.5}50%{transform:scale(1.15);opacity:1}}

/* Fix oversized event/tent images on mobile */
.event-fire-image,
.event-feature-photo{
  overflow:hidden !important;
  border-radius:22px !important;
}

.event-fire-image img,
.event-feature-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}

@media(max-width:768px){
  .home-event-spotlight,
  .home-event-spotlight.hero-event-wide,
  .event-feature-card{
    width:min(calc(100% - 1.2rem), var(--container)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:1rem !important;
    border-radius:24px !important;
  }

  .event-fire-image,
  .event-feature-photo{
    width:100% !important;
    height:260px !important;
    min-height:260px !important;
    max-height:260px !important;
  }

  .event-fire-copy,
  .event-info{
    padding:.7rem .2rem !important;
  }

  .event-pill,
  .event-date-pill{
    display:inline-flex !important;
    margin:.2rem .35rem .6rem 0 !important;
    padding:.42rem .7rem !important;
    font-size:.72rem !important;
    line-height:1 !important;
  }

  .event-fire-copy h3,
  .event-info h3{
    font-size:1.45rem !important;
    line-height:1.14 !important;
    margin:.65rem 0 .55rem !important;
  }

  .event-fire-copy p,
  .event-info p{
    font-size:.98rem !important;
    line-height:1.55 !important;
  }
}

@media(max-width:430px){
  .event-fire-image,
  .event-feature-photo{
    height:230px !important;
    min-height:230px !important;
    max-height:230px !important;
  }
}

/* Fix cookie popup styling on mobile: no raw buttons, no huge overflowing modal */
.cookie-banner{
  position:fixed !important;
  left:1rem !important;
  right:1rem !important;
  bottom:1rem !important;
  width:auto !important;
  max-width:980px !important;
  transform:none !important;
  z-index:9000 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:.9rem !important;
  padding:1rem !important;
  border-radius:20px !important;
  border:1px solid rgba(255,179,71,.28) !important;
  background:#081018 !important;
  color:#fff !important;
  box-shadow:0 18px 70px rgba(0,0,0,.48) !important;
}

.cookie-banner.hide{display:none !important;}

.cookie-text strong{
  color:#ffd89a !important;
  font-size:1rem !important;
}

.cookie-text p{
  margin:.35rem 0 0 !important;
  color:#d8dde6 !important;
  font-size:.9rem !important;
  line-height:1.45 !important;
  letter-spacing:normal !important;
}

.cookie-actions,
.cookie-modal-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.5rem !important;
  width:100% !important;
}

.cookie-btn{
  appearance:none !important;
  -webkit-appearance:none !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:999px !important;
  padding:.72rem .9rem !important;
  background:rgba(255,255,255,.07) !important;
  color:#fff !important;
  font:inherit !important;
  font-size:.85rem !important;
  font-weight:800 !important;
  line-height:1 !important;
  cursor:pointer !important;
  text-align:center !important;
}

.cookie-accept{
  background:linear-gradient(135deg,#ff7a18,#d4a017) !important;
  color:#111 !important;
  border-color:transparent !important;
}

.cookie-manage{color:#ffd89a !important;}

.cookie-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:9100 !important;
  display:none !important;
  place-items:center !important;
  padding:1rem !important;
  background:rgba(0,0,0,.7) !important;
  overflow:auto !important;
}

.cookie-modal.open{display:grid !important;}

.cookie-modal-card{
  width:min(100%, 560px) !important;
  max-height:86dvh !important;
  overflow:auto !important;
  border-radius:22px !important;
  padding:1.15rem !important;
  background:#081018 !important;
  color:#fff !important;
  border:1px solid rgba(255,179,71,.28) !important;
  box-shadow:0 26px 90px rgba(0,0,0,.55) !important;
}

.cookie-modal-card h2{
  font-size:1.6rem !important;
  line-height:1.1 !important;
  margin:0 0 .6rem !important;
  letter-spacing:normal !important;
}

.cookie-modal-card p{
  font-size:.95rem !important;
  line-height:1.5 !important;
  letter-spacing:normal !important;
  color:#d8dde6 !important;
}

.cookie-option{
  display:grid !important;
  grid-template-columns:26px 1fr !important;
  gap:.75rem !important;
  align-items:flex-start !important;
  padding:.85rem 0 !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
}

.cookie-option input{
  width:22px !important;
  height:22px !important;
  margin:.2rem 0 0 !important;
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
}

.cookie-option span{
  font-size:.9rem !important;
  line-height:1.45 !important;
  color:#d8dde6 !important;
}

.cookie-option strong{
  display:block !important;
  color:#fff !important;
  font-size:.95rem !important;
  margin-bottom:.2rem !important;
}

.privacy-link{
  display:inline-block !important;
  margin-top:.9rem !important;
  color:#ffd89a !important;
  font-size:.92rem !important;
  font-weight:800 !important;
}

@media(max-width:430px){
  .cookie-actions,
  .cookie-modal-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
}

/* CIRCLE PRELOADER + BIGGER FIRE RADIUS FIX */
.page-loader.yih-loader{
  position:fixed!important;inset:0!important;z-index:99999!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;
  display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;
  background:radial-gradient(circle at 50% 48%,rgba(255,122,24,.30) 0%,rgba(212,160,23,.18) 24%,rgba(5,9,15,.96) 62%,#05090f 100%)!important;
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;transition:opacity .75s ease,visibility .75s ease!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;
}
.page-loader.yih-loader:before{
  content:""!important;position:absolute!important;width:78vmin!important;height:78vmin!important;max-width:620px!important;max-height:620px!important;border-radius:50%!important;
  background:radial-gradient(circle,rgba(255,196,86,.34) 0%,rgba(255,122,24,.22) 30%,rgba(255,122,24,.07) 57%,transparent 74%)!important;
  filter:blur(16px)!important;animation:yihWideFireRadius 2.4s ease-in-out infinite!important;
}
.page-loader.yih-loader.hide{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.yih-loader-card{
  width:min(82vw,360px)!important;height:min(82vw,360px)!important;min-height:unset!important;aspect-ratio:1/1!important;border-radius:50%!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:.72rem!important;position:relative!important;overflow:hidden!important;
  background:radial-gradient(circle at 50% 44%,rgba(255,179,71,.20) 0%,rgba(8,16,24,.96) 48%,rgba(5,9,15,.98) 100%)!important;
  border:2px solid rgba(255,179,71,.42)!important;
  box-shadow:0 0 0 9px rgba(255,122,24,.07),0 0 0 18px rgba(255,179,71,.035),0 0 90px rgba(255,122,24,.30),0 30px 95px rgba(0,0,0,.70)!important;
}
.yih-loader-card:before{
  content:""!important;position:absolute!important;width:135%!important;height:135%!important;border-radius:50%!important;
  background:radial-gradient(circle,rgba(255,216,123,.32) 0%,rgba(255,122,24,.20) 36%,transparent 66%)!important;
  animation:yihLoaderGlow 1.8s ease-in-out infinite!important;
}
.yih-loader-rings{position:relative!important;width:220px!important;height:220px!important;display:grid!important;place-items:center!important;z-index:2!important}
.yih-ring{position:absolute!important;border-radius:50%!important;border:2px solid rgba(255,216,154,.26)!important;border-top-color:#ffd06b!important;border-right-color:#ff7a18!important;border-bottom-color:rgba(255,179,71,.08)!important;animation:yihSpin 1.45s linear infinite!important}
.yih-ring-one{inset:2px!important}.yih-ring-two{inset:18px!important;animation-duration:2s!important;animation-direction:reverse!important;opacity:.78!important}.yih-ring-three{inset:34px!important;animation-duration:2.6s!important;opacity:.55!important}
.yih-loader-logo{width:145px!important;height:145px!important;object-fit:contain!important;z-index:3!important;position:relative!important;animation:yihPulse 1.55s ease-in-out infinite!important;filter:drop-shadow(0 0 22px rgba(255,122,24,.25))!important}
.yih-loader-dots{display:flex!important;gap:.45rem!important;z-index:3!important;height:14px!important;align-items:center!important}
.yih-loader-dots span{width:8px!important;height:8px!important;border-radius:50%!important;background:#ffb347!important;display:block!important;animation:yihDot 1.05s ease-in-out infinite!important;box-shadow:0 0 16px rgba(255,179,71,.7)!important}
.yih-loader-dots span:nth-child(2){animation-delay:.18s!important}.yih-loader-dots span:nth-child(3){animation-delay:.36s!important}
.yih-loader-card p{margin:0!important;z-index:3!important;color:#ffd89a!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important;font-size:.78rem!important;text-align:center!important;max-width:82%!important;line-height:1.25!important}
.loader-line,.loader-fire,.loader-flame-wrap,.simple-loader-card,.simple-loader-ring{display:none!important}
@keyframes yihWideFireRadius{0%,100%{transform:scale(.92);opacity:.72}50%{transform:scale(1.08);opacity:1}}
@keyframes yihSpin{to{transform:rotate(360deg)}}@keyframes yihPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes yihDot{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(-7px);opacity:1}}@keyframes yihLoaderGlow{0%,100%{transform:scale(.86);opacity:.56}50%{transform:scale(1.12);opacity:1}}
@media(max-width:430px){
  .yih-loader-card{width:min(86vw,320px)!important;height:min(86vw,320px)!important}
  .yih-loader-rings{width:195px!important;height:195px!important}
  .yih-loader-logo{width:128px!important;height:128px!important}
  .yih-loader-card p{font-size:.72rem!important}
}

/* FINAL CLIENT FIXES */
.page-loader.yih-loader{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:99999!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:.9rem!important;overflow:hidden!important;background:radial-gradient(circle at 50% 45%,rgba(255,132,24,.34) 0%,rgba(212,160,23,.18) 26%,rgba(5,9,15,.97) 62%,#05090f 100%)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transition:opacity .75s ease,visibility .75s ease!important}
.page-loader.yih-loader:before{content:""!important;position:absolute!important;width:92vmin!important;height:92vmin!important;max-width:730px!important;max-height:730px!important;border-radius:50%!important;background:radial-gradient(circle,rgba(255,195,92,.36) 0%,rgba(255,122,24,.25) 30%,rgba(255,122,24,.08) 58%,transparent 76%)!important;filter:blur(18px)!important;animation:yihWideGlowPulse 2.4s ease-in-out infinite!important}
.page-loader.yih-loader.hide{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.yih-loader-orb{position:relative!important;width:min(78vw,350px)!important;height:min(78vw,350px)!important;aspect-ratio:1/1!important;border-radius:50%!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:radial-gradient(circle at 50% 42%,rgba(255,179,71,.22),rgba(8,16,24,.97) 50%,rgba(5,9,15,.99) 100%)!important;border:2px solid rgba(255,179,71,.46)!important;box-shadow:0 0 0 10px rgba(255,122,24,.07),0 0 0 22px rgba(255,179,71,.035),0 0 100px rgba(255,122,24,.36),0 28px 90px rgba(0,0,0,.7)!important;z-index:2!important}
.yih-loader-glow{position:absolute!important;width:145%!important;height:145%!important;border-radius:50%!important;background:radial-gradient(circle,rgba(255,223,136,.34) 0%,rgba(255,122,24,.24) 36%,transparent 68%)!important;animation:yihInnerGlow 1.8s ease-in-out infinite!important}
.yih-ring{position:absolute!important;border-radius:50%!important;border:2px solid rgba(255,216,154,.26)!important;border-top-color:#ffd06b!important;border-right-color:#ff7a18!important;border-bottom-color:rgba(255,179,71,.08)!important;animation:yihRingSpin 1.45s linear infinite!important}
.yih-ring-one{inset:4px!important}.yih-ring-two{inset:22px!important;animation-duration:2s!important;animation-direction:reverse!important;opacity:.78!important}.yih-ring-three{inset:42px!important;animation-duration:2.6s!important;opacity:.58!important}
.yih-loader-logo{width:46%!important;height:46%!important;object-fit:contain!important;position:relative!important;z-index:4!important;animation:yihLogoPulse 1.55s ease-in-out infinite!important;filter:drop-shadow(0 0 24px rgba(255,122,24,.28))!important}
.yih-loader-dots{display:flex!important;gap:.45rem!important;z-index:3!important}.yih-loader-dots span{width:8px!important;height:8px!important;border-radius:50%!important;background:#ffb347!important;display:block!important;animation:yihDotBounce 1.05s ease-in-out infinite!important;box-shadow:0 0 16px rgba(255,179,71,.72)!important}.yih-loader-dots span:nth-child(2){animation-delay:.18s!important}.yih-loader-dots span:nth-child(3){animation-delay:.36s!important}
.page-loader.yih-loader p{z-index:3!important;margin:0!important;color:#ffd89a!important;font-size:.82rem!important;font-weight:800!important;line-height:1.25!important;text-transform:uppercase!important;letter-spacing:.07em!important;text-align:center!important}.loader-line,.loader-fire,.loader-flame-wrap,.simple-loader-card,.simple-loader-ring,.yih-loader-card{display:none!important}
@keyframes yihWideGlowPulse{0%,100%{transform:scale(.92);opacity:.7}50%{transform:scale(1.12);opacity:1}}@keyframes yihInnerGlow{0%,100%{transform:scale(.88);opacity:.58}50%{transform:scale(1.14);opacity:1}}@keyframes yihRingSpin{to{transform:rotate(360deg)}}@keyframes yihLogoPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes yihDotBounce{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(-7px);opacity:1}}
.hero-actions .btn[href*="apply"]{display:none!important}.hero-visual{overflow:visible!important}.floating-image-stack{position:relative!important;isolation:isolate!important}
.top-light-logo{position:absolute!important;top:-54px!important;left:50%!important;width:170px!important;height:170px!important;transform:translateX(-50%)!important;display:grid!important;place-items:center!important;z-index:10!important;pointer-events:none!important}.top-light-logo img{width:86px!important;height:86px!important;object-fit:contain!important;opacity:.86!important;filter:drop-shadow(0 0 22px rgba(255,179,71,.34))!important}.top-light-glow{position:absolute!important;width:270px!important;height:270px!important;border-radius:50%!important;background:radial-gradient(circle,rgba(255,202,103,.46) 0%,rgba(255,122,24,.23) 38%,transparent 72%)!important;filter:blur(10px)!important;animation:topLogoGlow 2.7s ease-in-out infinite!important}
.floating-image-stack .floating-photo{animation:responsivePhotoFloat 6s ease-in-out infinite!important}.floating-image-stack .photo-b{animation-delay:.55s!important}.floating-image-stack .photo-c{animation-delay:1.1s!important}@keyframes topLogoGlow{0%,100%{transform:scale(.86);opacity:.66}50%{transform:scale(1.18);opacity:1}}@keyframes responsivePhotoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@media(max-width:768px){.yih-loader-orb{width:min(82vw,320px)!important;height:min(82vw,320px)!important}.page-loader.yih-loader:before{width:106vmin!important;height:106vmin!important}.hero-visual{min-height:700px!important;height:700px!important;padding-top:2.4rem!important}.floating-image-stack{display:block!important;width:100%!important;max-width:430px!important;height:650px!important;min-height:650px!important;margin:0 auto!important}.top-light-logo{top:-34px!important;width:145px!important;height:145px!important}.top-light-logo img{width:74px!important;height:74px!important}.top-light-glow{width:240px!important;height:240px!important}.floating-image-stack .floating-photo,.floating-image-stack .photo-a,.floating-image-stack .photo-b,.floating-image-stack .photo-c{position:absolute!important;object-fit:cover!important;border-radius:24px!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 20px 55px rgba(0,0,0,.36)!important;animation:responsivePhotoFloat 5.8s ease-in-out infinite!important}.floating-image-stack .photo-a{width:78%!important;height:270px!important;top:32px!important;left:0!important;z-index:1!important}.floating-image-stack .photo-b{width:78%!important;height:265px!important;top:235px!important;right:0!important;z-index:2!important}.floating-image-stack .photo-c{width:86%!important;height:220px!important;top:455px!important;left:7%!important;z-index:3!important}}
@media(max-width:430px){.hero-visual{min-height:650px!important;height:650px!important}.floating-image-stack{max-width:360px!important;height:610px!important;min-height:610px!important}.floating-image-stack .photo-a{width:82%!important;height:245px!important;top:30px!important}.floating-image-stack .photo-b{width:82%!important;height:240px!important;top:220px!important}.floating-image-stack .photo-c{width:90%!important;height:200px!important;top:405px!important;left:5%!important}}
.footer-bottom{width:100%!important;margin-top:1.5rem!important;padding-top:1rem!important;border-top:1px solid rgba(255,255,255,.10)!important;color:var(--muted,#b8c0cc)!important;font-size:.92rem!important;text-align:center!important}.footer-privacy-link{color:#ffd89a!important;font-weight:800!important;text-decoration:none!important}.footer-privacy-link:hover{text-decoration:underline!important}


/* FINAL HOMEPAGE FLOATING IMAGES FIX
   Three images float softly like the WhatsApp button.
   Logo sits in the middle of the three images with a circular light radius.
*/
.hero-visual{
  overflow:visible !important;
}

.floating-image-stack{
  position:relative !important;
  isolation:isolate !important;
  overflow:visible !important;
}

/* Remove old top logo completely */
.top-light-logo,
.center-badge{
  display:none !important;
}

/* Keep each image floating, not jumping */
.floating-image-stack .floating-photo,
.floating-image-stack .photo-a,
.floating-image-stack .photo-b,
.floating-image-stack .photo-c{
  animation:whatsappLikeFloat 4.8s ease-in-out infinite !important;
  will-change:transform !important;
}

.floating-image-stack .photo-b{
  animation-delay:.45s !important;
}

.floating-image-stack .photo-c{
  animation-delay:.9s !important;
}

/* The whole collage also breathes lightly like a floating WhatsApp icon */
.floating-image-stack{
  animation:collageSoftBreath 6.8s ease-in-out infinite !important;
}

/* Middle glowing logo */
.middle-light-logo{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:178px !important;
  height:178px !important;
  transform:translate(-50%, -50%) !important;
  display:grid !important;
  place-items:center !important;
  z-index:8 !important;
  pointer-events:none !important;
  border-radius:50% !important;
}

.middle-light-logo img{
  width:82px !important;
  height:82px !important;
  object-fit:contain !important;
  position:relative !important;
  z-index:3 !important;
  opacity:.92 !important;
  animation:middleLogoPulse 2.6s ease-in-out infinite !important;
  filter:drop-shadow(0 0 20px rgba(255,179,71,.45)) !important;
}

/* Circle lighting radius around logo */
.middle-light-circle{
  position:absolute !important;
  inset:0 !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle,
      rgba(255,218,126,.48) 0%,
      rgba(255,122,24,.28) 34%,
      rgba(255,122,24,.10) 58%,
      transparent 74%) !important;
  filter:blur(7px) !important;
  animation:middleCircleGlow 2.8s ease-in-out infinite !important;
  z-index:1 !important;
}

.middle-light-circle.outer{
  inset:-54px !important;
  background:
    radial-gradient(circle,
      rgba(255,179,71,.30) 0%,
      rgba(255,122,24,.17) 42%,
      transparent 74%) !important;
  filter:blur(12px) !important;
  opacity:.82 !important;
  animation-duration:3.6s !important;
  z-index:0 !important;
}

@keyframes whatsappLikeFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(0,-12px,0) scale(1.012)}
}

@keyframes collageSoftBreath{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-7px,0)}
}

@keyframes middleLogoPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.06)}
}

@keyframes middleCircleGlow{
  0%,100%{transform:scale(.86); opacity:.72}
  50%{transform:scale(1.15); opacity:1}
}

/* Desktop positioning: logo visually between all 3 images */
@media (min-width:769px){
  .middle-light-logo{
    left:50% !important;
    top:48% !important;
  }
}

/* Mobile collage positioning: keep the logo in the overlap center */
@media (max-width:768px){
  .hero-visual{
    min-height:700px !important;
    height:700px !important;
    padding-top:1.4rem !important;
  }

  .floating-image-stack{
    display:block !important;
    width:100% !important;
    max-width:430px !important;
    height:650px !important;
    min-height:650px !important;
    margin:0 auto !important;
  }

  .floating-image-stack .photo-a{
    width:78% !important;
    height:270px !important;
    top:18px !important;
    left:0 !important;
    z-index:1 !important;
  }

  .floating-image-stack .photo-b{
    width:78% !important;
    height:265px !important;
    top:220px !important;
    right:0 !important;
    z-index:2 !important;
  }

  .floating-image-stack .photo-c{
    width:86% !important;
    height:220px !important;
    top:438px !important;
    left:7% !important;
    z-index:3 !important;
  }

  .middle-light-logo{
    width:154px !important;
    height:154px !important;
    left:50% !important;
    top:355px !important;
    transform:translateX(-50%) !important;
    z-index:7 !important;
  }

  .middle-light-logo img{
    width:70px !important;
    height:70px !important;
  }

  .middle-light-circle.outer{
    inset:-44px !important;
  }
}

@media (max-width:430px){
  .hero-visual{
    min-height:650px !important;
    height:650px !important;
  }

  .floating-image-stack{
    max-width:360px !important;
    height:610px !important;
    min-height:610px !important;
  }

  .floating-image-stack .photo-a{
    width:82% !important;
    height:245px !important;
    top:16px !important;
  }

  .floating-image-stack .photo-b{
    width:82% !important;
    height:240px !important;
    top:205px !important;
  }

  .floating-image-stack .photo-c{
    width:90% !important;
    height:200px !important;
    top:390px !important;
    left:5% !important;
  }

  .middle-light-logo{
    width:140px !important;
    height:140px !important;
    top:315px !important;
  }

  .middle-light-logo img{
    width:62px !important;
    height:62px !important;
  }

  .middle-light-circle.outer{
    inset:-38px !important;
  }
}


/* VIDEO STYLE FLOATING IMAGE COLLAGE
   Matches the reference video: overlapping cards, center glowing logo, responsive mobile layout.
*/
.hero-visual{
  overflow:visible !important;
}

.floating-image-stack{
  position:relative !important;
  isolation:isolate !important;
  overflow:visible !important;
  width:min(100%, 620px) !important;
  height:520px !important;
  min-height:520px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Hide older logo versions */
.center-badge,
.top-light-logo,
.middle-light-logo{
  display:none !important;
}

.floating-image-stack .floating-photo,
.floating-image-stack .photo-a,
.floating-image-stack .photo-b,
.floating-image-stack .photo-c{
  position:absolute !important;
  object-fit:cover !important;
  border-radius:30px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.45) !important;
  transform:translate3d(0,0,0) !important;
  will-change:transform !important;
  animation:videoCardFloat 5.2s ease-in-out infinite !important;
}

/* desktop/tablet video-like positions */
.floating-image-stack .photo-a{
  width:45% !important;
  height:310px !important;
  left:0 !important;
  top:135px !important;
  z-index:2 !important;
}

.floating-image-stack .photo-b{
  width:47% !important;
  height:285px !important;
  right:0 !important;
  top:35px !important;
  z-index:3 !important;
  animation-delay:.45s !important;
}

.floating-image-stack .photo-c{
  width:50% !important;
  height:220px !important;
  left:34% !important;
  top:295px !important;
  z-index:4 !important;
  animation-delay:.9s !important;
}

.video-style-logo{
  position:absolute !important;
  left:50% !important;
  top:58% !important;
  width:180px !important;
  height:180px !important;
  transform:translate(-50%, -50%) !important;
  display:grid !important;
  place-items:center !important;
  z-index:9 !important;
  pointer-events:none !important;
  border-radius:50% !important;
}

.video-style-logo img{
  width:78px !important;
  height:78px !important;
  object-fit:contain !important;
  position:relative !important;
  z-index:3 !important;
  opacity:.92 !important;
  filter:drop-shadow(0 0 24px rgba(255,179,71,.55)) !important;
  animation:videoLogoPulse 2.5s ease-in-out infinite !important;
}

.video-logo-glow{
  position:absolute !important;
  width:320px !important;
  height:320px !important;
  border-radius:100% !important;
  background:
    radial-gradient(circle,
      rgba(255,205,95,.42) 0%,
      rgba(255,122,24,.27) 33%,
      rgba(255,122,24,.10) 58%,
      transparent 75%) !important;
  filter:blur(9px) !important;
  animation:videoLogoGlow 2.7s ease-in-out infinite !important;
  z-index:1 !important;
}

.video-logo-ring{
  position:absolute !important;
  width:178px !important;
  height:178px !important;
  border-radius:100% !important;
  border:1px solid rgba(255,216,154,.42) !important;
  box-shadow:
    0 0 0 16px rgba(255,122,24,.08),
    0 0 55px rgba(255,122,24,.28) !important;
  z-index:2 !important;
  animation:videoLogoRing 3.2s ease-in-out infinite !important;
}

@keyframes videoCardFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(0,-13px,0) scale(1.012)}
}

@keyframes videoLogoGlow{
  0%,100%{transform:scale(.88); opacity:.70}
  50%{transform:scale(1.18); opacity:1}
}

@keyframes videoLogoRing{
  0%,100%{transform:scale(.96); opacity:.72}
  50%{transform:scale(1.08); opacity:1}
}

@keyframes videoLogoPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.07)}
}

/* Mobile: same design but scaled down and stacked in a clean overlapping collage */
@media(max-width:768px){
  .hero-visual{
    min-height:650px !important;
    height:650px !important;
    overflow:visible !important;
    padding-top:1rem !important;
  }

  .floating-image-stack{
    width:100% !important;
    max-width:430px !important;
    height:610px !important;
    min-height:610px !important;
    margin:0 auto !important;
  }

  .floating-image-stack .photo-a{
    width:74% !important;
    height:270px !important;
    left:0 !important;
    top:20px !important;
    z-index:2 !important;
  }

  .floating-image-stack .photo-b{
    width:74% !important;
    height:255px !important;
    right:0 !important;
    top:190px !important;
    z-index:3 !important;
  }

  .floating-image-stack .photo-c{
    width:82% !important;
    height:205px !important;
    left:9% !important;
    top:388px !important;
    z-index:4 !important;
  }

  .video-style-logo{
    width:148px !important;
    height:148px !important;
    left:50% !important;
    top:335px !important;
    transform:translateX(-50%) !important;
  }

  .video-style-logo img{
    width:66px !important;
    height:66px !important;
  }

  .video-logo-glow{
    width:230px !important;
    height:230px !important;
  }

  .video-logo-ring{
    width:108px !important;
    height:108px !important;
  }
}

@media(max-width:430px){
  .hero-visual{
    min-height:610px !important;
    height:610px !important;
  }

  .floating-image-stack{
    max-width:360px !important;
    height:575px !important;
    min-height:575px !important;
  }

  .floating-image-stack .photo-a{
    width:77% !important;
    height:240px !important;
    top:18px !important;
  }

  .floating-image-stack .photo-b{
    width:77% !important;
    height:230px !important;
    top:178px !important;
  }

  .floating-image-stack .photo-c{
    width:86% !important;
    height:190px !important;
    left:7% !important;
    top:365px !important;
  }

  .video-style-logo{
    width:132px !important;
    height:132px !important;
    top:308px !important;
  }

  .video-style-logo img{
    width:58px !important;
    height:58px !important;
  }

  .video-logo-glow{
    width:210px !important;
    height:210px !important;
  }

  .video-logo-ring{
    width:94px !important;
    height:94px !important;
  }
}
