/* 기존 화면 구성 안에서 현장자료와 평면 구분을 연결합니다. */
.gran-content{background:#fff;color:#252421;padding:90px 28px 100px;font-family:'Noto Sans KR',sans-serif;box-sizing:border-box}
.gran-content *{box-sizing:border-box}
.gran-inner{width:100%;max-width:1200px;margin:0 auto}
.gran-heading{text-align:center;margin:0 0 46px}
.gran-heading p{font-family:Montserrat,sans-serif;font-size:12px;letter-spacing:4px;color:#a88a50;margin:0 0 16px}
.gran-heading h2{font-size:40px;font-weight:400;line-height:1.4;letter-spacing:-1.5px;margin:0}
.gran-lead{text-align:center;font-size:23px;line-height:1.8;font-weight:300;margin:0 0 42px;word-break:keep-all}
.gran-image-link{display:block;width:100%;margin:22px 0;text-decoration:none}
.gran-image-link img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain!important;padding:0!important;transform:none!important}
.gran-notice{border-top:1px solid #e6e2db;padding-top:22px;margin-top:38px;font-size:12px;color:#8a867f;line-height:1.8;word-break:keep-all}
.gran-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 55px;margin:50px 0}
.gran-block{border-left:2px solid #b8a078;padding-left:24px}
.gran-block h3{font-size:25px;margin:0 0 24px;font-weight:600}
.gran-block dl{display:grid;grid-template-columns:140px 1fr;gap:15px;margin:0;font-size:15px;line-height:1.7}
.gran-block dt{font-weight:500;color:#504b44}.gran-block dd{margin:0;color:#77736e;word-break:keep-all}
.gran-project-info{background:#282725;padding:25px 32px;color:#fff;line-height:1.9;font-size:15px}.gran-project-info p{margin:6px 0}.gran-project-info b{color:#d2c2a4;margin-right:15px;font-weight:500}
.gran-tabs,.gran-main-kinds,.gran-main-areas{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 22px}
.gran-tabs button,.gran-main-kinds button,.gran-main-areas button{border:1px solid #d9d4ca;background:#fff;padding:14px 24px;color:#6e685d;font:500 15px 'Noto Sans KR',sans-serif;cursor:pointer;line-height:1.4;word-break:keep-all}
.gran-tabs button[aria-selected="true"],.gran-tabs button.active,.gran-main-kinds button.active,.gran-main-areas button.active{background:#292825;border-color:#292825;color:#d2c2a4}
.gran-tabs button:focus-visible,.gran-main-kinds button:focus-visible,.gran-main-areas button:focus-visible{outline:2px solid #a88a50;outline-offset:3px}
.gran-kind-tabs{gap:0;margin-bottom:28px}.gran-kind-tabs button{min-width:170px;font-size:19px}
.gran-tab-panel[hidden]{display:none!important}
.gran-tab-panel>.gran-tabset{margin-top:24px}
.gran-plan-label{margin:30px 0 20px;text-align:center;font-size:23px;font-weight:500}
.gran-plan-link{display:block}.gran-plan-image{display:block;width:100%;height:auto;max-width:1100px;margin:0 auto;object-fit:contain}
.gran-image-hint{text-align:right;margin-top:12px;color:#8a867f;font-size:12px}
.gran-video{position:relative;aspect-ratio:16/9;background:#191919;margin:26px 0}
.gran-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gran-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gran-news-card{display:flex;flex-direction:column;padding:30px;border:1px solid #e4e1da;background:#fff;min-height:270px;color:#242320;text-decoration:none!important;transition:transform .2s}
.gran-news-card:hover{transform:translateY(-4px);border-color:#b8a078}.gran-news-card span{font-size:13px;color:#a88a50;margin-bottom:20px}.gran-news-card h3{font-size:19px;line-height:1.65;font-weight:500;margin:0 0 24px;word-break:keep-all}.gran-news-card time{font-size:12px;color:#99948c;margin-top:auto}.gran-news-card b{font-size:11px;font-weight:500;margin-top:12px;color:#a88a50}
#villiv-news-section>.gran-content{background:#f7f6f3;padding-top:0;padding-bottom:0}
.gran-main-kinds{justify-content:flex-start;width:100%;margin:8px 0 14px}.gran-main-kinds button{padding:12px 28px;font-size:17px;min-width:120px}
.gran-main-areas{justify-content:flex-start;margin:0 0 12px}.gran-main-areas button{font-size:12px;padding:8px 12px}
#planDesc,#mPlanDesc{white-space:pre-line}
#tabContainer,#mTabContainer{gap:6px;justify-content:flex-start;flex-wrap:wrap}
#tabContainer button{padding:10px 15px;font-size:14px;min-width:65px}
#planImg{max-height:520px;object-fit:contain}#mPlanImg{max-height:460px;object-fit:contain}
.uh-logo-img{width:245px!important;height:auto!important;max-height:36px!important;filter:brightness(0) invert(1)}
#uh-header.active .uh-logo-img,#uh-header.scrolled .uh-logo-img{filter:brightness(0) invert(1)}
#uh-header .uh-logo{min-width:220px}
.popup-slide img{object-fit:contain!important;width:100%;height:auto;max-height:72vh}
#rollingTrack .sr-interior-card img{object-fit:cover}#mRollingTrack .m-sr-interior-card img{object-fit:cover}
/* source imagery is used in both templates without stretching */
@media(max-width:1024px){
 .gran-content{padding:30px 20px 48px}.gran-heading{margin-bottom:28px}.gran-heading p{font-size:9px;letter-spacing:2.3px}.gran-heading h2{font-size:28px;letter-spacing:-1px}
 .gran-lead{font-size:18px;margin-bottom:26px}.gran-summary-grid{grid-template-columns:1fr;gap:32px;margin:32px 0}.gran-block{padding-left:16px}.gran-block h3{font-size:22px;margin-bottom:18px}.gran-block dl{grid-template-columns:112px 1fr;font-size:13px;gap:12px 8px}.gran-project-info{padding:20px;font-size:13px}.gran-notice{font-size:10px;margin-top:26px}
 .gran-tabs{gap:6px;margin-bottom:16px}.gran-tabs button{padding:11px 13px;font-size:12px}.gran-kind-tabs button{min-width:130px;font-size:16px}.gran-plan-label{font-size:18px;margin:22px 0 16px}.gran-image-link{margin:16px 0}.gran-news-grid{grid-template-columns:1fr;gap:14px}.gran-news-card{min-height:190px;padding:25px}.gran-news-card h3{font-size:17px}.gran-video{margin:20px 0}
 #uh-header .uh-logo{min-width:0!important}body #uh-header .uh-logo-img{height:auto!important;width:170px!important;max-width:43vw!important;max-height:26px!important}
 .gran-main-kinds{justify-content:center;margin:15px 0}.gran-main-kinds button{font-size:15px;padding:10px 20px;min-width:120px}.gran-main-areas{justify-content:center;gap:5px}.gran-main-areas button{font-size:14px;padding:10px 14px;min-height:44px;box-sizing:border-box}
 #mobile-unit-wrap .m-sr-tabs,#mTabContainer{justify-content:center;gap:5px}#mTabContainer button{padding:10px 16px;font-size:14px;min-height:44px;box-sizing:border-box}
 #m-prem-wrap .m-prem-slider{grid-template-columns:1fr!important}#m-prem-wrap .m-prem-card{min-height:0!important;padding:28px 24px!important}
 #mobile-main-wrap .m-bg-slide{background-position:center 70%!important}
 #mobile-main-wrap .m-hero-main{font-size:clamp(22px,6.4vw,36px)!important;line-height:1.5!important}#mobile-main-wrap .m-hero-main .highlight{white-space:nowrap}
 #mobile-footer .info-row{white-space:normal;align-items:flex-start}#mobile-footer .info-row span{overflow-wrap:anywhere}
 .ep-faq-fab{bottom:140px!important}
}
@media(max-width:1024px){
 .dh-builder>.section.mobile-hide{display:none!important}
 .dh-builder>.section.msection{display:block!important}
 .gran-content-slot.mobile-hide{display:none!important}
 .gran-content-slot.msection{display:block!important}
 #mobile-main-wrap .m-bg-item{background-position:center 70%!important}
}
@media(min-width:1025px){.gran-content-slot.msection{display:none!important}.gran-content-slot.mobile-hide{display:block!important}}

/* 20261020-r3: 뷰포트 크기의 메인, 대표 평면 한 장, 고정 UI */
.gran-content-slot,.gran-content,.gran-inner,.gran-plan-browser,.gran-tab-panel,.gran-image-link,.gran-plan-link{height:auto!important;max-height:none!important;overflow:visible!important}
.gran-image-link img,.gran-plan-image{height:auto!important;max-height:none!important;object-fit:contain!important;object-position:top center!important;transform:none!important}
#uh-wrapper{position:relative!important;width:100%!important;height:100vh!important;height:100svh!important;min-height:0!important;max-height:none!important;overflow:hidden!important}
#uh-wrapper .uh-slider-wrap{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important}
#uh-wrapper .uh-slide{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:none!important;transform:none!important;transition:none!important;opacity:1!important}
#uh-wrapper .gran-hero-original{display:block!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important;transform:none!important;aspect-ratio:auto!important}
#uh-wrapper .uh-hero-content{align-items:center!important;padding-top:0!important}
#uh-wrapper .uh-slider-dim{background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.18) 55%,transparent)!important}
.uh-logo-img{width:270px!important;height:auto!important;max-height:40px!important;image-rendering:auto}
#uh-header .uh-logo{min-width:245px}
@media(min-width:1025px){
 .sr-left{flex:0 0 48%!important;max-width:660px!important;min-width:0!important;align-items:stretch!important}
 .sr-content{gap:42px!important;align-items:center!important}
 #planImgWrap{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:460px!important;min-height:460px!important;max-height:460px!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:hidden!important}
 #planImg{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;min-height:0!important;object-fit:contain!important;object-position:center!important;background:transparent!important;transform:none!important;padding:0!important;margin:0!important}
 #planInfoWrap{height:110px!important;min-height:110px!important;max-height:110px!important;margin:16px 0 0!important}
 .gran-main-controls{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;margin:0!important;padding:0!important;align-self:stretch!important}
 .gran-main-controls>.gran-main-kinds,.gran-main-controls>.gran-main-areas,.gran-main-controls>#tabContainer{display:flex!important;flex:none!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-content:flex-start!important;align-items:flex-start!important;align-self:stretch!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;text-align:left!important;gap:8px!important}
 .gran-main-controls>.gran-main-kinds{height:52px!important;min-height:52px!important;margin-top:0!important;margin-bottom:12px!important}
 .gran-main-controls>.gran-main-areas{height:84px!important;min-height:84px!important;margin-top:0!important;margin-bottom:12px!important}
 .gran-main-controls>#tabContainer{height:96px!important;min-height:96px!important;margin-top:0!important;margin-bottom:0!important}
 #tabContainer button{padding:10px 15px!important;font-size:14px!important;line-height:1.4!important;min-width:0!important;height:42px!important;white-space:nowrap!important}
 #villiv-prem-section .villiv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1024px){
 .dh-builder>.section.mobile-hide,.gran-content-slot.mobile-hide{display:none!important}
 .dh-builder>.section.msection,.gran-content-slot.msection{display:block!important}
 #mobile-main-wrap{position:relative!important;width:100%!important;height:100vh!important;height:100svh!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;overflow:hidden!important}
 #mobile-main-wrap .m-bg-slider,#mobile-main-wrap .m-bg-item{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;background:none!important;transform:none!important;opacity:1!important;transition:none!important;overflow:hidden!important}
 #mobile-main-wrap .gran-hero-original{display:block!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important;transform:none!important;aspect-ratio:auto!important}
 #mobile-main-wrap .m-center-content{top:35%!important;left:0!important;transform:translateY(-50%)!important;width:100%!important;padding:0 20px!important}
 #mobile-main-wrap .m-bg-dim{background:linear-gradient(to bottom,rgba(0,0,0,.30),rgba(0,0,0,.08) 55%,transparent)!important}
 #mobile-unit-wrap .gran-main-controls{display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important}
 #mobile-unit-wrap .gran-main-kinds{justify-content:center!important;height:48px!important;min-height:48px!important;margin-top:14px!important;margin-bottom:14px!important}
 #mobile-unit-wrap .gran-main-areas{justify-content:center!important;align-content:flex-start!important;width:100%!important;height:96px!important;min-height:96px!important;margin-bottom:12px!important}
 #mobile-unit-wrap #mTabContainer{justify-content:center!important;align-content:flex-start!important;width:100%!important;height:100px!important;min-height:100px!important;gap:6px!important;margin-bottom:22px!important}
 #mobile-unit-wrap .m-sr-plan-wrap{padding-left:14px!important;padding-right:14px!important}
 #mobile-unit-wrap #mPlanImgWrap{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:clamp(300px,90vw,440px)!important;min-height:clamp(300px,90vw,440px)!important;max-height:clamp(300px,90vw,440px)!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;overflow:hidden!important}
 #mobile-unit-wrap #mPlanImg{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important;padding:0!important;transform:none!important}
 #mPlanInfoWrap{height:112px!important;min-height:112px!important;max-height:112px!important;margin-top:16px!important}
 body #uh-header .uh-logo{min-width:0!important}
 body #uh-header .uh-logo-img{width:185px!important;max-width:46vw!important;height:auto!important;max-height:28px!important}
 body #uh-header.scrolled{background:#fff!important;border-bottom:1px solid #e5e5e5!important;box-shadow:0 2px 12px rgba(0,0,0,.05)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 body #uh-header.scrolled .uh-logo-img{filter:none!important;-webkit-filter:none!important}
 body #uh-header.scrolled .uh-utils a,body #uh-header.scrolled #brownMobileMenuButton{color:#252421!important}
 body #uh-header.scrolled .uh-utils svg{stroke:#252421!important}
 body #uh-header.scrolled #brownMobileMenuButton .brown-menu-line{background:#252421!important;box-shadow:none!important}
}

/* 20261020-r4: 슬라이드 위치·버튼 간격·바로가기·모바일 메인 높이 */
@media(min-width:1025px){
 .sr-container{gap:20px!important}
 #planInfoWrap{height:98px!important;min-height:98px!important;max-height:98px!important;margin-top:12px!important}
 .gran-main-controls>.gran-main-kinds{height:46px!important;min-height:46px!important;margin-bottom:6px!important}
 .gran-main-controls>.gran-main-areas{height:76px!important;min-height:76px!important;margin-bottom:6px!important}
 .gran-main-controls>#tabContainer{height:92px!important;min-height:92px!important}
 .sr-right{transform:translateY(-16px)!important}
 .sr-bottom-links{margin-top:0!important;padding:0!important}
 .sr-link-item{font-size:18px!important;line-height:1.5!important;gap:9px!important}
 .sr-interior-card{width:480px!important;height:360px!important}
 .sr-interior-card img{object-fit:cover!important;transform:none!important}
}
@media(min-width:1280px){
 .gran-main-controls>.gran-main-areas{height:38px!important;min-height:38px!important}
 .gran-main-controls>#tabContainer{height:44px!important;min-height:44px!important}
}
@media(max-width:1024px){
 #mobile-main-wrap{height:min(140vw,640px)!important;height:min(140vw,calc(100svh - 66px),640px)!important;min-height:0!important;max-height:640px!important}
 #section_3366,#section_3366>.section-inner{min-height:0!important;height:auto!important;padding-top:0!important;padding-bottom:0!important}
 #mobile-main-wrap .m-center-content{top:34%!important}
}
@media(min-width:1025px){.sr-content{flex-direction:row!important}.gran-main-controls>.gran-main-kinds{height:50px!important;min-height:50px!important;margin-bottom:8px!important}}
.gran-interior-note{font:400 11px/1.7 'Noto Sans KR',sans-serif;color:#8a867f;margin:14px 0 0;word-break:keep-all}

/* Mobile-only adjustments: popup, hero text, unit controls, footer alignment. */
@media(max-width:1024px){
 #divpop-overlay .popup-wrap{width:min(90vw,380px)!important}
 #divpop-overlay .popup-figure{aspect-ratio:auto!important;height:auto!important;background:transparent!important;overflow:visible!important}
 #divpop-overlay #popupSlider{position:relative!important;width:100%!important;height:auto!important}
 #divpop-overlay .popup-slide{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:auto!important;background:transparent!important}
 #divpop-overlay .popup-slide:not(.active){display:none!important}
 #divpop-overlay .popup-slide img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;margin:0!important;padding:0!important}
 #mobile-main-wrap .m-center-content{top:48%!important}
 #mobile-unit-wrap .gran-main-areas{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;max-width:360px!important;height:148px!important;min-height:148px!important;margin:0 auto 14px!important;align-content:start!important}
 #mobile-unit-wrap .gran-main-areas button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;height:44px!important;padding:10px 12px!important;font-size:13px!important;line-height:1.4!important;white-space:nowrap!important;box-sizing:border-box!important}
 #mobile-unit-wrap #mTabContainer{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important;max-width:360px!important;height:148px!important;min-height:148px!important;align-content:start!important;margin:0 auto 22px!important}
 #mobile-unit-wrap #mTabContainer button{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;width:100%!important;height:44px!important;padding:10px 12px!important;font-size:14px!important;line-height:1.4!important;white-space:nowrap!important;box-sizing:border-box!important}
 #mobile-footer .info-row{display:grid!important;grid-template-columns:110px minmax(0,1fr)!important;column-gap:10px!important;align-items:baseline!important;white-space:normal!important}
 #mobile-footer .info-row strong{width:auto!important;margin:0!important;font-size:13px!important;line-height:1.7!important;white-space:nowrap!important}
 #mobile-footer .info-row span{min-width:0!important;margin:0!important;font-size:12px!important;line-height:1.7!important;word-break:keep-all!important;overflow-wrap:break-word!important}
}
