@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');
* {
    box-sizing:border-box
}

body {
    margin:0;
    background:#edeef2;
    color:#292743;
    font-family:Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:16px;
    line-height:1.5
}

button,input,select,textarea {
    font:inherit
}

button {
    cursor:pointer
}

button {
    border:0
}

button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
    outline:3px solid #fcad34;
    outline-offset:3px
}

.site {
    width:100%;
    max-width:480px;
    margin:auto;
    background:#fff;
    min-height:100vh;
    box-shadow:0 0 70px #2927430c;
    padding-bottom:74px
}

header {
    height:88px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 24px;
    border-bottom:1px solid #efedf3;
    background:white;
    position:sticky;
    top:0;
    z-index:20
}

.brand {
    padding:0;
    background:none;
    width:310px;
    max-width:calc(100% - 45px)
}

.brand img {
    display:block;
    width:100%
}

.icon {
    background:none;
    padding:7px;
    display:grid;
    place-items:center;
    color:#343147
}

.hero {
    position:relative;
    padding:35px 28px 30px;
    overflow:hidden;
    min-height:326px;
    background:linear-gradient(120deg,#f4f2ff 0%,#f4f2ff 67%,#eeeafa 67%,#f9f7ff 100%)
}

.eyebrow {
    font-size:13px;
    color:#625b81;
    display:flex;
    align-items:center;
    gap:7px;
    font-weight:600
}

.eyebrow span {
    height:6px;
    width:6px;
    border-radius:50%;
    background:#ff911e
}

.hero h1 {
    font-size:33px;
    line-height:1.38;
    letter-spacing:-1.3px;
    margin:17px 0 13px;
    color:#343074;
    font-weight:800
}

.hero h1 span {
    color:#f58220
}

.hero p {
    font-size:15px;
    line-height:1.8;
    color:#625e78;
    margin:0
}

.hero-symbol {
    position:absolute;
    right:24px;
    bottom:44px;
    width:100px;
    height:100px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#ffcf3c;
    color:#403791;
    box-shadow:0 9px 0 #e7e1f6
}

.hero-note {
    margin-top:26px;
    font-size:12px;
    color:#7a718e
}

.action-area {
    padding:22px 24px 6px
}

.primary,.secondary {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    width:100%;
    border-radius:14px;
    min-height:56px;
    font-weight:700;
    font-size:16px;
    transition:filter .2s,transform .2s
}

.primary {
    background:#494092;
    color:white;
    box-shadow:0 6px 15px #49409215
}

.primary:hover,.secondary:hover {
    filter:brightness(.96)
}

.primary:active,.secondary:active {
    transform:translateY(1px)
}

.secondary {
    background:#f0edf9;
    color:#494092;
    margin-top:10px
}

.primary svg:last-child,.secondary svg:last-child {
    margin-left:3px
}

.secure {
    font-size:12px;
    text-align:center;
    color:#83808e;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:5px;
    margin:16px 0
}

.location {
    padding:21px 24px 24px
}

.section-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:15px
}

.kicker {
    font-size:11px;
    letter-spacing:1.5px;
    font-weight:700;
    color:#9486b3
}

.section-heading h2 {
    margin:3px 0 0;
    font-size:19px;
    letter-spacing:-.5px
}

.text-button {
    font-size:12px;
    display:flex;
    align-items:center;
    gap:2px;
    background:none;
    color:#757184;
    padding:0
}

