/* Shared chrome. Logo, footer backgrounds, content and destinations from dgdr.co.kr/lessor. */
.site-header { position: sticky; top: 0; z-index: 30; background: #fff; border-bottom: 1px solid #E4EBED; }
.site-header-inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; max-width: 1440px; min-height: 72px; margin: 0 auto; padding: 12px 32px; }
.site-brand { display: flex; align-items: center; gap: 16px; white-space: nowrap; }
.site-brand img { width: 121px; height: 34px; object-fit: contain; }
.site-brand span { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 999px; background: #E6F8F2; color: #00866B; font-size: 14px; font-weight: 650; line-height: 1.3; }
.site-nav { display: flex; justify-content: center; align-items: center; gap: clamp(20px, 2.8vw, 44px); }
.site-nav a { color: #171C26; font-size: 15px; font-weight: 650; white-space: nowrap; padding: 10px 0; }
.housing-link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 40px; padding: 8px 18px; border: 1px solid #7CBEAE; border-radius: 12px; color: #00866B; font-size: 14px; font-weight: 650; white-space: nowrap; }
.site-nav a:hover, .footer-links a:hover { color: #00866B; }
.housing-link:hover { background: #F0F9F5; }
html { scroll-padding-top: var(--gnb-header-h, 73px); } /* 페이지 안 이동 시 헤더에 딱 붙게 (실제 높이는 gnb.js 가 넣음) */
.site-footer { color: #7C7C7C; background: url("brand/footer-bg.svg") center top / cover no-repeat; padding-top: 145px; font-weight: 500; }
.footer-main, .footer-contacts { width: 80%; margin: 0 auto; }
.footer-social { display: flex; align-items: center; justify-content: flex-end; gap: 25px; margin-bottom: 34px; }
.footer-social a { display: block; }
.footer-social img { width: 26px; height: 26px; }
.footer-companies { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 36px; }
.footer-companies p { font-size: 13px; line-height: 1.9; }
.footer-contact-band { margin-top: 47px; border-top: 1px solid rgb(0 212 170 / 20%); border-bottom: 1px solid rgb(0 212 170 / 20%); }
.footer-contacts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: 1px solid rgb(0 212 170 / 20%); }
.footer-contacts p { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 4px; min-height: 57px; padding: 8px; border-right: 1px solid rgb(0 212 170 / 20%); font-size: 16px; line-height: 1.8; }
.footer-contacts a { color: #00B591; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 36px max(32px, 8%) 65px; }
.footer-notice { color: rgb(124 124 124 / 50%); font-size: 12px; line-height: 1.6; }
.footer-links { display: flex; align-items: center; flex-shrink: 0; font-size: 13px; line-height: 1.5; }
.footer-links a + a { margin-left: 20px; padding-left: 20px; border-left: 1px solid #97E0D2; }
@media (max-width: 1170px) {
  .site-header-inner { gap: 20px; padding-inline: 24px; }
  .site-brand { gap: 10px; }
  .site-nav { gap: 20px; }
  .site-nav a { font-size: 14px; }
  .footer-contacts p { font-size: 13px; }
  .footer-bottom { flex-wrap: wrap; }
}
@media (max-width: 1023px) {
  html { scroll-padding-top: var(--gnb-header-h, 61px); }
  .site-footer { padding-top: 72px; background-image: url("brand/m-footer-bg.svg"); }
  .footer-main { width: calc(100% - 48px); max-width: 768px; }
  .footer-companies { align-items: flex-start; gap: 28px; }
  .footer-companies > div { flex: 1 1 300px; }
  .footer-companies p { font-size: 12px; }
  .footer-contacts { width: 90%; grid-template-columns: 1fr; }
  .footer-contacts p + p { border-top: 1px solid rgb(0 212 170 / 20%); }
  .footer-bottom { padding: 36px 24px 56px; flex-direction: column; align-items: flex-start; gap: 32px; }
  .footer-links { order: -1; }
}
@media (max-width: 600px) {
  .site-brand { gap: 8px; }
  .site-brand img { width: 102px; height: auto; }
  .site-brand span { padding: 4px 8px; font-size: 11px; }
  .housing-link { min-height: 34px; padding: 6px 10px; gap: 5px; border-radius: 9px; font-size: 11px; }
  .footer-social { margin-bottom: 28px; }
  .footer-companies p { font-size: 11px; }
  .footer-notice { font-size: 10px; }
  .footer-links { font-size: 12px; }
  .footer-links a + a { margin-left: 14px; padding-left: 14px; }
}
@media (max-width: 359px) {
  .site-header-inner { padding-inline: 12px; column-gap: 8px; }
  .site-brand img { width: 90px; }
  .site-brand { gap: 6px; }
}
