@font-face{
  font-family:'Cause';
  src:url('cause.ttf');
}

/* ========================================
   GLOBAL
======================================== */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  background:black;
  color:white;
  font-family:'Cause', sans-serif;
}

p{
  text-align:justify;
}

/* ========================================
   NAVBAR
======================================== */

nav{
  width:100%;
  background:#111;
  padding:20px;
  text-align:center;
 
  z-index:999;
   margin-bottom:0;
}

nav a{
  color:white;
  text-decoration:none;
  margin:0 20px;
  font-size:18px;
  transition:.3s;
}

nav a:hover{
  color:gray;
}

/* ========================================
   GENERAL SECTION
======================================== */

.section{
  padding:80px 20px;
  max-width:1000px;
  margin:auto;
}

.section h2{
  font-size:40px;
  margin-bottom:40px;
}

.section p{
  line-height:1.8;
  color:#ccc;
  font-size:18px;
}

/* ========================================
   HERO
======================================== */

.hero{
  padding:100px 20px;
  text-align:center;
}

.hero img{
  width:auto;
  height:auto;
  border-radius:0;
  object-fit:contain;
}

.hero h1{
  font-size:60px;
  margin-bottom:20px;
}

.hero p{
  font-size:22px;
  color:#aaa;
}

/* ========================================
   MEMBER PAGE
======================================== */

.team-section{
  padding:60px 20px;
}

.team-section h2{
  font-size:42px;
  margin-bottom:10px;
  text-align:center;
}

.parent-company{
  text-align:center;
  color:#888;
  font-size:15px;
  letter-spacing:2px;
  margin-bottom:30px;
}

.member-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:30px;
}

.member-card{
  background:#111;
  width:280px;
  padding:30px 20px;
  border-radius:20px;
  text-align:center;
  transition:.3s;
}

.member-card:hover{
  transform:translateY(-10px);
}

.member-card img{
  width:120px;
  height:120px;
  border-radius:50%;
  object-fit:cover;
  margin-bottom:20px;
}

.member-card h3{
  font-size:26px;
  margin-bottom:10px;
}

.role{
  color:#999;
  margin-bottom:15px;
}

.contact-info{
  font-size:15px;
  color:#ccc;
  line-height:1.8;
  text-align:center;
}

/* ========================================
   LOCK SYSTEM
======================================== */

#lockBox{
  text-align:center;
  margin-top:100px;
  color:white;
}

#lockBox h2{
  font-size:40px;
  margin-bottom:20px;
}

#lockBox input{
  padding:14px;
  width:260px;
  background:#111;
  border:1px solid #333;
  color:white;
  font-size:16px;
  outline:none;
  border-radius:10px;
  margin-top:10px;
}

#lockBox input::placeholder{
  color:#777;
}

#lockBox button{
  padding:12px 30px;
  border:none;
  background:white;
  color:black;
  cursor:pointer;
  margin-top:20px;
  font-size:16px;
  border-radius:10px;
  transition:.3s;
}

#lockBox button:hover{
  background:#ccc;
}

#errorText{
  text-align: center;
  width: 100%;
  display: block;
}
.lock-error{
  color:red;
  margin-top:15px;
  font-size:15px;
}

.lock-content{
  filter:blur(10px);
  pointer-events:none;
  user-select:none;
  opacity:.4;
  transition:.5s;
}

.lock-content.unlocked{
  filter:none;
  pointer-events:auto;
  user-select:auto;
  opacity:1;
}

/* ========================================
   SHAKE
======================================== */

@keyframes shake{

  0%{transform:translateX(0);}
  20%{transform:translateX(-10px);}
  40%{transform:translateX(10px);}
  60%{transform:translateX(-10px);}
  80%{transform:translateX(10px);}
  100%{transform:translateX(0);}

}

.shake{
  animation:shake .4s;
}

/* ========================================
   ACHIEVEMENTS
======================================== */

.section-title{
  margin-top:40px;
  font-size:28px;
}

.year-section{
  margin-top:30px;
  margin-bottom:40px;
}

.year-section h3{
  font-size:24px;
  margin-bottom:8px;
}

.year-section hr{
  border:none;
  height:1px;
  background-color:#999;
  margin-bottom:20px;
}