.map {
    height:168px;
    width:100%;
    border:1px solid #e5e4ed;
    border-radius:16px;
    background-color:#f5f5f8;
    background-image:linear-gradient(28deg,transparent 38%,#fff 38%,#fff 43%,transparent 43%),linear-gradient(105deg,transparent 54%,#fff 54%,#fff 60%,transparent 60%);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    color:#514b7d
}

.map-pin {
    background:#494092;
    color:white;
    width:43px;
    height:43px;
    border-radius:50%;
    display:grid;
    place-items:center;
    margin-bottom:4px;
    box-shadow:0 5px 15px #49409225
}

.map strong {
    font-size:14px
}

.map span {
    font-size:12px;
    color:#84818f
}

.banners {
    padding:0 24px 25px;
    display:grid;
    gap:12px
}

.banners button {
    display:flex;
    align-items:flex-start;
    gap:14px;
    text-align:left;
    border-radius:16px;
    padding:23px 20px
}

.banners h2 {
    font-size:19px;
    margin:-3px 0 5px;
    letter-spacing:-.7px
}

.banners p {
    font-size:13px;
    margin:0 0 10px
}

.banners span {
    font-size:11px;
    line-height:1.6;
    display:block;
    opacity:.65
}

.banners button>svg:first-child {
    flex-shrink:0
}

.banners button>svg:last-child {
    margin-left:auto;
    flex-shrink:0
}

.news-banner {
    background:#fff6d6;
    color:#63501e
}

.guide-banner {
    background:#eeebfa;
    color:#494092
}

footer {
    padding:28px 24px 24px;
    background:#f9f9fb;
    border-top:1px solid #f0eff5
}

footer img {
    width:245px;
    max-width:90%;
    mix-blend-mode:multiply
}

footer p {
    font-size:12px;
    color:#85808f;
    margin:13px 0 5px
}

footer span {
    font-size:11px;
    color:#a09aa7
}

.bottom {
    position:fixed;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    width:100%;
    max-width:480px;
    display:flex;
    z-index:25;
    box-shadow:0 -3px 15px #2c244011;
    padding-bottom:env(safe-area-inset-bottom);
    background:#494092
}

.bottom button {
    height:63px;
    width:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    background:#494092;
    color:white;
    font-size:15px;
    font-weight:600
}

.bottom button:first-child {
    background:#fff;
    color:#494092;
    border-top:1px solid #e8e5f1
}

.inner,.menu-page {
    padding:23px 24px 34px;
    min-height:65vh
}

.back,.home-link {
    display:flex;
    align-items:center;
    gap:7px;
    padding:0;
    background:none;
    color:#827b93;
    font-size:13px
}

.page-title {
    text-align:center;
    padding:24px 0 29px
}

.page-title h1 {
    font-size:28px;
    letter-spacing:-1px;
    margin:7px 0 10px
}

.page-title p {
    color:#858092;
    font-size:14px;
    line-height:1.8;
    margin:0
}

form {
    padding:24px 20px;
    border:1px solid #eeebf3;
    border-radius:20px;
    box-shadow:0 7px 30px #49409206
}

fieldset {
    margin:0 0 24px;
    padding:0;
    border:none
}

legend,.field {
    font-size:14px;
    font-weight:700
}

b {
    color:#eb7839;
    margin-left:4px
}

.choices {
    display:flex;
    flex-wrap:wrap;
    gap:10px 13px;
    margin-top:12px
}

.choices label {
    font-size:13px;
    color:#746e85;
    display:flex;
    align-items:center;
    gap:5px
}

.choices input {
    margin:0;
    accent-color:#494092;
    width:16px;
    height:16px
}

.field {
    display:block;
    margin-bottom:23px
}

.field small {
    font-weight:400;
    color:#9690a3;
    margin-left:5px;
    font-size:12px
}

.field>input,.field select,.field textarea {
    display:block;
    width:100%;
    margin-top:10px;
    border:1px solid #e2deeb;
    border-radius:8px;
    padding:12px;
    font-size:14px;
    color:#494459;
    background:#fff;
    font-weight:400;
    resize:vertical
}

.field textarea {
    line-height:1.7
}

.field input::placeholder,.field textarea::placeholder {
    color:#a6a0b2;
    font-size:13px
}

.consent {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:4px
}

.consent label {
    font-size:11px;
    color:#686078;
    display:flex;
    gap:4px;
    align-items:center
}

.consent input {
    accent-color:#494092
}

.consent button {
    font-size:11px;
    color:#7e768e;
    background:none;
    padding:0;
    text-decoration:underline
}

.form-note {
    font-size:12px;
    color:#93899f;
    line-height:1.6;
    margin:14px 0 18px
}

.menu-page h1 {
    font-size:26px;
    margin:24px 0
}

.menu-group {
    border:1px solid #eeeaf5;
    border-radius:15px;
    overflow:hidden;
    margin-bottom:18px
}

.menu-group h2 {
    margin:0;
    background:#f3f0fb;
    color:#494092;
    padding:15px 17px;
    display:flex;
    align-items:center;
    gap:9px;
    font-size:16px
}

.menu-group h2 svg {
    width:20px
}

.menu-group button {
    display:flex;
    justify-content:space-between;
    width:100%;
    background:white;
    border-bottom:1px solid #f4f2f7;
    padding:14px 18px;
    text-align:left;
    font-size:14px;
    color:#686074
}

.guide-list {
    display:grid;
    gap:12px
}

.guide-list button {
    padding:19px;
    background:#f3f0fb;
    color:#494092;
    border-radius:12px;
    display:flex;
    align-items:center;
    gap:12px;
    text-align:left
}

.guide-list button svg:last-child {
    margin-left:auto
}

.info-box {
    border:1px solid #eeeaf5;
    border-radius:16px;
    padding:26px 22px;
    text-align:center;
    margin:15px 0
}

.info-box h2 {
    font-size:19px
}

.info-box p {
    font-size:14px;
    color:#898191;
    line-height:1.9;
    margin-bottom:24px
}

.large-map {
    height:250px
}

.empty-icon {
    background:#f2eefa;
    color:#494092;
    width:60px;
    height:60px;
    border-radius:50%;
    display:grid;
    place-items:center;
    margin:0 auto 15px
}

.overlay {
    position:fixed;
    inset:0;
    background:#23203870;
    backdrop-filter:blur(3px);
    z-index:50;
    display:grid;
    place-items:center;
    padding:25px
}

.dialog {
    position:relative;
    background:white;
    padding:34px 25px 26px;
    border-radius:22px;
    width:100%;
    max-width:390px;
    text-align:center;
    box-shadow:0 20px 90px #17102a30
}

.dialog-close {
    position:absolute;
    right:12px;
    top:12px
}

.dialog h2 {
    font-size:21px
}

.dialog p {
    font-size:14px;
    line-height:1.9;
    color:#81758f;
    margin-bottom:24px
}

@media(max-width:360px) {
    header {
        padding:0 17px;
        height:78px
    }
    .hero {
        padding:28px 22px
    }
    .hero h1 {
        font-size:29px
    }
    .hero-symbol {
        right:17px;
        width:80px;
        height:80px
    }
    .hero-symbol svg {
        width:54px
    }
    .inner {
        padding:20px 17px
    }
    .consent {
        align-items:flex-start
    }
    .banners button {
        padding:20px 16px;
        gap:10px
    }
    .banners h2 {
        font-size:17px
    }
}

a {
    color:inherit;
    text-decoration:none
}

.site input,.site textarea,.site select,.site button,.site a {
    font-family:Pretendard,sans-serif
}

.menu-group a,.guide-list a {
    display:flex;
    justify-content:space-between;
    padding:15px 18px;
    border-bottom:1px solid #eee;
    background:#fff
}

.menu-page[hidden] {
    display:none
}

.board-row {
    display:block;
    padding:18px 0;
    border-bottom:1px solid #eee
}

.board-row small {
    display:block;
    color:#92899d
}

.board-actions {
    display:flex;
    gap:10px;
    margin:20px 0
}

.board-actions a {
    padding:10px 16px;
    border:1px solid #ded8ea;
    border-radius:8px
}

.content-body {
    overflow-wrap:anywhere;
    line-height:1.9
}

.content-body img {
    max-width:100%;
    height:auto
}

.captcha {
    margin:20px 0
}

#captcha {
    width:100%
}

.hero-symbol {
    font-size:46px
}

.bottom a {
    width:50%;
    height:63px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-weight:700
}

.bottom a:first-child {
    background:#fff;
    color:#494092
}

