@charset "utf-8";
/* FAQ의 고정 안내 + 정보 목록. 지도는 변형 없이 크기만 반응형으로 조정한다. */
.hn-location em { font-style: normal; color: var(--hn-caramel); word-break: keep-all; }
.hn-location .lc-main { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 96px; align-items: start; padding: 96px var(--ab-gutter) 144px; }
.hn-location .lc-intro { position: sticky; top: 120px; }
.hn-location .lc-intro .ab-h1 { margin-top: 20px; }
.hn-location .lc-intro .ab-desc { margin-top: 28px; max-width: 28em; font-size: 17px; }
.hn-location .lc-link { display: inline-flex; align-items: center; gap: 24px; min-height: 48px; margin-top: 28px; border-bottom: 1px solid var(--hn-ink); font-weight: 600; }
.hn-location .lc-link span { transition: transform .4s var(--hn-ease); }
.hn-location .lc-link:hover { color: var(--hn-caramel); }
.hn-location .lc-link:hover span { transform: translateX(6px); }

.hn-location .lc-office { min-width: 0; }
.hn-location .lc-office-heading { padding: 24px 0; border-top: 1px solid var(--hn-ink); }
.hn-location .lc-office-heading > span { font: italic 14px/1.5 "Lora", serif; color: var(--hn-caramel); }
.hn-location .lc-office-heading h3 { margin-top: 8px; font-size: 24px; font-weight: 600; }
.hn-location .lc-map { position: relative; overflow: hidden; width: 100%; height: clamp(280px, 32vw, 480px); background: var(--hn-paper); }
/* 구글 지도 왼쪽 위 장소 카드(주소·길찾기)는 iframe 안이라 숨길 수 없어, 지도를 위로 150px 늘려 그 부분만 상자 밖으로 잘라 낸다(아래쪽 Google 표기는 그대로 보이게) */
.hn-location .lc-map iframe { top: -150px !important; height: calc(100% + 150px) !important; }
.hn-location .lc-info { margin-top: 24px; border-top: 1px solid var(--hn-ink); }
.hn-location .lc-info > div { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--hn-ink-200); }
.hn-location .lc-info dt { font-size: 14px; color: var(--hn-ink-700); }
.hn-location .lc-info dd { font-size: 17px; line-height: 1.75; overflow-wrap: anywhere; }
.hn-location .lc-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 32px; }
.hn-location .lc-map-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 56px; padding: 12px 24px; border: 1px solid var(--hn-ink); transition: color .3s, background .3s; }
.hn-location .lc-map-link:hover { background: var(--hn-ink); color: var(--hn-paper); }
.hn-location .lc-pending { padding: 48px; background: var(--hn-paper); border: 1px solid var(--hn-ink-200); }
.hn-location .lc-pending h4 { font-size: 24px; }
.hn-location .lc-pending p { margin-top: 24px; line-height: 1.85; }
.hn-location .lc-guide { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 96px; background: var(--hn-paper); }
.hn-location .lc-guide .ab-h2 { margin-top: 20px; }
.hn-location .lc-guide-list { border-top: 1px solid var(--hn-ink); }
.hn-location .lc-guide-list li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--hn-ink-200); }
.hn-location .lc-guide-list li > span { font: italic 24px/1.4 "Lora", serif; color: var(--hn-caramel); }
.hn-location .lc-guide-list h4 { font-size: 22px; }
.hn-location .lc-guide-list p { margin-top: 16px; line-height: 1.85; color: var(--hn-ink-700); }
.hn-location .lc-guide-list .lc-link { margin-top: 16px; }
@media (min-width: 1025px) and (max-width: 1280px) {
 .hn-location .lc-main, .hn-location .lc-guide { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; }
 .hn-location .lc-intro .ab-h1 { font-size: 36px; }
}
@media (max-width: 1024px) {
 .hn-location .lc-main { grid-template-columns: 1fr; gap: 56px; padding-top: 64px; padding-bottom: 112px; }
 .hn-location .lc-intro { position: static; }
 .hn-location .lc-intro .ab-desc { max-width: 42em; }
 .hn-location .lc-map { height: 420px; }
 .hn-location .lc-guide { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 767px) {
 .hn-location .lc-main { padding-top: 48px; padding-bottom: 88px; gap: 48px; }
 .hn-location .lc-intro .ab-desc { font-size: 16px; }
 .hn-location .lc-map { height: 300px; }
 .hn-location .lc-info > div { grid-template-columns: 64px minmax(0, 1fr); gap: 16px; }
 .hn-location .lc-info dd { font-size: 15px; }
 .hn-location .lc-actions { flex-direction: column; }
 .hn-location .lc-map-link { width: 100%; }
 .hn-location .lc-guide-list li { grid-template-columns: 32px minmax(0, 1fr); gap: 16px; }
 .hn-location .lc-guide-list h4 { font-size: 20px; }
 .hn-location .lc-pending { padding: 32px 24px; }
 .hn-location .lc-pending h4 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
 .hn-location *, .hn-location *::before, .hn-location *::after { animation: none !important; transition: none !important; }
}
