* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:Arial, sans-serif; color:#111; }

.wrap { max-width:1200px; margin:0 auto; padding:0 20px; }

.hero {
  padding:120px 0;
  background:#111;
  color:#fff;
  text-align:center;
}

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

.btn {
  display:inline-block;
  padding:12px 28px;
  background:#00a67e;
  color:#fff;
  text-decoration:none;
  border-radius:6px;
  margin-top:20px;
}
.wk-header {
  background:#fff;
  border-bottom:1px solid #eee;
  position:sticky;
  top:0;
  z-index:1000;
}

.header-inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px 0;
}

.logo {
  font-weight:700;
  font-size:20px;
}

.nav a {
  margin-left:20px;
  text-decoration:none;
  color:#111;
  font-size:16px;
}

.nav a:hover {
  color:#02b3fd;
}
.hero p {
  font-size:18px;
  color:#ddd;
}

.interactive {
  padding:100px 0;
  background:#f8f8f8;
}
.interactive {
  position: relative;
  padding: 120px 0;
  background-image: url('/main/img/confetti.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.grid-2 {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}

.card {
  background:#fff;
  padding:40px;
  border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
  text-align:center;
}

.card {
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(6px);
}

.card h3 {
  margin-bottom:15px;
}
@media (max-width:768px){
  .interactive {
    background-position: top center;
  }
}
.btn-outline {
  display:inline-block;
  margin-top:20px;
  padding:10px 20px;
  border:1px solid #111;
  text-decoration:none;
  color:#111;
  border-radius:6px;
}

.btn-outline:hover {
  background:#111;
  color:#fff;
}

.wk-hero {
  position: relative;
  height: 90vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #02b3fd;
}

.wk-hero__video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 0;
}

.wk-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 1;
}

.wk-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
}

.wk-hero__title {
  font-size: 62px;
  margin-bottom: 20px;
}

.wk-btn {
  display: inline-block;
  padding: 12px 28px;
  border: 1px solid #fff;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
}

.wk-btn:hover {
  background: #fff;
  color: #111;
}

.wk-fab {
  position: absolute;
  bottom: 40px;
  right: 40px;
  background: #00a67e;
  padding: 12px 20px;
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  z-index: 2;
}
.wk-section--portfolio {
  padding:120px 0;
  background:#fff;
}

.wk-wrap {
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}
.wk-quote {
  text-align:center;
  margin-bottom:60px;
  position:relative;
}

.wk-quote__mark {
  font-size:40px;
  color:#00a67e;
  font-weight:700;
}

.wk-quote__text {
  font-size:28px;
  font-weight:600;
  display:inline-block;
  margin:0 10px;
}
.wk-portfolio {
  position:relative;
  display:flex;
  align-items:center;
}
.wk-pf-track {
  display:flex;
  gap:30px;
  overflow:hidden;
  scroll-behavior:smooth;
  width:100%;
}
.wk-pf-card {
  flex:0 0 280px;
  position:relative;
  border-radius:12px;
  overflow:hidden;
  display:block;
  text-decoration:none;
}

.wk-pf-img {
  width:100%;
  height:320px;
  object-fit:cover;
  transition:transform .4s ease;
}
.wk-pf-overlay {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.55);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:20px;
  color:#fff;
  opacity:0;
  transition:opacity .3s ease;
}

.wk-pf-card:hover .wk-pf-overlay {
  opacity:1;
}

.wk-pf-card:hover .wk-pf-img {
  transform:scale(1.08);
}

.wk-pf-pill {
  font-size:12px;
  background:#00a67e;
  padding:4px 8px;
  border-radius:4px;
  display:inline-block;
  margin-bottom:8px;
}

.wk-pf-title {
  font-size:16px;
  font-weight:600;
}
.wk-pf-nav {
  background:#fff;
  border:1px solid #eee;
  width:40px;
  height:40px;
  border-radius:50%;
  cursor:pointer;
  font-size:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.2s;
  box-shadow:0 5px 15px rgba(0,0,0,.05);
}

.wk-pf-nav:hover {
  background:#00a67e;
  color:#fff;
}

.wk-pf-nav--prev {
  margin-right:15px;
}

.wk-pf-nav--next {
  margin-left:15px;
}

@media (max-width:768px) {
  .wk-pf-card {
    flex:0 0 220px;
  }

  .wk-pf-img {
    height:260px;
  }
}

.wk-section--demo {
  position: relative;
  padding: 140px 0;
  background: #f7f9fc;
  overflow: hidden;
}

.wk-demo {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  align-items: start;
}
.wk-demo-intro {
  grid-column: span 1;
}

.wk-demo-title {
  font-size: 36px;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 20px;
}

.wk-demo-title__brand {
  color: #111;
}

.wk-demo-title__accent {
  color: #00a67e;
}

.wk-demo-desc {
  font-size: 15px;
  color: #555;
  line-height: 1.6;
}
.wk-demo-intro {
  grid-column: span 1;
}

.wk-demo-title {
  font-size: 36px;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 20px;
}

.wk-demo-title__brand {
  color: #111;
}

.wk-demo-title__accent {
  color: #00a67e;
}

.wk-demo-desc {
  font-size: 15px;
  color: #555;
  line-height: 1.6;
}
.wk-demo-card {
  position: relative;
}