.banners a {
    display:block;
    border-radius:16px;
    padding:23px 20px
}

.primary,.secondary {
    padding:12px
}

.field input[type=checkbox] {
    width:auto;
    display:inline
}

.menu-group h2 {
    display:block
}

.empty-state {
    padding:25px 0;
    color:#847a91;
    text-align:center
}

/* v2: bundled icons and counseling illustration */
.site svg {
    flex-shrink:0;
    vertical-align:middle;
    display:inline-block
}

.bottom a {
    gap:9px
}

.banners a {
    display:flex;
    align-items:flex-start;
    gap:13px
}

.banners a>div {
    min-width:0;
    flex:1
}

.banners a>svg:last-child {
    margin-left:auto
}

.menu-group h2 {
    display:flex;
    gap:9px;
    align-items:center
}

.hero {
    min-height:326px
}

.hero h1 {
    position:relative;
    z-index:2;
    max-width:320px
}

.hero p {
    position:relative;
    z-index:2;
    max-width:230px
}

.hero-note {
    position:relative;
    z-index:2;
    max-width:210px
}

.hero-illustration {
    position:absolute;
    right:0;
    bottom:0;
    width:166px;
    height:190px;
    object-fit:contain;
    object-position:bottom;
    pointer-events:none
}

.hero {
    background:linear-gradient(115deg,#f4f2ff,#f1f4ff)
}

@media(max-width:360px) {
    .hero-illustration {
        width:130px;
        height:160px;
        right:-4px
    }
    .hero-note {
        max-width:170px
    }
    .banners a {
        gap:10px;
        padding:21px 16px
    }
}

/* Colors from supplied design; preserve original sizing */
body {
    color:#082da9
}

.primary {
    background:#e9497b;
    color:#fff
}

.secondary {
    background:#e5f3ff;
    color:#0633ad
}

.hero {
    background:linear-gradient(115deg,#f2f9ff,#e5f4ff)
}

.hero h1 {
    color:#082da9
}

.hero h1 span {
    color:#e9497b
}

.hero p,.hero-note {
    color:#1644b5
}

.eyebrow {
    color:#4963a4
}

.map-pin {
    background:#e9497b
}

.banners {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
}

.banners a {
    display:block;
    position:relative;
    min-height:175px;
    padding:20px 15px
}

.banners a>svg:first-child {
    margin-bottom:10px
}

.banners h2 {
    font-size:19px;
    margin:0 0 7px;
    line-height:1.4;
    overflow-wrap:anywhere
}

.banners p {
    font-size:13px;
    line-height:1.7;
    margin:0 0 19px
}

.banners span.round-next {
    position:absolute;
    right:12px;
    bottom:12px;
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff;
    opacity:1
}

.news-banner {
    background:#fde9ef;
    color:#0732ac
}

.news-banner>svg,.news-banner .round-next {
    color:#e9497b
}

.guide-banner {
    background:#e0f4f0;
    color:#0732ac
}

.guide-banner>svg,.guide-banner .round-next {
    color:#00939a
}

.bottom {
    background:#e9497b
}

.bottom a {
    background:#e9497b
}

.bottom a:first-child {
    background:#005ba6;
    color:#fff;
    border:0
}

.menu-group summary {
    display:flex;
    align-items:center;
    gap:9px;
    list-style:none;
    padding:15px 17px;
    font-size:16px;
    font-weight:700;
    cursor:pointer
}

.menu-group summary::-webkit-details-marker {
    display:none
}

.menu-group summary svg {
    width:20px;
    height:20px
}

.menu-group.pink summary {
    background:#fde9ef;
    color:#e9497b
}

.menu-group.blue summary {
    background:#e5f3ff;
    color:#0633ad
}

.menu-group.mint summary {
    background:#e0f4f0;
    color:#0633ad
}

.menu-group.orange summary {
    background:#fff0e7;
    color:#f57e25
}

.menu-group .caret {
    margin-left:auto
}

.menu-group:not([open]) .caret {
    transform:rotate(180deg)
}

.menu-group a {
    font-size:14px;
    color:#0633ad
}

.brand-row {
    display:flex;
    align-items:center;
    gap:7px;
    width:calc(100% - 35px)
}

.brand-main {
    display:flex;
    align-items:center;
    gap:4px;
    width:37%;
    flex-shrink:0
}

.brand-main img {
    width:28px;
    height:32px;
    object-fit:contain
}

.brand-main span {
    display:block;
    min-width:0
}

.brand-main strong {
    font-size:13px;
    white-space:nowrap;
    font-weight:800
}

.brand-main small {
    font-size:8px;
    white-space:nowrap;
    display:block;
    letter-spacing:-.3px;
    font-weight:700
}

.brand-partner {
    width:28%;
    height:34px;
    object-fit:contain
}

.education-logo {
    width:31%
}

.reference-map img {
    width:100%;
    display:block;
    border-radius:13px
}

.address {
    display:flex;
    align-items:center;
    gap:5px;
    margin:9px 0 0;
    font-size:13px
}

.section-heading h2 {
    display:flex;
    align-items:center;
    gap:7px
}

.section-heading>a {
    font-size:12px;
    display:flex;
    align-items:center;
    gap:3px
}

.contact-bar {
    display:flex;
    margin:0 24px 20px;
    border:1px solid #bad7ff;
    border-radius:13px;
    padding:12px 10px;
    gap:8px;
    align-items:center
}

.contact-bar a {
    display:flex;
    align-items:center;
    gap:5px;
    font-size:12px;
    letter-spacing:-.5px
}

.contact-bar a+a {
    border-left:1px solid #b5c4dc;
    padding-left:8px
}

.time-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 12px;
    margin-top:10px
}

.time-grid label {
    display:flex;
    align-items:center;
    gap:7px;
    font-size:13px
}

.time-grid input {
    width:16px;
    height:16px;
    margin:0;
    accent-color:#1596ed
}

.counter {
    display:block;
    text-align:right;
    font-size:12px;
    font-weight:400
}

.page-title h1 {
    color:#082da9
}

.page-title p {
    color:#4963a4
}

.field,legend {
    color:#0633ad
}

.choices input,.consent input {
    accent-color:#1596ed
}

@media(max-width:360px) {
    .banners h2 {
        font-size:17px
    }
    .banners a {
        padding:18px 12px
    }
    .brand-main strong {
        font-size:11px
    }
    .brand-main small {
        font-size:7px
    }
    .brand-main img {
        width:24px
    }
    .brand-row {
        gap:4px
    }
    .contact-bar {
        margin-left:17px;
        margin-right:17px
    }
    .contact-bar a {
        font-size:10px
    }
}

/* Icon isolation from Gnuboard SVG/image defaults */
.site .cm-icon {
    display:inline-block!important;
    vertical-align:middle!important;
    flex-shrink:0!important;
    border:0!important;
    padding:0!important;
    margin:0!important;
    box-shadow:none!important;
    background:transparent!important;
    transform:none;
    line-height:1!important
}

.primary .cm-icon,.bottom .cm-icon {
    filter:brightness(0) invert(1)
}

.menu-group.pink summary>.cm-icon,.news-banner>.cm-icon,.news-banner .round-next>.cm-icon {
    filter:invert(35%) sepia(88%) saturate(1684%) hue-rotate(315deg) brightness(97%) contrast(88%)
}

.guide-banner>.cm-icon,.guide-banner .round-next>.cm-icon {
    filter:invert(38%) sepia(62%) saturate(1322%) hue-rotate(141deg) brightness(91%) contrast(101%)
}

.site header .brand-row {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    width:calc(100% - 36px);
    align-items:center
}

.site header .brand-row>img {
    display:block;
    width:100%;
    height:40px;
    object-fit:contain;
    min-width:0;
    max-width:100%;
    margin:0
}

.menu-group summary {
    padding:15px 17px
}

.menu-group summary>.cm-icon {
    width:20px!important;
    height:20px!important;
    min-width:20px!important
}

.menu-group summary .caret {
    width:19px;
    height:19px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-left:auto
}

.menu-group a {
    padding-left:17px;
    padding-right:17px;
    align-items:center
}

.menu-group a>.cm-icon {
    width:19px!important;
    height:19px!important;
    min-width:19px!important
}

.menu-group:not([open]) .caret {
    transform:rotate(180deg)
}

.banners a>.cm-icon:first-child {
    display:block!important;
    margin-bottom:10px!important
}

.contact-bar {
    display:flex;
    flex-wrap:wrap;
    gap:9px
}

.contact-bar a {
    display:flex;
    align-items:center;
    gap:7px;
    white-space:nowrap
}

.contact-bar a>.cm-icon {
    width:20px!important;
    height:20px!important;
    min-width:20px!important
}

.address .cm-icon {
    width:18px!important;
    height:18px!important;
    min-width:18px!important
}

.menu-group.orange summary>.cm-icon {
    filter:invert(52%) sepia(99%) saturate(2254%) hue-rotate(350deg) brightness(102%) contrast(94%)
}

.site .hero-banner {
    padding:0;
    margin:0;
    background:#eaf6ff;
    overflow:hidden
}

.site .hero-banner>img {
    display:block;
    width:100%;
    height:auto;
    max-width:100%;
    object-fit:contain;
    border:0;
    margin:0;
    padding:0
}

.cm-kakao-map {
    width:100%;
    overflow:hidden;
    border-radius:14px;
    background:#eef4fa;
    min-height:260px
}

.site .cm-kakao-map .root_daum_roughmap {
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    border:0!important
}

.site .cm-kakao-map .wrap_map {
    width:100%!important;
    height:260px!important
}

.site .cm-kakao-map .wrap_map img {
    max-width:none!important
}

.cm-map-error {
    padding:25px;
    text-align:center;
    font-size:14px;
    color:#5c7196
}

/* Black base typography; blue reserved for navigation accents */
body,.site {
    color:#222
}

.site .section-heading h2,.site .address,.site .banners h2,.site .banners p,.site .menu-group a,.site .field,.site legend,.site .choices label,.site .time-grid label,.site .page-title h1,.site .page-title p,.site .info-box h2,.site .info-box p,.site .content-body,.site .contact-bar a,.site .field small,.site .consent label {
    color:#222
}

.site .menu-group.blue summary,.site .menu-group.mint summary {
    color:#222
}

.site .field>input,.site .field select,.site .field textarea {
    color:#222
}

.site .back,.site .home-link {
    color:#555
}

.site .section-heading>a,.site .consent a,.site .counter {
    color:#0732ac
}

.site .form-note {
    color:#777
}

.site .cm-kakao-map .wrap_cont {
    display:none!important
}

.site .cm-kakao-map {
    min-height:0
}

.site .menu-group.orange summary {
    color:#f57e25
}

.site .primary {
    color:#fff
}

.site .secondary {
    color:#0633ad
}

/* 2026-10-22: subdued palette and explicit field headings */
.site .primary,
.site .bottom a {
    background: #b46c86;
}

.site .bottom,
.site .bottom a:first-child {
    background: #466681;
}

.site .secondary {
    background: #edf1f5;
    color: #385976;
}

.site .news-banner {
    background: #f4edf0;
}

.site .guide-banner {
    background: #eaf1f0;
}

.site .menu-group.pink summary {
    background: #f4edf0;
    color: #9e5d76;
}

.site .menu-group.blue summary {
    background: #edf1f5;
}

.site .menu-group.mint summary {
    background: #eaf1f0;
}

.site .menu-group.orange summary {
    background: #f5f0eb;
    color: #8b7059;
}

.site .banners .cm-icon,
.site .menu-group summary .cm-icon,
.site .round-next .cm-icon {
    filter: saturate(0.55);
}

.site .section-heading > a,
.site .consent a,
.site .counter {
    color: #456783;
}

.site .privacy-intro {
    display: block;
    color: #333;
    font-weight: 600;
}

.site form fieldset > legend {
    position: static !important;
    display: block !important;
    visibility: visible !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    text-indent: 0 !important;
    color: #222 !important;
    font-weight: 600;
}

.site .cm-kakao-map .wrap_cont {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
}

.site .cm-contact-details {
    margin: 16px 0 0;
    font-size: 14px;
    line-height: 1.7;
    color: #333;
}

.site .cm-contact-details > div {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 10px;
    margin-top: 8px;
}

.site .cm-contact-details dt {
    font-weight: 600;
}

.site .cm-contact-details dd {
    margin: 0;
    overflow-wrap: anywhere;
}


.site .hero-banner > img {
    filter: saturate(0.86);
}

/* Gray surfaces, dark-gray typography and blue accents */
body {
    background: #eeeeef;
    color: #3d3d3f;
}
.site {
    color: #3d3d3f;
    font-size: 17px;
}
.site .menu-group summary,
.site .menu-group.pink summary,
.site .menu-group.blue summary,
.site .menu-group.mint summary,
.site .menu-group.orange summary {
    background: #f0f0f1;
    color: #444447;
    font-size: 17px;
    font-weight: 600;
}
.site .menu-group a {
    color: #48484b;
    font-size: 16px;
}
.site .primary,
.site .bottom a,
.site .bottom a:first-child {
    background: #41688f;
    color: #ffffff;
}
.site .bottom {
    background: #41688f;
}
.site .bottom a + a {
    border-left: 1px solid rgba(255, 255, 255, 0.24);
}
.site .primary,
.site .secondary,
.site .bottom a {
    font-size: 17px;
}
.site .secondary,
.site .news-banner,
.site .guide-banner {
    background: #f1f1f2;
    color: #414145;
}
.site .news-banner h2,
.site .guide-banner h2 {
    color: #414145;
    font-size: clamp(17px, 4.25vw, 20px);
    letter-spacing: -0.8px;
}
.site .banners p {
    color: #66666a;
    font-size: 14px;
}
.site .section-heading h2 {
    color: #414145;
    font-size: 20px;
}
.site .page-title h1 {
    color: #3d3d40;
    font-size: 29px;
    font-weight: 700;
}
.site .page-title p,
.site .privacy-intro {
    color: #606065;
    font-size: 15px;
    line-height: 1.75;
}
.site .field,
.site form fieldset > legend {
    font-size: 16px !important;
    color: #444447 !important;
}
.site .field small,
.site .choices label,
.site .time-grid label {
    font-size: 14px;
    color: #55555a;
}
.site .choices {
    column-gap: 12px;
    row-gap: 12px;
}
.site .choices label,
.site .time-grid label {
    white-space: nowrap;
}
.site .field > input,
.site .field select,
.site .field textarea {
    font-size: 16px;
    color: #444447;
    border-color: #dcdcdf;
    min-height: 46px;
}
.site .field input::placeholder,
.site .field textarea::placeholder {
    font-size: 14px;
    color: #99999f;
}
.site .consent {
    flex-wrap: wrap;
    gap: 8px;
}
.site .consent label,
.site .consent a {
    font-size: 13px;
}
.site .cm-contact-details {
    font-size: 15px;
    color: #55555a;
}
.site .cm-contact-details dt {
    color: #414145;
}
.site .cm-icon,
.site .menu-group summary .cm-icon,
.site .menu-group.orange summary > .cm-icon,
.site .menu-group.pink summary > .cm-icon,
.site .banners > a > .cm-icon,
.site .round-next .cm-icon {
    filter: grayscale(1);
    opacity: 0.8;
}
.site .primary .cm-icon,
.site .bottom .cm-icon {
    filter: brightness(0) invert(1);
    opacity: 1;
}
.site .secondary .cm-icon,
.site .section-heading .cm-icon {
    filter: none;
    opacity: 0.85;
}
.site .section-heading > a,
.site .consent a,
.site .counter {
    color: #41688f;
}
.site b {
    color: #41688f;
}
.site .hero-banner > img {
    filter: saturate(0.4);
}
.site .cm-kakao-map,
.site .cm-kakao-map .root_daum_roughmap {
    height: 260px !important;
    min-height: 0 !important;
    max-height: 260px !important;
    overflow: hidden !important;
}
.site .cm-kakao-map .wrap_map {
    height: 260px !important;
}
/* Restyle native CAPTCHA controls without changing verification or events. */
.site .cm-captcha-panel {
    margin: 24px 0;
    padding: 18px 16px;
    border: 1px solid #e1e1e4;
    border-radius: 13px;
    background: #f6f6f7;
    text-align: left;
}
.site .cm-captcha-title {
    margin: 0 0 5px;
    font-size: 16px;
    font-weight: 600;
    color: #444447;
}
.site .cm-captcha-description {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.6;
    color: #77777d;
}
.site .cm-captcha-panel #captcha {
    position: static !important;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: 100% !important;
    height: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
.site .cm-captcha-panel #captcha legend {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
}
.site .cm-captcha-panel #captcha_img {
    display: block !important;
    position: static !important;
    width: 130px !important;
    height: 50px !important;
    max-width: 100% !important;
    object-fit: contain;
    border: 1px solid #dddddf !important;
    border-radius: 8px;
    background: #ffffff;
    order: 1;
}
.site .cm-captcha-panel #captcha_key {
    position: static !important;
    flex: 1 1 95px;
    width: 95px !important;
    min-width: 70px;
    max-width: 100%;
    height: 50px !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid #d7d7db !important;
    border-radius: 8px;
    background: #ffffff !important;
    color: #414145;
    font-size: 17px !important;
    text-align: center;
    order: 2;
}
.site .cm-captcha-panel #captcha_reload,
.site .cm-captcha-panel #captcha_mp3 {
    position: static !important;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    flex: 1 1 40%;
    width: auto !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid #dcdce0 !important;
    border-radius: 7px;
    background: #ffffff !important;
    color: #5a5a60 !important;
    font-size: 13px !important;
    text-indent: 0 !important;
    line-height: 1.2 !important;
    overflow: visible !important;
    order: 3;
}
.site .cm-captcha-panel #captcha_reload::before,
.site .cm-captcha-panel #captcha_mp3::before {
    display: none !important;
}
.site .cm-captcha-panel #captcha_info {
    position: static !important;
    flex-basis: 100%;
    width: 100%;
    margin: 3px 0 0 !important;
    color: #88888d;
    font-size: 12px !important;
    line-height: 1.6;
    order: 4;
}
@media (max-width: 359px) {
    .site .menu-group summary {
        font-size: 16px;
    }
    .site .banners h2 {
        font-size: 16px;
    }
    .site .choices label,
    .site .time-grid label {
        font-size: 13px;
    }
    .site .cm-contact-details {
        font-size: 14px;
    }
    .site .cm-captcha-panel {
        padding: 15px 12px;
    }
}