.year-section p{
  line-height:1.8;
  margin-bottom:20px;
}

.year-section a{
  display:block;
  margin-top:8px;
  word-break:break-word;
}

.achievement-box{
  margin-bottom:60px;
}

/* ========================================
   OFFLINE IMAGE
======================================== */

.offline-image{

  width:100vw;
  height:100vh;

  object-fit:cover;

  display:block;
}
/* ======================================== */
/* HIVE */
/* ======================================== */

.hive-title{
  font-size:60px;
  margin-bottom:20px;
}

.hive-intro{
  font-size:22px;
  color:#999;
  line-height:1.8;
  max-width:900px;
}

/* GRID */

.hive-grid{
  width:100%;
  max-width:1300px;
  margin:auto;
  display:grid;
  grid-template-columns:
  repeat(auto-fit,minmax(280px,1fr));
  gap:25px;
  padding:40px 20px 100px;
}

/* CARD */

.hive-card{
  position:relative;
  height:420px;
  overflow:hidden;
  border-radius:20px;
  cursor:pointer;
  background:#111;
}

.hive-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:0.5s;
}

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

/* OVERLAY */

.hive-overlay{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  padding:30px;
  background:linear-gradient(
    transparent,
    rgba(0,0,0,0.9)
  );
}

.hive-overlay h2{
  font-size:clamp(22px,4vw,32px);
  line-height:1.2;
  word-break:break-word;
  margin-bottom:10px;
}

.hive-overlay p{
  color:#bbb;
}

/* ======================================== */
/* POPUP */
/* ======================================== */

#detailBox{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.45);

  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);

  display:none;
  justify-content:center;
  align-items:center;

  z-index:9999;
}

.detail-content{
  width:90%;
  max-width:800px;
  background:#111;
  padding:50px;
  border-radius:20px;
  position:relative;
}

.close-btn{
  position:absolute;
  top:20px;
  right:25px;
  font-size:40px;
  cursor:pointer;
}

.detail-item{
  display:none;
}

.detail-item h2{
  font-size:40px;
  margin-bottom:20px;
  line-height:1.2;
  word-break:break-word;
}

.detail-item p{
  color:#bbb;
  line-height:1.9;
  font-size:18px;
}

.lead-text{
  margin-top:25px;
  color:white;
}

/* ======================================== */
/* CONTACT PAGE */
/* ======================================== */

.contact-title{
  font-size:72px;
  margin-top:10px;
}

.contact-intro{
  max-width:750px;
  margin:20px auto 0;
  opacity:.75;
  line-height:1.8;
}

.mini-label{
  color:#777;
  letter-spacing:3px;
  text-transform:uppercase;
  font-size:13px;
  margin-bottom:20px;
}

/* MAIN CONTACT */

.main-contact{
  padding:20px;
}

.main-contact-box{
  max-width:900px;
  margin:auto;
  background:#111;
  border-radius:25px;
  padding:50px;
  text-align:center;
}

.main-contact-box h2{
  font-size:42px;
  margin-bottom:10px;
}

/* CONTACT SECTION */

.contact-section{
  max-width:1200px;
  margin:auto;
  padding:80px 20px;
}

.contact-heading{
  font-size:42px;
  margin-bottom:50px;
}

/* PEOPLE GRID */

.people-grid{
  display:grid;
  grid-template-columns:
  repeat(auto-fit,minmax(340px,1fr));
  gap:30px;
}

/* PERSON CARD */

.person-card{
  background:#111;
  border-radius:25px;
  padding:25px;
  display:flex;
  align-items:center;
  gap:20px;
  transition:0.3s;
  scroll-margin-top:120px;
}

.person-card:hover{
  transform:translateY(-6px);
}

.person-card img{
  width:95px;
  height:95px;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
  border:2px solid #222;
}
.person-card{
  min-width:0;
}

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

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

.person-info{
  flex:1;
  min-width:0;
}
/* PERSON INFO */

