@charset "utf-8";

.overview-wrap .overview-visual img {width:100%; height:auto; vertical-align:top;}
.info-board {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-info-gap); margin-top:var(--space-40);}
.info-list {margin:0;}
.info-list .row {display:flex; gap:var(--space-24); align-items:flex-start; padding: var(--space-40) 0; border-bottom:1px solid #ddd;}
.info-list dt {flex:0 0 77px; font-size:var(--font-size-20); font-weight:700; line-height:1.3em; color:var(--dark-color);}
.info-list dd {flex:1 1 auto; font-size:var(--font-size-18); font-weight:400; line-height:1.4444em; color:#454545;}
.info-notice {margin-top:var(--space-60); font-size:var(--font-size-14); font-weight:400; line-height:1.7143em; color:#999;}

.constructor-intro {text-align:center;}
.constructor-intro .intro-tit {font-size:var(--font-size-44); font-weight:700; line-height:1.2727em; color:var(--dark-color);}
.constructor-intro .intro-tit .point {color:var(--secondary-color);}
.constructor-intro .intro-txt {margin-top:var(--space-40);}
.constructor-intro .intro-txt .lead {font-size:var(--font-size-18); font-weight:600; line-height:1.6667em; color:var(--dark-color);}
.constructor-intro .intro-txt .desc {margin-top:var(--space-16); font-size:var(--font-size-18); font-weight:400; line-height:1.5556em; color:#454545;}
.constructor-intro .intro-line {display:block; width:1px; height:var(--space-80); margin:var(--space-40) auto; background:linear-gradient(180deg, var(--primary-color) 0%, #aac6f0 91.875%);}
.constructor-logo-box {position:relative; display:flex; align-items:center; justify-content:center; height:250px; background:var(--primary-color);}
.constructor-logo-box:before {content:""; position:absolute; inset:var(--space-20); border:1px solid rgba(255,255,255,0.5); pointer-events:none;}
.portfolio-grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-40); margin-top:var(--space-80); list-style:none; padding:0;}
.portfolio-grid .tit {display:flex; align-items:center; justify-content:center; min-height:48px; padding:var(--space-10); background:var(--primary-color); color:#fff; font-size:var(--font-size-18); font-weight:600; line-height:1.5556em; text-align:center;}

.location-full img {width:100%; height:auto; vertical-align:top;}

.premium-sub-head {text-align:center;}
.premium-sub-head .head-tit {font-size:var(--font-size-44); font-weight:700; line-height:1.3636em; color:var(--dark-color);}
.premium-sub-head .head-desc {margin-top:var(--space-40); font-size:var(--font-size-18); font-weight:400; line-height:1.6667em; color:#454545;}
.premium-sub-head .head-desc strong {font-weight:600; color:var(--dark-color);}
.premium-sub-head .intro-line {display:block; width:1px; height:var(--space-80); margin:var(--space-40) auto 0; background:linear-gradient(180deg, var(--primary-color) 0%, #aac6f0 91.875%);}
.premium-sub-list {margin:var(--space-100) 0 0; padding:0; list-style:none;}
.premium-sub-list .premium-sub-item {display:flex; align-items:center; justify-content:space-between; gap:clamp(40px, calc(88 / var(--inner) * 100vw), 88px);}
.premium-sub-list .premium-sub-item+.premium-sub-item {margin-top:var(--space-100);}
.premium-sub-list .premium-sub-item.reverse {flex-direction:row-reverse;}
.premium-sub-list .media {max-width:660px; width: 47.2%;}
.premium-sub-list .media img {width:100%; height:100%; object-fit:cover;}
.premium-sub-list .body {flex:1 1 auto; max-width:660px;}
.premium-sub-list .head {display:flex; align-items:center; gap:var(--space-32);}
.premium-sub-list .head .line {flex:1 1 auto; height:1px; background:#dee2f2;}
.premium-sub-list .head .en {font-family:'Poppins',sans-serif; font-size:var(--font-size-18); font-weight:400; line-height:1.5556em; letter-spacing:0.1em; color:var(--primary-color); white-space:nowrap;}
.premium-sub-list .txt {margin-top:var(--space-64);}
.premium-sub-list .txt .label {font-family:'Poppins',sans-serif; font-size:var(--font-size-18); font-weight:400; line-height:1.5556em; letter-spacing:0.2em; color:var(--primary-color);}
.premium-sub-list .txt .tit {margin-top:var(--space-40); font-size:var(--font-size-36); font-weight:700; line-height:1.2778em; color:var(--dark-color); letter-spacing:-0.03em;}
.premium-sub-list .txt .desc {display:flex; align-items:center; gap:var(--space-16); margin-top:var(--space-64); font-size:var(--font-size-16); line-height:1.625em; color:#454545;}
.premium-sub-list .txt .desc strong {font-size:var(--font-size-24); font-weight:600; line-height:1.4167em; color:var(--dark-color); white-space:nowrap;}

.directions-page {display:flex; align-items:center; gap:clamp(40px, calc(80 / var(--inner) * 100vw), 80px);}
.directions-page .direction-map {width: 50%; height: clamp(280px, calc(490 / var(--inner) * 100vw), 490px);}
.directions-page .info-box {flex:1 1 auto;}
.directions-page .loc-title {display:flex; align-items:center; gap:var(--space-16);}
.directions-page .loc-title .icon {display:flex; align-items:center; justify-content:center; padding: 8px;border-radius:100px; background:#f4f4f4;}
.directions-page .loc-title h3 {font-size:var(--font-size-32); font-weight:700; line-height:1.3125em; color:var(--dark-color);}
.directions-page .addr-row {display:flex; gap:var(--space-24); margin-top:var(--space-40); font-size:var(--font-size-18); line-height:1.5556em;}
.directions-page .addr-row dt {flex:0 0 auto; font-weight:700; color:var(--dark-color);}
.directions-page .addr-row dd {color:#454545;}
.directions-page .btn-naver {display:inline-flex; align-items:center; gap:var(--space-16); margin-top:var(--space-40); padding:var(--space-18) var(--space-40); background:#02c95a; color:#fff; font-size:var(--font-size-16); font-weight:600; line-height:1.625em;}
.directions-page .btn-naver img {width:20px; height:20px;}

.root_daum_roughmap .wrap_map,
.root_daum_roughmap,
.direction-map iframe {width:100% !important; height:100% !important;}

.sub-intro {text-align:center;}
.sub-intro .intro-tit {font-size:var(--font-size-44); font-weight:700; line-height:1.2727em; color:var(--dark-color);}
.sub-intro .intro-tit .point {color:var(--secondary-color);}
.sub-intro .intro-tit.en {font-family:'Poppins',sans-serif; letter-spacing:0.02em;}
.sub-intro .intro-txt {margin-top:var(--space-40); font-size:var(--font-size-18); font-weight:400; line-height:1.6667em; color:#454545;}
.sub-intro .intro-txt .strong {font-weight:600; color:var(--dark-color);}
.sub-intro .intro-lead {margin-top:var(--space-40); font-size:var(--font-size-18); font-weight:600; line-height:1.6667em; color:var(--dark-color);}
.sub-intro .intro-line {display:block; width:1px; height:var(--space-80); margin:var(--space-40) auto 0; background:linear-gradient(180deg, var(--primary-color) 0%, #aac6f0 91.875%);}
.sub-intro + .photo-grid {margin-top:var(--space-40);}
.sub-intro + .smart-grid {margin:var(--space-60) 0;}
.sub-intro + .community-block {margin-top:var(--space-40);}

.layout-full img {width:100%; max-width:1200px; height:auto; margin:0 auto; display:block; vertical-align:top;}

.photo-grid {display:grid; gap:var(--space-40); margin:0; padding:0; list-style:none;}
.photo-grid.cols3 {grid-template-columns:repeat(3, 1fr);}
.photo-grid.cols2 {grid-template-columns:repeat(2, 1fr);}
.photo-grid .thumb {height:300px; overflow:hidden;}
.photo-grid .thumb img {width:100%; height:100%; object-fit:cover;}
.photo-grid .tit {display:flex; align-items:center; justify-content:center; min-height:48px; padding:var(--space-10); background:var(--primary-color); color:#fff; font-size:var(--font-size-18); font-weight:600; line-height:1.5556em; text-align:center;}
.landscape-wrap .photo-grid.cols3 {margin-top:0;}
.landscape-section {margin-top:var(--space-120);}
.landscape-section .section-tit {margin-bottom:var(--space-60); font-size:var(--font-size-32); font-weight:700; line-height:1.5em; color:var(--dark-color); text-align:center;}
.landscape-wrap .info-notice {margin-top:var(--space-40);}

.community-wrap .community-block+.community-block {margin-top:var(--space-120);}
.community-wrap .plan-box {height:clamp(400px, calc(800 / var(--inner) * 100vw), 800px); border:1px solid #ddd; overflow:hidden; background:#fff;}
.community-wrap .plan-box img {width:100%; height:100%; object-fit:contain;}
.community-wrap .legend-box {padding:var(--space-60) var(--space-legend-x); background:#f4f4f4;}
.community-wrap .legend-grid {display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-40); max-width:836px; margin:0 auto; padding:0; list-style:none;}
.community-wrap .legend-grid li {display:flex; align-items:center; gap:var(--space-10);}
.community-wrap .legend-grid .num {display:flex; align-items:center; justify-content:center; flex:0 0 24px; width:24px; height:24px; border-radius:100px; background:var(--primary-color); color:#fff; font-size:var(--font-size-16); font-weight:600; line-height:1em;}
.community-wrap .legend-grid .label {font-size:var(--font-size-18); font-weight:400; line-height:1.5556em; color:#454545;}

.smart-grid {display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-32); margin:0; padding:0; list-style:none;}
.smart-grid li {display:flex; flex-direction:column; justify-content:space-between; gap:var(--space-24); padding:var(--space-32);}
.smart-grid li.dark {background:var(--primary-color); color:#fff;}
.smart-grid li.light {background:#f0f2fa; color:var(--dark-color);}
.smart-grid .head {display:flex; flex-direction:column; gap:var(--space-20);}
.smart-grid .badge {display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; padding:var(--space-4) var(--space-16); border-radius:100px; font-size:var(--font-size-15); font-weight:600; line-height:1.5333em;}
.smart-grid li.dark .badge {background:rgba(255,255,255,0.2); color:rgba(255,255,255,0.64);}
.smart-grid li.light .badge {background:var(--primary-color); color:#fff;}
.smart-grid .tit {font-size:var(--font-size-20); font-weight:600; line-height:1.4em;}
.smart-grid .icon {display:flex; align-items:flex-end; justify-content:flex-end;}
.info-notice-list {margin-top:var(--space-40);}
.info-notice-list p {font-size:var(--font-size-14); font-weight:400; line-height:1.7143em; color:#999;}
.info-notice-list p+p {margin-top:var(--space-4);}

.agreement-list {display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-28); margin:0; padding:0; list-style:none;}
.agreement-list li {flex:0 0 clamp(280px, calc(448 / var(--inner) * 100vw), 448px); max-width:448px; border:1px solid #ddd; overflow:hidden;}
.agreement-list img {width:100%; height:auto; vertical-align:top;}

.floor-wrap .floor-unit {display:flex; gap:clamp(40px, calc(80 / var(--inner) * 100vw), 80px); align-items:flex-start;}
.floor-wrap .floor-unit+.floor-unit {margin-top:var(--space-120);}
.floor-wrap .floor-visual {flex:0 0 clamp(280px, calc(680 / var(--inner) * 100vw), 680px); max-width:680px;}
.floor-wrap .plan-main {display:flex; align-items:center; justify-content:center; height:526px; padding:var(--space-20); border:1px solid #ddd; background:#fff; overflow:hidden;}
.floor-wrap .plan-main img {max-width:100%; max-height:100%; object-fit:contain;}
.floor-wrap .plan-thumbs {display:flex; align-items:center; gap:var(--space-24); margin-top:var(--space-40);}
.floor-wrap .plan-nav {flex:0 0 36px; width:36px; height:36px; padding:0; border:0; background:none; cursor:pointer;}
.floor-wrap .plan-nav img {width:100%; height:auto;}
.floor-wrap .thumb-list {display:flex; flex:1 1 auto; gap:var(--space-10); min-width:0;}
.floor-wrap .thumb-btn {position: relative; flex:1 1 0; height:100px; padding:0; border: 0; background:#fff; overflow:hidden; cursor:pointer;}
.floor-wrap .thumb-btn:after {content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border:1px solid #ddd;}
.floor-wrap .thumb-btn.active:after {border:2px solid var(--primary-color);}
.floor-wrap .thumb-btn img {width:100%; height:100%; object-fit:contain;}
.floor-wrap .floor-info {flex:1 1 auto; max-width:640px;}
.floor-wrap .unit-tit {display:flex; align-items:center; justify-content:center; padding:var(--space-12) var(--space-10); background:var(--primary-color); color:#fff; font-size:var(--font-size-24); font-weight:600; line-height:2em; text-align:center;}
.floor-wrap .area-list {margin:var(--space-30) 0 0;}
.floor-wrap .area-list .row {display:flex; gap:var(--space-40); align-items:center; padding:var(--space-30) 0; border-bottom:1px solid #ddd;}
.floor-wrap .area-list dt {flex:0 0 104px; font-size:var(--font-size-20); font-weight:700; line-height:1.5em; color:var(--dark-color);}
.floor-wrap .area-list dd {font-size:var(--font-size-18); font-weight:400; line-height:1.5556em; color:#454545;}

.interior-wrap .interior-type+.interior-type {margin-top:var(--space-120);}
.interior-wrap .type-tit {margin-bottom:var(--space-60); font-size:var(--font-size-32); font-weight:700; line-height:1.5em; color:var(--dark-color); text-align:center;}
.interior-wrap .interior-grid {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-40); margin:0; padding:0; list-style:none;}
.interior-wrap .interior-grid .wide {grid-column:1 / -1;}
.interior-wrap .interior-grid .thumb {height:420px; overflow:hidden;}
.interior-wrap .interior-grid .thumb.tall {height:clamp(400px, calc(810 / var(--inner) * 100vw), 810px);}
.interior-wrap .interior-grid .thumb img {width:100%; height:100%; object-fit:cover;}
.interior-wrap .interior-grid .tit {display:flex; align-items:center; justify-content:center; min-height:48px; padding:var(--space-10); background:var(--primary-color); color:#fff; font-size:var(--font-size-18); font-weight:600; line-height:1.5556em; text-align:center;}

.emodel-wrap .emodel-tabs {max-width:1400px; margin:0 auto;}
.emodel-wrap .unit-tabs {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-8); margin-bottom:var(--space-64);}
.emodel-wrap .unit-tab {padding:var(--space-18) var(--space-40); border:1px solid #ddd; background:#fff; color:var(--dark-color); font-size:var(--font-size-16); font-weight:400; line-height:1.625em; cursor:pointer;}
.emodel-wrap .unit-tab.active {border-color:var(--primary-color); background:var(--primary-color); color:#fff;}
.emodel-wrap .room-tabs {margin-bottom:var(--space-64);}
.emodel-wrap .room-tabs .swiper {overflow:visible;}
.emodel-wrap .room-tabs .swiper ul li {width:auto; margin-right:var(--space-8);}
.emodel-wrap .room-tabs .swiper ul li a {display:block; padding:var(--space-12) var(--space-24); border:1px solid #ddd; background:#fff; color:var(--dark-color); font-size:var(--font-size-16); font-weight:400; line-height:1.5em;}
.emodel-wrap .room-tabs .swiper ul li.active a {border-color:var(--primary-color); background:var(--primary-color); color:#fff;}
.emodel-wrap .emodel-viewer {overflow:hidden; border:1px solid #ddd;}
.emodel-wrap .emodel-placeholder {display:flex; flex-direction:column; justify-content:center; height:100%; padding:var(--space-40); font-size:var(--font-size-16); line-height:1.625em; color:#454545;}
.emodel-wrap .emodel-placeholder p+p {margin-top:var(--space-16);}
.emodel-wrap .unit-panel {display:none;}
.emodel-wrap .unit-panel.active {display:block;}
.emodel-wrap .unit-panel iframe {display:block; width:100%; height:clamp(400px, calc(780 / var(--inner) * 100vw), 780px); border:0;}
.emodel-wrap .emodel-preview {width:100%; height:100%; object-fit:cover;}

.page-video .video-tab-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-8); margin-bottom:var(--space-64);}
.page-video .video-tab {padding:var(--space-18) var(--space-40); border:1px solid #ddd; background:#fff; color:var(--dark-color); font-size:var(--font-size-16); font-weight:400; line-height:1.625em; text-align:center; cursor:pointer;}
.page-video .video-tab.active {border-color:var(--primary-color); background:var(--primary-color); color:#fff;}
.page-video .video-panels {max-width:1200px; margin:0 auto;}
.page-video .video-player {display:none; overflow:hidden; aspect-ratio:16/9;}
.page-video .video-player.active {display:block;}
.page-video .video-player video,
.page-video .video-player iframe {width:100% !important; height:100% !important; object-fit:cover;}
.page-video .video-preview {width:100%; height:100%; object-fit:cover;}
