/*
Theme Name: Sangdong Lottecastle
Theme URI: https://sangdongyeoklottecastle.com/
Author: Custom
Description: 상동역 롯데캐슬 시그니처 분양 랜딩페이지
Version: 1.0.0
Text Domain: sangdong-lottecastle
*/

@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.8/dist/web/static/pretendard.css");

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

html { scroll-behavior: smooth; }

body, html{min-width: 360px; margin: 0; background-color: #FFF;}
body,p,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,th,td,form,fieldset,legend,input,textarea,button,select,table,a,p{font-family:Pretendard, '맑은 고딕', MalgunGothic, '돋움', Dotum, sans-serif; font-size:18px; font-weight:400; color:var(--black); line-height:1.4; letter-spacing:-0.08em; word-break:keep-all; font-variant-numeric: tabular-nums;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
img,fieldset{max-width:100%; border:0px; vertical-align:top;}
ul,ol,dl{list-style-type:none;}
a{text-decoration:none;}
caption, legend{border:0px; display:none;}
em{font-style:normal;}
table{width:100%; border:0; border-collapse:collapse;}
input[type='button'],input[type='submit'],input[type='reset'],input[type='file'] {appearance: button; -webkit-appearance: button;}
button{border: none;}
.blind{display: block; overflow: hidden; position: absolute; left: -9999px; width: 1px; height: 1px; font-size: 0; line-height: 0; text-indent: -9999px;}
:root{--color: #95785e;}
:root{--black: #202020;}

/* Common */
section .inner{width: 94%; max-width: 1400px; padding: 140px 0; margin: auto;}
.section-title{margin-bottom: 80px; text-align: center;}
.section-title h2{margin-top: -20px; font-size: 40px;}
.section-title h2 em{font-weight: 800; color: var(--color);}
.section-title h2::after{content: ''; display: block; width: 38px; height: 3px; margin: 30px auto; background-color: var(--color);}
.section-title .desc{font-size: 20px;}
.section-title .desc em{font-weight: 700;}

/* Header */
header{position: fixed; top: 0; left: 0; width: 100%; background-color: rgba(0,0,0,0.5); backdrop-filter: blur(6px); z-index: 10; transition: 0.2s ease-in-out;}
header .inner{display: flex; justify-content: space-between; align-items: center; width: calc(100% - 120px); height: 100px; margin: auto;}
header .site-logo .logo-img-on{display: none;}
header .header-contact a{display: inline-flex; align-items: center; gap: 10px; padding: 0 30px 0 5px; line-height: 50px; background-color: var(--color); border-radius: 50px;}
header .header-contact a strong{font-size: 24px; font-weight: 600; color: #FFF;}
header.fixed{background-color: #FFF; border-bottom: 1px solid #DDD;}
header.fixed .site-logo .logo-img{display: none;}
header.fixed .site-logo .logo-img-on{display: block;}

/* Footer */
footer{background-color: #2a2824; padding: 50px 0;}
footer .inner{display: flex; justify-content: space-between; align-items: center; width: 94%; max-width: 1400px; margin: auto;}
footer .footer-info .footer-menu{margin-bottom: 10px;}
footer .footer-info .footer-menu a{font-size: 16px; font-weight: 700; color: #FFF;}
footer .footer-info .wrap p{display: inline-block; margin-right: 15px; line-height: 1.6; font-size: 14px; font-weight: 300; color: #FFF; opacity: 0.7;}
footer .footer-contact{text-align: right; width: 320px;}
footer .footer-contact p{display: inline-block; padding: 4px 18px; border-radius: 30px; background-color: #8b2332; font-size: 22px; font-weight: 800; color: #FFF;}
footer .footer-contact a{display: block; font-size: 40px; font-weight: 900; color: #FFF; text-align: right;}

/* Floating */
.floating-btn{position: fixed; right: 20px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 15px; z-index: 11;}
.floating-btn a{display: flex; justify-content: center; align-items: center; width: 70px; height: 70px; background-color: var(--color); border-radius: 70px; box-shadow: 5px 5px 5px rgba(0,0,0,0.2);}
.floating-btn a p{line-height: 1.2; font-size: 16px; font-weight: 700; color: #FFF;}

/* Visual */
.main-visual{position: relative;}
.main-visual .visual-bg .mo{display: none;}
.main-visual .visual-contact{position: absolute; left: 60px; bottom: 60px;}
.main-visual .visual-contact p{display: inline-block; padding: 4px 18px; border-radius: 30px; background-color: #8b2332; font-size: 22px; font-weight: 800; color: #FFF;}
.main-visual .visual-contact a{display: block; font-size: 40px; font-weight: 900; color: #FFF;}

/* Location */
.project-summary .summary-list{display: flex; gap: 40px;}
.project-summary .summary-list .summary-item{width: 25%; background-color: #FFF; border: 1px solid #DDD; border-radius: 15px; overflow: hidden; box-shadow: 10px 10px 10px rgba(0,0,0,0.1);}
.project-summary .summary-list .summary-item .text{padding: 20px 20px 25px; text-align: center;}
.project-summary .summary-list .summary-item .text span{display: inline-block; padding: 2px 15px; background-color: var(--color); border-radius: 30px; font-size: 16px; font-weight: 700; color: #FFF;}
.project-summary .summary-list .summary-item .text h3{margin: 15px 0; font-size: 20px; font-weight: 700;}
.project-summary .summary-list .summary-item .text p{font-size: 16px; font-weight: 300;}

/* Premium */
.project-features{background-color: #f9f7f6;}
.project-features .inner{max-width: 1200px;}
.project-features .feature-list{display: flex; flex-direction: column; gap: 160px;}
.project-features .feature-list .feature-item{position: relative; display: flex; justify-content: space-between; align-items: center;}
.project-features .feature-list .feature-item .text{padding-left: 100px;}
.project-features .feature-list .feature-item .text span{display: inline-block; padding: 2px 15px; background-color: var(--color); border-radius: 30px; font-size: 16px; font-weight: 700; color: #FFF;}
.project-features .feature-list .feature-item .text h3{margin: 15px 0 25px; font-size: 26px; font-weight: 700;}
.project-features .feature-list .feature-item .image{border-radius: 15px; overflow: hidden;}
.project-features .feature-list .feature-item .deco-text{position: absolute; left: 20%; bottom: -50px; letter-spacing: 0.1em; font-size: 80px; font-weight: 800; color: var(--color); opacity: 0.2; z-index: 1;}
.project-features .feature-list .feature-item:nth-child(even){justify-content: flex-start;}
.project-features .feature-list .feature-item:nth-child(even) .text{order: 2;}
.project-features .feature-list .feature-item:nth-child(even) .image{order: 1;}
.project-features .feature-list .feature-item:nth-child(even) .deco-text{left: auto; right: 10%;}

/* Youtube */
.youtube-main{width: 100%;}
.youtube-main .video-wrap{position: relative; padding-bottom: 56.25%;}
.youtube-main .video-wrap iframe{position: absolute; width: 100%; height: 100%;}

/* Youtube List */
.youtube-list-section .youtube-list{display: grid; grid-template-columns: repeat(3,1fr); gap: 40px;}
.youtube-list-section .youtube-list li a{position: relative; display: block;}
.youtube-list-section .youtube-list li a::after{content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: block; width: 60px; height: 60px; background: url(./images/play_icon.png) no-repeat center; background-size: 100% auto;}

/* Counsel */
.counsel-section{background: url(./images/sec06_counsel_bg.jpg) no-repeat center; background-size: cover;}
.counsel-section .section-title .tag{display: inline-block; padding: 2px 15px; background-color: #FFF; border-radius: 30px; font-size: 16px; font-weight: 700; color: var(--color);}
.counsel-section .section-title h2{margin-top: 20px; color: #FFF;}
.counsel-section .section-title h2::after{background-color: #FFF;}
.counsel-section .section-title h2 em{color: #FFF;}
.counsel-section .section-title .desc{color: #FFF;}
.counsel-section .counsel-form-wrap{max-width: 700px; margin: auto; padding: 50px 70px; background-color: #FFF; border-radius: 20px;}
.counsel-section .counsel-form-wrap .form-row{display: flex; align-items: center; margin-bottom: 10px;}
.counsel-section .counsel-form-wrap .form-row > p{width: 130px; font-size: 22px; font-weight: 600;}
.counsel-section .counsel-form-wrap .form-row > .form-field{width: calc(100% - 130px);}
.counsel-section .counsel-form-wrap .form-row > .form-field input{width: 100%; height: 60px; border: 1px solid #DDD; border-radius: 5px; padding-left: 20px;}
.counsel-section .counsel-form-wrap .form-agreement{display: flex; justify-content: space-between; align-items: center; margin-top: 20px;}
.counsel-section .counsel-form-wrap .form-agreement .wpcf7-list-item{margin: 0 !important;}
.counsel-section .counsel-form-wrap .form-agreement .wpcf7-list-item label{display: flex; align-items: center; gap: 8px;}
.counsel-section .counsel-form-wrap .form-agreement .wpcf7-list-item input{width: 18px; height: 18px;}
.counsel-section .counsel-form-wrap .form-agreement > p button{display: inline-block; padding: 4px 10px; background-color: #a6a6a6; border-radius: 30px; font-size: 16px; font-weight: 500; color: #FFF; cursor: pointer;}
.counsel-section .counsel-form-wrap .form-agreement > p button br{display: none;}
.counsel-section .counsel-form-wrap .form-submit{margin-top: 40px;}
.counsel-section .counsel-form-wrap .form-submit input{width: 100%; height: 70px; background-color: var(--color); border: none; border-radius: 10px; font-weight: 700; color: #FFF; cursor: pointer;}
.counsel-section .counsel-form-wrap .form-submit .wpcf7-spinner{display: none !important;}

.privacy-modal{position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center; padding: 20px;}
.privacy-modal.is-open{display: flex;}
.privacy-modal-bg{position: absolute; inset: 0; background: rgba(0, 0, 0, 0.65);}
.privacy-modal-content{position: relative; z-index: 1; width: 100%; max-width: 600px; max-height: 85dvh; display: flex; flex-direction: column; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);}
.privacy-modal-header{display: flex; align-items: center; justify-content: space-between; padding: 24px 30px; border-bottom: 1px solid #eee;}
.privacy-modal-header h3{margin: 0; color: #222; font-weight: 700;}
.privacy-close{width: 32px; height: 32px; border: 0; background: transparent; color: #777; font-size: 30px; line-height: 1; cursor: pointer;}
.privacy-modal-body{padding: 30px; overflow-y: auto; color: #555; font-size: 15px; line-height: 1.8;}
.privacy-modal-body > p{margin: 0 0 20px; font-size: 16px;}
.privacy-modal-body dl{margin: 0;}
.privacy-modal-body dt{margin-top: 15px; color: #222; font-size: 16px; font-weight: 700;}
.privacy-modal-body dd{color: #666; font-size: 16px;}
.privacy-modal-footer{padding: 18px 30px; border-top: 1px solid #eee;}
.privacy-confirm{width: 100%; height: 54px; border: 0; border-radius: 6px; background: #ae9369; color: #fff; font-size: 16px; font-weight: 600; cursor: pointer;}
.privacy-confirm:hover{background: #947b55;}

/* Complex Plan */
.complex-plan .project-numbers{position: relative; z-index: 1; display: flex; align-items: center; width: 90%; max-width: 1000px; margin: auto; padding: 40px 0; background-color: #FFF; border: 1px solid #DDD; border-radius: 15px; box-shadow: 10px 10px 10px rgba(0,0,0,0.2);}
.complex-plan .project-numbers .item{width: 33.3333%; border-right: 1px solid #DDD; text-align: center;}
.complex-plan .project-numbers .item:last-child{border-right: none;}
.complex-plan .project-numbers .item strong{display: block; font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; font-size: 60px; font-weight: 900; color: var(--color);}
.complex-plan .project-numbers .item span{display: block; line-height: 1; font-size: 26px; font-weight: 700; color: var(--color);}
.complex-plan .project-numbers .item p{margin-top: 20px; font-size: 22px; font-weight: 500;}
.complex-plan .complex-map{max-width: 1160px; margin: -120px auto 0;}

/* Community */
.community-section{background: url(./images/sec08_community_bg.jpg) no-repeat center bottom #f9f7f6; background-size: 100% auto;}
.community-section .community-category{display: flex; justify-content: center; align-items: center; gap: 10px;}
.community-section .community-category button{width: 170px; line-height: 44px; border: 1px solid #DDD; background-color: #FFF; font-weight: 300; color: #7f7f7f; cursor: pointer; transition: 0.2s ease-in-out;}
.community-section .community-category button.on,
.community-section .community-category button:hover{background-color: var(--color); border: 1px solid var(--color);  font-weight: 600; color: #FFF;}
.community-section .community-content{max-width: 1000px; margin: 40px auto 0;}
.community-section .community-content .community-item{display: none;}
.community-section .community-content .community-item.on{display: flex; justify-content: space-between; animation: communityFadeIn 0.45s ease both;}
.community-section .community-content .community-item .text{width: calc(100% - 580px); margin-top: 40px;}
.community-section .community-content .community-item .text h3{font-size: 26px; font-weight: 700;}
.community-section .community-content .community-item .text h3::after{content: ''; display: block; width: 25px; height: 3px; background-color: var(--black); margin: 20px 0;}
.community-section .community-content .community-item .text .text-wrap p{font-weight: 300;}
.community-section .community-content .community-item .text .text-wrap p.copy-text{margin-bottom: 10px; font-size: 20px; font-weight: 700;}
.community-section .community-content .community-item .text .community-list{margin-top: 30px;}
.community-section .community-content .community-item .text .community-list li{position: relative; margin-bottom: 5px; padding-left: 15px; font-weight: 300;}
.community-section .community-content .community-item .text .community-list li:last-child{margin-bottom: 0;}
.community-section .community-content .community-item .text .community-list li::before{content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); display: block; width: 3px; height: 3px; background-color: var(--color);}
.community-section .community-content .community-item .text .community-list li em{font-weight: 700; color: var(--color); padding-right: 8px;}
.community-section .community-content .community-item .image{display: flex; flex-direction: column; gap: 10px; width: 500px;}
/* 콘텐츠 페이드인 */
@keyframes communityFadeIn {
  from {
      opacity: 0;
      transform: translateY(15px);
  }

  to {
      opacity: 1;
      transform: translateY(0);
  }
}

/* 모션 최소화 설정 */
@media (prefers-reduced-motion: reduce) {
  .community-section .community-item.on {
      animation: none;
  }
}

/* News */
.news-section .inner{padding: 140px 0 240px;}
.news-section .news-list{display: grid; grid-template-columns: repeat(5,1fr); gap: 30px;}
.news-section .news-list .thumb img{width: 100%; height: auto;}
.news-section .news-list .news-info{padding-top: 10px;}
.news-section .news-list .news-info time{font-size: 14px;}

/* Quick Menu */
.quick-menu{position: fixed; bottom: 0; left: 0; width: 100%; padding: 20px; background-color: #624933; z-index: 10; transform: translateY(0);}
.quick-menu .inner{display: flex; height: 100px; background-color: #f0e6e0; border: 1px solid #e6c894; box-shadow: 0 0 20px rgba(208,147,94,0.7);}
.quick-menu .contact-wrap{position: relative; display: flex; gap: 20px; width: 650px; height: 100%; padding-left: 30px;}
.quick-menu .contact-wrap a{display: flex; flex-direction: column; justify-content: center; padding-left: 40px;}
.quick-menu .contact-wrap a.quick-call{background: url(./images/quick_call_icon.png) no-repeat left center;}
.quick-menu .contact-wrap a.quick-sms{background: url(./images/quick_mail_icon.png) no-repeat left center;}
.quick-menu .contact-wrap a span{font-size: 16px;}
.quick-menu .contact-wrap a strong{font-size: 22px; font-weight: 800;}
.quick-menu .contact-wrap .counselor-img{position: absolute; right: -20px; bottom: 0; z-index: 1;}
.quick-menu .input-wrap{display: flex; align-items: center; width: calc(100% - 650px); background-color: #41352a;}
.quick-menu .input-wrap .text{width: 280px; padding-left: 40px;}
.quick-menu .input-wrap .text p{font-weight: 500; color: #FFF;}
.quick-menu .input-wrap .text p em{font-size: 24px; font-weight: 700;}
.quick-menu .input-wrap .quick-counsel-wrap{position: relative; width: calc(100% - 280px);}
.quick-menu .input-wrap .quick-counsel-form{position: relative; display: flex; align-items: center;}
.quick-menu .input-wrap .quick-counsel-form .quick-form-field{margin-right: 10px;}
.quick-menu .input-wrap .quick-counsel-form .wpcf7-not-valid-tip{display: none !important;}
.quick-menu .input-wrap .quick-counsel-form .quick-name{width: 140px;}
.quick-menu .input-wrap .quick-counsel-form .quick-phone{width: 240px;}
.quick-menu .input-wrap .quick-counsel-form .quick-form-field input{width: 100%; height: 60px; padding-left: 20px; border: none; border-radius: 5px; background-color: #675d55; font-weight: 600; color: #FFF;}
.quick-menu .input-wrap .quick-counsel-form .quick-form-field input::placeholder{color: #e6e5e4;}
.quick-menu .input-wrap .quick-counsel-form .quick-form-agreement .wpcf7-list-item{margin: 0;}
.quick-menu .input-wrap .quick-counsel-form .quick-form-agreement .wpcf7-list-item label{display: flex; align-items: center; gap: 8px;}
.quick-menu .input-wrap .quick-counsel-form .quick-form-agreement .wpcf7-list-item input{width: 18px; height: 18px;}
.quick-menu .input-wrap .quick-counsel-form .quick-form-agreement .wpcf7-list-item .wpcf7-list-item-label{color: #FFF;}
.quick-menu .input-wrap .quick-counsel-form .quick-form-submit{position: absolute; right: 20px;}
.quick-menu .input-wrap .quick-counsel-form .quick-form-submit input{width: 180px; height: 60px; font-weight: 700; border: none; border-radius: 5px; background-color: #e6c894; cursor: pointer;}
.quick-menu .input-wrap .quick-counsel-form .quick-form-submit .wpcf7-spinner{display: none !important;}
.quick-menu .wpcf7 form .wpcf7-response-output{position: absolute; right: 20px; top: -40px; margin: 0; border: none !important; background-color: #46b450; color: #FFF;}
.quick-menu .mo-btn{display: none;}

/* Popup */
.main-popup{position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(0, 0, 0, 0.65);}
.main-popup.is-open{display: flex;}
.main-popup-box{position: relative; display: flex; flex-direction: column; width: 100%; max-width: 450px; max-height: calc(100dvh - 40px); background: #fff; overflow: hidden;}

/* 슬라이더 바깥 영역 */
.popup-viewport{width: 100%; flex: 0 1 auto; min-height: 0; overflow: hidden;}

/* 슬라이더 이동 영역 */
.popup-slider{display: flex; width: 100%; transition: transform 0.4s ease; touch-action: pan-y;}

/* 개별 이미지 */
.popup-slide{flex: 0 0 100%; min-width: 0;}
.popup-slide img{display: block; width: 100%; height: auto; max-height: calc(100dvh - 120px); object-fit: contain;}

/* 이전 / 다음 버튼 */
.popup-navigation{position: absolute; top: 45%; left: 0; right: 0; display: flex; justify-content: space-between; padding: 0 10px; pointer-events: none;}

/* 하단 버튼 */
.popup-bottom{display: flex; flex-shrink: 0; width: 100%; background: #222;}
.popup-bottom button {flex: 1; padding: 15px 8px; border: none; background: transparent; color: #fff; font-size: 14px; cursor: pointer;}
.popup-bottom button + button{border-left: 1px solid #555;}
.popup-bottom button:hover{background: #444;}
.popup-navigation button{position: relative; display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(255,255,255,0.25); border-radius: 50%; background: rgba(0,0,0,0.4); color: #fff; cursor: pointer; pointer-events: auto; transition: background 0.3s ease;}
.popup-navigation button:hover{background: rgba(0,0,0,0.75);}

/* 화살표 아이콘 */
.popup-navigation button::after{content: ""; display: block; width: 10px; height: 10px; border-top: 2px solid #fff; border-right: 2px solid #fff;}

/* 이전 화살표 */
.popup-navigation .popup-prev::after{transform: translateX(2px) rotate(-135deg);}

/* 다음 화살표 */
.popup-navigation .popup-next::after{transform: translateX(-2px) rotate(45deg);}

@media screen and (max-width: 1729px){
.quick-menu .input-wrap .text{display: none;}
.quick-menu .input-wrap .quick-counsel-wrap{width: 100%; padding-left: 40px;}
.quick-menu .input-wrap .quick-counsel-form .quick-phone{width: 140px;}
}

@media screen and (max-width: 1399px){
body,p,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,th,td,form,fieldset,legend,input,textarea,button,select,table,a,p{font-size: 16px;}
/* Header */
header .inner{height: 80px; width: 94%;}
header .site-logo img{height: 30px;}
header .header-contact a{line-height: 40px; padding: 0 25px 0 5px;}
header .header-contact a img{width: 30px;}
header .header-contact a strong{font-size: 20px;}

/* Footer */
footer .footer-info{width: calc(100% - 320px);}
footer .footer-contact p{padding: 2px 15px; font-size: 20px;}
footer .footer-contact a{font-size: 36px;}

/* Common */
section .inner{padding: 100px 0;}
.section-title{margin-bottom: 60px;}
.section-title .en-text{height: 28px;}
.section-title h2{margin-top: -15px; font-size: 36px;}
.section-title h2::after{margin: 25px auto;}
.section-title .desc{font-size: 18px;}

/* Main Visual */
.main-visual .visual-contact{left: 4%;}
.main-visual .visual-contact p{padding: 2px 15px; font-size: 20px;}
.main-visual .visual-contact a{font-size: 36px;}

/* Location */
.project-summary .summary-list{gap: 25px;}
.project-summary .summary-list .summary-item .text span{font-size: 14px;}
.project-summary .summary-list .summary-item .text h3{margin: 10px 0; font-size: 18px;}
.project-summary .summary-list .summary-item .text p{font-size: 14px;}
.project-summary .summary-list .summary-item .text p br{display: none;}

/* Premium */
.project-features .feature-list{gap: 120px;}
.project-features .feature-list .feature-item .text{padding-left: 60px;}
.project-features .feature-list .feature-item .text span{font-size: 14px;}
.project-features .feature-list .feature-item .text h3{margin: 10px 0 20px; font-size: 24px;}
.project-features .feature-list .feature-item .text p{font-size: 16px;}
.project-features .feature-list .feature-item .deco-text{left: 10%;}
.project-features .feature-list .feature-item .image{width: 50%;}

/* Youtube List */
.youtube-list-section .youtube-list{gap: 25px;}

/* counsel */
.counsel-section .counsel-form-wrap .form-row > p{font-size: 20px;}
.counsel-section .counsel-form-wrap .form-row > .form-field input{height: 50px;}
.counsel-section .counsel-form-wrap .form-submit input{height: 60px;}

/* Complex Plan */
.complex-plan .project-numbers{padding: 35px 0;}
.complex-plan .project-numbers .item strong{font-size: 50px;}
.complex-plan .project-numbers .item span{font-size: 24px;}
.complex-plan .project-numbers .item p{margin-top: 15px; font-size: 20px;}
.complex-plan .complex-map{margin: -100px auto 0;}

/* Community */
.community-section .section-title .en-text{height: 37px;}

/* News */
.news-section .inner{padding: 100px 0 200px;}
.news-section .news-list{gap: 20px;}

/* Quick Menu */
.quick-menu .contact-wrap{width: auto; padding-left: 0;}
.quick-menu .contact-wrap a{display: none;}
.quick-menu .contact-wrap .counselor-img{width: 263px; right: auto; left: 20px;}
.quick-menu .input-wrap{width: 100%; padding-left: 280px;}
}

@media screen and (max-width: 1023px){
section .inner{padding: 80px 0;}
.section-title{margin-bottom: 40px;}
.main-visual .visual-contact{bottom: 20px;}
.project-summary .summary-list{gap: 20px;}
.project-summary .summary-list .summary-item{border-radius: 10px;}
.project-features .feature-list{gap: 100px;}
.project-features .feature-list .feature-item{gap: 40px;}
.project-features .feature-list .feature-item .text{width: calc(50% - 40px); padding-left: 0;}
.project-features .feature-list .feature-item .deco-text{font-size: 60px;}
.youtube-list-section .youtube-list{gap: 20px;}
.youtube-list-section .youtube-list li a::after{width: 40px; height: 40px;}
.counsel-section .counsel-form-wrap{border-radius: 15px;}
.community-section .community-content .community-item.on{gap: 40px;}
.community-section .community-content .community-item .image{width: 50%;}
.community-section .community-content .community-item .text{width: calc(50% - 40px);}
.news-section .inner{padding: 80px 0;}
.news-section .news-list{gap: 15px;}
.quick-menu{padding: 10px;}
.quick-menu .inner{height: 80px;}
.quick-menu .contact-wrap .counselor-img{width: 140px;}
.quick-menu .input-wrap .quick-counsel-form .quick-form-field input{height: 45px; font-size: 14px;}
.quick-menu .input-wrap .quick-counsel-form .quick-form-submit input{width: 140px; height: 45px;}
.quick-menu .input-wrap{padding-left: 130px;}
.quick-menu .input-wrap .quick-counsel-form .quick-name,
.quick-menu .input-wrap .quick-counsel-form .quick-phone{width: 120px;}
.quick-menu .input-wrap .quick-counsel-form .quick-form-agreement .wpcf7-list-item .wpcf7-list-item-label{font-size: 13px;}
}

@media screen and (max-width: 767px){
body, p, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, table, th, td, form, fieldset, legend, input, textarea, button, select, table, a, p{font-size: 14px;}
header .inner{height: 68px;}
header .site-logo img{height: 24px;}
header .header-contact a{line-height: 34px; padding: 0 15px;}
header .header-contact a img{display: none;}
header .header-contact a strong{font-size: 15px;}
/*.floating-btn{right: auto; top: auto; left: 0; bottom: 0; transform: translateY(0); flex-direction: row; width: 100%; gap: 0; box-shadow: 0 -10px 10px rgba(0, 0, 0, 0.2);}
.floating-btn a{width: 33.3333%; height: 48px; border-radius: 0; border-right: 1px solid #ddd; background-color: #FFF; box-shadow: none;}
.floating-btn a:last-child{border-right: none;}
.floating-btn a p{color: var(--black); font-size: 14px; font-weight: 500;}
.floating-btn a p br{display: none;}*/
.floating-btn{right: 4%;}
.floating-btn a{width: 55px; height: 55px;}
.floating-btn a p{font-size: 14px; font-weight: 500;}
.main-visual .visual-bg .mo{display: block;}
.main-visual .visual-bg .pc{display: none;}
.main-visual .visual-contact p{font-size: 18px;}
.main-visual .visual-contact a{font-size: 30px;}
section .inner{padding: 60px 0;}
.section-title{margin-bottom: 30px;}
.section-title .en-text{height: 24px;}
.section-title h2{font-size: 30px;}
.section-title .desc{font-size: 16px;}
.project-summary .summary-list{flex-wrap: wrap; gap: 10px;}
.project-summary .summary-list .summary-item{width: calc(50% - 5px);}
.project-summary .summary-list .summary-item .text span{font-size: 13px;}
.project-summary .summary-list .summary-item .text h3{font-size: 16px;}
.project-features .feature-list{gap: 40px;}
.project-features .feature-list .feature-item{flex-direction: column; gap: 20px;}
.project-features .feature-list .feature-item:nth-child(odd) .text{order: 2;}
.project-features .feature-list .feature-item:nth-child(odd) .image{order: 1;}
.project-features .feature-list .feature-item .image{width: 100%; border-radius: 10px;}
.project-features .feature-list .feature-item .text{width: 100%;}
.project-features .feature-list .feature-item .deco-text{display: none;}
.project-features .feature-list .feature-item .text span{font-size: 13px;}
.project-features .feature-list .feature-item .text h3{font-size: 20px; margin: 10px 0 15px;}
.youtube-list-section .youtube-list{grid-template-columns: repeat(2,1fr); gap: 10px;}
.counsel-section .counsel-form-wrap{padding: 30px;}
.counsel-section .counsel-form-wrap .form-row > p{font-size: 16px; width: 70px;}
.counsel-section .counsel-form-wrap .form-row > .form-field{width: calc(100% - 70px);}
.counsel-section .counsel-form-wrap .form-agreement .wpcf7-list-item label{gap: 4px;}
.counsel-section .counsel-form-wrap .form-agreement .wpcf7-list-item input{width: 16px; height: 16px;}
.counsel-section .counsel-form-wrap .form-agreement{flex-direction: column; align-items: flex-start; gap: 10px;}
.counsel-section .counsel-form-wrap .form-agreement > p button{font-size: 14px;}
.counsel-section .counsel-form-wrap .form-submit{margin-top: 30px;}
.counsel-section .counsel-form-wrap .form-submit input{border-radius: 5px; height: 50px;}
.complex-plan .project-numbers .item strong{font-size: 26px;}
.complex-plan .project-numbers .item span{font-size: 14px;}
.complex-plan .project-numbers .item p{margin-top: 10px; font-size: 16px;}
.complex-plan .project-numbers{border-radius: 10px; padding: 20px 0;}
.complex-plan .complex-map{margin: -30px auto 0;}
.community-section .section-title .en-text{height: 32px;}
.community-section .community-category{gap: 5px;}
.community-section .community-category button{width: 25%; line-height: 38px;}
.community-section .community-content{margin: 30px auto 0;}
.community-section .community-content .community-item.on{flex-direction: column; gap: 20px;}
.community-section .community-content .community-item .image{order: 1; width: 100%;}
.community-section .community-content .community-item .text{order: 2; width: 100%; margin-top: 0;}
.community-section .community-content .community-item .text h3{font-size: 22px;}
.community-section .community-content .community-item .text h3::after{margin: 15px 0;}
.community-section .community-content .community-item .text .text-wrap p.copy-text{font-size: 18px;}
.community-section .community-content .community-item .text .community-list{margin-top: 20px;}
.news-section .inner{padding: 60px 0 160px;}
.news-section .news-list{grid-template-columns: repeat(3,1fr); gap: 10px;}
.privacy-modal-header{padding: 10px 20px;}
.privacy-modal-body > p,
.privacy-modal-body dt,
.privacy-modal-body dd{font-size: 14px;}
.privacy-confirm{height: 50px;}
footer{padding: 25px 0;}
footer .inner{flex-direction: column; align-items: flex-start; gap: 30px}
footer .footer-info{width: auto;}
footer .footer-contact{width: auto; text-align: left;}
footer .footer-contact p{font-size: 18px;}
footer .footer-contact a{font-size: 30px;}
.quick-menu .input-wrap .quick-counsel-wrap{display: none;}
.quick-menu .input-wrap{position: relative;}
.quick-menu .mo-btn{position: absolute; right: 20px; display: block; text-align: center; background-color: #e6c894; border-radius: 5px; cursor: pointer; width: 160px; height: 45px;}
.quick-menu .mo-btn p{line-height: 45px; font-size: 16px; font-weight: 700;}

}


/* =====================================================
   LATEST NEWS PAGE
===================================================== */

.latest-news-page {
  width: 100%;
  min-height: 70vh;
  background: #fff;
  color: #222;
}

.latest-news-page .inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-left: 30px;
  padding-right: 30px;
  box-sizing: border-box;
}

/* =====================================================
 PAGE HEADER
===================================================== */

.latest-news-header {
  padding: 160px 0 85px;
  text-align: center;
  background: #f8f8f8;
}

.latest-news-header h1 {
  margin: 0;
  font-size: 46px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.045em;
  color: #222;
  word-break: keep-all;
}

/* =====================================================
 CONTENT AREA
===================================================== */

.latest-news-content {
  padding: 100px 0 140px;
}

.latest-news-content .news-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 55px 24px;

  margin: 0;
  padding: 0;
  list-style: none;
}

.latest-news-content .news-item {
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.latest-news-content .news-item > a {
  display: block;
  width: 100%;
  text-decoration: none;
  color: inherit;
}

/* =====================================================
 THUMBNAIL
===================================================== */

.latest-news-content .thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;

  margin: 0;
  overflow: hidden;

  background: #f3f3f3;
  border-radius: 4px;
}

.latest-news-content .thumb img {
  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transition: transform 0.6s ease;
}

@media (hover: hover) {
  .latest-news-content .news-item:hover .thumb img {
      transform: scale(1.06);
  }
}

/* =====================================================
 NEWS INFORMATION
===================================================== */

.latest-news-content .news-info {
  padding-top: 20px;
}

.latest-news-content .news-info h2 {
  margin: 0 0 12px;

  font-size: 19px;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: -0.035em;
  color: #222;

  word-break: keep-all;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;

  transition: color 0.3s ease;
}

@media (hover: hover) {
  .latest-news-content .news-item:hover .news-info h2 {
      color: #a68a60;
  }
}

.latest-news-content .news-info time {
  display: block;

  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  color: #999;
}

/* 키보드 접근성 */
.latest-news-content .news-item > a:focus-visible {
  outline: 2px solid #a68a60;
  outline-offset: 5px;
  border-radius: 4px;
}

/* =====================================================
 PAGINATION
===================================================== */

.latest-news-content .pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;

  margin-top: 85px;
  text-align: center;
}

.latest-news-content .pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 42px;
  height: 42px;
  padding: 0 10px;

  box-sizing: border-box;
  border: 1px solid #e5e5e5;
  border-radius: 3px;

  background: #fff;
  color: #666;

  font-size: 14px;
  font-weight: 500;
  line-height: 1;

  text-decoration: none;
  transition: all 0.25s ease;
}

.latest-news-content .pagination .page-numbers.current {
  background: #292929;
  border-color: #292929;
  color: #fff;
}

.latest-news-content .pagination a.page-numbers:hover {
  background: #292929;
  border-color: #292929;
  color: #fff;
}

.latest-news-content .pagination .page-numbers.dots {
  border: 0;
  background: transparent;
  color: #999;
}

/* =====================================================
 EMPTY MESSAGE
===================================================== */

.latest-news-content .inner > p {
  margin: 0;
  padding: 90px 0;
  text-align: center;

  font-size: 17px;
  color: #888;
}

/* =====================================================
 TABLET
===================================================== */

@media (max-width: 1200px) {

  .latest-news-page .inner {
      padding-left: 25px;
      padding-right: 25px;
  }

  .latest-news-header {
      padding: 145px 0 70px;
  }

  .latest-news-header h1 {
      font-size: 38px;
  }

  .latest-news-content {
      padding: 80px 0 110px;
  }

  .latest-news-content .news-list {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 45px 20px;
  }

  .latest-news-content .news-info h2 {
      font-size: 18px;
  }
}

/* =====================================================
 MOBILE
===================================================== */

@media (max-width: 767px) {

  .latest-news-page .inner {
      padding-left: 16px;
      padding-right: 16px;
  }

  .latest-news-header {
      padding: 115px 0 50px;
  }

  .latest-news-header h1 {
      font-size: 27px;
      line-height: 1.45;
      letter-spacing: -0.05em;
  }

  .latest-news-content {
      padding: 50px 0 85px;
  }

  .latest-news-content .news-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 35px 12px;
  }

  .latest-news-content .thumb {
      border-radius: 3px;
  }

  .latest-news-content .news-info {
      padding-top: 12px;
  }

  .latest-news-content .news-info h2 {
      margin-bottom: 7px;

      font-size: 14px;
      font-weight: 600;
      line-height: 1.5;
      letter-spacing: -0.035em;
  }

  .latest-news-content .news-info time {
      font-size: 12px;
  }

  .latest-news-content .pagination {
      gap: 5px;
      margin-top: 55px;
  }

  .latest-news-content .pagination .page-numbers {
      min-width: 34px;
      height: 34px;
      padding: 0 7px;
      font-size: 12px;
  }

  .latest-news-content .inner > p {
      padding: 60px 0;
      font-size: 14px;
  }
}

/* =====================================================
 SMALL MOBILE
===================================================== */

@media (max-width: 359px) {

  .latest-news-header h1 {
      font-size: 24px;
  }

  .latest-news-content .news-list {
      gap: 28px 10px;
  }

  .latest-news-content .news-info h2 {
      font-size: 13px;
  }
}

/* =====================================================
 REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion: reduce) {

  .latest-news-content .thumb img,
  .latest-news-content .news-info h2,
  .latest-news-content .pagination .page-numbers {
      transition: none;
  }
}


/* =====================================================
   SINGLE POST PAGE
===================================================== */

.single-page {
  width: 100%;
  min-height: 70vh;
  background: #fff;
  color: #222;
}

.single-page,
.single-page * {
  box-sizing: border-box;
}

.single-page .inner {
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 30px;
}

/* =====================================================
 SINGLE HEADER
===================================================== */

.single-page .single-header {
  padding: 160px 0 85px;
  background: #f8f8f8;
  text-align: center;
}

.single-page .single-header h1 {
  margin: 0;

  font-size: 44px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.045em;
  color: #222;

  word-break: keep-all;
  overflow-wrap: break-word;
}

.single-page .single-header time {
  display: block;
  margin-top: 20px;

  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  color: #888;
}

/* =====================================================
 SINGLE CONTENT
===================================================== */

.single-page .single-content {
  padding: 90px 0 130px;
}

.single-page .single-content .inner {
  max-width: 1060px;
}

/* =====================================================
 FEATURED IMAGE
===================================================== */

.single-page .single-thumbnail {
  width: 100%;
  margin: 0 0 60px;
  text-align: center;
}

.single-page .single-thumbnail img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

/* =====================================================
 ENTRY CONTENT
===================================================== */

.single-page .entry-content {
  width: 100%;

  font-size: 17px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: -0.025em;
  color: #444;

  overflow-wrap: break-word;
  word-break: keep-all;
}

.single-page .entry-content > *:first-child {
  margin-top: 0;
}

.single-page .entry-content > *:last-child {
  margin-bottom: 0;
}

/* Paragraph */
.single-page .entry-content p {
  margin: 0 0 24px;
}

/* Headings */
.single-page .entry-content h2 {
  margin: 60px 0 22px;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
  color: #222;
}

.single-page .entry-content h3 {
  margin: 45px 0 18px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
  color: #222;
}

.single-page .entry-content h4 {
  margin: 35px 0 16px;
  font-size: 20px;
  font-weight: 600;
  color: #222;
}

/* Images */
.single-page .entry-content img {
  max-width: 100%;
  height: auto;
}

.single-page .entry-content figure {
  max-width: 100%;
  margin: 35px 0;
}

.single-page .entry-content .wp-block-image img {
  display: block;
  height: auto;
}

.single-page .entry-content figcaption {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.6;
  color: #999;
  text-align: center;
}

/* Lists */
.single-page .entry-content ul,
.single-page .entry-content ol {
  margin: 20px 0 30px;
  padding-left: 26px;
}

.single-page .entry-content li {
  margin-bottom: 8px;
}

/* Links */
.single-page .entry-content a {
  color: #9b7b54;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Quotes */
.single-page .entry-content blockquote {
  margin: 35px 0;
  padding: 25px 30px;
  border-left: 3px solid #a68a60;
  background: #f8f8f8;
  color: #555;
}

/* Tables */
.single-page .entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
}

.single-page .entry-content th,
.single-page .entry-content td {
  padding: 14px 16px;
  border: 1px solid #ddd;
  text-align: left;
}

.single-page .entry-content th {
  background: #f7f7f7;
  font-weight: 600;
}

/* Embedded media */
.single-page .entry-content iframe,
.single-page .entry-content video {
  max-width: 100%;
}

/* =====================================================
 BOTTOM / BACK TO LIST
===================================================== */

.single-page .single-bottom {
  display: flex;
  align-items: center;
  justify-content: center;

  margin-top: 85px;
  padding-top: 45px;
  border-top: 1px solid #e8e8e8;
}

.single-page .single-bottom a {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 180px;
  min-height: 52px;
  padding: 14px 30px;

  border: 1px solid #292929;
  border-radius: 3px;

  background: #fff;
  color: #292929;

  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;

  transition:
      background 0.3s ease,
      color 0.3s ease,
      border-color 0.3s ease;
}

.single-page .single-bottom a:hover {
  background: #292929;
  border-color: #292929;
  color: #fff;
}

.single-page .single-bottom a:focus-visible {
  outline: 2px solid #a68a60;
  outline-offset: 4px;
}

/* =====================================================
 TABLET
===================================================== */

@media (max-width: 1024px) {

  .single-page .inner {
      padding-left: 25px;
      padding-right: 25px;
  }

  .single-page .single-header {
      padding: 145px 0 70px;
  }

  .single-page .single-header h1 {
      font-size: 36px;
  }

  .single-page .single-content {
      padding: 75px 0 100px;
  }

  .single-page .single-thumbnail {
      margin-bottom: 50px;
  }

  .single-page .entry-content {
      font-size: 16px;
  }

  .single-page .entry-content h2 {
      font-size: 27px;
  }

  .single-page .entry-content h3 {
      font-size: 22px;
  }
}

/* =====================================================
 MOBILE
===================================================== */

@media (max-width: 767px) {

  .single-page .inner {
      padding-left: 16px;
      padding-right: 16px;
  }

  .single-page .single-header {
      padding: 115px 0 50px;
  }

  .single-page .single-header h1 {
      font-size: 26px;
      line-height: 1.45;
      letter-spacing: -0.045em;
  }

  .single-page .single-header time {
      margin-top: 14px;
      font-size: 13px;
  }

  .single-page .single-content {
      padding: 45px 0 85px;
  }

  .single-page .single-thumbnail {
      margin-bottom: 35px;
  }

  .single-page .entry-content {
      font-size: 15px;
      line-height: 1.85;
  }

  .single-page .entry-content p {
      margin-bottom: 18px;
  }

  .single-page .entry-content h2 {
      margin: 40px 0 16px;
      font-size: 23px;
  }

  .single-page .entry-content h3 {
      margin: 32px 0 14px;
      font-size: 20px;
  }

  .single-page .entry-content h4 {
      margin: 28px 0 12px;
      font-size: 17px;
  }

  .single-page .entry-content figure {
      margin: 25px 0;
  }

  .single-page .entry-content figcaption {
      font-size: 12px;
  }

  .single-page .entry-content blockquote {
      padding: 20px;
      font-size: 14px;
  }

  .single-page .entry-content th,
  .single-page .entry-content td {
      padding: 10px;
      font-size: 13px;
  }

  .single-page .single-bottom {
      margin-top: 55px;
      padding-top: 30px;
  }

  .single-page .single-bottom a {
      min-width: 150px;
      min-height: 46px;
      padding: 11px 24px;
      font-size: 14px;
  }
}

/* =====================================================
 SMALL MOBILE
===================================================== */

@media (max-width: 359px) {

  .single-page .single-header h1 {
      font-size: 23px;
  }

  .single-page .entry-content {
      font-size: 14px;
  }
}

/* =====================================================
 REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion: reduce) {

  .single-page .single-bottom a {
      transition: none;
  }
}