/* Restore hero color and distinguish the two actions. */
.site .hero-banner > img {
    filter: none;
}
.site .action-area .primary,
.site .bottom a:nth-child(2),
.site form > .primary {
    background: #e9497b;
    color: #ffffff;
}
.site .action-area .secondary {
    background: #eeeeef;
    color: #444447;
}
.site .bottom a:first-child {
    background: #606165;
    color: #ffffff;
}
.site .action-area .primary,
.site .action-area .secondary {
    justify-content: flex-start;
    text-align: left;
    padding-left: 24px;
    padding-right: 24px;
    gap: 12px;
}
.site .action-area .secondary .cm-icon {
    filter: grayscale(1);
}
.site .action-area .primary .cm-icon {
    filter: brightness(0) invert(1);
}
/* Main menu cards: black and blue accents, neutral surfaces. */
.site .banners .news-banner > .cm-icon,
.site .banners .news-banner .round-next .cm-icon {
    filter: brightness(0);
    opacity: 0.85;
}
.site .banners .news-banner h2 {
    color: #333333;
}
.site .banners .guide-banner > .cm-icon,
.site .banners .guide-banner .round-next .cm-icon {
    filter: none;
    opacity: 1;
}
.site .banners .guide-banner h2 {
    color: #3d74eb;
}
.site header #menu-toggle .cm-icon {
    filter: brightness(0);
    opacity: 1;
}
.site header #menu-toggle[aria-expanded="true"] .cm-icon {
    filter: none;
}