.person-info{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.person-info h3{
  font-size:24px;
  margin-bottom:2px;
  line-height:1.2;

  word-break:break-word;
  overflow-wrap:break-word;
}

.person-role{
  color:#777;
  margin:4px 0 10px;
  line-height:1.4;
}

.person-info p{
  color:#bbb;
  line-height:1.7;

  word-break:break-word;
  overflow-wrap:break-word;
}

/* DIVISION LIST */

.division-list{
  border-top:1px solid #222;
}

.division-row{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:25px 0;
  border-bottom:1px solid #222;
}

.division-row span:first-child{
  color:white;
}

.division-row span:last-child{
  color:#888;
}

/* ======================================== */
/* MOBILE */
/* ======================================== */

@media(max-width:700px){

  nav a{
    margin:0 10px;
    font-size:15px;
  }

  .hero h1,
  .hive-title,
  .contact-title{
    font-size:50px;
  }

  .main-contact-box{
    padding:35px;
  }

  .main-contact-box h2{
    font-size:28px;
  }

  .person-card{
    flex-direction:column;
    text-align:center;
  }

  .person-info p{
    text-align:center;
  }

  .division-row{
    flex-direction:column;
  }

}

/* ========================================
   HOME PAGE REDESIGN
======================================== */

body{
  overflow-x:hidden;
}

/* BACKGROUND GLOW */

.bg-glow{
  position:fixed;
  width:500px;
  height:500px;
  border-radius:50%;
  filter:blur(140px);
  opacity:.08;
  z-index:-1;
}

.glow1{
  background:white;
  top:-150px;
  left:-150px;
}

.glow2{
  background:#666;
  bottom:-150px;
  right:-150px;
}

/* HERO */

.home-hero{
  min-height:100vh;

  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;

  text-align:center;

  padding:120px 20px;

  position:relative;
}

.hero-logo-wrap{
  
   margin-top:0;
  margin-bottom:10px;
}


.hero-logo{
  width:220px;
  animation:float 5s ease-in-out infinite;
}

.hero-mini{
  letter-spacing:4px;
  color:#777;
  font-size:13px;
  margin-bottom:20px;
}

.hero-title{
  font-size:110px;
  line-height:1;
  margin-bottom:25px;

  animation:fadeUp 1s ease;
}

.hero-subtitle{
  font-size:24px;
  color:#aaa;
  margin-bottom:40px;
}

/* BUTTONS */

.hero-buttons{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  justify-content:center;
}

.hero-btn{
  padding:15px 34px;
  border-radius:50px;

  background:white;
  color:black;

  text-decoration:none;

  transition:.3s;
}

.hero-btn:hover{
  transform:translateY(-4px);
}

.hero-btn-outline{
  background:transparent;
  border:1px solid #444;
  color:white;
}

/* ABOUT */

.about-home{
  position:relative;
  overflow:hidden;
}

.section-glow{
  position:absolute;
  width:400px;
  height:400px;
  background:white;
  opacity:.04;
  filter:blur(120px);

  top:-100px;
  right:-100px;
}

/* FEATURE STRIP */

.feature-strip{
  width:100%;
  max-width:1400px;

  margin:40px auto 100px;

  display:grid;

  grid-template-columns:
  repeat(auto-fit,minmax(250px,1fr));

  gap:25px;

  padding:0 20px;
}

.feature-box{
  background:#111;

  border:1px solid #222;
  border-radius:24px;

  padding:40px 30px;

  transition:.3s;
}

.feature-box:hover{
  transform:translateY(-6px);
  border-color:#555;
}

.feature-box h3{
  font-size:28px;
  margin-bottom:12px;
}

.feature-box p{
  color:#888;
}

/* QUOTE */

.quote-section{
  text-align:center;
  padding:40px 20px 30px;
}

.quote-line{
  width:120px;
  height:1px;
  background:#444;
  margin:auto auto 40px;
}

.quote-section h2{
  font-size:48px;
  line-height:1.5;
  max-width:1000px;
  margin:auto;
}

/* BOTTOM BANNER */

.bottom-banner{
  position:relative;

  margin-top:120px;

  padding:80px 20px;

  background:#0b0b0b;

  border-top:1px solid #222;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  text-align:center;

  overflow:hidden;
}

.banner-glow{
  position:absolute;

  width:500px;
  height:500px;

  background:white;

  opacity:.05;

  border-radius:50%;

  filter:blur(140px);
}

.bottom-banner img{
  width:130px;
  margin-bottom:25px;

  animation:float 5s ease-in-out infinite;
}

.banner-text h2{
  font-size:60px;
  margin-bottom:15px;
}

.banner-text p{
  color:#888;
  max-width:900px;
  line-height:1.8;
}

/* ANIMATIONS */

@keyframes float{

  0%{
    transform:translateY(0px);
  }

  50%{
    transform:translateY(-14px);
  }

  100%{
    transform:translateY(0px);
  }

}

@keyframes spin{

  from{
    transform:rotate(0deg);
  }

  to{
    transform:rotate(360deg);
  }

}

@keyframes fadeUp{

  from{
    opacity:0;
    transform:translateY(40px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }

}

/* MOBILE */

@media(max-width:700px){

  .hero-title{
    font-size:62px;
  }

  .hero-subtitle{
    font-size:20px;
  }

  .quote-section h2{
    font-size:32px;
  }

  .banner-text h2{
    font-size:42px;
  }

}



/* ========================================
   HOME PAGE EFFECTS
======================================== */

body{
  overflow-x:hidden;
}

/* BACKGROUND GLOW */

.bg-glow{
  position:fixed;
  width:500px;
  height:500px;
  border-radius:50%;
  filter:blur(140px);
  opacity:.06;
  z-index:-1;
  pointer-events:none;
}

.glow1{
  background:white;
  top:-180px;
  left:-180px;
}

.glow2{
  background:#555;
  bottom:-180px;
  right:-180px;
}

/* HERO */

.home-hero{
  min-height:100vh;

  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;

  text-align:center;

  padding:120px 20px 60px;
}

/* LOGO */

.hero-logo-wrap{
  position:relative;
  margin-bottom:35px;
}


.hero-logo{
  width:220px;

  object-fit:contain;

  animation:
  floatLogo 5s ease-in-out infinite;

  filter:
  drop-shadow(0 0 25px rgba(255,255,255,.08));
}

/* TEXT */

.hero-mini{
  color:#666;
  letter-spacing:4px;
  font-size:12px;
  margin-bottom:18px;
}

.hero-title{
  font-size:110px;
  line-height:1;
  margin-bottom:22px;

  animation:
  fadeUp 1s ease;
}

.hero-subtitle{
  font-size:24px;
  color:#999;
  margin-bottom:40px;
}

/* BUTTONS */

.hero-buttons{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  justify-content:center;
}

.hero-btn{
  padding:14px 34px;

  border-radius:999px;

  background:white;
  color:black;

  text-decoration:none;

  transition:.3s;
}

.hero-btn:hover{
  transform:translateY(-5px);
}

.hero-btn-outline{
  background:transparent;
  border:1px solid #333;
  color:white;
}

/* ABOUT */

.about-home{
  position:relative;
}

.section-glow{
  position:absolute;

  width:350px;
  height:350px;

  background:white;

  opacity:.03;

  filter:blur(120px);

  top:-120px;
  right:-100px;

  border-radius:50%;
}

/* FEATURE STRIP */

.feature-strip{

  width:100%;
  max-width:1350px;

  margin:20px auto 90px;

  display:grid;

  grid-template-columns:
  repeat(auto-fit,minmax(250px,1fr));

  gap:25px;

  padding:0 20px;

}

.feature-box{

  background:#111;

  border:1px solid #222;
  border-radius:24px;

  padding:35px 28px;

  transition:.3s;

}

.feature-box:hover{

  transform:translateY(-6px);

  border-color:#555;

}

.feature-box h3{

  font-size:28px;
  margin-bottom:10px;

}

.feature-box p{

  color:#888;

}

/* QUOTE */

.quote-section{

  text-align:center;

 padding:60px 20px 30px;

}

.quote-line{

  width:100px;
  height:1px;

  background:#333;

  margin:auto auto 40px;

}

.quote-section h2{

  font-size:48px;

  line-height:1.5;

  max-width:900px;

  margin:auto;

}

/* ========================================
   GLOBAL FOOTER
======================================== */

.global-footer{

  width:100%;

  margin-top:0px;

  padding:14px 28px;

  border-top:1px solid #1a1a1a;

  background:rgba(10,10,10,.75);

  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);

  overflow:hidden;

  position:relative;

}

/* LINK */

.footer-link{

  width:100%;
  max-width:1300px;

  margin:auto;

  display:flex;
  align-items:center;
  justify-content:center;

  gap:18px;

  text-decoration:none;

  position:relative;

}

/* LOGO */

.footer-link img{

  width:42px;
  height:42px;

  object-fit:contain;

  position:relative;
  z-index:2;

  animation:
  floatLogo 5s ease-in-out infinite;

  

}
.footer-link img,
.hero-logo{

  background:transparent !important;

  mix-blend-mode:lighten;

  object-fit:contain;

}

/* TEXT */

.footer-link span{

  color:#888;

  font-size:13px;

  letter-spacing:2px;

  transition:.3s;

  white-space:nowrap;

}

/* HOVER */

.footer-link:hover span{
  color:white;
}

/* ORBIT */

.footer-orbit{

  position:absolute;

  width:90px;
  height:90px;

  border:1px solid rgba(255,255,255,.08);

  border-radius:50%;

  animation:
  orbitSpin 10s linear infinite;

}

/* GLOW */

.global-footer::before{

  content:"";

  position:absolute;

  width:300px;
  height:300px;

  background:white;

  opacity:.03;

  border-radius:50%;

  filter:blur(120px);

  left:50%;
  top:50%;

  transform:translate(-50%,-50%);

}

/* ========================================
   ANIMATIONS
======================================== */



@keyframes floatLogo{

  0%{
    transform:translateY(0px);
  }

  50%{
    transform:translateY(-7px);
  }

  100%{
    transform:translateY(0px);
  }

}

@keyframes fadeUp{

  from{
    opacity:0;
    transform:translateY(40px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }

}

/* ========================================
   MOBILE
======================================== */

@media(max-width:700px){

  .hero-title{
    font-size:62px;
  }

  .hero-subtitle{
    font-size:20px;
  }

  .quote-section h2{
    font-size:32px;
  }

  .footer-link{
    gap:12px;
  }

  .footer-link span{

    font-size:10px;

    letter-spacing:1px;

    white-space:normal;

    text-align:center;

    line-height:1.6;

  }

  .footer-orbit{

    width:70px;
    height:70px;

  }

}

/* ========================================
   HOME PAGE PREMIUM DESIGN
======================================== */

body{
  overflow-x:hidden;
}

/* BACKGROUND GLOW */

.bg-glow{
  position:fixed;

  width:500px;
  height:500px;

  border-radius:50%;

  filter:blur(140px);

  opacity:.08;

  z-index:-1;

  pointer-events:none;
}

.glow1{
  background:
  rgba(212,175,55,.4);

  top:-180px;
  left:-180px;
}

.glow2{
  background:
  rgba(0,80,255,.3);

  bottom:-180px;
  right:-180px;
}

/* HERO */

.home-hero{

  min-height:100vh;

  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;

  text-align:center;

  padding:
  20px 20px 20px;

}

/* LOGO AREA */

.hero-logo-wrap{

  position:relative;

  width:280px;
  height:280px;

  display:flex;
  align-items:center;
  justify-content:center;

  margin-bottom:35px;

}

/* RINGS */

.logo-ring{

  position:absolute;

  inset:-15px;

  border-radius:50%;

  border:
  1px solid rgba(212,175,55,.3);

  animation:
  orbitSpin 12s linear infinite;

}



/* LOGO */

.hero-logo{

  width:220px;

  object-fit:contain;

  animation:
  floatLogo 5s ease-in-out infinite;

  filter:

  drop-shadow(
    0 0 12px rgba(212,175,55,.3)
  )

  drop-shadow(
    0 0 30px rgba(0,80,255,.25)
  );

}

/* HERO TEXT */

.hero-mini{

  color:#666;

  letter-spacing:4px;

  font-size:12px;

  margin-bottom:18px;

}

.hero-title{

  font-size:110px;

  line-height:1;

  margin-bottom:20px;

  animation:
  fadeUp 1s ease;

}

.hero-subtitle{

  font-size:24px;

  color:#999;

  margin-bottom:40px;

}

/* BUTTONS */

.hero-buttons{

  display:flex;

  gap:20px;

  flex-wrap:wrap;

  justify-content:center;

}

.hero-btn{

  padding:14px 34px;

  border-radius:999px;

  background:white;

  color:black;

  text-decoration:none;

  transition:.3s;

}

.hero-btn:hover{

  transform:translateY(-5px);

}

.hero-btn-outline{

  background:transparent;

  border:1px solid #333;

  color:white;

}

/* ABOUT */

.about-home{
  position:relative;
}

.section-glow{

  position:absolute;

  width:350px;
  height:350px;

  background:white;

  opacity:.03;

  filter:blur(120px);

  top:-120px;
  right:-100px;

  border-radius:50%;

}

/* FEATURES */

.feature-strip{

  width:100%;
  max-width:1350px;

  margin:20px auto 90px;

  display:grid;

  grid-template-columns:
  repeat(auto-fit,minmax(250px,1fr));

  gap:25px;

  padding:0 20px;

}

.feature-box{

  background:#111;

  border:1px solid #222;
  border-radius:24px;

  padding:35px 28px;

  transition:.3s;

}

.feature-box:hover{

  transform:translateY(-6px);

  border-color:#555;

}

.feature-box h3{

  font-size:28px;

  margin-bottom:10px;

}

.feature-box p{

  color:#888;

}

/* QUOTE */

.quote-section{

  text-align:center;

  padding:60px 20px 30px;

}

.quote-line{

  width:100px;
  height:1px;

  background:#333;

  margin:auto auto 40px;

}

.quote-section h2{

  font-size:48px;

  line-height:1.5;

  max-width:900px;

  margin:auto;

}

/* FOOTER */

.global-footer{

  width:100%;

  margin-top:0;

  padding:18px 20px;

  border-top:1px solid #1a1a1a;

  background:
  rgba(10,10,10,.75);

  backdrop-filter:blur(12px);

  overflow:hidden;

  position:relative;

}

.footer-link{

  width:100%;
  max-width:1300px;

  margin:auto;

  display:flex;
  align-items:center;
  justify-content:center;

  gap:18px;

  text-decoration:none;

  position:relative;

}

.footer-link img{

  width:42px;
  height:42px;

  object-fit:contain;

  animation:
  floatLogo 5s ease-in-out infinite;

}

.footer-link span{

  color:#888;

  font-size:13px;

  letter-spacing:2px;

  transition:.3s;

  white-space:nowrap;

}

.footer-link:hover span{
  color:white;
}

.footer-orbit{

  position:absolute;

  width:90px;
  height:90px;

  border:
  1px solid rgba(255,255,255,.08);

  border-radius:50%;

  animation:
  orbitSpin 10s linear infinite;

}/* ========================================
   FLIPPING ENERGY RINGS
======================================== */

.hero-logo-wrap{

  position:relative;

  width:420px;
  height:420px;

  display:flex;
  align-items:center;
  justify-content:center;

  perspective:1200px;

  margin-bottom:35px;

}

/* COMMON RINGS */

.orbital-ring{

  position:absolute;

  border-radius:50%;

  box-sizing:border-box;

  opacity:.95;

}

/* OUTER RING */

.ring1{

  width:400px;
  height:400px;

  border:8px solid #1a1a1a;

  box-shadow:
  0 0 25px rgba(255,255,255,.12),
  0 0 60px rgba(255,255,255,.08),
  0 0 120px rgba(255,255,255,.05);

  animation:
  flipRing1 5s ease-in-out infinite;
}

/* MIDDLE RING */

.ring2{

  width:340px;
  height:340px;

  border:6px solid #1e3a8a;

  box-shadow:
  0 0 20px rgba(30,58,138,.9),
  0 0 50px rgba(30,58,138,.75),
  0 0 110px rgba(30,58,138,.45),

  inset 0 0 15px rgba(255,255,255,.10),
  inset 0 0 30px rgba(30,58,138,.25);

  animation:
  flipRing2 4s ease-in-out infinite;
}

/* INNER RING */

.ring3{

  width:280px;
  height:280px;

  border:4px solid #f4f1e8;

  box-shadow:
  0 0 18px rgba(255,255,255,.95),
  0 0 45px rgba(255,255,255,.8),
  0 0 100px rgba(255,255,255,.5);

  animation:
  flipRing3 3s ease-in-out infinite;
}

/* CENTER GLOW */

.center-glow{

  position:absolute;

  width:160px;
  height:160px;

  border-radius:50%;

  background:
  radial-gradient(
    circle,
    rgba(212,175,55,.18) 0%,
    rgba(0,0,0,0) 70%
  );

  filter:blur(20px);

  z-index:1;

}

/* LOGO */

.hero-logo{

  width:100%;
  height:100%;

  object-fit:contain;

  display:block;

  background:transparent;

  border-radius:0;

  filter:

  drop-shadow(0 0 15px rgba(212,175,55,.7))

  drop-shadow(0 0 35px rgba(212,175,55,.55))

  drop-shadow(0 0 70px rgba(212,175,55,.35))

  drop-shadow(0 0 120px rgba(255,255,255,.18));

}

/* ANIMATIONS */

@keyframes flipRing1{

  from{
    transform:rotateX(0deg) rotateY(0deg);
  }

  to{
    transform:rotateX(360deg) rotateY(360deg);
  }

}

@keyframes flipRing2{

  from{
    transform:rotateY(0deg) rotateZ(0deg);
  }

  to{
    transform:rotateY(-360deg) rotateZ(360deg);
  }

}

@keyframes flipRing3{

  from{
    transform:rotateX(0deg) rotateZ(0deg);
  }

  to{
    transform:rotateX(-360deg) rotateZ(-360deg);
  }

}

/* MOBILE */

@media(max-width:700px){

  .hero-logo-wrap{

    width:300px;
    height:300px;

  }

  .ring1{
    width:260px;
    height:260px;
  }

  .ring2{
    width:210px;
    height:210px;
  }

  .ring3{
    width:170px;
    height:170px;
  }

  .hero-logo{
    width: 180px !important;
    height: 180px !important;
    max-width: 180px !important;
    max-height: 180px !important;
    min-width: 180px !important;
    min-height: 180px !important;
    object-fit: contain !important;
}

.hero-logo-wrap img{
    width: 180px !important;
    height: 180px !important;
}

}
.logo-container{
    width:180px;
    height:180px;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;

    position:absolute;

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    z-index:10;
}

.hero-logo{
    width:200px !important;
    height:auto !important;

    object-fit:contain !important;
}


/* ========================================
   NAVBAR WITH CENTERED LINKS
======================================== */

.navbar{

  width:100%;

  background:#111;

  padding:14px 28px;

  display:flex;
  align-items:center;

  position:sticky;
  top:0;

  z-index:999;

  position:relative;
}

/* LOGO LEFT */

.nav-left{

  position:absolute;

  left:28px;

  display:flex;
  align-items:center;
}

/* LOGO */

.nav-logo{

  width:42px;
  height:42px;

  object-fit:contain;

  display:block;
}

/* CENTER LINKS */

.nav-links{

  width:100%;

  display:flex;
  justify-content:center;
  align-items:center;

  gap:30px;
}

/* LINKS */

.nav-links a{

  color:white;

  text-decoration:none;

  font-size:17px;

  transition:.3s;
}

.nav-links a:hover{
  color:#999;
}

/* MOBILE */

@media(max-width:700px){

  .navbar{

    flex-direction:column;

    padding:18px;
  }

  .nav-left{

    position:relative;

    left:auto;

    margin-bottom:14px;
  }

  .nav-links{

    flex-wrap:wrap;

    gap:16px;
  }

  .nav-links a{
    font-size:15px;
  }

}


/* ========================================
   FIXED NAVBAR
======================================== */

.navbar{
  position:fixed;
  top:0;
  left:0;

  width:100%;

  z-index:9999;
}

/* ========================================
   FIXED FOOTER
======================================== */

.global-footer{
  position:fixed;

  bottom:0;
  left:0;

  width:100%;

  z-index:9999;
}

/* ========================================
   PAGE SCROLL AREA
======================================== */

body{
  overflow-y:auto;
  overflow-x:hidden;

  padding-top:90px;     /* navbar height */
  padding-bottom:90px;  /* footer height */
}

.global-footer{

  padding:14px 28px;

  min-height:auto;

  display:flex;
  align-items:center;
}

.regional-presence{

  margin-top:18px;

  color:#ff3b3b;

  font-size:15px;

  letter-spacing:2px;

  text-transform:uppercase;

  opacity:.95;
}
