@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{font-family:'Noto Sans KR',sans-serif;color:#18233b;background:#f6f8fc;font-synthesis:none;--blue:#244ad9;--muted:#6a758c;--line:#e4e8f0}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8ba4ff;outline-offset:3px}button{border:0;background:none}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;flex:none}.topbar{height:92px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:62px;padding:0 4.5%;}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:26px;letter-spacing:-1.4px;white-space:nowrap}.brandmark{background:var(--blue);color:white;width:41px;height:42px;display:grid;place-items:center;border-radius:12px;font-size:36px;line-height:1;letter-spacing:-2px;padding-bottom:5px}.brand-en{display:block;font-size:9px;letter-spacing:3px;font-weight:600;margin-top:-4px;color:#65718a}.topbar nav{height:100%;display:flex;gap:28px}.nav{height:100%;font-size:15px;font-weight:600;position:relative;white-space:nowrap}.nav.active{color:var(--blue)}.nav.active:after{position:absolute;bottom:0;left:0;right:0;height:3px;content:'';background:var(--blue)}#saved-count{font-size:12px;margin-left:5px;background:#f0f3f9;border-radius:5px;padding:2px 6px;color:#667187}.prototype-pill{margin-left:auto;color:#65718a;border:1px solid var(--line);padding:6px 12px;border-radius:6px;font-size:13px;white-space:nowrap}main{max-width:1512px;margin:auto;padding:41px 4.5% 60px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.eyebrow{font-size:11px;letter-spacing:2.6px;color:var(--blue);font-weight:800;margin:0 0 9px}h1{font-size:32px;letter-spacing:-1.7px;margin:0 0 10px;font-weight:800;line-height:1.45}.intro-copy{font-size:15px;color:var(--muted);margin:0}.intro-note{border-left:2px solid #dbe3f7;padding-left:18px;display:flex;flex-direction:column;gap:6px;white-space:nowrap}.intro-note span{font-size:12px;color:var(--muted)}.intro-note strong{font-size:14px;font-weight:500}.searchbar{display:flex;gap:0;align-items:center;background:#fff;padding:8px 8px 8px 22px;border:1px solid #c7d2ef;border-radius:12px;box-shadow:0 4px 18px #20376b05}.search-input{display:flex;align-items:center;gap:14px;flex:1;color:var(--blue);min-width:0}.search-input input{width:100%;border:none;outline:none;padding:12px 0;color:#18233b;font-size:16px;background:transparent}.search-input input::placeholder{color:#8b95a8}.location-select{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:20px;margin-left:14px;color:#75829b}.location-select select{border:0;background:white;color:#34435d;padding:8px 25px 8px 5px;font-size:15px;max-width:190px}.primary{background:var(--blue);color:white;border-radius:8px;font-weight:600;padding:15px 28px;transition:background .15s}.primary:hover{background:#1c3bb0}.search-button{margin-left:16px;white-space:nowrap}.category-bar{display:flex;gap:8px;margin:20px 0 29px;flex-wrap:wrap}.category{padding:9px 15px;background:white;border:1px solid var(--line);border-radius:7px;font-size:14px;white-space:nowrap}.category.active{background:#eaf0ff;border-color:#ccd8ff;color:#244ad9;font-weight:700}.category span{font-size:12px;margin-left:7px;color:#7b89a2}.category.active span{color:#244ad9}.workspace{display:grid;grid-template-columns:182px minmax(290px,1fr) minmax(350px,1.06fr);gap:24px;align-items:start}h2{font-size:16px;letter-spacing:-.3px;margin:0}.filter-heading,.results-heading{display:flex;justify-content:space-between;align-items:center;min-height:29px;margin-bottom:18px}.text-button{font-size:12px;color:#728099;padding:3px}.text-button:hover{text-decoration:underline}fieldset{border:none;margin:0 0 24px;padding:17px 0 0;border-top:1px solid var(--line)}legend{float:left;width:100%;font-size:14px;font-weight:700;padding:0 0 14px}fieldset label{display:flex;align-items:center;gap:10px;font-size:14px;color:#57647a;margin:0 0 13px;cursor:pointer}input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--blue);flex:none}.filter-footnote{display:flex;align-items:flex-start;gap:8px;padding:15px 0;border-top:1px solid var(--line)}.filter-footnote p{font-size:12px;line-height:1.9;color:#788398;margin:0}.mini-icon{font-size:10px;border:1px solid #8996ad;border-radius:100%;width:14px;height:14px;display:grid;place-items:center;flex:none;color:#788398;margin-top:5px}.results-heading #sort{min-height:50px;min-width:220px;max-width:100%;padding:12px 18px;border:2px solid #6d88d3;border-radius:10px;background:#eef3ff;color:#20459d;font-size:1.0625rem;font-weight:800;cursor:pointer;box-shadow:0 2px 5px #244ad914;transition:background .15s,border-color .15s}
.results-heading #sort:hover{background:#e2eaff;border-color:#244ad9}
.results-heading #sort:focus-visible{outline:3px solid #8ba4ff;outline-offset:3px}
@media(max-width:620px){.results-heading{flex-wrap:wrap;gap:12px}.results-heading #sort{min-width:0;min-height:48px;width:auto;font-size:1rem}}.results-heading h2 span{color:var(--blue);font-size:14px;margin-left:5px}.job-card{position:relative;background:white;border:1px solid var(--line);border-radius:11px;margin-bottom:12px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.job-card:hover{border-color:#b5c5f7;box-shadow:0 4px 15px #1c306108}.job-card.selected{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.job-open{width:100%;text-align:left;padding:20px 20px 17px}.company-line{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-right:24px}.company-logo{width:35px;height:35px;display:grid;place-items:center;flex:none;border-radius:9px;font-family:Arial,sans-serif;font-size:17px;font-weight:700;background:var(--logo-bg);color:var(--logo-fg)}.company-name{font-size:13px;color:#69768d}.sample-label{font-size:10px;color:#8994a6;margin-left:7px}.job-card h3{font-size:17px;letter-spacing:-.6px;margin:0 0 7px;font-weight:700}.job-meta{font-size:12px;color:#7b8599;line-height:1.6}.job-salary{font-size:14px;font-weight:700;margin:13px 0 12px;letter-spacing:-.2px}.job-salary span{font-size:11px;font-weight:400;color:#8791a3;margin-left:5px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:11px;padding:4px 7px;border-radius:4px;background:#f2f4f8;color:#6a768d}.tag.language{background:#eff3ff;color:#5270b7}.bookmark{position:absolute;right:14px;top:22px;padding:6px;color:#9aa5b8;display:flex;border-radius:6px}.bookmark:hover{background:#f0f3fa;color:var(--blue)}.bookmark[aria-pressed=true]{color:var(--blue)}.bookmark[aria-pressed=true] svg{fill:#e4ecff}.bookmark svg{width:18px;height:18px}.detail{position:sticky;top:20px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.detail-main{padding:26px 27px}.detail-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.detail-top .company-logo{width:48px;height:48px;font-size:22px;border-radius:12px}.detail-badge{font-size:11px;letter-spacing:.5px;color:#8490a5;background:#f4f6fa;padding:6px 8px;border-radius:4px}.detail-company{font-size:13px;color:#6a7790;margin-bottom:8px}.detail h2,#mobile-detail h2{font-size:25px;line-height:1.45;letter-spacing:-1px;margin-bottom:10px}.english-title{font-size:12px;color:#8a94a6;letter-spacing:.2px;margin:0 0 18px}.detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;background:#f8faff;border:1px solid #edf0f7;border-radius:9px;padding:18px;margin:22px 0}.detail-summary dt{font-size:11px;color:#8190a8;margin-bottom:5px}.detail-summary dd{font-size:13px;font-weight:500;margin:0}.detail-summary .salary{color:var(--blue);font-weight:700}.detail-section h3{font-size:15px;margin:22px 0 10px;letter-spacing:-.4px}.detail-section p,.detail-section li{font-size:14px;line-height:1.9;color:#6a778e;word-break:keep-all}.detail-section p{margin:0}.detail-section ul{padding-left:18px;margin:0}.detail-footer{border-top:1px solid var(--line);padding:17px 27px 21px;background:#fcfdff}.detail-save{width:100%;display:flex;justify-content:center;align-items:center;gap:8px;padding:12px}.detail-save svg{width:18px;height:18px}.detail-footer p{font-size:11px;text-align:center;color:#8590a3;margin:12px 0 0;line-height:1.65}.results-footer{font-size:11px;line-height:1.8;text-align:center;color:#8a94a8;margin-top:20px}.footer{padding:25px 4.5%;border-top:1px solid var(--line);background:#fff;display:flex;gap:18px;align-items:center;color:#8a95a8;font-size:12px}.footer-logo{font-size:18px;font-weight:800;color:#65718a}.footer span:last-child{margin-left:auto;font-size:10px;letter-spacing:1px}.empty{text-align:center;padding:60px 20px;background:white;border:1px dashed #c9d4e9;border-radius:12px}.empty>span{font-size:45px;color:#9db0df}.empty h3{font-size:17px}.empty p{font-size:14px;color:var(--muted);line-height:1.7}.outline{border:1px solid #c9d5f8;color:var(--blue);padding:10px 15px;border-radius:7px;background:#f7f9ff;font-size:14px}.saved-hint{font-size:12px;color:#687894;margin:0 0 15px}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{position:fixed;z-index:100;background:white;padding:15px}.dialog-close{position:absolute;right:14px;top:12px;font-size:29px;width:40px;height:40px;color:#64728d;z-index:1}dialog{width:min(530px,calc(100% - 24px));max-height:90dvh;border:1px solid var(--line);border-radius:16px;padding:0;color:inherit}dialog::backdrop{background:#14224480;backdrop-filter:blur(3px)}#mobile-detail .detail-top{padding-right:30px}[hidden]{display:none!important}@media(min-width:1550px){main{padding-left:30px;padding-right:30px}.workspace{grid-template-columns:200px minmax(380px,1fr) minmax(400px,1.08fr);gap:30px}}@media(max-width:1100px){.workspace{grid-template-columns:158px minmax(290px,1fr) minmax(310px,1fr);gap:18px}.intro-note{display:none}.detail-main{padding:22px}.detail h2{font-size:22px}main{padding-left:3%;padding-right:3%}}@media(max-width:950px){.workspace{grid-template-columns:175px 1fr}.detail{display:none}.job-card.selected{box-shadow:none;border-color:var(--line)}.topbar{gap:35px}.job-card h3{font-size:19px}.job-meta,.company-name{font-size:14px}.job-salary{font-size:16px}.tag{font-size:12px}.searchbar{padding-left:15px}.intro{margin-bottom:24px}.location-select{padding-left:12px}.search-button{padding:15px 20px}}@media(max-width:620px){.topbar{height:74px;padding:0 5%;gap:20px;flex-wrap:wrap}.brand{font-size:23px}.brandmark{width:35px;height:35px;font-size:30px}.brand-en{font-size:8px;letter-spacing:2px}.topbar nav{margin-left:auto;gap:17px}.nav{font-size:13px}.prototype-pill{display:none}.intro{padding-top:4px}h1{font-size:27px;letter-spacing:-1.3px}.intro-copy{font-size:13px;line-height:1.8}.eyebrow{font-size:10px}main{padding:27px 5% 40px}.searchbar{flex-wrap:wrap;padding:10px;gap:8px}.search-input{flex-basis:100%;padding:0 7px;border-bottom:1px solid var(--line)}.search-input input{font-size:14px;padding:10px 0 15px}.location-select{margin:0;border:0;padding-left:5px;flex:1;gap:3px}.location-select select{font-size:13px;max-width:100%;width:100%;padding-right:5px}.location-select svg{width:19px}.search-button{padding:12px 18px;font-size:13px;margin:0}.category-bar{gap:7px;margin:16px 0 24px}.category{font-size:12px;padding:8px 10px}.category span{margin-left:4px}.workspace{display:flex;flex-direction:column;gap:20px}.filters{width:100%;border:1px solid var(--line);border-radius:10px;background:white;padding:15px 14px}.filter-heading{min-height:auto;margin-bottom:12px}.filter-heading h2{font-size:13px}.filters fieldset{display:flex;flex-wrap:wrap;gap:10px 13px;padding:12px 0 0;margin:0 0 5px}.filters legend{font-size:12px;width:100%;padding-bottom:10px}.filters label{font-size:12px;margin-bottom:4px;gap:5px}.filters input{width:15px;height:15px}.filter-footnote{display:none}.results{width:100%}.results-heading h2{font-size:15px}.job-open{padding:20px}.job-card h3{font-size:17px}.company-name,.job-meta{font-size:12px}.job-salary{font-size:14px}.footer{padding:22px 5%;flex-wrap:wrap;gap:8px 15px;font-size:11px}.footer span:last-child{width:100%;margin:0}.results-footer{font-size:11px}.detail-main{padding:26px 22px}.detail-section p,.detail-section li{font-size:15px}.detail-summary dd{font-size:14px}}
/* Keep preserved English wording readable beneath translated job requirements. */
.original-language-detail{display:block;margin-top:5px;font-size:.76rem;font-weight:400;line-height:1.4;color:#53627b}
.source-language-label{font-weight:700}

/* Match company-card locations across desktop details and mobile job pages. */
.detail-summary .detail-location dd{font-size:15px;font-weight:600;color:#2f855a}

.job-card .posting-location,.home-job-card .posting-location{font-size:15px;font-weight:600;color:#2f855a}

/* Separate location and employment information on every job card. */
.job-card .job-meta,.home-job-card .home-meta{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:14px}
.job-card .posting-employment,.home-job-card .posting-employment{display:block}

/* Owner job-detail typography; preserve existing desktop/mobile sizes. */
.detail h2,#mobile-detail h2{font-weight:450;font-style:normal;font-synthesis:style}
.detail-summary dd[data-language]{font-weight:350;font-style:italic;font-synthesis:style}

/* Apply owner typography to the visible posting cards as well as details. */
.job-card .job-open h3{font-weight:450;font-style:normal;font-synthesis:style}
.job-card .job-open .job-salary[data-language]{font-weight:350;font-style:italic;font-synthesis:style}

/* Text-bearing English-source spans must share the requested requirement weight. */
.job-card .job-open .job-salary[data-language] span[lang],.job-card .job-open .job-salary[data-language] .source-language-label,.detail-summary dd[data-language] span[lang],.detail-summary dd[data-language] .source-language-label,.detail-summary dd[data-language] .original-language-detail{font-weight:350;font-style:italic;font-synthesis:style}

/* Latest owner hierarchy for posting cards, desktop details and mobile details. */
.job-card .job-open h3,.detail h2,#mobile-detail h2{font-size:24px;font-weight:650;font-style:normal;color:#1a202c;line-height:1.4;margin-bottom:14px}
.job-card .job-open .job-salary[data-language],.detail-summary .detail-requirement dd[data-language]{font-size:16px;font-weight:500;font-style:italic;font-synthesis:style;color:#2c5282;line-height:1.65}
.job-card .job-open .job-salary[data-language]{margin:0 0 16px}
.job-card .job-open .job-salary[data-language] span[lang],.job-card .job-open .job-salary[data-language] .source-language-label,.detail-summary .detail-requirement dd[data-language] span[lang],.detail-summary .detail-requirement dd[data-language] .source-language-label,.detail-summary .detail-requirement dd[data-language] .original-language-detail{font-size:16px;font-weight:500;font-style:italic;font-synthesis:style;color:#2c5282}
.detail-summary .detail-requirement,.detail-summary .detail-location,.detail-summary .detail-employment{grid-column:1 / -1}
.detail-summary{row-gap:16px}
.job-card .job-meta .posting-employment,.detail-summary .detail-employment dd,.detail-summary .detail-employment dd span{font-size:15px;font-weight:500;font-style:normal;color:#4a5568;line-height:1.6}
.job-card .job-meta{gap:12px;margin:0 0 16px}
.detail-summary .detail-location dd,.job-card .posting-location{font-size:15px;font-weight:600;color:#2f855a;font-style:normal}

/* Browse-list card hierarchy only; detail-panel typography retained. */
.job-card .job-open .company-name{font-size:22px;font-weight:700}
.job-card .job-open h3{font-size:18px;font-weight:600}

/* Detail-panel company hierarchy and bold application disclaimer. */
.detail .detail-top .detail-company,#mobile-detail .detail-top .detail-company{font-size:28px;font-weight:700;line-height:1.3}
.detail .detail-footer p,#mobile-detail .detail-footer p{font-weight:700}

.detail .detail-top,#mobile-detail .detail-top{flex-wrap:wrap;gap:12px}
.detail .detail-top .detail-employer,#mobile-detail .detail-top .detail-employer{flex:1 1 100%}

/* Keep browse-card company names on one line within the available width. */
.job-card .job-open .company-line{min-width:0}
.job-card .job-open .company-name{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:22px;font-weight:700}
