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

html{
  scroll-behavior:smooth;
  scroll-padding-top:110px;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  font-family:'Poppins',sans-serif;
  background:#fff;
  color:var(--black-800);
  overflow-x:hidden;
  position:relative;
}

img{
  max-width:100%;
  display:block;
}
img.is-loading{
  background-image:linear-gradient(
    100deg,
    rgba(0,0,0,.06) 30%,
    rgba(0,0,0,.12) 50%,
    rgba(0,0,0,.06) 70%
  );
  background-size:200% 100%;
  background-repeat:no-repeat;
  animation:img-shimmer 1.3s linear infinite;
  border-radius:inherit;
  color:transparent;
}

img.is-loaded{
  animation:img-fade-in .45s ease both;
}

@keyframes img-shimmer{
  0%{   background-position:200% 0; }
  100%{ background-position:-200% 0; }
}

@keyframes img-fade-in{
  from{ opacity:0; }
  to{   opacity:1; }
}

@media (prefers-reduced-motion: reduce){
  img.is-loading{ animation:none; }
  img.is-loaded{ animation:none; }
}

a{
  text-decoration:none;
  color:inherit;
}

ul{
  list-style:none;
}

.container{
  width:min(1360px,90%);
  margin:auto;
}

.section{
  padding:90px 0;
}

.loader {
    position: fixed;
    inset: 0;
    z-index: 99999;

    width: 100vw;
    height: 100vh;
    height: 100dvh;

    padding: 24px;

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

    background:
        radial-gradient(
            circle at center,
            rgba(249,180,16,.12),
            transparent 45%
        ),
        var(--black-900);

    transition:
        opacity .5s ease,
        visibility .5s ease;
}

.loader.hidden {
    opacity: 0;
    visibility: hidden;
}

.loader__content {
    width: 100%;
    max-width: 320px;
    text-align: center;
}

.loader__logo {
    width: clamp(120px, 45vw, 180px);
    max-width: 100%;
    height: auto;
    margin: 0 auto 30px;

    animation:
        logoFloat 2.5s ease-in-out infinite;
}

.loader__spinner {

    width: 52px;
    height: 52px;

    margin: auto;

    border-radius: 50%;

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

    border-top-color: var(--gold-400);

    animation: spin .9s linear infinite;
}

.loader__text {

    margin-top: 18px;

    color: rgba(255,255,255,.75);

    font-size: .9rem;

    letter-spacing: .5px;
}

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

@keyframes logoFloat {

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

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