/* ANTWAVE Custom Styles - Extracted from index.htm */
/* Total style blocks: 19 */

/* ==================== 스크롤 문제 해결 - 최우선 적용 ==================== */
html, body, body[data-barba="wrapper"] {
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  height: auto !important;
  min-height: 100vh !important;
}
/* =============================================================== */


/* ==================== JS 지연 대비 폴백 ==================== */
/* 기본은 보이도록 하고, JS가 활성화되면 초기 애니메이션 상태로 전환 */
.antwave-card { opacity: 1 !important; transform: none !important; }
html.js-enabled .antwave-card { opacity: 0 !important; transform: translateY(20px) !important; }
/* ========================================================== */


/* 메인 팝업 */
.popup_wrap{position:absolute;top:200px;border:1px solid #000000;;left:100px;width:300px;background:#FFF;z-index:100000 }
.popup_wrap h3{display:none;}
.popup_wrap .close_btn{width:100%;height:40px;background:#000000;font-size:16px;color:#FFF;position:relative;text-align:left;padding-top:5px}
.popup_wrap .close_btn img{position:absolute;top:7px;right:7px;}
.popup_wrap .close_btn input{vertical-align:middle;width:10%;padding-left:10px}

.popup-wrap {display:none;position:fixed;left:0;top:0;width:100%;height:100%;background: rgba(0, 0, 0, 0.8)}
.popup-comm {position:absolute;left:50%;top:50%;background:#FFF;z-index:1001}
.popup-comm .con {position:relative; width:100%; height:100%}
.popup-comm .btn-close {position:absolute; top:10px; right:10px; width:31px; height:31px; background:url(/images/btn_pop_close.png) no-repeat 0 0}
.popup-comm .btn-close span{display:none}
.popup-comm .pop-tit {height:30px; padding:20px 0 0 25px; font-size:20px; font-weight:400; border-bottom:1px solid #e1e1e1}
.popup-comm .popup-body {padding:22px 35px}
.popup-index-9 {z-index:9000}.popup-index-10 {z-index:10000}.popup-index-11 {z-index:11000}

.pop-div-1 {width:500px; height:500px; margin-left:-250px; margin-top:-250px}
.pop-div-2 {width:800px; height:620px; margin-left:-400px; margin-top:-310px}
.pop-div-3 {width:1000px; height:630px; margin-left:-500px; margin-top:-310px}
.pop-div-4 {width:680px; height:560px; margin-left:-340px; margin-top:-280px}
.pop-div-5 {width:500px; height:240px; margin-left:-250px; margin-top:-120px}

.popup_privacy{display:none;position:fixed;top:50%;left:50%;margin-left:-355px;margin-top:-280px;padding-bottom:12px;border-top:3px solid #0090ff;width:710px;height:490px;background:#FFF;z-index:10000000;}
.popup_privacy h3{height:38px;font-size:24px; color:#444;padding:20px 0 0 25px;text-align:left;background:#f5f5f5;border-bottom:1px solid #b2b2b2}
.popup_privacy h4{color:#336699;font-size:13px;font-weight:bolder;margin:0px 0px 5px 0px}
.popup_privacy h5{margin:10px 0px 0px 0px;font-weight:bolder;}
.popup_privacy .privacy_txt{padding:15px;margin:10px 0;width:670px;height:360px;overflow-y:auto;text-align:left;line-height:160%;font-size:12px;}
.privacy_txt p{font-size:13px;margin:10px 0;line-height:160%;}
.privacy_txt li{list-style: none;margin:10px 0;}
.privacy_close{position:absolute; right:15px;top:15px;cursor:pointer; background:url(/images/btn_pop_close.png) no-repeat 0 0; width:31px; height:31px} .privacy_close span{display:none}
 
.popup_agreement{position:relative;padding-bottom:45px;border:1px solid #d1d1d1; background:#FFF}
.popup_agreement h3{font-size:14px; color:#000;margin:10px 0 0 15px;text-align:center}
.popup_agreement h4{color:#336699;font-size:13px;font-weight:bolder;margin:0px 0px 5px 0px}
.popup_agreement h5{margin:10px 0px 0px 0px;font-weight:bolder;}
.popup_agreement h6{font-size:18px;font-weight:500;text-align:right;line-height:140%}
.popup_agreement .privacy_txt{padding:2%; margin:2%; width:92%;text-align:left;line-height:160%;font-size:12px;border:1px solid #ddd;background:#f2f2f2}
.popup_agreement .pop_agreement_tit{font-size:24px;text-align:center;width:420px;margin:30px auto 0;border-bottom:1px solid #000;padding-bottom:15px}
.popup_agreement .pop_agreement_tit2{font-size:24px;text-align:center;width:500px;margin:30px auto 0 }
.popup_agreement .popup_agreement_name {text-align:right;padding-right:15px;font-size:18px;margin-top:10px;line-height:1.5em}
.agreement_notice { position:absolute;bottom:10px;left:10px;text-align:left;font-size:11px;color:#666}
.popup_agreement .agreement_close{position:absolute;right:15px;bottom:40px}
.popup_agreement .agreement_print{ }

.popup_agreement_w {width:740px; margin:0 auto; overflow:hidden; font-size:15px}
.popup_agreement_kfish {float:left; width:330px; line-height:1.6em; font-size:14px}
.popup_agreement_company {float:right; width:330px; line-height:1.6em; font-size:14px}
.popup_agreement_w .name {font-size:18px; margin-top:18px}

.popup_ready{display:none;position:fixed;top:50%;left:50%;margin-left:-200px;margin-top:-200px;width:400px;height:400px;background:#FFF;z-index:10000000;}



/* Style block #1 */
.safe-svg-cover {
	text-align: center
}
.safe-svg-cover .safe-svg-inside {
	display: inline-block;
	max-width: 100%
}
.safe-svg-cover svg {
	height: 100%;
	max-height: 100%;
	max-width: 100%;
	width: 100%
}



/* Style block #2 */
/* Services grid: 8pt Grid System with proper spacing */
  .antwave-services { 
    position: relative; 
    padding: 4rem 0; /* 64px top/bottom */
  }
  
  .antwave-services__main { 
    position: relative; 
    z-index: 1; 
    max-width: 2400px; /* 1920px → 2400px로 증가 */
    margin: 0 auto; 
    padding-left: 1rem; /* 16px */
    padding-right: 1rem;
  }
  
  .antwave-services__title { 
    position: relative !important; 
    top: auto !important; 
    height: auto !important; 
    padding: 0 0 2rem 0 !important; /* 32px bottom spacing */
    margin-bottom: 1rem; /* 16px */
  }
  
  .antwave-services__grid {
    display: grid !important;
    grid-template-columns: 1fr;
    grid-auto-rows: 1fr;
    gap: 1rem; /* 16px - mobile */
    padding-bottom: 0 !important;
  }
  
  /* Card styling with proper internal spacing */
  .antwave-card { 
    position: relative !important; 
    top: auto !important; 
    height: 100% !important; 
    width: 100% !important; 
    margin: 0 !important; 
    padding: 1.5rem !important; /* 24px - PC에서 더 컴팩트하게 */
    box-sizing: border-box; 
    align-self: stretch; 
    justify-self: stretch; 
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem; /* 16px between internal elements */
    min-height: 30vh; /* PC에서 4개 카드가 한 화면에 들어오도록 높이 감소 */
    opacity: 0; 
    transform: translateY(20px); 
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background: linear-gradient(135deg, rgba(46, 91, 255, 0.02) 0%, rgba(46, 91, 255, 0.05) 100%);
    border: 1px solid rgba(46, 91, 255, 0.1);
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
  }
  
  /* 강력한 호버 효과 - 높은 우선순위 */
  .antwave-services .antwave-card:hover {
    transform: translateY(-8px) scale(1.02) !important;
    background: linear-gradient(135deg, rgba(46, 91, 255, 0.08) 0%, rgba(46, 91, 255, 0.15) 100%) !important;
    border-color: rgba(46, 91, 255, 0.3) !important;
    box-shadow: 
      0 20px 40px rgba(46, 91, 255, 0.15),
      0 8px 16px rgba(46, 91, 255, 0.1),
      0 0 0 1px rgba(46, 91, 255, 0.2) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  }
  
  /* 호버 시 카드 번호 애니메이션 - 높은 우선순위 */
  .antwave-services .antwave-card:hover .antwave-card__no {
    transform: scale(1.1) rotate(5deg) !important;
    background: linear-gradient(135deg, #2E5BFF 0%, #1E3A8A 100%) !important;
    box-shadow: 0 8px 16px rgba(46, 91, 255, 0.3) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  }
  
  /* 호버 시 제목 애니메이션 - 높은 우선순위 */
  .antwave-services .antwave-card:hover .antwave-card__title {
    color: white !important;
    transform: translateX(4px) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5) !important;
  }
  
  /* 호버 시 설명 텍스트 애니메이션 - 높은 우선순위 */
  .antwave-services .antwave-card:hover .antwave-card__desc {
    opacity: 1 !important;
    transform: translateX(4px) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  }
  
  /* 호버 시 배경 그라데이션 애니메이션 */
  .antwave-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(46, 91, 255, 0.1) 0%, rgba(46, 91, 255, 0.05) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
  }
  
  .antwave-card:hover::before {
    opacity: 1;
  }
  
  /* 추가 고급 호버 효과 - 대각선 빛 - 높은 우선순위 */
  .antwave-services .antwave-card::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.3) 50%, transparent 70%);
    transform: translateX(-100%) translateY(-100%) rotate(45deg);
    transition: transform 0.6s ease;
    z-index: 1;
  }
  
  .antwave-services .antwave-card:hover::after {
    transform: translateX(100%) translateY(100%) rotate(45deg) !important;
  }
  
  /* 호버 시 카드 전체에 미묘한 펄스 효과 - 높은 우선순위 */
  .antwave-services .antwave-card:hover {
    animation: cardPulse 2s ease-in-out infinite !important;
  }
  
  @keyframes cardPulse {
    0%, 100% {
      box-shadow: 
        0 20px 40px rgba(46, 91, 255, 0.15),
        0 8px 16px rgba(46, 91, 255, 0.1),
        0 0 0 1px rgba(46, 91, 255, 0.2);
    }
    50% {
      box-shadow: 
        0 25px 50px rgba(46, 91, 255, 0.2),
        0 12px 24px rgba(46, 91, 255, 0.15),
        0 0 0 2px rgba(46, 91, 255, 0.3);
    }
  }
  
  /* 호버 시 카드 번호에 회전 애니메이션 - 높은 우선순위 */
  .antwave-services .antwave-card:hover .antwave-card__no {
    animation: numberRotate 0.6s ease-out !important;
  }
  
  @keyframes numberRotate {
    0% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.2) rotate(10deg); }
    100% { transform: scale(1.1) rotate(5deg); }
  }
  
  .antwave-card.is-visible { 
    opacity: 1; 
    transform: translateY(0); 
  }
  
  /* Card number styling - 원형 파란색 도트 */
  .antwave-card__no {
    width: 36px !important;
    height: 36px !important;
    background: linear-gradient(135deg, #2E5BFF 0%, #1E3A8A 100%) !important;
    border-radius: 50% !important;
    margin: 0 !important; /* 도트 위치는 absolute로 제어 */
    font-size: 0 !important;
    display: inline-block !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    color: transparent !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0 4px 8px rgba(46, 91, 255, 0.2);
    position: relative;
  }
  
  /* 카드 번호에 번호 텍스트 추가 */
  .antwave-card__no::after {
    content: attr(data-number);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-weight: 700;
    font-size: 14px;
    text-indent: 0;
  }
  
  /* Card title styling - 통합된 스타일 - 최고 우선순위 */
  .antwave-services .antwave-card .antwave-card__title {
    font-size: clamp(2.5rem, 6vw, 2.5rem) !important; /* 54-84px (1.5배 더 크게) */
    letter-spacing: -0.02em !important;
    margin: 0 !important;
    padding-top: 2rem !important; /* 도트와의 간격을 위한 상단 패딩 */
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    font-weight: 700 !important;
    color: white !important;
  }
  
  /* Card description styling */
  .antwave-card__desc {
    font-size: clamp(0.9rem, 1.5vw, 1.1rem); /* 14.4-17.6px */
    line-height: 1.6;
    letter-spacing: 0;
    margin: 0;
    opacity: 0.85;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    color: #4a4a4a;
    font-family: 'Pretendard Variable', 'Pretendard', 'Helvetica Neue', Arial, sans-serif;
  }
  
  /* 한글 텍스트에 Pretendard 폰트 적용 */
  .rm-title__subtitle,
  .antwave-card__desc,
  .lead,
  p,
  span:lang(ko),
  div:lang(ko) {
    font-family: 'Pretendard Variable', 'Pretendard', 'Helvetica Neue', Arial, sans-serif !important;
  }
  
  /* Tablet: 768px+ */
  @media (min-width: 768px) {
    .antwave-services__main { 
      padding-left: 2rem; /* 32px */
      padding-right: 2rem; 
    }
    .antwave-services__title {
      margin-bottom: 1.5rem; /* 24px */
    }
    .antwave-services__grid { 
      grid-template-columns: repeat(2, minmax(0, 1fr)); 
      gap: 1rem; /* 24px → 16px로 줄임 */
    }
    .antwave-card {
      padding: 2.5rem !important; /* 40px */
      gap: 1.25rem; /* 20px */
    }
  }
  
  /* Desktop: 1024px+ */
  @media (min-width: 1024px) {
    .antwave-services {
      padding: 5rem 0; /* 80px */
    }
    .antwave-services__grid { 
      gap: 1.5rem; /* 32px → 24px로 줄임 */
    }
    .antwave-card {
      padding: 3rem !important; /* 48px */
      gap: 1.5rem; /* 24px */
    }
  }
  
  /* Large Desktop: 1400px+ */
  @media (min-width: 1400px) {
    .antwave-services__main { 
      padding-left: 4rem; /* 64px */
      padding-right: 4rem; 
    }
    .antwave-services__title {
      padding-bottom: 2.5rem !important; /* 40px */
      margin-bottom: 2rem; /* 32px */
    }
    .antwave-services__grid { 
      gap: 2rem; /* 40px → 32px로 줄임 */
    }
    .antwave-card {
      padding: 3.5rem !important; /* 56px */
      gap: 1.75rem; /* 28px */
    }
  }



/* Style block #3 */
html, body {
	font-family: 'Pretendard Variable', 'Pretendard', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', 'Helvetica Neue', Arial, sans-serif !important;
}

/* 폼/버튼/목록/표 등 기본 요소 상속 보장 */
body, p, a, li, dt, dd, input, textarea, button, select, label, small, strong, em {
	font-family: inherit !important;
}



/* Style block #4 */
/* ANTWAVE Ÿ�����׷��� */
.antwave-typography{
    font-family: 'Pretendard Variable', 'Pretendard', 'Helvetica Neue', Arial, sans-serif;
    font-size: clamp(1.5rem, 2.7vw, 2.25rem) !important;
    font-weight: 900 !important;
    color: white;
    margin: 0 auto;
    line-height: 0.5;
    letter-spacing: -0.15em;
    text-transform: lowercase;
    text-align: center;
    padding: 0;
    width: 100%;
    position: static;
    overflow: visible;
    white-space: nowrap;
}

.antwave-typography .letter {
    display: inline-block;
    transform: translateY(50px);
    opacity: 0;
    animation: slideUpLetter 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.antwave-typography .letter:nth-child(1) { animation-delay: 0.2s; }
.antwave-typography .letter:nth-child(2) { animation-delay: 0.3s; }
.antwave-typography .letter:nth-child(3) { animation-delay: 0.4s; }
.antwave-typography .letter:nth-child(4) { animation-delay: 0.5s; }
.antwave-typography .letter:nth-child(5) { animation-delay: 0.6s; }
.antwave-typography .letter:nth-child(6) { animation-delay: 0.7s; }
.antwave-typography .letter:nth-child(7) { animation-delay: 0.8s; }

@keyframes slideUpLetter {
    0% {
        transform: translateY(50px);
        opacity: 0;
    }
    60% {
        transform: translateY(-5px);
        opacity: 1;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.framer-1b12ihi{
    width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.framer-e4f2k4{
    width: 100%;
    margin: 0;
    padding: 0;
}

@keyframes slideInUp{
    0%{opacity: 0; transform: translateY(100px) scale(0.8)}
    100%{opacity: 1; transform: translateY(0) scale(1)}
}



/* Style block #5 */
/* �׺���̼� �ʱ� ���� ���� �� ���� ���� */
.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background: transparent;
    backdrop-filter: none;
    border-bottom: none;
    box-shadow: none;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.site-header__main {
    position: relative !important;
    z-index: 1 !important;
    padding: 0.25rem 0 !important;
    height: 50px !important;
}

/* WIN DIFFERENTLY ���� ���� �� ��� - �׺���̼ǰ��� ���� 50% ���̱� */
.rm-title {
    padding-bottom: 16px !important;
    min-height: 25vh !important;
    margin-bottom: 0 !important;
}

.rm-title__wrap {
    min-height: 25vh !important;
    padding-top: 40px !important;
}



/* Style block #6 */
/* ===== MAIN TITLE SECTION - 통합된 스타일 ===== */

/* 메인 타이틀 스타일 */
.rm-title__inner {
    font-size: clamp(2.2rem, 6vw, 6rem);
    line-height: 1.05;
    letter-spacing: -0.02em;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
}

.rm-title__subtitle {
    font-family: 'Pretendard Variable', 'Pretendard', 'Helvetica Neue', Arial, sans-serif;
    font-size: clamp(1rem, 2vw, 1.2rem);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    text-align: justify;
    text-transform: uppercase;
    margin-top: 2rem;
}

/* 메인 타이틀 간격 조정 */
.rm-title {
    padding-bottom: 16px !important;
    min-height: 25vh !important;
    margin-bottom: 0 !important;
}

.rm-title__wrap {
    min-height: 25vh !important;
    padding-top: 40px !important;
}

/* 반응형 디자인 */
@media (max-width: 768px) {
    .rm-title__inner {
        font-size: clamp(1.8rem, 8vw, 4rem);
    }
    
    .rm-title__subtitle {
        font-size: clamp(0.9rem, 3vw, 1.1rem);
        text-align: left;
    }
}

@media (min-width: 1200px) {
    .rm-title__inner {
        font-size: clamp(3rem, 6vw, 6rem);
    }
    
    .rm-title__subtitle {
        font-size: clamp(1.1rem, 2vw, 1.3rem);
    }
}



/* Style block #7 */
/* ����� ��ũ�� �ε������� */
.modern-scroll-indicator {
    position: fixed;
    left: 0;
    top: var(--solutions-title-top, 0px);
    pointer-events: none;
    will-change: transform;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0, 0.5, 0.5, 1);
}

.scroll-wheel {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50px;
    padding: 8px 16px 8px 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.wheel-inner {
    width: 24px;
    height: 40px;
    border: 2px solid rgba(255, 255, 255, 0.6);
    border-radius: 12px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 6px;
}

.scroll-dot {
    width: 12px;
    height: 24px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 6px;
    animation: scrollBounce 2s infinite;
}

.scroll-text {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
}

@keyframes scrollBounce {
    0%, 20% {
        transform: translateY(0);
        opacity: 1;
    }
    50% {
        transform: translateY(12px);
        opacity: 0.5;
    }
    80%, 100% {
        transform: translateY(0);
        opacity: 1;
    }
}



/* Style block #8 */
body {
--wp--preset--color--black: #000000;
--wp--preset--color--cyan-bluish-gray: #abb8c3;
--wp--preset--color--white: #ffffff;
--wp--preset--color--pale-pink: #f78da7;
--wp--preset--color--vivid-red: #cf2e2e;
--wp--preset--color--luminous-vivid-orange: #ff6900;
--wp--preset--color--luminous-vivid-amber: #fcb900;
--wp--preset--color--light-green-cyan: #7bdcb5;
--wp--preset--color--vivid-green-cyan: #00d084;
--wp--preset--color--pale-cyan-blue: #8ed1fc;
--wp--preset--color--vivid-cyan-blue: #0693e3;
--wp--preset--color--vivid-purple: #9b51e0;
--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgba(6,147,227,1) 0%, rgb(155,81,224) 100%);
--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg, rgb(122,220,180) 0%, rgb(0,208,130) 100%);
--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg, rgba(252,185,0,1) 0%, rgba(255,105,0,1) 100%);
--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg, rgba(255,105,0,1) 0%, rgb(207,46,46) 100%);
--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg, rgb(238,238,238) 0%, rgb(169,184,195) 100%);
--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg, rgb(74,234,220) 0%, rgb(151,120,209) 20%, rgb(207,42,186) 40%, rgb(238,44,130) 60%, rgb(251,105,98) 80%, rgb(254,248,76) 100%);
--wp--preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255,206,236) 0%, rgb(152,150,240) 100%);
--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg, rgb(254,205,165) 0%, rgb(254,45,45) 50%, rgb(107,0,62) 100%);
--wp--preset--gradient--luminous-dusk: linear-gradient(135deg, rgb(255,203,112) 0%, rgb(199,81,192) 50%, rgb(65,88,208) 100%);
--wp--preset--gradient--pale-ocean: linear-gradient(135deg, rgb(255,245,203) 0%, rgb(182,227,212) 50%, rgb(51,167,181) 100%);
--wp--preset--gradient--electric-grass: linear-gradient(135deg, rgb(202,248,128) 0%, rgb(113,206,126) 100%);
--wp--preset--gradient--midnight: linear-gradient(135deg, rgb(2,3,129) 0%, rgb(40,116,252) 100%);
--wp--preset--font-size--small: 13px;
--wp--preset--font-size--medium: 20px;
--wp--preset--font-size--large: 36px;
--wp--preset--font-size--x-large: 42px;
--wp--preset--spacing--20: 0.44rem;
--wp--preset--spacing--30: 0.67rem;
--wp--preset--spacing--40: 1rem;
--wp--preset--spacing--50: 1.5rem;
--wp--preset--spacing--60: 2.25rem;
--wp--preset--spacing--70: 3.38rem;
--wp--preset--spacing--80: 5.06rem;
--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);
--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);
}
:where(.is-layout-flex) {
gap: 0.5em;
}
:where(.is-layout-grid) {
gap: 0.5em;
}
body .is-layout-flex {
	display: flex;
}
body .is-layout-flex {
	flex-wrap: wrap;
	align-items: center;
}
body .is-layout-flex > * {
	margin: 0;
}
body .is-layout-grid {
	display: grid;
}
body .is-layout-grid > * {
	margin: 0;
}
:where(.wp-block-columns.is-layout-flex) {
gap: 2em;
}
:where(.wp-block-columns.is-layout-grid) {
gap: 2em;
}
:where(.wp-block-post-template.is-layout-flex) {
gap: 1.25em;
}
:where(.wp-block-post-template.is-layout-grid) {
gap: 1.25em;
}
.has-black-color {
	color: var(--wp--preset--color--black) !important;
}
.has-cyan-bluish-gray-color {
	color: var(--wp--preset--color--cyan-bluish-gray) !important;
}
.has-white-color {
	color: var(--wp--preset--color--white) !important;
}
.has-pale-pink-color {
	color: var(--wp--preset--color--pale-pink) !important;
}
.has-vivid-red-color {
	color: var(--wp--preset--color--vivid-red) !important;
}
.has-luminous-vivid-orange-color {
	color: var(--wp--preset--color--luminous-vivid-orange) !important;
}
.has-luminous-vivid-amber-color {
	color: var(--wp--preset--color--luminous-vivid-amber) !important;
}
.has-light-green-cyan-color {
	color: var(--wp--preset--color--light-green-cyan) !important;
}
.has-vivid-green-cyan-color {
	color: var(--wp--preset--color--vivid-green-cyan) !important;
}
.has-pale-cyan-blue-color {
	color: var(--wp--preset--color--pale-cyan-blue) !important;
}
.has-vivid-cyan-blue-color {
	color: var(--wp--preset--color--vivid-cyan-blue) !important;
}
.has-vivid-purple-color {
	color: var(--wp--preset--color--vivid-purple) !important;
}
.has-black-background-color {
	background-color: var(--wp--preset--color--black) !important;
}
.has-cyan-bluish-gray-background-color {
	background-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}
.has-white-background-color {
	background-color: var(--wp--preset--color--white) !important;
}
.has-pale-pink-background-color {
	background-color: var(--wp--preset--color--pale-pink) !important;
}
.has-vivid-red-background-color {
	background-color: var(--wp--preset--color--vivid-red) !important;
}
.has-luminous-vivid-orange-background-color {
	background-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}
.has-luminous-vivid-amber-background-color {
	background-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}
.has-light-green-cyan-background-color {
	background-color: var(--wp--preset--color--light-green-cyan) !important;
}
.has-vivid-green-cyan-background-color {
	background-color: var(--wp--preset--color--vivid-green-cyan) !important;
}
.has-pale-cyan-blue-background-color {
	background-color: var(--wp--preset--color--pale-cyan-blue) !important;
}
.has-vivid-cyan-blue-background-color {
	background-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}
.has-vivid-purple-background-color {
	background-color: var(--wp--preset--color--vivid-purple) !important;
}
.has-black-border-color {
	border-color: var(--wp--preset--color--black) !important;
}
.has-cyan-bluish-gray-border-color {
	border-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}
.has-white-border-color {
	border-color: var(--wp--preset--color--white) !important;
}
.has-pale-pink-border-color {
	border-color: var(--wp--preset--color--pale-pink) !important;
}
.has-vivid-red-border-color {
	border-color: var(--wp--preset--color--vivid-red) !important;
}
.has-luminous-vivid-orange-border-color {
	border-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}
.has-luminous-vivid-amber-border-color {
	border-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}
.has-light-green-cyan-border-color {
	border-color: var(--wp--preset--color--light-green-cyan) !important;
}
.has-vivid-green-cyan-border-color {
	border-color: var(--wp--preset--color--vivid-green-cyan) !important;
}
.has-pale-cyan-blue-border-color {
	border-color: var(--wp--preset--color--pale-cyan-blue) !important;
}
.has-vivid-cyan-blue-border-color {
	border-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}
.has-vivid-purple-border-color {
	border-color: var(--wp--preset--color--vivid-purple) !important;
}
.has-vivid-cyan-blue-to-vivid-purple-gradient-background {
	background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;
}
.has-light-green-cyan-to-vivid-green-cyan-gradient-background {
	background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;
}
.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background {
	background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;
}
.has-luminous-vivid-orange-to-vivid-red-gradient-background {
	background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;
}
.has-very-light-gray-to-cyan-bluish-gray-gradient-background {
	background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;
}
.has-cool-to-warm-spectrum-gradient-background {
	background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;
}
.has-blush-light-purple-gradient-background {
	background: var(--wp--preset--gradient--blush-light-purple) !important;
}
.has-blush-bordeaux-gradient-background {
	background: var(--wp--preset--gradient--blush-bordeaux) !important;
}
.has-luminous-dusk-gradient-background {
	background: var(--wp--preset--gradient--luminous-dusk) !important;
}
.has-pale-ocean-gradient-background {
	background: var(--wp--preset--gradient--pale-ocean) !important;
}
.has-electric-grass-gradient-background {
	background: var(--wp--preset--gradient--electric-grass) !important;
}
.has-midnight-gradient-background {
	background: var(--wp--preset--gradient--midnight) !important;
}
.has-small-font-size {
	font-size: var(--wp--preset--font-size--small) !important;
}
.has-medium-font-size {
	font-size: var(--wp--preset--font-size--medium) !important;
}
.has-large-font-size {
	font-size: var(--wp--preset--font-size--large) !important;
}
.has-x-large-font-size {
	font-size: var(--wp--preset--font-size--x-large) !important;
}
.wp-block-navigation a:where(:not(.wp-element-button)) {
color: inherit;
}
:where(.wp-block-post-template.is-layout-flex) {
gap: 1.25em;
}
:where(.wp-block-post-template.is-layout-grid) {
gap: 1.25em;
}
:where(.wp-block-columns.is-layout-flex) {
gap: 2em;
}
:where(.wp-block-columns.is-layout-grid) {
gap: 2em;
}
.wp-block-pullquote {
	font-size: 1.5em;
	line-height: 1.6;
}



/* Style block #9 */
.site-header{position:relative}
.header-bg-video{position:fixed;inset:0;z-index:-1;overflow:hidden}
.header-bg-video__media{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;display:block!important;visibility:visible!important;opacity:1!important}
.header-bg-video__overlay{position:absolute;inset:0;background:#000000;opacity:0.7}
.site-header>.site-header__main{position:relative;z-index:1}



/* Style block #10 */
.main{margin-top:0}
.site-header{margin-bottom:0}
.main>.rm-title{margin-top:0;padding-top:0}



/* Style block #11 */
.theme-dark{--text-color:#ffffff;--bg-color:#000000;background-color:#000000;color:#ffffff}
.theme-dark .site-header__logo--w{opacity:1;visibility:visible}
.theme-dark .site-header__logo--b{opacity:0;visibility:hidden}
.theme-dark .cert-img--d{display:inline-block}
.theme-dark .cert-img--n{display:none}



/* Style block #12 */
/* 모든 파란 도트/커서 숨기기 */
.c-cursor,
.c-cursor__bg,
.c-cursor *,
[class*="cursor"],
[class*="dot"][style*="blue"]:not(.antwave-card__no),
[style*="#2E5BFF"]:not(.antwave-card__no),
[style*="rgb(46, 91, 255)"]:not(.antwave-card__no) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* 커서 컨테이너 완전히 숨기기 */
body .c-cursor {
  display: none !important;
}

/* 왼쪽 로고 원형 유지 */
.site-header__icon {
  width: 55px !important;
  height: 55px !important;
  object-fit: contain !important;
  aspect-ratio: 1 / 1 !important;
}

/* antwave-card__no를 파란색 도트로 명시적으로 표시 */
.antwave-card__no {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* antwave's를 소문자로 유지 */
.antwave-title-1 {
  text-transform: lowercase !important;
}



/* Style block #13 */
.header-bg-video__media,
.rm-title__media.c-media {
	opacity: 0.3;
	transition: opacity 0.3s ease;
}



/* Style block #14 */
.antwave-services { position: relative; }
  .antwave-services__grid {
    position: relative;
    padding-bottom: 120vh; }
  .antwave-card { 
    position: relative; 
    transform: translateY(40px); 
    opacity: 0; 
    transition: transform .6s cubic-bezier(0.22,0.61,0.36,1), opacity .6s ease;
  }
  .antwave-card.is-visible { transform: translateY(0); opacity: 1; }
  /* Layering: 1 on top, 4 at back when overlapping contexts occur */
  .antwave-card:nth-of-type(1){ z-index: 4; }
  .antwave-card:nth-of-type(2){ z-index: 3; }
  .antwave-card:nth-of-type(3){ z-index: 2; }
  .antwave-card:nth-of-type(4){ z-index: 1; }



/* Style block #15 */
/* Sticky stacked Solutions like Sunny Bonnell */
  .antwave-services { background: transparent; }
  .antwave-services__grid {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    position: relative;
    padding-bottom: 0;
  }
  .antwave-card {
    position: relative;
    height: auto;
    margin: 0;
    display: block;
    will-change: transform, opacity;
    transform: translateY(20px);
    opacity: 0;
    transition: transform .6s cubic-bezier(0.22,0.61,0.36,1), opacity .6s ease;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 12px;
    backdrop-filter: blur(12px);
  }
  .antwave-card.is-active { transform: translateY(0); opacity: 1; }
  @media (min-width: 768px){
    .antwave-services__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  }
  @media (min-width: 1200px){
    .antwave-services__grid { gap: 2rem; }
    .antwave-card { 
      min-height: 25vh !important; /* PC에서 더 작은 높이 */
      padding: 1.25rem !important; /* 20px - PC에서 더 컴팩트 */
    }
  }
  /* Ensure inner spacing looks centered on full viewport cards */
  .antwave-card__no { position: absolute; top: 1rem; left: 1.5rem; }
  .antwave-card__title, .antwave-card__desc {
      margin: 0;
      color: rgba(255,255,255,0.80);
      font-size: 20px !important;
  }
  .antwave-card__title {
      padding-top: 2rem !important; /* 도트와의 간격을 위한 상단 패딩 */
  }
  .antwave-card__desc {
      margin-top: auto !important;
  }



/* Style block #16 */
/* Sticky title just under nav */
  .antwave-services__title {
    position: sticky;
    top: calc(var(--site-header-height, 64px));
    z-index: 50; /* below card #1 (54) so cards overlap title */
    background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.0) 100%);
    backdrop-filter: blur(6px);
  }
  /* provide CSS var fallback using detected header height */



/* Style block #17 */
.f-list__projects .flickity-slider{transition-timing-function:cubic-bezier(0.22,0.61,0.36,1)}



/* Style block #18 */
.f-list__projects{overscroll-behavior: contain; touch-action: pan-y;}



/* Style block #19 */
/* 클릭 버스트 효과 */
@keyframes cursorBurst {
    0% { transform: translate(-50%, -50%) scale(0.2); opacity: 0.9; }
    70% { transform: translate(-50%, -50%) scale(1.2); opacity: 0.4; }
    100% { transform: translate(-50%, -50%) scale(1.6); opacity: 0; }
}

.cursor-burst {
    position: fixed;
    left: 0; top: 0;
    width: 28px; height: 28px;
    border-radius: 50%;
    pointer-events: none;
    background: #2E5BFF;
    z-index: 100000;
    animation: cursorBurst 500ms ease-out forwards;
}

/* Style block #20 - Mobile nav overlay/locking */
/* 모바일 네비가 열릴 때 바탕 스크롤 잠금 */
body.nav-open { overflow: hidden !important; }

/* 기본 모바일 네비는 숨김, 열리면 화면 전체 고정 표시 */
.mobile-nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  display: none !important;
  z-index: 3000 !important;
  pointer-events: none !important;
}

.mobile-nav.is-open {
  display: block !important;
  pointer-events: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Minimal, structural fix: regardless of DOM order, when mobile nav is open,
   raise header/toggler above overlay using :has to avoid sibling-order coupling */
body:has(.mobile-nav.is-open) .site-header {
  z-index: 4500 !important;
  position: relative !important;
}
body:has(.mobile-nav.is-open) .site-header .toggler {
  position: fixed !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 5000 !important;
  pointer-events: auto !important;
}

/* 검정 오버레이 */
.mobile-nav.is-open::before {
  content: '';
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.85);
  z-index: 0;
  pointer-events: none !important; /* 오버레이가 클릭을 가로채지 않도록 */
}

/* 메뉴 컨텐츠는 오버레이 위로 */
.mobile-nav .container-fluid,
.mobile-nav .nav-primary {
  position: relative;
  z-index: 1;
}

/* 메뉴를 화면 중앙 정렬 */
.mobile-nav .nav-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}
.mobile-nav .nav-primary .nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

/* 열렸을 때 닫기(토글) 버튼을 최상단에 띄워 노출 */
body.nav-open .toggler {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 4000;
}
/* 토글러 클릭 우선권 확보 */
body.nav-open .toggler{ z-index:10001 !important; pointer-events:auto !important; }

/* 오버레이는 기본 클릭 투과, 메뉴 영역만 클릭 허용 */
body.nav-open .mobile-nav{ pointer-events:none !important; }
body.nav-open .mobile-nav .nav-primary,
body.nav-open .mobile-nav .mobile-close{ pointer-events:auto !important; }