/* Blue education actions and matching blue menu cards. */
.site .action-area .primary,
.site .bottom a:nth-child(2),
.site form > .primary {
    background: #3d74eb;
    color: #ffffff;
}
.site .banners .news-banner > .cm-icon,
.site .banners .news-banner .round-next .cm-icon,
.site .banners .guide-banner > .cm-icon,
.site .banners .guide-banner .round-next .cm-icon {
    filter: none;
    opacity: 1;
}
.site .banners .news-banner h2,
.site .banners .guide-banner h2 {
    color: #3d74eb;
}
.site .banners .news-banner {
    background: #f3f3f4;
}
.site .banners .guide-banner {
    background: #e9e9ec;
}

/* Slightly brighter blue accents. */
.site .action-area .primary,
.site .bottom a:nth-child(2),
.site form > .primary {
    background: #3d74eb;
    color: #ffffff;
}
.site .banners .news-banner h2,
.site .banners .guide-banner h2,
.site .section-heading > a,
.site .consent a,
.site .counter {
    color: #3d74eb;
}
.site .banners .news-banner > .cm-icon,
.site .banners .news-banner .round-next .cm-icon,
.site .banners .guide-banner > .cm-icon,
.site .banners .guide-banner .round-next .cm-icon,
.site .section-heading .cm-icon {
    filter: brightness(0) saturate(100%) invert(39%) sepia(79%) saturate(1349%) hue-rotate(188deg) brightness(92%) contrast(87%);
    opacity: 1;
}
.site .choices input,
.site .time-grid input,
.site .consent input {
    accent-color: #3d74eb;
}

