.ks-prose { max-width: 900px; font-size: 1.0625rem; line-height: 1.9; }
.ks-prose > :first-child { margin-top: 0; }
.ks-prose h3, .ks-prose h4, .ks-prose h5, .ks-prose h6 { font-family: var(--ks-font-heading); line-height: 1.45; letter-spacing: -.025em; }
.ks-prose h3 { margin: 2.4em 0 .8em; font-size: clamp(1.4rem,2.8vw,1.85rem); }
.ks-prose h4 { margin: 2.1em 0 .7em; font-size: clamp(1.2rem,2.3vw,1.5rem); }
.ks-prose h5 { margin: 1.8em 0 .6em; font-size: 1.125rem; }
.ks-prose h6 { margin: 1.6em 0 .5em; font-size: 1rem; }
.ks-prose p { margin: 0 0 1.25em; }
.ks-prose ul, .ks-prose ol { padding-left: 1.5em; }
.ks-content-hero { margin-bottom: 44px; padding: clamp(30px,5vw,56px); border-top: 4px solid var(--ks-primary); background: #f4f7f9; }
.ks-content-hero__eyebrow { margin: 0 0 10px; color: var(--ks-primary-strong); font-weight: 700; }
.ks-content-hero__title { max-width: 820px; margin: 0; font-family: var(--ks-font-heading); font-size: clamp(2rem,5vw,3.4rem); line-height: 1.3; letter-spacing: -.045em; }
.ks-content-hero__intro { max-width: 760px; margin: 20px 0 0; color: var(--ks-muted); font-size: 1.1rem; }
.ks-signature { display: flex; align-items: baseline; gap: 10px; margin-top: 24px; }
.ks-signature span { color: var(--ks-muted); }
.ks-signature strong { color: var(--ks-primary-strong); font-size: 1.2rem; }
.ks-section { margin-block: 42px; }
.ks-section__title { margin: 0 0 18px; font-family: var(--ks-font-heading); font-size: clamp(1.4rem,3vw,1.85rem); }
.ks-feature-list { display: grid; gap: 1px; margin: 22px 0; padding: 0; border: 1px solid var(--ks-line); background: var(--ks-line); list-style: none; }
.ks-feature-list li { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 20px; padding: 22px; background: #fff; }
.ks-feature-list__number { display: grid; place-items: center; align-self: start; width: 48px; height: 48px; border-radius: 50%; background: var(--ks-soft); color: var(--ks-primary-strong); font-weight: 800; }
.ks-feature-list strong { display: block; margin-bottom: 5px; font-size: 1.1rem; }
.ks-feature-list p { margin: 0; color: var(--ks-muted); }
.ks-callout { margin-block: 36px; padding: 24px 26px; border-left: 5px solid var(--ks-primary); background: #f7f9fa; }
.ks-callout > :first-child { margin-top: 0; }
.ks-callout > :last-child { margin-bottom: 0; }
.ks-info-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; border: 1px solid var(--ks-line); background: var(--ks-line); }
.ks-info-grid > div { padding: 20px; background: #fff; }
.ks-info-grid dt { color: var(--ks-muted); font-size: .875rem; font-weight: 700; }
.ks-info-grid dd { margin: 5px 0 0; }
.ks-location { display: flex; flex-direction: column; }
.ks-location [hidden] { display: none !important; }
.ks-location__map-section { order: 0; width: 100%; margin-bottom: 28px; }
.ks-location-list { order: 1; }
.ks-map { width: 100%; min-height: 280px; overflow: hidden; border: 1px solid var(--ks-line); background: #f2f5f7; }
.ks-map .root_daum_roughmap, .ks-map .wrap_map, .ks-map .wrap_controllers { width: 100% !important; }
.ks-map .root_daum_roughmap_landing .section_address.lst { display: none !important; }
.ks-location-list { margin: 0; border-top: 1px solid var(--ks-line-strong); border-bottom: 1px solid var(--ks-line-strong); }
.ks-location-list > div { display: grid; grid-template-columns: minmax(180px,25%) minmax(0,1fr); border-bottom: 1px solid var(--ks-line); }
.ks-location-list > div:last-child { border-bottom: 0; }
.ks-location-list dt { display: flex; align-items: center; gap: 14px; min-height: 74px; padding: 18px 20px; border-right: 1px dashed #aab4bb; font-family: var(--ks-font-heading); font-size: 1.15rem; font-weight: 700; }
.ks-location-list dd { min-width: 0; margin: 0; padding: 20px 22px; white-space: pre-line; overflow-wrap: anywhere; }
.ks-location-list dd a { font-weight: 700; }
.ks-location-icon { display: inline-block; flex: 0 0 auto; width: 24px; height: 24px; background: var(--ks-primary-strong); mask-position: center; mask-repeat: no-repeat; mask-size: contain; -webkit-mask-position: center; -webkit-mask-repeat: no-repeat; -webkit-mask-size: contain; }
.ks-location-icon--address { mask-image: url('../assets/fontawesome7/svgs/solid/location-dot.svg'); -webkit-mask-image: url('../assets/fontawesome7/svgs/solid/location-dot.svg'); }
.ks-location-icon--phone { mask-image: url('../assets/fontawesome7/svgs/solid/phone.svg'); -webkit-mask-image: url('../assets/fontawesome7/svgs/solid/phone.svg'); }
.ks-location-icon--fax { mask-image: url('../assets/fontawesome7/svgs/solid/fax.svg'); -webkit-mask-image: url('../assets/fontawesome7/svgs/solid/fax.svg'); }
.ks-location-icon--email { mask-image: url('../assets/fontawesome7/svgs/solid/envelope.svg'); -webkit-mask-image: url('../assets/fontawesome7/svgs/solid/envelope.svg'); }
.ks-location-icon--hours { mask-image: url('../assets/fontawesome7/svgs/solid/clock.svg'); -webkit-mask-image: url('../assets/fontawesome7/svgs/solid/clock.svg'); }
.ks-location-icon--parking { mask-image: url('../assets/fontawesome7/svgs/solid/square-parking.svg'); -webkit-mask-image: url('../assets/fontawesome7/svgs/solid/square-parking.svg'); }
.ks-location-icon--bus { mask-image: url('../assets/fontawesome7/svgs/solid/bus-simple.svg'); -webkit-mask-image: url('../assets/fontawesome7/svgs/solid/bus-simple.svg'); }
.ks-location-icon--subway { mask-image: url('../assets/fontawesome7/svgs/solid/train-subway.svg'); -webkit-mask-image: url('../assets/fontawesome7/svgs/solid/train-subway.svg'); }
.ks-empty-guide { padding: 22px; border: 1px dashed #9ba8b1; background: #fafbfc; color: #4f5e68; }
@media screen and (max-width: 620px) { .ks-feature-list li { grid-template-columns: 1fr; } .ks-info-grid { grid-template-columns: 1fr; } .ks-location-list > div { grid-template-columns: 1fr; } .ks-location-list dt { min-height: 0; padding: 15px 16px; border-right: 0; border-bottom: 1px dashed #aab4bb; font-size: 1.05rem; } .ks-location-list dd { padding: 17px 16px; } .ks-location-icon { width: 21px; height: 21px; } }
.ks-admin-guide{display:block;margin:0 0 24px;padding:18px 20px;border:1px dashed #81909a;background:#fafbfc;color:#40515c}.ks-admin-guide[hidden]{display:none!important}.ks-admin-guide h3{margin:0;font-family:var(--ks-font-heading);font-size:1.08rem;line-height:1.5}.ks-admin-guide p{margin:5px 0 0}.ks-admin-guide .ks-admin-guide__action{margin-top:12px}.ks-admin-guide__link{display:inline-block;font-weight:700;color:var(--ks-primary-strong);text-decoration:underline;text-underline-offset:3px}.ks-admin-guide__link:hover{text-decoration-thickness:2px}.ks-admin-guide__link:focus-visible{outline:3px solid var(--ks-primary);outline-offset:3px}.ks-section__title{margin:0 0 18px;font-family:var(--ks-font-heading);font-size:clamp(1.4rem,3vw,1.85rem)}
.ks-lnb-donation{margin-top:18px;padding:20px;border:1px solid var(--ks-line);background:var(--ks-soft)}.ks-lnb-donation h3{margin:0 0 13px;font-size:1rem}.ks-lnb-donation dl{display:grid;gap:9px;margin:0}.ks-lnb-donation dl>div{display:grid;grid-template-columns:52px 1fr;gap:8px}.ks-lnb-donation dt{color:var(--ks-muted);font-size:.82rem;font-weight:700}.ks-lnb-donation dd{margin:0;word-break:break-word}

/* KCMS history timeline */
.ks-history{display:grid;gap:42px;max-width:1000px}.ks-history__empty{margin:0;padding:24px;border:1px dashed var(--ks-line-strong);background:var(--ks-surface-alt);color:var(--ks-muted);text-align:center}.ks-history-year{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:28px;align-items:start}.ks-history-year__heading{margin:0;color:var(--ks-primary-strong);font-family:var(--ks-font-heading);font-size:clamp(2rem,4vw,3rem);line-height:1}.ks-history-year__heading span{margin-left:3px;font-family:var(--ks-font-body);font-size:.43em;font-weight:700;vertical-align:.22em}.ks-history-list{position:relative;display:grid;gap:0;margin:0;padding:0 0 0 28px;border-left:2px solid var(--ks-line-strong);list-style:none}.ks-history-item{position:relative;display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:22px;padding:0 0 28px}.ks-history-item:last-child{padding-bottom:0}.ks-history-item::before{position:absolute;top:.58em;left:-35px;width:12px;height:12px;border:3px solid var(--ks-surface);border-radius:50%;background:var(--ks-primary);box-shadow:0 0 0 1px var(--ks-primary);content:""}.ks-history-item__date{color:var(--ks-primary-strong);font-weight:800;line-height:1.65}.ks-history-item__content{min-width:0;padding-bottom:26px;border-bottom:1px solid var(--ks-line)}.ks-history-item:last-child .ks-history-item__content{padding-bottom:0;border-bottom:0}.ks-history-item__title-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 12px}.ks-history-item__title{color:var(--ks-text);font-size:1.08rem;line-height:1.65}.ks-history-item__category{display:inline-flex;align-items:center;min-height:26px;padding:2px 9px;border:1px solid color-mix(in srgb,var(--ks-primary) 45%,var(--ks-line));border-radius:999px;background:color-mix(in srgb,var(--ks-primary) 10%,var(--ks-surface));color:var(--ks-primary-strong);font-size:.78rem;font-weight:800}.ks-history-item__description{margin:8px 0 0;color:var(--ks-muted);line-height:1.75}.ks-history-item time{white-space:normal}
@media screen and (max-width:760px){.ks-history{gap:34px}.ks-history-year{grid-template-columns:1fr;gap:18px}.ks-history-year__heading{font-size:2rem}.ks-history-list{padding-left:22px}.ks-history-item{grid-template-columns:1fr;gap:5px;padding-bottom:24px}.ks-history-item::before{left:-29px}.ks-history-item__content{padding-bottom:22px}}
