@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600;700;800&family=Noto+Serif+KR:wght@400;500&family=Marcellus&family=Jost:wght@400;500;600;700;800&family=Montserrat:wght@700;800&display=swap');

:root {
	--point:#074f51;
	--paper:#f2f4ee;
	--brown:#c59c14;
	--headerBg:#fff;
	--headerLine:#dcdcda;
	--gutter:80rem;
	--maxw:1520rem;
	--headerHeight:90rem;
	--serif:'Noto Serif KR',serif;
	--fontEn:'Marcellus',serif;
}
/* 기존 rem 체계 유지: PC·모바일 모두 1rem = 1px. */
html {font-size:1px;scroll-behavior:smooth;scroll-padding-top:var(--headerHeight);}
body {color:#252927;font-size:16rem;line-height:1.5;letter-spacing:-.025em;}
.inner {width:calc(100% - var(--gutter) * 2);max-width:var(--maxw);margin:0 auto;}
img {display:block;max-width:100%;}
button,a,input,textarea {-webkit-tap-highlight-color:transparent;}
a:focus-visible,button:focus-visible {outline:2rem solid #ba9e62;outline-offset:5rem;}
#wrap,#content {min-width:0;}
._blind {position:absolute;overflow:hidden;width:1rem;height:1rem;clip-path:inset(50%);white-space:nowrap;}
.description {font-size:22rem;line-height:1.55;}
.description p+p {margin-top:26rem;}

@media screen and (max-width:1600px) {
	:root {--gutter:48rem;}
	.description {font-size:19rem;}
}

@media screen and (max-width:1200px) {
	:root {--gutter:32rem;--headerHeight:76rem;}
	body {font-size:15rem;}
	.description {font-size:18rem;}
}

@media screen and (max-width:639px) {
	:root {--gutter:24rem;--headerHeight:68rem;}
	.description {font-size:15rem;line-height:1.9;}
	.description p+p {margin-top:22rem;}
}

/*popup*/
.popup{padding:20px;;position:absolute;left:0;top:0;z-index:100;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction: column;transform:translate(0,-100%);transition:1s;}
.popup .dim{position:absolute;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.6);z-index:-1;}
.pop_sd{position:relative;z-index:1;text-align:center;overflow: hidden;padding: 0 20px;transition:0.5s;}
.pop_sd .swiper-wrapper{height:auto;}
.pop_sd .pop_close{margin-bottom:30px;}
.pop_sd .pop_close button{border:none;background:none;color:#fff;font-size:16px;}
.pop_sd ul{display:flex;gap: 0 10px;}
.pop_sd ul li img{display:block;width:100%;}
.pop_sd .pop_bot{margin-top:30px;display:flex;align-items:center;justify-content: center;}
.pop_sd .pop_chk{text-align:center;}
.pop_sd .pop_chk label{display:flex;gap: 0 10px;justify-content: center;}
.pop_sd .pop_chk label p{color:#fff;font-size:16px;}
.pop_sd .pop_arrow{display:none;align-items:center;justify-content: space-between;background-color: #fff;border-radius:50px;width: 90px;height: 32px;}
.pop_sd .pop_arr{height: 100%;flex-grow: 1;display: flex;align-items: center;justify-content: center;}
.pop_sd .pop_arr img{width:6px;}
.pop_sd .pop_page{color:#000;font-size:17px;width: auto;letter-spacing: 0.05em;display:flex;gap: 0 3px;}
.popup.on{transform:none;}
.popup.out .pop_sd{opacity:0;pointer-events:none;}
@media all and (max-width:1064px){
	.pop_sd{width: 80%;max-width: 360px;padding:0;}
	.pop_sd ul{gap:0;flex-direction: row;}
	.pop_sd .pop_close{margin-bottom:20px;}
	.pop_sd .pop_bot{margin-top:15px;justify-content: space-between;}
	.pop_sd .pop_arrow{display:flex;}
}
@media all and (max-width:600px){
	.pop_sd .pop_close button,
	.pop_sd .pop_chk label p,
	.pop_sd .pop_page{font-size:14px;}
}


/* 인트로 로딩 — 흰 화면이 걷히며 히어로 텍스트가 등장한다 */
._intro {position:fixed;inset:0;z-index:200;background:#fff;transition:opacity 1s ease,visibility 0s linear 1s;}
._intro.done {opacity:0;visibility:hidden;pointer-events:none;}


/* 헤더 */
._header {position:fixed;inset:0 0 auto;z-index:20;border-bottom:1rem solid var(--headerLine);transition:background .5s,color .5s,box-shadow .4s,transform .35s ease,border-color .5s;}
.sub ._header {background:var(--headerBg);}
.sub ._header.scrolled {box-shadow:0 4rem 24rem #122b2210;}
._header>.inner {position:relative;display:flex;align-items:center;justify-content:space-between;gap:36rem;max-width:1760rem;height:var(--headerHeight);}
._header .logo {flex:none;}
._header .logo img {width:113rem;height:auto;aspect-ratio:auto 113/35;}
._header .logo a {position:relative;display:block;}
._header .logo a::after {position:absolute;inset:0;background:#fff;mask:url('../images/logo-mforet.png') 0 0/100% 100% no-repeat;clip-path:inset(0 0 0 33%);content:'';opacity:0;transition:opacity .5s;pointer-events:none;}
._header .gnb {align-self:stretch;margin-left:auto;white-space:nowrap;font-size:17rem;font-weight:400;}
._header .gnb>ul {position:relative;display:flex;align-items:stretch;gap:50rem;height:100%;}
._header .gnb>ul>li {position:relative;display:flex;align-items:center;}
._header .gnb>ul>li>a {position:relative;display:flex;align-items:center;height:100%;transition:color .3s;font-weight:400;}
._header .gnb>ul>li>a::after {position:absolute;right:0;bottom:0;left:0;height:2rem;background:var(--brown);content:'';transform:scaleX(0);transform-origin:left;transition:transform .3s;}
._header .gnb>ul>li>a.active {color:var(--brown);}
._header .gnb>ul>li>a.active::after {transform:scaleX(1);}
._header .sub {position:absolute;top:var(--headerHeight);left:0;min-width:100%;padding:20rem 0 26rem;opacity:0;visibility:hidden;}
._header .sub a {display:block;padding:6rem 0;font-size:15rem;font-weight:400;line-height:1.4;color:#252927;transition:color .25s;}
._header .sub a.active {color:var(--brown);}
._header .contact {display:flex;flex:none;align-items:center;gap:8rem;margin-left:auto;white-space:nowrap;}
._header .contact span {padding:3rem 8rem;border-radius:20rem;background:var(--point);color:#fff;font-size:13rem;}
._header .contact strong {font-family:'Jost',sans-serif;font-size:26rem;font-weight:600;line-height:1;letter-spacing:-.035em;}
._header .jsNavToggle {display:none;}
._header .jsNavClose,._header .jsNavBackdrop {display:none;}

@media screen and (min-width:1201px) {
	._header::before {position:absolute;top:100%;right:0;left:0;height:220rem;border-top:1rem solid var(--headerLine);border-bottom:1rem solid var(--headerLine);background:var(--headerBg);box-shadow:0 24rem 40rem -20rem #122b2233;content:'';opacity:0;visibility:hidden;}
	._header:has(.gnb:hover)::before,._header:has(.gnb:focus-within)::before,._header .gnb:hover .sub,._header .gnb:focus-within .sub {opacity:1;visibility:visible;}
	/* 서브 메뉴 아래를 가로로 잇는 투명 영역: 1뎁스와 서브, 서브 칸 사이를 오갈 때 hover가 끊겨 메뉴가 닫히는 것을 막는다. 높이는 ::before 패널과 맞춘다.
	   닫혀 있을 때는 pointer-events:none 이라 이 영역이 메뉴를 여는 트리거가 되지 않는다(메뉴는 .gnb 위 hover로만 열림). */
	._header .gnb>ul::before {position:absolute;top:100%;left:0;right:0;height:220rem;content:'';pointer-events:none;}
	._header .gnb:hover>ul::before,._header .gnb:focus-within>ul::before {pointer-events:auto;}
	._header .gnb>ul>li:hover>a::after,._header .gnb>ul>li:focus-within>a::after {transform:scaleX(1);}
	._header .gnb a:hover,._header .gnb>ul>li:hover>a,._header .gnb>ul>li:focus-within>a {color:var(--brown);}
}

@media screen and (min-width:1201px) and (max-width:1600px) {
	._header>.inner {gap:24rem;}
	._header .gnb {font-size:14rem;}
	._header .gnb>ul {gap:26rem;}
	._header .contact strong {font-size:20rem;}
}

@media screen and (max-width:1200px) {
	._header {transition:background .5s,color .5s,border-color .5s,box-shadow .35s ease,transform .3s ease;}
	._header.headHide {transform:translateY(-100%);}
	.navOn ._header {transform:none;}
	._header>.inner {gap:24rem;}
	._header .logo img {width:105rem;}
	._header .contact strong {font-size:20rem;}
	._header .jsNavToggle {position:relative;display:flex;flex:none;flex-direction:column;justify-content:center;align-items:center;width:35rem;height:35rem;margin-right:-8rem;padding:0;border:0;background:none;cursor:pointer;}
	._header .jsNavToggle>span {display:block;width:28rem;height:2rem;background:var(--point);transition:background .4s;}
	._header .jsNavToggle>span~span {margin-top:6rem;}
	.navOn {overflow:hidden;}
}

@media screen and (max-width:639px) {
	._header>.inner {gap:16rem;}
	._header .logo img {width:92rem;}
	._header .contact strong {font-size:17rem;}
	._header .contact span {display:none;}
}


/* 서브 공통 */
.sub #content {padding-top:var(--headerHeight);}


/* 브랜드 소개 */
._brandHero {position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center;}
._brandHero>img {position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 81%;}
._brandHero:not(.heroMotionReady)>img {transform:scale(1.08);}
._brandHero::after {position:absolute;inset:0;z-index:-1;background:#0008;content:'';}
._brandHero .title>p {padding:.2em 0;font-size:98rem;font-family:var(--fontEn);font-weight:400;line-height:.75;letter-spacing:0;}
._brandHero h1 {margin-top:8rem;font-size:40rem;font-weight:500;line-height:1.4;}
._brandGreeting {padding:156rem 0 154rem;text-align:center;background:#fff;color:#111;}
._brandGreeting .heading>p {font-size:40rem;font-weight:500;line-height:1.2;}
._brandGreeting h2 {font-size:60rem;font-weight:700;line-height:1.2;color:var(--point);letter-spacing:-.045em;}
._brandGreeting .message {margin-top:100rem;font-size:24rem;line-height:34rem;}
._brandGreeting .message p+p {margin-top:34rem;}
._brandVision {padding:170rem 0 175rem;background:#f6f6f4;text-align:center;color:#202020;}
._brandVision h2 {font-size:54rem;font-weight:700;line-height:70rem;letter-spacing:-.045em;}
._brandVision h2 span {color:var(--point);}
._brandVision .lead {margin-top:40rem;font-size:22rem;line-height:34rem;}
._brandVision .lead p+p {margin-top:34rem;}
._brandVision .values {position:relative;display:flex;justify-content:space-between;gap:48rem;max-width:1204rem;margin:111rem auto 0;padding:42rem 40rem 0;isolation:isolate;}
._brandVision .values::before {position:absolute;inset:0 0 auto;z-index:-1;height:426rem;border-radius:220rem;background:#fff;content:'';}
._brandVision .values li {flex:1;min-width:0;}
._brandVision .circle {position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;aspect-ratio:1;background:#e4ebeb;border-radius:50%;color:var(--point);font-size:36rem;font-weight:700;line-height:1.3;letter-spacing:-.04em;}
._brandVision .values li:nth-child(2) .circle {background:var(--point);color:#fff;}
._brandVision .circle::after {position:absolute;top:100%;left:50%;height:64rem;border-left:1rem dashed #579496;content:'';}
._brandVision .values .en {margin-top:79rem;font-size:24rem;font-weight:700;line-height:1.5;white-space:nowrap;letter-spacing:-.02em;}
._brandVision .values .text {margin-top:24rem;font-size:17rem;line-height:1.75;color:#555;letter-spacing:-.04em;}
._brandVision .values .text p+p {margin-top:20rem;}

@media screen and (max-width:1600px) {
	._brandGreeting {padding:130rem 0;}
	._brandGreeting .heading>p {font-size:32rem;}
	._brandGreeting h2 {font-size:50rem;}
	._brandGreeting .message {margin-top:80rem;}
	._brandVision {padding:130rem 0 145rem;}
	._brandVision h2 {font-size:46rem;line-height:1.35;}
}

@media screen and (max-width:1440px) {
	._brandGreeting {padding:100rem 0 110rem;}
	._brandGreeting .heading>p {font-size:28rem;}
	._brandGreeting h2 {font-size:44rem;}
	._brandGreeting .message {margin-top:60rem;font-size:20rem;line-height:30rem;}
	._brandGreeting .message p+p {margin-top:26rem;}
	._brandVision {padding:110rem 0 120rem;}
	._brandVision h2 {font-size:40rem;line-height:54rem;}
	._brandVision .lead {margin-top:32rem;font-size:20rem;line-height:30rem;}
	._brandVision .values {max-width:980rem;gap:36rem;margin-top:70rem;padding:32rem 30rem 0;}
	._brandVision .values::before {height:350rem;border-radius:180rem;}
	._brandVision .circle {font-size:30rem;}
	._brandVision .circle::after {height:50rem;}
	._brandVision .values .en {margin-top:60rem;font-size:20rem;}
	._brandVision .values .text {font-size:15rem;}
	._brandHero .title>p {font-size:85rem;}
	._brandHero h1 {font-size:34rem;}
}

@media screen and (max-width:1200px) {
	._brandHero .title>p {font-size:63rem;}
	._brandHero h1 {margin-top:4rem;font-size:26rem;}
	._brandGreeting .heading>p {font-size:28rem;}
	._brandGreeting h2 {font-size:40rem;}
	._brandGreeting .message {font-size:21rem;line-height:1.65;}
	._brandVision h2 {font-size:38rem;}
	/* 흰 배경 높이 = 원 지름 + 위아래 25rem. 원 지름은 .values 콘텐츠 폭(100cqw)에서 gap 두 개를 빼고 3등분한다. */
	._brandVision .values {gap:25rem;padding:25rem 25rem 0;container-type:inline-size;}
	._brandVision .values::before {height:calc((100cqw - 50rem) / 3 + 50rem);}
	._brandVision .circle {font-size:22rem;}
	._brandVision .values .en {font-size:17rem;white-space:normal;}
	._brandVision .values .text {font-size:14rem;}
	._brandVision .values .text br {display:none;}
}

@media screen and (max-width:639px) {
	._brandHero .title>p {font-size:43rem;}
	._brandHero h1 {font-size:20rem;}
	._brandGreeting {padding:80rem 0;}
	._brandGreeting .heading>p {font-size:18rem;}
	._brandGreeting h2 {max-width:350rem;margin:14rem auto 0;font-size:30rem;line-height:1.4;word-break:keep-all;}
	._brandGreeting h2 span {display:block;}
	._brandGreeting .message {margin-top:45rem;font-size:16rem;line-height:1.9;word-break:keep-all;}
	._brandGreeting .message br {display:none;}
	._brandGreeting .message p+p {margin-top:26rem;}
	._brandVision {padding:80rem 0 90rem;}
	._brandVision h2 {font-size:28rem;line-height:1.45;word-break:keep-all;}
	._brandVision .lead {margin-top:24rem;font-size:15rem;line-height:1.9;}
	._brandVision .lead br {display:none;}
	._brandVision .lead p+p {margin-top:22rem;}
	._brandVision .values {flex-direction:column;gap:54rem;max-width:300rem;margin-top:55rem;padding:20rem 20rem 0;}
	._brandVision .values::before {display:none;}
	._brandVision .circle {font-size:28rem;box-shadow:0 0 0 20rem #fff;}
	._brandVision .circle::after {height:37rem;}
	._brandVision .values .en {margin-top:48rem;font-size:17rem;}
	._brandVision .values .text {margin-top:16rem;font-size:15rem;line-height:1.8;}
}


/* 등장 효과 */
.motionReady ._sectionTit .lineInner {transform:none;transition:none;}
.revealReady {opacity:0;transform:translateY(24rem);transition:opacity 1.2s ease,transform 1.2s ease;transition-delay:var(--revealDelay,.15s);}
.revealReady.visible {opacity:1;transform:none;}
._sectionTit {font-family:var(--serif);font-size:54rem;font-weight:500;line-height:1.3;letter-spacing:-.02em;}
._sectionTit .line {display:block;overflow:hidden;}
._sectionTit .lineInner {display:block;transform:translateY(110%);transition:transform 1.4s cubic-bezier(.19,1,.22,1);}
._sectionTit .line:nth-child(2) .lineInner {transition-delay:.16s;}
._sectionTit .line:nth-child(3) .lineInner {transition-delay:.32s;}
._sectionTit.revealed .lineInner {transform:translateY(0);}
.charTitle .titleWord {display:inline-block;white-space:nowrap;perspective:900rem;}
.charTitle span.titleChar {display:inline-block;transform-origin:50% 60%;}
._brandHero:not(.heroMotionReady) .title,._subHero:not(.heroMotionReady) .title {visibility:hidden;}
.motionReady .charTitle .line {overflow:visible;}

@media screen and (max-width:1600px) {
	._sectionTit {font-size:44rem;}
}

@media screen and (max-width:1200px) {
	._sectionTit {font-size:38rem;}
}

@media screen and (max-width:639px) {
	._sectionTit {font-size:28rem;line-height:1.6;letter-spacing:-.065em;}
}


/* 메인 배경 영상 */
._mainVis {position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:760rem;height:100svh;color:#fff;overflow:hidden;background:#1d3436;}
._mainVis .media {position:absolute;inset:0;z-index:-2;overflow:hidden;container-type:size;}
/* 서브 본문 영상 블록. 크기(aspect-ratio 등)는 놓이는 자리의 규칙이 정한다. */
._videoMedia {position:relative;overflow:hidden;container-type:size;background:#1d3436;}
._mainVis .media>.poster,._videoMedia>.poster {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
/* Vimeo 16:9 영상을 object-fit:cover처럼 채우고, 재생이 시작되면 첫 프레임 포스터 위로 드러낸다. 휠·클릭은 페이지가 받는다. */
._mainVis .media>iframe,._videoMedia>iframe {position:absolute;top:50%;left:50%;width:max(100cqw,177.78cqh);height:max(100cqh,56.25cqw);border:0;opacity:0;transform:translate(-50%,-50%);pointer-events:none;transition:opacity .6s;}
._mainVis.videoReady .media>iframe,._videoMedia.videoReady>iframe {opacity:1;}
._mainVis::after {position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#07191b5c,transparent 75%),linear-gradient(0deg,#07191b80,transparent 80%);content:'';}
._mainVis>.inner {padding:calc(var(--headerHeight) + 70rem) 0 96rem;}
._mainVis .copy {max-width:680rem;}
._mainVis .description {margin-top:30rem;color:#fffffff0;text-shadow:0 1rem 12rem #0003;}
._mainVis.hero {align-items:center;justify-content:center;padding:calc(var(--headerHeight) + 60rem) var(--gutter) 100rem;text-align:center;}
._mainVis.hero::after {background:#07191b40;}
._mainVis.hero ._sectionTit {font-size:66rem;letter-spacing:-.02em;}
._mainVis.hero .signature {margin-top:20rem;font-size:40rem;font-weight:600;letter-spacing:-.02em;}
._mainVis.hero .signatureVector {display:inline-block;max-width:100%;height:auto;overflow:visible;vertical-align:middle;}
._mainVis.hero .signaturePath {stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0;}
._mainVis.life .copy {width:500rem;margin-left:auto;}
._mainVis.life::after {background:linear-gradient(270deg,#07191b80,transparent 80%),linear-gradient(0deg,#07191b66,transparent 80%);}

@media screen and (max-width:1600px) {
	._mainVis {min-height:680rem;}
	._mainVis.hero ._sectionTit {font-size:54rem;}
	._mainVis.hero .signature {font-size:30rem;}
	._mainVis.life .copy {width:430rem;}
	._mainVis>.inner {padding-bottom:80rem;}
}

@media screen and (max-width:1200px) {
	._mainVis {min-height:660rem;max-height:1100rem;}
	._mainVis>.inner {padding-bottom:80rem;}
	._mainVis.hero ._sectionTit {font-size:46rem;}
	._mainVis.hero .signature {font-size:28rem;}
}

@media screen and (max-width:639px) {
	._mainVis {min-height:660rem;max-height:900rem;}
	._mainVis>.inner {padding-top:120rem;padding-bottom:64rem;}
	._mainVis.hero {padding-top:100rem;}
	._mainVis.hero ._sectionTit {font-size:30rem;line-height:1.7;}
	._mainVis.hero .titlePart {display:block;}
	._mainVis.hero .signature {margin-top:20rem;font-size:23rem;}
	._mainVis .description {margin-top:22rem;}
	._mainVis.life .copy {width:auto;margin-left:0;}
	._mainVis::after,._mainVis.life::after {background:linear-gradient(0deg,#07191bcc,transparent 95%);}
}


/* 명당 */
._mainHeritage {position:relative;isolation:isolate;min-height:760rem;height:50vw;max-height:1080rem;overflow:hidden;background:#fff;}
/* 분양 조감도라 동 건물(원본 1920px 중 x 768~1756)이 잘리면 안 된다. 85%로 동 쪽을 남기고,
   폭/높이 1.6보다 좁은 PC 창은 조감도를 1.6 비율로 줄여 아래에 붙여 왼쪽 문구와 겹치지 않게 한다. */
._mainHeritage .art {position:absolute;inset:auto 0 0;z-index:-1;width:100%;aspect-ratio:1.6;max-height:100%;}
._mainHeritage .art img {width:100%;height:100%;object-fit:cover;object-position:85% center;}
._mainHeritage .artLayer {position:absolute;inset:0;display:none;mix-blend-mode:multiply;}
._mainHeritage .mountains {mask-image:url('../images/heritage-mountain-mask.svg');mask-size:cover;mask-position:85% center;mask-repeat:no-repeat;}
._mainHeritage .clouds {pointer-events:none;}
._mainHeritage .cloudPiece {position:absolute;overflow:hidden;}
._mainHeritage .art .cloudPiece img {position:absolute;max-width:none;height:auto;opacity:.8;filter:brightness(1.035);}
._mainHeritage .cloudOne {top:22%;left:48%;width:13%;aspect-ratio:700 / 340;}
._mainHeritage .cloudTwo {top:14%;left:85%;width:17%;aspect-ratio:720 / 390;}
._mainHeritage .cloudThree {top:24%;left:66%;width:21%;aspect-ratio:1020 / 510;}
._mainHeritage .art .cloudOne img {top:-14.7059%;left:-17.1429%;width:219.4286%;}
._mainHeritage .art .cloudTwo img {top:-50%;left:-109.7222%;width:213.3333%;}
._mainHeritage .art .cloudThree img {top:-95.098%;left:-3.4314%;width:150.5882%;}
.motionReady ._mainHeritage .artPoster {visibility:hidden;}
.motionReady ._mainHeritage .artLayer {display:block;}
._mainHeritage>.inner {padding-top:250rem;}
._mainHeritage ._sectionTit {color:var(--point);}
._mainHeritage .description {margin-top:24rem;}
._mainHeritage .description>p {font-size:26rem;line-height:1.55;}
._mainHeritage .description ul {margin-top:30rem;color:var(--point);font-size:22rem;line-height:1.8;}
._mainHeritage .description li::before {content:'•';margin-right:8rem;}

@media screen and (min-width:1201px) and (min-height:650px) {
	.motionReady ._mainHeritage {height:100svh;min-height:0;max-height:none;}
	.motionReady ._mainHeritage>.inner {padding-top:max(115rem,16vh);}
}

@media screen and (max-width:1600px) {
	._mainHeritage>.inner {padding-top:130rem;}
	._mainHeritage .description>p {font-size:21rem;}
	._mainHeritage .description ul {font-size:17rem;}
}

@media screen and (max-width:1200px) {
	._mainHeritage {height:auto;min-height:850rem;}
	._mainHeritage>.inner {padding-top:100rem;}
	._mainHeritage .art {height:min(600rem,90vw);}
}

@media screen and (max-width:639px) {
	._mainHeritage {min-height:750rem;}
	._mainHeritage>.inner {padding-top:78rem;}
	._mainHeritage ._sectionTit {font-size:25rem;}
	._mainHeritage .description {margin-top:20rem;}
	._mainHeritage .description>p {font-size:15rem;}
	._mainHeritage .description ul {margin-top:20rem;font-size:14rem;}
	._mainHeritage .art {height:min(390rem,90vw);}
	._mainHeritage .cloudOne {top:12%;left:22%;width:23%;}
	._mainHeritage .cloudTwo {top:8%;left:78%;width:29%;}
	._mainHeritage .cloudThree {top:21%;left:48%;width:33%;}
}


/* 웰니스 시설 */
._mainWellness {overflow:hidden;padding:190rem 0 60rem;background:var(--paper);color:var(--point);}
._mainWellness ._sectionTit {font-family:var(--fontEn);font-size:90rem;font-weight:400;line-height:1.05;letter-spacing:0;}
._mainWellness .description {margin-top:25rem;color:#252927;font-size:26rem;line-height:1.55;}
._mainWellness .gallery {position:relative;overflow:auto;margin:64rem 0 0 max(var(--gutter),calc((100% - var(--maxw)) / 2));}
._mainWellness .galleryTrack {position:relative;display:flex;align-items:flex-start;gap:28rem;width:max-content;padding-right:28rem;}
._mainWellness .card {position:relative;flex:none;width:303rem;height:auto;}
._mainWellness .card.lowered {padding-top:73rem;}
._mainWellness .photo {overflow:hidden;aspect-ratio:303 / 403;}
._mainWellness .imageMotion {width:100%;height:100%;}
._mainWellness .photo img {width:100%;height:100%;object-fit:cover;transform:translateZ(0);backface-visibility:hidden;transition:transform 1s cubic-bezier(.2,.7,.2,1);}
._mainWellness figcaption {margin-top:14rem;font-size:18rem;line-height:1.65;}
._mainWellness .card.lowered figcaption {position:absolute;top:35rem;left:0;margin:0;}
._mainWellness.rollingReady .gallery {overflow:visible;cursor:grab;touch-action:pan-y pinch-zoom;user-select:none;}
._mainWellness.rollingReady .galleryTrack {animation:wellnessRoll var(--galleryDuration,27s) linear infinite paused;}
._mainWellness.rolling .galleryTrack {animation-play-state:running;}
._mainWellness .gallery.dragging {cursor:grabbing;}
._mainWellness .gallery.dragging .galleryTrack {animation-play-state:paused;}
@keyframes wellnessRoll {to {transform:translateX(-50%);}}

@media (hover:hover) {
	._mainWellness .gallery:hover .galleryTrack {animation-play-state:paused;}
	._mainWellness .card:hover .photo img {transform:translateZ(0) scale(1.12);}
}

@media (prefers-reduced-motion:reduce) {
	._mainWellness.rollingReady .galleryTrack {animation-play-state:paused;}
}

@media screen and (max-width:1600px) {
	._mainWellness {padding:110rem 0 100rem;}
	._mainWellness ._sectionTit {font-size:76rem;}
	._mainWellness .description {font-size:21rem;}
	._mainWellness .card {width:280rem;}
}

@media screen and (max-width:1200px) {
	._mainWellness {padding:90rem 0;}
	._mainWellness ._sectionTit {font-size:68rem;}
	._mainWellness .description {font-size:19rem;}
	._mainWellness .card {width:280rem;}
}

@media screen and (max-width:639px) {
	._mainWellness {padding:72rem 0 70rem;}
	._mainWellness ._sectionTit {font-size:52rem;}
	._mainWellness .description {margin-top:20rem;font-size:16rem;}
	._mainWellness .gallery {margin-top:28rem;}
	._mainWellness .galleryTrack {gap:20rem;padding-right:20rem;}
	._mainWellness .card {width:240rem;}
	._mainWellness .card.lowered {padding-top:46rem;}
	._mainWellness .card.lowered figcaption {top:16rem;}
	._mainWellness figcaption {font-size:13rem;}
}


/* 푸터 */
._footer {padding:120rem 0 135rem;background:#000;color:#fff;text-align:center;letter-spacing:-.01em;}
._footer .name {font-size:26rem;font-weight:700;}
._footer .sns {display:flex;justify-content:center;gap:4rem;margin-top:24rem;}
._footer .sns a {display:flex;justify-content:center;align-items:center;gap:12rem;width:143rem;height:43rem;border-radius:5rem;background:#373737;font-size:14rem;color:#fff;transition:opacity .25s;}
._footer .sns a[href]:hover {opacity:.6;}
._footer .sns svg {flex:none;width:22rem;height:22rem;}
._footer .sns a:nth-child(2) svg {width:29rem;}
._footer .company {display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin-top:42rem;color:#cccccc;font-size:16rem;}
._footer .company span+span::before {content:'|';margin:0 16rem;color:#626964;}
._footer .notice {margin-top:30rem;color:#cccccc;font-size:14rem;line-height:1.8;}
._footer .copy {margin-top:5rem;font-size:14rem;line-height:1.8;color:#cccccc;}

@media screen and (max-width:639px) {
	._footer {padding:80rem 0 64rem;}
	._footer .name {font-size:17rem;}
	._footer .sns {gap:4rem;margin-top:20rem;}
	._footer .sns a {width:calc((100% - 8rem) / 3);max-width:143rem;gap:7rem;font-size:12rem;}
	._footer .sns svg {width:18rem;height:18rem;}
	._footer .sns a:nth-child(2) svg {width:23rem;}
	._footer .company {flex-direction:column;gap:8rem;margin-top:30rem;font-size:12rem;}
	._footer .company span+span::before {display:none;}
	._footer .notice {font-size:11rem;}
	._footer .copy {margin-top:12rem;font-size:10rem;}
}

@media (prefers-reduced-motion:reduce) {
	html {scroll-behavior:auto;}
	.revealReady,._sectionTit .lineInner {opacity:1;transform:none;transition:none;}
	._mainWellness .photo img,._mainVis .media>iframe,._videoMedia>iframe {transition:none;}
}


/* 풀페이지 — 플러그인의 이동 좌표 대신 같은 자리의 장면을 겹쳐 전환한다. */
html.fullpageReady {scroll-behavior:auto;}
.fullpageReady #content {height:100vh;}
.fullpageReady #content>.fp-section {position:absolute;inset:0;min-height:0;max-height:none;visibility:hidden;opacity:0;pointer-events:none;transition:opacity 1s cubic-bezier(.4,0,.2,1),visibility 0s linear 1s;}
.fullpageReady #content>.fp-section.active {z-index:2;visibility:visible;opacity:1;pointer-events:auto;transition:opacity 1s cubic-bezier(.4,0,.2,1),visibility 0s;}
.fullpageReady #content>.fp-section.leaving {z-index:1;visibility:visible;opacity:1;transition:visibility 0s linear 1s;}
.fullpageReady #content>._mainVis {height:100vh;}
.fullpageReady ._mainVis.hero {padding-top:var(--headerHeight);padding-bottom:0;}
.fullpageReady ._mainHeritage>.inner {padding-top:max(140rem,27vh);}
.fullpageReady ._mainWellness {display:flex;flex-direction:column;justify-content:center;padding:calc(var(--headerHeight) + 40rem) 0 40rem;}
.fullpageReady ._mainWellness>.inner {flex:none;}
.fullpageReady ._mainWellness .gallery {flex:none;width:calc(100% - max(var(--gutter),calc((100% - var(--maxw)) / 2)));margin-top:clamp(28rem,4vh,44rem);}
.fullpageReady ._mainWellness .photo {height:clamp(200rem,32vh,360rem);aspect-ratio:auto;}
.fullpageReady ._mainWellness .card.lowered {padding-top:clamp(42rem,6vh,64rem);}
.fullpageReady ._mainWellness .card.lowered figcaption {top:calc(clamp(42rem,6vh,64rem) - 38rem);}
.fullpageReady #content>._footer.fp-auto-height {top:100vh;bottom:auto;z-index:4;visibility:visible;opacity:1;transition:none;}
.fullpageReady.footerOn #content>._mainWellness {visibility:visible;opacity:1;pointer-events:none;transition:none;}
.sentence {display:block;overflow:hidden;}
.sentence>span {display:block;}

@media screen and (min-width:1201px) and (max-height:800px) {
	.fullpageReady ._mainWellness ._sectionTit {font-size:64rem;}
	.fullpageReady ._mainWellness .description {margin-top:14rem;font-size:19rem;}
	.fullpageReady ._mainWellness .gallery {margin-top:28rem;}
	.fullpageReady ._mainHeritage>.inner {padding-top:155rem;}
}


/* 수정2 헤더 — 메인은 배경·라인 없이 투명, 서브는 흰 배경. 메인·브랜드 히어로 위에서는 투명하고 글자와 로고 글자를 흰색으로 */
.main ._header:not(.onLight),.brand ._header:not(.onLight) {background:transparent;border-bottom-color:transparent;box-shadow:none;color:#fff;}
.main ._header {border-bottom-color:transparent;}
.main ._header:not(.onLight) .logo a::after,.brand ._header:not(.onLight) .logo a::after {opacity:1;}
._header .gnb .sub a:is(:hover,:focus-visible,.active) {color:var(--brown);}

@media screen and (min-width:1201px) {
	.main ._header:has(.gnb:hover),.main ._header:has(.gnb:focus-within),.brand ._header:has(.gnb:hover),.brand ._header:has(.gnb:focus-within) {background:#fff;color:#252927;border-bottom-color:var(--headerLine);}
	.main ._header:has(.gnb:hover) .logo a::after,.main ._header:has(.gnb:focus-within) .logo a::after,.brand ._header:has(.gnb:hover) .logo a::after,.brand ._header:has(.gnb:focus-within) .logo a::after {opacity:0;}
}

@media screen and (max-width:1200px) {
	.main ._header:not(.onLight) .jsNavToggle>span,.brand ._header:not(.onLight) .jsNavToggle>span {background:#fff;}
	.navOn .main ._header,.navOn .brand ._header {color:#252927;}
	.navOn .brand ._header {background:#fff;}
	.navOn .main ._header .jsNavToggle>span,.navOn .brand ._header .jsNavToggle>span {background:var(--point);}
}


/* 수정2 브랜드 현재 위치 */
.brand #content {padding-top:0;}
._subNav {position:sticky;top:var(--headerHeight);z-index:10;border-bottom:1rem solid #ddd;background:#fff;color:#202020;font-size:16rem;font-weight:400;letter-spacing:-.04em;}
._subNav>.inner {display:flex;align-items:center;max-width:1200rem;height:80rem;}
._subNav .home {display:flex;align-items:center;align-self:stretch;flex:none;width:30rem;}
._subNav .home img {width:17rem;height:17rem;object-fit:contain;}
._subNav .category {position:relative;align-self:stretch;flex:none;width:210rem;border-right:1rem solid #ddd;}
._subNav .category::details-content {content-visibility:visible;}
._subNav summary {display:flex;align-items:center;justify-content:space-between;height:100%;padding-right:25rem;line-height:17rem;cursor:pointer;list-style:none;}
._subNav summary::-webkit-details-marker {display:none;}
._subNav .icoToggle {position:relative;display:block;flex:none;width:15rem;height:15rem;}
._subNav .icoToggle::before {position:absolute;top:50%;left:0;width:100%;height:1rem;margin-top:-.5rem;background:#202020;content:'';}
._subNav .icoToggle::after {position:absolute;top:0;left:50%;width:1rem;height:100%;margin-left:-.5rem;background:#202020;content:'';transition:transform .25s ease,opacity .2s ease;transform-origin:center;}
._subNav .category[open] .icoToggle::after {transform:scaleY(0);opacity:0;}
._subNav .dropdown {position:absolute;top:100%;left:-30rem;right:-1rem;overflow:hidden;max-height:0;visibility:hidden;pointer-events:none;transition:max-height .6s ease,visibility 0s linear .6s;}
._subNav .dropdown::after {position:absolute;right:0;bottom:0;left:0;height:1rem;background:#ddd;content:'';}
._subNav .category[open] .dropdown {max-height:350rem;visibility:visible;pointer-events:auto;transition-delay:0s;}
._subNav .menu {padding:5rem 0 15rem;background:#fff;border:1rem solid #ddd;border-top:0;}
._subNav .menu a {display:block;padding:0 30rem;line-height:45rem;transition:color .25s;}
._subNav .menu a:is(:hover,:focus-visible) {color:var(--brown);}
._subNav .tabs {display:flex;align-self:stretch;gap:44rem;margin-left:auto;}
._subNav .tabs a {position:relative;display:flex;align-items:center;white-space:nowrap;transition:color .25s;}
._subNav .tabs a:is(:hover,:focus-visible,.active) {color:var(--brown);}
._subNav .tabs a::after {position:absolute;right:0;bottom:-1rem;left:0;height:2rem;background:var(--brown);content:'';transform:scaleX(0);transition:transform .4s;}
._subNav .tabs a:is(:hover,:focus-visible,.active)::after {transform:scaleX(1);}
._brandGreeting,._brandVision {scroll-margin-top:80rem;}
.brand ._brandHero {height:740rem;}
.brand ._brandHero .title {padding-top:90rem;}
.brand ._brandGreeting {padding-top:74rem;}

@media screen and (max-width:1600px) {
	.brand ._brandHero {height:610rem;}
}

@media screen and (max-width:1440px) {
	.brand ._brandHero {height:560rem;}
	.brand ._brandHero .title {padding-top:70rem;}
}

@media screen and (max-width:1200px) {
	/* 모바일은 제주 포레나처럼 짧은 서브 비주얼 아래에 하위 탭 박스를 반쯤 겹친다. 전체 메뉴는 드로어가 담당한다. */
	.brand ._brandHero {height:auto;padding:calc(var(--headerHeight) + 90rem) 0 130rem;}
	.brand ._brandHero .title {padding-top:0;}
	._subNav {position:relative;top:auto;margin-top:-25rem;border:0;background:none;}
	._subNav>.inner {height:auto;background:#fff;box-shadow:0 5rem 10rem #0003;}
	._subNav .home,._subNav .category {display:none;}
	._subNav .tabs {flex:1;gap:0;margin:0;}
	._subNav .tabs a {flex:1;justify-content:center;line-height:50rem;color:#000;}
	._subNav .tabs a.active {background:var(--point);color:#fff;}
	._subNav .tabs a::after {display:none;}
	._brandGreeting,._brandVision {scroll-margin-top:0;}
}

@media screen and (max-width:639px) {
	.brand ._brandHero {padding:calc(var(--headerHeight) + 44rem) 0 70rem;}
	._subNav {margin-top:-20rem;font-size:14rem;}
	._subNav .tabs a {line-height:40rem;}
}

@media (prefers-reduced-motion:reduce) {
	._subNav summary>img,._subNav .dropdown,._subNav .tabs a::after {transition:none;}
}


/* 수정2 푸터 위로 이동 */
._footer {position:relative;}
._footer .jsTop {position:absolute;top:46rem;right:var(--gutter);display:grid;place-items:center;width:32rem;height:52rem;color:#fff;}
._footer .jsTop svg {width:12rem;height:44rem;transition:transform .3s;}
._footer .jsTop:hover svg {transform:translateY(-6rem);}

@media screen and (max-width:639px) {
	._footer .jsTop {top:16rem;}
}

@media (prefers-reduced-motion:reduce) {
	.introReady .main ._header .logo,.introReady .main ._header .gnb>ul>li,.introReady .main ._header .contact {animation:none;}
	._footer .jsTop svg {transition:none;}
}


/* 포레나 참고 헤더 등장 및 모바일 드로어 */
@media screen and (min-width:1201px) {
	.main ._header .logo,.main ._header .contact {opacity:0;}
	.main ._header .logo {transform:translateX(-24rem);}
	.main ._header .contact {transform:translateX(32rem);}
	.main ._header .gnb>ul>li {opacity:0;}
	.main ._header .gnb>ul {column-gap:12rem;transition:column-gap 1.1s cubic-bezier(.16,1,.3,1) .65s;}
	.introReady .main ._header .logo,.introReady .main ._header .contact {animation:headerSide 1.1s .85s both cubic-bezier(.16,1,.3,1);}
	.introReady .main ._header .gnb>ul>li {animation:headerFade 1.1s .65s both;}
	.introReady .main ._header .gnb>ul {column-gap:50rem;}
	._header::before {transform:scaleY(0);transform-origin:top;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s,visibility .45s;}
	._header:has(.gnb:hover)::before,._header:has(.gnb:focus-within)::before {transform:scaleY(1);}
	._header .sub {overflow:hidden;max-height:0;transition:opacity .3s,visibility .3s,max-height .45s cubic-bezier(.22,1,.36,1);}
	._header .gnb:hover .sub,._header .gnb:focus-within .sub {max-height:220rem;}
}

@media screen and (min-width:1201px) and (max-width:1600px) {
	.introReady .main ._header .gnb>ul {column-gap:26rem;}
}
@keyframes headerSide {to {opacity:1;transform:translateX(0);}}
@keyframes headerFade {from {opacity:0;} to {opacity:1;}}

@media screen and (max-width:1200px) {
	._header .jsNavBackdrop {position:fixed;inset:0;z-index:2;display:block;width:100vw;height:100dvh;background:rgba(0,0,0,.7);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s,visibility 0s linear .6s;}
	.navOn ._header .jsNavBackdrop {opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;}
	._header .gnb {position:fixed;inset:0 0 0 auto;z-index:3;display:block;width:80%;height:100dvh;padding:100rem 40rem max(40rem,env(safe-area-inset-bottom));background:#fff;overflow-y:auto;overscroll-behavior:contain;visibility:hidden;pointer-events:none;transform:translateX(100%);transition:transform .6s ease,visibility 0s linear .6s;}
	.navOn ._header .gnb {visibility:visible;pointer-events:auto;transform:translateX(0);transition-delay:0s;}
	._header .jsNavClose {position:absolute;top:20rem;right:20rem;display:block;width:30rem;height:30rem;padding:0;border:0;background:none;cursor:pointer;}
	._header .jsNavClose>span {position:absolute;top:50%;left:50%;width:100%;height:2rem;background:#000;}
	._header .jsNavClose>span:first-child {transform:translate(-50%,-50%) rotate(-45deg);}
	._header .jsNavClose>span:nth-child(2) {transform:translate(-50%,-50%) rotate(45deg);}
	._header .gnb>ul {display:block;height:auto;}
	._header .gnb>ul>li {display:block;}
	._header .gnb>ul>li+li {margin-top:30rem;}
	._header .gnb>ul>li>a {position:relative;display:inline-block;padding:0;font-size:20rem;font-weight:700;line-height:1.3;color:#000;transition:color .3s;}
	._header .gnb>ul>li>a::after {position:absolute;left:0;right:auto;bottom:0;width:100%;height:1px;background:#000;content:'';transform:scaleX(0);transform-origin:0 0;transition:transform .4s;}
	._header .gnb>ul>li>a.active {color:#000;}
	._header .gnb>ul>li>a.active::after {transform:scaleX(0);}
	._header .gnb>ul>li.on>a::after {transform:scaleX(1);}
	._header .sub {position:static;display:none;padding:25rem 0 0;opacity:1;visibility:visible;transition:none;}
	._header .sub li {display:block;}
	._header .sub li+li {margin-top:15rem;}
	._header .sub a {display:block;padding:0;font-size:15rem;line-height:1;color:#555;transition:color .2s;}
	._header .sub a.active,._header .sub a:hover {color:var(--brown);}
}

@media (prefers-reduced-motion:reduce) {
	.main ._header .logo,.main ._header .contact,.main ._header .gnb>ul>li {opacity:1;transform:none;animation:none;}
	.main ._header .gnb>ul,._header .gnb,._header .jsNavBackdrop,._header .sub {transition:none;}
}


/* 입지환경·단지 및 시설·서비스·문화생활 공통 */
.subPages {background:#fff;color:#222;}
.subPages [hidden] {display:none!important;}
.subPages #content>section[id] {scroll-margin-top:80rem;}
._subHero {position:relative;isolation:isolate;display:grid;place-items:center;height:650rem;color:#fff;text-align:center;overflow:hidden;background:#1d3436;}
._subHero>img {position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;}
._subHero:not(.heroMotionReady)>img {transform:scale(1.06);}
._subHero::after {position:absolute;inset:0;z-index:-1;background:#0008;content:'';}
._subHero .title>p {font-size:100rem;font-family:var(--fontEn);font-weight:400;line-height:.75;letter-spacing:0;}
._subHero .title {max-width:calc(100% - 48rem);}
._subHero h1 {margin-top:24rem;font-size:40rem;font-weight:600;line-height:1.4;}
._subMedia {aspect-ratio:1920/966;}
._complexCommunity ._subMedia {aspect-ratio:1920/960;}
._contentTabs {display:flex;}
._contentTabs button {flex:1;min-width:0;min-height:62rem;padding:12rem;border:1rem solid #8bafb0;background:#fff;color:var(--point);font-size:20rem;cursor:pointer;transition:background .25s,color .25s;}
/* 숨긴 탭([hidden])은 건너뛰고, 보이는 탭 뒤에 오는 탭만 왼쪽 선을 뺀다. */
._contentTabs button:not([hidden])~button {border-left:0;}
._contentTabs button.active,._contentTabs button:hover {background:var(--point);color:#fff;}
.subPages button:disabled {cursor:default;}
/* 화살표 버튼: 테두리는 border, 화살표는 가상 요소로 그린다. 크기는 --arrowSize(꺾쇠 한 변)·--arrowLine(선 두께)으로 조절한다. */
._arrow {display:grid;place-items:center;width:53rem;height:53rem;padding:0;border:1rem solid #8bafb0;background:#fff;color:var(--point);cursor:pointer;}
._arrow::before {width:var(--arrowSize,10rem);height:var(--arrowSize,10rem);border:solid;border-width:0 0 var(--arrowLine,2rem) var(--arrowLine,2rem);transform:translateX(30%) rotate(45deg);content:'';}
._arrow.next::before {transform:translateX(-30%) rotate(-135deg);}
/* ↗ 버튼: 테두리·원은 버튼 자체, 화살촉은 ::before 모서리 테두리, 화살대는 ::after 회전 선으로 그린다. */
._arrowLink {display:grid;place-items:center;padding:0;border:2rem solid var(--point);background:#fff;color:var(--point);cursor:pointer;}
._arrowLink::before,._arrowLink::after {grid-area:1/1;content:'';}
._arrowLink::before {width:var(--arrowSize,11rem);height:var(--arrowSize,11rem);border:solid;border-width:var(--arrowLine,2rem) var(--arrowLine,2rem) 0 0;}
._arrowLink::after {width:calc(var(--arrowSize,11rem) * 1.3);height:var(--arrowLine,2rem);background:currentColor;transform:rotate(-45deg);}
._arrowLink.round {border:0;border-radius:50%;background:var(--point);color:#fff;}
._subDialog {position:fixed;inset:0;max-width:calc(100% - 40rem);max-height:calc(100dvh - 40rem);margin:auto;padding:45rem;border:0;border-radius:14rem;background:#fff;color:#222;overflow:auto;overscroll-behavior:contain;opacity:0;transform:translateY(24rem) scale(.975);transition:opacity .32s ease,transform .44s cubic-bezier(.22,1,.36,1);}
._subDialog[open] {opacity:1;transform:translateY(0) scale(1);}
._subDialog.closing {opacity:0;transform:translateY(16rem) scale(.985);pointer-events:none;}
._subDialog::backdrop {background:transparent;transition:background-color .32s ease;}
._subDialog[open]::backdrop {background:#0008;}
._subDialog.closing::backdrop {background:transparent;}
@starting-style {
	._subDialog[open] {opacity:0;transform:translateY(24rem) scale(.975);}
	._subDialog[open]::backdrop {background:transparent;}
}
html:has(._subDialog[open]) {overflow:hidden;}
/* 닫기: 검은 원과 두 개의 회전 선 */
._subDialog .close {position:absolute;top:12rem;right:12rem;z-index:1;display:grid;place-items:center;width:56rem;height:56rem;padding:0;border:0;border-radius:50%;background:#0e0e0e;color:#fff;cursor:pointer;}
._subDialog .close::before,._subDialog .close::after {grid-area:1/1;width:54%;height:2rem;background:currentColor;transform:rotate(45deg);content:'';}
._subDialog .close::after {transform:rotate(-45deg);}
._subDialog h2,._subDialog h3 {font-size:28rem;line-height:1.4;}
._subDialog p {line-height:1.8;}

@media screen and (min-width:1201px) and (max-width:1440px) {
	._subHero {height:520rem;}
	._subHero .title>p {font-size:78rem;}
	._subHero h1 {font-size:32rem;}
	._contentTabs button {min-height:52rem;font-size:17rem;}
}

@media screen and (max-width:1200px) {
	.subPages #content>section[id] {scroll-margin-top:0;}
	._subHero {height:340rem;padding:70rem 0 90rem;}
	._subHero .title>p {font-size:65rem;}
	._subHero h1 {margin-top:20rem;font-size:28rem;}
	.subPages ._subNav .tabs a {font-size:15rem;}
	._contentTabs button {min-height:46rem;padding:10rem 6rem;font-size:15rem;}
}

@media screen and (max-width:639px) {
	._subHero {height:240rem;padding:45rem 0 65rem;}
	._subHero .title>p {font-size:min(45rem,calc((100vw - var(--gutter) * 2) / 8.3));}
	._subHero h1 {margin-top:15rem;font-size:21rem;}
	.subPages ._subNav .tabs a {font-size:12rem;}
	._contentTabs {flex-wrap:wrap;}
	._contentTabs button {flex:1 0 33.333%;font-size:12rem;min-height:40rem;}
	/* 3칸씩 두 줄로 접히는 건 6개 고정인 필터 탭뿐이다. 타입 탭은 보이는 버튼이 3개 이하라 한 줄이다. */
	._contentTabs.filters button:nth-child(4) {border-left:1rem solid #8bafb0;}
	._contentTabs.filters button:nth-child(n+4) {border-top:0;}
	._subDialog {padding:45rem 22rem 28rem;max-width:calc(100% - 28rem);max-height:calc(100dvh - 28rem);}
	._subDialog h2,._subDialog h3 {font-size:21rem;}
}

@media (prefers-reduced-motion:reduce) {
	._subDialog,._subDialog::backdrop {transition:none;}
	._subDialog[open],._subDialog.closing {opacity:1;transform:none;}
}


/* 입지환경 */
._locationPremium {display:grid;grid-template-columns:minmax(0,712fr) minmax(0,1120fr);padding:114rem 0 114rem 88rem;}
._locationPremium .benefits {display:grid;grid-template-rows:repeat(3,1fr);}
._locationPremium li {position:relative;display:flex;align-items:center;justify-content:center;padding:32rem 30rem 32rem 72rem;border-top:1rem solid #90b0b0;text-align:center;}
._locationPremium li:last-child {border-bottom:1rem solid #90b0b0;}
._locationPremium .num {position:absolute;left:0;top:50%;transform:translateY(-50%);font-family:var(--fontEn);font-size:32rem;font-weight:400;color:var(--point);}
._locationPremium h3 {font-size:54rem;line-height:1.25;color:var(--point);letter-spacing:-.05em;}
._locationPremium p {margin-top:25rem;font-size:24rem;line-height:1.5;word-break:keep-all;}
._locationPremium>._videoMedia {width:100%;height:100%;aspect-ratio:1120/737;border-radius:0 0 0 70rem;}
._locationMap img {width:100%;height:auto;aspect-ratio:auto 1920/966;}
._locationFengshui>h2 {display:grid;place-content:center;min-height:400rem;padding:70rem 24rem;background:var(--point);color:#fff;text-align:center;font-size:54rem;font-weight:600;line-height:1.4;letter-spacing:-.04em;}
._locationFengshui>.inner {display:grid;grid-template-columns:717fr 572fr;align-items:center;gap:125rem;max-width:1420rem;padding:126rem 0;}
._locationFengshui .ink {display:grid;place-items:center;min-height:540rem;border-radius:0 0 65rem 0;background:#f7f7f7 url('../images/location-ink.webp') center/100% 100% no-repeat;text-align:center;}
._locationFengshui .ink h3 {font-size:54rem;line-height:1.4;color:var(--point);letter-spacing:-.05em;}
._locationFengshui .reasons li {padding-left:22rem;border-left:5rem solid #297c7e;}
._locationFengshui .reasons li+li {margin-top:46rem;}
._locationFengshui .reasons h3 {font-size:30rem;color:var(--point);line-height:1.4;word-break:keep-all;}
._locationFengshui .reasons p {margin-top:8rem;font-size:22rem;line-height:1.65;word-break:keep-all;}
._locationDirections {padding:165rem 0;background:#f6f6f4;}
._locationDirections>.inner {max-width:1500rem;}
._locationDirections h2 {margin-bottom:100rem;text-align:center;font-size:54rem;font-weight:600;line-height:1.4;letter-spacing:-.04em;}
._locationDirections h2 span {color:var(--point);}
._locationDirections .addressCard {display:grid;grid-template-columns:765fr 735fr;background:#fff;}
._locationDirections .addressCard>img {width:100%;height:auto;aspect-ratio:auto 1;border:10rem solid var(--point);}
._locationDirections .info {display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:70rem 110rem 70rem 125rem;}
._locationDirections .prugio {width:270rem;height:auto;}
._locationDirections h3 {margin-top:25rem;font-size:36rem;font-weight:700;line-height:1.4;white-space:nowrap;letter-spacing:-.06em;}
._locationDirections .info>p {font-size:27rem;line-height:1.6;}
._locationDirections .phone {margin:14rem 0 35rem;color:var(--point);font-family:'Montserrat',sans-serif;font-size:88rem;font-weight:800;white-space:nowrap;line-height:1;letter-spacing:-.02em;}
._locationDirections .mapLink {display:flex;justify-content:center;align-items:center;gap:35rem;width:100%;min-height:92rem;font-size:26rem;}
._locationDirections .mapLink+.mapLink {margin-top:18rem;}
._locationDirections .mapLink span {border-left:2rem solid #ffffff80;padding-left:35rem;line-height:1;}
._locationDirections .mapLink img {flex:none;width:39rem;height:45rem;object-fit:contain;}
._locationDirections .kakao img {width:33rem;}
._locationDirections .naver {background:var(--point);color:#fff;}
._locationDirections .kakao {background:#cbbf9c;color:#24221c;}
._locationDirections .kakao span {border-color:#706a5880;}

@media screen and (max-width:1600px) and (min-width:1201px) {
	._locationPremium {padding:90rem 0 90rem 48rem;grid-template-columns:5fr 7fr;}
	._locationPremium li {padding:30rem 20rem 30rem 50rem;}
	._locationPremium h3 {font-size:38rem;}
	._locationPremium p {margin-top:20rem;font-size:18rem;}
	._locationFengshui>h2,._locationDirections h2 {font-size:42rem;}
	._locationFengshui>.inner {gap:65rem;}
	._locationFengshui .ink {min-height:420rem;}
	._locationFengshui .ink h3 {font-size:42rem;}
	._locationFengshui .reasons h3 {font-size:24rem;}
	._locationFengshui .reasons p {font-size:17rem;}
	._locationDirections .info {padding:45rem;}
	._locationDirections h3 {font-size:27rem;}
	._locationDirections .info>p {font-size:21rem;}
	._locationDirections .phone {margin:10rem 0 25rem;font-size:68rem;}
	._locationDirections .mapLink {min-height:70rem;font-size:20rem;}
}

@media screen and (max-width:1200px) {
	._locationPremium {padding:70rem 0 70rem 32rem;grid-template-columns:1fr 1fr;}
	._locationPremium li {padding:28rem 22rem 28rem 35rem;}
	._locationPremium .num {font-size:23rem;}
	._locationPremium h3 {font-size:30rem;}
	._locationPremium p {margin-top:16rem;font-size:16rem;}
	._locationPremium p br {display:none;}
	._locationPremium>._videoMedia {border-radius:0 0 0 35rem;}
	._locationFengshui>h2 {min-height:270rem;font-size:36rem;}
	._locationFengshui>.inner {gap:45rem;padding:80rem 0;}
	._locationFengshui .ink {min-height:360rem;}
	._locationFengshui .ink h3 {font-size:32rem;}
	._locationFengshui .reasons li {padding-left:16rem;border-left-width:3rem;}
	._locationFengshui .reasons li+li {margin-top:30rem;}
	._locationFengshui .reasons h3 {font-size:20rem;}
	._locationFengshui .reasons p {font-size:15rem;}
	._locationDirections {padding:90rem 0;}
	._locationDirections h2 {font-size:34rem;margin-bottom:55rem;}
	._locationDirections .info {padding:35rem 25rem;}
	._locationDirections .prugio {width:190rem;}
	._locationDirections h3 {font-size:22rem;white-space:normal;}
	._locationDirections .info>p {font-size:16rem;}
	._locationDirections .phone {font-size:36rem;}
	._locationDirections .mapLink {min-height:55rem;gap:20rem;font-size:16rem;}
	._locationDirections .mapLink span {padding-left:20rem;}
	._locationDirections .mapLink img {width:28rem;height:32rem;}
	._locationDirections .kakao img {width:24rem;}
}

@media screen and (max-width:767px) {
	._locationPremium {display:flex;flex-direction:column;padding:60rem 24rem;}
	._locationPremium li {min-height:150rem;padding:24rem 15rem 24rem 35rem;}
	._locationPremium h3 {font-size:28rem;}
	._locationPremium p {font-size:15rem;}
	._locationPremium>._videoMedia {height:auto;margin-top:30rem;}
	._locationFengshui>h2 {min-height:220rem;font-size:25rem;}
	._locationFengshui>.inner {display:block;padding:60rem 0;}
	._locationFengshui .ink {min-height:0;aspect-ratio:717/540;max-width:480rem;margin:0 auto 42rem;}
	._locationFengshui .ink h3 {font-size:29rem;}
	._locationDirections {padding:65rem 0;}
	._locationDirections h2 {font-size:24rem;margin-bottom:40rem;word-break:keep-all;}
	._locationDirections .addressCard {grid-template-columns:1fr;}
	._locationDirections .addressCard>img {border-width:5rem;}
	._locationDirections .info {padding:35rem 24rem;}
	._locationDirections h3 {font-size:22rem;}
	._locationDirections .phone {margin:10rem 0 25rem;font-size:50rem;}
}


/* 단지 및 시설 */
._complexCommunity>.inner {max-width:1500rem;padding:150rem 0 190rem;}
._complexCommunity .floor {margin-top:110rem;color:var(--point);font-size:177rem;font-family:var(--fontEn);font-weight:400;line-height:.75;letter-spacing:0;}
._complexCommunity .caption {margin-top:20rem;font-size:56rem;color:#555;}
._complexCommunity .planScroll {margin:50rem -25rem 0;}
._complexCommunity .communityPlan {position:relative;width:100%;aspect-ratio:1551/800;}
._complexCommunity .communityPlan>img {position:absolute;left:0;bottom:0;width:100%;height:auto;aspect-ratio:auto 1551/611;}
._complexCommunity .planLabel {position:absolute;font-size:30rem;line-height:1.1;white-space:nowrap;color:#555;}
._complexCommunity .planLine {position:absolute;border-left:1rem solid #999;}
._complexCommunity .planEntrance {position:absolute;color:#ec449b;font-size:30rem;font-weight:700;text-align:center;line-height:1;}
._complexOverview {position:relative;}
._complexOverview>img {width:100%;height:auto;aspect-ratio:auto 1920/1110;}
._complexOverview .estate {position:absolute;top:34.2%;width:188rem;padding:0 20rem 16rem;background:#fffE;font-size:14rem;color:#555;}
._complexOverview .estate1 {left:13.54%;}
._complexOverview .estate2 {right:13.54%;}
._complexOverview .estate h3 {margin:0 -20rem 28rem;padding:7rem;background:#6f6350;color:#fff;text-align:center;font-size:22rem;}
._complexOverview .estate dl {display:grid;grid-template-columns:1fr auto;gap:18rem 4rem;border-top:2rem solid #b9c9bb;padding-top:18rem;margin-bottom:18rem;}
._complexOverview .estate dt {color:#248985;font-weight:600;}
._complexOverview .estate dt:nth-of-type(2),._complexOverview .estate dd:nth-of-type(2) {color:#e639a0;}
._complexOverview .estate small {display:block;font-size:10rem;}
._complexOverview .estate li {display:flex;justify-content:space-between;align-items:center;line-height:28rem;}
._complexOverview .estate li i {display:inline-block;width:18rem;height:18rem;margin-right:6rem;vertical-align:middle;}
._complexOverview .type0 {background:#9392c9;}
._complexOverview .type1 {background:#7798d0;}
._complexOverview .type2 {background:#c593ab;}
._complexOverview .type3 {background:#f1a464;}
._complexOverview .type4 {background:#dc94ba;}
._complexOverview .type5 {background:#8ac6a1;}
._residence {padding:130rem 0;}
._residence>.inner {max-width:1500rem;}
._residence .residenceLayout {display:grid;grid-template-columns:750fr 710fr;align-items:start;gap:40rem;margin:90rem auto 0;}
._residence .sizes button {min-height:82rem;font-size:30rem;}
._residence .types button {min-height:64rem;font-size:28rem;}
._residence .typeTitle {margin-bottom:60rem;color:var(--point);font-size:113rem;font-family:var(--fontEn);font-weight:400;line-height:.75;letter-spacing:0;}
._residence .spec {width:100%;margin-top:60rem;border-collapse:collapse;table-layout:fixed;font-size:30rem;line-height:1.6;color:#666;}
._residence .spec th,._residence .spec td {padding:24rem 8rem;text-align:center;border-bottom:1rem solid #ddd;font-weight:400;}
._residence .spec th {font-weight:600;}
._residence .spec tbody th {text-align:left;color:#555;}
._residence .spec thead th {padding:18rem 8rem;border-top:2rem solid #86adb0;border-bottom:2rem solid #86adb0;color:var(--point);}
._residence .floorplan {min-width:0;}
._residence .drawing {position:relative;}
._residence .drawing img {width:100%;height:auto;aspect-ratio:auto 1;}
._residence .dummyPlan {width:100%;aspect-ratio:1;background:var(--point);}
._residence .drawing span {position:absolute;font-size:22rem;line-height:1;color:#536171;white-space:nowrap;}
._residence .pending {display:grid;place-items:center;min-height:550rem;background:#f7f7f5;color:#777;font-size:22rem;text-align:center;}
._residence .residenceGallery {max-width:1500rem;margin:55rem auto 0;overflow-x:auto;scrollbar-width:none;}
._residence .residenceGallery::-webkit-scrollbar {display:none;}
._residence .residenceGallery .track {display:flex;gap:27rem;}
._residence .residenceGallery .track>.photo {flex:none;width:calc((100% - 54rem) / 3);height:auto;aspect-ratio:483/243;background:var(--point);}
._residence .residenceGallery.swiper {overflow:hidden;}
._residence .residenceGallery.swiper .track {gap:0;}

@media screen and (min-width:1201px) and (max-width:1600px) {
	._complexCommunity>.inner {padding:110rem 0 140rem;}
	._complexCommunity .floor {margin-top:75rem;font-size:145rem;}
	._complexCommunity .caption {font-size:44rem;}
	._complexCommunity .planLabel {font-size:24rem;}
	._complexOverview .estate {width:160rem;font-size:12rem;padding:0 14rem 12rem;}
	._complexOverview .estate h3 {margin:0 -14rem 16rem;font-size:18rem;}
	._complexOverview .estate li {line-height:23rem;}
	._complexOverview .estate dl {padding-top:10rem;gap:10rem 4rem;margin-bottom:10rem;}
	._residence .residenceLayout {gap:40rem;}
	._residence .spec {font-size:24rem;}
	._residence .spec th,._residence .spec td {padding:22rem 5rem;}
	._residence .drawing span {font-size:18rem;}
}

@media screen and (max-width:1200px) {
	._complexCommunity>.inner {padding:75rem 0 90rem;}
	._complexCommunity .floor {margin-top:65rem;font-size:118rem;}
	._complexCommunity .caption {font-size:34rem;}
	._complexCommunity .planScroll {margin:35rem 0 0;overflow-x:auto;}
	._complexCommunity .communityPlan {min-width:700rem;}
	._complexCommunity .planLabel {font-size:16rem;}
	._complexOverview {display:grid;grid-template-columns:1fr 1fr;gap:24rem;padding-bottom:30rem;background:#f4f5f0;}
	._complexOverview>img {grid-column:1/-1;}
	._complexOverview .estate {position:static;width:auto;margin:0 0 0 32rem;padding:0 20rem 20rem;font-size:15rem;background:#fff;}
	._complexOverview .estate2 {margin:0 32rem 0 0;}
	._complexOverview .estate h3 {font-size:20rem;margin-bottom:18rem;}
	._complexOverview .estate small {font-size:11rem;}
	._complexOverview .estate dl {gap:14rem;}
	._residence {padding:80rem 0;}
	._residence .residenceLayout {gap:30rem;margin-top:70rem;}
	._residence .typeTitle {margin-bottom:40rem;font-size:75rem;}
	._residence .sizes button {min-height:62rem;font-size:22rem;}
	._residence .types button {min-height:54rem;font-size:20rem;}
	._residence .spec {font-size:19rem;}
	._residence .spec th,._residence .spec td {padding:18rem 4rem;}
	._complexCommunity .planEntrance {font-size:16rem;}
	._residence .drawing span {font-size:14rem;}
	._residence .pending {min-height:400rem;font-size:17rem;}
	._residence .residenceGallery .track {gap:15rem;}
	._residence .residenceGallery .track>.photo {width:calc((100% - 30rem) / 3);}
}

@media screen and (max-width:639px) {
	._complexCommunity>.inner {padding:65rem 0;}
	._complexCommunity .floor {margin-top:45rem;font-size:90rem;}
	._complexCommunity .caption {font-size:26rem;}
	._complexCommunity .planScroll {margin-right:calc(var(--gutter) * -1);padding-right:24rem;}
	._complexOverview {gap:14rem;padding-bottom:20rem;}
	._complexOverview .estate {padding:0 10rem 14rem;margin-left:24rem;font-size:11rem;}
	._complexOverview .estate2 {margin:0 24rem 0 0;}
	._complexOverview .estate h3 {margin:0 -10rem 14rem;font-size:16rem;}
	._complexOverview .estate dl {gap:10rem 2rem;}
	._complexOverview .estate small {font-size:8rem;}
	._complexOverview .estate li i {width:12rem;height:12rem;margin-right:4rem;}
	._residence {padding:60rem 0;}
	._residence .sizes button,._residence .types button {min-height:46rem;font-size:16rem;}
	._residence .residenceLayout {grid-template-columns:1fr;gap:25rem;margin-top:45rem;}
	._residence .spec {margin-top:25rem;font-size:15rem;}
	._residence .spec th,._residence .spec td {padding:16rem 2rem;}
	._residence .drawing span {font-size:12rem;}
	._residence .pending {min-height:300rem;}
	._residence .residenceGallery {margin-top:25rem;}
	._residence .residenceGallery .track {gap:10rem;}
	._residence .residenceGallery .track>.photo {width:calc((100% - 20rem) / 3);}
}


/* 주거 공간 제공품목 및 특화설계 */
._residenceBenefits {padding:100rem 0 130rem;background:#fff;}
._residenceBenefits>.inner {max-width:1500rem;}
._residenceBenefits h2 {font-size:50rem;font-weight:700;color:#222;letter-spacing:-.04em;}
._residenceBenefits .benefitGroup+h2 {margin-top:140rem;}
._residenceBenefits .benefitGroup {margin-top:40rem;}
._residenceBenefits h3 {display:inline-block;padding:8rem 20rem;background:var(--point);border-radius:5rem;color:#fff;font-size:32rem;font-weight:500;line-height:1.3;}
._residenceBenefits .safety h3 {background:#6f6356;}
._residenceBenefits ul {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22rem;margin-top:25rem;padding:0 25rem;}
._residenceBenefits li {min-width:0;text-align:center;}
._residenceBenefits img {width:100%;aspect-ratio:1;object-fit:contain;}
._residenceBenefits h4 {margin-top:12rem;font-size:24rem;font-weight:500;color:#555;white-space:nowrap;}
._residenceBenefits p {margin-top:18rem;font-size:19rem;line-height:1.5;color:#777;word-break:keep-all;}

@media screen and (min-width:1201px) and (max-width:1600px) {
	._residenceBenefits h2 {font-size:42rem;}
	._residenceBenefits h3 {font-size:27rem;}
	._residenceBenefits ul {gap:16rem;padding:0;}
	._residenceBenefits h4 {font-size:18rem;}
	._residenceBenefits p {font-size:15rem;}
}

@media screen and (max-width:1200px) {
	._residenceBenefits {padding:70rem 0 90rem;}
	._residenceBenefits h2 {font-size:36rem;}
	._residenceBenefits h3 {font-size:24rem;}
	._residenceBenefits ul {grid-template-columns:repeat(3,minmax(0,1fr));gap:35rem 25rem;padding:0;}
	._residenceBenefits img {max-width:240rem;}
	._residenceBenefits h4 {font-size:21rem;}
	._residenceBenefits p {font-size:17rem;}
	._residenceBenefits .benefitGroup+h2 {margin-top:90rem;}
}

@media screen and (max-width:639px) {
	._residenceBenefits {padding:45rem 0 65rem;}
	._residenceBenefits h2 {font-size:26rem;}
	._residenceBenefits h3 {padding:6rem 12rem;font-size:17rem;}
	._residenceBenefits .benefitGroup {margin-top:28rem;}
	._residenceBenefits .benefitGroup+h2 {margin-top:65rem;}
	._residenceBenefits ul {grid-template-columns:repeat(2,minmax(0,1fr));gap:25rem 15rem;margin-top:18rem;}
	._residenceBenefits h4 {font-size:15rem;}
	._residenceBenefits p {margin-top:10rem;font-size:12rem;}
}


/* 서비스 */
._serviceSection {padding:115rem 0 140rem;}
._serviceSection>.inner {max-width:1500rem;}
._serviceSection .serviceHeading,._complexCommunity .serviceHeading {max-width:900rem;}
._serviceSection .serviceHeading .en,._complexCommunity .serviceHeading .en {font-family:var(--fontEn);font-size:50rem;font-weight:400;color:var(--point);}
._serviceSection h2,._complexCommunity .serviceHeading h2 {margin-top:12rem;font-size:80rem;font-weight:700;line-height:1.35;color:var(--point);letter-spacing:-.05em;}
._serviceSection .serviceHeading h3,._complexCommunity .serviceHeading h3 {margin-top:24rem;font-size:46rem;color:var(--point);letter-spacing:-.045em;line-height:1.4;}
._serviceSection .serviceHeading .description,._complexCommunity .serviceHeading .description {max-width:780rem;margin-top:44rem;padding-top:42rem;border-top:1rem solid #7ea5a5;font-size:30rem;line-height:1.65;color:#666;}
._complexCommunity .serviceHeading {max-width:1000rem;}
._complexCommunity .serviceHeading .description {max-width:none;}
._serviceSection .serviceRail {margin-top:90rem;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;}
._serviceSection .serviceRail::-webkit-scrollbar {display:none;}
._serviceSection .serviceRail.swiper {overflow:hidden;}
._serviceSection .track {display:flex;gap:40rem;width:max-content;padding-left:max(var(--gutter),calc((100% - 1500rem) / 2));padding-right:var(--gutter);}
._serviceSection .serviceRail.swiper .track {gap:0;width:100%;padding:0;}
._serviceSection .track article {flex:none;width:780rem;}
._serviceSection .track img {width:100%;height:auto;aspect-ratio:780/480;object-fit:cover;}
._serviceSection .track .en {margin-top:26rem;font-family:var(--fontEn);font-size:26rem;font-weight:400;color:var(--point);}
._serviceSection .track h3,._serviceSection .restaurants h3 {margin-top:4rem;font-size:38rem;font-weight:700;color:var(--point);letter-spacing:-.05em;}
._serviceSection .track .text,._serviceSection .restaurants p {margin-top:16rem;font-size:23rem;color:#666;line-height:1.6;}
._serviceSection .diningLayout {display:grid;grid-template-columns:460fr 1000fr;gap:40rem;margin-top:90rem;align-items:start;}
._serviceSection .restaurants article+article {margin-top:75rem;}
._serviceSection .restaurants img {width:100%;height:auto;aspect-ratio:auto 461/400;}
._serviceSection .restaurants h3 {margin-top:25rem;}
._mealCalendar {padding:80rem 85rem;background:#f6f6f4;min-width:0;}
._mealCalendar .calendarHeading {display:flex;align-items:baseline;justify-content:space-between;gap:20rem;}
._mealCalendar .year {font-size:36rem;font-weight:700;}
._mealCalendar .month {font-size:72rem;font-weight:800;line-height:1;}
._mealCalendar .calendarHeading>div {display:flex;gap:12rem;}
._mealCalendar .calendarHeading ._arrow {width:36rem;height:36rem;border-color:#c9c9c9;border-radius:50%;color:#272727;--arrowSize:8rem;}
._mealCalendar .weekdays {display:grid;grid-template-columns:repeat(7,1fr);gap:12rem;margin:24rem 0 12rem;border-top:1rem solid #ddd;padding-top:15rem;font-size:15rem;text-align:center;}
._mealCalendar .weekdays span:first-child {color:#ba433c;}
._mealCalendar .days {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12rem;}
._mealCalendar .day {min-height:145rem;padding:18rem 3rem;border:0;border-radius:12rem;background:#fff;text-align:center;font-size:32rem;font-weight:600;line-height:1.4;}
._mealCalendar .day.empty {background:transparent;}
._mealCalendar .day button {display:block;margin:10rem auto 0;padding:0;border:0;background:none;color:var(--point);font-size:17rem;cursor:pointer;}
._mealCalendar .day button ._arrowLink {width:19rem;height:19rem;margin:4rem auto 0;--arrowSize:5rem;--arrowLine:1.5rem;}
.mealDialog {width:425rem;padding:45rem 18rem 30rem;text-align:center;}
.mealDialog .close {width:42rem;height:42rem;}
.mealDialog h3 {font-size:26rem;}
.mealDialog>img {width:100%;height:auto;aspect-ratio:auto 389/292;margin:30rem 0;}

@media screen and (max-width:1600px) and (min-width:1201px) {
	._serviceSection {padding:90rem 0 110rem;}
	._serviceSection .serviceHeading .en,._complexCommunity .serviceHeading .en {font-size:40rem;}
	._serviceSection h2,._complexCommunity .serviceHeading h2 {font-size:64rem;}
	._serviceSection .serviceHeading h3,._complexCommunity .serviceHeading h3 {font-size:36rem;}
	._serviceSection .serviceHeading .description,._complexCommunity .serviceHeading .description {max-width:650rem;font-size:25rem;}
	._serviceSection .track article {width:650rem;}
	._serviceSection .track h3,._serviceSection .restaurants h3 {font-size:30rem;}
	._serviceSection .track .text,._serviceSection .restaurants p {font-size:18rem;}
	._mealCalendar {padding:55rem 45rem;}
	._mealCalendar .day {min-height:115rem;font-size:26rem;}
	._mealCalendar .day button {font-size:13rem;}
}

@media screen and (max-width:1200px) {
	._serviceSection {padding:80rem 0;}
	._serviceSection .serviceHeading .en,._complexCommunity .serviceHeading .en {font-size:32rem;}
	._serviceSection h2,._complexCommunity .serviceHeading h2 {font-size:50rem;}
	._serviceSection .serviceHeading h3,._complexCommunity .serviceHeading h3 {font-size:29rem;}
	._serviceSection .serviceHeading .description,._complexCommunity .serviceHeading .description {max-width:650rem;margin-top:28rem;padding-top:28rem;font-size:22rem;}
	._serviceSection .serviceRail {margin-top:55rem;}
	._serviceSection .track {gap:25rem;padding-left:var(--gutter);}
	._serviceSection .track article {width:580rem;max-width:80vw;}
	._serviceSection .track .en {font-size:21rem;margin-top:22rem;}
	._serviceSection .track h3,._serviceSection .restaurants h3 {font-size:27rem;}
	._serviceSection .track .text,._serviceSection .restaurants p {font-size:17rem;}
	._serviceSection .track .text br {display:none;}
	._serviceSection .diningLayout {gap:25rem;margin-top:55rem;}
	._serviceSection .restaurants article+article {margin-top:40rem;}
	._mealCalendar {padding:35rem 22rem;}
	._mealCalendar .month {font-size:50rem;}
	._mealCalendar .year {font-size:25rem;}
	._mealCalendar .weekdays {gap:5rem;font-size:11rem;}
	._mealCalendar .days {gap:5rem;}
	._mealCalendar .day {min-height:105rem;padding:12rem 0;font-size:23rem;}
	._mealCalendar .day button {font-size:11rem;}
}

@media screen and (max-width:767px) {
	._serviceSection .diningLayout {grid-template-columns:1fr;gap:40rem;}
	._serviceSection .restaurants {display:grid;grid-template-columns:1fr 1fr;gap:20rem;}
	._serviceSection .restaurants article+article {margin:0;}
	._serviceSection .restaurants h3 {font-size:22rem;}
	._serviceSection .restaurants p {font-size:14rem;}
	._mealCalendar .day {min-height:100rem;}
}

@media screen and (max-width:639px) {
	._serviceSection {padding:65rem 0;}
	._serviceSection .serviceHeading .en,._complexCommunity .serviceHeading .en {font-size:24rem;}
	#living .serviceHeading .en {font-size:19rem;white-space:nowrap;}
	._serviceSection h2,._complexCommunity .serviceHeading h2 {font-size:36rem;}
	._serviceSection .serviceHeading h3,._complexCommunity .serviceHeading h3 {margin-top:18rem;font-size:22rem;word-break:keep-all;}
	._serviceSection .serviceHeading .description,._complexCommunity .serviceHeading .description {font-size:16rem;word-break:keep-all;}
	._serviceSection .serviceHeading .description br,._complexCommunity .serviceHeading .description br {display:none;}
	._serviceSection .serviceRail,._serviceSection .diningLayout {margin-top:40rem;}
	._serviceSection .track {gap:20rem;}
	._serviceSection .track article {width:78vw;}
	._serviceSection .track .en {font-size:16rem;}
	._serviceSection .track h3 {font-size:24rem;}
	._serviceSection .track .text {font-size:14rem;margin-top:12rem;}
	._serviceSection .restaurants {gap:15rem;}
	._serviceSection .restaurants h3 {font-size:19rem;}
	._serviceSection .restaurants p {font-size:13rem;}
	._mealCalendar {padding:25rem 12rem;}
	._mealCalendar .calendarHeading {gap:10rem;}
	._mealCalendar .calendarHeading>div {gap:6rem;}
	._mealCalendar .calendarHeading ._arrow {width:28rem;height:28rem;--arrowSize:6rem;}
	._mealCalendar .year {font-size:20rem;}
	._mealCalendar .month {font-size:42rem;}
	._mealCalendar .weekdays {font-size:9rem;}
	._mealCalendar .day {min-height:80rem;font-size:18rem;border-radius:7rem;}
	._mealCalendar .day button {font-size:9rem;}
	.mealDialog h3 {font-size:23rem;}
}


/* 공통 페이지네이션 */
._pagination {display:flex;align-items:center;justify-content:center;gap:16rem;margin-top:85rem;}
._pagination[hidden] {display:none;}
._pagination button {width:32rem;height:32rem;border:1rem solid #8bafb0;background:none;color:var(--point);font-size:16rem;}
._pagination .pageIcon {display:flex;align-items:center;justify-content:center;gap:1rem;padding:0;}
._pagination .pageIcon::before {width:6rem;height:6rem;border:solid;border-width:0 0 1rem 1rem;transform:translateX(1rem) rotate(45deg);content:'';}
._pagination .pageIcon.next::before,._pagination .pageIcon.last::before {transform:translateX(-1rem) rotate(-135deg);}
._pagination .pageIcon.first::after,._pagination .pageIcon.last::after {width:1rem;height:8rem;background:currentColor;content:'';}
._pagination .pageIcon.first::after {order:-1;}
._pagination button:not(.pageIcon) {border:0;}
._pagination .active {width:40rem;height:40rem;border-radius:50%;background:var(--point);color:#fff;}

@media screen and (max-width:1799px) and (min-width:1201px) {
	._pagination {margin-top:30rem;}
}

@media screen and (max-width:1200px) {
	._pagination {margin-top:25rem;gap:12rem;}
}

@media screen and (max-width:639px) {
	._pagination {gap:6rem;}
	._pagination button {width:25rem;height:25rem;font-size:12rem;}
	._pagination .active {width:30rem;height:30rem;}
}


/* 공통 게시판 — 검색·건수·목록표·빈 결과·페이지네이션. 제목 버튼(팝업)과 Q&A(details) 행을 모두 지원한다. */
._board .searchForm {display:flex;align-items:stretch;gap:12rem;padding:28rem 76rem;background:#f5f5f5;}
._board .searchForm select {flex:0 1 290rem;min-width:0;padding:0 38rem 0 18rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 18rem center/12rem 7rem;}
._board .searchForm select::-ms-expand {display:none;}
._board .searchForm input {flex:1;min-width:0;padding:0 18rem;background:#fff;cursor:text;}
._board .searchForm input,._board .searchForm select {height:52rem;border:1rem solid #ddd;font-size:16rem;}
._board .searchForm button {flex:none;width:120rem;margin-left:25rem;padding:12rem;background:var(--point);color:#fff;font-size:20rem;}
._board .listMeta {display:flex;justify-content:space-between;align-items:center;gap:20rem;margin:50rem 0 14rem;font-size:20rem;}
._board .resultCount {color:var(--point);}
._board .boardTable {table-layout:fixed;font-size:17rem;line-height:1.6;}
._board .numberCol {width:20%;}
._board .dateCol {width:24%;}
._board .boardTable th,._board .boardTable td {height:82rem;padding:20rem 10rem;border-bottom:1rem solid #aaa;text-align:center;}
._board .boardTable th {border-top:1rem solid #aaa;background:#efefef;font-weight:500;}
._board .boardTable .subject {text-align:left;overflow-wrap:anywhere;}
._board .subject>button {display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;}
._board .subject>button:hover {color:var(--point);}
._board .boardTable summary {display:flex;align-items:baseline;gap:12rem;cursor:pointer;list-style:none;}
._board .boardTable summary::-webkit-details-marker {display:none;}
._board .boardTable summary b {flex:none;color:var(--point);font-size:22rem;}
._board .answer {margin-top:20rem;padding:20rem;background:var(--paper);color:#555;font-size:16rem;line-height:1.8;}
._board .answer a {color:var(--point);white-space:nowrap;}
._board :focus-visible {outline:2rem solid var(--point);outline-offset:4rem;}

@media screen and (max-width:1200px) {
	._board .searchForm {padding:22rem;}
	._board .searchForm select {flex:0 1 160rem;}
	._board .searchForm button {width:90rem;margin-left:0;}
	._board .listMeta {font-size:17rem;margin-top:30rem;}
	._board .numberCol {width:12%;}
	._board .dateCol {width:22%;}
	._board .boardTable {font-size:15rem;}
	._board .boardTable th,._board .boardTable td {padding:18rem 8rem;}
}

@media screen and (max-width:639px) {
	._board .searchForm {flex-wrap:wrap;gap:10rem;padding:15rem;}
	._board .searchForm select {flex:1 0 100%;}
	._board .searchForm input,._board .searchForm select {height:44rem;padding:0 10rem;font-size:14rem;}
	._board .searchForm button {width:60rem;font-size:15rem;padding:10rem;}
	._board .listMeta {align-items:flex-start;gap:8rem;font-size:14rem;}
	._board .boardTable {font-size:12rem;}
	._board .boardTable th,._board .boardTable td {height:65rem;padding:14rem 5rem;}
	._board .numberCol {width:10%;}
	._board .dateCol {width:27%;}
	._board .boardTable summary {gap:7rem;}
	._board .boardTable summary b {font-size:17rem;}
	._board .answer {padding:12rem;font-size:12rem;}
}


/* 문화생활 */
._cultureSection {padding:170rem 0;background:#fff;}
._cultureSection>.inner {position:relative;max-width:1500rem;}
._cultureSection h2 {font-size:80rem;font-weight:700;line-height:1.4;color:var(--point);letter-spacing:-.05em;}
._cultureSection .intro {margin-top:25rem;color:#666;font-size:30rem;line-height:1.7;}
._cultureSection .filters {margin-top:100rem;}
._cultureSection .cultureCards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:85rem 30rem;margin-top:75rem;}
._cultureSection .cultureCards article {position:relative;padding-bottom:12rem;min-width:0;}
._cultureSection .cultureCards .photo {width:100%;aspect-ratio:481/301;background:var(--point);}
._cultureSection .cultureCards img {width:100%;height:auto;aspect-ratio:481/301;object-fit:cover;background:var(--point);}
._cultureSection h3 {margin-top:30rem;font-size:32rem;font-weight:700;line-height:1.4;color:var(--point);letter-spacing:-.04em;}
._cultureSection .cultureCards p {margin-top:15rem;padding-right:70rem;font-size:22rem;color:#666;line-height:1.5;word-break:keep-all;}
._cultureSection .cultureCards button {position:absolute;right:0;bottom:0;width:54rem;height:54rem;--arrowSize:10rem;--arrowLine:3rem;}
._cultureSection .cultureCards button:hover {opacity:.75;}
._cultureSection .cardList {position:relative;}
._cultureSection .listArrows {position:absolute;top:50%;left:-125rem;right:-125rem;display:flex;justify-content:space-between;pointer-events:none;}
._cultureSection .listArrows ._arrow {width:73rem;height:73rem;border-width:2rem;pointer-events:auto;--arrowSize:14rem;--arrowLine:3rem;}
._cultureSection .empty {padding:100rem 0;text-align:center;font-size:22rem;color:#777;}
._cultureSection.daily {background:#fff;}
._cultureSection .statement {margin:0 auto 75rem;text-align:center;}
._cultureSection .statement h2 {font-size:76rem;line-height:1.35;word-break:keep-all;}
._cultureSection .statement p {margin-top:35rem;font-size:28rem;line-height:1.7;color:#666;word-break:keep-all;}
._cultureSection .statement::after {display:block;width:300rem;height:1rem;margin:65rem auto 0;background:#a7c0c0;content:'';}
._cultureSection .dailyList {margin-top:90rem;padding:0 70rem;background:#f6f6f4;border-radius:0 0 70rem 0;}
._cultureSection .dailyList li {display:flex;align-items:center;justify-content:space-between;gap:30rem;min-height:225rem;padding:45rem 0;border-bottom:1rem solid #ddd;}
._cultureSection .dailyList li:last-child {border-bottom:0;}
._cultureSection .dailyList h3 {margin:0;font-size:32rem;}
._cultureSection .dailyList p {margin-top:20rem;font-size:22rem;color:#666;line-height:1.6;}
._cultureSection .dailyList button {flex:none;width:63rem;height:63rem;background:none;--arrowSize:13rem;--arrowLine:3rem;}
.galleryDialog {width:1500rem;padding:55rem 80rem;background:var(--point);color:#fff;text-align:center;border-radius:0;}
.galleryDialog::backdrop,.galleryDialog[open]::backdrop {background:transparent;}
.galleryDialog .close {background:#fff;color:var(--point);}
.galleryDialog h2 {margin-bottom:55rem;font-size:40rem;font-weight:600;}
.galleryDialog .galleryPhoto {display:flex;align-items:center;justify-content:center;gap:110rem;}
.galleryDialog .galleryPhoto>img {width:790rem;max-width:calc(100% - 300rem);height:auto;aspect-ratio:790/625;object-fit:cover;}
.galleryDialog .galleryPhoto button {flex:none;width:40rem;height:77rem;border:0;background:none;color:#fff;--arrowSize:54rem;}
.galleryDialog .galleryPhoto button:disabled {opacity:.4;}
.galleryDialog .galleryThumbs {display:flex;gap:7rem;max-width:790rem;margin:25rem auto 0;}
.galleryDialog .galleryThumbs button {flex:1;min-width:0;padding:0;border:2rem solid transparent;background:#fff center/cover no-repeat;aspect-ratio:1;opacity:.62;cursor:pointer;transition:border-color .25s,opacity .25s;}
.galleryDialog .galleryThumbs button:is(:hover,:focus-visible,.active) {border-color:#fff;opacity:1;}

.programDialog {width:630rem;padding:0;border-radius:0;}
.programDialog .poster img {width:100%;height:auto;aspect-ratio:auto 629/892;}
.programDialog .detail {padding:65rem 45rem;}
.programDialog .detail p {margin-top:25rem;}

@media screen and (max-width:1799px) and (min-width:1201px) {
	._cultureSection .listArrows {position:static;justify-content:center;gap:20rem;margin-top:55rem;}
	._cultureSection .listArrows ._arrow {width:50rem;height:50rem;--arrowSize:10rem;--arrowLine:2rem;}
	._cultureSection h2 {font-size:64rem;}
	._cultureSection .statement h2 {font-size:60rem;}
	._cultureSection .statement p {font-size:23rem;}
	._cultureSection .intro {font-size:25rem;}
	._cultureSection h3 {font-size:27rem;}
	._cultureSection .cultureCards p {font-size:18rem;}
}

@media screen and (max-width:1200px) {
	._cultureSection {padding:90rem 0;}
	._cultureSection h2 {font-size:50rem;}
	._cultureSection .dailyList {margin-top:50rem;padding:0 40rem;}
	._cultureSection .dailyList li {min-height:170rem;padding:30rem 0;}
	._cultureSection .dailyList h3 {font-size:24rem;}
	._cultureSection .dailyList p {font-size:17rem;}
	._cultureSection .dailyList button {width:36rem;height:36rem;--arrowSize:8rem;--arrowLine:2rem;}
	.galleryDialog {padding:40rem;}
	.galleryDialog h2 {font-size:32rem;margin-bottom:35rem;}
	.galleryDialog .galleryPhoto {gap:30rem;}
	.galleryDialog .galleryPhoto>img {max-width:calc(100% - 120rem);}
	.galleryDialog .galleryPhoto button {width:30rem;height:58rem;--arrowSize:41rem;}
	._cultureSection .statement h2 {font-size:44rem;}
	._cultureSection .statement p {font-size:20rem;}
	._cultureSection .intro {font-size:22rem;}
	._cultureSection .filters {margin-top:55rem;}
	._cultureSection .cultureCards {gap:55rem 25rem;margin-top:50rem;}
	._cultureSection h3 {font-size:24rem;margin-top:22rem;}
	._cultureSection .cultureCards p {font-size:16rem;padding-right:42rem;}
	._cultureSection .cultureCards button {width:36rem;height:36rem;--arrowSize:7rem;--arrowLine:2rem;}
	._cultureSection .listArrows {position:static;justify-content:center;gap:20rem;margin-top:45rem;}
	._cultureSection .listArrows ._arrow {width:40rem;height:40rem;--arrowSize:8rem;}
}

@media screen and (max-width:767px) {
	._cultureSection .cultureCards {grid-template-columns:repeat(2,minmax(0,1fr));gap:40rem 20rem;}
	._cultureSection .cultureCards p {padding-right:0;padding-bottom:40rem;}
}

@media screen and (max-width:639px) {
	._cultureSection {padding:65rem 0;}
	._cultureSection h2 {font-size:36rem;}
	._cultureSection .dailyList {margin-top:35rem;padding:0 20rem;border-radius:0 0 30rem 0;}
	._cultureSection .dailyList li {gap:20rem;min-height:160rem;padding:25rem 0;}
	._cultureSection .dailyList h3 {font-size:18rem;}
	._cultureSection .dailyList p {margin-top:12rem;font-size:13rem;}
	.galleryDialog {padding:25rem 15rem;}
	.galleryDialog h2 {font-size:23rem;margin-bottom:25rem;}
	.galleryDialog .galleryPhoto {gap:8rem;}
	.galleryDialog .galleryPhoto>img {max-width:calc(100% - 52rem);}
	.galleryDialog .galleryPhoto button {width:18rem;height:35rem;--arrowSize:25rem;--arrowLine:1.5rem;}
	.galleryDialog .galleryThumbs {gap:5rem;margin-top:15rem;}
	._cultureSection .statement {margin-bottom:50rem;}
	._cultureSection .statement h2 {font-size:27rem;}
	._cultureSection .statement p {margin-top:24rem;font-size:15rem;}
	._cultureSection .statement br {display:none;}
	._cultureSection .statement::after {width:100rem;margin-top:35rem;}
	._cultureSection .intro {margin-top:20rem;font-size:16rem;word-break:keep-all;}
	._cultureSection .intro br {display:none;}
	._cultureSection .filters {margin-top:35rem;}
	._cultureSection .cultureCards {gap:35rem 16rem;margin-top:35rem;}
	._cultureSection h3 {font-size:18rem;margin-top:17rem;word-break:keep-all;}
	._cultureSection .cultureCards p {font-size:13rem;}
	._cultureSection .cultureCards p br {display:none;}
	._cultureSection .empty {font-size:16rem;padding:60rem 0;}
}


/* 입주 안내 */
._guideInfo {padding:164rem 0;}
._guideInfo>.inner,._guideReservation>.inner {max-width:1500rem;}
._guideInfo h2,._guideReservation h2 {color:var(--point);font-size:50rem;font-weight:700;letter-spacing:-.05em;line-height:1.4;}
._guideInfo .overview {display:grid;grid-template-columns:1fr 1fr;gap:42rem;padding:36rem 0;border-top:2rem solid #568a8b;border-bottom:1rem solid #86adae;}
._guideInfo .overview>div {min-width:0;}
._guideInfo .qualification {padding-right:42rem;border-right:1rem solid #86adae;}
._guideInfo .qualification p {margin-top:12rem;font-size:28rem;line-height:1.65;color:#666;}
._guideInfo .period {margin-top:45rem;padding-top:42rem;border-top:1rem solid #86adae;}
._guideInfo .tableScroll {margin-top:65rem;overflow-x:auto;}
._guideInfo table {min-width:600rem;color:#666;font-size:28rem;white-space:nowrap;}
._guideInfo th,._guideInfo td {height:72rem;padding:12rem 10rem;border:1rem solid #ddd;text-align:center;}
._guideInfo thead th {height:52rem;padding:10rem;background:#fcfcfc;font-size:24rem;font-weight:500;}
._guideInfo .process {padding:60rem 0 65rem;border-bottom:2rem solid #568a8b;}
._guideInfo .process ol {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:46rem;margin-top:40rem;}
._guideInfo .process li {position:relative;display:flex;flex-direction:column;align-items:center;padding:25rem 8rem 22rem;border:2rem solid #e0e0e0;border-radius:24rem;background:#fcfcfc;text-align:center;}
._guideInfo .process li:not(:last-child)::after {position:absolute;left:calc(100% + 14rem);top:calc(50% - 11rem);width:22rem;height:22rem;border:solid var(--point);border-width:2rem 2rem 0 0;transform:rotate(45deg);content:'';}
._guideInfo .process img {width:80rem;height:80rem;object-fit:contain;}
._guideInfo .process h3 {margin-top:20rem;font-size:28rem;font-weight:500;line-height:1.4;}
._guideInfo .process p {margin-top:5rem;font-size:20rem;color:#999;line-height:1.4;letter-spacing:-.07em;}
._guideReservation {padding:125rem 0 130rem;background:var(--paper);}
._guideReservation .consent+.consent {margin-top:54rem;}
._guideReservation .consent h3 {margin-bottom:18rem;font-size:22rem;font-weight:600;}
._guideReservation .consent h3::before {display:inline-block;width:5rem;height:5rem;margin-right:10rem;background:var(--point);vertical-align:middle;content:'';}
._guideReservation .terms {height:86rem;padding:18rem 24rem;overflow:auto;overscroll-behavior:contain;border:1rem solid #ddd;background:#fff;font-size:16rem;line-height:1.65;color:#555;}
._guideReservation .agree {display:flex;justify-content:space-between;align-items:center;gap:20rem;margin-top:12rem;color:#555;font-size:18rem;line-height:1.5;}
._guideReservation .agree label {flex:none;}
._guideReservation input:is([type=checkbox],[type=radio]) {width:20rem;height:20rem;accent-color:var(--point);}
._guideReservation .formBox {margin-top:90rem;padding:50rem 148rem;border:1rem solid #ddd;background:#fff;}
._guideReservation h2 {text-align:center;}
._guideReservation .formNote {margin-top:16rem;font-size:16rem;line-height:1.6;color:#777;text-align:center;}
._guideReservation .fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34rem 24rem;margin-top:58rem;}
._guideReservation .fields>label {display:flex;flex-direction:column;gap:10rem;min-width:0;font-size:22rem;}
._guideReservation .fields input:not([type=radio]),._guideReservation select {width:100%;min-width:0;height:72rem;padding:0 16rem;border:1rem solid #ddd;border-radius:12rem;background:#fcfcfc;font-size:22rem;color:#555;}
._guideReservation select {padding-right:44rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fcfcfc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 20rem center/14rem 8rem;}
._guideReservation select::-ms-expand {display:none;}
._guideReservation input:not([type=radio],[type=checkbox]) {cursor:text;}
._guideReservation .wide {grid-column:1/-1;min-width:0;}
._guideReservation .unitTypes legend {height:auto;margin-bottom:20rem;overflow:visible;font-size:22rem;text-indent:0;}
._guideReservation .unitTypes>div {display:flex;flex-wrap:wrap;justify-content:space-between;gap:20rem;}
._guideReservation .unitTypes label {font-size:24rem;white-space:nowrap;}
._guideReservation .submit {display:block;width:100%;min-height:100rem;margin-top:90rem;padding:20rem;border-radius:10rem;background:var(--point);color:#fff;font-size:26rem;font-weight:700;}
._guideReservation .contact {margin-top:30rem;text-align:center;font-size:20rem;color:#999;line-height:1.5;}
._guideReservation .contact a {color:var(--point);font-weight:700;}
._guideReservation .contact a {vertical-align:baseline;color:var(--point);font-weight:700;}
.reservationDialog,.noticeDialog {width:720rem;padding:75rem 45rem 45rem;}
.reservationDialog p,.noticeDialog p {margin-top:24rem;font-size:18rem;overflow-wrap:anywhere;}
.reservationDialog a {color:var(--point);font-weight:700;}
:is(._guideInfo,._guideReservation,._newsSection) :focus-visible {outline:2rem solid var(--point);outline-offset:4rem;}

@media screen and (min-width:1201px) and (max-width:1600px) {
	._guideInfo {padding:110rem 0;}
	._guideInfo h2,._guideReservation h2 {font-size:42rem;}
	._guideInfo .qualification p {font-size:23rem;}
	._guideInfo table {min-width:480rem;font-size:21rem;}
	._guideInfo thead th {font-size:19rem;}
	._guideInfo .tableScroll {margin-top:45rem;}
	._guideInfo .process ol {gap:32rem;}
	._guideInfo .process li:not(:last-child)::after {left:calc(100% + 9rem);width:16rem;height:16rem;}
	._guideInfo .process img {width:68rem;height:68rem;}
	._guideInfo .process h3 {font-size:22rem;}
	._guideInfo .process p {font-size:16rem;}
	._guideReservation .formBox {padding:50rem 80rem;}
	._guideReservation .unitTypes label {font-size:20rem;}
}

@media screen and (max-width:1200px) {
	._guideInfo {padding:85rem 0;}
	._guideInfo h2,._guideReservation h2 {font-size:36rem;}
	._guideInfo .overview {grid-template-columns:1fr;gap:35rem;padding:30rem 0 40rem;}
	._guideInfo .qualification {padding:0;border-right:0;}
	._guideInfo .qualification p {font-size:22rem;}
	._guideInfo .period {margin-top:28rem;padding-top:28rem;}
	._guideInfo .tableScroll {margin-top:24rem;}
	._guideInfo table {font-size:22rem;}
	._guideInfo thead th {font-size:19rem;}
	._guideInfo .process {padding:40rem 0;}
	._guideInfo .process ol {grid-template-columns:repeat(3,minmax(0,1fr));gap:30rem 36rem;margin-top:30rem;}
	._guideInfo .process li:not(:last-child)::after {left:calc(100% + 9rem);width:18rem;height:18rem;}
	._guideInfo .process li:nth-child(3)::after {display:none;}
	._guideInfo .process h3 {font-size:23rem;}
	._guideInfo .process p {font-size:16rem;}
	._guideReservation {padding:70rem 0;}
	._guideReservation .formBox {padding:40rem;margin-top:55rem;}
	._guideReservation .fields {margin-top:40rem;gap:25rem 20rem;}
	._guideReservation .fields>label,._guideReservation .unitTypes legend {font-size:18rem;}
	._guideReservation .fields input:not([type=radio]),._guideReservation select {height:60rem;font-size:18rem;}
	._guideReservation .unitTypes>div {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20rem;}
	._guideReservation .unitTypes label {font-size:18rem;}
	._guideReservation .submit {min-height:75rem;margin-top:50rem;font-size:22rem;}
	._guideReservation .contact {font-size:17rem;}
}

@media screen and (max-width:639px) {
	._guideInfo {padding:60rem 0;}
	._guideInfo h2,._guideReservation h2 {font-size:28rem;}
	._guideInfo .qualification p {font-size:16rem;}
	._guideInfo .qualification br {display:none;}
	._guideInfo .period br {display:initial;}
	._guideInfo table {min-width:470rem;font-size:17rem;}
	._guideInfo thead th {font-size:15rem;}
	._guideInfo th,._guideInfo td {height:55rem;}
	._guideInfo .process ol {grid-template-columns:repeat(2,minmax(0,1fr));gap:24rem 30rem;}
	._guideInfo .process li {padding:20rem 5rem;border-radius:16rem;}
	._guideInfo .process li:not(:last-child)::after {left:calc(100% + 8rem);width:14rem;height:14rem;}
	._guideInfo .process li:nth-child(3)::after {display:block;}
	._guideInfo .process li:nth-child(even)::after {display:none;}
	._guideInfo .process img {width:60rem;height:60rem;}
	._guideInfo .process h3 {font-size:18rem;margin-top:14rem;}
	._guideInfo .process p {font-size:12rem;}
	._guideReservation {padding:50rem 0;}
	._guideReservation .consent h3 {font-size:15rem;line-height:1.5;margin-bottom:12rem;}
	._guideReservation .terms {height:100rem;padding:12rem;font-size:12rem;}
	._guideReservation .agree {align-items:flex-start;flex-direction:column;gap:10rem;font-size:13rem;}
	._guideReservation .agree label {align-self:flex-end;}
	._guideReservation .consent+.consent {margin-top:30rem;}
	._guideReservation .formBox {padding:30rem 20rem;margin-top:35rem;}
	._guideReservation .formNote {font-size:12rem;}
	._guideReservation .fields {grid-template-columns:1fr;margin-top:30rem;gap:22rem;}
	._guideReservation .fields>label,._guideReservation .unitTypes legend {font-size:15rem;}
	._guideReservation .fields input:not([type=radio]),._guideReservation select {height:52rem;padding:0 12rem;font-size:16rem;border-radius:7rem;}
	._guideReservation select {padding-right:36rem;background-position:right 14rem center;background-size:12rem 7rem;}
	._guideReservation .unitTypes>div {grid-template-columns:repeat(2,minmax(0,1fr));gap:16rem 8rem;}
	._guideReservation .unitTypes label {font-size:14rem;}
	._guideReservation input:is([type=checkbox],[type=radio]) {width:17rem;height:17rem;}
	._guideReservation .submit {min-height:60rem;margin-top:35rem;font-size:17rem;}
	._guideReservation .contact {font-size:13rem;margin-top:20rem;}
	.reservationDialog,.noticeDialog {padding:75rem 24rem 30rem;}
	.reservationDialog h2,.noticeDialog h2 {font-size:24rem;}
	.reservationDialog p,.noticeDialog p {font-size:15rem;}
}


/* 숲속의 아침 소식 */
.newsPages ._subHero {background:var(--point);}
.newsPages ._subHero::after {display:none;}
._newsSection {padding:164rem 0;}
._newsSection>.inner {max-width:1500rem;}
._newsSection .sampleNote {font-size:14rem;line-height:1.5;color:#888;}
._newsSection .pressGrid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:94rem 60rem;margin-top:20rem;}
._newsSection .pressGrid article {display:flex;flex-direction:column;min-width:0;padding-bottom:35rem;border-bottom:1rem solid #568a8b;}
._newsSection .publisher {padding-bottom:30rem;border-bottom:1rem solid #568a8b;color:var(--point);font-size:28rem;font-weight:700;}
._newsSection .pressGrid h3 {margin-top:22rem;font-size:26rem;font-weight:600;line-height:1.6;}
._newsSection .excerpt {margin:20rem 0 32rem;font-size:20rem;line-height:1.7;color:#666;}
._newsSection .pressGrid time {display:block;margin-top:auto;text-align:right;font-size:18rem;}
._newsSection.awards {background:var(--paper);}
._newsSection.awards h2 {margin-bottom:55rem;color:var(--point);font-size:50rem;font-weight:700;}
._newsSection .awardList>div {display:grid;grid-template-columns:270rem minmax(0,1fr);align-items:center;padding:38rem 0;border-top:1rem solid #568a8b;}
._newsSection .awardList>div:last-child {border-bottom:1rem solid #568a8b;}
._newsSection .awardList dt {font-family:var(--fontEn);font-weight:400;color:var(--point);font-size:50rem;}
._newsSection .awardList li {display:grid;grid-template-columns:80rem minmax(0,1fr);align-items:start;gap:15rem;font-size:26rem;line-height:1.55;}
._newsSection .awardList li+li {margin-top:8rem;}
._newsSection .awardList li p {grid-column:2;}
._newsSection .awardList .month {padding:0 6rem;border-radius:4rem;background:var(--point);color:#fff;font-weight:600;text-align:center;white-space:nowrap;}
._newsSection .awardList .by {display:inline-block;margin-left:6rem;padding:0 10rem;border:1rem solid #568a8b;border-radius:5rem;background:#fff;color:var(--point);font-size:22rem;line-height:1.4;vertical-align:middle;}
._newsSection.newsBoard>.inner {max-width:1240rem;}
._newsSection .videoTabs button {min-height:100rem;font-size:28rem;}
._newsSection .videoPanel {display:grid;place-items:center;aspect-ratio:1500/845;margin-top:136rem;padding:30rem;background:var(--point);color:#fff;text-align:center;font-size:20rem;line-height:1.8;}

@media screen and (min-width:1201px) and (max-width:1600px) {
	._newsSection {padding:110rem 0;}
	._newsSection .pressGrid {gap:70rem 40rem;}
	._newsSection .publisher {font-size:25rem;}
	._newsSection .pressGrid h3 {font-size:23rem;}
	._newsSection .excerpt {font-size:18rem;}
	._newsSection .awardList>div {grid-template-columns:190rem minmax(0,1fr);}
	._newsSection .awardList li {font-size:22rem;}
	._newsSection .awardList .by {font-size:18rem;}
}

@media screen and (max-width:1200px) {
	._newsSection {padding:85rem 0;}
	._newsSection .pressGrid {grid-template-columns:repeat(2,minmax(0,1fr));gap:55rem 30rem;}
	._newsSection .publisher {padding-bottom:20rem;font-size:23rem;}
	._newsSection .pressGrid h3 {font-size:22rem;}
	._newsSection .excerpt {font-size:17rem;}
	._newsSection .pressGrid time {font-size:15rem;}
	._newsSection.awards h2 {font-size:36rem;margin-bottom:35rem;}
	._newsSection .awardList>div {grid-template-columns:130rem minmax(0,1fr);padding:25rem 0;}
	._newsSection .awardList dt {font-size:36rem;}
	._newsSection .awardList li {grid-template-columns:58rem minmax(0,1fr);gap:12rem;font-size:18rem;}
	._newsSection .awardList .by {font-size:15rem;}
	._newsSection .videoTabs button {min-height:65rem;font-size:19rem;}
	._newsSection .videoPanel {margin-top:60rem;font-size:17rem;}
}

@media screen and (max-width:639px) {
	.newsPages ._subNav .tabs a {font-size:11rem;}
	._newsSection {padding:60rem 0;}
	._newsSection .sampleNote {font-size:11rem;}
	._newsSection .pressGrid {grid-template-columns:1fr;gap:35rem;}
	._newsSection .publisher {font-size:21rem;padding-bottom:16rem;}
	._newsSection .pressGrid h3 {font-size:20rem;margin-top:16rem;}
	._newsSection .excerpt {font-size:15rem;margin:15rem 0 25rem;}
	._newsSection .pressGrid article {padding-bottom:25rem;}
	._newsSection.awards h2 {font-size:28rem;margin-bottom:25rem;}
	._newsSection .awardList>div {grid-template-columns:1fr;gap:18rem;}
	._newsSection .awardList dt {font-size:32rem;}
	._newsSection .awardList li {grid-template-columns:43rem minmax(0,1fr);gap:10rem;font-size:15rem;}
	._newsSection .awardList .by {margin:5rem 0 0;padding:0 6rem;font-size:12rem;}
	._newsSection .videoTabs {flex-wrap:nowrap;}
	._newsSection .videoTabs button {flex:1 1 0;min-height:45rem;padding:10rem 2rem;font-size:12rem;}
	._newsSection .videoPanel {margin-top:35rem;padding:15rem;font-size:12rem;}
}
