/* Directions page: keep the legacy intro-top/trans rules isolated. */
.gc-directions {
    color: #555;
    margin-top: 38px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
    word-break: keep-all;
    overflow-wrap: anywhere;
}
.intro4 .gc-directions__header {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    align-items: center;
    gap: 36px;
    margin-top: 0;
    margin-bottom: 38px;
}
.intro4 .gc-directions__identity { min-width: 0; }
.intro4 .gc-directions__logo { display: block; width: 68px; height: 40px; overflow: hidden; margin-bottom: 9px; }
.intro4 .gc-directions__logo img { display: block; width: 218px; max-width: none; height: 40px; }
.intro4 .gc-directions__identity h2 {
    padding-bottom: 0;
    font-size: clamp(24px, 2.7vw, 38px);
    font-weight: 400;
    letter-spacing: 0.03em;
    line-height: 1.35;
}
.intro4 .gc-directions__contact { display: grid; gap: 8px; margin: 0; padding: 0; }
.intro4 .gc-directions__contact li { margin: 0; padding: 0; display: flex; align-items: center; gap: 15px; font-size: 20px; line-height: 1.5; }
.intro4 .gc-directions__contact svg {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    fill: none;
    stroke: #e07a54;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.intro4 .gc-directions__contact a { color: inherit; }
.intro4 .gc-directions__map-shell { position: relative; margin-top: 0; width: 100%; min-height: 360px; background: #f7f7f7; }
.intro4 .gc-directions__map-shell .root_daum_roughmap { width: 100% !important; box-sizing: border-box; border: 0; }
.intro4 .gc-directions__map-shell .root_daum_roughmap .wrap_map { height: 360px !important; }
.intro4 .gc-directions__map-shell .root_daum_roughmap .roughmap_lebel_text { word-break: normal; }
.intro4 .gc-directions__map-status { padding: 24px; text-align: center; }
.intro4 .gc-directions__map-status[hidden] { display: none; }
.intro4 .gc-directions__map-link { display: flex; justify-content: flex-end; margin-top: 12px; }
.intro4 .gc-directions__map-link a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 32px;
    color: #767676;
    font-size: 15px;
    line-height: 1.5;
    text-decoration: underline;
    text-underline-offset: 5px;
    white-space: nowrap;
    flex-shrink: 0;
}
.intro4 .gc-directions__map-link svg { width: 19px; height: 19px; fill: none; stroke: #e07a54; stroke-width: 1.4; }
.gc-directions a:focus-visible { outline: 2px solid #283a67; outline-offset: 4px; }
.intro4 .gc-directions__details { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 38px; }
.intro4 .gc-directions__details section { min-width: 0; }
.intro4 .gc-directions__details h3 {
    margin-bottom: 15px;
    padding-bottom: 7px;
    border-bottom: 1px solid #555;
    font-size: 21px;
    font-weight: 400;
    letter-spacing: .06em;
}
.intro4 .gc-directions__details h4 { font-size: 16px; font-weight: 400; margin: 0 0 7px; }
.intro4 .gc-directions__description { padding-left: 22px; margin-bottom: 21px; }
.intro4 .gc-directions__description p + p { margin-top: 7px; }
.intro4 .gc-directions__transfer { display: inline-block; padding-left: 13px; }
.intro4 .gc-directions__notes { font-size: 15px; padding: 0; margin: 10px 0 0; }
.intro4 .gc-directions__notes li { padding: 0; margin: 0; }
.intro4 .gc-directions__notes li + li { margin-top: 6px; }
@media (max-width: 900px) {
    .intro4 .gc-directions__header { grid-template-columns: 1fr; gap: 22px; margin-bottom: 28px; }
    .intro4 .gc-directions__identity h2 { font-size: 30px; }
    .intro4 .gc-directions__contact li { font-size: 18px; }
    .intro4 .gc-directions__details { gap: 28px; }
}
@media (max-width: 600px) {
    .gc-directions { margin-top: 25px; font-size: 15px; }
    .intro4 .gc-directions__identity h2 { font-size: 26px; letter-spacing: 0.03em; }
    .intro4 .gc-directions__contact li { font-size: 16px; gap: 10px; }
    .intro4 .gc-directions__contact svg { width: 25px; height: 25px; flex-basis: 25px; }
    .intro4 .gc-directions__details { grid-template-columns: 1fr; gap: 24px; margin-top: 28px; }
    .intro4 .gc-directions__details h3 { font-size: 19px; }
    .intro4 .gc-directions__details h4 { font-size: 15px; }
    .intro4 .gc-directions__description { padding-left: 15px; }
    .intro4 .gc-directions__map-link a { min-height: 44px; }
}