.wk-demo-card__img {
  position: relative;
  height: 420px;
  border-radius: 16px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  box-shadow: 0 15px 40px rgba(0,0,0,.08);
  transition: transform .4s ease;
}

.wk-demo-card__img:hover {
  transform: translateY(-8px);
}
.wk-demo-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}
.wk-demo-card__center {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  padding: 20px;
}

.wk-demo-card__label {
  font-size: 12px;
  letter-spacing: 2px;
  margin-bottom: 10px;
  opacity: .8;
}

.wk-demo-card__name {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 25px;
}

.wk-demo-btns {
  display: grid;
  gap: 10px;
}

.wk-demo-btns--grid4 {
  grid-template-columns: repeat(2, 1fr);
}

.wk-demo-btns--grid2 {
  grid-template-columns: repeat(2, 1fr);
}

.wk-demo-btn {
  padding: 10px 15px;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.4);
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  border-radius: 6px;
  transition: all .2s ease;
}

.wk-demo-btn:hover {
  background: #00a67e;
  border-color: #00a67e;
}
.wk-demo-watermark {
  position: absolute;
  bottom: -20px;
  right: 40px;
  font-size: 120px;
  font-weight: 900;
  color: rgba(0,0,0,.04);
  pointer-events: none;
  user-select: none;
}
@media (max-width:1024px) {
  .wk-demo {
    grid-template-columns: 1fr;
  }

  .wk-demo-intro {
    margin-bottom: 40px;
  }
}

@media (max-width:600px) {
  .wk-demo-card__img {
    height: 360px;
  }

  .wk-demo-title {
    font-size: 28px;
  }
}
.wk-quick {
  position: fixed;
  right: 40px;
  bottom: 60px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 9999;
}
.wk-qbtn,
.wk-topbtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 40px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 30px;
  background: ##00a67e;
  color: #fff;
  transition: all .25s ease;
  box-shadow: 0 5px 15px rgba(0,0,0,.15);
}
.wk-qbtn:hover,
.wk-topbtn:hover {
  background: #00a67e;
  transform: translateY(-3px);
}
.wk-topbtn {
  background: #00a67e;
}

.wk-topbtn:hover {
  background: #111;
}
@media (max-width: 768px) {
  .wk-quick {
    display: none;
  }
}
.wk-qbtn,
.wk-topbtn {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  font-size: 11px;
}
.contact-form {
  max-width:600px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:15px;
}

.contact-form input,
.contact-form textarea {
  padding:12px;
  border:1px solid #ddd;
  border-radius:6px;
  font-size:14px;
}

.contact-form textarea {
  min-height:150px;
  resize:vertical;
}

.contact-form button {
  padding:14px;
  background:#00a67e;
  color:#fff;
  border:none;
  border-radius:6px;
  cursor:pointer;
}

.contact-form button:hover {
  background:#008c6a;
}

/* 개인정보 박스 */
.privacy-box {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 15px;
  background: #f9f9f9;
  height: 150px;
  overflow-y: auto;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 12px;
}

.privacy-agree label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  cursor: pointer;
  flex-wrap: nowrap;   /* 줄바꿈 방지 */
}

.privacy-agree input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
}

/* 카테고리 푸터 .css */
#main-footer {
  background:#111;
  color:#ccc;
  padding:60px 20px 20px;
}

#main-footer .mf-inner {
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
}

#main-footer .mf-box h4 {
  color:#fff;
  margin-bottom:15px;
  font-size:16px;
}

#main-footer .mf-box p {
  margin:6px 0;
  font-size:14px;
}

#main-footer a {
  color:#02b3fd;
  text-decoration:none;
}

#main-footer a:hover {
  color:#fff;
}

#main-footer .mf-copy {
  max-width:1200px;
  margin:40px auto 0;
  padding-top:20px;
  border-top:1px solid #333;
  text-align:center;
  font-size:13px;
  color:#888;
}

@media (max-width: 1024px) {
  .footer-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .footer-inner {
    grid-template-columns: 1fr;
  }
}
/* sns 아이콘 */
.sns-icons {
  display:flex;
  gap:15px;
  margin-top:10px;
}

.sns-icons a {
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#222;
  border-radius:50%;
  color:#ccc;
  font-size:18px;
  transition:0.3s;
}
.sns-icons a:hover {
  background:#fff;
  color:#111;
  transform:translateY(-3px);
}

.contact-info {
  list-style:none;
  padding:0;
  margin:0;
}

.contact-info li {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
  font-size:14px;
}

.contact-info i {
  width:18px;
  text-align:center;
  color:#aaa;
  font-size:14px;
}
.logo {
  height: 70px;
  width: auto;
  max-width: 100%;
}

@media (max-width: 768px) {
  .logo {
    height: 40px;
  }
}
body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
html, body {
  height:100%;
  margin:0;
}

body {
  display:flex;
  flex-direction:column;
}

#wrap {
  flex:1;
}

.policy-wrap {
    max-width: 900px;
    margin: 80px auto;
    padding: 40px;
    background: #fff;
}

.policy-wrap h2 {
    text-align: center;
    margin-bottom: 40px;
}

.policy-wrap h3 {
    margin-top: 30px;
    font-size: 18px;
}

.policy-wrap p {
    margin-top: 10px;
    color: #444;
}