/* 서브페이지 공통 컴포넌트 */
.page-title{padding:calc(var(--section-pad) * .6) var(--gutter);border-bottom:1px solid var(--color__border)}
.page-title__eyebrow{font-size:13px;letter-spacing:1.92px;text-transform:uppercase;color:var(--color__text--muted);margin-bottom:.5rem;font-weight:400}
.page-title__headline{font-weight:300;margin:0}
.page-title__subtitle{margin:.5rem 0 0;color:var(--color__text--muted)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--color__text--muted);margin-bottom:12px}
.breadcrumb a:hover{color:var(--color__text)}
.breadcrumb li+li::before{content:"/";margin-right:8px}

.text-box{display:grid;gap:30px;grid-template-columns:1fr}
@media(min-width:992px){.text-box{grid-template-columns:5fr 7fr;gap:60px}}
.text-box h3{font-weight:300;margin-bottom:1rem}
.text-box p{font-size:16px;line-height:28px;margin-bottom:1rem}
@media(min-width:768px){.text-box p{font-size:17px;line-height:30px}}
.text-box ul{margin:0 0 1rem;padding-left:1.1em;list-style:disc}
.text-box li{font-size:16px;line-height:28px}

.subnav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-inline:var(--gutter);border-bottom:1px solid var(--color__border);background:#fff;position:sticky;top:var(--header-h);z-index:900}
.subnav::-webkit-scrollbar{display:none}
.subnav a{flex:0 0 auto;padding:16px 14px;font-size:14px;font-weight:500;white-space:nowrap;position:relative}
.subnav a::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:#000;transform:scaleX(0);transition:transform .2s}
.subnav a:hover::after,.subnav a.is-active::after{transform:scaleX(1)}

.feature{display:grid;gap:0;grid-template-columns:1fr;background:var(--color__background--subtle)}
@media(min-width:992px){.feature{grid-template-columns:1fr 1fr}.feature--reverse .feature__media{order:2}}
.feature__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
@media(min-width:992px){.feature__media img{aspect-ratio:auto;min-height:520px}}
.feature__body{padding:var(--section-pad) var(--gutter);display:flex;flex-direction:column;justify-content:center}
@media(min-width:992px){.feature__body{padding:80px 70px}}
.feature__body .eyebrow{font-size:13px;letter-spacing:1.92px;text-transform:uppercase;color:var(--color__text--muted);margin-bottom:.75rem;font-weight:400}
.feature__body h2{font-weight:300;margin-bottom:1rem}
.feature__body p{font-size:16px;line-height:28px;max-width:520px}
.feature__body .spec{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:20px 0 28px;max-width:520px}
.feature__body .spec div{border-top:1px solid var(--color__border--strong);padding-top:10px}
.feature__body .spec dt{font-size:12px;letter-spacing:.96px;text-transform:uppercase;color:var(--color__text--muted)}
.feature__body .spec dd{margin:4px 0 0;font-size:15px;font-weight:500}
.feature__body .btn{align-self:flex-start}

.tile-grid{display:grid;gap:30px 20px;grid-template-columns:1fr}
@media(min-width:576px){.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:992px){.tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 30px}}
.tile-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:992px){.tile-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}

.steps{display:grid;gap:30px;grid-template-columns:1fr;counter-reset:step}
@media(min-width:768px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.step{border-top:1px solid var(--color__border--strong);padding-top:18px;counter-increment:step}
.step::before{content:"0" counter(step);display:block;font-size:13px;letter-spacing:1.92px;color:var(--color__text--muted);margin-bottom:10px}
.step .h4{font-size:16px;font-weight:500;margin-bottom:.5rem}
.step p{font-size:15px;line-height:24px;color:var(--color__text--muted);margin:0}

.filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--headline-pad)}
.filter button{border:1px solid var(--color__border--strong);padding:8px 16px;font-size:13px;font-weight:500;letter-spacing:.3px;transition:background .2s,color .2s}
.filter button:hover,.filter button.is-active{background:#000;color:#fff}
.gallery-item.is-hidden{display:none}
.gallery-item .teaser__image{aspect-ratio:4/3}

.form{display:grid;gap:18px;grid-template-columns:1fr;max-width:720px}
@media(min-width:768px){.form{grid-template-columns:1fr 1fr}.form .full{grid-column:1/-1}}
.form label{display:block;font-size:13px;font-weight:500;letter-spacing:.3px;margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--color__border);border-radius:0;background:#fff;color:var(--color__text)}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:#000}
.form textarea{min-height:140px;resize:vertical}
.form .form__note{font-size:13px;color:var(--color__text--muted);grid-column:1/-1;margin:0}
.info-list{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:768px){.info-list{grid-template-columns:1fr 1fr}}
.info-list div{border-top:1px solid var(--color__border--strong);padding-top:12px}
.info-list dt{font-size:12px;letter-spacing:.96px;text-transform:uppercase;color:var(--color__text--muted)}
.info-list dd{margin:6px 0 0;font-size:16px;font-weight:500}
.map-ph{background:var(--color__background--subtle);aspect-ratio:16/7;display:flex;align-items:center;justify-content:center;color:var(--color__text--muted);font-size:14px;border:1px solid var(--color__border)}
.tbd{color:var(--color__text--muted);border-bottom:1px dashed var(--color__border--strong)}
.partner-grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media(min-width:768px){.partner-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.partner{border:1px solid var(--color__border);padding:18px 16px}
.partner .h4{font-size:15px;font-weight:500;margin-bottom:.35rem}
.partner p{font-size:14px;color:var(--color__text--muted);margin:0;line-height:22px}
.promo{border:1px solid var(--color__border--strong);padding:28px 24px;display:flex;flex-direction:column;gap:10px}
.promo .h4{font-size:18px;font-weight:500;margin:0}
.promo .period{font-size:13px;letter-spacing:.96px;text-transform:uppercase;color:var(--color__text--muted)}
.promo p{font-size:15px;line-height:24px;margin:0;color:var(--color__text)}
.promo .btn{align-self:flex-start;margin-top:8px}
.kakao-bar{position:fixed;right:20px;bottom:20px;z-index:1010;display:flex;flex-direction:column;gap:8px}
.kakao-bar a{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;background:#000;color:#fff;font-size:13px;font-weight:500;letter-spacing:.3px;box-shadow:0 20px 40px -18px rgba(0,0,0,.6)}
.kakao-bar a:hover{background:var(--color__accent);color:#fff}
.kakao-bar svg{width:18px;height:18px}
.hero--sub{height:60vh;min-height:420px}
.hero--sub .hero__caption{padding-bottom:calc(var(--section-pad) * .7)}
.navigation__link.is-current::after{transform:scaleX(1)}
.section-border{border-top:1px solid var(--color__border)}