/* Final requested accent: #3d74eb. */
.site .primary,
.site .action-area .primary,
.site .bottom a:nth-child(2),
.site form > .primary {
    background: #3d74eb;
    color: #ffffff;
}
.site .banners .news-banner h2,
.site .banners .guide-banner h2,
.site .section-heading > a,
.site .consent a,
.site .counter {
    color: #3d74eb;
}
.site .choices input,
.site .time-grid input,
.site .consent input {
    accent-color: #3d74eb;
}
.site .banners .news-banner > .cm-icon,
.site .banners .news-banner .round-next .cm-icon,
.site .banners .guide-banner > .cm-icon,
.site .banners .guide-banner .round-next .cm-icon,
.site .section-heading .cm-icon {
    filter: brightness(0) saturate(100%) invert(42%) sepia(74%) saturate(2410%) hue-rotate(209deg) brightness(99%) contrast(86%);
    opacity: 1;
}

/* Primary categories and secondary heading accents. */
.site .menu-group summary,
.site .menu-group.pink summary,
.site .menu-group.blue summary,
.site .menu-group.mint summary,
.site .menu-group.orange summary {
    color: #111111;
}
.site .menu-group summary > .cm-icon,
.site .menu-group summary .caret .cm-icon {
    filter: brightness(0);
    opacity: 1;
}
.site .kicker,
.site .page-title .kicker {
    color: #3d74eb;
}
.site .consent input[type="checkbox"],
.site .time-grid input[type="checkbox"] {
    appearance: auto;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    flex: 0 0 16px;
    margin: 0;
    padding: 0;
    accent-color: #3d74eb;
}
.site .consent label {
    display: flex;
    align-items: center;
    gap: 6px;
}
.site .cm-captcha-panel #captcha_mp3 {
    display: none !important;
}
.site .cm-captcha-panel #captcha_reload {
    flex: 1 1 100%;
}
.site .consent .cm-privacy-open {
    padding: 4px 0;
    background: none;
    color: #3d74eb;
    font-size: 13px;
    text-decoration: none;
}
.cm-privacy-dialog {
    width: min(390px, calc(100vw - 36px));
    max-height: calc(100dvh - 50px);
    padding: 0;
    border: 0;
    border-radius: 16px;
    background: #ffffff;
    color: #444447;
    font-family: Pretendard, sans-serif;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    overflow-y: auto;
}
.cm-privacy-dialog::backdrop {
    background: rgba(0, 0, 0, 0.45);
}
.cm-privacy-card {
    padding: 24px;
}
.cm-privacy-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 22px;
}
.cm-privacy-heading h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
}
.cm-privacy-close {
    flex-shrink: 0;
    padding: 6px 9px;
    border: 1px solid #e2e2e5;
    border-radius: 6px;
    background: #f5f5f6;
    color: #55555a;
    font-size: 13px;
}
.cm-privacy-details {
    margin: 0;
    font-size: 14px;
    line-height: 1.8;
}
.cm-privacy-details dt {
    margin-top: 14px;
    font-weight: 600;
    color: #333333;
}
.cm-privacy-details dd {
    margin: 3px 0 0;
    color: #66666b;
}
.cm-privacy-note {
    margin: 20px 0;
    font-size: 13px;
    line-height: 1.8;
    color: #77777c;
}
.cm-privacy-dialog .cm-privacy-confirm {
    background: #3d74eb;
    color: #ffffff;
    font-size: 16px;
    min-height: 46px;
}

