/* A reserved action row keeps contact controls outside the scrolling content. */
html{height:100%}
body{height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
header{position:relative;top:auto}
.site-content{min-height:0;overflow-y:auto;overflow-x:hidden;scroll-padding:24px;scroll-behavior:smooth;outline-offset:-4px}
.site-content:focus:not(:focus-visible){outline:none}
main:focus{outline:none}
.floating-contact{position:relative;inset:auto;display:flex;justify-content:flex-end;align-items:center;gap:10px;max-width:none;padding:10px 24px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce2e8;box-shadow:0 -5px 18px #14243808;z-index:25}
.floating-call{min-height:58px;padding:10px 20px;box-shadow:0 3px 12px #14243820}
.floating-kakao{min-width:52px;min-height:52px}
.site-content footer{padding-bottom:38px}
.article-aside{top:24px}
.overview-photo{max-width:850px;margin-top:24px;margin-bottom:24px}
.guide-overview-photo img{max-height:330px;object-fit:cover}
.local-area,.town-list li,.catalog-group{scroll-margin-top:24px}
.mobile-menu{display:none}
.analytics-consent{border-top:1px solid #dce2e8;padding:9px 18px;background:#f4f7fa;font-size:12px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.analytics-consent[hidden]{display:none}
.analytics-consent p{margin:0;line-height:1.5;max-width:580px}
.analytics-consent button,.analytics-settings{font:inherit;cursor:pointer;border:1px solid #9daab7;background:#fff;border-radius:3px;padding:8px 12px;min-height:40px;color:#233749}
.analytics-settings{font-size:12px}
.contact-context{font-size:13px;line-height:1.65;color:#5c7184;margin:13px 0}
.article-meta{font-size:13px!important;line-height:1.7!important;color:#64768a!important;margin:0 0 24px!important}
.source-note{background:#f4f7fa;border-left:3px solid #a8b8c9;padding:17px 20px;font-size:14px;line-height:1.8;color:#50677a}
.check-matrix{width:100%;border-collapse:collapse;margin:22px 0;font-size:15px}
.check-matrix th,.check-matrix td{text-align:left;vertical-align:top;border:1px solid #dbe3eb;padding:14px}
.check-matrix th{background:#edf3f8}
@media(max-width:760px){
 .header-inner{min-height:74px;gap:12px}
 .header-call,.header-inner .desktop-nav{display:none}
 .brand{gap:9px}
 .brand-logo{width:145px}
 .brand b{display:block;padding-left:9px;font-size:14px}
 .mobile-menu{display:block;position:relative;margin-left:auto}
 .mobile-menu summary{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border:1px solid #ced9e4;border-radius:5px;list-style:none;font-size:14px;font-weight:700;cursor:pointer}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu[open] summary{background:#edf3f8}
 .mobile-menu[open] nav{display:grid;position:absolute;right:0;top:calc(100% + 8px);width:min(300px,calc(100vw - 36px));padding:8px;background:white;border:1px solid #ccd7e2;border-radius:5px;box-shadow:0 12px 30px #14243822;gap:0;max-height:calc(100dvh - 170px);overflow:auto}
 .mobile-menu nav a{display:block;padding:12px 15px;min-height:48px;font-size:16px}
 .mobile-menu nav a:hover{background:#f2f6f9}
 .floating-contact{padding:8px 14px calc(8px + env(safe-area-inset-bottom));gap:8px}
 .floating-call{min-height:56px;padding:8px 18px;gap:10px}
 .floating-call strong{font-size:15px}
 .floating-call small{font-size:14px}
 .floating-kakao{min-width:50px;min-height:50px}
 .page-regional .page-hero{padding-top:17px;padding-bottom:22px}
 .page-regional .breadcrumbs{margin-bottom:16px}
 .page-regional .page-hero h1{font-size:31px;margin:13px 0}
 .page-regional .page-hero>.wrap>p{line-height:1.65}
 .page-regional .dispatch-finder{margin-top:20px;padding:20px}
 .page-regional .dispatch-finder>p{margin:10px 0 16px;line-height:1.65}
 .page-regional .dispatch-finder h2{font-size:23px}
 .check-matrix{font-size:14px}
 .check-matrix th,.check-matrix td{padding:11px}
}
@media(prefers-reduced-motion:reduce){.site-content{scroll-behavior:auto}}
@media print{html,body{height:auto;display:block;overflow:visible}.site-content{overflow:visible;height:auto}.floating-contact,.mobile-menu{display:none}header{position:static}}
