/* ===== GiC FINAL SPLASH + HEADER BRAND ===== */
:root{
  --gic-final-deep:#0b4f49;
  --gic-final-gold:#c79b49;
  --gic-final-ivory:#fffdf8;
}

/* --- splash: logo only, first visit per browser session --- */
.site-loader{
  display:grid!important;
  position:fixed!important;
  inset:0!important;
  z-index:100000!important;
  place-items:center!important;
  background:
    radial-gradient(circle at 50% 46%,rgba(18,129,116,.09),transparent 31%),
    linear-gradient(180deg,#fffefa 0%,#f7fbf9 100%)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .42s ease,visibility .42s ease!important;
}
html.show-intro .site-loader{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
html.show-intro,
html.show-intro body{
  overflow:hidden!important;
}

/* Only the logo is visible during splash. */
.site-loader .loader-name,
.site-loader .loader-lockup-wordmark > i{
  display:none!important;
}
.site-loader .loader-lockup,
.site-loader .loader-lockup-wordmark{
  display:grid!important;
  place-items:center!important;
  gap:0!important;
  animation:none!important;
}
.site-loader .loader-badge-wrap{
  width:clamp(142px,34vw,182px)!important;
  height:clamp(142px,34vw,182px)!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
}
.site-loader .loader-badge-img{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:0!important;
  filter:drop-shadow(0 24px 38px rgba(7,77,69,.20))!important;
  animation:gicFinalSplashLogo 1.15s cubic-bezier(.18,.86,.22,1) .08s both!important;
}
.site-loader .loader-badge-glow{
  position:absolute!important;
  inset:-42px!important;
  z-index:0!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(16,126,113,.22) 0%,rgba(199,155,73,.10) 40%,transparent 73%)!important;
  filter:blur(2px)!important;
  opacity:0!important;
  animation:gicFinalSplashGlow 1.45s ease .05s both!important;
}
.site-loader .loader-badge-shine{
  position:absolute!important;
  inset:4%!important;
  z-index:3!important;
  border-radius:28%!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.site-loader .loader-badge-shine::before{
  content:""!important;
  position:absolute!important;
  top:-45%!important;
  left:-68%!important;
  width:38%!important;
  height:190%!important;
  background:linear-gradient(76deg,transparent,rgba(255,255,255,.80),transparent)!important;
  opacity:0;
  animation:gicFinalSplashShine .75s cubic-bezier(.4,.05,.2,1) .88s both!important;
}

@keyframes gicFinalSplashLogo{
  0%{opacity:0;transform:translateY(12px) scale(.68);filter:blur(5px) drop-shadow(0 0 0 rgba(7,77,69,0))}
  64%{opacity:1;transform:translateY(-2px) scale(1.035);filter:blur(0) drop-shadow(0 30px 44px rgba(7,77,69,.22))}
  100%{opacity:1;transform:none;filter:drop-shadow(0 24px 38px rgba(7,77,69,.20))}
}
@keyframes gicFinalSplashGlow{
  0%{opacity:0;transform:scale(.72)}
  58%{opacity:1;transform:scale(1.04)}
  100%{opacity:.66;transform:scale(1)}
}
@keyframes gicFinalSplashShine{
  0%{opacity:0;transform:translateX(-180%) rotate(7deg)}
  20%{opacity:.62}
  100%{opacity:0;transform:translateX(450%) rotate(7deg)}
}

/* The site itself rises in after splash disappears. */
body > *:not(.site-loader):not(script){
  transition:opacity .52s ease,transform .58s cubic-bezier(.2,.8,.2,1)!important;
}
html.show-intro body > *:not(.site-loader):not(script){
  opacity:0!important;
  transform:translateY(14px)!important;
  pointer-events:none!important;
}

/* --- one clean header brand on the LEFT --- */
header .brand.gic-header-brand{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  min-width:0!important;
  max-width:none!important;
  text-decoration:none!important;
  position:relative!important;
}
header .brand.gic-header-brand::after{
  display:none!important;
  content:none!important;
}
.gic-header-logo{
  display:block!important;
  width:50px!important;
  height:50px!important;
  flex:0 0 50px!important;
  object-fit:contain!important;
  border-radius:15px!important;
  filter:drop-shadow(0 8px 15px rgba(8,76,68,.14))!important;
}
.gic-header-title{
  display:block!important;
  min-width:0!important;
  white-space:nowrap!important;
  color:var(--gic-final-deep)!important;
  font-family:'Newsreader',Georgia,'Times New Roman',serif!important;
  font-size:clamp(24px,2.5vw,31px)!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:-.028em!important;
}
.gic-header-title em{
  color:var(--gic-final-gold)!important;
  font-style:normal!important;
  font-weight:700!important;
}

/* Never show the old second emblem beside the menu. */
.gic-nav-emblem{
  display:none!important;
}

/* Drawer header cleanup: no stacked/duplicate logos. */
#mobileNav .mobile-menu-head img,
#mobileNav .mobile-menu-head picture,
#mobileNav .mobile-menu-head .gic-drawer-logo,
#mobileNav .mobile-menu-head .gic-logo-badge{
  display:none!important;
}
#mobileNav .mobile-menu-head > div{
  padding-left:0!important;
}
#mobileNav .mobile-menu-head > div::before,
#mobileNav .mobile-menu-head > div::after{
  display:none!important;
  content:none!important;
}
#mobileNav .mobile-menu-head strong{
  white-space:nowrap!important;
  color:var(--gic-final-deep)!important;
  font-family:'Newsreader',Georgia,'Times New Roman',serif!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
#mobileNav .mobile-menu-head strong em{
  color:var(--gic-final-gold)!important;
  font-style:normal!important;
}

@media(max-width:850px){
  header .container.nav{
    gap:10px!important;
  }
  header .brand.gic-header-brand{
    flex:1 1 auto!important;
    width:auto!important;
    max-width:calc(100vw - 92px)!important;
    gap:9px!important;
  }
  .gic-header-logo{
    width:46px!important;
    height:46px!important;
    flex-basis:46px!important;
    border-radius:14px!important;
  }
  .gic-header-title{
    font-size:clamp(20px,5.45vw,25px)!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  header .nav .actions{
    flex:0 0 auto!important;
    gap:0!important;
  }
  /* Mobile header: only the menu button on the right. */
  header .nav .actions > a,
  header .nav .actions > .gic-nav-emblem{
    display:none!important;
  }
  header .menu-btn{
    display:grid!important;
    place-items:center!important;
    width:52px!important;
    height:52px!important;
    border-radius:17px!important;
  }
}

@media(max-width:390px){
  .gic-header-logo{
    width:43px!important;
    height:43px!important;
    flex-basis:43px!important;
  }
  .gic-header-title{
    font-size:19px!important;
  }
  header .brand.gic-header-brand{
    gap:8px!important;
    max-width:calc(100vw - 82px)!important;
  }
  header .menu-btn{
    width:48px!important;
    height:48px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .site-loader .loader-badge-img,
  .site-loader .loader-badge-glow,
  .site-loader .loader-badge-shine::before{
    animation:none!important;
    opacity:1!important;
  }
  body > *:not(.site-loader):not(script){
    transition:none!important;
  }
}
