@charset "UTF-8";

/* =====================================================
  CONTAINER / SECTION
===================================================== */
.fb-container{
  width:min(100%, var(--fb-container));
  margin-inline:auto;
  padding-inline:var(--fb-gutter);
  box-sizing:border-box;
}

.fb-main{
  min-height:100vh;
}

.fb-section{
  padding:var(--fb-sec-y) 0;
}

.fb-section--lower{
  padding-top:clamp(40px, 5vw, 72px);
}

/* =====================================================
  HEADER
===================================================== */
.fb-header{
  position:sticky;
  top:0;
  z-index:110;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border-bottom:none;
  transition:
    background .4s ease,
    min-height .4s ease,
    box-shadow .4s ease;
}

.fb-header.is-scrolled{
  background:rgba(255,255,255,.86);
}

.fb-header__inner{
  min-height:calc(var(--fb-header-h) + 4px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  transition:min-height .4s ease;
}

.fb-header.is-scrolled .fb-header__inner{
  min-height:var(--fb-header-h);
}

.fb-header__brand{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-width:0;
}

.fb-logo,
.custom-logo-link{
  display:inline-flex;
  align-items:center;
}

.fb-logo{
  font-family:var(--fb-en);
  font-size:14px;
  letter-spacing:.22em;
  text-transform:uppercase;
  line-height:1;
}

.custom-logo-link{
  line-height:1;
}

.custom-logo{
  display:block;
  width:auto;
  max-height:40px;
  height:auto;
  transition:max-height .4s ease, transform .4s ease, opacity .4s ease;
}

.fb-header.is-scrolled .custom-logo{
  max-height:34px;
}

.fb-menu-float{
  display:inline-flex;
  align-items:center;
  gap:10px;
  appearance:none;
  -webkit-appearance:none;
  border:none;
  background:transparent;
  padding:0;
  margin:0;
  cursor:pointer;
  color:inherit;
  font:inherit;
  line-height:1;
  flex:0 0 auto;
}

.fb-menu-float__label{
  font-family:var(--fb-en);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  line-height:1;
}

.fb-menu-float__lines{
  position:relative;
  width:18px;
  height:10px;
  display:inline-block;
  flex:0 0 auto;
}

.fb-menu-float__lines span{
  position:absolute;
  left:0;
  width:100%;
  height:1px;
  background:currentColor;
  transform-origin:center;
  transition:transform .32s ease, opacity .32s ease, top .32s ease;
}

.fb-menu-float__lines span:first-child{
  top:1px;
}

.fb-menu-float__lines span:last-child{
  top:8px;
}

/* =====================================================
  FOOTER
===================================================== */
.fb-footer{
  border-top:1px solid var(--fb-line);
  padding:28px 0 36px;
}

.fb-footer__inner{
  display:grid;
  gap:20px;
}

.fb-footer__logo{
  font-family:var(--fb-en);
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin:0 0 8px;
  line-height:1.2;
}

.fb-footer__meta{
  margin:6px 0 0;
  color:var(--fb-muted);
  font-size:13px;
  line-height:1.9;
}

.fb-footer__menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
}

/* =====================================================
  PAGE HEAD
===================================================== */
.fb-pagehead{
  padding:clamp(56px, 7vw, 96px) 0 clamp(18px, 3vw, 28px);
}

.fb-pagehead__title{
  margin:0;
  font-family:var(--fb-en);
  font-size:clamp(24px, 3vw, 42px);
  line-height:1.18;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:400;
}

/* =====================================================
  RESPONSIVE
===================================================== */
@media (max-width: 767px){
  .fb-header__inner{
    gap:14px;
    min-height:62px;
  }

  .fb-header.is-scrolled .fb-header__inner{
    min-height:58px;
  }

  .fb-logo{
    font-size:12px;
    letter-spacing:.18em;
  }

  .custom-logo{
    max-height:32px;
  }

  .fb-header.is-scrolled .custom-logo{
    max-height:27px;
  }

  .fb-menu-float{
    gap:8px;
  }

  .fb-menu-float__label{
    font-size:10px;
    letter-spacing:.16em;
  }

  .fb-menu-float__lines{
    width:16px;
  }

  .fb-footer{
    padding:24px 0 30px;
  }

  .fb-footer__meta{
    font-size:12px;
    line-height:1.8;
  }
}