/* 문서 기반 서브페이지: 그레이 바탕과 블루 포인트 */
.cm-guide-content {
    color: #383b40;
    font-family: 'Pretendard', sans-serif;
    font-size: 16px;
    line-height: 1.75;
    overflow-wrap: anywhere;
}
.cm-guide-content * {
    box-sizing: border-box;
}
.cm-guide-content h2,
.cm-guide-content h3,
.cm-guide-content p {
    margin: 0;
}
.cm-guide-intro {
    padding: 24px;
    border-radius: 18px;
    background: #f3f4f6;
    border-top: 3px solid #3d74eb;
}
.cm-guide-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: #3d74eb;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
}
.cm-guide-content .cm-guide-intro h2 {
    margin-bottom: 14px;
    color: #24262a;
    font-size: 21px;
    line-height: 1.45;
    letter-spacing: -.6px;
}
.cm-guide-content .cm-guide-lead {
    margin-bottom: 10px;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.65;
    word-break: keep-all;
}
.cm-guide-intro > p:last-child {
    color: #62666d;
    font-size: 15px;
}
.cm-guide-jump {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}
.cm-guide-jump a {
    flex: 1;
    padding: 10px 6px;
    border: 1px solid #e2e5ea;
    border-radius: 9px;
    color: #464b53;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
}
.cm-guide-section {
    margin-top: 34px;
    scroll-margin-top: 100px;
}
.cm-guide-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}
.cm-guide-heading > span {
    color: #3d74eb;
    font-size: 14px;
    font-weight: 700;
}
.cm-guide-heading h2 {
    color: #25282d;
    font-size: 20px;
    letter-spacing: -.5px;
}
.cm-guide-content .cm-guide-note {
    margin: -4px 0 16px;
    color: #747980;
    font-size: 14px;
}
.cm-type-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
.cm-type-card {
    position: relative;
    padding: 18px 18px 18px 22px;
    border: 1px solid #e7e9ed;
    border-radius: 12px;
    background: #fff;
}
.cm-type-card::before {
    position: absolute;
    top: 23px;
    left: 0;
    width: 3px;
    height: 16px;
    background: #3d74eb;
    content: '';
}
.cm-type-card h3,
.cm-response-list h3 {
    color: #30343b;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
}
.cm-type-card p {
    margin-top: 6px;
    color: #686d75;
    font-size: 15px;
}
.cm-response-list {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: response;
}
.cm-response-list > li {
    display: flex;
    gap: 12px;
    padding: 19px 0;
    border-bottom: 1px solid #eceef1;
    counter-increment: response;
}
.cm-response-list > li:first-child {
    padding-top: 0;
}
.cm-response-list > li::before {
    display: grid;
    flex: 0 0 28px;
    place-items: center;
    height: 28px;
    border-radius: 50%;
    background: #f0f3fa;
    color: #3d74eb;
    font-size: 13px;
    font-weight: 700;
    content: counter(response);
}
.cm-response-list > li > div {
    min-width: 0;
}
.cm-response-list ul {
    margin: 8px 0 0;
    padding-left: 17px;
    list-style: disc;
    color: #646a73;
    font-size: 15px;
}
.cm-response-list ul li + li {
    margin-top: 7px;
}
.cm-response-list ul li::marker {
    color: #b4bac3;
}
.cm-guide-laws {
    margin-top: 24px;
    padding: 16px 18px;
    border-radius: 10px;
    background: #f6f7f8;
    font-size: 14px;
}
.cm-guide-laws summary {
    color: #565c65;
    font-weight: 600;
    cursor: pointer;
}
.cm-guide-laws ul {
    margin: 12px 0 0;
    padding-left: 18px;
    list-style: disc;
    color: #747a83;
}
.cm-guide-help {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    margin-top: 30px;
    padding: 22px;
    border: 1px solid #e4e7ec;
    border-radius: 14px;
    background: #f7f8fa;
}
.cm-guide-help strong {
    color: #30343b;
    font-size: 17px;
}
.cm-guide-help p {
    margin-top: 4px;
    color: #747980;
    font-size: 14px;
}
.cm-guide-help > a {
    color: #3d74eb;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
}
.cm-education-details {
    margin: 0;
    padding: 0;
}
.cm-education-details > div {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 12px;
    padding: 16px 0;
    border-bottom: 1px solid #eceef1;
}
.cm-education-details dt {
    color: #7a7f87;
    font-size: 14px;
}
.cm-education-details dd {
    margin: 0;
    font-size: 15px;
}
.cm-education-details strong {
    color: #3d74eb;
    font-weight: 600;
}
.cm-education-topics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.cm-education-topics li {
    padding: 15px 6px;
    border-radius: 10px;
    background: #f3f4f6;
    color: #464c55;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
}
.cm-education-methods {
    display: grid;
    gap: 12px;
}
.cm-education-methods a {
    display: block;
    padding: 20px;
    border: 1px solid #e2e6ec;
    border-radius: 12px;
    color: #626973;
    text-decoration: none;
}
.cm-education-methods strong {
    display: block;
    margin-bottom: 5px;
    color: #30343b;
    font-size: 16px;
}
.cm-education-methods a > span:last-child {
    font-size: 14px;
}
.cm-guide-content a:focus-visible,
.cm-guide-laws summary:focus-visible,
.cm-news-list .board-actions a:focus-visible {
    outline: 2px solid #3d74eb;
    outline-offset: 4px;
}
.cm-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
/* 게시판 글쓰기: 목록 오른쪽에 작은 버튼으로 표시 */
.cm-news-list .board-actions {
    display: flex;
    justify-content: flex-end;
    margin: 18px 0;
}
.cm-news-list .board-actions .cm-board-write {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 68px;
    min-height: 36px;
    padding: 6px 14px;
    border: 1px solid #3d74eb;
    border-radius: 7px;
    background: #3d74eb;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}
@media (max-width: 359px) {
    .cm-guide-intro {
        padding: 20px 18px;
    }
    .cm-guide-heading h2 {
        font-size: 19px;
    }
}

/* 계정 링크와 관리자 접수 관리 */
.cm-account-links {
    display: flex;
    justify-content: center;
    gap: 18px;
    padding: 24px 20px 28px;
    border-top: 1px solid #eceef1;
}
.cm-account-links a {
    color: #6e747d;
    font-size: 13px;
    text-decoration: none;
}
.cm-compact-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: 20px 0;
}
.cm-compact-actions a,
.cm-status-form button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 68px;
    min-height: 36px;
    padding: 6px 14px;
    border: 1px solid #dce1e8;
    border-radius: 7px;
    background: #fff;
    color: #444b55;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
}
.cm-status-form button {
    border-color: #3d74eb;
    background: #3d74eb;
    color: #fff;
    cursor: pointer;
}
.cm-application-card,
.cm-status-form {
    padding: 22px;
    border: 1px solid #e3e6ec;
    border-radius: 15px;
    background: #fff;
}
.cm-application-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid #eceef2;
}
.cm-application-heading h2 {
    margin: 0;
    font-size: 19px;
    color: #30343b;
}
.cm-status-badge {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding: 4px 10px;
    border-radius: 6px;
    background: #edf2fd;
    color: #3d74eb;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
    white-space: nowrap;
}
.cm-application-details {
    margin: 0;
}
.cm-application-details > div {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 10px;
    padding: 14px 0;
    border-bottom: 1px solid #f0f1f4;
    font-size: 15px;
    line-height: 1.7;
}
.cm-application-details dt {
    color: #7a8089;
}
.cm-application-details dd {
    margin: 0;
    color: #373e48;
    overflow-wrap: anywhere;
}
.cm-content-label {
    margin: 22px 0 12px;
    color: #343b45;
    font-size: 16px;
}
.cm-application-message {
    padding: 16px;
    border-radius: 10px;
    background: #f6f7f9;
    font-size: 15px;
    color: #4b535e;
}
.cm-status-form {
    margin-top: 16px;
    background: #f6f7f9;
}
.cm-status-form label {
    display: block;
    margin-bottom: 10px;
    color: #414852;
    font-size: 15px;
    font-weight: 600;
}
.cm-status-form > div {
    display: flex;
    gap: 8px;
}
.cm-status-form select {
    flex: 1;
    min-width: 0;
    height: 38px;
    padding: 0 10px;
    border: 1px solid #dce1e8;
    border-radius: 7px;
    background: #fff;
    color: #383f49;
    font-size: 15px;
}
.cm-application-list {
    display: grid;
    gap: 12px;
}
.cm-application-list-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 20px;
    border: 1px solid #e3e6ec;
    border-radius: 13px;
    background: #fff;
    color: #454d57;
    font-size: 15px;
}
.cm-application-list-card strong {
    font-size: 17px;
    color: #303842;
}
.cm-application-list-card small {
    color: #8a919b;
    font-size: 13px;
}
/* 가이드 첫 화면의 박스형 메뉴 */
.site .guide-list {
    display: grid;
    gap: 12px;
}
.site .guide-list > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 20px;
    border: 1px solid #e2e6ec;
    border-radius: 13px;
    background: #f6f7f9;
    color: #343b45;
    text-decoration: none;
}
.cm-guide-card-copy {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.cm-guide-card-copy strong {
    color: #343b45;
    font-size: 18px;
    font-weight: 650;
}
.cm-guide-card-copy small {
    color: #7b838e;
    font-size: 13px;
    line-height: 1.6;
}
.site .guide-list > a:hover,
.site .guide-list > a:focus-visible {
    border-color: #3d74eb;
    background: #f2f5fc;
}
.site .guide-list .cm-icon {
    flex: 0 0 18px;
}
@media (max-width: 359px) {
    .cm-application-card,
    .cm-status-form {
        padding: 17px;
    }
    .cm-application-details > div {
        grid-template-columns: 86px minmax(0, 1fr);
        font-size: 14px;
    }
}

/* 동의 문구와 신청 버튼 사이의 여백 */
.site #fwrite > .consent {
    margin-bottom: 24px;
}

/* 한글은 단어 단위로 줄바꿈하고 긴 주소만 영역 안에서 나눕니다. */
.site .inner,
.site .cm-guide-content,
.site .cm-guide-content *,
.site .cm-about,
.site .cm-about *,
.site .content-body,
.site .content-body *,
.site .cm-application-details dd {
    word-break: keep-all;
    overflow-wrap: break-word;
}
