@charset "utf-8";
/* Consultation contact page. Keep the global header and navigation unchanged. */
.contact-page{--contact-navy:#071854;--contact-blue:#183b6b;--contact-border:#c7dff4;max-width:1200px;margin:0 auto;padding:114px 0 18px;color:var(--contact-navy);font-size:18px;line-height:1.6;word-break:keep-all;letter-spacing:-.045em}
.contact-page svg,.contact-services svg{display:block;width:40px;height:42px;flex-shrink:0}
.contact-offices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.contact-office{display:flex;flex-direction:column;min-width:0;min-height:1120px;padding:14px;border:1px solid var(--contact-border);border-radius:5px;background:#fff}
.contact-map{position:relative;height:210px;overflow:hidden;border-radius:4px;background:#eef3f7}
.contact-map .root_daum_roughmap{width:100%!important;height:210px!important;border:0!important;padding:0!important}
.contact-map .root_daum_roughmap .wrap_map{height:210px!important}
.contact-map .wrap_controllers,.contact-map .wrap_cont{display:none!important}
.contact-map-link{position:absolute;right:10px;bottom:10px;z-index:3;display:flex;align-items:center;gap:12px;padding:7px 13px;border:1px solid #d2ddec;border-radius:4px;background:#fff;color:var(--contact-navy);font-size:13px;font-weight:600;box-shadow:0 2px 8px #07185412}
.contact-office-heading{padding:20px 12px 16px}
.contact-office h2{margin-bottom:5px;color:var(--contact-navy);font-size:38px;font-weight:800;line-height:1.35;letter-spacing:-.06em}
.contact-office-heading>p{font-size:22px;line-height:1.5;word-break:keep-all}
.contact-phone{display:flex;align-items:center;gap:12px;margin-top:15px;color:var(--contact-navy);line-height:1.4}
.contact-phone svg{width:28px;height:30px;fill:currentColor;stroke-width:.5}
.contact-phone>span{color:#4d5c91;font-size:20px;white-space:nowrap}
.contact-phone strong{font-size:34px;letter-spacing:-.045em;white-space:nowrap}
.contact-transport{display:grid;gap:15px}
.contact-direction{display:flex;align-items:flex-start;gap:18px;padding:15px;border:1px solid #d5e7f7;border-radius:5px;background:linear-gradient(125deg,#f7fbfe,#fff)}
.contact-direction-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:64px;height:64px;border-radius:50%;background:var(--contact-blue);color:#fff}
.contact-direction-icon svg{width:34px;height:36px}
.contact-direction>div{min-width:0;flex:1;padding-top:3px}
.contact-direction h3{margin-bottom:3px;font-size:26px;font-weight:750;line-height:1.5;letter-spacing:-.05em}
.contact-direction p{color:#4d5c91;font-size:18px;line-height:1.7;word-break:keep-all}
.contact-routes{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.contact-routes li{display:flex;align-items:center;justify-content:center;min-width:68px;padding:4px 16px;border:1px solid #1749ff;border-radius:30px;background:#fff;color:var(--contact-navy);font-size:17px;line-height:1.65;white-space:nowrap}
.contact-direction .contact-transfer{margin-top:13px;padding-top:9px;border-top:1px solid var(--contact-border);font-size:16px}
.contact-bus-group{padding:12px 0}
.contact-bus-group+.contact-bus-group{border-top:1px solid var(--contact-border)}
.contact-bus-group h4{color:var(--contact-navy);font-size:19px;font-weight:700;line-height:1.5}
.contact-bus-group>p{margin-top:8px;line-height:1.9}
.contact-parking{align-items:center}
.contact-parking>div{padding-top:0}
.contact-booking{margin-top:auto;padding-top:42px;text-align:center}
.contact-booking>a{display:flex;align-items:center;justify-content:center;gap:22px;min-height:60px;border-radius:4px;background:#193c6b;color:#fff;font-size:25px;font-weight:700;transition:background .2s}
.contact-booking>a span{font-size:32px;font-weight:400;line-height:1;transition:transform .2s}
.contact-booking>a:hover{background:#092652}
.contact-booking>a:hover span{transform:translateX(5px)}
.contact-booking>p{margin-top:8px;color:#5e6fa1;font-size:16px}
.contact-why{margin-top:24px}
.contact-kicker{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:500}
.contact-kicker:before{content:"";display:block;width:46px;height:3px;background:var(--contact-navy)}
.contact-why>h2{margin:3px 0 12px;font-size:38px;font-weight:800;line-height:1.4;letter-spacing:-.055em}
.contact-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.contact-values article{display:flex;align-items:flex-start;gap:24px;padding:18px 22px;border:1px solid var(--contact-border);border-radius:4px}
.contact-values article>svg{width:58px;height:60px;margin-top:4px}
.contact-values article>div{padding-left:18px;border-left:1px solid #e1edfa}
.contact-values article span{color:#5e6fa1;font-size:14px}
.contact-values h3{margin:2px 0 5px;font-size:21px;font-weight:700;line-height:1.5}
.contact-values article p{color:#5e6fa1;font-size:16px;line-height:1.65;word-break:keep-all}
.contact-services{padding:18px 0;color:#071854;background:#edf5fa;text-align:center;word-break:keep-all}
.contact-services-inner{max-width:1200px;margin:0 auto}
.contact-services h2{font-size:28px;font-weight:800;line-height:1.5;letter-spacing:-.045em}
.contact-services p{color:#5e6fa1;font-size:17px;line-height:1.7}
.contact-services ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-top:9px}
.contact-services a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:82px;padding:8px;border:1px solid #6c7da5;border-radius:4px;background:#fff;color:#071854;font-size:16px;font-weight:700;transition:background .2s,border-color .2s}
.contact-services svg{width:34px;height:36px}
.contact-services a:hover{background:#e2edfa;border-color:#071854}
.contact-page a:focus-visible,.contact-services a:focus-visible{outline:3px solid #1749ff;outline-offset:4px}
@media(min-width:1400px){.contact-page,.contact-services-inner{max-width:1160px}}
@media(max-width:1280px){.contact-page{margin:0 38px}.contact-services-inner{margin:0 38px}.contact-office h2{font-size:34px}.contact-office-heading>p{font-size:20px}.contact-phone strong{font-size:30px}.contact-direction{gap:15px;padding:12px}.contact-direction-icon{width:60px;height:60px}.contact-direction h3{font-size:24px}.contact-direction p{font-size:17px}.contact-routes li{padding:4px 14px;min-width:60px}.contact-values article{gap:16px;padding:15px}.contact-values article>svg{width:50px;height:54px}.contact-values article>div{padding-left:14px}.contact-values h3{font-size:19px}.contact-values article p{font-size:15px}}
@media(max-width:1023px){.contact-page{padding-top:104px;margin:0 30px}.contact-offices{gap:20px}.contact-office{min-height:1100px;padding:12px}.contact-map,.contact-map .root_daum_roughmap,.contact-map .root_daum_roughmap .wrap_map{height:180px!important}.contact-office-heading{padding:18px 10px}.contact-office h2{font-size:32px}.contact-phone{gap:9px}.contact-phone>span{font-size:17px}.contact-phone strong{font-size:28px}.contact-direction{gap:12px;padding:12px}.contact-direction-icon{width:52px;height:54px}.contact-direction h3{font-size:23px}.contact-routes{gap:6px}.contact-routes li{min-width:56px;padding:4px 12px;font-size:16px}.contact-bus-group h4{font-size:17px}.contact-values article{gap:12px;padding:14px 12px}.contact-values article>svg{width:44px;height:48px}.contact-values article>div{padding-left:12px}.contact-values h3{font-size:18px}.contact-values article p{font-size:14px}.contact-services-inner{margin:0 30px}.contact-services ul{gap:14px}}
/* Mobile: give directions the full text width instead of a narrow icon column. */
@media(max-width:767px){
    .contact-page{margin:0 16px;padding-top:96px;padding-bottom:24px;font-size:16px;letter-spacing:-.025em}
    .contact-offices{grid-template-columns:1fr;gap:20px}
    .contact-office{min-height:0;padding:12px}
    .contact-map,.contact-map .root_daum_roughmap,.contact-map .root_daum_roughmap .wrap_map{height:170px!important}
    .contact-map-link{right:8px;bottom:8px;min-height:40px;padding:6px 10px;font-size:12px}
    .contact-office-heading{padding:16px 4px}
    .contact-office h2{font-size:27px;line-height:1.35;margin-bottom:7px}
    .contact-office-heading>p{font-size:16px;line-height:1.6;overflow-wrap:anywhere}
    .contact-phone{gap:7px;min-height:44px;margin-top:9px}
    .contact-phone svg{width:21px;height:23px}
    .contact-phone>span{font-size:14px}
    .contact-phone strong{min-width:0;font-size:clamp(20px,6vw,26px);letter-spacing:-.035em}
    .contact-transport{gap:10px}
    .contact-direction{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px 12px;padding:13px}
    .contact-direction-icon{grid-column:1;width:40px;height:40px}
    .contact-direction-icon svg{width:26px;height:28px}
    .contact-direction>div{display:contents}
    .contact-direction>div>h3{display:flex;align-items:center;grid-column:2;min-height:40px;margin:0;font-size:20px;line-height:1.35}
    .contact-direction>div>:not(h3){grid-column:1/-1;min-width:0}
    .contact-direction p{font-size:15px;line-height:1.65;overflow-wrap:anywhere}
    .contact-direction .contact-transfer{margin-top:2px;padding-top:9px;font-size:14px}
    .contact-routes{gap:6px;margin-top:0}
    .contact-routes li{min-width:54px;padding:4px 12px;font-size:14px;line-height:1.6}
    .contact-bus-group{padding:4px 0}
    .contact-bus-group+.contact-bus-group{padding-top:12px}
    .contact-bus-group h4{font-size:16px;line-height:1.5}
    .contact-bus-group .contact-routes{margin-top:8px}
    .contact-bus-group>p{margin-top:6px;line-height:1.7}
    .contact-booking{padding-top:20px}
    .contact-booking>a{min-height:50px;gap:16px;font-size:19px}
    .contact-booking>a span{font-size:26px}
    .contact-booking>p{margin-top:6px;font-size:13px}
    .contact-why{margin-top:28px}
    .contact-kicker{gap:12px;font-size:12px}
    .contact-kicker:before{width:32px}
    .contact-why>h2{margin:5px 0 14px;font-size:26px;line-height:1.4}
    .contact-values{grid-template-columns:1fr;gap:10px}
    .contact-values article{gap:14px;padding:15px}
    .contact-values article>svg{width:38px;height:42px;margin-top:10px}
    .contact-values article>div{min-width:0;padding-left:14px}
    .contact-values article span{font-size:12px}
    .contact-values h3{margin:2px 0 4px;font-size:18px;line-height:1.45}
    .contact-values article p{font-size:14px;line-height:1.65;overflow-wrap:anywhere}
    .contact-values br{display:none}
    .contact-services{padding:22px 0}
    .contact-services-inner{margin:0 16px}
    .contact-services h2{font-size:21px;line-height:1.45;text-wrap:balance}
    .contact-services p{margin-top:7px;font-size:14px;line-height:1.65;text-wrap:pretty}
    .contact-services ul{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:15px}
    .contact-services li{grid-column:span 2;min-width:0}
    .contact-services li:nth-child(4){grid-column:2/span 2}
    .contact-services a{min-height:74px;padding:8px 4px;font-size:14px}
    .contact-services svg{width:29px;height:31px}
    body.consult-reservation-active .quick-menu1{padding-bottom:env(safe-area-inset-bottom,0px)}
    body.consult-reservation-active .quick-menu1 ul a{height:62px;gap:5px;font-size:12px}
    body.consult-reservation-active .quick-menu1 ul a img{width:23px;height:21px;object-fit:contain}
    body.consult-reservation-active #wrapper{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:359px){
    .contact-page,.contact-services-inner{margin-left:12px;margin-right:12px}
    .contact-office{padding:10px}
    .contact-office h2{font-size:25px}
    .contact-office-heading>p{font-size:15px}
    .contact-phone{gap:6px}
    .contact-phone>span{font-size:13px}
    .contact-direction{padding:11px;column-gap:10px}
    .contact-why>h2{font-size:24px}
    .contact-values article{gap:12px;padding:13px}
    .contact-values article>div{padding-left:12px}
    .contact-values h3{font-size:17px}
    .contact-services h2{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.contact-page *,.contact-services *{transition:none!important}}
