/* Shared geometry and type; each site's colors and contact actions stay local. */
/* Legacy mobile summaries display their facts without the old reveal script. */
body .pyt-sum-wrap.pyt-sum-wrap {background:var(--osan-mist,#f7f6f3)!important;color:var(--osan-ink,#242628)!important;height:auto!important;min-height:0!important;}
body .pyt-sum-wrap.pyt-sum-wrap .pyt-sum-bg {display:none!important;}
body .pyt-sum-wrap.pyt-sum-wrap :is(.pyt-sum-txt-box,.pyt-sum-sum,.pyt-sum-list li) {opacity:1!important;visibility:visible!important;transform:none!important;animation:none!important;transition:none!important;}
body .pyt-sum-wrap.pyt-sum-wrap :is(h2,h5,h3) {color:var(--osan-navy-deep,#18202c)!important;}
body .pyt-sum-wrap.pyt-sum-wrap .pyt-sum-list li p {color:var(--osan-ink,#242628)!important;border-color:var(--osan-line,#e5e6e3)!important;line-height:1.65!important;white-space:normal!important;overflow-wrap:anywhere;}
/* Remove decorative dots attached to the main headline on every screen size. */
body .main_txt_box h2 span::before,
body #section1#section1 .main_txt_box h2 span::before {
 content:none!important;display:none!important;width:0!important;height:0!important;background:none!important;
}
/* Both original and Vista headers share the same visual size baseline. */
body {--sh-logo-limit:420px;--sh-logo-height:72px;}
body .site-shared-header-root .site-shared-tall-logo {--sh-logo-height:120px;}
@media(min-width:901px){body .site-header-has-tall-logo {min-height:144px!important;}}
body .site-shared-header-root .site-shared-header-logo.site-shared-header-logo {
 --sh-fit-height:min(var(--sh-logo-height),calc(var(--sh-logo-limit) / var(--sh-ratio,6)));
 width:calc(var(--sh-fit-height) * var(--sh-ratio,6))!important;height:var(--sh-fit-height)!important;max-width:var(--sh-logo-limit)!important;flex-shrink:0;line-height:1!important;
 background-size:contain!important;
}
body .site-shared-header-root .site-shared-header-logo-link.site-shared-header-logo-link:not(.site-shared-header-logo) {
 display:block!important;position:relative!important;width:100%!important;height:100%!important;padding:0!important;overflow:hidden!important;background-size:contain!important;
}
body .site-shared-header-root a.site-shared-header-logo {display:block!important;position:relative!important;overflow:hidden!important;}
body .site-shared-header-root .site-shared-header-logo .img_box {display:block!important;width:100%!important;height:100%!important;}
body .site-shared-header-root .tel_wrap,body .site-shared-header-root .tel_wrap .tel {width:auto!important;height:auto!important;max-width:none!important;}
body .site-shared-header-root .site-shared-header-logo-link img {
 position:absolute!important;width:calc(100% * var(--sh-canvas-w,1))!important;height:calc(100% * var(--sh-canvas-h,1))!important;
 left:calc(100% * var(--sh-left,0))!important;top:calc(100% * var(--sh-top,0))!important;max-width:none!important;max-height:none!important;object-fit:fill!important;filter:none!important;transform:none!important;
}
body .site-shared-header-root .site-shared-header-logo-link svg {width:100%!important;height:100%!important;max-width:none!important;}
body .site-shared-header-root .site-shared-header-phone.site-shared-header-phone,
body .site-shared-header-root .site-shared-header-phone .site-shared-header-number {
 font-size:42px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:0!important;white-space:nowrap!important;
}
body .site-shared-header-root .site-shared-header-phone.site-shared-header-phone {width:auto!important;height:auto!important;min-width:0;align-items:center;gap:6px;text-decoration:none;}
body .site-shared-header-root .site-shared-header-phone:not(.pcView):not(.moView) {display:inline-flex!important;}
body .site-shared-header-root .site-shared-header-phone p {font-size:inherit!important;margin:0!important;line-height:inherit!important;}
body .site-shared-header-root .site-shared-header-phone svg {width:28px!important;height:28px!important;flex-shrink:0;}
body .site-shared-header-root .site-shared-header-phone img.site-shared-phone-asset {width:auto!important;height:42px!important;max-width:none!important;max-height:none!important;object-fit:contain!important;}
body .site-header-added-phone {position:absolute;right:80px;top:50%;transform:translateY(-50%);z-index:5;}
body:not(.site-original-layout) .navi .top_fixed_wrap .tel_wrap .tel a p {font-size:42px!important;}
@media(min-width:901px){body:not(.site-original-layout) {--vh-logo-limit:400px;--vh-logo-height:max(72px,var(--vh-preferred-height,48px));}}
@media(max-width:1400px){
 body .site-shared-header-root .site-shared-header-phone.site-shared-header-phone,
 body .site-shared-header-root .site-shared-header-phone .site-shared-header-number {font-size:40px!important;}
 body .site-shared-header-root .site-shared-header-phone img.site-shared-phone-asset {height:40px!important;}
 body:not(.site-original-layout) .navi .top_fixed_wrap .tel_wrap .tel a p {font-size:40px!important;}
}
@media(max-width:900px){
 body {--sh-logo-limit:min(330px,calc(100vw - 112px));--sh-logo-height:54px;}
 body .site-shared-header-root {min-height:132px!important;}
 body .site-shared-header-root .site-shared-tall-logo {--sh-logo-height:90px;}
 body .site-header-has-tall-logo {min-height:170px!important;}
 body .site-shared-header-root .site-shared-header-logo.site-shared-header-logo {position:absolute!important;left:5%!important;top:12px!important;bottom:auto!important;margin:0!important;transform:none!important;}
 body .header.site-shared-header-root .main-logo {left:72px!important;}
 body .site-shared-header-root .site-shared-header-utility {position:absolute!important;left:5%!important;right:auto!important;top:80px!important;bottom:auto!important;transform:none!important;width:auto!important;}
 body .site-header-has-tall-logo .site-shared-header-utility {top:120px!important;}
 body .site-shared-header-root .site-shared-header-phone.site-shared-header-phone,
 body .site-shared-header-root .site-shared-header-phone .site-shared-header-number {font-size:28px!important;}
 body .site-shared-header-root .site-shared-header-phone img.site-shared-phone-asset {height:28px!important;}
 body .site-shared-header-root .site-shared-header-phone svg {width:22px!important;height:22px!important;}
 body .site-header-added-phone {left:5%!important;right:auto!important;top:82px!important;transform:none!important;}
 body .landing-header.site-shared-header-root {padding-top:78px!important;}
 body .landing-header.site-shared-header-root .site-shared-header-phone {margin-right:auto;}
 body:not(.site-original-layout) .navi .top_fixed_wrap .tel_wrap .tel a p {font-size:28px!important;}
}
@media(max-width:640px){body:not(.site-original-layout) .navi .top_fixed_wrap .tel_wrap .tel a p {font-size:24px!important;}}
body .osan-quick-bar {position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom,0px));z-index:5000;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.72);background:#fff;box-shadow:0 12px 32px #0003;transform:translateX(-50%);font-family:"Noto Sans KR","Malgun Gothic",sans-serif;box-sizing:border-box;}
body .osan-quick-bar * {box-sizing:border-box;}
body .osan-quick-bar .osan-quick-action {appearance:none;display:flex;align-items:center;min-width:0;margin:0;border:0;border-radius:0;text-align:center;text-decoration:none;cursor:pointer;font-family:inherit;}
body .osan-quick-bar .osan-quick-action svg {flex:none;width:26px;height:26px;}
body .osan-quick-bar .osan-quick-action .osan-quick-action-copy {display:flex;flex-direction:column;min-width:0;}
body .vista-shared-quick .osan-quick-kakao {background:var(--site-quick-accent,#24364b);color:var(--site-quick-ink,#fff)!important;}
body .vista-shared-quick .osan-quick-interest {background:var(--site-quick-deep,#172635);color:#fff!important;}
body .osan-quick-bar .osan-quick-action:focus-visible {outline:3px solid currentColor;outline-offset:-5px;}
body .vista-duplicate-contact {display:none!important;}
body .osan-quick-bar.osan-quick-bar {width:min(840px,calc(100% - 40px));min-height:80px;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));}
body .osan-quick-bar .osan-quick-action.osan-quick-action {min-height:80px;padding:14px 16px;gap:12px;justify-content:center;}
body .osan-quick-bar .osan-quick-action .osan-quick-action-copy {flex:0 1 auto;align-items:center;justify-content:center;gap:6px;}
body .osan-quick-bar .osan-quick-action .osan-quick-action-copy strong {font-size:24px!important;font-weight:800;line-height:1.3;letter-spacing:-.025em;white-space:nowrap!important;}
body .osan-quick-bar .osan-quick-kakao .osan-quick-action-copy {flex-direction:row;}
body .osan-quick-bar .vista-quick-phone-label {font-size:17px;line-height:1.3;white-space:nowrap;}
body .osan-quick-bar .osan-quick-kakao[href^="tel:"] .osan-quick-action-copy small {display:none!important;}
/* Preserve the actual logo artwork, including colored brand symbols. */
body:not(.vista-reference) .navi #logo#logo#logo a img {
 filter:drop-shadow(0 1px 1px rgba(0,0,0,.25)) drop-shadow(0 0 1px rgba(255,255,255,.65))!important;
}
body:not(.vista-reference) .pyt-footer.pyt-footer.pyt-footer img[class*="-footer-logo"],
body:not(.vista-reference) .pyt-footer-const.pyt-footer-const.pyt-footer-const img {filter:none!important;}
body :is(header,#header,.header,.navi) :is(.logo,.header_logo,.logo_img) img,
body :is(header,#header,.header,.navi) img:is(.logo,.header_logo,.logo_img) {filter:none!important;}
/* The main hero fills the viewport from its center without letterboxing. */
body #section1#section1 .main_img_box .main_img {background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;transform:none!important;animation:none!important;}
/* Keep photo tint mild on desktop and mobile; override the inherited dark blue gradient.
   These are color overlay layers, not the photograph or its text. Xi's display:none stays intact. */
body #section1#section1 .main_img_box .main_img.img01::before {
 background:linear-gradient(90deg,rgba(var(--site-photo-tint-rgb,23,38,53),.05),rgba(var(--site-photo-tint-rgb,23,38,53),.01) 65%,transparent)!important;
 opacity:1!important;
}
body #section1#section1 .main_img_box::after {background:none!important;opacity:0!important;}
body #section_complex#section_complex .complex_bg::after {
 background:linear-gradient(180deg,rgba(var(--site-photo-tint-rgb,23,38,53),.01),transparent 45%,rgba(var(--site-photo-tint-rgb,23,38,53),.04))!important;
 opacity:1!important;
}
@media(max-width:900px){
 body #section1#section1 .main_img_box .main_img.img01::before {
  background:linear-gradient(180deg,rgba(var(--site-photo-tint-rgb,23,38,53),.01),transparent 55%,rgba(var(--site-photo-tint-rgb,23,38,53),.05))!important;
 }
}
/* Building photographs in the lower sections keep their entire composition. */
body #section_complex#section_complex .complex_bg_box {height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:var(--vs-building-ratio,1.7777778)!important;max-width:min(1021px,calc(100svh * var(--vs-building-ratio,1.7777778)))!important;flex-shrink:0;}
body #section_complex#section_complex .complex_bg::before {background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;transform:none!important;animation:none!important;}
body #section_complex#section_complex .complex_bg {transform:none!important;animation:none!important;}
body [data-marvelous-generated] img {height:auto!important;object-fit:contain!important;transform:none!important;}
@media(max-width:1400px){body #section_complex#section_complex .complex_bg_box {max-width:none!important;width:100%!important;}}
@media(max-width:767px){
 body .osan-quick-bar.osan-quick-bar {bottom:0;width:100%;border-radius:15px 15px 0 0;min-height:calc(74px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);}
 body .osan-quick-bar .osan-quick-action.osan-quick-action {min-height:74px;padding:10px 8px;gap:7px;}
 body .osan-quick-bar .osan-quick-action .osan-quick-action-copy strong {font-size:clamp(18px,5vw,22px)!important;}
 body .osan-quick-bar .osan-quick-kakao .osan-quick-action-copy {flex-direction:column;gap:3px;}
 body .osan-quick-bar .vista-quick-phone-label {font-size:14px;}
 body .osan-quick-bar .osan-quick-action svg {width:22px;height:22px;}
}
@media(max-width:380px){body .osan-quick-bar .osan-quick-action svg {display:none!important;}}

/* Canonical OL business footer, readable on every site and viewport. */
body .pyt-footer .site-company-footer {clear:both;display:block!important;margin:24px 0 16px!important;padding-top:18px;border-top:1px solid currentColor;max-width:100%;}
body .pyt-footer .site-company-footer p {display:block!important;font-size:16px!important;line-height:1.8!important;white-space:normal!important;overflow-wrap:anywhere;color:inherit!important;margin:3px 0!important;}
body .pyt-footer .site-company-footer strong {font-weight:600;}
@media(max-width:767px){body .pyt-footer .site-company-footer {margin-top:20px!important;}body .pyt-footer .site-company-footer p{font-size:15px!important;}}
/* Quiet AI disclosure inside the photo, without a badge background. */
body figure.site-ai-watermark-frame {position:relative!important;}
html body .site-ai-photo {position:relative!important;display:block;width:100%;margin:0;padding:0;line-height:0;}
html body .site-ai-photo > img,
html body .site-ai-photo > picture > img {display:block;max-width:100%;}
html body :is(.site-ai-watermark.site-ai-watermark,[class*="-generated-label"],.xi-ai-label) {
 position:absolute!important;inset:auto 10px 10px auto!important;z-index:5!important;
 display:block!important;width:auto!important;height:auto!important;max-width:calc(100% - 20px)!important;
 margin:0!important;padding:0!important;background:none!important;background-image:none!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;
 color:rgba(255,255,255,.72)!important;font-size:11px!important;font-weight:400!important;
 line-height:1.3!important;letter-spacing:.02em!important;text-align:right!important;
 text-shadow:0 1px 2px rgba(0,0,0,.6)!important;white-space:normal!important;
 opacity:1!important;transform:none!important;pointer-events:none!important;
}
@media(max-width:767px){html body :is(.site-ai-watermark.site-ai-watermark,[class*="-generated-label"],.xi-ai-label){font-size:10px!important;inset:auto 8px 8px auto!important;}}
html body #section1 .site-ai-watermark.site-ai-watermark,
html body [class*="-main-label"].site-ai-watermark {inset:auto 14px 96px auto!important;}
@media(max-width:767px){html body #section1 .site-ai-watermark.site-ai-watermark,html body [class*="-main-label"].site-ai-watermark{inset:auto 10px 88px auto!important;}}
/* Community facility photos stand alone on a neutral brand background. */
html body .comm_bg {display:none!important;background-image:none!important;}
html body #section_comm,
html body #section_comm .comm_wrap {background-image:none!important;background-color:var(--osan-mist,#f7f6f3)!important;}
html body #section_comm::before,
html body #section_comm::after,
html body #section_comm .comm_wrap::before,
html body #section_comm .comm_wrap::after {background-image:none!important;}

/* 2026-10-09: native official VR links replace the broken embedded viewers. */
.site-official-vr-links {padding:clamp(24px,4vw,56px);text-align:center;background:#f6f5f2;border-radius:12px;}
.site-official-vr-links p {margin:0 0 24px;font-size:clamp(16px,1.5vw,20px);line-height:1.7;color:#262626;}
.site-official-vr-links .site-official-vr-button {display:inline-flex;align-items:center;justify-content:center;min-height:56px;max-width:100%;box-sizing:border-box;margin:8px;padding:16px 24px;background:var(--site-quick-accent,#24364b);color:var(--site-quick-ink,#fff);border-radius:8px;font-size:18px;font-weight:700;line-height:1.5;white-space:normal;text-decoration:none;}
.site-official-vr-button:focus-visible {outline:3px solid #222;outline-offset:4px;}
@media(max-width:640px){.site-official-vr-links .site-official-vr-button{display:flex;margin:12px 0;width:100%;}}

/* PC unit selection and the complete plan share the available viewport height. */
@media(min-width:901px){
 body #section3#section3 {--vu-plan-height:calc(100dvh - 380px);--vu-header-height:96px;--vu-quick-height:108px;min-height:100dvh!important;}
 body #section3#section3 .unit_wrap {box-sizing:border-box!important;min-height:100dvh!important;padding:calc(var(--vu-header-height) + 12px) 0 calc(var(--vu-quick-height) + 12px)!important;}
 body #section3#section3 .unit_box > div {max-width:1280px!important;}
 body #section3#section3 .unit_tit {position:relative!important;margin:0 0 12px!important;padding:0!important;}
 body #section3#section3 .unit_tit h2 {font-size:clamp(22px,2vw,30px)!important;line-height:1.25!important;margin:0!important;}
 body #section3#section3 .unit_tit p {font-size:14px!important;line-height:1.5!important;margin:6px 0 0!important;}
 body #section3#section3 .unit_iso_box {margin-top:0!important;}
 body #section3#section3 :is(.vista-unit-selector-top,.vista-unit-selector-bottom) {max-width:none!important;margin:0 0 10px!important;}
 body #section3#section3 .vista-unit-selector-bottom {margin:10px 0 0!important;}
 body #section3#section3 .vista-unit-selector-bottom > p {display:none!important;}
 body #section3#section3 .vista-unit-selector-top > p {font-size:14px!important;line-height:1.3!important;margin:0 0 4px!important;}
 body #section3#section3 .vista-unit-buttons {grid-template-columns:repeat(auto-fit,minmax(84px,1fr))!important;gap:6px!important;}
 body #section3#section3 .vista-unit-buttons button {padding:8px 6px!important;font-size:15px!important;line-height:1.3!important;}
 body #section3#section3 .unit_content {gap:24px!important;align-items:center!important;min-height:0!important;}
 body #section3#section3 .unit_txt_box {width:220px!important;min-width:180px!important;height:auto!important;}
 body #section3#section3 .unit_txt_box h2 {font-size:28px!important;line-height:1.2!important;}
 body #section3#section3 .unit_txt_box .vista-unit-caption {font-size:12px!important;line-height:1.5!important;margin:8px 0!important;padding:8px 10px!important;}
 body #section3#section3 .unit_txt_box :is(h3,h4,h5) {font-size:13px!important;line-height:1.4!important;}
 body #section3#section3 .unit_txt_box ul {margin:8px 0!important;}
 body #section3#section3 .unit_txt_box li {margin:4px 0!important;padding:0!important;}
 body #section3#section3 .unit_img {display:flex!important;flex-direction:column!important;gap:6px!important;height:auto!important;min-height:0!important;}
 body #section3#section3 .vista-unit-detail-link {padding:4px 12px!important;font-size:14px!important;line-height:1.4!important;}
 body #section3#section3 .swiper_unit .unit_img :is(.osan-unit-crop,.clav-unit-plan) {height:var(--vu-plan-height)!important;min-height:0!important;aspect-ratio:auto!important;max-height:var(--vu-plan-height)!important;overflow:visible!important;}
 body #section3#section3 .swiper_unit .unit_img img {position:static!important;display:block!important;width:100%!important;height:var(--vu-plan-height)!important;max-height:var(--vu-plan-height)!important;object-fit:contain!important;object-position:center!important;transform:none!important;}
 body .pyt-osan-page:has(#unit-tabs) {max-width:1400px!important;}
 body #unit-tabs#unit-tabs {--vu-plan-height:calc(100dvh - 280px);scroll-margin-top:calc(var(--vu-header-height,96px) + 12px);}
 body #unit-tabs#unit-tabs .osan-tablist {display:grid!important;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))!important;gap:6px!important;margin-bottom:10px!important;}
 body #unit-tabs#unit-tabs .osan-tablist button {padding:8px!important;font-size:14px!important;line-height:1.4!important;}
 body #unit-tabs#unit-tabs .osan-tablist,body[data-vista-unit-detail="original"] .tab_area {position:sticky!important;top:calc(var(--vu-header-height,96px) + 8px);z-index:30;background:var(--osan-mist,#f7f6f3);}
 body #unit-tabs#unit-tabs .osan-tabpanel {min-height:0!important;height:auto!important;padding:6px!important;}
 body #unit-tabs#unit-tabs .osan-official-sheet {width:100%!important;height:var(--vu-plan-height)!important;max-height:var(--vu-plan-height)!important;object-fit:contain!important;object-position:center!important;}
 body #unit-tabs#unit-tabs figure[class$="-original-plan"] img {width:100%!important;height:var(--vu-plan-height)!important;max-height:var(--vu-plan-height)!important;object-fit:contain!important;}
 body #unit-tabs#unit-tabs :is(.sclass-unit-header,.riverpark-original-area img) {display:block!important;width:100%!important;height:72px!important;max-height:72px!important;object-fit:contain!important;margin:0 auto 8px!important;}
 body[data-vista-unit-detail="original"] .tab_wrap {--vu-plan-height:calc(100dvh - 300px);scroll-margin-top:calc(var(--vu-header-height,96px) + 12px);}
 body[data-vista-unit-detail="original"] .tab_cont_item.is-show {display:grid!important;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start;}
 body[data-vista-unit-detail="original"] .plane_info {margin:0!important;}
 body[data-vista-unit-detail="original"] .plane_info :is(h3,p,span) {font-size:14px!important;line-height:1.5!important;}
 body[data-vista-unit-detail="original"] .tab_cont .imgbox_pop {margin:8px auto!important;}
 body[data-vista-unit-detail="original"] .tab_cont .pop_img {height:var(--vu-plan-height)!important;max-height:var(--vu-plan-height)!important;object-fit:contain!important;}
 body .vu-open-plan {display:flex;justify-content:center;align-items:center;width:100%;height:var(--vu-plan-height);cursor:zoom-in;}
 body .vu-open-plan:focus-visible {outline:2px solid var(--site-quick-accent,#24364b);outline-offset:2px;}
}
