@import url(/css/up-content-common.php);
/* 공무원 유학휴직 전용. 공통 헤더·푸터의 CSS/JS는 수정하지 않습니다. */
.upof-page, main.upof, .upof-page .up-auto-page-title { --upof-ink:var(--up-color-ink, #292733); --upof-text:var(--up-theme-color-body, #54505f); --upof-muted:var(--up-theme-color-muted, #716b7c); --upof-accent:var(--up-color-accent, #5d48a3); --upof-line:var(--up-color-line, #e5e1eb); --upof-paper:var(--up-theme-color-paper, #f7f6f9); --upof-width:var(--up-theme-content-width, 1120px); --upof-font:var(--up-font-family, -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif); }
.upof-page .up-auto-page-title { margin:0; padding:30px 0 24px; background:var(--up-color-surface, #fff); border-bottom:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof-page .up-auto-page-title__inner { box-sizing:border-box; width:100%; max-width:var(--up-theme-content-width, var(--upof-width)); margin:0 auto; padding:0 var(--up-theme-gutter, 20px) 0 var(--up-theme-gutter, 20px); }
.upof-page .up-auto-page-title__heading { margin:0; font:var(--up-font-weight-heading, 700) var(--up-theme-page-title-size, 25px)/var(--up-theme-heading-leading, 1.45) var(--upof-font); color:var(--upof-ink); letter-spacing:-.04em; }
.upof-page .up-auto-page-title__breadcrumb { margin-top:8px; font:var(--up-font-weight-heading, 400) var(--up-theme-meta-size, 12px)/var(--up-theme-heading-leading, 1.5) var(--upof-font); }
.upof { color:var(--upof-ink); background:var(--up-color-surface, #fff); font:var(--up-font-weight-body, 400) var(--up-theme-body-size, 16px)/var(--up-theme-body-leading, 1.8) var(--upof-font); letter-spacing:-.025em; overflow-wrap:anywhere; }
.upof *, .upof *::before, .upof *::after { box-sizing:border-box; }
.upof :where(h2,h3,h4,p,ol,ul,dl,dd,figure) { margin:0; }
.upof :where(ul,ol) { padding:0; }
.upof :where(h2,h3,h4) { font-family:var(--up-font-family, inherit); color:var(--upof-ink); letter-spacing:-.045em; text-transform:none; }
.upof :where(h2) { font-size:var(--up-theme-section-size,32px); font-weight:var(--up-font-weight-heading, 700); line-height:var(--up-theme-heading-leading,1.45); }
.upof :where(h3) { font-size:var(--up-theme-subheading-size,21px); font-weight:var(--up-font-weight-heading, 700); line-height:var(--up-theme-heading-leading,1.5); }
.upof :where(h4) { font-size:var(--up-theme-subheading-size,16px); font-weight:var(--up-font-weight-heading, 700); line-height:var(--up-theme-heading-leading,1.6); }
.upof p { color:var(--upof-text); }
.upof a { color:inherit; text-decoration:none; }
.upof a:hover { text-decoration:none; }
.upof a:focus-visible,.upof summary:focus-visible,.upof [tabindex="0"]:focus-visible { outline:var(--up-focus-width, 3px) solid var(--up-color-focus, #8c78c4); outline-offset:5px; }
.upof [id] { scroll-margin-top:110px; }
/* 기존 .up-container와 동일한 외곽 폭·내부 여백을 사용합니다. */
.upof-wrap { box-sizing:border-box; width:100%; max-width:var(--up-theme-content-width, var(--upof-width)); margin:0 auto; padding:0 var(--up-theme-gutter, 20px) 0 var(--up-theme-gutter, 20px); }
.upof-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.upof-skip { position:fixed; left:20px; top:-100px; z-index:99999; padding:12px 20px; color:var(--up-color-inverse-text, #fff); background:var(--up-color-inverse-bg, #292733); }
.upof-skip:focus { top:15px; color:var(--up-color-inverse-text, #fff); }
.upof-eyebrow { font-size:var(--up-theme-meta-size,12px); font-weight:var(--up-font-weight-strong, 700); line-height:var(--up-theme-body-leading,1.6); letter-spacing:.025em; color:var(--upof-accent)!important; margin-bottom:16px!important; }
.upof-page-nav { background:var(--up-color-surface, #fff); border-bottom:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof-page-nav-inner { display:flex; gap:38px; overflow-x:auto; scrollbar-width:thin; }
.upof-page-nav a { display:flex; align-items:center; min-height:60px; padding:14px 0; white-space:nowrap; flex-shrink:0; border-bottom:var(--up-nav-line-width, 3px) solid transparent; font-size:var(--up-theme-action-size,14px); font-weight:var(--up-font-weight-strong, 600); color:var(--upof-muted); }
.upof-page-nav a[aria-current="page"] { color:var(--upof-accent); border-bottom-color:var(--upof-accent); }
.upof-page-nav a:hover { color:var(--upof-accent); }
.upof-hero { padding:var(--up-theme-section-space, 64px) 0 var(--up-theme-section-space, 66px) 0; background:var(--upof-paper); border-bottom:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:var(--up-theme-card-gap, 44px); align-items:center; }
.upof-hero-copy > .upof-eyebrow { display:flex; align-items:center; gap:9px; }
.upof-hero-copy > .upof-eyebrow > span { width:6px; height:6px; border-radius:50%; background:var(--upof-accent); flex-shrink:0; }
.upof .upof-hero-title { font-size:var(--up-theme-hero-size,clamp(32px,3.1vw,44px)); font-weight:var(--up-font-weight-heading, 750); line-height:var(--up-theme-heading-leading,1.4); letter-spacing:-.055em; margin:0 0 24px; }
.upof-hero-title > span { display:block; }
.upof-hero-lead { font-size:var(--up-theme-body-size,18px); line-height:var(--up-theme-body-leading,1.85); color:var(--upof-ink)!important; margin-bottom:14px!important; }
.upof-hero-text { font-size:var(--up-theme-body-size,15px); line-height:var(--up-theme-body-leading,1.9); max-width:600px; }
.upof-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px 24px; margin-top:28px; }
.upof-button { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:var(--up-theme-button-height, 50px); padding:var(--up-theme-button-pad-y, 13px) var(--up-theme-button-pad-x, 20px) var(--up-theme-button-pad-y, 13px) var(--up-theme-button-pad-x, 20px); border:var(--up-theme-button-border-width, 1px) solid var(--up-color-button-border, var(--upof-accent)); background:var(--upof-accent); color:var(--up-color-inverse-text, #fff)!important; border-radius:var(--up-button-radius, 4px); font-size:var(--up-theme-action-size,14px); font-weight:var(--up-font-weight-action, 700); line-height:var(--up-theme-body-leading,1.6); transition:background .15s,border-color .15s; }
.upof-button:hover { background:var(--up-color-accent, #493783); border-color:var(--up-color-accent-hover, #493783); }
.upof-button > span[aria-hidden] { font-size:20px; font-weight:400; }
.upof-button-outline { background:var(--up-color-surface, #fff); border-color:var(--up-color-control-border, #c9c1dc); color:var(--upof-accent)!important; }
.upof-button-outline:hover { background:var(--up-color-soft-hover, #f2eef9); border-color:var(--up-color-accent-hover, var(--upof-accent)); }
.upof-text-link { display:inline-flex; gap:16px; justify-content:space-between; align-items:center; min-height:44px; font-size:var(--up-theme-action-size,14px); font-weight:var(--up-font-weight-strong, 700); color:var(--upof-accent)!important; }
.upof-text-link:hover { text-decoration:underline!important; text-underline-offset:5px; }
.upof-plan { background:var(--up-color-surface, #fff); border:var(--up-theme-card-border-width, 1px) solid var(--up-color-card-border, #ded8e8); border-top:var(--up-theme-accent-line-width, 4px) solid var(--upof-accent); padding:26px 30px 24px; box-shadow:var(--up-card-shadow, 0 12px 35px rgba(44,32,64,.06)); border-radius:var(--up-card-radius, 3px); }
.upof-plan-photo { display:block; width:calc(100% + 60px); max-width:none; height:160px; object-fit:cover; object-position:center 55%; margin:-26px -30px 22px; }
.upof-plan-top { display:flex; justify-content:space-between; gap:12px; font-size:var(--up-theme-meta-size,10px); letter-spacing:.11em; color:var(--upof-muted); margin-bottom:32px; }
.upof-plan-top span:first-child { color:var(--upof-accent); font-weight:var(--up-font-weight-strong, 750); }
.upof-plan .upof-plan-label { font-size:var(--up-theme-meta-size,12px); color:var(--upof-muted); margin-bottom:7px; }
.upof-plan h3 { font-size:var(--up-theme-subheading-size,23px); margin-bottom:23px; }
.upof-plan dl > div { display:grid; grid-template-columns:52px minmax(0,1fr); gap:var(--up-theme-card-gap, 13px); padding:15px 0; border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); font-size:var(--up-theme-summary-size,13px); }
.upof-plan dt { font-weight:var(--up-font-weight-strong, 700); color:var(--upof-accent); }
.upof-plan dd { color:var(--upof-text); }
.upof-plan-foot { margin-top:15px!important; padding-top:16px; border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); font-size:var(--up-theme-meta-size,11px); color:var(--upof-muted)!important; }
.upof-highlights { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:27px 20px; }
.upof-highlights > div { padding:0 28px; border-left:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof-highlights > div:first-child { padding-left:0; border-left:0; }
.upof-highlights strong { display:block; font-size:var(--up-theme-subheading-size,17px); margin-bottom:4px; }
.upof-highlights span { display:block; font-size:var(--up-theme-summary-size,13px); color:var(--upof-muted); }
.upof-section-nav { border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); border-bottom:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); background:var(--up-color-surface, #fff); }
.upof-section-nav > div { display:flex; gap:28px; overflow-x:auto; scrollbar-width:thin; }
.upof-section-nav a { display:block; padding:17px 0; min-height:52px; font-size:var(--up-theme-action-size,13px); font-weight:var(--up-font-weight-strong, 600); white-space:nowrap; flex-shrink:0; }
.upof-section-nav a:hover { color:var(--upof-accent); }
.upof-section { padding:var(--up-theme-section-space, 72px) 0 var(--up-theme-section-space, 72px) 0; border-bottom:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof-section-tint { background:var(--up-color-soft, #faf9fb); }
.upof-section-heading { max-width:870px; margin-bottom:32px; }
.upof-section-heading h2 { margin-bottom:17px; }
.upof-section-lead { font-size:var(--up-theme-body-size,16px); line-height:var(--up-theme-body-leading,1.9); max-width:830px; }
.upof-table-scroll { position:relative; isolation:isolate; width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; border-top:var(--up-theme-accent-line-width, 2px) solid var(--up-color-accent-line, #4f4369); background:var(--up-color-surface, #fff); }
.upof table { width:100%; min-width:570px; border-collapse:separate; border-spacing:0; table-layout:fixed; font-size:var(--up-theme-body-size,14px); line-height:var(--up-theme-body-leading,1.85); margin:0; }
/* 기존 공통 표의 열 수별 최소 폭을 맞추고, 스크롤은 표 안에서만 처리합니다. */
.upof table:has(> thead > tr > :nth-child(3)) { min-width:680px; }
.upof table:has(> thead > tr > :nth-child(4)) { min-width:880px; }
.upof table:has(> thead > tr > :nth-child(5)) { min-width:1060px; }
.upof table:has(> thead > tr > :nth-child(6)) { min-width:1240px; }
.upof th,.upof td { padding:19px 23px; text-align:left; vertical-align:top; border:0; border-bottom:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof thead th { color:var(--up-color-accent, #51416c); background:var(--up-color-soft, #f3f0f7); font-weight:var(--up-font-weight-strong, 700); }
.upof tbody th { font-weight:var(--up-font-weight-strong, 650); color:var(--upof-ink); }
.upof tbody td { color:var(--upof-text); }
/* 행 제목(th)과 열 제목을 모두 고정하고, 뒤의 셀이 비치지 않게 배경을 채웁니다. */
.upof tr > :first-child { position:sticky; left:0; z-index:1; width:180px; min-width:180px; background:var(--up-color-surface, #fff); box-shadow:var(--up-card-shadow, 1px 0 0 var(--upof-line)); }
.upof thead tr > :first-child { z-index:2; background:var(--up-color-soft, #f3f0f7); }
.upof .upof-note { font-size:var(--up-theme-meta-size,12px); line-height:var(--up-theme-body-leading,1.9); color:var(--upof-muted); margin:20px 0 0; max-width:1020px; }
.upof-steps { list-style:none; display:grid; gap:0; border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof-steps li { display:grid; grid-template-columns:70px minmax(0,1fr); gap:var(--up-theme-card-gap, 28px); padding:26px 0; border-bottom:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof-step-number { color:var(--up-color-accent, #a79bbd); font:var(--up-font-weight-body, 500) var(--up-theme-body-size, 27px)/var(--up-theme-body-leading, 1.5) var(--upof-font); letter-spacing:-.04em; }
.upof-steps h3,.upof-points h3 { margin-bottom:7px; font-size:var(--up-theme-subheading-size,19px); }
.upof-steps p,.upof-points p { font-size:var(--up-theme-body-size,15px); line-height:var(--up-theme-body-leading,1.9); max-width:900px; }
.upof-points { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 var(--up-theme-card-gap, 44px); }
.upof-points li { display:grid; grid-template-columns:38px minmax(0,1fr); gap:var(--up-theme-card-gap, 16px); padding:26px 0; border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof-points .upof-step-number { font-size:var(--up-theme-meta-size, 18px); padding-top:2px; }
.upof-cases { display:grid; gap:var(--up-theme-card-gap, 22px); }
.upof-case { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); background:var(--up-color-surface, #fff); border:var(--up-theme-card-border-width, 1px) solid var(--up-color-card-border, var(--upof-line)); border-radius:var(--up-card-radius, 5px); overflow:hidden; }
.upof-case-intro { position:relative; padding:30px 32px; background:var(--up-color-soft, #f3f0f7); }
.upof-case-number { position:absolute; top:24px; right:25px; font-size:var(--up-theme-meta-size, 29px); line-height:1; color:var(--up-color-accent, #d8d0e5); }
.upof-case .upof-case-tag { color:var(--upof-accent); font-size:var(--up-theme-meta-size,12px); font-weight:var(--up-font-weight-strong, 700); margin-bottom:14px; padding-right:35px; }
.upof-case h3 { font-size:var(--up-theme-subheading-size,22px); line-height:var(--up-theme-heading-leading,1.6); margin-bottom:16px; max-width:350px; }
.upof-case-intro > p:last-child { font-size:var(--up-theme-body-size,14px); line-height:var(--up-theme-body-leading,1.9); }
.upof-case-content { padding:30px 34px; }
.upof-case h4 { font-size:var(--up-theme-subheading-size,14px); margin-bottom:10px; }
.upof-case-content ul { padding-left:18px; font-size:var(--up-theme-body-size,14px); color:var(--upof-text); line-height:var(--up-theme-body-leading,1.95); }
.upof-case-result { margin-top:22px; border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); padding-top:18px; }
.upof-case-result p { font-size:var(--up-theme-body-size,14px); line-height:var(--up-theme-body-leading,1.9); }
.upof-destinations { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--up-theme-card-gap, 18px); }
.upof-destinations article { display:flex; flex-direction:column; padding:var(--up-theme-card-pad-y, 26px) var(--up-theme-card-pad-x, 24px) var(--up-theme-card-pad-y, 20px) var(--up-theme-card-pad-x, 24px); background:var(--up-color-surface, #fff); border:var(--up-theme-card-border-width, 1px) solid var(--up-color-card-border, var(--upof-line)); border-top:var(--up-theme-accent-line-width, 3px) solid var(--up-color-accent-line, #b9abcd); border-radius:var(--up-card-radius, 4px); }
.upof-destination-top { display:flex; flex-direction:column; gap:14px; margin-bottom:10px; }
.upof-country-code { display:block; font:var(--up-font-weight-body, 500) var(--up-theme-body-size, 30px)/var(--up-theme-body-leading, 1.2) var(--upof-font); letter-spacing:-.04em; color:var(--up-color-accent, #c0b5d4); }
.upof-destination-top p { font-size:var(--up-theme-meta-size,11px); color:var(--upof-accent); font-weight:var(--up-font-weight-strong, 650); }
.upof-destinations h3 { font-size:var(--up-theme-subheading-size,25px); margin-bottom:14px; }
.upof-destinations article > p { font-size:var(--up-theme-body-size,14px); line-height:var(--up-theme-body-leading,1.9); margin-bottom:22px; }
.upof-destinations .upof-text-link { font-size:var(--up-theme-action-size,12px); margin-top:auto; padding-top:15px; border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); gap:var(--up-theme-card-gap, 10px); }
.upof-care { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--up-theme-card-gap, 24px); }
.upof-care article { padding:var(--up-theme-card-pad-y, 26px) var(--up-theme-card-pad-x, 26px) var(--up-theme-card-pad-y, 26px) var(--up-theme-card-pad-x, 26px); border:var(--up-theme-card-border-width, 1px) solid var(--up-color-card-border, var(--upof-line)); border-radius:var(--up-card-radius, 4px); background:var(--up-color-surface, #fff); }
.upof-care-heading { display:flex; gap:17px; align-items:flex-start; border-bottom:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); padding-bottom:20px; margin-bottom:19px; }
.upof-care-heading > span { font-size:18px; line-height:1.5; color:var(--up-color-ink, #a193b6); }
.upof-care h3 { font-size:var(--up-theme-subheading-size,22px); margin-bottom:4px; }
.upof-care-heading p { font-size:var(--up-theme-meta-size,12px); }
.upof-care ul { padding-left:17px; font-size:var(--up-theme-body-size,13px); line-height:var(--up-theme-body-leading,2); color:var(--upof-text); }
.upof-callout { padding:25px 30px; margin-top:28px; background:var(--up-color-soft, #f1eef6); border-left:var(--up-theme-accent-line-width, 3px) solid var(--up-color-accent-line, #8a75ad); }
.upof-callout h3 { font-size:var(--up-theme-subheading-size,17px); margin-bottom:10px; }
.upof-callout p { font-size:var(--up-theme-body-size,14px); line-height:var(--up-theme-body-leading,1.9); }
.upof-section-links { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.upof-programs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--up-theme-card-gap, 25px); }
.upof-programs article { padding:var(--up-theme-card-pad-y, 30px) var(--up-theme-card-pad-x, 30px) var(--up-theme-card-pad-y, 30px) var(--up-theme-card-pad-x, 30px); border:var(--up-theme-card-border-width, 1px) solid var(--up-color-card-border, var(--upof-line)); background:var(--up-color-surface, #fff); border-radius:var(--up-card-radius, 4px); }
.upof-program-tag { font-size:var(--up-theme-meta-size,12px); font-weight:var(--up-font-weight-strong, 700); color:var(--upof-accent)!important; margin-bottom:10px!important; }
.upof-programs h3 { font-size:var(--up-theme-subheading-size,22px); margin-bottom:16px; }
.upof-programs article > p { font-size:var(--up-theme-body-size,14px); line-height:var(--up-theme-body-leading,1.95); }
.upof-program-detail { margin-top:18px!important; padding-top:17px; border-top:var(--up-theme-button-border-width, 1px) solid var(--up-color-control-border, var(--upof-line)); }
.upof-source-link { display:inline-block; font-size:var(--up-theme-action-size,12px); color:var(--upof-accent)!important; line-height:var(--up-theme-body-leading,1.8); text-decoration:underline!important; text-underline-offset:3px; }
.upof-programs .upof-source-link { margin-top:19px; }
.upof-section-source { margin-top:17px; }
.upof-school-region + .upof-school-region { margin-top:32px; }
.upof-school-region > h3 { font-size:var(--up-theme-subheading-size,18px); margin-bottom:15px; }
.upof-school-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--up-theme-card-gap, 14px); }
.upof-school { display:flex; flex-direction:column; padding:var(--up-theme-card-pad-y, 21px) var(--up-theme-card-pad-x, 21px) var(--up-theme-card-pad-y, 21px) var(--up-theme-card-pad-x, 21px); border:var(--up-theme-card-border-width, 1px) solid var(--up-color-card-border, var(--upof-line)); border-radius:var(--up-card-radius, 4px); background:var(--up-color-surface, #fff); }
.upof-school-photo { display:block; width:100%; height:auto; aspect-ratio:8/5; object-fit:cover; border-radius:var(--up-image-radius, 3px); margin:0 0 16px; }
.upof-school h4 { font-size:var(--up-theme-subheading-size,19px); }
.upof-school-name p { font-size:var(--up-theme-summary-size,12px); line-height:var(--up-theme-body-leading,1.7); margin-top:5px; }
.upof-school ul { list-style:none; margin-top:16px; border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); padding-top:7px; }
.upof-school li a,.upof-school li > span { display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:36px; padding:5px 0; font-size:var(--up-theme-action-size,12px); color:var(--upof-accent); }
.upof-school li a:hover { text-decoration:underline; text-underline-offset:4px; }
.upof-school .upof-school-note { font-size:var(--up-theme-meta-size,11px); margin-top:16px; color:var(--upof-muted); }
.upof-language-countries { border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, #b6abc6); }
.upof-language-country { border-bottom:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof-language-country > summary { display:flex; align-items:center; gap:15px; padding:22px 0; cursor:pointer; list-style:none; line-height:1.6; }
.upof-language-country > summary::-webkit-details-marker { display:none; }
.upof-language-country-photo { display:block; width:100px; height:64px; object-fit:cover; border-radius:var(--up-image-radius, 4px); flex-shrink:0; }
.upof-language-guide { display:flex; justify-content:flex-end; margin:0 0 18px; }
.upof-language-guide a { font-size:var(--up-theme-action-size,13px); color:var(--upof-accent); text-decoration:underline; text-underline-offset:4px; }
.upof-language-country-name { font-size:var(--up-theme-subheading-size,19px); font-weight:var(--up-font-weight-strong, 700); color:var(--upof-ink); }
.upof-language-count { font-size:var(--up-theme-meta-size,12px); color:var(--upof-muted); }
.upof-language-toggle { margin-left:auto; font-size:26px; font-weight:400; line-height:1; color:var(--upof-accent); }
.upof-language-country[open] > summary .upof-language-toggle { transform:rotate(45deg); }
.upof-language-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--up-theme-card-gap, 16px); padding:2px 0 26px; }
.upof-language-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:var(--up-theme-card-border-width, 1px) solid var(--up-color-card-border, var(--upof-line)); border-radius:var(--up-card-radius, 5px); background:var(--up-color-surface, #fff); }
.upof-language-photo { display:block; width:100%; height:auto; aspect-ratio:8/5; object-fit:cover; background:var(--upof-paper); }
.upof-language-card-body { display:flex; flex:1; flex-direction:column; min-width:0; padding:20px 21px 17px; }
.upof-language-card:hover { border-color:var(--up-color-accent-hover, #aa97ca); background:var(--up-color-soft-hover, #fcfbfe); }
.upof-language-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:14px; color:var(--upof-muted); font-size:var(--up-theme-meta-size,12px); }
.upof-language-badge { padding:3px 8px; background:var(--up-color-soft, #f1eef6); border-radius:var(--up-badge-radius, 3px); color:var(--upof-accent); font-size:var(--up-theme-meta-size,11px); font-weight:var(--up-font-weight-strong, 650); }
.upof-language-card h3 { margin-bottom:10px; font-size:var(--up-theme-subheading-size,18px); line-height:var(--up-theme-heading-leading,1.6); }
.upof-language-card p.upof-language-campus { margin:-3px 0 12px; font-size:var(--up-theme-meta-size,12px); color:var(--upof-muted); }
.upof-language-card p { margin-bottom:20px; font-size:var(--up-theme-body-size,14px); line-height:var(--up-theme-body-leading,1.85); }
.upof-language-detail { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:13px; border-top:var(--up-theme-button-border-width, 1px) solid var(--up-color-control-border, var(--upof-line)); color:var(--upof-accent); font-size:var(--up-theme-action-size,12px); font-weight:var(--up-font-weight-action, 650); }
.upof-language-detail > span { font-size:17px; font-weight:var(--up-font-weight-action, 400); }
.upof-faq-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:var(--up-theme-card-gap, 44px); }
.upof-faq-list { border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, #a79bb8); }
.upof-faq-list details { border-bottom:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof-faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:22px; list-style:none; cursor:pointer; padding:22px 0; font-size:var(--up-theme-body-size,16px); font-weight:var(--up-font-weight-strong, 650); line-height:var(--up-theme-body-leading,1.8); }
.upof-faq-list summary::-webkit-details-marker { display:none; }
.upof-faq-list summary span { color:var(--upof-accent); font-size:24px; font-weight:var(--up-font-weight-body, 400); flex-shrink:0; }
.upof-faq-list details[open] summary span { transform:rotate(45deg); }
.upof-faq-list details > p { padding:0 28px 24px 0; font-size:var(--up-theme-body-size,14px); line-height:var(--up-theme-body-leading,1.95); }
.upof-related { padding:var(--up-theme-section-space, 42px) 0 var(--up-theme-section-space, 42px) 0; background:var(--up-color-soft, #faf9fb); }
.upof-related h2 { font-size:var(--up-theme-section-size,19px); margin-bottom:19px; }
.upof-related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 var(--up-theme-card-gap, 34px); }
.upof-related-grid > a { display:flex; justify-content:space-between; align-items:center; gap:var(--up-theme-card-gap, 20px); padding:19px 0; border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof-related-grid strong { display:block; font-size:var(--up-theme-subheading-size,15px); }
.upof-related-grid a > span > span { display:block; font-size:var(--up-theme-summary-size,12px); line-height:var(--up-theme-body-leading,1.8); color:var(--upof-muted); margin-top:4px; }
.upof-link-arrow { color:var(--upof-accent); font-size:22px; }
.upof-related-grid a:hover strong { color:var(--upof-accent); }
.upof-contact { background:var(--up-color-inverse-bg, #342d46); padding:var(--up-theme-section-space, 54px) 0 var(--up-theme-section-space, 54px) 0; }
.upof-contact-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--up-theme-card-gap, 44px); align-items:center; }
.upof-contact .upof-eyebrow { color:var(--up-color-inverse-muted, #d3c4ed)!important; }
.upof-contact h2 { color:var(--up-color-inverse-text, #fff); font-size:var(--up-theme-section-size,30px); margin-bottom:15px; }
.upof-contact p { color:var(--up-color-inverse-muted, #e0dbe8); font-size:var(--up-theme-body-size,14px); line-height:var(--up-theme-body-leading,1.9); max-width:750px; }
.upof-contact-prompts { display:flex; flex-wrap:wrap; gap:7px 17px; list-style:none; margin-top:19px!important; }
.upof-contact-prompts li { color:var(--up-color-inverse-muted, #c8bed8); font-size:var(--up-theme-meta-size,11px); }
.upof-contact-prompts li::before { content:"·"; margin-right:6px; }
.upof-button-light { background:var(--up-color-surface, #fff); border-color:var(--up-color-button-border, #fff); color:var(--up-color-accent, #3e3158)!important; }
.upof-button-light:hover { background:var(--up-color-soft-hover, #ebe4f6); border-color:var(--up-color-accent-hover, #ebe4f6); }
.upof-sources { padding:22px 0 26px; border-bottom:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof-sources summary { cursor:pointer; font-size:var(--up-theme-action-size,12px); color:var(--upof-muted); }
.upof-sources ul { padding-left:18px; margin-top:15px; }
.upof-sources p { font-size:var(--up-theme-meta-size,11px); margin-top:10px; color:var(--upof-muted); }
@media (max-width:1100px) {
 .upof-hero-grid { gap:var(--up-theme-card-gap, 35px); grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
 .upof-plan { padding:24px; }
 .upof-plan-photo { width:calc(100% + 48px); margin:-24px -24px 20px; }
 .upof-language-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .upof-destinations { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .upof-school-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .upof-care { gap:var(--up-theme-card-gap, 14px); }
 .upof-care article { padding:var(--up-theme-card-pad-y, 21px) var(--up-theme-card-pad-x, 21px) var(--up-theme-card-pad-y, 21px) var(--up-theme-card-pad-x, 21px); }
 .upof-contact-grid { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 25px); }
 .upof-contact-grid > a { justify-self:start; }
}
@media (max-width:767px) {
 .upof-page .up-auto-page-title { padding:23px 0 18px; }
 .upof-page .up-auto-page-title__heading { font-size:var(--up-theme-page-title-size,21px); }
 .upof-page-nav-inner { gap:25px; }
 .upof-page-nav a { min-height:54px; font-size:var(--up-theme-action-size,12px); }
 .upof-hero { padding:var(--up-theme-section-space, 36px) 0 var(--up-theme-section-space, 38px) 0; }
 .upof-hero-grid { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 32px); }
 .upof .upof-hero-title { font-size:var(--up-theme-hero-size,32px); line-height:var(--up-theme-heading-leading,1.45); margin-bottom:19px; }
 .upof-hero-lead { font-size:var(--up-theme-body-size,16px); }
 .upof-hero-text { font-size:var(--up-theme-body-size,14px); }
 .upof-actions { gap:12px 22px; margin-top:23px; }
 .upof-plan { max-width:none; padding:22px 24px; }
 .upof-plan-photo { height:180px; margin-top:-22px; }
 .upof-plan-top { margin-bottom:22px; }
 .upof-plan h3 { font-size:var(--up-theme-subheading-size,21px); margin-bottom:18px; }
 .upof-plan dl > div { padding:12px 0; }
 .upof-highlights { grid-template-columns:1fr; padding:9px 20px; }
 .upof-highlights > div,.upof-highlights > div:first-child { display:grid; grid-template-columns:135px 1fr; gap:var(--up-theme-card-gap, 10px); padding:15px 0; border-left:0; border-bottom:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
 .upof-highlights > div:last-child { border-bottom:0; }
 .upof-highlights strong { font-size:var(--up-theme-subheading-size,13px); margin:0; }
 .upof-highlights span { font-size:var(--up-theme-summary-size,11px); line-height:var(--up-theme-body-leading,1.9); }
 .upof-section-nav > div { gap:23px; }
 .upof-section-nav a { font-size:var(--up-theme-action-size,12px); padding:15px 0; }
 .upof-section { padding:var(--up-theme-section-space, 45px) 0 var(--up-theme-section-space, 45px) 0; }
 .upof h2 { font-size:var(--up-theme-section-size,26px); }
 .upof-section-heading { margin-bottom:25px; }
 .upof-section-lead { font-size:var(--up-theme-body-size,14px); }
 .upof-eyebrow { font-size:var(--up-theme-meta-size,11px); margin-bottom:12px!important; }
 .upof table { font-size:var(--up-theme-body-size,13px); }
 .upof th,.upof td { padding:16px; }
 .upof tr > :first-child { width:140px; min-width:140px; }
 .upof-steps li { grid-template-columns:35px minmax(0,1fr); gap:var(--up-theme-card-gap, 15px); padding:21px 0; }
 .upof-step-number { font-size:var(--up-theme-meta-size, 23px); }
 .upof-steps h3,.upof-points h3 { font-size:var(--up-theme-subheading-size,17px); }
 .upof-steps p,.upof-points p { font-size:var(--up-theme-body-size,14px); }
 .upof-points { grid-template-columns:1fr; }
 .upof-points li { padding:22px 0; }
 .upof-case { grid-template-columns:1fr; }
 .upof-case-intro,.upof-case-content { padding:24px; }
 .upof-case h3 { font-size:var(--up-theme-subheading-size,21px); }
 .upof-case h4 { font-size:var(--up-theme-subheading-size,13px); }
 .upof-destinations { gap:var(--up-theme-card-gap, 13px); }
 .upof-destinations article { padding:var(--up-theme-card-pad-y, 21px) var(--up-theme-card-pad-x, 18px) var(--up-theme-card-pad-y, 16px) var(--up-theme-card-pad-x, 18px); }
 .upof-destinations article > p { font-size:var(--up-theme-body-size,13px); }
 .upof-destinations h3 { font-size:var(--up-theme-subheading-size,23px); }
 .upof-care { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 15px); }
 .upof-care article { padding:var(--up-theme-card-pad-y, 24px) var(--up-theme-card-pad-x, 24px) var(--up-theme-card-pad-y, 24px) var(--up-theme-card-pad-x, 24px); }
 .upof-care ul { font-size:var(--up-theme-body-size,14px); }
 .upof-callout { padding:22px; }
 .upof-callout h3 { font-size:var(--up-theme-subheading-size,16px); }
 .upof-programs { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 17px); }
 .upof-programs article { padding:var(--up-theme-card-pad-y, 24px) var(--up-theme-card-pad-x, 24px) var(--up-theme-card-pad-y, 24px) var(--up-theme-card-pad-x, 24px); }
 .upof-programs h3 { font-size:var(--up-theme-subheading-size,20px); }
 .upof-school-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--up-theme-card-gap, 12px); }
 .upof-school { padding:var(--up-theme-card-pad-y, 18px) var(--up-theme-card-pad-x, 18px) var(--up-theme-card-pad-y, 18px) var(--up-theme-card-pad-x, 18px); }
 .upof-school h4 { font-size:var(--up-theme-subheading-size,17px); }
 .upof-language-country > summary { padding:19px 0; gap:12px; }
 .upof-language-country-name { font-size:var(--up-theme-subheading-size,17px); }
 .upof-language-grid { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 12px); padding-bottom:20px; }
 .upof-language-card-body { padding:20px; }
 .upof-language-country-photo { width:75px; height:50px; }
 .upof-language-country > summary { gap:10px; }
 .upof-language-count { font-size:var(--up-theme-meta-size,11px); }
 .upof-language-card h3 { font-size:var(--up-theme-subheading-size,18px); }
 .upof-faq-grid { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 24px); }
 .upof-faq-list summary { font-size:var(--up-theme-body-size,14px); padding:19px 0; }
 .upof-related-grid { grid-template-columns:1fr; }
 .upof-related { padding:var(--up-theme-section-space, 30px) 0 var(--up-theme-section-space, 30px) 0; }
 .upof-related h2 { font-size:var(--up-theme-section-size,18px); }
 .upof-contact { padding:var(--up-theme-section-space, 36px) 0 var(--up-theme-section-space, 36px) 0; }
 .upof-contact h2 { font-size:var(--up-theme-section-size,26px); }
 .upof-contact-grid > a { width:100%; }
 .upof-section-links > a { width:100%; }
 .upof-note { font-size:var(--up-theme-meta-size,11px)!important; }
}
@media (max-width:370px) {
 .upof .upof-hero-title { font-size:var(--up-theme-hero-size,29px); }
 .upof-destinations { grid-template-columns:1fr; }
 .upof-highlights > div,.upof-highlights > div:first-child { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 3px); }
}
@media (prefers-reduced-motion:reduce) { .upof * { transition:none!important; } }
@media print {
 .upof-page-nav,.upof-section-nav,.upof-actions,.upof-contact,.upof-related,.upof-skip { display:none!important; }
 .upof-wrap { width:100%; padding:0; }
 .upof-hero,.upof-section { padding:24px 0; background:#fff; }
 .upof-plan { box-shadow:none; }
 .upof-case,.upof-care article,.upof-school { break-inside:avoid; }
 .upof table,.upof table:has(> thead > tr > :nth-child(n)) { min-width:0; }
 .upof tr > :first-child { position:static; box-shadow:none; }
 .upof-table-scroll { overflow:visible; }
}

/* 대학명 → MOU 어학원 → 센터. 두 필리핀 목록에서 같은 카드를 사용합니다. */
.upof-phil-card .upof-phil-university { min-height:3.2em; margin:0 0 6px; font-size:var(--up-theme-subheading-size,18px); line-height:var(--up-theme-heading-leading,1.6); word-break:keep-all; overflow-wrap:anywhere; }
.upof-phil-card p.upof-phil-english { min-height:3.2em; margin:0 0 16px; font-size:var(--up-theme-meta-size,11px); line-height:var(--up-theme-body-leading,1.6); color:var(--upof-muted); letter-spacing:0; }
.upof-phil-card p.upof-phil-academy { display:flex; flex-wrap:wrap; gap:4px 10px; align-items:baseline; margin:0 0 12px; padding-top:13px; border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); line-height:1.7; }
.upof-phil-academy > span { color:var(--upof-muted); font-size:var(--up-theme-meta-size,11px); }
.upof-phil-academy > strong { color:var(--upof-ink); font-size:var(--up-theme-subheading-size,15px); font-weight:var(--up-font-weight-strong, 650); }
.upof-phil-card p.upof-phil-focus { min-height:3.6em; margin:0 0 15px; font-size:var(--up-theme-body-size,13px); line-height:var(--up-theme-body-leading,1.8); }
.upof-phil-centers { list-style:none; margin:0 0 18px!important; }
.upof-phil-centers li + li { border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, #f0edf4); }
.upof-phil-centers a { display:flex; align-items:center; gap:8px; padding:9px 0; font-size:var(--up-theme-action-size,12px); line-height:var(--up-theme-body-leading,1.65); }
.upof-phil-centers a:hover { color:var(--upof-accent); }
.upof-phil-centers small { flex-shrink:0; padding:var(--up-theme-card-pad-y, 1px) var(--up-theme-card-pad-x, 5px) var(--up-theme-card-pad-y, 1px) var(--up-theme-card-pad-x, 5px); border:var(--up-theme-card-border-width, 1px) solid var(--up-color-card-border, #e4dcee); border-radius:var(--up-card-radius, 3px); color:var(--upof-accent); font-size:var(--up-theme-meta-size,10px); }
.upof-phil-center-arrow { margin-left:auto; color:var(--upof-accent); }
.upof-phil-photo-link { display:block; }
.upof-phil-document .upof-language-photo { object-fit:contain; padding:18px; background:var(--up-color-soft, #f2f0f5); }
.upof-phil-grid { padding-bottom:0; }
.upof-phil-card .upof-language-detail { min-height:var(--up-theme-button-height, 42px); }

/* 실제 문서의 표제부 미리보기. 본문·개인정보가 제거된 이미지만 사용합니다. */
.upof-evidence-intro { max-width:850px; margin:0 0 28px; }
.upof-evidence-label { margin-bottom:10px!important; font-size:var(--up-theme-meta-size,12px); color:var(--upof-accent)!important; font-weight:var(--up-font-weight-strong, 650); }
.upof-evidence-intro h3 { margin-bottom:13px; font-size:var(--up-theme-subheading-size,23px); }
.upof-evidence-intro > p:last-child { font-size:var(--up-theme-body-size,15px); line-height:var(--up-theme-body-leading,1.9); }
.upof-evidence-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--up-theme-card-gap, 25px); list-style:none; margin:0 0 32px!important; }
.upof-evidence-principles li { border-top:var(--up-theme-accent-line-width, 2px) solid var(--up-color-accent-line, #aa99c6); padding:18px 0 0; }
.upof-evidence-principles li > span { display:block; margin-bottom:8px; font-size:var(--up-theme-meta-size,12px); color:var(--upof-accent); }
.upof-evidence-principles h3 { margin-bottom:9px; font-size:var(--up-theme-subheading-size,17px); }
.upof-evidence-principles p { font-size:var(--up-theme-body-size,13px); line-height:var(--up-theme-body-leading,1.9); }
.upof-evidence-documents { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--up-theme-card-gap, 24px); }
.upof-evidence-document { overflow:hidden; border:var(--up-theme-card-border-width, 1px) solid var(--up-color-card-border, var(--upof-line)); border-radius:var(--up-card-radius, 5px); background:var(--up-color-surface, #fff); }
.upof-evidence-document figure { padding:20px 22px 12px; background:var(--up-color-soft, #f0edf4); }
.upof-document-preview { width:100%; }
.upof-document-preview img { display:block; width:100%; height:auto; aspect-ratio:5/3; object-fit:contain; }
.upof-evidence-document figcaption { margin-top:10px; color:var(--upof-muted); font-size:var(--up-theme-meta-size,11px); line-height:var(--up-theme-body-leading,1.7); }
.upof-evidence-explanation { padding:24px; }
.upof-evidence-kind { margin-bottom:8px!important; color:var(--upof-accent)!important; font-size:var(--up-theme-meta-size,11px); font-weight:var(--up-font-weight-strong, 650); }
.upof-evidence-explanation h3 { margin-bottom:17px; font-size:var(--up-theme-subheading-size,20px); }
.upof-evidence-explanation h4 { margin-bottom:9px; font-size:var(--up-theme-subheading-size,15px); }
.upof-evidence-explanation > p:last-of-type { font-size:var(--up-theme-body-size,14px); line-height:var(--up-theme-body-leading,1.9); }
.upof-evidence-explanation ul { margin-top:18px!important; padding:15px 0 0 18px; border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); font-size:var(--up-theme-body-size,13px); line-height:var(--up-theme-body-leading,1.9); color:var(--upof-text); }
.upof-evidence-explanation li + li { margin-top:5px; }
.upof-evidence-full { grid-template-columns:1fr; }
.upof-evidence-full .upof-evidence-document { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.upof-evidence-full .upof-evidence-document figure { padding:25px; }
.upof-evidence-full .upof-evidence-document figure { display:flex; flex-direction:column; justify-content:center; }
.upof-evidence-full .upof-evidence-explanation { padding:32px; align-self:center; }
.upof-spc-profile { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:var(--up-theme-card-gap, 36px); align-items:start; }
.upof-spc-profile figure { padding:var(--up-theme-card-pad-y, 22px) var(--up-theme-card-pad-x, 22px) var(--up-theme-card-pad-y, 22px) var(--up-theme-card-pad-x, 22px); background:var(--up-color-soft, #f0edf4); border:var(--up-theme-card-border-width, 1px) solid var(--up-color-card-border, var(--upof-line)); }
.upof-spc-profile img { display:block; width:100%; max-height:550px; object-fit:contain; background:var(--up-color-surface, #fff); padding:15px; }
.upof-spc-profile figcaption { margin-top:12px; font-size:var(--up-theme-meta-size,11px); color:var(--upof-muted); }
.upof-spc-profile h3 { margin:14px 0; font-size:var(--up-theme-subheading-size,22px); }
.upof-spc-profile > div > p { font-size:var(--up-theme-body-size,14px); line-height:var(--up-theme-body-leading,1.9); }
.upof-spc-facts { margin:24px 0!important; border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); }
.upof-spc-facts > div { display:grid; grid-template-columns:95px minmax(0,1fr); gap:var(--up-theme-card-gap, 16px); padding:13px 0; border-bottom:var(--up-theme-line-width, 1px) solid var(--up-color-line, var(--upof-line)); font-size:var(--up-theme-summary-size,13px); line-height:var(--up-theme-body-leading,1.85); }
.upof-spc-facts dt { font-weight:var(--up-font-weight-strong, 650); }
.upof-spc-facts dd { color:var(--upof-text); }
@media (max-width:767px) {
 .upof-phil-card .upof-phil-university,.upof-phil-card p.upof-phil-english,.upof-phil-card p.upof-phil-focus { min-height:0; }
 .upof-evidence-principles { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 17px); }
 .upof-evidence-principles li { padding-top:14px; }
 .upof-evidence-intro h3 { font-size:var(--up-theme-subheading-size,20px); }
 .upof-evidence-intro > p:last-child { font-size:var(--up-theme-body-size,14px); }
 .upof-evidence-documents { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 18px); }
 .upof-evidence-full .upof-evidence-document { grid-template-columns:1fr; }
 .upof-evidence-full .upof-evidence-explanation,.upof-evidence-explanation { padding:23px; }
 .upof-spc-profile { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 25px); }
 .upof-spc-profile img { max-height:360px; }
}
@media print {
 .upof-evidence-document,.upof-phil-card,.upof-spc-profile { break-inside:avoid; }
}
@media (max-width:480px) {
 .upof-evidence-document figure,.upof-evidence-full .upof-evidence-document figure { padding:16px 14px 12px; }
}

/* 실제 준비 서류를 본 뒤 담당 업무와 상담 방법을 안내합니다. */
.upof-service-message { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--up-theme-card-gap, 28px) var(--up-theme-card-gap, 32px); align-items:center; margin-top:32px; padding:var(--up-theme-card-pad-y, 32px) var(--up-theme-card-pad-x, 32px) var(--up-theme-card-pad-y, 32px) var(--up-theme-card-pad-x, 32px); border:var(--up-theme-card-border-width, 1px) solid var(--up-color-card-border, #ddd5eb); border-left:var(--up-theme-accent-line-width, 4px) solid var(--upof-accent); border-radius:var(--up-card-radius, 5px); background:var(--up-color-soft, #f3eff9); }
.upof-service-copy { min-width:0; }
.upof-service-copy > .upof-eyebrow { margin-bottom:10px!important; }
.upof-service-copy h3 { margin-bottom:16px; font-size:var(--up-theme-subheading-size,24px); line-height:var(--up-theme-heading-leading,1.55); word-break:keep-all; overflow-wrap:anywhere; }
.upof-service-copy .upof-service-text { font-size:var(--up-theme-body-size,15px); line-height:var(--up-theme-body-leading,1.9); word-break:keep-all; overflow-wrap:anywhere; }
.upof-service-text + .upof-service-text { margin-top:12px; }
.upof-service-message > .upof-button { justify-self:start; white-space:nowrap; }
@media (max-width:1000px) {
 .upof-service-message { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 22px); }
}
@media (max-width:767px) {
 .upof-service-message { margin-top:26px; padding:var(--up-theme-card-pad-y, 24px) var(--up-theme-card-pad-x, 24px) var(--up-theme-card-pad-y, 24px) var(--up-theme-card-pad-x, 24px); }
 .upof-service-copy h3 { font-size:var(--up-theme-subheading-size,21px); }
 .upof-service-copy .upof-service-text { font-size:var(--up-theme-body-size,14px); }
 .upof-service-message > .upof-button { width:100%; white-space:normal; }
}
@media print {
 .upof-service-message { display:none!important; }
}

/* 필리핀 연수 대상. 학교 데이터에 지정된 배지만 표시합니다. */
.upof-phil-audiences { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0 0 14px; min-height:29px; }
.upof-phil-audience { display:inline-flex; align-items:center; padding:4px 9px; border:var(--up-theme-line-width, 1px) solid var(--up-color-line, #e3dfe9); border-radius:var(--up-badge-radius, 4px); background:var(--up-color-soft, #f7f6f9); color:var(--upof-text); font-size:var(--up-theme-meta-size,12px); font-weight:var(--up-font-weight-strong, 600); line-height:var(--up-theme-body-leading,1.65); word-break:keep-all; }
.upof-phil-audience-family { border-color:var(--up-color-line, #d7cbe9); background:var(--up-color-soft, #f1ebf8); color:var(--up-color-accent, #5d48a3); }
@media (max-width:767px) {
 .upof-phil-audiences { min-height:0; }
}

/* 국가별 비자 안내와 수속 지원: 필리핀 외 국가의 학교 목록 아래에 연결합니다. */
.upof-country-support { margin:2px 0 30px; padding:var(--up-theme-card-pad-y, 30px) var(--up-theme-card-pad-x, 30px) var(--up-theme-card-pad-y, 30px) var(--up-theme-card-pad-x, 30px); border:var(--up-theme-card-border-width, 1px) solid var(--up-color-card-border, var(--upof-line)); border-radius:var(--up-card-radius, 5px); background:var(--up-color-surface, #fff); }
.upof-country-support-heading { max-width:900px; margin-bottom:24px; }
.upof-country-support-heading .upof-eyebrow { margin-bottom:8px!important; }
.upof-country-support-heading h3 { margin:0 0 12px; font-size:var(--up-theme-subheading-size,24px); line-height:var(--up-theme-heading-leading,1.5); }
.upof-country-support-heading > p:last-child { margin:0; color:var(--upof-text); font-size:var(--up-theme-body-size,14px); line-height:var(--up-theme-body-leading,1.9); }
.upof-country-visa-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--up-theme-card-gap, 25px); margin-bottom:28px; }
.upof-country-visa-topic { min-width:0; padding-top:16px; border-top:var(--up-theme-accent-line-width, 2px) solid var(--up-color-accent-line, #b2a2c9); }
.upof-country-topic-number { display:block; margin-bottom:9px; color:var(--upof-accent); font-size:var(--up-theme-meta-size,12px); font-weight:var(--up-font-weight-strong, 650); }
.upof-country-visa-topic h4 { margin:0 0 10px; font-size:var(--up-theme-subheading-size,16px); line-height:var(--up-theme-heading-leading,1.6); }
.upof-country-visa-topic p { margin:0; color:var(--upof-text); font-size:var(--up-theme-body-size,13px); line-height:var(--up-theme-body-leading,1.95); word-break:keep-all; overflow-wrap:anywhere; }
.upof-country-services { padding:25px; background:var(--up-color-soft, #f7f5fa); border-radius:var(--up-card-radius, 4px); }
.upof-country-service-intro .upof-eyebrow { margin-bottom:7px!important; }
.upof-country-service-intro h4 { margin:0 0 10px; font-size:var(--up-theme-subheading-size,20px); line-height:var(--up-theme-heading-leading,1.6); }
.upof-country-service-intro > p:last-child { margin:0; color:var(--upof-text); font-size:var(--up-theme-body-size,13px); line-height:var(--up-theme-body-leading,1.9); }
.upof-country-service-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--up-theme-card-gap, 20px) var(--up-theme-card-gap, 30px); padding:0; margin:24px 0!important; list-style:none; }
.upof-country-service-list li { display:grid; grid-template-columns:26px minmax(0,1fr); gap:var(--up-theme-card-gap, 12px); min-width:0; }
.upof-country-step { padding-top:2px; color:var(--upof-accent); font-size:var(--up-theme-meta-size,12px); font-weight:var(--up-font-weight-strong, 650); }
.upof-country-service-list h5 { margin:0 0 7px; color:var(--upof-ink); font-size:var(--up-theme-subheading-size,14px); font-weight:var(--up-font-weight-heading, 650); line-height:var(--up-theme-heading-leading,1.6); }
.upof-country-service-list p { margin:0; color:var(--upof-text); font-size:var(--up-theme-body-size,13px); line-height:var(--up-theme-body-leading,1.9); word-break:keep-all; overflow-wrap:anywhere; }
.upof-country-consult { display:flex; align-items:center; justify-content:space-between; gap:22px; padding-top:20px; border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, #e4ddeb); }
.upof-country-consult > p { margin:0; font-size:var(--up-theme-body-size,13px); line-height:var(--up-theme-body-leading,1.9); }
.upof-country-consult > .upof-button { flex-shrink:0; font-size:var(--up-theme-action-size,13px); }
.upof-country-support-footer { margin-top:16px; color:var(--upof-muted); font-size:var(--up-theme-meta-size,11px); line-height:var(--up-theme-body-leading,1.85); }
.upof-country-support-footer > p { margin:0 0 7px; }
.upof-country-sources > summary { display:list-item; padding:4px 0; cursor:pointer; font-size:var(--up-theme-meta-size,11px); font-weight:var(--up-font-weight-body, 400); }
.upof-country-sources ul { margin:7px 0 0!important; padding-left:17px; }
.upof-country-sources li { margin:4px 0; }
.upof-country-sources a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.upof-country-sources a:hover { color:var(--upof-accent); }
@media (max-width:1000px) {
 .upof-country-visa-grid { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 18px); }
 .upof-country-visa-topic { display:grid; grid-template-columns:26px minmax(0,1fr); gap:0 var(--up-theme-card-gap, 12px); }
 .upof-country-topic-number { grid-row:span 2; padding-top:3px; }
 .upof-country-visa-topic p { grid-column:2; }
}
@media (max-width:767px) {
 .upof-country-support { padding:var(--up-theme-card-pad-y, 21px) var(--up-theme-card-pad-x, 18px) var(--up-theme-card-pad-y, 21px) var(--up-theme-card-pad-x, 18px); }
 .upof-country-support-heading h3 { font-size:var(--up-theme-subheading-size,21px); }
 .upof-country-services { padding:20px 16px; }
 .upof-country-service-intro h4 { font-size:var(--up-theme-subheading-size,18px); }
 .upof-country-service-list { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 19px); }
 .upof-country-consult { display:block; }
 .upof-country-consult > .upof-button { margin-top:16px; width:100%; justify-content:space-between; }
}
@media print {
 .upof-country-support { break-inside:auto; }
 .upof-country-visa-topic,.upof-country-service-list li { break-inside:avoid; }
 .upof-country-consult > .upof-button { display:none; }
}

/* 국가 선택 전, 항상 보이는 공통 비자·수속 지원 안내. */
.upof-visa-intro { margin:0 0 30px; padding:var(--up-theme-card-pad-y, 30px) var(--up-theme-card-pad-x, 30px) var(--up-theme-card-pad-y, 30px) var(--up-theme-card-pad-x, 30px); border:var(--up-theme-card-border-width, 1px) solid var(--up-color-card-border, #ddd5eb); border-radius:var(--up-card-radius, 5px); background:var(--up-color-soft, #f7f4fb); }
.upof-visa-intro > .upof-eyebrow { margin-bottom:10px!important; }
.upof-visa-intro h3 { margin:0 0 23px; font-size:var(--up-theme-subheading-size,25px); line-height:var(--up-theme-heading-leading,1.55); word-break:keep-all; overflow-wrap:anywhere; }
.upof-visa-intro h3 > span { display:block; }
.upof-visa-intro-points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--up-theme-card-gap, 18px) var(--up-theme-card-gap, 36px); }
.upof-visa-intro-points > div { min-width:0; }
.upof-visa-intro-points h4 { margin:0 0 7px; font-size:var(--up-theme-subheading-size,15px); line-height:var(--up-theme-heading-leading,1.6); }
.upof-visa-intro-points p { margin:0; font-size:var(--up-theme-body-size,14px); line-height:var(--up-theme-body-leading,1.85); word-break:keep-all; overflow-wrap:anywhere; }
.upof-visa-intro-footer { display:flex; align-items:center; justify-content:space-between; gap:18px 28px; margin-top:23px; padding-top:20px; border-top:var(--up-theme-line-width, 1px) solid var(--up-color-line, #e1d9ec); }
.upof-visa-intro-footer > p { margin:0; font-size:var(--up-theme-body-size,13px); line-height:var(--up-theme-body-leading,1.8); word-break:keep-all; overflow-wrap:anywhere; }
.upof-visa-intro-footer > .upof-button { flex-shrink:0; font-size:var(--up-theme-action-size,13px); }
@media (max-width:767px) {
 .upof-visa-intro { margin-bottom:23px; padding:var(--up-theme-card-pad-y, 23px) var(--up-theme-card-pad-x, 20px) var(--up-theme-card-pad-y, 23px) var(--up-theme-card-pad-x, 20px); }
 .upof-visa-intro h3 { margin-bottom:21px; font-size:var(--up-theme-subheading-size,21px); }
 .upof-visa-intro-points { grid-template-columns:1fr; gap:var(--up-theme-card-gap, 17px); }
 .upof-visa-intro-points p { font-size:var(--up-theme-body-size,13px); }
 .upof-visa-intro-footer { display:block; margin-top:21px; padding-top:18px; }
 .upof-visa-intro-footer > .upof-button { margin-top:15px; width:100%; }
}
@media print {
 .upof-visa-intro { break-inside:avoid; }
 .upof-visa-intro-footer > .upof-button { display:none; }
}

/* 모바일은 공통 글자 기준과 읽기 흐름을 사용합니다. PC 배치는 유지합니다. */
@media screen and (max-width:767px) {
 main.upof { --upof-text:var(--up-theme-color-body,#403b49); --upof-muted:var(--up-theme-color-muted,#625b6d); }
 main.upof :where(h2,h3,h4,h5,p,li,dt,dd,th,td,figcaption),
 main.upof .upof-highlights :where(strong,span) { word-break:keep-all; overflow-wrap:anywhere; }
 main.upof .upof-highlights strong { line-height:var(--up-theme-heading-leading,1.5); }
 main.upof .upof-highlights span { line-height:var(--up-theme-body-leading,1.8); }
}
@media screen and (max-width:600px) {
 main.upof .upof-school-grid,
 main.upof .upof-destinations { grid-template-columns:minmax(0,1fr); }
}
@media screen and (max-width:480px) {
 main.upof .upof-highlights > div { grid-template-columns:minmax(0,1fr); gap:var(--up-theme-card-gap, 4px); }
}
