/* ================================================== */

@import url('https://fonts.googleapis.com/css2?family=Sacramento&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Marcellus:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
/* init */

* {
    --body-font: "Plus Jakarta Sans";
    --title-font: "Marcellus", Helvetica, Arial, sans-serif;
    --deco-font-1: "Sacramento";
    --body-font-color: #707070;
    --body-font-color-dark: #bbbbbb;
    --body-font-size: 15px;
    --body-font-weight: 400;
    --title-font-color: #000000;
    --title-font-color-dark: #ffffff;
    --title-font-weight: bold;
    --bg-dark-1: #151c22;
    --bg-dark-1-rgb: 21, 28, 34;
    --bg-dark-2: #18212a;
    --bg-light-1: #ffffff;
    --bg-light-2: #f8f8f8;
    --page-border-size: 0;
    --page-border-color: #ffffff;
}

h2 {
    font-size: 48px;
    letter-spacing: -.015em;
    margin-bottom: 20px;
}

.form-control,
#contact_form input[type=text],
#contact_form textarea,
#contact_form input[type=email],
#contact_form textarea,
#search {
    border-radius: 3px !important;
    -moz-border-radius: 3px !important;
    -webkit-border-radius: 3px !important;
}

.menu-title{
    transform: translateY(-10px);
}

html{
    scroll-behavior: smooth;
}

section{
    scroll-margin-top: 90px; /* 헤더 높이에 맞게 조절 */
}

@media only screen and (min-width: 992px) {
    #subheader {
        padding-top: 200px;
        padding-bottom: 60px;
    }
}


/* Promo Popup */
.promo-popup { position: fixed; inset: 0; z-index: 9999; display: none; }
.promo-popup.is-open { display: block; }

.promo-backdrop{
  position:absolute; inset:0;
  background: rgba(0,0,0,.65);
  backdrop-filter: blur(2px);
}

.promo-modal{
  position: relative;
  max-width: 520px;
  width: calc(100% - 32px);
  margin: 6vh auto 0;
  border-radius: 18px;
  overflow: hidden;
  background: #111;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}

.promo-modal img{
  display:block;
  width:100%;
  height:auto;
}

.promo-close{
  position:absolute; top:10px; right:12px;
  width:38px; height:38px;
  border:0; border-radius:999px;
  background: rgba(0,0,0,.55);
  color:#fff; font-size:26px; line-height:38px;
  cursor:pointer;
}

.promo-actions{
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap:12px;
  padding: 12px 14px;
  background:#111;
  color:#fff;
}

.promo-check{ font-size: 14px; opacity: .9; display:flex; gap:8px; align-items:center; }
.promo-btn{
  border: 1px solid rgba(255,255,255,.35);
  background: transparent;
  color:#fff;
  padding: 8px 12px;
  border-radius: 999px;
  cursor:pointer;
}
.promo-btn:hover{ border-color: rgba(255,255,255,.7); }