@charset "utf-8";
/* 2단지 리플렛 기준 테마 (버건디 #4b5b2c / 크림슨 #6f8340 / 웜그레이 #3e3a39) */

/* 메인 : SK하이닉스 바로 앞! 1250 BIG 프리미엄 최대단지 */
.main_1250 { order: 2; width: 36rem; max-width: 86vw; opacity: 0; transition: 0.8s; }
.main_wrap.on .main_1250, .main_wrap.on2 .main_1250 { opacity: 1; transition: 2s 0s; }
.main_txt_box>div { transform: translateY(0); display: flex; flex-direction: column; align-items: center; }
.main_txt.txt01>div,
.main_txt.txt02>div { transform: none; margin-top: 0; text-align: center; }
.main_txt.txt01 { order: 1; margin-bottom: 1.75rem; }
.main_txt.txt02 { order: 3; margin-top: 1.75rem; }
.main_logo { order: 4; margin-top: 2.25rem; }
.main_danji { order: 5; font-family: 'Paperlogy'; font-size: 1.375rem; font-weight: 700; color: #3e3a39; margin-top: 0.75rem; opacity: 0; transition: 0.8s; }
.main_wrap.on .main_danji { opacity: 1; transition: 1.2s 0.6s; }
.main_txt_box h4 { font-size: 2.25rem; letter-spacing: 0.35em; font-weight: 500; color: #3e3a39; margin-left: 0; }
.main_txt_box h4 b { font-weight: 700; color: #4b5b2c; letter-spacing: 0.2em; }
.main_txt_box h2 { margin-top: 0; }
.main_txt_box h2 span { display: inline-block; background-color: #4b5b2c; color: #fff; font-size: 2.25rem; font-weight: 700; letter-spacing: 0.3em; padding: 0.75rem 1.5rem 0.75rem 1.8rem; }

.main_pop_box>div:nth-child(1) { background-color: #6f8340; }
.main_pop_box>div:nth-child(2) { background-color: #4b5b2c; }

/* 입지 : 리플렛 지역도는 확대 원형이 포함되어 있어 별도 원형 이미지 미사용 */
.location_map2 { display: none; }

/* 프리미엄 */
.premium_tit h2 { color: #c2cba9; }
.premium_icon { background-color: #edf0e6; }

/* BIG CHANCE */
.premium_txt_box>div { text-align: center; transform: translateY(-1rem); }
.premium_txt_box p { color: #3e3a39; }
.premium_txt_box>div>div { color: #4b5b2c; margin-top: 1rem; }
.premium_txt_box h4.chance_tit { font-family: 'Futura PT', 'Paperlogy', sans-serif; font-size: 5.5rem; line-height: 92%; font-weight: 800; margin-left: 0; letter-spacing: -0.01em; }
.premium_tit2 h2 { color: #4b5b2c; }

.premium_cy_box>div { display: flex; flex-wrap: wrap; justify-content: space-between; row-gap: 3rem; }
.premium_cy { position: relative; overflow: hidden; }
.premium_cy.cy01,
.premium_cy.cy02,
.premium_cy.cy03,
.premium_cy.cy04 { position: relative; right: auto; top: auto; margin: 0; }
.premium_cy.cy01, .premium_cy.cy03 { transform: translateX(-5rem); }
.premium_cy.cy02, .premium_cy.cy04 { transform: translateX(5rem); }
.premium_cy.cy01 img, .premium_cy.cy02 img, .premium_cy.cy03 img, .premium_cy.cy04 img { width: auto; height: 10.5rem; transform: translateY(0.5rem); }
.premium_cy>div { gap: 1.75rem; }
.premium_cy>div>img { flex: 0 0 9rem; object-fit: contain; }
.premium_cy.cy01, .premium_cy.cy04 { background-color: #eeede6; }
.premium_cy.cy02, .premium_cy.cy03 { background-color: #f1f3eb; }
.premium_cy .chance_no { display: inline-block; font-size: 0.75rem; line-height: 100%; font-weight: 700; color: #fff; background-color: #4b5b2c; padding: 0.375rem 0.75rem; border-radius: 0.375rem; margin-bottom: 0.75rem; letter-spacing: 0.02em; }
.premium_cy.cy01 .chance_no, .premium_cy.cy04 .chance_no { background-color: #8b7d6f; }
.premium_cy h3 { color: #4b5b2c; font-weight: 700; }
.premium_cy.cy01 h3, .premium_cy.cy04 h3 { color: #545f41; }
.premium_wrap.on2 .premium_cy.cy04 { opacity: 1; transform: translate(0); transition: 1.2s 0.8s; }

/* 오시는 길 */
.sub_contact_map_box img { background-color: #fff; }

@media all and (max-width: 1400px) {
    .main_1250 { width: 26rem; }
    .premium_cy_box>div { justify-content: center; gap: 1.5rem; }
    .premium_cy { width: 48%; }
    .premium_cy.cy01, .premium_cy.cy02, .premium_cy.cy03, .premium_cy.cy04 { transform: none; }
}

@media all and (max-width: 767px) {
    .main_1250 { width: 18rem; }
    .main_txt.txt01 { margin-bottom: 1.25rem; }
    .main_txt.txt02 { margin-top: 1.25rem; }
    .main_txt_box h4 { font-size: 1.375rem; letter-spacing: 0.2em; }
    .main_txt_box h2 span { font-size: 1.375rem; letter-spacing: 0.15em; padding: 0.5rem 1rem; }
    .main_danji { font-size: 1.125rem; }
    .premium_txt_box h4.chance_tit { font-size: 3.5rem; }
    .premium_cy { width: 85%; max-width: 300px; height: auto; padding: 2.5rem 0; }
    .premium_cy>div { gap: 1rem; }
    .premium_cy.cy01 img, .premium_cy.cy02 img, .premium_cy.cy03 img, .premium_cy.cy04 img { height: 8rem; }
    .premium_cy>div>img { flex: none; }
}

/* 견본주택 안내만 중앙에 표시 */
.contact_wrap .sub_contact_bottom>div { justify-content: center; }
.contact_wrap .sub_contact_box { margin-left: auto; margin-right: auto; }
.contact_wrap .contact_tit { text-align: center; }

.premium_icon svg { width: 58px; height: 58px; display: block; }
.premium_content h3 { word-break: keep-all; line-height: 1.4; }
.premium_content p { word-break: keep-all; line-height: 1.65; }

/* 입지 지도: 원본 비율을 유지해 전체 영역 표시 */
.location_wrap { background-color: #fff; }
.location_wrap .location_tit { flex: 0 0 34%; min-width: 0; }
.location_wrap .location_map_box { flex: 1 1 0; min-width: 0; box-sizing: border-box; padding: 1rem; }
.location_wrap .location_map { max-height: none; }
.location_wrap .location_map .wraps { width: 100%; height: 100%; align-items: center; }
.location_wrap .location_map .target { width: 100%; height: 100%; object-fit: contain; object-position: center; }
@media all and (max-width: 1400px) {
    .location_wrap .location_tit { flex: 0 0 100%; }
    .location_wrap .location_map_box { flex: 0 0 100%; width: 100%; height: auto; }
    .location_wrap .location_map,
    .location_wrap .location_map .wraps { height: auto; max-height: none; }
    .location_wrap .location_map .target { height: auto; }
}

/* 리플렛 PDF에서 추출한 원본 아이콘 */
.premium_icon img { width: 58px; height: 58px; object-fit: contain; display: block; }

/* 오시는 길: 잘라낸 약도에 기존 프레임·호버 효과 유지 */
.contact_wrap .sub_contact_map_box { padding: 1rem; border: 1px solid #cecece; height: auto; background: #fff; box-sizing: border-box; }
.contact_wrap .sub_contact_map_box img { display: block; width: 100%; height: auto; }


/* PDF 원본 타이틀 로고를 한 장으로 사용해 글자·행 간격 유지 */
.main_1250.main_1250_lockup { width: 30rem; max-width: 80vw; max-height: 52vh; object-fit: contain; }
@media all and (max-width: 767px) {
    .main_1250.main_1250_lockup { width: 18rem; max-height: none; }
}

.location_tit h2 .location_headline_line { display: inline-block; white-space: nowrap; font-size: clamp(1rem, 1.65vw, 1.9rem); }
@media all and (max-width: 1400px) { .location_tit h2 .location_headline_line { font-size: clamp(1rem, 4vw, 1.9rem); } }

/* 메인 하단 단지명: 가로형 로고 */
.main_logo.main_logo_horizontal { width: 27rem; max-width: 86vw; height: auto; margin-top: 2.25rem; }
@media all and (max-width: 767px) { .main_logo.main_logo_horizontal { width: 21rem; margin-top: 1.75rem; } }

/* 사업개요 화면에서는 메인 타이틀 로고 숨김 */
.main_wrap.on2 .main_1250 { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.3s, visibility 0.3s; }

/* SKIP 아래 인트로 로고만 가로형으로 표시 */
.intro_logo.intro_logo_horizontal { width: 28rem; max-width: 86vw; height: auto; }
@media all and (max-width: 767px) { .intro_logo.intro_logo_horizontal { width: 21rem; } }

/* 기존 브랜드 소개 화면 복원 */
.brand_wrap .brand_tit, .brand_wrap .brand_txt_box { color: #111a2b; }

/* 입지: 좌측 지역도 / 우측 문구와 원형 확대도 */
@media all and (min-width: 1401px) {
    .location_wrap { display: grid; grid-template-columns: 66% 34%; grid-template-rows: 35% 65%; padding-top: 7.1875rem; box-sizing: border-box; align-items: stretch; }
    .location_wrap .location_map_box { grid-column: 1; grid-row: 1 / 3; width: 100%; height: 100%; max-width: none; margin: 0; padding: 0 1rem 1rem 0; }
    .location_wrap .location_tit { grid-column: 2; grid-row: 1; width: 100%; height: auto; max-width: none; justify-content: flex-start; padding: 2rem 2.5rem 0; box-sizing: border-box; }
    .location_wrap .location_tit>div { width: 100%; max-width: none; transform: none; }
    .location_wrap .location_tit h2 { font-size: clamp(1.3rem, 1.65vw, 2rem); }
    .location_wrap .location_tit>div>span { margin-top: 1.5rem; }
    .location_wrap .location_inset { grid-column: 2; grid-row: 2; align-self: center; width: min(90%, 50vh); margin-left: -1.5rem; }
    .location_wrap .location_ori_bt { right: 3rem; bottom: 2rem; }
}
.location_inset img { display: block; width: 100%; height: auto; border-radius: 50%; }
@media all and (max-width: 1400px) {
    .location_inset { width: min(70%, 28rem); margin: 2rem auto 0; }
}

/* 입지 문구: 기존 시안의 서체와 행별 굵기 적용 */
.location_wrap .location_tit h2 { font-family: 'Paperlogy', 'Noto Sans KR', sans-serif; font-weight: 400; line-height: 1.25; letter-spacing: -0.05em; }
.location_wrap .location_tit h2>b { font-weight: 400; }
.location_wrap .location_tit h2 .location_headline_line { font-family: inherit; font-size: inherit; font-weight: 700; }
.location_wrap .location_tit p { font-family: 'Noto Sans KR', sans-serif; font-size: 0.9375rem; font-weight: 400; line-height: 1.66; letter-spacing: -0.035em; }

/* 분양안내 3페이지 지역도 + 2단지 리플렛 확대도 */
.location_wrap .location_map .target { object-fit: contain; object-position: center; }
.location_wrap .location_inset { position: relative; z-index: 2; }
@media all and (min-width: 1401px) {
    .location_wrap .location_map_box { padding: 0; }
    .location_wrap .location_inset { width: min(92%, 52vh); }
}

/* 오픈 배지: 원형 레터링과 중앙 문구의 상하 여백 정렬 */
.main_guest a { position: relative; display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.main_guest p { margin: 0; transform: none; line-height: 1.35; }
.main_guest p b { transform: none; line-height: 1.15; }
.main_guest_bg { aspect-ratio: 1; height: auto; }

/* 메인 키비주얼: 원본 숫자 + HTML 문구와 회로선 */
.main_1250.main_keyvisual { width: min(30rem, 82vw); max-width: 82vw; display: flex; flex-direction: column; align-items: center; color: #4b5b2c; }
.main_keyvisual .keyvisual_eyebrow { width: 100%; margin: 0; color: #3e3a39; font-family: 'Paperlogy', 'Noto Sans KR', sans-serif; font-size: clamp(1.05rem, 2.1vw, 2rem); font-weight: 500; line-height: 1.3; letter-spacing: 0.22em; white-space: nowrap; text-align: center; }
.main_keyvisual .keyvisual_eyebrow strong { font-weight: 700; }
.main_keyvisual .keyvisual_circuit { display: block; width: 94%; height: auto; margin: 0.25rem 0 1rem; overflow: visible; }
.main_keyvisual .keyvisual_number { display: block; width: 100%; height: auto; }
.main_txt_box .main_keyvisual .keyvisual_banner { width: 90%; box-sizing: border-box; margin: 1.15rem 0 0; padding: 0.55rem 0.25rem; background: #4b5b2c; color: #fff; font-family: 'Paperlogy', 'Noto Sans KR', sans-serif; font-size: clamp(1rem, 1.9vw, 1.85rem); font-weight: 700; line-height: 1.25; letter-spacing: 0.13em; text-align: center; white-space: nowrap; }
@media all and (max-width: 767px) {
    .main_1250.main_keyvisual { width: min(27rem, 86vw); max-width: 86vw; }
    .main_keyvisual .keyvisual_eyebrow { font-size: clamp(1rem, 4.6vw, 1.8rem); letter-spacing: 0.18em; }
    .main_keyvisual .keyvisual_circuit { margin-bottom: 0.75rem; }
    .main_txt_box .main_keyvisual .keyvisual_banner { font-size: clamp(0.95rem, 4.2vw, 1.7rem); margin-top: 0.9rem; }
}
@media (prefers-reduced-motion: reduce) {
    .main_1250.main_keyvisual { transition: none; transform: none; }
}

/* 사업개요: 참고 시안과 같은 제목 + 4열 2행 */
.main_sum_box::before { background-color: #1e2614; }
.main_sum_box>div:first-child { width: 90%; max-width: 1500px; align-items: stretch; justify-content: center; gap: 4.25rem; transform: translateY(3rem); }
.main_sum_box .sum_txt_box { text-align: left; }
.main_sum_box .sum_txt_box h2 { color: #6f8340; }
.main_sum_box .sum_txt_box h5 { white-space: normal; line-height: 1.5; }
.main_sum_box .sum_sum { max-width: none; margin: 0; gap: 4.5rem; color: #fff; }
.main_sum_box .summary_grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 3.5rem; row-gap: 4.625rem; }
.main_sum_box .summary_grid li,
.main_sum_box .summary_grid li:nth-child(n+3) { width: auto; min-width: 0; }
.main_sum_box .summary_grid li h3 { font-size: 1.125rem; line-height: 1.25; font-weight: 500; }
.main_sum_box .summary_grid li p { margin-top: 0.875rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,0.35); line-height: 1.5; word-break: keep-all; }
@media all and (max-width: 1400px) {
    .main_sum_box>div:first-child { height: auto; transform: none; gap: 3rem; }
    .main_sum_box .sum_txt_box, .main_sum_box .sum_sum, .main_sum_box .imgc { color: #fff; }
    .main_sum_box .summary_grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 3rem; }
    .main_sum_box::before { opacity: 0.9; }
}
@media all and (max-width: 767px) {
    .main_sum_box .sum_txt_box h2 { font-size: clamp(2.8rem, 12vw, 4.75rem); }
    .main_sum_box .summary_grid { grid-template-columns: 1fr; gap: 2rem; }
    .main_sum_box .sum_sum { gap: 3rem; }
}

/* 메인 타이틀: 기존 인트로 종료(.on)에 맞춰 한 번씩 순차 등장 */
.main_keyvisual .keyvisual_eyebrow,
.main_keyvisual .keyvisual_number,
.main_keyvisual .keyvisual_banner { opacity: 0; }
.main_keyvisual .keyvisual_circuit path { stroke-dasharray: 1; stroke-dashoffset: 1; }
.main_keyvisual .keyvisual_circuit circle { opacity: 0; }
.main_wrap.on:not(.on2) .main_keyvisual .keyvisual_eyebrow { animation: danji-title-in 1.5s 0.3s cubic-bezier(.22,1,.36,1) both; }
.main_wrap.on:not(.on2) .main_keyvisual .keyvisual_circuit path { animation: danji-circuit-draw 2.0s 0.8s ease-in-out both; }
.main_wrap.on:not(.on2) .main_keyvisual .keyvisual_circuit circle { animation: danji-dot-in 0.9s 1.8s ease-out both; }
.main_wrap.on:not(.on2) .main_keyvisual .keyvisual_number { animation: danji-number-in 2.3s 1.2s cubic-bezier(.22,1,.36,1) both; }
.main_wrap.on:not(.on2) .main_keyvisual .keyvisual_banner { animation: danji-banner-in 1.6s 2.1s cubic-bezier(.22,1,.36,1) both; }
.main_wrap.on:not(.on2) .main_logo { transition-duration: 2.4s; transition-delay: 2.4s; }
@keyframes danji-title-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes danji-circuit-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes danji-dot-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes danji-number-in { from { opacity: 0; transform: translateY(20px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes danji-banner-in { from { opacity: 0; clip-path: inset(0 50%); transform: translateY(6px); } to { opacity: 1; clip-path: inset(0 0); transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
    .main_wrap .main_keyvisual .keyvisual_eyebrow,
    .main_wrap .main_keyvisual .keyvisual_number,
    .main_wrap .main_keyvisual .keyvisual_banner,
    .main_wrap .main_keyvisual .keyvisual_circuit circle { animation: none !important; opacity: 1; transform: none; clip-path: none; }
    .main_wrap .main_keyvisual .keyvisual_circuit path { animation: none !important; stroke-dashoffset: 0; }
    .main_wrap.on:not(.on2) .main_logo { transition-delay: 0s; }
}

/* 원형 확대도: 진입 시 등장 + 테두리 빛이 한 바퀴 이동 */
.location_inset { opacity: 0; transform: translateY(22px) scale(.96); transition: opacity 0.85s ease, transform 1.1s cubic-bezier(.22,1,.36,1); }

.location_ring_motion { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.location_ring_trace { stroke: #8a9a5b; stroke-width: 0.8; stroke-linecap: round; stroke-dasharray: .12 .88; stroke-dashoffset: 0; opacity: 0; transform-origin: 100px 100px; transform: rotate(-90deg); }
.location_ring_orbit { fill: #e7c98a; opacity: 0; transform-origin: 100px 100px; }
.location_wrap.on .location_ring_trace,
.location_inset.active .location_ring_trace { animation: danji-map-ring 2.5s 0.8s ease-in-out both; }
.location_wrap.on .location_ring_orbit,
.location_inset.active .location_ring_orbit { animation: danji-map-orbit 2.5s 0.8s ease-in-out both; }
@keyframes danji-map-ring {
    0% { opacity: 0; stroke-dashoffset: 0; }
    12%, 85% { opacity: .85; }
    100% { opacity: 0; stroke-dashoffset: -1; }
}
@keyframes danji-map-orbit {
    0% { opacity: 0; transform: rotate(0deg); }
    12%, 85% { opacity: 1; }
    100% { opacity: 0; transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
    .location_inset { opacity: 1; transform: none; transition: none; }
    .location_wrap .location_ring_trace,
    .location_wrap .location_ring_orbit { animation: none !important; opacity: 0; }
}

/* 사업개요: 제목 → 항목 → 안내문 순차 등장 */
.main_sum_box .summary_grid li { opacity: 0; transform: translateY(20px); }
.main_sum_box .summary_grid li p { position: relative; border-top-color: transparent; }
.main_sum_box .summary_grid li p::before { content: ''; position: absolute; top: -1px; left: 0; width: 100%; height: 1px; background: rgba(255,255,255,.35); transform: scaleX(0); transform-origin: left; }
.main_wrap.on2 .sum_txt_box>div { animation: danji-summary-title .85s .15s cubic-bezier(.22,1,.36,1) both; }
.main_wrap.on2 .summary_grid li { animation: danji-summary-item .8s var(--summary-delay) cubic-bezier(.22,1,.36,1) both; }
.main_wrap.on2 .summary_grid li p::before { animation: danji-summary-line .7s calc(var(--summary-delay) + .12s) ease-out both; }
.summary_grid li:nth-child(1) { --summary-delay: .35s; }
.summary_grid li:nth-child(2) { --summary-delay: .45s; }
.summary_grid li:nth-child(3) { --summary-delay: .55s; }
.summary_grid li:nth-child(4) { --summary-delay: .65s; }
.summary_grid li:nth-child(5) { --summary-delay: .75s; }
.summary_grid li:nth-child(6) { --summary-delay: .85s; }
.summary_grid li:nth-child(7) { --summary-delay: .95s; }
.summary_grid li:nth-child(8) { --summary-delay: 1.05s; }
.main_wrap.on2 .main_sum_box .imgc { animation: danji-summary-note .7s 1.25s ease-out both; }
@keyframes danji-summary-title { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes danji-summary-item { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes danji-summary-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes danji-summary-note { from { opacity: 0; } to { opacity: .7; } }
/* 모바일은 스크롤에 진입한 기존 active 상태와 연동 */
@media all and (max-width: 1400px) {
    .main_sum_box .summary_grid li { opacity: 1; transform: none; }
    .main_sum_box .summary_grid li p::before { transform: scaleX(1); }
    .main_sum_box .sum_sum.active .summary_grid li { animation: danji-summary-item .7s var(--summary-delay) cubic-bezier(.22,1,.36,1) both; }
    .main_sum_box .sum_sum.active .summary_grid li p::before { animation: danji-summary-line .65s calc(var(--summary-delay) + .1s) ease-out both; }
}
@media (prefers-reduced-motion: reduce) {
    .main_sum_box .summary_grid li { opacity: 1; transform: none; }
    .main_wrap .sum_txt_box>div,
    .main_wrap .summary_grid li,
    .main_wrap .summary_grid li p::before,
    .main_wrap .main_sum_box .imgc { animation: none !important; }
    .main_sum_box .summary_grid li p::before { transform: scaleX(1); }
}

/* 지도 사업지 위치에서 원형 확대도가 커지며 이동 */
.location_wrap .location_inset { transition: none; transform: none; opacity: 0; }
.location_wrap .location_inset.is-inset-revealed { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .location_wrap .location_inset { opacity: 1; } }

/* 대메뉴 바로 아래에만 흰색 드롭다운 표시 */
@media all and (min-width: 1401px) {
    .navi .navi-bg { display: none; }
    .navi .gnb, .navi .gnb.open, .navi.active .gnb.open { height: 100%; overflow: visible; pointer-events: none; }
    .navi .gnb>div>ul>li { pointer-events: auto; }
    .navi .gnb>div>ul>li>ul.depth2 { position: absolute; top: 100%; left: 50%; min-width: 9rem; width: max-content; box-sizing: border-box; margin: 0; padding: 0.65rem; background: #fff; border: 1px solid rgba(0,0,0,.06); border-radius: 0 0 10px 10px; box-shadow: 0 10px 25px rgba(0,0,0,.1); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, 6px); transition: opacity .18s, transform .18s, visibility .18s; }
    .navi .gnb>div>ul>li>ul.depth2.open,
    .navi .gnb>div>ul>li:focus-within>ul.depth2 { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
    .navi .gnb>div>ul>li>ul.depth2>li>a { padding: 0.5rem 0.75rem; height: auto; min-height: 2rem; border-radius: 5px; white-space: nowrap; color: #444; }
    .navi .gnb>div>ul>li>ul.depth2>li>a:hover,
    .navi .gnb>div>ul>li>ul.depth2>li>a:focus-visible { background: #eff2e8; color: #4b5b2c; }
}
/* 원본 1250을 4개 클리핑 레이어로 분리하여 한 자리씩 등장 */
.main_keyvisual .keyvisual_number.keyvisual_digits { position: relative; aspect-ratio: 1107 / 404; opacity: 1; }
.main_keyvisual .keyvisual_digits .keyvisual_digit { position: absolute; inset: 0; display: block; width: 100%; height: 100%; opacity: 0; }
.keyvisual_digits .digit1 { clip-path: inset(0 82% 0 0); --digit-delay: 1.2s; }
.keyvisual_digits .digit2 { clip-path: inset(0 54% 0 18%); --digit-delay: 1.65s; }
.keyvisual_digits .digit3 { clip-path: inset(0 29% 0 46%); --digit-delay: 2.1s; }
.keyvisual_digits .digit4 { clip-path: inset(0 0 0 71%); --digit-delay: 2.55s; }
.main_wrap.on:not(.on2) .main_keyvisual .keyvisual_digits { animation: none; opacity: 1; }
.main_wrap.on:not(.on2) .keyvisual_digits .keyvisual_digit { animation: danji-digit-reveal 1.15s var(--digit-delay) cubic-bezier(.22,1,.36,1) both; }
.main_wrap.on:not(.on2) .main_keyvisual .keyvisual_banner { animation-delay: 3.2s; }
.main_wrap.on:not(.on2) .main_logo { transition-delay: 3.5s; }
@keyframes danji-digit-reveal { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
    .main_wrap .keyvisual_digits .keyvisual_digit { animation: none !important; opacity: 1; transform: none; }
    .main_wrap.on:not(.on2) .main_logo { transition-delay: 0s; }
}

/* 투명 원형 이미지 자체를 사용해 확대 중 중복 클리핑 제거 */
.location_wrap .location_inset img { border-radius: 0; }

/* 확대 시작 전 완성 크기가 먼저 보이지 않도록 상태를 명시적으로 분리 */
.location_wrap .location_inset { opacity: 0; visibility: hidden; transform: none; transition: none; }
.location_wrap .location_inset.is-inset-animating { visibility: visible; }
.location_wrap .location_inset.is-inset-revealed { opacity: 1; visibility: visible; }
@media (prefers-reduced-motion: reduce) {
    .location_wrap .location_inset { opacity: 1; visibility: visible; }
}

/* 오픈 배지: 12는 크게, 월은 작게 */
.main_guest p .open_date { display: inline-flex; align-items: baseline; gap: 0; line-height: 1; }
.main_guest p .open_number { font-size: 2rem; font-weight: 700; }
.main_guest p .open_month { font-size: 1rem; font-weight: 500; }
.main_guest p .open_caption { font-size: 0.95rem; }
.main_guest p .open_caption small { font-size: 0.7em; }
/* 특별공급·청약 혜택 화면 복원 */
.chance_wrap { position: relative; width: 100%; height: 100vh; box-sizing: border-box; padding: 9rem 5% 5rem; overflow: hidden; background: #e9ece3; color: #4b5b2c; }
.chance_backdrop { position: absolute; inset: 15% -10% auto; font-family: 'Futura PT',sans-serif; font-size: 10vw; font-weight: 700; line-height: .95; text-align: center; color: rgba(75,91,44,.06); pointer-events: none; }
.chance_grid { position: relative; z-index: 2; width: 100%; max-width: 1540px; height: 80%; margin: auto; display: grid; grid-template-columns: 1fr .65fr 1fr; grid-template-rows: 1fr 1fr; gap: 2rem; align-items: center; }
.chance_heading { grid-column: 2; grid-row: 1 / 3; text-align: center; }
.chance_heading>p { font-size: 1.5rem; color: #3e3a39; line-height: 1.4; margin-bottom: 1.5rem; }
.chance_heading h2 { font-family: 'Futura PT','Paperlogy',sans-serif; font-size: clamp(3rem,5vw,6rem); font-weight: 800; line-height: .95; }
.chance_card { display: flex; align-items: center; gap: 1.5rem; min-height: 12rem; padding: 2rem; border-radius: 2rem; background: #fff; box-sizing: border-box; opacity: 0; transform: translateY(25px); transition: opacity .85s, transform .85s cubic-bezier(.22,1,.36,1); }
.chance_card01 { grid-column: 1; grid-row: 1; background: #eeede6; }
.chance_card02 { grid-column: 3; grid-row: 1; transition-delay: .12s; }
.chance_card03 { grid-column: 1; grid-row: 2; transition-delay: .24s; }
.chance_card04 { grid-column: 3; grid-row: 2; background: #eeede6; transition-delay: .36s; }
.chance_card>img { flex: 0 0 7rem; width: 7rem; height: 10rem; object-fit: contain; }
.chance_card span { display: inline-block; padding: .25rem .65rem; border-radius: 4px; background: #4b5b2c; color: #fff; font-size: .75rem; font-weight: 700; }
.chance_card h3 { font-size: 1.3rem; line-height: 1.35; margin-top: .7rem; font-weight: 700; }
.chance_card p { color: #555; font-size: .875rem; line-height: 1.5; margin-top: 1rem; word-break: keep-all; }
.chance_wrap.on .chance_card, .chance_wrap.active .chance_card { opacity: 1; transform: none; }
.chance_building { position: absolute; width: 42%; max-width: 750px; left: 50%; bottom: -2rem; transform: translateX(-50%); pointer-events: none; }
.chance_notice { position: absolute; z-index: 3; bottom: 1.5rem; right: 3%; font-size: .7rem; line-height: 1.6; color: #666; text-align: right; }
@media all and (max-width: 1400px) {
 .chance_wrap { height: auto; padding: 6rem 5% 4rem; }
 .chance_grid { height: auto; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto; }
 .chance_heading { grid-column: 1 / -1; grid-row: auto; padding-bottom: 1rem; }
 .chance_heading h2 br { display: none; }
 .chance_card01,.chance_card02,.chance_card03,.chance_card04 { grid-column: auto; grid-row: auto; }
 .chance_building { display: none; }
 .chance_notice { position: relative; bottom: auto; right: auto; margin-top: 2rem; text-align: center; }
}
@media all and (max-width: 767px) {
 .chance_grid { grid-template-columns: 1fr; gap: 1.5rem; }
 .chance_heading { grid-column: 1; }
 .chance_heading h2 { font-size: 4rem; }
 .chance_card { gap: 1.25rem; padding: 1.5rem; min-height: 14rem; }
 .chance_card h3 { font-size: 17px; }
 .chance_card p { font-size: 12px; }
 .chance_card>img { width: 7rem; flex-basis: 7rem; }
}
@media (prefers-reduced-motion: reduce) { .chance_card { opacity: 1; transform: none; transition: none; } }
/* 프리미엄과 혜택 안내를 같은 화면에서 연결 (원본 전환 1.6초) */
@media all and (min-width: 1401px) {
    #section3 .premium_wrap { overflow: hidden; }
    #section3 .premium_wrap>.chance_wrap { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; visibility: hidden; pointer-events: none; background: transparent; transition: opacity .6s, visibility 0s 1.6s; }
    #section3 .premium_wrap.on2>.chance_wrap { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .6s, visibility 0s; }
    #section3 .premium_wrap .chance_heading { opacity: 0; transform: translateY(-6rem); transition: opacity 1.2s, transform 1.2s; }
    #section3 .premium_wrap .chance_card { opacity: 0; transition: opacity 1.2s, transform 1.2s; transition-delay: 0s; }
    #section3 .premium_wrap .chance_card01, #section3 .premium_wrap .chance_card03 { transform: translateX(-5rem); }
    #section3 .premium_wrap .chance_card02, #section3 .premium_wrap .chance_card04 { transform: translateX(5rem); }
    #section3 .premium_wrap.on2 .chance_heading,
    #section3 .premium_wrap.on2 .chance_card { opacity: 1; transform: none; transition-delay: .6s; }
    #section3 .premium_wrap .chance_backdrop { opacity: 0; transform: translateX(-12rem); transition: opacity 1.5s, transform 1.5s; }
    #section3 .premium_wrap.on2 .chance_backdrop { opacity: 1; transform: none; }
    #section3 .premium_wrap .chance_building { opacity: 0; transform: translateX(calc(-50% + 34rem)); transition: transform 1.6s, opacity 1.2s; }
    #section3 .premium_wrap.on2 .chance_building { opacity: 1; transform: translateX(-50%); }
    #section3 .premium_wrap .chance_notice { opacity: 0; transition: opacity 1.2s; }
    #section3 .premium_wrap.on2 .chance_notice { opacity: 1; transition-delay: .6s; }
}
@media all and (max-width: 1400px) {
    #section3 .premium_wrap { display: flex; flex-direction: column; }
    #section3 .premium_wrap>.chance_wrap { position: relative; width: 100%; height: auto; }
}
@media (prefers-reduced-motion: reduce) {
    #section3 .premium_wrap .chance_wrap,
    #section3 .premium_wrap .chance_heading,
    #section3 .premium_wrap .chance_card,
    #section3 .premium_wrap .chance_backdrop,
    #section3 .premium_wrap .chance_building,
    #section3 .premium_wrap .chance_notice { transition-duration: 0s; transition-delay: 0s; }
}

/* Translucent magnifier surface, below the circular detail map. */
.location-magnifier-connector { position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; opacity:0; transition:opacity .6s ease; }
.location-magnifier-connector path { fill:rgba(0,0,0,.08); }
.location-magnifier-connector.is-visible { opacity:1; }
@media(max-width:1400px) { .location-magnifier-connector { display:none; } }
@media(prefers-reduced-motion:reduce) { .location-magnifier-connector { transition:none; } }

/* Clip the lens corners so the connector meets its circular edge. */
.location_wrap .location_inset { border-radius:50%; overflow:hidden; }
.location-magnifier-connector { display:block; overflow:visible; }
.location-magnifier-connector path { fill:rgba(0,0,0,.09); }
@media(max-width:1400px) { .location-magnifier-connector { display:none; } }

/* Reference building: independent of the hidden benefit panel. */
@media(min-width:1401px) {
 #section3 .premium_wrap>.premium_building_original { display:block; position:absolute; width:90%; max-width:49.625rem; height:auto; left:auto; right:2.25rem; bottom:0; margin:0; opacity:1; visibility:visible; z-index:5; pointer-events:none; transform:translateX(0); transition:transform 1.6s; }
 #section3 .premium_wrap.on2>.premium_building_original { transform:translateX(-34rem); }
}
@media(max-width:1400px) { #section3 .premium_wrap>.premium_building_original { display:none; } }

/* Compact benefit cards: badge, heading and body share one left edge. */
.chance_wrap .chance_card,
.chance_wrap .chance_card>div,
.chance_wrap .chance_card h3,
.chance_wrap .chance_card p { text-align:left; }
.chance_wrap .chance_card { justify-content:flex-start; gap:1.25rem; padding:1.5rem; min-height:0; border-radius:1.75rem; }
.chance_wrap .chance_card>div { flex:1 1 auto; min-width:0; }
.chance_wrap .chance_card>img { flex:0 0 6rem; width:6rem; height:8.5rem; }
.chance_wrap .chance_card p { margin-top:.75rem; }
@media(min-width:1401px) {
 .chance_wrap .chance_grid { grid-template-columns:minmax(0,1fr) minmax(17rem,.8fr) minmax(0,1fr); }
 .chance_wrap .chance_card { width:100%; max-width:31rem; justify-self:start; }
 .chance_wrap .chance_card02,.chance_wrap .chance_card04 { justify-self:end; }
}
@media(max-width:767px) {
 .chance_wrap .chance_card { gap:1rem; padding:1.25rem; }
 .chance_wrap .chance_card>img { flex-basis:5rem; width:5rem; height:7rem; }
}

/* Lens and connector share the same compositor-driven expansion. */
.location-magnifier-connector { transition:none; }

/* Four equal benefit cards, with consistent copy and right padding. */
.chance_wrap .chance_card { text-align:left; padding:1.75rem 2rem; gap:1.5rem; }
.chance_wrap .chance_card>div { min-width:0; flex:1; text-align:left; }
.chance_wrap .chance_card h3,.chance_wrap .chance_card p { text-align:left; }
.chance_wrap .chance_card>img { flex:0 0 8rem; width:8rem; height:10rem; object-fit:contain; }
.chance_wrap .chance_card01,.chance_wrap .chance_card04 { background:#eeede6; }
.chance_wrap .chance_card02,.chance_wrap .chance_card03 { background:#f1f3eb; }
.chance_wrap .chance_card01 h3,.chance_wrap .chance_card04 h3 { color:#545f41; }
.chance_wrap .chance_card01 span,.chance_wrap .chance_card04 span { background:#8b7d6f; }
@media(min-width:1401px) {
 #section3 .premium_wrap .chance_wrap { position:absolute; inset:0; height:100%; opacity:0; visibility:hidden; pointer-events:none; background:transparent; transition:opacity .6s,visibility 0s 1.6s; }
 #section3 .premium_wrap.on2 .chance_wrap { opacity:1; visibility:visible; pointer-events:auto; transition:opacity .6s; }
 .chance_wrap .chance_grid { grid-template-columns:minmax(0,1fr) minmax(20rem,.7fr) minmax(0,1fr); height:78%; gap:2.75rem 1.5rem; align-content:center; }
 .chance_wrap .chance_card { width:100%; max-width:32rem; height:13.375rem; min-height:13.375rem; justify-self:start; }
 .chance_wrap .chance_card02,.chance_wrap .chance_card04 { justify-self:end; }
 .chance_wrap .chance_heading>p { white-space:nowrap; font-size:1.75rem; position:relative; left:50%; transform:translateX(-50%); width:max-content; }
}
@media(max-width:767px) {
 .chance_wrap .chance_card { padding:1.5rem; gap:1rem; }
 .chance_wrap .chance_card>img { flex-basis:6rem; width:6rem; height:8rem; }
}

/* 1105 리플렛 v2: SK하이닉스와 함께, 1250 세대 대단지 / 동일하이빌 파크밸리 (올리브 그린) */
.main_1250.main_keyvisual { container-type: inline-size; }
.main_keyvisual .keyvisual_row { display: flex; align-items: center; justify-content: center; gap: 3.5cqw; width: 100%; }
.main_keyvisual .keyvisual_row .keyvisual_number { flex: 0 0 74%; width: 74%; }
.main_keyvisual .keyvisual_digits .keyvisual_digit { background-color: #4b5b2c; -webkit-mask: url(../img/main_1250.png) center / 100% 100% no-repeat; mask: url(../img/main_1250.png) center / 100% 100% no-repeat; }
.main_keyvisual .keyvisual_unit { margin: 0; color: #4b5b2c; font-family: 'Paperlogy', 'Noto Sans KR', sans-serif; font-size: 11.5cqw; font-weight: 700; line-height: 1.02; letter-spacing: -0.04em; white-space: nowrap; opacity: 0; }
.main_wrap.on:not(.on2) .main_keyvisual .keyvisual_unit { animation: danji-title-in 1.2s 3.0s cubic-bezier(.22,1,.36,1) both; }
.main_txt_box .main_keyvisual .keyvisual_banner { letter-spacing: 0.06em; padding-left: 0.06em; white-space: nowrap; }
/* 261110 소스: 세대 대단지 아래 [1·2단지] */
.main_keyvisual .keyvisual_unit .keyvisual_danji { display: block; margin-top: 0.35em; font-size: 0.36em; font-weight: 500; letter-spacing: 0.02em; text-align: center; }
@media (prefers-reduced-motion: reduce) { .main_wrap .main_keyvisual .keyvisual_unit { animation: none !important; opacity: 1; } }
.premium_content .premium_eyebrow { display: block; margin-top: 1.125rem; font-style: normal; font-size: 0.8125rem; line-height: 1.4; opacity: 0.75; word-break: keep-all; }
.premium_content .premium_eyebrow + h3 { margin-top: 0.3rem; }
.premium_icon img { filter: hue-rotate(72deg) saturate(0.7) brightness(1.08); }

/* Contact map: a gently horizontal frame; preserve the full map artwork. */
#section5 .contact_wrap .sub_contact_map_box {
 width:576px; max-width:100%; height:auto; aspect-ratio:16 / 11;
 box-sizing:border-box; padding:1rem; margin-inline:auto;
 display:flex; align-items:center; justify-content:center; background:#fff;
}
#section5 .contact_wrap .sub_contact_map_box>img {
 display:block; width:100%; height:100%; min-height:0; object-fit:contain;
}
@media(max-width:767px) {
 #section5 .contact_wrap .sub_contact_map_box { width:min(576px,88vw); padding:.75rem; }
}

/* Latest pre-launch leaflet: original telephone accent #f18d00. */
.navi .top_fixed_wrap .tel_wrap .tel a p { color:#f18d00; }

/* 261110 소스(11/11 반영): PDF 원본 1250 키비주얼 - SK하이닉스(주황) + 2색 숫자 + 건물 선 + 세대 대단지 */
.main_keyvisual .kv1111 { position:relative; width:100%; aspect-ratio:362.27 / 216.05; }
.main_keyvisual .kv1111 > * { position:absolute; display:block; max-width:none; }
 .main_keyvisual .kv1111_sky { left:40.11%; top:0%; width:59.89%; height:72.38%; }
 .main_keyvisual .kv1111_sk { left:7.79%; top:37.82%; width:47.48%; height:10.72%; }
 .main_keyvisual .kv1111_num { left:0%; top:50.97%; width:80.26%; height:49.03%; }
 .main_keyvisual .kv1111_unit { left:81.89%; top:67.84%; width:17.81%; height:31.91%; }
.main_keyvisual .kv1111 .keyvisual_digit { position:absolute; inset:0; width:100%; height:100%; background:url(../img/kv1111_num.svg) center / 100% 100% no-repeat; -webkit-mask:none; mask:none; }
.main_keyvisual .kv1111 .digit1 { clip-path:inset(0 81.07% 0 0); }
.main_keyvisual .kv1111 .digit2 { clip-path:inset(0 53.38% 0 18.93%); }
.main_keyvisual .kv1111 .digit3 { clip-path:inset(0 28.1% 0 46.62%); }
.main_keyvisual .kv1111 .digit4 { clip-path:inset(0 0 0 71.9%); }
.main_txt_box .main_keyvisual .keyvisual_banner { width:92.03%; align-self:flex-end; margin-top:4.57cqw; margin-right:0.34%; background:#415429; }
.main_keyvisual .kv1111_sky, .main_keyvisual .kv1111_sk, .main_keyvisual .kv1111_unit { opacity:0; }
.main_wrap.on:not(.on2) .main_keyvisual .kv1111_sk { animation:danji-title-in 1.5s 0.3s cubic-bezier(.22,1,.36,1) both; }
.main_wrap.on:not(.on2) .main_keyvisual .kv1111_sky { animation:danji-title-in 1.6s 0.8s cubic-bezier(.22,1,.36,1) both; }
.main_wrap.on:not(.on2) .main_keyvisual .kv1111_unit { animation:danji-title-in 1.2s 3.0s cubic-bezier(.22,1,.36,1) both; }
@media (prefers-reduced-motion: reduce) { .main_wrap .main_keyvisual .kv1111_sky, .main_wrap .main_keyvisual .kv1111_sk, .main_wrap .main_keyvisual .kv1111_unit { animation:none !important; opacity:1; transform:none; } }

/* 헤더 전화번호: PDF 초록, 어두운 배경 헤더에서는 흰색 */
.navi .top_fixed_wrap .tel_wrap .tel a p { color:#415429; }
.navi.white .top_fixed_wrap .tel_wrap .tel a p,
.navi.over .top_fixed_wrap .tel_wrap .tel a p,
.navi.logo_white .top_fixed_wrap .tel_wrap .tel a p { color:#fff; }

/* 푸터 로고: PDF '2단지 661세대' 흰색 가로 로고 (글자 크기는 기존 로고와 같게) */
.f_left img.f_logo661 { width:21.375rem; max-width:100%; height:auto; }
@media all and (max-width: 767px) { .f_left img.f_logo661 { width:78%; } }

/* 6 BIG PREMIUM: 숫자 6 주황 (PDF 주황) */
#section3 .premium01 .premium_tit h2 { color:#f68b1e; }

/* 사업개요 SUMMARY 제목: 주황 (PDF 주황) */
.main_sum_box .sum_txt_box h2,
.main_sum_box .sum_txt_box h2 .c_blue { color:#f68b1e; }

/* 인트로 가로형 로고: '2단지 661세대' (글자 크기는 기존 가로형과 같게) */
.intro_logo.intro_logo_horizontal.intro_logo_661 { width:31.5rem; }
@media all and (max-width: 767px) { .intro_logo.intro_logo_horizontal.intro_logo_661 { width:23.625rem; } }

/* Unified horizontal phase-2 logo, without household count. */
.intro_logo.intro_logo_horizontal.intro_logo_661 { width:28rem; max-width:86vw; height:auto; }
.main_txt_box .main_logo.main_logo_horizontal { width:27rem; max-width:86vw; height:auto; }
.f_left img.f_logo661 { width:24rem; max-width:100%; height:auto; }
@media(max-width:767px) {
 .intro_logo.intro_logo_horizontal.intro_logo_661,
 .main_txt_box .main_logo.main_logo_horizontal { width:86vw; max-width:24rem; }
 .f_left img.f_logo661 { width:90%; max-width:24rem; }
}

/* Main 1250 visual only: approved stacked phase-2 / 661-household logo. */
.main_txt_box .main_logo.main_logo_vertical { width:17rem; max-width:70vw; height:auto; margin-top:2.25rem; }
@media(max-width:767px) {
 .main_txt_box .main_logo.main_logo_vertical { width:14rem; max-width:58vw; margin-top:1.75rem; }
}

/* Footer uses the header's rendered 85% size; keep the existing white artwork. */
.footer .f_left img.f_logo661 { width:clamp(255px,19.125vw,328.1px); max-width:100%; height:auto; }
@media(max-width:1400px) {
 .footer .f_left img.f_logo661 { width:min(35.7vw,328.1px); }
}
@media(max-width:767px) {
 .footer .f_left img.f_logo661 { width:min(221px,calc((100vw - 190px) * .85)); }
}
